软件生命周期
软件工程基本原理
用分阶段的生命周期计划严格管理
坚持进行阶段评审
实行严格的产品控制
采用现代程序设计技术
结果应能清楚地审查
开发小组的人员应该少而精
承认不断改进软件工程实践的必要性
软件过程
瀑布模型 | 快速原型模型 | 增量模型 | 螺旋模型 | 喷泉模型 | Rational统一过程 | 敏捷过程 | 微软过程 | |
---|---|---|---|---|---|---|---|---|
核心 | 文档驱动 | 快速 | 增量构件 | 风险驱动 | 迭代开发 | 迭代、渐进 | 迭代、渐进、以人为核心 | - |
问题 | 开发效率 软件质量 可维护性 |
开发效率 软件质量 可维护性 |
开发效率 软件质量 可维护性 |
开发效率 软件质量 可维护性 |
开发效率 软件质量 可维护性 |
开发效率 软件质量 可维护性 |
开发效率 软件质量 可维护性 |
开发效率 软件质量 可维护性 |
优点 | 它是规范的、文档驱动的方法 | 1、克服瀑布模型的缺点而提出来的。 2、快速构建原型,收集客户真实需求。 |
具有可在软件开发的早期阶段使投资获得明显回报和较易维护的优点 | 适用于内部开发的大型软件项目 | 体现了面向对象软件开发过程无缝迭代的特性 | 它提供了理想开发环境下软件过程的一种完整而且完美的模式 | 具有对变化和不确定性的更快速、更敏捷的反应特性 | 1、看作是RUP的一个精简配置版本。 2、看作是敏捷过程的一个扩充版本。 |
缺点 | 最终开发出的软件产品可能并不是用户真正需要的 | - | 要求软件具有开放的结构是使用这种模型时固有的难度 | 需要开发人员具有风险分析和排除风险的经验及专门知识 | - | - | 作为一种软件过程模式,敏捷过程远不如RUP全面和完整 | - |
参考
- 软件工程导论(第5版)