2.1软件生命周期与配置管理

2.1软件生命周期与配置管理

1.知道软件开发的基本过程(Software Development Lifecycle:SDLC)

2.传统的软件开发过程模型

3.敏捷开发的介绍

4.*合作式的软件发展(Collaborative software development)

5.软件配置工具(Software Configuration Management:SCM)

6.git作为配置管理工具

 

1.Software Development Lifecycle(SDLC)

 

1)从无到有( from 0 to 1):

 

 

2)从有到好(from 1 to n)

 

从初始版本不断更新,遗弃,软件质量越来越好

 

3)软件拥有生命

 

Age:软件的存活周期 Vitality:软件市场受欢迎度

 

 

 

2.传统的软件加工模型

 

1)分类

分为两个基本类型:Linear线性过程;Iterative 迭代过程

 

现有的模型有:

-Waterfall(线性,非迭代)瀑布过程

-Incremental(非迭代)增量过程

-V-Model(for verification and validation)V字模型

-Prototyping(迭代) 原型过程

-Spiral(迭代过程)螺旋模型

 

选择合适的过程模型的依据:

1.用户参与程度有多大--适应变化

2.开发效率/管理复杂度

3.开发出的软件的质量

 

2)

 

A)瀑布过程Waterfall

 

 

 

B)增量过程Incremental

 

每次 设计->实现->测试,都一点点进行

 

 

 

C)V字模型(V-Model)

-非线性

-诠释了各部分间的关系

-水平和竖直方向分别代表着不同的完成度和抽象程度

 

 

D)Prototyping原型过程

 

 

 

 

 

E)螺旋过程Spiral

 

 

3.敏捷开发

敏捷开发:通过快速迭代和小规模的持续改进,以快速适应变化。(增量+迭代)

 

 

 

 

eXtreme Programming (XP ,极限编程)

 

Pair Programming成对编程(一个编,一个看)

 

 

1. 略

 

 

5.Software Configuration Mgmt. (SCM)

-软件配置管理:追踪和控制软件的变化(包含版本控制和基线的建立 )

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

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

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

CMDB实际上就是仓库Repository

Working copy-工作拷贝,开发者在本地机器上的一份项目拷贝

 

 

-Version版本控制:为某一时刻的软件作身份标识

 

1)本地版本控制系统(Local VCS):

仓库存储于开发者本地机器,无法共享和协作

 

2)集中式版本控制系统(Centralized VCS)

仓库存储于独立的服务器,支持多开发者之间的协作

 

3)分布式版本控制系统(Distributed VCS)

仓库存储于独立的服务器 + 每个开发者的本地机器

 

Git:

.git :本地的CMDB

工作目录:本地文件系统

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

每个git中的文件都有三种状态:

--已修改---在本地修改好文件但是还没上传到 staging area

--已暂存--Staged--文件修改后上传到staging area

--已提交  staging area中的文件传到git repository了

Object Graph:版本关系演化图

猜你喜欢

转载自blog.csdn.net/qq_42766619/article/details/90577173