1.什么是软件概要设计?该阶段的基本任务是什么?
软件概要设计:在需求分析的基础上通过抽象和分解将系统分解成模块,确定系统功能是实现,即把
软件需求转换为软件包表示的过程。
基 本 任 务:
(1)设计软件系统结构(简称软件结构)
a.采用某种设计方法,将一个复杂的系统按功能划分成模块(划分)
b.确定模块的功能。 (功能)
c.确定模块之间的调用关系。 (调用)
d.确定模块之间的接口,即模块之间传递的信息。 (接口)
e.评价模块结构的质量。 (质量)
(2)数据结构及数据库设计
a.数据结构设计
b.数据库设计:(概念设计、逻辑设计、物理设计)
(3)编写概要设计文档(文档主要有:概要设计说明书、数据库设计说明书、用户手册、修订测试计划)
(4)评审
2.软件设计的基本原理包括哪些内容?
软件设计的基本原理:
(1)模块化(四个属性:接口、功能、逻辑、状态)
(2)抽象
(3)信息隐蔽
(4)模块独立性(两个定性的度量标准:耦合性与内聚性)
3.衡量模块独立性的两个标准是什么?它们各表示什么含义?
两个定性的度量标准:耦合与内聚性
耦合性:也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就
越强,模块的独立性则越差。
内聚性:也称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。模块内元
素联系越紧密,内聚性越高。
4.模块间的耦合性有哪几种?它们各表示什么含义?
耦合性有六种:无直接耦合、数据耦合、标记耦合、控制耦合、公共耦合、内容耦合
无直接耦合:两个模块之间没有直接的关系,它们分别从属于不同模块的控制与调用,它们之间不传递任何信息。 (无直接关系)
数据耦合:指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言中的值传递。 (数据值 )
标记耦合:指两个模块之间传递的是数据结构。 (数据结构 )
控制耦合:指控制模块调用另一个模块时,传递的是控制变量,被调用块通过该控制变量的值有选择地执行块内某一功能(控制变量 )
公共耦合:指通过一个公共数据环境相互作用的那些模块间的耦合。 (一个公式数据环境)
内容耦合:一个模块直接使用另一个模块的内部数据,或通过非正常入口而转入另一个模块内部 (内部数据 )
5.模块的内聚性有哪几种?各表示什么含义?
模块间的内聚性有6种:偶然内聚、逻辑内聚、时间内聚、通信内聚、顺序内聚、功能内聚。
偶然内聚:一个模块内的各处理元素之间没有任何联系。
逻辑内聚:模块内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。
时间内聚:把需要同时执行的动作组合在一起。
通信内聚:指模块内所有处理元素都在同一个数据结构上操作,或者指各处理使用相同的输入数据或产生相同的输出数据。
顺序内聚:一个模块中各处理元素都密切相关于同一功能且必须顺序执行,前一功能元素的输出是下一功能元素的输入。
功能内聚:最强的内聚,指模块内所有元素共同完成一个功能,缺一不可。
6.什么是软件结构?简述软件结构设计优化准则。
软件结构:软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制体系。
软件结构设计优化准则:
a.划分模块时,尽量做到高内聚,低耦合,保持模块相对独立性,以此为原则优化初始的软件结构。
b.一个模块的作用范围应在其控制范围之内,且判定所在的模块应与受其影响的模块在层次上尽量靠近
c.软件的深度、宽度、扇入、扇出应适当。
D.模块的大小要适中。
E.模块的控制范围模块的接口要简单、清晰、含义明确,便于理解,易于实现、测试与维护。
7.什么是模块的影响范围?什么是模块的控制范围?它们之间应该建立什么关系?
模块的影响范围:受该模块内的一个判定影响的所有模块的集合。
模块的控制范围:模块本身及其所有下属模块(直接或间接从属于它的模块)的集合。
一个模块的影响范围应在其控制范围之内,且判定所在的模块应与受其影响的模块在层次上尽量靠近。
8.什么是"变换流"?什么是“事务流”?试将相应形式的数据流图转换成软件结构图。
变换流由输入、变换(或处理)、输出三部分组成。某个加工将它的输入流分离成许多发散
的数据流,形成许多加工路径,并根据输入选择其中一个路径来执行这种特征的DFD称为事物流。
9.试述“变换分析”,“事务分析”的设计步骤。
变换分析:
a.确定DFD中的变换中心。
b.设计软件结构的顶层和第一层-------变换结构。
c.设计中下层模块。(输入模块下属模块的设计,输出模块下属模块的设计,变换模块下属模块的设计,设计的优化)
事务分析:
a.确定DFD中的事务中心和加工路径。
b.设计软件结构的顶层和第一层------事务结构。(接收、发送给支)
c.事务结构中、下层模块的设计、优化工作同变换结构。