- 1、本文档共96页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程模型与方法 Models Methods of Software Engineering 第七章 结构化设计方法 修佳鹏 xiujiapeng@bupt.cn 本章内容 7.1 系统功能结构图 7.2 变换映射 7.3 事务映射 7.4 变换-事务混合型的系统结构图 7.5 改进系统功能结构图的启发式原则 7.6 数据设计和文档设计的原则 7.7 设计的后处理 7.8 详细设计 7.9 界面设计 7.10 HIPO设计工具 7.11 Jackson系统开发方法简介 引言 结构化设计方法依据需求分析的结果“数据流图”推导出软件的系统功能结构图。其要点是: 建立数据流的类型。 指明数据流的边界。 将数据流图映射到程序结构。 用“因子化”方法定义控制的层次结构。 用设计测量和一些启发式规则对结构进行细化。 7.1 系统功能结构图 7.1.1 系统结构图中的模块 7.1.2变换型数据流与变换型系统结构 7.1.3事务型数据流与事务型系统结构图 7.1.1 系统结构图中的模块 在系统结构图中不能再分解的底层模块为原子模块。一般有四种基本类型的模块: 传入模块 :从下属模块取得数据,经过某些处理,再将其传送给上级模块。 传出模块 :从上级模块获得数据,进行某些处理,再将其传送给下属模块。 变换模块 :即加工模块。它从上级模块取得数据,进行处理,转换成其它形式,再传送回上级模块。 协调模块 :对所有下属模块进行协调和管理的模块。 7.1.1 系统结构图中的模块 原子模块:结构图中不能再分解的底层模块; 因子分解系统: 所有系统的加工处理都由原子模块完成; 其它非原子模块仅仅进行控制和协调的功能。 系统结构图是完全因子分解的系统是最好的系统。 通常,系统功能结构图根据数据流图中加工特性分为以下两种结构: 变换处理型 事务处理型 7.1.2变换型数据流与变换型系统结构 变换型数据处理问题的工作过程大致分为三步, 取得数据 变换数据 给出数据 7.1.3事务型数据流与事务型系统结构图 事务型数据处理问题的工作机理是接受一项事务,根据事务处理的特点和性质,选择分派一个适当的处理单元,然后给出结果。 可以引发一个或多个处理作业数据流,就叫做事务。事务是最小的工作单元,不论成功与否都作为一个整体进行工作。 事务型系统结构图中由以下模块: 事务处理中心:负责任务的分派; 事务处理加工:完成具体的处理; 事务的特点 原子性:标识事务是否完全地完成。如果事务完成,则组成事务的所有任务都完成,一旦有一个任务失败,事务就失败,系统反回事务开始前的状态。 一致性:保证系统的任何事务最后都处于有效状态。 隔离性:在隔离状态执行事务,使它们好像是系统在给定时间内执行的唯一操作。 持久性:持久性意味着一旦事务执行成功,在系统中产生的所有变化将是永久的。 事务型系统结构图 7.2 变换映射 变换映射是一组设计步骤,将具有变换流特征的数据流图映射为一个预定义的程序结构模版。 运用变换映射方法建立初始的系统结构图,然后进行多次改进,得到系统的最终结构图。 (1)复审并评估分析模型; (2)复审并重画数据流图; (3)确定数据流图中的变换和事务特征; (4)区分输入流、输出流和中心变换部分,即标明数据流的边界; (5)进行一级“因子化”分解,设计顶层和第一层模块; (6)进行二级“因子化”分解,设计中、下层模块; (7)利用一些启发式原则来改进系统的初始结构图,直到得到符合要求的结构图为止。 重画数据流图 其出发点是描述系统中的数据是如何流动的。 可以从顶层加工框开始,逐层向下检查各变换型加工是否具有高内聚的特性(即加工具有执行单一、独立的功能)以及每个加工是否具有足够多的细节信息,不需要再进一步细化。 并根据需要将局部层次的数据流图合并为一层,便于理解和设计; 确定数据流边界 中心变换:多股数据流汇集的地方往往是系统的中心变换部分。 逻辑输入:可以从数据流图上的物理输入开始,一步一步向系统中间移动,一直到数据流不再被看作是系统的输入为止,则其前一个数据流就是系统的逻辑输入。 可以认为逻辑输入就是离物理输入端最远的,且仍被看作是系统输入的数据流。 逻辑输出:从物理输出端开始,一步一步地向系统中间移动,就可以找到离物理输出端最远,且仍被看作是系统输出的数据流。 一级因子化分解 其主要任务就是设计顶层和第一层模块。 顶层模块: 主要起到控制和协调的作用; 用程序名字命名,将它画在与中心变换相对应的位置上; 它调用下层模块,完成系统所要做的各项工作 。 中层模块(第一层): 既完成一部分控制,又完成适当的变换工作; 为每一个逻辑输入设计一个输入模块,为主模块提供数据; 为每一个逻辑输出设计一个输出模块,它将主模块提供的数据输出; 为中心变
文档评论(0)