《结构化分析建模方法PPT.ppt》由会员分享,可在线阅读,更多相关《结构化分析建模方法PPT.ppt(55页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Page 15 结构化分析(SA)建模n结构化分析方法是一种面向数据流面向数据流的系统建模技术;适合分析大型的数据处理系统。nSA帮助分析者理解系统的功能,并采用模型与用户进行交流;n不同的模型从不同的角度对系统进行描述。Page 2结构化分析建模n结构化分析方法建立的分析模型结构如下图:实体关系图 数据 词典状态迁移图数据流图数据对象描述控制规格说明加工规格说明Page 3n结构化分析模型的核心是数据词典数据词典,它描述了所有的在目标系统中使用的和生成的数据对象。n围绕着这个核心的有三种图:n实体实体关系图关系图(ERD)ERD)描述数据对象及数据对象之间的关系;n数据流图数据流图(DFD)
2、DFD)描述数据在系统中如何被传送或变换,以及描述如何对数据流进行变换的功能(子功能);n状态状态迁移图迁移图(STD)STD)描述系统对外部事件如何响应,如何动作。n因此,ERDERD用于数据建模,用于数据建模,DFDDFD用于功能建模,用于功能建模,STDSTD用于行为建模用于行为建模。结构化分析建模Page 45 5.1.1数据建模与实体数据建模与实体关系图关系图(ERD)ERD)数据模型包括三种互相关联的信息:n数据对象n描述对象的属性n描述对象间相互连接的关系(具体绘制方法同数据库原理ER模型画法)Page 55.2 5.2 功能建模和数据流图功能建模和数据流图 n功能建模的思想就是
3、用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足要求的所有可实现的软件功能为止。n数据流图将系统看成是由数据流联系起来的各种功能的组合。数据流图可以方便的描述那些通过数据流的流动所联系起来的各种功能。通过各种功能的输入/输出结果,表现系统的功能。Page 65 5.2.1.2.1 数据流图的画法数据流图的画法数据流图中的常用图元有以下四种:n 表示外部实体,是数据的提供方或需求方,代表数据源和数据池(终点)。n 表示加工,代表接收输入,经过变换,继而产生输出的处理过程。n 表示数据流,代表数据的流向和路径。n 表示数据存储,代表系统加工的数据所存储的地方。Pa
4、ge 7Flow Modeling Notationexternal entityexternal entityprocessprocessdata flowdata flowdata storedata storePage 8External EntityA producer or consumer of dataA producer or consumer of dataExamples:a person,a device,a sensorExamples:a person,a device,a sensorAnother example:computer-Another example:
5、computer-based systembased systemPage 9ProcessA data transformer(changes inputA data transformer(changes inputto output)to output)Examples:compute taxes,determine area,Examples:compute taxes,determine area,format report,display graph format report,display graph Data must always be processed in some
6、way to achieve system functionPage 10Data FlowData flows through a system,beginningData flows through a system,beginningas input and be transformed into output.as input and be transformed into putecomputetriangle triangle areaareabasebaseheightheightareaareaData must always originate somewhereand mu
7、st always be sent to somethingPage 11Data StoresDataData is often stored for later use.is often stored for later use.look-uplook-upsensorsensordatadatasensor#sensor#report requiredreport requiredsensor#,type,sensor#,type,location,agelocation,agesensor datasensor datasensor numbersensor numbertype,ty
8、pe,location,agelocation,agePage 12 例:教材采购与销售管理系统数据流图例:教材采购与销售管理系统数据流图 F1教材存量表 1 销售 2 采 购 书库保管员 学 生领书单 购书通知 进书单 购书单 缺书单 F2缺书登记表 缺书通知Page 13多个数据流与加工之间关系的符号多个数据流与加工之间关系的符号 Page 14有关数据流(1)数据流是一组成分已知的数据。可以是一个数据,也可以是一组数据。(2)两个加工之间可以有多个数据流。(3)同一数据流可流向不同加工,不同加工也可流出相同的数据流。(合并与分解)。(4)数据流不能是实物,不能把现实环境中的实物名作为数据
9、流名,软件只能处理数据,不能处理实物。(5)数据流不能是控制流。数据流反映了处理的对象,控制流是一种选择或用来影响加工的性质。Page 15含控制流的例子含控制流的例子含实物的例子含实物的例子货物价格货物价格记帐记帐提货单提货单货物货物读入读入卡片卡片卡片卡片检验检验卡片数据卡片数据读下张卡片读下张卡片数据数据合法卡片合法卡片信息信息Page 165 5.2.2.2.2分层数据流图分层数据流图n复杂的实际问题,在数据流图上常常出现十几个甚至几十个加工。n画数据流图的基本步骤概括地说,就是自外向内,自顶向下,逐层细化,完善求精。n按照系统的层次结构进行逐步分解,并以分层的数据流图反映复杂的结构关
10、系,能清楚地表达和容易理解整个系统。Page 17结构化控制复杂性的方法是结构化控制复杂性的方法是采用分层技术采用分层技术,用一套分层,用一套分层DFD来分解复杂性。分层体现了抽象和信息隐藏。来分解复杂性。分层体现了抽象和信息隐藏。一套分层一套分层DFD图包括图包括顶层顶层DFD、中间层、中间层DFD和底层和底层DFD组成。组成。(1)父图和子图,分层图编号)父图和子图,分层图编号如果一张数据流图中的某个加工分解成另一张数据流如果一张数据流图中的某个加工分解成另一张数据流图时,则上层图为父图,直接下层图为子图。子图及图时,则上层图为父图,直接下层图为子图。子图及其所有的加工都应对应父图进行编号
11、。其所有的加工都应对应父图进行编号。(2)父图和子图的平衡性)父图和子图的平衡性子图的输入输出数据流同父图相应加工的输入输出数子图的输入输出数据流同父图相应加工的输入输出数据流必须一致,此即父图与子图的平衡。据流必须一致,此即父图与子图的平衡。有关数据流分层Page 18(3)局部文件)局部文件当某层数据流图中的数据存储不是父图中相应加工的当某层数据流图中的数据存储不是父图中相应加工的外部接口,而只是本图中某些加工之间的数据接口,外部接口,而只是本图中某些加工之间的数据接口,则称这些数据存储为局部数据存储。则称这些数据存储为局部数据存储。(4)分解度)分解度注意注意合理合理分解,要把一个加工分
12、解成几个功能相对独分解,要把一个加工分解成几个功能相对独立的子加工,这样可以减少加工之间输入、输出数据立的子加工,这样可以减少加工之间输入、输出数据流的数目,增加数据流图的可理解性。流的数目,增加数据流图的可理解性。S213FFFF2.22.32.42.13.23.13.3FDFD/L0DFD/L11.2F1.11.3DFD/L2.1DFD/L2.2DFD/L2.3分层图编号分层图编号顶层顶层1层层2层层19Page 20Page 21父图和子图的平衡父图和子图的平衡123ABMSCN父父图图子子图图M3.13.23.4NXPQS3.3SPage 22局部文件局部文件123ABMSCN父父图图
13、子子图图返回返回M3.13.23.4NXPQS3.3FileSROPage 23画分层数据流图的注意事项画分层数据流图的注意事项n数据流图要具有数据流图要具有可读性、一致性、正确性可读性、一致性、正确性。数据流图上所有图形符号只限于前述四种基本图形元素。顶层数据流图上的数据流必须封闭在外部实体之间。数据应通过加工流动,避免从一个数据存储直接流向另一个数据存储。每个加工至少有一个输入数据流和一个输出数据流,且输入与输出数据流要平衡。有输入,无使用及输出为“黑洞”,无输入和产生而有输出为“奇迹”。在数据流图中,需按层给加工框编号。编号表明该加工处在哪一层,以及上下层的父图与子图的对应关系。规定任何
14、一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。此即父图与子图的平衡。Page 24画分层数据流图的注意事项画分层数据流图的注意事项 图上每个元素都必须有名字。数据流和数据文件的名字应当是“名词”或“名词性短语”,表明流动的数据是什么。加工的名字应当是“名词宾语”,表明做什么事情。数据流图中不可夹带控制流。初画时可以忽略琐碎的细节,以集中精力于主要数据流。Page 25数据流图的数据流图的步骤步骤:1、找外部实体,找到外部实体即可确定系统与外部世界的、找外部实体,找到外部实体即可确定系统与外部世界的关系关系,也就可确定数据流源点和终(汇)点;,也就可确定数据流
15、源点和终(汇)点;2、找出外部实体的输入和输出数据流;、找出外部实体的输入和输出数据流;3、画出外部实体;、画出外部实体;4、从外部实体的输出流(源)出发,按照系统的逻辑需要,、从外部实体的输出流(源)出发,按照系统的逻辑需要,逐步画出一系列逻辑加工框,直至数据终点;逐步画出一系列逻辑加工框,直至数据终点;5、按照一般原则进行检查和修改;、按照一般原则进行检查和修改;6、按上述步骤画出所需的子图。、按上述步骤画出所需的子图。Page 261.假设一家工厂的假设一家工厂的采购部采购部(采购人员)(采购人员)每天需要每天需要一张一张定货报表定货报表,报表按零件编号排序,表中列,报表按零件编号排序,
16、表中列出所有需要再次定货的零件。对于每个需要再出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号,次定货的零件应该列出下述数据:零件编号,零件名称,定货数量,目前价格,主要供应者,零件名称,定货数量,目前价格,主要供应者,次要供应者。次要供应者。2.零件入库或出库称为零件入库或出库称为事务事务,仓库管理员仓库管理员通过放通过放在仓库中的在仓库中的CRT终端终端把把事务事务报告给报告给定货系统定货系统。当某种零件的库存数量少于库存量临界值时就当某种零件的库存数量少于库存量临界值时就应该再次定货。应该再次定货。描述订货系统的分层数据流图描述订货系统的分层数据流图例例1P
17、age 27顶层数据流图顶层数据流图Page 28Page 29答案不唯一产生产生订货订货信息信息Page 30例例2请分层画出数据流图。请分层画出数据流图。教学购销系统是某高校早期使用过的一个教材管理系统,主教学购销系统是某高校早期使用过的一个教材管理系统,主要用于对计划供应教材的控制销售与补充采购。该系统主要要用于对计划供应教材的控制销售与补充采购。该系统主要具有以下功能。具有以下功能。1、根据学校的教学计划,向选课的学生供应所需教材、根据学校的教学计划,向选课的学生供应所需教材根据根据学生学生(个人或班级)(个人或班级)的的购书单购书单发售教材发售教材,并更新,并更新教材存量教材存量;对
18、属于计划供应但暂时缺货的教材进行对属于计划供应但暂时缺货的教材进行缺书登记缺书登记。缺货教材补充后,以缺货教材补充后,以领书单领书单的方式的方式及时通知学生补购。及时通知学生补购。2、根据、根据缺书登记缺书登记补充采购所缺的教材补充采购所缺的教材将缺书登记表汇总为将缺书登记表汇总为缺书单缺书单,由,由管理员管理员采购采购;管理员采购的每一批图书都有管理员采购的每一批图书都有进货单进货单,系统根据,系统根据进货单进货单更新更新教教材存量材存量并更新并更新缺书登记缺书登记。Page 31例:教材采购与销售管理系统零层数据例:教材采购与销售管理系统零层数据流图流图 L0L0教材购销系统 领书单 进书
19、单 学生书库管理员 购书单 缺书单 Page 32教材采购与销售管理系统一层数据流图教材采购与销售管理系统一层数据流图 L1L1F1教材存量表 1 销售 2 采购 书库保管员 学 生领书单 购书通知 进书单 购书单 缺书单 F2缺书登记表 缺书通知Page 33教材采购与销售管理系统二层数据流图教材采购与销售管理系统二层数据流图 L2.1L2.11.1查库存1.2售书1.3申请采购 学 生 购书单领书单缺书列表F1教材存量表F2缺书登记表到货书单进书通知缺书通知购书单Page 34教材采购与销售管理系统二层数据流图教材采购与销售管理系统二层数据流图 L2.2L2.2Page 35例例3Page
20、 36语法分析:语法分析:动词是动词是SafeHome处理(加工),它们最终将被表处理(加工),它们最终将被表示为示为DFD中的泡泡;中的泡泡;名词是外部实体(方框)、数据流(箭头)、数据名词是外部实体(方框)、数据流(箭头)、数据存储(双横线)。存储(双横线)。通过对任何通过对任何DFD层次中某个泡泡的处理叙述文字进层次中某个泡泡的处理叙述文字进行语法分析,可以产生许多关于如何精化到下一个行语法分析,可以产生许多关于如何精化到下一个层次的有用信息。层次的有用信息。Page 37DFD-0 level器器Page 38DFD-1 level控制面板显示Page 39DFD-2 level精化精
21、化“检测传感器检测传感器”Page 405 5.2.3.2.3数据词典数据词典 数据词典用于精确、严格地定义每一个与系统相关的数据元素(包括加工、数据流、数据存储、外部实体和数据项),并以字典式顺序将它们组织起来,使得用户和分析员有共同的理解。n在数据词典的每一个词条中应包含以下信息:在数据词典的每一个词条中应包含以下信息:名称:名字。别名或编号。分类 描述:描述内容或数据结构等。何处使用:用途。注释:数据量,峰值,限制,组织方式等 Page 41数据字典中的数据字典中的分类(条目)分类(条目)包括包括5 5种形式:种形式:1 1、数据项数据项:数据处理中基本的不可分割的逻辑单位(如学号等):
22、数据处理中基本的不可分割的逻辑单位(如学号等)。2 2、数据流数据流:定义数据流图中的数据流,包括名字、编号、来源去向、:定义数据流图中的数据流,包括名字、编号、来源去向、数据组成等。数据组成等。3 3、数据存储数据存储:说明存储文件的名称、编号、组成、记录数等。:说明存储文件的名称、编号、组成、记录数等。4 4、加工加工:说明加工的名称、编号、激活条件、加工逻辑概括描述等。:说明加工的名称、编号、激活条件、加工逻辑概括描述等。5 5、外部实体外部实体:说明外部实体的名称、编号,输入:说明外部实体的名称、编号,输入/输出数据流等。但输出数据流等。但由于源点和汇点不在系统之内,可以不描述。由于源
23、点和汇点不在系统之内,可以不描述。Page 42 数据词典中的符号数据词典中的符号 符 号 含 义 解 释 .|.m.n (.)“.”.被定义为 与 或重复重复 可选 基本数据元素连结符 例如,x=ab,表示x由a和b组成。例如,x=a|b,表示x由a或由b组成。例如,x=a,表示x由0个或多个a组成。例如,x=3a8,表示x中a出现3到8次。例如,x=(a),表示a可在x中出现,也可不出现例如,x=“a”,表示x为取值为a的数据元素。例如,x=1.9,表示x可取1到9之中的任一值Page 43例如:例如:类型:数据流条目类型:数据流条目名字:购书列表别名:购书单描述:对学生提供的购书单通过查
24、库存将有库存的购书信息汇总形成的列表定义:购书列表=需书单位+书名+(刊号)+数量+(时限)+学生用书|教师用书|图书馆用书Page 44类型:数据项条目类型:数据项条目名字:需书单位别名:购书单位描述:提供购书单的单位名称定义:20个汉字例如:例如:Page 45类型:数据存储条目类型:数据存储条目编号:F1名字:教材库存量表别名:描述:记录每种库存教材的库存数量定义:教材库存量表=书名+(刊号)+(版本)+数量数据组织方式:按书名拼音顺序排列 例如:例如:Page 465 5.2.4.2.4 加工规格说明加工规格说明(处理规格说明(处理规格说明 ProcessProcess Specifi
25、cationSpecification PSPECPSPEC )(加工逻辑描述)(加工逻辑描述)n加工规格说明用来说明DFD中的数据加工的加工细节,数据加工的输入,实现加工的算法(加工逻辑或加工规则)以及产生的输出。n另外,加工规格说明指明了加工的约束和限制,与加工相关的性能要求,以及影响加工的实现方式的设计约束。n目前用于写加工规格说明的工具有结构化语言、判定表和判定树。Page 47Process Specification(PSPEC)PSPECPSPECnarrativenarrativePDLPDLequationsequationstablestablesdiagrams and/
26、or chartsdiagrams and/or chartsbubblebubble处理规格说明用于描述出现在求精过程最底层的流模型的处理处理规格说明用于描述出现在求精过程最底层的流模型的处理Page 48结构化语言结构化语言:类型:加工说明条目类型:加工说明条目编号:2.1名字:询价别名:加工逻辑:首先根据购书通知逐个进行多方询价 然后比较各种报价 比较其他情况(有无现货,付款方式,是 否送货等)综合评定供应商,确定订货价格输入数据:购书通知输出数据:订货价格触发条件:每当书库管理员发出购书通知执行发生频度:一般每周一次,最多每天一次 Page 49结构化语言Page 50判定树和判定表判
27、定树和判定表 n判定树和判定表适于描述多个逻辑条件的组合描述。n判定树根据判定条件的关系构造,内部节点为判定条件,叶子节点为判定结果。Page 51判定树和判定表判定树和判定表 基本条件基本条件条件项条件项基本动作基本动作(操作)(操作)动作项动作项n判定表的基本结构为判定表的基本结构为 :Page 52实体关系图 数据 词典状态状态迁移图迁移图数据流图数据对象描述控制规格说明控制规格说明加工规格说明5.3 5.3 状态状态-迁移图迁移图ERDERD用于数据建模,用于数据建模,DFDDFD用于功能建模,用于功能建模,STDSTD用于行为建模用于行为建模。Page 53n为了获得关于软件需求的有益理解,使用数据模型和数据流模型(功能模型)很有必要。但是有一大类事件是事件驱动而不是数据驱动,产生控制信息而不是显示信息,因此要进行控制流建模(行为建模)。n(State-Transition Diagram)STD被用来描述系统或对象的状态,以及导致系统或对象的状态改变的事件,从而描述系统的行为.属于结构化分析方法(X)使用工具.Page 54Safehome 状态图Page 55Safehome 处理(加工)激活表