当前位置:文档之家› 第7章 面向数据流的设计方法

第7章 面向数据流的设计方法

7 面向数据流的设计方法
1
§7.1 基本概念和设计步骤 利用SA方法获得了系统的需求 说明书,而本节将介绍由数据流图导 出程序结构图的方法。SD方法是与 SA方法相衔接的方法。
2
程序结构的标准形式 数据流图一般有两种典型结构: 变换型结构和事务型结构 数据处理系统中有两种典型的程 序结构:变换型和事物型
26
④充分利用各种技巧:扇入和扇出。即扇入越多 越好,而它调用其他的模块一般不超过7个;模 块的大小。即相对独立,功能单一,语句不超过 100行;作用范围和控制范围。即要求控制模块 在上层,作用模块在下层且二者不离太远。 ⑤程序结构图:直观清晰,易理解,为以后的编 程、测试、维护提供了良好的条件。 SD方法的缺陷:对数据结构、文件结构,数据库 结构没有考虑充分;块间联系、块内联系这两个 概念无严格定义。
25
§7.5 SD方法小结
SD方法的特点如下。 (1)从问题的结构推出解决问题的程序结构 (2)为了解决大型复杂的软件系统,采用“分解” 和“抽象”的方法 ①将一个大的系统分解成多个“黑盒”。 ②可将黑盒分解成层次结构的模块。 ③模块划分原则:块间联系少,块内联系多,即耦 合度小,聚合度大;块间尽量用数据型,块内尽量 用功能型。
3
变换型 ⑴结构:
I P O
输入模块I从输入设备或存储器获得数据, 利用处理模块P(加工模块或变换模块)对这些 数据作处理后,最后将结果通过输出模块O 送出到输出设备或存储器。
4
主模块
输入成绩 (五分制)
成绩转换(五分 制→百分制)
输出成绩 (百分制)
5
⑵变种 有多个“主变换”,多个输入数 据,多个输出数据,无“主变换”等。
6
事务型 若数据流具有如下图的结构,则称为“事 务型”。
主模块
事务层
操作层
细节层
由主模块接受一项事务,它根据事务的不同 类型,选择某一类事务层中某个事务处理模 块进行处理,这个事务处理模块又需调用操 作层中的若干个操作模块,每一操作模块也 下调细节层中若干个细节模块来完成操作, 这样通过层层调用来完成某一事务的处理。
23
§7.4 综合设计
在实际的软件系统中,数据流图往往是变换 型和事务型的混合体,这就要用综合设计的方法: 一般以“变换分析”为主、“事务分析”为辅进行设 计——先找出主加工,设计出结构图的上层,然后 根据数据流图各部分的结构特点适当地运用“变换 分析”或“事务分析”就可得出初始结构图。
24
不管是何种设计——变换设计、事务设计、 综合设计,设计人员都应掌握以下原则: (1)程序结构尽可能与问题结构相对应,程序结 构不是指编写程序的结构,而是指模块、框架总体 结构。 (2)块间联系尽可能低,块内联系尽可能高。
ቤተ መጻሕፍቲ ባይዱ14
②输出模块的下属模块的设计 输出模块的功能是将调用模块提供的数据输出。 为每一个输出模块设计两个下层模块:一个是 变换模块,另一个是输出模块。 ③变换模块的下属模块的设计 为变换模块设计下属模块没有一定的规则可循, 此时需研究数据流图中相应加工的组成情况。
15
§7.3 事务分析 1.事务型程序结构 ⑴结构:
12
⑵设计模块结构的顶层和第一层 数据流图映射到软件模块结构的第一步。 SD方法采用自顶向下设计的策略。那么作为 一个模块结构则首先要先决定顶层在哪里— —解决系统要做什么。
13
⑶设计中、下层模块 仍按“由顶向下逐步细化”的原则为每个模块设计它 的下属模块。 ①输入模块的下属模块的设计 输入模块的功能是向它的调用模块提供数据,所以它本身 要有数据来源。因此,输入模块可由两部分组成,一部分 是接收数据,另一部分将这些数据变换成其调用模块所需 要的数据。这样,就可以为每一个输入模块设计两个下层 模块:一个是输入模块,另一个是变换模块。
7
事务型结构具有如下特点: (1)不同的事务处理模块可能共用一些 操作模块; (2)不同的操作模块可能共用一些细节 模块。
事务型结构也有几个变种,如有几层细节 层或没有细节层。
在大系统的DFD中,变换型和事务型程 序结构有时可以混合使用。 面向数据流设计方法的设计步骤如下: (1)精化DFD。 (2)确定DFD类型。 (3)把DFD映射到系统模块结构,设计出模块 结构的上层。 (4)基于DFD逐步分解高层模块,设计出下层 模块。 (5)根据模块独立性原理,精化模块结构。 (6)模块接口描述。
21
⑴找出事务中心和各活动路径 ⑵设计模块结构的顶层和第一层模块: 首先为事务中心设计一个主模块; 然后为每一条活动路径设计一个事务处理模 块; 最后为输入部分设计一个输入模块,如果各 活动路径是发散的,则不需设计输出模块, 如果象图中各活动路径又集中到一个加工, 则需设计输出模块。
22
⑶设计中、下层模块 输入模块和输出模块的下属模块 的设计方法同变换分析。为每个事务 处理模块设计它的下层操作模块,再 为操作模块设计它的细节模块……, 直至设计完成。
§7.2 变换分析 1.变换型数据流图是具有较明确的输入、主加工、 输出界面的数据流图。是一种线性状的结构 I→P→O ⑴主加工 ⑵物理输入 ⑶逻辑输入 ⑷物理输出 ⑸逻辑输出
10
2.变换分析的步骤 共分三步: ⑴找出系统的主加工,确定逻辑输入和逻辑 输出
11
①确定逻辑输入 ②确定逻辑输出 ③确定主加工
主模块 事务层 操作层 细节层
16
由主模块接受一项事务,它根据 事务的不同类型,选择某一类事务层 中某个事务处理模块进行处理,这个 事务处理模块又需调用操作层中的若 干个操作模块,每一操作模块也下调 细节层中若干个细节模块来完成操作, 这样通过层层调用来完成某一事务的 处理。
17
⑵特点 ①不同的事务处理模块可能共用一些操 作模块 ②不同的操作模块可能共用一些细节模 块 ⑶变种:有几层细节层或没有细节层
18
2.事务型数据流图 某个加工将它的输入分离成一串 发散的数据流,形成许多通向后面加 工的活动路径,并根据输入的值选择 其中一条路径。
19
报名
付款 分类 注销 复审
查询
20
3.事务分析的步骤 通过事务分析,可以从事务型结 构的数据流图导出标准形式的程序结 构。同样采用“由顶向下逐步细化” 原则。
相关主题