第五章 总体设计
- 格式:doc
- 大小:23.00 KB
- 文档页数:3
软件工程第五章总体设计在软件工程中,总体设计是一个至关重要的环节。
它就像是为一座大厦绘制蓝图,为后续的详细设计和编码工作奠定坚实的基础。
总体设计的主要任务是根据需求分析阶段确定的系统功能和性能要求,设计出软件系统的总体结构。
这包括确定系统由哪些模块组成,以及这些模块之间的关系。
通过合理的总体设计,可以有效地提高软件的可维护性、可扩展性和可靠性。
首先,我们来谈谈模块的划分。
模块是软件系统中具有相对独立功能的单元。
在划分模块时,需要遵循高内聚、低耦合的原则。
高内聚意味着一个模块内部的各个部分紧密相关,共同完成一个明确的功能;低耦合则表示模块之间的相互依赖程度要低,以便于独立开发、测试和维护。
例如,一个在线购物系统可以划分为用户管理模块、商品管理模块、订单管理模块等。
每个模块都有其特定的职责,相互之间通过清晰定义的接口进行通信。
模块的结构也有多种形式,如层次结构、网状结构和混合结构等。
层次结构是一种常见的结构,它将系统按照功能的层次进行划分,上层模块调用下层模块,形成一个树形的结构。
这种结构清晰明了,易于理解和维护。
网状结构则模块之间的关系更加复杂,适用于一些对性能要求较高的系统。
而混合结构则是结合了层次结构和网状结构的特点,根据系统的实际需求进行灵活的设计。
接下来,说说数据结构的设计。
数据结构的选择直接影响到系统的性能和效率。
在总体设计阶段,需要确定系统中主要的数据结构,如数据库表结构、文件结构等。
对于数据库设计,要考虑数据的完整性、一致性和安全性。
合理地设计索引和存储过程,可以提高数据的查询和更新速度。
文件结构的设计则要根据数据的特点和访问方式来确定,例如是顺序访问还是随机访问。
在总体设计中,还需要考虑软件的架构风格。
常见的架构风格有客户机/服务器架构(C/S)、浏览器/服务器架构(B/S)和分布式架构等。
C/S 架构适用于对性能要求较高、数据处理较为复杂的系统;B/S 架构则具有易于部署和维护的优点,适用于广泛的互联网应用;分布式架构则可以提高系统的处理能力和可靠性,适用于大规模的应用场景。
第5章总体设计一、选择题1.模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准是模块的()。
A.抽象和信息隐蔽B.局部化和封装化C.内聚性和耦合性D.激活机制和控制方法【答案】C【解析】模块的独立程度可以由两个定性标准度量,这两个标准分别称为内聚和耦合。
耦合衡量不同模块彼此间互相依赖(连接)的紧密程度;内聚衡量一个模块内部各个元素彼此结合的紧密程度。
2.在面向数据流的软件设计方法中,一般将信息流分为()。
A.变换流和事务流B.变换流和控制流C.事务流和控制流D.数据流和控制流【答案】A【解析】面向数据流的软件设计方法是以结构化分析阶段所产生的文档(包括数据流图、数据字典和软件需求说明书)为基础,自顶向下,逐步求精和模块化的过程。
它一般将信息流分为变换流和事务流。
①变换流:信息沿着输入通道进入系统,然后通过变换中心(也称主加工)处理,再沿着输出通道离开系统。
②事务流:信息沿着输入通道到达一个事务中心,事务中心根据输入信息(即事务)的类型在若干个动作序列(称为活动流)中选择一个来执行。
3.软件设计一般分为总体设计和详细设计,它们之间的关系是()。
A.全局和局部B.抽象和具体C.总体和层次D.功能和结构【答案】A【解析】软件设计分为总体设计和详细设计,其中总体设计属于全局性的设计,详细设计属于局部性的设计,是概要设计的完善。
4.将几个逻辑上相似的成分放在一个模块中,该模块的内聚度是()的。
A.逻辑性B.瞬时性C.功能性D.通信性【答案】A【解析】逻辑内聚:模块内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。
5.模块中所有成分引用共同的数据,该模块的内聚度是()的。
A.逻辑性B.瞬时性C.功能性D.通信性【答案】D【解析】通信内聚指模块内所有处理元素都在同一个数据结构上操作(有时称之为信息内聚),或者指各处理使用相同的输入数据或者产生相同的输出数据。
6.好的软件结构应该是()。
A.高耦合、高内聚B.低耦合、高内聚C.高耦合、低内聚D.低耦合、低内聚【答案】B【解析】耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。
一、名词解释
1.软件设计
2.模块化
3.信息隐蔽
4.模块独立性
5.耦合性
6.内聚性
7.模块的控制范围 8.模块的作用范围 9.软件结构
二、填空题
1.软件设计阶段产生的最重要的文档是______。
2.软件结构是以______为基础而组成的一种控制层次结构。
3.反映软件结构的基本形态特征是______。
4.一个模块把数值作为参数送给另一个模块,这种耦合方式称为______。
5.两个模块通过全程变量相互作用,这种耦合方式称为______。
6.将与同一张年报表有关的所有程序段组成一个模块,该模块的内聚性为______。
7.一个模块的作用范围指______的集合。
8.一个模块的控制范围指______的集合。
9.结构化设计以______为基础映射成软件结构。
10.为了防止软件概要设计的错误传播到开发的后续阶段,在概要设计文档完成以后,要进行______。
三、选择题
1.结构化设计方法在软件开发中,用于()。
A.测试用例设计
B.软件概要设计
C.程序设计
D.软件详细设计
2.软件结构使用的图形工具,一般采用()图。
A.DFD
B.PAD
C.SC
D.ER
3.软件结构图中,模块框之间若有直线连接,表示它们之间存在着()关系。
A.调用
B.组成
C.链接
D.顺序执行
4.在软件概要设计中,不使用的图形工具是()图。
A.SC
B.IPO
C.IDEF0
D.PAD
5.划分模块时,一个模块的()。
A.作用范围应在其控制范围之内
B.控制范围应在其作用范围之内
C.作用范围与控制范围互不包含
D.作用范围与控制范围不受任何限制
6.属于软件设计的基本原理是()。
A.数据流分析设计
B.变换流分析设计
C.事务流分析设计
D.模块化
7.变换流的DFD由三部分组成,不属于其中一部分的是()。
A.事务中心
B.变换中心
C.输入流
D.输出流
8.软件设计阶段一般又可分为()。
A.逻辑设计与功能设计
B.概要设计与详细设计
C.概念设计与物理设计
D.模型设计与程序设计
9.好的软件结构应该是()。
A.高耦合、高内聚
B.低耦合、高内聚
C.高耦合、低内聚
D.低耦合、低内聚
10.结构图中,不是其主要成分的是()。
A.模块
B.模块间传递的数据
C.模块内部数据
D.模块的控制关系
四、简答题
1.什么是软件概要设计,该阶段的基本任务是什么?
2.软件设计的基本原理包括哪些内容?
3.模块的耦合性、内聚性包括哪些种类?各表示什么含义?
4.简述软件结构优化准则。
5.变换分析设计与事务分析设计有什么区别?简述其设计步骤
二、填空题
1.软件概要设计说明书
2.模块
3.深度、宽度、扇入、扇出
4.数据耦合
5.公共耦合
6.通信内聚
7.受该模块内一个判定影响的所有模块
8.模块本身以及其所有下属模块
9.数据流图
10.软件评审
三、选择题
1.B.
2.C.
3.A.
4.D.
5.A.
6.D.
7.A.
8.B.
9.B. 10.C.。