实现图
实现图:从系统的层次来描述硬件的组成和布局,软件系统的划分和功能实现,实现图用来描述实现方面的信息。
实现图分为:构件图和部署图。
使用构建图和部署图的目的:我们学前边几种图的时候,用例图是从用户的角度描述希望系统具有的功能行为,类图描述系统的动态行为,描述类,接口等之间的关系,使用活动图状态图藐视系统中的类是如何相互作用来完成这些行为的。从逻辑上讲已经是很完整的了。但是我们换一个角度的话,当我们完成上边这些逻辑设计以后,就要落到实物上,也就是物理实现,我们需要把我们的逻辑构想通过一些物理实体实现,比如文件,表,源代码,构建图就是描述应用程序与这些文件的依赖关系,部署图则显示了运行软件系统的物理硬件,以及如何将软件部署到硬件上,我们就可以了解到软件和硬件组件之间的物理关系。
构件图(组件图)
:用来显示一组构件之间的组织与依赖关系。
举个通俗的例子,一辆汽车是由轮子,车筐,脚蹬子,等构成的当变成软件的时候也是一个道理,一个软件中也有很多物理部件构成(控件,构件等),构件图就是用来描述软件内部物理组成和他们关系的一种图。
构件图的用途
- 使开发工作有一个明确的目标,有利于帮助工作组的其他人员理解系统,比如非专业人员。
- 帮助用户理解最终的系统结构
- 有利于软件系统的组件重用
构成
1、构件
构件是系统中遵从同一组接口且提供其实现的物理的,可替换的部分,每个构件都能实现一定的功能,为其他构件提供接口,方便软件的复用。
特点
1.物理的
2.可替换的
3.系统的一部分
4.遵从一组接口并提供对一组接口的实现
构件类型
①工作产品组件:工作产品组件是配置组件的来源,是保证系统运行的最基本组件,是不可或缺的组件。比如:数据文件和程序源代码。
②配置组件:是形成可执行文件的基础。例如:静态链接库、动态链接库(DLL)、二进制可执行体、ActiveX控件和JavaBeans。
③执行组件:是最终可运行系统产生的可运行结果,即可执行程序(EXE)等。
构件和类的相同点
都可以实现一组接口,都可以参与依赖关系,都可被嵌套,都可以有实例,都可以参与交互。
构件和类的区别
类描述了软件设计的逻辑组织。而组件图描述软件设计的物理实现,每个组件体现了系统设计中特定类的实现。类是对象的抽象,比如从砖头可以抽象出来砖头类,那么由砖头组成的墙就是构件。再比如家里有个门,可以开门关门,改天想换就换了,这个门就是构件。这个门可以随时替换,但是他要遵守一组接口(门框),并且要提供一组接口的实现(门是用来开开关的)
2、接口
接口是一个类提供给另一个类的一组操作。
接口分为示出接口和引入接口。
1)示出接口:即一个构件展示的接口供其它构件使用 (可以理解成门上的没有锁芯的锁)
2)引入接口:构件需要实现的接口(可以理解成我们所说的门框)
示例
3、关系
依赖关系:构件向外提供的服务(客户端组件依赖于提供者组件,是构件与构件之间的关系)
实现关系:构件依赖外部提供的服务(组件可以实现接口,是构件和对应接口的关系)
构件与对应接口之间的关系是泛化关系,构件与其他构件之间通常是依赖关系。
部署图
部署图:用来描述系统硬件的物理拓扑结构以及在此结构上执行的软件。用于静态建模,主要表示运行时过程节点结构、构件实例及其对象结构。
构成
1.节点
在 UML 模型中,节点是用来表示系统的计算资源(例如,个人计算机、传感器、打印设备或服务器)的模型元素。节点可通过通信路径来连接以描述网络结构,代表物理设备及其在上运行的软件系统。有两种类型。表示形式是一个立体的盒子。
处理器
设备
2、组件
在 UML 模型中,节点是用来表示系统的计算资源(例如,个人计算机、传感器、打印设备或服务器)的模型元素。节点可通过通信路径来连接以描述网络结构,代表物理设备及其在上运行的软件系统。
3、关系
如有异议欢迎交流!!!