结构化分析与设计方法课件

上传人:我*** 文档编号:144771231 上传时间:2020-09-14 格式:PPT 页数:95 大小:2.06MB
返回 下载 相关 举报
结构化分析与设计方法课件_第1页
第1页 / 共95页
结构化分析与设计方法课件_第2页
第2页 / 共95页
结构化分析与设计方法课件_第3页
第3页 / 共95页
结构化分析与设计方法课件_第4页
第4页 / 共95页
结构化分析与设计方法课件_第5页
第5页 / 共95页
点击查看更多>>
资源描述

《结构化分析与设计方法课件》由会员分享,可在线阅读,更多相关《结构化分析与设计方法课件(95页珍藏版)》请在金锄头文库上搜索。

1、,系统的结构化分析与设计方法,哈尔滨工业大学 国家示范性软件学院 主讲:范国祥 2011.03,本章主要内容,结构化方法 总体规划 结构化分析 结构化设计 结构化分析与设计实例,1. 结构化方法概述,20世纪60年代 软件危机 20世纪70年代 出现“结构化方法” 结构化方法的主要思想: (1)软件是有组织、有结构的逻辑实体,其结构为自顶向下的形式 (2)软件由程序和数据组成,其结构呈现三层组织形式,即系统、子系统、功能模块/数据体 (3)软件结构中的各部分既独立又关联,1. 结构化方法概述,结构化软件系统结构图,1. 结构化方法概述,结构化方法的特点: (1)抽象性:抽象描述系统的本质内容

2、(2)结构化、模块化、层次化: 分而治之,由分到合 (3)分析与设计线索: 面向过程(处理) 过程驱动 面向数据 数据驱动,2. 总体规划,总体规划: 为所规划的软件系统作出一个战略的、宏观的、全局的技术方案 构建宏观结构模型,为后期的分析与设计奠定基础 三个工作内容: (1)需求调查 (2)结构模型建立 (3)总体规划文档撰写,2.1 需求调查,需求调查内容: 系统目标与边界 组织机构调查 业务流程调查 单据、报表及台帐等数据源调查 现有资源调查 结束条件调查 薄弱环节调查,2.2 业务过程规划,(1)职能域的建立 系统的工作职能分类,如按照产、供、销、人、财、物等管理职能;再如前处理、计算

3、、后处理等 职能域 子系统 (2)业务过程的建立 一个职能域包括若干个业务过程 业务过程 模块 (3)业务活动的建立 业务活动是业务过程的细化,即一个业务过程可分解为若干个处理单元 业务活动 大的活动可以抽取为一个功能 可由调查的事件抽取,2.3 数据规划 主题数据库的建立,(1)实体法 根据业务过程规划中所出现的事物、人等实体组成数据实体 如:客户、供应商、职工、产品、零件、材料、设备 (2)过程分析法 根据业务过程规划的业务活动中出现的输入、输出、存储、记录等数据实体 (3)分类法 一般的数据可以分为若干类 如:存档类的数据、事务类的数据、统计类的数据,2.4 过程与数据间的关系建立 U/

4、C矩阵,(1)过程(处理)对数据的操作可以分为2类: Use 使用,包括Select、Insert、Delete、Update Create 建立,即创建数据 (2)U/C矩阵 二维矩阵表 横向业务 过程 ;纵向 主题数据库 (3)U/C矩阵的作用 为子系统划分提供帮助,2.5 子系统规划,(1)建立U/C矩阵 (2)整理成“基本U/C矩阵” 在原始的U/C矩阵基础上,反复调换列,使得尽可能多的“C”标记处于矩阵的对角线附近 (3)子系统划分 按照“职能域”对U/C矩阵进行划分 (4)子系统定义 含业务过程和主题数据库,2.6 建立结构模型,系统功能结构模型图,2.7 编制总体规划文档,系统总

5、体规划文档模板,OO 方法,传统 方法,3 结构化系统分析 宏观视图回顾,用传统结构化和OO的观点看待系统活动的比较,传统方法 系统是处理的集合 处理与数据实体的交互 处理接受输入并产生输出,OO方法 系统是交互对象的集合 对象与人或其他对象交互 对象发送和响应信息,VS.,一些处理由人完成,一些由计算机完成,当处理执行时,读出数据,处理后的数据写回数据文件中,对象是有行为的(方法),方法使得对象与其他对象或系统使用者进行交互。,一个对象通过发送消息请求另一个对象做某事,3 结构化系统分析,3 结构化系统分析 - 任务、过程、结果,分析基础:总体规划说明书 分析每个业务过程的详细流程 分析每个

6、主题数据库的数据结构 建立分析模型: 系统业务流程图 详细的数据流图 数据字典 结构化系统分析结果:系统分析说明书,3.1 业务过程分析,针对系统规划文档,进一步调查、分析系统的业务过程,建立业务流程图及系统流程图,对不同计算机程序、文件、数据库和相关手工过程设计的表达 主要从较高的层次描述系统的相对独立的子系统和程序模块 用图形化的方式描述了对子系统的组织 可以表明系统业务类型 Batch(批处理) Real time(实时处理),系统流程图(system flowchart),3.1 业务过程分析,系统流程图的符号,3.1 业务过程分析,系统流程图的符号,3.1 业务过程分析,系统流程图例

7、子 - 人工销售教材的业务流程,3.1 业务过程分析 人工业务过程建模,3.1 业务过程分析 人工业务过程建模,系统流程图例子 RMO系统流程图,3.1 业务过程分析 人工业务过程建模,系统流程图例子 某工资系统的系统流程图,系统流程图例子 -工资管理子系统的系统流程图,3.1 业务过程分析 系统业务逻辑建模,学籍与选课系统的系统流程图,3.1 业务过程分析 系统业务逻辑建模,3.2 基于数据流的系统分析 - 数据流图,图形元素少且符号简单易懂 较充分表达系统的主要需求:输入、输出、处理 和数据存储 最终用户、管理人员和系统开发人员只需稍加培 训即可读懂DFD图,方便交流,数据流图:用处理、外

8、部实体、数据流以及数据存储来(DFD) 表示系统需求的图表,DFD的特点,3.2 基于数据流的系统分析 - 数据流图,数据流图的符号说明,3.2 基于数据流的系统分析 - 数据流图,数据流图例子:,图6-3 显示处理“查询可用条目”的DFD,从外部实体出发的“数据流”可以是: 1. 外部实体发出的“处理请求”,即一个事件 2. 外部实体给出的“输入数据”,指向“外部实体”的“数据流” 一般是“处理”的反馈或处理 结果,3.2 基于数据流的系统分析 - 数据流图,DFD元素和事件表及ERD之间的一致性关系,3.2.1 数据流图和抽象层次,DFD图可以描述高层次的具有高度概括的系统处理 也可以描述

9、低层次的具有更详细分解的系统处理,抽象层次:把系统分解成一个逐步细化的分层集合的建模技术,关联DFD,0层DFD,1层DFD,3.2.1 数据流图和抽象层次,课程注册系统的DFD抽象层次,当一个系统响应事件较多时,常常将系统分成多个子系统,并为每个子系统创建一张关联图,3.2.2 关联图,关联图在表达系统边界时用处很大系统的范围是通过单个的处理和外部实体所表示的事物来定义的 数据存储不画在关联图中是因为它本身被认为是系统内部的内容,关联图:在单个处理符号中概括系统内所有处理活动的DFD,3.2.2 关联图,订单子系统的关联图,3.2.3 DFD片段,在DFD片段中,展示了处理、外部实体和内部数

10、据存储之间的 交互细节 每个DFD片段仅显示要响应该事件的那些数据存储 一个DFD片段是为事件表中的每一个事件创建的,DFD片段:用一个单一处理符号表示系统响应一个事件的DFD,课程注册系统的DFD片段,3.2.4 DFD的0层图,事件分离的系统模型/0层图: 将一个系统或子系统的所有DFD片段组合到一个单个的DFD图 中,这样的DFD图称为事件分离的系统模型/0层图,0层DFD图:“处理”的编号为i,3.2.4 DFD的0层图,课程注册系统中将DFD片段组合创建的0层图,3.2.4 DFD的0层图,0层图对整个系统或子系统进行比关联图更加详尽的描述 但是,有时不使用0层图,因为: 1)包含的

11、信息与DFD片段重复; 2)图表比较复杂,特别是对于需要响应较多事件的大系统 好处: 可以直观地分析各个“处理”之间的数据流的关联关系 适当规模的子系统可以使用0层图,3.2.5 详细层次的DFD,分解“处理”-理解“处理”的细节: 一个DFD片段中的处理也可以包含多个更小的处理 有时分析员需要将该DFD片段进一步细化,生成更 详细层次的DFD图,1层DFD图:将0层DFD中的处理进一步细化等到的DFD图 “处理”的编号为“i.j” 2层DFD图:将1层DFD中的处理进一步细化等到的DFD图 “处理”的编号为“i.j.k”,3.2.5 详细层次的DFD,1层DFD实例:“创建新订单”的更详细的

12、DFD图,3.2.6 DFD质量评估,高质量的DFD: 可读性强、内部一致、能够准确描述系统需求 措施: 最小化复杂度 保证数据流一致性,最小化复杂度: 就是使每幅DFD图尽量简单易懂,避免信息超量,信息超量: 当太多的信息同时显现时所发生的难以理解的情况,3.2.6 DFD质量评估,措施: 采用分层结构将DFD划分为小的且相对独立的子集 这样可以逐级阅读、考察DFD,最小化复杂度,构造DFD图的72规则: 单个DFD中不应有超过72个处理 单个DFD中不应超过72个数据流进出同一个处理/数据存储,接口最小化: DFD中各个元素之间的连接数越少越好,3.2.6 DFD质量评估,数据流一致性表现

13、在三个方面: 一个“处理”和该“处理”被详细分解后在数据流内容上应该一致 对一个“处理”,有数据流入却没有相对应的数据流出 对一个“处理”,有数据流出却没有相对应的数据流入,保证数据流一致性,3.2.6 DFD质量评估,黑洞 - 带有输入数据的但并不用其产生输出数据的 “处理”或数据存储,带有不必要数据输入的处理一个黑洞,3.2.6 DFD质量评估,带有不必要数据输入的处理,3.2.6 DFD质量评估,奇迹 - 没有足够数据元素作为输入或产生来源的一个 “处理”或“数据存储”,有不可能的数据输出的处理一个奇迹,3.2.6 DFD质量评估,带有不可能的数据输出的处理,3.2.6 DFD质量评估,

14、DFD图典型错误,数据流图中典型错误,3.2.6 DFD质量评估,DFD图常见错误总结,非法的数据流,改正错误后的数据流,3.2.7 DFD总结,在关联图中不画数据存储 数据流不反映处理顺序,显示数据通过系统的流程,因此“处理”可以并行工作 “处理”过程既有输入,又有输出 若有输入无输出称之为黑洞 若无输入而产生输出称之为奇迹 输入不足以产生输出为灰洞,3.2.7 DFD总结,传统系统分析模型的各个组成部分,3.3 详细描述DFD元素,在传统方法中,DFD图在一个图中描述了三种元素: 处理 - 每个最底层“处理”需要详细描述其细节 数据流 - “数据流”包含的数据元素需要定义 数据存储 - “

15、数据存储”需要在ERD中定义,3.3.1 “处理”描述方法,1. “处理”细分解,层层分解,直到可详细描述细节 2. 结构化语言/伪代码 3. 决策表/决策树,“处理”细分解的方法前面已经提到,3.3.1 “处理”描述方法,结构化语言/伪代码: 一种描述“处理”的规范方法,将结构化编程技术和叙述性英语结合起来 结构化英语适合用来描述处理步骤清楚、控制逻辑相对简单的情况,3.3.1 “处理”描述方法,3.3.1 “处理”描述方法,结构化语言的特点 介于自然语言和形式语言之间的语言 书写规则: 使用短句 多层缩进 将结构化编程技术和叙述性语言结合 无确定语法 可分层、嵌套,3.3.1 “处理”描述

16、方法,决策表:“处理”逻辑的一种表格形式的表示方法, 其中包括决策变量、决策变量值、行为或公式 决策树:用树形结构组织起来的线条对“处理”逻辑进行 图形化的描述,决策表和决策树,3.3.1 “处理”描述方法,决策表,3.3.1 “处理”描述方法,决策树,3.3.2 数据字典数据分析,数据字典是数据分析的描述模型,包括: 数据项定义,数据结构定义,数据流描述,数据存储描述,数据项定义:定义特定数据项的组成和意义 数据结构定义:定义有数据项组成的表达数据的基本数据 数据流描述:描述数据流的数据构成,并指明其来源或去向 数据存储描述:描述保存在存储介质上的数据文件或数据库 表的格式和内容,广义的数据字典,也可以包含对“处理”的描述,3.3.2.1 数据字典数据项定义,数据项:数据的基本单位 数据项名 数据项说明 数据类型 长度 取值范围 语义定义 与其他数据项的关联,3.3.2.1 数据字典数据项定义,3.3.2.

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

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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