07.软件工程|软件生存期(life cycle)

软件生存期
(1)制定计划(Planning)
确定要开发系统的总目标,给出它的功能、性能、可靠性以及接口等方面的要求;由系统分析员和用户合作,研究完成该软件任务的可行性,探讨解决问题的可能方案,并对可利用的资源(计算机硬件、软件、人力等)、成本、可取得的效益、开发的进度做出估计,制定出完成开发任务的实施计划,连同可行性研究报告,提交管理部门审查。
(2)需求分析和定义(Requirement Analysis and Definition)
对待开发软件提出的需求进行分析并给出详细的定义。软件人员和用户共同讨论决定:哪些需求是可以满足的,并对其加以确切地描述。然后编写出软件需求说明书或系统功能说明书,及初步的系统用户手册,提交管理机构评审。
(3)软件设计(Software Design)
设计是软件工程的技术核心。在设计阶段中,设计人员把已确定了的各项需求转换成一个相应的体系结构。结构中的第一组成部分都是意义明确的模块,每个模块都和某些需求相对应,即概要设计。进而对每个模块要完成的工作进行具体的描述,为源程序编写打下基础,即详细设计。所有设计中的考虑都应以设计说明书的形式加以描述,以供后继工作使用并提交评审。
(4)程序编写(Coding,Programming)
把软件设计转换为计算机可以接受的程序代码,即写成以某一种特定程序设计语言表示的“源程序清单”。这一步工作也称为编码。自然,写出的程序应当是结构良好、清晰易读的,且与设计相一致的。
(5)软件测试(Testing)
测试是保证软件质量的重要手段,其主要方式是在设计测试用例的基础上检验软件的各个部分。首先是单元测试,查找各模块在功能和结构上存在的问题并加以纠正;其次是进行组装测试,将也测试过的模块按一定顺序组装起来;最后按规定的各项需求,逐项进行有效性测试,决定已开发的软件是否合格,能否交付用户使用。
【07.软件工程|软件生存期(life cycle)】(6)运行/维护(Running/Maintenance)
已交付的软件投入正式使用,便进入运行阶段。这一阶段可能持续若干年甚至几十年。软件在运行中可能由于多方面的原因,需要对它进行修改。其原因可能有;运行中发现了软件中的错误需要修正;为了适应变化了的软件工作环境,需做适当变更;为了增强软件的功能需做变更。

    推荐阅读