1 回答
软件生存周期(又称软件生命周期)是指软件系统从概念定义至停止使用的时间周期,包括软件开发策划、软件需求分析、软件设计、软件编码、软件测试、软件发布、软件部署、软件维护、软件停运等阶段。其中,从软件需求分析到软件发布的时间周期称为软件开发生存周期。
软件开发策划主要确定软件开发的目标和可行性。软件需求分析是将法规、标准、用户、产品等要求转换为软件需求规范/软件需求规格说明(SRS)。软件设计是通过设计活动将软件需求规范转换为软件设计规范/软件设计规格说明(SDS)。软件编码是通过编写源代码将软件设计规范转换为软件系统。软件测试是通过各类测试活动保证软件系统质量。软件发布是将软件系统予以产品定型。软件部署是指软件系统的交付、安装、设置和配置。软件维护是对软件系统发布后的更新需求予以实现。软件停运(即软件退市)是指终止软件系统的销售和售后服务,售后服务停止时间通常晚于停售时间。
软件生存周期模型是指一组包含过程、活动和任务的框架,跨越从软件需求分析到软件停运的软件生存周期过程,每个过程可细分为若干活动,每个活动又可细分为若干任务。其中,软件开发生存周期模型是软件生存周期模型的重要组成部分,常见模型包括瀑布模型、迭代模型、增量模型、V模型等。
敏捷开发是以人为核心、迭代与增量相结合的软件开发方法,常见软件开发生存周期模型包括SCRUM、极限编程等。敏捷开发秉承四条理念:人员互动胜于过程和工具,可用的软件胜于详尽的文档,客户合作胜于合同谈判,响应变化胜于遵循计划。因此,使用敏捷开发应兼顾质量管理体系相关要求,重点关注软件更新、文件与记录等控制要求。
注册申请人可结合软件的产品特点、风险程度以及质量管理体系要求,选择适宜的软件生存周期模型,参照相关国际、国家、行业标准建立相应软件生存周期过程。