软件工程过程和软件生存周期
作者:周玲 来源:希赛网
许多计算机和软件科学家尝试,把其它工程领域中行之有效的工程学知识运用到软件开发工作中来。经过不断实践和总结,最后得出一个结论:按工程化的原则和方法组织软件开发工作是有效的,是摆脱软件危机的一个主要出路。
(1) 软件工程过程 (Software Engineering Process)
软件工程过程是为获得软件产品,在软件工具支持下由软件工程师完成的一系列软件工程活动。软件工程过程通常包含四种基本的过程活动:
P(Plan):软件规格说明。规定软件的功能及其运行的限制;
D(Do):软件开发。产生满足规格说明的软件;
C(Check):软件确认。确认软件能够完成客户提出的要求;
A(Action):软件演进。为满足客户的变更要求,软件必须在使用的过程中演进。
事实上,软件工程过程是一个软件开发机构针对某一类软件产品为自己规定的工作步骤,它应当是科学的、合理的,否则必将影响到软件产品的质量。
(2) 软件生存周期 (life cycle)
正如同任何事物一样,软件也有一个孕育、诞生、成长、成熟、衰亡的生存过程。我们称其为计算机软件的生存周期。根据这一思想,把上述基本的过程活动进一步展开,可以得到软件生存周期的六个步骤。
1制定计划:确定要开发软件系统的总目标,给出它的功能、性能、可靠性以及接口等方面的要求;研究完成该项软件任务的可行性,探讨解决问题的可能方案;制定完成开发任务的实施计划,连同可行性研究报告,提交管理部门审查。
2需求分析:对待开发软件提出的需求进行分析并给出详细的定义。编写出软件需求说明书及初步的用户手册,提交管理机构评审。
3软件设计:把已确定了的各项需求转换成一个相应的体系结构。进而对每个模块要完成的工作进行具体的描述。编写设计说明书,提交评审。
4程序编写:在设计完成之后,用一种适当的程序设计语言或CASE工具把软件设计转换成计算机可以接受的程序代码。应当就风格及清晰性对代码进行评审,而且反过来应能直接追溯到详细设计描述。
5软件测试:在设计测试用例的基础上检验软件的各个组成部分。单元测试检查每一单独的模块部件的功能和性能。组装测试提供了构造软件模块结构的手段,同时测试其功能和接口。确认测试检查所有的需求是否都得到满足。在每一个测试步骤之后,都要进行调试,以诊断和纠正的故障。
6运行/维护:已交付的软件投入正式使用,并在运行过程中进行适当的维护。为改正错误,适应环境变化及功能增强而进行的一系列修改活动。与软件维护相关联的那些任务依赖于所要实施的维护的类型。