第七章面向数据流的设计方法课件

上传人:29 文档编号:242641716 上传时间:2024-08-30 格式:PPT 页数:70 大小:387.67KB
返回 下载 相关 举报
第七章面向数据流的设计方法课件_第1页
第1页 / 共70页
第七章面向数据流的设计方法课件_第2页
第2页 / 共70页
第七章面向数据流的设计方法课件_第3页
第3页 / 共70页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,面向数据流的设计方法,2009.11,面向数据流的设计方法,1,基本概念,面向数据流的设计方法(,SD),是根据需求阶段对数据流的分析(数据流图和数据字典)设计软件结构,SD,以数据流图为基础,它定义了把,DFD,变换成,软件结构,的不同,映射,方法,映射,DFD,(,问题结构),软件系统的结构,(程序结构),基本概念映射DFD软件系统的结构,2,The Data Flow Hierarchy,P,a,b,x,y,p1,p2,p3,p4,5,a,b,c,d,e,f,g,level 0,level 1,The Data Flow HierarchyPabxyp1,3,数据流模型,在数据流模型中,将系统分解为一系列功能模块。,这种结构包括批处理和管道及过滤器。,在体系结构中的每一个成份都有一套输入和输出数据,都依,输入,-,处理,-,输出,的方式工作。,进行数据变换的构件叫做,过滤器,。,把数据从一个过滤器的输出导入到另一个过滤器的输入,就叫做,管道,。,数据流模型在数据流模型中,将系统分解为一系列功能模块。,4,在系统中,各个过滤器必须是,相互独立的,,每一个过滤器对它的上游或下游的过滤器的情况是,不知道,的,也不能做任何假设。,如果要求最终的输出结果与各个过滤器的执行次序相关,就是一个,数据流,方式的体系结构。,这种结构的,优点,是:数据流程设计明确,直接支持复用,系统容易维护和升级,可以进行某些性能分析(如流量、死锁等),容易支持并行计算。,在系统中,各个过滤器必须是相互独立的,每一个过滤器对它的上游,5,SD,系统结构特征可归纳为两种典型形式:,变换型结构,事务型结构,数据流图可分为两种类型,:,变换型数据流,事务型数据流,SD系统结构特征可归纳为两种典型形式:变换型结构,6,变换,中心,输入,输出,变换型结构,事务,中心,接受,路径,动,作,路,径,基本模型,特征,事务型,结构,由输入、变换中心和输出三部分组成,具有在多种事务中选择执行某类事物的能力,变换输入输出变换型结构事务接受动基本模型,7,变换型,数据流,结构,事务型,数据流,结构,传入,变换,传出,变换,中心,传入,部分,传出,部分,事务,分析,事务,中心,动作,1,动作,2,动作,3,接受,接受,部分,变换型事务型传入变换传出变换传入传出事务事务动作动作动作接受,8,变换流示意图:,信息以“外部世界”所具有的形式进入系统,经过处理后又以这种形式离开系统,信息,时间,信息流,输入流,输出流,交换流,外部,表示,内部,表示,变换流示意图:信息以“外部世界”所具有的形式进入系统,经过处,9,变换型数据流举例,输入,信息,物理,输入,格式,检查,处理,显示,正确,信息,结果,物理,输出,数据,变换中心,逻辑,输入,逻辑,输出,传入部分,传出部分,特点:具有明确的传入、变换(或称主加,工) 和传出界面的,DFD,变换型数据流举例输入物理格式处理显示正确结果物理数据变换中心,10,事务型数据流图举例,I,M,L,N,O,A,B,C,D,F,E,G,H,事务型数据流图举例IMLNOABCDFEGH,11,大型系统,DFD,中,变换型,和事务型,结构往往共存:,T,事务中心,传入,变换,传出,大型系统DFD中,变换型和事务型T事务中心传入变换传出,12,SD,设计过程,确定信息流的类型,划定流界,将数据流图,映射,为程序结构,提取层次控制结构,精化结构,SD设计过程,13,精化数据流图,流的类型,确定事务中心和各动作路径,确定输入、输出流界,映射为变换结构,映射为事务结构,提取控制结构,利用启发式策略精化软件结构,描述接口和全局数据结构,复审,详细设计,事务分析,变换分析,精化数据流图流的类型确定事务中心和各动作路径确定输入、输出流,14,主模块,输入模块,主加工模块,输出模块,事务控制模块,接受模块,动作发送模块,动作1模块,动作2模块,动作3模块,由变换分析产生,由事务分析产生,主模块输入模块主加工模块输出模块事务控制模块接受模块动作发送,15,一 变换分析设计方法,步骤:,(1)复审基本系统模型,指顶层,DFD,和由外部提供的信息,(2)复审和精化软件数据流图,对,DFD,进行精化,直到获得足够详细的,DFD。,期望,达到:每个变换对应一个独立的功能,用一个高内聚的模块实现。,一 变换分析设计方法步骤:,16,SafeHomede,的第3层,DFD,读取传感,器数据,传感数据,获取响,应信息,产生拨号,脉冲,连通,电话网,选择电话,号码,建立警,报条件,置传感数据标识,配置信息,配置数据,产生警,报信号,产生,显示,格式化,显示,号码表,电话号码,电话号码对应音频,电话拨号音频,警报类型,警报数据,格式化标志类型和位置,传感器信息,SafeHomede的第3层DFD读取传感传感数据获取响产生,17,(3)确定,DFD,的特性,判定为变换流还是事务流,主要根据,主流,的信息流类型判定,支流用于精化,(4),区分传入、变换中心、 传出部分,在,DFD,上,标明分界线,(3)确定DFD的特性,判定为变换流还是事务流,18,B,C,A,D,E,Q,P,R,W,U,V,a,b,c,e,d,r,p,u,w,v,变换中心,传入部分,传出部分,BCADEQPRWUVabcedrpuwv变换中心传入部分传,19,(5)第一级分解,(建立初始框架),设计顶层和第一层模块,(5)第一级分解,20,第一级分解的方法,M,C,M,T,M,A,M,E,第一级分解的方法MCMTMAME,21,第一级分解后的,SC,M,C,M,T,M,A,M,E,第一层,顶层,c,e,c,e,u,w,u,w,传入模块,传出模块,中心变,换模块,第一级分解后的SCMCMTMAME第一层顶层c,ec,eu,22,第一级分解后的,SC,(,另一种画法),M,C,M,A1,c,e,u,w,c,p,Q,P,R,e,p,r,r,w,u,w,传入分,支模块,中心加工分支模块,传出分,支模块,M,A2,M,E1,M,E2,第一级分解后的SC(另一种画法)MCMA1ceu,wc,pQ,23,(6)第二级分解,(,分解,SC,各分支),自顶向下分解,设计出每个分支的中、下层模块,(6)第二级分解(分解SC各分支),24,传,入分支的分解,(1),M,A,C,B,A,b,a,c,E,D,d,e,c,e,传入分支的分解(1)MACBAbacEDdec,e,25,传入分支的分解,(2),M,A,Get,C,b,a,c,Read,D,d,e,c,e,B,to,C,b,c,d,e,a,b,Get,E,Get,B,D,to,E,A,to,B,Read,D,传入分支的分解(2)MAGet CbacRead Ddec,26,传出分支的分解,M,E,W,Write,V,u,u,w,u,v,v,v,Put,U,U to V,M,E,U,Write,W,w,w,u,w,u,V,(1),(2),传出分支的分解MEWWrite Vuuw,uvvvPut,27,中心加工分支的分解,M,T,P,Q,R,e,c,p,r,u,w,p,r,中心加工分支的分解MTPQRec,pru,wpr,28,(7)采用启发式设计策略,精化所得软件结构,以模块独立为指导思想,追求:高内聚、低耦合、易实现、易测试和易维护,(7)采用启发式设计策略,精化所得软件结构,29,例:,SafeHomede,的第0层,DFD,SafeHomede,软件系统,用户命令,和数据,显示信息,控制面板,传感器,传感器,状态,警铃,电话线,警告类型,电话号码,拨音,控制面板显示,例:SafeHomede的第0层DFD SafeHomede,30,SafeHomede,的第1层,DFD,控制,面板,与用户,交互,控制,面板,显示,密码,电话号码拨音,传感器状态,显示信息,配置请求,用户命令,和数据,配置,系统,警,铃,电,话,线,传感器,配置信息,显示信息,和状态,监控,传感器,激活不,激活系统,传感器信息,密码,处理,警告类型,检验,id,信息,开始,停止,状态信息,SafeHomede的第1层DFD控制与用户控制密码电话号码,31,监控传感器的第2层,DFD,电话号码拨音,传感器数据,配置数据,显示格式,配置信息,产生警告,信息,拨号,异常数据,判别,传感器信息,读传感器,警告类型,传感器,id,类型,传感器,id,类型定位,监控传感器的第2层DFD电话号码拨音传感器数据配置数据显示格,32,SafeHomede,的第3层,DFD,读取传感,器数据,传感数据,获取响,应信息,产生拨号,脉冲,连通,电话网,选择电话,号码,建立警,报条件,置传感数据标识,配置信息,配置数据,产生警,报信号,产生,显示,格式化,显示,号码表,电话号码,电话号码对应音频,电话拨号音频,警报类型,警报数据,格式化标志类型和位置,传感器信息,SafeHomede的第3层DFD读取传感传感数据获取响产生,33,书,P215,页,程序结构,书P215页,程序结构,34,第七章面向数据流的设计方法课件,35,任何情况下都可使用变换分析方法设计软件结构,但如数据流具有明显的事务特点时 (有一个明显的事务中心),以采用事务分析方法为宜。,事务分析与变换分析的步骤基本相似,,差别,在于数据流图到程序结构的映射。,二,事务分析设计方法,任何情况下都可使用变换分析方法设计软件结构,但如数据,36,(1)复审基本系统模型,(2)复审并精化软件数据流图,(3)确定数据流图的特性,前三步和变换分析法相同,事务分析设计方法步骤:,(1)复审基本系统模型事务分析设计方法步骤:,37,(4)在,DFD,上确定事务中心、接收部,分和发送部分。,(5)画出,SC,框架,把,DFD,上的三部分,分别映射为,事务控制模块,、接收,模块和动作发送模块。,(6)分解细化接收分支和发送分支,,完成初始,SC。,(7),使用启发式设计策略,精化程序结构,(4)在DFD上确定事务中心、接收部,38,用户命令交互子系统,读用户,命令,密码命令,密码,显示信息,系统参数数据,用户,命令,读系统,数据,配置信息,显示信息,和状态,命令,分析处理,读,密码,命令类型,开/关,命令,建立配,置文件,原配置,数据,激活/非活动系统,与文件中,密码比较,格式化,配置数据,配置,命令,检验信,息过程,重试信息,四位数字,检验信息,检验信息,A/D,信息,格式化配置,数据,格式化,配置数据,用户命令交互子系统读用户密码命令密码显示信息系统参数数,39,初始的,SC,主模块,输入模块,主加工模块,输入模块,事务控制模块,接受模块,动作发送模块,动作1模块,动作2模块,动作3模块,由变换分析产生,由事务分析产生,初始的SC主模块输入模块主加工模块输入模块事务控制模块接受模,40,事务分析的映射方法,总控,调度,C,路径,B,路径,A,路径,A,路径,B,路径,C,路径,接收,路径,事务分析的映射方法总控调度C路径B路径A路径A路径B路径C路,41,用户命令交互子系统,初始的,SC,用户执行模块,读用户命令,命令处理,密码处理,控制器,现用/非现用,系统,系统设置,控制器,用户命令交互子系统初始的SC用户执行模块读用户命令命令处理密,42,用户命令交互子系统,读用户,命令,密码,显示信息,系统参数数据,用户,命令,读系统,数据,配置信息,显示信息,和状态,命令,分析处理,读,密码,命令类型,建立配,置文件,原配置,数据,激活/非活动系统,与文件中,密码比较,格式化,配置数据,检验信,息过程,重试信息,四位数字,检验信息,检验信息,A/D,信息,格式化配置,数据,格式化,配置数据,密码命令,开/关,命令,配置,命令,用户命令交互子系统读用户密码显示信息系统参数数据用户读,43,用户命令交互子系统,的,SC,用户执行模块,读用户命令,命令处理,密码处理,控制器,现用/非现用,系统,系统设置,控制器,读系统,数据,建立配,置文件,显示信息,与状态,用户命令交互子系统的SC用户执行模块读用户命令命令处理密码处,44,用户命令交互子系统,读用户,命令,密码,显示信息,系统参数数据,用户,命令,读系统,数据,配置信息,显示信息,和状态,命令,分析处理,读,密码,命令类型,建立配,置文件,原配置,数据,激活/非活动系统,与文件中,密码比较,格式化,配置数据,检验信,息过程,重试信息,四位数字,检验信息,检验信息,A/D,信息,配置,数据,格式化配置,数据,密码命令,开/关,命令,配置,命令,用户命令交互子系统读用户密码显示信息系统参数数据用户读,45,用户命令交互子系统,的,SC,用户执行模块,读用户命令,命令处理,密码处理,控制器,现用/非现用,系统,系统设置,控制器,读系统,数据,建立配,置文件,显示信息,与状态,读,密码,用文件,比较密码,密码输出,控制器,产生,无效信息,用户命令交互子系统的SC用户执行模块读用户命令命令处理密码处,46,事务流设计举例,I,M,L,N,A,B,C,D,F,E,G,事务中心,事务流设计举例IMLNABCDFEG事务中心,47,事务流设计举例,取,A,总控,A,L,M,N,G,D,B,C,F,E,(主模块),事务加工模块,事务流设计举例 取 A 总控ALMNGDBCFE(主模块,48,动作分支的典型结构,P,T,2,T,1,T,i,A,2,D,2,A,1,D,1,A,3,A,j,D,k,事务层,操作层,细节层,处理层,主模块,事务加,工模块,操作,模块,细节,模块,动作分支的典型结构PT 2T 1T iA 2D 2A 1D,49,事务流设计举例,取,A,总控,A,L,M,N,G,D,B,C,F,E,动作1,动作,n,.,细节模块1,细节模块2,.,(操作模块),(细节模块),事务流设计举例 取 A 总控ALMNGDBCFE动作1动,50,事务型数据流图举例,I,M,L,N,O,A,B,C,D,F,E,G,H,事务型数据流图举例IMLNOABCDFEGH,51,事务流设计举例,(另一种画法),输入,A,XX,系统,变换控制,A,L,M,A,G,D,B,C,F,E,输出,E,、,F,、,G,E,、,F,、,G,E,、,F,、,G,输出,H,O,E,、,F,、,G,H,H,N,事务流设计举例 (另一种画法) 输入 AXX系统变换控制A,52,要求类,型处,理,有效图书管理要求,当前日期,2.1,新书入库,2.2,借,入库单,罚款单,一层数据流图 (,a),借书,2.3,注销图书,2.5,借书,2.4,目录文件,借书单,书,单,注销单,要求类有效图书管理要求当前日期2.1新书入库2.2借入库单罚,53,事务分析设计举例,家庭保安系统,p216-,事务分析设计举例家庭保安系统 p216-,54,3,4,1,2,6,7,5,8,10,9,11,变换中心,传,入,传,出,事务型,(3),混合流设计举例,3412675810911变换中心传入传出事务型(3) 混合,55,混合流设计举例,T,事务,中心,传入,变换,传出,接收部分,发送,部,分,混合流设计举例T事务传入变换传出接收部分发送,56,AB,T,1,变换中心,传入,传出,T,2,T,3,a,b,b,1,b,2,b,3,c,1,c,2,c,3,d,e,g,f,j,m,事务流子系统,BC,CD,DE,EH,HK,FJ,KL,LM,h,混合流设计举例,k,ABT1变换中心传入传出T2T3abb1b2b3c1c2c3,57,混合流设计举例,输入,D,XX,系统,变换控制,输出,K,输入,C,d,c,输出,L,CD,DE,FJ,EH,HK,KL,c,d,d,k,k,k,L,L,输出,M,LM,m,m,L,事务子系统,混合流设计举例输入DXX系统变换控制输出K输入Cdc输出LC,58,三 启发式设计策略,(1),模块功能的完善化,(2),消除重复功能,(3),将模块的影响限制在模块的控制范围内,(4),深度、宽度、扇出和扇入适中,(5),模块大小适中,(6),降低模块接口的复杂性,(7),模块功能可预测,(8),避免模块的病态连接,(9),根据设计约束和可移植性要对软件打包,三 启发式设计策略(1)模块功能的完善化,59,(1),模块功能的完善化,完整的模块应包括三部分:,(1),执行规定功能部分,(2),出错处理部分,(3),需返回给调用者数据时,,返回是否正确结束标志。,(1) 模块功能的完善化完整的模块应包括三部分:,60,(2),消除重复功能,Q1,C,Q2,C,Q1,Q2,C,改进前,Q1,、,Q2,功能相似,X,Y,Q,X,Y,X,Y,重复部分,改进方法,1,:,将,Q1,、,Q2,合并为,Q,不可取,改进方法,2,:,将,Q1,、,Q2,的公共,部分分离出来,(2)消除重复功能Q1CQ2CQ1Q2C改进前XYQXYX,61,C,H,D,E,G,X,F,(3),将模块的影响限制,在模块的控制范围内,A,I,L,J,K,B,模块,C,的控制范围,:,C,、,D,、,E,、,F,、,G,、,H,如果模块,C,作出的决策影响了模块,L,,,L,超出了,C,的控制范围,CHDEGXF(3)将模块的影响限制AILJKB模块C的控制,62,(4),减少高扇出争取高扇入,高扇出的模块结构举例:,编外,人员,工资,取得,工资,数据,计时,制工,资额,薪金,制工,资额,编外,人员,税款,编外,人员,扣款,常规,扣款,税收,扣款,计算实发工资,避免平铺结构,(4) 减少高扇出争取高扇入高扇出的模块结构举例:编外取得计,63,增加中间层降低扇出,编外,人员,工资,取得工资数据,计时,制工,资额,薪金,制工,资额,编外,人员,税款,编外,人员,扣款,常规,扣款,税收,扣款,计算实发工资,计时工人实发工资,计薪工人实发工资,编外人员实发工资,增加中间层降低扇出编外取得工资数据 计时薪金编外编外常规税收,64,(5),模块大小适中,模块过大:可理解程度下降,模块过小:开销大于有效操作,系统接口复杂,(6),降低模块接口的复杂性,接口传递信息应简单且和模块功能一致。,(5) 模块大小适中模块过大:可理解程度下降,65,(7),模块功能可预测,模块看成黑盒子,相同输入产生,相同输出,其功能为可预测的。,模块带有内部状态其功能可能是,不可预测的。难理解、难测试、,难维护。,(7) 模块功能可预测模块看成黑盒子,相同输入产生,66,防止模块功能过分局限,功能单一的模块具有高内聚。,但如任意限制局部数据结构的,大小,过分限制控制流中可做的选,择或外部接口的模式,模块功能就,过分局限,使用范围过分狭窄,缺,乏灵活性和可扩充性。,防止模块功能过分局限 功能单一的模块具有高内聚。,67,(8),避免模块的病态连接,防止指向模块中间的分支或引用,(针对内容耦合),(9),根据设计约束和可移植性,需求对软件打包,打包指用来为特定环境组装软件的技术,(8)避免模块的病态连接 防止指向模块中间的分支或引用,68,设计优化原则,软件业界的“百分之二十规则”,20%,的代码占用,80%,的处理时间,,80%,的错误出自,20%,的代码,设计优化原则软件业界的“百分之二十规则”,69,对策,在先不考虑时间复杂性的情况下设计并精化软件结构;,借用,CASE,工具模拟分析运行时的性能,定位出低效部分;,详细设计时对最耗时的模块仔细推敲,以便减少时间开销;,运用高级语言编程;,对大量占用,CPU,资源的模块必要时用低级语言重新编码,以提高效率,先让它干起来,再让它快起来,对策,70,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!