- 1、本文档共68页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程模型与方法 07、结构化软件设计
软件工程模型与方法 Models Methods of SE 第七章 结构化软件设计 肖丁 本章内容 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.4.3 模块的处理说明 模块输入
文档评论(0)