新书速览|UML 2.5基础、建模与设计实践

news2024/11/19 14:42:23

《UML 2.5基础、建模与设计实战》

本书内容

UML是以面向对象图形的方式来描述任何类型的系统,应用领域非常广泛,其中常用的是建立软件系统的模型。《UML 2.5基础、建模与设计实践》基于draw.io开源免费软件,全面讲解UML 2.5的基本概念和建模方法,配套示例源文件、PPT课件、习题答案和教学大纲。

全书分为12章,主要内容包括UML概述,面向对象技术和建模基础,UML建模工具,用例和用例图,类图和对象图,顺序图和通信图,状态机图和活动图,组件图和部署图,包图、组合结构图、定时图、交互概览图和概要图等。最后讲解3个实战案例—汽车租赁系统、新闻中心管理系统和BBS论坛系统,通过这3个案例系统地讲解UML建模与设计的实战应用。

本书作者

李波,副教授,硕士生导师,中国科学院大学模式识别与智能系统专业博士。从事软件工程及其相关工作多年,编写图书多部,包括《JSP网络编程学习笔记》《Android 7应用程序开发教程》《UML 2基础、建模与设计实战》《PowerDesigner 16系统分析与建模实战》等。

本书读者

《UML 2.5基础、建模与设计实践》适合UML初学者、软件工程师、系统架构师、系统分析员及其他IT人员,同时也适合作为高等院校和高职高专院校软件相关专业的学生学习系统建模时的参考书

本书目录

第1章  UML概述 1

1.1  什么是UML 1

1.2  UML的发展历程 2

1.3  UML的特点 3

1.4  UML的组成 3

1.4.1  UML中的事物 3

1.4.2  UML中的关系 4

1.4.3  UML 2.5的图 5

1.5  UML 2.5图的分类 12

1.5.1  结构建模图 12

1.5.2  行为建模图 13

1.6  系统开发阶段 14

1.7  小结 15

1.8  习题 16

第2章  面向对象技术和建模基础 17

2.1  面向对象的基本概念 17

2.1.1  面向对象方法 18

2.1.2  对象 19

2.1.3  类 20

2.1.4  封装 21

2.1.5  继承 22

2.1.6  多态 23

2.1.7  消息 24

2.2  面向对象开发 24

2.2.1  系统调查和需求分析 25

2.2.2  面向对象分析方法 26

2.2.3  面向对象设计方法 27

2.3  软件建模概述 28

2.3.1  软件建模的概念 28

2.3.2  软件建模的用途 28

2.3.3  软件建模的优点 28

2.4  小结 29

2.5  习题 29

第3章  UML建模工具简介 30

3.1  常用的UML建模工具 31

3.1.1  Rational Rose 31

3.1.2  Visio 33

3.1.3  PowerDesigner 34

3.1.4  StarUML 35

3.1.5  Draw.io 37

3.2  Draw.io安装与使用 38

3.2.1  在线Web版Draw.io的使用 38

3.2.2  离线桌面版Draw.io的安装 40

3.3  使用Draw.io建模 44

3.3.1  Draw.io主界面 44

3.3.2  快速开始 45

3.3.3  Draw.io的基本操作 46

3.3.4  Draw.io的快捷键 48

3.4  小结 50

3.5  习题 50

第4章  用例和用例图 51

4.1  用例和用例图的概念 51

4.1.1  参与者 53

4.1.2  用例 54

4.1.3  用例描述 55

4.2  用例之间的可视化表示 57

4.2.1  包含关系 58

4.2.2  扩展关系 58

4.2.3  泛化关系 59

4.2.4  分组关系 59

4.3  用例图建模技术及应用 60

4.4  小结 70

4.5  习题 70

第5章  类图和对象图 72

5.1  类图和对象图概述 73

5.1.1  类图的概述 73

5.1.2  对象图的概述 76

5.1.3  接口 77

5.1.4  抽象类 77

5.2  类之间的关系 78

5.2.1  依赖关系 78

5.2.2  泛化关系 80

5.2.3  关联关系 81

5.2.4  实现关系 85

5.3  类图的建模技术及应用 86

5.3.1  类图的建立过程 86

5.3.2  类的识别方法 88

5.3.3  类图分析实例 90

5.4  小结 98

5.5  习题 99

第6章  顺序图和通信图 100

6.1  顺序图 100

6.1.1  顺序图概述 100

6.1.2  顺序图的基本内容 101

6.1.3  约束 107

6.1.4  顺序图的建模技术及应用 109

6.2  通信图 114

6.2.1  通信图概述 114

6.2.2  通信图的基本内容 115

6.2.3  通信图建模技术及应用 119

6.2.4  顺序图与通信图的比较 122

6.3  小结 123

6.4  习题 124

第7章  状态机图和活动图 125

7.1  状态机图 125

7.1.1  状态机图概述 125

7.1.2  状态机图的基本元素 127

7.1.3  状态 127

7.1.4  转换 131

7.1.5  状态机图的建模技术及应用 132

7.2  活动图 136

7.2.1  活动图概述 136

7.2.2  活动图的基本元素 137

7.2.3  动作状态 137

7.2.4  活动状态 137

7.2.5  转移 137

7.2.6  分支 138

7.2.7  分叉和汇合 138

7.2.8  泳道 139

7.2.9  对象流 140

7.2.10  活动图的建模技术及应用 140

7.2.11  状态机图和活动图的比较 146

7.3  小结 146

7.4  习题 147

第8章  组件图和部署图 148

8.1  组件图 148

8.1.1  组件图概述 148

8.1.2  组件 150

8.1.3  接口 151

8.1.4  关系 152

8.1.5  组件图的建模技术及应用 153

8.2  部署图 156

8.2.1  部署图概述 156

8.2.2  节点 157

8.2.3  组件 159

8.2.4  关系 159

8.2.5  部署图的建模技术及应用 159

8.3  小结 163

8.4  习题 164

第9章  包图、组合结构图、定时图、交互概览图和概要图 165

9.1  包图 165

9.1.1  包图概述 165

9.1.2  包之间的关系 166

9.1.3  包图的建模技术及应用 166

9.2  组合结构图 167

9.2.1  组合结构图概述 167

9.2.2  基本元素 167

9.2.3  组合结构图的建模技术及应用 168

9.3  定时图 168

9.3.1  定时图概述 168

9.3.2  基本元素 169

9.3.3  定时图的建模技术及应用 169

9.4  交互概览图 171

9.4.1  交互概览图概述 171

9.4.2  基本元素 171

9.4.3  交互概览图的建模技术及应用 171

9.5  概要图 174

9.5.1  概要图概述 174

9.5.2  基本元素 174

9.5.3  概要图的建模技术及应用 177

9.6  小结 178

9.7  习题 178

第10章  汽车租赁系统 179

10.1  系统需求分析 179

10.1.1  汽车租赁系统的需求分析 179

10.1.2  功能模块图 180

10.2  用例图设计建模 182

10.2.1  汽车租赁系统中的用例图简述 182

10.2.2  与客户有关的用例图 182

10.2.3  与系统维护人员有关的用例图 183

10.2.4  与技术人员有关的用例图 184

10.3  类图设计建模 185

10.3.1  数据访问层类图 185

10.3.2  业务层类图 186

10.4  顺序图 187

10.4.1  与客户有关的事件流和顺序图 187

10.4.2  与系统维护人员有关的事件流和顺序图 190

10.4.3  以技术人员有关的事件流和顺序图 193

10.5  通信图设计建模 195

10.5.1  汽车租赁系统中的通信图 195

10.5.2  与客户有关的通信图 196

10.5.3  与技术人员有关的通信图 198

10.5.4  与系统维护人员有关的通信图 199

10.6  活动图 202

10.6.1  系统中的活动图 202

10.6.2  与客户有关的活动图 202

10.6.3  与系统维护人员有关的活动图 206

10.6.4  与技术人员有关的活动图 209

10.7  状态机图设计建模 210

10.8  部署图设计建模 212

第11章  新闻中心管理系统 214

11.1  系统需求说明 214

11.1.1  新闻中心管理系统的需求分析 214

11.1.2  新闻中心管理系统的功能模块 215

11.1.3  UML对系统需求分析的支持 217

11.1.4  利用UML模型构造软件体系结构 217

11.2  系统的用例图 218

11.3  系统的类图 220

11.4  系统的顺序图 223

11.5  系统的通信图 225

11.6  系统的状态机图 227

11.7  系统的活动图 229

11.8  系统的配置和实现 230

11.9  系统的部署图 230

第12章  BBS论坛系统 231

12.1  BBS论坛系统的需求分析 231

12.1.1  系统的功能需求 232

12.1.2  前台功能模块 234

12.1.3  后台功能模块 236

12.2  BBS论坛系统的UML建模 239

12.2.1  BBS论坛系统的用例图 239

12.2.2  BBS论坛系统的顺序图 243

12.2.3  BBS论坛系统的通信图 260

12.2.4  BBS论坛系统的状态机图 268

12.2.5  BBS论坛系统的活动图 269

12.3  BBS论坛系统中的类及相互关系 275

12.4  BBS论坛系统中的配置和部署 281

12.4.1  组件图的建立 281

12.4.2  部署图的建立 282

编辑推荐

《UML 2.5基础、建模与设计实践》以实战为主旨,结合draw.io免费软件,详细介绍UML 2.5中14个图的用法,以及汽车租赁、新闻管理和BBS系统建模实战案例,帮助读者系统地掌握UML建模技术及其整合使用,并提高系统建模的能力。

本文摘自《UML 2.5基础、建模与设计实践》,获出版社和作者授权发布。

UML 2.5基础、建模与设计实践——jd

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1896393.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringCloud集成Oauth2.0看完这个基本就理解原理了

目录 1.技术栈准备工作 2. 模块架构介绍 3.网关模块(gateway) 3.1 网关模块(gateway) 3.2 附上主要依赖包 3.3 bootstrap 相关配置 3.4 gateway.yaml 3.5 UserAuthGlobalFiter 全局拦截器配置 4.授权认证模块(auth) 4.1 启用web安全认证&#xff…

移动硬盘传输中断后无法识别:深度解析与数据救援指南

在日常的数据存储与传输过程中,移动硬盘凭借其大容量、便携性成为众多用户的首选。然而,当我们在复制或移动大量数据时遭遇传输中断,随后发现移动硬盘无法被电脑识别,这无疑是一场数据安全的紧急警报。此情此景,不仅影…

RestTemplate、MockMVC、Swagger

rest代码风格 硬编码的部分在实际开发中都是会替换成枚举对象 SpringMVC会自动把json格式的post请求转化为对应接收的 对象 响应请求时,也会自动把 对象转化为 json格式的 RestTemplate 浏览器的地址栏只能提供get请求访问后端,如果要使用post方式发送…

400G SR4和800G SR8光模块在AI集群中的应用

人工智能(AI)技术的快速发展下,AI集群的计算能力和数据传输需求不断提升。为了满足这一需求,光模块技术也在不断进步。高速率光模块作为新一代高速光通信解决方案,正在逐步应用于AI集群中,为其提供更高效、…

Python函数缺省参数的 “ 坑 ” (与C++对比学习)

我们都知道Python函数的缺省参数可以降低我们调用函数的成本,但是一般我们的缺省参数都是不可变对象,如果是可变对象,我们对其多次调用会发生什么呢? def func(arr[]):arr.append(Hello)print(arr)func() func() func() 这貌似…

phpcms 升级php8.3.8

windows 2008 server 不支持php8.3.8,需升级为windows 2012 1.下载php8.3.8 PHP8.3.9 For Windows: Binaries and sources Releases 2.配置php.ini (1.)在php目录下找到php.ini-development文件,把它复制一份,改名为php.ini (2.)修改php安装目录 根…

盘点2024年六大好用的安全管理软件!

“安全管理”始终是国家和社会关注的焦点,因为安全管理包括了人身安全、企业运营安全、设备稳定以及社会和谐等多个维度。在当前的社会和技术背景下,企业为追求降本增效且能更加高效的管理安全问题,也在不断探索和尝试各种安全管理软件。我凭…

游戏AI的创造思路-技术基础-计算机视觉

让游戏的AI具备“眼睛”和“视觉”,就是通过计算机视觉的方法进行的。现在,越来越多的游戏,特别是动捕类游戏都在使用这个方法。当然,计算机视觉不仅仅用于游戏,越来越多的应用使用到这个技术 目录 1. 定义 2. 发展历…

【面向就业的Linux基础】从入门到熟练,探索Linux的秘密(九)-git(1)

Git是一个版本管理控制系统(缩写VCS),它可以在任何时间点,将文档的状态作为更新记录保存起来,也可以在任何时间点,将更新记录恢复回来。 文章目录 前言 一、git是什么 二、git基本概念 三、git基本命令 总结…

02-android studio实现下拉列表+单选框+年月日功能

一、下拉列表功能 1.效果图 2.实现过程 1&#xff09;添加组件 <LinearLayoutandroid:layout_width"match_parent"android:layout_height"wrap_content"android:layout_marginLeft"20dp"android:layout_marginRight"20dp"android…

vue配置sql规则

vue配置sql规则 实现效果组件完整代码父组件 前端页面实现动态配置sql条件&#xff0c;将JSON结构给到后端&#xff0c;后端进行sql组装。 这里涉及的分组后端在组装时用括号将这块规则括起来就行&#xff0c;分组的sql连接符&#xff08;并且/或者&#xff09;取组里的第一个。…

细说MCU的ADC模块单通道连续采样的实现方法

目录 一、工程依赖的硬件及背景 二、设计目的 三、建立工程 1、配置GPIO 2、选择时钟源和Debug 3、配置ADC 4、配置系统时钟和ADC时钟 5、配置TIM3 6、配置串口 四、代码修改 1、重定义TIM3中断回调函数 2、启动ADC及重写其回调函数 3、定义用于存储转换结果的数…

30斤用什么快递便宜?大件物品怎么寄划算省钱?

大学生小李最近因为毕业要搬家&#xff0c;不得不把一堆书籍、衣服和一些生活用品寄回家。作为一个精打细算的“穷学生”&#xff0c;小李可是不愿意在快递费上花冤枉钱的。于是&#xff0c;他开始研究各种寄快递省钱的方法&#xff0c;今天我们就来看看小李是怎么操作的。一、…

【Python画图-seaborn驯化】一文学会seaborn画散点图scatterplot、swarmplot技巧

【Python画图-seaborn驯化】一文学会seaborn画散点图scatterplot、swarmplot 本次修炼方法请往下查看 &#x1f308; 欢迎莅临我的个人主页 &#x1f448;这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合&#xff0c;智慧小天地&#xff01; &#x1f387; 免费获取相关内…

用免费的可视化工具制作3D智慧城市大屏,融合数字孪生,引领数据升级

在如今数据驱动的时代&#xff0c;越来越多的场景中都有可视化大屏的身影&#xff0c;许多企业和政府部门也从常规的二维看板渐渐地转向更加炫酷&#xff0c;立体的3D可视化大屏。3D可视化大屏成为了展示复杂数据、实时监控业务动态的重要工具。本文将详细介绍如何使用免费的数…

基于Springboot的智慧养老中心管理系统

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于Springboot的智慧养老中心管理系统,…

Appium+python自动化(四十一)-Appium自动化测试框架综合实践 - 即将落下帷幕(超详解)

1.简介 今天我们紧接着上一篇继续分享Appium自动化测试框架综合实践 - 代码实现。到今天为止&#xff0c;大功即将告成&#xff1b;框架所需要的代码实现都基本完成。 2.data数据封装 2.1使用背景 在实际项目过程中&#xff0c;我们的数据可能是存储在一个数据文件中&#x…

RRStudio 下载及安装(详尽版)

R语言来自S语言&#xff0c;是S语言的一个变种。S语言、C语言、Unix系统都是贝尔实验室的研究成果。R 语言是一种解释型的面向数学理论研究工作者的语言&#xff0c;主要用于统计分析、绘图、数据挖掘。 R 语言自由软件&#xff0c;免费、开放源代码&#xff0c;支持各个主要计…

NLP入门——前馈词袋分类模型的搭建、训练与预测

模型的搭建 线性层 >>> import torch >>> from torch import nn >>> class DBG(nn.Module): ... def forward(self,x): ... print(x.size()) ... return x ... >>> tmod nn.Sequential(nn.Linear(3,4),DB…

面试-微服务篇

springcloud组件有哪些&#xff1f; eureka、ribbon负载均衡、feign、hystrix、zuul/gateway网关 nacos、ribbon、feign、sentinel、gateway 服务注册和发现是什么意思&#xff1f;springcloud如何实现服务注册发现&#xff1f; 微服务中必须要使用的组件&#xff0c;考察我们使…