zoukankan      html  css  js  c++  java
  • 软件构造 第二章 第一节 软件生命周期和版本控制

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

     

    基本内容

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

  • 相关阅读:
    cytoscape-d3-force api
    Python基础编程 模块的引入与定义
    更改Ubuntu内核版本
    Jupyter Notebook默认路径修改
    YJZH 前端部署记录 CentOS+Nginx+Vue
    dotnet core webapi centos 服务自启动
    Linux修改时区
    空间数据实战(1)——MySQL
    记录window.sessionStorage的一个小坑
    ElementUI默认表单项el-form-item间距修改
  • 原文地址:https://www.cnblogs.com/masteryellow/p/9214192.html
Copyright © 2011-2022 走看看