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

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

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

 

基本内容

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

更多相关:

  • 问题场景 我基于ATS 6.2.1社区版整合进一些插件,发现debug版本一直运行好好的,后来改为release版本(就是configure时不加--enable_debug)时,安装后显示下面的出错信息 [May 11 11:33:18.659] Server {0x2ab7cd116700} ERROR:

  • 重启一下系统,让内核版本变更生效...

  • FlashDevelop是基于.NET框架的开源软件,只能在Windows环境下面运行,相较于Flash CS和FlexBuilder, 它非常轻量级。FlashDevelop只是一个代码编辑器,而不是完整的IDE,在安装FlashDevelop同时,还应该安装Flex SDK和Flash Player Debug版本。之所以要研究这...

  • 我先后试用了longterm团队的2013版本,参见本博链接 http://blog.csdn.net/tao_627/article/details/17524597 和麒麟官网给出的这个改进版本,参见链接 http://www.ubuntukylin.com/applications/showimg.php?lang=cn...

  • ubuntu18.04操作系统版本先已支持在线的内核版本升级,到目前为止18.04发布版已经拥有三个小版本了1,2,3。 其中18.04.01和18.04.03版本,安装好之后默认的是4.15内核版本,但是默认支持在线安装4.18和5.0.0内核版本。 具体升级步骤如下: 升级前备份当前系统镜像确认外网可用,同时配置好任意一个国内...

  • 它的主要特点有: • 使用了kuwo.cn(酷我音乐盒)的网络资源, 内容非常丰富. • 可以播放/下载mp3或者ape格式的歌曲, 也可以直接播放MV(有mp4和mkv两种格式), 并且播放时文件会自动缓存到本地, 不需要再次下载, MV也会缓存到硬盘的, 很方便. • 可以收听电台. • 可以显示歌词. • 酷我音乐盒拥有的其...

  •   经过几天的阅读,终于将这本书看完了,读完了整个故事,我进行了简单的总结,感觉不仅仅是在写代码与计算机或软件交流,更多的是做事行为。   首先是做事得有目标。无论做什么事情都要有目标和动力,这样做起事来无论是在质量还是时间上才会有跟假的效果,就像我们做软件一样,我们的目标是什么,要做一个什么样的软件,要有怎样的预期效果,需要多少时间...

  • 任何软件系统开发的共同本质: – 从现实空间的需求到计算机空间的软件代码之间的映射与转换; 软件工程本质: 用严格的规范和管理手段来缩小偏差,通过牺牲“时间”来提高“质量”。  软件工程的两个映射: 概念映射:问题空间的概念与解空间的模型化概念之间的映射 业务逻辑映射:问题空间的处理逻辑与解空间处理逻辑之间的映射 软件工程的作用: 为...

  •   类把属性和方法作了封装!   总结: 面向过程程序设计:数据结构 + 算法 主要解决科学计算问题,用户需求简单而固定 特点: 分析解决问题所需要的步骤 利用函数实现各个步骤 依次调用函数解决问题 问题: 软件可重用性差 软件可维护性差 构建的软件无法满足用户需求 面向对象程序设计:由现实世界建立软件模型 将现实世界中的事物直接...

  • 计算机科学和软件工程同属计算机类专业,他们的联系确实非常紧密,但还是有很多区别的。 计算机科学:   偏重于硬件与计算机理论方面的学习研究,像计算机原理,计算机系统结构等方面的内容。当然也会涉及软件方面,但不是太深。而软件工程则主要偏重于应用与实践,主要是培养适应国内外软件产业市场需求的高素质、多层次、实用型软件人才,这也是教育部专...

  • 一.xgboost前奏1,介绍一下啥是xgboostXGBoost全称是eXtreme Gradient Boosting,即极限梯度提升算法。它由陈天奇所设计,致力于让提升树突破自身的计算极限,以实现运算快速,性能优秀的工程目标。2,XGBoost的三大构件XGBoost本身的核心是基于梯度提升树实现的集成算法,整体来说可以有三...

  • ​这是3D 点云的深度学习框架,提供常见的点云分析方法的一种通用深度学习模型。它主要依赖Pytorch Geometric和Facebook Hydra。该框架能够以最小的代价和极大的可重复性来构建精简而复杂的模型。目标是建立一个工具,用于对SOTA模型进行基准测试,同时允许研究者们有效地研究点云分析,最终目标是建立可应用于实际应用的...

  • 【从零开始的ROS四轴机械臂控制(三)】五、在gazebo中添加摄像头1.修改arm1.gazebo.xacro文件2.修改arm1.urdf.xacro文件3.查看摄像头图像六、为模型添加夹爪(Gripper)1.通过solidworks建立模型2.将夹爪添加进gazebo(1)模型导入(2)更改urdf文件夹3.gazebo模型抖...

  • 使用Keras训练自动驾驶(使用Udacity自动驾驶模拟器) 1.完成项目所需要的资源 (1)模拟器下载 • Linux • macOS • Windows (2)Unity 下载 运行Udacity模拟器需要Unity,这是下载链接。 https://unity.cn/releases (3)Behavioral Cl...

  • maxtree–工厂模型第74卷 大小解压后:2.34G 信息: 植物模型第74卷是高质量的三维植物模型的集合。包括12个物种,共72个单一模式。 获取地址:三维植物树木模型 Maxtree – Plant Models Vol 74-云桥网 种类 三角枫 槭树 复叶槭 鸡爪槭 白桦 Chitalpa tashkente...