【UML入门教程】——静态结构(下):类图

来源:互联网 发布:访谈节目知乎 编辑:程序博客网 时间:2024/06/03 01:12


【类图——理论基础篇】


【功能】

描述系统的静态部分。不仅定义系统中的类,表示类之间的联系(关联、依赖、泛化,实现),也包括类的内部结构(类的书写和操作)。


【包含元素】


  类、关系。


1.什么是类呢?

类=类名+属性(可隐藏)+方法(可隐藏)

属性:对象的性质与对象之间的关系的统称。事务的形状、颜色、气味等是事务的性质。大于、小于、朋友、矛盾等是事务的关系。任何属性都是属于某种对象的。


比如说狗类,狗身上都有狗毛,狗毛就是狗自身的属性;小狗能吃、喝……,这些都是小狗能够进行的操作,称为方法。


属性的可见性常分为:+:Public(公有)     -:Private(私有)     #:Protected(保护)   


在rose中的显示

2.类图涉及的关系

关联、依赖、泛化、实现。类的关系是类图的核心与精华。

详情可参照:【UML入门教程】——UML关系




【类图——实践篇:机房收费系统】


画图步骤

1)识别出类

抽象出来的类一定要跟系统有密切联系。

开始对机房划分类的时候,不知道从什么角度划分。后来经过查找资料,发现大部分的类是由名词或者动词构成。所以自己想试着从两个角度来划分类:功能对象此处的对象不为类的实例化,为人名或事物名,纯名词)。画了两个图,发现大同小异。很多时候,名字只是个形式,还是古语说的好:万变不离其宗。


2)识别出类的主要属性

个人认为此处的属性主要跟数据表有很大的关联。

大部分都是主键或者外键充当属性。另外属性跟操作是相对应的。操作需要调用的数据库表中的字段,就是此处的属性。

例如 操作  退卡(), 需要验证卡号是否可用,验证是否正在上机,所以我们要进行这些操作之前要了解的 属性是  学生卡号、卡使用状态(可否使用)、学生在线状态(是否上机)。


3)描绘出类之间的关系

这个还是要参考UML的四大关系。四大关系中依赖就是使用,关系强度最弱。

关联是整体和部分的关系。聚合强度关系<组合强度关系。

泛化主要子类继承父类的属性和方法,经常用于合并同类项。

实现关系是一个类实现接口的功能,对于这个关系的理解很洼~对于接口的理解:接口就是一个翻译家。

例如,人类与程序之间的接口称为用户界面。用户界面就把程序这样大篇幅的东西翻译成了可视化的容易理解的信息给人,这样人才能更快速、更准确的了解程序。


4)对各类进行分析、抽象、整理

  数据库基础操作:增、删、改、查,体现在系统中的功能很大一部分是:查询,添加,修改,删除某些管理对象。这个可以作为整合类的依据。

  权限也可以作为一项参考依据。因为权限不同,使用的系统功能不同,在粒度不是很小的情况下,也可以根据权限对类进行整合。

  还有在画类图的过程中,经常忽略人之外的事物。比如卡类,它跟整个系统的联系也是十分紧密的。与之对应的书写、方法也能很好的表达系统静态结构。


  There are a thousand Hamlets in a thousand People's eyes.每个人对UML图的看法、认识都可能不同,欢迎大家跟我交流。

  

劳动果实





如果大家有觉得不妥的地方还望指出!谢谢!




0 0
原创粉丝点击