资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,1,软 件 需 求,Checking Settings,Entry/,OpenShutter( 0.5 );,MeasureLight();,DetermineExposureTime(,Checking,Checking,Checking,Che,cking,Che,Ckin,Che,cking g,Checking Settings,Entry/,OpenShutter( 0.5 );,MeasureLight();,DetermineExposureTime(,Checking,Checking,Checking,Che,cking,Che,Ckin,Che,cking g,Checking,Checking,Checking Settings,Entry/,OpenShutter( 0.5 );,MeasureLight();,哈尔滨工程大学计算机科学与技术学院,海量数据挖掘及网络数据集成研究组,王念滨 教授 博导,1软 件 需 求Checking SettingsCheck,2,第,9,章 结构化建模方法,2第 9 章 结构化建模方法,3,本课主要讨论问题,第,9,章 结构化建模方法,6 DFD,的类型,1,过程建模,2,数据流图,DFD,3,微规格说明,4,数据字典,5,模块结构图,9 ERD,建模,7,数据模型,8,实体关系模型,ERD,3本课主要讨论问题第9章 结构化建模方法6 DFD的类型1,4,第,9,章 结构化建模方法,本课主要讨论问题,6 DFD,的类型,1,过程建模,2,数据流图,DFD,3,微规格说明,4,数据字典,5,模块结构图,9 ERD,建模,7,数据模型,8,实体关系模型,ERD,4第9章 结构化建模方法本课主要讨论问题6 DFD的类型1,5,结构化建模,过程建模,数据建模,过程建模是结构化建模的核心方法,系统是过程的集合,过程可以被分解为子过程,最终的子过程可以被映射为计算实体,函数,所有的系统都是由过程构建的,主要思想,用图形的方式建立和描述良好的过程模型,第,9,章 结构化建模方法,1,过程建模,5结构化建模第9章 结构化建模方法1 过程建模,6,定义 模型是对现实中存在的东西的抽象。(模型与被建模,的东西是两回事,要么去处了细节、要么尺寸不同),模型可以指导创建现实中的事物。,定义 现实世界中某些重要方面的表示。,定义 模型是对对象系统的形式化的特征抽象,概括性或近,似地表示,第,9,章 结构化建模方法,1,过程建模,关于模型,定义 模型是以精确定义的语言对系统作出的描述。,精确定义的语言是具有精确定义的形式(语法),和含义(语义)的语言。,6定义 模型是对现实中存在的东西的抽象。(模型与被建模定义,7,定义 模型是一组具有完整语义的信息,它主要包括两方面,内容:,1,)对现实的简化或是对实现的简化;,2,)认知主体的视角或者抽象层次。,前者是被认识的客体,表现为各种类型的图及包含的,元素及关联;后者反映认知的主体,表现为不同类型,的视图。,第,9,章 结构化建模方法,1,过程建模,关于模型,对象,系统,模型,系统,抽象,(映射),模型应用,模型的构造与应用,7定义 模型是一组具有完整语义的信息,它主要包括两方面第9章,8,第,9,章 结构化建模方法,1,过程建模,结构化分析(,Structured Analysis,,,SA,)是由,Douglas Ross,提出的,由,DeMarco,进行推广的。,采用,自顶向下、逐层,进行,功能分解,的系统分析方法来定义系统的需求。,适用于分析,大型的数据处理系统,。,方法的特点:利用数据流图(,Data Flow Diagram,,,DFD,)来帮助理解问题,对问题进行分析。,一般工具:,DFD,、数据字典、结构化英语、判定表、判定树等。,结构化分析方法,-,概念、特征,8第9章 结构化建模方法1 过程建模结构化分析(Struct,9,第,9,章 结构化建模方法,功能分析工具,:,DFD,、,DD,、结构化英语、判定表和判定树。,行为分析工具,:状态迁移图、,Petri,网等。,数据分析工具,:,ER,图或者,EER,(扩展,ER,)图。,SA,主要针对数据处理领域,因此,系统分析的,侧重点在于功能分析和数据分析,,,而行为分析使用得较少。,结构化分析方法,-,方法与工具,1,过程建模,9第9章 结构化建模方法功能分析工具:DFD、DD、结构化英,10,第,9,章 结构化建模方法,1,过程建模,结构化分析遵循的三条基本原则:,分解,抽象,映射,三个主要目标:,描述用户需要,建立创建软件设计的基础,定义软件完成后可被确认的一组需求,结构化分析方法,-,基本原则与主要目标,10第9章 结构化建模方法1 过程建模结构化分析遵循的三条基,11,第,9,章 结构化建模方法,1,过程建模,E-R,图,状态变迁图,(STD,图,),加,工,规,约,控制规约,数,据,对,象,规,约,数据字典,(,DD,),数据流图,(DFD),结构化分析方法的结构,11第9章 结构化建模方法1 过程建模E-R图状态变迁图(S,12,第,9,章 结构化建模方法,1,过程建模,数据字典,(DD),模型,核心,,包含了,所有数据对象的描述的中心库。,E-R,图,(ERD),表示数据对象以及相互的关系,用于数据建模。,数据流图,(DFD),指明数据在系统中移动时如何被变换,;,描述对数据流进行变换的功能,;,DFD,中每个功能的描述包含在加工规约,(,小说明,),。,用于功能建模。,状态变迁图,(STD),指明作为外部事件的结果,系统将如何动作。用于行为建模。,结构化分析模型的构成元素,12第9章 结构化建模方法1 过程建模数据字典(DD) 结构,13,第,9,章 结构化建模方法,1,过程建模,结构化分析模型演变,用户,调查,物理模型,逻辑,抽象,当前系统,逻辑模型,当前系统,计算,机化,评审,修改,正式模型,完善,细节,目标系统,目标系统,初始模型,经认可的,问题需求,系统模型,用户,13第9章 结构化建模方法1 过程建模结构化分析模型演变用户,14,第,9,章 结构化建模方法,1,过程建模,逻辑模型 物理模型,(,本质模型、概念模型,) (,实施模型、技术模型,),现,行,系,统,目,标,系,统,描述重要的业务功能,无论系统是如何实施的,描述现实系统是如何在物理上实现的。,描述新系统的主要业务功能和用户新的需求,无论系统应如何实施。,描述新系统是如何实施的(包括技术)。,14第9章 结构化建模方法1 过程建模 逻辑模型,15,第,9,章 结构化建模方法,1,过程建模,模型化或模型方法是通过抽象、概括和一般化,把研究的对象或问题转化为本质(关系或结构)相同的另一对象或问题,从而加以解决的方法。模型化方法要求所建立的模型能真实反映所研究对象的整体结构、关系或某一过程、某一局部、某一侧面的本质特征和变化规律。,关于模型化,模型的作用,在建模过程中了解系统,通过抽象降低复杂性,有助于回忆所有的细节,有助于开发小组间的交流,有助于与用户的交流,为系统的维护提供文档,15第9章 结构化建模方法1 过程建模 模型,16,第,9,章 结构化建模方法,1,过程建模,-,学生购买教材的,物理模型,结构化建模示例,建立计算机售书系统的逻辑模型,张,秘书,学,生,购书,购书,王,会计,发票,李,出纳,领书,赵,保管,单,申请,证明,书,(,1,),通过对现实环境的调查,,获得当前系统的物理模型。,16第9章 结构化建模方法1 过程建模 - 学生购买,17,第,9,章 结构化建模方法,1,过程建模,-,学生购买教材的,逻辑模型,审查,有效性,学,生,有效,购书单,开发票,发票,开领,书单,领书单,发书,购书单,书,(,2,) 去掉具体模型中的非本质因素:,抽取现实系统的实质,抽象出当前系统的逻辑模型。,结构化建模示例,建立计算机售书系统的模型,17第9章 结构化建模方法1 过程建模 -学生购买教,18,第,9,章 结构化建模方法,1,过程建模,(,3,)分析当前系统与目标系统的差别,建立,目标系 统的逻辑模型,。,学,生,审查并,开发票,购书单,发票,领书单,开领,书单,无效书单,学,生,计算机教材管理系统的逻辑模型,(,4,)对目标系统的逻辑模型进行细化、改进与优化,(,5,)需求分析的验证,18第9章 结构化建模方法1 过程建模(3)分析当前系统与目,19,第,9,章 结构化建模方法,本课主要讨论问题,6 DFD,的类型,1,过程建模,2,数据流图,DFD,3,微规格说明,4,数据字典,5,模块结构图,9 ERD,建模,7,数据模型,8,实体关系模型,ERD,19第9章 结构化建模方法本课主要讨论问题6 DFD的类型1,20,第,9,章 结构化建模方法,2,数据流图,DFD,数据流图(,DFD,:,Data Flow Diagram,)就是组织中信息运动的抽象,是信息逻辑系统模型的主要形式。这个模型不涉及硬件、软件、数据结构与文件组织,它与对系统的,物理描述,无关,只是用一种图形及与此相关的注释来表示系统的,逻辑功能,,即所开发的系统在信息处理方面要做什么。,由于图形描述简明、清晰,不涉及到技术细节,所描述的内容是,面向用户,的,所以即使完全不懂信息技术的用户单位的人员也容易理解。因此,数据流图,是,系统分析人员,与,用户,之间进行交流的有效手段,也是系统设计(即建立所开发的系统的物理模型)的主要依据之一。,20第9章 结构化建模方法2 数据流图DFD 数据,21,数据流图脱离系统中的物理因素,(,如计算机等,),,表达出系统对,信息的加工,情况。,DFD,可以描述原系统,/,新系统,/,子系统。,DFD,是,SA,的主要工具,它简单、直观,用图形、文字描述系统。它便于使用、便于交流、便于讨论、便于形成共识,是计算机专业人员和用户单位业务人员的,共同语言,。,第,9,章 结构化建模方法,2,数据流图,DFD,21 数据流图脱离系统中的物理因素(如,22,第,9,章 结构化建模方法,2,数据流图,DFD,数据流图的构成及基本元素,数据加工(,P,),外部项(,S,),数据流(,F,),数据存储(,D,),DFD,由四种基本符号组成。如下图所示。,外部实体,过程,22第9章 结构化建模方法2 数据流图DFD数据流图的构成及,23,第,9,章 结构化建模方法,2,数据流图,DFD,数据流图的构成及基本元素,(,1,)外部项(外部实体),源点,和,终点,(,又称,端点,),是系统外的,实体,,称作,外部项,。它们存在于环境之中,与系统有信息交流,从源点到系统的信息叫,系统的输入,;从系统到终点的信息称,系统的输出,。同一个端点可以是,人,或,其它系统,。在,DFD,中引入源点和终点是为了便于理解系统,所以不需要详细描述它们。它们可有编号,以,“,S,”,开头。,23第9章 结构化建模方法2 数据流图DFD数据流图的构成及,24,第,9,章 结构化建模方法,2,数据流图,DFD,外部实体,外部实体,是指处于待构建系统之外的,人,、,组织,、,设备,或者,其他软件系统,,它们不受系统的控制,开发者不能以任何方式操纵它们。,需要进行建模的外部实体是那些和待构建的软件系统之间存在着数据交互的外部实体,它们是待构建系统的数据源或者数据目的地,所有的外部实体联合起来构成了软件系统的,外部上下文环境,(,1,)外部项(外部实体),数据流图的构成及基本元素,24第9章 结构化建模方法2 数据流图DFD外部实体(1)外,25,第,9,章 结构化建模方法,2,数据流图,DFD,引入外部项是为了划定系统的,边界,,不需严格定义。但也要统一编号,而且要与数据字典中的编号相一致。源点和终点可以在多处出现,用,特定符号,表示,重复的外部项,。,(,1,)外部项(外部实体),数据流图的构成及基本元素,25第9章 结构化建模方法2 数据流图DFD,26,第,9,章 结构化建模方法,2,数据流图,DFD,为了使,DFD,清楚易懂,我们对加工、数据流、文件的,命名,都力求,简单,。至于加工的加工逻辑、数据流的数据结构等,将在数据字典中定义。数据字典和,DFD,一起来描述系统。,操作员,外部项 重复的外部项,操作员,(,1,)外部项(外部实体),数据流图的构成及基本元素,26第9章 结构化建模方法2 数据流图DFD,27,第,9,章 结构化建模方法,2,数据流图,DFD,常见的外部项(外部实体)有:,a),从待构建系统中获取数据或者为其提供数据的组织,如:,供货方,,,销售方,等。,b),需要和待构建系统交互的个人,如:,顾客,,,办事员,。,c),需要和待构建系统交换数据的,其他软件系统,。,(,1,)外部项(外部实体),数据流图的构成及基本元素,27第9章 结构化建模方法2 数据流图DFD,28,第,9,章 结构化建模方法,2,数据流图,DFD,(,2,)加工,数据流图的构成及基本元素,加工又称处理亦称,变换,,它表示对数据流的操作。,加工的符号分成,上,、,下两部分,,从上到下分别是,标识部分,和,功能描述部分,。,标识部分用于标注,加工编号,,加工编号应具有唯一性,以标识加工,以,“,P,”,开头。,功能描述部分用来写,加工名,。为使,DFD,清晰易读,加工名应简单,能概括地说明对数据的,加工行为,,其详细描述在数据词典中定义。,加工要,逐层分解,,以求得分解后的加工功能简单、易于理解。,28第9章 结构化建模方法2 数据流图DFD(2)加工数据流,29,第,9,章 结构化建模方法,2,数据流图,DFD,(,2,)加工,数据流图的构成及基本元素,数据加工(,P,),加工符号说明如下:,顶层加工名,可以是,系统的名字,。如红星厂信 息系统等。,加工名要简捷易懂,由,动词,或,动宾词组,组成。未分解的加工本身具有,抽象性,,所以加工名必然具有抽象性。如帐务处理、成本核算等。每一个加工都必须:,有,输入数据流,;,有,输出数据流,;,输入数据流与输出数据流要有所,变化,。,29第9章 结构化建模方法2 数据流图DFD(2)加工数据流,30,第,9,章 结构化建模方法,2,数据流图,DFD,(,3,)数据流,数据流图的构成及基本元素,数据流由一个或一组确定的数据项组成。,“,领料单,由:领料单位名、材料名称、数量、单价、日期等数据项组成。,数据流,用,标名箭头,表示,,箭头,的指向表示数据流的,流向,。,30第9章 结构化建模方法2 数据流图DFD(3)数据流数据,31,第,9,章 结构化建模方法,2,数据流图,DFD,(,3,)数据流,数据流图的构成及基本元素,数据流名,应能直观地反映数据流的,含义,。如产量日报表、汇款单、录取通知书、课程表等。也可以用一组数据中的主要数据为数据流命名。例如,“,考生成绩单,由,考生姓名,、,成绩,、,通讯地址,等数据组成,但成绩是主要的,所以可用,“,考生成绩,”,作为数据流的名字。,31第9章 结构化建模方法2 数据流图DFD(3)数据流数据,32,第,9,章 结构化建模方法,2,数据流图,DFD,(,3,)数据流,数据流图的构成及基本元素,数据流应统一编号,编号要与数据字典一致。,32第9章 结构化建模方法2 数据流图DFD(3)数据流数据,33,第,9,章 结构化建模方法,2,数据流图,DFD,(,3,)数据流,数据流图的构成及基本元素,数据流经,过一个,加工,后其数据结构,/,数据含义,/,数据的顺序一定要有所,变化,,否则这个加工就,没有意义了,。,33第9章 结构化建模方法2 数据流图DFD(3)数据流数据,34,第,9,章 结构化建模方法,2,数据流图,DFD,数据存储是用来存贮数据的。在分层,DFD,中,数据存储一般,仅属于,某一层或某几层,因此又称数据存储为,局部文件,。现对数据存储符号说明如下:,数据存储名写在开口的长方框内,应概要地说明文件中的主要数据。,数据存储上一定要有数据流。,为便于说明和管理,数据存储亦应编号,编号写在文件符号左端小方格中,以,“,D,”,开头。,为避免,DFD,中出现交叉线,同一数据存储可在多处画出。,(,4,)数据存储(文件),数据流图的构成及基本元素,34第9章 结构化建模方法2 数据流图DFD,35,第,9,章 结构化建模方法,2,数据流图,DFD,数据流图的,绘制步骤,(,1,),确定所开发的系统的外部项(外部实体),即系统的数据来源和去处。,(,2,),确定整个系统的输出数据流和输入数据流,把系统作为一个加工环节,画出关联图。,(,3,),确定系统的主要信息处理功能,按此将整个系统分解成几个加工环节(子系统)确定每个加工的输出与输入数据流以及与这些加工有关的数据存储。,(,4,),根据自顶向下,逐层分解的原则,对上层图中全部或部分加工环节进行分解。,35第9章 结构化建模方法2 数据流图DFD数据流图的绘制步,36,第,9,章 结构化建模方法,2,数据流图,DFD,数据流图的,绘制步骤,(,5,),重复步骤(,4,),直到逐层分解结束。,(,6,),对图进行检查和合理布局,主要检查分解是否恰当、彻底,,DFD,中各层是否有遗漏、重复、冲突之处,各层,DFD,及同层,DFD,之间关系是否合理,及命名、编号是否确切、合理等,对错误与不当之处进行修改。,(,7,),和用户进行交流,在用户完全理解数据图的内容的基础上征求用户的意见。,36第9章 结构化建模方法2 数据流图DFD数据流图的绘制步,37,第,9,章 结构化建模方法,2,数据流图,DFD,数据流图示例,图 食物订货系统的,DFD,描述,37第9章 结构化建模方法2 数据流图DFD数据流图示例图,38,第,9,章 结构化建模方法,2,数据流图,DFD,数据流图示例,图 食物订货系统的,DFD,描述,38第9章 结构化建模方法2 数据流图DFD数据流图示例图,39,第,9,章 结构化建模方法,2,数据流图,DFD,数据流图,绘制规则,(1),过程,是对数据的处理,必须有,输入,,也必须有,输出,,而且输入数据集和输出数据集应该存在,差异,。,X,X,X,Y,奇迹,黑洞,39第9章 结构化建模方法2 数据流图DFD数据流图绘制规则,40,第,9,章 结构化建模方法,2,数据流图,DFD,(2),数据流,是必须和过程产生关联的,它要么是,过程,的数据,输入,,要么是过程的数据,输出,。,数据流图,绘制规则,40第9章 结构化建模方法2 数据流图DFD(2)数据流是必,41,第,9,章 结构化建模方法,2,数据流图,DFD,(3),DFD,当中所有的对象都应该有一个可以,唯一,标识自己的,名称,。,过程,使用,动词,外部实体,、,数据流,和,数据存储,使用,名词,数据流图,绘制规则,41第9章 结构化建模方法2 数据流图DFD(3) DFD当,42,d,二层图,第,9,章 结构化建模方法,2,数据流图,DFD,a,关联图,.3,.2,图,0,B,Q,R,L,S,M,A,B,C,A,B,C,D,E,F,G,1,2,3,5,6,3,1,N,M,P,B,L,图,2,b,顶层图,c,一层图,绘制数据流图过程示意图,数据流图,绘制过程,图,2.1,F,42d二层图第9章 结构化建模方法2 数据流图DFDa关联图,43,第,9,章 结构化建模方法,2,数据流图,DFD,(,1,),明确系统边界。,(,2,),自顶向下逐层扩展。,(,3,),合理布局。,(,4,),数据流图绘制过程,就是系统的逻辑模型的形成过程,必须始终与用户密切接触,详细讨论,不断修改,也要和其他系统建设者共同商讨一求一致意见。,绘制数据流图的,主要原则,43第9章 结构化建模方法2 数据流图DFD(1)明确系统边,44,第,9,章 结构化建模方法,2,数据流图,DFD,数据流图应用示例,-,银行取款系统,简单银行取款应,用描述,(1,)储户将填好的取款单、存折交银行,银行做如下处理:,审核并查对帐目,将不合格的存折、取款单退回储户,合格的存折、取款单送取款处理。,处理取款修改帐目,将存折、利息单、结算清单及现金交储户,同时将取款单存档。,44第9章 结构化建模方法2 数据流图DFD数据流图应用示例,45,第,9,章 结构化建模方法,2,数据流图,DFD,画出银行取款处理数据流图。,第一步,画出关联数据流图。注意,现金是实物,不能作为数据流。,F2,存折、利率单、结算清单,F1,取款单、存折,取款系统,P,S,储户,S,储户,图,取款处理关联图,数据流图应用示例,-,银行取款系统,45第9章 结构化建模方法2 数据流图DFD画出银行取款处理,46,第,9,章 结构化建模方法,2,数据流图,DFD,第二步,逐层分解加工,画出下层,DFD,。,F1,取款单、存折,F1.2,不合格存折、取款单,F2,存折、利率单、结算清单,D1,帐目库,F1.1,合格存折、取款单,取款审核,P1,S,储户,S,储户,D2,取款记录,取款处理,P2,图,取款处理顶层图,数据流图应用示例,-,银行取款系统,46第9章 结构化建模方法2 数据流图DFD 第二步,逐,47,第,9,章 结构化建模方法,2,数据流图,DFD,数据流图应用示例,-,图书预定系统,图书预订系统:书店向顾客发放订单,,顾客,将所,填订单,交由系统处理,系统首先依据图书目录对订单进行检查并对合格订单进行处理,处理过程中根据顾客情况和订单数目将订单分为,优先订单,与,正常订单,两种,随时处理优先订单,定期处理正常订单。最后系统根据所处理的订单汇总,并按出版社要求发给出版社。,画出图书预定系统的各层数据流图。,47第9章 结构化建模方法2 数据流图DFD数据流图应用示例,48,第,9,章 结构化建模方法,2,数据流图,DFD,数据流图应用示例,-,图书预定系统,第一步,画出关联数据流图。,F2,汇总订单,F1,订单,图书预订,P,S1,顾客,S2,出版社,图 图书预订系统关联图,48第9章 结构化建模方法2 数据流图DFD数据流图应用示例,49,第,9,章 结构化建模方法,2,数据流图,DFD,第二步,逐层分解加工,画出下层,DFD,。注意到根据题意,当绘出系统顶层图后并不能将所有加工分解成基本加工,还要进行二层图分解。并在分解加工过程中逐步充实进数据存储。见图。,数据流图应用示例,-,图书预定系统,F3,不合格订单,F2,汇总订单,F1,订单,订单检查,P1,S1,顾客,S2,出版社,订单处理,P2,发送订单,P3,D1,图书目录,D4,出版社要求,D3,待发出订单,D2,合格订单,图,图书预订系统顶层图,49第9章 结构化建模方法2 数据流图DFD第二步,逐层分解,50,第,9,章 结构化建模方法,2,数据流图,DFD,优先订单,D7,正常订单,D8,F3,不合格订单,F2,汇总订单,F1,订单,订单检查,P1,S1,顾客,S2,出版社,定期处理,P2.4,发送订单,P3,D1,图书目录,D4,出版社要求,D2,合格订单,随时处理,P2.3,订单分类,P2.2,数目统计,P2.1,顾客情况,D6,D5,订单数目,待发出订单,D3,图书预订系统一层图,数据流图应用示例,-,图书预定系统,50第9章 结构化建模方法2 数据流图DFD优先订单D7正常,51,第,9,章 结构化建模方法,2,数据流图,DFD,前面说过,系统分析的主要任务是建立新系统的,逻辑模型,。具体地讲主要是画出新系统的,DFD,,编写定义,DFD,的数据词典。,建立新系统的,DFD,是一项十分重要的工作。因为建立的,DFD,是,系统开发,乃至,系统维护,的,依据,,是系统的重要文档之一。系统分析员要在详细调查中,在与,用户,的反复交流中修改,DFD,,力求新建,DFD,是正确的、准确的。,数据流图的作用,51第9章 结构化建模方法2 数据流图DFD前面说过,系统分,52,第,9,章 结构化建模方法,2,数据流图,DFD,DFD,的层级结构,依据所含过程的不同抽象程度,,DFD,可以在不同的抽象层次上进行系统的描述,一个比较抽象的过程可以被展开为一个子过程更加具体的,DFD,图,DFD,的层次结构,上下文图,0,层图,N,层图,(,N0,),52第9章 结构化建模方法2 数据流图DFDDFD的层级结构,53,第,9,章 结构化建模方法,2,数据流图,DFD,关于上下文图,将整个系统看做是一个过程,这个过程实现系统的所有功能 ,是,系统功能的最高抽象,上下文图中存在且仅存在,一个过程,,表示,整个系统,。这个单一的过程通常编号为,0,上下文图中需要表示出所有和系统交互的外部实体,并描述交互的数据流,包括系统输入和系统输出,上下文图中,不会,出现,数据存储,实例,它非常适合于描述系统的应用环境、定义系统的,边界,53第9章 结构化建模方法2 数据流图DFD关于上下文图,54,第,9,章 结构化建模方法,2,数据流图,DFD,关于,0,层图,位于上下文图下面一层,是上下文图中单一过程的细节描述,是对该,单一过程,的,第一次功能分解,是整个系统的,功能概图,0,层图应该被描述的,简洁,、,清晰,,需求工程师要根据系统的复杂度掌握,0,层图中过程的,抽象程度,54第9章 结构化建模方法2 数据流图DFD关于0层图,55,第,9,章 结构化建模方法,2,数据流图,DFD,0,层图示例,55第9章 结构化建模方法2 数据流图DFD0层图示例,56,第,9,章 结构化建模方法,2,数据流图,DFD,关于,N,层图,对,0,层图的过程分解产生的子图称为,1,层图,,对,N,层图的过程分解后产生的子图称为,N+1,层图(,N0,) ,过程分解是可以持续进行的,直至最终产生的子图都是原始,DFD,图,原始,DFD,图可以进一步展开为,微规格说明,数据字典,在低于,0,层图,的,子图,上通常,不显示外部实体,56第9章 结构化建模方法2 数据流图DFD关于N层图,57,第,9,章 结构化建模方法,2,数据流图,DFD,建立步骤,创建上下文图,发现并建立,DFD,片断,根据,DFD,片断组合产生,0,层图;,对,0,层图的过程进行功能分解,产生,N,层图,层次结构的构建,57第9章 结构化建模方法2 数据流图DFD建立步骤层次结构,58,第,9,章 结构化建模方法,2,数据流图,DFD,在需求获取阶段获得的,业务需求,以及业务需求所决定的项目前景与范围可以用来帮助建立系统的上下文图。,创建上下文图,58第9章 结构化建模方法2 数据流图DFD,59,第,9,章 结构化建模方法,2,数据流图,DFD,发现并建立,DFD,片段,DFD,片断,是系统对某个事件的响应过程的,DFD,描述,它是为系统中发生的,重要事件创建,的。,它将系统对事件的处理看做是一个,单一的过程,,重点描述这个单一过程与,事件外界,(包括,系统内其他部分,和,系统外的外部实体,)的数据流交互。,59第9章 结构化建模方法2 数据流图DFD发现并建立DFD,60,第,9,章 结构化建模方法,2,数据流图,DFD,产生,0,层图,往往需要多次调整,DFD,片段,的,整合结果,才能得出,对,DFD,图(尤其是,0,层图)质量的判定有下面几个,准则,:,1,、没有语法错误,遵守前述的各项规则。,2,、具有良好的语义,过程的功能设置要,高内聚,、,低耦合,。,3,、保持数据一致性,过程的输入流要足以产生数据输出。同时过程的输出流是在充分利用输入数据的基础上产生的,不存在输入数据的浪费。,4,、,控制复杂度,,不要一次在图中显示太多的信息。一般情况下,一个图中的,过程数量,最好控制在,5,9,(人脑的最佳信息处理量)个。而且图中的,数据流数量越少越好,,越简洁越好(接口最小化)。,60第9章 结构化建模方法2 数据流图DFD产生0层图往往需,61,第,9,章 结构化建模方法,2,数据流图,DFD,功能分解产生,N,层图,功能分解是一个拆分功能的描述,将单个复杂的过程变为多个,更加具体,、,更加精确,和,更加细节,的过程。,在功能分解过程当中,最重要的是要保证分解过程的,平衡性,(,Balance,) ,它要求,DFD,子图,的,输入流,、,输出流,必须和,父过程,的输入流、输出流保持,一致,。,61第9章 结构化建模方法2 数据流图DFD功能分解产生N层,62,第,9,章 结构化建模方法,2,数据流图,DFD,在分解产生的子图为下述情景之一时,可以判定其为,原始,DFD,图,,此时应该,停止,持续的功能分解活动:,所有过程都已经被简化为一个选择、计算或者数据库操作;,所有数据存储都仅仅表示了一个单独的数据实体;,用户已经不关心比子图更为细节的内容,或者子图的描述已经详细的足以支持后续的开发活动;,每一个数据流都已经不需要进行更详细的切分,以展示对不同数据的不同处理方式;,每一个业务表单、事务、计算机的屏幕显示(,computer on-line display,)和业务报表都已经被表示为一个单独的数据流;,系统的每一个最低层菜单选项都能在子图中找到独立的过程。,功能分解产生,N,层图,62第9章 结构化建模方法2 数据流图DFD在分解产生的子图,63,第,9,章 结构化建模方法,2,数据流图,DFD,使用,DFD,描述常见的,电梯控制系统,。,一个控制系统控制多个电梯。每个电梯被置于一个相应甬道之中,在卷扬电机的作用下在甬道内做上下运动。甬道内安装有多个传感器,通常每个电梯停靠点一个,用来感应电梯的实时位置。电梯内部和建筑的每个电梯停靠层都设置有指示器,用来告知用户的电梯实时位置和运动状况。电梯内和建筑的每个电梯停靠层都设有按钮,用户可以通过这些按钮提出服务申请并进出电梯。控制系统调度用户的申请,让电梯以最有效的方式满足用户的服务要求。,层次结构的建立,-,示例,63第9章 结构化建模方法2 数据流图DFD使用DFD描述常,64,第,9,章 结构化建模方法,2,数据流图,DFD,层次结构的建立,-,建立上下文图,64第9章 结构化建模方法2 数据流图DFD层次结构的建立-,65,第,9,章 结构化建模方法,2,数据流图,DFD,层次结构的建立,-,建立,DFD,片断,65第9章 结构化建模方法2 数据流图DFD层次结构的建立-,66,第,9,章 结构化建模方法,2,数据流图,DFD,层次结构的建立,-,建立,DFD,片断,66第9章 结构化建模方法2 数据流图DFD层次结构的建立-,67,第,9,章 结构化建模方法,2,数据流图,DFD,层次结构的建立,-,建立,0,层图,67第9章 结构化建模方法2 数据流图DFD层次结构的建立-,68,第,9,章 结构化建模方法,2,数据流图,DFD,层次结构的建立,-,建立,0,层图,68第9章 结构化建模方法2 数据流图DFD层次结构的建立-,69,第,9,章 结构化建模方法,2,数据流图,DFD,验证,DFD,的语法,确保,DFD,中不会发生语法错误,验证,DFD,的结构,验证,DFD,层次结构之间的一致性,验证,DFD,层次结构说明的完备性,验证,DFD,的语义,确保,DFD,所说明内容的正确性和准确性,DFD,验证,69第9章 结构化建模方法2 数据流图DFD验证DFD的语法,知识回顾,Knowledge Review,知识回顾Knowledge Review,
展开阅读全文