1.软件发展的生命周期(SDLC)
2.传统的软件构造模型:线性模式和迭代模式
线性模式:
(1)瀑布模型
(2)增量模型
迭代模式:
(1)原型(prototyping)模式
(2)螺旋(spiral)模式
3.敏捷开发
敏捷开发即是通过快速的迭代和小规模的持续改进,迅速的适应变化
4.collaborative software development
5.软件配置管理(SCM)和版本控制系统(VCS)
软件配置管理:跟踪和控制软件的各种变化,他包括版本控制和对baseline的记录
baseline:软件持续变化过程中的“稳定时刻”
软件配置项(SCI):软件中发生变化的基本单元
配置管理数据库(CMDB):存储软件的各配置项随时间发生变化的信息以及baseline信息
版本控制:
(1)要求:回滚,比较不同版本的差异,备份软件版本历史,合并,在不同开发者之间共享和协作,记录每个开发者的工作
(2)类型:
Local VCS:仓库存储于开发者本地机器,无法共享
Centralized VCS:仓库存储于独立的服务器,支持多开发者之间的协作
Distributed VCS:仓库存储于独立的服务器+每个开发者的本地机器