【计算机三级数据库技术】第5章 UML与数据库应用系统--附思维导图

简介: 本文提供了UML在数据库应用系统设计中的应用概览,包括UML建模框架、视图、四大图的介绍,以及如何使用活动图、用例图、类图、顺序图等UML图来表达业务流程、系统需求和内部结构,最后还涉及了系统微观和宏观设计的UML表达方式。

1.png

1 DBAS建模

(1)UML的四层建模框架

  • 元元模型
    最基本的元素“事物”
  • 元模型
    组成了UML的基本元素,包括面向对象和面向组件的概念
  • 模型
    组成了UML的模型,这一层中的每一个概念都是元模型层中概念的一个实例
  • 用户模型
    这层的所有元素都是UML模型的实例

(2)UML五种视图

  • 结构视图(静态)
    包图
    类图
    对象图
    复合结构图
    组件图
    部署图
  • 实现视图
  • 行为视图(动态)
    用例图
    交互图
    顺序图
    通信图
    交互概念图
    时间图
    状态图
    活动图
  • 环境视图
  • 用例视图

(3)UML四大图

  • 状态图
  • 序列图
  • 协作
  • 活动

2 业务流程与需求表达

(1)业务流程-活动图

  • 主要用于描述系统、用例和程序模块中逻辑流程的先后执行次序,并行次序
  • 与流程图的区别
    活动图还可以描述并行操作,而流程图只能描述并行操作
  • 图形表示
    实心圆表示起点
    空心圆表示终点
  • 目的
    表达流程的规范性,表达要明确、简单和清晰,尽量避免深入细节

(2)系统需求-用例图

  • 用例
    描述从系统用户的角度来观察,系统应该具有哪些功能,帮助分析人员理解系统 的行为
  • 系统
    再边界线以内的区域,抽象地表示能够实现的所有基本功能
  • 角色
    与系统进行交互的外部实体,可以是系统用户也可以是其他系统或硬件设备

3 DBAS系统内部结构的表达

(1)系统结构-类图

  • 作用
    主要表达的是问题领域的概念模型,在这抽象的概念中,除了表达该抽象概念的名称外,另外需要表达该抽象该您的属性与行为

  • 组成

    • 属性
      可见性
      名称
      类型
      缺省值(初始值)
      约束性
    • 操作
      可见性
      名称
      参数表
      返回类型表达式
      约束性
    • 关系
      关联关系 (注意:聚集是是是一种特殊形式的关联)
      继承关系
      依赖关系
      精华关系(用于表示同一事物的两种描述之间的关系)
      (2)系统结构-顺序图
  • 作用
    用于描述系统内部对象之间的消息发送和接受序列

  • 目的
    表达对象与对象之间如何沟通和合作,称为动态模型

  • 注意
    顺序图有两个坐标轴:纵坐标表示时间的持续时间,横向表示对象,每一个对象用矩形表示,纵向的虚线表示对象再序列中的执行情况,称为对象的生命线

    对象间的通信用对象生命线之间的水平消息线表示,消息线的箭头说明消息的类型,如同步、异步或简单

    浏览顺序图的方法是从上到下查看对象间交换的信息

    消息也可以附加条件,这时规定只有当条件为真时才可以发送和接收消息,如果条件之间是互斥的,则一次只能发送一条消息

    在顺序图中可以描述对象是如何被创建和销毁的,通过一条消息,一个对象可以创建另一个对象。被创建对象的表示符号直接放置再创建它的地方。创建和销毁对象的消息一般是同步消息。但一个对象被销毁时,用一个大×来标记。同时,被销毁对象的生命线也停止于被销毁的位置。

(3)系统结构-通信图(协作图)

  • 作用
    表示对象之间的联系以及对象间发送和接收的消息
  • 与顺序图的区别
    顺序图强调的是时间,通信图强调的是空间
    通信图显示的是对象之间的关系,并不侧重交互的顺序,它没有将时间作为一个单独的维度,而是使用序列号来确定消息及并发线程的顺序

4 DBAS系统微观设计的表达

(1)微观设计-对象图
是在某一个特定时间点上,系统所存在的所有对象的一个快照
通常用于表示复杂的类图的一个实例
对象图展示了一组对象以及对象间的关系
(2)微观设计-状态机图

  • 目的
    在于陈述系统中有关事件或对象的状态转移,若系统设计人员设计了某一个类的状态,而该状态是通过该类的事件或行为来改变的,则可以在该类中绘制一张状态图来陈述该状态的细节设计
  • 微观设计-时间图
    体现时间因子的作用
    整个矩形就是一个生命线
    主要一时间轴的推移,让时间因子呈现一个可视化的效果
    一张时间图通常会对应至少一张状态图,通常可以把事件图作为状态度的辅助说明工具

5 DBAS系统宏观设计的表达

(1)宏观设计-包图

  • 作用
    表明包以及包之间关系的类图,表达系统中不同的包、命名空间或不同的项目间彼此的关系
  • 包与包之间的关系
    依赖
    精华
    通用化(继承)
  • 可见性
    私有
    公有
    保护
    实现

(2)宏观设计-交互概述图

  • 作用
    主要利用活动图作为基础,只是其在控制流间连接的UML元素并非活动,而是交互图(包括顺序图、通信图、时间图以及交互概述图)因此,交互概述图的主要元素和活动图完全一样,唯一不同的是一个交互框,用来取代活动图中活动框

    交互概述图可把不同交互图结合在同一张图来表达

    当系统中对象协作关系越来越复杂,只用一张交互图无法表达时,可以使用交互概述图将所有交互图的关系呈现出来

(3)宏观设计-复合结构图

  • 适用于进行系统整合的情况,可以利用复合结构图绘制出要开发的系统与外部系统间的关系,这种图非常适合架构师在初期阶段作为评估系统复杂度的工具
  • 组成
    • 部件(Part)
      复合结构图中最主要的元素
    • 装配关系(Assembly)
      部件与部件之间的连接关系
    • 接口(Interface)
      需求接口(Required Interface)
      供给接口(Provided Interface)
    • 端口(Port)
      部件与部件连接时,必须通过端口才能连接

6 DBAS系统实现与部署的表达

(1)系统实现-组件图

  • 组件用来表示系统的静态实现视图,展示了一组组件之间的组织和依赖,用于对源代码、可执行的发布、物理数据库等的系统建模
  • 组件是逻辑设计中定义的概念和功能在物理架构中的实现
  • 典型情况下,组件是开发环境中的实现文件

(2)系统实现-部署图
又叫配置图,描述系统中硬件和软件的物理配置情况和系统体系结构

目录
相关文章
|
6天前
|
人工智能 物联网 大数据
解密时序数据库的未来:TDengine Open Day技术沙龙精彩回顾
在数字化时代,开源已成为推动技术创新和知识共享的核心力量,尤其在数据领域,开源技术的涌现不仅促进了行业的快速发展,也让更多的开发者和技术爱好者得以参与其中。随着物联网、工业互联网等技术的广泛应用,时序数据库的需求愈发强烈,开源的兴起更是为这一技术的创新与普及提供了强有力的支持。
17 3
|
17天前
|
存储 JSON NoSQL
学习 MongoDB:打开强大的数据库技术大门
MongoDB 是一个基于分布式文件存储的文档数据库,由 C++ 编写,旨在为 Web 应用提供可扩展的高性能数据存储解决方案。它与 MySQL 类似,但使用文档结构而非表结构。核心概念包括:数据库(Database)、集合(Collection)、文档(Document)和字段(Field)。MongoDB 使用 BSON 格式存储数据,支持多种数据类型,如字符串、整数、数组等,并通过二进制编码实现高效存储和传输。BSON 文档结构类似 JSON,但更紧凑,适合网络传输。
54 15
|
14天前
|
人工智能 容灾 关系型数据库
【AI应用启航workshop】构建高可用数据库、拥抱AI智能问数
12月25日(周三)14:00-16:30参与线上闭门会,阿里云诚邀您一同开启AI应用实践之旅!
|
2月前
|
架构师 数据库
大厂面试高频:数据库乐观锁的实现原理、以及应用场景
数据库乐观锁是必知必会的技术栈,也是大厂面试高频,十分重要,本文解析数据库乐观锁。关注【mikechen的互联网架构】,10年+BAT架构经验分享。
大厂面试高频:数据库乐观锁的实现原理、以及应用场景
|
2月前
|
数据库连接 Go 数据库
Go语言中的错误注入与防御编程。错误注入通过模拟网络故障、数据库错误等,测试系统稳定性
本文探讨了Go语言中的错误注入与防御编程。错误注入通过模拟网络故障、数据库错误等,测试系统稳定性;防御编程则强调在编码时考虑各种错误情况,确保程序健壮性。文章详细介绍了这两种技术在Go语言中的实现方法及其重要性,旨在提升软件质量和可靠性。
41 1
|
2月前
|
缓存 NoSQL 数据库
运用云数据库 Tair 构建缓存为应用提速,完成任务得苹果音响、充电套装等好礼!
本活动将带大家了解云数据库 Tair(兼容 Redis),通过体验构建缓存以提速应用,完成任务,即可领取罗马仕安卓充电套装,限量1000个,先到先得。邀请好友共同参与活动,还可赢取苹果 HomePod mini、小米蓝牙耳机等精美好礼!
|
2月前
|
SQL Java 数据库连接
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,有效减少连接开销,提升访问效率
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,有效减少连接开销,提升访问效率。本文介绍了连接池的工作原理、优势及实现方法,并提供了HikariCP的示例代码。
62 3
|
2月前
|
存储 Java 关系型数据库
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践,包括连接创建、分配、复用和释放等操作,并通过电商应用实例展示了如何选择合适的连接池库(如HikariCP)和配置参数,实现高效、稳定的数据库连接管理。
72 2
|
2月前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
144 3
|
2月前
|
Java 数据库连接 数据库
深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能
在Java应用开发中,数据库操作常成为性能瓶颈。本文通过问题解答形式,深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能。文章介绍了连接池的优势、选择和使用方法,以及优化配置的技巧。
50 1