第3章 结构化分析与设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
结构化设计
1. 概述 --结构化分析与设计的由来
结构化分析与设计最初是由结构化程序设计扩展而来
瀑布模型的首次实践 SA与SD的流程
结构化分析(工具:DFD、PSPEC) 分析模型(分层DFD图) + SRS 结构化设计(工具:SC图) 映射 初始设计模型(初始SC图) 初始设计模型(初始SC图) 优化 最终设计模型(最终SC 图) 结构化分析
数据流图的层次结构 为了表达数据处理过程的数据加工情况, 需要采用层次结构的数据流图。按照系 统的层次结构进行逐步分解,并以分层 的数据流图反映这种结构关系,能清楚 地表达和容易理解整个系统。
分层的数据流图
在多层数据流图中,顶层流图仅包含一个加工, 它代表被开发系统。它的输入流是该系统的输 入数据,输出流是系统所输出数据 底层流图是指其加工不需再做分解的数据流图, 它处在最底层 中间层流图则表示对其上层父图的细化。它的 每一加工可能继续细化,形成子图。
为什么要进行需求分析?
原因:信息收集不全 功能不明确 需求文档不完善 开发者急于求成
目的:对开发者进行指导 开发人员对用户的要求理解 用户理解开发人员 测试部门有理可依
结构化系统分析的任务:
让用户和开发者共同明确将要开发的是一个什么样 的系统。具体而言,两个任务: 建立分析模型 编写需求说明
从数据的终点开始定义数据和加工 数据定义—DD
例如:发票
发票 = 学号+姓名+{书号+单价+数量+总价}+书费合计
加工策略—PSPEC 分层DFD图产生了系统的全部数据和加工,通过对这 些数据和加工的定义,常常对分析员提出一些新问题, 促使新的调查和思考,并可能导致对DFD的修改。画 DFD,定义加工和数据,再画,再定义,如此循环, 直至产生一个为用户和分析员一致同意的文档—— SRS。
分解?
为了将复杂性降低到人可以掌握的程度,可以把 大问题分割成若干个问题,然后分别解决。
抽象?
分解也可以分层进行,即先考虑问题最本质 的属性,暂把细节略去,以后再逐层添加细节, 直至涉及到最详细的内容。
DFD可以用来表示一个系统或软件在任何层次 上的抽象。 较大型软件系统DFD分成多层(子图、 父图概念),可以表示数据流和功能的进一步的细节。
第一层数据流图
加细每一个加工框
销售细化
采购细化
需求分析示例—教材购销管理系统(1)
• 问题描述:学校教材科根据业务的需要,建 立一个学校教材购销管理系统,提高教材采 购、销售和信息管理的效率。
学 生
购书 申请
购书 证明 购书 申请 1)通过对现实环境的调查研究,获 得当前系统的具体模型
2)去掉具体模型中的非 本质因素,抽象出当前 系统的逻辑模型
或
位于被建模系统之外的信息生产者 或消费者,称为外部项。 说明数据输入的源点(数据源)或数 据输出的汇点(数据池)
数据流 表示数据和数据流向
三个重要属性:
流向(从加工出发或流向加工) 数据组成 数据流名字
数据流命名方法和注意事项
用名词或名词词组,不要使用意义空洞的名词; 尽量使用现实系统已有名字,当命名出现困难, 考虑是否数据流划分不恰当; 不要把控制流作为数据流指明作为外部事件的结 果,系统将如何动作。
举例:
无效书单
学生
购 书 单
1
审查并 开发票
发票
2
开领 书单
领书单
学生
各班学生 用 书 表
教材存量表
b)
DFD的性质
与程序流程图不同,不能表示程序的控制结构, 前者用于表示程序的过程设计,后者则用作软 件分析阶段的工具。
②
数据字典(DD,DataDictionary) 模型核心(中心库)
一个软件系统含有许多数据。数据字典的 作用,就是对软件中的每个数据规定一个定义 条目,以保持数据在系统中的一致性。 由字典统一给出的所有数据的定义与属性, 已成为结构化分析中分析建模的基础。
张秘书
王会计
李出纳
购书 申请
赵保管
书
学 生
学 生
购书 单
审 查 有效性
发票 有 效 开发票 购书单
开领 书单
领书 单
发 书
书
学 生
学 生
3)分析当前系统与目标 系统的差别,建立目标 系统的逻辑模型。
购书 单
审查并 开发票
发票
开领 书单
领书单
发书
书
学 生
需求分析示例—教材购销管理系统(2)
学 生
购书单
数据字典
数据词典与数据流图配合,能清楚地表达数据 处理的要求 词条描述 —— 对于在数据流图中每一个被命 名的图形元素,均加以定义,其内容有: 名 字,别名或编号,分类,描述,定义,位置, 其它,等
数据字典
DD是对所有与系统相关的数据元素的一个有 组织的列表,以及精确的、严格的定义,使得用户 和系统分析员对于输入、输出、存储成分和中间 计算有共同的理解
①
数据流图(DFD)
任何软件系统(或计算机系统)从根本上说, 都是对数据进行加工或变换的工具。
数据流图(DFD)
指明数据在系统中移动时如何被变换; 描述对数据流进行变换的功能; DFD中每个功能的描述包含在加工规约 (小说明)中。
a)
数据流图的四个基本成分 或
2
2
数据处理(加工)
数据流(数据对象) 或 II 数据存储 (文件或数据库)
结构化分析模型的组成结构
STD(Status Transfer Diaram,状态-变迁 图),用于指明系统在外部时间的作用下将会 如何动作,表明了系统的各种状态以及各种状 态间的变迁,从而构成为行为模型的基础,关 于软件控制方面的附加信息则包含在控制说明 (CSPEC)。
2.分析模型的组成与描述工具 ① ② ③ ④ ⑤ ⑥ 数据流图(DFD) 数据字典(DD) 加工说明 控制流图(CFD)与控制说明( CSPEC ) 状态转换图(STD) E-R图
第3章 结构化分析与设计
概述 结构化系统分析 结构化系统设计 模块化设计
教学目的及要求:
源自文库
深刻理解需求分析阶段的概念和任务; 熟练掌握数据流图; 深刻理解软件设计阶段的概念和任务; 掌握模块化设计的思想;
1. 概述 --结构化分析与设计的由来
结构化分析与设计最初系由结构化程序设计扩展而来
审查并 开发票 发票 开领 书单 领书单 学
4)对目标系统进行补充 和完善,并写出完整的 需求说明。
结构化分析就是使用DFD、DD、结构化英语、判 定表和判定树等工具,来建立一种新的、称为结构 化说明书的目标文档 由顶向下对系统进行功能分解,画出分层DFD图 由后向前定义系统的数据和加工,编制DD和 PSPEC 最终写出SRS
结构化分析的基本步骤
2. 结构化系统分析 --确定数据定义与加工策略
瀑布模型的首次实践 SA与SD的流程
结构化分析(工具:DFD、PSPEC) 分析模型(分层DFD图) + SRS 结构化设计(工具:SC图) 映射 初始设计模型(初始SC图) 初始设计模型(初始SC图) 优化 最终设计模型(最终SC 图) 结构化分析
基本任务与指导思想
建立分析模型 编写需求说明 软件设计 = 总体设计 + 详细设计 SC图须分两步完成
数据字典(DD)
对软件中的每个数据规定一个定义条目。 对数据流图中出现的每个加工/处理的功能描述 主要工具:结构化语言,判定树或判定表
加工说明(PSPEC)
1. 概述 --SD模型的组成与描述
•包含数据设计、体 系结构设计、接口 设计与过程设计。 •体系结构设计是用 来确定软件结构的, 其描述工具为结构 图,简称SC图。 •过程设计主要指模 块内部的详细设计
基本任务与指导思想
建立分析模型 编写需求说明 软件设计 = 总体设计 + 详细设计 SC图须分两步完成
结构化设计
1. 概述 --SA模型的组成与描述
SA模型的描述工具: •DFD、DD和 PSPEC:这是早 期SA模型的基本 组成部分; •CFD、CSPEC 和STD:是早期 SA模型的扩展成 分,适应实时软 件的建模需要; •E-R图:适用于 描述具有复杂数 据结构的软件数 据模型;
结构化分析的基本步骤:
由顶向下对系统进行功能分解,画出分层DF图; 由后向前定义系统的数据和加工,编制DD, PSPEC; 最终写出SRS.
结构化分析方法使用工具:
数据流图
数据词典
结构化英语 判定表与判定树
描述银行取款过程的数据流图
画分层数据流图
软件工程技术中,控制复杂性的两个基本手段 是“分解”和“抽象”。
结构化系统分析的任务:
准确地定义未来系统的目标,确定为了满足 用户的需求系统必须做什么。用 <需求规格说 明书> 规范的形式准确地表达用户的需求。
结构化系统分析的任务: 在需求分析阶段,系统分析员的主要焦点 是 “做什么(what)” ,不是 “怎样做 (how)”。
2. 结构化系统分析
T.DeMarco的定义
过程设计
接口设计
体系结构设计 数据设计 SD模型的组成
结构化设计模型的描述工具
SC图的组成符号
矩形框来表示模块,带箭头的连线表示模块间的调 用,并在调用线的两旁标出传入和传出模块的数据 流
A A
A
B
C
B
C
D
B
C
(a)简单调用
(b)选择调用 (c)循环调用 SC图中模块调用关系的表示
2
结构化系统分析
结构化系统分析模型的组成结构 加 数 据 E-R图 数据流图 工 说 ( DFD ) 对 数据字典 明 象 (DD) 说 明 状态变迁图 (STD图)
控制说明
结构化分析模型的组成结构
模型的核心是DD(Data Dictionary,数据字 典),它是系统所涉及的各种数据对象的总和。 从DD出发可构建3种图: E-R图(Entity-Relation Diagram,实体-关 系图)用于描述数据对象间的关系,他代表软 件的数据模型,在实体-关系图中出现的每个 数据对象的属性均可用数据对象说明来描述; DFD图(Data Flow Diagram,数据流图),其 主要作用是指明系统中数据是如何流动和变换 的,以及描述是数据流进行变换的功能,在 DFD图中出现的每个功能的描述则写在(PSPEC) 中,它们一起构成功能模型;
数据对象说明
加工说明
E-R图
DD
DFD图
STD图
控制说明 (CSPEC)
结构化分析模型的描述工具
数据流图(DFD)
指明数据在系统中移动时如何被变换,描述对数据流进行变 换的功能和子功能。 组成符号
圆框代表加工; 箭头代表数据的流向,数据名称总是标在箭头的边上; 方框表示数据的源点和终点; 双杠(或单杠)表示数据文件或数据库
数据字典的作用
DFD中的数据流、数据存储表示某个有组织的数据 集合,它们要由SA的其他描述工具-需求字典(数据字 典)来描述,包括: • 词条描述 • 数据结构描述 • 加工逻辑说明
数据流词条描述
数据流名: 说明:简要介绍作用即它产生的原因和结果 数据流来源:来自何方 数据流去向:去向何处 数据流组成:数据结构 数据量流通量:数据量,流通量
加工逻辑词条描述
加工名: 加工编号:反映该加工的层次 简要描述:加工逻辑及功能简述 输入数据流: 输出数据流: 加工逻辑:简述加工程序,加工顺序
结构化分析方法(Structured Analisys, SA)
结构化分析就是使用DFD,DD,结构化语言,判定表 和判定树等工具,来建立一种新的,称为结构化 说明书的目标文档。
结构化分析方法步骤示例 商店业务处理系统
这个数据流图只是一个高层的系统逻辑模型, 它反映了目标系统要实现的功能 数据流图绘制步骤
首先确定系统的输入和输出
根据商店业务,画出顶层数据流图,以反 映最主要业务处理流程
经过分析,商店业务处理的主要功能应当 有销售、采购、会计三大项。主要数据流 输入的源点和输出终点是顾客和供应商。 然后从输入端开始,根据商店业务工作流 程,画出数据流流经的各加工框,逐步画 到输出端,得到第一层数据流图
数据元素词条描述
数据元素名: 类型:数字(离散值,连续值),文字(编码 类型) 长度: 取值范围: 相关的数据元素及数据结构:
数据文件词条描述
数据文件名: 简述:存放的是什么数据 输入数据: 输出数据: 数据文件组成:数据结构 存储方式:顺序,直接,关键码 存取频率: