您好,欢迎访问三七文档
NISLabSchoolofcomputer数据流图属性、操作、协作者对象-行为模型对象-关系模型类/对象模型使用实例NISLabSchoolofcomputer数据流图加工说明数据对象说明STD图DFD图E-R图DD控制说明NISLabSchoolofcomputer数据流图描述系统逻辑模型信息在系统中的流动和处理用途交流信息的工具分析和设计的工具分层从高层到低层分解前后的数据流必须一致命名数据流处理NISLabSchoolofcomputer数据流图数据流程图的基本符号外部实体处理过程数据存储数据流向NISLabSchoolofcomputer数据流图加工名数据流名文件名实体名箭头圆或椭圆单或双杠矩形框外部实体处理过程数据存储数据流向NISLabSchoolofcomputer数据流图储户1.1业务分类处理1.3取款处理1.2存款处理存折存折存取款单存折存折存款单存折取款单利息文件帐目帐目修改帐目修改利率利率NISLabSchoolofcomputer数据流图顾客出版社验证订单汇总订单订单图书目录文件顾客档案待处理订单文件正确订单一批订单出版社档案文件出版社订单订货存根文件NISLabSchoolofcomputer数据流图NISLabSchoolofcomputer数据流图顾客供应商1处理业务订货单发货单订货单发货单配件库存汽车配件公司:第一层数据流程图(环境图)NISLabSchoolofcomputer数据流图顾客供应商销售订货单发货单配件库存1-1采购1-2订货单发货单到货通知会计1-3收据应付款通知向供应商的订货单汽车配件公司:第二层数据流程图NISLabSchoolofcomputer顾客采购编辑订货单订货单配件库存1.1.1确定顾客订货1.1.3产生暂存订货单1.1.5对照暂存订货单1.1.6业务员开发货单并修改库存1.1.4不合格顾客D2D3可发订货不满足的订货登录新顾客数据1.1.2暂存订货单D4到货通知新顾客编制销售和库存报表1.1.8销售历史D5应收款明细账D10配件库存D3合格的订货单检索库存1.1.7经理询问库存库存状态数据流图第三层NISLabSchoolofcomputer数据流图分层DFD图原则数据守恒与数据封闭原则所谓数据守恒是指加工的输入输出数据流是否匹配,即每一个加工既有输入数据流又有输出数据流。或者说一个加工至少有一个输入数据流,一个输出数据流。加工分解的原则自然性:概念上合理、清晰;均匀性:理想的分解是将一个问题分解成大小均匀的几个部分;分解度:一般每一个加工每次分解最多不要超过7个子加工,应分解到基本加工为止。NISLabSchoolofcomputer数据流图子图与父图的“平衡”父图中某个加工的输入输出数据流应该同相应的子图的输入输出相同(或相对应),分层数据流图的这种特点称为子图与父图“平衡”。合理使用文件当文件作为某些加工之间的交界面时,文件必须画出来,一旦文件作为数据流图中的一个独立成份画出来了,那么同其他成份之间的联系也应同时表达出来。NISLabSchoolofcomputer数据流图图a显然,图a中子图与父图不平衡父图13AnTBCM2子图2.12.22.3NPSTQ3.13.23.3客户帐号数量提货单子图图b如果有如下数据条目:订货单=客户+账号+数量则子、父图平衡124365定货单提货单父图NISLabSchoolofcomputer数据流图医院病房监护系统监视病员的病症(血压、体温、脉搏等定时更新病历病员出现异常情况时报警随机地产生某一病员的病情报告病员护士护士病员监护系统病员日志要求报告病症报告报警第0层NISLabSchoolofcomputer数据流图第一层格式化病员数据生理信号极限值病员护士护士中央监视病员日志病症信号要求报告病症报告报警局部监视生成报告病员极限更新日志病员数据1324日志数据NISLabSchoolofcomputer数据流图计算超过极限值否病员数据超过极限值报警开解信号产生报警信息病员极限格式化病员数据体温生理信号极限值时间脉搏血压日期时钟格式化病员数据3.13.23.33.4第二层:加工“中央监视”分解NISLabSchoolofcomputer数据字典数据流图只是表达了系统的“分解”,系统的完整描述还需要“数据词典”(datadictionary)和“功能说明”对DFD的数据和加工给出解释。数据流图中包含的所有元素的定义的集合构成了数据词典。它有四类条目:数据流、数据项、文件及加工说明。在定义数据流或文件时,使用下表给出的符号。将这些条目按照一定的规则组织起来,构成数据词典。NISLabSchoolofcomputer数据字典X=1••8表示X可取1到8中的任意一个值连接符••X=“a”表示X是取值为字符a的数据元素基本数据元素“•••”X=(a)表示a可在X中出现,也可不出现可选(•••)X=2{a}6或x={a}表示重复2~5次a重复m{•••}n或{•••}X={a}表示X由0个或多个a组成重复{•••}X=[a|b]表示X由a或b组成或[•••|•••]X=a+b表示X由a和b组成与+被定义为=例及说明含义符号Nm62NISLabSchoolofcomputer数据字典数据流条目给出某个数据流的定义,通常是列出该数据流的各组成数据项。例如:报名单=姓名+单位名+年龄+性别+课程名文件条目给出某个文件的定义,文件的定义通常是列出文件记录的组成数据流。例如某销售系统的订单文件:订单文件=订单编号+顾客名称+产品名称+订货数量+交货日期数据项条目数据项条目给出某个数据单项的定义,值类型或允许的取值范围。账号=00000~99999;存款期=[1|3|5]年NISLabSchoolofcomputer数据字典加工条目加工类条目就是“加工说明”。一般应该单独列出。对数据流图中每一个不能再分解的基本加工都必须有一个说明给出这个加工的精确描述。说明中应精确地描述加工的激发条件、加工逻辑、优先级、执行频率和出错处理等。加工逻辑是其中最基本的部分,是指用户对这个加工的逻辑要求。结构化语言、判定表、判定树NISLabSchoolofcomputer数据字典NISLabSchoolofcomputer数据字典NISLabSchoolofcomputer数据字典NISLabSchoolofcomputer数据字典NISLabSchoolofcomputerER图实体是客观世界中存在的、且可相互区分的事物。例如:教师、学生、课程是实体。联系指客观世界中的事物间的联系,描述实体与实体之间的关系。联系有三种。1:1(一对一联系)如实体“校长”与“大学”之间的联系为“1:1”1:N(一对多联系)如实体“学校”与“院系”之间的联系为“1:N”M:N(多对多联系)如实体“学生”与“课程”之间的联系为“M:N”教师学习NISLabSchoolofcomputerER图学生课程选修姓名学号系别课程名先修课学分成绩mnNISLabSchoolofcomputerER图仓库商品商店仓库号仓库名地址数量商店号商品名商品号商店名日期进货MNPNISLabSchoolofcomputerER图1教室M1教科书教师担任课程系开设N1学生选修NM上课PNNISLabSchoolofcomputerER图ER模型的设计过程,基本上是两大步:先设计实体类型(此时不要涉及到“联系”);再设计联系类型(考虑实体间的联系)。“实体”与“联系”两者之间的界线是模糊的。数据库设计者的任务就是要把现实世界中的数据以及数据间的联系抽象出来,用“实体”与“联系”来表示。另外,设计者应注意,ER模型应该充分反映用户需求,ER模型要得到用户的认可才能确定下来。NISLabSchoolofcomputerER图设计局部ER模式范围划分的原则:范围的划分要自然,易于管理;范围之间的界面要清晰,相互影响要小;范围的大小要适度。太小了,会造成局部结构过多,综合困难;太大了,则容易造成内部结构复杂,不便分析。确定属性的原则:属性应该是不可再分解的语义单位;实体与属性之间的关系只能是1:N的。NISLabSchoolofcomputerER图设计全局ER模式属性冲突:如重量单位公斤和克不统一结构冲突:同一实体在不同局部ER图中属性的个数或次序不同;实体之间的联系在不同的局部ER图中呈现不同的类型命名冲突:属性名、实体名、联系名之间存在同名异义或异名同义冲突NISLabSchoolofcomputerER图全局ER模式的优化实体类型的合并1:1联系的两个实体类型具有相同键的实体类型冗余属性的消除冗余联系的消除:利用规范化理论中函数依赖的概念消除冗余联系NISLabSchoolofcomputerER图一个实体类型转换成一个关系模式实体的属性即为关系模式的属性,实体标识符即为关系模式的键二元联系类型的转换1:1中任意一个关系模式的属性中加入另一个关系模式的键和联系类型的属性。1:N则在N端实体对应的关系模式中加入1端实体类型的键和联系类型的属性。M:N则将联系类型也转换成关系模式,其属性为两端实体类型的键加上联系类型的属性,而键为两端实体键的组合三元联系类型的转换三元联系类型转换成关系模式,属性为三端实体键的组合和联系类型的属性。NISLabSchoolofcomputerER图零件零件号零件名规格数量组成MN零件(零件号,零件名,规格)组成(零件号,子零件号,数量)NISLabSchoolofcomputerER图仓库商品商店仓库号仓库名地址数量商店号商品名商品号商店名日期进货MNP仓库(仓库号,仓库名,地址)进货(商店号,商品名,仓库号,日期,数量)商品(商品号,商品名)商店(商店号,商店名)NISLabSchoolofcomputerER图实现数据库应用的主要过程用传统软件工程方法,分析数据流,得到数据对象,确定数据字典筛选数据:输入数据;校验数据;转换数据;综合数据。分析数据间联系定义数据库表结构编制与调试应用程序数据库试运行功能测试性能测试(时空代价)
本文标题:4需求分析2
链接地址:https://www.777doc.com/doc-3345907 .html