组件模型图示了建立系统的软件组件。它可以由类模型建立起来,既可从新系统的蓝图开始,也可从其他项目或第三方销售商引入。组件模型是较小软件块的高层级聚合,它提供了一个基于"黑匣子"的积木式来构造软件。
组件标注
一个组件有点类似于一个ActiveX控件。既可以是一个用户接口控件,也可以是一个业务规则服务器 。组件表示见下图:
组件图
组件图显示软件组件之间的关系,如它们的依赖关系,通信,位置和其它条件。
接口
组件可以对外提供接口,接口是组件向其它组件和类提供服务的可见入口点,并使之可以适用于其它的组件和类。组件通常由很多内部的类和类的包组成。甚至也可以从一个更小组件的集合组装而成。
组件和节点
部署图图示了系统进入生产或测试环节的物理部署。它显示组件被放置何处,何种服务器,设备和硬件。也可以显示网络连接,局域网带宽等等。
需求
组件可能有附加的需求来说明合同义务。即在模型中他们提供什么服务。需求可以帮助说明软件元素的功能行为。
限制
组件可能有附加的约束来说明他们运行的环境。前置条件指明组件在执行功能前必须为真。后置条件说明组件完成某些工作后,什么将必须为真。不变量说明组件生命过程中什么必须保持一直为真。
情形
情形是一个对象动作随时间变化的文本/程序化的描述,它描述了一个组件的工作方式。可能创建多重情形来描述基本途径(一个完整的运行)以及异常情况,错误和其它条件。
跟踪能力
你可以利用实现连接显示可跟踪能力。一个组件可能实现其它的模型元素(如:用例)也可能被其它的元素实现(如:类的包)。通过建立来自和去往组件的实现连接,你可能得到模型元素间的依赖关系的映射,和从初始需求到最终实现的可跟踪能力。
示例
下例显示了组件如何被连接起来,并提供了一个系统建立的概念和逻辑视图。这个例子着重描述了一个在线书店的服务器和安全元素。它包括网络服务器,防火墙,动态网页等。
服务器组件
这个图例示了在线书店主服务器侧组件的布局,这些组件把建立客户和购买事项组织在一起以提供所需功能。
安全组件
安全组件图显示如何对软件采取保护措施,如授权许可,浏览器,网络服务器,和其它模型元素协同工作向在建系统提供安全防护。