专栏首页Hongten软件开发的生命周期

软件开发的生命周期

同任何事物一样,一个软件产品或软件系统也要经历孕育、诞生、成长、成熟、衰亡等阶段,一般称为软件生存周期(软件生命周期)。把整个软件生存周期划分为若干阶段,使得每个阶段有明确的任务,使规模大,结构复杂和管理复杂的软件开发变的容易控制和管理。通常,软件生存周期包括可行性分析与开发项计划、需求分析、设计(概要设计和详细设计)、编码、测试、维护等活动,可以将这些活动以适当的方式分配到不同的阶段去完成。 软件生命周期(SDLC,软件生存周期)是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。但随着新的面向对象的设计方法和技术的成熟,软件生命周期设计方法的指导意义正在逐步减少。 软件生命周期(SDLC)的六个阶段 1、问题的定义及规划 此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性。 2、需求分析 在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。需求分析阶段是一个很重要的阶段,这一阶段做得好,将为整个软件开发项目的成功打下良好的基础。"唯一不变的是变化本身。",同样需求也是在整个软件开发过程中不断变化和深入的,因此我们必须制定需求变更计划来应付这种变化,以保护整个项目的顺利进行。 3、软件设计 此阶段主要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计,数据库设计等等。软件设计一般分为总体设计和详细设计。好的软件设计将为软件程序编写打下良好的基础。 4、程序编码 此阶段是将软件设计的结果转换成计算机可运行的程序代码。在程序编码中必须要制定统一,符合标准的编写规范。以保证程序的可读性,易维护性,提高程序的运行效率。 5、软件测试 在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。整个测试过程分单元测试、组装测试以及系统测试三个阶段进行。测试的方法主要有白盒测试和黑盒测试两种。在测试过程中需要建立详细的测试计划并严格按照测试计划进行测试,以减少测试的随意性。 6、运行维护 软件维护是软件生命周期中持续时间最长的阶段。在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的要求。要延续软件的使用寿命,就必须对软件进行维护。软件的维护包括纠错性维护和改进性维护两个方面。

参考资料:http://zhidao.baidu.com/question/143629450.html

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Struts2 HelloWorld_1

    解压后,在apps文件夹下面有5个*.war文件,解压struts2-blank.war文件

    Hongten
  • Hibernate延迟加载 lazy loading

    /**  *  * @author XHW  *  * @date 2011-7-18  *  */ public class HibernateTest...

    Hongten
  • 黑盒子测试方法(Black-Box Testing)

        黑盒测试主要是根据产品的外部功能来规划测试,检查程序各个功能是否实现,主要的质量属性是否达到要求,其中有无错误。

    Hongten
  • Foureye:基于超游戏理论的防御性欺骗,以应对高级持续威胁(CS GT)

    防御性欺骗技术已经成为一种很有前途的主动防御机制,可以误导攻击者,从而实现攻击失败。然而,大多数博弈论的防御性欺骗方法都假设玩家在不确定性下保持一致的观点。他们...

    用户8128510
  • 第十届Mockplus ▪ UXPA用户体验西南赛区决赛成功举行

    伴随着凉爽的秋风,第十届Mockplus·UXPA国际用户体验创新大赛(UXD Award2018)西南赛区决赛于9月16日下午在四川美术学院-虎溪校区成功举办...

    奔跑的小鹿
  • 伯克利AI研究:通过学习一种多视角立体机实现3D重建

    当给你看一张椅子的照片时,你是可以从这张单幅照片中推断出椅子的三维形状的,即使你以前可能从未见过这样的椅子。我们经历的一个更具有代表性的例子是,在与椅子的物理空...

    AiTechYun
  • Android开发(53) 摄像头自动对焦。在OpenCV图像识别中连续拍照时自动对焦和拍照。

    对焦,这里所说的“焦”是指“焦距”。在拍照时,一定是需要调焦的。一般会在目标位置最清晰的时候会停止对焦。最近在处理OpenCV进行图像识别时,需要连续的调焦(对...

    zhangyunfeiVir
  • 气象服务产品设计与开发实例

    先简单介绍一下需求背景。2019年中国北京世界园艺博览会(以下简称:世园会)于2019年4月29日至10月7日在北京延庆举行,是最高级别的专业性国际博览会。北京...

    用户1247399
  • 数据结构与算法(2)

    3、广义表:由零个或多个单元素或子表所组成的有限序列。广义表的元素可以是子表,而子表的元素还可以是子表

    ellipse
  • 【Java提高十九】Iterator&fail-fast机制

    【Java提高十九】Iterator&fail-fast机制 Iterator详解 迭代对于我们搞Java的来说绝对不陌生。我们常常使用JDK提供的迭代接口进行...

    Java帮帮

扫码关注云+社区

领取腾讯云代金券