第二章-系统分析—结构化分析方法

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

1、结构化方法概述

一种面向数据流的传统软件开发方法,以 数据流为中心构建软件的分析模型和设计 模型。
结构化分析(Structured Analysis
分为:
简称SA) 结构化设计(Structuresd Design 简称SD) 结构化程序设计(Structured Programmin 简 称SP)
1、结构化方法概述

主要思想:抽象与自顶向下的逐层分解 (控制复杂性的两个基本手段)
抽象:在每个抽象层次上忽略问题的内部复杂
性,只关注整个问题与外界的联系。 个最底层的问题都足够简单为止。
分解:将问题不断分解为较小的问题,直到每

抽象:从作为整体的软件系统开始(第一层),每一 抽象层次上只关注于系统的输入输出。 分解:将系统不断分解为子系统、模块…… 随着分解层次的增加,抽象的级别越来越低,也 越接近问题的解(算法和数据结构)。
(1)源或宿

存在于软件系统之外的人员或组织,表示软件系 统输入数据的来源和输出数据的去向,因此也称 为源点和终点。
例如,对一个图书馆信息管理系统而言 读者向系统提供查询条件(输入数据流),所以读者是管理系统 的一个源 管理系统向供货商发出购书请求(输出数据流),所以供货商 是管理系统的一个源
经理
图书库存 库存状态 库存查询 书库 管理
入库单
采购单
帐务数据库
图书代理 商
数据流图的扩充符号

描述一个加工的多个数据流之间的关系
星号(*):表示数据流之间存在“与”关系

所有输入数据流同时存在时,才能进行加工处理 或加工处理的结果是同时产生所有输出数据流 至少存在一个输入数据流时才能进行加工处理 或加工处理的结果是至少产生一个输出数据流
加号(+):表示数据流之间存在“或”关系

异或(⊕):表示数据流之间存在“异或”(互斥)关系


必须存在且仅存在一个输入数据流时,才能进行加工处理 或加工处理的结果是产生且仅产生一个输出数据流

多个数据流之间的关系
对数据流图进行分层


根据自顶向下逐层分解的思想将数据流图画成层 次结构 George Miller在著名的论文“神奇的数字7加减2: 我们处理信息的能力的某种限制”中指出:人们 在一段时间内的短期记忆似乎限制在5~9件事情 之内 每个层次画在独立的数据流图中,加工个数可大 致控制在“7加减2”的范围中
3、数据流图

Data Flow Diagram(简称DFD):描述输入数据流到输出 数据流的变换(即加工)过程,用于对系统的功能建模,基 本元素包括:
或 或 或
源或宿(source or sink):即外部实体,表示数 据输入源和输出汇点,用实体名字来表示; 加工(process):即处理,描述输入数据流到输 出数据流的变换; 文件(file):使用文件、数据库等保存某些数据 结果供以后使用; 数据流(data flow):由一组固定成分的数据组 成,代表数据的流动方向;

文件:保存数据信息的外部单元
每个文件用一个定义明确的名字标识
由加工进行读写
DFD中称为文件,但在具体实现时可以用文件系统
实现也可以用数据库系统等实现
(3)数据流

每个数据流用由一组固定成分的数据组成 并拥有一个定义明确的名字标识
数据流的流向
如:图书馆管理系统中,读者信息(数据流)由编号、姓

源或宿用相同的图形符号表示

当数据流从该符号流出时表示是源 当数据流流向该符号时表示是宿 当两者皆有时表示既是源又是宿
(2)加工和文件

加工:描述输入数据流到输出数据流的变换
每个加工用一个定义明确的名字标识 至少有一个输入数据流和一个输出流
可以有多个输入数据流和多个输出数据流
名、性别、有效证件号码、联系方式、登记日期、有 效期等数据组成

从一个加工流向另一个加工 从加工流向文件(写文件) 从文件流向加工(读文件) 从源流向加工 从加工流向宿
例:图书订购系统DFD
顾客
订购单 图书 订购 收 费 数 据 收费
核准的订购单
制作 发书单 发书单
顾客
Байду номын сангаас
帐 单 财务报表 制作 财务报 表
X
3
4
1
2
1.1
2.1
2.2
1.2
1.3
2.3
2.4
2、结构化建模主要工具

数 据 对 象 描 述 实 体 关 系 图 数 据 流 图 加 工 规 格 说 明
数据 词典
状态迁移图

控制规格说明
数据字典:是模型的核心。 数据流图(DFD图): 描述数据 流在系统中流动的过程,及对 数据流进行变换的功能,用于 功能建模。 实体关系图(ER图): 描述数据 对象间的关系 ,用于数据建模。 状态迁移图(STD图): 描述对外 部事件的响应方式,表示系统 的各种行为模式(称为状态) 以及在状态间进行变迁的方式, 用于行为建模。
数据流图的各个层次




顶层图只有代表整个软件系统的1个加工,描述了软 件系统与外界(源或宿)之间的数据流。 顶层图中的加工经分解后的图称为0层图(只有1张)。 中间层图中至少有一个加工(也可以有多个)在下层图 中分解成一张子图。 处于最底层的图称为底层图,其中所有的加工不再分 解成新的子图。
第二章 系统分析
——结构化分析方法
本节内容:
结构化方法概述 结构化建模工具 数据流图 数据字典 描述语言/方法

为什么需要建模?


软件工程中模型的概念 对客观世界的问题领域进行抽象并用某种描述方 法给予表示的结果称为模型。 特点 由于软件工程中多数模型是用于表示问题领域 中的元素以及元素间的关系或相互作用等,故在 建模过程中应该注意问题域中有什么对象,应该 选择什么样的关系或动作,然后用适当的模型给 予表示。
1、结构化方法概述



分析建模的开始于20世纪60-70年代,但结构化 分析方法的第一次出现是作为另一个重要课题— “结构化设计”的附属品 。 其目的是需要一种图形符号体系来表示数据和对 数据进行变换的处理,这些处理最终能被映射到 软件体系结构的设计中。 结构化分析这个词汇最初由Douglas Ross提出, 由DeMarco进行了推广,定义了创建信息流模型 的关键图形符号。
相关文档
最新文档