软件构造 第二章 第一节 软件生命周期和版本控制

Posted masteryellow

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件构造 第二章 第一节 软件生命周期和版本控制相关的知识,希望对你有一定的参考价值。

软件构造第二章 第一节 软件生命周期和版本控制

 

基本内容

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:将某一分支复制下来并合并在当前分支上

以上是关于软件构造 第二章 第一节 软件生命周期和版本控制的主要内容,如果未能解决你的问题,请参考以下文章

Atititi 版本管理 rc final rtm ga release 软件的生命周期中一般分4个版本

软件构造 第一章第一节 软件构造的多维视图

软件构造第七章第一节 健壮性和正确性的区别

软件发布生命周期

软件构造第八章第一节 软件构造性能的度量原理

软件构造第六章第一节 可维护性的度量与构造原则