- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向数据流的设计方法 2009.11 基本概念 面向数据流的设计方法(SD)是根据需求阶段对数据流的分析(数据流图和数据字典)设计软件结构 SD以数据流图为基础,它定义了把DFD变换成软件结构的不同映射方法 The Data Flow Hierarchy 数据流模型 在数据流模型中,将系统分解为一系列功能模块。 这种结构包括批处理和管道及过滤器。 在体系结构中的每一个成份都有一套输入和输出数据,都依输入-处理-输出的方式工作。 进行数据变换的构件叫做过滤器。 把数据从一个过滤器的输出导入到另一个过滤器的输入,就叫做管道。 在系统中,各个过滤器必须是相互独立的,每一个过滤器对它的上游或下游的过滤器的情况是不知道的,也不能做任何假设。 如果要求最终的输出结果与各个过滤器的执行次序相关,就是一个数据流方式的体系结构。 这种结构的优点是:数据流程设计明确,直接支持复用,系统容易维护和升级,可以进行某些性能分析(如流量、死锁等),容易支持并行计算。 SD系统结构特征可归纳为两种典型形式: 变换型结构 事务型结构 数据流图可分为两种类型: 变换型数据流 事务型数据流 基本模型 特征 变换流示意图:信息以“外部世界”所具有的形式进入系统,经过处理后又以这种形式离开系统 变换型数据流举例 事务型数据流图举例 大型系统DFD中,变换型和事务型 结构往往共存: SD设计过程 确定信息流的类型 划定流界 将数据流图映射为程序结构 提取层次控制结构 精化结构 一 变换分析设计方法 步骤: (1)复审基本系统模型 指顶层DFD和由外部提供的信息 (2)复审和精化软件数据流图 对DFD进行精化,直到获得足够详细的DFD。 期望达到:每个变换对应一个独立的功能,用一个高内聚的模块实现。 SafeHomede的第3层DFD (3)确定DFD的特性,判定为变换流还是事务流 主要根据主流的信息流类型判定,支流用于精化 (4)区分传入、变换中心、 传出部分,在 DFD 上 标明分界线 (5)第一级分解 (建立初始框架) 设计顶层和第一层模块 第一级分解后的SC 第一级分解后的SC(另一种画法) (6)第二级分解(分解SC各分支) 自顶向下分解,设计出每个分支的中、下层模块 传入分支的分解(1) 传入分支的分解(2) 传出分支的分解 中心加工分支的分解 (7)采用启发式设计策略,精化所得软件结构 以模块独立为指导思想,追求:高内聚、低耦合、易实现、易测试和易维护 例:SafeHomede的第0层DFD SafeHomede的第1层DFD 监控传感器的第2层DFD SafeHomede的第3层DFD 书P215页,程序结构 二 事务分析设计方法 任何情况下都可使用变换分析方法设计软件结构,但如数据流具有明显的事务特点时 (有一个明显的事务中心),以采用事务分析方法为宜。 事务分析与变换分析的步骤基本相似,差别在于数据流图到程序结构的映射。 事务分析设计方法步骤: (1)复审基本系统模型 (2)复审并精化软件数据流图 (3)确定数据流图的特性 前三步和变换分析法相同 (4)在DFD上确定事务中心、接收部 分和发送部分。 (5)画出SC框架,把DFD上的三部分 分别映射为事务控制模块、接收 模块和动作发送模块。 (6)分解细化接收分支和发送分支, 完成初始SC。 (7)使用启发式设计策略,精化程序结构 用户命令交互子系统DFD 初始的SC 事务分析的映射方法 用户命令交互子系统初始的SC 用户命令交互子系统DFD 用户命令交互子系统的SC 用户命令交互子系统DFD 用户命令交互子系统的SC 事务流设计举例 事务流设计举例 动作分支的典型结构 事务流设计举例 事务型数据流图举例 事务流设计举例 (另一种画法) 事务分析设计举例家庭保安系统 p216--- 混合流设计举例 混合流设计举例 混合流设计举例 三 启发式设计策略 (1)模块功能的完善化 (2)消除重复功能 (3)将模块的影响限制在模块的控制范围内 (4)深度、宽度、扇出和扇入适中 (5)模块大小适中 (6)降低模块接口的复杂性 (7)模块功能可预测 (8)避免模块的病态连接 (9)根据设计约束和可移植性要对软件打包 (1) 模块功能的完善化 完整的模块应包括三部分: (1)执行规定功能部分 (2)出错处理部分 (3)需返回给调用者数据时, 返回是否正确结束标志。 (2)消除重复功能 (4) 减少高扇出争取高扇入 高扇出的模块结构举例: 增加中间层降低扇出 (5) 模块大小适中 模块过大:可理解程度
您可能关注的文档
最近下载
- 电力隧道电力隧道工程c标段施工方案.doc VIP
- 九年级物理第21章《信息的传递》全章课件.ppt VIP
- Unit 4 Fun with numbers(Get ready)外研版(三起)(2024)英语三年级上册.pptx VIP
- (妇产科)子宫内膜癌教学查房.pptx
- 供应商审核报告范文模板.docx VIP
- 机场行测考试题库.pdf VIP
- 2025年《网络设备配置与安全》课程标准.docx VIP
- 成都市盐道街中学高一入学语文分班考试真题含答案.docx VIP
- 成都市盐道街外国语2025高一入学英语分班考试真题含答案.docx VIP
- 成都市盐道街外国语2025高一入学数学分班考试真题含答案.docx VIP
文档评论(0)