迭代软件生命周期过程
软件生命周期过程
管理复杂软件开发项目主要是如何有效利用资源、严格控制项目风险、精确的项目评估和有效的时间管理,根据经验选择适当的技术、以及为产品上市制定详细的开发计划以符合上市时间的要求。每个项目都存在风险,现代恒远的软件开发迭代过程专为减小风险而设计。
一个软件产品开发生命周期由以下 4 个方面构成:
1. 需求: 产品将具备什么功能?
2. 设计: 产品将如何提供这些功能?
3. 编码: 如何对这些功能编码和如何对其进行单元测试?
4. 测试和打包: 如何测试产品和交付给客户?
整个项目计划中将包括以上4个方面,同时决定软件产品何时能提供具体的功能。
在传统的瀑布式生命周期模型,项目计划按照严格的顺序排列 4 个阶段。编写代码前,首先要用大量的时间来定义和分析需求并完成目标系统的设计。这一模型不能很好地处理需求和设计的变更。不仅如此,它还人为地把商业分析师、架构设计师、设计人员和程序员分隔开来,存在导致沟通问题以及一个软件产品的实现与其商业目标和设想偏离的风险。
迭代生命周期模型中,这 4 个方面被结合到一起,让商业目标来驱动整个过程,并让需求和设计随着代码的进展不断得到改进。项目计划把软件开发分成若干个小的发布版本,不断集成所有已编码组件和增量组件,并定期验证改进后的需求和设计。通过这种方式,项目计划将促使商业分析师、软件架构设计师、设计人员、程序员和测试人员共同对产品负责,降低沟通不良和偏离目标的风险。它还能实现不断的改进和集成,从而避免交付日期之前出现任何意外问题。
现代恒远的迭代过程优点如下: