【软件构造】课程提纲(1)

第一章

1. 多维视图

1)阶段:构建 || 运行

2)动态:时刻 || 周期

3)级别:代码 || 组件

2. 阶段划分、各阶段构造活动

(1)构建阶段

·代码-时刻:源代码由基本程序块及其依赖关系进行逻辑组织。

·代码-周期:添加、修改、删除从一个版本到另一个版本的文件。

·组件-时刻:源代码通过文件,目录,包,库及其依赖关系进行物理组织。

·组件-周期:版本控制、软件演变。

(2)运行阶段

·代码-时刻:快照图着眼于目标计算机内存中的变量级执行状态,内存转储显示运行的程序状态信息。

·代码-周期:执行日志追踪

·组件-时刻:软件包、库、动态链接、配置、数据库、中间件、网络、硬件部署图

·组件-周期:软件追踪(开发人员)、事件记录(系统管理员)

 3. 内部/外部质量指标

(1)外部

·正确性:符合规格范围和计划目标

·健壮性:响应规格范围外的异常情况

·可扩展性:提供增加新功能的空间

·可复用性:使软件模块能够被其他程序使用

·兼容性:跨平台、跨软件交互

·效率:程序运行过程中对CPU、内存、硬盘等的占用情况

·可移植性:从一个环境转移到另一个环境

·易用性:不影响专业用户的前提下便于初学者使用

·功能性:软件提供功能的多少

·及时性:高效率大致完成以占领市场

·可验证性:保证软件的效果

·完整性:各个模块间不会被非法访问所干扰

(2)内部

·代码可读性:代码可理解性、函数规约、评审及演练

·圈复杂度:用来衡量一个模块判定结构的复杂程度,合理的预防错误所需测试的最少路径条数。

·耦合度/内聚度:追求低耦合、高内聚

- 耦合度:多个模块间的相互联系。

- 内聚度:模块内部语句或语句段之间的联系。

第二章

 1. 软件配置管理(SCM)与版本控制系统(VCS

(1)软件配置管理(SCM

·基本概念:版本控制(主要工具)、基线(版本变化基础)、检入(解封上传)、检出(锁死下载)

·软件配置管理是指通过执行版本控制、变更控制的规程,以及使用合适的配置管理软件,来保证所有配置项的完整性和可跟踪性,对提交的各个版本进行保存和管理,注明名称、标识符、文件状态、版本、作者、日期等。

(2)版本控制系统(VCS

·版本控制系统是一个软件,帮助软件开发人员团队工作并维持他们完整的工作历史,允许开发者同时工作,不会重写每个人的改变,维持每个版本全部的历史,新功能完成前不将其加入软件。

·具有仓库(核心)、主干(目录)、标签(版本描述)、分支(并行创建另一条线)、工作副本(仓库快照、私人空间)、提交更改(私人空间到中央服务器)、日志功能(记录不同开发人员作品)

·三种管理模式:本地、集中式(云端交互)、分布式(直接或云端交互)

·特点:可靠、可还原、可备份、可合作、支持多个文件、可审查历史

2. Git/GitHub

(1)Git存储库:.git目录(存储所有版本控制数据)、缓存区、本地工作目录

(2)文件的三种状态:修改、分阶段(文件已修改并已添加到暂存区)、提交

(3)Git中的对象图:Git所有操作的基础,存储在存储库的.git目录中,不重复保存无变化文件,多个提交可共享副本。

(4)分支:commit -> branch -> merge

(5)GitHub:一个面向开源及私有软件项目的托管平台,只支持git 作为唯一的版本库格式进行托管。

猜你喜欢

转载自www.cnblogs.com/zhangyushuqing/p/9152410.html
今日推荐