软件构造(1)

第一,二章知识点总结

这一部分需要重点掌握如下:

软件构造的多维度视图
软件构造的阶段划分、各阶段的构造活动。内部/外部的质量指标
软件配置管理SCM与版本控制系统VCS
Git/GitHub

一.软构的多维度视图
软件构造(1)
首先谈一下Build-time Views
大致流程是 (即软构的核心环节 )
idea -> requirement -> design -> code -> installable/executable package

Moment view:描述的是特定时刻的软件形态
Period view: 描述的是软件形态随时间的变化

这一部分从四个视图维度分析
(1)Build-time, moment, and code-level view
主要讲了在逻辑上代码是如何通过基本程序块组织的 (三个层次:词汇层面,语法层面,语义层面)

(2)Build-time, period, and code-level view:
侧重关注Code churn(代码搅动):将文件从一个版本添加、修改或删除到另一个版本的行。

(3)Build-time, moment, and component-level view
a.源代码被物理地组织成文件,这些文件进一步组织成目录;
b.文件被封装成包,并在逻辑上封装成组件和子系统。
c.可复用模块采用库的形式。在build时需要执行静态链接,将库拷贝入代码形成整体,在执行时无需提供库文件。

(4)Build-time, period, and component-level view
从软件配置项(SCI)和版本(Version)上进行观察。

软件构造(1)

软件构造(1)

版本控制是给计算机软件的不同状态分配唯一的名字或者编号的过程
软件构造(1)


Runtime view

可执行程序:CPU执行的机器可读的指令序列,以及相关的数据值.-这是完全编译的程序,可以加载到计算机的内存和执行。
:可供不同程序重用的常用对象代码的集合。大多数操作系统包括一套标准的库开发人员可以重用,而不是要求每个程序都提供自己的程序。-库不能直接加载并在目标机器上执行;它必须首先与可执行程序链接。

这一部分从四个维度来理解
(1)Run-time, moment, and code-level view
使用snapshot,刻画内存中某时刻变量的状态

软件构造(1)

软件构造(1)
(2)Run-time, period and code-level view
UML序列图:侧重关注程序单元间的交互
软件构造(1)

(3)Run-time, moment, and component-level view
UML部署图
软件构造(1)

(4)Run-time, period, and component-level view
事件日志为系统管理员提供了用于诊断和审核的有用信息。
事件日志-将被记录的不同类型的事件,以及将出现在哪些细节中事件消息,是在开发周期中考虑的。
每个事件类都要分配一个唯一的“代码”来格式化和输出一条人类可读的消息。OWS系统管理员可以更容易地获得有关出现的问题的信息。
软件构造(1)