uml类图例子_UML用例图

056a770cbf0d591a2fa0f87c23063d1f.png

UML用例图

用例图有以下东东:

用例

参与者

关联

系统边界

用例使用椭圆来表示,椭圆里边写上用例的名称:

这里的用例可以理解为一个动作或行为,或者一个对象。

参与者用一个小人儿,在小人儿下面写上参与者名称,例如学生:

cbaa578fd20bf48149155452e18c10a6.png

关联用一条线表示:

把很多个用例放到一个大的矩形框里。

a3301ea03829b4a5218f8490faf689c1.png

时序图

时序图里面包括以下内容:

1.对象

2.生命线

3.活动条

4.消息

5.控制流(包括顺序,分支,循环)

对象在矩形里边,左边是对象名称,右边是对象类型,下方还有一条线.

9bfa9860ced1f379ee3487799d278e70.png

用虚线代表的是对象的生命线:

8171536a4edfefa2c9689e334fce998e.png

活动条是一个竖着的矩形,当接收到消息的时候,这个对象就会有活动条:

cd6afdccf0f3cf017ca7d574e95fd0ed.png

消息用一根箭头,箭头上面写上消息信息,例如一个登录方法

login(userName,passWord):

423c0f0d74d121870d141f24fdef3ba3.png

控制流有3种,普通就是按照顺序的一个流程,还有分支就相当于if else:

bc51d5134129ce6811faf2fb095792ef.png

矩形里面有一条虚线,左上角用ALT表示,当C为true的时候,就执行虚线上方的内容,当C为false的时候就执行虚线下方的内容。

循环控制流:

25972fdbe7e419b7227e5d48a42d2ab3.png

左上角有LOOP表示循环,当C为true的时候,就循环执行方框里边的内容

5dc7a3327a0c3e0613a55bd564285a8d.png

可以看到,每个对象都有它们的生命线(虚线);

  1. 一开始用户给类型为GUI(界面)的Login对象发送一个登录信息 「 login(userName,passWord)」 ;
  2. Login这个对象接收到了就会产生活动条,这时候Login这个界面会给类型为Controller的loginController发送登录信息「 login(userName,passWord)」 ;
  3. 此时loginController接收到信息产生活动条,这时候loginController去找类型为DB的UserDao,给它发送了一个获取用户密码的信息「getUserPassword(userName)」;
  4. UserDao接收到信息后产生活动条,返回用户的密码;
  5. 此时loginController接收到信息(用户的密码 userPassword),loginController此刻将信息发送给自己,通过verify去校验密码并且用result接收结果;
  6. 校验就产生了分支控制流,当resul为true的时候loginController会发送success给Login,当result为false的时候,loginController会发送failure给Login;
  7. 最后Login最后给用户发送messag信息。

类图

类图有以下几个东西:

1.类名

2.属性

3.方法

4.可见性

5.数据类型

6.关联关系

7.依赖关系

8.继承/实现关系

9.组合/聚合关系

类名,属性,方法在一个矩形中,分为上中下:

类名,属性,方法在一个矩形中,分为上中下:

49be7c8c7339856e38a535d002339a08.png

可见性:

private的时候在前方用-表示

public的时候在前方用+表示

protected的时候在前方用#表示

数据类型:

数据类型表现形式: 名字:类型

例如:

64007f762f83dd39178d5d4e280994c2.png

userName和passWord这两个属性是protected修饰的,数据类型都是String;login()和register()这两个方法是public修饰的,数据类型都是boolean;

关联关系,用实现表示,例如A关联B:

685ca22ee033af1e6a16c62649eb0ca7.png

依赖关系,用虚线表示,例如A依赖B:

f3955cbbed0e235cc70d9906ca75453d.png

继承关系,用一个△+一条实线表示,,例如A继承B:

a2024d3560d1e4ceb2023140a9756dfd.png

依赖关系,用一个△+一条虚线表示,例如A实现B:

3d95868548c60792eca01576a37bcd92.png

组合关系:用一个♦+一条虚线表示,例如A组合B:

89b2cae84cbc2811b68110a4ba1f6e94.png

聚合关系,用一个◇ + 一条虚线表示,例如A组合B:

fd872daae0632c1ceea76e9ce396e065.png

聚合:表示两个对象之间和整体和部分的弱关系,部分的生命周期可以超越整体。如电脑和鼠标。

组合:表示两个对象之间是整体和部分的强关系,部分的生命周期不能超越整体,或者说不能脱离整体而存在,组合关系的部分,是不能在整体之间进行共享的。

类图举例子:

1c3ea58dc83a0b8024aaeeb94b4b296b.png

可以看到,有User类,Customer类,Role类,Payment类,aliPay类,wechatPay类 。

其中Customer继承User,User类的userName和passWord这两个属性是protected修饰的,数据类型是String;login()和register()这两个方法是public修饰的,数据类型都是boolean;

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值