一、命题特点
考试类型:
- 选择题(3~9分)
- 综合分系题(数据流图【试题一】,15分)
二、系统设计的基本原理
1、抽象
2、模块化
将一个待开发的软件分解为若干个小的简单部分——模块。
每个模块可以独立的开发、测试,最后组装成完整的程序。
复杂问题,分而治之。
3、信息隐蔽(封装)
4、模块独立
2-1、模块独立
模块独立,是指每个模块完成一个相对独立的特定子功能,并且与其他模块之间的联系简单。
衡量模块独立程度的标准有两个:耦合性、内聚性。
1、耦合
耦合是模块之间的相对独立性(互相连接的紧密程度) 的度量。
耦合取决于各个模块之间接口的复杂程度、调用模块的方式以及通过接口的信息类型等。
一般模块之间可能的耦合方式有7种类型:(背!)
耦合性高,只连接性强,则模块独立性弱。
1)无直接耦合。指两个模块之间没有直接的关系,它们分别从属于不同模块的控制与调用,它们之间不传递任何信息。因此,模块间耦合性最弱,模块独立性最高。
2)数据耦合。指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言中的值传递。
3)标记耦合。指两个模块之间传递的是数据结构。
4)控制耦合。指一个模块调用另一个模块时,传递的是控制变量,被调用模块通过该控制变量的值有选择地执行模块内的某一功能。因此,被调用模块应具有多个功能,哪个功能起作用受调用模块控制。
5)外部耦合。模块间通过软件之外的环境联结(如I/O 将模块合到特定的设备、格式通信协议上) 时称为外部耦合。
6)公共耦合。指通过一个公共数据环境相互作用的那些模块间的耦合。
模块间没有直接的调用关系
7)内容耦合。当一个模块直接使用另一个模块的内部数据,或通过非正常入口转入另一个模块内部时,这种模块之间的耦合称为内容耦合。
真题
真题1:
真题2:
真题3:
真题4:
真题5:B
真题6:
真题7:
2、内聚
内聚是对一个模块内部各个元素彼此结合的紧密程度的度量。
一个内聚程度高的模块(在理想情况下)应当只做一件事。
一般模块的内聚性分为7种类型。
1)偶然内聚(巧合内聚)。指一个模块内的各处理元素之间没有任何联系。
2)逻辑内聚。指模块内执行若个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。
3)时间内聚。把需要同时执行的动作组合在一起形成的模块称为时间内聚模块。(特定时间)
4)过程内聚。指一个模块完成多个任务,这些任务必须按指定的过程执行。
5)通信内聚。指模块内的所有处理元素都在同一个数据结构上操作,或者各处理使用相同的输入数据或者产生相同的输出数据。
6)顺序内聚。指一个模块中的各个处理元素都密切相关于同一功能且必须顺序执行,前一功能元素的输出就是下一功能元素的输入。
7)功能内聚。这是最强的内聚,指模块内的所有元素共同作用完成一个功能,缺一不可。
耦合性和内聚性是模块独立性的两个定性标准,在将软件系统划分模块时,应尽量做到高内聚、低耦合,提高模块的独立性。
真题
真题1:
真题2:
真题3:
真题4:
真题5:
真题6:
真题7:
真题8: