2.1 software lifecycle and configuration management

2.1 software lifecycle and configuration management

1. know the basic process of software development (Software Development Lifecycle: SDLC)

2. Traditional software development process model

3. The introduction of agile development

4. * collaborative software development (Collaborative software development)

5. Software Configuration Tool (Software Configuration Management: SCM)

6.git as configuration management tools

 

1.Software Development Lifecycle(SDLC)

 

1) scratch (from 0 to 1):

 

 

2) from there to good (from 1 to n)

 

Constantly updated from the original version, abandonment, software quality is getting better

 

3) Software has a life

 

Age: survival cycle of the software Vitality: the popularity of the software market

 

 

 

2. Traditional software process model

 

1) Classification

It is divided into two basic types: Linear linear process; the Iterative iterative process

 

Existing models are:

-Waterfall (linear, non-iterative) process Falls

-Incremental (non-iterative) incremental process

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

-Prototyping (iterative) process prototype

-Spiral (iterative process) Spiral Model

 

Select the appropriate process model based on:

1. how much the degree of user involvement - to adapt to change

2. The development efficiency / management complexity

3. The quality of the developed software

 

2)

 

A) process Falls Waterfall

 

 

 

B) during the incremental Incremental

 

Each design -> realization -> test, all carried out a little bit

 

 

 

C) V word model (V-Model)

- nonlinear

- interpretation of the relationship between the parts

- the horizontal and vertical directions, respectively, represent different levels of abstraction and completion

 

 

D) Prototyping prototyping process

 

 

 

 

 

E) Process Spiral Spiral

 

 

3. Agile Development

Agile development: continuous improvement through rapid iteration and small to quickly adapt to change. (+ Incremental iteration)

 

 

 

 

eXtreme Programming (XP, Extreme Programming)

 

Pair Programming Pair programming (a compile, a look)

 

 

1. slightly

 

 

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:版本关系演化图

 

 

 

Guess you like

Origin blog.csdn.net/qq_42766619/article/details/90577173