文档库 最新最全的文档下载
当前位置:文档库 › 面向数据流的分析方法

面向数据流的分析方法

面向数据流的分析方法
面向数据流的分析方法

外部

实体 位于软件系统边界之外的信息生产者或消费者

转换

变换数据流的处理过程,又称泡(bubble ) 为一个或多个转换提供数据源或数据存储服务的缓冲区、文件或数据库 数据存储

在转换之间定向流动的数据项或数据项集合 第5章 面向数据流的分析方法

面向数据流的分析方法(dataflow-oriented analysis method )与面向对象、面向数据的分析方法,都是需求建模方法。它们均有一组规范的语言表达机制,需求分析人员用来表达用户需求、构造软件系统模型。此外,它们还含有一些规则和经验知识,指导分析人员提取需求信息,促进用户需求精确化、完全化和一致化。

面向数据流的分析方法是结构化分析方法系列中的一支,具有明显的结构化特征。结构化分析方法的雏形出现于20世纪60年代后期。但是,直到1979年才由DeMarco 将其作为一种需求分析方法正式提出。由此,结构化分析方法得到了迅速发展和广泛应用。 本章主要介绍广为使用的面向数据流的分析方法及其需求分析CASE 工具。

5.1 数据流图与数据字典

一个基于计算机的信息处理系统就是对数据流进行一系列加工的处理过程,而这些加工将输入数据流变换为输出数据流。数据流图就是用来刻画数据流和加工的信息系统建模技术。数据字典是与数据流图配套使用的,用来定义系统中数据元素的有机集合体。

5.1.1 数据流图

数据流图(Data Flow Diagram ,DFD )描述输入数据流到输出数据流的转换(即加工),用于对系统的功能建模。

1.数据流图的基本图形元素

数据流图中的基本图形元素包括:数据流、转换、数据存储以及外部实体,如图5-1所示。数据流、转换、数据存储用于构建软件系统内部的数据处理模型;外部实体表示存在于系统边界之外的对象,用来帮助我们理解软件系统数据的来源和去向。

图5-1 数据流图的基本图形元素 需要说明的是,DFD 图形元素还可以用其他描述符号来表示,如用圆角矩形表示转换,用开放箭头表示数据流等。

软件工程

84

(1)外部实体。外部实体通常是指存在于软件系统之外的人员或组织,表示软件系统数据的来源和去向。例如,在考务处理系统中,考生向系统提供报名单,所以考生是考务处理系统的一个外部实体;而系统要将考试成绩的统计分析传递给考试中心,考试中心也是一个外部实体。

(2)转换。转换描述了输入数据流到输出数据流的变换,也就是将输入数据流加工成输出数据流。每个转换用一个定义明确的名字标识。一个转换可以有多个输入或输出数据流,但至少要有一个输入数据流和一个输出数据流。例如。考务处理系统中有审定合格者、编制准考证和统计成绩等转换。

一个转换可以代表一系列程序、单个程序或者程序的一个模块;它甚至可以代表目视检查数据正确性等人工处理过程。

(3)数据流。数据流由一组固定成分的数据组成。例如,考务处理系统向考生送出的准考证由姓名、考场、考号、考试时间和考试科目等数据组成。

DFD中的每个数据流用一个定义明确的名字标识。对于流入或流出数据存储的数据流,由于代表了数据存储的一个有效内容,所以不必为其命名。

注意,数据流与程序流程图中用箭头表示的控制流有着本质不同,千万不要混淆。熟悉程序流程图的初学者在画数据流图时,往往试图在数据流图中表现分支条件或循环,殊不知这样做将造成混乱,导致画不出正确的数据流图。在数据流图中应该描绘所有可能的数据流向,而不是描绘出现某个数据流的条件。

(4)数据存储。在软件系统中常常把某些信息保存起来供以后使用,这在DFD中用数据存储来表示。例如,在考务处理系统中,考生名册要随着报名的过程不断补充。因此,考生名册可以作为一个数据存储。

DFD中的每个数据存储用一个定义明确的名字标识。可以有流入数据流,代表写操作;也可以有流出数据流,代表读操作。

一个数据存储可以表示一个文件、文件的一部分、数据库的元素或记录的一部分等;数据可以存储在磁盘、主存及其他任何介质上(包括人脑)。

数据存储和数据流都是数据,仅仅所处的状态不同。数据存储是处于静止状态的数据,数据流则是处于运动中的数据。

2.绘制数据流图

(1)顶级DFD。顶级数据流图只有一个转换,代表整个软件系统,主要描述了软件系统与外界(外部实体)之间的数据流。例如,图5-2是“家庭保安系统”的顶级数据流图。Array

图5-2 “家庭保安系统”顶级数据流图

第5章 面向数据流的分析方法 85

(2)逐层分解。数据流图提供了层次结构,让分析人员能够方便地表示任意抽象级别上的信息系统或其子系统,并支持问题分解、逐步求精的分析方法,充分体现了分解和抽象的原则。

初始时,整个信息处理系统可以用图5-2所示的顶级(第0级)数据流图表示。随着需求分析活动的逐渐深入,较高抽象级别上的复杂加工可以精化为一系列相互关联的数据流和子加工,如图5-3所示。这种自上向下、逐层分解的过程一直进行到所有的加工都可以清晰、明确的定义为止,从而构成了整套分层数据流图。

图5-3 数据流图的精化与层间平衡 在数据流方法中,对数据(数据流)的精化是伴随着对加工的逐步精化而同步进行的。

(3)原则。建立数据流模型要遵循以下原则。

1)每个加工至少应有一个输入数据流(反映被处理数据的来源)和一个输出数据流(反映加工的结果)。

2)数据流图中各构成元素的名称必须具有明确的含义且能够代表对应元素的内容或功能。

3)对数据流图中某个加工进行细化生成的下层数据流图,称为其上层图的子图。应保证分层数据流图中任意对应的父图和子图的输入/输出数据流的一致性,如图5-3所示。

4)在数据流图中,应按照层次给每个加工编号,用于表明该加工所处的层次及上下层的父图与子图的关系。编号的规则为:顶层加工不用编号;第一层加工的编号为1,2,…,n 。第二层加工的编号为11,12,…,21,22,…,n1,n2,…,等,依此类推。

5)在父图中不要出现子图中涉及的局部数据存储文件。通常除底层数据流图中需表明所有数据存储外,为保持画面整洁,各中间层数据流图只需显示处于加工之间的接口文件即可。

6)数据流图只能由4种基本符号组成,是实际业务流程的客观映像,用于说明系统应该“做什么”,而不需要指明系统“如何做”。

7)数据流图的分解速度应保持适中。通常一个加工每次可分解为2~4个子加工,最多不要超过7个,否则会增加用户理解的难度。同时要注意,逐层精化必须适可而止。

8)为了便于数据流图在计算机上的输入和输出,应避免使用斜线、弧线、圆等符号。 0级 1级 2级

软件工程

86

3.标识数据流图的元素

数据流图中每个成分的命名是否恰当,直接影响数据流图的可理解性。因此,给这些成分起名字时应该仔细推敲。下面讲述在命名时应注意的问题。

(1)为数据流(或数据存储)命名。

1)名字应代表整个数据流(或数据存储)的内容,而不是仅仅反映它的某些成分。

2)不要使用空洞的、缺乏具体含义的名字(如“数据”、“信息”、“输入”之类)。

3)如果在为某个数据流(或数据存储)起名字时遇到了困难,则很可能是因为对数据流图分解不恰当造成的,应该试试重新分解,看是否能克服这个困难。

(2)为加工命名。

1)通常先为数据流命名,然后再为与之相关联的加工命名。这样命名比较容易,而且体现了人类习惯的“由表及里”的思考过程。

2)名字应该反映整个加工的功能,而不是它的一部分功能。

3)名字最好由一个具体的及物动词,加上一个具体的宾语组成。应尽量避免使用“加工”、“处理”等空洞笼统的动词作名字。

4)通常名字中仅包括一个动词。如果必须用两个动词才能描述整个加工的功能,则把这个加工再分解成两个加工可能更恰当些。

5)如果在为某个加工命名时遇到困难,则很可能是发现了分解不当的迹象,应考虑重新分解。

外部实体并不需要在开发目标系统的过程中设计和实现,它并不属于数据流图的核心内容,只不过是目标系统的外围环境部分(可能是人员、外部设备或传感器等)。通常,为外部实体命名时采用它们在问题域中习惯使用的名字(如“报警器”、“控制面板”等)。

5.1.2 数据字典

前述的数据流图机制并不足以完整地描述软件需求,因为它没有描述数据流和数据源的内容。因此,需要一种系统化的方式来描述每个数据对象的特性,数据字典正是用来完成这项任务的。数据流图必须与描述并组织数据条目的数据字典配套使用。

数据字典是在结构化分析过程中定义对象的内容时,使用的一种半形式化的工具。下面是对这个重要的建模工具的定义。

数据字典是所有与系统相关的数据元素的有组织的列表,并且包含了对这些数据元素的精确、严格的定义。其作用是使得用户和系统分析员双方对输入、输出、存储的成分甚至中间加工结果有共同的理解。简而言之,数据字典是对系统中的所有数据元素的定义集合。

目前,数据字典作为CASE“结构化分析与设计工具”的一部分实现。尽管不同工具中数据字典的形式不同,但是数据字典一般应包含下列信息。

(1)名字——数据、控制项、数据存储或外部实体的主要名称。

(2)别名——第一项中所列诸对象的其他名字。

(3)使用地点与方式——使用数据或控制项的加工的列表,以及使用这些对象的方式(例如,作为加工的输入,从加工输出,作为数据存储,作为外部实体)。

(4)内容描述——描述数据或控制项内容的符号。

(5)补充信息——关于数据类型、预置值、限制等的其他信息。

第5章面向数据流的分析方法87

一旦把数据对象或控制项的名字和别名输进数据字典,就可以保持命名的一致性。也就是说,支持数据字典的CASE工具能够发现重名现象并发出警告信息,这提高了分析模型的一致性,有助于减少错误。

“使用地点与方式”信息是从数据流图中自动提取的。表面看起来,数据字典工具的这项功能好像并不重要,实际上这正是数据字典的主要优点之一。在分析过程中几乎始终在进行修改。但对于大型项目来说,确定修改的影响往往很困难。许多软件工程师都遇到过下述问题:这个数据对象在什么地方使用?如果修改了它,相应地还应该再修改哪些对象?这个改动在整体上有什么影响?利用数据字典中的“使用地点与方式”信息,完全可以回答上述问题。

下面介绍用于书写“内容描述”信息的符号,也就是定义数据的方法。

定义绝大多数复杂事物,都是用被定义事物成分的某种组合来表示,这些组成成分又由更低层的成分的组合来定义。从这个意义上说,定义就是自顶向下的分解。所以数据字典中的定义,就是对数据自顶向下的分解。那么,应该把数据分解到什么程度呢?一般说来,当分解到不需要进一步定义,每个和工程有关的人也都清楚其含义的元素时,这种分解过程就完成了。

由数据元素组成数据的方式只有下述三种基本类型。

(1)顺序——即以确定次序连接两个或多个分量。

(2)选择——即从两个或多个可能的元素中选取一个。

(3)重复——即把指定的分量重复零次或多次。

因此,可以使用上述三种关系算符定义数据字典中的任何条目。为了说明重复次数,重复算符通常和重复次数的上下限同时使用(当上下限相同时表示重复次数固定)。当重复的上下限分别为l和0时,可以用重复算符表示某个分量是可选的(可有可无的)。但是,“可选”是由数据元素组成数据时一种常见的方式,把它单独列为一种算符可以使数据字典更清晰一些。因此,增加了下述的第四种关系算符:

(4)可选——即一个分量是可有可无的(重复零次或一次)。

虽然可以使用自然语言描述由数据元素组成数据的关系,但是为了更加清晰简洁起见,建议在数据字典中采用如表5-1所示的基本符号。

表5-1 数据字典中的基本符号及其含义

符号含义说明

= 表示定义为用于对=左边的条目进行确切的定义

+ 表示与关系X=a+b表示X由a和b共同构成

[ | ] 或[ , ] 表示或关系X=[a|b]与X=[a,b]等价,表示X由a或b组成

( ) 表示可选项X=(a)表示a可以在X中出现,也可以不出现

{ } 表示重复大括号中的内容重复0到多次

m{ }n 表示规定次数的重复重复的次数最少m次,最多n次

“ ” 表示基本数据元素“ ”中的内容是基本数据元素,不可再分

.. 连接符Month=1..12表示month可取1~12中的任意值

* * 表示注释两个星号之间的内容为注释信息

软件工程

88

对于大型软件项目来说,数据字典的规模十分庞大,人工管理将非常困难。目前大多数支持数据流分析的CASE工具都具备数据字典管理功能,这些功能包括:

(1)一般性检查。当分析人员要求创建新的数据条目并键入名称或别名时,CASE工具自动进行重名检查,这就避免了数据流图中不一致的数据定义。

(2)CASE工具可根据已有的数据流图生成相关加工的列表。并且,随着数据流图的进化,CASE工具可自动修改该列表,以便数据字典和数据流图在任何时刻都保持一致。

(3)CASE工具将自动完成有关数据条目的各种查询,例如:该数据条目在何处使用?修改某一部分数据流图将会影响哪些数据条目?修改某数据条目又会造成哪些影响?显然,对这些问题的正确回答将有助于分析人员在需求模型的进化过程中维持模型的一致性。

数据条目的定义必须遵循以下原则:精确、简洁,并且能为用户方和软件开发方共同理解。可以使用形式语言中的语法定义机制描述数据条目的内容。原子语法成分则用简单明了的自然语言予以描述。例如,“家庭保安系统”中的“电话号码”数据条目可以定义如下:<电话号码>=<分机号>|<外线号码>

<分机号>=1816|1817|…|1858

<外线号码>=9+(<市话号码>|<长话号码>)

<长话号码>=0+(<区号>+<市话号码>)

<区号>=*任何长度为3的数字串*

<市话号码>=<局号>+<分局号>

<局号>=395|396|397|303|304|305

<分局号>=*任何长度为4的数字串*

综上所述,利用数据字典可以对数据流图中的数据流、数据源以及外部实体进行描述、组织和管理。同时,对于加工,也需要一种比图形记号更为详尽的表示机制,这就是结构化的文字描述(参考7.2.6节)。分析人员可以在数据流图的任一加工上附加一段文字,用以说明加工的功能、性能要求及设计约束等,这种说明应尽可能简洁、清晰、易于理解。

5.2 实体—关系图

在数据密集型应用问题中,对复杂数据及数据之间复杂关系的分析和建模将成为需求分析的重要任务。很显然,这项任务是简单的数据字典机制无法胜任的。所以,有必要在数据流分析方法中引进适合于复杂数据建模的工具:实体—关系图。

5.2.1 数据对象、属性与关系

1.数据对象

数据对象是现实世界中实体的数据表现。或者说,数据对象是现实世界中省略了功能和行为的实体。在数据流分析方法中,数据对象包括5.1节提及的数据存储、数据流以及外部实体的数据部分。例如,在汽车销售管理问题中,“制造商”、“汽车”以及“经销商”都是数据对象。

数据对象仅仅封装了数据而没有对作用于数据上的操作的引用,这是数据对象与面向对象范型中的“类”或“对象”的显著区别。

第5章面向数据流的分析方法89

2.属性

数据对象的性质由其属性刻画。通常属性包括:

(1)命名性属性:对数据对象的实例命名,其中必含有一个或一组关键属性,以便唯一地标识数据对象的实例。同时,把一个或多个属性定义为“标识符”,也就是当我们希望找到数据对象的一个实例时,标识符属性就成为“关键字”。

(2)描述性属性:对数据对象实例的性质进行刻画。

(3)引用性属性:将自身与其他数据对象的实例关联起来。

一般而言,现实世界中任何给定实体都具有许多属性,分析人员应当并且只能考虑与应用问题有关的属性。例如,在汽车销售管理问题中,汽车的属性可能有:制造商、型号、标识码、车体类型、颜色和买主等。

3.关系

应用问题中的任何数据对象都不是孤立的,它们与其他数据对象一定存在各种形式的关联。例如,在汽车销售管理问题中,“制造商”与“汽车”之间存在“生产”关系,“购车者”与“汽车”之间存在“购买”关系。当然,关系的命名及内涵因具体问题而异。分析人员必须善于剔除与应用问题无关的关系。

关系也称为联系。联系可分为以下三类。

(1)一对一联系(1:1)。

例如,一个部门有一个经理,而每个经理只在一个部门任职,则部门与经理的联系是一对一的。

(2)一对多联系(1:N)。

例如,某校教师与课程之间存在一对多的联系“教”,即每位教师可以教多门课程,但是每门课程只能由一位教师来教。

(3)多对多联系(M:N)。

例如,表示学生与课程间的联系(“学”)是多对多的,即一个学生可以学多门课程,而每门课程可以有多个学生来学。

联系也可能有属性。例如,学生“学”某门课程所取得的成绩,既不是学生的属性也不是课程的属性。由于“成绩”既依赖于某名特定的学生又依赖于某门特定的课程,所以这是学生与课程之间的联系“学”的属性。

基于数据对象、属性与关系,分析人员可以为应用问题建立数据模型。为确保模型的一致性并消除数据冗余,分析人员要掌握以下规范化规则:

(1)数据对象的任何实例对每个属性必须有且仅有一个属性值。

(2)属性是原子数据项,不能包含内部数据结构。

(3)如果数据对象的关键属性多于一个,那么其他的非关键属性必须表示整个数据对象而不是部分关键属性的特征。

例如,如果在“汽车”数据对象中增加“经销商”属性并将其与标识码一起作为关键属性,那么,再添加“经销商地址”属性就违背了上述规则,因“经销商地址”仅仅是“经销商”的特征,它与汽车的“标识码”无关。

(4)所有的非关键属性必须表示整个对象而不是部分属性的特征。

例如,在“汽车”数据对象中,增加“油漆名称”属性就违背了上述原则,因为它仅仅

软件工程

90 与“颜色”有关,而不是整个“汽车”的特征。

5.2.2 实体—关系图

实体—关系图(Entity-Relationship Diagram )是制定产品规格说明书的一种图形语言机制。它是由美籍华人陈平山于1976年提出的。

通常,使用实体—关系图来建立数据模型。常把实体—关系图简称为ER 图;相应地,用ER 图描绘的数据模型也称为ER 模型。

1.ER 图的基本成分

ER 图中包含了实体(即数据对象)、关系和属性三种基本成分。通常用矩形框代表实体,用连接相关实体的菱形框表示关系,用椭圆形或圆角矩形表示实体(或关系)的属性,并用无向边把实体(或关系)与其属性连接起来。

为了便于区分,ER 模型中的实体、关系和属性都应在对应的框中写上各自的名字。

2.基数与模态

基数是指在一个给定的关系中实体间数量上的对应。基数通常简单地用“1”或者“多”来表示,它描述了“重复性”。

模态表示在一个关系中一个特定的实体是否必须参与的信息。

如图5-4所示,实体“教师”旁有两条竖线,靠近实体“教师”的竖线代表了“1位教师”;另一条竖线代表了“必须”由教师来教课程。另一个实体“课程”旁有多分支线和圆圈,多分支线代表了“多”门课程,圆圈代表了“可以教也可以不教”课程。也就是说一个教师可以教多门课程,也可以不教课程;但是,课程必须由教师来教。

图5-4 基数与模态

3.ER 图示例

如图5-5所示是汽车销售管理问题的ER 图。其中,一个制造商生产一辆或多辆汽车,它可以给一个或多个经销商发放经销许可证。车辆可以通过一个或多个经销商销售,或者由厂家直接销售等。图5-5省略了部分实体或关系的属性。

人们通常用实体、联系和属性这三个概念来理解现实问题,因此ER 模型比较接近人的习惯思维方式。此外,ER 模型使用简单的图形符号表达系统分析员对问题域的理解,不熟悉计算机技术的用户也能理解它。因此,ER 模型可以作为用户与分析员之间有效的交流工具。目前较为流行的ER 图开发工具有Power Designer 以及ER-WIN 等。

模态:必须 模态:可选

第5章面向数据流的分析方法91

图5-5 实体—关系图实例

5.3 基于数据流的分析方法

本节结合“家庭保安系统”讨论一些常用的启发式经验知识和规则,从而为分析人员建造易于理解的、描述用户需求的数据流模型提供方法上的指导。

5.3.1 创建数据流模型

数据流图是目标软件系统中各个子加工以及它们之间的数据流动的图形表示。数据流图的精化过程实际上是子加工和数据流的细化过程。随着这一过程的进行,用户需求逐步精确化、一致化和完备化。

在创建用户需求的数据流模型的过程中,分析人员应遵循以下规则:

(1)建立顶级数据流图,其中只含有一个代表目标软件系统整体处理功能的加工。

根据软件系统与外部环境的关系确定顶级数据流图中的外部实体以及它们与软件系统之间的数据流。

基于4.2.1节的初步需求分析结果,“家庭保安系统”的顶级数据流图如图5-2所示。

(2)对用户需求的文字描述进行语法分析,其中的名词和名词短语构成潜在的外部实体、数据源或数据流,动词构成潜在的加工。

结合分析人员对问题域和用户需求的理解,确定软件系统的主要功能以及它们之间的数据流。例如图5-6,就是对图5-2的分析结果。

(3)采用通常的功能分解方法,按照“强内聚、松耦合”的原则逐个对加工进行精化;与此同时逐步完成对数据流的精化,并针对被精化的加工生成下一级数据流图。

“强内聚、松耦合”的原则是指被分解出来的各子加工之间的联系相对松散、简单,子加工内部各部分的联系相对紧密、复杂。这一原则对于目标软件系统的可修改性、可扩充性大有益处,因为开发人员可以缩小软件修改或扩充的影响传播范围。

对数据流的精化包含两个方面的意义。一方面,伴随着功能分解的进行,数据流的内容及各项特征将逐步彰显,所以要将其作为数据字典的一个条目,并不断精化、调整内容;另一方面,在父数据流图中的复合数据项可被分解为子数据项,这种数据流分解不能违背平衡原则。

软件工程

92 例如,如果将图5-6中的“启动/停止处理”功能分解为“启动系统”和“停止系统”,那么“启动/停止命令”应相应地精化为“启动命令”和“停止命令”。

图5-6 “家庭保安系统”1级数据流图

对“家庭保安系统”中“传感器监测”子功能进行分解,得到了“家庭保安系统”的2级子数据流图如图5-7所示。

图5-7 “家庭保安系统”2级数据流图:对“传感器监测”的分解

(4)精化过程中必须维持各级数据流图之间的数据流平衡。

(5)精化过程应适可而止,避免涉及软件设计细节。一般说来,如果某子功能可以用一段简洁、精确的文字描述清楚,就无须进一步分解。

5.3.2 过程规格说明

对于数据流图中不再分解的加工,分析人员要借助结构化自然语言对其功能进行精确、简洁的描述。

图5-6中“口令核对”子功能分解出来的“设置口令”子功能可描述如下:

(1)参数:口令;类别:字符串。

第5章面向数据流的分析方法93

(2)处理步骤如下:

①检查系统是否已有口令。若有,则验证用户输入口令的有效性。如果有效,则显示提示信息要求输入新口令;否则,显示失败信息并退出。

②检查口令长度是否合法。如果非法,则显示提示信息要求重新输入。

③要求用户再次键入合法口令,以便用户确认和记忆。如果两次键入的口令不符,则返回。

④将确认后的口令按某种加密方法转换为另一字符串存放于系统配置文件中。显示成功信息并退出。

(3)约束条件:

在上述①、②、③步骤中,用户重试的机会不超过3次。

5.4 基于CASE工具的需求分析

使用前述方法进行需求分析时,需要计算机在数据流图的绘制、数据字典的存储、检索及一致性检查等方面提供帮助。因此,本节给出一个基于数据流图的需求分析CASE工具的蓝本DFA_Tool。考虑到传统的数据流图语言机制和分析方法对大中型软件开发的支持能力比较单薄,我们结合结构化分析CASE工具的发展趋势,在需求分析的方法学、语言机制和分析能力等方面进行了扩充,引进了具体的多视点分析方法、可视形式化和可执行的需求描述语言以及动态分析技术。

以下分别介绍:DFA_Tool的主要思想;具有可视形式化特征的语言机制;利用DFA_Tool 进行需求分析的方法。

5.4.1 核心思想

CASE工具的开发必须基于某些基本的原则或思想。这些原则或思想不仅决定着CASE工具的开发过程,而且也将对基于该CASE工具的软件开发行为发挥重要的指导作用。DFA_Tool 的核心思想可以归纳为:多视点需求分析、可视形式化和可执行的需求规格说明语言。

1.多视点需求分析

DFA_Tool从相互关联的结构、功能和行为三个方面分别为目标软件系统建立模型。

在结构视点,分析人员可根据系统的物理结构或软件结构(例如,物理构件、软件模块、任务等)进行层次分解,并标识系统各部分之间的数据流,进而建立系统的结构图。

在功能视点,分析人员利用功能分解方法刻画系统的活动(类似于数据流图中的加工)以及活动之间可能出现的数据流,以逐层精化的方式建立系统的活动图。与数据流图一样,DFA_Tool的活动图不包括任何动态性质。它既不关心活动是如何启动和终止的,也不关心活动能否与其他活动并行执行。至于数据流,活动图只说明它们可以在某些活动之间流动,并不指明何时流动。

应用系统在时间坐标系中的所有控制行为均由行为视点描述。对于层次结构中的每一级活动图,均有一个相应的行为图,它们刻画系统的动态行为,包括:

(1)由于各时间点上事件的刺激,某些活动被启动或终止,并引发新的事件。

(2)对活动的活跃情况及数据的流动情况进行连续监测,据此决定系统的下一步行为。

由此可见,系统的活动图(功能视点)和行为图(行为视点)是紧密耦合的,它们共同

软件工程

94

构成系统的概念模型。结构图与活动图之间的关系是简单而直接的:结构图中的某些构件负责实现活动图中的某些功能。如图5-8所示是DFA_Tool的模型结构。Array +

图5-8 DFA_Tool的模型结构

DFA_Tool可以自动完成三个视点之间的某些一致性检查。例如,结构图中的数据流是否与活动图的数据流一致,结构图中哪些模块未产生输出,活动图中哪些活动永远不会被启动。

2.可视形式化

与文字相比,图形更为直观、简洁。因此,需求分析活动往往离不开图形机制的支持,例如前述的数据流图。DFA_Tool的结构图、活动图及状态图均基于一组共同的简单图形记号,并且都具有形式化语义。因此,DFA_Tool兼备了图形的简单直观和形式化机制的精确严谨。

3.可执行的需求规格说明语言

对于大中型软件项目的开发,未对需求规格说明书进行详细的测试便进行软件设计往往是危险的。因此,用于表述需求规格说明书的语言机制应该具有可执行语义,以便系统能够在需求分析阶段实际展示目标软件系统的动态行为,为分析人员提供动态分析、调试和测试等手段,并让用户尽早进行需求确认。基于以上考虑,DFA_Tool为图形语言机制定义了操作语义,并且它不仅可以用步进方式,还可以用预编程方式演示系统的动态行为。DFA_Tool提供一种元级模拟控制语言(Simulation Control Language,SCL)。借助SCL,分析人员可以采用各种方式模拟外部环境,捕获目标软件系统的状态或事件,并进行元级控制,例如模拟执行至某个预设断点,跳过不重要的中间状态或者忽略一些琐碎的执行细节。

5.4.2 基于CASE工具的需求分析

基于CASE工具的需求分析方法大体上仍与5.3节类似。但是,针对具体的CASE工具,有必要对传统的方法和步骤做局部调整,以适应该CASE工具所确立的需求分析方法学。例如,基于DFA_Tool的需求分析过程大致如下:

(1)从多个视点分别建立目标软件系统的结构模型、功能模型和行为模型。

(2)在上述建模过程中可以采取功能分解、逐步求精的方法对部分子系统展开分析活动。

一般而言,首先应建立子系统的活动图(功能模型),然后再给出相应的状态图(行为模型)。

第5章面向数据流的分析方法95

(3)利用DFA_Tool表格说明机制对各种图形表示中的所有图元的内容进行描述,这些图元包括数据流、事件、状态和原子活动等。

(4)利用DFA_Tool的动态分析能力对目标软件系统或其子部分的模型进行模拟执行,以便发现不一致性和不完全性,并进行相应的修改完善。

DFA_Tool可以为分析人员自动完成以下烦琐任务:

(1)模型的图示、存储与检索。

(2)模型之间、数据条目之间的一致性检查。

(3)行为模型中状态的可达性分析、死锁分析。

(4)模型的动态模拟执行。

(5)模型修改的影响传播范围的确定等。

习题

1.简述数据流图的主要思想,概述使用数据流图进行需求分析的过程。

2.可以分别采用数据流方法中的哪些技术来完成用户需求的精确化、一致化和完全化任务?

3.实体—关系图所适用的领域的主要特征有哪些?

4.如何判断数据流图的一致性和完全性?

5.在数据流图中,可否将两个加工用一个数据流相连?可否将两个数据源用一个数据流连接?为什么?

6.针对第4章习题5所述的图书馆管理问题,采用实体—关系图表示该问题所涉及的主要实体、属性及实体之间的相互关系。

7.选取一个你比较熟悉的中小型软件问题,分别采用或综合采用数据流图、实体—关系图进行部分需求分析工作,要求:

(1)至少给出第0~2级数据流图。

(2)给出相应的数据字典和实体—关系图。

8.简述5.4节所述的需求分析CASE工具DFA_Tool的主要思想。

9.基于第4章习题5所给出的初步需求文档,仍以原来的分组为单位使用数据流方法完成需求建模任务。要求给出以数据流图和数据字典为主体的需求规格说明书,然后进行严格的需求评审。

实验分析数据流和绘制数据流图

实验报告课程名称_软件工程导论__________ 学院____计算机工程学院_________班级14软件1班 学号2014144141 姓名秦川 2016年11月8日

批阅教师时间实验成绩 课程名称软件工程 学号2014144141姓名秦川实验日期2016.11.8实验名称实验2分析数据流和绘制数据流图 实验目的: 1、掌握数据流的分析方法 2、掌握数据流图的绘制 实验内容: 任务一绘制数据流图 任务二分析数据流和绘制数据流图 案例一:总务办公管理系统 案例二:火车票预订系统 实验原理: 数据流图(DFD)是软件系统系统的逻辑模型,仅仅描绘数据在软件中流动(从输入移动到输出)的过程中所经受的变换(即加工处理)。 数据流图的绘制方法:根据数据流图的四种成分:源点或终点,处理,数据存储和数据流,从问题描述中提取数据流图的四种成分;然后依据“自顶向下、从左到右、由粗到细、逐步求精”的基本原则进行绘制。 基本符号如下:

实验过程与结果: 1.运行Microsoft Office Visio2007 运行Microsoft Office Visio2007 2.选择“软件和数据库”中的“数据流模型图”模板 选中数据流模型图模板

3.用鼠标选拉图标进行绘图 任务一绘制数据流图 试绘制工资管理系统的数据流图,根据数据流图的符号说明仔细理解下图含义: 这是学校教职工工资管理系统,教师根据课时表,职工根据任务表来确定个人工资情况,数据按以下方向传递: 首先,对课时表或任务表进行审核,审核后的数据经排序形成专用表格; 再进行一系列额外计算,包括个人所得说、住房公积金、保险费得出具体所发工资,并将工资表发给银行; 然后,向教职工展示工资所得明细; 最后,形成编制报表,更新分类表后,交于会计。 其中,人事科负责人事数据,教师与职工的工资由银行发放,会计做好报表的统计。

IFPUG功能点分析介绍

IFPUG功能点分析介绍 引言 IFPUG的功能点分析(FPA)方法是一种目前被广泛接受的关于软件规模度量的有效方法。目前越来越多的组织在运用这个方法进行软件规模的度量。故在此对功能点分析做一些简单的介绍,以供大家了解。 FPA简介 FPA是从用户角度出发度量软件规模的一种方法。它从用户的角度出发,将系统分为数据功能和交易功能两大类,分别根据具体的规则来计算功能点,最后结合系统的特征因子来调整功能点数,从而得到最终的系统规模。 具体的度量步骤如下所示: 1.确定功能点计数类型 2.识别软件的应用边界 3.识别数据功能以确定其复杂度以及UFP 4.识别事务功能以确定其复杂度以及UFP 5.确定UFP数 6.确定值调整因子 7.计算调整FP数 这里的用户指的是用户功能性需求的任何人和/或任何时候与软件通信或互动的任何人或事物。 所谓用户可识别是指为处理而定义的需求或/和能被用户和软件开发者赞同和读懂的数据组。 所以一定要注意功能点评估的方法一定是从用户角度出发,并能够得到用户的认可,它与具体采用何种开发语言,何种技术方案无关。 关于功能点计数类型 功能点计数类型在IFPUG的FPA中分为三类:新开发类型、增强类型、应用系统。 其中新开发类型简单的来说就是从无到有的开发一个系统; 增强类型简单的来说就是在原有系统基础上新增、完善甚至删除已有的功能。 应用系统则是指对已经存在的系统进行功能点计数。 这三种类型的系统在计算功能点的时候会采用不同的计算方法。 关于应用边界 在FPA中强调在进行FPA之前一定要定义应用的边界。因为这关系到后续在计算功能点的时候相关类型功能的识别以及最终的规模。 而所谓应用边界就是定义范围,从用户的角度出发,确定哪些业务包含在应用中,而哪些业务在应用之外。 关于数据功能

浅谈数据流分析与应用

浅谈汽车数据流分析与应用 关练芬 湛江市第二技工学校 摘要:随着汽车电子控制技术的发展与应用,汽车的修理方式发生了深刻的变化,仅凭经验已不能满足现代汽车修理的需要。作为现代汽车重要检修方法之一的数据流分析,可以使维修人员实时了解汽车的工作状况,为汽车故障诊断与排除提供科学的依据。本文拟谈谈数据流分析的方法及其在汽车电控发动机故障诊断中的应用,为科学修车抛砖引玉。 关键词:汽车电子控制系统数据流分析故障诊断应用实例 随着人们对汽车的动力性、经济性和安全性等要求越来越高,汽车控制技术已由简单的化油器、少量的电气控制到集成电子燃油及点火控制、自动变速器、定速巡航、各种主动安全系统(ABS、ASR等)和舒适系统等于一身的车载电子控制系统。显然,面对日趋完善和复杂的汽车电子控制技术,过去光凭经验、拍脑袋换零件等旧的修车模式已不适应现代汽车检修的要求,而借用先进的专用诊断设备来读取故障码、进行数据流分析及波形分析等现代检修方法在汽车故障诊断中得到了广泛应用。本文拟重点谈谈数据流分析的方法及其在电控发动机故障诊断中的应用,为科学修车提供一点的帮助。 一、汽车数据流的认识 目前,各汽车制造厂家为提高汽车的动力性、经济性和降低排放污染,均致力于发展汽车电子控制技术。同时,为使汽车检修和设定方便,在电子控制系统中还设臵了具有故障自诊断和数据流记忆等功能的自诊断回路,汽车维修人员可以使用专用仪器来读取微机RAM中存储的故障码和数据流等信息,以帮助故障诊断。 众所周知,汽车电子控制系统主要由各种传感器、执行器和控制

微机组成。所谓数据流,是就是指汽车电子控制系统中由微机与传感器和执行器实时交流的输入、输出信号并以数据参数的形式通过诊断接口由专用诊断仪器读出的数据(组)。在汽车微机中增加了数据流记忆功能,真实地反映了传感器和执行器的工作电压和状态,为故障诊断提供了有效的途径。而数据流分析就是维修人员使用专用仪器读取电控系统微机通过诊断插座向外输出的、反映系统实时工作状况的数据流,通过对数据流中的各项参数进行数值分析并与标准值进行比较,以判断电控系统的工作是否正常,为查找故障提供科学依据的一种检修方法。 读取数据流除了可以检测到汽车各种传感器和执行器的工作状态外,还可以设定汽车的运行数据,如进行控制器编码和基本设定等。 二、数据流分析在故障诊断中的意义和作用 随着电子技术与计算机技术的发展与应用,大量的传感器、执行器和微机等安装在汽车上,使汽车的控制方式和修理方式发生了深刻的变化。面对日益复杂的电子控制系统,仅凭经验已无法满足现代汽车维修的需要,维修人员必须要掌握诸如读取故障码、数据流分析和波形分析等现代检修方法,从而科学、有序地排除汽车故障,提高修车效益。 (一)当前汽车故障诊断中存在的不足 现代汽车电子控制技的发展,使汽车维修的技术含量越来越高。但是,由于维修人员素质和维修水平参差不齐,在对汽车电子控制系统检修时主要还存在以下不足:

汽车数据流分析

1、何谓数据流?有何作用? 汽车数据流是指电子控制单元(ECU)与传感器和执行器交流的数据参数通过诊断接口,由专用诊断仪读取的数据,且随时间和工况而变化。数据的传输就像队伍排队一样,一个一个通过数据线流向诊断仪。 汽车电子控制单元(ECU)中所记忆的数据流真实的反映了各传感器和执行器的工作电压和状态,为汽车故障诊断提供了依据,数据流只能通过专用诊断仪器读取。汽车数据流可作为汽车ECU的输入输出数据,使维修人员随时可以了解汽车的工作状况,及时诊断汽车的故障。 读取汽车数据流可以检测汽车各传感器的工作状态,并检测汽车的工作状态,通过数据流还可以设定汽车的运行数据。 2、测量数据流常采用哪些方法? 测量汽车数据流常采用以下三种方法: (1)电脑通信方式;(2)电路在线测量方式;(3)元器件模拟方式。 2.1怎样用电脑通信方式来获得汽车数据流? 电脑通信方式是通过控制系统在诊断插座中的数据通信线将控制电脑的实时数据参数以串行的方式送给诊断仪。在数据流中包括故障的信息、控制电脑的实时运行参数、控制电脑与诊断之间的相互控制指令。诊断仪在接收到这些信号数据以后,按照预定的通信协议将其显示为相应的文字和数码,以使维修人员观察系统的运行状态并分析这些内容,发现其中不合理或不正确的信息,进行故障的诊断。电脑诊断有两种:一种称为通用诊断仪;另一种称为专用诊断仪。 通用诊断仪的主要功能有:控制电脑版本的识别、故障码读取和清除、动态数据参数显示、传感器和部分执行器的功能测试与调整、某些特殊参数的设定、维修资料及故障诊断提示、路试记录等。通用诊断仪可测试的车型较多,适应范围也较宽,因此被称为通用型仪器,但它与专用诊断仪相比,无法完成某些特殊功能,这也是大多数通用仪器的不足之处。 专用诊断仪是汽车生产厂家的专业测试仪,它除了具备通用诊断仪的各种功能外,还有参数修改、数据设定、防盗密码设定更改等各种特殊功能。专用诊断仪是汽车厂家自行或委托设计的专业测试仪器,它只适用于本厂家生产的车型。 通用诊断仪和专用诊断仪的动态数据显示功能不仅可以对控制系统的运行参数(最多可达上百个)进行数据分析,还可以观察电脑的动态控制过程。因此,它具有从电脑内部分析过程的诊断功能。它是进行数据分析的主要手段。 2.2怎样用电路在线检测方式来获得汽车数据流? 电路在线测量方式是通过对控制电脑电路的在线检测(主要指电脑的外部连接电路),将控制电脑各输入、输出端的电信号直接传送给电路分析仪的测量方式。电路分析仪一般有两种:一种是汽车万用表;一种是汽车示波器。 汽车万用表也是一种数字多用仪表,其外形和工作原理与袖珍数字万用表几乎没有区别,只增加了几个汽车专用功能档(如DWELL档、TACHO档)。 汽车万用表除具备有袖珍数字万用表功能外,还具有汽车专用项目测试功能。可测量交流电压与电流、直流电压与电流、电阻、频率、电容、占空比、温度、闭合角、转速;也有一些新颖功能,如自动断电、自动变换量程、模拟条图显示、峰值保持、读数保持(数据锁定)、电池测试(低电压提示)等。 为实现某些功能(例如测量温度、转速),汽车万用表还配有一套配套件,如热电偶适配器、热电偶探头、电感式拾取器以及AC/DC感应式电流夹钳等。 汽车万用表应具备下述功能: (1)测量交、直流电压。考虑到电压的允许变动范围及可能产生的过载,汽车万用表应能

IFPUG功能点分析法

IFPUG功能点分析法 1、功能点方法简介 功能点方法是一种间接、但比较准确的软件开发工作量度量方法,目前普遍用于软件工作量估算。功能点方法,自IBM的Albrech在1979年发表,随后被IFPUC (Internal Function Point UserCroup)继承,1999年发布了现行的4.1版。一个功能点用一定规模的系统数据(ILF和EIF)及其处理(EI、EO、EQ)来表征,它囊括了为实现特定功能所固有和必需的需求分析、系统设计、编写文档和测试用例、编码、测试、部署、调优、培训等工作量。功能点方法从用户需求和逻辑设计角度出发,根据软件需求规格说明书及IFPUG功能点分析法的操作规程,估算应用系统的功能点数,再从每个功能点的功能类型和复杂度两个维度,参考业界单功能点开发时长,测算出项目工作量,与具体技术和实现无关。 2、术语定义: ●内部逻辑文件(ILF)是一组用户能够识别、存在内在逻辑关联、在系统边界之内被控制的数据或控制信息。可理解为一个实体联系模型或一组关联的数据表。 ●外部接口文件(EIF)是另外一个系统的ILF。在本系统中被引用、在系统边界之外被控制。 ●外部输入(EI),一个接受来自系统边界之外的数据或控制信息的基本处理。 其目的是维护一个内部逻辑文件,或改变系统的行为。 ●外部输出(EO) -个向系统边界之外发送数据或控制信息的基本处理。其目的是向用户展示一组经过了(除提取之外的)逻辑处理的数据或控制信息,也可能包括对内部逻辑文件的维护或改变系统的行为。 ●外部查询(EQ) -个向系统边界之外发送数据或控制信息的基本处理。其目的足向用户展示一组经过提取处理的数据或控制信息,不会引起对内部逻辑文件的维护或系统行为的改变。

功能点分析方法之一-原理篇

功能点分析方法之一-原理篇 功能点分析法(FPA:function point analysis) 是一种相对抽象的方法,是一种”人为设计”出的度量方式,主要解决如何客观,公正,可重复地对软件地规模进行度量的问题. FPA 法由IBM的工程师艾伦·艾尔布策(Allan Albrech) 于20 世纪70 年代提出,随后被国际功能点用户协会(IFPUG:The International Function Point Users' Group) 提出的IFPUG 方法继承,从系统的复杂性和系统的特性这两个角度来度量系统的规模,其特征是:“ 在外部式样确定的情况下可以度量系统的规模” ,“ 可以对从用户角度把握的系统规模进行度量” 。功能点可以用于“ 需求文档” 、“ 设计文档” 、“ 源代码” 、“ 测试用例” 度量,根据具体方法和编程语言的不同,功能点可以转换为代码行。经由ISO 组织已经有多种功能点估算方法成为国际标准,如:①加拿大人艾伦·艾布恩(Alain Abran) 等人提出的全面功能点法(full function points) ;②英国软件度量协会(UKSMA :United Kingdom Software Metrics Association) 提出的IFPUG 功能点法(IFPUG function points) ;③英国软件度量协会提出的Mark II FPA 功能点法(Mark II function points) ;④荷兰功能点用户协会(NEFPUG:Netherlands Function Point Users Group) 提出的NESMA 功能点法,以及软件度量共同协会(COSMIC:the Common Software Metrics Consortium) 提出的COSMIC-FFP 方法,这些方法都属于艾尔布策功能点方法的发展和细化。 功能点分析方法具体包括两部分,一部分是测量的具体步骤和方法,通常称为功能点规模测量方法(Functional Size Measurement, FSM),另一部分则是功能点分析方法的具体应用.除非特别说明,通常的情况下并不分开讨论,而是统称为功能点分析方法(Functional Point Analysis, FPA),包括对应用软件的规模测量活动和后续应用测量结果进行适当的项目管理活动. 功能点分析方法有一些相对完整的,自成体系的概念,主要包括基础功能部件(Base Function Component, BFC), BFC类型,边界,用户,本地化,功能领域,功能规模,功能点规模测量的范围,功能点规模测量过程,功能点规模测量方法,功能性需求,质量需求,技术性需求,数值调整以及调整因子等15个关键概念. 功能点分析的基本计数就是依据标准计算出的系统( 或模块) 中所含每一种元素的数目: ①外部输入数(EI :external input) :计算每个用户输入,它们向软件提供面向应用的数据。输入应该与查询区分开来,分别计算。 ②外部输出数(EO :external output) :计算每个用户输出,它们向软件提供面向应用的信息。这里,输出是指报表、屏幕、出错信息,等等。一个报表中的单个数据项不单独计算。 ③外部查询数(EQ :external query) :一个查询被定义为一次联机输入,它导致软件以联机输出的方式产生实时的响应。每一个不同的查询都要计算。 ④内部逻辑文件(ILF :internal logical file) :计算每个逻辑的主文件,如数据的一个逻辑组合,它可能是某个大型数据库的一部分或是一个独立的文件。 ⑤外部接口文件(EIF :external interface file) :计算所有机器可读的接口,如磁带或磁盘上的数据文件,利用这些接口可以将信息从一个系统传送到另一个系统。

作业三结构化系统设计[1]

作业三结构化系统设计(第6-8章) 3-1、用面向数据流的方法设计下列系统的软件结构 (1)储蓄系统 (2)机票预定系统 (3)患者监护系统

3-2、某火车售票系统的数据流程图如下所示,设计系统的软件结构 系统的软件结构图: 列车查询系统 查询结果输出 分析查询信息接受查询信息输入要查询信息按路线查询 按班次查询按日期查询 3-3、已知某系统的需求分析给出的系统数据流程图如下,画出结构图

系统的软件结构图: 3-4、画出下列伪码程序的程序流程图和盒图 START IF p THEN WHILE q DO f END DO ELSE BLOCK g n END BLOCK END IF STOP F P T q g f n

3-5、下图给出的程序流程图代表一个非结构化的程序,请问: (1)为什么说它是非结构化的? (2)设计一个等价的结构化程序。 (3)在(2)题的设计中你使用附加的标志变量flag 吗?若没用,请再设计一个使用flag 的程序;若用了,再设计一个不用flag 的程序 答:(1)通常所说的结构化程序,是按照狭义的结构程序的定义衡量,符合定义规定的程序。图示的程序的循环控制结构有两个出口,显然不符合狭义的结构程序的定义,因此是非结构化的程序。 (2)使用附加的标志变量flag ,至少有两种方法可以把该程序改造为等价的结构化程序,下图描绘了等价的结构化程序的盒图。 flag= TRUE F p T flag=FLASH g (NOT q) OR (NOT flag) (3)不使用flag 把该程序改造为等价的结构化程序的方法如图 F P T g (NOT q) OR (NOT q) 3-6、画出下列伪码程序的流图,计算它的环形复杂度。你觉得这个程序的逻辑有什么问题吗? C EXAMPLE LOOP:DO WHILE X>0 A=B+1 IF A>10 flag=TRUE P AND flag g q F T flag=FAlSE

汽车数据流分析思路

汽车数据流分析思路 1、何谓数据流?有何作用? 汽车数据流是指电子控制单元(ECU)与传感器和执行器交流的数据参数通过诊断接口,由专用诊断仪读取的数据,且随时间和工况而变化。数据的传输就像队伍排队一样,一个一个通过数据线流向诊断仪。汽车电子控制单元(ECU)中所记忆的数据流真实的反映了各传感器和执行器的工作电压和状态,为汽车故障诊断提供了依据,数据流只能通过专用诊断仪器读取。汽车数据流可作为汽车ECU的输入输出数据,使维修人员随时可以了解汽车的工作状况,及时诊断汽车的故障。读取汽车数据流可以检测汽车各传感器的工作状态,并检测汽车的工作状态,通过数据流还可以设定汽车的运行数据。2、测量数据流常采用哪些方法? 测量汽车数据流常采用以下三种方法: (1)电脑通信方式;(2)电路在线测量方式;(3)元器件模拟方式。2.1怎样用电脑通信方式是通过控制系统在诊断插座中的数据通信线将控制电脑的实时数据参数以串行的方式送给诊断仪。在数据流中包括故障的信息、控制电脑的实时运行参数、控制电脑与诊断之间的相互控制指令。诊断仪在接收到这些信号数据以后,按照预定的通信协议将其显示为相应的文字和数码,以使维修人员观察系统的运行状态并分析这些内容,发现其中不合理或不正确的信息,进行故障的诊断。电脑诊断有两种:一种称为通

用诊断仪;另一种称为专用诊断仪。 怎样分析节气门开度? 节气门开度是一个数值参数,其数值的单位根据车型不同有以下种: 若单位为电压(V),则数值范围为0~5.1V; 若单位为角度,则数值范围为0度~90度; 若单位为百分数(%),则数值范围为0~100%。 该参数的数值表示发动机微机接收到的节气门位置传感器信号值,或根据该信号计算出的节气门开度的大小。其绝对值小,则表示节气门开度小;其绝对值大,则表示节气门开度大。在进行数值分析时,应检查在节气门全关时参数的数值大小。 以电压为单位的,节气门全关时的参数的数值应低于0.5V; 以角度为单位的,节气门全关时的参数值应为0度; 以百分数为单位的,节气门全关时该参数的数值应为0。此外,还应检查节气门全开时的数值。 节气门全开时的数值应分别为4.5V左右;82度以上;95%以上。若有异常,则可能是节气门位置传感器有故障或调整不当,也可能是线路或微机内部有故障。 怎样分析发动机转速? 读取电控装置数据流时,在检测仪上所显示出来的发动机转速是由电控汽油喷射系统微机(ECU)或汽车动力系统微机(PCM)根据发动机点火信号或曲轴位置传感器的脉冲信号计算而得的,它反

功能点分析方法的应用

功能点分析方法的应用 功能点是软件规模的度量,是对软件的功能的细分和量化。将功能点和其它度量数据一起分析,可以实现对软件产品的各个属性的定量、定性描述。例如和质量参数结合分析时的缺陷密度;和生产力参数结合分析时的生产率;和成本参数结合分析是的单位开发成本等等。 成功地实施功能点分析,可以在很大程度上帮助我们掌控项目,提高工作水平。 a) 有效地沟通和交流; b) 建立度量基线,并加以跟踪; c) 尽早地发现并解决问题; d) 在做权衡决策的时候有明确的参考数据; 以下讨论在项目生命周期内各个阶段内功能点分析方法起到的作用。 1. 项目立项阶段 项目立项阶段的主要工作是做可行性分析,其中一个很重要的部分是对项目商业上的可行性进行分析,也就是要判断赚不赚钱。对于软件项目来说,这是一个难以量化的工作,软件项目中有太多的不确定因素,客户需求不明确而且容易发生变化。 这是最重要的工作就是进行初步的需求分析,以期确定项目的基本范围。如果这个项目的行业领域是企业或者项目团队比较熟悉的领域,可以根据历史经验进行分析。如果一个企业已经实施了功能点分析方法,并且建立起了基本基础数据库,就可以在分析的时候使用这些量化的数据,这样可以使决策更加科学。 2. 项目计划编制 项目计划的主要内容就是根据项目范围和需求分析,编制软件项目计划,确定时间周期、工作进度、成本、资源等等。 在软件项目计划工作中最重要的工作就是估计。估计工作包括估计产品规模、选择生命周期、估计工作进度等任务。估计得到的数据是编制项目计划的基础,在所有的估计活动中,估计产品规模是最基础的工作。使用功能点分析方法能够很好地量化需求,比起按照经验估算来说更加科学。 2.1. 需求分析和评估 在实际工作中,项目的功能性需求往往不能够一下子就分析清楚,项目的范围也不是一下就能够决定的,这是一个反复迭代的过程。使用功能点分析方法,在这个反复收集、分析、测量的过程中,澄清了项目的需求,将含糊的内容都明确下来,逐步建立完整和详实的工作计划。 做好需求分析工作使实施功能点分析方法的基础,这对于项目团队使一个挑战,也是一个改进的机会。改进需求工作往往很空泛,一个重要的原因就是不知道也很难把握改进的程度,功能点分析方法使一个很好的检验方法,项目的需求工作的详细程度必须满足功能度量的要求。 将项目的功能点分析结果与行业功能点基准数据进行比较,可以通过行业的基准数据发现问题。 2.2. 项目范围的确定和评估

用数据流图进行分析

用数据流图进行分析,分析关注的重点是数据,将面向控制的信息作为数据进行处理,涵盖系统的所有数据,能准确的抽象系统的信息处理过程.概括的描述信息流和当数据从输人移动到输出时被应用的变换,每一层都明确强调“干什么“,“需要什么”,“给出什么”;可以反映出数据的流向和处理过程;数据流图分层进行分析,对顶层图的分析可以发现是否有输入信息或需要输出的信息被遗漏,容易及早发现系统各部分的 逻辑错误,也容易修正.这样逐层分解下去,系统被严密的展开,系统的框架被展现出来.数据流图还有助于消除通常存在于软件开发人员与系统总体及硬件人员的交流隔阂.系统开发人员通过数据流图更容易理解软件要完成什么功能,数据来源于哪里,结果要输出到哪等等,他们可以给软件人员更多合理的建议.由于采用数据流图进行分析,提高分析的可见性和可控性,有助于软件的缺陷在软件开发阶段早期被及时的发现和消除. 一,数据流图的基本元素 数据流图中只能有四种基本元素,如下: 描述一个处理.输入数据在此进行变换产生输出数据.其中注明处理的名称. 描述一个输入源点或输出汇点.其中注明源点或汇点的名称. 描述一个数据流.被加工的数据及其流向.流线上注明数据名称,箭头代表数据流动方向. 描述一个数据存储.通常用于代表一个数据表,其中注明数据表的名称. 二,分层数据流图 为了表达数据处理过程的数据加工情况,用一个数据流图往往是不够的.稍为复杂的实际问题,在数据流图上常常出现十几个甚至几十个加工.这样的数据流图看起来很不清楚.层次结构的数据流图能很好地解决这一问题.按照系统的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统. 下图给出分层数据流图的示例.数据处理S包括三个子系统1,2,3.顶层下面的第一层数据流图为DFD/L1.第二层数据流图DFD/L2.1,DFD/L2.2及DFD/L2.3

功能点分析

功能点分析 IFPUG维护的功能点分析(FPA)是众多功能点评估方法中的一种,目前应用较广泛。当前最新版本是4.2.1. 。为了推动Function Point的方法在行业中的应用,IFPUG有推出CFPS的认证。 FPA是从用户角度出发度量软件规模的一种方法。其目标是: 1.度量用户要求和能够接收到的功能 2.提供一种与具体实施方法和技术无关的对软件开发和维护进行度 量的手段 3.提供一种相对来说比较简单的对规模进行度量的方法 4.提供一种在不同的项目和组织之间能够保持一致的度量方法 相对于其他的软件度量方法而言(诸如代码行),其主要的特点是:该度量方法与技术无关,也就是说对于同一组用户需求,无论你采用什么开发语言,其规模都应该是一定的。且该度量方法是面向用户的,从用户角度出发的,而其他的度量方法多从技术角度出发,很难让用户接收。 这里先讲几个基本的概念: 用户:是指用户功能性需求的任何人和/或任何时候与软件通信或互动的任何人或事物 用户视角:它是对业务功能的描述,此为,它应该: 1.被用户认可 2.能够被用来计算功能点 3.能以不同的文档形式出现 利用功能点分析的步骤如下图所示:

1、决定分析类型 功能点计算的类型分为: ?开发项目——开发项目功能点计算度量的是项目完成、用户第一次安装系统时提供给用户的功能 ?升级项目——升级项目功能点计算度量的是项目完成对已存在的应用系统新增、修改或者删除的功能 ?应用程式——应用程式功能点计算度量的是已经安装运行的系统提供给用户的功能。 2、识别计算范围和应用边界 计算范围定义了一组(部分)被度量的软件 ?它由功能点计算的目的决定 ?它确定功能点计数中包括的功能 ?它可以包含一个或多个应用 应用边界指出了被度量的软件之间的分界线 ?定义了应用的外部范围 ?内部应用与外部用户时间的概念接口;起一种“膜”的作用,数据就是通过这层膜进出应用

面向数据流的分析方法

外部 实体 位于软件系统边界之外的信息生产者或消费者 转换 变换数据流的处理过程,又称泡(bubble ) 为一个或多个转换提供数据源或数据存储服务的缓冲区、文件或数据库 数据存储 在转换之间定向流动的数据项或数据项集合 第5章 面向数据流的分析方法 面向数据流的分析方法(dataflow-oriented analysis method )与面向对象、面向数据的分析方法,都是需求建模方法。它们均有一组规范的语言表达机制,需求分析人员用来表达用户需求、构造软件系统模型。此外,它们还含有一些规则和经验知识,指导分析人员提取需求信息,促进用户需求精确化、完全化和一致化。 面向数据流的分析方法是结构化分析方法系列中的一支,具有明显的结构化特征。结构化分析方法的雏形出现于20世纪60年代后期。但是,直到1979年才由DeMarco 将其作为一种需求分析方法正式提出。由此,结构化分析方法得到了迅速发展和广泛应用。 本章主要介绍广为使用的面向数据流的分析方法及其需求分析CASE 工具。 5.1 数据流图与数据字典 一个基于计算机的信息处理系统就是对数据流进行一系列加工的处理过程,而这些加工将输入数据流变换为输出数据流。数据流图就是用来刻画数据流和加工的信息系统建模技术。数据字典是与数据流图配套使用的,用来定义系统中数据元素的有机集合体。 5.1.1 数据流图 数据流图(Data Flow Diagram ,DFD )描述输入数据流到输出数据流的转换(即加工),用于对系统的功能建模。 1.数据流图的基本图形元素 数据流图中的基本图形元素包括:数据流、转换、数据存储以及外部实体,如图5-1所示。数据流、转换、数据存储用于构建软件系统内部的数据处理模型;外部实体表示存在于系统边界之外的对象,用来帮助我们理解软件系统数据的来源和去向。 图5-1 数据流图的基本图形元素 需要说明的是,DFD 图形元素还可以用其他描述符号来表示,如用圆角矩形表示转换,用开放箭头表示数据流等。

电子显微分析总结

《电子显微分析》知识点总结 第一讲电子光学基础 1、电子显微分析特点 2、Airy斑概念 3、Rayleigh准则 4、光学显微镜极限分辨率大小:半波长,200nm 5、电子波的速度、波长推导公式 6、光学显微镜和电子显微镜的不同之处:光源不同、透镜不同、环境不同 7、电磁透镜的像差产生原因,如何消除和减少像差。 8、影响光学显微镜和电磁透镜分辨率的关键因素,如何提高电磁透镜的分辨率 9、电子波的特征,与可见光的异同 第二讲 TEM 1、TEM的基本构造 2、TEM中实现电子显微成像模式与电子衍射模式操作 第三讲电子衍射 1、电子衍射的基本公式推导过程 2、衍射花样的分类:斑点花样、菊池线花样、会聚束花样 3、透射电子显微镜图像衬度,各自的成像原理。 第四讲 TEM制样 1、粉末样品制备步骤 2、块状样品制备减薄的方法 3、块状脆性样品制备减薄——离子减薄 4、塑料样品制备——离子减薄 5、复型的概念、分类 第五讲 SEM 1、电子束入射固体样品表面会激发的信号、特点和用途 2、SEM工作原理 3、SEM的组成 4、SEM的成像衬度:二次电子表面形貌衬度、背散射电子原子序数衬度、吸收电子像的衬 度、X射线图像的衬度 第六讲 EDS和WDS 1、EDS探测系统——锂漂移硅固体探测器 2、EDS与WDS的优缺点 第七讲 EBSD 1、EBSD的应用 第八讲其它电子显微分析方法 1、各种设备的缩写形式

历年考题 透射电镜的图像衬度有非晶样品质厚衬度, 薄晶体样品的衍射衬度, 相位衬度。 一、我校材料分析中心现有的两台场发射电子显微镜有哪些主要的功能附件可以进行哪方面的分析工作 答:1、场发射扫描电子显微镜仪器型号: SUPRA 55 生产厂家:德国ZEISS 功能附件: (1)配备Oxford INCA EDS设备,可以对5B-92U的元素进行微区成分定性、定量分析,包括点、线、面成分的分析; (2)配备HKL EBSD设备,可以对材料进行取向、织构及物相鉴定,晶体学结构分析,相位及相位差分析,应变分析; (3)配备拉伸弯曲台,可以在扫描电镜内对试样做拉伸、压缩和弯曲试验,同时原位观察组织变化。 用途:可用于金属、非金属、半导体、地质、矿物、冶金、考古、生物等材料的显微形态,断口形貌的分析研究;也可进行各种样品的高分辨成像以及配合能谱仪进行微区元素分析,配备电子背散射衍射(EBSD)附件,可对晶体材料进行晶体取向、织构、以及物相鉴定等分析研究。 2、场发射透射电子显微镜仪器型号:TECNAI F30 G2生产厂家:美国FEI公司 功能附件: (1)配备EDS设备,可以进行微区成分定性定量分析,包括点、线、面成分的分析; (2)配备EELS,进行电子-能量损失谱分析; (3)配备原位拉伸仪,可以进行原位拉伸观察和三维图像重构分析。 用途:可以对透射电镜样品进行形貌、相应选区电子衍射、微衍射及相干电子衍射和高分辨电子显微像观察;配合STEM-HAADF探针进行原子序数衬度像分析;配合特征X射线能谱仪(EDS)进行纳米尺度成分分析;配合电子能量损失谱系统(EELS)进行电子能量损失谱分析;进行样品原位拉伸观察和三维图像重构分析。 二、电子束入射固体样品表面会激发哪些信号它们有哪些特点和用途 答:电子束入射固体样品表面会激发出背散射电子、二次电子、吸收电子、透射电子、特征X射线、俄歇电子、电子束感生电效应、阴极荧光。 (1)背散射电子:入射电子与原子核发生弹性散射,能量损失小,一般大于50eV都称为背散射电子。平均原子序数越大,产生背散射电子越多,不仅能用于形貌分析,还可以用于显示原子序数衬度,定性进行成分分析; (2)二次电子:入射电子与外层电子发生非弹性散射,一部分核外电子获得能量逸出试样表面,成为二次电子。二次电子能量小,一般小于50eV,适于表面形貌观察; (3)吸收电子:入射电子发生非弹性散射次数增多,以致电子无法逸出试样表面,在样品与地之间接电流放大器,获得电流信号,吸收电子像衬度与二次电子和背散射电子的总像衬度相反,适用于显示试样元素分布和表面形貌,尤其是试样裂纹内部的微观形貌; (4)透射电子:如果被分析的样品很薄,就会有一部分入射电子穿过薄样品而成为透射电子。可进行形貌和成分分析。 (5)特征X射线:入射电子与样品原子内层电子作用,释放出具有特征能量的电磁辐射波,

功能点分析

功能点分析

功能点分析 IFPUG维护的功能点分析(FPA)是众多功能点评估方法中的一种,目前应用较广泛。当前最新版本是4.2.1. 。为了推动Function Point的方法在行业中的应用,IFPUG有推出CFPS的认证。 FPA是从用户角度出发度量软件规模的一种方法。其目标是: 1.度量用户要求和能够接收到的功能 2.提供一种与具体实施方法和技术无关的对软件开发和维护进行度 量的手段 3.提供一种相对来说比较简单的对规模进行度量的方法 4.提供一种在不同的项目和组织之间能够保持一致的度量方法 相对于其他的软件度量方法而言(诸如代码行),其主要的特点是:该度量方法与技术无关,也就是说对于同一组用户需求,无论你采用什么开发语言,其规模都应该是一定的。且该度量方法是面向用户的,从用户角度出发的,而其他的度量方法多从技术角度出发,很难让用户接收。 这里先讲几个基本的概念: 用户:是指用户功能性需求的任何人和/或任何时候与软件通信或互动的任何人或事物 用户视角:它是对业务功能的描述,此为,它应该: 1.被用户认可 2.能够被用来计算功能点 3.能以不同的文档形式出现 利用功能点分析的步骤如下图所示:

1、决定分析类型 功能点计算的类型分为: ?开发项目——开发项目功能点计算度量的是项目完成、用户第一次安装系统时提供给用户的功能 ?升级项目——升级项目功能点计算度量的是项目完成对已存在的应用系统新增、修改或者删除的功能 ?应用程式——应用程式功能点计算度量的是已经安装运行的系统提供给用户的功能。 2、识别计算范围和应用边界 计算范围定义了一组(部分)被度量的软件 ?它由功能点计算的目的决定 ?它确定功能点计数中包括的功能 ?它可以包含一个或多个应用 应用边界指出了被度量的软件之间的分界线 ?定义了应用的外部范围 ?内部应用与外部用户时间的概念接口;起一种“膜”的作用,数据就是通过这层膜进出应用

控制流与数据流分析

第七章控制流分析 优化需要从程序中获得足够多的信息。控制流分析就是用来获取程序控制结构信息的形式化分析方法,它是数据流分析,依赖分析的基础。 7.1控制流分析方法概述 7.1.1过程内控制流分析方法主要有下面3种: 1.用dominator图找出循环,把循环标记出来供后面的优化使用。因为循环是程 序中最值得改进的地方,所以这种方法广泛被现在的编译器采用。 2.Interval分析:这是一类分析方法的统称,用来分析单个过程的结构,并把它 分解成为一系列有层次的结构称为interval。这些结构的层次关系可以用一棵树来 表示,就叫控制树。接下来许多分析和优化就可以基于控制树来做。 3.结构分析:结构分析是Interval分析中的特别重要且有代表性的一种,而且它 在许多编译器或优化方法中被用到,所以单独作为一种控制流分析方法。 这三种分析方法各有优劣之处,且三种方法并不是互相隔离的,具体实现时可以根据需求做出折衷选择。 7.1.2控制流图和BB 上面三种分析方法都是基于控制流图(CFG)的基本单元BB来做的。因为控制流图和BB大家都知道,所以这里省略它们的基本概念。只是在识别BB的方法 上补充一点:对call语句的处理。 对call语句的处理:一般情况下call语句调用目标过程后会返回call语句顺序的下一条语句。这时call语句和它顺序的下一条语句都不会被作为入口语句。 但是,如果一个call语句有好几个返回地址(例如:Fortran中有alternate返回地 址),那么call语句的下一条语句就应该作为入口语句,否则BB中将有一条既 不是顺序执行又不在BB末尾的指令。C库函数中的setjump( )和longjump( )也 有类似情况。 7.13 EBB EBB与控制流分析的关系不大,只是因为刚介绍了BB,所以把EBB也顺带介绍一下。EBB跟BB相比可以使指令调度这种局部优化在选择指令时范围更宽。 介召EBB之前先要知道join node

各种显微分析手段简介

提供一下拉曼数据库: 1 聚合物和聚合物添加剂谱图数据库包含862个聚合物或聚合物体系的拉曼光谱 2 食品添加剂和食品包装材料谱图数据库1,005个食品添加剂的拉曼光谱,其中包含FDA管制的物质;另外包含间接的食品添加剂:与食物直接接触的过程或包装物质 3 溶剂谱图数据库460种溶剂的拉曼光谱谱图 4 生化试剂谱图数据库1,58 5 种生化试剂的拉曼光谱,包含部分维生素、树脂、淀粉、甘油酯、脂肪酸、糖、碳水化合物、蛋白质和多肽物质 5 醛、酮谱图数据库513 种脂肪族和芳香族醛类及酮类物质的拉曼光谱 6 醇类和酚类谱图数据库701 种醇类和酚类的拉曼光谱谱图 7 酯类、内酯和酸酐谱图数据库1,048 种羧酸、酯类、内酯和酸酐的拉曼光谱谱图 8 碳氢化合物谱图数据库539 种碳氢化合物和卤化碳氢化合物的拉曼光谱谱图 9 香料、芳香剂和化妆品成分谱图数据库949 种香料、芳香剂和用在化妆品中组分的拉曼谱图 10 苯氧基农药谱图数据库418 种苯氧基农药的拉曼谱图,包含杀虫剂、除草剂、除藻剂和杀菌剂 11 半导体化学品谱图数据库351 种在半导体中使用的化学品的拉曼谱图 12 法医谱图数据库655 种在法医实验室中常见的化合物的拉曼光谱 13 染料、颜料、和染色剂谱图数据库196 种选定的染料、颜料、染色剂和指示剂的拉曼光谱 14 硫磺和磷谱图数据库649种硫磺和磷的拉曼光谱 15 危险化学品谱图数据库包含美国环保局(EPA)Cameo 数据库和美国海岸警卫队(USCG)Chris危险品数据库的1,249 种化学品的拉曼谱图 16 危险和有毒物质谱图数据库包含美国环保局(EPA)Cameo数据库中危险化学制品、美国海岸警卫队(USCG)Chris危险化学品数据库和国立职业和安全与健康研究所(NIOSH)危险化学品数据库的2,704 种物质的拉曼光谱,包括有毒物品控制法管制的化学品 17 医药品、药品和抗生素谱图数据库1,019种医药工业中常用的有效物质和艾滋药品 18 大宗化学品谱图数据库657种大宗化学品的拉曼谱图。美国大宗化学品(HPV)指的是在美国生产或进口到美国的数量在一百万磅及以上的化学制品 19 矿物和无机物谱图数据库1,375种矿物和无机物的拉曼光谱 (光谱范围1500 - 200 cm-1) 选区电子衍射 选区电子衍射(SAED,selected area electron diffraction)由选区形貌观察与电子衍射结构分析的微区对应性,实现晶体样品的形貌特征与晶体学性质的原位分析。 简单地说,选区电子衍射借助设置在物镜像平面的选区光栏,可以对产生衍射的样品区域进行选择,并对选区范围的大小加以限制,从而实现形貌观察和电子衍射的微观对应。选区电子衍射的基本原理见图。选区光栏用于挡住光栏孔以外的电子束,只允许光栏孔

众筹功能点分析及测试计划与方法

众筹功能点分析及测试计划 与方法 标准化文件发布号:(9312-EUATWW-MWUB-WUNN-INNUL-DQQTY-

登录 绑定 流程:输入需绑定有效手机号码->点击【下一步】->输入有效进行登录 功能: 再次进入该页面查看登录状态 校验手机号格式及可输入长度及类型 使用等价类划分法,针对验证码是否有效进行验证,提高用户体验 (60秒倒计时完了之后,显示重新发送验证码) 首页展示 流程:点击各TAB标签,可展示不同类别数据(推荐众筹、成功众筹、孵化基地) 功能: 检索功能 输入内容为空进行查询 输入有效数据进行查询 输入无效数据进行查询 输入超长内容进行查询 输入特殊字符、英文、数字等进行查询 刷新功能 向上滑动屏幕进行刷新 向下滑动屏幕进行刷新 连续多次滑动屏幕进行刷新 查看更多 查看项目详情 查看成功众筹的详情 查看推荐项目的详情 查看孵化基地的详情 查看评论 发表评论(绑定手机号与为绑定手机号状态下测试) 首页 关注 举报 分享 回到顶部

项目支持 流程:选择待支持项目->点击【力挺】->支付 (回报方式为实物类,需优先校验收货地址) 功能: 支付成功: 1.核对已筹金额及支持人数是否正确 2.会员中心->我的支持显示已支持项目 发布项目 流程:点击导航栏【发布】->选择项目类型->编辑要发布项目-提交 功能: 发布项目 编辑完整项目信息进行提交 编辑不完整项目信息进行提交 项目信息内容为空进行提交 编辑回报方式 删除回报方式 添加多个回报方式进行提交 校验个输入框可输入内容长度、字符类型、图片大小、图片格式等限制条件查看项目条款,及选择与不选择2种状态下进行提交 查看已发布项目,并核对该项目显示内容是否正确 预览项目 选择发布项目类别 消息 流程:点击导航栏【消息】->进行查看 功能: 我的消息 消息详情 消息标题 消息状态 系统消息 消息详情 消息标题 消息状态

材料显微结构分析方法

材料显微结构分析方法 Analysis of Materials Microstucture 一.内容提纲:材料显微结构分析是材料科学中最为重要的研究方法之一。准确、快捷的分析结果为材料的制备工艺、材料性能微结构表征研究及其材料显微结构设计提供可靠的实验和理论依据。本课程主要介绍包括物显微结构形貌观察、物相种类确定及其定量分析、Rietveld拟合方法、择优取向类型及其测定、微晶及纳米粉体尺寸测定、体材料及其微区成分分析和定量测定等;同时侧重介绍进行上述显微结构分析通常所采用的各种现代仪器的主要功能特性及其分析方法,其中包括X射线衍射仪(XRD)、X光荧光分析仪(XRF)、电子探针(EPME)、波谱仪(WDS)、能谱仪(EDS)、扫描电子显微镜(SEM)、透射电子显微镜(TEM)等,并且按排了相应的实验。 通过本课程的学习,使研究生了解材料科学研究工作者通常关注的主要显微结构分析内容;掌握各种常见分析仪器的功能和基本原理;学会根据不同显微结构分析内容,准确选择、利用各种分析方法和手段,并得出正确的判断。培养学生分析、解决问题的能力。二. 教学学时: 48 课堂教学 32 实验 16 三. 先修课程: 1.材料科学基础

2.X射线衍射技术 3.扫描电子显微镜 4. 透射电子显微镜 四. 教学对象: 适用于金属、陶瓷、有机、半导体、复合材料等学科研究生。 五. 教材: 主要教材:自编讲义 主要参考书: 1. 自编文献汇编 2. X光衍射技术基础,王英华主编,原子能出版社 3. Svanning Electron Microscopy and X-ray Microanalysis 六. 主要讲授内容: 1.物相定量分析 (1)定量分析基本原理 (2)参考强度法 (3)含玻璃相的K值法的定量相分析

相关文档