目录

5.1 DBAS建模

考点1 方 法

考点2 UML

5.2 DBAS业务流程与需求表达

考点1 业务流程与活动图

考点2 系统需求与用例图

5.3 DBAS系统内部结构的表达

考点1 DBAS系统内部结构分类

考点2 系统结构与类图

考点3 系统结构与顺序图

考点4 系统结构与通信图

5.4 DBAS系统微观设计的表达

考点1 微观设计的表达方法

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

考点4 时间图

5.5 DBAS系统宏观设计的表达

考点1 宏观设计的对象

考点2 包 图

考点3 交互概述图

考点4 复合结构图

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

考点1 表达方法

考点2 组件图

考点3 系统实现与部署图

每文一语


5.1 DBAS建模

考点1 方 法

(1)Booch是最早的面向对象的方法之一,提出了面向对象的软件工程的概念,比较适合于系统的设计和构造。

(2)OMT方法,采用了面向对象的概念,并引入各种独立于语言的表示符。

这种方法用对象模型、动态模型、功能模型和用例模型,共同完成对整个系统的建模,所定义的概念和符号可用于软件开发的分析、设计和实现的全过程,软件开发人员不必在开发过程的不同阶段进行概念和符号的转换。

OMT特别适用于分析和描述以数据为中心的信息系统。

(3)OOSE方法,其最大特点是面向用例(Use-Case),并在用例的描述中引入了外部角色的概念。用例的概念是精确描述需求的重要武器,但用例贯穿于整个开发过程,包括对系统的测试和验证。OOSE比较适合支持商业工程和需求分析。

(4)统一建模语言(UML)是一种定义良好、易于表达、功能强大、通用的可视化建模语言,为软件开发的各阶段提供模型化与可视化支持。UML适用于各种软件、应用领域以及开发工具的开发。UML已逐渐成为主流的建模语言。

考点2 UML

(1)组成

UML的定义由语义和表示法两部分组成。语义用自然语言描述,而表示法定义了UML的可视化标准表示符号,这决定了UML是一种可视化的建模语言。

(2)语义的概念框架

①元元模型(Meta—Meta Model)层,组成了UML的最基本的元素“事物”,代表要定义的所有事物。

②元模型(Meta Model)层,组成了UML的基本元素,包括面向对象和面向组件的概念。这一层的每个概念都是元元模型中“事物”概念的实例。

③模型(Model)层,组成了UML的模型,这一层中的每个概念都是元模型层中概念的一个实例,这一层的模型通常叫作类模型或类型模型。

④用户模型(User Model)层,这层中的所有元素都是UML模型的实例。这层中的每个概念都是模型层的一个实例(通过分类)也是元模型层的一个实例。这一层的模型通常叫作对象模型(Object Model)或实例模型(Instance Model)。

(3)视图

①定义:视图是对系统的模型在某方面的投影,注重于系统的某个方面

②分类:结构视图、实现视图、行为视图、环境视图和用例视图。

③组成:每一种UML的视图都是由一个或多个图组成的,一个图就是系统架构的某个侧面的展示,所有的图一起组成了系统的完整视图。

UML 2.0提供了13种不同的图,分为两类:一类是结构图,主要用于对系统的静态结构建模,包括类图、对象图、复合结构图、包图、组件图、部署图;另一类是行为图,主要用于对系统的动态行为建模,包括用例图、交互图(顺序图、通信图、交互概述图、时间图)、状态图和活动图。

行为图:用例图、交互图状态图和活动图。(用例,交互,状态,活动)

用例图描述系统功能,其他描述系统活动

5.2 DBAS业务流程与需求表达

在UML中,对于业务流程支持的主要图形是活动图,活动图主要的目的在于陈述活动与活动之间的流程控制的转移。在软件需求的领域中,用于捕捉需求的工具,就是用例图。

考点1 业务流程与活动图

(1)活动图的定义

活动图是用于描述系统、用例和程序模块中逻辑流程的先后执行次序,并行次序的图。

(2)活动图的功能

①当活动图用于描述系统功能时,主要侧重于系统多个用例活动之间相互制约的执行顺序,同时,识别出系统中存在的可以并行的用例,此时,活动表示系统要完成的任务。

②当活动图用于描述用例时,用于描述用例中的操作执行次序和操作完成的结果,显示多个对象的操作是如何相互结合起来共同完成用例的一个脚本,揭示出操作之间的并行性。此时,活动表示类中的方法,即操作。

活动图用于低层次程序模块的作用类似于流程图,但活动图还可以描述并行操作,而流程图只能描述串行操作。一般来说,活动图最适合用于描述系统或子系统的主要工作流程。

(3)活动图的描述法

①起始点:指一连串活动的开始点。在一张活动图中,必须有且只能有一个起始点,用●表示。

②结束点:指一连串活动的终结点。在一张活动图中,可以有多个结束点,用表示。

③分区:在整个活动表达上,是一个非常重要的概念。可以利用分区来将活动分配给对应的角色。

活动之间的转换由箭头表示,箭头表示执行方向,其标注为执行下一个活动的条件,如果箭头线上没有条件,表示执行完该活动后自动执行箭头所指向的活动;加粗直线为同步条,表示这之后的活动执行路线可以并行进行,或在其上的所有并行活动执行完毕后,到此转为顺序执行;菱形代表分支,表示判断。

考点2 系统需求与用例图

(1)用例模型

①定义

用例模型是把满足用户需求的所有功能表示出来的工具。对于正在构造的新系统,用例模型描述系统应该做什么;对于已构造完毕的系统,用例模型则反映了系统能够完成什么样的功能。

②构成

用例模型由用例图构成。用例图由系统、角色和用例三种模型元素以及元素之间的各种关系组成。根据“商场经营管理系统”各个模块的业务流程图,即可以得到系统的企业级用例图以及系统级用例图,如图5-1和图5-2所示。

(2)系统

在用例图中系统用一个长方框来表示,系统的名字写在方框上或方框里面,方框内部还可以包含该系统中用符号表示的用例。

(3)角色

角色是与系统交互的人或其他实体(外部实体)。“与系统交互”指的是角色从系统中接收消息,或是向系统提交信息。一个角色可以执行多个用例,相反亦可。角色是类,所以它拥有与类相同的关系描述。在用例图中,用通用化关系来描述角色之间的行为。

通用化关系是指把某些角色的共同行为抽取出来作为通用行为,这些通用行为构成它们的超类。在定义某一具体角色时,仅仅需定义其不同的行为。角色之间的通用化关系用带空心三角形(作为箭头)的直线表示,箭头的方向指向超类。如图5-1所示,员工是销售人员和销售部经理等的超类。

(4)用例

①概述

用例代表的是一个完整的功能,是所有动作的集合。动作是系统的一次操作,如与角色通信、进行计算,在系统内进行的工作都可以称作动作。

在UML中,用例用椭圆形表示,并位于系统边界的内部。用例与角色之间的连接关系属于关联(通信关联)。这种关联表明哪种角色能与该用例通信。关联关系是双向的一对一关系,表示不仅角色可以与用例通信,用例也可以与角色通信,表示方法是一条连接角色和用例的带箭头直线,如图5-2所示。

②用例间的关系

用例之间的关系包括扩展、使用、组合三种。扩展和使用是继承关系,即通用化关系的另一种体现形式。组合则是把相关的用例打成包,当作一个整体看待。

a.扩展关系

如果已有一个用例,在这个用例的基础上加入新的动作形成了另一个用例,则前者常称为通用化用例,后者常称为扩展用例。扩展用例可以根据需要有选择的继承通用用例的部分行为。引入扩展用例便于处理通用化用例中不易描述的某些具体情况;便于扩展系统,提高系统性能。

用例之间的扩展关系可以图示为带有构造型<<extend>>标志的通用化关系,如图5-2所示。

b.使用关系

一个用例使用另一个用例时,这两个用例之间就构成了使用关系。用例之间的使用关系被图示为具有构造型<<uses>>标志的通用化关系。

③具体用例流程

描述具体的用例的流程时,除了活动图,还要附上文档说明即用例叙述来描述参与者和用例之间应该如何交互才能达到需求。

例叙述的前置条件表示用例的触发条件,即当库存商品数量低于预先设定的最小库存量,用例生成采购单就会触发。后置条件是用例结束后,必须达到的目标,否则用例执行有误。通过活动图和用例叙述的搭配使用,可以使对特定用例的描述更加清楚、洋细,有利于开发人员之间的沟通和交流。

5.3 DBAS系统内部结构的表达

考点1 DBAS系统内部结构分类

系统内部结构一般分为静态结构和动态结构。在UML中,用类图来描述系统的静态结构,而用顺序图和通信图来表示系统的动态结构。

考点2 系统结构与类图

(1)概述

①系统结构

软件系统的结构就是将所要解决的问题领域中的重要概念抽象出来,并用概念模型来表示。

②类图

类图展现了一组类、接口和协作以及它们间的关系。系统可以有多个类图,单个类图仅表达了系统的一个方面。

a.类图技术

类图技术是面向对象方法的核心技术。在面向对象的建模技术中,类、对象和它们之间的关系是最基本的建模元素。对于一个被描述的系统,其类模型、对象模型以及它们之间的关系揭示了系统的结构。

b.类的表示

类的表示如图5-5所示,在高层给出类的主要职责,在底层给出类的属性和操作。

(2)属性

属性包括属性的名称、类型和缺省值。UML规定其语法为:

可见性 名称:类型=缺省值{约束性}

①可见性

表示该属性对类外的元素是否可见。不同属性具有不同的可见性。常用的有公有(Public)、受保护(Protected)和私有(Private)三种,在UML中分别用“+”、“#”、“-”表示。

②名称

是一个字符串,表示属性的名称。

③类型

定义属性的种类。它可以是一个基本数据类型,也可以是用户自定义的类型。

④缺省值

属性的初始值

⑤约束性

列出该属性所有可能的取值,在定义枚举类型的属性时经常使用,每个枚举值之间用逗号分隔,此外,也可以用来说明该属性的其他信息,比如属性的持久性(Persistent)等。

(3)操作

操作描述了类的动态行为,在UML中,操作的语法定义如下:

可见性 名称(参数表):返回类型表达式{约束性}

①可见性

“+”表示公有操作,“#”表示受保护的操作,“-”表示私有操作。

②名称

是一个字符串,表示操作的名称。

③参数表

其语法与属性的参数相同,参数的个数是任意的。

④返回类型表达式

依赖于语言的描述,此项为可选项。

⑤约束性

用以描述对此操作的约束。

这里,可见性和约束性与属性中的含义一样。

(4)关系

类与类之间通常有关联、通用化(继承)、依赖和精化四种关系。

①关联关系

表示两个类之间存在某种语义上的联系。例如,一个人为一家公司工作,一家公司有很多办公室。就认为人和公司、公司和办公室之间存在某种语义上的联系。

a.双向关联

通常情况下关联是双向的,其图示是连接两个类之间的直线,可以在直线的一个方向上为关联起一个名字,而在另一个方向上起另一个名字(也可不起名字),名字通常紧挨着直线书写。

b.单向关联(导航关联)

导航关联采用实线箭头连接两个类,只有箭头所指的方向上才有这种关联关系。如图5-6所示,图中只表示某人可以拥有汽车,但汽车被人拥有的情况没有表示出来。其实双向的普通关联可以看作导航关联的特例,只不过省略了表示两个关联方向的箭头。

c.单向和双向关联的案例

如图5-7所示,“公司”以“雇主”的角色,“人”以“雇员”的角色所参与的“工作合同”关联。“雇主”和“雇员”称为角色名。如果在关联上没有角色名,则隐含地用类的名称作为角色名。角色还具有多重性,表示可以有多少个对象参与该关联。如图5-7中,雇主(公司)可以雇用多个雇员,表示为“*”;雇员只能与一家雇主签订工作合同,表示为“l”。

第一,多重性

多重性表示参与对象的数目的上下界限制。“*”代表0~∞,“1”是1..1的简写。可以用一个单个数字表示,也可以用范围表示,或者是数字和范围不连续的组合表示。例如:“0..1”表示零到1个对象,“0..*”。如果图中没有明确标识关联的重数,就意味着是1。重数标识在表示关联关系的直线某一方向上的末端。

第二,关联类

关联类通过一根虚线与关联连接,用于描述一个关联可能需要记录的一些信息。

d.聚集

聚集是一种特殊形式的关联。它表示类之间的关系是整体与部分的关系。在需求分析中,“包含”、“组成”、“分为……部分”等经常设计成聚集关系。

聚集可以进一步划分成共享聚集和组成。例如,课题组包含很多成员,而每个成员又可以是另一个课题组的成员,即部分可以参加多个整体,称为共享聚集。

另一种情况是整体拥有各部分,部分与整体共存,如整体不存在了,部分也会消失,称为组成。

e.聚集的案例

打开一个窗口,它由标题、外框和显示区所组成。窗口一旦关闭则各部分同时消失。在UML中,共享聚集表示为空心菱形,组成为实心菱形。

②继承关系

人们将具有共同特性的元素抽象成类别,并通过增加其内涵而进一步分类。在面向对象方法中将前者称为一般元素、基类元素或父元素,将后者称为特殊元素或子元素。继承定义了一般元素和特殊元素之间的分类关系。在UML中,它表示为一头为空心三角形的连线。

③依赖关系

有两个元素X、Y,如果修改元素X的定义可能会引起元素Y的定义的修改,称元素Y依赖于元素X。

④精化关系

a.用于表示同一事物的两种描述之间的关系。对同一事物的两种描述建立在不同的抽象层上。比如,定义了某种数据类型,然后将其实现为某种语言中的类,那么抽象定义的类型与用语言实现的类之间就是精化关系,这种情况称为实现。

b.用于模型化表示同一个事物的不同实现。例如,一个是简单实现,一个是复杂而高效的实现。

精化关系的图示方法与继承关系相似,用带空心三角形的虚线表示。

(5)实例

在“商场经营管理系统”中,可以根据系统功能进行业务模块划分,如分为顾客管理模块、商品采购业务模块、商品销售业务模块、人力资源管理模块、财务管理模块等。若系统结构比较复杂,可根据功能模块的划分,针对每个功能模块绘制类图。这里对商品销售业务模块绘制其类图,如图5-12所示。

(6)类图的目的

在进行软件开发前,先对软件所需面对问题领域的本质做一个通盘性的了解;了解设计人员对其所面对的领域的想象,也是表达设计想法的一种方式,并且可以作为开发人员对系统想法的一种沟通交流的标准方式,无论是何种系统的开发,类图是UML图中最有必要保存的图。

【真题演练】

1.用数字表示类与类之间关联的多重性,如果图中没有明确标示关联的重数,则意味着关联的重数是(    )。

B.1

C.*

D.0..l

【答案】B

考点3 系统结构与顺序图

(1)概述

顺序图的目的在于说明对象的协作如何达到系统的目标。每一张顺序图所表达的,是每一个用例是如何通过对象交互来完成的。由于类模型(类图)揭示了系统的结构,所以对象间的协作关系,必须符合类图中的定义。

(2)顺序图的作用

①主要用于描述系统内对象之间的消息发送和接收序列。顺序图有两个坐标轴:纵向表示时间的持续过程,横向表示对象,每一个对象用矩形框表示,纵向的虚线表示对象在序列中的执行情况,称为对象的“生命线”。

a.对象间的通信用对象生命线之间的水平消息线表示,消息线的箭头说明消息的类型,如同步、异步或简单。消息/方法名字标注在消息线上面。顺序图的第一个消息一般在左边第一个对象的生命线顶端,然后其他消息按时间顺序相继加入顺序图中,后面发生的消息的线应比前面发生的消息的线画得低一些。浏览顺序图的方法是从上到下查看对象间交换的信息。

这里对商品销售模块中的顾客购买商品用例绘制其顺序图,来进一步说明在这个用例中,对象之间是怎样协作并达到系统目标的,如图5-13所示。

b.消息也可以附加条件,这时规定只有当条件为真时才可以发送和接收消息。用条件来描述分支时,如果各分支的条件不互相排斥,则消息可能会并行发出,如图5-14所示。如果条件之间是互斥的,则一次只能发送一条消息,如图5-15所示。

c.在对象图的左边和右边可以有标签和注释。标签可以是任何类型的,例如可以用标签来描述定时约束。如图5-16所示,a与b之间的时间间隔不能大于5秒。

d.循环过程就可以用边缘注释来描述

②可以描述对象是如何被创建和销毁的。通过一条消息,一个对象可以创建另一个对象。被创建对象的表示符号直接放置在创建它的地方。创建和销毁对象的消息一般是同步消息。当一个对象被销毁时,用一个大“×”来标记。同时,被销毁对象的生命线也停止于被销毁的位置。

③可以表示递归过程,当一个操作调用它本身时,消息总是同步的,因而,在顺序图中用同步消息来表示,并用一条简单消息来表示返回。

【真题演练】

1.浏览顺序图的方法是(    )。

A.从左到右查看对象间交换的信息

B.从上到下查看对象间交换的信息

C.从右到左查看对象间交换的信息

D.从下到上查看对象问交换的信息

【答案】B

2.下列关于顺序图的说法中,正确的是(    )。

A.消息线的箭头说明消息的类型,如同步、异步或简单。画一条线指向接收对象,包括一个箭头,实心表示异步信号;棍形箭头表示同步调用操作

B.当一个操作调用它本身时,消息总是异步的

C.在顺序图中可以描述如何创建和破坏对象,并把它作为描述情节的一部分。一个对象可能通过一条消息来创建另一个对象。被创建对象的对象符号在创建它的地方(在纵坐标时间轴上)

D.消息也可以有条件。只有条件为真时才可以发送和接收消息。条件被用来抽象分支或决定是否发送一条消息。如果用条件来抽象分支,则各分支是互斥的

【答案】C

考点4 系统结构与通信图

(1)通信图的定义

通信图(协作图)是交互图的一种,它包含一组对象,并在图中展示这些对象之间的联系以及对象间发送和接收的消息。在开发过程中设计人员可利用通信图和顺序图来确定对象的角色以及对象所执行的事件。这些事件是确定类的职责和接口的主要的信息来源。

(2)顺序图与通信图的关系

顺序图和通信图都描述交互,但是顺序图强调的是时间,而通信图强调的是空间。通信图显不了在交互过程中各个对象之间的组织交互关系以及对象彼此之间的链接,但它能显示对象之间的关系,它使用序列号来确定消息及并发线程的顺序。针对上小节顾客购买商品顺序图的用例,在此将它以通信图的方式描述

通信图中的主要元素基本和顺序图相同,只是在消息的传递上要特别表达消息的传递是由哪一个对象到另外一个对象。

【真题演练】

下列各图中显示了一系列的对象和在这些对象之间的联系以及对象间发送和接收的消息的图是(    )

A.通信图

B.状态图

C.顺序图

D.部署图

【答案】A

5.4 DBAS系统微观设计的表达

考点1 微观设计的表达方法

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

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

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

(1)作用

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

(2)画法

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

(3)目的

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

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

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

考点4 时间图

(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

每文一语

坚持很难,但一定很酷!

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

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

    目录 3.1 数据库概念设计 考点1 概念设计的任务 考点2 概念设计的依据及过程 考点3 数据建模方法 考点4 概念设计实例 3.2 数据库逻辑设计 考点1 任 务 考点2 目 标 3.3 数据库物 ...

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

    目录 2.1 需求分析 考点1 需求分析的概念与意义 考点2 需求获取的方法 考点3 需求分析过程 2.2 需求分析方法 考点1 需求分析方法概述 考点2 DFD需求建模方法 考点3 其他需求建模方法 ...

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

    目录 4.1 软件体系结构 考点1 定 义 考点2 功 能 考点3 分 类 4.2 软件设计过程 考点1 软件设计的目的 考点2 软件设计的原则 考点3 软件设计的分类 4.3 DBAS总体设计 考点 ...

  4. 致读者的一封信——付费专栏《数据科学技术与应用_中国大学MOOC_持续更新》用户调查【2021/1/22】

    致读者的一封信 付费专栏<数据科学技术与应用_中国大学MOOC_持续更新>用户调查 2021/1/22 读者您好!我是CSDN博主Herbert胡不归. 为了更好地针对付费专栏<数据 ...

  5. 国内数据库顶会DTCC 阿里数据库技术干货全面解析

    如果你是一个技术人的话,就一定听过中国数据库技术大会(简称DTCC).作为国内数据库及大数据领域规模最大.最受欢迎的技术交流盛会,云集了国内外顶尖专家,共同探讨MySQL.NoSQL.Oracle.缓 ...

  6. 【100道面试题真题讲解】C++面试题讲解+JAVA面试题讲解+Linux面试题讲解+数据结构面试题+计算机网络面试题 讲解视频-持续更新中

    最近找到了一个非常好的公众号:IT笔试面试真题讲解,每天视频分享一道IT公司面试高频题目,完全免费哦,非常适合找工作的学生复习+总结+提炼. 白嫖不敢独吞,分享给大家,也给作者增加一点访问量,鼓励作者 ...

  7. 数据库内容集锦(持续更新)

    这是又一篇随着作者的成长持续更新的文章~~收藏不亏,尽快入手呀 类似持续更新: 快捷键(持续更新中) js问题集锦~持续更新 数据库集锦 1 数据库对大小写不敏感 2 date与datetime区别 ...

  8. mysql数据转存到时序数据库_干货丨如何高速迁移MySQL数据到时序数据库DolphinDB...

    DolphinDB提供了两种导入MySQL数据的方法:ODBC插件和MySQL插件.我们推荐使用MySQL插件导入MySQL数据,因为它的速度比ODBC导入更快,导入6.5G数据,MySQL插件的速度 ...

  9. SpringCloud面试题及答案 300道,springcloud面试题总结 (持续更新)

    SpringCloud面试题及答案(SpringCloud面试题大全带答案) 2021年面试题及答案[最新版]高级SpringCloud面试题大全,发现网上很多SpringCloud面试题及答案整理都 ...

最新文章

  1. 两难!到底用Apache BeanUtils还是Spring BeanUtils?
  2. 《浪潮之巅》 读后感
  3. php pdo预处理查询,关于php:从PDO预处理语句中获取原始SQL查询字符串
  4. myeclipse深色模式_完善深色模式的调色板
  5. “6亿元入股锤子”项目涉嫌国资流失被调查?官方回应来了
  6. 2021最新基于会话推荐系统长文综述
  7. pytorch1.4+tensorboard不显示graph计算图的问题
  8. 留给字节跳动的时间可能不多了!
  9. rhel6.3搭建iscsi-target服务器实战
  10. WebService报错javax xml ws soap SOAPFaultException javax xml
  11. 虚拟机win2012安装
  12. VMware Workstation pro无法在Windows上运行的解决方法
  13. 爬虫之模拟登录、自动获取cookie值、验证码识别
  14. 计算机系统是无形资产吗,计算机操作系统做为无形资产核算吗
  15. #4017. 复制粘贴(copypaste)
  16. mysql域是什么意思_MySQL--域
  17. 计网 - 局域网:NAT 是如何工作的?
  18. Oracle中TO_DATE用法
  19. java maven 混淆_使用proguard实现maven工程代码混淆
  20. iphone QQ音乐锁屏歌词实现思路

热门文章

  1. Excel实战 第1章 数据处理
  2. 天耀18期 - 02.Java基础-标识符、关键字、数据类型【作业】
  3. html制作多媒体课件,多媒体课件设计与制作 教师课件制作平台
  4. 【复】一次流量分析经历
  5. 微信公众号 多台服务器,在多台 Linux 服务器上搭建 Pulsar 集群
  6. 导数和积分的转换关系
  7. js 实现网页内容语音朗读功能
  8. 传统企业互联网转型升级
  9. 学习Python人工智能前景如何
  10. 冰蝎shell_冰蝎全系列有效:针对 HTTPS 加密流量的 webshell 检测研究