⑨⭐全网首发☀️数据有道之数据库技术❤️干货大全【持续更新】❗❗❗

简介: ⭐全网首发☀️数据有道之数据库技术❤️干货大全【持续更新】❗❗❗

5.4 DBAS系统微观设计的表达

考点1 微观设计的表达

在UML中,对于细节方面的内容可用对象图、状态机图及时间图来表达、分析和描述某个特定状况下的系统运作情况。

考点2 对象图(在某个时间点上,系统存在所有对象的快照)

对象图是类图的一个实例,对象之间的关系是类之间的关系的实例,其图形表达与类的图形表示相似。对象图通常用于表示复杂的类图的一个实例。对象图展示了一组对象以及对象间的关系。


(1)作用


当某一个对象或某一个事件有非常复杂的状态转换时,可用状态机图来描述这个过程。如在本应用案例中商品的状态就随着系统有关用例的触发而进行状态转换,就可以利用状态转换图来进一步说明商品状态转换的过程


(2)画法


在状态图中,只能有一个起始状态,起始状态的图示是一个实心的圆形。结束状态代表整个状态机到此活动结束,可以有多个结束状态。状态与状态之间,是利用转移来表达其间的关系的,用带有箭头的直线图示。如果是因为某个事件发生而造成状态的转移,此时,需要在转移的关系上标示上该事件,如图5-20所示。


(3)目的


①陈述系统中有关事件或对象的状态转移。


②当某个控制项受到其他控制项状态转移的影响时,对该控制项进行辅助说明。


③当系统状态转移受到特定条件限制时,状态机图可以对限制条件进行描述。


考点3 时间图

(1)概述


当状态的转换是由时间因素决定时,单纯用状态机图来表达,不能够体现出时间因子的作用,这时就可以配合时间图来进一步描述时间对状态变化的影响。


例如在商场中,有时候为了促进商品的销售,会在一段时间内对某种商品打折销售,当有效时间过后,商品价格将回到原价。这种情况下,就可以用时间图来描述这种价格的变动,如图5-21所示为某商品的价格变动。


(2)画法


在时间图中,整个矩形框就是一个生命线,显示了商品价格在不同时间段的状态变化情况。状态可以用文字在内部进行描述,如原价状态。在矩形框的最下面为时间轴,在时间轴上可以指定刻度单位。在矩形框内高低起伏的线代表时间的进行以及状态的转移,称为时间线。状态的转移主要是以事件来驱动,事件也以纯文字来表达。


(3)与状态图的联系


一般情况下,一张时间图通常会对应至少一张状态图,通常可以把时间图作为状态图的辅助说明工具。


【真题演练】


1.当要描述状态之间的转换时,状态转换又涉及时间的变换,这时可以通过(    )来体现时间因子的作用。


A.类图


B.顺序图


C.时间图


D.状态机图


【答案】C


2.下列各图中以活动图为基础,只是其主要元素不是活动,而是交互图的图是(    )。[2015年3月真题]


A.复合结构图


B.交互概述图


C.时间图


D.对象图


【答案】C


5.5 DBAS系统宏观设计的表达

考点1 宏观设计的对象

包、命名空间、子系统等。


考点2 包 图

(1)包图


UML的包图可以表达系统中不同的包、命名空间或不同的项目间彼此的关系。在这里,包及命名空间指的是在逻辑层次上的关联性,而项目则是指实体层次的关联性。


包图是表明包以及包之间的关系的类图。是对模型中涉及的元素分组所得的结果,是具有特定语义的一个子集,必须保证低耦合、高内聚。


(2)包


①定义


包是一种组合机制,把模型元素通过内在的语义连在一起成为一个整体叫作包。包通常用于对模型的组织管理,因此有时又将包称为子系统。构成包的模型元素称为包的内容。


②包与包之间的关系


包拥有自己的模型元素,包与包之间不能共用一个相同的模型元素。但是包能够引用来自其他包的模型元素。当一个包从另一个包中引用模型元素时,这两个包之间就建立了关系。包与包之间允许建立的关系有依赖、精化和通用化。


如图5-22所示,表明了包之间的依赖关系。图中E依赖B(B中元素被E引用),C依赖8和D,B、C、E在A中。如图5-23所示中D、E继承C,而B、C、D、E构成A。如图5-24所示中子系统W中的子系统Z被子系统A所引用。


③图示


包的图示类似书签卡片,由两个长方形组成,小长方形(标签)位于大长方形的左上角,如图5-22所示。


④内容


包可以包含类、接口、组件、结点、协作、用例等,还可以内嵌其他子包。包与聚合很相似,如果一个包是由模型元素构成的(拥有自己的内容),那么该包是复合聚合;而如果一个包从其他的包中引用模型元素,则该包是共享聚合。


⑤可见性


包具有可见性,利用可见性控制外部包对包中内容的存取方式。UML中对包定义了四种可见性:私有、保护、公有和实现,缺省的可见性为公有。


a.公有可见性允许其他元素存取和使用包中的内容;


b.私有可见性则只允许拥有和引用该包的包,存取和使用包中的内容;


c.保护可见性除具有私有可见性的存取要求外,还允许有继承关系的包中的具体包存取一般包中的元素;


d.实现可见性与私有可见性很相似。但是有依赖关系的包之间,如果被引用的包定义为实现可见性,则不允许应用该包中的元素使用被引用包中的类。实现可见性尚无特定的表示符号。


考点3 交互概述图

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


例如在商品销售中顾客购买商品用例,除了正常的流程外,可能也会有其他的替代流程,如商品码无法通过扫描器录入等,这时当描述用例的流程时,如果仅用一个顺序图来表达所有的情况将会不易于理解和清楚,可以通过将正常流程和替代流程分别以顺序图来描述,然后用交互概述图组合起来,这样就使得原本复杂的流程显得结构清晰、易懂,如图5-25所示。


考点4 复合结构图

(1)概述


若要开发的系统属于主动式链接外部系统,则外部系统的访问接口会成为要开发系统的限制;相反地,如果是属于被动式提供服务的话,则要开发系统必须要定义出标准的访问接口,成为其他系统的限制条件。复合结构图,主要用来表达系统接口架构,适用于需要进行系统整合的情况,可以利用复合结构图绘制出要开发的系统与外部系统间的关系。


对于前面讨论的应用案例,假设要开发的商场经营管理系统主要包括商品的销售及采购、人员管理、顾客管理、财务管理这些业务功能,但需要整合外部系统即需要外部系统的服务或为外部系统提供服务,如可能需要物价系统提供商品价格的功能需求或为数据分析系统提供数据等,这时我们就可以通过复合结构图来描述系统与外部系统之间的联系,如图5-26所示。


(2)构成


复合结构图中最主要的元素就是部件,一个部件可以代表某个实体组件,也可以代表一个子系统。部件与部件之间的连接关系主要是装配关系,这种关系要通过接口来沟通。部件与外部的部件连接时,必须通过端口才能连接,用正方形图示。供给接口代表某个特定的部件提供服务给外部的部件。需求接口代表某个特定的部件需要外部的部件提供服务。


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

考点1 表达方法

组件图(Component Diagram)和部署图(Deployment Diagram)。


考点2 组件图

(1)作用


组件图用来表示系统的静态实现视图,展现了一组组件之间的组织和依赖,用于对源代码、可执行的发布、物理数据库等的系统建模。


(2)组件


①定义


组件是逻辑设计中定义的概念和功能在物理架构中的实现。


②符号


在UML中组件的符号为一个大方块且在它的左边有两个凸出的小方块。


③组件名


写在组件符号的下面或写在组件符号的大矩形内。


④相关性连接


用一条带箭头的虚线表示,表示一个组件只有同另一个组件在一起才有完整的意义。如果从源代码组件A到另一个组件B有相关性是指A到B之间在语言上有相关性,在编译组件时,对B进行修改需要重新编译A;如果组件是可执行的,相关性连接表示一个可执行的程序需要哪些动态链接库才能运行。


⑤接口


组件可以定义对其他组件可见的接口。接口用从组件开始画的一条线表示,线的另一端为一个小空心圆。接口名写在圆的边上。然后,组件间的相关性指到用到的组件的接口上。


这里,以前几节所举的商场经营管理系统为例,可以得出其示例组件图如图5-27所示。


考点3 系统实现与部署图

(1)概述


部署图(配置图),描述系统中硬件和软件的物理配置情况和系统体系结构。如图5-28所示为一商场经营管理系统”的部署图。


(2)结点


用结点表示实际的物理设备,并根据它们之间的连接关系,将相应的结点连接起来,并说明其连接方式。在结点里说明分配给该结点运行的可执行构件或对象,从而表明哪些软件单元被分配在哪些结点上运行。


(3)其他


UML的部署图说明实体组件将如何部署到实际的计算机中。在部署图中,必须要绘制实际的计算机与组件间的关系,以及实际的计算机中应该要安装的必要的软件。部署图要在项目进行集成测试前提供,可在正式上线之前,对其做进一步的修改。


【真题演练】


下列全部属于结构图的组图是(    )。


A.用例图、类图、顺序图、部署图


B.类图、组件图、部署图、活动图


C.用例图、对象图、状态图、组件图


D.类图、对象图、组件图、部署图


【答案】D


相关文章
|
10天前
|
DataWorks Oracle 关系型数据库
DataWorks操作报错合集之尝试从Oracle数据库同步数据到TDSQL的PG版本,并遇到了与RAW字段相关的语法错误,该怎么处理
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
28 0
|
1天前
|
存储 NoSQL 搜索推荐
探索新一代数据库技术:基于图数据库的应用与优势
传统关系型数据库在处理复杂的关系数据时存在着诸多限制,而基于图数据库的新一代数据库技术则提供了更为灵活和高效的解决方案。本文将深入探讨图数据库的核心概念、应用场景以及与传统数据库相比的优势,带领读者一窥未来数据库技术的发展趋势。
|
2天前
|
存储 缓存 算法
ICDE2024 |VDTuner:向量数据库自动调优技术
在CodeFuse接入实际业务的过程中,大模型的推理成本以及生成内容的准确性是产品规模落地的两个核心考量因素。为了降低推理成本,我们研发了CodeFuse-ModelCache语义缓存加速功能,通过引入Cache机制,缓存已经计算的结果,当接收到类似请求后直接提取缓存结果返回给用户。另一方面,为了提升代码生成的准确度,我们引入了few shot机制,在输入大模型之前拼接一些类似的代码片段,帮助大模型更好的理解希望生成的目标代码。上述两个核心功能的实现都依赖于向量数据库(Vector Data Management Systems, VDMS)存储并检索相似的请求或者代码片段。
11 0
|
2天前
|
存储 关系型数据库 分布式数据库
数据库索引回表困难?揭秘PolarDB存储引擎优化技术
PolarDB分布式版存储引擎采用CSM方案均衡资源开销与可用性。
数据库索引回表困难?揭秘PolarDB存储引擎优化技术
|
3天前
|
NoSQL 关系型数据库 数据库
数据库同步 Elasticsearch 后数据不一致,怎么办?
数据库同步 Elasticsearch 后数据不一致,怎么办?
9 0
|
3天前
|
存储 机器学习/深度学习 人工智能
RAG:AI大模型联合向量数据库和 Llama-index,助力检索增强生成技术
RAG:AI大模型联合向量数据库和 Llama-index,助力检索增强生成技术
RAG:AI大模型联合向量数据库和 Llama-index,助力检索增强生成技术
|
9天前
|
SQL 关系型数据库 MySQL
【MySQL-1】理解关系型数据库&数据的数据模型
【MySQL-1】理解关系型数据库&数据的数据模型
|
10天前
|
Cloud Native NoSQL 数据管理
现代化数据管理:面向未来的数据库技术发展
传统数据库技术已经不能满足当今大数据时代的需求,现代化数据库技术的发展成为了当务之急。本文将探讨面向未来的数据库技术发展方向,包括云原生数据库、图数据库、区块链技术在数据库领域的应用以及数据库安全性等方面。
|
11天前
|
分布式计算 DataWorks 关系型数据库
DataWorks产品使用合集之在使用 DataWorks 数据集成同步 PostgreSQL 数据库中的 Geometry 类型数据如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
23 0
|
1天前
|
存储 Oracle 关系型数据库
oracle 数据库 迁移 mysql数据库
将 Oracle 数据库迁移到 MySQL 是一项复杂的任务,因为这两种数据库管理系统具有不同的架构、语法和功能。
11 0