(软工视频总结二)让我们将知识细化
上一篇总结是把之前的大知识连起来,可是为了更好的理解,我们还要对知识进行一定的细化。以下我们来说说程序的模块结构。
模块一词使用非常广泛。通常相应于用一个名字就能够调用的一段程序语句。
模块具有输入和输出、逻辑功能、执行程序、内部数据四种属性。
我们能够通过模块结构图(MSC)来反映程序中模块之间分层次调用和联系模块,进行物理描写叙述。
模块结构图中的主要成分有:
模块:用长方形表示
调用:用箭头表示(从调用模块指向被调用模块。分为循环调用和条件调用)
弧形表示循环调用,菱形表示条件调用
数据:用带圆圈的小箭头表示从一个模块传递给还有一个模块的数据(有实义)
控制信息:用带涂黑圆圈的小箭头表示一个模块传送给还有一个模块的控制信息
在画程序结构图时。应该先模块化,就是将程序中的每一个模块都找到。可以把一个大而复杂的软件系统划分成易于理解的模块结构。
然后抽象化。即去掉非本质的因素,仅仅考虑本质因素。
在将模块进行划分的时候,我们要注重模块之间的相对独立性,这就产生了模块间的耦合与模块的内聚两个标准。
我们最好要做到高内聚,低耦合。
耦合:模块和模块之间的联系程度
内聚:模块内部各元素之间的联系程度
耦合的类型有:数据耦合、标记耦合、控制耦合、公共环境耦合、内容耦合(原则:尽量使用数据耦合,少用控制耦合,限制公共耦合,全然不用内容耦合。)
内聚的类型有:偶然内聚、逻辑内聚、时间内聚、步骤内聚、通信内聚、顺序内聚、功能内聚
模块的扇入是指有多少个上机模块调用它。
模块的扇出数是指模块的直属下层模块的个数。
深度表示模块的层次(最好不要超过7层)。
宽度表示最大的一层的模块数。
在了解了我们要做的系统软件之后,一定要分成模块,将各个模块之间的关系搞清楚。有一个全局观,才干更全面的考虑问题,把持住慷慨向!
让我们将一些知识细化。更好的进行理解……