软件构造感想1

软件概述

对软件来说,虽然它是一系列的二进制代码,但软件来说它有多个质量目标,即可以从多个维度上去看的这个软件,并且不同的质量目标可能就对应的是不同的维度。软件不同质量目标,那么通过适当的方式或模型去描述。虽然我们从不同的维度上去看这个软件但是我们看的是同一软件,所以说这些维度之间肯定是有相关性的,即软件对应的不同视图之间是可以来互相转换的。这其中有包括着两个方面:第一个方面是对于软件来说到底有几个不同的视图;第二个方面是视图之间互相转换的方式。

从三个维度上去看待软件

  1. 第一个维度的是从时间的角度去看的这个软件,但是时间这个角度就包含了两个分支
    一个是从瞬时的角度去看待软件;第二可以从周期性的角度去看待,即对软件进行逐步的更改
  2. 从纵坐标来看编码的维度,也可以分成两个部分。第一部分是开发阶段,更关心软件的结构,比如说你代码中有多少个类,其中有多少种方法等,更注重的是软件的执行的过程或者说是这个软件执行的算法的流程;第二部分呢就是软件的运行阶段,更关心程序占用多少内存、程序运行到某一时间点有多少对象
  3. 第三个维度是从代码或模块的层级(从宏观)的角度去看待软件。

软件构造感想1

总结

这节课老师主要讲了两个知识点:一是从不同角度上看待软件,二是不同的视图可以对同一个程序进行描述,而其中的转化需要用到不同的工具。