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

    xiaoxiao2025-03-25  30

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

     

     

     

    最新回复(0)