软件开发模型又称为软件过程模型。开发模型即软件开发过程中指导开发的一种开发思想、开发体系。不同的开发模型有着不同的指导思想,做着不同的事情,各种开发模型各有特色。
软件过程
软件开发中所遵循的路线图称为软件过程。软件质量依赖于软件开发过程的质量,其中个人因素占主导作用。
软件过程改进模型
- 能力成熟度模型(CMM):仅支持阶段性过程改进
- 能力成熟度模型集成(CMMI):即支持阶段性过程改进又支持连续性过程改进。
1.瀑布模型SDLC
结构化方法模型,一般用于结构化的开发;只适用于需求明确的项目。
定义阶段:软件设计、需求分析
开发阶段:软件设计、程序编码、软件测试
维护阶段:运行维护
优点:强迫开发人员采用规范的方法,严格规定了各阶段必须提交的文档,每个阶段结束都要进行严格的评审。
缺点:过于理想化,缺乏灵活性。需求阶段难把控,软件的需求很难明确,尤其是在项目初期。导致在需求没有完全明确的时候去设计软件。当设计完成交给用户去看的时候,用户可能推翻很多工作,导致开发阶段的调整,从而浪费大量时间使得软件设计失败。所以瀑布模型适合需求明确或二次开发的场合,或者先用其他模型把需求变得明确