模块化就是把程序划分成独立命令且可独立访问的模块,每个模块完成一个字功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。
2、模块独立性度量(描述)的两个指标:内聚、耦合;什么是内聚,什么是耦合(P97);在面向数据流的方法中,内聚、耦合各分为哪几级,每级的具体含义分别是什么?强度从弱到强如何排列?
耦合:它是对一个软件结构内不同模块之间互连程度的度量;
内聚:它标志着一个模块内各个元素彼此结合的紧密程度,它是信息隐藏和局部化概念的自然扩展。
耦合分为
(1)数据耦合
(2)控制耦合
(3)特征耦合
(4)公共耦合
(5)内容耦合;
原则:尽量使用数据耦合,小用控制耦合和特征耦合,限制公共环境耦合的范围,完全不用内容耦合
内聚分为:
低内聚:
(1)偶然内聚
(2)逻辑内聚
(3)时间内聚;
中级内聚
(1)过程内聚
(2)通信内聚;
高内聚
(1)顺序内聚
(2)功能内聚;
原则设计时力求高内聚,并且能够辨认出低内聚的模块,有能力通过修改设计提高模块的内聚程度并且降低模块间的耦合程度,从而获得较高的模块独立;内聚和耦合都是进行模块化设计的有力工具,但是实现表明内聚更重要。
3、软件总体结构描述工具的概念和使用:软件层次图、软件结构(SC)图、HIPO图:什么是,基本符号和表示的结构,画法。
软件层次图(H图):
用来描绘软件的层次结构
组成元素:
一个矩形框代表一个模块
方框间的连线表示调用关系而不像层次方框图那样表示组成关系。
结构图(SC):
描述了软件的模块结构,表示了一个系统的层次分解关系;反映了模块间的联系以及块内联系;反映了模块间的信息传递。
(1) 组成元素:

方框,内有名称,表示模块;
直线,表示上层模块对下层模块的调用;
尾部带空心圆的箭头,表示按方向传递的数据信息;
尾部带实心圆的箭头,表示按方向传递的控制信息;
(2) 注意:层次图和结构图并不严格表示模块的调用次序,层次图和结构图只表明一个模块调用那些模块,至于模块内还有没有其他成分则完全没有表示。
(3) 作用:描述模块间参数交换情况、评价模块间耦合情况、确定模块间的接口。结构图一般不列入设计文档,只用于设计阶段检查模块设计的正确性和模块独立性。
HIPO图:
即层次图 + 输入/处理/输出图 的英文缩写,由一张H图和一组IPO图组成。
H图,是给每个模块加上编号的层次图。
IPO图,要为H图中的每个模块画一张IPO图。
通常将HIPO图作为软件结构的描绘,列入设计文档。
4、结构化设计(SD)方法(面向数据流的设计方法)中,如何将分析的结果(数据流图)逐层分解、转换成设计的初步结果(软件层次图)?
第1步:复查基本系统模型
第2步:复查并精化数据流图
第3步:确定数据流图具有变换特性还是事务特性
第4步:确定输入流和输出流的边界,从而孤立出变换中心
第5步:完成“第一级分解”
第6步:完成“第二级分解”
第7步:使用设计度量和启发式规则对第一次分割得到的软件结构进一步精化
题目1、数据流的划分。
1、变换流:信息沿输入通路进入系统,同时由外部形式变换成内部形式,进入系统的信息通过变换中心,经加工处理以后再沿输出通路变换成外部形式离开软件系统;
2、事务流:这种数据流是“以事务为中心的”,数据沿输入通路到达一个处理T,这个处理输入数据的类型在若干个动作序列中选出一个来执行。
题目2、 结构化分析、结构化设计的实质是什么?
结构化分析就是一种建立模型的活动,通常建立数据模型、功能模型和行为模型等三种模型。使用数据流程图、数据字典、结构化语言、判定表和判定树等工具,来建立一种新的、称为结构化说明书的目标文档-需求规格说明书。结构化体现在将软件系统抽象为一系列的逻辑加工单元,各单元之间以数据流发生关联。
题目3、什么是软件结构?
软件结构是指一种层次表况,由软件组成成分构造软件的过程、方法和表示。软件结构主要包括程序结构和文档结构。
题目4、数据流图怎么转换成软件结构图?
面向数据流的设计方法定义了一些不同的“映射”,利用这些映射可以把数据流图变换成软件结构。面向数据流的设计方法把信息流映射成软件结构,信息流的类型决定了映射的方法。
题目5、为每种类型的模块耦合举一个具体的例子。
(1) 非直接耦合—例如,两个模块没有直接关系(模块1和模块2),模块独立性最强。

(2) 数据耦合—例如,如下图

(3) 特征耦合—例如,如下图

“住户情况”是一个数据结构,图中模块都与此数据结构有关。“计算水费”和“计算电费”本无关,由于引用了此数据结构产生依赖关系,它们之间也是标记偶合。
(4) 控制耦合--模块A通过传送开关、标志、名字等控制信息,明显地控制选择模块B的功能,例如下图

(5) 外部耦合—例如,如下图,模块A、B均需使用共享打印机

(6) 公共环境耦合—例如,如下图,模块A、B、C共享全局变量数组

(7) 内容耦合—例如,一个过程非正常地进入另一个过程
Sub AA(...)
...
...
goto L
End sub
Sub BB(...)
...
...
L: ...
...
End sub
题目6、用面向数据流的方法设计下列系统的软件结构:
(3)患者监护系统(需求见习题2-4)
功能级数据流图:

软件结构图:

本文链接:http://www.itzhai.com/overall-design-modular-hierarchy-chart.html
相关推荐
模块化设计系列培训资料-(一)模块化设计到模块化时代-42p.ppt 模块化设计系列培训资料-(二)面向系统总体-52p.ppt 模块化设计系列培训资料-(三)传统模块化方法-73p...模块化设计系列培训资料-(七)模块设计的创新-31p.ppt
3. 模块化机房整体技术要求:这是模块化机房设计、实施和评估的核心部分,涉及机房的整体性能标准,包括结构设计、安全性、稳定性、可靠性、可维护性和节能环保等方面。 4. 微模块技术要求:微模块化是模块化机房中...
软件工程—银行管理系统—数据流图-盒图-PAD图-流图-层次图-流程图 本文将从软件工程的角度,着重分析银行管理系统的设计过程,涵盖数据流图、盒图、PAD图、流图、层次图、流程图等多个方面。 首先,从软件工程的...
软件工程—银行管理系统—数据流图-盒图-PAD图-流图-层次图-流程图 本资源是关于软件工程领域的实验报告,涵盖了数据流图、盒图、PAD图、流图、层次图和流程图等多种设计工具和技术。报告的目的是为了掌握结构化...
结构图是一种描述软件总体结构的图形方法,它由模块、调用和数据三部分组成。结构图的主要组成部分包括: * 模块:用方框表示,方框中写有模块的名字,一个模块的名字应适当地反映这个模块的功能。 * 调用:从一个...
接着,进行系统结构的整体设计,依据功能层次划分模块,并确定模块间的调用关系和接口。处理方式设计则涉及算法的选择和性能评估,以及外部信号的接收和发送形式。最后,数据结构设计关注数据库模式、文件系统结构,...
实验4--总体设计(软件结构图)软工班--侯爱民.docx
软件总体设计的设计原理包括模块化、抽象、逐步求精、信息隐藏和局部化等多个方面。 1. 模块化:模块化是软件总体设计的核心原则之一。模块化是指将软件系统分解成多个独立的模块,每个模块都有其自己的功能和接口...
基于a.s.p班级网站的设计与实现--总体设计与模块实现-工学学士毕业论文.doc
图片管理模块设计是指对系统的图片管理模块设计,包括系统的图片上传、图片管理等方面的内容。 7. 总结与展望 总结与展望是指对系统的总结与展望,包括系统的优点、缺点、改进方向等方面的内容。 8. 参考文献 参考...
* 结构图A和结构图B:软件的总体结构图可以分为不同的层次,例如业务逻辑层、数据访问层、表示层等。 * 功能模块设计概述:软件的功能模块设计是指根据软件的功能需求将软件分解为不同的模块,每个模块负责特定的...
在电子设计自动化(EDA)领域,特别是在FPGA(Field Programmable Gate Array)设计中,层次化设计是一种重要的方法,它能够提高设计效率、可读性和重用性。本讲主要探讨了层次化设计的原理、两种基本设计方法——自...
- 通过对“学生信息管理系统”进行详细的需求分析和总体设计,能够有效提升学校的学生信息管理水平,实现自动化、高效化的管理目标。该系统不仅能满足日常的教学管理需求,还能为学校的决策提供有力的数据支持,具有...
这些文件可能包含了一些具体案例的图片(如72.jpg、76.jpg等)和一个PDF文档(59-69.pdf),这些资料很可能是用来详细解释和分析总体设计的不同方面,如系统架构、模块划分、接口设计、数据结构和算法选择等。...
#### 二、系统功能模块设计 ##### 1. 员工基本信息管理 - **功能说明**:此模块主要负责录入、更新与维护员工的基本信息,包括但不限于姓名、性别、入职时间、职位等。 - **关键操作**: - 录入新员工的基本信息...
【酒店管理系统总体设计】 酒店管理系统是一种综合性的信息技术应用,旨在高效地管理酒店的日常运营,包括客户住宿管理、房间信息管理、菜品信息管理等多个方面。本文将深入探讨该系统的设计要素,为后续的详细设计...
总体设计是将需求分析的结果转化为实际系统的蓝图,包括系统架构、模块划分、接口设计等,目的是为了实现功能的分解和分配,确保系统模块化、可扩展性及良好的可维护性。 6. **数据库设计**: 虽未直接提及,但...
本文将总结软件工程中的一些重要概念和原理,包括软件总体设计、模块化、抽象、信息隐蔽、模块独立性、耦合性和内聚性等。 软件总体设计是软件工程中的一個重要阶段,在这个阶段中,我们需要将系统分解成模块,确定...
2. 使用面向数据流图的结构化设计方法优化数据流图,绘制总体设计的层次图(H图)。 3. 对选定的模块使用程序流程图、盒图、PAD图进行详细设计。 4. 基于E-R图构建数据库,设计关系数据库模型中的表及其关系。 5. ...