软件构造(三)
作者:互联网
文章目录
传统的软件开发过程模型
可分为两种基本类型:线性过程和迭代过程
瀑布过程(Waterfall)
- 线性推进
- 阶段划分清楚
- 整体推进
- 无迭代
- 管理简单
- 无法适应需求增加/变化
增量过程(Incremtal)
- 线性推进
- 增量式(多个瀑布的串行)
- 无迭代
- 比较容易适应需求的增加
V字模型(V-model)
原型过程(Prototyping)
在原型上持续不断的迭代发现用户变化的需求。
迭代:开发出来之后由用户试用/评审,发现问题后反馈给开发者,开发者修改原有的实现,继续交给用户评审。
循环往复这个过程,直到用户满意为止。
优缺点:时间代价高,但开发质量也高。
螺旋模型(Spiral)
非常复杂的过程:
- 多轮迭代基本遵循瀑布模式
- 每轮迭代有明确的目标,遵循“原型”过程,进行严格的风险分析,方可进入下一轮迭代。
敏锐开发和极限编程
敏锐开发
通过快速迭代和小规模的持续改进,以快速适应变化。
- 极限的用户参与
- 极限的小步骤迭代
- 极限的确认/认证
极限编程(XP)
软件配置管理(SCM)
软件配置管理:追踪和控制软件的变化
软件配置项:软件中发生变化的基本单元
基线:软件持续变化过程中的“稳定时刻”
配置管理数据库(CMDB):存储软件的各配置项随时间发生变化的信息+基线
版本:软件的任一特定时刻的形态指派一个唯一的编号,作为“身份标识”
版本控制系统
- 本地:仓库存储于开发者本地机器无法共享和创作
- 集中式:仓库存储于独立的服务器,支持多开发者之间的协作
- 分布式:仓库存储于独立的服务器+每个开发者的本地机器
Git作为软件配置管理工具
标签:迭代,软件配置管理,构造,极限,开发者,软件,过程 来源: https://blog.csdn.net/Joelee110/article/details/118076152