第10讲组件图和配置图ppt课件.ppt

上传人:牧羊曲112 文档编号:2103648 上传时间:2023-01-10 格式:PPT 页数:77 大小:392.50KB
返回 下载 相关 举报
第10讲组件图和配置图ppt课件.ppt_第1页
第1页 / 共77页
第10讲组件图和配置图ppt课件.ppt_第2页
第2页 / 共77页
第10讲组件图和配置图ppt课件.ppt_第3页
第3页 / 共77页
第10讲组件图和配置图ppt课件.ppt_第4页
第4页 / 共77页
第10讲组件图和配置图ppt课件.ppt_第5页
第5页 / 共77页
点击查看更多>>
资源描述

《第10讲组件图和配置图ppt课件.ppt》由会员分享,可在线阅读,更多相关《第10讲组件图和配置图ppt课件.ppt(77页珍藏版)》请在三一办公上搜索。

1、第9章 组件图,在面向对象的系统分析与设计过程中,完成系统的逻辑设计之后,接下来要考虑的就是系统的物理实现。构造系统的物理实现模型可以描述应该如何根据系统硬件、软件的各个组件间的关系来布置物理组件。系统的物理实现建模工作在UML建模的早期就可以进行,但直到系统使用类图进行完全建模之后,物理实现模型才能够完全构造出来。构造物理实现模型,有助于设计系统的整体架构。,在UML中,对面向对象系统的物理实现进行建模需要使用组件图和配置图,这两种模型图又因此统称为实现图。使用组件图来可视化系统物理组件及它们之间的关系,并描述其构造细节。使用配置图来描述系统所需的处理器和设备的拓扑结构。,也称“构件图”,构

2、件图描述代码部件的物理结构及各部件之间的依赖关系。一个构件可能是一个资源代码部件、一个二进制部件或一个可执行部件。它包含逻辑类或实现类的有关信息。构件图有助于分析和理解部件之间的相互影响程度。,9.1 概述,组件图(Component Diagram)是UML提供的一种表示组件的组织结构和相互关系的图,用于表达在实现时如何将系统元素组织成组件,从而支持以组件为单位进行软件制品的实现和发布。在UML中,一个组件图只能表示系统实现图的一部分,任何一个组件图都不能描述系统的全部,但当系统中的组件图都组合在一起,就能表示建模系统的完整的实现。,进销存管理系统组件图示例,9.2 组件图的元素,组件图通常

3、包括3种元素:组件接口关系,1.组件,组件(component)又称构件,它是定义了良好接口的物理实现单元,是系统的单个组成部分,它可以是一个文件、产品、可执行文件或脚本等。一般情况下,组件表示将类、接口等逻辑元素打包而形成的系统中的模块部件,其表现形式在其环境中是可替换的。作为一种物理实现单元,组件包含类,类通过组件来实现,组件与类之间是依赖关系。组件与类之间存在着很多的相同点和不同之处。,组件与类的比较,在UML中,组件用一个左侧带有两个突出小矩形的矩形图标表示。每个组件都应有一个名称以表示该组件并区别其他组件,位于组件图标内部。组件名称是一个标识符字串,只有单独一个名称的称为简单名;在简

4、单名前加上组件所在包的名称叫做路径名。,在对软件系统建模的过程中,存在以下3种类型的组件:配置组件(Deployment Component)配置组件是运行系统前需要配置的组件,是形成执行文件的基础。例如,操作系统(OS)、数据库管理管理系统(DBMS)以及Java虚拟机(JVM)都属于配置组件。工作产品组件(Work Product Component)工作产品组件包括模型、源代码和用于创建配置组件的数据文件。例如,UML图、Java类和JAR文件、数据库表以及动态链接库文件(DLL)等都是工作产品组件。执行组件(Execution Component)执行组件是在运行时创建的组件,时刻运行

5、的系统产生的结果。执行组件包括HTML文档、XML文档、Enterprise Java Beans、COM+组件、.NET组件以及CORBA组件等。,2.接口,在组件图中也可以使用接口。接口用来描述一个组件能提供服务的操作(只提供操作名称而没有具体实现)的集合。通过使用接口,组件可以使用其他组件中定义的操作。接口可以使源代码级定义的接口,也可以使运行时使用的二进制接口。组件之间的依赖通过指向所使用的组件接口来表示。,2.接口,在UML中,接口的表示方法与类图中的接口相同。组件的接口又可以分为两种类型:输出接口(export interface):输出接口由提供操作的组件提供。输入接口(impo

6、rt interface):访问服务的组件使用输入组件。,3.关系,组件图中的关系分为两种:实现关系(Realization)和依赖关系(Dependency)。其中,组件之间以依赖关系为主;组件与接口之间包含实现关系和依赖关系两种。在UML组件图中用一条连接组件与接口的实线表示实现关系;用带箭头的虚线表示依赖关系,箭头从依赖的组件指向被依赖的组件。,业务对象BO组件图,9.1.1 组件图,4补充图标建模工具里都为不同类型的组件定义了特定的图标,这既便于系统设计师在建模时使用,也便于其他人员理解。在Rational Rose中:1)主程序(main program),9.1.1 组件图,2)包

7、(package)3)子程序规范(subprogram specification)和子程序体(subprogram body),9.1.1 组件图,4)包规范(package specification)和包体(package body)5)数据库,即C+的.h文件,C+的.cpp文件,9.3 组件图建模及应用,组件图的应用:源代码组件建模二进制组件建模可执行组件建模数据库组件建模,源代码组件建模,源代码组件也称为编译时组件,是实现一个或多个类的源代码文件,二进制组件和可执行组件都是由源代码组件经编译后产生的。使用不同的程序设计语言开发的程序具有不同的源代码组件。例如,使用C+语言时,程序的

8、源代码存在于.h文件和.cpp文件中;使用Java语言时,程序的源代码位于.java文件中。,源代码组件上可标上相应符号用以表示不同类型文件:符号用以表示包含源代码或数据的文件;用以表示Web页;表示文档(包含文档,而不是可编译代码),二进制组件建模,二进制组件也称连接时组件,使源代码组件经编译后产生的目标代码。它可以使编译一个源代码组件而产生的目标代码文件,或者是编译一个或多个源代码组件而产生的静态库文件或动态库文件。目标代码文件和静态库文件在运行前连接成可执行组件,而动态库文件(也称动态链接库,DLL)在运行时才连接成可执行组件。二进制组件建模过程中,使用符号来指出组件是静态库文件或动态库

9、文件。,可执行组件建模,可执行组件又称为运行时组件,是系统执行时使用的组件,即可执行程序组件(.exe)。可执行组件可以从二进制组件产生,也可以直接从源代码组件产生。在进行可执行组件建模时,需要首先找出构成系统的所有组件,然后区分不同种类的组件,还需要确定组件间的关系。可执行组件建模过程中,可以使用、符号来指出组件是可执行文件或可执行程序。,数据库组件建模,通过组件图可以给出数据库组件的模型,而每个数据库组件又可以包含数据库表组件。通过数据库组件建模,可以使用特殊符号来代替通常情况下的数据库或数据库表的表示法;还可以描述与每个数据库表组件相关的字段与存储过程。可以通过组件建模将系统中可能包含的

10、大量库表情况清晰地显示出来。在数据库组件建模过程中,可以使用、符号来分别指出组件是数据库组件和数据库表组件。,Course.mdb组件代表Access数据库,Student组件、Course组件和Elective组件是组成Course.mdb数据库的3个数据库表。,组件图建模组件图用于对系统的物理实现进行建模,描述系统组件与组件之间的关系。组件本身是系统的一个物理模块,它的设计应充分体现软件的模块性和可重用性。,组件设计时,设计一个结构良好的组件应遵循以下原则:从物理结构上对软件系统进行抽象。组件应是内聚的。组件中的类应彼此重用。提供一组定义完整的接口实现。组件所包含的类其功能应相关,以便于满

11、足实现接口。组件之间不应有循环的依赖。组件、接口之间一般只有依赖和实现关系。,一个结构良好的组件图应具备以下特点:侧重描述系统静态试图的某一侧面,不应求大、求全。只包含那些对描述该侧面内容有关的模型元素。提供于抽象层次一致的描述,只显示必要的修饰。图形不要过于简化,以防产生误解。,在组件图的建模过程中,可以参考以下步骤:对系统中的组件建模。定义相应的组件提供的接口。对组件与组件、组件与接口之间的关系建模。将逻辑设计映射为物理实现,完成组件图。对建模结果进行精化和细化。,9.4 组件图建模实例,对于图书管理系统进行组件图建模,主要从两个方面进行建模:业务逻辑包组件图建模GUI包组件图建模,业务逻

12、辑包组件图建模主要包括:借阅组件(Loan.java)书目组件(Title.java)图书组件(Book.java)借阅者组件(Borrower.java)管理员组件(Manager.java)其中,Manager.java组件依赖于系统管理员组件(Administrator.java)和图书管理员组件(Librarian.java)。,业务逻辑包组件图,GUI包包括MainWindow类和Manage Window类 GUI包组件图主界面组件图管理员用户界面组件图,主界面组件图包括:主窗体组件(MainWindow.java)借书对话框组件(BorrowDialog.java)还书对话框组件

13、(ReturnDialog.java)密码修改对话框组件(ModifyDialog.java)查询对话框组件(QueryDialog.java)显示对话框组件(DisplayDialog.java),管理员用户界面组件图包括:书目管理对话框组件(TitleDialog.java)图书管理对话框组件(BookDialog.java)借阅者管理对话框组件(BorrowerDialog.java),在管理员用户界面组件图中:TitleDialog.java组件还可以进一步细化出AddTitle.java组件、UpdateTitle.java组件和DeleteTitle.java组件。BookDial

14、og.java组件可细化出AddBook.java组件、UpdateBook.java组件和DeleteBook.java组件BorrowerDialog.java组件可细化出AddBorrower.java组件、UpdateBorrower.java组件和DeleteBorrower.java组件。,构件图,实例3,图中依赖关系包括:顾客需要信息亭接口提供服务售票员需要职员接口提供服务信用卡付款需要信用卡代理提供服务职员接口需要预订销售、个人销售和团体销售提供服务管理接口需要数据库状态提供服务售票处需要付款和购买提供服务等等,图中实现关系包括:信用卡付款提供付款服务票数据库提供购买和状态查询

15、服务售票处提供预订购买、个人购买和团体购买服务,情景一:购买个人票可以通过公用信息亭订购也可直接向售票员购买,但购买团体票只能通过售票员。情景二:买票的人可以根据任意选择预订销售或个人销售或团体销售中的一种方式,售票处为了方便销售,需要信用卡付款服务的支持,同时也必然需要票数据库处在有票可卖的状况中。,情景描述,第10章 配置图,对系统进行物理实现建模时需要用两种图进行描述:组件图和配置图。组件图用来建模软件组件,而配置图用来对配置系统时涉及到的硬件进行建模。,10.1 概述,配置图(Deployment Diagram,又称部署图)用来描述系统所需的处理器和设备的拓扑结构,显示了运行软件系统

16、的物理硬件,以及如何将软件配置到硬件上。换言之,配置图描述了执行处理过程的系统资源元素的配置情况以及软件到这些资源元素的映射。,10.1 概述,配置图在UML 1.x系列中与组件图统称为实现图,当时对它的定义是:“一种显示运行时的处理结点以及在其上生存的组件、进程及对象配置的图。”其作用是表示各个结点上需要配置那些组件,以及这些结点是如何通过网络相互连接的。在UML 2.0出现以后,对配置图部分出现了较大调整,其定义是:“一种描述系统执行结构的图,它把系统制品表示成结点,通过通信路径连接这些结点而构成网络。结点通常以嵌套的方式定义,即表示硬件设备,也表示软件执行环境。”,10.2 配置图元素及

17、表示法,通常情况下,配置图所包含的元素有:结点和关系。配置图可以显示结点以及它们之间的必要连接,也可以显示这些连接的类型,还可以显示某些结点上所包含的组件之间的关系。,1.结点,结点(node)在配置图中表示一个硬件设备或者执行环境,即被开发的软件制品将要配置于其上的宿主设备或环境。UML给出的制品定义是:“制品(artifact)是一组信息的物理说明,这些信息是由软件开发过程所使用或者产生的,或者是由系统的开发与操作所使用或者产生的。”制品的例子包括源文件、执行文件(如.exe文件、位串文件、DLL文件、JAR文件、脚本或汇编语言程序等)、模型文件、数据库表、邮件信息、书面文档、草稿等。,在

18、UML中,结点用一个三维立方体来表示。其中,又可以把结点分为两种类型:处理器(Processor)和设备(Device)。处理器是指具有计算能力的结点,它可以执行软件组件。设备是指没有计算能力的结点,它们通常是通过其接口为外界提供某种服务,如打印机、扫描仪等都是设备。,Processor,Device,配置图与组件图都是描述系统物理实现的模型图,作为两种图的主要元素,结点与组件的比较如下表所示。,与组件相同,每个结点都有自己的名称,用以区别于配置图中其他的结点。结点的名称是一个有短名词或名词短语构成的字符串,位于结点图标内部。结点的名称也分为简单名与路径名两种。,配置图中可以包括包和子系统,它

19、们可以将系统中的模型元素组织成更大的组块。配置图中还可以包含组件,这些组件都必须存在于配置图中的结点上,将结点和组件结合起来,用以处理硬件资源和软件实现之间的关系。在图形表示中,可以将相应的组件或组件图建模在结点内部;也可以在结点和组件之间添加一条表示依赖关系的带剪头虚线并进行标识。,驻留结点上的组件图,带有依赖关系的配置图,2.关系,在配置图中,使用关联关系(Association)表示结点之间的通信路径。配置图中的关联关系与类图中的关联关系采用相同的表示方法,都是一条实线。在连接硬件是通常关心结点之间的连接方式和通信方式,因此结点之间的关联关系一般不使用名称标识,而是使用构造型来描述,如、

20、等。,4图标处理器(Processor),表示具有运算能力的节点。设备(Device),表示没有运算能力的节点。通讯路径(Connection),表示节点之间的通讯关系。,关联关系示例,10.3 配置图建模及应用,1.配置图的应用 在应用方面,通常可用配置图建模的系统有:客户机/服务器(C/S)系统浏览器/服务器(B/S)系统分布式系统嵌入式系统,客户机/服务器(C/S)以及浏览器/服务器(B/S)两类系统的配置图建模比较相似,运用配置图能够可视化的显示在客户终端运行的组件和在服务器端运行的组件,还可以通过将组件与结点嵌套,通过结点间的关联为各种组件建立通信模型。在客户机/服务器系统配置图建模

21、时需要考虑客户端和服务器端的网络连接情况以及系统软件组件在各个节点上的分布。系统主要分为“胖”客户机系统和“瘦”客户机系统两种。其中,“胖”客户机系统的客户端具有较强的计算能力,可以执行系统的部分商业逻辑;而“瘦”客户机系统的客户端只有有限的计算能力,一般只能管理用户界面和信息的显示。,以客户机/服务器为例说明,此类系统在进行配置图建模时,应参考以下策略:为系统的客户端和服务器端处理器进行建模。为系统中的主要设备建模。对系统中的处理器和设备进行扩充。确定配置图中各元素之间的关系。,客户机/服务器系统配置图示例,分布式系统分布在若干个分散的结点上,并且系统是在动态变化的,结点的数量和软件组件的分

22、布也是不断变化的。对于分布式系统,可以运用配置图进行建模来描述当前的拓扑结构和软件组件的分布情况。需要注意的是,在分布式系统配置图建模过程中,LAN、Internet等网络也将被表示为一个结点。,分布式系统配置图示例,使用配置图对嵌入式系统进行建模,可参考如下策略:找出系统的必要结点。运用扩展机制为系统定义必要的原型。对系统中的处理器和设备之间的关系进行建模。精化和细化智能化设备的配置图。,收银台嵌入式系统配置图示例,2.配置图建模 运行环境比较简单的小型软件系统不需要进行配置图建模。如果要开发的软件系统需要使用出标准设备之外的其他设备(如路由器、打印机、扫描仪等),或者系统中的硬件设备、软件

23、组件分布在多个处理器上,这时就必须进行配置图建模。,配置图建模的重点是确定结点以及定义结点间的关系,具体的建模过程可以参照下列步骤:对系统中的结点建模。对结点之间的关联关系建模。对驻留在结点上的组件建模。对结点上组件间的依赖关系建模。对建模的结果进行精化和细化。,在建模的基础上绘制配置图的步骤如下:添加结点。完成结点上的配置及内嵌组件图的建模。添加结点间的关系。精化、细化、整理配置图。,10.4 配置图建模实例,图书管理系统被设计成基于局域网和数据库的客户端/服务器结构的系统。该系统配置图中应包括1个Printer(打印机)设备和3个处理器结点:Application Server(图书管理系

24、统应用服务器)、DataBase Server(数据库服务器)、ClientPC(客户端计算机)。其中,Application Server提供了借书、还书服务以及维护借阅者信息、书目信息、图书信息、管理员信息等功能;DataBase Server保存了系统中所有的持久数据。Application Server、DataBase Server、ClientPC和Printer之间通过局域网进行连接。其中的BusinessLogic(业务逻辑包)组件嵌套了组建图。,构件图,部署图,部署图,实例 描述层部署图,图中顾客购票的情景如下:顾客通过位于Kiosk节点的顾客接口控件进行购票的操作,该顾客接

25、口构件的购票操作依赖于处于TicketServer节点上的售票构件提供的服务,售票构件要完成售票操作,又要依赖统一节点上信用卡付款构件提供的付款服务和票数据库构件,图中包括的各种关系如下:通信链关系(不带箭头的直线)TicketServe票服务器与Kiosk信息厅之间存在一对多的通信关联;与SalesTerminal售票终端也存在一对多的通信关联;依赖关系(带箭头的虚线)TicketSeller售票构件依赖CreditCardCharges信用卡付款构件和TicketDB票数据库构件提供的服务。,节点TicketServer(售票服务)上的构件:CreditCardCharges/Manage

26、rInterface/TicketSeller/TicketDB节点Kiosk(信息亭)上的构件:CustomerInterfaceSalesTerminal(销售终端)上的构件:ClerkInterface,小结,组件图是对面向对象系统的物理方面建模时使用的两种图之一,用于描述软件组件以及组件之间的组织和依赖关系,构成组件图的元素包括组件(component)、接口(interface)和关系(relationship)。部署图是用于描述系统硬件的物理拓扑结构以及在此结构上运行的软件的图形,部署图可以显示计算节点的拓扑结构、通信路径、节点上运行的软件、软件包含的逻辑单元(对象、类等)。构成部署图的元素主要是节点(node)、组件(component)和关系(relationship)。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号