【UML图】——静态图

在总结完用例图之后,继续对UML图中的静态图进行学习和分析。

为什么把类图、包图和对象图归为静态图?因为类图描述的是系统的静态部分;包图可以是任何一种UML图静态

组成(通常为用例图和类图);对象图描述了一个系统在某一具体时刻的静态结构。

接下来,针对这三种静态图来进行一一描述。

一、类图

类是由类名、接口、协作和关系构成,而关系分别是依赖、泛化、关联和实现。我觉得关系是类图中比较重要的

部分,它能描述类与类之间拥有何种关系。

就类图间的关系作一下解释:

1、依赖是关系中比较简单的,它描述了一个类与另一个类之间的语义连接关系,一个类的改变会影响到另一个

类,这就是一种依赖。

2、泛化与继承是大家比较容易混淆的,在网上查了相关资料,比较合理的说法是:泛化是由下往上的过程,而

继承是由上往下的过程。举个例子说明一下:苹果继承水果;水果泛化苹果。

3、关联这里分为聚合和组合。聚合和组合都是描述整体与部分的关系,那么如何区分聚合和组合?

我是这样理解的:

聚合中的整体与部分的关系:

组合中的整理与部分的关系:

4、实现这部分关系到接口,对接口的了解不是很多,所以这里暂时把实现这部分内容停在这,等下次发掘吧。

然后探索类图的结构秘密。

类图由类、包和他们之间的关系组成的。类图通常描述系统的结构化设计,它最基本的元素是类或接口。类图的

基本组成为:

至于类图属性和方法中左边的那些符号:


这些符号所表示的内容如下:

                                                                               

    我们已经对类图了解的差不多了,那么看看实例吧!下面是我的关于机房收费系统的类图(经过师傅指导后

的):


简单介绍一下:我将收费系统按功能进行分类,每个窗体成为一类,然后按照功能把所依赖的象进行分组,

成这张图。

    补:在画图时没没有注意到用户和系统之间的关系,单纯以为用户和各个负责功能之间是简单的依赖关系,但是

经过伟涛补课,知道关系分为强弱,而能用强关系的尽量不用弱关系。而关于依赖和关联的关系如下:

只要存在对象间的交互,无论是控制的还是数据的,两者之间就存在依赖。我们现在说的依赖,它是比关联更弱

的关系。

依赖是对象间短暂的一种关系,在这个短暂的关系中,被调用类表现为调用类的局部变量、方法的参数、以及调

用类调用被调用类的静态方法,在这些情况下,我们说调用类和被调用类之间就属于依赖关系。

关联是对象间长期的一种关系,在这个长期的关系中,被调用类表现为调用类的引用、或者调用类的属性,在这

些情况下,我们说调用类和被调用类之间就属于关联关系。常见的关联关系有:一对一关系、一对多关系、多对多关

系,例如典型的客户与订单、公司与员工的关系就是一种关联关系。

所以经过修改之后的类图如下:

二、对象图

对象图就是类图的一个特殊实例,即描述系统的某一个时刻的静态结构。所以对象图就是类图去掉类,给类属性

具体赋值的结果。

下面是我在机房收费系统中总结的一个操作员给学生注册的一个例子:

是我对对象图的理解,如果大家还有不同意见,欢迎留言哈!

三、包图    

我对包的理解是:包就是一个命名空间,相当于文件夹一样的存在。它可以包含类、接口、构件、节点、协作、

用例,或者是其他的包或图都行。它就是一个大容器,为了规范整理我们的 UML图。

包图是类似于文件夹的模型元素的组合。它拥有的关系只有依赖和泛化(在类图的介绍中有提到,这里就略过了

),是比较简单的图形结构。需要注意的是包图中的元素最好语义接近,这样包的重要才能凸显。包的可见性分为三

类:public(“+”);private(“-”);protected(“#”)。

由于对包图的接触和理解较少,从网上找了一篇博客UML包图推荐推荐,对以后进一步学习包图做铺垫吧。

四、小结

UML静态图的理解真的花了很长时间,但是确实学到了很多知识。师傅说现在的慢慢积累是为以后轻松学习打基

础。因为进度有点慢,有时候确实是过于着急,知识理解程度特别浅。师傅给推荐一个办法说:在找师傅验收前(今

目标结束项目前),先写总结博客,把博客写好了之后在进行下一步计划。也就是说,从现在开始,必须把总结加入

项目计划中!





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 17
    评论
好的,让我来介绍一下外卖信息管理系统的UML静态模型预习内容。 在UML静态模型中,我们通常会使用类来表示系统中的各种类以及它们之间的关系。在外卖信息管理系统中,我们可以考虑以下类: 1. 用户(User)类:表示系统中的用户,包括顾客和商家两种角色。 2. 订单(Order)类:表示顾客下的订单。 3. 商家(Merchant)类:表示系统中的商家。 4. 店铺(Shop)类:表示商家所经营的店铺。 5. 菜品(Dish)类:表示店铺中的菜品。 6. 购物车(ShoppingCart)类:表示顾客在下单前所添加的菜品列表。 7. 骑手(Deliveryman)类:表示系统中的骑手。 8. 评价(Comment)类:表示顾客对订单、菜品、商家或骑手的评价。 以上这些类之间的关系可以考虑如下: 1. 用户和订单之间是一对多的关系,即一个用户可以下多个订单。 2. 商家和店铺之间是一对多的关系,即一个商家可以拥有多个店铺。 3. 店铺和菜品之间是一对多的关系,即一个店铺可以提供多种菜品。 4. 用户和购物车之间是一对一的关系,即一个用户只能有一个购物车。 5. 订单和购物车之间是一对多的关系,即一个订单可以包含多个购物车。 6. 订单和商家之间是多对一的关系,即多个订单可以对应同一个商家。 7. 订单和骑手之间是多对一的关系,即多个订单可以由同一个骑手配送。 8. 评价和订单、菜品、商家或骑手之间是一对多的关系,即一个评价可以针对多个对象。 以上就是外卖信息管理系统UML静态模型的预习内容,希望对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值