构件图和部署图用来描述系统的物理实现和物理运行情况。其中构件是基本单位,将系统中可重用的模块封装为具有可替代性的物理单元,这种物理单元被称为构件。构件是在一个系统或子系统中的封装单位,提供一个或多个接口,是系统高层的可重用部件,包括软件代码(源代码、二进制代码和可执行文件)或相应组成部分,例如脚本或命令行文件等。
构件作为系统定义良好接口的物理实现单元,可以不直接依赖其他构件而仅仅依赖于构件支持的接口,通过使用接口可以避免在系统中与其他构件之间直接发生依赖关系。
一个构件实例用于表示运行时存在的实现物理单元和在实例节点中的定位,有代码特征和身份特征:构件的代码特征是指它包含和封装了实现系统功能的类,其他元素的实现代码以及某些构成系统的实例对象;构件的身份特征是指构件拥有身份和状态,用于定位在其上的物理对象。
构件图用来表示系统中构件与构件之间、类或接口与构件之间的关系的图。其中,构件和构件之间的关系表现为依赖关系,定义的类或接口与类之间表现为依赖关系或实现关系。构件图通过显示系统的构件异界接口之间的接口关系,形成系统的更大的一个设计单元,为设计师提供了一个系统解决方案模型的自然形式,并且还能够在系统完成后允许一个架构设计是验证系统的必须功能是由哪些构件实现的额,保证了最终的系统被接受。
构件图还可以呈现目标系统的早期设计,是系统开发的各个小组由于实现构件的不同而连接起来,方便了不同开发小组的交流。并决定开发的任务分配以及需求分析,系统管理员也通过构件图活的运行于它们系统上的逻辑构件的早期视图,全面了解系统的进度。
部署图描述了一个系统运行时的硬件节点,在这些节点上运行的软件构件将在何处物理运行以及它们将如何彼此沟通的静态视图。包含两种基本元素:节点和节点之间的连接。
在rational rose中表示节点的类型包括两种,分别是处理器和设备。处理器是指那些本身具有计算能力且能够执行各种软件的节点,如服务器、工作站等。描述处理器的方面应当包含了处理器的调度和进程。调度是指处理器处理其过程中为实现一定的目的而对共同使用的资源进行时间分配,有时候需要指定该处理器的调度方式,从而使处理达到最优或比较优的效果。
Preemptive 抢占式,高优先级的进程可以抢占低优先级的进程
Nonpreemptive 无优先方式,进程没有优先级,当前进程在执行完毕后进行下一个进程
Cyclic 循环调度,进程循环控制,每一个进程都有一定的时间,超过规定的时间,交给下一个进程
Executive 使用某种计算算法控制进度调度
Manual 用户手动执行进程调度
构件图中的主程序或者是一个协作图中的主动对象都是进程。一个处理器可以包含许多个进程,可使用特定的调度方式执行这些进程。
设备是指那些本身不具备处理能力的节点。通常情况下都是通过其接口为外部提供某些服务,
如打印机、扫描仪。
连接用来表示两个节点之间的硬件连接,可以使光缆方式直接连接,也可以是卫星等间接连
接,且连接都是双向的。在连接中支持一个或多个通信协议,每一个协议都可以使用一个关
于连接的构造类型来描述。
HTTP 超文本传输协议
JDBC Java数据库连接,一套为数据库存取编写的Java API
ODBC 开放式数据库连接,一套微软的数据库存取应用编程接口
RMI 远程通信协议,一个Java的远程调用通信协议
RPC 远程过程调用通信协议
同步 同步连接,发送方必须等待从接收方的反馈信息后才能再发送信息
异步 异步连接,发送发不需要等待从接受方的反馈就能再发送信息
Web Service 经由SOAP和UDDI的Web Service协议的通信
系统的开发人员和部署人员可以很好的利用部署图去了解系统的物理运行情况,给那些复杂的物理运行情况进行建模,如分布式系统等。