瀑布型生命周期模型(1)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件生命周期
软件生命周期规定了一个项目软件开发的过程框架,包括:1、项目的阶段划分;2、各个过程域的活动在阶段内的配置(即阶段内所需完成的活动);3、阶段产出物及其状态。
软件生命周期模型是组织定义的标准软件生命周期,各项目在实施的过程中可以选择最适合本项目情况的模型并在此基础上依据项目特点进行裁剪,定义项目的生命周期过程。
目前已定义的生命周期模型包括:
•瀑布模型
•迭代模型
瀑布型生命周期模型
1.简介
瀑布型生命周期模型是一种严格按照需求->设计->实施->交付四个阶段进行软件开发的模型,并且在各个阶段结束时要经过严格的评审,只有当能够确认一个阶段的开发成果是正确的时才能够进行下一阶段的开发。
在瀑布模型的四个阶段中,除了分别完成其本阶段所定义的活动之外,都必须进行项目管理、质量保证、配置管理和测试活动,这四个活动的过程贯穿整个瀑布型软件生命周期。
2.结构
3.阶段
3.1需求阶段
3.1.1目标
需求阶段的目标是为了确保与客户在系统的工作内容和范围(即系统“要做什么”和“不做
什么”)方面达成一致,并建立需求的基线,为项目开发计划的进一步细化提供基础。
3.1.2主要活动
需求阶段的主要活动包括:
✧需求获取:搜集客户的需要、期望、约束和接口,分析业务特性,形成用户需
求
✧需求分析:对所有候选的需求进行分析,形成软件的功能需求,并排列优先级
✧需求评审:客户(或客户的代表)、高级经理和项目组共同评审需求文档,并
达成一致意见
✧建立需求基线
✧定义系统的用户界面
✧完成系统测试计划
✧调整和细化对项目规模、工作量、成本的估计
✧根据收集的需求重新分析和评估项目的风险,并制定相应的规避和缓减策略
✧完成WBS(Work Breakdown Structrue,工作分解结构),写入SDS,并
细化设计阶段的SDS
✧完成设计阶段的SQAP
3.1.3产出物
需求阶段的产出物包括(灰色部分为演进的产出物,白色部分为新增产出物):
Requirement Description 描述客户和目标用户的需要以及这些
需要存在的原因,但不包括如何满足这
些需要的详细情况(用户需求)
Baselined
需求规格说明书SRS:Software Requirement Specification 描述开发任务(即系统需要实现的功
能)
描述待开发系统的技术要求
描述待开发软件的运行环境
系统分析员
客户(客户代表)、
高级经理Review
Baselined
用户界面原型可以是一份说明书文档,或者是一组界
面图片,也可以是一组用例模型或一个
软件原型
系统分析员Baselined
系统测试计划STP:System Test Plan 描述系统应进行哪些测试(功能测试、
性能测试等)
测试的环境、测试过程以及测试验收的
标准
测试工程师
项目组Review
Baselined
软件开发日程表完成WBS,修订对工期的估计
架构阶段的详细日程表
项目经理
高级经理Review
Baselined
SQAP 设计阶段将进行的SQA活动及日程安
排
SQA工程
师
项目组Review
3.2设计阶段
3.2.1目标
设计阶段的目标主要是对待开发系统的构架进行分析和设计,并建立系统构架的基线,以便为之后的实施工作提供一个稳定的基础。
3.2.2主要活动
总体设计阶段的主要活动包括:
✧完成系统构架设计
✧完成数据库设计
✧选择组件:对构成软件的组件进行评估,制定自制/外购/复用决策,以便有把
握地确定项目的成本和进度
✧完成组件间的交互通信的设计(即接口设计)
✧设计评审:相关技术专家评审设计方案,尽可能地发现错误和漏洞,以尽量减
少设计的缺陷
✧建立设计基线
✧完成对项目进度、成本的估计
✧根据软件构架重新分析和评估项目的主要技术风险,并制定相应的规避和缓减
策略
✧确定实施方案(分为几次迭代顺序实现或几个增量并行实现),完成实施阶段
的SDS(若为迭代方案,则只需要第一次迭代的详细时间安排)
✧完成实施阶段的SQAP
3.2.3产出物
设计阶段的产出物包括(灰色部分为需演进的产出物,白色部分为新增产出物):
软件开发日程表实施阶段(第一次迭代)的详细日程表项目经理Baselined
SQAP 实施阶段将进行的SQA活动及日程安
排
SQA工程
师
项目组Reviewed
编码规范项目经理项目组Reviewed 备选产出物描述状态
培训材料如果系统具有复杂的用户界面,可能需
要培训材料
项目组Review
3.3实施阶段
3.3.1目标
实施阶段的目标是生成可交付的软件产品。
3.3.2主要活动
实施阶段可以根据已建立的系统构架分为几次迭代实现,或分为几个增量并行实现,每个迭代或增量的主要活动包括:
✧制定该设计单元实施其需求的细节,即确定该单元应该“怎么做”
✧评审该单元的详细设计
✧编码实现
✧代码审查
✧单元测试
✧集成已实现的单元
✧集成测试
✧建立该单元实施的基线