1.3 软件生命周期的过程需求
软件生命周期是软件获取、供应、开发、运行和维护的过程,涉及软件过程中各个参与方或利益方(stakeholder),包括软件产品的需方、供方、开发者、操作者和维护者。
1.3.1 软件工程过程
工程过程是软件系统、产品的定义、设计、实现以及维护的过程。虽然在ISO12207标准中没有定义一个“工程过程”类别,但可以从其“主要过程”中抽取出属于工程过程的3个子过程,即开发过程、运行过程和维护过程:
-
开发过程(Research & Development, R&D)。定义并开发软件产品的活动过程,包括需求分析、软件设计和编程等。
整个开发过程可以进一步分为4个子过程:
- 软件系统需求分析(requirement analysis)。定义软件系统的功能性需求和非功能性需求,涉及系统的体系结构及其设计,确定如何把系统需求分配给系统中不同的元素,确定哪些需求应该实现、哪些需求可以推迟实现。该过程的成功实施期望带来如下结果:
- 开发出符合客户要求的系统需求,包括符合客户要求的界面。
- 提供有效的解决方案以便确定软件系统中的主要元素。
- 将定义的需求分配给系统中的每个元素,了解软件需求受系统的制约、对操作环境的影响。
- 制定合适的软件版本发布策略,以确定系统或软件需求实现的优先级。
- 确定软件需求,并根据客户需求变化进行必要的更新。
- 软件设计(software design)。设计出满足需求并且可以依据需求
- 软件系统需求分析(requirement analysis)。定义软件系统的功能性需求和非功能性需求,涉及系统的体系结构及其设计,确定如何把系统需求分配给系统中不同的元素,确定哪些需求应该实现、哪些需求可以推迟实现。该过程的成功实施期望带来如下结果: