- 软件工程基本要素
- 方法
- 为软件开发提供了如何做的技术,它包括多方面的任务,如项目计划与估算、软件系统需求分析、数据结构、系统总体结构的设计、算法过程的设计、编码、测试以及维护等
- 工具
- 为软件工程方法提供了自动的或半自动的软件支撑环境
- 过程
- 定义了方法使用的顺序、要求交付的文档资料、为保证质量和协调变化所需要的管理以及软件开发各个阶段完成的里程碑
- 方法
- 软件过程
- 能力成熟度模型CMM
- 初始级
- 重复级
- 定义级
- 管理级
- 优先级
- 能力成熟度模型集成CMMI
- 阶段式模式
- 关注组织的成熟度
- 5个成熟等级
- 初始的
- 过程不可预测且缺乏控制
- 已管理的
- 过程为项目服务
- 已定义的
- 过程为组织服务
- 定量管理的
- 过程已度量和控制
- 优化的
- 集中于过程和改进
- 初始的
- 连续式模型
- 关注每个过程域的能力
- 6个过程域能力等级(Capability Level,CL)
- CL0(未完成的)
- CL1(已执行的)
- CL2(已管理的)
- CL3(已定义级的)
- CL4(定制管理的)
- CL5(优化的)
- 阶段式模式
- 能力成熟度模型CMM
- 软件过程模型
- 瀑布模型
- 生存周期各个阶段固定
- 生存周期各个阶段固定
- 增量模型
- 融合瀑布模型和原型实现的迭代特征,将需求分段
- 融合瀑布模型和原型实现的迭代特征,将需求分段
- 演化模型
- 用于对软件需求缺乏准确认识的情况
- 在获取一组基本需求后快速分析构造除该软件的一个初始可运行版本,这个初始软件版本通常称为原型
- 原型模型
- 预期系统的一个可执行版本
- 预期系统的一个可执行版本
- 螺旋模型
- 增加了风险分析
- 增加了风险分析
- 喷泉模型
- 面向对象的开发过程
- 面向对象的开发过程
- 基于构件的模型
- 预先打包的软件架构开发应用系统
- 预先打包的软件架构开发应用系统
- 形式化方法模型
- 数学
- 数学
- 统一过程(UP)模型
- 用例和风险驱动,以架构为中心,迭代并增量
- 用例和风险驱动,以架构为中心,迭代并增量
- 敏捷方法
- 尽可能早地、持续性地对有价值的软件的交付
- 极限编程XP
- 轻量级(敏捷)、高效、低风险、柔性、可预测的、科学的
- 4组成部分
- 价值观、原则、实践、行为
- 4价值观
- 沟通、简单性、反馈、勇气
- 5原则
- 12最佳实践
- 水晶法
- 并列争球法
- 自适应软件开发
- 瀑布模型