UML与DBAS(下)-数据库技术
前言
在系统结构设计中有相当多细节部分需要考虑,微观设计指的是设计的焦点放在单一对象或事件上,通常是描述某一特定时间点某一对象在系统中的现状。在UML中,对于细节方面的内容可用对象图
、状态机图
及时间图
来表达、分析和描述某个特定状况下的系统运作情况。宏观设计则是指将设计的焦点放在研究比较大范围中的元素之间的联系,如包、命名空间、子系统等。系统的开发除了逻辑层次的设计外,最终还必须要回到实体项目或物理对象的设计,并解决未来整体软件应如何部署的问题,在UML中的组件图
、部署图
可以达到这样的目标,简化团队管理上的难度。
DBAS系统微观设计的表达
微观设计与对象图
对象图的定义
:UML中的对象图被用来描述特定时间点中所有对象在系统中的结构,也可以把对象图当成系统在某一时间点的“快照”。对象图展示了一组对象以及对象间的关系
。
与类图的关系
:对象图是类图
的一个实例,对象之间的关系是类之间的关系的实例,其图形表达与类的图形表示相似。对象图通常用于表示复杂的类图的一个实例。
对象图是某一个特定时间点上,系统所存在的所有对象的个快照
。可以被用来解释类图以及验证所设计的类图是否符合实际的状况,也可以帮助程序设计人员理解类图的复杂结构。
微观设计与状态机图
当某一个对象或某一个事件有非常复杂的状态转换
时,可用状态机图来描述这个过程。
在状态图中,只能有一个起始状态,这一点与活动图中起始点是相同的,起始状态的图示是一个实心的圆形
。结束状态代表整个状态机到此活动结束,可以有多个结束状态
。
状态与状态之间,是利用转移来表达其间的关系的,用带有箭头的直线
图示。
状态图的主要目的在于陈述系统中有关事件或对象的状态转移
。
在状态机图中,如果是因为某个事件发生而造成状态的转移,需要在转移的关系上标示上该事件。
微观设计与时间图
在状态机图中,状态之间的转移是由事件
驱动的,而有时候状态的转换是由时间因素
决定,可以配合时间图来描述时间对状态变化的影响。如下图所示。
在时间图中,整个矩形框就是一个生命线
,显示了商品价格在不同时间段的状态变化情况。
状态可以用文字在内部进行描述,在矩形框的最下面为时间轴
,在时间轴上可以指定刻度单位,在矩形框内高低起伏的线代表时间的进行以及状态的转移,称为时间线
,状态的转移,主要是以事件来驱动,事件也可以纯文字来表达,一般情况下,一张时间图通常会对应至少一张状态图,通常可以把时间图作为状态图的辅助说明工具。
DBAS系统宏观设计的表达
宏观设计与包图
包的概述
- 1.包是一种组合机制,把模型元素通过
内在的语义
连在一起成为一个整体叫包,包又称子系统
。
- 2.构成包的
模型元素
称为包的内容。
- 3.包拥有自己的模型元素,包与包之间不能共用一个相同的模型元素,包能够引用来自其他包的模型元素。
- 4.包的图示类似书签卡片,
由两个长方形组成,小长方形(标签)位于大长方形的左上角
。如图所示。
- 5.
包图是表明包与包之间的关系的类图,必须保证低耦合、高内聚
。
- 6.广义地讲,包可以包含类、接口、组件、结点、协作、用例等,还可以内嵌其他子包。
- 7.包与包之间允许建立的关系有
依赖
、精化
和通用化
。
与类一样,包也具有可见性,利用可见性控制外部包对包中内容的存取方式。
公有可见性
:允许其他元素存取和使用包中的内容
私有可见性
:只允许拥有和引用属于自己的包,存取和使用包中的内容
保护可见性
:具有私有可见性的存取要求外,还允许有继承关系的包中的具体包存取一般包中的元素。
实现可见性
:与私有可见性非常相似。有依赖关系的包之间,如果被引用的包定义为实现可见性.则不允许应用该包中的元素使用被引用包中的类。
宏观设计与交互概述图
交互概述图主要是利用活动图
作为基础,只是其在控制流间连接的UML元素并非活动,而是交互图(包括顺序图、通信图、时间图及交互概述图)
。交互概述图的主要元素和活动图完全一样, 唯一不同的是一个交互框用来取代活动图中的活动框。
例如商品销售中顾客购买商品用例如下图所示:
交互概述图可把不同的交互图结合在同一张图来表达。
宏观设计与复合结构图
在UML中,复合结构图主要用来表达系统接口架构,适用于需要进行系统整合的情况,可以利用复合结构图绘制出要开发的系统与外部系统间的关系
。如下图所示。
复合结构图中最主要的元素就是部件,一个部件可以代表某个实体组件 ,也可以代表个子系统。
部件与部件之间的连接关系主要是装配关系
,这种关系要通过接口来沟通。
部件与外部的部件连接时,必须通过端口
才能连接,用正方形
图示。
供给接口代表某个特定的部件提供服务给外部的部件。需求接口代表某个特定的部件需要外部的部件提供服务。
DBAS系统实现与部署的表达
系统实现与组件图
组件图用来表示系统的静态实现视图,展现了一组组件之间的组织和依赖,用于对源代码、可执行的发布、物理数据库等的系统建模。组件是逻辑设计中定义的概念和功能在物理框架中的实现。如下图所示。
1.在UML中组件的符号为一个大方块,且在它的左边有两个突出的小方块。
2.组件名写在组件符号的下面或写在组件符号的大矩形内。
3.组件间的相关性连接,用一条带箭头的虚线表示,表示一个组件只有同另一个组件在一起,才有完整的意义。
4.组件可以定义对其他组件可见的接口,接口从组件开始画的一条线表示,线的另一端为一个小空心圆,接口名写在圆的边上,然后逐渐间的相关性指到用到组件的接口上。
系统实现与部署图
部署图又叫配置图,描述系统中硬件和软件的物理配置情况和系统体系结构。用结点表示实际的物理设备,并根据它们之间的连接关系,将相应的结点连接起来,并说明其连接方式。如下图所示。