电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

UML类图标准总结


发布日期:2022/12/1
 
以前在做一个项目之前总是在UML的一些概念上花费极大的功夫得出的图形反而让自己都含糊不清这两天一口气在网上查了很多相关文章

在图书管也翻了几本书给自己定义了一个UML严格的标准现在拿到网上来兄弟们帮我看看有那些地方又不妥当的地方相互学习

首先弄清楚类图是个什么东西

类图(class diagram)描述了模型的静态结构包括模型中的类的类的内部结构以及于其他类的关系在结构化设计一个系统的时候类图可以让我们的思路更加清晰

类的内部结构就不用说了没什么好说的

一个类与其他的类常见的关系(我所接触到的关系)有

一般化关系

关联关系

聚合关系

组合关系(合成关系)

依赖关系

其中聚合关系合成关系又属于关联关系

一般化关系表现是与类之间是(is a)的关系也就是类与类之间的继承接口于接口之间的继承或者是对一个接口的实现表示方法是用一个空心箭头+实线箭头指向父类或用空心肩头加虚线(如果富父类是接口的话)

如图User定义了系统中一个用户的原型客户Customer继承了User类并且有自己特有的方法管理员Manager类也继承了User类并且又自己特有的方法而且Manager为了能够管理客户还实现了Cmanage这个接口也就具备了Cmanage的所有功能可以对客户的余额进行操作而且还可以删除一个客户

关联关系表现为类与类之间的(has a)关系它使一个类知道另一个类的属性和方法关联关系表示的是类与类之间的持久关系这种关系一般是表示一种业务逻辑上的关系需要保存到数据库中的

如图学生Student中存在一个班级Class的引用在student中可以直接根据引用访问到Class同时在数据库中存在两张表tb_studenttb_class在表tb_student中有一个字段存储了所关联的class记录的id用箭头+实指向被关联的类

聚合关系是关联的一种是一种强关联关系聚合关系还体现了一种整体与个体的关系如图

商品ShangPin是独立的一张进货单JinHuoDan内可以又很多个商品可以说进货单JinHuoDan是整体商品ShangPin是个体可以由进货单JinHuoDan导航到每个进货单包含的商品空心菱形+实线+箭头指向部分

依赖关系是表现为类与类之间的一种(use a)的关系一个类用到了另一个类为了完成一特定的操作但是类与类之间不存在业务逻辑上的关系依赖关系是针对于程序来说的依赖关系体现在程序中主要是些局部变量方法参数或对一个类方法的调用如图四:

商品管理类ShangPinManager主要对上提供查询商品删除商品的功能而这些功能的实现必须调用Dao类的某些方法来实现(一种调用关系)但是他和我们数据库持久类Dao没有业务上的关系更不可能把这两个类存到数据库中去虚线+箭头指向被调用的类

另外我个人觉得利用聚合足以体现合成没必要分的那么详细UML本身是一种工具没必要把太多时间花费在工具的一些概念上面

上一篇:无需调优的内存优化

下一篇:使用Decorator模式 翻译者:Disneytiger