实验4-建立类图

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验4--建立类图王霄鹏实验内容根据设计课题设计类分析并建立类间的关系建立类图进行完整描述类类是任何面向对象系统中最重要的构造块。类是一种重要的分类器(Classifier),用来描述结构和行为特性的机制,它包括类、接口、数据类型、信号、组件、节点、用例和子系统。类是对一组具有相同属性、操作、关系和语义的对象的描述。这些对象包括现实世界中的软件事物和硬件事物,甚至也可以包括纯粹概念性的事物,它们是类的实例。一个类可以实现一个或多个接口。结构良好的类具有清晰的边界,并成为系统中职责均衡分布的一部分。一、类与关系关系关系(Relationship)是事物间的联系。在类的关系中,最常用的4种分别为:依赖(Dependency),它表示类之间的使用关系;泛化(Generalization),它表示类之间的一般和特殊是关系;关联(Association),它表示对象之间的结构关系;实现(Realization),它是规格说明和其实现之间的关系。1.依赖(Dependency)依赖是两个元素之间的关系,对一个元素(提供者)的改变可能会影响或提供消息给其他元素(客户)。也就是说:客户以某种方式依赖于提供者。在实际的建模中,类元之间的依赖关系表示某一类元以某种方法依赖于其他类元。从语义上理解,关联、实现和泛化都是依赖关系,但因为他们有更特别的语义,所以在UML中被分离出来作为独立的关系。在图形上,UML把依赖描述成一条有向的虚线,指向被依赖的对象。2.泛化(Generalization)泛化是一般事物(称为超类或父类)和该事物的较为特殊的种类(称为子类)之间的关系,子类继承父类的属性和操作,除此之外通常子类还添加新的属性和操作,或者修改了父类的某些操作。泛化意味着子类的对象可以用在父类的对象可能出现的地方,但反过来则不成立。例如:电视可以分为CRT电视、液晶电视、背投电视、等离子电视。更简单的来说,泛化关系描述了类之间的isakindof(属于……的一种)的关系。在图形上,泛化用从子类指向父类的空心三角形箭头表示。3.关联(Association)关联是一种结构关系,它指明一个事物的对象与另一个事物的对象间的联系。也就是说,如果两事物间存在链接,这些事物的类间必定存在着关联关系,因为链接是关联的实例,就如同对象是类的实例一样。4.实现(Realize)实现是规格说明和其实现间的关系。它表示不继承结构而只继承行为。大多少情况下,实现关系用来规定接口和实现接口的类或组件之间的关系。接口是能够让用户重用系统一组操作集的UML组件。一个接口可以被多个类或组件实现,一个类或组件也可以有多个接口。可以在两种情况下使用实现关系:第一,在接口与实现该接口的类间;第二,在用例以及实现该用例的协作间。Class框图类图(classdiagram)是描述类、接口、协作、以及它们之间关系的图。它是系统中静态视图的一部分,静态视图可以包括许多的类图。类:包装信息与行为的项目显示系统中的类与类包提供系统组件及相互关系的静态图形描述类图的用途类图是系统静态视图的一部分,它主要是用来描述软件系统的静态结构。该视图主要支持系统的功能需求,也就是系统要提供给最终用户的服务。当系统分析师以支持软件系统的功能需求为目的设计静态视图时,通常以下述3种方法之一使用类图。对系统的词汇建模对简单协作建模对逻辑数据库模式建模Class框图的显示范围类及其关系的子集类的子集,包括属性和操作类包及包之间的关系----可对系统生成多个Class框图类的显示类在UML中由专门的图符表达,是一个分成3个分隔区的矩形。其中顶端的分隔区为类的名字,中间的分隔区放类的属性、属性的类型和值(在UML符号表示中给出类的初始值),第3个分隔区放操作、操作的参数表和返回类型。新建Class框图右键单击Logical试图选择New-ClassDiagram为框图命名生成类使用Class工具栏添加在浏览器中New-ClassTools-Create-Class使用交互图添加Class框图工具栏按钮Class将新类加入框图Interface将接口类加入框图Association画出关联关系Aggregation画出累计关系LinkAttribute链接关联类和关联关系Package将新包加入框图Dependencyorinstantiates画出相关性关系Generalization画出泛化关系Class框图工具栏按钮Realize画出实现关系UnidirectionalAssociation画出单向关系ParameterizedClass将新参数化类加入框图ClassUtility将新类实用程序加入框图ParameterizedClassUtility将新参数化类实用程序加入框图InstantiateClass将新实例化类加入框图InstantiateClassUtility将新实例化类应用程序加入框图类版型边界类Boundary:位于系统与外界的交界处,包括窗体、报表、与其他系统的接口。控制类Control:也叫管理者类,向其他类发出控制消息。实体类Entity版型显示风格设置:右键Options-StereotypeDisplay-……生成Class框图的步骤(1)设置显示选择Tools-Options选择Diagram标签确保选择Stereotypes复选框确保选择Showallattributes和ShowallOperations复选框确保取消Suppressattributes和SuppressOperations复选框生成Class框图的步骤(2)建立包右键单击浏览器中的Logical视图选择New-Package为包命名建立Entities包、Boundaries包和Control包Mainclass框图EntitiesBoundariesControl生成Class框图的步骤(3)生成MainClass框图打开Logical视图内的MainClass框图将前面生成的三个包拖动到框图中生成Class框图的步骤(4)生成含有用例中所有类的框图在用例下新建Class框图以用例名为其命名将用例中的所有类拖动到框图中将版型加入到类中组成包:将类根据版型拖动到三个包中添加新订单class框图生成Class框图的步骤(5)将Class框图加进每个包在浏览器中单击一个包新建一个Class框图,命名为Main打开框图将包里的类由浏览器拖动到框图中重复以上步骤,为每个包建立一个Class框图Boundary包class框图包图包图由包和包之间的联系构成,它是维护和控制系统总体结构的重要建模工具。当对大型系统进行建模时,经常需要处理大量的类、接口、构件、节点和图,这时就有必要将这些元素进行分组,即把那些语义相近并倾向于一起变化的元素组织起来加入同一包,,这样方便理解和处理整个模型。同时也便于轻松地控制这些元素的可见性,使一些元素在包外可见,一些元素是隐藏在包内的。设计良好的包是高内聚、低耦合的,并且对其内容的访问具有严密的控制。

1 / 26
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功