0530-3433334

网站建设 APP开发 小程序

知识

分享你我感悟

您当前位置>首页 >> 知识 >> 软件开发

软件开发方法的实现过程和其中的特点以及优缺点

发表时间:2023-10-12 06:01:40

文章来源:炫佑科技

浏览次数:173

菏泽炫佑科技

软件开发方法的实现过程和其中的特点以及优缺点

20世纪60年代中期,爆发了著名的软件危机。 为了克服这场危机,软件工程一词在1968年和1969年举行的两次著名的北约会议上被提出,并在此后不断发展和完善。 与此同时,软件研究人员也在不断探索新的软件开发方法。

软件开发方法

目前常用的开发方法有四种,即结构化方法、原型方法和面向对象方法。 接下来,我们将一一描述这些软件开发方法的实现过程及其特点、优缺点。

结构化的方法

结构化方法:结构化方法是应用*广泛的开发方法。 根据信息系统的生命周期,采用结构化系统开发方法,将整个系统开发过程分为几个阶段软件开发方法的实现过程和其中的特点以及优缺点,然后逐步进行。 前一阶段是后期工作的基础; 每个阶段又分为具体的任务。 步骤,顺序操作。

每个阶段和主要步骤都有清晰详细的文档要求。 每个阶段、每个步骤的向下传递都是通过建立自己的软件文档并对关键阶段、步骤进行审核和控制来实现的。 它是结构化分析、结构化设计和结构化编程三部分的有机结合。

其基本思想是分阶段进行一个复杂问题的解决过程,并且这种分解是自上而下、逐层进行的,使每个阶段处理的问题控制在人们容易理解和处理的范围内。 它是一种以数据流图、数据字典、结构化语言、决策表、决策树等图形表达为主要手段,强调开发方法的结构合理性和系统结构合理性的软件分析方法。 结构化方法具有以下特点。

(1)遵循用户**的原则。

(二)严格区分工作阶段,每个阶段都有明确的任务和成果。

(3)强调系统开发过程的完整性和整体性。

(4)系统开发流程设计化,文档规范化。

结构化分析方法是一种面向数据流、基于功能分解的分析方法。 现阶段主要利用数据流程图、数据字典等工具来描述边界和数据处理过程之间的关系,力求找到功能和作用。 的指示.

这种方法的优点是有严格的理论基础,其指导思想是在系统建立之前能够充分了解和理解用户需求。 可以看出,结构化方法注重开发过程的完整性和全局性。

这种方法的缺点是:开发周期长; 文档和设计说明繁琐,工作效率低; 需要在开发之初就全面了解系统的信息需求,充分预期各种可能发生的变化,但这不太现实; 如果用户参与系统开发的积极性没有充分调动起来,导致系统移交过程不稳定,增加系统运行、维护和管理的难度。

结构化设计方法的局限性:

我。 无法直接反映问题域:结构化分析方法以数据流为中心,强调数据的流动和各个处理过程。 它不是基于问题域中的一切,打破了每个事物的界限,分析结果无法直接反映。 反映问题域可以很容易地隐藏一些理解问题域的偏见。

二. 缺乏数据和代码的保护机制:特定的全流程数据不仅可以被操作这些数据的进程访问,还可以被其他进程访问,这给程序设计带来不稳定因素,异常的数据修改或程序调用可能会破坏程序执行的正常流程或结果。

三. 分析和设计系统不同:结构化分析的结果是数据流图,结构化设计的结果是模块结构图。 两者的表示体系不一致,分析文档与设计文档很难对应。 因此,从分析到设计的“转换”过程很容易产生误解,导致设计文档与用户*初的需求相去甚远。

四. 开发过程复杂:由于结构化方法将过程和数据分离成独立的实体,因此程序员在编程时必须始终考虑要处理的数据的格式。 对不同的数据格式进行相同的处理或者对相同的数据格式进行不同的处理需要编写不同的程序,往往无法有效控制数据的安全性。 如果程序进行扩展或者升级,需要修改大量的功能,因此结构化程序的复用性不好。 保持数据和程序始终兼容已经成为程序员的沉重负担。

面向对象的方法

面向对象方法是利用对象、类、封装、继承、多态性、消息等概念来构造、测试和重构软件的方法。 随着应用系统日益复杂和庞大以及面向对象编程语言的日益成熟,面向对象的系统开发方法以其直观、方便的优点得到了广泛的应用。 它是一种基于认识论,利用对象来理解和分析问题空间,设计和开发由对象组成的软件系统(解决方案空间)的方法。

由于问题空间和解空间都是由对象组成的,这样可以消除由于问题空间和解空间的结构不一致而带来的问题。 简而言之,面子关注的是人在软件开发中所扮演的角色。

面向对象设计的基本步骤:

根据概念级类图进行实体类设计。

设计实体类的操作入口,如管理器类、容器类。

根据GRASP的九个原则设计业务逻辑类。 涉及活动图。

用例实施。 一般涉及类图和协作图。

基本思想:尽可能模拟人类习惯的思维方式,让开发软件的方法和过程尽可能接近人类认识世界、解决问题的方法和过程,即制造问题描述问题的空间和实现解决方案的解决方案空间在结构上相似。 尽可能保持一致。

面向对象分析就是将对问题域和系统的理解正确地抽象为标准化的对象(包括类、继承层次)和消息传递连接,*终建立一个简洁、准确、可理解的问题域的面向对象模型。 为后续的面向对象设计和面向对象编程提供指导。 面向对象分析通常建立三种模型:对象模型、动态模型和功能模型。 其中软件开发,对象模型描述了系统的静态结构,确定了类的名称以及类之间的关系; 动态模型表示瞬时的、行为系统的“控制”性质,规定了对象模型中对象的合法变化顺序; 功能 该模型显示了系统中的数据和与数据相关的处理功能之间的依赖关系。

面向对象方法的局限性:

我。 开发过程管理要求高:在面向对象的分析过程中,需要多次迭代,开发过程需要经历“修改-评估-再修改”的多次迭代

二. 系统复用性低:面向对象的方法通过信息隐藏和封装,屏蔽了对象内部的执行细节,控制了错误的传播。 但当出现错误时,定位故障的成本较高。 对于需求变化频繁的系统来说,是非常困难的。 获得高度可重用的面向对象的软件系统设计是很困难的。

三. 开发人员可以轻松地用标准化的系统分析替换原型:缺乏标准化的文档导致将来难以维护。

面向对象方法的优点:

我。 符合人类习惯的思维方式。

二. 稳定性好。 传统方法建立的软件系统的结构与系统要完成的功能密切相关。 当功能需求发生变化时,会引起软件结构的整体变化。 面向对象方法的基础是构建问题域的对象模型,构建以对象为中心的软件系统。 当功能需求发生变化时,往往只需要进行一些局部修改。

三. 可重复使用性好,重复使用是提高生产效率*重要的方法。 理想的对象是模块和可重用的软件组件。 类重用、创建该类的实例以及派生的方法。

三. 更容易开发大型软件。

. 可维护性好,面向对象的软件具有更好的稳定性。面向对象的软件更容易修改,面向对象的软件更容易理解,更容易测试和调试。

原型法

原型方法的基本思想与结构化方法不同。 原型法认为,当很难一次性全面、准确地提出用户需求时,并不需要对系统进行全面、详细的调查分析,而是本着开发的精神,对用户需求进行初步了解,人员首先快速开发出原型系统,然后通过反复修改实现用户*终的系统需求。 它用*经济的方法,在投入大量的人力、物力之前,在有限的时间内开发出一个真正可以运行的系统模型。 整个原型运行使用后,用户可以对其进行评估并提出改进建议。 对原型进行统一修改和使用,并重复评估过程,逐步改进原型,直至完全满足用户的需求。

适用范围:系统简单,处理流程清晰; 覆盖范围窄的小型系统不适合: 难以模拟的大型、复杂系统; 计算量大、逻辑性强的处理系统; 管理基础不完善,加工流程不规范; 海量批处理系统

原型应具备以下特征。

(一)切实可行。

(2) 具备*终系统的基本特征。

(3)结构方便、快捷、成本低。

原型方法的特点是原型方法动态响应用户需求并逐步融入它们。 系统分析、设计和实现都是在工作模型不断修改的同时完成的。 它们之间没有明显的界限。 没有明确的分工。

系统开发计划是一个反复修改的过程。 适合一开始用户需求不明确的系统开发,开发方式更容易被用户接受; 但如果用户配合不好,盲目修改,就会耽误开发进程。

总结

通过介绍这些方法的实现以及介绍它们的优缺点,不同的方法适合不同的软件开发。 如果要找到一种统一的、适合所有软件开发项目的开发方法,在现阶段是不适合的,因为如果用原型方法来制作大型软件,成本会拖垮大多数公司。 而且,系统很有可能无法正常使用。 因此,软件开发人员的主要作用是使用适当的开发方法来开发软件。

炫佑科技专注互联网开发小程序开发-app开发-软件开发-网站制作等

相关案例查看更多