基于任务驱动模式的软件工程与UML建模技术项目十静态建模

上传人:206****923 文档编号:51935768 上传时间:2018-08-17 格式:PPT 页数:54 大小:1.47MB
返回 下载 相关 举报
基于任务驱动模式的软件工程与UML建模技术项目十静态建模_第1页
第1页 / 共54页
基于任务驱动模式的软件工程与UML建模技术项目十静态建模_第2页
第2页 / 共54页
基于任务驱动模式的软件工程与UML建模技术项目十静态建模_第3页
第3页 / 共54页
基于任务驱动模式的软件工程与UML建模技术项目十静态建模_第4页
第4页 / 共54页
基于任务驱动模式的软件工程与UML建模技术项目十静态建模_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《基于任务驱动模式的软件工程与UML建模技术项目十静态建模》由会员分享,可在线阅读,更多相关《基于任务驱动模式的软件工程与UML建模技术项目十静态建模(54页珍藏版)》请在金锄头文库上搜索。

1、项目十 静态建模 项目十 静态建模 任务一 认识静态建模 任务二 认识类图 任务三 使用Rational Rose绘制类图 任务四 认识对象图 项目十 静态建模 任务一 认识静态建模自然界中存在的事物大都具有类与对象的关系,于是我们可以借用自然界中的类与对象的表示方法,在计算机的软件系统中描述与实现类和对象。所谓对象,就是可以控制和操作的实体,它可以是一个设备、一个组织或一个商务,它包括属性的描述和行为的描述两方面。属性描述类的基本特 征(汽车的长度、颜色等);行为描述类具有的功能(汽车启动、行驶、转弯和刹车等功能),也就是对指定类的对象可以进行哪些操作。就像程序设计语言中整型变量是整数类型的

2、具体变化,用户可以对整型变量进行操作一样,对象是类的实例化,所有的操作都是针对对象进行的。以面向对象方式建项目十 静态建模 造的模型,由于建造在真实世界的基本概念上,与真实世界非常接近,使得该模型易于交流,易于验证,易于维护。 操作一 静态建模概述在计算机系统中,我们用类表示系统,并把现实世界中我们能够识别的对象分类表示,这种处理方式称做面向对象。由于面向对象的思想与现实世界中的事物的表示方式相似,所以采用面向对象的思想建造模型会为建模者带来很多好 处。UML的静态建模就需要借助于类图和对象图。使用UML进行静态建模,就是通过类图和对象图从一个相对静止的状态分析系统中包含的类和对象,以及它们之

3、间的关系等。 项目十 静态建模 任务二 认 识 类 图 操作一 类图的概述类图显示了系统静态的结构,标识了不同的实体(人、事物和数据)是如何彼此关联的。在类图中不仅包含了系统定义的各种类(其中包含了类的属性和操作),也包含了它们之间的关系。由于类图是用来描述软件系统中的类以及类之间的关系的一种图示,是从静态角度表示系统的,所以这种描述在系统整个生命周期中都是有效的。类图是构建其它图的基础,如果没有类图,就没有状态图、顺序图和协作图等,也就无法表示软件系统的其它各个侧面。项目十 静态建模 类图中允许出现的模型元素只有类和它们之间的关系。 如图10-1所示,类用长方形表示,长方形分成上、中、下三个

4、区域,每个区域用不同的名字标识,用以代表类的各个特征。上面的区域内标识类的名字,中间的区域内标识类的属性,下面的区域内标识类的操作方法,这三部分作为一个整体描述某个类。图10-1 类的表示项目十 静态建模 在面向对象软件工程中,将类划分为以下几种: (1) 实体类:它表示的是系统领域内的实体。实体类对应着现实中的客观实物,是系统领域内的实体,用来保存信息,一般对应着数据表、文件等。实体类可以从现实中存在的客观事物,以及需要持久存放的信息两方面来发现。实体 类的表示方法如图10-2所示。图10-2 实体类项目十 静态建模 (2) 边界类:是系统的用户界面,直接跟系统外部参与者交互,与系统进行信息

5、交流。它位于系统与外界的交界处,例如窗体、对话框、报表、与外部设备或系统交互的类等。边界类处在用例图中参与者与用例的关联处,可以根据用例图发现边界类。每个参与者和用例交互至少要有一个边界 类。边界类的表示方法如图10-3所示。图10-3 边界类项目十 静态建模 (3) 控制类:是控制系统中对象之间的交互。它负责协调其它类的工作,实现对其他对象的控制。一个用例中最少会有一个控制类,用来控制用例中的事件顺序,也可以在多 个用例之间协调用例之间的联系。控制类的表示方法如图10-4所示。图10-4 控制类项目十 静态建模 在传统的C/S系统中,实体类、边界类和控制类没有严格的一一对应关系;在现在流行的

6、设计模式(如MVC模式)中,实体类、边界类和控制类一一对应。可通过查找分析人员、组织、设备、事件和外部系统等,找出各种可能有用的候选对象,以发现实体类,或通过阅读系统文档和用例,查找 用例的事件流中的名词(包括角色、类、类属性和表达式),从中寻找到实体类;对于边界类,分析阶段不需要深入研究用户界面的窗口部件,只要能说明通过交互所实现的目标就可以。有些类无法通过以上方法找到;有些类需要从协作图和顺序图中通过分析对象来确定。例如在下面订货系统的用 例图中找出系统的边界类、实体类、控制类(见图10-5、10-6)。项目十 静态建模 图10-5 订货管理用例图项目十 静态建模 图10-6 订货管理的控

7、制类、边界类、实体类项目十 静态建模 (4) 具体类:有自己的具体对象的类称为具体类。具体类中的操作都有具体实现的方法。例如:图10-7中的“轮船”和“汽车”两个类就是具体的类,“汽车”中的drive操作具体实现为驱动车轮滚动,而“轮船”类中的drive操作则具体实现为转动螺旋桨。(5) 抽象类:没有具体对象的类称为抽象类。抽象类一般为父类,用于描述其它类(子类)的公共属性和行为(操作)。比如图10-7中“交通工具”就是一个抽象类。(在Rose中用斜体显示)。对于抽象类,很难想象该类的对象是什么样子,因为它既不是具体的汽车,也不是具体的轮船,所以该类没有对象,但是描述了交通工具的一般特征。项目

8、十 静态建模 图10-7 具体类与抽象类项目十 静态建模 操作二 类图的组成类图显示了系统静态的结构,标识了不同的实体(人、事物和数据)是如何彼此相关联的。在类图中不仅包含为系统定义的各种类(其中包含了类的属性和操作),也包含了它们之间的关系。由于类图是用来描述软件系统中类以及类之间的关系的一种图示,是从静态角度表示系统的,所以这种描述在系统整个生命周期中都是有效的。类图是构建其它图的基础,如果没有类图,就没有状态图、顺序图和协作图等,也就无法表示软件系统的其它各个侧面。 项目十 静态建模 1类的名称类的名称是一个字符串,是每个类中所必有的构成元素,用于区别于其他类。类的名称应该来自系统的问题

9、域,尽可能用明确简短的业务领域中事物的名称,避免使用抽象、无意义的名词。通常情况下,类的名称为一个名词,例如人 、桌子、图形、汇总。譬如,“事物”就是个抽象的名词。如果用英文,第1个字母大写,如Shape、Person、Item。类的名称可以分为简单名称和路径名称。单独的名称(即不包含冒号的字符串)叫作简单名称,如Item。项目十 静态建模 2类的属性类的属性是类的一个组成部分,描述了类在软件系统中所代表的一个事物的特性。在绘制类图时,类的属性放在类名字的下方,用来描述该类的对象所具有的特征。类的名称 与属性如图10-8所示。图10-8 类的名称与属性项目十 静态建模 描述类的特征的属性可能很

10、多,也可以没有。在系统建模时,我们只抽取那些系统中需要使用的特征作为类的属性。正如变量有类型一样,属性也有类型,属性的类型反映属性的种类。例如:属性的类型可以是整型、实型、布尔型、 枚举型等基本类型。在UML中,类属性的语法为:可见性属性名:类型 =初始值特性。1) 可见性可见性用于描述类的属性、类的方法对于其它的类或包是否可以访问的特性。类的属性有不同的可见性,常用的有 公有(public)、私有(private)和保护(protected)三种类型,如图10-9所示。项目十 静态建模 图10-9 属性的可见性项目十 静态建模 2) 属性名类的属性名用于描述类的特性,一个类可能有多个属性 。

11、如果用英文表达,第1个英文单词首字母小写,其他单词首字母大写,例如:name;contactName;creditLimit;isPrepaid。项目十 静态建模 3) 类型属性的类型用来说明该属性是什么数据类型。属性的数据类型有:字符串:String;日期:Date;布尔:Boolean;整型:int。项目十 静态建模 4) 初始值初始值是指属性最初获得的赋值。设定初始值有两个作用:一是保护系统的完整性,防止属性未赋值破坏系统的完整性;二是为用户提供易用性,一旦指定了属性的初始值,当创建该类的对象时,该对象的属性值便自动被赋为设定的初始值,简化了用户操作。例如:#visibility:Boo

12、lean=false,表示属性“visibility”初始值取“false”。5) 属性字符串属性字符串用来指定关于属性的其他信息,通常情况下列出该属性所有可能的取值。项目十 静态建模 3类的操作类的操作用于描述类所表示事物的动态性质。类的操作格式为 可见性操作名(参数列表):返回类型其中,可见性:该操作对外部实体的显现程度。可见性分为:可见public : +;受限protected: : #;私有private : 。操作名:第1个英文单词首字母小写,其它单词首字母大写。例如:close();creditRecording()。项目十 静态建模 参数列表:该操作的输入参数,可以为空。例如:

13、#create();+hide()。返回类型:某个操作的返回类型有多种,例如: +getName():String。 操作三 类之间的关系软件系统中的类不是孤立存在的,类与类之间存在着一 定的联系。UML中的类图由类和它们之间的关系组成。类与类之间的关系通常包括关联关系、泛化关系、依赖关系、实现关系等。项目十 静态建模 1关联关系1) 关联(association)关联是模型元素之间的一种语义联系,它是对具有共同的结构特性、行为特性、关系和语义的链接的描述。关联分 为普通关联(见图10-10)、递归关联、限定关联、有序关联、三元关联、单向关联和双向关联(见图10-11)等。这里只介绍普通关联。

14、其他关联类型请读者参阅相关资料进行了解。项目十 静态建模 图10-10 普通关联项目十 静态建模 图10-11 单向与双向关联项目十 静态建模 2) 关联名可以在关联的一个方向上为关联起一个名字,而在另一个方向上起另一个名字,名字通常紧挨着直线书写。如果关联关系已经清楚,就无需关联名。当要明确地给关联提供角色名或当一个模型存在许多关联且要对这些关联进行查阅和 区别时,才要给出关联名称。如图10-10所示,“拥有”就是“reader”类和“Card”类之间的关联名称,代表某位读者拥有一张借书证。项目十 静态建模 3) 关联的角色角色是关联关系中一个类对另一个类所表现出来的职责。角色的名称是名词或

15、名词短语,用来解释对象是如何参与关联的。任何关联关系中的角色通常用字符串命名。在类图中,把角色的名字放置在与此角色有关的关联关系的末端, 并紧挨着使用该角色的类,如图10-12所示。如果关联名与角色名相同,则不标出角色名。项目十 静态建模 图10-12 关联的角色项目十 静态建模 4) 关联的特性(1) 关联的多重性。多重性就是一种约束。关联的多重性用来在类图中图示关联中的数量关系。例如:一个个体可 以拥有零台手机或多台手机。在UML中,多重性被表示为用“”分隔开的区间,其格式为“minimummaximum”,都是整数。常见的多重性表示方法如表10-1所示。表10-1 常见的多重性表示方法项

16、目十 静态建模 (2) 关联的约束。有时,两个类之间的一个关联有一个规则。可以通过关联线附近加注一个约束来说明这个规则。 例如,一个BankTeller(银行出纳员)为一个Customer(顾客)服务(Serves),但是服务的顺序要按照顾客排队的次序进行。在模型中可以通过在Customer类附近加上一个花括号括起来的“ordered(有序)”来说明这个规则(也就是指明约束),如图10-13所示。图10-13 关联约束项目十 静态建模 另一种类型的约束是“or(或)”关系,通过在两条关联线之间连一条虚线,虚线之上标注“or”来表示这种约束。2泛化关系泛化关系表示一个泛化的元素和一个具体的元素之间的 关系。泛化又称继承。UML中的泛化是通用元素和具体元素之间的一种分类关系。具体元素完全拥有通用元素的信息,并且还可附加一些其它信息。泛化可用于类、用例等各种模型元素。父类与子类的泛化关系

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号