版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向数据流的设计方法2009.11面向数据流的设计方法1基本概念 面向数据流的设计方法(SD)是根据需求阶段对数据流的分析(数据流图和数据字典)设计软件结构
SD以数据流图为基础,它定义了把DFD变换成软件结构的不同映射方法映射DFD(问题结构)软件系统的结构(程序结构)基本概念映射DFD软件系统的结构2TheDataFlowHierarchyPabxyp1p2p3p45abcdefglevel0level1TheDataFlowHierarchyPabxyp13数据流模型在数据流模型中,将系统分解为一系列功能模块。这种结构包括批处理和管道及过滤器。在体系结构中的每一个成份都有一套输入和输出数据,都依输入-处理-输出的方式工作。进行数据变换的构件叫做过滤器。把数据从一个过滤器的输出导入到另一个过滤器的输入,就叫做管道。数据流模型在数据流模型中,将系统分解为一系列功能模块。4在系统中,各个过滤器必须是相互独立的,每一个过滤器对它的上游或下游的过滤器的情况是不知道的,也不能做任何假设。如果要求最终的输出结果与各个过滤器的执行次序相关,就是一个数据流方式的体系结构。这种结构的优点是:数据流程设计明确,直接支持复用,系统容易维护和升级,可以进行某些性能分析(如流量、死锁等),容易支持并行计算。在系统中,各个过滤器必须是相互独立的,每一个过滤器对它的上游5SD系统结构特征可归纳为
两种典型形式:变换型结构事务型结构数据流图可分为两种类型:
变换型数据流事务型数据流SD系统结构特征可归纳为
两种典型形式:变换型结构6变换中心输入输出变换型结构事务中心接受路径动作路径基本模型特征事务型结构由输入、变换中心和输出三部分组成具有在多种事务中选择执行某类事物的能力变换输入输出变换型结构事务接受动基本模型7变换型数据流结构事务型数据流结构传入变换传出变换中心传入部分传出部分事务分析事务中心动作1动作2动作3接受接受部分变换型事务型传入变换传出变换传入传出事务事务动作动作动作接受8变换流示意图:信息以“外部世界”所具有的形式进入系统,经过处理后又以这种形式离开系统信息时间信息流输入流输出流交换流外部表示内部表示变换流示意图:信息以“外部世界”所具有的形式进入系统,经过处9变换型数据流举例输入信息物理输入格式检查处理显示正确信息结果物理输出数据变换中心逻辑输入逻辑输出传入部分传出部分特点:具有明确的传入、变换(或称主加工)和传出界面的DFD变换型数据流举例输入物理格式处理显示正确结果物理数据变换中心10事务型数据流图举例IMLNOABCDFEGH事务型数据流图举例IMLNOABCDFEGH11大型系统DFD中,变换型和事务型结构往往共存:T事务中心传入变换传出大型系统DFD中,变换型和事务型T事务中心传入变换传出12SD设计过程确定信息流的类型划定流界将数据流图映射为程序结构提取层次控制结构精化结构SD设计过程13精化数据流图流的类型确定事务中心和各动作路径确定输入、输出流界映射为变换结构映射为事务结构提取控制结构利用启发式策略精化软件结构描述接口和全局数据结构复审详细设计事务分析变换分析精化数据流图流的类型确定事务中心和各动作路径确定输入、输出流14主模块输入模块主加工模块输出模块事务控制模块接受模块动作发送模块动作1模块动作2模块动作3模块由变换分析产生由事务分析产生主模块输入模块主加工模块输出模块事务控制模块接受模块动作发送15一变换分析设计方法步骤:(1)复审基本系统模型
指顶层DFD和由外部提供的信息(2)复审和精化软件数据流图 对DFD进行精化,直到获得足够详细的DFD。期望达到:每个变换对应一个独立的功能,用一个高内聚的模块实现。一变换分析设计方法步骤:16SafeHomede的第3层DFD读取传感器数据传感数据获取响应信息产生拨号脉冲连通电话网选择电话号码建立警报条件置传感数据标识配置信息配置数据产生警报信号产生显示格式化显示号码表电话号码电话号码对应音频电话拨号音频警报类型警报数据格式化标志类型和位置传感器信息SafeHomede的第3层DFD读取传感传感数据获取响产生17(3)确定DFD的特性,判定为变换流还是事务流
主要根据主流的信息流类型判定,支流用于精化(4)区分传入、变换中心、传出部分,在DFD上标明分界线(3)确定DFD的特性,判定为变换流还是事务流18BCADEQPRWUVabcedrpuwv变换中心传入部分传出部分BCADEQPRWUVabcedrpuwv变换中心传入部分传19(5)第一级分解(建立初始框架)设计顶层和第一层模块(5)第一级分解20第一级分解的方法MCMTMAME第一级分解的方法MCMTMAME21第一级分解后的SCMCMTMAME第一层顶层c,ec,eu,wu,w传入模块传出模块中心变换模块第一级分解后的SCMCMTMAME第一层顶层c,ec,eu,22第一级分解后的SC(另一种画法)MCMA1ceu,wc,pQPReprrw,uw传入分支模块中心加工分支模块传出分支模块MA2ME1ME2第一级分解后的SC(另一种画法)MCMA1ceu,wc,pQ23(6)第二级分解(分解SC各分支)自顶向下分解,设计出每个分支的中、下层模块(6)第二级分解(分解SC各分支)24传入分支的分解
(1)MACBAbacEDdec,e传入分支的分解
(1)MACBAbacEDdec,e25传入分支的分解
(2)MAGetCbacRead
Ddec,eB
to
CbcdeabGetEGetBD
to
EAtoBReadD传入分支的分解
(2)MAGetCbacReadDdec26传出分支的分解
MEWWriteVuuw,uvvvPutUUtoVMEUWriteWwwuw,uV(1)(2)传出分支的分解
MEWWriteVuuw,uvvvPut27中心加工分支的分解MTPQRec,pru,wpr中心加工分支的分解MTPQRec,pru,wpr28(7)采用启发式设计策略,精化所得软件结构 以模块独立为指导思想,追求:高内聚、低耦合、易实现、易测试和易维护(7)采用启发式设计策略,精化所得软件结构29例:SafeHomede的第0层DFD
SafeHomede软件系统用户命令和数据显示信息控制面板传感器传感器状态警铃电话线警告类型电话号码拨音控制面板显示例:SafeHomede的第0层DFDSafeHomede30SafeHomede的第1层DFD控制面板与用户交互控制面板显示密码电话号码拨音传感器状态显示信息配置请求用户命令和数据配置系统警铃电话线传感器配置信息显示信息和状态监控传感器激活/不激活系统传感器信息密码处理警告类型检验id信息开始停止状态信息SafeHomede的第1层DFD控制与用户控制密码电话号码31监控传感器的第2层DFD电话号码拨音传感器数据配置数据显示格式配置信息产生警告信息拨号异常数据判别传感器信息读传感器警告类型传感器id类型传感器id类型定位监控传感器的第2层DFD电话号码拨音传感器数据配置数据显示格32SafeHomede的第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用户命令交互子系统DFD读用户命令密码命令密码显示信息系统参数数据用户命令读系统数据配置信息显示信息和状态命令分析处理读密码命令类型开/关命令建立配置文件原配置数据激活/非活动系统与文件中密码比较格式化配置数据配置命令检验信息过程重试信息四位数字检验信息检验信息A/D信息格式化配置数据格式化配置数据用户命令交互子系统DFD读用户密码命令密码显示信息系统参数数39初始的SC主模块输入模块主加工模块输入模块事务控制模块接受模块动作发送模块动作1模块动作2模块动作3模块由变换分析产生由事务分析产生初始的SC主模块输入模块主加工模块输入模块事务控制模块接受模40事务分析的映射方法总控调度C路径B路径A路径A路径B路径C路径接收路径事务分析的映射方法总控调度C路径B路径A路径A路径B路径C路41用户命令交互子系统初始的SC用户执行模块读用户命令命令处理密码处理控制器现用/非现用系统系统设置控制器用户命令交互子系统初始的SC用户执行模块读用户命令命令处理密42用户命令交互子系统DFD读用户命令密码显示信息系统参数数据用户命令读系统数据配置信息显示信息和状态命令分析处理读密码命令类型建立配置文件原配置数据激活/非活动系统与文件中密码比较格式化配置数据检验信息过程重试信息四位数字检验信息检验信息A/D信息格式化配置数据格式化配置数据密码命令开/关命令配置命令用户命令交互子系统DFD读用户密码显示信息系统参数数据用户读43用户命令交互子系统的SC用户执行模块读用户命令命令处理密码处理控制器现用/非现用系统系统设置控制器读系统数据建立配置文件显示信息与状态用户命令交互子系统的SC用户执行模块读用户命令命令处理密码处44用户命令交互子系统DFD读用户命令密码显示信息系统参数数据用户命令读系统数据配置信息显示信息和状态命令分析处理读密码命令类型建立配置文件原配置数据激活/非活动系统与文件中密码比较格式化配置数据检验信息过程重试信息四位数字检验信息检验信息A/D信息配置数据格式化配置数据密码命令开/关命令配置命令用户命令交互子系统DFD读用户密码显示信息系统参数数据用户读45用户命令交互子系统的SC用户执行模块读用户命令命令处理密码处理控制器现用/非现用系统系统设置控制器读系统数据建立配置文件显示信息与状态读密码用文件比较密码密码输出控制器产生无效信息用户命令交互子系统的SC用户执行模块读用户命令命令处理密码处46事务流设计举例IMLNABCDFEG事务中心事务流设计举例IMLNABCDFEG事务中心47事务流设计举例取A
总控ALMNGDBCFE(主模块)事务加工模块事务流设计举例取A总控ALMNGDBCFE(主模块48动作分支的典型结构PT
2T
1T
iA
2D2A
1D
1A
3A
jD
k事务层操作层细节层处理层主模块事务加工模块操作模块细节模块动作分支的典型结构PT2T1TiA2D2A1D49事务流设计举例取A
总控ALMNGDBCFE动作1动作n….细节模块1细节模块2….(操作模块)(细节模块)事务流设计举例取A总控ALMNGDBCFE动作1动50事务型数据流图举例IMLNOABCDFEGH事务型数据流图举例IMLNOABCDFEGH51事务流设计举例
(另一种画法)输入AXX系统变换控制ALMAGDBCFE输出E、F、GE、F、GE、F、G输出HOE、F、GHHN事务流设计举例(另一种画法)输入AXX系统变换控制A52要求类型处理有效图书管理要求当前日期2.1新书入库2.2借入库单罚款单一层数据流图(a)借书2.3注销图书2.5借书2.4目录文件借书单书单注销单要求类有效图书管理要求当前日期2.1新书入库2.2借入库单罚53事务分析设计举例
家庭保安系统
p216---事务分析设计举例
家庭保安系统
p216---543412675810911变换中心传入传出事务型(3)混合流设计举例3412675810911变换中心传入传出事务型(3)混合55混合流设计举例T事务中心传入变换传出接收部分发送部分混合流设计举例T事务传入变换传出接收部分发送56ABT1变换中心传入传出T2T3abb1b2b3c1c2c3degfjLm事务流子系统BCCDDEEHHKFJKLLMh混合流设计举例kABT1变换中心传入传出T2T3abb1b2b3c1c2c357混合流设计举例输入DXX系统变换控制输出K输入Cdc输出LCDDEFJEHHKKLcddkkkLL输出MLMmmL事务子系统混合流设计举例输入DXX系统变换控制输出K输入Cdc输出LC58三启发式设计策略(1)模块功能的完善化(2)消除重复功能(3)将模块的影响限制在模块的控制范围内(4)深度、宽度、扇出和扇入适中(5)模块大小适中(6)降低模块接口的复杂性(7)模块功能可预测(8)避免模块的病态连接(9)根据设计约束和可移植性要对软件打包三启发式设计策略(1)模块功能的完善化59(1)模块功能的完善化完整的模块应包括三部分:(1)执行规定功能部分(2)出错处理部分(3)需返回给调用者数据时,返回是否正确结束标志。(1)模块功能的完善化完整的模块应包括三部分:60(2)消除重复功能Q1CQ2CQ1Q2C改进前Q1、Q2功能相似XYQ’XYXY重复部分改进方法1:将Q1、Q2合并为Q’不可取改进方法2:将Q1、Q2的公共部分分离出来(2)消除重复功能Q1CQ2CQ1Q2C改进前XYQ’XYX61CHDEGXF(3)将模块的影响限制在模块的控制范围内AILJKB模块C的控制范围:C、D、E、F、G、H如果模块C
作出的决策影响了模块L,L超出了C
的控制范围CHDEGXF(3)将模块的影响限制AILJKB模块C的控制62(4)减少高扇出争取高扇入高扇出的模块结构举例:编外人员工资取得工资数据计时制工资额薪金制工资额编外人员税款编外人员扣款常规扣款税收扣款计算实发工资避免平铺结构(4)减少高扇出争取高扇入高扇出的模块结构举例:编外取得计63增加中间层降低扇出编外人员工资取得工资数据计时制工资额薪金制工资额编外人员税款编外人员扣款
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026浙江台州市第一人民医院招聘编外合同制人员5人备考题库及答案详解【典优】
- 2026年4月浙江杭州市西湖区教育局所属事业单位招聘教师68人备考题库附答案详解(精练)
- 2026重庆两江新区物业管理有限公司外包岗位招聘1人备考题库附参考答案详解(综合卷)
- 2026安徽皖信招聘铁塔阜阳市分公司技术人员2人备考题库附答案详解(研优卷)
- 2026福建福州市名厝设计咨询有限公司招聘25人备考题库及参考答案详解(综合卷)
- 2026湖北恩施州宣恩县园投人力资源服务有限公司招聘外包服务人员10人备考题库附答案详解(培优a卷)
- 2026黑龙江省大庆市“庆蓝优引·社会招引”市属学校人才招聘14人备考题库及参考答案详解ab卷
- 2026内蒙古鄂尔多斯景泰艺术中学(普高)招聘教师3人备考题库含答案详解(巩固)
- 2026广西防城港市精神病医院招聘30人备考题库(第一期)及1套参考答案详解
- 2026南通师范高等专科学校长期招聘高层次人才15人备考题库含答案详解(研优卷)
- 206内蒙古环保投资集团有限公司社会招聘17人考试备考题库及答案解析
- 全国普通高等学校毕业生就业协议书
- 透析中肌肉痉挛
- 宋夏之间的走私贸易
- 初升高物理自主招生测试卷(含答案)
- 发电机密封油系统
- GB/T 7826-2012系统可靠性分析技术失效模式和影响分析(FMEA)程序
- 《平面图形的镶嵌》-课件
- 潜油泵电缆介绍1课件
- 企业环境行为自评表
- 管理案例-黄河集团如何进行资本运营
评论
0/150
提交评论