UML--实现图(构件图、部署图)
2016-12-02 16:09
232 查看
实现图:用来描述实现方面的信息,从系统的层次来描述硬件的组成和布局,以及软件系统划分和功能实现。
实现图包括构件图和部署图,下面分别对其进行简单介绍:
构件图
一、What?
构件图又叫组件图,用来描述代码构件的物理结构以及各构件之间的依赖关系。一个构件可以使一个资源文件、一个二进制文件或者一个可执行文件。描述系统的模块结构,抽象层次较高
二、构成
1.组件:
(1)概述:表示系统中的不同物理部件及其联系,表达的是系统代码本身的结构。
(2)举例:程序源代码、子系统、动态链接库、ActiveX控件、对象库、可执行体、COM+、企业级JavaBean
(3)类型:
※ 源代码构件:源代码文件
※ 二进制构件:目标码文件、静态链接库、动态链接库
※ 可执行构件:可执行程序
※ 数据文件或文档
(4)特点:
物理的、可替换的、系统的一部分、遵从一组接口并提供对一组接口的实现
(5)组件与类的相同点和不同点:
2.接口:一个类提供给另一个类的一组操作。
※导出接口:导出接口有提供操作的构件提供。
※导入接口:访问服务的组件使用导入接口。
3.关系:
※ 依赖关系:具有依赖关系的组件有以下一些性质:客户端组件依赖于提供者组件,提供者组件在开发时存在,但运行时不需要存在。
※ 泛化关系
※ 关联关系
※ 实现关系:多用于组件和接口之间,组件可以实现接口,这只是一种简单的说法,实际上是组件中的类实现了接口。
三、作用
※ 帮助客户理解最终的系统结构
※ 使开发工作有一个明确的目标
※ 有利于帮助工作组其他人员理解系统
※ 有利于软件系统的组件重用
部署图
一、What?
部署图又叫配置图,展现运行时处理节点以及其中组件的配置描述系统硬件的物理拓扑结构,以及在此结构上执行的软件。
二、基本元素
(1)节点:代表一个物理设备或者是一个运行在其上的软件系统。
(2)构件:可执行的物理代码模块。
(3)对象:类的实例。
(4)接口:对外提供可见操作和属性,其他构件通过接口使用构件。
(5)连接:节点之间的连线,表示节点之间的关联。
(6)依赖关系:一个构件的改变随另一构件的改变而改变。
(7)关联关系:对节点间的通信路径或连接进行建模
三、作用:
※ 研究系统投入使用的相关问题
※描述一个商业应用主要的部署结构
※设计一个嵌入系统的硬件和软件结构
※描述一个组织得硬件/网络基础结构
四、下面附一张机房收费系统的部署图:
实现图包括构件图和部署图,下面分别对其进行简单介绍:
构件图
一、What?
构件图又叫组件图,用来描述代码构件的物理结构以及各构件之间的依赖关系。一个构件可以使一个资源文件、一个二进制文件或者一个可执行文件。描述系统的模块结构,抽象层次较高
二、构成
1.组件:
(1)概述:表示系统中的不同物理部件及其联系,表达的是系统代码本身的结构。
(2)举例:程序源代码、子系统、动态链接库、ActiveX控件、对象库、可执行体、COM+、企业级JavaBean
(3)类型:
※ 源代码构件:源代码文件
※ 二进制构件:目标码文件、静态链接库、动态链接库
※ 可执行构件:可执行程序
※ 数据文件或文档
(4)特点:
物理的、可替换的、系统的一部分、遵从一组接口并提供对一组接口的实现
(5)组件与类的相同点和不同点:
2.接口:一个类提供给另一个类的一组操作。
※导出接口:导出接口有提供操作的构件提供。
※导入接口:访问服务的组件使用导入接口。
3.关系:
※ 依赖关系:具有依赖关系的组件有以下一些性质:客户端组件依赖于提供者组件,提供者组件在开发时存在,但运行时不需要存在。
※ 泛化关系
※ 关联关系
※ 实现关系:多用于组件和接口之间,组件可以实现接口,这只是一种简单的说法,实际上是组件中的类实现了接口。
三、作用
※ 帮助客户理解最终的系统结构
※ 使开发工作有一个明确的目标
※ 有利于帮助工作组其他人员理解系统
※ 有利于软件系统的组件重用
部署图
一、What?
部署图又叫配置图,展现运行时处理节点以及其中组件的配置描述系统硬件的物理拓扑结构,以及在此结构上执行的软件。
二、基本元素
(1)节点:代表一个物理设备或者是一个运行在其上的软件系统。
(2)构件:可执行的物理代码模块。
(3)对象:类的实例。
(4)接口:对外提供可见操作和属性,其他构件通过接口使用构件。
(5)连接:节点之间的连线,表示节点之间的关联。
(6)依赖关系:一个构件的改变随另一构件的改变而改变。
(7)关联关系:对节点间的通信路径或连接进行建模
三、作用:
※ 研究系统投入使用的相关问题
※描述一个商业应用主要的部署结构
※设计一个嵌入系统的硬件和软件结构
※描述一个组织得硬件/网络基础结构
四、下面附一张机房收费系统的部署图:
相关文章推荐
- ug二次开发——grip语言矩阵变换的应用
- mysql 查询结果不正确
- Angular $http
- 领域驱动之无状态操作
- onActivityResult中resultCode老是等于0
- hdu 5247 找连续数 (java)
- JVM理论与实践【堆内存结构与垃圾回收】
- Oracle索引详解
- 关于Log4j
- 使用C语言来扩展PHP,写PHP扩展dll
- 部分网站允许空白referer的防盗链图片的js破解代码
- Mac of MyEclipse 配置Tomcat数据源,并添加数据源驱动
- DM8168的PCIE2.0使用笔记
- Citrix XD、Pvs测试日记《六、XenDeskTop7.6计算机目录和交付组》
- Android 4.4系统前后的调用系统相册和相机的问题
- 人生
- 数据库语言的一些操作
- 奶牛卧室
- CentOS Linux release 7.2.1511安装Tomcat7
- Ubuntu 下php调用c语言.so文件