4.1 软件过程
过程模型:
- 一系列需要执行的任务
- 每个任务的输入和输出
- 每个任务的前置条件和后置条件
- 任务的顺序和流程
最简单的开发过程模型:
编码、编译、单元测试,通过测试然后发布;遇到问题进行调试然后继续编码。
4.2 传统过程模型
瀑布模型
计划 - 需求 - 设计 - 实现 - 测试 - 维护
优点:
- 必须在第一步中指定需求
- 在软件被打包之前必须完成四个主要任务:需求、设计、实现和测试
- 每个阶段的输出按照顺序传递给下一阶段
- 可以根据在特定的、可识别的阶段间的移动顺序跟踪软件项目
由于软件的需求、设计和测试阶段生成了大量的文档,因此瀑布模型也被称为文档驱动方法。
重要的贡献:给软件工程师提供了在软件开发时应该关注的过程。
主程序员制团队方法
- 主程序员将计划、划分制定工作并分配任务给不同的专家。
- 团队的规模应该在7到10人,由设计师、程序员、测试人员、文档编辑员和主程序员等专家组成。
增量模型
- 将大型项目细分为更小的组件
- 每个组件都遵循瀑布过程模型
任何一个组件遇到了问题,其他组件仍然可以继续独立开发。
另一个观点是首先开发包含大部分所需功能的核心软件,然后再开发额外的功能和补充的特性。
螺旋模型
强调降低软件开发中的风险,是一种风险驱动的软件过程方法。
- 将原型设计和建模作为过程的一个组成部分
- 允许对所有活动基于设计的风险量采用迭代和演化的方法
- 如果确定了更好的备选方案或识别到新的风险,该模型不排除对早期活动的返工
缺点:依赖于风险评估的专门技能。
4.3 一个更加现代的过程
Rational统一过程框架的一般基础
统一建模语言(UML):一种面向对象的建模语言,提供元素和关系来建模软件需求和设计。
Rational统一过程(RUP)起源于1987年的对象过程、1997年的Rational对象过程以及统一建模语言(UML)。RUP由三个主要概念驱动:
- 用例和需求驱动
- 以体系结构为中心
- 迭代和增量
RUP中有四个阶段:
- 初始(Inception)
- 细化(Elaboration)
- 构造(Construction)
- 交付(Transition)
4.4 进入和退出标准
每项活动的进入标准在活动开始前必须满足,而且必须满足退出标准才能将活动视为完成,然后才可以开始下一个活动。
进入标准:
- 所需制品
- 所需人员
- 所需工具
- 需要对执行的活动进行定义
退出标准:
- 所有的制品都被评审过
- 就诊所有错误或某个百分比的错误
- 执行下游活动的人员同意并接受这些制品
4.5 过程评估模型
- SEI的能力成熟度模型(CMM)
- SEI的能力成熟度集成模型(CMMI)
4.6 过程定义和通信
一个过程的模型或者规范是对实际过程的抽象表示。
软件过程规范由两个基本部分组成:
- 包含在软件项目中的活动
- 执行这些活动的顺序
这两个主要部分被进一步扩展和完善,包括以下内容:
- 活动:对过程中所包含的每一项活动的详细描述
- 控制:每项活动必要的进入和退出标准,以及每项活动的执行顺序
- 制品:每项活动的输出结果
- 资源:执行活动的人
- 工具:可用于提高活动性能的工具
Loading Comments By Disqus