6 系统体系结构建模
权 巍
主要内容
系统体系结构模型 构件图
UML的正向、逆向工程
配置图
UML和设计模式
2
6.1 系统体系结构模型
系统体系结构模型用于描述系统各部分的结构、 接口以及它们用于通信的机制,即描述系统实 际的物理结构。 系统体系结构模型
软件 系统体系结构模型
UML和设计模式
硬件 系统体系结构模型
结点TicketServer(售票服务)上的构件: CreditCardCharges/ManagerInterface/ TicketSeller/TicketDB 结点Kiosk(信息亭)上的构件: CustomerInterface SalesTerminal(销售终端)上的构件: ClerkInterface
UML和设计模式
25
配置图实例
配置图可表示系统中的各结点和每个 结点包含的构件。 图中包括的各种关系如下: 通信链关系(不带箭头的直线) TicketServe票服务器与Kiosk 信息亭之间存在一对多的通信关联;与 SalesTerminal售票终端也存在一对多的 通信关联; 依赖关系(带箭头的虚线) TicketSeller售票构件依赖 CreditCardCharges信用卡付款构件和 TicketDB票数据库构件提供的服务。 图中顾客购票的情景如下: 顾客通过位于Kiosk结点的顾客接 口控件进行购票的操作,该顾客接 口构件的购票操作依赖于处于 TicketServer结点上的售票构件提供 的服务,售票构件要完成售票操作, 又要依赖统一结点上信用卡付款构 件提供的付款服务和票数据库构件
UML和设计模式
9
(2)接口
构件的接口:描述一个构件能提供服务的操作的集合, 是一个有操作而无实现的类。 通过命名接口,可以避免在系统的各个构件中直接产 生依赖关系, 有利于构件的维护、替换等.
构件与接口之间的关系: 实现关系和依赖关系
UML和设计模式
10
UML和设计模式
11
(2)构件间的关系
UML和设计模式
6
某企业进销存管理系统从源代码到可执行文件的构件图示例
UML和设计模式 7
构件图的建模元素
(1)构件
构件与类的区别:类是逻辑抽象, 构件是物理抽象。
构件的图符
UMLபைடு நூலகம்设计模式 8
构件是一个实际文件, 可以有以下类型:
源代码构件(编译时构件、工作产品构件):
是实现一个或多个类的源代码文件,是开发工 作的中间产品。 二进制构件(连接时构件):是源代码经编译 产生的目标代码,如: DLL、COM+、CORBA、动 态Web页、数据库表等。 可执行构件(运行时构件):是系统执行时使 用的构件。
逆向工程
以构件为中心。
Java、C++、VB等, 关系数据库的表等。
UML和设计模式
16
6.3.1 Rose对正向工程的支持
从模型生成代码的步骤:
检查模型(Tools Check Model) 创建构件
将类映射到构件
设置代码生成属性
( Tools Options 某种语言) 生成代码 (Tools Java Generate Codes)
UML和设计模式
26
UML模型总结
系统建模
用例建模
静态建模
动态建模 配置图 交互建模 顺序 图 合作 图 状态建模 状态 图 活动 图
用例 图
类图、 对象图
构件图
UML和设计模式
27
结点的短式与长式图符
UML和设计模式 21
配置图的基本建模元素
关于结点名
服务器::备份
包名 结点名
联想PC6000:工作站
结点名 结点类型
工作站
下划线表示结点的实例
UML和设计模式
22
配置图的基本建模元素
(2)结点间的关联关系
结点之间的通信关联,表示结点间存在通信路径。 图符:直线。
UML和设计模式
UML和设计模式 17
6.3.2 Rose对逆向工程的支持
例:Java代码模型
新建工程时选择J2SE模
板; 选择Tools
Java/J2EE Reverse Engineer
UML和设计模式
18
6.4 配置图
配置图 (Deployment diagram),也称配置图,用来
信用卡付款提供付款服务 票数据库提供购买和状态 查询服务 售票处提供预订购买、个 人购买和团体购买服务
情景描述
情景一: 购买个人票可以通过公用信息亭订购也可直接向售票员购买, 但购买团体票只能通过售票员。 情景二: 买票的人可以根据任意选择预订销售或个人销售或团体销售 中的一种方式,售票处为了方便销售,需要信用卡付款服务 的支持,同时也必然需要票数据库处在有票可卖的状况中。
硬件系统体系结构模型,描述系统中有哪些硬件设备,
它们间如何连接与交互,各硬件设备中配置的软件构 件有哪些。 在UML中,用配置图描述。
UML和设计模式
5
6.2 构件图
构件通常是一些实现性文件。 构件(Component)是系统中遵从一组接口且提供其实 现的物理的、可替换的部分。 在UML中,采用构件图来描述系统中的不同物理构 件及其相互之间的关系,表述代码本身的结构。 构件图(Component diagram)显示一组构件以及它们 之间的相互关系, 包括编译、链接或执行时构件之间 的依赖关系.
为了便于组件之间替换,可使用如下依赖关系:
UML和设计模式
12
构件图示例--1
对源代码文件之间的关系建模
UML和设计模式
13
构件图示例--2
对可执行文件之间的关系建模
UML和设计模式
14
构件图示例--3
源代码成为可执行代码过程建模
UML和设计模式
15
6.3 UML的正向、逆向工程
正向工程
UML 模型 代码 框架
23
结点之间的通信关联
UML和设计模式 24
构件图实例
图中依赖关系包括:
顾客需要信息亭接口提供服务 售票员需要职员接口提供服务 信用卡付款需要信用卡代理提 供服务
职员接口需要预订销售、个人 销售和团体销售提供服务 管理接口需要数据库状态提供 服务 售票处需要付款和购买提供服 务 等等……
图中实现关系包括:
3
6.1.1 软件系统体系结构
软件系统体系结构:描述系统的不同物理构件及其相
互间的关系。 构件是逻辑体系结构中各元素的物理包。 在UML中,用构件图描述。
UML和设计模式
4
6.1.2 硬件系统体系结构
硬件系统体系结构:描述目标系统软件构件与硬件之
间的关系,表达的是运行时的系统结构。
显示系统中结点的拓朴结构和通信路径,以及结点上 运行的软构件等。 一个系统只有一个配置图。
并不是所有的系统都需要建立配置图,配置图通常用
于描述网络环境下运行的分布式系统或嵌入式系统。
UML和设计模式
19
ATM 系 统 配 置 图 实 例
UML和设计模式
20
配置图的基本建模元素
(1)结点
结点表示某种计算资源的物理(硬件)对象,包括 计算机、外部设备(如打印机、读卡机、通信设备)等。 图符:三维立方体