软件过程

1、软件危机:计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题绝不仅仅是不能正常运行的软件才具有的,实际上,几乎所有的软件都不同程度地存在这些问题。


2、软件开发的最初过程是问题定义,也就是确定要求解决的问题是什么;然后进行可行性研究,决定该问题是否存在一个可行的解决办法;接下来应该进行需求分析,也就是深入具体地了解用户的请求,在所要开发的系统(目标系统)必须做什么这个问题上和用户取得完全一致的看法。经过上述软件定义时期的准备工作才能进入开发时期,而在开发时期,首先需要对软件进行设计(通常分为概要设计和详细设计两个阶段),然后才能进入编写程序的阶段,程序编写完之后才能进行大量的测试工作(需要的工作量通常占软件开发全部工作量的40%~50%)才能最终交付使用。



3、软件是程序、数据及相关文档的完整集合。


4、瀑布模型:

特点:

(1)阶段间具有顺序性和依赖性:①必须等前一阶段的工作完成之后,才能开始下一阶段的工作;②前一阶段的输出文档时候一阶段的输入文档。

(2)推迟实现的观点:区分逻辑设计和物理设计,尽可能推迟程序的物理实现,是按照瀑布模型开发的一条重要思想。

 (3)质量保证的观点:①每个阶段必须完成规定的文档,没有交出该文档就是没有完成该阶段的任务;②每个阶段结束前都要对所完成的文档进行评审,以便尽可能早发现问题,改正错误。

优点:可强迫开发人员采用规范的方法严格规定每个阶段必须提交的文档,要求每个阶段交出的所有产品都必须经过质量保证小组的验证。

缺点:通过写在纸上的规格说明很难全面正确认识动态的软件产品。


是一种文档驱动的模型。


  




5、快速原型模型:快速简历起来的可以再计算机上运行的程序,它所能完成的功能往往是最终产品能完成的功能的一个子集。
   优点:软件产品的开发基本上是线性顺序进行的。
   用途:获知用户的真正需求,一旦需求确定了,原型将被抛弃。


6、增量模型:分批次地逐步向用户提交产品,整个软件产品被分解成许多个增量构件,开发人员一个构件接一个构件地向用户提交产品。


7、螺旋模型:及时识别和分析风险,并采取适当的措施以消除或减少风险的危害。

      基本思想:使用原型及其他方法来尽量降低风险。

      理解这种模型的一种简便方法是把它看作在每个阶段之前都增加了风险分析过程的快速原型设计,如下图所示。


主要适用于内部开发的大规模软件项目。它是风险驱动。


8、喷泉模型:各个开发步骤多次反复迭代,达到认识的逐步深化。每次反复都会增加或明确一些目标系统的性质,但却不是对先前工作结果的本质性改动,这样就减少了不一致性,降低了出错的可能性。“喷泉”这个词体现了面向对象然间开发过程迭代和无缝的特性。


9、Rational统一过程的四个阶段:

初始阶段:建立业务模型,定义最终产品视图,并且确定项目的范围。

精化阶段:设计并确定系统的体系结构,制定项目计划,确定资源需求。

构建阶段:开发出所有构件和应用程序,把它们集成为客户需要的产品,并且详尽测试所有功能。

移交阶段:把开发出来的产品提交给用户使用。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值