UMl各种图的简单描述

最常用的UML图包括:用例图、类图、序列图、状态图、活动图、组件图和部署图。
[b]用例图[/b]
用例图描述一个系统的模块,简单的理解就是一个功能。比如ATM,取款是一个,存款是一个,查询是一个,就是描述一个功能单元。用例图的主要作用是为了帮助开发团队以一种图的方式去理解所要开发系统的功能需求;包括参与者,各个用例之间的关系等
要在用例图上显示某个用例,可绘制一个椭圆,然后将用例的名称放在椭圆的中心或椭圆下面的中间位置。要在用例图上绘制一个角色(表示一个系统用户),可绘制一个人形符号。角色和用例之间的关系使用简单的线段来描述,如图1所示
如图:
[img]
[img]http://dl.iteye.com/upload/attachment/451698/d76a872a-24e5-3d6d-8ce5-27e40cec94d3.png[/img]
[/img]
[img]
[img]http://dl.iteye.com/upload/attachment/451701/e53bbc87-7364-3f5c-8cac-8e7bea55b887.png[/img]
[/img]
[b]类图[/b]
类图就比较好理解了,他就是一个实体,一个现实世界中存在的东西。我们用类表示,然后再把类用图形表示。这样看着直观。所以他显示的是静态结构,如人,电话,手机等等
在类图上使用包含三个部分的矩形来描述,如图2所示。最上面的部分显示类的名称,中间部分包含类的属性,最下面的部分包含类的操作(或者说"方法")。
如图:
[img]
[img]http://dl.iteye.com/upload/attachment/451701/e53bbc87-7364-3f5c-8cac-8e7bea55b887.png[/img]
[/img]
类之间的几种关系
1.继承
[img]
[img]http://dl.iteye.com/upload/attachment/451729/9fd77356-ab0e-3b45-8e9a-8fe2e3ce94ef.png[/img]
[/img]
2.依赖
对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系。依赖关系表现在局部变量,方法的参数,以及对静态方法的调用
[img]
[img]http://dl.iteye.com/upload/attachment/451765/bdeea7b6-ef36-38be-8941-4563f60bc343.png[/img]
[/img]
3.关联
对于两个相对独立的对象,当一个对象的实例与另一个对象的一些特定实例存在固定的对应关系时,这两个对象之间为关联关系。关联关系是使用实例变量来实现
比如客户和订单,每个订单对应特定的客户,每个客户对应一些特定的订单;再例如公司和员工,每个公司对应一些特定的员工,每个员工对应一特定的公司。还有飞机和飞机场
[img]http://dl.iteye.com/upload/attachment/451767/c268deb6-8c37-3040-8c01-c5f057c046ea.png[/img]
4.聚合
飞机的组件,包括引擎等(不太清楚飞机的结构)
开始工作了,下次再接着写
### 如何在UML序列中正确描述消息 在UML序列中,消息是用来表示对象之间交互的核心元素。以下是关于如何正确描述消息的方法: #### 1. **消息的基本形式** 消息通常通过带箭头的线条连接两个对象的生命线,用于表示从发送方到接收方的信息传递。每条消息都应附带一个名称或其他标识信息[^1]。 #### 2. **四种主要的消息类型** - **简单消息** 简单消息是最基础的形式,用来表示任意类型的通信行为,无需区分同步或异步特性。它适用于不需要关注具体实现细节的情况[^4]。 - **同步消息** 同步消息的特点在于发送方会暂停自身的执行流程,直到接收到对方完成任务后的确认回复为止。这种消息常用于阻塞式的函数调用场景,在形上表现为实心箭头指向目标生命线,并在其下方绘制激活框以体现等待状态[^1]。 - **异步消息** 异步消息允许发送方立即恢复自己的工作而不用理会接收者的回应状况;因此不会存在后续依赖关系。此类消息在线路上采用开口箭头标记[^4]。 - **自反消息** 当某个特定条件下需要让同一个实体内部重复利用某些逻辑单元时,则需要用到所谓的“自我调用”,也就是所谓‘反射’现象——即主体既是发起者又是接受者角色兼备的情形之下产生的通讯联系。此时会在同一条垂直线上画出弯曲轨迹来代表回路路径. #### 3. **返回消息** 当涉及到请求—响应模式下的数据交换过程分析时,“答复”作为必不可少的一部分自然也要体现在表当中。尽管实际绘过程中可能省略显式标注出来的返程路线部分,但从理论上讲它们确实存在着并且能够帮助理解整个事务链路全貌。对于同步消息而言,默认假定存在隐含的反馈环节;而对于那些明确指出需展示完整往返周期样式的案例来说,则应该额外增加虚线加开箭头样式来回避歧义。 #### 4. **高级特征 - 控制结构 (仅限于 UML 2.x)** 随着版本迭代升级至更高标准之后引入了一些增强型语法支持复杂业务流建模需求的功能模块,比如循环体、分支判断语句等等都可以借助专门定义好的组合构造块来进行直观呈现。例如:"alt"/"opt"/"loop"等关键字分别对应不同种类的选择性或者反复性的操作指令集封装区域[^2]: - `alt` 表达互斥选项间的抉择可能性; - `opt` 描述可选动作项的存在与否; - `loop` 定义多次连续发生的相似事件集合。 这些新增加的内容极大地扩展了传统意义上单纯依靠直线链接所能传达有限含义之外更为丰富的表达潜力。 ```python # 示例代码:Python模拟简单的同步与异步消息处理机制 import threading def sync_task(): print("Sync Task Start") # Simulate a long-running task import time;time.sleep(2) print("Sync Task End") def async_task(): thread = threading.Thread(target=sync_task) thread.start() print("Async Task Triggered") async_task() ``` 以上就是有关如何在UML序列里准确无误地描绘各类消息交流方式的知识要点总结。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值