Page 26 - 软件工程与项目管理
P. 26
软件工程与项目管理
Software Engineering & Project Management
反馈到前期对应阶段的内容里。所以项目执行效率会高。但是需求变更依然很困
难,在项目周期中变更成本会很高。这个模型没有迭代概念,更适用于前期可以
理解所有需求而且变更范围很小的场合。
(三)螺旋模型
在投入大量时间和人力资源之前,可以开发软件代码的样品或模型。通过
迭代的方式进行开发,重点关注风险分析。模型分成四个阶段:计划、风险分析、
开发和测试。反复进行迭代。通过和业务用户沟通,解决特定的需求问题。如果
一个团队使用螺旋模型开展工作,可以尽快和用户确认需求,尽快调整变更。在
项目管理上,螺旋原型可以让开发团队快速设计样品,进而验证当前对项目理解
的正确性。团队快速开发模型和业务用户讨论是否可行。螺旋模型开发的目标是
渐进式的改进,不像快速模型那样开发完原型后将其抛弃掉,原型方法中的原型
将会被持续改进直到它达到最后的成品。每个开发阶段得到的反馈,都用来改进
原型,从而满足用户需求。开发一个快速模型,是为了迅速理解提议的解决方案,
演化型原型在实验环境中是不断的改进和创新,它适合于在需求不明确的项目中
控制关键业务点。它的优势是在项目各个阶段都可以进行需求变更,可以分阶段
构建大型系统,使流程变得简单容易,推荐用户参与到开发,保证项目方向不偏
离。劣势在于用户不能确信这种方法的结果是可控的,而且开发周期长,螺旋模
型适用于复杂项目。
(四)快速应用开发
采用快速应用开发模型不需要大量的前期规划或者调研、大面积的需求分
析,而是依赖于快速原型的使用。在这种模型中,快速开发软件的过程与改进软
件计划相互作用在一起。快速应用开发模型集成了迭代开发方法和原型化方法。
为了明确软件产品最终的实现结果,开发流程从创建业务流程模型和数据模型开
始。通过应用原型设计,改进过程和数据模型。需求的明确化、清晰化会促进原
型改进,原型测试和评价也可以提高数据和过程模型的质量。这些步骤的目标是
集成业务需求和技术设计,其中技术设计可以提供软件开发项目的指导。一般选
用快速应用开发模型的主要原因是,如果依据其他模型,那么在开发软件时,需
求往往会发生变化,开发人员必须回到绘图板上重新开始。快速应用开发模型允
许客户参与开发阶段,目的是最终结果能以更现实的方式满足他们的需求,减少
由于软件需求不确定带来的风险,能够快速吸引用户。但是这类方法适合互联网
16
16

