- 1、本文档共68页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[第七章结构化软件设计
软件工程模型与方法 Models Methods of SE 第七章 结构化软件设计 肖丁 dxiao@bupt.edu.cn 本章内容 7.1 系统功能结构图 7.2 变换映射 7.3 事务映射 7.4 优化系统功能结构图 7.5 设计后处理 7.6 详细设计 7.7 界面设计 7.8 HIPO简介 7.9 Jackson简介 引言 结构化设计方法依据需求分析的结果“数据流图”推导出软件的系统功能结构图。其要点是: 建立数据流的类型。 指明数据流的边界。 将数据流图映射到程序结构。 用“因子化”方法定义控制的层次结构。 用设计测量和一些启发式规则对结构进行细化。 7.1 结构图的基本概念 四种基本类型的模块 传入模块 :从下属模块取得数据,经过某些处理,再将其传送给上级模块。 传出模块 :从上级模块获得数据,进行某些处理,再将其传送给下属模块。 变换模块 :即加工模块。它从上级模块取得数据,进行处理,转换成其它形式,再传送回上级模块。 协调模块 :对所有下属模块进行协调和管理的模块。 7.1.1 结构图的分解和类型 原子模块:结构图中不能再分解的底层模块; 因子分解系统: 所有系统的加工处理都由原子模块完成; 其它非原子模块仅仅进行控制和协调的功能。 通常,系统功能结构图根据数据流图中加工特性分为以下两种结构: 变换处理型 事务处理型 7.1.2 变换型结构 变换型数据处理问题的工作过程大致分为三步, 取得数据 变换数据 给出数据 7.1.3 事务型结构 存在某一个作业数据流,它可以引发一个或多个处理,这种数据流就叫做事务。 事务处理中心 事务处理加工 事务是最小的工作单元,不论成功与否都作为一个整体进行工作。 原子性 一致性 隔离性 持久性 7.2 变换映射 变换映射是一组设计步骤,将具有变换流特征的数据流图映射为一个预定义的程序结构模版。 运用变换映射方法建立初始的系统结构图,然后进行多次改进,得到系统的最终结构图。 复审并评估分析模型; 复审并重画数据流图; 确定数据流图中的变换和事务特征; 区分输入流、输出流和中心变换部分,即标明数据流的边界; 进行一级“因子化”分解,设计顶层和第一层模块; 进行二级“因子化”分解,设计中、下层模块; 利用一些启发式原则来改进系统的初始结构图,直到得到符合要求的结构图为止。 7.2.1 重画数据流图 其出发点是描述系统中的数据是如何流动的;并根据需要将局部层次的数据流图合并为一层,便于理解和设计; 以需求分析阶段的数据流图为基础,可以从物理输入到物理输出,或者相反;也可以从顶层加工开始,逐层向下; 一般情况下,在图上不要出现控制逻辑(例如判定和循环等),箭头只表示数据流而非控制流; 不用考虑系统的开始和结束; 省略每一个加工的异常处理,只考虑主要加工处理逻辑; 当数据流进入和离开一个加工时,要仔细地标记它们,不要重名。 如有必要,可以使用逻辑运算符“与”和“或”。 7.2.2 确定系统边界 中心变换:多股数据流汇集的地方往往是系统的中心变换部分。 逻辑输入:可以从数据流图上的物理输入开始,一步一步向系统中间移动,一直到数据流不再被看作是系统的输入为止,则其前一个数据流就是系统的逻辑输入。 可以认为逻辑输入就是离物理输入端最远的,且仍被看作是系统输入的数据流。 逻辑输出:从物理输出端开始,一步一步地向系统中间移动,就可以找到离物理输出端最远,且仍被看作是系统输出的数据流。 7.2.3 一级因子化分解 其主要任务就是设计顶层和第一层模块。 顶层模块: 主要起到控制和协调的作用; 用程序名字命名,将它画在与中心变换相对应的位置上; 它调用下层模块,完成系统所要做的各项工作 。 中层模块(第一层): 既完成一部分控制,又完成适当的变换工作; 为每一个逻辑输入设计一个输入模块,为主模块提供数据; 为每一个逻辑输出设计一个输出模块,它将主模块提供的数据输出; 为中心变换设计一个变换模块,它将逻辑输入转换成逻辑输出; 第一层模块与主模块之间传送的数据应与数据流图相对应。 7.2.4 二级因子化分解 其主要任务是设计中下层模块 将数据流图中的每一个变换型加工映射为程序结构中的模块 输入模块 输出模块 变换模块 从变换中心的边界开始,沿输入路径和输出路径向外,将变换依次映射到低层的软件结构中去。 最终给出初步的系统功能结构图 7.2.4.1 输入输出模块 输入模块:要向调用它的上级模块提供数据,由以下模块组成: 接收数据模块; 变换模块:把这些数据变换成它的上级模块所需的数据。 输出模块:从调用它的上级模块接收数据,用以输出,由以下模块组成: 一个是将上级模块提供的数据变换成输出的形式; 另一个是将它们输出。 7.2.4.2数据流图推导出的系统初始结构图 7.2.
文档评论(0)