面向数据流的设计方法_第1页
面向数据流的设计方法_第2页
面向数据流的设计方法_第3页
面向数据流的设计方法_第4页
面向数据流的设计方法_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、面向数据流的设计方法面向数据流的设计方法 面向数据流的设计方法,又称结构化设计即面向数据流的设计方法,又称结构化设计即SD(Structured Design) 。 结构化设计的结构化设计的目标目标:将软件设计为多个结构合理、功能:将软件设计为多个结构合理、功能单一的模块,建立系统的模块结构图。它的单一的模块,建立系统的模块结构图。它的主要表示方法主要表示方法是是一种分层次的结构图。一种分层次的结构图。面向数据流的设计方法面向数据流的设计方法SD设计方法的设计方法的主要思想主要思想: 认为一个程序、一组程序或一个系统,是由一组认为一个程序、一组程序或一个系统,是由一组功能模块来构成的。功能模块

2、来构成的。 软件设计者首先必须无视程序、模块或过程的内软件设计者首先必须无视程序、模块或过程的内部情况,而只对它们之间的部情况,而只对它们之间的关系关系进行分析。将系统看进行分析。将系统看作是逻辑功能的抽象集合作是逻辑功能的抽象集合功能模块的集合功能模块的集合。面向数据流的设计方法面向数据流的设计方法结构化设计的结构化设计的优点优点:(1 1)减少设计复杂性减少设计复杂性。将对大目标的实现转化为一些。将对大目标的实现转化为一些小目标来实现。结构化设计是一种减少设计复杂性的技小目标来实现。结构化设计是一种减少设计复杂性的技术。术。(2)结构独立结构独立。结构化设计将功能性程序划分成多个。结构化设

3、计将功能性程序划分成多个相对独立的程序模块。相对独立的程序模块。(3)单一的功能模块单一的功能模块,易于进行软件修改,易于开发,易于进行软件修改,易于开发和维护。和维护。(4)加强了代码的)加强了代码的可重用性可重用性。面向数据流的设计方法面向数据流的设计方法描述工具:描述工具: 结构化设计方法提出了一种图形工具结构化设计方法提出了一种图形工具结构图结构图。 结构图是精确表达程序结构的结构图是精确表达程序结构的图形表示图形表示方法。它作方法。它作为软件文档的一部分,清楚地反映出程序中模块之间的为软件文档的一部分,清楚地反映出程序中模块之间的层次调用关系和联系。它不仅严格地定义了各个模块的层次调

4、用关系和联系。它不仅严格地定义了各个模块的名字、功能和接口,而且还集中反映了设计思想。名字、功能和接口,而且还集中反映了设计思想。面向数据流的设计方法面向数据流的设计方法结构图的主要内容:结构图的主要内容: 1、模块模块:方框表示,并用名字标识该模块。:方框表示,并用名字标识该模块。 2、模块的调用关系模块的调用关系:用单向箭头或直线连接模:用单向箭头或直线连接模块间的控制关系。块间的控制关系。 3、模块间的、模块间的信息传递信息传递:用带注释的短箭头表示:用带注释的短箭头表示模块间传递的信息。模块间传递的信息。 4、两个、两个附加符号附加符号:弧形线表示循环调用,菱形:弧形线表示循环调用,菱

5、形表示选择调用。表示选择调用。面向数据流的设计方法面向数据流的设计方法查询成绩学生记录学号查询标志记录地址ABC模块间的控制关模块间的控制关系及信息传递系及信息传递模块间选择调用模块间选择调用模块间循环调用模块间循环调用MT1T3T2面向数据流的设计方法面向数据流的设计方法系统结构图中有系统结构图中有4种类型的模块:种类型的模块: 1、传入模块、传入模块:从下属模块取得数据,经过某些处理,再将其从下属模块取得数据,经过某些处理,再将其送给上级模块。它传送的数据叫做逻辑输入数据流。送给上级模块。它传送的数据叫做逻辑输入数据流。2、传出模块、传出模块:从上级模块取得数据,进行某些处理后,传送从上级

6、模块取得数据,进行某些处理后,传送给下属模块。它传送的数据流叫做逻辑输出数据流。给下属模块。它传送的数据流叫做逻辑输出数据流。3、变换模块、变换模块:从上级模块取得数据,进行特定处理后,送回从上级模块取得数据,进行特定处理后,送回原上级模块。它加工的数据流叫做变换数据流。原上级模块。它加工的数据流叫做变换数据流。4、协调模块、协调模块:对其下属模块进行控制和管理的模块。在一个对其下属模块进行控制和管理的模块。在一个好的系统结构图中,协调模块应在较高层出现。好的系统结构图中,协调模块应在较高层出现。 面向数据流的设计方法面向数据流的设计方法系统结构图中主要有系统结构图中主要有4种类型的模块:种类

7、型的模块:传入模块传入模块AA传出模块传出模块DD变换模块变换模块 BCY协调模块协调模块XXY面向数据流的设计方法面向数据流的设计方法数据流图的类型数据流图的类型 SD方法是方法是以数据流图为基础以数据流图为基础设计系统的模块结设计系统的模块结构的。不同类型的数据流图设计的过程以及所导出的构的。不同类型的数据流图设计的过程以及所导出的初始的软件结构不同。不管系统的数据流图如何庞大初始的软件结构不同。不管系统的数据流图如何庞大和复杂,一般均可分为和复杂,一般均可分为变换型、事务型和变换变换型、事务型和变换/事务事务混合型混合型。面向数据流的设计方法面向数据流的设计方法变换型(变换型(IPO型)

8、型) 变换型的数据流图是一个线性结构,由变换型的数据流图是一个线性结构,由输入、输入、变换和输出变换和输出三部分组成。信息沿输入通路进入系统,三部分组成。信息沿输入通路进入系统,同时由外部形式变换成内部形式。进入系统的信息同时由外部形式变换成内部形式。进入系统的信息通过变换中心,经加工处理以后再沿输出通路变换通过变换中心,经加工处理以后再沿输出通路变换成外部形式离开软件系统。成外部形式离开软件系统。 面向数据流的设计方法面向数据流的设计方法物理输物理输入入物理输出物理输出输入流输入流变换中心变换中心输出流输出流逻辑输出逻辑输出逻辑输入逻辑输入变换型变换型DFD图图面向数据流的设计方法面向数据流

9、的设计方法 事务型事务型 事务型的数据流图中,数据沿输入通路到达一个事务型的数据流图中,数据沿输入通路到达一个加工处理(如下图中的加工处理(如下图中的C),),这个处理将输入分为许这个处理将输入分为许多相互平行的加工路径,并多相互平行的加工路径,并根据输入数据的类型,选根据输入数据的类型,选择某一加工路径择某一加工路径。其中。其中C为为事务处理中心事务处理中心,其任务是,其任务是得到输入数据得到输入数据(输入数据又称为事务输入数据又称为事务)、分析每个事务、分析每个事务以确定它的类型、根据事务类型选取一条活动通路。以确定它的类型、根据事务类型选取一条活动通路。面向数据流的设计方法面向数据流的设

10、计方法事务型事务型DFD图图面向数据流的设计方法面向数据流的设计方法C加工路径加工路径输入流输入流事务处理中心事务处理中心加工路径加工路径加工路径加工路径面向数据流设计方法的过程面向数据流设计方法的过程:1、精化精化DFD。去除数据流图中的数据存储等信息,对数据流图去除数据流图中的数据存储等信息,对数据流图进行精化。进行精化。2、确定确定DFD类型类型,和逻辑输入、逻辑输出的界限,映射出变换,和逻辑输入、逻辑输出的界限,映射出变换结构的顶层合第一层;如果为事务型,确定事务中心和加工路径,结构的顶层合第一层;如果为事务型,确定事务中心和加工路径,映射出事务结构的顶层合第一层。映射出事务结构的顶层

11、合第一层。3、分解上层模块,设计中下层模块结构分解上层模块,设计中下层模块结构。4、根据优化准则、根据优化准则对软件结构求精对软件结构求精。5、描述模块功能、接口及全局数据结构。、描述模块功能、接口及全局数据结构。6、复查,如有错转向、复查,如有错转向2、修改完善,否则进入详细设计。、修改完善,否则进入详细设计。面向数据流的设计方法面向数据流的设计方法变换分析设计:变换分析设计:1、确定、确定DFD中的变换中心,逻辑输入、逻辑输出。中的变换中心,逻辑输入、逻辑输出。 通常几股数据流的汇合处就是系统的加工中心,也可通常几股数据流的汇合处就是系统的加工中心,也可用以下方法确定加工中心:从物理输入(

12、用以下方法确定加工中心:从物理输入(出出)端开始,沿)端开始,沿(逆逆)数据流方向向系统中心寻找,直到有这样的数据流,)数据流方向向系统中心寻找,直到有这样的数据流,它不能再被看作是系统的输入(出)时,则它的前一数据它不能再被看作是系统的输入(出)时,则它的前一数据流就是系统的逻辑输入(出)。介于逻辑输入和逻辑输出流就是系统的逻辑输入(出)。介于逻辑输入和逻辑输出间的加工就是加工中心。间的加工就是加工中心。面向数据流的设计方法面向数据流的设计方法2、设计软件结构的顶层和第一层、设计软件结构的顶层和第一层变换结构。变换结构。 顶层就是顶层就是主模块主模块的位置,其功能是完成对所有模块的的位置,其

13、功能是完成对所有模块的控制,其名称就是系统名称;控制,其名称就是系统名称; 第一层一般至少有第一层一般至少有输入、变换、输出输入、变换、输出三种功能模块。三种功能模块。面向数据流的设计方法面向数据流的设计方法3、设计中、下层模块。对第一层模块自顶向下逐层分解。、设计中、下层模块。对第一层模块自顶向下逐层分解。输入模块下属模块的设计输入模块下属模块的设计:为每个输入模块设计两个下属:为每个输入模块设计两个下属模块,一个接受数据,一个将数据转换成调用模块所需的信模块,一个接受数据,一个将数据转换成调用模块所需的信息。用类似的方法一直分解下去,直至物理输入端。息。用类似的方法一直分解下去,直至物理输

14、入端。输出模块下属模块的设计输出模块下属模块的设计:为每个输出模块设计两个下属:为每个输出模块设计两个下属模块,一个将数据转换成下属模块所需的信息,一个发送数模块,一个将数据转换成下属模块所需的信息,一个发送数据。用类似的方法一直分解下去,直至物理输出端。据。用类似的方法一直分解下去,直至物理输出端。变换模块下属模块的设计变换模块下属模块的设计:根据变换中心的组成情况,按:根据变换中心的组成情况,按照模块独立性原则,为每个基本加工建立一个功能模块。照模块独立性原则,为每个基本加工建立一个功能模块。面向数据流的设计方法面向数据流的设计方法4、设计优化:根据优化准则对初始结构进行细化和改进。、设计

15、优化:根据优化准则对初始结构进行细化和改进。 根据设计准则,对模块进行合并和调整,为每个物理根据设计准则,对模块进行合并和调整,为每个物理输入和物理输出设计专门模块,以体现系统的外部接口。输入和物理输出设计专门模块,以体现系统的外部接口。面向数据流的设计方法面向数据流的设计方法A物理输入物理输入BCD物理输出物理输出G变换中心变换中心逻辑输出逻辑输出逻辑输入逻辑输入f1f2f3EFHf4f5f6f7f8f9f10f11变换型分析设计变换型分析设计面向数据流的设计方法面向数据流的设计方法变换型分析设计变换型分析设计主模块主模块Get f3将将f3变换成变换成f7和和f8Put f7Put f8

16、f3 f3 f7 f8 f8 f7Get f2BGet f1AFPut f9GPut f8HPut f8CDE f3 f5 f4 f4 f6 f7 f8 f5 f6 f2 f2 f1 f1 f2 f8 f10 f10 f11 f10 f11面向数据流的设计方法面向数据流的设计方法事务分析设计:事务分析设计:1、确定、确定DFD中的事物中心和加工路径。中的事物中心和加工路径。 通常当通常当DFD中的某个加工具有明显的将一个输入数中的某个加工具有明显的将一个输入数据流分解成多个发散的输出数据流时,该加工就是系统据流分解成多个发散的输出数据流时,该加工就是系统的事务中心,从事务中心辐射出去的数据流就

17、是各个加的事务中心,从事务中心辐射出去的数据流就是各个加工路径。工路径。面向数据流的设计方法面向数据流的设计方法2、设计软件结构的顶层和第一层、设计软件结构的顶层和第一层事务结构。事务结构。 顶层就是主模块的位置,有两个功能,一是接收数据,顶层就是主模块的位置,有两个功能,一是接收数据,二是根据事务类型调度相应的处理模块。因此事务型软件结二是根据事务类型调度相应的处理模块。因此事务型软件结构应包括两个部分,接收分支和发送分支。构应包括两个部分,接收分支和发送分支。接收分支:负责接收数据,其设计方法与变换型接收分支:负责接收数据,其设计方法与变换型DFD的输的输入部分相同。入部分相同。发送分支:

18、通常包含一个调度模块,控制管理所有的下层发送分支:通常包含一个调度模块,控制管理所有的下层事务处理模块。事务处理模块。3、设计中、下层模块并优化。设计中、下层模块并优化。 具体过程同变换结构设计。具体过程同变换结构设计。面向数据流的设计方法面向数据流的设计方法AB加工路径加工路径输入流输入流事务处理中心事务处理中心事务分析设计事务分析设计CDf1面向数据流的设计方法面向数据流的设计方法事务分析设计事务分析设计主模块主模块Get f1调度调度 f1 f1BCD接收分支接收分支发送分支发送分支动作层动作层细节层细节层面向数据流的设计方法面向数据流的设计方法举举 例例事务分析事务分析 举例举例结构结

19、构图的形态特征:图的形态特征:深度深度表示控制的层数。表示控制的层数。宽度宽度表示控制的总分布。表示控制的总分布。扇出扇出是对由某一模块直接控制的模块数目的度量。是对由某一模块直接控制的模块数目的度量。扇入扇入指出有多少个模块直接控制一个给定的模块。指出有多少个模块直接控制一个给定的模块。 如果一模块控制另一个模块便称前者如果一模块控制另一个模块便称前者“统帅统帅”后后者;者; 反之,称后者反之,称后者“从属从属”于前者。于前者。 面向数据流的设计方法面向数据流的设计方法画结构图应注意的事项:画结构图应注意的事项: 1、同一名字的模块在结构图中仅、同一名字的模块在结构图中仅出现一次出现一次。

20、2、调用关系调用关系只能从上到下。只能从上到下。 3、结构图、结构图不严格表示模块的调用次序不严格表示模块的调用次序,习惯上,习惯上从左到右。有时为了减少连线的交叉,适当地调整同从左到右。有时为了减少连线的交叉,适当地调整同一层模块的左右位置,以保持结构图的清晰。一层模块的左右位置,以保持结构图的清晰。面向数据流的设计方法面向数据流的设计方法例例1:高考录取统分子系统有如下功能:高考录取统分子系统有如下功能:1)计算标准分:根据考生原始分计算,得到标准分,存入考)计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件;生分数文件;2)计算录取线:根据标准分、招生计划文件中的招生人数,)计

21、算录取线:根据标准分、招生计划文件中的招生人数,计算录取线存入录取线文件。计算录取线存入录取线文件。要求:要求:对以上问题画出数据流图。对以上问题画出数据流图。 画出该子系统的软件结构图画出该子系统的软件结构图面向数据流的设计方法面向数据流的设计方法例例2:某培训中心要研制一个计算机管理系统。它的业务是:将学某培训中心要研制一个计算机管理系统。它的业务是:将学员发来的信件收集分类后,按几种不同情况处理:员发来的信件收集分类后,按几种不同情况处理:1)如果是报名的,则将报名数据负责给报名事务的职员,他们将)如果是报名的,则将报名数据负责给报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然

22、后在学生文件、课程文件查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报名单交财务部门,财务人员开出发票给学生。上登记,并开出报名单交财务部门,财务人员开出发票给学生。2)如果是想注销原来已选修的课程,则由注销人员在课程文件、)如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。学生文件和帐目文件上做相应的修改,并给学生注销单。3)如果是付款的,则由财务人员在帐目文件上登记,也给学生一)如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。张收费收据。要求:要求:对以上问题画出数据流图。对以上问题画出数据流

23、图。 画出该培训管理系统的软件结构图的主图。画出该培训管理系统的软件结构图的主图。面向数据流的设计方法面向数据流的设计方法 在实际的软件系统中,数据流图往往是变换型和事在实际的软件系统中,数据流图往往是变换型和事务型的混合体。务型的混合体。综合设计方法:综合设计方法: 一般以一般以“变换分析变换分析”为主,为主,“事务分析事务分析”为辅为辅进行进行设计。即先找出子加工,设计出结构图的上层,然后根设计。即先找出子加工,设计出结构图的上层,然后根据数据流图的各个部分的结构特点适当地运用据数据流图的各个部分的结构特点适当地运用“变换分变换分析析” 或或“事务分析事务分析”进行处理,可得到初始的结构图

24、。进行处理,可得到初始的结构图。综合设计综合设计1、概要设计说明书、概要设计说明书(参考标准文档参考标准文档)2、详细设计说明书、详细设计说明书(参考标准文档参考标准文档)软件设计文档软件设计文档其他设计方法其他设计方法 面向数据结构面向数据结构的设计方法的设计方法是根据数据结构设计是根据数据结构设计程序处理过程的方法。程序处理过程的方法。 目前比较成熟的有目前比较成熟的有 MAJackson提出的提出的Jackson系统开发方法(系统开发方法(JSD,Jackson System Development)和和JDwarnier提出的程序逻辑构造方法提出的程序逻辑构造方法LCP( Logical Construction of Programs )。 Jackson方法方法Jackson方法思想方法思想 面向数据结构的设计是根据某些过程,从

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论