软件构造学习笔记——软件构造过程

本文介绍了软件开发的不同进程模型,包括瀑布模型、增量模型、V字模型、原型过程和螺旋模型,以及敏捷开发的概念。重点讲解了敏捷开发的特点,强调快速迭代和用户参与。此外,还详细阐述了软件配置管理和版本控制的重要性,如Git的工作原理和组件,以及版本控制系统的分类。
摘要由CSDN通过智能技术生成

传统软件进程模型

基础类型:线性过程、迭代过程

瀑布过程:线性推进 阶段划分清楚 整体推进 无迭代 管理简单 无法适应需求 增加/变化

增量过程:线性推进 增量式(多个瀑布的串行)无迭代 比较容易适应需求的增加

V字模型:

原型过程:迭代过程

螺旋模型 :非常复杂的过程 。 多轮迭代基本遵循瀑布模式 每轮迭代有明确的目标 遵循“原型”过 程,进行严格的风险分析 方可进入下一轮迭代

敏捷开发

通过快速迭代和小规模的持续改进,以快速适应变化。

Agile = 增量 + 迭代,每次迭代处理一个小规模增量

极限的用户参与

极限的小步骤迭代

极限的确认/验证

软件配置管理 (SCM) 和版本控制系统 (VCS)

软件配置管理:追踪和控制软件的变化

软件配置项(SCI):软件中发生变化的基本单元(例如:文件)

基线:软件持续变化过程中的“稳定时刻”(例如:对外发布的版本)

CMDB:配置管理数据库 存储软件的各配置项随时间发生变化的信息 +基线

Versioning 版本控制

版本:为软件的任一特定时刻(Moment)的形态指 派一个唯一的编号,作为“身份标识”

古老的版本控制方法:通过复制文件并修改文件名

仓库:即于SCM中的CMDB

工作拷贝:在开发者本地机器上的一份项目拷贝

文件:一个独立的配置项

版本:在某个特定时间点的所有文件的共同状态

变化:即code churn,两个版本之间的差异

HEAD:程序员正在其上工作的版本

版本控制系统(VCS)

本地版本控制系统: 仓库存储于开发者本地机器,无法共享和协作

集中式版本控制系统:仓库存储于独立的服务器,支持多开发者之间的协作

分布式版本控制系统:仓库存储于独立的服务器+每个开发者的本地机器

Git as an example of SCM tool

本地的CMDB

工作目录:本地文件系统

暂存区:隔离工作目录和Git仓库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值