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

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

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


相关文章
|
19天前
|
存储 人工智能 Cloud Native
云栖重磅|从数据到智能:Data+AI驱动的云原生数据库
在9月20日2024云栖大会上,阿里云智能集团副总裁,数据库产品事业部负责人,ACM、CCF、IEEE会士(Fellow)李飞飞发表《从数据到智能:Data+AI驱动的云原生数据库》主题演讲。他表示,数据是生成式AI的核心资产,大模型时代的数据管理系统需具备多模处理和实时分析能力。阿里云瑶池将数据+AI全面融合,构建一站式多模数据管理平台,以数据驱动决策与创新,为用户提供像“搭积木”一样易用、好用、高可用的使用体验。
云栖重磅|从数据到智能:Data+AI驱动的云原生数据库
|
23天前
|
数据库 索引
深入探索数据库索引技术:回表与索引下推解析
【10月更文挑战第15天】在数据库查询优化的领域中,回表和索引下推是两个核心概念,它们对于提高查询性能至关重要。本文将详细解释这两个术语,并探讨它们在数据库操作中的作用和影响。
43 3
|
23天前
|
数据库 索引
深入理解数据库索引技术:回表与索引下推详解
【10月更文挑战第23天】 在数据库查询性能优化中,索引的使用是提升查询效率的关键。然而,并非所有的索引都能直接加速查询。本文将深入探讨两个重要的数据库索引技术:回表和索引下推,解释它们的概念、工作原理以及对性能的影响。
44 3
|
22天前
|
负载均衡 网络协议 数据库
选择适合自己的数据库多实例负载均衡技术
【10月更文挑战第23天】选择适合自己的数据库多实例负载均衡技术需要全面考虑多种因素。通过深入的分析和评估,结合自身的实际情况,能够做出明智的决策,为数据库系统的高效运行提供有力保障。
106 61
|
21天前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
62 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
18天前
|
关系型数据库 分布式数据库 数据库
云栖大会|从数据到决策:AI时代数据库如何实现高效数据管理?
在2024云栖大会「海量数据的高效存储与管理」专场,阿里云瑶池讲师团携手AMD、FunPlus、太美医疗科技、中石化、平安科技以及小赢科技、迅雷集团的资深技术专家深入分享了阿里云在OLTP方向的最新技术进展和行业最佳实践。
|
20天前
|
SQL Java 数据库连接
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,有效减少连接开销,提升访问效率
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,有效减少连接开销,提升访问效率。本文介绍了连接池的工作原理、优势及实现方法,并提供了HikariCP的示例代码。
34 3
|
22天前
|
缓存 负载均衡 监控
数据库多实例的负载均衡技术深入
【10月更文挑战第23天】数据库多实例负载均衡技术是确保数据库系统高效运行的重要手段。通过合理选择负载均衡策略、实时监控实例状态、不断优化调整,能够实现资源的最优分配和系统性能的提升。在实际应用中,需要根据具体情况灵活运用各种负载均衡技术,并结合其他相关技术,以满足不断变化的业务需求。
|
22天前
|
Java 数据库连接 数据库
优化之路:Java连接池技术助力数据库性能飞跃
在Java应用开发中,数据库操作常成为性能瓶颈。频繁的数据库连接建立和断开增加了系统开销,导致性能下降。本文通过问题解答形式,深入探讨Java连接池技术如何通过复用数据库连接,显著减少连接开销,提升系统性能。文章详细介绍了连接池的优势、选择标准、使用方法及优化策略,帮助开发者实现数据库性能的飞跃。
27 4
|
20天前
|
Java 数据库连接 数据库
深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能
在Java应用开发中,数据库操作常成为性能瓶颈。本文通过问题解答形式,深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能。文章介绍了连接池的优势、选择和使用方法,以及优化配置的技巧。
21 1
下一篇
无影云桌面