③共京宽大学 BEDING UNIVERSITY OF POSTS AND TELECOMMUNICATIONS 软件工程模型与方法 TSEG Models methods of sE Telecommunications Software Engineering Grou 第七章结构化软件设计 肖丁diao(@bupt.edu.cn 通软件中心 ⊙2008 BUPTTSEG
© 2008 BUPT TSEG 软件工程模型与方法 Models & Methods of SE 第七章 结构化软件设计 肖丁 dxiao@bupt.edu.cn
共京部電大学 本章内容 ◆7.1系统功能结构图 ◆72变换映射 ◆7.3事务映射 ◆74优化系统功能结构图 ◆7.5设计后处理 ◆7.6详细设计 ◆7.7界面设计 ◆7.8HIPO简介 ◆7.9 Jackson简介 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 2 本章内容 ◆ 7.1 系统功能结构图 ◆ 7.2 变换映射 ◆ 7.3 事务映射 ◆ 7.4 优化系统功能结构图 ◆ 7.5 设计后处理 ◆ 7.6 详细设计 ◆ 7.7 界面设计 ◆ 7.8 HIPO简介 ◆ 7.9 Jackson简介
共京部電大学 引言 ◆结构化设计方法依据需求分析的结果“数 据流图”推导出软件的系统功能结构图 其要点是 >建立数据流的类型。 指明数据流的边界。 >将数据流图映射到程序结构 用“因子化”方法定义控制的层次结构。 用设计测量和一些启发式规则对结构进行细化 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 3 引言 ◆ 结构化设计方法依据需求分析的结果“数 据流图”推导出软件的系统功能结构图。 其要点是: ➢ 建立数据流的类型。 ➢ 指明数据流的边界。 ➢ 将数据流图映射到程序结构。 ➢ 用“因子化”方法定义控制的层次结构。 ➢ 用设计测量和一些启发式规则对结构进行细化
共京部電大学 7.1结构图的基本概念 四种基本类型的模块 传入模块:从下属模块取得数据,经过某些处理,再 将其传送给上级模块。 传出模块:从上级模块获得数据,进行某些处理,再 将其传送给下属模块。 变换模块:即加工模块。它从上级模块取得数据,进 处理,转换成其它形式,再传送回上级模块。 协调模块:对所有下属模块进行协调和管理的模块。 A D C [协调模块] [传入模块 传出模块] X A D 变换模块 ) (d) ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 4 7.1 结构图的基本概念 ◆ 四种基本类型的模块 ➢ 传入模块:从下属模块取得数据,经过某些处理,再 将其传送给上级模块。 ➢ 传出模块:从上级模块获得数据,进行某些处理,再 将其传送给下属模块。 ➢ 变换模块:即加工模块。它从上级模块取得数据,进 行处理,转换成其它形式,再传送回上级模块。 ➢ 协调模块:对所有下属模块进行协调和管理的模块
共京部電大学 711结构图的分解和类型 ◆原子模块:结构图中不能再分解的底层模块; 因子分解系统 所有系统的加工处理都由原子模块完成; 其它非原子模块仅仅进行控制和协调的功能。 通常,系统玏能结构图根据数据流图中加工特性 分为以下两种结构 >变换处理型 >事务处理型 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心 5
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 5 7.1.1 结构图的分解和类型 ◆ 原子模块:结构图中不能再分解的底层模块; ◆ 因子分解系统: ➢ 所有系统的加工处理都由原子模块完成; ➢ 其它非原子模块仅仅进行控制和协调的功能。 ◆ 通常,系统功能结构图根据数据流图中加工特性 分为以下两种结构: ➢ 变换处理型 ➢ 事务处理型
共京部電大学 712变换型结构 ◆变换型数据处理问题的工作过程大致分为 步, 取得数据 变换数据 取得数据 变换数据 给出数据 C C→D D 给出数据 主模块① C↑D 取得C C变换成D④给出D C 取得BB变换成C③D变换成E⑤给出E 取得AA变换成B② ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 6 7.1.2 变换型结构 ◆ 变换型数据处理问题的工作过程大致分为 三步, ➢ 取得数据 ➢ 变换数据 ➢ 给出数据
共京部電大学 713事务型结构 存在某一个作业数据流,它可以引发一个或多 个处理,这种数据流就叫做事务。 事务处理中心 @四 事务处理加工 ① ◆事务是最小的工作单元,不论成功与否都作为 个整体进行工作。 事务中心 原子性 一内部 结果 表示的作业作业 结果 信息 致性 [轴入已分析的作出」 「给出结果 作业 作业 已分析 的作业 隔离性 读入 析作业 事务目事务2事务3事务4 >持久性 操作口[操作2][操作3][操作4[操作5[操作6 细节1[綑节2][细节3[细节4[细节5[细节6[细节71 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 7 7.1.3 事务型结构 ◆ 存在某一个作业数据流,它可以引发一个或多 个处理,这种数据流就叫做事务。 ➢ 事务处理中心 ➢ 事务处理加工 ◆ 事务是最小的工作单元,不论成功与否都作为 一个整体进行工作。 ➢ 原子性 ➢ 一致性 ➢ 隔离性 ➢ 持久性
共京部電大学 72变换映射 擒塾娛射男设计耀文程存蠹热技 征的 运甩变换映射方法建 始的系统结构图,然后 进行多次改进,得到 的最终结构图。 >复审并评估分析模型; >复审并重画数据流图; 确定数据流图中的变换和事务特征; 区分输入流、输岀流和中心变换部分,即标明数据流 的边界; 进行一级“因子化”分解,设计顶层和第一层模块 进行二级“因子化”分解,设计中、下层模块; 利用一些启发式原则来改进系统的初始结构图,直到 得到符合要求的结构图为止。 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 8 7.2 变换映射 ◆ 变换映射是一组设计步骤,将具有变换流特征的 数据流图映射为一个预定义的程序结构模版。 ◆ 运用变换映射方法建立初始的系统结构图,然后 进行多次改进,得到系统的最终结构图。 ➢ 复审并评估分析模型; ➢ 复审并重画数据流图; ➢ 确定数据流图中的变换和事务特征; ➢ 区分输入流、输出流和中心变换部分,即标明数据流 的边界; ➢ 进行一级“因子化”分解,设计顶层和第一层模块; ➢ 进行二级“因子化”分解,设计中、下层模块; ➢ 利用一些启发式原则来改进系统的初始结构图,直到 得到符合要求的结构图为止
共京部電大学 721重画数据流图 其出发点是描述系统中的数据是如何流动的;并 根据需要将局部层次的数据流图合并为一层,便 于理解和设计; 以需求分析阶段的数据流图为基础,可以从物理输 入到物理输出,或者相反;也可以从顶层加工开始 ,逐层向下; 般情况下,在图上不要出现控制逻辑(例如判定 和循环等),箭头只表示数据流而非控制流; 不用考虑系统的开始和结束; 省略每一个加工的异常处理,只考虑主要加工处理 逻辑; 当数据流进入和离开一个加工时,要仔细地标记它 们,不要重名。 如有必要,可以使用逻辑运算符“与”和“或”。 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心 9
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 9 7.2.1 重画数据流图 ◆ 其出发点是描述系统中的数据是如何流动的;并 根据需要将局部层次的数据流图合并为一层,便 于理解和设计; ➢ 以需求分析阶段的数据流图为基础,可以从物理输 入到物理输出,或者相反;也可以从顶层加工开始 ,逐层向下; ➢ 一般情况下,在图上不要出现控制逻辑(例如判定 和循环等),箭头只表示数据流而非控制流; ➢ 不用考虑系统的开始和结束; ➢ 省略每一个加工的异常处理,只考虑主要加工处理 逻辑; ➢ 当数据流进入和离开一个加工时,要仔细地标记它 们,不要重名。 ➢ 如有必要,可以使用逻辑运算符“与”和“或
共京部電大学 7.2.2确定系统边界 中心变换:多股数据流汇集的地方往往是系统 的中心变换部分。 ◆逻辑输入:可以从数据流图上的物理输入开始 ,一步一步向系统中间移动,一直到数据流不 再被看作是系统的输入为止,则其前一个数据 流就是系统的逻辑输入。 可以认为逻辑输入就是离物理输入端最远的,且仍 被看作是系统输入的数据流。 逻辑输岀:从物理输岀端开始,一步一步地向 系统中间移动,就可以找到离物理输出端最远 ,且仍被看作是系统输岀的数据流。 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心 10
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 10 7.2.2 确定系统边界 ◆ 中心变换:多股数据流汇集的地方往往是系统 的中心变换部分。 ◆ 逻辑输入:可以从数据流图上的物理输入开始 ,一步一步向系统中间移动,一直到数据流不 再被看作是系统的输入为止,则其前一个数据 流就是系统的逻辑输入。 ➢ 可以认为逻辑输入就是离物理输入端最远的,且仍 被看作是系统输入的数据流。 ◆ 逻辑输出:从物理输出端开始,一步一步地向 系统中间移动,就可以找到离物理输出端最远 ,且仍被看作是系统输出的数据流