东北大学UML全程一体化建模课件第6章静态建模.ppt_第1页
东北大学UML全程一体化建模课件第6章静态建模.ppt_第2页
东北大学UML全程一体化建模课件第6章静态建模.ppt_第3页
东北大学UML全程一体化建模课件第6章静态建模.ppt_第4页
东北大学UML全程一体化建模课件第6章静态建模.ppt_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

第6章 静态建模,刘志成 编著,本章学习导航,本章学习导航,本章学习要点,静态建模概述 类图概述 类图的基本组成 类之间的关系 对象图 建议课时:10课时,任务1,了解静态模型的基本功能和基本图形组成 。,任务目标,分组教学法 资料查询法 案例教学法,教学方法,6.1 静态建模概述,静态模型概述,可以借用自然界中的类与对象的表示方法,在计算机的软件系统中描述与实现类和对象。 对象就是可以控制和操作的实体,它可以是一个设备、一个组织或一个商务,它包括属性的描述和行为的描述二方面。属性描述类的基本特征;行为描述类具有的功能,也就是对指定类的对象可以进行哪些操作。 以面向对象方式建造的模型,由于建造在真实世界的基本概念上,与真实世界非常接近,使得该模型易于交流,易于验证,易于维护 。 UML的静态建模就需要借助于类图和对象图,使用UML进行静态建模,6.2 类图概述,类图概述,类图是用来描述软件系统中类以及类之间的关系的一种图示,是从静态角度表示系统的。 类图是构建其它图的基础,如果没有类图,就没有状态图、顺序图和协作图等,也就无法表示软件系统的其它各个侧面。 类图中允许出现的模型元素只有类和它之间的关系。,6.2 类图概述,三种类图,实体类:它表示的是系统领域内的实体。 边界类:边界类是系统的用户界面,直接跟系统外部参与者交互,与系统进行信息交流。 控制类:控制类是控制系统中对象之间的交互。它负责协调其他类的工作,实现对其他对象的控制。,6.2 类图概述,提示,在传统的C/S系统中,实体类、边界类和控制类没有严格的一一对应关系; 在现在流行的设计模式(如:MVC模式)中,实体类、边界类和控制类一一对应。 分析人员、组织、设备、事件和外部系统等,找出各种可能有用的候选对象,以发现实体类; 阅读系统文档和用例,查找用例的事件流中的名词(包括角色、类、类属性和表达式),从中寻找到类(实体类); 对于边界类,分析阶段不需要深入研究用户界面的窗口部件,只要能说明通过交互所实现的目标就可以。 有些类无法通过以上方法找到; 有些类需要从协作图和顺序图中通过分析对象来确定。,任务2,阅读WebShop电子商城系统文档和用例模型,确定该系统中的类,并绘制类图。,任务目标,分组教学法 SDSPR教学法 案例教学法,教学方法,6.3.1 类的概述,有自己的具体对象的类称为具体类。具体类中的操作都有具体实现的方法。 没有具体对象的类称为抽象类。抽象类一般为父类,用于描述其它类(子类)的公共属性和行为(操作)。,具体类和抽象类,6.3.1 类的概述,接口通常被描述为抽象操作,也就是只用标识(返回值、操作名称、参数表)说明它的行为,而真正实现部分放在使用该接口的对象中。,接口,6.3.1 类的概述,系统的实体类,确定WebShop电子商城中的类,6.3.1 类的概述,系统的边界类,确定WebShop电子商城中的类,系统的控制类,6.3.2 绘制带属性的实体类,类的名称是一个字符串,是每个类中所必有的构成元素,用于区别于其他类。类的名称应该来自系统的问题域,并且应该尽可以可能地明确,避免造成歧义。通常情况下,类的名称为一个名词。 类的属性是类的一个组成部分,描述了类在软件系统中所代表的一个事物的特性。在绘制类图时,类的属性放在类名字的下方,用来描述该类的对象所具有的特征。,类的名称和属性,6.3.2 绘制带属性的实体类,(1)可见性 可见性用于描述类的属性、类的方法对于其它的类或包是否可以访问的特性。 (2)属性名 类的属性是描述类的特性,一个类可能有多个属性。 (3)类型 属性的类型用来说明该属性是什么数据类型。 (4)初始值 初始值是指属性最初获得的赋值。 (5)属性字符串 属性字符串用来指定关于属性的其他信息。,类的属性内容,【任务2-2】绘制WebShop商品类图,1打开工程,在视图区域中右键单击“Logical View”节点,依次选择【New】【Class Diagram】,2新建类图,【任务2-2】绘制WebShop商品类图,3添加类,单击类图绘图工具栏上的 ,在绘图编辑区域中单击鼠标左键,就可以绘制一个类,【提示】 直接输入类的名称(如商品)即可替换“NewClass”,也可以双击类图打开类属性设置对话框进行类名称的设置; 如果模型中已经存在用例图,在创建类时,会将用例图中的参与者显示供选择创建对应的类。,【任务2-2】绘制WebShop商品类图,4编辑类,在类图编辑区域中右键单击指定类(如商品类),选择【Open Specification】菜单,【任务2-2】绘制WebShop商品类图,5添加属性,第一种方法:直接添加新的属性。在绘图区域中右键单击要添加属性的类(如:商品),选择【New Attribute】菜单,第二种方法:通过“Class Specification for商品”对话框添加新的属性。在如图6-14所示对话框中,选择【Attributes】选项卡,【任务2-2】绘制WebShop商品类图,6设置属性的数据类型,在添加类的属性的时候,默认情况下不会要求输入属性的数据类型,如果要设置类的属性的数据类型,在如下图所示的对话框中,在指定的属性上双击(如:g_Name),打开类属性设置对话框,在【Type】下拉列表中,选择属性对应的数据类型(如:String)即可,6.3.3 绘制带操作的实体类,完成步骤,(1)添加方法 (2)设置方法的属性,6.3.3 绘制带操作的实体类,完成步骤,(1)添加方法 (2)设置方法的属性,6.3.3 绘制带操作的实体类,完成步骤,(3)设置抽象方法,6.3.3 绘制带操作的实体类,完成步骤,(4)完成WebShop电子商城实体类图的绘制,课堂实践 1,(1)通过学习小组讨论和上网查询资料形式完成。 (2)注意类的属性和方法的可见性的设置。,操作提示,(1)讨论类图在软件系统建模中的重要作用。 (2)确定图书管理系统中的主要实体类、边界类和控制类。 (3)绘制图书管理系统的类图(不含属性和方法)。 (4)在步骤(3)绘制的类图基础上添加类的属性和方法。,操作要求,6.3.4 绘制边界类图,完成步骤,(1)右键单击视图区域中的“Logical View”节点,选择新建包,命名为“边界类图”。,(2)在类图中添加名为“登录页面”的类,右键单击该类,在右键菜单中选择【Open Specification】菜单,在打开的类的属性设置对话框中选择【Stereotype】下拉列表框,选择【boundary】项,即可将“登录页面”类设置为边界类。,6.3.4 绘制边界类图,完成步骤,(3)依次添加WebShop电子商城中的“注册页面”、“个人资料页面”、“当前订单”、“历史订单”、“关闭帐号页面”、“删除用户页面”等边界类,得到的WebShop电子商城的边界类图(部分),6.3.5 绘制控制类图,完成步骤,(1)右键单击视图区域中的“Logical View”节点,选择新建包,命名为“控制类图”。,(2)在类图中添加名为“处理登录”的类,右键单击该类,在右键菜单中选择【Open Specification】菜单,在打开的类的属性设置对话框中选择【Stereotype】下拉列表框,选择【control】项,即可将“处理登录”类设置为控制类。,6.3.5 绘制控制类图,完成步骤,(3)依次添加WebShop电子商城中的“处理注册”、“查询个人资料”、“查询当前订单”、“查询历史订单”和“处理帐号关闭”等边界类,得到的WebShop电子商城的控制类图(部分) 。,6.3.6 UML中的类与语言中的类,完成步骤,UML中的类可以使用面向对象语言的类结构描述来实现(以Java语言为例),课堂实践 2,(1)通过学习小组讨论和上网查询资料形式完成。 (2)注意控制类和边界类的特点和绘制方法。 (3)体会实体类、边界类和控制类三者之间的关系。,操作提示,(1)确定并绘制图书管理系统中的边界类图。 (2)确定并绘制图书管理系统中的控制类图。,操作要求,任务3,确定WebShop电子商城系统中的类之间的关系,并在类图中表现这些关系。,任务目标,分组教学法 案例教学法 SDSPR教学法,教学方法,6.4.1 关联关系,关联关系,关联关系是一种结构关系,它指明一个对象与另一个对象之间的联系。 根据不同的含义,关联可分为普通关联、递归关联、限定关联、或关联、有序关联、三元关联和聚合等七种。,6.4.1 关联关系,关联关系,关联可以使用名称、角色、多重性和导航性等来进行修饰。 (1)名称 由于关联是双向的,可以在关联的一个方向上为关联起一个名字 (2)角色 角色是关联关系中一个类对另一个类所表现出来的职责。 (3)多重性 约束是UML三大扩展机制之一,多重性就是一种约束。关联的多重性是用来在类图中图示关联中的数量关系。 (4)导航性 导航性描述的是一个对象通过导航访问另一个对象。,6.4.1 关联关系,绘制关联关系,(1)在类图绘制工具栏上选择图标 ,在源类上单击鼠标左键,拖放鼠标到目标类上,添加从源类到目标类的关系。 (2)右键单击这个关系,打开【open specification】对话框,选择【Multiplicy】列表框,设置多重性。 (3)选择【Navigable】复选框设置关联关系的导航性(设置是否显示箭头)。,6.4.2 聚合关系,聚合关系,聚合是关联的特例。如果类与类之间的关系具有“整体与部分”的特点,则把这样的关联称为聚合。聚合关系描述了“has a”的关系。 在UML中聚合的图示方式为,在表示关联关系的直线末端加一个空心的小菱形,空心菱形紧挨着具有整体性质的类,6.4.2 聚合关系,共享聚合关系,如果聚合关系中的处于部分方的对象同时参与了多个处于整体方对象的构成,则该聚合称为共享聚合。 共享聚合关系可以通过聚合的重数反映出来,而不必引入另外的图示符号。如果作为整体方的类的重数不是1,那么该聚合就是共享聚合。,6.4.2 聚合关系,绘制聚合关系,(1)右键单击类间的关系,打开【open specification】对话框,选择【Role B Detail】选项卡。 (2)选择【Aggregate】复选框,即可绘制共享聚合关系(空心菱形)。,6.4.3 组合关系,组合关系,组合关系是聚合关系中的复合聚合。组合(也称为组成)是由聚合(也称为聚集)演变而来。如果构成整体类的部分类,完全隶属于整体类,则这样的聚合称为复合聚合或组合。,6.4.3 组合关系,绘制组合关系,Rational Rose 2003中并没有提供“组合关系”的图形,可以通过以下步骤在Rose 2003中绘制组合关系图形。 (1)如图6-33所示,通过选择【aggregate】绘制一个聚合的关系(空心菱形)。 (2)右键单击这个关系,打开【open specification】对话框,选择【Role B Detail】选项卡。如图6-33所示。 (3)在【Containment of List】中选择【By Value】空心菱形就变成实心菱形。 。,6.4.4 泛化关系,泛化关系,泛化表示一个泛化的元素和一个具体的元素之间的关系。 泛化又称继承,UML中的泛化是通用元素和具体元素之间的一种分类关系。具体元素完全拥有通用元素的信息,并且还可附加一些其它信息。 泛化可用于类、用例等各种模型元素。父类与子类的泛化关系图示为一个带空心三角形的直线,空心三角形紧挨着父类 。,6.4.4 泛化关系,泛化关系,类的继承关系可以是多层的。也就是说,一个子类本身还可以作另一个类的父类,层层继承下去。在泛化关系中如果附加一个约束条件(多重、不相交、完全和不完全),则会对继承进行限制。根据这些约束条件的不同,继承的类型可以分为多重继承、不相交继承、完全继承和不完全继承。,6.4.5 实现关系,实现关系,实现关系指定两个实体之间的一个合同。 实现是规格说明和其实现之间的关系,它将一种模型元素与另一种元素连接起来。 在UML中,实现关系的符号与泛化关系的符号类似,用一条带指向接口的空心三角箭头的虚线表示 。,6.4.6 依赖关系,依赖关系,依赖关系描述的是两个或多个模型元素(类、用例等)之间的语义上的连接关系。 关联、实现和泛化都是依赖关系,但是由于它们有特别的语义,所以在UML中被分离出来作为独立的关系。,【任务3-3】,确定类间的关系,【任务3-3】,绘制类间的关系,课堂实践 3,(1)分析并确定图书管理系统中的类之间的关系。 (2)在【课堂实践2】绘制的图书管理系统的类图基础上添加类之间的关系。,操作要求,(1)通过学习小组讨论和上网查询资料形式完成。 (2)根据类间关系的定义,确定类之间的关系。,操作提示,任务4,确定并绘制WebShop电子商城系统中的对象图。,任务目标,分组教学法 案例教学法 SDSPR教学法,教学方法,6.5.1 对象图概述,对象图概述,类图表示类和类与类之间的关系,对象图则表示在某一时刻这些类的具体实例和这些实例之间的具体连接关系。 对象图显示了类所对应的一组对象和他们之间的关系,对象图和类图一样反映系统的静态过程,但它是从实际的或原型化的情景来表达的。 在UML建模过程中使用对象图的目的包括: 捕获实例和连接; 在分析和设计阶段创建; 捕获交互的静态部分; 举例说明数据/对象结构; 详细描述瞬态图; 由分析人员、设计人员和代码实现人员开发。,6.5.2 对象图组成,对象图组成,对象名有下列三种表示格式。

温馨提示

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

评论

0/150

提交评论