今天刚刚全部看完老师的视频,总结一下笔记
第一章:
第一章的重点是软件构造的多维视图,总共有三个维度:
所以这三个维度可以划分为八种类型
(1)build-time moment code-level
是基于词汇的半结构化源代码,半结构化是指近乎自然语言的风格+遵循特定的编程语法,前者方便程序员,后者方便编译器。
语法层面指面向语法的程序结构,具体例子有抽象语法树(AST)
语义层面指面向语义的程序结构,语义是指源代码具体想实现什么目标。具体例子有使用类图Class Diagram(UML)来描述 interfaces, classes, attributes, methods以及它们之间的关系
(2)build-time period code-level
这个视图主要描绘代码随时间的增加产生的变化,比如行数增加或减少等
(3)build-time moment component-level
组件层面指的就是程序的各个组块,包括各种库,配置等。这个视图指的就是源代码被物理地组织成文件,这些文件进一步由目录组织。文件被封装成包,并在逻辑上封装组件和子系统。可重用模块以库的形式存在
(4)build-time period component-level
这个视图主要考虑软件的实体随时间周期如何变化,比如软件版本信息的变化
(5)run-time moment code-level
这个视图指运行时的某个瞬间代码层面的状态,工具有快照图,内存信息转储
(6)run-time period code-level
这个多维视图着眼于程序运行阶段在某一段时间内在代码层面的视图
(7)run-time moment component-level
这一多维视图着眼于程序运行阶段在某一特定时刻在组件层面的视图
(8)run-time period component-level
这一多维视图着眼于程序在运行阶段在某一阶段的组件层面视图,这一视图主要涉及到事件日志(Event logging),事件日志为系统管理员提供了对诊断和审计有用的信息
以上是第一章的重点内容