结构化需求分析方法
结构化需求分析方法

结构化分析(SA)方法结构化开发方法(Structured Developing Method)是现有的软件开发方法中最成熟,应用最广泛的方法,主要特点是快速、自然和方便。
结构化开发方法由结构化分析方法(SA法)、结构化设计方法(SD 法)及结构化程序设计方法(SP 法)构成的。
结构化分析(Structured Analysis,简称SA 法)方法是面向数据流的需求分析方法,是70 年代末由Yourdon,Constaintine 及DeMarco 等人提出和发展,并得到广泛的应用。
它适合于分析大型的数据处理系统,特别是企事业管理系统。
SA 法也是一种建模的活动,主要是根据软件内部的数据传递、变换关系,自顶向下逐层分解,描绘出满足功能要求的软件模型。
1 SA 法概述1.SA 法的基本思想结构化分析(Structured Analysis,简称SA 法)是面向数据流的需求分析方法,是70年代由Yourdon,Constaintine 及DeMarco 等人提出和发展,并得到广泛的应用。
结构化分析方法的基本思想是“分解”和“抽象”。
分解:是指对于一个复杂的系统,为了将复杂性降低到可以掌握的程度,可以把大问题分解成若干小问题,然后分别解决。
图4 是自顶向下逐层分解的示意图。
顶层抽象地描述了整个系统,底层具体地画出了系统的每一个细节,而中间层是从抽象到具体的逐层过渡。
抽象:分解可以分层进行,即先考虑问题最本质的属性,暂把细节略去,以后再逐层添加细节,直至涉及到最详细的内容,这种用最本质的属性表示一个自系统的方法就是“抽象”。
2.SA 法的步骤⑴建立当前系统的“具体模型”;系统的“具体模型”就是现实环境的忠实写照,即将当前系统用DFD 图描述出来。
这样的表达与当前系统完全对应,因此用户容易理解。
⑵抽象出当前系统的逻辑模型;分析系统的“具体模型”,抽象出其本质的因素,排除次要因素,获得用DFD 图描述的当前系统的“逻辑模型”。
软件工程概论5 :需求分析-结构化方法-带习题

• 词条描述 :对于在数据流图中每一个 被命名的图形元素,均加以定义,其内 容有:名字,编号,描述,定义,其它 等
(1)数据流词条描述
• 数据流名: • 说明:简要介绍作用即它产生的原因和结
果 • 数据流来源:来自何方 • 数据流去向:去向何处 • 数据流组成:数据结构 • 数据量流通量:数据量,流通量
(2)数据元素词条描述
• 数据元素名: • 类型:数字(离散值,连续值),文字(编码
类型)
• 长度: • 取值范围: • 相关的数据元素及数据结构:
(3)数据文件词条描述
• 数据文件名: • 简述:存放的是什么数据 • 输入数据: • 输出数据: • 数据文件组成:数据结构 • 存储方式:顺序,直接 • 存取频率:
• 需求分析的任务就是借助于当前系统的 逻辑模型导出目标系统的逻辑模型,解 决目标系统的 “做什么” 的问题。
• 通常软件开发项目是要实现目标系统的 物理模型
• 目标系统的具体物理模型是由它的逻辑 模型经实例化,即具体到某个业务领域 而得到的
需求分析的过程
(1) 问题识别
从系统的角度来理解和确认软件软件范围 确定对目标系统的综合要求,即软件的需求 提出这些需求实现条件,以及需求应达到的标准
• IF_THEN_ELSE • CASE_OF • WHILE_DO • REPEAT_UNTIL等组成。
• 是一种介于自然语言和形式化语言之间 的语言
• 语言的正文用基本控制结构进行分割, 加工中的操作用自然语言短语来表示
• 其基本控制结构有三种:
– 简单陈述句结构:避免复合语句; – 重复结构:WHILE_DO 或
• 存折=户名+所号+帐号+开户日+性质+(印 密)+1{存取行}50
软件工程概述-第5章 结构化需求分析

实体 属性 联系
用矩形表示,矩形内写 明实体名
用椭圆形表示,并用无 向边将其与对应实体连 接起来
用菱形表示,并用无向 边分别与有关实体连接 起来,同时在无向边旁 标上联系的类型。
E-R 图表示图示 例 2-1 中的例子
练习
例:简单的学生选课系统:
(1)学生 属性有学号,姓名, 性别,年龄,所在系
x
1.1
1.2
1.3
1
3
2
2.1 2.3
2.2
1.1 1.3
目录
1
5.1结构化分析
2
5.2数据流图
3
5.3数据字典
4
5.4 实体关系图
5
5.5 状态转换图
数据流图
数据流图(Data Flow Diagram,DFD)是描述系统中数据 流程的图形工具,它描述了将系统的逻辑输入转换为逻辑输出 所需的加工处理过程。
(2)课程 属性有课程号,课程 名称,先修课程号,学分
实体之间的联系:
一个学生可同时选修多门 课程,而一门课程可以同时被 若干学生选修。用成绩来表示 某个学生学习某门课程的成绩 。
分解:对于一个复杂的系统,为了将复杂性降 低到可以掌握的程度,可以把大问题分解成若 干小问题,然后分别解决。
抽象:分解可以分层进行,即先考虑问题最本 质的属性,暂把细节略去,以后再逐层添加细 节,直至涉及到最详细的内容,这种用最本质 的属性表示一个系统的方法就是“抽象”
结构化分析
结构化分析方法基本思想 “分解”和“抽象”
取值范围:数据项的取值范围,例如,职工年龄 的取值范围定义为18至60岁,表示为18..60。
初始值:数据项的初始值,例如,为了操作简便, 软件定义借书日期的初始值默认为系统的当前日 期。
结构化需求分析方法

精品文档)方法结构化分析(SA是现有的软件开发方法(Structured Developing Method)结构化开发方法中最成熟,应用最广泛的方法,主要特点是快速、自然和方便。
结构化开发方法(SP 及结构化程序设计方法法)(SA法)、结构化设计方法(SD 由结构化分析方法构成的。
法)方法是面向数据流的需求分法)结构化分析(Structured Analysis,简称SA等人提出和发及DeMarco 70 年代末由Yourdon,Constaintine 析方法,是特别是企事业管理它适合于分析大型的数据处理系统,展,并得到广泛的应用。
系统。
法也是一种建模的活动,主要是根据软件内部的数据传递、变换关系,SA 自顶向下逐层分解,描绘出满足功能要求的软件模型。
法概述1 SA1.SA 法的基本思想是面向数据流的需求分析方)简称SA 法结构化分析(Structured Analysis,并得等人提出和发展,Yourdon,Constaintine 年代由及DeMarco 70法,是到广泛的应用。
结构化分析方法的基本思想是“分解”和“抽象”。
.精品文档可分解:是指对于一个复杂的系统,为了将复杂性降低到可以掌握的程度,以把大问题分解成若干小问题,然后分别解决。
是自顶向下逐层分解的示意图。
顶层抽象地描述了整个系统,底层具图4体地画出了系统的每一个细节,而中间层是从抽象到具体的逐层过渡。
抽象:分解可以分层进行,即先考虑问题最本质的属性,暂把细节略去,以这种用最本质的属性表示一个自直至涉及到最详细的内容,后再逐层添加细节,系统的方法就是“抽象”。
2.SA 法的步骤;⑴建立当前系统的“具体模型”图描系统的“具体模型”就是现实环境的忠实写照,即将当前系统用DFD 述出来。
这样的表达与当前系统完全对应,因此用户容易理解。
;⑵抽象出当前系统的逻辑模型.精品文档分析系统的“具体模型”,抽象出其本质的因素,排除次要因素,获得用图描述的当前系统的“逻辑模型”。
结构化分析方法

结构化分析方法结构化分析方法一、需求分析与需求分析方法需求阶段是软件开发的关键阶段。
需求分析的任务:准确地定义未来系统的目标,确定为了满足用户的需求系统必须做什么;用《需求规格说明书》规范的形式准确地表达用户的需求。
需求分析阶段的工作(四方面):◆需求获取:确定系统各方面需求;全面地提炼出系统的功能性与非功能性需求。
◆需求分析:对获取的需求分析和综合,给出系统解决方案和逻辑模型。
◆编写需求规格说明书:为用户、设计人员的交流提供方便,还可作为控制软件开发进程的依据。
◆需求审评:复审需求分析阶段的工作,验证需求文档的一致性、可行性等。
1、需求获取的目的清楚地理解所要解决的问题、完整地获取用户需求。
2、需求获取的内容用户需求分类:(1)功能性需求定义了系统做什么(描述系统必须支持的功能和过程)。
(2)非功能性需求(技术需求)定义了系统工作时的特性(描述操作环境和性能目标)。
3、需求分析的步骤4、需求分析过程示意(1)通过对现实环境的调查,获得当前系统的物理模型。
(2)去掉具体模型中的非本质因素,抽象出当前系统的逻辑模型。
(3)分析当前系统与目标系统的差别,建立目标系统的逻辑模型。
5、需求分析的方法结构化分析(传统建模方法)、面向对象分析。
二、结构化分析方法1、结构化分析方法(Structure Analysis---SA)(1)定义是面向数据流进行需求分析的方法,采用自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。
(2)结构化分析的主要步骤通过对用户的调查,以软件的需求为线索,获取当前系统的具体模型;去掉具体模型中非本质因素,抽象出当前系统的逻辑模型;根据计算机的特点分析当前系统与目标系统的差别,建立目标系统的逻辑模型;完善目标系统并补充细节,写出目标系统的软件需求规格说明。
2、结构化分析方法使用的常用工具(1)数据流图(DFD—Data Flow Diagram )①作用从数据传递和加工的角度,在需求分析阶段以图形的方式描述数据流从输入到输出的移动变换过程,为系统建立逻辑模型。
需求分析(传统结构化方法)

2。
2需求分析需求分析是通过开发人员的分析概括,抽象为完整的需求定义,再形成一系列文档的过程。
2.2.1需求分析的目的与意义需求分析是一个非常重要的过程,它完成的好坏直接影响后续软件开发的质量。
有效的需求分析通常都具有一定的难度.需求分析不仅仅是属于软件开发生命周期早期的一项工作,而且还应该贯穿于整个生命周期中,它应该随着项目的深入而不断地变化。
此外,为了方便后续的评审和测试等工作,需求的描述应该尽量做到:具体、详细、可以测量和可以实现,并且基于时间。
2。
2.2需求分析的步骤2-3所示。
需求涉及的方面:在功能方面,需求包括系统要做什么,相对于原系统目标系统需要进行哪些修改,目标用户有哪些,以及不同用户需要通过系统完成何种操作等。
在性能方面,需求包括用户对于系统执行速度、响应时间、吞吐量和并发度等指标的要求。
在运行环境方面,需求包括目标系统对于网络设置、硬件设备、温度和湿度等周围环境的要求,以及对操作系统、数据库和浏览器等软件配置的要求。
在界面方面,需求涉及数据的输入/输出格式的限制及方式、数据的存储介质和显示器的分辨率要求等问题。
1。
获取需求,识别问题开发人员从功能、性能、界面和运行环境等多个方面识别目标系统要解决哪些问题,要满足哪些限制条件,这个过程就是对需求的获取。
开发人员通过调查研究,要理解当前系统的工作模型和用户对新系统的设想与要求.遗漏需求是最难修订的需求错误。
获取需求是需求分析的基础.为了能有效地获取需求,开发人员应该采取科学的需求获取方法。
在实践中,获取需求的方法有很多种,比如,问卷调查、访谈、实地操作、建立原型和研究资料等。
问卷调查法是采用调查问卷的形式来进行需求分析的一种方法。
通过对用户填写的调查问卷进行汇总、统计和分析,开发人员便可以得到一些有用的信息。
采用这种方法时,调查问卷的设计很重要。
一般在设计调查问卷时,要合理地控制开放式问题和封闭式问题的比例.开放式问题的回答不受限制,自由灵活,能够激发用户的思维,使他们能尽可能地阐述自己的真实想法.但是,对开放式问题进行汇总和分析的工作会比较复杂。
3.3 结构化需求分析方法

订货单 支票
顾客
询问 退货单
处理顾 客事务
第三章 需求分析
15
多个数据流的第一种表示方法:
订货单 顾客事务
顾客
处理 顾客 事务
支票 询问
退货单
16
第三章 需求分析
多个数据流的第二种表示方法:
订货单
编辑订 货单
开收据 处理询 问 退货分 析处理
支票
顾客
询问
退货单
第三章 需求分析
17
多个数据流的表示举例
重建父图,即把第二步所得的每一部分画成一个圆圈, 各部分之间的联系就是加工之间的界面; 重建各张子图,只需把第二步所得的图,按各自的边界 剪开即可; 为所有加工重新命名、编号。
第三章 需求分析
36
结构不合理的数据流图及其修改
4 H A B 1 I 2 K L D 3 D (a)结构不合理的 数据流程图
33
分解的程度
分解应自然,概念上要合理、清晰。 上层可分解的快些,而下层应分解得慢些。
在不影响可读性的前提下,应适当地多分解成几部分, 以减少分解层数。
一般说来,当加工可用一页纸明确地表述时,或加工只 有单一输入/输出数据流时,就应停止对该加工的分解。 对数据流图中不再作分解的加工,必须作出详细的加工 说明,并且每个加工说明的编号必须与功能单元的编号 一致。
第三章 需求分析
5
结构化分析方法的特点
利用数据流图来帮助人们理解问
题,对问题进行分析。即利用图
形工具来模拟数据处理过程。
第三章 需求分析
6
结构化分析方法
用数据字典定义数据流图中的各项数据; 结构化英语、判定树和判定表对数据流图中的基本功 能进行描述。 通过将系统分解成多层处理后,在较低层次上,可以 看到数据流图的高层次加工的细节和相关的数据流。 结构化分析方法的实质就是采用一组分层的数据流图 及相应的数据字典作为系统的模型。 结构化分析方法从总体上看是一种强烈依赖数据流的 自顶向下的建模方法,它不仅是需求分析技术,也是 完成规格说明的手段。
结构化需求分析方法

结构化分析(SA)方法结构化开发方法(Structured Developing Method)就是现有的软件开发方法中最成熟,应用最广泛的方法,主要特点就是快速、自然与方便。
结构化开发方法由结构化分析方法(SA法)、结构化设计方法(SD 法)及结构化程序设计方法(SP 法)构成的。
结构化分析(Structured Analysis,简称SA 法)方法就是面向数据流的需求分析方法,就是70 年代末由Yourdon,Constaintine 及DeMarco 等人提出与发展,并得到广泛的应用。
它适合于分析大型的数据处理系统,特别就是企事业管理系统。
SA 法也就是一种建模的活动,主要就是根据软件内部的数据传递、变换关系,自顶向下逐层分解,描绘出满足功能要求的软件模型。
1 SA 法概述1、SA 法的基本思想结构化分析(Structured Analysis,简称SA 法)就是面向数据流的需求分析方法,就是70年代由Yourdon,Constaintine 及DeMarco 等人提出与发展,并得到广泛的应用。
结构化分析方法的基本思想就是“分解”与“抽象”。
分解:就是指对于一个复杂的系统,为了将复杂性降低到可以掌握的程度,可以把大问题分解成若干小问题,然后分别解决。
图4 就是自顶向下逐层分解的示意图。
顶层抽象地描述了整个系统,底层具体地画出了系统的每一个细节,而中间层就是从抽象到具体的逐层过渡。
抽象:分解可以分层进行,即先考虑问题最本质的属性,暂把细节略去,以后再逐层添加细节,直至涉及到最详细的内容,这种用最本质的属性表示一个自系统的方法就就是“抽象”。
2、SA 法的步骤⑴建立当前系统的“具体模型”;系统的“具体模型”就就是现实环境的忠实写照,即将当前系统用DFD 图描述出来。
这样的表达与当前系统完全对应,因此用户容易理解。
⑵抽象出当前系统的逻辑模型;分析系统的“具体模型”,抽象出其本质的因素,排除次要因素,获得用DFD 图描述的当前系统的“逻辑模型”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
结构化分析(SA)方法结构化开发方法(Structured Developing Method)是现有的软件开发方法中最成熟,应用最广泛的方法,主要特点是快速、自然和方便。
结构化开发方法由结构化分析方法(SA法)、结构化设计方法(SD 法)及结构化程序设计方法(SP 法)构成的。
结构化分析(Structured Analysis,简称SA 法)方法是面向数据流的需求分析方法,是70 年代末由Yourdon,Constaintine 及DeMarco 等人提出和发展,并得到广泛的应用。
它适合于分析大型的数据处理系统,特别是企事业管理系统。
SA 法也是一种建模的活动,主要是根据软件内部的数据传递、变换关系,自顶向下逐层分解,描绘出满足功能要求的软件模型。
1 SA 法概述1.SA 法的基本思想结构化分析(Structured Analysis,简称SA 法)是面向数据流的需求分析方法,是70年代由Yourdon,Constaintine 及DeMarco 等人提出和发展,并得到广泛的应用。
结构化分析方法的基本思想是“分解”和“抽象”。
分解:是指对于一个复杂的系统,为了将复杂性降低到可以掌握的程度,可以把大问题分解成若干小问题,然后分别解决。
图4 是自顶向下逐层分解的示意图。
顶层抽象地描述了整个系统,底层具体地画出了系统的每一个细节,而中间层是从抽象到具体的逐层过渡。
抽象:分解可以分层进行,即先考虑问题最本质的属性,暂把细节略去,以后再逐层添加细节,直至涉及到最详细的内容,这种用最本质的属性表示一个自系统的方法就是“抽象”。
2.SA 法的步骤⑴建立当前系统的“具体模型”;系统的“具体模型”就是现实环境的忠实写照,即将当前系统用DFD 图描述出来。
这样的表达与当前系统完全对应,因此用户容易理解。
⑵抽象出当前系统的逻辑模型;分析系统的“具体模型”,抽象出其本质的因素,排除次要因素,获得用DFD 图描述的当前系统的“逻辑模型”。
⑶建立目标系统的逻辑模型;分析目标系统与当前系统逻辑上的差别,从而进一步明确目标系统“做什么”,建立目标系统的“逻辑模型”(修改后的DFD 图)。
⑷为了对目标系统作完整的描述,还需要考虑人机界面和其它一些问题。
3.SA 法的描述工具⑴分层的数据流图⑵数据词典⑶描述加工逻辑的结构化语言、判定表或判定树。
2 数据流图数据流图(Data Flow Diagram,简称DFD)是描述系统中数据流程的图形工具,它标识了一个系统的逻辑输入和逻辑输出,以及把逻辑输入转换逻辑输出所需的加工处理。
1.数据流图的图符数据流图有以下4 种基本图形符号:箭头表示数据流,圆或椭圆表示加工。
双杠或者单杠表示数据存储,矩形框表示数据的源点或终点,即外部实体。
⑴数据流是数据在系统内传播的路径,由一组成固定的数据项组成。
除了与数据存储(文件)之间的数据流不用命名外,其余数据流都应该用名词或名词短语命名。
数据流可以从加工流向加工,也可以从加工流向文件或从文件流向加工,也可以从源点流向加工或从加工流向终点。
⑵加工也称为数据处理,它对数据流进行某些操作或变换。
每个加工也要有名字,通常是动词短语,简明地描述完成什么加工。
在分层的数据流图中,加工还应有编号。
⑶数据存储指暂时保存的数据,它可以是数据库文件或任何形式的数据组织。
流向数据存储的数据流可理解为写入文件,或查询文件,从数据存储流出的数据可理解为从文件读数据或得到查询结果。
⑷数据源点和终点是软件系统外部环境中的实体(包括人员、组织或其他软件系统),统称为外部实体。
一般只出现在数据流图的顶层图中。
还有一些辅助的图例:例1:画出图书预定系统的DFD 图。
现有一图书预定系统,接收由顾客发来的订单,并对订单进行验证,验证过程是根据图书目录检查订单的正确性,同时根据顾客档案确定是新顾客还是老顾客,是否有信誉。
经过验证的正确订单,暂存放在待处理的订单文件中。
对订单进行成批处理,根据出版社档案,将订单按照出版社进行分类汇总,并保存订单存根,然后将汇总订单发往各出版社。
画图步骤是:⑴首先确定外部实体(顾客、出版社)及输入、输出数据流(订单、出版社订单)。
⑵再分解顶层的加工(验证订单、汇总订单)。
⑶确定所使用的文件(图书目录文件、顾客档案等5 个文件)。
⑷用数据流将各部分连接起来,形成数据封闭。
特别要注意的是:数据流图不是传统的流程图或框图,数据流也不是控制流。
数据流图是从数据的角度来描述一个系统,而框图则是从对数据进行加工的工作人员的角度来描述系统。
数据流图中的箭头是数据流,而框图中的箭头则是控制流,控制流表达的是程序执行的次序。
下图是培训中心管理系统的数据流图,由于只有一层,因此分解的加工较多不易理解,而且如果其中某个加工较复杂,例如编号为3 的加工“付款”和编号为7 的加工“复审”仍很复杂,一时难以理解,如果不继续分解下去,直到每个加工都足够简单易于理解为止,则会影响需求分析结果的可读性。
1.画分层DFD 图的方法如图2.8 所示,如果系统规模较大,仅用一个DFD 图难以描述,会使得系统变得复杂,且难以理解。
为了降低系统的复杂性,采取“逐层分解”的技术,画分层的DFD 图。
画分层DFD 图的一般原则是:“先全局后局部,先整体后细节,先抽象后具体”。
通常将这种分层的DFD 图,分为顶层、中间层、底层。
顶层图说明了系统的边界,即系统的输入和输出数据流,顶层图只有一张。
底层图由一些不能再分解的加工组成,这些加工都已足够简单,称为基本加工。
在顶层和底层之间的是中间层。
中间层的数据流图描述了某个加工的分解,而它的组成部分又要进一步分解。
画各层DFD 图时,应“由外向内”。
画分层DFD 图的具体步骤:⑴先确定系统范围,画出顶层的DFD 图。
⑵逐层分解顶层DFD 图,获得若干中间层DFD 图。
⑶画出底层的DFD 图。
在画分层数据流图时,首先遇到的问题就是应该如何分解?不能够一下子把一个加工分解成它所有的基本加工,一张图中画出过多的加工是使人难以理解的,但是如果每次只是将一个加工分解成两个或三个加工,又可能需要分解过多的层次,也会影响系统的可理解性。
一个加工每次分解成多少个子加工才合适呢?根据经验“最多不要超过7 个”。
统计结果证明,人们能有效地同时处理7 个或7 个以下的问题,但当问题多于7 个时,处理效果就会下降。
当然也不能机械地应用,关键是要使数据流图易于理解。
同时还有几条原则可供参考:分解应自然,概念上要合理、清晰。
只要不影响数据流图的“易理解性”,可以适当地多分解成几部分,这样分层图的层数就可少些。
一般来说,在上层可以分解得快些,而在中、下层则应分解得慢些,因为上层是一些综合性的描述,“易理解性”相对地说不太重要。
下节我们以一个实例来说明画分层DFD 图的方法。
2 分层DFD 图的改进分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的总貌,底层画出了系统所有的细部,而中间层则给出了从抽象到具体的逐步过渡。
1.画分层DFD 图的基本原则⑴.数据守恒与数据封闭原则所谓数据守恒是指加工的输入输出数据流是否匹配,即每一个加工既有输入数据流又有输出数据流。
或者说一个加工至少有一个输入数据流,一个输出数据流。
⑵加工分解的原则自然性:概念上合理、清晰;均匀性:理想的分解是将一个问题分解成大小均匀的几个部分;分解度:一般每一个加工每次分解最多不要超过7个子加工,应分解到基本加工为止。
⑶子图与父图的“平衡”父图中某个加工的输入输出数据流应该同相应的子图的输入输出相同(相对应),分层数据流图的这种特点称为子图与父图“平衡”。
例1 考察下图中子父图的平衡显然,图2.13 中子图与父图不平衡。
子图是父图中加工2 的分解,加工2 有输入数据流R 和M,输出数据流T,而子图则只有一个输入数据流N,却有两个输出数据流T 与S。
图2.14 中,子图是父图中加工4 的分解,虽然表面上加工4 只有一个输入数据流“订货单”,而子图却有三个输入数据流,但是如果“订货单”是由“客户”、“帐号”和“数量”三部分组成,即有如下数据条目:订货单=客户+帐号+数量(2.2.5 数据词典),则子、父图平衡。
⑷合理使用文件当文件作为某些加工之间的交界面时,文件必须画出来,一旦文件作为数据流图中的一个独立成份画出来了,那么它同其它成份之间的联系也应同时表达出来。
理解一个问题总要经过从不正确到正确,从不确切到确切的过程,需求分析的过程总是要不断反复的,一次就成功的可能性是很小的,对复杂的系统尤其如此,因此,系统分析员应随时准备对数据流图进行修改和完善,与用户取得共识,获得无二义性的需求,才能获得更正确清晰的需求说明,使得设计、编程等阶段能够顺利进行,这样做是必须和值得的。
3.分层DFD 图的改进DFD 图必须经过反复修改,才能获得最终的目标系统的逻辑(目标系统的DFD 图)。
改进的原则与画分层DFD 图的基本原则是一致的,可从以下方面考虑DFD 图的改进:⑴检查数据流的正确性①数据守恒②子图、父图的平衡③文件使用是否合理。
特别注意输入/出文件的数据流。
⑵改进DFD 图的易理解性①简化加工之间的联系(加工间的数据流越少,独立性越强,易理解性越好)。
②改进分解的均匀性。
③适当命名(各成分名称无二义性,准确、具体)。
4.数据词典分层数据流图只是表达了系统的“分解”,为了完整地描述这个系统,还需借助“数据词典”(data dictionary)和“小说明”对图中的每个数据和加工给出解释。
对数据流图中包含的所有元素的定义的集合构成了数据词典。
它有四类条目:数据流、数据项、文件及基本加工。
在定义数据流或文件时,使用表2-1 给出的符号。
将这些条目按照一定的规则组织起来,构成数据词典。
1.数据流条目给出了DFD 中数据流的定义,通常对数据流的简单描述为列出该数据流的各组成数据项。
例:数据流“乘客名单”由若干“乘客姓名”、“单位名”和“等级”组成,则词典中的“乘客名单”条目是:乘客名单={乘客姓名+单位名+等级}又如:报名单=姓名+单位名+年龄+性别+课程名也可以对数据流进行较详细的描述,如下例:例:某查询系统中,有个名为“查询”的数据流,目前“查询”有三种类型,即“顾客状况查询”、“存货查询”和“发票存根查询”,预计至1990 年底还将增加3 至4 种其他类型的查询。
系统每天约需处理2 000 次查询,每天上午9:00—10:00 是查询的高峰,此时约有1 000 次查询。
上述信息都是“用户要求”的一部分,在分析阶段应该认真收集,并记录在词典的有关条目中,所以“查询”条目描述如下。
数据流名:查询简述:系统处理的一个命令别名:无组成:[顾客状况查询|存货查询|发票存根查询]数据量:2000 次/天峰值:每天上午9:00—l0:00 有l000 次注释:至1990 年底还将增加3 至4 种查询2.文件条目给出某个文件的定义,文件的定义通常是列出文件记录的组成数据流,还可指出文件的组织方式。