目录

  • 1 教学内容
    • 1.1 导言
    • 1.2 用例图
    • 1.3 对象图
    • 1.4 顺序图
    • 1.5 通讯图
    • 1.6 类图
    • 1.7 状态图
    • 1.8 活动图
    • 1.9 包图
    • 1.10 构件图
    • 1.11 部署图
    • 1.12 面向对象分析的uml模型
    • 1.13 面向对象设计的uml模型
  • 2 教学视频
    • 2.1 OOAD详解
    • 2.2 UML简介
    • 2.3 用例图
    • 2.4 类图1
    • 2.5 类图2
    • 2.6 类图3
    • 2.7 对象图
    • 2.8 组件图
    • 2.9 部署图
    • 2.10 时序图
    • 2.11 协作图
    • 2.12 状态图
    • 2.13 包
    • 2.14 使用UML分析十种设计模式
  • 3 软件设计师考试教程教学视频2
    • 3.1 UML建模前言
    • 3.2 UML图(用例图)
    • 3.3 UML图(类图)
    • 3.4 UML图(顺序图)
    • 3.5 UML图(活动图)
    • 3.6 UML图(状态图)
    • 3.7 UML图(通信图)
    • 3.8 UML案例分析
  • 4 实验
    • 4.1 实验一:用例图设计
    • 4.2 实验二:类图设计
    • 4.3 实验三:活动图设计
    • 4.4 实验四:顺序图设计
    • 4.5 实验五:协作图设计
    • 4.6 实验六:状态图设计
    • 4.7 实验七:物理图设计
  • 5 期末考核
    • 5.1 期末考试要求
  • 6 软件
    • 6.1 startuml
    • 6.2 rose
  • 7 课件
    • 7.1 第一章 导言
    • 7.2 第二章 用例图
    • 7.3 第三章 对象图
    • 7.4 第四章 顺序图
    • 7.5 第五章 通讯图
    • 7.6 第六章 类图
    • 7.7 第七章 状态图
    • 7.8 第八章 活动图
    • 7.9 第九章 包图
    • 7.10 第十章  构件图
    • 7.11 第十一章 部署图
构件图

 10.1      基于构件的系统静止状态下的结构建模

   在软件开发和设计时 可能 有这样的想法:正 在开发的软件系统的某些功能是否可以直接用别人已经完成的并且具有相同功能的软件模块来代替这样可以大大节省 时间;另外,为了使所开发的软件系统的某些功能模块在将来更容易更新和替换,而不得不考虑如何使所开发的功能模块与系统的其他功能模块之间有最大程度的松耦 合机制正是在所有上述想法的驱动下软件工程领域出现了种软件开发技术为基于构件的开发( ComponentBase dDevelopment , CBD)

在该方法的指导下,构件对用户来说能够”即插即用“,即能从所提供的构件库中获得合适的构件并重用;对 供应商来说,这种软件构件便于用户裁剪、维护和重用。

       为了实现基于构件的软件开发的设计思想,必须将系统划分为若干个可管理的子系 统,再子系统中的类用接口进行封装,以便组成构件内 部内聚( Cohesion汃构 件之间松耦( Coupling) UML提供构件图来实现基于构件的系统结构建模 

10.2      构件和构件图 

10.2.1           构件 

目前没有统根据DonaldBellUMLBasics:TheC01n/Jonent Diagram文中所UML2.0UML2.0件被中独立封装它通过系列的接对外提供功是说UML2.O件被为是独立的事物的大的设计般将使用可更换的构件件提于把构件、可替换软件模块在这重点接口和

构件的施细节应 被隐藏,它使用系列 的供接口( P rovid ed In terface ) 提供它的功能 ,使用需接( Req ui red Int erface ) 他构件提供的功能通过使用接口, 可以避免系统中 各个构件之间发生直接依 赖关系,有利 千新构件的替 换如果构件间的依赖关系与接口有 关,那么构件可以 被具有同样接口的他构件替代

当前主流的构件模型规范有以下

(l ) O MG CORBA 构件跨越了各种平台和语的限制

(2)    SunMicro systemsEJB构件跨越异种平台

(3)      MicrosoftCOM构件仅限于 Windows列操作系统

  

10.2.2           构件图 

构件图( Compon ent  Diagra m) 为系统中的构件建模,它展示了构件间的相依赖关系

构件图U ML 最重要建模图示语言之一。它可建立系统中的类、类的内部结构(类的属性和操作)以及类与类之间的各种静态关系模型构件建模的目标把系统中的类分布到更大的内聚构件中 ,并显示系统构件间的结构关系 构件图由构件、接口、关 系、端口和连接器组成 ,它的表达方式 为

 

10.3     构件图的表示方法

 10.3.1      构件

UML  提供许多种表示构件图的方式,基本构件是个可换的软件包10-1 的符可视化地 表示了个构件

 

UML 2. 0 构件用加构 造型 < < co m po n e n t > 的矩形框来表示如果没详细显示构件的细节可以 将构件的名字放置在 矩形框的中央可以 在矩形框右上角显示个构件的图标这个图标其实是 UML 2. O  之前表示构件的符号用左侧加两个小矩形的矩形框表示构件

 

10.3.2      供接口和需接口

   构件为什接口呢构件中有非常功能假如有个类使用构 件中某个构件中这个体的方法发生时(方法名化或内容的),那么该类就不 能应用构件中的应内 接口可以 藏具体现细节 这样 构件中的内容可以任意变接口相对固定的

构件向外 部展现两种接口 供接口和需接口

供接口表示构件为客户提供的 功能 它告知用户构件如何 被使用构件至少要 有个供接口

需接口表示为了使构件工作构件必须从其他服务中所获得的功能需接口表示 该接口是构件的成员变翟或构件中类的成员变鼓

  供接口用"棒棒糖”式 的图 形 表示,即个封闭的圆形与条直线组成接口用“插座式的图形表示,即 个半圆与条直线组成。如图10-2 所示的例子为P P S 项目中的产品预定构件,须注意它的供接口和需接口

10- 2 中的构件名为 O r d er Prod uc tS ess ion 为了向两种不同的用户提供服务,它提供了两种不同的供接口接口 ! C us to m e r 为一般客户提供服务接口 ! S a le s m a n 销售人员提供服务

为了它的OrderProductSession供的 服 Or d e r byRet a il Ord e r byBa  tch   OrderbyManual,    I R e t a i ! O rd e rIBatchOrderIManua!Order

与图10-2相对应的代码如下所示

      J a va 语言中,供接口通过关键字 im ple m e n t s  来显式地表示,需 接口被类所使用的任何接口类型隐式地定义。

 

10.3.3      构件间的关系

       如果个构件有个需接口,则表 示它需要另个构件或者类为它提供服务了表达构件与其他构件间的关系供接口与需接口之间用个表示依 赖的箭头即虚线个开箭头连接起来,该箭头从需接口引出指向服务供应者提供的供接口10- 3 所示

10- 4 个装配连接器(A s s e m b ly Co nn ec to r ) 表示构件之间的关系,稍 后将介绍装配连接器.

更简单的,可以忽略构件间的供接口和需接口,而直接在构件间画上依赖关系,如图 10-5所示。

 

10.3.4      实现构件的类

 

构件需要包含和使用些类来实施它的功能这些类实现了这个构件可以在构 件中画出这些类以及类间的关系,如图 10- 6

更直接的可以直接在构件和实现它的类之间绘制依赖表示这些类实现了构件

10-6 也可以用图 10-7 表示

 

10.3.5      一 

 

   组合构件的外部接口用个尾部加小方块的正常接口表示,这个小矩形框被称为端口(P o r t ) 端口是 U M L 2.0引入个概念端口提供种方法来显示建模构件所提供或要求的接口如何与它里面的部分相关联,如图10-8所示

 

10.3.6      连接器

 

为了展现功能的实现连接器( Co n necto r ) 个构件提供的接口与另个构件的接口绑定到UML 2. O 提供了以下两种类型的连接器。

(l) 代理连接器( Del eg a t io n C o n n e ct o r ) 接外部接口的端口和内部接口。

( 2) 组装连接器( Assem blyCo nnect or ) 组装连接器表示构件之间的关系它连接构件内部的类个构件的供接口和个构件的接口捆绑在 

10.3.7     显示构件的内部结构

 

   一个构件的内 部可 能包 括多 个 他的构 件这 样 的 构 件 称 为 复 合 构件( CompoundComponen t) 复合构件中的构件称为子构件( Subcomponent ) 。图 10-9 显示了 PPS项目中个称为 ProducePlanning复合构件及其内部结构这个例子标明了构 件图的所有组成元素

 

在图 10-9中,ProducePlanning构件提供了 lproducePlan接口并需要!customer 接口为其提供服务ProducePlanning构件由 个构件组成O  rderProducePlanProductProducePlanningIproducePlan!customer接口符号在构件的边缘上均个方块,这些方块就是上面介绍 的端口通过使用端口 ,可以从外 部实例中分离出ProducePlanning构件的内部构件IproducePlan  端口代表ProduceP  lanning  构件的lproducePlan接 口同时,内部的 Order  构件要求的!customer  接 口被 分配到ProducePlanning构 件 必 !customer端 口通 过连 接 !customer端 口Pro d uceP lann i ng 构件的内 部构件(例如 O rder 构件)可以具有代表执行 端口接口的未知外部实体的本地特征必需的 !c us tomer 接口将会由其他外 部构件实现

 

9.  4           总         

   本章介绍了构件图构件图表示了构件之间的依 赖关系,每个构 件都可以实现些接口 ,并使用另些接口 如果构件间的依赖关系与接口有关 ,那么这个 构件可以被具有同样接口的其他构 件替代

我们强调了构件的概念,构件是系统高层的可重用的组成部件,指任何可被分离  出来、具有标准化的、可重用的公共接口的软件,它将系统中可重用的块包装成具有可替代性的物理单元系统的实现视图用构件及构件间的接口和依赖关系来表示设计元素(例如类)的具体实现

构件图是展示各构件的组织 和依 赖关 系的图注意 ,构件图 只有描述符形式 ,没有实例形式要表示 构件实例,应使用部 署图11 将介绍部署图