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






