《第3讲 需求分析阶段-过程建模.ppt》由会员分享,可在线阅读,更多相关《第3讲 需求分析阶段-过程建模.ppt(65页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据库系统设计数据库系统设计需求分析阶段过程建模需求分析阶段过程建模概述概述 过程(处理)建模是结构化分析方法的典型技术。过程(处理)建模是结构化分析方法的典型技术。过程(处理)建模是结构化分析方法的典型技术。过程(处理)建模是结构化分析方法的典型技术。过程建模将系统看做是过程的集合,其中一些由人来执行,另一些由过程建模将系统看做是过程的集合,其中一些由人来执行,另一些由过程建模将系统看做是过程的集合,其中一些由人来执行,另一些由过程建模将系统看做是过程的集合,其中一些由人来执行,另一些由软件系统来执行。软件系统来执行。软件系统来执行。软件系统来执行。过程的执行就是对数据的处理,它接收数据输入
2、,进行数据转换,输过程的执行就是对数据的处理,它接收数据输入,进行数据转换,输过程的执行就是对数据的处理,它接收数据输入,进行数据转换,输过程的执行就是对数据的处理,它接收数据输入,进行数据转换,输出数据结果。出数据结果。出数据结果。出数据结果。过程执行时可能需要和软件系统外的实体尤其是人进行交互,会要求过程执行时可能需要和软件系统外的实体尤其是人进行交互,会要求过程执行时可能需要和软件系统外的实体尤其是人进行交互,会要求过程执行时可能需要和软件系统外的实体尤其是人进行交互,会要求外界提供数值输入或者将数据结果提供给外部实体。外界提供数值输入或者将数据结果提供给外部实体。外界提供数值输入或者将
3、数据结果提供给外部实体。外界提供数值输入或者将数据结果提供给外部实体。概述概述 当把一个复杂的系统作为单个过程看待时,通常很难全面地理解它,当把一个复杂的系统作为单个过程看待时,通常很难全面地理解它,当把一个复杂的系统作为单个过程看待时,通常很难全面地理解它,当把一个复杂的系统作为单个过程看待时,通常很难全面地理解它,进行过程(处理)的计算机化也就更困难。进行过程(处理)的计算机化也就更困难。进行过程(处理)的计算机化也就更困难。进行过程(处理)的计算机化也就更困难。所以,过程建模会将复杂的过程分解为一些子过程,这些子过程的功所以,过程建模会将复杂的过程分解为一些子过程,这些子过程的功所以,过
4、程建模会将复杂的过程分解为一些子过程,这些子过程的功所以,过程建模会将复杂的过程分解为一些子过程,这些子过程的功能是父过程功能的子集。能是父过程功能的子集。能是父过程功能的子集。能是父过程功能的子集。子过程的功能相比父过程的功能而言范围更小,处理的内容也更加具子过程的功能相比父过程的功能而言范围更小,处理的内容也更加具子过程的功能相比父过程的功能而言范围更小,处理的内容也更加具子过程的功能相比父过程的功能而言范围更小,处理的内容也更加具体,也即过程的抽象级别低于父过程。分解后的子过程们互相配合,体,也即过程的抽象级别低于父过程。分解后的子过程们互相配合,体,也即过程的抽象级别低于父过程。分解后
5、的子过程们互相配合,体,也即过程的抽象级别低于父过程。分解后的子过程们互相配合,能够完成父过程的任务。能够完成父过程的任务。能够完成父过程的任务。能够完成父过程的任务。对复杂的过程进行分解之后,如果产生的子过程仍然比较复杂和难以对复杂的过程进行分解之后,如果产生的子过程仍然比较复杂和难以对复杂的过程进行分解之后,如果产生的子过程仍然比较复杂和难以对复杂的过程进行分解之后,如果产生的子过程仍然比较复杂和难以理解,那么可以对这些过程继续进行分解,产生子子过程。这种复杂理解,那么可以对这些过程继续进行分解,产生子子过程。这种复杂理解,那么可以对这些过程继续进行分解,产生子子过程。这种复杂理解,那么可
6、以对这些过程继续进行分解,产生子子过程。这种复杂过程分解活动可以一直持续进行,直至最终产生的底层真过程易于理过程分解活动可以一直持续进行,直至最终产生的底层真过程易于理过程分解活动可以一直持续进行,直至最终产生的底层真过程易于理过程分解活动可以一直持续进行,直至最终产生的底层真过程易于理解和易于计算机化。解和易于计算机化。解和易于计算机化。解和易于计算机化。概述概述 通常,如果一个过程的内容已经非常细节和具体,能够对其直接进行通常,如果一个过程的内容已经非常细节和具体,能够对其直接进行通常,如果一个过程的内容已经非常细节和具体,能够对其直接进行通常,如果一个过程的内容已经非常细节和具体,能够对
7、其直接进行“编码编码编码编码”处理,那么就可以认为这个过程是易于理解的和易于计算机处理,那么就可以认为这个过程是易于理解的和易于计算机处理,那么就可以认为这个过程是易于理解的和易于计算机处理,那么就可以认为这个过程是易于理解的和易于计算机化,可以直接将其编码为化,可以直接将其编码为化,可以直接将其编码为化,可以直接将其编码为“函数函数函数函数”或者或者或者或者“程序程序程序程序”。过程建模就以系统为单一的初始复杂过程,持续执行过程的分解,直过程建模就以系统为单一的初始复杂过程,持续执行过程的分解,直过程建模就以系统为单一的初始复杂过程,持续执行过程的分解,直过程建模就以系统为单一的初始复杂过程
8、,持续执行过程的分解,直至所有的底层过程都是易于理解的和易于计算机化的,此时就可以将至所有的底层过程都是易于理解的和易于计算机化的,此时就可以将至所有的底层过程都是易于理解的和易于计算机化的,此时就可以将至所有的底层过程都是易于理解的和易于计算机化的,此时就可以将底层过程编码为软件底层过程编码为软件底层过程编码为软件底层过程编码为软件“函数函数函数函数”或者或者或者或者“程序程序程序程序”,并按照分解中产生的过,并按照分解中产生的过,并按照分解中产生的过,并按照分解中产生的过程关系将这些程关系将这些程关系将这些程关系将这些“函数函数函数函数”或者或者或者或者“程序程序程序程序”联系起来,共同构
9、成最终的软件联系起来,共同构成最终的软件联系起来,共同构成最终的软件联系起来,共同构成最终的软件系统过程模型。系统过程模型。系统过程模型。系统过程模型。概述概述 简而言之:过程建模就是分析需求获取活动所获得的信息,发现系统简而言之:过程建模就是分析需求获取活动所获得的信息,发现系统简而言之:过程建模就是分析需求获取活动所获得的信息,发现系统简而言之:过程建模就是分析需求获取活动所获得的信息,发现系统的功能和其与外界的交互,建立能够实现系统功能的过程分解结构,的功能和其与外界的交互,建立能够实现系统功能的过程分解结构,的功能和其与外界的交互,建立能够实现系统功能的过程分解结构,的功能和其与外界的
10、交互,建立能够实现系统功能的过程分解结构,形成系统的过程模型,并用图形的方式将过程模型描述出来。形成系统的过程模型,并用图形的方式将过程模型描述出来。形成系统的过程模型,并用图形的方式将过程模型描述出来。形成系统的过程模型,并用图形的方式将过程模型描述出来。同时,过程建模也需要定义系统中涉及的数据的结构同时,过程建模也需要定义系统中涉及的数据的结构同时,过程建模也需要定义系统中涉及的数据的结构同时,过程建模也需要定义系统中涉及的数据的结构 过程建模使用的主要技术有:过程建模使用的主要技术有:过程建模使用的主要技术有:过程建模使用的主要技术有:上下文图(上下文图(上下文图(上下文图(Contex
11、t DiagramContext Diagram)数据流图(数据流图(数据流图(数据流图(Data Flow DiagramData Flow Diagram)微规格说明(微规格说明(微规格说明(微规格说明(Mini-SpecificationMini-Specification,又称为过程规范(,又称为过程规范(,又称为过程规范(,又称为过程规范(Procedure Procedure SpecificationSpecification)数据字典(数据字典(数据字典(数据字典(Data Data DictionatyDictionaty)概述概述 其中其中其中其中 上下文图上下文图上下文图
12、上下文图是是是是DFDDFD的一个特定层次,被用来说明系统的上下文环境,确定的一个特定层次,被用来说明系统的上下文环境,确定的一个特定层次,被用来说明系统的上下文环境,确定的一个特定层次,被用来说明系统的上下文环境,确定系统的边界系统的边界系统的边界系统的边界。DFDDFD被用来建立过程的被用来建立过程的被用来建立过程的被用来建立过程的分解结构分解结构分解结构分解结构。微规格说明微规格说明微规格说明微规格说明被用来描述被用来描述被用来描述被用来描述DFDDFD过程分解结构中最底层过程的过程分解结构中最底层过程的过程分解结构中最底层过程的过程分解结构中最底层过程的处理逻辑处理逻辑处理逻辑处理逻辑
13、。数据字典数据字典数据字典数据字典被用来说明系统中涉及的被用来说明系统中涉及的被用来说明系统中涉及的被用来说明系统中涉及的数据的结构数据的结构数据的结构数据的结构。1、数据流图、数据流图 基本元素基本元素基本元素基本元素 外部实体外部实体外部实体外部实体 过程过程过程过程 数据流数据流数据流数据流 数据存储数据存储数据存储数据存储数据流图外部实体数据流图外部实体 外部实体是指处于待构建系统之个的外部实体是指处于待构建系统之个的外部实体是指处于待构建系统之个的外部实体是指处于待构建系统之个的人人人人、组织组织组织组织、设备设备设备设备或者其他或者其他或者其他或者其他软件系软件系软件系软件系统统统
14、统,它们不受系统的控制,开发者不能以任何方式操纵它们。,它们不受系统的控制,开发者不能以任何方式操纵它们。,它们不受系统的控制,开发者不能以任何方式操纵它们。,它们不受系统的控制,开发者不能以任何方式操纵它们。在数据流图中需要进行建模的外部实体是那些和待建的软件系统之间在数据流图中需要进行建模的外部实体是那些和待建的软件系统之间在数据流图中需要进行建模的外部实体是那些和待建的软件系统之间在数据流图中需要进行建模的外部实体是那些和待建的软件系统之间存在着数据交互的外部实体,它们从待构建的软件系统中获取数据或存在着数据交互的外部实体,它们从待构建的软件系统中获取数据或存在着数据交互的外部实体,它们
15、从待构建的软件系统中获取数据或存在着数据交互的外部实体,它们从待构建的软件系统中获取数据或者为待构建软件系统提供数据,即它们者为待构建软件系统提供数据,即它们者为待构建软件系统提供数据,即它们者为待构建软件系统提供数据,即它们是待构建系统的数据源或者数是待构建系统的数据源或者数是待构建系统的数据源或者数是待构建系统的数据源或者数据目的地据目的地据目的地据目的地。所有的外部实体联合起来构成了软件的外部上下文环境,它们与软件所有的外部实体联合起来构成了软件的外部上下文环境,它们与软件所有的外部实体联合起来构成了软件的外部上下文环境,它们与软件所有的外部实体联合起来构成了软件的外部上下文环境,它们与
16、软件系统的交互就是软件系统与外部环境的接口,这些接口联合起来定义系统的交互就是软件系统与外部环境的接口,这些接口联合起来定义系统的交互就是软件系统与外部环境的接口,这些接口联合起来定义系统的交互就是软件系统与外部环境的接口,这些接口联合起来定义了软件系统的了软件系统的了软件系统的了软件系统的系统边界系统边界系统边界系统边界。对软件系统功能的分析就是从系统的边界出发逐步深入的。对软件系统功能的分析就是从系统的边界出发逐步深入的。对软件系统功能的分析就是从系统的边界出发逐步深入的。对软件系统功能的分析就是从系统的边界出发逐步深入的。数据流图外部实体数据流图外部实体 外部实体的图形表示:外部实体的图
17、形表示:外部实体的图形表示:外部实体的图形表示:在图形描述中,外部实体都需要一个名称来标识自己,它们通常会使用在图形描述中,外部实体都需要一个名称来标识自己,它们通常会使用在图形描述中,外部实体都需要一个名称来标识自己,它们通常会使用在图形描述中,外部实体都需要一个名称来标识自己,它们通常会使用能够代表其特征的名词为名称。能够代表其特征的名词为名称。能够代表其特征的名词为名称。能够代表其特征的名词为名称。LableLableLableLableDeMarco-Yourdon表示法Gane-Sarson表示法数据流图外部实体数据流图外部实体 在实践中,常见的外部实体有:在实践中,常见的外部实体有
18、:在实践中,常见的外部实体有:在实践中,常见的外部实体有:从待构建系统中获取数据或者为其提供数据的组织,例如供货方、销售从待构建系统中获取数据或者为其提供数据的组织,例如供货方、销售从待构建系统中获取数据或者为其提供数据的组织,例如供货方、销售从待构建系统中获取数据或者为其提供数据的组织,例如供货方、销售方等。方等。方等。方等。需要和待构建系统交互的个人,他们可能是待构建系统组织之内的成员,需要和待构建系统交互的个人,他们可能是待构建系统组织之内的成员,需要和待构建系统交互的个人,他们可能是待构建系统组织之内的成员,需要和待构建系统交互的个人,他们可能是待构建系统组织之内的成员,也可能是待构建
19、系统组织之外的人员,例如顾客、办事员等。也可能是待构建系统组织之外的人员,例如顾客、办事员等。也可能是待构建系统组织之外的人员,例如顾客、办事员等。也可能是待构建系统组织之外的人员,例如顾客、办事员等。需要和待构建系统交换数据的其他软件系统。需要和待构建系统交换数据的其他软件系统。需要和待构建系统交换数据的其他软件系统。需要和待构建系统交换数据的其他软件系统。数据流图过程数据流图过程 过程是指施加于数据的动作或者行为,它们使数据发生变化,包括被转换、过程是指施加于数据的动作或者行为,它们使数据发生变化,包括被转换、过程是指施加于数据的动作或者行为,它们使数据发生变化,包括被转换、过程是指施加于
20、数据的动作或者行为,它们使数据发生变化,包括被转换、被存储或者被分布。被存储或者被分布。被存储或者被分布。被存储或者被分布。过程是系统中发生的过程是系统中发生的过程是系统中发生的过程是系统中发生的数据处理行为数据处理行为数据处理行为数据处理行为,它可能是由软件系统控制的,也可能是,它可能是由软件系统控制的,也可能是,它可能是由软件系统控制的,也可能是,它可能是由软件系统控制的,也可能是由人工执行的,它重在数据发生变化的效果而不是其执行者。由人工执行的,它重在数据发生变化的效果而不是其执行者。由人工执行的,它重在数据发生变化的效果而不是其执行者。由人工执行的,它重在数据发生变化的效果而不是其执行
21、者。所以在建模的时候,人们会将现有系统中的人工处理任务也作为系统行为的一部所以在建模的时候,人们会将现有系统中的人工处理任务也作为系统行为的一部所以在建模的时候,人们会将现有系统中的人工处理任务也作为系统行为的一部所以在建模的时候,人们会将现有系统中的人工处理任务也作为系统行为的一部分描述为过程,并将这些部分作为重点关注部分,以期在新的系统中实现自动化分描述为过程,并将这些部分作为重点关注部分,以期在新的系统中实现自动化分描述为过程,并将这些部分作为重点关注部分,以期在新的系统中实现自动化分描述为过程,并将这些部分作为重点关注部分,以期在新的系统中实现自动化支持。支持。支持。支持。过程描述的内
22、容是对数据处理行为的概括,而这种概括可能会表现为不同的过程描述的内容是对数据处理行为的概括,而这种概括可能会表现为不同的过程描述的内容是对数据处理行为的概括,而这种概括可能会表现为不同的过程描述的内容是对数据处理行为的概括,而这种概括可能会表现为不同的抽象层次。抽象层次。抽象层次。抽象层次。在最高的抽象层次上可以将整个软件系统的功能都描述为一个过程,实现用户所在最高的抽象层次上可以将整个软件系统的功能都描述为一个过程,实现用户所在最高的抽象层次上可以将整个软件系统的功能都描述为一个过程,实现用户所在最高的抽象层次上可以将整个软件系统的功能都描述为一个过程,实现用户所有期待的数据处理行为。有期待
23、的数据处理行为。有期待的数据处理行为。有期待的数据处理行为。在较高的抽象层次上,可以将软件系统中的某项业务处理描述为一个过程,而这在较高的抽象层次上,可以将软件系统中的某项业务处理描述为一个过程,而这在较高的抽象层次上,可以将软件系统中的某项业务处理描述为一个过程,而这在较高的抽象层次上,可以将软件系统中的某项业务处理描述为一个过程,而这项业务处理又会包括很多具体细节任务。项业务处理又会包括很多具体细节任务。项业务处理又会包括很多具体细节任务。项业务处理又会包括很多具体细节任务。在较低的层次上,过程描述的可能是用户的一次活动,这项活动具有原子性特征。在较低的层次上,过程描述的可能是用户的一次活
24、动,这项活动具有原子性特征。在较低的层次上,过程描述的可能是用户的一次活动,这项活动具有原子性特征。在较低的层次上,过程描述的可能是用户的一次活动,这项活动具有原子性特征。在最低的层次上,过程描述的可能仅仅是一个逻辑行为,体现为软件系统的一个在最低的层次上,过程描述的可能仅仅是一个逻辑行为,体现为软件系统的一个在最低的层次上,过程描述的可能仅仅是一个逻辑行为,体现为软件系统的一个在最低的层次上,过程描述的可能仅仅是一个逻辑行为,体现为软件系统的一个命令执行过程。命令执行过程。命令执行过程。命令执行过程。数据流图过程数据流图过程 过程对行为的这种概括性特征使得粗略的过程描述无法满足分析的需过程对
25、行为的这种概括性特征使得粗略的过程描述无法满足分析的需过程对行为的这种概括性特征使得粗略的过程描述无法满足分析的需过程对行为的这种概括性特征使得粗略的过程描述无法满足分析的需要,因此建模者需要想办法描述过程的内容。对于抽象层次较高的过要,因此建模者需要想办法描述过程的内容。对于抽象层次较高的过要,因此建模者需要想办法描述过程的内容。对于抽象层次较高的过要,因此建模者需要想办法描述过程的内容。对于抽象层次较高的过程,建模者会使用功能分解的方式,用一个抽象层次更低的数据流图程,建模者会使用功能分解的方式,用一个抽象层次更低的数据流图程,建模者会使用功能分解的方式,用一个抽象层次更低的数据流图程,建
26、模者会使用功能分解的方式,用一个抽象层次更低的数据流图来描述其内容。如果过程的内容已经非常细节和具体,能够对其直接来描述其内容。如果过程的内容已经非常细节和具体,能够对其直接来描述其内容。如果过程的内容已经非常细节和具体,能够对其直接来描述其内容。如果过程的内容已经非常细节和具体,能够对其直接进行进行进行进行“编码编码编码编码”处理,则建模者会使用微规格说明来描述它的内容逻辑。处理,则建模者会使用微规格说明来描述它的内容逻辑。处理,则建模者会使用微规格说明来描述它的内容逻辑。处理,则建模者会使用微规格说明来描述它的内容逻辑。这种足够细节和具体的过程称为原始过程或基本过程这种足够细节和具体的过程
27、称为原始过程或基本过程这种足够细节和具体的过程称为原始过程或基本过程这种足够细节和具体的过程称为原始过程或基本过程 过程的图形表示方法:过程的图形表示方法:过程的图形表示方法:过程的图形表示方法:在图形描述中,过程使用在图形描述中,过程使用在图形描述中,过程使用在图形描述中,过程使用“动词动词动词动词”的名称来标识自己,体现自己的功能。的名称来标识自己,体现自己的功能。的名称来标识自己,体现自己的功能。的名称来标识自己,体现自己的功能。LableDeMarco-Yourdon表示法Gane-Sarson表示法IDLable数据流图数据流数据流图数据流 数据流是指数据的运动,它是系统与其环境之间
28、的或者系统内两个过数据流是指数据的运动,它是系统与其环境之间的或者系统内两个过数据流是指数据的运动,它是系统与其环境之间的或者系统内两个过数据流是指数据的运动,它是系统与其环境之间的或者系统内两个过程之间的通信方式。程之间的通信方式。程之间的通信方式。程之间的通信方式。DFDDFD的数据流是必须和过程产生关联的,它要么是过程的数据输入,的数据流是必须和过程产生关联的,它要么是过程的数据输入,的数据流是必须和过程产生关联的,它要么是过程的数据输入,的数据流是必须和过程产生关联的,它要么是过程的数据输入,要么是过程的数据输出。要么是过程的数据输出。要么是过程的数据输出。要么是过程的数据输出。在图形
29、描述中,数据流通常会使用能够代表数据流见容的名词来作为在图形描述中,数据流通常会使用能够代表数据流见容的名词来作为在图形描述中,数据流通常会使用能够代表数据流见容的名词来作为在图形描述中,数据流通常会使用能够代表数据流见容的名词来作为名称,以唯一地标识自己。名称,以唯一地标识自己。名称,以唯一地标识自己。名称,以唯一地标识自己。DeMarco-Yourdon表示法Gane-Sarson表示法LableLable数据流图数据流数据流图数据流 数据流可以分割和组合。数据流可以分割和组合。数据流可以分割和组合。数据流可以分割和组合。分割表明整个流的内容流向不止一个地方,这种情况下,分割的数据分割表明
30、整个流的内容流向不止一个地方,这种情况下,分割的数据分割表明整个流的内容流向不止一个地方,这种情况下,分割的数据分割表明整个流的内容流向不止一个地方,这种情况下,分割的数据流和原来的数据流保持一致。流和原来的数据流保持一致。流和原来的数据流保持一致。流和原来的数据流保持一致。分割也可以是将原来的数据流划分为多个不同元素或子组,即复杂的分割也可以是将原来的数据流划分为多个不同元素或子组,即复杂的分割也可以是将原来的数据流划分为多个不同元素或子组,即复杂的分割也可以是将原来的数据流划分为多个不同元素或子组,即复杂的数据包分解为几个更简单的数据包。分割后每个分支都是全新的数据数据包分解为几个更简单的
31、数据包。分割后每个分支都是全新的数据数据包分解为几个更简单的数据包。分割后每个分支都是全新的数据数据包分解为几个更简单的数据包。分割后每个分支都是全新的数据流,具有和原数据流不一样的标识。流,具有和原数据流不一样的标识。流,具有和原数据流不一样的标识。流,具有和原数据流不一样的标识。组合是分割的逆操作,其组合规则和分割类似。组合是分割的逆操作,其组合规则和分割类似。组合是分割的逆操作,其组合规则和分割类似。组合是分割的逆操作,其组合规则和分割类似。x xx xx xx xx xwwz zy yx xx xx xx xx xwwz zy y数据流图数据流数据流图数据流 在过程建模中,除了要了解数
32、据流的流向和使用之外,清晰定义数据在过程建模中,除了要了解数据流的流向和使用之外,清晰定义数据在过程建模中,除了要了解数据流的流向和使用之外,清晰定义数据在过程建模中,除了要了解数据流的流向和使用之外,清晰定义数据流的具体内容也是非常重要的工作。流的具体内容也是非常重要的工作。流的具体内容也是非常重要的工作。流的具体内容也是非常重要的工作。所以,需要工程师在使用所以,需要工程师在使用所以,需要工程师在使用所以,需要工程师在使用DFDDFD进行过程建模时,通常会配合使用数据进行过程建模时,通常会配合使用数据进行过程建模时,通常会配合使用数据进行过程建模时,通常会配合使用数据字典,利用数据字典来描
33、述字典,利用数据字典来描述字典,利用数据字典来描述字典,利用数据字典来描述DFDDFD的数据流内容。的数据流内容。的数据流内容。的数据流内容。实体关系图(实体关系图(实体关系图(实体关系图(ERDERD)也可以被用来描述数据流的内容,但是过去的实)也可以被用来描述数据流的内容,但是过去的实)也可以被用来描述数据流的内容,但是过去的实)也可以被用来描述数据流的内容,但是过去的实践表明,践表明,践表明,践表明,ERDERD和和和和DFDDFD的配合使用往往是困难的。的配合使用往往是困难的。的配合使用往往是困难的。的配合使用往往是困难的。数据流图数据存储数据流图数据存储 数据存储数据存储数据存储数据
34、存储是软件系统需要在内部收集、保存,以供日后使用的数据集是软件系统需要在内部收集、保存,以供日后使用的数据集是软件系统需要在内部收集、保存,以供日后使用的数据集是软件系统需要在内部收集、保存,以供日后使用的数据集合。合。合。合。如果说数据流描述的是运动的数据,那么数据存储描述的就是静止的数如果说数据流描述的是运动的数据,那么数据存储描述的就是静止的数如果说数据流描述的是运动的数据,那么数据存储描述的就是静止的数如果说数据流描述的是运动的数据,那么数据存储描述的就是静止的数据据据据 DFDDFD中中中中数据存储数据存储数据存储数据存储描述的内容应该就是组织希望储存的信息,所以如果描述的内容应该就
35、是组织希望储存的信息,所以如果描述的内容应该就是组织希望储存的信息,所以如果描述的内容应该就是组织希望储存的信息,所以如果在过程建模之外还进行了数据建模,那么在过程建模之外还进行了数据建模,那么在过程建模之外还进行了数据建模,那么在过程建模之外还进行了数据建模,那么DFDDFD中的数据存储和中的数据存储和中的数据存储和中的数据存储和ERDERD中中中中的实体应该存在一定的对应关系。的实体应该存在一定的对应关系。的实体应该存在一定的对应关系。的实体应该存在一定的对应关系。不过,不过,不过,不过,数据存储数据存储数据存储数据存储描述的内容不一定会与描述的内容不一定会与描述的内容不一定会与描述的内容
36、不一定会与ERDERD描述的实体描述的实体描述的实体描述的实体内容完全相同。内容完全相同。内容完全相同。内容完全相同。因为数据存储除了可以描述数据库方式的存储之外,也可以描述文件因为数据存储除了可以描述数据库方式的存储之外,也可以描述文件因为数据存储除了可以描述数据库方式的存储之外,也可以描述文件因为数据存储除了可以描述数据库方式的存储之外,也可以描述文件方式的存储,甚至手工方式的存储,例如文件柜、档案柜等。方式的存储,甚至手工方式的存储,例如文件柜、档案柜等。方式的存储,甚至手工方式的存储,例如文件柜、档案柜等。方式的存储,甚至手工方式的存储,例如文件柜、档案柜等。数据流图数据存储数据流图数
37、据存储 需要指出的是,数据存储的数据流入和流出通常表示实际的数据流入需要指出的是,数据存储的数据流入和流出通常表示实际的数据流入需要指出的是,数据存储的数据流入和流出通常表示实际的数据流入需要指出的是,数据存储的数据流入和流出通常表示实际的数据流入和流出。因此,如果流入和流出数据存储的数据流,包含与数据存储和流出。因此,如果流入和流出数据存储的数据流,包含与数据存储和流出。因此,如果流入和流出数据存储的数据流,包含与数据存储和流出。因此,如果流入和流出数据存储的数据流,包含与数据存储相同的信息,则不用为数据流专门指定名称。但是如果流入或流出数相同的信息,则不用为数据流专门指定名称。但是如果流入
38、或流出数相同的信息,则不用为数据流专门指定名称。但是如果流入或流出数相同的信息,则不用为数据流专门指定名称。但是如果流入或流出数据存储的数据流包含数据存储中信息的子集,就必须指定这个数据流据存储的数据流包含数据存储中信息的子集,就必须指定这个数据流据存储的数据流包含数据存储中信息的子集,就必须指定这个数据流据存储的数据流包含数据存储中信息的子集,就必须指定这个数据流的名称。的名称。的名称。的名称。数据存储的图形表示。数据存储的图形表示。数据存储的图形表示。数据存储的图形表示。LableLableIDDeMarco-Yourdon表示法Gane-Sarson表示法DFD的使用规则的使用规则 过程
39、是对数据的处理,必须有输入,也必须有输出,而且输入数据集过程是对数据的处理,必须有输入,也必须有输出,而且输入数据集过程是对数据的处理,必须有输入,也必须有输出,而且输入数据集过程是对数据的处理,必须有输入,也必须有输出,而且输入数据集和输出数据集应该存在差异。和输出数据集应该存在差异。和输出数据集应该存在差异。和输出数据集应该存在差异。如果过程在没有输入的情况下产生了输出,称之为如果过程在没有输入的情况下产生了输出,称之为如果过程在没有输入的情况下产生了输出,称之为如果过程在没有输入的情况下产生了输出,称之为“奇迹奇迹奇迹奇迹”,即输出数,即输出数,即输出数,即输出数据在没有任何可见来源的情
40、况下就奇迹般产生了。据在没有任何可见来源的情况下就奇迹般产生了。据在没有任何可见来源的情况下就奇迹般产生了。据在没有任何可见来源的情况下就奇迹般产生了。如果过程接收了数据输入却没有产生输出,称之为如果过程接收了数据输入却没有产生输出,称之为如果过程接收了数据输入却没有产生输出,称之为如果过程接收了数据输入却没有产生输出,称之为“黑洞黑洞黑洞黑洞”。它浪费了。它浪费了。它浪费了。它浪费了输入的数据资源,却没有做出应有的贡献。输入的数据资源,却没有做出应有的贡献。输入的数据资源,却没有做出应有的贡献。输入的数据资源,却没有做出应有的贡献。过程是对数据的处理,这种处理是要产生附加价值的,即进行了数据
41、的过程是对数据的处理,这种处理是要产生附加价值的,即进行了数据的过程是对数据的处理,这种处理是要产生附加价值的,即进行了数据的过程是对数据的处理,这种处理是要产生附加价值的,即进行了数据的加工和变换,而不是简单的数据转换。否则这个过程就失去了存在的意加工和变换,而不是简单的数据转换。否则这个过程就失去了存在的意加工和变换,而不是简单的数据转换。否则这个过程就失去了存在的意加工和变换,而不是简单的数据转换。否则这个过程就失去了存在的意义,可以将其从义,可以将其从义,可以将其从义,可以将其从DFDDFDDFDDFD中直接删除了。中直接删除了。中直接删除了。中直接删除了。XXXYDFD的使用规则的使
42、用规则 数据流是必须和过程产生关联的,它要么是过程的数据输入,要么是数据流是必须和过程产生关联的,它要么是过程的数据输入,要么是数据流是必须和过程产生关联的,它要么是过程的数据输入,要么是数据流是必须和过程产生关联的,它要么是过程的数据输入,要么是过程的数据输出过程的数据输出过程的数据输出过程的数据输出 DFDDFD当中所有的对象都应该有一个可以唯一标识自己的名称。过程使当中所有的对象都应该有一个可以唯一标识自己的名称。过程使当中所有的对象都应该有一个可以唯一标识自己的名称。过程使当中所有的对象都应该有一个可以唯一标识自己的名称。过程使用动词,外部实体、数据流和数据存储使用名词用动词,外部实体
43、、数据流和数据存储使用名词用动词,外部实体、数据流和数据存储使用名词用动词,外部实体、数据流和数据存储使用名词DFD分层结构分层结构 过于复杂的过于复杂的过于复杂的过于复杂的DFDDFD描述是难以理解的,而且在一个平面图上表示出所有描述是难以理解的,而且在一个平面图上表示出所有描述是难以理解的,而且在一个平面图上表示出所有描述是难以理解的,而且在一个平面图上表示出所有的系统过程也是困难的。的系统过程也是困难的。的系统过程也是困难的。的系统过程也是困难的。解决的方法就是分而治之,即利用过程具有不同的抽象层次表述能力解决的方法就是分而治之,即利用过程具有不同的抽象层次表述能力解决的方法就是分而治之
44、,即利用过程具有不同的抽象层次表述能力解决的方法就是分而治之,即利用过程具有不同的抽象层次表述能力的特点,依据过程的功能分解结构,建立层次式的的特点,依据过程的功能分解结构,建立层次式的的特点,依据过程的功能分解结构,建立层次式的的特点,依据过程的功能分解结构,建立层次式的DFDDFD描述描述描述描述 在分层结构中,在分层结构中,在分层结构中,在分层结构中,DFDDFD定义了三个层次类别的定义了三个层次类别的定义了三个层次类别的定义了三个层次类别的DFDDFD图:图:图:图:上下文图(上下文图(上下文图(上下文图(Context DiagramContext Diagram)0 0层图(层图(
45、层图(层图(Level-0 DiagramLevel-0 Diagram)N N层图(层图(层图(层图(Level-1 DiagramLevel-1 Diagram)DFD分层结构分层结构1321.11.23.13.2Context DiagramLevel-0 DiagramLevel-1 DiagramDFD分层结构分层结构-上下文图上下文图 上下文图是上下文图是上下文图是上下文图是DFDDFD图最高层次的图,是系统功能的最高抽象。图最高层次的图,是系统功能的最高抽象。图最高层次的图,是系统功能的最高抽象。图最高层次的图,是系统功能的最高抽象。上下文图将整个系统看做是一个过程,这个过程实现
46、系统的所有功能。上下文图将整个系统看做是一个过程,这个过程实现系统的所有功能。上下文图将整个系统看做是一个过程,这个过程实现系统的所有功能。上下文图将整个系统看做是一个过程,这个过程实现系统的所有功能。所以上下文图中存在且仅存在一个过程,表示整个系统,这个单一的过所以上下文图中存在且仅存在一个过程,表示整个系统,这个单一的过所以上下文图中存在且仅存在一个过程,表示整个系统,这个单一的过所以上下文图中存在且仅存在一个过程,表示整个系统,这个单一的过程通常编号为程通常编号为程通常编号为程通常编号为0.0.0.0.将整个系统功能抽象为单一过程之后,系统本身就变成一个黑盒,此时将整个系统功能抽象为单一
47、过程之后,系统本身就变成一个黑盒,此时将整个系统功能抽象为单一过程之后,系统本身就变成一个黑盒,此时将整个系统功能抽象为单一过程之后,系统本身就变成一个黑盒,此时只有依据系统与外界的交互才能准确界定系统的功能。所以,在上下文只有依据系统与外界的交互才能准确界定系统的功能。所以,在上下文只有依据系统与外界的交互才能准确界定系统的功能。所以,在上下文只有依据系统与外界的交互才能准确界定系统的功能。所以,在上下文图中需要表示出所有和系统交互的外部实体,并描述交互的数据流,包图中需要表示出所有和系统交互的外部实体,并描述交互的数据流,包图中需要表示出所有和系统交互的外部实体,并描述交互的数据流,包图中
48、需要表示出所有和系统交互的外部实体,并描述交互的数据流,包括系统输入和输出。括系统输入和输出。括系统输入和输出。括系统输入和输出。上下文图以黑盒看待和描述系统的方式使它非常上下文图以黑盒看待和描述系统的方式使它非常上下文图以黑盒看待和描述系统的方式使它非常上下文图以黑盒看待和描述系统的方式使它非常适合于描述的系统的应适合于描述的系统的应适合于描述的系统的应适合于描述的系统的应用环境、定义系统的边界用环境、定义系统的边界用环境、定义系统的边界用环境、定义系统的边界,而且这也正是,而且这也正是,而且这也正是,而且这也正是DFDDFDDFDDFD在层次结构中定义上下文图在层次结构中定义上下文图在层次
49、结构中定义上下文图在层次结构中定义上下文图并将其置于层次结构最高层的原因。这个特性也使得上下文图常常脱离并将其置于层次结构最高层的原因。这个特性也使得上下文图常常脱离并将其置于层次结构最高层的原因。这个特性也使得上下文图常常脱离并将其置于层次结构最高层的原因。这个特性也使得上下文图常常脱离DFDDFDDFDDFD层次结构被单独使用,被用来描述系统的上下文环境和定义系统的边层次结构被单独使用,被用来描述系统的上下文环境和定义系统的边层次结构被单独使用,被用来描述系统的上下文环境和定义系统的边层次结构被单独使用,被用来描述系统的上下文环境和定义系统的边界。界。界。界。特别强调的是:因为数据存储是系
50、统内部的功能实现,所以在将系统视特别强调的是:因为数据存储是系统内部的功能实现,所以在将系统视特别强调的是:因为数据存储是系统内部的功能实现,所以在将系统视特别强调的是:因为数据存储是系统内部的功能实现,所以在将系统视为黑盒的情况下,上下文图中不会出现数据存储。为黑盒的情况下,上下文图中不会出现数据存储。为黑盒的情况下,上下文图中不会出现数据存储。为黑盒的情况下,上下文图中不会出现数据存储。DFD分层结构分层结构-0层图层图 在在在在DFDDFD的层次结构中,位于上下文图下面一层的就是的层次结构中,位于上下文图下面一层的就是的层次结构中,位于上下文图下面一层的就是的层次结构中,位于上下文图下面