软件工程第05章面向数据流的方法_第1页
软件工程第05章面向数据流的方法_第2页
软件工程第05章面向数据流的方法_第3页
软件工程第05章面向数据流的方法_第4页
软件工程第05章面向数据流的方法_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程名称:软件工程课程名称:软件工程 第第10讲讲班班 级:计级:计01-1、2、3、4班班 日日 期:期:2004年年9月月30日星期四日星期四7、8节节教教 室:室:3教教13楼多媒体教室楼多媒体教室教学题目:第教学题目:第5章章 面向数据流的分析方法。面向数据流的分析方法。教学目的:掌握数据流图与数据字典的概念及用法,理教学目的:掌握数据流图与数据字典的概念及用法,理 解实体解实体-关系图的绘制方法和作用,初步掌握关系图的绘制方法和作用,初步掌握 基于数据流的分析方法。基于数据流的分析方法。教学重点:数据流图与数据字典、实体教学重点:数据流图与数据字典、实体-关系图、基于数关系图、基于数

2、 据流的分析方法。据流的分析方法。教学难点:实体教学难点:实体-关系图。关系图。教教 具:多媒体教室、电子教案具:多媒体教室、电子教案作作 业:业: 面向数据流的分析方法(面向数据流的分析方法(dataflow-oriented analysis method)与面向数据、面向对象的分析方法,都是)与面向数据、面向对象的分析方法,都是需求建模方法。它们均有一组规范的语言表达机制,需求建模方法。它们均有一组规范的语言表达机制,用于需求分析人员表达用户需求、构造软件系统模型。用于需求分析人员表达用户需求、构造软件系统模型。此外,它们还含有一些规则和经验知识,指导分析人此外,它们还含有一些规则和经验

3、知识,指导分析人员提取需求信息,促进用户需求精确化、全面化和一员提取需求信息,促进用户需求精确化、全面化和一致化。致化。 面向数据流的分析方法是结构化分析方法系列中的一面向数据流的分析方法是结构化分析方法系列中的一支,具有明显的结构化特征。结构化分析方法的雏形支,具有明显的结构化特征。结构化分析方法的雏形出现于出现于20世纪世纪60年代后期。但是,直到年代后期。但是,直到1979年才由年才由DeMarco将其作为一种需求分析方法正式提出。由此,将其作为一种需求分析方法正式提出。由此,结构化分析方法得到了迅速发展和广泛应用。结构化分析方法得到了迅速发展和广泛应用。 本章主要介绍广为使用的数据流方

4、法,以及需求本章主要介绍广为使用的数据流方法,以及需求分析分析CASE工具。工具。 一个基于计算机的信息处理系统由数据一个基于计算机的信息处理系统由数据流和一系列的转换构成,而这些转换将流和一系列的转换构成,而这些转换将输入数据流变换为输出数据流。输入数据流变换为输出数据流。 数据流图就是用来刻画数据流和转换的数据流图就是用来刻画数据流和转换的信息系统建模技术。它用简单的图形记信息系统建模技术。它用简单的图形记号分别表示数据流、转换、数据源以及号分别表示数据流、转换、数据源以及外部实体,如下图所示。外部实体,如下图所示。外部实体外部实体位于软件系统边界之外位于软件系统边界之外的信息生产者或消费

5、者的信息生产者或消费者转换转换转换数据流的处理过程转换数据流的处理过程,又称泡(又称泡(bubble)数据源数据源数据流数据流为一个或多个转换提供数据源或数据为一个或多个转换提供数据源或数据存储服务的缓冲区、文件或数据库存储服务的缓冲区、文件或数据库在转换之间有向流动的在转换之间有向流动的数据项或数据项集合数据项或数据项集合 “与与”,即同时输入,即同时输入/出;出; + “或或”,即至少一项输入,即至少一项输入/出;出; “异或异或”,即非同时输入,即非同时输入/出出*l数据流图提供了层次结构,让分析人员数据流图提供了层次结构,让分析人员能够方便地表示任意抽象级别上的信息能够方便地表示任意抽

6、象级别上的信息系统或其子系统,并支持问题分解、逐系统或其子系统,并支持问题分解、逐步求精的分析方法。步求精的分析方法。l初始时,整个信息处理系统可以用图初始时,整个信息处理系统可以用图5-1-2所示的顶级(第所示的顶级(第0级)数据流图表示。级)数据流图表示。图图5-1-2 “家庭保安系统家庭保安系统”顶级数据流图顶级数据流图警报类别警报类别显示信息显示信息电话拨号音频电话拨号音频传感数据传感数据用户命令用户命令家庭保家庭保安系统安系统控制面板控制面板传感器传感器显示器显示器电话机电话机警报器警报器l 随着需求分析活动的逐渐深入,较高抽象级别上的复随着需求分析活动的逐渐深入,较高抽象级别上的复

7、杂转换可以精化为一系列相互关联的数据流和子转换,杂转换可以精化为一系列相互关联的数据流和子转换,如图如图5-1-3所示。在数据流方法中,对数据(数据流)所示。在数据流方法中,对数据(数据流)的精化是伴随着对转换的逐步精化而同步进行的。的精化是伴随着对转换的逐步精化而同步进行的。Z2Y2X2N1M1D1D1C1C1E1E1B0A0A0F1F3FF2F4F5F41F42F43F44B0第第0级级第第1级级第第2级级图图5-1-3 数据流图的精化与层间平衡数据流图的精化与层间平衡1每个加工至少应有一个输入数据流(反映被处理数每个加工至少应有一个输入数据流(反映被处理数据的来源)和一个输出数据流(反映

8、加工的结果)。据的来源)和一个输出数据流(反映加工的结果)。2数据流图中各构成元素的名称必须具有明确的含义数据流图中各构成元素的名称必须具有明确的含义且能够代表对应元素的内容或功能。且能够代表对应元素的内容或功能。3对某个加工进行细化生成的下层数据流图,称为其对某个加工进行细化生成的下层数据流图,称为其上层图的子图。应保证分层数据流图中任意对应的父上层图的子图。应保证分层数据流图中任意对应的父图和子图的输入图和子图的输入/输出数据流保持一致。输出数据流保持一致。4应按照层次给每个加工编号,用于表明该加工所处应按照层次给每个加工编号,用于表明该加工所处的层次及上、下层的父图与子图的关系。编号的规

9、则的层次及上、下层的父图与子图的关系。编号的规则为:顶层加工不用编号;第一层加工的编号为为:顶层加工不用编号;第一层加工的编号为1 , 2 , , n 。 第 二 层 加 工 的 编 号 为。 第 二 层 加 工 的 编 号 为11,12,21,22,n1,n2,等,以此类推。等,以此类推。5在父图中不要出现子图中涉及的局部数据存储文件。在父图中不要出现子图中涉及的局部数据存储文件。通常除底层数据流图中需表明所有数据存储外,为保通常除底层数据流图中需表明所有数据存储外,为保持画面整洁,各中间层数据流图只需显示处于加工之持画面整洁,各中间层数据流图只需显示处于加工之间的接口文件即可。间的接口文件

10、即可。 6数据流图只能由四种基本符号组成,是实际业务流数据流图只能由四种基本符号组成,是实际业务流程的客观映象,用于说明系统应该程的客观映象,用于说明系统应该“做什么做什么”,而不,而不需要指明系统需要指明系统“如何做如何做”。7数据流图的分解速度应保持适中。通常一个加工每数据流图的分解速度应保持适中。通常一个加工每次可分解为次可分解为24个子加工,最多不要超过七个,否则个子加工,最多不要超过七个,否则会增加用户的理解难度。同时要注意,逐层精化必须会增加用户的理解难度。同时要注意,逐层精化必须适可而止。适可而止。8 如果为了便于数据流图在计算机上的输入和输出,如果为了便于数据流图在计算机上的输

11、入和输出,应免除斜线、弧线、圆等符号。应免除斜线、弧线、圆等符号。l数据流图机制没有描述数据流的内容。数据流图必须数据流图机制没有描述数据流的内容。数据流图必须与描述并组织数据条目的数据字典配套使用。与描述并组织数据条目的数据字典配套使用。l表表5-1 数据字典中的基本符号及其含义数据字典中的基本符号及其含义符号符号含义含义说明说明=表示定义为表示定义为用于对用于对=左边的条目进行确切的定义左边的条目进行确切的定义+表示与关系表示与关系X=a+b表示表示X由由a和和b共同构成共同构成 | 或或 , 表示或关系表示或关系X=a|b与与X=a,b的等价,表示的等价,表示X由由a或或b组成组成( )

12、表示可选项表示可选项X=(a)表示表示a可以在可以在X中出现,也可以不出现中出现,也可以不出现 表示重复表示重复大括号中的内容重复大括号中的内容重复0到多次到多次m n表示规定次数的重复表示规定次数的重复 重复的次数最少重复的次数最少m次,最多次,最多n次次“ ”表示基本数据元素表示基本数据元素“ ”中的内容是基本数据元素,不可再分中的内容是基本数据元素,不可再分.连接符连接符Month=1.12表示表示month可取可取112中的任意值中的任意值* *表示注释表示注释两个星号之间的内容为注释信息两个星号之间的内容为注释信息1数据流图中标识数据流、数据源或外部数据流图中标识数据流、数据源或外部

13、 实体的名称与别名;实体的名称与别名;2数据类型;数据类型;3所有以它作为输入流或输出流的转换的所有以它作为输入流或输出流的转换的 列表;列表;4如何使用该数据条目的简要说明;如何使用该数据条目的简要说明;5数据条目的解释性说明;数据条目的解释性说明;6其他补充说明,例如取值范围与缺省值其他补充说明,例如取值范围与缺省值 有关的设计约束等。有关的设计约束等。1一般性检查。例如:自动进行重名检查,可一般性检查。例如:自动进行重名检查,可避免数据流图中不一致的数据定义。避免数据流图中不一致的数据定义。2可根据已有的数据流图生成相关转换的列表。可根据已有的数据流图生成相关转换的列表。并且,随着数据流

14、图的进化,可自动修改该列并且,随着数据流图的进化,可自动修改该列表,以便数据字典和数据流图在任何时刻都保表,以便数据字典和数据流图在任何时刻都保持一致。持一致。3自动完成有关数据条目的各种查询。例如:自动完成有关数据条目的各种查询。例如:该数据条目在何处使用?修改某一部分数据流该数据条目在何处使用?修改某一部分数据流图将会影响哪些数据条目?修改某数据条目又图将会影响哪些数据条目?修改某数据条目又会造成哪些影响?这将有助于分析人员在需求会造成哪些影响?这将有助于分析人员在需求模型的进化过程中维持模型的一致性。模型的进化过程中维持模型的一致性。数据条目的定义必须遵循以下原则:数据条目的定义必须遵循

15、以下原则: 精确、精确、 简洁,简洁, 能为用户方和软件开发方共同理解。能为用户方和软件开发方共同理解。 例如,可以使用形式语言中的语法定义机制例如,可以使用形式语言中的语法定义机制 描述数描述数 据条目的内容。原子语法成据条目的内容。原子语法成 分则用简单明了的自然语言予以描述。分则用简单明了的自然语言予以描述。家庭保安系统中的家庭保安系统中的“电话号码电话号码”数据条目可以定义如数据条目可以定义如下:下:电话号码分机号电话号码分机号|外线号码外线号码分机号分机号1816 | 1817 | | 1858外线号码外线号码9 +(市话号码(市话号码|长话号码)长话号码)长话号码长话号码0 +(区

16、号(区号+市话号码)市话号码)区号区号* 任何长度为任何长度为3的数字串的数字串*市话号码局号市话号码局号+分局号分局号局号局号395 | 396 | 397 | 303 | 304 | 305分局号分局号* 任何长度为任何长度为4的数字串的数字串* 综上所述,综上所述,利用数据字典可以对数据流图中的数据流、数利用数据字典可以对数据流图中的数据流、数据源以及外部实体进行描述、组织和管理。据源以及外部实体进行描述、组织和管理。对于转换,也需要一种比图形记号更为详尽的对于转换,也需要一种比图形记号更为详尽的表示机制,这就是结构化的文字描述。分析人表示机制,这就是结构化的文字描述。分析人员可以在数据

17、流图的任一转换上附加一段文字,员可以在数据流图的任一转换上附加一段文字,用以说明转换的功能、性能要求及设计约束等,用以说明转换的功能、性能要求及设计约束等,这种说明应尽可能简洁、清晰、易于理解。这种说明应尽可能简洁、清晰、易于理解。 在数据密集型应用问题中,对复杂数据及数据在数据密集型应用问题中,对复杂数据及数据之间复杂关系的分析和建模将成为需求分析的之间复杂关系的分析和建模将成为需求分析的重要任务。重要任务。 实体实体-关系图关系图在数据流分析方法中适合于复在数据流分析方法中适合于复杂数据建模的工具。杂数据建模的工具。5.2.1 数据对象、属性与关系数据对象、属性与关系 数据对象:是现实世界

18、中实体的数据表现;数据对象:是现实世界中实体的数据表现; 是省略了功能和行为的实体。是省略了功能和行为的实体。 数据源数据源 ; 数据对象包括:数据对象包括: 外部实体的数据部分外部实体的数据部分 ; 数据流的内容。数据流的内容。 数据对象由其属性刻画。通常属性包括:数据对象由其属性刻画。通常属性包括: 1命名性属性:对数据对象的实例命名,其中必命名性属性:对数据对象的实例命名,其中必 含有一个或一组关键属性,以便含有一个或一组关键属性,以便 唯一地标识数据对象的实例。唯一地标识数据对象的实例。 2描述性属性:对数据对象实例的性质进行刻画。描述性属性:对数据对象实例的性质进行刻画。 3引用性属

19、性:将自身与其他数据对象的实例关引用性属性:将自身与其他数据对象的实例关 联起来。联起来。 一般而言,现实世界中任何给定实体都具有许多属性,一般而言,现实世界中任何给定实体都具有许多属性,分析人员应当并且只能考虑与应用问题有关的属性。分析人员应当并且只能考虑与应用问题有关的属性。例如,在汽车销售管理问题中,汽车的属性可能有:例如,在汽车销售管理问题中,汽车的属性可能有:制造商、型号、标识码、车体类型、颜色和买主。制造商、型号、标识码、车体类型、颜色和买主。 应用问题中的任何数据对象都不是孤立的,它应用问题中的任何数据对象都不是孤立的,它们与其他数据对象一定存在各种形式的关联。们与其他数据对象一

20、定存在各种形式的关联。 例如,在汽车销售管理问题中,例如,在汽车销售管理问题中,“制造商制造商”与与“汽车汽车”之间存在之间存在“生产生产”关系,关系,“购车者购车者”与与“汽车汽车”之间存在之间存在“购买购买”关系。关系。 当然,关系的命名及内涵因具体问题而异。分当然,关系的命名及内涵因具体问题而异。分析人员必须善于剔除与应用问题无关的关系。析人员必须善于剔除与应用问题无关的关系。 基于数据对象、属性与关系,分析人员可以为基于数据对象、属性与关系,分析人员可以为应用问题建立数据模型。应用问题建立数据模型。建立数据模型的规范化规则:确保一致性并消除冗余建立数据模型的规范化规则:确保一致性并消除

21、冗余 1数据对象的任何实例对每个属性必须有且仅有数据对象的任何实例对每个属性必须有且仅有 一个属性值。一个属性值。 2属性是原子数据项,不能包含内部数据结构。属性是原子数据项,不能包含内部数据结构。 3如果数据对象的关键属性多于一个,那么其他如果数据对象的关键属性多于一个,那么其他 的非关键属性必须表示整个数据对象而不是部的非关键属性必须表示整个数据对象而不是部 分关键属性的特征。分关键属性的特征。 4所有的非关键属性必须表示整个对象而不是部所有的非关键属性必须表示整个对象而不是部 分属性的特征。分属性的特征。 例如,在例如,在“汽车汽车”数据对象中增加数据对象中增加“经销商经销商”属性并将其

22、与标属性并将其与标识码一起作为关键属性。如再添加识码一起作为关键属性。如再添加“经销商地址经销商地址”属性就违背属性就违背了规则了规则3。因其仅仅是。因其仅仅是“经销商经销商”的特征,它与汽车的的特征,它与汽车的“标识标识码码”无关。无关。 例如,在例如,在“汽车汽车”数据对象中,增加数据对象中,增加“油漆名称油漆名称”属性,就违属性,就违背了规则背了规则4,因为它仅仅与,因为它仅仅与“颜色颜色”有关,而不是整个有关,而不是整个“汽车汽车”的特征。的特征。 实体实体-关系(关系(Entity-Relation)图简称)图简称E-R图,图,是表示数据对象及其之间关系的图形语言机制。是表示数据对象

23、及其之间关系的图形语言机制。 数据对象(实体)用长方形、关系用菱形、属数据对象(实体)用长方形、关系用菱形、属性用椭圆表示。数据对象之间数量上的对应关性用椭圆表示。数据对象之间数量上的对应关系的表示如下图所示:系的表示如下图所示: 0 : 1 1 : 1 0 : 多多 1 : 多多为了便于区分,在为了便于区分,在E-R模型中的实体、关系和属模型中的实体、关系和属 性都应在对应的框中写上各自的名字。性都应在对应的框中写上各自的名字。图图5-2-2 实体实体-关系图实例关系图实例制造商制造商生产生产经销商经销商汽车汽车经销经销存储存储标识码标识码颜色颜色型号型号制造商制造商车体类型车体类型买主买主

24、 数据流图是目标软件系统中各个处理子功能以及它们数据流图是目标软件系统中各个处理子功能以及它们之间的数据流动的图形表示。数据流图的精化过程实之间的数据流动的图形表示。数据流图的精化过程实际上是处理子功能和数据流的细化过程。随着这一过际上是处理子功能和数据流的细化过程。随着这一过程的进行,用户需求逐步精确化、一致化和完备化。程的进行,用户需求逐步精确化、一致化和完备化。 创建用户需求的数据流模型应遵循以下创建用户需求的数据流模型应遵循以下5条规则条规则:1)首先建立顶级数据流图,其中只含有一个代表目标)首先建立顶级数据流图,其中只含有一个代表目标软件系统整体处理功能的转换。软件系统整体处理功能的

25、转换。 根据软件系统与外部环境的关系确定顶级数据流图中根据软件系统与外部环境的关系确定顶级数据流图中的外部实体以及它们与软件系统之间的数据流。的外部实体以及它们与软件系统之间的数据流。图图5-1-2 “家庭保安系统家庭保安系统”顶级数据流图顶级数据流图警报类别警报类别显示信息显示信息电话拨号音频电话拨号音频传感数据传感数据用户命令用户命令家庭保家庭保安系统安系统控制面板控制面板传感器传感器显示器显示器电话机电话机警报器警报器2)对用户需求的文字描述进行语法分析,)对用户需求的文字描述进行语法分析,其中的名词和名词短语构成潜在的外部其中的名词和名词短语构成潜在的外部实体、数据源或数据流,动词构成

26、潜在实体、数据源或数据流,动词构成潜在的处理功能。的处理功能。 结合分析人员对问题域和用户需求的结合分析人员对问题域和用户需求的理解,确定软件系统的主要功能以及它理解,确定软件系统的主要功能以及它们之间的数据流,产生们之间的数据流,产生“家庭保安系家庭保安系统统”1级数据流图如图级数据流图如图5-3-1所示。所示。图图5-3-1 “家庭保安系统家庭保安系统”1级数据流图级数据流图警报类别警报类别电话拨电话拨号音频号音频传感信息传感信息配置数据配置数据传感数据传感数据配置数据配置数据原口令原口令口令有效口令有效/口令无效口令无效口令口令配置数据配置数据配置命令配置命令显示信息显示信息启动启动/停

27、止时停止时的显示信息的显示信息口令有效口令有效启动启动/停止停止命令命令用户命令用户命令配置信息配置信息控制面板控制面板用户命用户命令处理令处理系统系统配置配置口令口令核对核对信息信息显示显示启动启动/停止停止处理处理显示面板显示面板传感器传感器监测监测传感器传感器警报器警报器电话机电话机3)采用通常的功能分解方法,按照)采用通常的功能分解方法,按照“强内聚、强内聚、松耦合松耦合”的原则逐个对处理功能进行精化;与的原则逐个对处理功能进行精化;与此同时逐步完成对数据流的精化,并针对被精此同时逐步完成对数据流的精化,并针对被精化的处理功能生成下一级数据流图。化的处理功能生成下一级数据流图。 “强内

28、聚、松耦合强内聚、松耦合”的原则对于目标软件系的原则对于目标软件系统的可修改性、可扩充性大有益处,因为开发统的可修改性、可扩充性大有益处,因为开发人员可以缩小软件修改或扩充的影响传播范围。人员可以缩小软件修改或扩充的影响传播范围。 对数据流的精化包含两个方面的意义。首先,对数据流的精化包含两个方面的意义。首先,伴随着功能分解的进行,数据流的内容及各项伴随着功能分解的进行,数据流的内容及各项特征将逐步彰显,所以要将其作为数据字典的特征将逐步彰显,所以要将其作为数据字典的一个条目,并不断精化、调整内容。其次,在一个条目,并不断精化、调整内容。其次,在父数据流图中的复合数据项可被分解为子数据父数据流

29、图中的复合数据项可被分解为子数据项,这种数据流分解不能违背平衡原则。项,这种数据流分解不能违背平衡原则。图图5-3-2 “家庭保安系统家庭保安系统”2级数据流图:级数据流图: 对对“传感器监测传感器监测”的分解的分解传感器传感器ID, ,类别类别传感数据传感数据(内部表示)(内部表示)传感传感数据数据报警信息报警信息电话拨电话拨号音频号音频配置数据配置数据报警类别报警类别电话号码电话号码传感信息传感信息配置信息配置信息读取传读取传感数据感数据生成报生成报警信号警信号异常数异常数据判别据判别电话电话拨号拨号4)精化过程中必须维持各级数据流图之间)精化过程中必须维持各级数据流图之间的数据流平衡。的

30、数据流平衡。 5)精化过程应适可而止,避免涉及软件设)精化过程应适可而止,避免涉及软件设计细节。一般说来,如果某子功能可以计细节。一般说来,如果某子功能可以用一段简洁、精确的文字描述清楚,就用一段简洁、精确的文字描述清楚,就无需进一步分解。无需进一步分解。 对于数据流图中不再分解的处理功能,对于数据流图中不再分解的处理功能,分析人员要借助结构化自然语言对其功分析人员要借助结构化自然语言对其功能进行精确、简洁的描述。能进行精确、简洁的描述。 图图5-3-1中中“口令核对口令核对”子功能分解出来子功能分解出来的的“设置口令设置口令”子功能可描述如下页:子功能可描述如下页:1参数:口令;类别:字符串

31、参数:口令;类别:字符串2处理步骤:处理步骤: 1)检查系统是否已有口令。若有,则验证用户输)检查系统是否已有口令。若有,则验证用户输入口令的有效性。如果有效,则显示提示信息要求入口令的有效性。如果有效,则显示提示信息要求输入新口令;否则,显示失败信息并退出。输入新口令;否则,显示失败信息并退出。 2)检查口令长度是否合法。如果非法,则显示提)检查口令长度是否合法。如果非法,则显示提示信息要求重新输入。示信息要求重新输入。 3)要求用户再次键入合法口令,以便用户确认和)要求用户再次键入合法口令,以便用户确认和记忆。如果两次键入的口令不符,则返回。记忆。如果两次键入的口令不符,则返回。 4)将确

32、认后的口令按某种加密方法转换为另一字)将确认后的口令按某种加密方法转换为另一字符串存放于系统配置文件中。显示成功信息并退出。符串存放于系统配置文件中。显示成功信息并退出。3约束条件:在上述约束条件:在上述1)、)、2)、)、3)步骤中,用户重)步骤中,用户重试的机会不超过试的机会不超过3次。次。 使用前述方法进行需求分析时,需要使用前述方法进行需求分析时,需要计算机在数据流图的绘制、数据字典计算机在数据流图的绘制、数据字典的存储、检索及一致性检查等方面提的存储、检索及一致性检查等方面提供帮助。供帮助。 本节给出一个基于数据流图的需求分本节给出一个基于数据流图的需求分析析CASE工具的蓝本工具的

33、蓝本DFA_Tool。下面。下面就来介绍使用就来介绍使用DFA_Tool进行需求分析进行需求分析的方法。的方法。 DFA_Tool的核心思想可归纳为:多视点需求的核心思想可归纳为:多视点需求分析、可视形式化和可执行的需求规格说明语分析、可视形式化和可执行的需求规格说明语言。言。1多视点需求分析多视点需求分析 DFA_Tool从相互关联的结构、功能和行为三从相互关联的结构、功能和行为三个方面分别为目标软件系统建立模型。个方面分别为目标软件系统建立模型。1)在结构视点,分析人员可根据系统的物理结)在结构视点,分析人员可根据系统的物理结构或软件结构(例如,物理构件、软件模块、构或软件结构(例如,物理

34、构件、软件模块、任务等)进行层次分解,并标识系统各部分之任务等)进行层次分解,并标识系统各部分之间的数据流,进而建立系统的结构图。间的数据流,进而建立系统的结构图。2)在功能视点,分析人员利用功能分解方法刻)在功能视点,分析人员利用功能分解方法刻画系统的活动(类似于数据流图中的转换)以画系统的活动(类似于数据流图中的转换)以及活动之间可能出现的数据流,以逐层精化的及活动之间可能出现的数据流,以逐层精化的方式建立系统的活动图。与数据流图一样,方式建立系统的活动图。与数据流图一样,DFA_Tool的活动图不包括任何动态性质。它的活动图不包括任何动态性质。它既不关心活动是如何启动和终止的,也不关心既

35、不关心活动是如何启动和终止的,也不关心活动能否与其他活动并行执行。至于数据流,活动能否与其他活动并行执行。至于数据流,活动图只说明它们可以在某些活动之间流动,活动图只说明它们可以在某些活动之间流动,并不指明何时流动并不指明何时流动3)应用系统在时间坐标系中的所有控制行为均)应用系统在时间坐标系中的所有控制行为均由行为视点描述。对于层次结构中的每一级活由行为视点描述。对于层次结构中的每一级活动图,均有一个相应的行为图,它们刻画系统动图,均有一个相应的行为图,它们刻画系统的动态行为,包括:的动态行为,包括: 由于各时间点上事件的刺激,某些活动被启由于各时间点上事件的刺激,某些活动被启动或终止,并引

36、发新的事件;动或终止,并引发新的事件;对活动的活跃情况及数据的流动情况进行连续对活动的活跃情况及数据的流动情况进行连续监测,据此决定系统的下一步行为。监测,据此决定系统的下一步行为。 系统的活动图(功能视点)和行为图(行为视点)是紧系统的活动图(功能视点)和行为图(行为视点)是紧密耦合的,它们共同构成系统的概念模型。结构图与活密耦合的,它们共同构成系统的概念模型。结构图与活动图之间的关系是简单而直接的:结构图中的某些构件动图之间的关系是简单而直接的:结构图中的某些构件负责实现活动图中的某些功能。负责实现活动图中的某些功能。功能视点功能视点数据流与功数据流与功能分解方法能分解方法行为视点行为视点事件驱动与事件驱动与时序关系时序关系概念模型概念模型结构模型结构模型物理构件物理构件及其信息流及其信息流图图5-4-1 DFA_Tool 的模型结构的模型结构 2可视形式化可视形式化 与文字相比,图形更为直观、简洁。因此,与文字相比,图形更为直观、简洁。因此,需求分析活动往往离不开图形机制的支持,例需求分析活动往往离不开图形机制的支持,例如前述的数据流图。如前述的数据流图。DFA_Tool的结构图、活的结构图、活动图及状态图均基于一组共同的简单图形记号,动图及状态图均基于一组共同的简单图形记号,并且都具有形式化语义。因此,并且

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论