第1-2章
重点
- 软件构造的多维度视图
- 软件构造的阶段划分、各阶段的构造活动
- 内部/外部的质量指标
- 软件配置管理SCM与版本控制系统VCS
- Git的结构、工作原理、基本指令
- Github
软件构造的多维视图
#
内部/外部的质量指标
外部质量指标
测试和调试:发现不正确、消除不正确
防御式编程:在写程序的时候就确保正确性
形式化方法:通过形式化验证发现问题
内部质量指标
软件构造的阶段划分、各阶段的构造活动
Programming
Review and static code analysis
Dynamic code analysis / profiling
Debugging and Testing
测试:发现程序是否有错误。
调试:定位错误、发现错误根源。
Refactoring
重构:在不改变功能的前提下优化代码。
软件配置管理SCM与版本控制系统VCS
软件配置项(SCI):软件中发生变化的基本单元(例如:文件)。
基线(baseline):软件持续变化过程中的“稳定时刻”(例如:对外发布的版本)。
CMDB:配置管理数据库存储软件的各配置项随时间发生变化的信息+基线。
版本:为软件的任一特定时刻(Moment)的形态指派一个唯一的编号,作为“身份标识”。
Git的结构、工作原理、基本指令
我们用Git进行的操作-clone,add,commit,push,log,merge,…都是对图形数据结构的操作,该结构存储项目中所有文件的版本,以及所有描述日志的条目这些变化。
Git object graph存储在存储库的.git目录中。
每次提交都是我们整个项目的快照,Git用一个tree node表示。
操作指令