《TSPP02G02 软件生命周期模型及使用规程 V100.docx》由会员分享,可在线阅读,更多相关《TSPP02G02 软件生命周期模型及使用规程 V100.docx(12页珍藏版)》请在第一文库网上搜索。
1、TIANSU软件生命周期模型及使用规程文件编号TSP-P02-G02生效日期2009-11-25受控编号保密级别秘密版本号V1.00修改次数0总页数12正文8附录0编制陆培审核批准南京天溯自动化控制系统有限公司(版权所有,翻版必究)变更日志编号版本修改内容修改人修改日期10.10创建初稿陆增2009-10-3020.20内部评审陆增2009-11-1031.00发布陆增2009-11-251引言111目的11.2 适用范围11.3 定义11.4 参考资料12 过程总体描述23 口j周.*33. 1V*33. 1.134. 1.2阶段定义35. 1.3适用情况46. 1.4优点47. 1.5缺点
2、48. 1.6本企业适合项目类型43.2简化V字模型43.2.1概述43.2.2阶段定义53.2.3适用情况53.2.4优点53.2.5缺点53.2.6本企业适合项目类型53.3增量模型53.3.153.3.2版I!163.3.3/5163.3.4优点63.3.5缺点73.3.6本企业适合的项目类型73.4快速应用开发模型73.4.1概述73.4.2阶段定义73.4.3适用情况83.4.4优点83.4.5缺点83.4.6本企业适合的项目类型81引言软件生命周期由制定计划、需求开发、设计、编码、测试、维护等各项活动组成,而如何将这些活动合理、有效地衔接组织起来,就需要在软件项目策划阶段选择合适的
3、软件生命周期模型。正如每个项目的目的是唯一的,每个项目的软件生命周期模型也将是唯一的,定义软件生命周期是项目计划的一个重要步骤,它将直接影响到WBS及软件开发计划的制定。1.1 目的本文的目的是为了指导软件项目策划人员如何选用软件生命周期模型。1.2 适用范围本文档适用于公司中的所有软件项目。1.3 定义下表列出本报告中专门术语的定义、英文缩写词的原词组和意义、项目组内达成一致意见的专用词汇,同时继承全部的先前过程中定义过的词汇。词汇名称词汇含义备注软件生命周期软件过程CASE工具从软件产品的设想开始到软件不再使用而结束的时间周期。软件生命周期一般包括需求阶段、设计阶段、实现阶段、测试阶段、运
4、行和维护阶段,有时还包括退役阶段。有关开发和维护软件及其相关产品(例如:项目计划、设计文档、代码、测试用例、用户手册等)的活动、方法、实践和变更的集合。计算机辅助软件工程工具,为与软件过程相关的每个活动中的软件工程管理者和实践者提供帮助,它们自动化项目管理活动,管理所有在过程中产生的工作产品并且辅助工程师完成他们的分析、设计、编码和测试工作。1.4 参考资料2过程总体描述为了使项目在定义软件过程时能够依据其特性选择适用的软件生命周期,使得项目开发过程流程化、易于管理、提高开发速度和产品质量,以达到更好的满足客户的要求,组织规定了以下几种适于本组织使用的生命周期模型: V字模型 简化V字模型 增
5、量模型 快速应用开发模型注:在组织中有些需求不清晰的项目中也会使用快速原型法,但这主要起到需求获取的作用,通常不作为生命周期模型描述,开发过程使用的生命周期模型以上述几种为主。3生命周期模型描述3.1V字模型3.1.1概述V字模型是一种线型顺序模型,是项目自始至终按照一定顺序的步骤从需求分析进展到系统测试直到提交用户使用,它提供了一种结构化的、自顶向下的软件开发方法,每阶段主要工作成果从一个阶段传递到下一个阶段,必须经过严格的评审或测试,以判定是否可以开始下一阶段工作,各阶段相互独立、不重叠。V字模型是所有软件生命周期模型的基础。V字模型的开发流程如下图:图1V字模型示意图3.1.2阶段定义编
6、号阶段入口标准任务出口标准1需求开发项目立项报告已经由高层经理签字,项目开始启动。需求访谈及分析系统测试设计软件需求规格说明书及系统测试设计完成并形成基线2概要设计软件需求规格说明书已经完成并形成基线。进行数据库设计各模块的概要设计集成测试设计概要设计说明书及集成测试设计完成并形成基线。3详细设计概要设计已完成并形成基线进行详细设计及单元测试用例编写。详细设计及单元测试用例编写完成并形成基线。4实现详细设计完成并形成基线进行编码及单元测试编码及单元测试完成并形成基线。5测试系统测试设计完成集成测试设计完成编码及单元测试完成用户文档完成(安装配置、操作、维护)进行集成、系统测试集成、系统测试完成
7、并形成基线6验收发布系统测试己经完成用户验收验收通过3.1.3适用情况 充分理解用户需求,且需求是确定不变的; 用户有一定的能力,对需求的表述是确切的; 充分理解该解决方案的技术和体系; 需要一个可维护性和可支持性较高的解决方案; 所有过程工作产品的控制基线,需要有可见度和可靠性; 适用于新的有较多用户的产品、平台/中间件开发项目,或者是用户对开发过程有严格要求的工程定制项目; 项目经理有一定的项目管理经验; 要求开发周期时间较充分。3.1.4优点 强调开发的阶段性; 强调早期的计划及需求调查与分析; 强调产品测试的完备性; 过程文档齐全,便于追溯和重用; 过程的可见性强,便于过程质量控制;
8、只要需求是稳定的,则进度也是稳定的。31.5缺点 无法解决软件需求不明确或不准确的问题: 灵活性差,依赖于早期进行的需求调查,不能适应需求的变化; 由于是单一流程,开发中的经验教训不能及时反馈并应用于本产品的过程改进。3.1.6本企业适合项目类型最常见的生命周期模型之一,适用于大多数产品研发类项目。3.2简化V字模型3.2.1概述针对组织中的项目实际情况,对V字(瀑布)模型进行演化是必要的。简化V字模型就是在标准瀑布模型基础上根据组织中一些小项目等的实际需要演化来的。流程图如下所示:验收测试3. 图2简化V字模型示意图4. 2.2阶段定义参见V字模型。5. 2.3适用情况 项目的复杂度、团队的
9、规模、工作量和周转时间都是中等程度的; 需求和技术都已被充分理解; 项目经理有较高的项目管理和控制的经验。3. 2.4优点 可以适应中等和较小项目的较灵活的管理需要; 提供中度的进度控制,相对标准V字模型,可以减少部分项目管理工作量和开支: 在产品交付方面进行合理的控制。3. 2.5缺点因项目开发流程相对简化,项目的风险增大,质量隐患增大。3.2.6本企业适合项目类型在已经运行过的成型系统之上,根据客户的不同需求进行客户化改造的项目,客户对原系统有充分的了解,能够提出比较成熟的需求,则项目过程可以采用简化V字模型。3.3增模型3.3.1概述增量模型是一种进化软件过程模型,融合了线性顺序模型的基
10、本成分(重复地应用)和原型模型的迭代特征,如下图所示。当使用增量模型时,第一个增量往往是核心产品,即实现了基本的需求;核心产品交用户使用(或进行更详细的复审),使用和/或评估的结果是下一个增量的开发计划,该计划包括对核心产品的修改,使其能更好的满足用户的需要,并发布一些新增的特点和功能。增量模型和原型模型不一样,强调每一个增量均要发布一个可操作产品。早期的增量是最终产品的“可拆卸”版本,但能提供用户服务功能和用户评估的平台。图3增量模型开发流程图3.3.2阶段定义编号阶段入口标准任务出口标准1需求开发项目立项报告已经由高层经理签字,项目开始启动。需求访谈及分析系统分析软件需求规格说明书完成并形
11、成基线2软件结构设计软件需求规格说明书已经完成并形成基线。进行系统总体结构设计和概要设计系统结构设计及概要设计说明书3增量1立项报告已经由高层经理签字,并进行了总体的需求开发及概要设计。进行第一阶段的详细设计、编码、测试及发布。第一阶段产品完成。4增量2增量1产品已经完成并完善了本阶段的需求开发及概要设计。进行第二阶段的详细设计、编码、测试及发布。第二阶段产品完成。5增量3增量2产品已经完成并完善了本阶段的需求开发及概要设计。进行第三阶段的详细设计、编码、测试及发布。第三阶段产品完成。7验收发布系统测试通过用户进行系统验收用户验收通过 3.3.3适用情况 当项目可清晰地划分为多个功能独立的子项
12、目,或采用阶段开发时,适合选择增量模型。 市场期限或资源非常紧迫,不可能完成一个完善的产品时,但可以提交一个有限的版本以应付竞争和商业压力时,适合选择增量模型。 核心产品或系统需求能够被很好的理解,但是细节尚需要进一步明确时,适合选择增量模型。3.3.4优点 有利于控制成本,可以用较少的成本先生成“产品核心”,然后根据需要适时生成完善的产品。A可以有计划的管理技术风险,新的技术可以在增量版本中使用,减少在最初就采用新技术的风险。 提供了用户评估的平台,能够更好的满足用户需求。3. 3.5缺点由于增量模型的灵活性,往往容易退化成边做边改方法,使软件过程的控制丧失了整体性,最终的产品也不是开放的,而是成为维护人员的恶梦。3. 3.6本企业适合的项目类型各种中、大规模的项目类型;已有系统技术路线发生改变但需求明确的移植类项目。3.4快速应用开发模型3.4.1 概述快速应用开发模型(RAD)是一个线性顺序的软件开发模型,强调极短的开发周期(23个月)。该模型是线性顺序模型的一个“高速”变种,如果需求理解得很好,且约束了项目范围,就可通过使用基于构件或可得用软件包的建造方法获得快速开发。主要适用于信息系统应用软件的开发。表4快速应用开发模型3.4.2阶段定义编号阶段入口标准任务出口标准1业务建模立项报告已经由高层经理签字,并对客户需求进行