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

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

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


相关文章
|
12天前
|
SQL 存储 关系型数据库
【SQL技术】不同数据库引擎 SQL 优化方案剖析
不同数据库系统(MySQL、PostgreSQL、Doris、Hive)的SQL优化策略。存储引擎特点、SQL执行流程及常见操作(如条件查询、排序、聚合函数)的优化方法。针对各数据库,索引使用、分区裁剪、谓词下推等技术,并提供了具体的SQL示例。通用的SQL调优技巧,如避免使用`COUNT(DISTINCT)`、减少小文件问题、慎重使用`SELECT *`等。通过合理选择和应用这些优化策略,可以显著提升数据库查询性能和系统稳定性。
69 9
|
1月前
|
存储 运维 OLAP
【Meetup回顾 第1期】竟是这样的国产数据库,YashanDB技术内幕曝光
YashanDB是一款基于统一内核,支持单机/主备、共享集群、分布式等多种部署方式,覆盖OLTP/HTAP/OLAP交易和分析混合负载场景的新型数据库系统;YashanDB同时提供开发平台、运维平台和迁移平台3大工具平台以满足数据全生命周期管理。
35 2
【Meetup回顾 第1期】竟是这样的国产数据库,YashanDB技术内幕曝光
|
1月前
|
数据采集 数据库 Python
有哪些方法可以验证用户输入数据的格式是否符合数据库的要求?
有哪些方法可以验证用户输入数据的格式是否符合数据库的要求?
144 75
|
1月前
|
关系型数据库 分布式数据库 数据库
1月17日|阿里云云谷园区,PolarDB V2.0技术沙龙,畅聊国产数据库
为了助力国产化项目顺利推进,阿里云邀请企业开发者和数据库负责人到云谷园区,与PolarDB V2.0技术专家面对面交流。扫描海报二维码报名,我们将根据信息为您申请入园。欢迎参与,共同探讨PolarDB的最新技术和应用!
|
2月前
|
SQL 存储 运维
从建模到运维:联犀如何完美融入时序数据库 TDengine 实现物联网数据流畅管理
本篇文章是“2024,我想和 TDengine 谈谈”征文活动的三等奖作品。文章从一个具体的业务场景出发,分析了企业在面对海量时序数据时的挑战,并提出了利用 TDengine 高效处理和存储数据的方法,帮助企业解决在数据采集、存储、分析等方面的痛点。通过这篇文章,作者不仅展示了自己对数据处理技术的理解,还进一步阐释了时序数据库在行业中的潜力与应用价值,为读者提供了很多实际的操作思路和技术选型的参考。
56 1
|
2月前
|
人工智能 物联网 大数据
解密时序数据库的未来:TDengine Open Day技术沙龙精彩回顾
在数字化时代,开源已成为推动技术创新和知识共享的核心力量,尤其在数据领域,开源技术的涌现不仅促进了行业的快速发展,也让更多的开发者和技术爱好者得以参与其中。随着物联网、工业互联网等技术的广泛应用,时序数据库的需求愈发强烈,开源的兴起更是为这一技术的创新与普及提供了强有力的支持。
46 3
|
2月前
|
存储 Java easyexcel
招行面试:100万级别数据的Excel,如何秒级导入到数据库?
本文由40岁老架构师尼恩撰写,分享了应对招商银行Java后端面试绝命12题的经验。文章详细介绍了如何通过系统化准备,在面试中展示强大的技术实力。针对百万级数据的Excel导入难题,尼恩推荐使用阿里巴巴开源的EasyExcel框架,并结合高性能分片读取、Disruptor队列缓冲和高并发批量写入的架构方案,实现高效的数据处理。此外,文章还提供了完整的代码示例和配置说明,帮助读者快速掌握相关技能。建议读者参考《尼恩Java面试宝典PDF》进行系统化刷题,提升面试竞争力。关注公众号【技术自由圈】可获取更多技术资源和指导。
|
2月前
|
前端开发 JavaScript 数据库
获取数据库中字段的数据作为下拉框选项
获取数据库中字段的数据作为下拉框选项
67 5
|
3天前
|
关系型数据库 MySQL 网络安全
如何排查和解决PHP连接数据库MYSQL失败写锁的问题
通过本文的介绍,您可以系统地了解如何排查和解决PHP连接MySQL数据库失败及写锁问题。通过检查配置、确保服务启动、调整防火墙设置和用户权限,以及识别和解决长时间运行的事务和死锁问题,可以有效地保障应用的稳定运行。
47 25
|
12天前
|
关系型数据库 MySQL 数据库
Docker Compose V2 安装常用数据库MySQL+Mongo
以上内容涵盖了使用 Docker Compose 安装和管理 MySQL 和 MongoDB 的详细步骤,希望对您有所帮助。
91 42

热门文章

最新文章