软件构造 第二章 第一节 软件生命周期和版本控制
軟件構造第二章?第一節(jié)?軟件生命周期和版本控制
?
基本內(nèi)容
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.傳統(tǒng)軟件過程模型:
線性和迭代(迭代大體上就是線性上增加反饋)
?
Waterfall (Linear, non-iterative) 瀑布過程
Incremental (non-iterative) 增量過程
- 運用分治的思想,將需求分段,成為一系列增量產(chǎn)品,每個增量內(nèi)部仍使用瀑布模型;
- 增量模型是瀑布模型的變形,擁有后者的全部優(yōu)點,此外可以很快的迭代出第一版本;
V-Model (for verification and validation) V字模型
- 強調(diào)測試與繼承,對代碼、分析文檔進行質(zhì)量保證
?
Prototyping (iterative) 原型過程
Spiral (iterative) 螺旋模型
?
?
配置管理和版本控制
Software Configuration Management (SCM) 軟件配置管理
Version Control System (VCS)
?
Software Configuration Item (SCI): the fundamental structural
unit of SCM. 軟件配置項:軟件中發(fā)生變化的基本單元(例如:文件)
?
基線:軟件持續(xù)變化過程中的"穩(wěn)定時刻"(例如:對外發(fā)布的版本)
?
CMDB:配置管理數(shù)據(jù)庫
?
Local VCS
本地版本控制系統(tǒng):
倉庫存儲于開發(fā)者本地機器,無法共享和協(xié)作
Centralized VCS
集中式版本控制系統(tǒng):倉庫存儲于獨立的服務器,支持多開發(fā)者之間的協(xié)作
Distributed VCS
分布式版本控制系統(tǒng):倉庫存儲于獨立的服務器分布式版本控制系統(tǒng):倉庫存儲于獨立的服務器+每個開發(fā)者的本地機器
?
?
以github為例,git倉庫包含三部分:
.git directory (a repository storing all version control data) 本地的CMDB
Working directory (local file system) 工作目錄:本地文件系統(tǒng)
Staging area (in memory) 暫存區(qū):隔離工作目錄和Git倉庫
?
Object Graph :版本之間的演化關系圖,一條邊A->B 表征了"在版本A的基礎上作出變化,形成了版本的基礎上作出變化,形成了版本B,如下圖
?
分支代碼
-git(創(chuàng)建) branch(切換) -b(branch) iss53
-git?merge?hitfix(合并)
-是用git add把文件添加進去,實際上就是把文件修改添加到暫存區(qū);
-用git commit提交更改,實際上就是把暫存區(qū)的所有內(nèi)容提交到當前分支。
本地庫和遠程庫
-clone:將整個庫完整的復制
-fetch:將某一分支復制下來
-push:將分支推送到服務器上
-pull:將某一分支復制下來并合并在當前分支上
轉(zhuǎn)載于:https://www.cnblogs.com/masteryellow/p/9214192.html
總結(jié)
以上是生活随笔為你收集整理的软件构造 第二章 第一节 软件生命周期和版本控制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 八八我现在遇到的奇葩无耻二房东!同时求各
- 下一篇: sql数据库系统表和mysql系统表