软件构造 第二章 第一节 软件生命周期和版本控制
软件构造第二章 第一节 软件生命周期和版本控制
基本内容
Software Development Lifecycle (SDLC)
Traditional software process models (waterfall, incremental, V-
model, prototyping, spiral)
Agile development and eXtreme Programming (XP)
Collaborative software development
Software Configuration Management (SCM)
Git as a SCM tool
1.软件生命周期SDLC:
From 0 to 1 从无到有
From 1 to n 从有到好
2.传统软件过程模型:
线性和迭代(迭代大体上就是线性上增加反馈)
Waterfall (Linear, non-iterative) 瀑布过程
Incremental (non-iterative) 增量过程
- 运用分治的思想,将需求分段,成为一系列增量产品,每个增量内部仍使用瀑布模型;
- 增量模型是瀑布模型的变形,拥有后者的全部优点,此外可以很快的迭代出第一版本;
V-Model (for verification and validation) V字模型
- 强调测试与继承,对代码、分析文档进行质量保证
Prototyping (iterative) 原型过程
Spiral (iterative) 螺旋模型
配置管理和版本控制
Software Configuration Management (SCM) 软件配置管理
Version Control System (VCS)
Software Configuration Item (SCI): the fundamental structural
unit of SCM. 软件配置项:软件中发生变化的基本单元(例如:文件)
基线:软件持续变化过程中的"稳定时刻"(例如:对外发布的版本)
CMDB:配置管理数据库
Local VCS
本地版本控制系统:
仓库存储于开发者本地机器,无法共享和协作
Centralized VCS
集中式版本控制系统:仓库存储于独立的服务器,支持多开发者之间的协作
Distributed VCS
分布式版本控制系统:仓库存储于独立的服务器分布式版本控制系统:仓库存储于独立的服务器+每个开发者的本地机器
以github为例,git仓库包含三部分:
.git directory (a repository storing all version control data) 本地的CMDB
Working directory (local file system) 工作目录:本地文件系统
Staging area (in memory) 暂存区:隔离工作目录和Git仓库
Object Graph :版本之间的演化关系图,一条边A->B 表征了"在版本A的基础上作出变化,形成了版本的基础上作出变化,形成了版本B,如下图
分支代码
-git(创建) branch(切换) -b(branch) iss53
-git merge hitfix(合并)
-是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
-用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。
本地库和远程库
-clone:将整个库完整的复制
-fetch:将某一分支复制下来
-push:将分支推送到服务器上
-pull:将某一分支复制下来并合并在当前分支上
转载于:https://www.cnblogs.com/masteryellow/p/9214192.html
软件构造 第二章 第一节 软件生命周期和版本控制相关推荐
- 思维导图下载 注册安全_2019安全工程师《建筑实务》第二章第一节考点:物料提升机思维导图...
2019安全工程师<安全生产专业实务-建筑施工安全>第二章第一节考点:物料提升机思维导图,本节的大部分知识点前两节塔式起重机和施工升降机相似,大家可以对比之前考点的思维导图来理解记忆,本知 ...
- 《啊哈!算法》第二章 - 第一节 - 解密QQ号(Java实现)
<啊哈!算法>第二章 - 第一节- 解密QQ号(Java实现) 解密QQ号--队列 解密QQ号--队列 新学期开始了,小哈是小哼的新同桌(小哈是个小美女哦~),小哼向小哈询问 QQ号, 小 ...
- linux 下 qserialport waitforreadyread_北师大版初中数学八年级(下)第二章第一节不等关系(精品)...
第二章 一元一次不等式与 一元一次不等式组 2.1不等关系 一.知识点梳理 不等式:一般地,用"<"(或"≤"),">"(或&q ...
- 第二章第一节 能把梳子卖给和尚吗
第二章 能把梳子卖给和尚吗 1.求职遭遇奇妙陷阱 话说刘备大四毕业那年春天,卢植因为得罪了校办公室主任左丰,被指控犯罪批捕入狱,案由涉及男女情色和贪污受贿.直到刘备毕业离校,才因为查无实据而无罪获释. ...
- 带你玩转区块链--以太坊基础、发币、基于智能合约实现彩票项目-第二章-第一节【以太坊篇】
意义: 在上一节知识学习中,我们已经了解如何实现一个基础区块链,并重构了BTC关键代码.对比传统的中心化项目,区块链项目拥有很多优势,如:追溯性.不可传篡改性.在中心化项目中的网络协议是:[数据层-- ...
- 第二章第一节:商品数字化CPV方法
上一章:电商及商品体系概述,我们介绍了电商业务架构和与之匹配的B端及C端产品架构,同时阐述了电商的业价值和商品部分的生态建设机制.这一章开始,我们介绍在业务开展之前,如何将交易对象数字化,如何高效组织 ...
- Programming MS Office 2000 Web Components第二章第一节(第二部分)
排序和过滤 阅读本节时,如果您打开随书光盘Samples\Chap02目录下的SortFilterExample.htm文件.您会发现这个例子很有用.本节展示的代码和描述的特定环境来自这个文件. 电子 ...
- 【Dive into Deep Learning / 动手学深度学习】第二章 - 第一节:数据操作
目录 前言 2.1 数据操作 2.1.1. 入门 torch.arange() shape numel() reshape() ones() randn() 2.1.2. 运算符 +.-.*./.** ...
- 软件构造 第五章第一节 可复用性的度量、形态和外部观察
第五章第一节 可复用性的度量.形态和外部观察 面向复用编程(programming for reuse):开发出可复用的软件 基于复用编程(programming with reuse):利用已有的 ...
最新文章
- 【opencv】(8) 傅里叶变换,高通低通滤波器
- Android: 启动另外的APP及传递参数(转)
- boost::multiprecision模块tommath相关的测试程序
- 计算机网络管理员五级试题,计算机网络管理员考试试题库和答案.doc
- Hazelcast入门指南第6部分
- 红橙Darren视频笔记 IOC注解框架 自己写个注解框架
- 可靠信道传输2.0 2.1 3.0
- 安装.net Framework 3.5 SP1非常慢的解决方案
- mysql innodb备份恢复和主从复制 xtrabackup工具的使用
- pandas loc, iloc, ix, at, iat用法
- Mysql 按 create_time 排序导致的问题
- 2021-11-25 使用kali自带的SET工具制作钓鱼网站
- 远程桌面连接 提示用户名密码错误的解决办法
- 国内有哪些顶级技术团队的博客值得推荐?
- C语言 | 【耗费一夜总结三本C语言系列】之 结构体、联合、枚举
- TortoiseSVN 设置中文语言包
- 计算机专业发展历程作文,计算机发展史
- 用js写一个身份证号码籍贯
- Jmeter并发测试 - 设置集合点
- 基于Spring Boot+vue在线音乐平台
热门文章
- 如何有效编写软件的75条建议
- 跟踪workflow instance 状态
- java加载驱动没有异常显示_java – Tomcat没有加载MSSQL驱动程序
- linux install goolepinyin_Linux截图工具推荐(Ubuntu 18.04亲测)
- html5手机端设置date,如何在移动端更好地使用HTML5 date input
- php ajax 概率 转盘,php+jquery实现转盘抽奖 概率可任意调
- props写法_简单理解vue中Props属性
- cryptojs php 互通_关于PHP7和CryptoJS的AES加密方式互通
- 用计算机计算教学反思,《用计算器计算》教学反思
- C:模块化程序设计 以及数组