【计算机三级数据库技术】第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)系统实现-部署图
又叫配置图,描述系统中硬件和软件的物理配置情况和系统体系结构

目录
相关文章
|
7天前
|
Cloud Native 关系型数据库 分布式数据库
阿里云牵手海亮科技,共建“教育科技数据库创新应用中心”
海亮科技选择引入阿里云PolarDB开源分布式版(PolarDB for Xscale)数据库,不仅能解决海亮科技数据库业务中面临的可靠性、稳定性问题,也为海亮科技业务的高速发展提供了更好的灵活性和可扩展性。
|
6天前
|
关系型数据库 Java MySQL
"解锁Java Web传奇之旅:从JDK1.8到Tomcat,再到MariaDB,一场跨越数据库的冒险安装盛宴,挑战你的技术极限!"
【9月更文挑战第6天】在Linux环境下安装JDK 1.8、Tomcat和MariaDB是搭建Java Web应用的关键步骤。本文详细介绍了使用apt-get安装OpenJDK 1.8、下载并配置Tomcat,以及安装和安全设置MariaDB(MySQL的开源分支)的方法。通过这些步骤,您可以快速构建一个稳定、高效的开发和部署环境,并验证各组件是否正确安装和运行。这为您的Java Web应用提供了一个坚实的基础。
15 0
|
8天前
|
SQL 安全 数据库
基于SQL Server事务日志的数据库恢复技术及实战代码详解
基于事务日志的数据库恢复技术是SQL Server中一个非常强大的功能,它能够帮助数据库管理员在数据丢失或损坏的情况下,有效地恢复数据。通过定期备份数据库和事务日志,并在需要时按照正确的步骤恢复,可以最大限度地减少数据丢失的风险。需要注意的是,恢复数据是一个需要谨慎操作的过程,建议在执行恢复操作之前,详细了解相关的操作步骤和注意事项,以确保数据的安全和完整。
18 0
|
11天前
|
存储 C# 关系型数据库
“云端融合:WPF应用无缝对接Azure与AWS——从Blob存储到RDS数据库,全面解析跨平台云服务集成的最佳实践”
【8月更文挑战第31天】本文探讨了如何将Windows Presentation Foundation(WPF)应用与Microsoft Azure和Amazon Web Services(AWS)两大主流云平台无缝集成。通过具体示例代码展示了如何利用Azure Blob Storage存储非结构化数据、Azure Cosmos DB进行分布式数据库操作;同时介绍了如何借助Amazon S3实现大规模数据存储及通过Amazon RDS简化数据库管理。这不仅提升了WPF应用的可扩展性和可用性,还降低了基础设施成本。
29 0
|
11天前
|
数据库 C# 开发者
WPF开发者必读:揭秘ADO.NET与Entity Framework数据库交互秘籍,轻松实现企业级应用!
【8月更文挑战第31天】在现代软件开发中,WPF 与数据库的交互对于构建企业级应用至关重要。本文介绍了如何利用 ADO.NET 和 Entity Framework 在 WPF 应用中访问和操作数据库。ADO.NET 是 .NET Framework 中用于访问各类数据库(如 SQL Server、MySQL 等)的类库;Entity Framework 则是一种 ORM 框架,支持面向对象的数据操作。文章通过示例展示了如何在 WPF 应用中集成这两种技术,提高开发效率。
24 0
|
11天前
|
C# UED 定位技术
WPF控件大全:初学者必读,掌握控件使用技巧,让你的应用程序更上一层楼!
【8月更文挑战第31天】在WPF应用程序开发中,控件是实现用户界面交互的关键元素。WPF提供了丰富的控件库,包括基础控件(如`Button`、`TextBox`)、布局控件(如`StackPanel`、`Grid`)、数据绑定控件(如`ListBox`、`DataGrid`)等。本文将介绍这些控件的基本分类及使用技巧,并通过示例代码展示如何在项目中应用。合理选择控件并利用布局控件和数据绑定功能,可以提升用户体验和程序性能。
26 0
|
11天前
|
NoSQL 关系型数据库 MySQL
|
11天前
|
开发者 存储 API
Xamarin 开发者的社区资源概览:从官方文档到GitHub示例,全面探索提升开发技能与解决问题的多元化渠道与实用工具
【8月更文挑战第31天】Xamarin 开发者社区资源概览旨在提升开发效率与解决问题,涵盖官方文档、社区论坛、GitHub 项目等。官方文档详尽,涵盖 Xamarin.Forms 使用、性能优化等;社区论坛供交流心得;GitHub 提供示例代码。此外,第三方博客、视频教程及 Xamarin University 等资源也丰富多样,适合各阶段开发者学习与提升。通过综合利用这些资源,开发者可不断进步,应对技术挑战。
26 0
|
11天前
|
存储 数据管理 数据库