文章目录
第四章:概要设计与详细设计
1、概要设计阶段的主要任务;
确定系统的整体模块结构,即系统实现所需要的软件模块以及这些模块之间的调用关系
2、概要设计的基本思路:理解即可;MSD不考;
- 引入了模块、调用
- 引入了模块结构图
- 过程指导(将DFD转化成MSD)
初始设计–》精化设计–》设计复审
3、模块和模块化的概念,为什么要模块化设计;不需死记硬背,理解即可;
模块: 执行一个特殊任务的一组历程和数据结构
模块化: 把系统分解成若干模块的过程
为什么要模块化, 相当于把困难问题分解成简单问题来降低复杂度提高效率。
4、何为模块独立性;何为耦合与内聚,图示说明;
模块独立性: 指软件系统中每个模块只涉及软件要求的具体的子功能, 而和软件系统中其它的模块的接口是简单的;
耦合: 不同模块之间相互依赖的度量
内聚: 一个模块之内各成分之间相互依赖程度的度量
5、耦合的几种类型,理解基本含义,不需背概念;
其他的见4
6、内聚的类型,了解基本的强弱;
7、模块的作用域与控制域,关系;
8、详细设计的目标和任务(理解);
目标: 给出软件模块结构中各个模块的内部过程描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言表达的程序。
程序复杂性度量:理解控制流程图和环形复杂度;(计算,大题)
第1步:将程序流程图转化为控制流程图(Control Flow Graph)
第2步:计算CFG的环形复杂度(Cyclomatic Complexity)
已知公式:V(G) = m - n + p, 其中:
- V(G) 为强连通有向图G中线性无关环(independent paths)的个数(称为cyclomatic number of G);
- m 是边数 (number of edges) ; n 是 节 点 数(number of nodes);
- p是G中连通集的数目(number of connected components),即被分离出的数目。