铁路车站信号
2023-02-02
更新时间:2023-02-03 02:49:16作者:百科
[拼音]:ruanjian shengcun zhouqi
[外文]:software life cycle
软件产品从形成概念开始,经过研制、交付使用,在使用中不断增补修订,直到最后被淘汰,让位于新的软件产品的过程。软件生存周期是软件工程中的一个重要概念。根据这一概念,一个软件产品的生存周期可划分成若干互相区别而又彼此联系的阶段。每一阶段中的工作,均以前一阶段工作的结果为依据,并为下一阶段的工作创造前提。发生失误的阶段越是靠前,或者一个失误的发现越晚,所造成的影响越大,为纠正它所花费的代价也越高。软件生存周期概念的提出,使人们懂得:在前一阶段工作没有做好之前,决不要草率地进入下一阶段,更不要随意超越某一阶段;其次,软件生存周期阶段的划分,有助于软件研制管理人员借用传统工程的管理方法(重视工程性文件的编制,采用专业化分工方法,在不同阶段使用不同的人员等),从而有利于提高软件质量、降低软件成本。
软件生存周期的阶段划分尚无统一的标准,一般划分为需求定义、程序编写、测试、安装验收、使用维护和退役几个阶段。
在这一阶段中,软件研制人员与用户密切合作,分析了解用户的真正需求,然后用明确的形式表示出来,形成“需求文件”(说明本项产品应该做什么,性能上达到哪些要求,但不涉及如何做),作为下一阶段工作的依据。
设计阶段在本阶段中对已经确立的“需求”进行分析,选择解决问题的途径,拟定算法,确定总体数据结构,将预想中的软件划分为若干模块。最后,产生模块规格说明书,说明每一模块的功能、性能,以及与其他模块的接口关系等。
或称实现阶段,在此阶段中根据模块规格说明书用程序语言书写出相应的程序,包括简繁适中的注解。
在此阶段中,通过精心选择的测试数据,观察程序执行的结果是否与规定的预期结果相符合。如果发现有不一致的情况,在查明原因后加以纠正。
对于一个有实用价值的程序,所选用的测试数据不可能包含该程序在实际运行时可能遇到的全部情况。因此,测试工作虽能发现程序中存在的一部分错误,但不?a href='http://www.baiven.com/baike/221/243625.html' target='_blank' style='color:#136ec2'>芫荽酥っ鞒绦虻恼沸裕荒芩得鞒绦蛘9ぷ鞯闹眯哦忍岣吡恕T谕ü馐越锥蔚某绦蛑腥钥赡苡幸帕舻拇砦螅嵩谑导适褂霉讨斜┞冻隼础U庖晃侍庠谠诵薪锥瓮üすぷ骷右越饩觥?/p>
在这个阶段中将研制出的软件安装到用户提供的使用环境中,并解决因研制环境和用户环境不同而引起的问题。软件安装完毕后须经过验收,以确认是否已经达到了在需求阶段所规定的目标。
以上这五个阶段可合称软件产品的研制周期。
软件产品在本阶段中被使用而发挥效益,同时通过维护工作而不断得到改进。但是,软件维护与一般实物性产品有原则区别。一般实物性产品的维护,是为了抵偿运转中造成的磨损,力图恢复到刚出厂时的原始状况;而软件则不会因使用而产生磨损。软件维护有如下三方面的含义:
(1)较正性维护,排除在运行过程中暴露出来的错误;
(2)适应性维护,使软件适应运行环境的变化;
(3)完善性维护,对软件的功能加以扩充,使之进一步完善化。
软件产品在使用维护阶段中,经过多次修补,一方面功能日趋完善,另一方面其结构清晰性往往受到损伤,易读性降低,性能也会受到影响。由于用户使用环境和需求仍在不断变化,可能需要重新研制;另一方面,也可能出现具有同类功能的新型软件产品,促使老一代的软件退役。
软件产品所经历的以上各个阶段,并不总是单向直线式的,也可能有反复。例如,在测试阶段若发现设计阶段工作中有差错,甚至需求定义有缺陷,就需要重新返回设计阶段或者需求定义阶段。另外,各阶段的划分也不是固定不变的。有些软件,特别是新领域中开创性的应用软件,可能在需求定义阶段之前还有一个概念形成阶段,对可行性进行调查分析。