软件生存周期的各个阶段(可作为软件开发流程使用)

简介:

软件生存周期包括软件定义阶段、软件开发阶段和软件使用、维护和更新换代阶段。系统分析师、设计师、编程人员、测试人员以及维护人员可以作为参考,了解软件整个生命周期的阶段。

1、软件定义阶段

软件定义阶段的基本任务是确定软件系统的工程需要,可分为两个阶段。

1.1、软件系统的可行性研究

-经济可行性研究

-技术可行性研究

-法律可行性研究

-开发方案的选择性研究

可行性研究的任务是了解用户的要求及实现的环境,从技术、经济和社会等各个方面进行研究,并从成功和风险两方面来论证软件系统的可行性。参与软件开发的分析人员应在用户配合下对用户要求及实现环境作深入细致的调查,写出调研报告,并进行可行性论证。

1.2、项目需求分析

-软件功能需求:系统必须完成的功能

-软件性能需求:安全性、可靠性、可维护性和用户培训等

-软件运行环境约束

-需求建模

-问题抽象、问题分解与多视点分析

-支持需求分析的快速原型技术

-需求规格说明与评审

软件需求是指用户对其目标软件系统的功能、行为、性能、设计约束等诸方面的期望。用过与用户反复交流,对应用问题及环境充分地理解与分析,为问题涉及的信息、功能及系统行为建立模型。去除无关的和使人误解的信息,寻找是否有对类似问题的解决办法,将用户需求精确化、完全化,最终形成需求规格说明,完成软件开发生存周期的需求分析阶段。

2、软件开发阶段

软件开发阶段包括概要设计、详细设计、实现、组装测试和确认测试5个阶段。

2.1、概要设计:根据软件需求规格说明进行

-建立系统总体结构和各模块之间的关系

-定义各功能模块的接口

-设计全局数据库或数据结构

-规定设计约束

-制定组装测试计划

2.2、详细设计

-对概要设计进行细化

-建立文档资料

2.3、实现

-选择何时的编程语言编写程序

-制定模块测试方案和测试数据

-制定模块预期测试结果

-制定组装测试方案和测试数据

-制定预期测试结果

-保存相应的文档资料

2.4、组装测试

-根据模块测试方案和测试数据进行模块测试

-根据组装测试方案和测试数据逐步进行组装测试

-系统各模块连接正确性测试

-软件系统或子系统的正确性和容错性能测试

-保存相应的文档资料

2.5、确认测试

-由专家、客户、开发人员组成系统测试评审小组

-向用户提供最终的用户手册、操作手册、源程序清单及其他软件文档资料

-三方共同根据组装测试方案和测试数据逐条严格进行组装测试,确认软件系统是否达到用户的系统需求

-确认系统测试结束时应建立确认系统测试报告、项目开发总结报告

-保存相应文档资料

由专家、客户、开发人员组成的软件测试评审小组在对软件确认报告、测试结果和软件经销评审通过以后,软件产品得到确认,就可以交付用户使用。另外需要强调说明的是,软件在开发过程中通常会有很多中方案可供人们选择,可以根据成本、进度、功能、性能、系统复杂性、时空开销、风险等诸方面进行折衷平衡,以便用较小的代价实现客户对软件总体目标的需求。

3、软件使用、维护和更新换代阶段

3.1、软件的使用

-推广软件的应用。使用软件的用户越多,其社会经济效果越大

-客户和系统维护人员必须认真收集软件使用时发现的软件错误

-定期撰写“软件问题报告”

3.2、系统维护

-对发现的软件产品中潜伏的错误进行修改维护

-对用户提出的软件需求进行修改维护

-软件运行环境发生变化时需要对软件进行修改维护

-对软件定义和软件开发各阶段生存的文档资料进行修改维护

软件维护需要花费大量劳动,软件维护的好坏直接影响到软件的应用和软件生存周期,而软件的可维护性又与软件设计密切相关,所以软件在开发过程中应当重视对软件可维护性的支持。

3.3、系统更新换代

软件生存周期的最后一个阶段。本软件已完成其历史使命,但软件中的一些构件或模块还可以复用,可以成为新系统的一个组成部分。

(以上摘自《面向对象技术导论-系统分析与设计》一书)





   本文转自loose_went博客园博客,原文链接:http://www.cnblogs.com/michaelxu/archive/2008/12/29/1364459.html,如需转载请自行联系原作者

相关文章
|
1月前
|
人工智能 数据可视化 安全
瀑布模型是什么?在软件开发中有哪些主要阶段和步骤?
瀑布模型是一种经典的软件开发方法,将开发过程划分为需求分析、设计、编码、测试和维护等顺序阶段,强调阶段性和文档化。适用于需求明确、稳定且对安全性和可靠性要求高的项目。尽管存在局限性,但在特定场景下仍具重要价值。未来,瀑布模型可能与其他开发模型结合,更加灵活高效。
瀑布模型是什么?在软件开发中有哪些主要阶段和步骤?
|
4月前
|
领域建模 项目管理
项目管理问题之在软件开发中,建模涉及哪些阶段
项目管理问题之在软件开发中,建模涉及哪些阶段
|
4月前
|
SQL 缓存 安全
codereview开发问题之CodeReview阶段性能问题如何解决
codereview开发问题之CodeReview阶段性能问题如何解决
|
安全 区块链 数据安全/隐私保护
链游开发流程需要经历哪些阶段?
链游开发流程需要经历哪些阶段?
|
监控 安全 程序员
软件开发的过程
在软件工程中,软件开发方法(也称为系统开发方法,软件开发生命周期,软件开发过程,软件过程)是将软件开发工作划分为包含旨在更好的活动的不同阶段(或阶段)。规划和管理。
3136 0
K项目Cutover阶段的经验教训
K项目Cutover阶段的经验教训
K项目Cutover阶段的经验教训