软件生命周期也就是软件生存的周期。同万物一样,软件也有诞生和消亡,软件生命周期就是指软件自开始构思与研发到不再使用而消亡的过程。有关软件生命周期的阶段划分,不同的标准有不同的规定。在 GB8566-88(《软件工程国家标准——计算机软件开发规范》)中将软件生命周期划分为 8 个阶段:可行性研究与计划、需求分析、概要设计、详细设计、实现、集成测试、确认测试、使用和维护。
(1)可行性研究与计划:在决定是否开发软件之前,首先需要进行可行性研究。通过可行性研究,来确定开发此软件的必要性,并根据可行性研究的结果初步确定软件的目标、范围、风险、开发成本等内容。从而制定出初步的软件开发计划。通过可行性研究,如果确定该软件具有研发的必要,则将产生《可行性研究报告》和《软件开发计划》,并进入需求分析的阶段。
(2)需求分析:需求分析是软件开发的重要阶段。经过可行性研究后,初步确定了软件开发的目标和范围,之后则需要对软件的需求进行细致的分析,来确定软件要做成什么样的。需求分析是软件开发过程中极其重要的一环,如果需求分析出现了重大偏差,那么软件开发必然会偏离正确的道路,越走越远。尤其是需求分析的错误如果在软件开发后期才被发现,修正的代价是非常大的。
(3)概要设计:概要设计确定整个软件的技术蓝图,负责将需求分析的结果转化为技术层面的设计方案。在概要设计中,需要确定系统架构、各子系统间的关系、接口规约、数据库模型、编码规范等内容。概要设计的结果将作为程序员的工作指南,供程序员了解系统的内部原理,并在其基础上进行详细设计和编码工作。
(4)详细设计:详细设计完成编码前最后的设计,详细设计在概要设计的基础上,进行细化,如类设计。详细设计不是开发过程中必需的阶段,在一些规模较小、结构简单的系统中,详细设计往往被省略。同样,在某一次软件开发中,可能只会对部分关键模块进行详细设计。
(5)实现:实现过程包括编码和单元测试。单元测试指的是对刚刚编写出的一个小的程序单元进行测试,如某一个过程、方法或函数。因为单元测试的对象是小的程序单元,而不是完整的程序,因此往往需要编写一些测试程序来进行测试。有效的单元测试可以大大提高编码的质量,降低软件系统的缺陷率。
(6)集成测试:集成测试又称为组装测试。通过单元测试的程序并不意味着没有缺陷,当程序单元被集成到一起进行交互的时候,往往会出现单元测试中不能发现的问题。同单元测试不同,集成测试必须经过精心的组织,指定集成测试计划,确定如何将这些程序单元集成到一起,按照什么样的顺序进行测试,使用哪些测试数据等问题。
(7)确认测试:当完成集成测试后,软件之间的接口方面的错误已经排除,这时需要验证软件是否同需求一致,是否达到了预期目标。同集成测试一样,确认测试也需要进行计划和组织,逐步地验证软件系统同需要的一致性。经过确认测试的软件将投入正常使用,并进入维护期。
(8)使用和维护:即使通过了单元测试、集成测试和确认测试,也不可能发现软件系统中的全部缺陷;软件系统的需求也会根据业务的发展变化而变化。因此,在软件使用过程中,必须不断地对软件进行维护,修正软件中的缺陷,修改软件中已经不能适应最新情况的功能或者增加新的功能。软件维护的过程会贯穿整个软件的使用过程。当使用和维护阶段结束后,软件系统也就自然消亡,软件系统的生命周期结束。

软件的生命周期分为哪几个阶段相关推荐

  1. 信息系统的生命周期分为哪几个阶段?

    信息系统的生命周期包括: 大体上可以为5个阶段: 1.系统规划 :可行性分析与项目开发计划 2.系统分析 :需求分析 3.系统设计 :概要设计.详细设计 4.系统实施 :编码.测试 5.运行维护 还可 ...

  2. 一文弄懂软件发布生命周期中各阶段名称及代表含义

    什么是软件发布生命周期 软件发布生命周期是指开发.测试和发布软件产品的过程.不同阶段代表了不同的稳定级别(Stability levels). 软件发布生命周期的各个阶段名称及含义 Pre-alpha ...

  3. 软件的生命周期的若干阶段

    要做好一个软件,要了解软件的生命周期,在什么阶段,要做好什么事情! 在了解软件的生命周期之前,先了解一下软件工程. 软件工程 软件工程是一门研究用工程化方法构建和维护有效的.实用的和高质量的软件的学科 ...

  4. 软件开发生命周期-2-每个阶段的利益相关方

    记录下一点自己的心得体会,分享给大家,有不足之处,望指教. 下面我只提及每个阶段所涉及到的利益相关方,关于利益相关方的利害关系分析以及如何寻求平衡之道有一个作者认为比较合理的方法论,会在后面的章节专门 ...

  5. 软件开发生命周期中的设计阶段_什么是软件生命周期模型?软件测试和软件开发的关系分析!...

    软件生命周期这个词,对于大部分人应该比较陌生,但却不容忽视!正因为它的重要性,才有许多不同的软件开发生命周期模型,但是它们都有一个共同的特点,那就是在生命周期中的某一时刻,软件都会被测试.今天我就和大 ...

  6. 软件开发生命周期中的设计阶段_软件的生命周期——测试人员必须了解的事

    软件的生命周期(prdctrm) 计划阶段(planning)-〉需求分析(requirement)-〉设计阶段(design)-〉编码(coding)->测试(testing)->运行与 ...

  7. 9分钟内完成软件开发生命周期

    软件在开发过程中要经历几个阶段,包括计划.需求分析.设计.编码.测试.部署.维护等.这个由计划开始,直至维护结束的完整周期称为软件开发生命周期. 9分钟完成软件开发生命周期 01 计划阶段 客户或者用 ...

  8. 科创项目日记(1)—对软件开发生命周期的一些小总结

    最近在做一个科创项目,该项目中,我们的第一个任务就是总结一下软件生命周期各个阶段的任务以及自行网上收集各种软件生命周期文档的编写模版.经过这几天的资料收集,技术顾问的指导,加上自己过滤整理,终于有了现 ...

  9. 软件开发生命周期中的设计阶段_软件开发分为几个阶段

    软件开发生命周期,亦叫做软件生命周期或者系统开发生命周期,是直到生命周期结束的软件生成生命周期.有问题定义,可行性分析,总体描述,系统设计,编码,调试和测试,验收.运行,维护和升级到过时,这种分时的思 ...

  10. sdlc 瀑布式 生命周期_SDLC指南–软件开发生命周期的阶段和方法

    sdlc 瀑布式 生命周期 When I decided to teach myself how to code almost four years ago I had never heard of, ...

最新文章

  1. Leetcode刷题 155题: 最小栈(基于python3和c++两种语言)
  2. 2162112375 Week04-面向对象设计与继承
  3. Crypto++入门学习笔记(DES、AES、RSA、SHA-256)
  4. shell脚本自动化部署服务
  5. 人脸特征点定位之Explicit Shape Regression
  6. linux内核源码只有makefile文件没有c文件,linux内核代码的编写初步以及makefile的配置...
  7. WEB-INF 目录下的文件无法直接浏览器访问
  8. 南京廖华计算机二级考试答案,全国计算机二级考试习题题库(附答案)
  9. mysql root_mysql root 没有任何权限
  10. Linux下与github建立ssh连接
  11. spring:注解配置AOP
  12. 使用计算机终端情况,朗威V1.0计算机终端保密检查系统
  13. 看拉扎维《模拟CMOS集成电路设计》的一些总结和思考(四)——差动放大器
  14. CAD迷你画图2019破解补丁|CAD迷你画图2019r3注册机下载
  15. 软件自动化测试脚本如何编写,编写自动化测试脚本的几点注意事项
  16. YAPI,一个神奇的接口管理平台
  17. 【秋招机试真题】华为机试0811-1-叠积木
  18. 地铁信号tts是什么服务器,机场地铁公共广播
  19. java中|和||的使用和区别
  20. docker Hub-Node模式运行selenium grid4,经常遇到用例运行到60%-65%时无法继续运行

热门文章

  1. 光纤上网是如何实现的?—Vecloud微云
  2. WPF 自定义 写实风 雷达图控件
  3. 【gazebo要素9】 SDF制作Model文件(2)
  4. Little VGL + code::blocks + 模拟器
  5. JS-JavaScript打开新页面的两种方式:当前页面打开和新页面打开
  6. 【python】ssim原理简介及代码实现
  7. 沧小海基于xilinx srio核的学习笔记之第三章 xilinx srio核介绍(二)HELLO格式和流控
  8. 基于Matlab的hdb3编译码设计,基于MATLAB的HDB3编译码实现
  9. android 仿小米便签,高仿小米便签
  10. php怎么字符串转成json对象_php如何将字符串转成json_后端开发