传统设计方法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
21/109

2019年4月1源自文库日星期四
第9章 传统设计方法
一个计算工资总额的简单结构图
22/109

2019年4月18日星期四
第9章 传统设计方法
建立结构图的规则和方针
程序是分层的,而且模块按高内聚、低耦 合的方式组织在一起。 模块之间的连线表示高层模块对低层模块 调用的某种结构,其上的小箭头表示在模 块间传递的数据,以及各个模块的输入和 输出。 从结构图上不能了解模块内部的内容,但 可知道模块以何种方式实现其名称所表示 的功能,如何使用输入数据,以及如何产 生输出数据。
其标出整个系统的文件、程序及人工处理部分。 通过确认文件媒介(磁盘、磁带)来增加物理实 现的描述。 提供整个系统的总体情况。
描述多层系统中层与层之间的交互。
其重点放在物理对象的实现上(如可执行的程 序、文件和文档等)(与DFD不同)。
14/109

系 统 流 程 图 的 常 用 符 号

工 资 系 统 的 系 统 流 程 图 样 例
该图是工资系 统的系统流程 图, 在前面给 出它的DFD。

RM O的 系 统 流 程 图
该实例中,项目组定 该图增加了在 RMO 义一个新的子系统而 子系统的事件图没有 RMO决定采用更高的 不是把报表增加到己 出现的子系统 。 自动化程度 ,以取得几个 存在的子系统上。 销售分析报告。
表达系统执行过程;描述所有I/O和与之有 关的处理;包括所有文件的建立过程;表 达数据在系统中的流向。 生成时应考虑:信息处理的步骤和内容; 每一步骤所涉及的物理过程;各步骤间的 物理和逻辑关系。
12/109

2019年4月18日星期四
第9章 传统设计方法
根据相似特点把处理过程分:程序组和 子系统。
20/109

2019年4月18日星期四
第9章 传统设计方法
1. 结构图
结构图的层次描述系统每部分的功能和子 功能。
例如,某程序有计算工资总额的功能函数, 它可能的子功能函数是计算基本工资、计 算加班费和计算税费。在结构图上用矩形 框表示功能,每个矩形框代表一个模块。 结构图:用来展示一个计算机程序模块间 关系的层次图。
2019年4月18日星期四
第9章 传统设计方法
9.2 自动化系统边界
自动化系统边界将DFD的处理划分成手工处理 部分和系统处理部分。
处理过程可在系统边界内,也可在系统边界外。 系统边界外的处理是一些手工处理(如排序并审 核文件资料、输入用户订单或查看刚到的货物)。 边界里面的处理过程能够以在线处理或批处理 模式进行处理。
37/109

2019年4月18日星期四
第9章 传统设计方法
1. 事务分析
事务分析使用作为输入的系统流程图和 事件表建立树型结构的顶端模块,即产 生主程序的主模块和第一层被调用模块。
事务分析:基于DFD的结构图开发,用 来描述多种事务类型的处理。
38/109

2019年4月18日星期四
第9章 传统设计方法
23/109

2019年4月18日星期四
第9章 传统设计方法
结 构 图 符 号
24/109

2019年4月18日星期四
第9章 传统设计方法
模块结构图的标准形式
⑴变换型结构 ⑵事务型结构
25/109

2019年4月18日星期四
变换型系统由三部分组成:输入、数据加 工(中心变换)和输出; 功能:将输入的数据经过加工后输出。
28/109

2019年4月18日星期四
第9章 传统设计方法
从高层模块到低层模块的箭头表示程序 调用,调用的顺序总是从左到右的。 结构图在表示调用结构时仍是具有严格 的层次。
一个低层的模块永远不会调用高层模块。
29/109

2019年4月18日星期四
第9章 传统设计方法
3. 数据耦合
数据耦合:在一个程序调用中, 模块间传递数据 项个数。 带空心圆的箭头叫数据耦合, 表示I/O模块的数据。 数据耦合可以是一个单独的数据项(如一个客户 的账号),也可以是更高层次的数据结构(如一个 数组、记录或其他数据结构)。 结构图中每一层所用耦合类型,往往与细节分层 的有关原则相一致。 靠近结构图顶端的模块,它们的耦合往往使用高 度集中的数据结构,结构图底端的耦合往往是一 些单独的数据项、标记和相对较小的数据结构。
在最终系统中,数据流将是用户界面中的表单、报表, 或者是与其他系统进行转换的文件或通信。
穿过边界的数据流,表示程序间的通信。在最终系统 中,这些数据流仍是程序之间转换的文件或通信。
11/109

2019年4月18日星期四
第9章 传统设计方法
9.3 系统流程图
对组成一个完整系统的各计算机程序、文 件、DB,以及相关手工过程的表示。
5/109

2019年4月18日星期四
第9章 传统设计方法
模块
具有输入/输出、逻辑功能、运行程序、内部数 据属性的一组程序语句。 模块的输入来源和输出去向都是同一个调用者, 模块从调用者那里获得输入,然后再把产生的数 据返回给调用者; 逻辑功能:指它能够做什么事情,表达了它把输 入转换成输出的功能; 内部数据:指属于该模块自己的数据; 运行程序:指它如何用程序实现这种逻辑功能。
9.4.2 开发一个结构图
35/109

系统流程图
对应每个子系统的事件表
系统流程图中每个主要程序对应按事件划分的子系统,每个程序 有自己的结构图。 事件表中每个程序,即子系统包含若干个事件。 每个事件对应按事件划分的DFD中的一个处理。 每个处理进一步描述在基于事件表的DFD片段。
整个工资系统的结构图
32/109

2019年4月18日星期四
第9章 传统设计方法
该图所示的完整结构图是基于“产生工 资表事件”这个临时事件之后的系统活 动的。
在工资系统的分析阶段,分析员要确认 结算职工工资这一事件每周末要发生一 次,即系统每周运行一次。 当然同时还要确认许多其他的事件。
33/109
9/109

2019年4月18日星期四
该图展示了 工资单程序 带 所有主要的 是一幅包括 自 处理过程。 自动化系统边 动 该图说明 界的典型 DFD。 了系统界线 , 化 前者标识 也说明了程 系 整个自动化 序界线。 统 系统 ,后者将 该图是设 DFD 计的第一步 边 划分成, 独立的程序。 它确认程序 界 是什么,及 的 这些程序中 数 包含哪些处 理过程。 据
⑴变换型结构
第9章 传统设计方法
26/109

2019年4月18日星期四
第9章 传统设计方法
事务型系统由三层组成:事务层、操作层和细节 层; 功能:对接收的事务,按其类型选择某一类事务 处理。
⑵事务型结构
27/109

2019年4月18日星期四
第9章 传统设计方法
2. 程序调用
当一个模块激活一个低层模块以便执行所 需的服务或计算时,就发生程序调用。 每一次调用中,控制由调用模块传向被调 用模块,被调用模块接着执行一系列程序 语句,当调用过程结束后,被调用模块立 即把控制权返回给调用模块,程序紧接着 执行下面的声明或指令。 不同的编程语言中,程序调用的方式不同。
4/109

2019年4月18日星期四
第9章 传统设计方法
9.1 采用结构化方法进行应用程序结构的设计
模块:计算机程序的可标识部分,用来完成具 体定义的功能。
计算机程序:由一系列模块组成的可执行实体。 系统流程图:描述系统内计算机程序间所有控 制流的图,标识每段程序及其所存取的数据, 表明不同程序、子系统、相关文件和DB间的关 联关系。它记录整个系统的体系结构。 伪码:与结构化编程类似地语句,描述模块的 逻辑。
30/109

2019年4月18日星期四
第9章 传统设计方法
控制耦合
带实心圆的箭头。
在模块间使用的标识是一个表示某种结 果的内部信息。 经常使用低层模块产生的标识来表示结 果(如通过有效性测试的结果)。 另一常用作用:标识文件已经到了结尾。
31/109

2019年4月18日星期四
第9章 传统设计方法

RM O子 系 统 和 对 应 每 个 子 系 统 的 事 件

2019年4月18日星期四
第9章 传统设计方法
9.4 结构图
9.4.1 概念 9.4.2 开发一个结构图 9.4.3 评价结构图的质量
19/109

2019年4月18日星期四
第9章 传统设计方法
9.4.1 概念
1. 结构图 2. 程序调用 3. 数据耦合

2019年4月18日星期四
第9章 传统设计方法
两种方法
事务分析使用作为输入的系统流程图和 事件表建立树型结构的顶端模块,即产 生主程序的主模块和第一层被调用模块。
变换分析使用作为输入的数据流片段去 建立子树,程序中的每个事件建立一棵 子树。 每棵子树的主模块对应于主程序结构图 的第一层分支。
第9章 传统设计方法
2019年4月18日星期四
第9章 传统设计方法
本章内容
先导案例 概述 9.1 采用结构化方法进行应用程序结构的设计 9.2 自动化系统边界 9.3 系统流程图 9.4 结构图 9.5 模块算法设计:伪码 9.6 结构化应用程序设计与其他设计任务的集成 9.7 三层设计 要点回顾 阅读章节要求
6/109

2019年4月18日星期四
第9章 传统设计方法
模块的外、内部属性
外部属性:输入/输出和逻辑功能是模块的外部 属性,是在系统设计阶段所要讨论的问题; 内部属性:内部数据和运行程序是模块的内部属 性,它应该放在程序设计中进行讨论。 模块结构图中用矩形表达一个模块,模块的名称 写在矩形框的里面。

2019年4月18日星期四
第9章 传统设计方法
注意
结构图还必须与系统流程图相一致。
如果在开发中结构图发生了改变,项目 组也要相应地更新系统流程图。
34/109

2019年4月18日星期四
第9章 传统设计方法
设计结构图是为给程序建立模块层次结构。 结构图是树型结构,有根模块和分支模块。 逐一地建立结构图,再组成完整的结构图。 结构图开发方法: 1. 事务分析 2. 变换分析
2/109

2019年4月18日星期四
第9章 传统设计方法
先导案例
剧院系统有限公司:新事物,旧事物
3/109

2019年4月18日星期四
第9章 传统设计方法
概述
结构化模型、模型开发过程及其相关术语。
如何用系统流程图、结构图和模块伪码把 从分析阶段模型得来的信息转到设计模块。 把传统软件设计和其他设计阶段的内容整 合起来。 用传统方法设计三层结构。
模块的名称必须表达该模块的功能,即每一次调 用时该模块应该完成的任务。
7/109

2019年4月18日星期四
结构化设计模型
第9章 传统设计方法
8/109
分析员用自顶向下的方法进行设计。 以DFD、用结构化英语描述的详细文档, 以及详细的数据流定义来作为设计模型和 开发文档的输入部分。

事务分析过程
检查系统流程图和每一个大的程序块。
识别每个独立的事务,这些事务必须由程序支 持且必须为每一个单独的事务建立一个分支。 该程序至少在最高层有一个简单的用户界面, 并允许用户选择一种事务处理方式,然后激活 相应的模块来执行这个处理。 每个按其完成的功能来命名的处理模块都是这 些功能子树的主模块。每个子树都是根据该事 件的DFD片段建立的。
相似特点:时间间隔相同(如按月执行的 处理)、存取数据相同(如更新员工信息的 所有处理)、用户相同(如生成市场部报表 的所有处理)等。 产生的程序组和子系统有:数据流、控 制流、永久存储数据间的交互等复杂的 依赖关系。
13/109

2019年4月18日星期四
第9章 传统设计方法
系统流程图用图形的方式描述哪些子系统是系 统自动完成的,哪些需要人工的参与,画出数 据流和控制流。
自动化系 统边界
第9章 传统设计方法
流 图
部分输入、部 分输出的过程
10/109
程序边界
跨过边界的 数据流是I/O

2019年4月18日星期四
第9章 传统设计方法
数据流
可在系统内部、外部,或穿过系统界线和程序界线。 穿过系统界线的数据流是格外重要的,它们代表了系 统的输入和输出。 程序接口的设计(包括用户界面设计和与其他系统的 接口设计)是由穿过边界的数据流定义的。
相关文档
最新文档