软件生存周期

 可行性研究与计划开发阶段/ 需求分析阶段设计阶段实现阶段测试阶段运行与维护阶段

可行性研究与计划开发阶段

    确定软件开发目标和总体要求,进行可行性分析,制定开发计划。这一阶段的任务是明确"要做什么",明确软件的功能和目标以及大致规模;其次研发"是否能做",探索要开发软件的难度、深度和广度,估算系统成本和效益,分析开展该项目的可行性,包括技术、设备、人员以及市场可行性等方面的内容。

  需求分析阶段

    进行系统分析,确定软件功能需求和设计约束。这一阶段的任务是"必须做什么"。软件开发人员和用户密切合作,充分交流信息,真正准确了解用户的具体要求,得出经过用户确认的系统逻辑模型,避免盲目急于着手设计的倾向。

设计阶段

    确定设计方案,包括软件结构、模块化分、功能分配以及处理流程。通常,设计阶段要分解成概要设计和详细设计两个步骤。概要设计的任务是解决"如何做",考虑多种解决方案,并依据某种令人信服的标准或原则推荐及确定设计方案;然后,进行模块化分,也就是将软件系统按功能划分成许多规模适中的程序集,再将其按合理的层次结构组织起来。详细设计的任务是“如何具体做",把概要设计的抽象概括解决方案细化、具体化。详细设计还不是编写程序,而是设计出程序的详细规格说明、处理流程。

实现阶段

    完成源程序的编码。编译无语法错误的程序清单。完成程序单元测试。

测试阶段

    实现系统总装测试和确定测试;检查审阅文档;成果评价。这个阶段的任务是通过各种类型的测试发现问题,纠正错误,使软件达到预定要求。

运行与维护阶段

    通常有四类维护工作: