《数据流图与需求分析建模案例.ppt》由会员分享,可在线阅读,更多相关《数据流图与需求分析建模案例.ppt(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2.2.2 2.2.2 数据流图数据流图数数据据流流图图(Data Data Flow Flow DiagramDiagram,DFDDFD)是是描描述述系系统统中中数数据据流流程程的的图图形形工工具具,它它标标识识了了一一个个系系统统的的逻逻辑辑输输入入和和逻逻辑辑输输出出,以以及及把把逻逻辑输入转换为逻辑输出所需的加工处理。辑输入转换为逻辑输出所需的加工处理。数据存储数据存储数据源点数据源点或终点或终点加加 工工加工名数据流数据流数据流名文件名实体名箭箭 头头圆或椭圆圆或椭圆单或双杠单或双杠矩形框矩形框还有一些辅助的图例还有一些辅助的图例:2.2.2 分层的数据流图一、数据流图的图符一、数
2、据流图的图符四种基本图形符号:四种基本图形符号:TAB*CTAB*CTAB+CTAB+CTABC+TABC+*与与+或或互斥+“先全局后局部先全局后局部,先整体后细节先整体后细节,先抽象后具体先抽象后具体”通常可将这种分层的通常可将这种分层的DFDDFD图图,分为顶层、中间层、底层。分为顶层、中间层、底层。具体步骤:具体步骤:1 1。先确定系统范围,画出顶层的。先确定系统范围,画出顶层的DFDDFD图。图。2 2。逐层分解顶层。逐层分解顶层DFDDFD图,获得若干中间层图,获得若干中间层DFDDFD图。图。3 3。画出底层的。画出底层的DFDDFD图。图。2.2.3 2.2.3 画分层画分层D
3、FDDFD图的方法图的方法 顶顶层层图图说说明明了了系系统统的的边边界界,即即系系统统的的输输入入和和输输出出数数据据流流,顶顶层层图图只只有有一一张张。底底层层图图由由一一些些不不能能再再分分解解的的加加工工组组成成,这这些些加加工工都都已已足足够够简简单单,称称为为基基本本加加工工。在在顶顶层层和和底底层层之之间间的的是是中中间间层层。中中间间层层的的数数据据流流图图描描述述了了某某个个加工的分解,而它的组成部分又要进一步分解。加工的分解,而它的组成部分又要进一步分解。画各层画各层DFDDFD图时,图时,“由外向内由外向内”。X1321.11.21.41.32.12.21.1.11.1.2
4、2.1.32.1.22.1.12.2.22.2.32.2.1顶顶层层中中 间间 层层底底 层层先全局后局部先全局后局部,先整体后细节先整体后细节,先抽象后具体先抽象后具体.0图1图2图图图图分层DFD 图经过初步的需求分析,得到系统功能要求:经过初步的需求分析,得到系统功能要求:1 1、监视病员的病症(血压、体温、脉搏等)。、监视病员的病症(血压、体温、脉搏等)。2 2、定时更新病历。、定时更新病历。3 3、病员出现异常情况时报警。、病员出现异常情况时报警。4 4、随机地产生某一病员的病情报告。、随机地产生某一病员的病情报告。2.2.4 实例:医院病房监护系统产生产生病情报告病情报告监视病情监
5、视病情更新病历更新病历2.2.4 实例:医院病房监护系统系统功能要求:系统功能要求:1 1、监视病员的病症(血压、体温、脉搏等)、监视病员的病症(血压、体温、脉搏等)2 2、定时更新病历、定时更新病历 3 3、病员出现异常情况时报警。、病员出现异常情况时报警。4 4、随机地产生某一病员的病情报告。、随机地产生某一病员的病情报告。顶层:顶层:病员病员护士护士护士护士病员监病员监护系统护系统病员病员日志日志病症信号病症信号要求报告要求报告病症病症报告报告报警报警例例2 2 医院病房监护系统医院病房监护系统第一层:第一层:病员病员护士护士护士护士中央监视中央监视病员病员日志日志病症信号病症信号要求报
6、告要求报告病症病症报告报告报警报警局部监视局部监视生成报告生成报告病员极限病员极限更新日志更新日志病员数据病员数据格式化格式化病员数据病员数据生理信号生理信号极限值极限值1324日志数据日志数据日志数据日志数据医院病房监护系统顶层医院病房监护系统顶层DFDDFD图图第二层:加工第二层:加工“中央监视中央监视”分解分解计算超过计算超过极限值否极限值否病员数据据超过极限值报警开解信号开解信号产生产生报警信息报警信息病员极限病员极限格式化格式化病员数据病员数据体温血压、体温脉搏生理信号极限值时间脉搏血压日期时钟时钟格式化病员数据3.13.23.23.33.33.43.4医院病房监护系统二层医院病房监
7、护系统二层DFDDFD图图计算超过计算超过极限值否极限值否病员数据超过极限值报警开解信号开解信号产生产生报警信息报警信息病员极限病员极限格式化格式化病员数据病员数据体温血压、体温、脉搏生理信号极限值时间脉搏血压日期时钟时钟格式化病员数据3.13.23.23.33.33.43.4第二层:加工第二层:加工“中央监视中央监视”分解分解医院病房监护系统分层医院病房监护系统分层医院病房监护系统分层医院病房监护系统分层DFDDFDDFDDFD图图图图图 2.15第一层第一层格式化格式化病员数据病员数据生理信号生理信号极限值极限值病员病员护士护士护士护士中央监视中央监视病员病员日志日志病症信号病症信号要求报
8、告要求报告病症病症报告报告报警报警局部监视局部监视生成报告生成报告病员极限病员极限更新日志更新日志病员病员数据数据1324日志数据日志数据图 2.16加工分解的原则加工分解的原则自然性自然性:概念上合理、清晰;概念上合理、清晰;均均匀匀性性:理理想想的的分分解解是是将将一一个个问问题题分分解解成成大大小小均均匀匀的的几几个部分;个部分;分分解解度度:一一般般每每一一个个加加工工每每次次分分解解最最多多不不要要超超过过个个子子加工加工,分解应分解到基本加工为止。分解应分解到基本加工为止。2.2.5 2.2.5 画分层画分层DFDDFD图的基本原则图的基本原则数据守恒与数据封闭原则数据守恒与数据封
9、闭原则 所所谓谓数数据据守守恒恒是是指指加加工工的的输输入入输输出出数数据据流流是是否否匹匹配配,即即每每一一个个加加工工既既有有输输入入数数据据流流又又有有输输出出数数据据流流。或或者者说说一一个加工至少有一个输入数据流,一个输出数据流。个加工至少有一个输入数据流,一个输出数据流。数据封闭是对整个系统而言。数据封闭是对整个系统而言。合理使用文件合理使用文件 当当文文件件作作为为某某些些加加工工之之间间的的交交界界面面时时,文文件件必必须须画画出出来来,一一旦旦文文件件作作为为数数据据流流图图中中的的一一个个独独立立成成份份画画出出来来了,那么他同其他成份之间的联系也应同时表达出来。了,那么他
10、同其他成份之间的联系也应同时表达出来。DFDDFDDFDDFD图不是流程图图不是流程图图不是流程图图不是流程图,不表示软件的控制流程。不表示软件的控制流程。不表示软件的控制流程。不表示软件的控制流程。2.2.5 2.2.5 画分层画分层DFDDFD图的基本原则图的基本原则子图与父图的子图与父图的“平衡平衡”父图中某个加工的输入输出数据流应该同相应的子父图中某个加工的输入输出数据流应该同相应的子图的输入输出相同图的输入输出相同(相对应),分层数据流图的这种特相对应),分层数据流图的这种特点称为子图与父图点称为子图与父图“平衡平衡”。2.2.6 分层DFD图的改进 DFD图必须经过图必须经过反复修
11、改反复修改,才能获得最终的目标系统的,才能获得最终的目标系统的逻辑模型(目标系统的逻辑模型(目标系统的DFD图)。可从以下方面考虑图)。可从以下方面考虑DFD图图的改进:的改进:1 1、检查数据流的正确性、检查数据流的正确性 数据数据守恒守恒 子图、父图的平衡子图、父图的平衡 文件使用是否合理。特别注意输入文件使用是否合理。特别注意输入/出文件的数据流。出文件的数据流。2 2、改进、改进DFDDFD图的易理解性图的易理解性 简化加工之间的联系(加工间的数据流越少,独立性越简化加工之间的联系(加工间的数据流越少,独立性越强,易理解性越好)。强,易理解性越好)。改进分解的均匀性。改进分解的均匀性。
12、适当命名(各成分名称无二义性,准确、具体)。适当命名(各成分名称无二义性,准确、具体)。分分层层数数据据流流图图只只是是表表达达了了系系统统的的“分分解解”,为为了了完完整整地地描描述述这这个个系系统统,还还需需借借助助“数数据据词词典典”和和“小小说说明明”对图中的每个数据和加工给出解释。对图中的每个数据和加工给出解释。对对数数据据流流图图中中包包含含的的所所有有元元素素的的定定义义的的集集合合构构成成了了数数据词典。词典中可有以下四种类型的条目据词典。词典中可有以下四种类型的条目:2.2.7 2.2.7 2.2.7 2.2.7 数据词典数据词典数据词典数据词典(DD)(DD)(DD)(DD
13、)数据流数据流 文件文件 数据项数据项 加工加工 A、数据流条目数据流条目给出某个数据流的定义,通常是列出该给出某个数据流的定义,通常是列出该 数据流的各组成数据项。数据流的各组成数据项。例如:报名单姓名单位名年龄性别课程名例如:报名单姓名单位名年龄性别课程名 常用符号:、()、常用符号:、()、C、数据项条目数据项条目 数数据据项项条条目目给给出出某某个个数数据据单单项项的的定定义义,通通常常是是数数据据项项的的值类型,允许的取值范围。值类型,允许的取值范围。B、文件条目、文件条目给出某个文件的定义,同数据流一样,文件给出某个文件的定义,同数据流一样,文件的定义通常是列出文件记录的组成数据流
14、的定义通常是列出文件记录的组成数据流例如某销售系统的订单文件:例如某销售系统的订单文件:订单文件订单编号顾客名称产品名称订货数量交货日期订单文件订单编号顾客名称产品名称订货数量交货日期D.加工条目加工条目加工类条目就是加工类条目就是“加工小说明加工小说明”。一般应该单独列出。一般应该单独列出。2.2.8 2.2.8 2.2.8 2.2.8 加工说明加工说明加工说明加工说明结构化语言结构化语言判定表判定表判定树判定树 对数据流图中每一个不能再分解的基本加工都必须有对数据流图中每一个不能再分解的基本加工都必须有一个一个小说明小说明给出这个加工的精确描述。小说明中应精确地给出这个加工的精确描述。小说
15、明中应精确地描述加工的激发条件、加工逻辑、优先级、执行频率和出描述加工的激发条件、加工逻辑、优先级、执行频率和出错处理等。加工逻辑是其中最基本的部分,是指用户对这错处理等。加工逻辑是其中最基本的部分,是指用户对这个加工的逻辑要求。个加工的逻辑要求。对基本加工说明有三种描述方式:对基本加工说明有三种描述方式:结构化语言是介于自然语言和形式语言之间的一种半形结构化语言是介于自然语言和形式语言之间的一种半形式语言,它是自然语言的一个受限制的子集。一般分为两层式语言,它是自然语言的一个受限制的子集。一般分为两层结构:外层语法较具体,为控制结构(顺序、选择、循环)结构:外层语法较具体,为控制结构(顺序、
16、选择、循环),内层较灵活,表达内层较灵活,表达“做什么做什么”。一、一、结构化语言结构化语言例如:外层可为以下结构:例如:外层可为以下结构:1、顺序结构、顺序结构2、选择结构、选择结构 IFTHEN-ELSE;CASE-OF-ENDCASE;3、循环结构、循环结构 WHILE-DO;REPEAT-UNTIL 例:一图书销售系统,其中一加工为例:一图书销售系统,其中一加工为“优惠处理优惠处理”,条件是:,条件是:顾客的营业额大于顾客的营业额大于10001000元,同时必须信誉好,或者虽然信誉元,同时必须信誉好,或者虽然信誉不好,但是不好,但是2020年以上的老主顾。年以上的老主顾。应用举例应用举
17、例用结构化语言来描述:用结构化语言来描述:如果如果 营业额大于营业额大于10001000元元 同时同时 如果信誉好如果信誉好 则则 优惠处理。优惠处理。否则否则 正常处理。正常处理。否则否则 信誉不好信誉不好 但是但是2020年以上的老主顾,则优惠处理。年以上的老主顾,则优惠处理。否则否则 营业额小于、等于营业额小于、等于10001000元元 则则 正常处理。正常处理。显然,用结构化语言来描述组合条件不清晰。显然,用结构化语言来描述组合条件不清晰。判定表是一种二维的表格,常用于较复杂的组合条件判定表是一种二维的表格,常用于较复杂的组合条件(与结构化语言比较)。(与结构化语言比较)。条件框条件框
18、 条件条目条件条目 操作框操作框 操作条目操作条目二、二、二、二、判定表判定表特点:可处理较复杂的组合条件,但不易理解特点:可处理较复杂的组合条件,但不易理解.不易输入计不易输入计算机。算机。通常由四部分组成。通常由四部分组成。条件框条件框 条件定义。条件定义。操作框操作框 操作的定义。操作的定义。条件条目条件条目 各条件的取值及组合。各条件的取值及组合。操作条目操作条目 在各条件取值组合下所执行的操作。在各条件取值组合下所执行的操作。例如例如:对商店每天的营业额所收税率对商店每天的营业额所收税率营业额营业额X()1000X50005000 X 10001000元元 Y Y Y Y N Y Y
19、 N 信誉好信誉好 Y N N -Y N N -20 20 年年 -Y N -Y N -优优 惠惠 X X X X 正正 常常 X X X X 化化简简后后 1 2 3 4 5 6 7 81 2 3 4 5 6 7 8 10001000元元 Y Y Y Y Y N N N N Y Y Y N N N N 信誉好信誉好 Y Y N N Y Y N N Y Y N N Y Y N N 20 20 年年 Y N Y N Y N Y NY N Y N Y N Y N优优 惠惠 X X XX X X正正 常常 X X X X X X X X X XY-Y-满足条件满足条件 N N-不满足条件不满足条件 X-X-选中判定的结论选中判定的结论判定表判定表判定表判定表应用举例应用举例应用举例应用举例特点特点:描述一般组合条件较清晰,易理解。不易输入描述一般组合条件较清晰,易理解。不易输入计算机。计算机。营业额营业额 10001000元元 1000 1000元元 正常处理正常处理好的支付信誉好的支付信誉 优惠处理优惠处理坏的支付信誉坏的支付信誉 20 20年年 优惠处理优惠处理 20 20年年 正常处理正常处理如上例如上例三、三、判定树判定树