2018年四川理工学院软件工程考试大纲(软件结构设计)
1、软件设计的过程
1 将需求阶段产生的系统模型转化为软件设计模型的过程
2 (将软件需求转变成软件表示的过程)
2、软件结构设计的目标
1 软件结构设计是把软件需求转变为软件表示的过程,是对软件的整体结构、程序结构、数据结构、文件结构、接口定义等的设计,是宏观上的设计
3、简述软件结构设计中的模块、模块化
1 模块:模块是指具有相对独立性的,由数据说明、执行语句等程序对象构成的集合。
2 模块化:模块化是指按照规定的原则,把软件划分成若干个模块,每个模块完成一个子功能
4、软件结构设计的要求
1 软件结构设计追求高内聚低耦合的模式,尽量提高模块的独立性,降低问题的复杂性(及就是要做到:功能内聚、数据耦合)。
2 功能内聚:一个模块仅完成一个具体的功能
3 数据耦合:模块之间仅通过参数交换信息,且交换的信息全部为简单的数据
5、耦合、内聚分别是指什么
1 耦合:模块与模块之间相互连接的紧密程度的度量
2 内聚:一个模块内部各个组成元素之间的紧密程度的度量
6、结构设计的原则
1 ①、降低模块的耦合性,提高模块的内聚性
2 ②、模块的规模应该适合(规模过大,会降低程序的可读性;规模过低,会使模块过多)
3 ③、选择适当的深度、宽度、扇出、扇入
4 (深度:软件体系结构中控制的层数; 宽度:同一层上最多的模块个数)
5 (扇出:一个模块直接控制、调用的模块数目; 扇入:一个模块有多少个上级模块直接调用它)
6 (一个好的软件结构 -- 底层模块有高扇入)
7 ④、模块的作用域应处于其控制域范围之内
8 ⑤、尽量降低模块的接口复杂度
9 (复杂的模块接口是导致软件出现错误的主要原因之一)
10 ⑥、设计单入口、单出口的模块
11 ⑦、模块的功能应该可以预测
7、结构设计的图形工具
1 HIPO图(Hierarchy Input/Processing/Output)
2 (由层次图和IPO图组成)
3 结构图(方框<模块>、箭头<调用关系>)
8、数据流图的类型
1 ①、变化型数据流图;(输入、变化、输出)
2 ②、事务型数据流图;(接受事务、分析事务、选择一条活动通路)