软件工程结构化系统设计.ppt

上传人:za****8 文档编号:16961139 上传时间:2020-11-05 格式:PPT 页数:68 大小:663KB
收藏 版权申诉 举报 下载
软件工程结构化系统设计.ppt_第1页
第1页 / 共68页
软件工程结构化系统设计.ppt_第2页
第2页 / 共68页
软件工程结构化系统设计.ppt_第3页
第3页 / 共68页
资源描述:

《软件工程结构化系统设计.ppt》由会员分享,可在线阅读,更多相关《软件工程结构化系统设计.ppt(68页珍藏版)》请在装配图网上搜索。

1、第五章 结构化系统设计 首先研究、分析和审查数据流图。 从软件的需求规格说明中弄清数据 流加工的过程,对于发现的问题及 时解决。 然后根据数据流图决定问题的类型。 数据处理问题典型的类型有两种: 变换型 和 事务型 。针对两种不同的 类型分别进行分析处理。 由数据流图推导出系统的初始结 构图。 利用一些启发式原则来改进系统 的初始结构图,直到得到符合要 求的结构图为止。 修改和补充数据词典。 制定测试计划。 目的 :DFDSC 1复审 DFD图 ,必要时可再次进行修改或 细化 2鉴别 DFD图所表示的软件系统的 结构特 征 ,确定它所代表的软件结构是属于 变 换型 还是 事务型 3按照 SD方

2、法规定的一组规则,把 DFD图 映射为初始的 SC图 4按照设计改进原则优化和改进初始的 SC图,获得最终 SC图。 SD步骤 系统结构特征 : 变换型 事务型 变换型 结构模型 系统由三个部份组成:传人 路径,变换中心 ,传出路径。流 经这三个部分的数据流,分别 称为传人流、变换流和传出流。 变换型 结构模型 变换型系统结构图 变换型数据处理问题的工作过程大 致分为三步,即取得数据,变换数 据和给出数据。 相应于取得数据、变换数据、给出 数据,变换型系统结构图由输入、 中心变换和输出等三部分组成。 事务型 结构模型 由至少一条 接受路径 , 个 事务 中心 与若干条 动作路径 组成。 当外部

3、信息沿着接受路径进入系 统后,经过事务机处理获得某个 特定值,就能据此启动某 条动 作路径的操作。 事务型 结构模型 事 务 型 变 换 型 建立初始结构图 SC图符号 SC图:显示软件的 组成模块 及 调用关系 传入模块 从下属模块取得数据,经过 某些处理,再将其传送给上级模块。它 传送的数据流叫做逻辑输入数据流。 传出模块 从上级模块获得数据,进行 某些处理,再将其传送给下属模块。它 传送的数据流叫做逻辑输出数据流。 变换模块 它从上级模块取得数据,进 行特定的处理,转换成其它形式,再传送 回上级模块。它加工的数据流叫做变换数 据流。 协调 (控制 )模块 对所有下属模块进行 协调和管理的

4、模块。 简单调用 选择调用 与 循环调用 变换分析 变换分析 变换型 DFD 初始 SC图 事务分析 变换分析 事务型 DFD 初始 SC图 变换分析 例 1.区分传入 ,传出 ,娈换中心 变换分析 例 2.第一级分解 SC图 : 项层 :控制 第一层 : 传入 ,传出 , 中心变换 传入 传出 变换 2.第一级分解 变换分 析 例 3.第二级分解 变换分析 例 3.第二级分解 变 换 分 析 例 3.第二级分解 c,e u,w 初始的 SC图 c,e 作业 P76 1,4 变换分析方法由以下四步组成: 重画数据流图; 区分有效(逻辑)输入、有效 (逻辑)输出和中心变换部分; 进行一级分解,设

5、计上层模块; 进行二级分解,设计输入、输 出和中心变换部分的中、下层模 块 。 变换分析小结 在选择模块设计的 次序 时,必须对一 个模块的 全部直接下 属模块 都设 计完成之后, 才能转向另 一个模块的 下层模块的 设计。 在 设计下层模块时,应考虑模块的 耦合 和 内聚 问题,以提高初始结构图 的质量。 使用 “ 黑箱 ” 技术 : 在设计当前模 块时, 先把这个模块的所有下层模块 定义成 “ 黑箱 ” ,在设计中利用它们 时,暂时不考虑其内部结构和实现。 在这一步定义好的 “ 黑箱 ” ,在下一 步就可以对它们进行设计和加工。这 样,又会导致更多的 “ 黑箱 ” 。最后, 全部 “ 黑箱

6、 ” 的内容和结构应完全被 确定。 在模块划分时,一个模块的直接下 属模块一般在 5个 左右。如果直接下属 模块超过 10个,可设立中间层次。 如果出现了以下情况,就停止模块 的功能分解: 当模块不能再细分为明显的子任务 时; 当分解成用户提供的模块或程序库 的子程序时; 当模块的界面是输入输出设备传 送的信息时; 当模块不宜再分解得过小时。 事务型系统结构图 它接受一项事务,根据事务处理的 特点和性质,选择分派一个适当的 处理单元,然后给出结果。 在事务型系统结构图中,事务中心 模块按所接受的事务的类型,选择 某一事务处理模块执行。各事务处 理模块并列。每个事务处理模块可 能要调用若干个操作

7、模块,而操作 模块又可能调用若干个细节模块。 事务分析 在很多软件应用中,存在某种作 业数据流,它可以引发一个或多 个处理,这些处理能够完成该作 业要求的功能。这种数据流就叫 做事务。 与变换分析一样,事务分析也是 从分析数据流图开始,自顶向下, 逐步分解,建立系统到结构图。 事务分析过程 识别事务源 利用数据流图和数据词典,从问题 定义和需求分析的结果中,找出各 种需要处理的事务。通常,事务来 自物理输入装置。有时,设计人员 还必须区别系统的输入、中心加工 和输出中产生的事务。 规定适当的事务型结构 在确定了该数据流图具有事务型 特征之后,根据模块划分理论, 建立适当的事务型结构。 识别各种

8、事务和它们定义的操作 从问题定义和需求分析中找出的 事务及其操作所必需的全部信息, 对于系统内部产生的事务,必须 仔细地定义它们的操作。 注意利用公用模块 在事务分析的过程中,如果不同事 务的一些中间模块可由具有类似的 语法和语义的若干个低层模块组成, 则可以把这些低层模块构造成公用 模块。 对每一事务,或对联系密切的一 组事务,建立一个事务处理模块; 如果发现在系统中有类似的事务, 可以把它们组成一个事务处理模块。 对事务处理模块规定它们全部的 下层操作模块 对操作模块规定它们的全部细节 模块 变换分析是软件系统结构设计的主 要方法。 一般,一个大型的软件 系统是变换型结构和事务型结构 的混

9、合结构。所以,我们通常利 用以变换分析为主,事务分析为 辅的方式进行软件结构设计。 P60 软件模块结构的改进 模块功能的完善化 一个完整的模块应当有以下几部分 : 执行规定的功能的部分; 出错处理的部分。当模块不能完成 规定的功能时,必须回送出错标志,出 现例外情况的原因。 如果需要返回一系列数据给它的调 用者,在完成数据加工或结束时, 应 当给它的调用者返回一个结束状态标志。 模块的大小 程序语句 :10-100条 模块的独立性 ,是划分 模块的最高准则 扇入和扇出 扇入 :模块的上级模块数 扇出 :模块调用下属模块 的数目 设计目标 : 高扇入 ,非高扇出 尽可能减少高扇出结构,随着深度

10、 增大扇入 。 如果一个模块的扇出数过大,就意味着 该模块过分复杂,需要协调和控制过多 的下属模块。应当适当增加中间层次的 控制模块。 例 :高扇出模块结构改进 续 续 续 完全相似: 在结构上完全相似,可 能只是在数据类型上不一致。此时可以 采取完全合并的方法。 局部相似: 找出其相同部分,分离 出去,重新定义成一个独立的下一层模 块。还可以与它的上级模块合并。 重复结构 模块的 控制范围 包括它本身及其所有的 从属模块。 模块的作用范围是指模块内一个判定的 作用范围,凡是受这个判定影响的所 有模块都属于这个判定的作用范围。 模块的作用范围应在控制范围之内 作用范围 /控制范 围原则 : 一

11、个判定 的作用范 围包含在 这个判定 所在模块 的控制范 围之内 避免或减少使用病态联接 应限制使用如下三种病态联接: 直接病态联接 即模块 A直接从模 块 B内部取出某些数据,或者把某些数 据直接送到模块 B内部 。 公共数据域病态联接 模块 A和模块 B通过公共数据域,直接传送或接受数 据,而不是通过它们的上级模块。这种 方式将使得模块间的耦合程度剧增。它 不仅影响模块和模块,而且影响与 公共数据域有关联的所有模块。 通信模块联接 即模块 A和模块 B通 过通信模块 TABLEIT传送数据。从表 面看,这不是病态联接,因为模块 和模块 B都未涉及通信模块 TABLEIT 的内部。然而,它们

12、之间的通信(即 数据传送)没有通过它们的上级模块。 从这个意义上讲,这种联接是病态的。 模块的大小要适中 模块的大小,可以用模块中所含语句的 数量的多少来衡量。把模块的大小限制 在一定的范围之内。通常规定其语句行 数在 50 100左右,保持在一页纸之内, 最多不超过 500行。 设计功能可预测的模块,但要避免过 分受限制的模块 一个功能可预测的模块,不论内部处 理细节如何,但对 相同的输入数据 , 总能产生 同样的结果 。但是,如果模 块内部蕴藏有一些特殊的鲜为人知的 功能时,这个模块就可能是不可预测 的。对于这种模块,如果调用者不小 心使用,其结果将不可预测。 如果一个模块的局部数据结构的

13、大小、 控制流的选择或者与外界 (人、硬软件 ) 的接口模式被限制死了,则很难适应 用户新的要求或环境的变更。 为了能够适应将来的变更,软件模块 中局部数据结构的大小应当是可控制 的,控制流的选择对于调用者来说, 应当是可预测的。而与外界的接口应 当是灵活的。 软件包应满足设计约束和可移植性 为了使得软件包可以在某些特定的环境下 能够安装和运行,对软件包提出了一些设 计约束和可移植的要求。例如,设计约束 有时要求一个程序段在存储器中覆盖自身。 当这种情况出现时,设计出来的软件程序 结构不得不根据重复程度、访问频率、调 用间隔等等特性,重新加以组织。 例 例 例 例 例 例 例 作业 P76: 1,2,4

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!