首页 > 编程知识 正文

怎样画一个类图,根据用例图画类图

时间:2023-05-04 13:48:20 阅读:49008 作者:1249

统一建模语言(UML )是设计软件蓝图的视觉建模语言,是面向对象建模语言的国际标准。 其特点是简单、统一、图形化,能够在软件设计中表达动态和静态的信息。

类、接口、类图类(Class )是具有相同属性、方法和关系的对象的抽象,封装数据和行为,是面向对象编程(OOP )的基础,封装、封装在UML中,类包含类名、属性和操作,并由带分隔符的矩形表示。

类名(Name )是字符串。 例如,请注意Student ) java语言类名的命名约定

属性(Attribute )是类的特性,即类的成员变量。 UML以以下格式表示:

“可见性”属性名称:类型[=默认] eg.-name:String

注意:“可见性”表示公共(公共)、私有(受保护)、朋友)的四种属性对非类元素是否可见,在类图中分别用符号、-、#、~表示。

操作类的成员方法。 UML以以下格式表示:

“可见性”名称(参数列表([:返回类型] eg. display ) ) :void

照片。

“接口”(Interface )是一个特殊类,具有类的结构,但不能实例化。 只能通过子类实现。 包括抽象操作,但不包括属性。 描述类或组件从外部可见的行为。 在UML中,接口用命名的小圆表示。

图2是图形类接口的UMDL表示。

“类图”(ClassDiagram )是一个静态模型,显示系统中的类、接口、协作以及它们之间的静态结构和关系。 它主要用于描述软件系统的结构化设计,有助于简化人们对软件系统的理解。 它是系统分析和设计阶段的重要产物,也是系统编码和测试的重要模型依据。

类图中的类可以直接用一种编程语言实现。 类图在软件系统开发的整个生命周期中是有效的,是面向对象系统建模中最常见的图。 下图是一个名为“计算矩形和圆形的周长和面积”的类图。 图形界面具有计算面积和周长的抽象方法,矩形和圆形实现这两种方法是为了访问类调用。

图“计算矩形和圆形的周长和面积”类图

在类与类关系软件系统中,类并不是孤立存在的,类与类之间存在着各种各样的关系。 按照类与类之间耦合度从弱到强的顺序,UML中的类图有以下几种关系:依赖关系、关系、聚合关系、组合关系、泛化关系和实现关系。 其中泛化和实现的结合度相等,它们最强。

依存关系(Dependency )关系是使用关系,它是对象之间结合度最弱的关联方式,是暂时的关联。

4个案例:

(1) a类是b类中)某个中方法的)局部变量;

) a类是b类方法中的一个参数;

) a类向b类发送消息,影响b类变化;

)4)静态方法调用

在UML类图中,依赖关系由带箭头的虚线表示,箭头从正在使用的类指向依赖关系的类。

下图是人与手机的关系图,人用手机语音传输方法打电话。

关联关系(Association )关系是用于表示一类对象与另一类对象之间的联系的对象(如老师和学生、师傅和徒弟、丈夫和妻子)之间的引用关系。 关联关系是类与类之间最常用的关系,可分为一般的关联关系、聚合关系和组合关系。 首先介绍一般的关联。

代码通常将一个类中的对象作为另一个类的成员变量实现相互关系

关联分为双向关联、单向关联、自我关联

双向关联-一般用直线表示。 例如,顾客购买并拥有商品,相反销售的商品总是与某个顾客相关联。

也可以这样表示

单向关联

自相关可以是系统中存在的类的属性对象类型是该类本身。 这种特殊的相关关系是自相关的,常见于链表。

聚合关系(Aggregation )关系是一种关联关系,是强关联关系,是整体与部分的关系,是has-a的关系。

聚合关系也是通过成员对象实现的。 其中,成员对象是整体对象的一部分,但成员对象可以独立于整体对象而存在。 例如,学校和老师的关系是,学校包括老师,但学校关闭的话,老师依然存在。

在UML类图中,聚合关系可以用空心菱形的实线表示,菱形是指整体。 图6是大学与教师的关系图。

图6聚合关系示例

组合关系(Composition )关系也是一种关联关系,即表示类之间的整体与部分的关系,但更强的聚合关系,即cxmtains-a关系。

在组件关系中,全局对象控制某些对象的生命周期,而全局对象不存在则某些对象也不存在

在,部分对象不能脱离整体对象而存在。例如,头和嘴的关系,没有了头,嘴也就不存在了。

在 UML 类图中,组合关系用带实心菱形的实线来表示,菱形指向整体。图 7 所示是头和嘴的关系图。
 


图7 组合关系的实例

泛化关系

泛化(Generalization)关系是对象之间耦合度最大的一种关系,表示一般与特殊的关系,是父类与子类之间的关系,是一种继承关系,是 is-a 的关系。

在 UML 类图中,泛化关系用带空心三角箭头的实线来表示,箭头从子类指向父类。在代码实现时,使用面向对象的继承机制来实现泛化关系。例如,Student 类和 Teacher 类都是 Person 类的子类,其类图如图 8 所示。
 


图8 泛化关系的实例

实现关系

实现(Realization)关系是接口与实现类之间的关系。在这种关系中,类实现了接口,类中的操作实现了接口中所声明的所有的抽象操作。

在 UML 类图中,实现关系使用带空心三角箭头的虚线来表示,箭头从实现类指向接口。例如,汽车和船实现了交通工具,其类图如图 9 所示。
 

 

一遍UML比较好的文章:https://zhuanlan.zhihu.com/p/158693052

 

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。