第一天-软件生命周期和模型

软件危机:

 软件工程:

 软件生命周期模型:

  瀑布模型:

 最早提出的软件开发的过程模型。

缺点:

(1)、各个阶段的划分完全固定,阶段中间产生大量的文档,极大的增加了工作量。

(2)、线性开发、用户等到整个过程的末期才见到开发成果,从而增加了开发风险。

(3)、瀑布模型不适应用户需求的变化。

(2)、将测试放在了编码之后,没有体现出测试贯穿软件生命周期的原则,可以避免需求的问题一直延续到代码完成才暴露或者被发现。

优点:

(1)、为项目提供了按阶段划分的检查点。

(2)、当前一阶段完成后,只需要去关注后续阶段。

螺旋模型:

螺旋模型是一种演化软件开发过程模型,它兼顾了快速模型的迭代的特征以及瀑布模型的系统化与严格监控。

引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减小损失。

螺旋模型更适合大型的昂贵的系统级的软件应用。

迭代模型:

迭代包括产生产品分布(稳定、可执行的产品版本)的全部开发活动和要使用该发布必须的所有其他元素,强调开发的深入。

在某种程度上,开发迭代时一次完整的经过所有工作流程的过程:需求分析、设计、实施和测试工作流程。

优点:

(1)、降低了在一个增量上的开支风险。

(2)、降低了产品无法按照既定进度进入市场的风险。

(3)、加快了整个开发工作的进度。

(4)、迭代过程这种模式使适应需求的变化会更容易些。

敏捷模型:

 

 增量模型:

把软件分割成独立的模块,分批次的完成和交付。

缺点:打破原有的软件结构和框架,可能会带来一定的风险。

增量模型一般会和迭代模型一起运用。

快速原型模型:(应用领域越来越多)

原型:就是一个模型。可以模拟操作、简单运行。(一般是产品经理制作出一个大概的产品模型,与客户商量好后,在交与开发人员进行开发。)

典型的应用和工具:Axure。用处:制作原型。

原文地址:https://www.cnblogs.com/zxdjy-blog/p/13623662.html