《软件构架实践》阅读笔记03
今天开始阅读《软件构架实践》的第3章,这一章主要是通过3个相互关联但又不相同的结构对航空电子系统 A-7E系统进行了描述,使我们明白了 模块分解结构、使用结构和进程结构是如何相互补充、共同描绘系统的蓝图的。
首先简要了解一下A-7E这个软件系统,这个系统主要是读取各传感器的数据,更新座舱中的显示内容,通过这个系统,要与飞机上的近24中航空电子设备进行通信,以达到辅助飞行员正确投弹的目的。
首先通过分解结构来描述这个系统,这里所说的“分解”是指将软件分解成一个个小的模块,其中要注意的是一个模块可能就是一个不可再分的整体,也可能包含若干个子模块。如果某个模块由多个子模块构成,则也应该编写子模块的文档,直到每个模块足够小。其中一些具体的软件的分解不在详细描述。
使用结构,使用结构主要是描述软件不同模块之间是怎样交互的。首先我们要明确,使用关系和调用关系并不相同。调用关系:过程A仅是在其规格描述中要求调用过程B,但是A的运算并不依赖过程B的运行。过程A的运行要求必须有过程B 的存在,但与过程B的运行结果的正确与否并无关系。使用关系:过程B可在未被过程A调用的情况下运行,但过程A要使用过程B的运行结果。 而这种使用结构我们通常可以用二进制矩阵来表示。
进程结构,一个进程就是若干个编程步骤的集合。每当有触发事件发生或达到时间限制时就要重复这些步骤。一个进程有自己的控制线程。一个进程可以因等待某个事件的发生而将自己挂起。
今天的知识就是让我们学会用分层的方法来描述一个系统,通过模块分解结构、使用结构、和进程结构可以使我们对系统了解的更透彻。