一遍就能懂的UML

别再死记硬背了!用EA(Enterprise Architect)画一张航空购票系统的UML用例图,实战走一遍就懂了 本文通过实战案例详细讲解如何使用Enterprise Architect(EA)绘制航空购票系统的UML用例图。从项目准备、参与者识别到用例定义和关系建立,手把手教你掌握UML建模技巧,特别解析了包含、扩展等关键关系的应用场景,帮助开发者摆脱死记硬背,真正理解用例图在系统设计中的实践价值。 阅读详情


UML (Unified Modeling Language,UML) 即 统一建模语言。是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言。它是软件建模语言的集大成者,在消化、吸收、提炼至今存在的所有软件建模语言的基础上提出,具有广泛的建模能力。

UML是OOA和OOD阶段的强大工具。有赖于UML图形化、统一化的表示方法,UML承担了系统需求与系统编码中间的需求转换和设计分析建模任务。

1. 建模工具

  • Rational Rose
  • power designer
  • Visio
  • processon

2. 类图

  • 妖怪类实现了施展法术这个接口
  • 精怪继承于妖怪类
  • 精怪关联了法宝类。关联系表示类与类之间的连接,它使得一个类知道另外一个类的属性和方法。
  • 精怪与取经人之间是依赖关系,简单理解就是精怪的某些方法中使用到了取经人,这种依赖具有偶然性、临时性,是非常弱的关系。但是类B的变化会影响到类A。举个例子,如某人要过河,则人与船的关系就是依赖,人过河之后,与船的关系就解除了,因此是一种弱的连接。在代码层面,为类B作为参数被类A在某个方法中使用。
  • 取经团队有取经人聚合而成。
  • 取经团队中师父不可或缺。

image-20220311092015827

3. 用例图

  • 悟空唐僧都是取经人,是泛化关系。
  • 悟空与救师父用例关联,唐僧妖怪与抓师父关联。各路神仙与西天诸佛与猴子搬救兵关联。
  • 救师父包含了妖怪抓师父和打妖怪环节。
  • 有可能,如果救师父不顺,猴子需要搬救兵,这是一个拓展用例。
    image-20220311093528232

4. 状态图

  • 列出了从开始到结束 。
  • 状态的转移以箭头表示。
  • 箭头可以表示发生的事件、以及触发的条件。

image-20220311095557896

5. 活动图

  • 菱形为条件判断
  • 存在并发活动

image-20220311101900389

6. 时序图

  • 每一个用例都对应一个时序图,代表功能实现的顺序以及层次逻辑。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UWBQpcbX-1646966686448)(C:\Users\jay\AppData\Roaming\Typora\typora-user-images\image-20220311103104470.png)]

7. 组件图

组件图上使用的元素

8. 部署图

image-20220311104239804

image-20220311104421453

建立UML(user mode linux)的linux内核调试环境 其实调试内核我最喜欢的还是print,因为它很灵活,这基本上是一个万能的东西,但是print总是需要自己去找对位置然后写上合适的print语句,有时还要为print一个东西而作很多准备工作。如果很复杂的时候可能要在很多点放置print,然后重新编译一遍,再跑一遍再看,如果不行还要再重新写,这就是print的局限性(但我还是乐此不疲)。由于print的缺点我们会去寻求其它的调试内核的手段,下面要说的 阅读详情

相关推荐

软件工程(六) 面向对象分析(OOA)之UML图特点

面向对象分析里面有一个非常重要的工具叫UML,UML不仅在工作中非常重要,在考试当中也是非常重要的,即作为上午综合体,又大概率又会出现在下午的案例分析中,作为一个25分的大题。UML叫做统一建模语言,它主要用于需求分析和软件的设计,来做一些模型的制作。比如我们要开发一个系统,如果我们用纯粹的文字表达和表述,可以想象相关人员理解会多么困难。所以将收集到的相关信息用图形直观的展示出来,UML就是做这么一个事情。从而便于大家的沟通和后续的设计和开发。

qq_35267557的博客 1169

OOA和OOD的合理解释

1.第一讲: 1.OOA和OOD到底是什么? OOA:全称Object-Oriented Analysis,面向对象分析方法。 在百度上查了几篇,发现讲的都大同小异,而且于我而言较为晦涩,生词太多。所以通过查阅专业书籍,资料,加上自己的理解,这里记录如下: OOAD,Object-oriented analysis and design: is a popular technical ...

the Blog of 等不到天亮丶等时光 1万+

设计模式(二)——UML类图介绍

在正式介绍设计模式之前,我们有必要学习一下UML类图,因为我们需要一种直观的表示方法来描述设计模式,这种方法即是UML类图。在Jungle之前的一篇博客里,已经介绍到UML类图UML类图关系与符号简介。这里,不妨我们再次学习一遍。 1.UML是什么? UML-Unified Model Language统一建模语言,是在开发阶段,说明、可视化、构建和书写一个面向对象软件的开放方法。统一建模语...

冯Jungle的个人博客 2万+

复习面向对象的OOA、OOD、OOP

原文链接:https://blog.youkuaiyun.com/qq443068902/article/details/44256619 OOAObject-Oriented Analysis:面向对象分析方法是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题。OOA与结构化分析有较大的区别。OOA所强调的是在系统调查资料的基础上,针对OO方法所需要的素材进行的归类分析和整理,而不是对管理业务现状和方法的分析。OOA(面向对象的分析)模型由5个层次(主题层、对象类层、结构层、属性层和服务层)

因热爱而执着,因执着而成功。 860

Practical_UML_Statecharts

这是一本很经典的有关状态机处理的书,它里面还详细介绍了QP工具实现状态机思想的方法。我相信对C语言和C++语言的开发者来说,这本书犹如九阴真经般让你的编程能力和思想有质的飞跃!

常见30种数学建模模型

常见的30种数学模型,比较详细,非常适合搞数学建模的学生使用

PKU SE笔记

PKU SE note 概论 软件=程序+文档 特点: 无形不可见的逻辑实体 设计开发的而不是生产制造的 较为复杂涉及多个领域 开发成本高 易于复制 分类: 系统软件,支撑软件,应用软件 软件危机 软件质量差,可靠性难以保证 成本难以控制 开发进度难以把握,周期拖得长 可维护性差,维护人员和费用增加 软件工程:从技术和管理两个方面对软件进行开发运行和维护 需求阶段:需求获取,需求定义,需求规约...

weixin_45881513的博客 357

深度解析:如何通过NodeRed实现私有485协议VRF中央空调与HomeAssistant的无缝对接

本文详细介绍了如何利用NodeRed的灵活流程化编程,破解并处理VRF中央空调的私有485协议,实现与HomeAssistant的无缝本地化集成。文章从协议分析、硬件准备到NodeRed核心流程搭建、数据映射及双向通信控制,提供了一套完整的实战方案,帮助用户将非标设备深度融入智能家居生态,摆脱对厂家云服务的依赖。

weixin_29173777的博客 408

在java中,OOA是什么?OOD是什么?OOP是什么?

1.OOA Object-Oriented Analysis:面向对象分析方法 是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题。OOA与结构化分析有较大的区别。OOA所强调的是在系统调查资料的基础上,针对OO方法所需要的素材进行的归类分析和整理,而不是对管理业务现状和方法的分析。 OOA(面向对象的分析)模型由5个层次(主题层、对象类层、结构层、属性层和服务层)和5个...

Muyaaa的博客 1891

ETL数据集成案例

一个典型的ETL数据集成案例是将多个来源的数据合并成一个数据集。假设有一个公司,该公司使用一些不同的系统来存储不同部门的数据,例如销售数据存储在一个CRM系统中,财务数据存储在一个ERP系统中,人力资源数据存储在一个HR系统中。为了更好地进行报告和分析,该公司决定将所有这些数据集成到一个数据仓库中。以下是实现这一目标的ETL过程的步骤:提取(Extract):首先,需要从每个系统中提取所需的数据。每个系统可能有不同的数据格式和结构,因此需要编写不同的提取程序或查询来提取数据。

runqu的博客 948

微信小程序 - error_msg:net::ERR_CONNECTION_RESET“(“errno“:600001,“errMsg“:“uploadFile:fail errcode:-101)

"errno":600001,"errMsg":"uploadFile:fail errcode:-101 cronet_error_code:-101 error_msg:net::ERR_CONNECTION_RESET"微信小程序,微信小程序wx.uploadFile报错,uniapp微信小程序uni.uploadFile上传文件报错,微信小程序调用wx.uploadFile返回错误ERR_CONNECTION_RESET,如何解决这个问题,上传图片出现报错,小程序上传视频报错,上传文件出现报错,如何

🏆 前端领域优质创作者 5413

UML统一建模语言快速入门

UML统一建模语言入门 基本介绍 UML(统一建模语言Unified Modeling Language)是一种建模(即把对象实体通过适当的抽象,用适当的表现规则描绘出的简洁的模仿品 ,模型有实体的一般特征及规律)语言,用来为面向对象开发系统的产品进行说明、可视化和编制文档的方法。 UML描述了一个系统的静态结构和动态行为。静态结构定义了系统中的重要对象的属性和操作,以及这些**对象之间的相互关系...

JunsIr的技术栈 1582

Android-Zygote进程的诞生—从init到Zygote启动

Android Zygote进程启动流程解析 Android系统的Zygote进程是所有应用进程的父进程,由init进程创建。启动流程分为: 内核阶段:加载init进程(PID=1) init进程阶段: 挂载基础文件系统(tmpfs、proc等) 设置SELinux安全策略 解析init.rc配置文件 Zygote启动:init进程通过app_process启动Zygote,预加载系统资源 SystemServer:Zygote fork出系统服务进程 关键点: init是用户空间第一个进程......

保持专注,保持热爱 637

UML:统一建模语言

随着机房验收,重新学习了一遍UML,整体上验证了米老师说的书一定要多读,当读完两遍之后,一定要去看书的前言和第一章的介绍,这个时候你会有不同的理解。你会知道为什么要学习这些内容,它能干什么。趁着这个机会看了一下这些内容。 什么是UML     Unified Modeling Language (UML)又称统一建模语言或标准建模语言,是始于1997年一个OMG标准,它是一个支持模型化和软件系

随心更博 2070

2024年全国青少年信息素养大赛初赛真题(算法创意实践挑战赛C++小学组:带解析)

2024全国青少年信息素养大赛C++算法创意实践挑战赛初赛真题及解析

王老师青少年编程 2809

C++大牛的博客

1. C++大牛的博客     Bjarne Stroustrup的博客: Bjarne Stroustrup’s Homepage Bjarne Stroustrup,不认识的可以去面壁了,没有他,就没有我们现在的饭碗。Bjarne Stroustrup是丹麦人,目前任教于TAMU。他的Homepage和他的书籍The C++ Programming Language一样

程序猿老樊的博客 6244

【UML】初次谋面

前言:

王萌萌 1579

深度学习+遥感:2025最新土地利用分类资源大全(数据集/论文/代码)

近年来,深度学习在遥感影像土地利用分类领域取得了突破性进展,从传统的农田、森林识别,到复杂的城市功能区划分,AI正在重新定义我们对地表覆盖的认知。无论是科研还是工程应用,高质量数据集、前沿算法和开源工具都是成功的关键。本文精心整理了2024年最值得关注的土地利用分类资源,包括:✅ 10+个权威数据集(覆盖全球、多分辨率、多光谱/雷达)✅ 15+篇顶会论文(CNN/Transformer/自监督学习等SOTA方法)✅ 6大开源工具箱(PyTorch/Keras实现,即拿即用)

hanfeng5268的博客 1312

UML(统一建模语言)——学习笔记(一)

写在前头:  从学习编程以来,就一直被这个神秘的名词所疑惑,UML,统一建模语言。会不会用?会,可以用它画个类图,流程图,状态图。但从来没有系统学习一下。于是利用一下周六日的时间,梳理一遍,以备后用。 UML(统一建模语言)是通用的可视化标准建模语言。由构造块、公共机制、构架三部分组成。   构造块:包括基本的 UML 建模元素(类、接口、用例等)、关系(关联关系、依赖关

c1052981766的专栏 540

芯擎SEC1000芯片参数详细介绍

随着龙鹰一号的不断进化和应用,未来的智能座舱将不仅仅是显示和控制的集成,更是人与车之间的一种默契和无缝交互的体现。在汽车行业迈向智能化和电动化的浪潮中,座舱已不仅仅是一个驾驶者的操作空间,而是逐渐演变为一个集娱乐、信息、控制于一体的智能交互平台。今天的汽车不仅需要强劲的动力和炫酷的外观,更需要一颗强大而智能的“心脏”来支撑复杂的座舱体验和安全驾驶需求。想象一下,未来的汽车不再仅仅是交通工具,它将成为你的移动私人管家,了解你的习惯,甚至提前预测你的需求。让我们一起走进龙鹰一号的世界,探索智能座舱的无限可能!

weixin_43199439的博客 1724

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

UML——宏观把控(一)

强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan 看完视频后脑子中出现了两个数字,9和4,9代表什么呢?9代表UML中的9种图,4又代表什么呢?4即是UML中的四种关系。看过了软工视频,了解了开发一个项目的一套流程,写完第一遍机房收费系统的文档,了解了文档的指导性意义,现在又接触了UML,他里边的九种图真是给文档...

至尊宝 2万+

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

【UML学习】UML概述

前言 软件工程是设计思想,而UML是设计工具。通过设计工具的使用,使我们的需求能定位的更加准确,项目的前期设计更加的全面。UML的学习是我们由面向过程到面向对象的一个重要的转折点。 概述 在提及UML之前,我们要提到一个熟悉的名词,面向对象。它是一种对现实的事物进行理解和抽象的方法。面向对象的组成包括对象,类,属性,方法;特点包括封装,继承,多态。      而检验面向对象程度的指

王璐 1296

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

UML学习推荐阅读书籍《大象——thinking in UML》

前言 本书主要是讲一种如何以对象的思考方式将复杂化的业务用其的建模方法的方法形象的表达出来。整本书也是围绕UML 的语言概念展开,如定义其元素:用例,业务,包,关系,组件,节点。又通过其语法如:视图和模型来完成一个业务的分析。最后通过一个例子来强化UML的语法。作者在文章最后一篇还帮我们扩展关于设计的思考。包括理解用例本质、理解建模的抽象层次、学会设计模式等都是为了让我们更扎实的思考底层设计思维和方法论这样才能更好运用UML 。 一、内容简介 《大象:Thinking in UML》以UML为载体,将面向

qq_58251465的博客 3953

UML类图介绍

在正式介绍设计模式之前,我们有必要学习一下UML类图,因为我们需要一种直观的表示方法来描述设计模式,这种方法即是UML类图。在Jungle之前的一篇博客里,已经介绍到UML类图UML类图关系与...

逆流而尚 的博客 565

UML类图md

UML类图学习在学习设计JAVA模式之前,我们应该先来了解下UML类图,因为大部分设计模式学习是配合UML类图一起学习的。目录 **UML全称:**Unified Modeling Language (UML)又称统一建模语言或标准建模语言,UML包括了差不多13中图形,对于我们研究设计模式来说,我们只需了解类图就可以了。类图:就是描述我们代码中的类和接口,把他们使用图形展现出来,并且我们需要了解

Gehang的博客 1671

【UML之宏观了解】

标题

展翅的雄鹰 1034
上一篇: JAVA多线程基础篇 7、线程协作 wait()和notify()
下一篇: JAVA多线程基础篇 8、线程隔离与ThreadLocal
悟空学编程
博客等级 码龄12年 32粉丝 123原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悟空学编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值