软件工程基础图式(第二章)

软件工程图示(第二章)

学习目标

1)软件过程和过程模型的概念

2)不同过程模型特征及优缺点

3)如何为不同项目选择过程模型

1、软件过程概念


软件过程:路线图(可预测步骤)

过程模型:定义了若干小的框架活动,为完整的软件开发过程奠定了基础(活动>动作>任务)

  活动:宽泛目标(不实际意义考虑)

  动作

  任务:小而明确,产生实际产品

软件生命周期:止于被废弃

所有过程都具有以下活动:1、沟通  2、计划  3、建模  4、构建  5、布署

2、传统软件过程模型


 瀑布模型/经典生命周期模型(9个活动)

内容:可行性研究⬅️➡️需求分析⬅️➡️总体设计⬅️➡️详细设计⬅️➡️实现与组装测试⬅️➡️验收测试⬅️➡️软件使用与维护

可行性研究:(1)技术可行性(2)经济可行性(3)法律可行性

特点:(1)顺序性和依赖性(2)推迟实现(3)每个过程建立完整文档(里程碑-可交付产品)

缺点:(1)增加工作量(死板、大量文档)(2)开发风险大(3)早期错误发现晚(4)不适应需求变化(不支持迭代)

问题:(1)小型,需求非常明确(2)技术成熟、工程管理严格:军工、航天、医疗

原型模型(原型+瀑布模型——降低需求不明确风险)

原型:一个部分开发的产品。用于明确需求,验证方案,最终可能会被抛弃。

内容:原型构建+系统开发

优点:减少需求不明确带来的风险

增量模型(n✖️瀑布模型——降低需求变化风险)

增量:小而可用的软件。在前面增量的基础上开发后面的增量,每个增量的开发可用瀑布或快速/原型模型。

开发方法:(1)增量方式:增加新功能(2)迭代方式;改进功能

特点:(1)非整体开发,进化式(2)从部分需求开发(3)迭代的思路。

优点:方便改动,人员精简

缺点:增量功能不相似则不合适,增量划分难把握

螺旋模型(原型嵌入瀑布模型)

开发过程分成若干次迭代(组成瀑布模型),每次迭代代表开发的一个阶段,对应模型一条环线

经典四迭代:操作概念—>软件需求—>软件设计—>软件实现

每次迭代分成四个方面活动(含原型模型),对应四个象限

喷泉模型

面向对象开发

3、如何选择过程模型

posted @ 2019-09-29 19:49  日月同诲  阅读(173)  评论(0编辑  收藏  举报