【考法分析】
本考点的主要考查形式有:给出软件设计相关描述(概念、原则等)判断正误;或给出一些情景描述指出其内聚类型或耦合类型。
【要点分析】
1、软件设计的任务是解决怎么做的问题。软件设计包括体系结构设计、接口设计、数据设计和过程设计。
过程设计:系统结构部件转换成软件的过程描述。
结构设计:定义软件系统各主要部件之间的关系。
接口设计(人机界面设计):软件内部,软件和操作系统间以及软件和人之间如何通信。
数据设计:将模型转换成数据结构的定义。好的数据设计将改善程序结构和模块划分,降低过程复杂性。
2、系统方案设计包括总体设计和各部分的详细设计两个方面。
系统总体设计:包括系统的总体架构方案设计、软件系统的总体架构设计、数据存储的总体设计、计算机和网络系统的方案设计等。
系统详细设计:包括代码设计、数据库设计、人/机界面设计、处理过程设计等。
3、软件设计的原则:高内聚、低耦合
(内聚性)
偶然聚合:模块完成的动作之间没有任何关系,或者仅仅是一种非常松散的关系。
逻辑聚合:模块内部的各个组成在逻辑上具有相似的处理动作,但功能用途上彼此无关。
时间聚合:模块内部的各个组成部分所包含的处理动作必须在同一时间内执行。
过程聚合:模块内部各个组成部分所要完成的动作虽然没有关系,但必须按特定的次序执行。
通信聚合:模块的各个组成部分所完成的动作都使用了同一个数据或产生同一输出数据。
顺序聚合:模块内部的各个部分,前一部分处理动作的最后输出是后一部分处理动作的输入。
(耦合性)
功能聚合:模块内部各个部分全部属于一个整体,并执行同一功能,且各部分对实现该功能都比不可少
非直接耦合:两个模块之间没有直接关系,它们的联系完全是通过主模块的控制和调用来实现的。
数据耦合:两个模块彼此间通过数据参数交换信息。
标记耦合:一组模块通过参数表传递记录信息,这个记录是某一个数据结构的子结构,而不是简单变量。
控制耦合:两个模块彼此间传递的信息中有控制信息。
外部耦合:一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息。
公共耦合:两个模块之间通过一个公共的数据区域传递信息。
内容耦合:一个模块需要涉及到另一个模块的内部信息。
【备考点拨】
1、掌握软件设计的阶段、任务和原则。
2、区分各种内聚类型、耦合类型。