UML面向对象系统分析和设计

1. 概述(交互图)
交互图是用来表达系统的各个对象之间如何交互,如何完成某个行为的动态模型工具。主要用于对用例图中的控制流进行建模。一般要求每个用例使用一个交互图进行描述,从而有效观察和理解系统内部的协助关系和行为过程,交互图包括序列图和协助图,序列图是按时间次序描述系统中各对象如何通过消息交互。
2.序列图(描述)
序列图描述了系统中各个对象之间传递消息的时间次序,用来表示用例的行为顺序,从而为对象类图中概况对象类的行为丶划分对象类的职责提供依据。序列图依赖于用例图,如果用例图是对用户需求的第一次抽象,那么,通过序列图,用户的需求就会变得更加具体,系统中各个对象的行为和角色也更加清晰,从而为构建对象类图打下基础。
序列图也称为时序图,它包括基本符号:对象,生命线,消息和激活。如下图示例:
3.序列图组成(具体描述)
1)对象
序列图中对象的符号和对象图中对象所有符号一样,都是矩形将对象名称包含起来并且对象名下有下划线,见上表
2)生命线
什么线是一条垂直的虚线,表示序列图中的对象在一段时间内的存在,每个对象的底部中心的位置都带有生命线。生命线是一个时间线,从序列图的顶部一直延伸到底部,所用的时间取决于交互持续的时间。对象与生命线结合在一起称为对象的生命线,对象的生命线包含矩形的对象图以及图标下面的生命线。
3)消息
用于描述对象之间某种形式的通信,它可以激发某个操作,唤起信号或者导致目标的创建和撤销。序列图强调消息的时间顺序,协作图强调消息交换时对象之间的空间结构关系。消息使用箭头表示:

4)激活
序列图可以描述对象的激活和撤销。激活表示该对象被占用以完成某个任务,撤销表示对象处于空闲等待消息状态。矩形表示对象是激活的,称为激活期,对象完成任务后被撤销,撤销一般发生在一个消息离开对象生命线的时候。
4.同步消息和异步消息
同步消息代表一个消息从发送方传递给接收方,接收方对控制(接收消息)做出响应,然后执行所请求的操作,如果需要,可以把消息传给另一个对象,当操作完成,把消息返回原来的同步消息的发送方,原来的接收方也可以直接返回或发送信息给原来信息的发送方。
同步信息的接收方必须是一个被动对象,即它是一个需要通过消息的驱动才能执行动作的对象,同步消息用一条实习箭头线表示,一般一个同步消息必须有一个配对的返回消息。在序列图中返回消息可以省略。
异步消息代表一个非同步的信号请求,该信号异步要求一个操作。
异步消息可以做到:
1)常见一个新线程,此时的异步消息连接到一个激活期的顶部。
2)创建一个新对象。
3)与一个已经在运行的线程通信。
异步消息的接收方必须是一个主动对象,它不需要消息驱动就可以执行对象的动作。
5 协作图
协作图强调以消息传递为纽带的一组对象之间的组织结构,用于描述系统的行为是如何由系统的各对象合作完成的。
协作是一种静态结构,它是一个系统对实现某些服务所涉及的对象及其交互的投影,协作定义了对象之间空间结构的联系。
1)协作图的组成:
包括对象类角色,关联角色,消息三部分
协作图的建模步骤:

例:

相同的序列图为:


两者的不同点为:

UML面向对象系统分析和设计:交互图相关推荐

  1. UML 面向对象分析与设计

    面向对象方法以其超越传统方法的技术先进性越来越得到更多的重视,但技术的先进性不能完全代表一种新生事物的最后成功,还要看它是否能得到有效的推广.统一建模语言(UML)的产生为这种推广规定了一致的表示,诸 ...

  2. UML(系统分析与设计核心总结)+期末考试例题分析

    快要期末考试了,虽然平时没怎么听课,但是期末来临,就是开始学习的时候,可以说是为了考试,但也确实可以学点东西,然后,我就根据老师发的一套习题,把UML的核心知识点总结一下,毕竟考试嘛,大家都懂,总是换 ...

  3. 面向对象系统分析与设计,让你真正了解什么是面向对象(傻瓜式讲解)

    面向对象是所有的核心,小编通过拆解,举例,概念化分析和讲解让任何人都能轻松了解面向对象. 首先我们以一张图来归纳一下面向对象的知识 通过上图我们来分析它的面向对象知识: 继承:继承自拖拉机,实现了扫地 ...

  4. 信息系统分析与设计杨选辉_信息系统分析与设计

    spContent=本课程按照传统的结构化开发方法由浅入深.完整地介绍了信息系统的设计与开发的全过程:还着重介绍了当前最为流行的面向对象的信息系统分析与设计方法. 课程精选了开发过程中最基本.最实用的 ...

  5. UML系统分析与设计01-准备

    http://www.cnblogs.com/showjan/archive/2012/05/14/2499713.html UML,统一建模语言,在软件系统分析和设计中被广泛应用.作为一个初学者,我 ...

  6. UML和模式应用学习笔记-1(面向对象分析和设计)

    大学时曾经开过<UML和模式应用>的课程,当时没有引起足够的重视,只为了应付考试并没有真正掌握书中的内容:现在工作中经常要用到UML及设计模式,决定每周花点时间重新对书中的内容进行学习:本 ...

  7. 用UML进行面向对象的分析设计的软件开发步骤

    用UML进行面向对象的分析设计的软件开发步骤 UML(Unified Modeling Language的缩写)统一建模语言,曾经红极一时,备受软件开发人员的推崇,不少工具宣称从设计到代码映射的强力支 ...

  8. UML面向对象的设计原则

    UML面向对象的设计原则 里氏替换原则 不满足LSP的方案 CS游戏中的枪械类图,士兵使用枪杀敌,具体用什么枪,调用的时候才知道.有一种玩具手枪,增加一个类ToyGun,射不出子弹,业务调用类出现了问 ...

  9. javascript 绘制uml_js面向对象编程和UML类图的设计

    引言 前端一直以来由于JavaScript的语言特性和一些限制导致不能很好的和Java等强类型语言一样面向对象化编程,导致es6到来以后,class的语法糖或者ts中面向对象编程的设计显得比较薄弱,接 ...

最新文章

  1. 解決BufferedReader读取UTF-8文件中文乱码(转)
  2. 一个Demo让你掌握Android所有控件
  3. Kamailio 简介
  4. 打造智能家居安防系统 七个选购常识你需懂
  5. 计算机由简单的二进制阴阳,二进制之美,大道至简,二生万物!
  6. SpringBoot启动流程解析
  7. Oracle shutdown immediate无法关闭数据库解决方法
  8. 张季跃 201771010139《面向对象程序设计(java)》第八周学习总结
  9. 地图上如何量方位角_野外怎样确定方位 户外辨别方向和位置的方法有哪些?...
  10. 给大家拓宽点边界,15分钟带你入门sklearn与机器学习——分类算法篇
  11. 博士读一半决定放弃了,丢人吗?
  12. 2021我的前端开发年度总结
  13. 随手练——小米OJ 高弗雷勋爵
  14. 数竞党必看!数学竞赛权威赛事大合集,先马后看
  15. 笔记本计算机的清洁保养知识,笔记本电脑怎么清洁卫生 笔记本清理灰尘要注意什么...
  16. 应用之星VS AppCan——对比两大移动开发平台
  17. my music / NightWish / Groove Coverage / DJ
  18. yii mysql 查询 类型转换_yii2.0数据库查询修改等方法
  19. more than and less than
  20. Python:爬取上市公司公告-Wind-CSMAR

热门文章

  1. python 如何获取文件路径_Python如何获取文件路径/目录
  2. 基于PTB-XL数据集的深度学习心电信号分类
  3. Angular基础教程
  4. 2021年中国医药行业发展现状及重点企业对比分析[图]
  5. 2022年标准员-通用基础(标准员)考试题及在线模拟考试
  6. 毕业设计 stm32智能恒温水杯 - 单片机 物联网 嵌入式
  7. samtools命令大全
  8. 数据结构——队列(Quene)(小白入门第三天)
  9. Oracle之PL/SQL编程从入门到精通-文心-专题视频课程
  10. error LNK2001: 无法解析的外部符号 解决方法