软件生存周期是软件工程中的一个重要概念,把整个生存周期划分为若干个阶段,是实现软件生产工程化的重要步骤。
软件的生存周期一般划分为软件计划,软件开发和软件运行三个时期,如下图:
其中,计划阶段包括问题定义和可行性研究;开发阶段包括需求分析,软件设计(概要设计和详细设计),编码,测试;维护阶段就是软件的运行维护了。
一、计划阶段
计划阶段当然就是解决系统“是什么”的问题了。计划时期有两步,第一步为问题定义,第二步为可行性研究
主要任务就是调查用户需求,分析新系统目标,分析开发该新系统的可行性。
(1)问题定义:它是计划时期的第一步,必须回答“用户需要计算机解决的问题是什么”,系统分析员根据问题确定系统目标。
(2)可行性研究,也就是计划的第二步,是确定该问题有没有行得通的解决办法。
二、开发阶段
开发阶段的任务式完成需求分析,设计,编码,测试。其中设计分为概要设计和详细设计。
(1)需求分析
回答系统“必须做什么”,确定目标系统的功能。
(2)概要设计
回答系统“怎么做”的问题,怎么实现目标系统。主要任务是将用户需求转换为软件的体系结构。
(3)详细设计
回答系统“应该怎样具体实现”的问题,将功能转换为精确的,结构化的过程描述。
(4)编码
主要任务:选定开发语言,将结构化的过程描述转换为计算机可以接受的程序。
(5)测试
是软件开发阶段的最后一步,保证软件质量的一个重要手段、按照不同的层次,分为单元测试,集成测试,验收测试。
三、运行阶段
在这一阶段最主要的工作就是软件维护,是时间最长的一个阶段。已经交付用户投入使用之后,变进入了软件维护阶段。