总体设计和详细设计2

上传人:最**** 文档编号:117923410 上传时间:2019-12-11 格式:PPT 页数:82 大小:508KB
返回 下载 相关 举报
总体设计和详细设计2_第1页
第1页 / 共82页
总体设计和详细设计2_第2页
第2页 / 共82页
总体设计和详细设计2_第3页
第3页 / 共82页
总体设计和详细设计2_第4页
第4页 / 共82页
总体设计和详细设计2_第5页
第5页 / 共82页
点击查看更多>>
资源描述

《总体设计和详细设计2》由会员分享,可在线阅读,更多相关《总体设计和详细设计2(82页珍藏版)》请在金锄头文库上搜索。

1、第五章 传统的设计方法 结构化设计模型 结构化设计方法 过程设计 Jackson方法 面向数据流设计和面向数据设计 SD方法 数据流是考虑一切问题的出 发点 Jackson方法 算法的结构在很大程度上依 赖于要处理的数据结构 将分析模型转换为软件设计将分析模型转换为软件设计 数据数据 字典字典 数据数据 流图流图 E-RE-R图图 状态变迁图状态变迁图 加加 工工 规规 约约 控制规约控制规约 数数 据据 对对 描描 述述 象象 数 据 设 计 体系结构设计 接口设计 过程设计 分析模型设计模型 5.2 结构化设计方法 结构设计也称概要设计 体系结构设计 SC(结构)图 接口设计 SC图 过程

2、设计也称详细设计 模块的处理过程 N-S图,PAD(问题分析图),IPO图 ,PDL等 概要设计的任务 把系统的功能需求分配给 软件结构,形成软件的模块结构 图。 简要的讲,就是把流程图 中的加工(处理)转化成模块, 形成模块结构图。 软件的模块结构图 概要设计的表示形式 层次(hierarchy)图 HIPO图 SC图 正文加工系统的层次图 带编号的层次图( HIPO ) 与层次图(与层次图( H H )中每个方框相对应(按编号),都有一)中每个方框相对应(按编号),都有一 张张IPOIPO图描述该框代表的模块的处理过程,称为图描述该框代表的模块的处理过程,称为HIPOHIPO图。图。 IP

3、O图的一个例子 SC图 结构图是精确表达程序结构的图形表 示方法。它作为软件文档的一部分,清 楚地反映出程序中模块之间的层次调用 关系和联系:它不仅严格地定义了各个 模块的名字、功能和接口,而且还集中 地反映了设计思想。换句话说它以特 定的符号表示模块、模块间的调用关系 和模块间信息的传递。 SC图允许使用的六种模块 一般地,在系统结构图中有6种类型的模块; (1)传入模块从下属模块取得数据,经过某些处 理,再将其结果传送给上级模块。它传送的数据流叫逻辑 输入数据流。 (2)传出模块从上级模块获得数据,进行某些处 理,再将其结果传送给下属模块。它传送的数据流叫作逻 辑输出数据流。 (3)变换模

4、块也叫加工模块。它从上级模块取得 数据,进行特定的处理,转换成其它形式,再传送回上级 模块。它加工的数据流叫作变换数据流。大多数计算模块 (原子模块)属于这类。 (4)源模块 (5)漏模块 (6)控制模块 在实际系统中有些模块属于上述某类型,有些 模块是上述各种类型的组合。 SC图的组成符号 (a)传入 (b)传出 (c)变换 (d)源(f)控制 X Y Y X XY 图图5.2 SC5.2 SC图使用的模块符号图使用的模块符号 X (e)漏 X XY SC图的模块调用 简单调用 图图5.3 5.3 简单调用的两种表示法简单调用的两种表示法 B (a) X,Y Z A C Z B (b) 1

5、A C 2 入出 X,YZ Z 选择调用 A B C D v 注意:图中必须画出红线的数据流 循环调用 A B C v 注意:图中必须画出红线的数据流 产生最佳解的一般结构图 产生最隹解 得到最好输入计算最隹解输出结果 读输入 编辑输入 结果格式化显示结果 好输入 原始输入 编辑结果 格式化解 解 好输入 解 原始输入 解 格式化解 数据 数据流图的类型 vv在软件设计之前首先要分清数据流图在软件设计之前首先要分清数据流图 的特征,才能更加有利于设计。的特征,才能更加有利于设计。 vv在系统分析模型中的数据流图,均可在系统分析模型中的数据流图,均可 纳入两种典型的形式,即纳入两种典型的形式,即

6、变换型结构变换型结构 处理系统和事务型结构处理系统。处理系统和事务型结构处理系统。 变换型结构的DFD 变换 中心 传入 传出 信 息 传入流 传出流 变换流 时间 变换型结构也叫变换流 信息通常信息通常 以以“ “外部世外部世 界界” ”的形式的形式 进入软件系进入软件系 统,经过处统,经过处 理后再以理后再以“ “ 外部世界外部世界” ” 的形式离开的形式离开 系统,所以系统,所以 变换性结构变换性结构 也可以用右也可以用右 图表达:图表达: 事务型结构(事务流)DFD 同时存在两类结构 T 传入变换传出 事务中心 接收 部分 发送 部分 结构化设计方法的设计 由数据流模型导出系统(模块)

7、结构图 1、变换分析与变换设计 计算最佳解 获得好的输入输出结果 输入流变换中心 输出流 变换型数据流 由 变 换 型 数 据 流 映 射 得 到 的 程 序 结 构 问题求解 计算最佳解输出结果 显示结果格式化结果 获得好的输入 读数据 编辑数据 数据输入数据输出数据变换 变换型的程序结构 结构化设计方法的设计 2、事务分析与事务设计 T 数 据 输 入 流事务中心一组处理 事务型数据流 事务型程序结构 事务处理 事务1事务2事务4 操作1操作2操作3操作4 细节1细节2细节3细节4 事务3事务层 操作层 细节层 由 事 务 型 数 据 流 映 射 得 到 的 程 序 结 构 结结 构构 化

8、化 设设 计计 方方 法法 的的 设设 计计 步步 骤骤 精化数据流 流类型 区分事务中心和数据接受选路区分输入和输出分支 映射成事务结构 映射成变换结构 用启发式设计规则精化软件 导出接口描述和全局数据结 复查 详细设计 事务分析 变换分析 事 务 型 变 换 型 变换分析 第一步:划分DFD图的边界 第二步:建立初始SC图的框架 顶层都只含一个用于控制的主 模块 第一层包括传入、传出和中心 变换三个模块 第三步:分解SC图的各个分支 分解实质上是“映射” 最后可组成初始SC图 在形成的SC图下应有模块的简要说明 每个模块的简要说明应有: 进出该模块的信息(接口描述); 模块内部的信息(功能

9、、数据) ; 过程陈述,包括主要判定点及任务 等; 对约束、限制的说明。 例子划分DFD P ED CBA W R UV Q ab c d e p r w u v 传入部分 变换中心 传出部分 图图5.8 5.8 在在DFDDFD图上划分传入、传出和中心加工部分图上划分传入、传出和中心加工部分 第一步:第一步: 第一级分解 MEMT MC MA c,e c,eu,w u,w 图图5.9 5.9 第一级分解后的第一级分解后的SCSC图图 第二步:第二步: 第一级分解后的SC(另一种画法) MC MA1 c e u,w c,p QPR e p r r w,u w 传入分 支模块 中心加工 分支模块

10、 传出分 支模块 MA2ME1ME2 传 入 分 支 的 分 解 (1) MA C B A b a c E D d e c,e 第三步:第三步: 传入分支的分解(2) Get E A to B Read DD to E Read A B to CGet B Get C MA c,e c e b b c a a b d d b 图图5.12 5.12 传入分支的分解之二传入分支的分解之二 第三步:第三步: 传 出 分 支 的 分 解 ME W Write V u u w,u v v v Put U U to V ME UWrite W w wu w,u V (1)(2) 变换中心的分解 MT R

11、 P Q e p c,prr w,u 图图5.15 5.15 中心加工分支的分解中心加工分支的分解 组成初始SC图 MC MT Q P R ME Write W Put U U to VWrite V A to BRead A Get B D to ERead D B to C Get C Get E MA 图图5.16 5.16 从图从图5.85.8导出的初始导出的初始SCSC图图 事务分析 第一步:在DFD图上确定边界 事务中心 接收部分(包括接收路径) 发送部分(包括全部动作路径) 第二步:画出SC图框架 DFD图的三个部分分别映射为事务控 制模块,接受模块和动作发送模块 第三步:分解和

12、细化接收分支和发送分 支 例子划分DFD 传入 T 变换传出 接收部分 事务 中心 动 作 发 送 部 分 + + 事务型SC图的顶层分解 动作发送 事务控制 接收 顶层 第一层 事务分析的映射方法 总控总控 调度调度 C C路径路径B B路径路径A A路径路径 A A路径路径 B B路径路径 C C路径路径 接收接收 路径路径 混合结构 C 1 A C 3 B C 2 D L F G EKJ a b b1 b2 b3 c1 c2 c3 de f g h j k l m 归纳 如果数据流不具有显著的事务特点, 最好使用变换设计 如果具有明显的事务中心,应该采用 事务设计方法 不要机械遵循规则,

13、根据实际情况将 模块进行合并或分解 5.2.5 优化结构设计的指导规则 对模块分割、合并和变动调用关系的指导规则 提高模块独立性(按四项基本原则调整 ) 模块大小合适 (可脱离DFD图进行 调整) 保持高扇入/低扇出(3-5不超过9)的原则 提高公共(共享)模块的使用 率! 作用域/控制域规则 作用域不要超出控制域的范围 位置离受它控制的模块越近越好 扇入和扇出 M M M的扇入 M的扇出 例子:扇出 计算 实发工资 取得 工资数据 编外人员 扣 款 编外人员 工 资 编外人员 税 收 薪金制 工资额 计时制 工资额 常规 扣款 税收 扣款 煎饼形结构 不可取! 例子:扇出 常规 扣款 编外人

14、员 实发工资 计 算 实发工资 取 得 工资数据 计时工人 实发工资 计薪工人 实发工资 编外人员 扣 款 编外人员 税 收 编外人员 工 资 税收 扣款 计时制 工资额 薪金制 工资额 把煎饼形结构转 换成塔型结构 有效模块化设计的启发式原则: 1.评估软件结构的初始模型以降低耦合并提高内聚 。 2.高层高扇出使结构最小化;当深度增加时(特别 是底层)争取提高扇入。(图) 3.将模块的作用范围限制在模块的控制范围内。 作用范围:受模块内一个判定影响的所有模块的集 合。 控制范围:模块本身及其所有下属模块的集合。 4.评估模块接口以降低复杂度和冗余并提高一致性 。 5.定义功能可以预测的模块,

15、(如对于相同的输入 ,输出是恒定的),但要避免过分限制模块(如数据 结构的大小、控制流的选择、外部接口的模式等限制 )。 作用域和控制域 作用域和控制域 TOP CD E F A B TOP CD E F A B TOP CD E F A B 模块D的作用域超出控制域模块TOP的作用域在控制 域内但距离太远,使模块B 、D的接口有冗余的信息 D的作用域在控制域内 结构变化结构变化 同一个问题的各种软件结构同一个问题的各种软件结构 总体(概要)设计阶段值得注意的问题 “一个不能工作的最佳设计”的价值是 值得怀疑的 应该在设计的早期阶段对软件结构进 行精化 结构简单通常既表示设计风格优雅有 表明效率高 过程(详细)设计与概要设计的不同 在总体(概要)设计阶段,数据项和 数据结构的描述比较抽象,主要是:形 成SC(模块结构)图 详细设计要提供关于算法的更多细节 5.3 过程设计 目的 确定模块采用的算法和块内数 据结构 任务:编写软件的“过程设计说明书 ” 为每个模块确定采用的算法

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号