2.瀑布模型的优缺点
n瀑布模型的优点
(1)为项目提供了按阶段划分的检查点;
(2)当前一阶段完成后,只需要去关注后续阶段;
(3)可在迭代模型中应用瀑布模型,即在每一次迭代中使用瀑布模型;
(4)它提供了一个模板,使得分析、设计、编码、测试和支持的方法可以在该模板下有共
同的指导。
(1)为项目提供了按阶段划分的检查点;
(2)当前一阶段完成后,只需要去关注后续阶段;
(3)可在迭代模型中应用瀑布模型,即在每一次迭代中使用瀑布模型;
(4)它提供了一个模板,使得分析、设计、编码、测试和支持的方法可以在该模板下有共
同的指导。
2)瀑布模型的局限
(1)各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量;
(2)M于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增
加了开发风险;
(1)各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量;
(2)M于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增
加了开发风险;
(3)早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果;
(4)突出缺点是不适应用户需求的变化。
(4)突出缺点是不适应用户需求的变化。
3.3.2W模型
W模型一般是高可靠性软件研制时的首选模型。主要是便于客户实时监控项目的进
展情况,同时为软件研制顺利开展建立信心和必要的沟通协调机制。
展情况,同时为软件研制顺利开展建立信心和必要的沟通协调机制。
W模型主要是突出验证与确认过程伴随着软件开发活动,验证与确认的手段可以是分
析、评审和测试等方式。W模型的示意图如图3-2所示。
析、评审和测试等方式。W模型的示意图如图3-2所示。
1.W模型各阶段定义
1)软件系统分析与设计阶段
(1)输人
(1)输人
系统总体要求和用户要求。
(2)任务
(2)任务
按照3.2.1节的要求开展软件系统分析与设计;
系统分析与设计
验证与确认(V&V)
需求分析V&V
CSC【合格性测试准备
四国园
验证与确认(V&V)
需求分析V&V
CSC【合格性测试准备
四国园
图3-2W模型示意图
编写软件研制任务要求;
制定初步的软件系统测试计划。
(3)输出
(3)输出
软件系统设计说明;
软件系统测试计划
软件研制任务书。
(4)验证与确认
软件系统测试计划
软件研制任务书。
(4)验证与确认
对系统危险分析、软件安全性要求、软件关键等级进行复核、分析
对非开发软件进行审查;
圆对选用的操作系统、编译器、编程语言和软件开发环境的安全性和可靠性的验证确
果进行评审;
对软件系统设计说明、软件研制任务书和系统测试计划进行评审。
2)软件需求分析阶段
(1)输人
对非开发软件进行审查;
圆对选用的操作系统、编译器、编程语言和软件开发环境的安全性和可靠性的验证确
果进行评审;
对软件系统设计说明、软件研制任务书和系统测试计划进行评审。
2)软件需求分析阶段
(1)输人
软件研制任务书;
软件系统设计说明。
(2)任务
®按照3.2.2节的要求开展软件需求分析;
(2)任务
®按照3.2.2节的要求开展软件需求分析;
开展软件配置项测试的计划和设计工作,编写软件配置项测试计划。
(3)输出
(3)输出
软件需求规格说明;
园软件接口需求规格说明(如需要);
软件配置项测试计划。
(4)验证与确认
对软件需求的完整性、准确性、一致性、可验证性和可追踪性进行评估;
软件配置项测试计划。
(4)验证与确认
对软件需求的完整性、准确性、一致性、可验证性和可追踪性进行评估;
对安全关键功能的时间、吞吐量和空间进行分析与评估;
对关键需求与系统安全性要求的一致性进行分析;
对需求分析阶段的产品进行评审。
3)软件概要设计阶段
(1)输人
软件需求规格说明;
对关键需求与系统安全性要求的一致性进行分析;
对需求分析阶段的产品进行评审。
3)软件概要设计阶段
(1)输人
软件需求规格说明;
园软件接口需求规格说明(如有)。
(2)任务
图按照3.2.3节的要求开展软件概要设计;
制定单元集成和测试计划。
(3)输出
软件概要设计说明;
园软件接口设计说明(如需要);
软件数据库设计说明(如需要);
软件单元集成和测试计划。
(4)验证与确认
对安全关键需求的下行流向进行追踪分析,重点是关键软件单元和软件安全关键需
求之间的流向追踪分析;
(2)任务
图按照3.2.3节的要求开展软件概要设计;
制定单元集成和测试计划。
(3)输出
软件概要设计说明;
园软件接口设计说明(如需要);
软件数据库设计说明(如需要);
软件单元集成和测试计划。
(4)验证与确认
对安全关键需求的下行流向进行追踪分析,重点是关键软件单元和软件安全关键需
求之间的流向追踪分析;
对概要设计的设计逻辑、数据、接口进行分析和复核;
对关键单元与非关键单元之间的独立性进行审查;
对软件概要设计阶段的产品进行评审。
4)软件详细设计阶段
(1)输人
软件需求规格说明;
软件概要设计说明i
国软件接口设计说明(如有);
软件数据库设计说明(如有)。
(2)任务
®按照3,2.4节的要求开展软件详细设计;
开展软件单元测试的计划和设计工作,制定软件单元测试计划。
(3)输出
软件详细设计说明;
软件单元测试计划。
(4)验证与确认
对详细设计的设计逻辑、数据、接口进行分析和复核;
对安全关键功能的处理时间、吞吐量和占用空间等进行分析;
对该阶段的阶段产品进行评审。
5)软件实现阶段
(1)输人
软件需求规格说明;
对关键单元与非关键单元之间的独立性进行审查;
对软件概要设计阶段的产品进行评审。
4)软件详细设计阶段
(1)输人
软件需求规格说明;
软件概要设计说明i
国软件接口设计说明(如有);
软件数据库设计说明(如有)。
(2)任务
®按照3,2.4节的要求开展软件详细设计;
开展软件单元测试的计划和设计工作,制定软件单元测试计划。
(3)输出
软件详细设计说明;
软件单元测试计划。
(4)验证与确认
对详细设计的设计逻辑、数据、接口进行分析和复核;
对安全关键功能的处理时间、吞吐量和占用空间等进行分析;
对该阶段的阶段产品进行评审。
5)软件实现阶段
(1)输人
软件需求规格说明;