- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件结构图的基本符号 5.4.3 结构图 对层次图改进: 采用带有注释的箭头表示模块调用时参数的传递; 实心圆注释箭头表示传递控制信息,空心圆注释箭头表示传递数据; 菱形◇表示条件分支选择; 箭头圆弧表示循环。 产生最佳解的结构图 结构图例 5. 5 结构化设计方法 5.5.1 数据流图的类型 5.5.2 设计步骤 5.5.3 变换设计 5.5.4 事务设计 5.5.5 设计的后处理 结构化设计从数据流图(DFD)入手,分析DFD的类型,找出DFD的处理中心,映射成初步的软件结构(层次结构图),按照设计准则细化和优化结构,描述模块的接口和全局数据,经过评审后,提交下一步进行详细设计 5.5.1 数据流图的类型 1、变换型数据流图 2、事务型数据流图 1、变换型数据流图 时间 图5.8变换流 2、事务型数据流图 图5.9事务流 5.5.2 设计步骤 图5.10面向数据流方法的设计过程 5.5.3 变换设计 1. 复查基本系统模型 2. 复查并精化数据流图 3. 确定数据流图的类型 4. 确定输入流和输出流的边界,从而孤立出变换中心 5. 进行“第一级分解” 6. 进行“第二级分解” 7. 使用设计度量和设计准则对第一次分割得到的软件结构进一步精化 变换设计例:汽车仪表盘 我们通过一个汽车数字仪表板的设计来介绍变换分析的过程。假设仪表板的功能如下: (1)通过模/数(A/D)转换实现传感器和微处理机接口; (2)在发光二极管(LCD)面板上显示数据; (3)指示每小时英里数(mph),行驶的里程,每加仑油行驶的英里数(mpg)等等; (4)指示加速或减速; (5)超速警告:如果车速超过55英里/小时,则发出超速警告铃声。 在软件需求分析阶段,应该对上述每项性能和其它要求进行全面的分析,并建立起相应的文档资料,得出数据流图。 具体的设计步骤如下。 1、复查基本系统模型 仔细阅读和理解需求规格说明书 复查基本系统模型 初步的数据流图 数据字典 IPO图 …… 2、复查并精化数据流图 图5.11数字仪表板系统的数据流图 3、确定数据流图的类型 这一步的任务是确定数据流图是变换型数据流图还是事务型数据流图。 从上图中可以看出,数据沿着两条输入通路(旋转信号和燃料流量传感器信号)进入系统,然后沿着五条通路(4个显示,一个警告铃声)离开,没有明显的事务中心(虽然变换“计算mph与超速值”可以看作是一个事务中心)。因此,可以认为这个数据流图的类型是变换型数据流图。 4、确定输入流和输出流的边界,从而孤立出变换中心 图5.12具有边界的数据流图 5、进行“第一级分解” 一个总控模块 若干个二级模块 对“变换型”DFD:一个输入模块、一个变换模块、一个输出模块。 对“事务型”DFD:一个事务接收模块、每个事务流对应一个模块。 图5.13 第一级分解的方法 第一级分解的结果 图5.14 数字仪表板系统的第一级分解 6、进行“第二级分解” DFD中的每一个加工对应一个模块 从“变换中心”向外延伸,构造模块间的层次(调用)关系 图5.15第二级分解的方法 图5.16 未经精化的输入结构 第二级分解的结果——输入结构 第二级分解的结果——变换结构 图5.17 未经精化的变换结构 第二级分解的结果——输出结构 图5.18未经精化的输出结构 7、对第一次分割得到的软件结构进一步精化 对于从前面的设计步骤得到的软件结构,使用设计度量和设计准则,还可以进行许多修改: 输入结构中的模块“转换成rpm”和“收集sps”,模块太小,功能简单,可以合并; 模块“确定加速/减速”可以放在模块“计算mph”下面,以减少耦合; 模块“加速/减速显示”可以相应地放在模块“显示mph”的下面。 设计准则参见“5. 2 软件设计基本原理”。基本思路是:模块化、高内聚、低耦合、上层模块高扇出、下层模块高扇入。 精化的数字仪表板系统的软件结构 图5.19 精化后的数字仪表板系统的软件结构 5.5.4 事务设计 图5.20 事务分析的映射方法 一个总控模块 若干个二级模块:一个事务接收模块、每个事务流对应一个模块。 5.5.5 设计的后处理 在确定系统的软件结构以后,还必须做好下述工作: 为每个模块开发一份功能说明; 为每个模块提供一份接口说明; 定义局部的和全程的数据结构; 给出所有的设计限制或约束; 进行总体设计评审; 如果需要和可能的话,进行设计“优化”。 4.5 小结 总体设计的目的 用比较抽象的方法确定系统概要地是如何实现的(How to do generally !)。 从初步的数据流图导出(设计出)软件结构。 主要分为系统设计(DFD、方案、功能)和软件结构设计(DFD、软件结构)二个阶段。 总体设计
文档评论(0)