需求分析如何做主讲:杨丽丽信息工程学院AnIntroductiontoDatabaseSystem1需求分析的方法进行需求分析首先是调查清楚用户的实际需求,与用户达成共识。然后进一步分析与表达这些需求。⑴调查组织机构情况了解该组织的部门组成情况各部门的职责等⑵调查各部门的业务活动情况。调查重点之一。各个部门输入和使用什么数据如何加工处理这些数据输出什么信息输出到什么部门输出结果的格式是什么AnIntroductiontoDatabaseSystem1需求分析的方法⑶在熟悉业务活动的基础上,协助用户明确对新系统的各种要求。调查重点之二。信息要求处理要求安全性与完整性要求⑷对前面调查的结果进行初步分析确定新系统的边界确定哪些功能由计算机完成或将来准备让计算机完成确定哪些活动由人工完成由计算机完成的功能就是新系统应该实现的功能。42需求分析调查重点业务流程调查(业务流程图TFD图)数据流程调查(数据流程图DFD图)数据字典(DD)业务流程调查业务或业务活动是对组织或企业的一切专业工作和活动的总称。业务流程图就是将业务处理过程中的每一个步骤用一个完整的图形串起来。它描述了系统内各单位、人员之间的业务处理过程及其之间的关系。绘制业务流程图是分析业务流程的重要步骤,在绘制时基本上按照业务的实际处理步骤和过程绘制。换句话说,就是一“本”用图形方式来反映实际业务处理过程的“流水账”。绘制出这本“流水账”对于开发者理顺和优化业务过程是很有帮助的。6业务处理单位业务处理功能描述报表/表格数据文件存档收集/统计数据信息传递过程(1)绘制业务流程图的基本符号业务流程图的基本图形符号如图所示。圆圈表示业务处理单位;方框表示业务处理内容;报表符号表示输出信息(报表、报告、文件、图形等);不封口的方框表示存储文件;卡片符号表示收集资料;矢量连线表示业务过程联系。7各基层单位开领料单查库存状态开缺货单发货处理基层单位存档财务部仓库存档存档正常缺货物资采购部门领料单领料单缺货通知领料单领料单仓库举例某领料业务流程图绘制举例如下:8(2)业务流程图的绘制业务流程图的绘制是根据系统详细调查过程中所得的资料和问卷调查的结果,按业务实际处理过程将它们绘制在同一张图上。图7-4为某服装经营公司进货过程的业务流程图。采购部查询库存信息及用户需求,若商品的库存量不能满足用户的需要,则编制相应的采购订货单,并交送给供应商提出订货请求。供应商按订单要求发货给该公司采购部,并附上采购收货单。公司检验人员在验货后,发现货物不合格,将货物退回供应商,如果合格则送交库房。库房管理员再进一步审核货物是否合格,如果合格则登记流水帐和库存帐目,如果不合格则交由主管审核后退回供应商。9供应商采购部采购订货单送达填写采购收货单库存信息发出发送销售需求查询查询验货单验货采购退货单呈送验货不合格库管员验货合格入库单查询退货单主管确认退货单库存帐目流水帐填写提出呈送确认退货修改库存登记修改登记图7-4某服装管理系统的进货业务流程图10销售业务流程图顾客向导购代表提出订货请求(递交订单),导购代表查询货物在库情况及客户信誉度等资料,开具销售单并发货给顾客,同时修改库存台帐。顾客若发现所购货物有质量问题,则提出退货,经主管确认后办理销售退单等手续,并修改有关帐目。图7-5为该公司的销售过程业务流程图11顾客顾客订单导购代表销售单请求递交开出呈送库存帐顾客退单退货请求客户资料导购代表递交销售退单同意退货修改修改流水帐登记查询查询销售业务流程图图7-5某服装管理系统的销售业务流程图1需求分析的方法数据流程图DFD(dateflowdiagram)和数据字典DD(datedictionary)是描述用户需求的重要工具。数据流程图描述了数据的来源和去向,以及所经过的处理;而数据字典是对数据流图中的数据流、数据存储和处理的进一步描述。132数据流程调查2.1数据流程调查概述2.2数据流程图的基本符号2.3数据流程图的绘制2.4绘制数据流程图的注意事项142.1数据流程调查概述数据流程:指数据在系统中产生、传输、加工处理、使用、存储的过程。数据流程调查:把数据在组织(或原系统)内部的流动情况抽象地独立出来,舍去具体组织机构、信息载体、处理工作、物资、材料等物质要素,单从数据流动过程来考查实际业务的数据处理模式。(概念)数据流程图:是一种能全面地描述信息系统逻辑模型的主要工具,它可以用少数几种符号综合地反映出信息在系统中的流动、处理和存储情况。15数据流程调查的内容数据流程调查主要包括对信息的流动、传递、处理、存储等的调查分析:(1)原系统全部的输入单据(如入库单、收据、凭证)、输出报表和数据存储介质(如账本、清单)的典型格式。(2)原系统各环节所采用的处理方法和计算方法。1617181920P1、外部实体3、数据流2、处理4、数据存储ESF2.2数据流程图的基本符号绘制数据流程图所需的基本符号如图所示。212.2数据流程图的基本符号(1)外部实体:本系统以外与系统有联系的人或单位。标识符为E。外部实体表达该系统数据的外部来源或去处,因此也可以是一个信息系统。(2)处理(逻辑处理功能):即对数据的变换功能,标识符为P。处理的名称直接表达这个处理的逻辑功能。222.2数据流程图的基本符号(3)数据流:指处理功能的输入或输出,箭头指明了数据的流动方向。数据流的标识符为F。数据流可以是一项数据,也可以是一组数据(如订货单、入库单等)或数据文件。通常在数据流符号的上方标明数据流的名称,一些含义十分明确的数据流,也可不加以说明。(4)数据存储:指数据保存的地方,标识符为S。这里“地方”并不是指保存数据的物理地点或物理介质,而是指数据存储的逻辑描述,如学籍一览表、库存台帐等。232.3数据流程图的绘制数据流程图的绘制采取自顶向下逐层分解的办法首先,画出顶层(第一层)数据流程图。顶层数据流程图只有一张,说明系统总的输入、输出和处理功能。其次,再对顶层数据流程图中的处理功能进行逐层分解,形成多级数据流程图。画下层的数据流图时,分解上层图中的数据处理。一般沿着输入流的方向,凡数据流的组成或值发生变化的地方则设置一个数据处理,这样一直进行到输出数据流。如果数据处理的内部还有数据流,则对此加工在下层图中继续分解,直到每个加工足够简单,不能再分解为止。24P1P2P3dab1层ecP2.1P2.2P2.3cdeP3.1P3.2P3.3bdP1.1P1.2P1.3ac2层P0b0层ea分层的原则自顶向下,逐层分解;输入输出,保持平衡顶层数据流程图第一层数据流程图27第二层数据流程图——进货28第二层数据流程图——销售29第二层数据流程图——盘存预报损西北农林科技大学信息工程学院302.4绘制数据流程图的注意事项1.数据流程图的分层数据流程图的逐层扩展数据流程图分层应遵循的原则2.检查数据流程图的正确性3.提高数据流程图的可理解性31数据流程图的逐层扩展最上层的数据流程图应概括地反映信息系统最主要的逻辑功能、外部实体和数据存储,并且能让用户一看就明白这个系统的主要功能、外部实体以及与环境的主要联系是什么。逐层扩展数据流程图是对父图中某些处理框加以分解。随着处理的分解,功能越来越具体,数据存储、数据流越来越多。逐层扩展数据流程图时应注意保持系统的完整性和一致性:子图是父图中某个处理框的“放大”。子图上应用虚线长方框表示所放大的处理框。凡与这个处理框有关系的外部实体、数据流、数据存储都必须在子图中反映出来。逐层扩展数据流程图的目的是把一个复杂的功能逐步分解为若干较为简单的功能。西北农林科技大学信息工程学院32分层应遵循的原则分层应遵循的原则:(1)一个处理框经过展开,一般以分解为3~8个处理框为宜。(2)展开的层次与管理层次一致,也可以划分得更细。处理块的分解要自然,注意功能的完整性。(3)数据流程图分层细化时必须保持信息的连续性,即当把一个处理分解为一系列处理时,分解前和分解后的输入、输出数据流必须相同。西北农林科技大学信息工程学院332.检查数据流程图的正确性(1)数据流是指处理的输入或输出,任何一个数据流至少一端是处理框。也就是说,数据流不能从外部实体直接到数据存储,不能从数据存储到外部实体,也不能在外部实体之间或数据存储之间流动。(2)父图中某一处理框的输入、输出数据流必须出现在相应的子图中,否则就会出现父图与子图的不平衡。因而,检查父图与子图是否平衡尤为重要。父图的某框扩展时,在子图中可以用虚线框表示出来,有利于这种检查。西北农林科技大学信息工程学院342.检查数据流程图的正确性(3)数据守恒,即输入数据要与输出数据相匹配。数据不守恒有两种情况:一种情况是可能遗漏了某些输入数据流,从而导致某个处理过程在没有输入的情况下产生了输出的数据;另一种情况是某些输入在处理过程中没有使用,虽然这种情况不一定是错误,但也可以研究一下为什么会产生这种情况,是否可以简化。(4)在绘制数据流程图时,应注意处理框与数据存储之间数据流的方向。一个处理过程要读文件,数据流的箭头应指向处理框,若是写文件则箭头指向数据存储。修改文件要先读后写,但本质上是写,箭头也指向数据存储。西北农林科技大学信息工程学院353.提高数据流程图的可理解性(1)尽量减少处理框间输入、输出数据流的数目,以简化处理间的联系。在数据流程图中,处理框间的数据流越少,各个处理就越独立,用户对每个部分可以单独理解。因此,在对处理框进行分解时,应尽量使各处理框间的关系简化,这样可以使一个复杂的问题转变成若干简单的问题来处理。(2)尽量避免不均匀的分解。如果在一张数据流程图中,某些处理已是基本的处理,而另一些却还要进一步分解成三层、四层。也就是说,数据流程图中某些部分描述的是细节,而其他部分描写的是较高层的抽象。这种情况就属于不均匀分解,因而不易被用户理解和接受。所以,在对顶层数据流程图的处理框进行分解时,应尽量考虑到流程图分布的均匀性。西北农林科技大学信息工程学院367.4数据字典系统分析过程中,为什么要建立数据字典?数据流程图表达不够准确、具体。只有当数据流程图中出现的每一个成分都给出定义之后,才能完整、准确地描述一个系统。因此,有必要建立数据字典来对数据流程图中的各个元素作出详细的说明。西北农林科技大学信息工程学院37数据字典的作用数据字典有以下作用:在数据字典中建立的一组严密一致的定义有助于改进系统分析员和用户之间的通信,从而消除它们之间的许多误解;有助于改进在不同的开发人员或不同的开发小组之间的通信,加快系统开发的进度。如果要求所有开发人员都根据公共的数据字典描述的数据来设计模块,则能避免许多数据不一致而造成的麻烦,比如模块间的接口问题。数据字典是开发数据库的第一步,而且是很有价值的一步。西北农林科技大学信息工程学院38数据流程图同数据字典的区别和联系区别:数据流程图:是一种描述信息系统逻辑模型的主要工具,它可以用少数几种符号综合地反映出信息在系统中的流动、处理和存储情况。数据字典:是对数据流程图中的数据项、数据结构、数据流、处理逻辑、数据存储和外部实体进行定义和描述的工具,也是数据分析和管理工具,同时也是系统设计阶段进行数据库设计的重要依据。联系:数据流程图和数据字典共同构成系统的逻辑模型。没有数据字典,数据流程图就不严格;没有数据流程图,数据字典也难于发挥作用。只有数据流程图和对数据流程图中每个元素的精确定义放在一起,才能共同构成系统的规格说明。西北农林科技大学信息工程学院39数据字典的内容数据字典的内容主要是对数据流程图中的元素进行定义:7.4.1数据项7.4.2数据结构7.4.3数据流7.4.4处理逻辑7.4.5数据存储40第二层数据流程图——进货41第二层数据流程图——销售42第二层数据流程图——盘存预报损西北农林科技大学信息工程学院437.4.1数据项的定义数据项又称数据元素,是数据的最