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

《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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C++】 解决 C++ 语言报错:Double Free or Corruption

文章目录 引言 双重释放或内存破坏(Double Free or Corruption)是 C 编程中常见且严重的内存管理问题。当程序尝试多次释放同一块内存或对已经释放的内存进行操作时,就会导致双重释放或内存破坏错误。这种错误不仅会导致程序崩溃&#xff0c…

移动应用开发课设——原神小助手文档(1)

2023年末,做的移动应用开发课设,分还算高,项目地址:有帮助的话,点个赞和星呗~ GitHub - blhqwjs/-GenShin_imp: 2023年移动应用开发课设 本文按照毕业论文要求来写,希望对大家有所帮助。 xxxx大学课程设计报…

SpringBoot项目练习

文章目录 SpringBootVue后台管理系统所需软件下载、安装、版本查询Vue搭建一个简单的Vue项目 Spring项目1项目架构 SpringBootVue后台管理系统 学习视频: https://www.bilibili.com/video/BV1U44y1W77D/?spm_id_from333.337.search-card.all.click&vd_sourcec…

基于SpringBoot的休闲娱乐代理售票系统

本系统主要包括管理员和用户两个角色组成;主要包括:首页、个人中心、用户管理、折扣票管理、分类管理、订单信息管理、退票信息管理、出票信息管理、系统管理等功能的管理系统。 💕💕作者:Weirdo 💕&#x…

机器学习——无监督学习(k-means算法)

1、K-Means聚类算法 K表示超参数个数,如分成几个类别,K值就取多少。若无需求,可使用网格搜索找到最佳的K。 步骤: 1、随机设置K个特征空间内的点作为初始聚类中心; 2、对于其他每个点计算到K个中心的距离,…

[BJDCTF 2nd]简单注入

sqlsqlsqlsqlsql又来喽 过滤了单双引号,等于符号,还有select等,但是这里没有二次注入 。扫描发现hint.txt 看出题人的意思是,得到密码即可获得flag。 select * from users where username$_POST["username"] and passw…

CTFShow的RE题(二)

逆向5 附件无后缀,查一下是zip,解压得到一个exe一个dll文件。 往下继续看 但也根进去看看 发现是在加载的dll文件 还有一个返回时调用的函数 发现是打印函数 根据以往的经验应该是要跳转到这里,动调一下。 发现exe链接了dll,…

昇思25天学习打卡营第2天|MindSpore快速入门

打卡 目录 打卡 快速入门案例:minist图像数据识别任务 案例任务说明 流程 1 加载并处理数据集 2 模型网络构建与定义 3 模型约束定义 4 模型训练 5 模型保存 6 模型推理 相关参考文档入门理解 MindSpore数据处理引擎 模型网络参数初始化 模型优化器 …

(一)项目实践-利用Appdesigner制作目标跟踪仿真软件

目录 前言 一、软件页面设计 二、仿真部分 (一)参数输入 (二)绘图部分 (三)目标追踪程序 总结 前言 本博客有一个专栏用来介绍有关MATLAB中的Appdesigner的操作以及使用,本文是为了深化读者对于…

昇思25天学习打卡营第11天|ResNet50图像分类

文章目录 昇思MindSpore应用实践基于MindSpore的ResNet50图像分类1、ResNet50 简介2、数据集预处理及可视化3、构建网络构建 Building Block构建 Bottleneck Block构建 ResNet50 网络 4、模型训练5、图像分类模型推理 Reference 昇思MindSpore应用实践 本系列文章主要用于记录…

Java | Leetcode Java题解之第217题存在重复元素

题目&#xff1a; 题解&#xff1a; class Solution {public boolean containsDuplicate(int[] nums) {Set<Integer> set new HashSet<Integer>();for (int x : nums) {if (!set.add(x)) {return true;}}return false;} }

【JavaWeb程序设计】JSP内置对象

目录 一、通过测试以下代码&#xff0c;了解各种隐含对象与作用域变量的使用 1. request隐含对象的使用&#xff08;request.jsp&#xff09; 2. out隐含对象的使用&#xff08;out.jsp&#xff09; 3. application隐含对象的使用&#xff08;application.jsp&#xff09; …

ONLYOFFICE最新8.1版本——桌面编辑器简单测评

前言 大家好&#xff0c;我是小雨&#xff0c;看到最近ONLYOFFICE更新了最新的版本&#xff0c;更新了一下当前版本来具体的测评一下&#xff0c;先来看看官网提供的各类更新信息&#xff0c;下面是我找到的三个主页&#xff0c;包括功能演示链接&#xff0c;官网连接以及专门…

UDP协议:独特之处及其在网络通信中的应用

在网络通信领域&#xff0c;UDP&#xff08;用户数据报协议&#xff0c;User Datagram Protocol&#xff09;是一种广泛使用的传输层协议。与TCP&#xff08;传输控制协议&#xff0c;Transmission Control Protocol&#xff09;相比&#xff0c;UDP具有其独特的特点和适用场景…

Go基础知识

目标 简单介绍一下 GO 语言的诞生背景&#xff0c;使用场景&#xff0c;目前使用方案简单介绍一下 GO的使用&#xff0c;GO的基础语法&#xff0c;简单过一下一些GO的语言例子着重介绍一下GO的特性&#xff0c;为什么大家都使用GO语言&#xff0c;GO的内存结构、为什么都说GO快…

python No interpreter

在 Python 的环境中&#xff0c;如果你遇到了 "No interpreter" 的错误或提示&#xff0c;这通常意味着你的开发环境或IDE&#xff08;如PyCharm、VS Code、Jupyter等&#xff09;没有找到 Python 解释器。要解决这个问题&#xff0c;你可以按照以下步骤操作&#xf…

基于Transformer神经网络的锂离子电池剩余使用寿命估计MATLAB实现【NASA电池数据集】

Transformer神经网络 基于Transformer神经网络的锂离子电池剩余使用寿命估计是一种先进的方法&#xff0c;它利用了Transformer模型在处理序列数据方面的优势。 Transformer能够有效地捕捉时间序列中的长程依赖关系和非线性模式&#xff0c;相比传统的基于循环神经网络&…

InnoDB中的表级锁、页级锁、行级锁详解

MySQL支持三种层级的锁定 我们知道&#xff0c;MySQL支持三种层级的锁定&#xff0c;分别为&#xff1a; 表级锁定 表级锁是MySQL中锁定粒度最大的一种锁&#xff0c;表示对当前操作的整张表加锁&#xff0c;它实现简单&#xff0c;资源消耗较少&#xff0c;被大部分MySQL引…

【C++/STL】优先级队列的介绍与模拟实现仿函数

✨ 万物与我皆是自由诗 &#x1f30f; &#x1f4c3;个人主页&#xff1a;island1314 &#x1f525;个人专栏&#xff1a;C学习 &#x1f680; 欢迎关注&#xff1a;&#x1f44d;点赞 &#x1f442;&#x1…

深入理解TCP协议格式(WireShark分析)

传输控制协议&#xff08;TCP&#xff09;是互联网中最为关键的通信协议之一。了解TCP协议的细节不仅对于网络工程师至关重要&#xff0c;对于任何涉及网络通信的软件开发人员而言都是必备的知识。本文旨在深入探讨TCP协议&#xff0c;从协议的基本概述到其工作机制&#xff0c…