类图和包图

来源:互联网 发布:阿卡索 知乎 编辑:程序博客网 时间:2024/05/22 15:57

           类图是UML中九种图之一,显示出类、接口以及它们之间的静态结构和关系,用来描述软件系统的静态行为。类图是定义其他图的基础,在类图的基础上,可以使用状态图、协作图、组件图和配置图等进一步描述系统其他方面的特性。

          类图一般由三部分组成:类→属性→方法类名书写规范:正体字说明类是可被实例化的,斜体字说明类为抽象类(不能实例化)。属性和方法的书写规范:修饰符 [描述信息] 属性、方法名称 [参数] [:返回类型|类型]。属性和方法之前可附加的可见性修饰符:加号(+)表示public;减号(-)表示private;#号表示protected如果属性或方法具有下划线,则说明它是静态的。常见的关系有:泛化(继承),关联关系(聚合关系、组合关系),依赖关系,实现关系。般关系表现为继承或实现关系(is a),关联关系表现为变量(has a ),依赖关系表现为函数中的参数(use a)。泛化关系:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为关联关系:类与类之间的联接,它使一个类知道另一个类的属性和方法聚合关系:是关联关系的一种,是强的关联关系。聚合关系是整体和个体的关系。关联关系的两个类处于同一层次上,而聚合关系两个类处于不同的层次,一个是整体,一个是部分。组成关系:是关联关系的一种,是比聚合关系强的关系。组成与聚合之间的差别在于生命周期,例如:火车、发动机与列表、节点两种关系的差别,组合生命周期相同(约束性强)。依赖关系:是类与类之间的连接,表示一个类依赖于另一个类的定义实现关系:一个类元描述了另一个类元保证实现的契约。

以下是类图关系的表示方法:

泛化:

实现:

关联:

聚合:

组合:

依赖:


          没有类是单独存在的,它们通常和别的类协作。画图的主要目的是为了更好地理解系统,预测什么时候可以提供什么样的软件来满足用户的需要。类图的映射内容可以直接映射成为面向对象语言的内容。画图的时候,要详细定义它的属性以及方法并起一个能表达它用途的名称,不要有交叉线

         类图的建立:

                1.研究分析问题领域,确定系统需求;

                2.发现对象与对象类,明确它们的含义和责任,确定属性和操作;

                3.发现类之间的静态关系;(着重分析,找出对象类之间的一般与特殊关系,                 部分与整体关系,研究类的继承性与多态性,把类之间的静态关系用关联、                   继承、合、聚合、依赖等关系表达出来。)

                4.设计类与联系;

                5.绘制类图并做相应的说明。


          类图和包图有着很密切的关系,一个"包图"可以是任何一种的UML图组成,通常是UML用例图或UML类图。 包是一个UML结构,它使得你能够把诸用例或类之类模型元件组织为组。 包被描述成文件夹,可以应用在任何一种UML图上。  创建一个类包图是为了∶在逻辑上组织设计。如何使用包:把一个框架的所有类放置在相同的包中,一般把相同继承层次的类放在相同的包中,彼此间有聚合或组合关系的类通常放在相同的包中。包的注意事项:命名要简单、具有描述性,应用包是为了简化图,包应该连贯,避免包间的循环依赖,包依赖应该反映内部关系

0 0
原创粉丝点击