实现图:从系统的层次来描述硬件的组成和布局、软件系统的划分和功能实现。
实现图分为:构件图和部署图。
构件图
构件图:显示一组构件之间的组织与依赖关系。
构件图的用途
1.帮助客户理解最终的系统结构
2.使开发工作有一个明确的目标
3.有利于帮助工作组的其他人员理解系统,比如那些非系统开发人员
4.有利于软件系统的组件重用
构成
1.构件:系统中遵从同一组接口,且提供实现的物理的、可替代的部分。每个构件实现一定的功能,为其他构件提供使用接口,方便软件的复用。类似于建筑工程中的螺丝螺母等,比较规范,且可以重复使用。
1)构件类型
①工作产品组件:工作产品组件是配置组件的来源,是保证系统运行的最基本组件,是不可或缺的组件。比如:数据文件和程序源代码。
②配置组件:是形成可执行文件的基础。例如:静态链接库、动态链接库(DLL)、二进制可执行体、ActiveX控件和JavaBeans。
③执行组件:是最终可运行系统产生的可运行结果,即可执行程序(EXE)等。
2.接口
接口是一个类提供给另一个类的一组操作。
接口分为示出接口和引入接口。
1)示出接口:即一个构件展示的接口供其它构件使用
2)引入接口:构件需要实现的接口
3.关系
在构件图中关系可以有四种:依赖、泛化、关联和实现。
构件与对应接口之间的关系是泛化关系,构件与其他构件之间通常是依赖关系。
构件特点
1.物理的
2.可替换的
3.系统的一部分
4.遵从一组接口并提供对一组接口的实现
构件和类的区别
1.类表示逻辑抽象;构件表示物理抽象
2.类描述了软件设计的逻辑组织和意图;构件描述软件设计的物理实现
3.类有属性和操作;构件只有操作,通过示出接口,从而让其他构件访问。
机房收费系统-构件图示例
部署图
部署图:描述系统硬件的物理拓扑结构以及在此结构上执行的软件。
部署图构成
1.节点
节点表示一个物理元素,在运行时存在,代表一个可计算资源(比如:处理器、CPU、服务器等),通常占用一定内存并具有处理能力。
节点分为:处理器和设备两种。节点用正方体表示,但是处理器和设备的表示也有差别。
处理器:
设备:
2.组件
配置图中也可以包含组件,但是组件必须存在于节点中。
3.关系
配置图的关系只有依赖和关联两种。依赖关系用于组件与组件之间,而关联关系用于节点间。
部署图都可以用到哪些地方?
1)嵌入式系统
2)C/S结构
3)分布式系统
部署图示例
构件图和部署图的区别
构件图 | 部署图 | |
---|---|---|
目标用途 | 描述系统中有哪些构件以及构件之间的关系 | 描述真正在系统部署的时候,软件是如何和硬件进行映射的,需要用到多少个机器,网络拓扑结构是怎样的 |
组成 | 构件、接口和关系 | 节点和关系 |
关系 | 依赖、泛化、继承、实现 | 依赖、关联 |