软件构造学习笔记第二章
软件构造学习笔记第二章
软件构造的内部与外部指标:
外部质量指标:面向用户的指标
1.正确性(能够按照之前订立的规约来执行)
(1).测试和程序运行的调试
(2).防御式编程
(3).形式化方法
2.健壮性(程序针对异常情况出现时的处理)
可拓展性:对软件规约的修改是否容易
可复用性:软件部分结构可以应用到其他软件的能力
兼容性:不同的系统之间可以集成
内部质量指标:
与源代码相关 lines of codeLOCCyclomatic Complexity(圈复杂度,数量上表现为独立现行路径条数,即合理的预防错误所需测试的最少路径条数,圈复杂度大说明程序代码可能质量低且难于测试和维护)
与结构相关 1.耦合度
2.聚合度
是指对于软件内部的 实现模块来说的 聚合度高的模块独立性高 。耦合度是指两个模块之间的联系的程度
软件配置管理SCM与版本控制中心VCS
软配置管理SCM
追踪和控制软件的变化 包括:
1. revision 修改 control
2. 2. Establishment of baselines
SCI(软件配置项) 软件中发生变化的基本单位
Baseline 软件持续变化过程中的稳定时刻,我们对外发布的版本。
CMDB:配置管理数据库 储存物件的各配置项随时间发生变化的信息+基础
版本控制系统VCS
对个人开发者来说
可以回复到上一个版本
可以比较两个版本之间的差异
备份软件版本的历史
获取备份
对于开发团队 可以完成在多个开发者之间的共享和协作 记录每个开发者的动作,便于审计
版本控制系统的分类 本地版本控制系统 集中式版本控制系统 分布式版本控制系统
GIT与GITHUB