论文部分内容阅读
传统的传统方法认为过程是解决软件问题的核心,重视过程、重视文档是这些方法的特征。本文从传统的传统开发方法(以瀑布模型为代表)开始,简单分析了瀑布模型、演进模型、反复模型、螺旋模型、CMM的特点。
瀑布模型在20世纪70年代被认为是理想的软件开发方式,以解决当时编码-修正模式所带来的问题,它在历史上起过很重要的作用。演进模型为瀑布模型的一些问题(如消除需求中存在的缺点)提供了部分解决方案。可以把它看作软件生命周期向灵活的、非单调型方法迈出的一步。反复模型最主要优点是能把一个阶段要做的改动反馈到一个更早的阶段。这些改动在这个较早阶段中体现并向前传递,这样可以保证改动的可回溯性并能产生一个满足用户需求的软件系统。演进式和反复式的过程结合,并加入两者所忽略的风险分析,就形成了螺旋模型。和前几个模型不同,CMM强调的是软件过程的稳定、可预测和可靠性,过程改进是一个持续不断、逐步优化的过程。
在分析传统方法的基础上,研究分析了敏捷思维的观点。敏捷思维换了个角度看问题,它认为人是解决软件问题的核心。首先对敏捷宣言进行了分析研究,提出了敏捷开发的原则。然后提出了支持敏捷思维的基础理论:“充分交流的不可能性”,提出了交流的不完美性、不完全性,是敏捷思维重视交流的理论基础;“开发过程是理论构建过程”是敏捷思维重视人的理论基础;“变化的成本”是敏捷思维的技术前提;“方法论的设计原则”则提出了设计方法的基本原则,可以指导实际开发过程。最后讨论了敏捷思维的具体实践(极限编程、SCRUM、水晶方法、特征驱动开发、精益开发、动态系统开发方法、敏捷建模)以及它们共同的缺点。
结合传统方法和敏捷思维,作者提出了一个新的开发方法:系统综合方法,并通过自己在电子政务开发的实践,验证了新方法。