面向数据流的设计方法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Y
Y
面向数据流的设计方法
数据流图的类型
SD方法是以数据流图为基础设计系统的模块结构的。不同类型的 数据流图设计的过程以及所导出的初始的软件结构不同。不管系统的 数据流图如何庞大和复杂,一般均可分为变换型、事务型和变换/事务 混合型。
面向数据流的设计方法
⑴变换型(IPO型)
变换型的数据流图是一个线性结构,由输入、变换和输出三部 分组成。信息沿输入通路进入系统,同时由外部形式变换成内部形式 。进入系统的信息通过变换中心,经加工处理以后再沿输出通路变换 成外部形式离开软件系统。
示这些数据结构。 2)找出输入数据结构和输出数据结构中有对应关系的数据单元 。
其他设计方法
3)按照一定的映射规则由输入、输出的数据结构导出用Jackson图表示 的程序结构。
4)列出程序中要用到的各个基本操作,并把它们分配到程序结构的适当 位置。
5)用伪码表示程序。
作业
P159 第2题
专门模块,以体现系统的外部接口。
面向数据流的设计方法
物理输入 A f2
f1
逻辑输入
B f3 C f5
逻辑输出
f4
f7
f9 F
D
E f6
f8 G
H
f10
f11
物理输出
变换中心
变换型分析设计
面向数据流的设计方法
f3
Get f3
f2 f2
Get f2
B
f1
f2
f1
Get f1
A
主模块
f3
f8
f7
将f3变换成f7和f8
模块间选择调用
M T1 T2 T3
模块间循环调用
面向数据流的设计方法
系统结ቤተ መጻሕፍቲ ባይዱ图中有4种类型的模块:
1、传入模块:从下属模块取得数据,经过某些处理,再将其 送给上级模块。它传送的数据叫做逻辑输入数据流。
2、传出模块:从上级模块取得数据,进行某些处理后,传送 给下属模块。它传送的数据流叫做逻辑输出数据流。
其他设计方法
Jackson方法 (1) Jackson方法思想
面向数据结构的设计是根据某些过程,从一些数据结构中 导出程序结构,着重于问题域数据结构到问题解的程序结构 之间的转换,而不强调模块定义。
①首先要充分了解所涉及的数据结构,而且用工具清晰 地描述数据结构;
②然后按一定的步骤根据数据结构,导出解决问题的程 序结构,完成设计。
1、模块:方框表示,并用名字标识该模块。 2、模块的调用关系:用单向箭头或直线连接模块间的控制关系。 3、模块间的信息传递:用带注释的短箭头表示模块间传递的信息。 4、两个附加符号:弧形线表示循环调用,菱形表示选择调用。
面向数据流的设计方法
查询成绩
学 号
查记 询录 标地
志址
学生记录
A
B
C
模块间的控制关 系及信息传递
面向数据流的设计方法
例1:高考录取统分子系统有如下功能:
1)计算标准分:根据考生原始分计算,得到标准分,存入考 生分数文件; 2)计算录取线:根据标准分、招生计划文件中的招生人数, 计算录取线存入录取线文件。 要求:①对以上问题画出数据流图。
②画出该子系统的软件结构图
面向数据流的设计方法
例2:某培训中心要研制一个计算机管理系统。它的业务是:将学 员发来的信件收集分类后,按几种不同情况处理:
面向数据流的设计方法
2、设计软件结构的顶层和第一层——变换结构。 顶层就是主模块的位置,其功能是完成对所有模块的控制,其名称就是系
统名称; 第一层一般至少有输入、变换、输出三种功能模块。
面向数据流的设计方法
3、设计中、下层模块。对第一层模块自顶向下逐层分解。 ⑴输入模块下属模块的设计:为每个输入模块设计两个下属模块,一个接受数 据,一个将数据转换成调用模块所需的信息。用类似的方法一直分解下去,直 至物理输入端。
软件设计文档
1、概要设计说明书(参考标准文档) 2、详细设计说明书(参考标准文档)
其他设计方法
面向数据结构的设计方法是根据数据结构设计程序处理
过程的方法。 目前比较成熟的有 M.A.Jackson提出的Jackson系统开发方法(
JSD,Jackson System Development)和J.D.warnier提出的程序逻辑构 造方法LCP( Logical Construction of Programs )。
f3 f4 f7 f5 f4 f6 f8
C
D
f6
f5 E
f8 f7 Put f7
F
Put f9
Put f8 f10
f8 f10
G f10 Put f8 f11 f11
变换型分析设计
H
Put f8
面向数据流的设计方法
事务分析设计:
1、确定DFD中的事物中心和加工路径。 通常当DFD中的某个加工具有明显的将一个输入数据流分解成多个发
要求:①对以上问题画出数据流图。
②画出该培训管理系统的软件结构图的主图。
综合设计
在实际的软件系统中,数据流图往往是变换型和事务型的混合体。
综合设计方法:
一般以“变换分析”为主,“事务分析”为辅进行设计。即先找出子 加工,设计出结构图的上层,然后根据数据流图的各个部分的结构特点适 当地运用“变换分析” 或“事务分析”进行处理,可得到初始的结构图。
面向数据流的设计方法
C
输入流
加工路径 加工路径
加工路径
事务处理中心
事务型DFD图
面向数据流的设计方法
面向数据流设计方法的过程:
1、精化DFD。去除数据流图中的数据存储等信息,对数据流图 进行精化。 2、确定DFD类型,和逻辑输入、逻辑输出的界限,映射出变换 结构的顶层合第一层;如果为事务型,确定事务中心和加工路径 ,映射出事务结构的顶层合第一层。 3、分解上层模块,设计中下层模块结构。 4、根据优化准则对软件结构求精。 5、描述模块功能、接口及全局数据结构。 6、复查,如有错转向2、修改完善,否则进入详细设计。
面向数据流的设计方法
变换分析设计:
1、确定DFD中的变换中心,逻辑输入、逻辑输出。 通常几股数据流的汇合处就是系统的加工中心,也可用以下方法确定加工
中心:从物理输入(出)端开始,沿(逆)数据流方向向系统中心寻找,直 到有这样的数据流,它不能再被看作是系统的输入(出)时,则它的前一数 据流就是系统的逻辑输入(出)。介于逻辑输入和逻辑输出间的加工就是加 工中心。
3、变换模块:从上级模块取得数据,进行特定处理后,送回 原上级模块。它加工的数据流叫做变换数据流。
4、协调模块:对其下属模块进行控制和管理的模块。在一个 好的系统结构图中,协调模块应在较高层出现。
面向数据流的设计方法
系统结构图中主要有4种类型的模块:
A
传入模块
A
D
传出模块
D
B
C
变换模块
协调模块
XX
面向数据流的设计方法
描述工具:
结构化设计方法提出了一种图形工具——结构图。 结构图是精确表达程序结构的图形表示方法。它作为软件文档的一部 分,清楚地反映出程序中模块之间的层次调用关系和联系。它不仅严格地 定义了各个模块的名字、功能和接口,而且还集中反映了设计思想。
面向数据流的设计方法
结构图的主要内容:
软件设计者首先必须无视程序、模块或过程的内部情况,而只对它 们之间的关系进行分析。将系统看作是逻辑功能的抽象集合——功能模 块的集合。
面向数据流的设计方法
结构化设计的优点:
(1)减少设计复杂性。将对大目标的实现转化为一些小目标来实现。结 构化设计是一种减少设计复杂性的技术。 (2)结构独立。结构化设计将功能性程序划分成多个相对独立的程序模 块。 (3)单一的功能模块,易于进行软件修改,易于开发和维护。 (4)加强了代码的可重用性。
如果一模块控制另一个模块便称前者“统帅”后者; 后者“从属”于前者。
反之,称
面向数据流的设计方法
画结构图应注意的事项:
1、同一名字的模块在结构图中仅出现一次。 2、调用关系只能从上到下。 3、结构图不严格表示模块的调用次序,习惯上从左到右。有时为了 减少连线的交叉,适当地调整同一层模块的左右位置,以保持结构图的 清晰。
3、设计中、下层模块并优化。 具体过程同变换结构设计。
面向数据流的设计方法
B
A f1
C
输入流
D
事务处理中心 加工路径
事务分析设计
面向数据流的设计方法
接
主模块
发
收
f1
f1
送
分
支
Get f1
调度
分 支
B
CD
动作层
细节层
事务分析设计
事务分析 举例
举例
面向数据流的设计方法
结构图的形态特征:
深度表示控制的层数。 宽度表示控制的总分布。 扇出是对由某一模块直接控制的模块数目的度量。 扇入指出有多少个模块直接控制一个给定的模块。
面向数据流的设计方法
物理输 入
逻辑输入 逻辑输出
物理输出
输入流
变换中心
输出流
变换型DFD图
面向数据流的设计方法
⑵ 事务型
事务型的数据流图中,数据沿输入通路到达一个加工处理(如下图 中的C),这个处理将输入分为许多相互平行的加工路径,并根据输入 数据的类型,选择某一加工路径。其中C为事务处理中心,其任务是得 到输入数据(输入数据又称为事务)、分析每个事务以确定它的类型、根 据事务类型选取一条活动通路。
面向数据流的设计方法
面向数据流的设计方法
面向数据流的设计方法,又称结构化设计即SD(Structured Design) 。
结构化设计的目标:将软件设计为多个结构合理、功能单一的模块,建立 系统的模块结构图。它的主要表示方法是一种分层次的结构图。
面向数据流的设计方法
SD设计方法的主要思想:
认为一个程序、一组程序或一个系统,是由一组功能模块来构成的 。
散的输出数据流时,该加工就是系统的事务中心,从事务中心辐射出去的 数据流就是各个加工路径。
面向数据流的设计方法
2、设计软件结构的顶层和第一层——事务结构。
顶层就是主模块的位置,有两个功能,一是接收数据,二是根据事务类型调 度相应的处理模块。因此事务型软件结构应包括两个部分,接收分支和发送分支 。 ⑴接收分支:负责接收数据,其设计方法与变换型DFD的输入部分相同。 ⑵发送分支:通常包含一个调度模块,控制管理所有的下层事务处理模块。
1)如果是报名的,则将报名数据负责给报名事务的职员,他们将 查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件 上登记,并开出报名单交财务部门,财务人员开出发票给学生。
2)如果是想注销原来已选修的课程,则由注销人员在课程文件、 学生文件和帐目文件上做相应的修改,并给学生注销单。
3)如果是付款的,则由财务人员在帐目文件上登记,也给学生一 张收费收据。
其他设计方法
(2) Jackson图
A
A
A
B
C
B0
C0
B*
Jackso顺n序图表示的三种基选本择结构,由方框、重连复线和一些附 加标记组成。标记“o”代表选择,标记“*”代表重复。连线 可以理解为“包含”或“由……组成”。
其他设计方法
Jackson方法的步骤
一般可以归纳为五个步骤: 1)分析并确定输入数据和输出数据的逻辑结构,并用Jackson结构图表
⑵输出模块下属模块的设计:为每个输出模块设计两个下属模块,一个将数据 转换成下属模块所需的信息,一个发送数据。用类似的方法一直分解下去,直 至物理输出端。
⑶变换模块下属模块的设计:根据变换中心的组成情况,按照模块独立性原则 ,为每个基本加工建立一个功能模块。
面向数据流的设计方法
4、设计优化:根据优化准则对初始结构进行细化和改进。 根据设计准则,对模块进行合并和调整,为每个物理输入和物理输出设计