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