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

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

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天前
|
关系型数据库 MySQL 数据库
ORM对mysql数据库中数据进行操作报错解决
ORM对mysql数据库中数据进行操作报错解决
35 2
|
11天前
|
存储 NoSQL 关系型数据库
非关系型数据库-MongoDB技术(二)
非关系型数据库-MongoDB技术(二)
|
11天前
|
NoSQL 关系型数据库 MongoDB
非关系型数据库-MongoDB技术(一)
非关系型数据库-MongoDB技术(一)
|
9天前
|
JavaScript Java 关系型数据库
毕设项目&课程设计&毕设项目:基于springboot+vue实现的在线考试系统(含教程&源码&数据库数据)
本文介绍了一个基于Spring Boot和Vue.js实现的在线考试系统。随着在线教育的发展,在线考试系统的重要性日益凸显。该系统不仅能提高教学效率,减轻教师负担,还为学生提供了灵活便捷的考试方式。技术栈包括Spring Boot、Vue.js、Element-UI等,支持多种角色登录,具备考试管理、题库管理、成绩查询等功能。系统采用前后端分离架构,具备高性能和扩展性,未来可进一步优化并引入AI技术提升智能化水平。
毕设项目&课程设计&毕设项目:基于springboot+vue实现的在线考试系统(含教程&源码&数据库数据)
|
11天前
|
Java 关系型数据库 MySQL
毕设项目&课程设计&毕设项目:springboot+jsp实现的房屋租租赁系统(含教程&源码&数据库数据)
本文介绍了一款基于Spring Boot和JSP技术的房屋租赁系统,旨在通过自动化和信息化手段提升房屋管理效率,优化租户体验。系统采用JDK 1.8、Maven 3.6、MySQL 8.0、JSP、Layui和Spring Boot 2.0等技术栈,实现了高效的房源管理和便捷的租户服务。通过该系统,房东可以轻松管理房源,租户可以快速找到合适的住所,双方都能享受数字化带来的便利。未来,系统将持续优化升级,提供更多完善的服务。
毕设项目&课程设计&毕设项目:springboot+jsp实现的房屋租租赁系统(含教程&源码&数据库数据)
|
7天前
|
存储 API 数据库
QML使用Sqlite数据库存储ListModel数据
本文介绍了在QML中使用Sqlite数据库存储ListModel数据的方法,包括如何创建数据库、读取数据、动态添加和删除数据,以及如何在程序启动和退出时与数据库同步数据。
|
16天前
|
存储 人工智能 Cloud Native
云栖重磅|从数据到智能:Data+AI驱动的云原生数据库
阿里云数据库重磅升级!元数据服务OneMeta + OneOps统一管理多模态数据
|
18天前
|
NoSQL 关系型数据库 MySQL
微服务架构下的数据库选择:MySQL、PostgreSQL 还是 NoSQL?
在微服务架构中,数据库的选择至关重要。不同类型的数据库适用于不同的需求和场景。在本文章中,我们将深入探讨传统的关系型数据库(如 MySQL 和 PostgreSQL)与现代 NoSQL 数据库的优劣势,并分析在微服务架构下的最佳实践。
|
20天前
|
存储 SQL 关系型数据库
使用MySQL Workbench进行数据库备份
【9月更文挑战第13天】以下是使用MySQL Workbench进行数据库备份的步骤:启动软件后,通过“Database”菜单中的“管理连接”选项配置并选择要备份的数据库。随后,选择“数据导出”,确认导出的数据库及格式(推荐SQL格式),设置存储路径,点击“开始导出”。完成后,可在指定路径找到备份文件,建议定期备份并存储于安全位置。
160 11
|
16天前
|
存储 SQL 关系型数据库
MySQL的安装&数据库的简单操作
本文介绍了数据库的基本概念及MySQL的安装配置。首先解释了数据库、数据库管理系统和SQL的概念,接着详细描述了MySQL的安装步骤及其全局配置文件my.ini的调整方法。文章还介绍了如何启动MySQL服务,包括配置环境变量和使用命令行的方法。最后,详细说明了数据库的各种操作,如创建、选择和删除数据库的SQL语句,并提供了实际操作示例。
58 13
MySQL的安装&数据库的简单操作
下一篇
无影云桌面