高复用度开发模型的优缺点

(3)输出
増量产品;
增量产品的软件需求规格说明、概要设计说明、详细设计说明、经过测试的软件源代码、单元测试文档和集成测试文档。
3)下一次增量内容的确定
(1)输入
增量产品;
确定系统需求的优先级。
(2)任务
用户使用增量开发产品,判定增量开发是否完成。若完成开发则进人系统测试阶段;否则,用户提出反馈意见,修改、补充系统需求。
曾与用户沟通确定下一增量开发的内容,转人下一次增量开发。
(3)输出
更新后的系统需求优先级表;
下一次增量开发的需求集。
4)系统测试
(1)输入
用户认可完成的系统产品i
系统分析与设计说明。
(2)任务
编写用户手册;
圆按照3.2.9节的要求进行软件系统测试。
(3)输出
系统测试文档;
用户手册。
5)软件验收与移交阶段
同3.3.1节1中10)。
2.增量模型的优缺点
1)增量模型的优点
功能的基础上逐步提出对后续增量的需求;次增量开发后就使用到系统的核心功能,以便用户可以在此核心
(2)由于软件实现的顺序是按照从高到低的优先级确定的,最核心的功能得以最先多
(所有增量都是在同一个体系结构指导下进行的,提高了系统的稳定性和可维护性。
(增量的粒度比较难以把握
(山于核心需求的实现藁址于基本的业务服务,而基本业务服务是随着增量的书
断完成逐步明确的,因此,可能导致部分核心需求无法实现。
3.3.5高复用度开发模型
1.高复用度开发模型各阶段定义
1)软件系统分析与设计
(1)输入
客户要求和用户要求。
(2)任务
按照3.2.1节的要求开展软件系统分析与设计。
(3)输出
软件系统设计说明。
2)软件需求分析与设计阶段
进行软件需求分析和软件设计,确定软件设计要求。
(1)输人
软件系统设计说明;
被复用软件的相关文档,例如软件需求规格说明、软件概要设计说明、软件详细设计
说明等。
(活动
根据软件研制任务要求,分析、细化对软件的功能、性能、数据、接口、人机界面、可靠
性和安全性等要求,对毎一项需求进行标识。
收集同类项目研制历史数据,分析和确定软件开发与运行环境、设计约束条件、设计
准则等。
适时组织协商讨论。重点讨论与历史项目的不同,将修改要求文档化,写人软件更动分析报告(模板如表3-3所示),例如需增加哪个模块、修改哪个模块、哪个模块可以直接复用。项目负责人、软件工程组等其他利益相关方对软件更动分析报告进行会签。
表3-3软件更动分析报告
项日名称
项目标识
填表日期
简要说明
类别
该软件是×××系列型号任务软件,在×××软件基础上进行更动即可,完全复用8个,
修改0个,删除!个,增加1个,复用度为××%
更动分析
序号章节名称
影响分析
全周
完复
续表
类别
序号
章节
名称
影响分析
修改
删除
增加
签名
备注
根据同类项目历史数据进行软件需求分析和软件设计,形成软件需求规格说明和软
对需求和设计进行评审。
(3)输出
软件需求规格说明
一IT坂需求规格说明;
软件开发计划i
@软件质量保证计划
软件配置管理,-
软件配置项测让!」
软件需求安全性茖二告;
软件概要设计说明
图软件接口
设计蕊;
软件数据库设葺
软件详细设计说明
软件概要设安全程析报告;
软件单元测试。i
软件详细设计安全‘分析报告i
软件更动分析报告。
3) 软件实现阶段
(1)输入
软件开发计划;
软件需求规格说明;
软件设计说明(或软件概要和软件详细设计说明)i
软件更动分析报告;
被复用软件的源代码、单元测试相关文档。
(2)活动
根据软件需求分析与设计阶段的软件更动分析报告,对指定软件进行算法逻辑和功能修改。
根据详细设计说明,对软件进行编码、调试、代码审查,并进行软件单元测试和集成测试。对完全复用的模块,如果前期已经进行单元测试,在客户认可的情况下可不重复进行。
(3)输出
通过单元测试的软件源代码;
软件单元测试说明;
软件单元测试记录;
软件单元回归测试方案(如需要);
软件单元回归测试记录(如需要);
软件单元测试报告(含问题);
软件集成和集成测试方案;
®软件集成和集成测试记录;
软件集成和集成测试报告(含问题)。
4)软件测试与验收阶段
按照3.2节的要求开展配置项测试、系统测试,并进行软件验收和移交。对完全复用的软件,如果前期已经进行配置项测试,在客户认可的情况下可不重复进行。
2.高复用度开发模型的优缺点
1)高复用度开发模型的优点
高复用度开发模型强调架构和重用单元选择,能够大幅减少需求分析阶段、设计阶段、实现阶段的工作量,缩短系列化型号任务软件的研制周期。
2)高复用度开发模型的缺点
(1)不适合新型系统软件研制;
(2)与复用模块相关的需求不宜有较大变更,否则,会导致软件开发成本增大。
3.4敏捷软件开发
敏捷软件开发又称敏捷开发,是一种从20世纪90年代开始逐渐引起广泛关注的新型软件开发方法,是应对快速变化的需求的一种软件开发能力。敏捷软件开发的理念和过程传统方法都不尽相同,更强调程序员团队与业务专家之间的紧密协作、面对面的沟通、对变化需求的快速适应、频繁交付新的软件版本、团队人员自我管理和团队组织方法等,也更

 


评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。