类图实例操作练习_第1页
类图实例操作练习_第2页
类图实例操作练习_第3页
类图实例操作练习_第4页
类图实例操作练习_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

1、U M LU M L 建 模 实 例 教 程建 模 实 例 教 程任务1了解静态模型的基本功能和基本图形组成了解静态模型的基本功能和基本图形组成 。 任务目标任务目标l 分组教学法分组教学法l 资料查询法资料查询法l 案例教学法案例教学法教学方法教学方法U M LU M L 建 模 实 例 教 程建 模 实 例 教 程4.1 静态建模概述静态模型概述静态模型概述l 可以借用自然界中的类与对象的表示方法,在计算机的软件系可以借用自然界中的类与对象的表示方法,在计算机的软件系统中描述与实现统中描述与实现类类和和对象对象。l 对象对象就是可以控制和操作的实体,它可以是一个设备、一个组就是可以控制和操

2、作的实体,它可以是一个设备、一个组织或一个商务,它包括属性的描述和行为的描述二方面。织或一个商务,它包括属性的描述和行为的描述二方面。属性属性描描述类的基本特征;述类的基本特征;行为行为描述类具有的功能,也就是对指定类的对描述类具有的功能,也就是对指定类的对象可以进行哪些操作。象可以进行哪些操作。 l 以以面向对象方式面向对象方式建造的模型,由于建造在真实世界的基本概念建造的模型,由于建造在真实世界的基本概念上,与真实世界非常接近,使得该模型易于交流,易于验证,易上,与真实世界非常接近,使得该模型易于交流,易于验证,易于维护于维护 。l UML的静态建模就需要借助于的静态建模就需要借助于类图类

3、图和和对象图对象图,使用,使用UML进行静进行静态建模态建模 U M LU M L 建 模 实 例 教 程建 模 实 例 教 程4.2 类图概述类图概述类图概述l类图是用来描述软件系统中类图是用来描述软件系统中类以及类之间类以及类之间的关系的关系的一种图示,是从静态角度表示系的一种图示,是从静态角度表示系统的。统的。 l类图是构建其它图的类图是构建其它图的基础基础,如果没有类图,如果没有类图,就没有状态图、顺序图和协作图等,也就就没有状态图、顺序图和协作图等,也就无法表示软件系统的其它各个侧面。无法表示软件系统的其它各个侧面。 l类图中允许出现的模型元素只有类和它之类图中允许出现的模型元素只有

4、类和它之间的关系。间的关系。 U M LU M L 建 模 实 例 教 程建 模 实 例 教 程4.2 类图概述三种类图三种类图l实体类:它表示的是系统领域内的实体。实体类:它表示的是系统领域内的实体。l边界类:边界类是系统的用户界面,直接边界类:边界类是系统的用户界面,直接跟系统外部参与者交互,与系统进行信息跟系统外部参与者交互,与系统进行信息交流。交流。 l控制类:控制类是控制系统中对象之间的控制类:控制类是控制系统中对象之间的交互。它负责协调其他类的工作,实现对交互。它负责协调其他类的工作,实现对其他对象的控制。其他对象的控制。 U M LU M L 建 模 实 例 教 程建 模 实 例

5、 教 程4.2 类图概述提示提示l 在传统的在传统的C/S系统中,实体类、边界类和控制类没有严格的一一对系统中,实体类、边界类和控制类没有严格的一一对应关系;应关系;l 在现在流行的设计模式(如:在现在流行的设计模式(如:MVC模式)中,实体类、边界类和控模式)中,实体类、边界类和控制类一一对应。制类一一对应。 l 分析人员、组织、设备、事件和外部系统等,找出各种可能有用的分析人员、组织、设备、事件和外部系统等,找出各种可能有用的候选对象,以发现实体类;候选对象,以发现实体类;l 阅读系统文档和用例,查找用例的事件流中的名词(包括角色、类、阅读系统文档和用例,查找用例的事件流中的名词(包括角色

6、、类、类属性和表达式),从中寻找到类(实体类);类属性和表达式),从中寻找到类(实体类);l 对于边界类,分析阶段不需要深入研究用户界面的窗口部件,只要对于边界类,分析阶段不需要深入研究用户界面的窗口部件,只要能说明通过交互所实现的目标就可以。能说明通过交互所实现的目标就可以。l 有些类无法通过以上方法找到;有些类无法通过以上方法找到;l 有些类需要从协作图和顺序图中通过分析对象来确定。有些类需要从协作图和顺序图中通过分析对象来确定。 U M LU M L 建 模 实 例 教 程建 模 实 例 教 程任务2 阅读阅读WebShop电子商城系统文档和用例模型,确电子商城系统文档和用例模型,确定该

7、系统中的类,并绘制类图。定该系统中的类,并绘制类图。 任务目标任务目标l 分组教学法分组教学法l SDSPR教学法教学法l 案例教学法案例教学法教学方法教学方法U M LU M L 建 模 实 例 教 程建 模 实 例 教 程4.3.1 类的概述 l有自己的具体对象的类称有自己的具体对象的类称为具体类。具体类中的操作为具体类。具体类中的操作都有具体实现的方法。都有具体实现的方法。 l没有具体对象的类称为抽没有具体对象的类称为抽象类。抽象类一般为父类,象类。抽象类一般为父类,用于描述其它类(子类)的用于描述其它类(子类)的公共属性和行为(操作)。公共属性和行为(操作)。 具体类和抽象类具体类和抽

8、象类U M LU M L 建 模 实 例 教 程建 模 实 例 教 程4.3.1 类的概述 接口接口通常被描述为抽象操作,通常被描述为抽象操作,也就是只用标识(返回值、也就是只用标识(返回值、操作名称、参数表)说明它操作名称、参数表)说明它的行为,而真正实现部分放的行为,而真正实现部分放在使用该接口的对象中。在使用该接口的对象中。 接口接口U M LU M L 建 模 实 例 教 程建 模 实 例 教 程4.3.1 类的概述 系统的实体类系统的实体类 确定确定WebShopWebShop电子商城中的类电子商城中的类U M LU M L 建 模 实 例 教 程建 模 实 例 教 程4.3.1 类

9、的概述 系统的系统的边界类边界类 确定确定WebShopWebShop电子商城中的类电子商城中的类系统的系统的控制类控制类 U M LU M L 建 模 实 例 教 程建 模 实 例 教 程4.3.2 绘制带属性的实体类 类的名称类的名称是一个字符串,是每个类中所必有的构成元素,用于区别于其是一个字符串,是每个类中所必有的构成元素,用于区别于其他类。类的名称应该来自系统的问题域,并且应该尽可以可能地明确,他类。类的名称应该来自系统的问题域,并且应该尽可以可能地明确,避免造成歧义。通常情况下,类的名称为一个名词。避免造成歧义。通常情况下,类的名称为一个名词。类的属性类的属性是类的一个组成部分,描

10、述了类在软件系统中所代表的一个事是类的一个组成部分,描述了类在软件系统中所代表的一个事物的特性。在绘制类图时,类的属性放在类名字的下方,用来描述该类物的特性。在绘制类图时,类的属性放在类名字的下方,用来描述该类的对象所具有的特征。的对象所具有的特征。 类的名称和属性类的名称和属性U M LU M L 建 模 实 例 教 程建 模 实 例 教 程4.3.2 绘制带属性的实体类 (1)可见性)可见性可见性用于描述类的属性、类的方法对于其它的类或包是否可以访问的可见性用于描述类的属性、类的方法对于其它的类或包是否可以访问的特性。特性。 (2)属性名)属性名类的属性是描述类的特性,一个类可能有多个属性

11、。类的属性是描述类的特性,一个类可能有多个属性。 (3)类型)类型属性的类型用来说明该属性是什么数据类型。属性的类型用来说明该属性是什么数据类型。 (4)初始值)初始值初始值是指属性最初获得的赋值。初始值是指属性最初获得的赋值。 (5)属性字符串)属性字符串属性字符串用来指定关于属性的其他信息。属性字符串用来指定关于属性的其他信息。 类的属性内容类的属性内容U M LU M L 建 模 实 例 教 程建 模 实 例 教 程【任务2-2】绘制WebShop商品类图1 1打开工程打开工程在视图区域中右键单击在视图区域中右键单击“Logical View”节点,依次选择节点,依次选择【New】【Cl

12、ass Diagram】 2 2新建类图新建类图U M LU M L 建 模 实 例 教 程建 模 实 例 教 程【任务2-2】绘制WebShop商品类图3 3添加类添加类单击类图绘图工具栏上的单击类图绘图工具栏上的 ,在绘,在绘图编辑区域中单击鼠标左键,就可图编辑区域中单击鼠标左键,就可以绘制一个类以绘制一个类 【提示提示】l 直接输入类的名称(如商品)即可替换直接输入类的名称(如商品)即可替换“NewClass”,也可以双击,也可以双击类图打开类属性设置对话框进行类名称的设置;类图打开类属性设置对话框进行类名称的设置;l 如果模型中已经存在用例图,在创建类时,会将用例图中的参与者显如果模型

13、中已经存在用例图,在创建类时,会将用例图中的参与者显示供选择创建对应的类。示供选择创建对应的类。 U M LU M L 建 模 实 例 教 程建 模 实 例 教 程【任务2-2】绘制WebShop商品类图4 4编辑类编辑类在类图编辑区域中右键单击指定类(如商品类),选择在类图编辑区域中右键单击指定类(如商品类),选择【Open Specification】菜单菜单 U M LU M L 建 模 实 例 教 程建 模 实 例 教 程【任务2-2】绘制WebShop商品类图5 5添加属性添加属性第一种方法:第一种方法:直接添加新的属性。直接添加新的属性。在绘图区域中右键单击要添加属性在绘图区域中右

14、键单击要添加属性的类(如:商品),选择的类(如:商品),选择【New Attribute】菜单菜单 第二种方法:第二种方法:通过通过“Class Specification for商品商品”对话框添加对话框添加新的属性。在如图新的属性。在如图6-14所示对话框中,所示对话框中,选择选择【Attributes】选项卡选项卡 U M LU M L 建 模 实 例 教 程建 模 实 例 教 程【任务2-2】绘制WebShop商品类图6 6设置属性的数据类型设置属性的数据类型在添加类的属性的时候,默在添加类的属性的时候,默认情况下不会要求输入属性认情况下不会要求输入属性的数据类型,如果要设置类的数据类

15、型,如果要设置类的属性的数据类型,在如下的属性的数据类型,在如下图所示的对话框中,在指定图所示的对话框中,在指定的属性上双击(如:的属性上双击(如:g_Name),打开类属性设),打开类属性设置对话框,在置对话框,在【Type】下拉下拉列表中,选择属性对应的数列表中,选择属性对应的数据类型(如:据类型(如:String)即可)即可 U M LU M L 建 模 实 例 教 程建 模 实 例 教 程4.3.3 绘制带操作的实体类完成步骤完成步骤(1)添加方法)添加方法 (2)设置方法的属性)设置方法的属性 U M LU M L 建 模 实 例 教 程建 模 实 例 教 程4.3.3 绘制带操作的

16、实体类完成步骤完成步骤(1)添加方法)添加方法 (2)设置方法的属性)设置方法的属性 U M LU M L 建 模 实 例 教 程建 模 实 例 教 程4.3.3 绘制带操作的实体类完成步骤完成步骤(3)设置抽象方法)设置抽象方法 U M LU M L 建 模 实 例 教 程建 模 实 例 教 程4.3.3 绘制带操作的实体类完成步骤完成步骤(4)完成)完成WebShop电电子商城实体子商城实体类图的绘制类图的绘制 U M LU M L 建 模 实 例 教 程建 模 实 例 教 程课堂实践 1(1)通过学习小组讨论和上网查询资料形式完成。)通过学习小组讨论和上网查询资料形式完成。(2)注意类的

17、属性和方法的可见性的设置。)注意类的属性和方法的可见性的设置。 操作提示操作提示(1)讨论类图在软件系统建模中的重要作用。)讨论类图在软件系统建模中的重要作用。(2)确定图书管理系统中的主要实体类、边界类和控制类。)确定图书管理系统中的主要实体类、边界类和控制类。(3)绘制图书管理系统的类图(不含属性和方法)。)绘制图书管理系统的类图(不含属性和方法)。(4)在步骤()在步骤(3)绘制的类图基础上添加类的属性和方法。)绘制的类图基础上添加类的属性和方法。 操作要求操作要求U M LU M L 建 模 实 例 教 程建 模 实 例 教 程4.3.4 绘制边界类图 完成步骤完成步骤(1)右键单击视

18、图区域中的)右键单击视图区域中的“Logical View”节点,选择新节点,选择新建包,命名为建包,命名为“边界类图边界类图”。 (2)在类图中添加名为)在类图中添加名为“登录页面登录页面”的类,右键单击该类,在右键菜单的类,右键单击该类,在右键菜单中选择中选择【Open Specification】菜菜单,在打开的类的属性设置对话框单,在打开的类的属性设置对话框中选择中选择【Stereotype】下拉列表框,下拉列表框,选择选择【boundary】项,即可将项,即可将“登登录页面录页面”类设置为边界类。类设置为边界类。 U M LU M L 建 模 实 例 教 程建 模 实 例 教 程4.

19、3.4 绘制边界类图 完成步骤完成步骤(3)依次添加)依次添加WebShop电子商城中的电子商城中的“注册页面注册页面”、“个人资料个人资料页面页面”、“当前订单当前订单”、“历史订单历史订单”、“关闭帐号页面关闭帐号页面”、“删删除用户页面除用户页面”等边界类,得到的等边界类,得到的WebShop电子商城的边界类图电子商城的边界类图(部分)(部分) U M LU M L 建 模 实 例 教 程建 模 实 例 教 程4.3.5 绘制控制类图 完成步骤完成步骤(1)右键单击视图区域中的)右键单击视图区域中的“Logical View”节点,选择新节点,选择新建包,命名为建包,命名为“控制类图控制

20、类图”。 (2)在类图中添加名为)在类图中添加名为“处理登录处理登录”的类,右键单击该类,在右键菜单的类,右键单击该类,在右键菜单中选择中选择【Open Specification】菜菜单,在打开的类的属性设置对话框单,在打开的类的属性设置对话框中选择中选择【Stereotype】下拉列表框,下拉列表框,选择选择【control】项,即可将项,即可将“处理处理登录登录”类设置为控制类。类设置为控制类。 U M LU M L 建 模 实 例 教 程建 模 实 例 教 程4.3.5 绘制控制类图完成步骤完成步骤(3)依次添加)依次添加WebShop电子商城中的电子商城中的“处理注册处理注册”、“查

21、询个人资查询个人资料料”、“查询当前订单查询当前订单”、“查询历史订单查询历史订单”和和“处理帐号关闭处理帐号关闭”等边等边界类,得到的界类,得到的WebShop电子商城的控制类图(部分)电子商城的控制类图(部分) 。 U M LU M L 建 模 实 例 教 程建 模 实 例 教 程4.3.6 UML中的类与语言中的类完成步骤完成步骤UML中的类可以中的类可以使用面向对象语言的使用面向对象语言的类结构描述来实现类结构描述来实现(以(以Java语言语言为例)为例) U M LU M L 建 模 实 例 教 程建 模 实 例 教 程课堂实践 2(1)通过学习小组讨论和上网查询资料形式完成。)通过

22、学习小组讨论和上网查询资料形式完成。(2)注意控制类和边界类的特点和绘制方法。)注意控制类和边界类的特点和绘制方法。(3)体会实体类、边界类和控制类三者之间的关系。)体会实体类、边界类和控制类三者之间的关系。 操作提示操作提示(1)确定并绘制图书管理系统中的边界类图。)确定并绘制图书管理系统中的边界类图。(2)确定并绘制图书管理系统中的控制类图。)确定并绘制图书管理系统中的控制类图。 操作要求操作要求U M LU M L 建 模 实 例 教 程建 模 实 例 教 程任务3 确定确定WebShop电子商城系统中的类之间的关系,电子商城系统中的类之间的关系,并在类图中表现这些关系。并在类图中表现这

23、些关系。 任务目标任务目标l 分组教学法分组教学法l 案例教学法案例教学法l SDSPR教学法教学法教学方法教学方法U M LU M L 建 模 实 例 教 程建 模 实 例 教 程4.4.1 关联关系关联关系关联关系l 关联关系是一种结构关系,它指明一个对象与另一个对象之间的联系。关联关系是一种结构关系,它指明一个对象与另一个对象之间的联系。 l 根据不同的含义,关联可分为普通关联、递归关联、限定关联、或关根据不同的含义,关联可分为普通关联、递归关联、限定关联、或关联、有序关联、三元关联和聚合等七种。联、有序关联、三元关联和聚合等七种。 U M LU M L 建 模 实 例 教 程建 模 实

24、 例 教 程4.4.1 关联关系关联关系关联关系关联可以使用名称、角色、多重性和导航性等来进行修饰。关联可以使用名称、角色、多重性和导航性等来进行修饰。 (1)名称)名称由于关联是双向的,可以在关联的一个方向上为关联起一个名字由于关联是双向的,可以在关联的一个方向上为关联起一个名字 (2)角色)角色角色是关联关系中一个类对另一个类所表现出来的职责。角色是关联关系中一个类对另一个类所表现出来的职责。 (3)多重性)多重性约束是约束是UML三大扩展机制之一,多重性就是一种约束。关联的多重性是三大扩展机制之一,多重性就是一种约束。关联的多重性是用来在类图中图示关联中的数量关系。用来在类图中图示关联中

25、的数量关系。 (4)导航性)导航性导航性描述的是一个对象通过导航访问另一个对象。导航性描述的是一个对象通过导航访问另一个对象。 U M LU M L 建 模 实 例 教 程建 模 实 例 教 程4.4.1 关联关系绘制关联关系绘制关联关系(1)在类图绘制工具栏上选择图)在类图绘制工具栏上选择图标标 ,在源类上单击鼠标左键,拖放,在源类上单击鼠标左键,拖放鼠标到目标类上,添加从源类到目标鼠标到目标类上,添加从源类到目标类的关系。类的关系。(2)右键单击这个关系,打开)右键单击这个关系,打开【open specification】对话框,选择对话框,选择【Multiplicy】列表框,设置多重性。

26、列表框,设置多重性。 (3)选择)选择【Navigable】复选框设置复选框设置关联关系的导航性(设置是否显示箭关联关系的导航性(设置是否显示箭头)。头)。 U M LU M L 建 模 实 例 教 程建 模 实 例 教 程4.4.2 聚合关系聚合关系聚合关系l聚合是关联的特例。如果类与类之间的关系具有聚合是关联的特例。如果类与类之间的关系具有“整体与部分整体与部分”的特点,的特点,则把这样的关联称为聚合。聚合关系描述了则把这样的关联称为聚合。聚合关系描述了“has a”的关系。的关系。l在在UML中聚合的图示方式为,在表示关联关系的直线末端加一个空心的中聚合的图示方式为,在表示关联关系的直线

27、末端加一个空心的小菱形,空心菱形紧挨着具有整体性质的类小菱形,空心菱形紧挨着具有整体性质的类 U M LU M L 建 模 实 例 教 程建 模 实 例 教 程4.4.2 聚合关系共享聚合关系共享聚合关系l如果聚合关系中的处于部分方的对象同时参与了多个处于整体方对象的如果聚合关系中的处于部分方的对象同时参与了多个处于整体方对象的构成,则该聚合称为共享聚合。构成,则该聚合称为共享聚合。l共享聚合关系可以通过聚合的重数反映出来,而不必引入另外的图示符共享聚合关系可以通过聚合的重数反映出来,而不必引入另外的图示符号。如果作为整体方的类的重数不是号。如果作为整体方的类的重数不是1,那么该聚合就是共享聚

28、合,那么该聚合就是共享聚合。 U M LU M L 建 模 实 例 教 程建 模 实 例 教 程4.4.2 聚合关系绘制聚合关系绘制聚合关系(1)右键单击类间的关系,)右键单击类间的关系,打开打开【open specification】对话框,选择对话框,选择【Role B Detail】选项卡。选项卡。 (2)选择)选择【Aggregate】复复选框,即可绘制共享聚合关选框,即可绘制共享聚合关系(空心菱形)。系(空心菱形)。 U M LU M L 建 模 实 例 教 程建 模 实 例 教 程4.4.3 组合关系组合关系组合关系l组合关系是聚合关系中的复合聚合。组合(也称为组成)是由聚合(也组

29、合关系是聚合关系中的复合聚合。组合(也称为组成)是由聚合(也称为聚集)演变而来。如果构成整体类的部分类,完全隶属于整体类,称为聚集)演变而来。如果构成整体类的部分类,完全隶属于整体类,则这样的聚合称为复合聚合或组合。则这样的聚合称为复合聚合或组合。 U M LU M L 建 模 实 例 教 程建 模 实 例 教 程4.4.3 组合关系绘制组合关系绘制组合关系Rational Rose 2003中并没有提供中并没有提供“组合关系组合关系”的图形,可以通过以下的图形,可以通过以下步骤在步骤在Rose 2003中绘制组合关系图形。中绘制组合关系图形。(1)如图)如图6-33所示,通过选择所示,通过选

30、择【aggregate】绘制一个聚合的关系(空绘制一个聚合的关系(空心菱形)。心菱形)。(2)右键单击这个关系,打开)右键单击这个关系,打开【open specification】对话框,选择对话框,选择【Role B Detail】选项卡。如图选项卡。如图6-33所示。所示。(3)在)在【Containment of List】中选择中选择【By Value】空心菱形就变成空心菱形就变成实心菱形。实心菱形。 。 U M LU M L 建 模 实 例 教 程建 模 实 例 教 程4.4.4 泛化关系泛化关系泛化关系l 泛化表示一个泛化的元素和一个具体的元素之间的关系。泛化表示一个泛化的元素和一

31、个具体的元素之间的关系。l 泛化又称继承,泛化又称继承,UML中的泛化是通用元素和具体元素之间的一种分类中的泛化是通用元素和具体元素之间的一种分类关系。具体元素完全拥有通用元素的信息,并且还可附加一些其它信息。关系。具体元素完全拥有通用元素的信息,并且还可附加一些其它信息。 l 泛化可用于类、用例等各种模型元素。父类与子类的泛化关系图示为泛化可用于类、用例等各种模型元素。父类与子类的泛化关系图示为一个带空心三角形的直线,空心三角形紧挨着父类一个带空心三角形的直线,空心三角形紧挨着父类 。 U M LU M L 建 模 实 例 教 程建 模 实 例 教 程4.4.4 泛化关系泛化关系泛化关系l类的继承关系可以是多层的。也就是说,一个子类本身还可以作另一个类的继承关系可以是多层的。也就是说,一个

温馨提示

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

评论

0/150

提交评论