1、数据流图(数据流图(Data Flow DiagramData Flow Diagram,DFDDFD)是描述系统中数据流程)是描述系统中数据流程的图形工具,它标识了一个系统的逻辑输入和逻辑输出,以及把逻的图形工具,它标识了一个系统的逻辑输入和逻辑输出,以及把逻辑输入转换为逻辑输出所需的加工处理。辑输入转换为逻辑输出所需的加工处理。数据存储数据存储数据源点数据源点或终点或终点加加 工工加工名数据流数据流数据流名文件名实体名箭箭 头头圆或椭圆圆或椭圆单或双杠单或双杠矩形框矩形框还有一些辅助的图例还有一些辅助的图例:一、数据流图的图符一、数据流图的图符四种基本图形符号:四种基本图形符号:TAB*C
2、TAB*CTAB+CTAB+CTABC+TABC+*与与+或或互斥+“先全局后局部先全局后局部,先整体后细节先整体后细节,先抽象后具体先抽象后具体”通常可将这种分层的通常可将这种分层的DFDDFD图图,分为顶层、中间层、底层。分为顶层、中间层、底层。具体步骤:具体步骤:1 1。先确定系统范围,画出顶层的。先确定系统范围,画出顶层的DFDDFD图。图。2 2。逐层分解顶层。逐层分解顶层DFDDFD图,获得若干中间层图,获得若干中间层DFDDFD图。图。3 3。画出底层的。画出底层的DFDDFD图。图。2.2.3 2.2.3 画分层画分层DFDDFD图的方法图的方法 顶层图说明了系统的边界顶层图说
3、明了系统的边界,即系统的输入和输出数据即系统的输入和输出数据流,顶层图只有一张。底层图由一些不能再分解的加工流,顶层图只有一张。底层图由一些不能再分解的加工组成,这些加工都已足够简单,称为组成,这些加工都已足够简单,称为基本加工基本加工。在顶层。在顶层和底层之间的是中间层。中间层的数据流图描述了某个和底层之间的是中间层。中间层的数据流图描述了某个加工的分解,而它的组成部分又要进一步分解。加工的分解,而它的组成部分又要进一步分解。画各层画各层DFDDFD图时,图时,“由外向内由外向内”。X1321.11.21.41.32.12.21.1.11.1.22.1.32.1.22.1.12.2.22.2
4、.32.2.1顶顶层层中中 间间 层层底底 层层先全局后局部先全局后局部,先整体后细节先整体后细节,先抽象后具体先抽象后具体.0图1图2图1.1图2.1图2.2图分层DFD 图经过初步的需求分析,得到系统功能要求:经过初步的需求分析,得到系统功能要求:1 1、监视病员的病症(血压、体温、脉搏等)。、监视病员的病症(血压、体温、脉搏等)。2 2、定时更新病历。、定时更新病历。3 3、病员出现异常情况时报警。、病员出现异常情况时报警。4 4、随机地产生某一病员的病情报告。、随机地产生某一病员的病情报告。2.2.4 实例:医院病房监护系统产生产生病情报告病情报告监视病情监视病情更新病历更新病历2.2
5、.4 实例:医院病房监护系统系统功能要求:系统功能要求:1 1、监视病员的病症(血压、体温、脉搏等)、监视病员的病症(血压、体温、脉搏等)2 2、定时更新病历、定时更新病历 3 3、病员出现异常情况时报警。、病员出现异常情况时报警。4 4、随机地产生某一病员的病情报告。、随机地产生某一病员的病情报告。顶层:顶层:病员病员护士护士护士护士病员监病员监护系统护系统病员病员日志日志病症信号病症信号要求报告要求报告病症病症报告报告报警报警例例2 2 医院病房监护系统医院病房监护系统第一层:第一层:病员病员护士护士护士护士中央监视中央监视病员病员日志日志病症信号病症信号要求报告要求报告病症病症报告报告报
6、警报警局部监视局部监视生成报告生成报告病员极限病员极限更新日志更新日志病员数据病员数据格式化格式化病员数据病员数据生理信号生理信号极限值极限值1324日志数据日志数据日志数据日志数据医院病房监护系统顶层医院病房监护系统顶层DFDDFD图图第二层:加工第二层:加工“中央监视中央监视”分解分解计算超过计算超过极限值否极限值否病员数据据超过极限值报警开解信号开解信号产生产生报警信息报警信息病员极限病员极限格式化格式化病员数据病员数据体温血压、体温脉搏生理信号极限值时间脉搏血压日期时钟时钟格式化病员数据3.13.23.23.33.33.43.4医院病房监护系统二层医院病房监护系统二层DFDDFD图图计
7、算超过计算超过极限值否极限值否病员数据超过极限值报警开解信号开解信号产生产生报警信息报警信息病员极限病员极限格式化格式化病员数据病员数据体温血压、体温、脉搏生理信号极限值时间脉搏血压日期时钟时钟格式化病员数据3.13.23.23.33.33.43.4第二层:加工第二层:加工“中央监视中央监视”分解分解图 2.15第一层第一层格式化格式化病员数据病员数据生理信号生理信号极限值极限值病员病员护士护士护士护士中央监视中央监视病员病员日志日志病症信号病症信号要求报告要求报告病症病症报告报告报警报警局部监视局部监视生成报告生成报告病员极限病员极限更新日志更新日志病员病员数据数据1324日志数据日志数据图
8、 2.16加工分解的原则加工分解的原则自然性自然性:概念上合理、清晰;概念上合理、清晰;均匀性均匀性:理想的分解是将一个问题分解成大小均匀的几理想的分解是将一个问题分解成大小均匀的几个部分;个部分;分解度:分解度:一般每一个加工每次分解最多不要超过个子一般每一个加工每次分解最多不要超过个子加工加工,分解应分解到基本加工为止。分解应分解到基本加工为止。数据守恒与数据封闭原则数据守恒与数据封闭原则 所谓数据守恒是指加工的输入输出数据流是否匹配,所谓数据守恒是指加工的输入输出数据流是否匹配,即每一个加工既有输入数据流又有输出数据流。或者说一即每一个加工既有输入数据流又有输出数据流。或者说一个加工至少
9、有一个输入数据流,一个输出数据流。个加工至少有一个输入数据流,一个输出数据流。数据封闭是对整个系统而言。数据封闭是对整个系统而言。合理使用文件合理使用文件 当文件作为某些加工之间的交界面时,文件必须画当文件作为某些加工之间的交界面时,文件必须画出来,一旦文件作为数据流图中的一个独立成份画出来出来,一旦文件作为数据流图中的一个独立成份画出来了,那么他同其他成份之间的联系也应同时表达出来。了,那么他同其他成份之间的联系也应同时表达出来。DFDDFD图不是流程图图不是流程图,不表示软件的控制流程。不表示软件的控制流程。子图与父图的子图与父图的“平衡平衡”父图中某个加工的输入输出数据流应该同相应的父图
10、中某个加工的输入输出数据流应该同相应的子图的输入输出相同子图的输入输出相同(相对应),分层数据流图的这种相对应),分层数据流图的这种特点称为子图与父图特点称为子图与父图“平衡平衡”。2.2.6 分层DFD图的改进 DFD图必须经过图必须经过反复修改反复修改,才能获得最终的目标系统的,才能获得最终的目标系统的逻辑模型(目标系统的逻辑模型(目标系统的DFD图)。可从以下方面考虑图)。可从以下方面考虑DFD图图的改进:的改进:1 1、检查数据流的正确性、检查数据流的正确性 数据数据守恒守恒 子图、父图的平衡子图、父图的平衡 文件使用是否合理。特别注意输入文件使用是否合理。特别注意输入/出文件的数据流
11、。出文件的数据流。2 2、改进、改进DFDDFD图的易理解性图的易理解性 简化加工之间的联系(加工间的数据流越少,独立性越简化加工之间的联系(加工间的数据流越少,独立性越强,易理解性越好)。强,易理解性越好)。改进分解的均匀性。改进分解的均匀性。适当命名(各成分名称无二义性,准确、具体)。适当命名(各成分名称无二义性,准确、具体)。结构化语言是介于自然语言和形式语言之间的一种半形结构化语言是介于自然语言和形式语言之间的一种半形式语言,它是自然语言的一个受限制的子集。一般分为两层式语言,它是自然语言的一个受限制的子集。一般分为两层结构:外层语法较具体,为控制结构(顺序、选择、循环)结构:外层语法
12、较具体,为控制结构(顺序、选择、循环),内层较灵活,表达内层较灵活,表达“做什么做什么”。例如:外层可为以下结构:例如:外层可为以下结构:1、顺序结构、顺序结构2、选择结构、选择结构 IFTHEN-ELSE;CASE-OF-ENDCASE;3、循环结构、循环结构 WHILE-DO;REPEAT-UNTIL 构造原型构造原型运行运行/评价原型评价原型原型完成否原型完成否要细部说明否要细部说明否严格说明细部严格说明细部效果满意否效果满意否整理原型提供文档整理原型提供文档修修正正改改进进原原型型YYNN快速分析,确定初步规格说明快速分析,确定初步规格说明YN快速原型化开发过程2.3.2 快速原型开发
13、模型 快速建立系统原型进行系统的快速建立系统原型进行系统的分析和构造有如下优点:分析和构造有如下优点:1 1、增进软件开发人员和用户、增进软件开发人员和用户对系统需求的理解。便于将用户对系统需求的理解。便于将用户模糊的功能需求明确化。模糊的功能需求明确化。2 2、为用户提供了一种强有力、为用户提供了一种强有力的学习手段。的学习手段。3 3、易于确定系统的性能,是、易于确定系统的性能,是理解和确认软件需求规格说明的理解和确认软件需求规格说明的工具。工具。4 4、按照、按照RCPRCP 法建立的原型即法建立的原型即为最终的产品。为最终的产品。细化的原型化模型需求工程小结 需求工程是系统工程和软件工程的一个交叉分支,涉及到需求工程是系统工程和软件工程的一个交叉分支,涉及到软件系统的目标、软件系统提供的服务、软件系统的约束和软软件系统的目标、软件系统提供的服务、软件系统的约束和软件系统运行的环境。它还涉及这些因素和系统的精确规格说明件系统运行的环境。它还涉及这些因素和系统的精确规格说明以及系统进化之间的关系。它也提供现实需要和软件能力之间以及系统进化之间的关系。它也提供现实需要和软件能力之间的桥梁。的桥梁。抽取需求;抽取需求;模拟和分析需求;模拟和分析需求;传递需求;传递需求;认可需求;认可需求;进化需求。进化需求。