软件构造过程与配置管理

软件构造过程与配置管理

3-Software Construction Process and Configuration Management

生命周期

从无到有,从有到好,从好到无

计划->分析->设计->是诶吸纳->测试与集成->运维->迭代->消亡

软件开发模型

基本为线性过程/迭代过程

典型模型:瀑布、V、W、增量、原型、螺旋、敏捷开发(XP&SCRUM)

不再展开叙述,都是隔壁项目管理讲的东西

敏捷开发:增量+迭代 每次迭代处理一个小增量 对“小步快跑”与用户参与及确认验证做到极致

软件配置管理

追踪和控制软件的变化

软件中发生变化的基本单元:软件配置项(文件等,不是代码行)

基线:软件持续变化过程中的“稳定时刻”(确定不会再产生相对变动的——如对外发布的版本)

CMDB:配置管理数据库 存储软件配置项的变化信息与基线

版本:软件某一特定时刻形态的“身份证号”

版本管理:回滚、差异比较、备份、获取备份、版本合并、共享协议、项目审计等

对版本控制系统:本地的/集中式的(云端有)/分布式的(云端和本地兼备)

典型软件配置管理方法:Git & Github

对Git概念一些注意的点:

  • Git库的三部分:本地CMDB、工作目录与隔离前二者用的暂存区(git add与git commit的区分)
  • 每个软件配置项的三个阶段:修改、暂存(add)、提交(commit)
  • commit与parent指向关系:通常一指一,合并一指多,分支多指一
  • branch是一个commit'指针'的名称,HEAD是当前commit的'指针'
  • Git中仅存储发生变化的文件,不同版本间未变化则不重复存储
    img

img

下面两张图是课内例图,一个对git指令的简单应用,方便理解
img

img

软件构造一般流程

编程->构建->代码评审->性能分析->测试->调试->重构->编程(循环)

  • 编程:使用建模语言(UML,系统化的建模方法,专门软件)/编程语言(不用举例了,集成开发环境下运作)/配置语言(XML,源码偏描述性,描述各参数的配置情况)/构建语言(XML)等。从形态上可以划分成基于语言学的/数学的形式化/基于图形的可视化

  • 静态代码分析与评审:开展会议,使用工具,自动化等

  • 动态代码分析:执行程序,观察收集,分析结果

  • 测试:发现错误,“有没有”

  • 调试:最后手段,定位错误,“在哪里”

  • 重构:一系列小的,语义保留的代码转换

狭义上认为软件构造的过程即是项目构建的过程(Build),from build time to run time。可借助工具将软件构造各阶段的活动“自动化”执行,提高构造效率。

posted @ 2024-05-28 15:18  2022113415-罗昊然  阅读(55)  评论(0)    收藏  举报