软件构造课程总结-第一章:软件构造的多维视图

在结束了算法设计与分析的大作业之后,终于能抽出时间来更新了。接下来的几次更新基本上就是软件构造课程的复习,在复习完每章的内容之后,都会将这一章的内容总结发布,这次就从第一章入手。
第一章最重要的内容就是软件的多维视图。具体如下图所示.软件构造课程总结-第一章:软件构造的多维视图
软件的多维视图从构造-运行、代码层-组件层、时刻-阶段这三对对应的属性来刻画了各种可能出现的状态和过程。下图对这些维度所具有的含义进行了一个初步解释。
软件构造课程总结-第一章:软件构造的多维视图
上图中有很多概念,这里只挑出一些老师重点强调过或者考试出过相关题目的内容进行总结。
1.code snapshot:涉及snapshot diagram,描述了程序在运行时内存里变量层面的状态。具体的内容会在以后提到。
2.memory dump(内存信息转储):当进程在内部错误或接收到信息而终止的时候产生的,在硬盘上的内存副本文件。描述了程序在运行时具体的内存使用状况。
3.静态/动态链接:即与库文件的链接方式。区别在于静态不需运行程序,在运行前就已经建立好联系;而动态在运行程序时建立联系,并且运行前仅作出标记,运行时根据标记从已经发给用户的依赖动态库列表中加载。
4.配置(configuration)与数据文件:任何显式size的程序都使用外部的数据资源,例如硬盘上的文档。而程序会向OS发信号,要求把数据读入内存。
5.execution trace和event log的区别:
软件构造课程总结-第一章:软件构造的多维视图
总结:
含有“变化”含义的就归在period里面,如code churn,记录、日志等。
很明显,和code相关的一般都属于code-level