第11讲组件图与部署图
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
组件图示例
组件图(Component Diagram)定义 也可叫作构件图,描述在系统实现 环境中的软件构件和它们间的关系 是一组组件和它们之间的关系
它包括组件、接口和它们之间的关系。 组件图用来对驻留在节点的物理元素 的静态实现建模,如可执行体、库、表 和文件、头文件、函数库、模块等 来表示系统之中的内部结构
Application Server
Java, C, C++, JavaBeans, CORBA, DCOM
Fulfillment System
Financial System
Inventory System
RDBMS Server
Native languages
一个部署图
一个保险系统的部署图
结点 《TCP/IP》 保险单 填写界面 连接 构件 客户端PC
表示法--文件夹形式,并标识名称。
包名
包(
Package )2
包里面可以拥有其它元素,类、 接口、构件、节点、协作、用例 和图,也可有其它包
包的关系
依赖:
包中的元素需要访问另一个包中的 元素,包件的访问依赖关系就产生 了。 一个包中的元素可以通过导入 (import)包来访问另一个包中的 元素
组件图(Component Diagram)定义2
一个组件可以包括多个类。 可以向组件图添加注解和约束。 组件的接口和类的接口是相同的概念。 外部只能通过组件的接口来使用组件 中定义的操作。 提供服务的组件提供了输出接口,访 问服务的组件使用了输入接口。 组件接口是组件重用中的重要概念。 组件类型:工作产品组件、执行组件。
部署图定义2
部署图显示了运行时处理元素的组织
这些元素包括组件、进程和对象
组件图通常与部署组合来显示物理元素是 如何分布在各种硬件平台上的 部署图是一个节点的图 每个节点均连接到其他节点被以描述通信 关联 组件图和部署图一起称为实施图
部署图元语-1
结点
结点 构件 对象
一个结点代表一个物理设备以 及在其上运行的软件系统
组成可执行系统,如动态链接库、可执行 文件 软件开发中实现阶段的产品,如源代码文 件、数据文件等,系统关键开发过程的一 部分 作为一个正在执行的系统的结果而被创建 的。如动态链接库实例化形成的COM+对象
工作产品组件
执行组件
应用于组件的构造型
UML 提供了应用于组件的5 种标准的构造 型:
组件10
组件/构件(
Component)
组件是保存在计算机上的逻辑单 元,是定义了良好接口的物理实现 单元 它是系统中可替换的部分。 每个构件体现了系统设计中特定 类的实现 表示法--带有小方框的矩形。
组件/构件(
Component)
良好定义的构件不直接依赖于 其他构件而依赖于构件所支持 的接口。
图书管理系统部署图
后台数 据库 管理员 后台
ODBC
前端客 户机
WEB应用部署图示例
Client
Dynamic HTML, JavaScript, Java plug-ins, source code enhancements
(Web) Server
Java, C, C++, JavaScript, CGI
包图
包图主要用来表示一个系统的一个适当的 逻辑分割,每一个包就像是一个对象的集 合,包图利用逻辑阶层的观念,去分解整 个系统。 每个包通常放全部内部相关信息,减少外 部相关的信息。每个包有相当好的管理内 部元素能力,利用其本身的指示和需求去 协助个人或团队
包图
接口( Interface )
可执行体(executable)— 指定一个组件可以 在一个节点上运行。 库(library) — 指定包含一个库。可以是一个 静态库或动态库。 表(table)— 表明使用一个数据库表 文件(file)— 表明包含一个源代码文件或一 个数据文件 文档(document)— 用来表示一个文档
构件图元语
构件
构件
接口
构件代表可执行的物理代码模 块
对外提供的可见操作和属性, 称之为构件的接口 有两个构件元素X、Y,修改 元素X的定义可能会引起对另 依赖关系 一个元素Y的定义的修改,则 称元素Y依赖于元素X 注释体 注释连接
组件图示例
UML 中源代码文件的描述
建模物理数据库
ATM 系统的组件
接口使用场合
声明一个需要在多个类中多次实现的 方法 透露一个对象的程序设计接口而又不 透露对象的类 在无关类之间得到相关性,而又不强 迫类之间建立某种关系 接口解决了Java的单继承问题,实现 和表示分离 接口本身可以多继承
组件图
组件1 组件4
组件5
组件6
组件2
组件7
组件8
组件9 组件3
接口是一个类或组件向外部世界揭示 其面貌的一组操作。 组件的服务仅通过其接口才可用 一个组件可以实现或使用一个接口。 组件所使用的接口称为导入接口 (import interface) 组件实现的接口称为导出接口 (export interface)
构件与接口
接口实现
组件的种类
部署组件
构件的界面
保险后台服务器 保险系统 配置 保险系统配置 配置保险政策 配置用户 保险对象 数据库
构件中包含的对象
Remote Method Invocation Java Database Connectivity
UML9类图常见使用场合
用例图 业务用例—业务对外提供的价值
业务建模
活动图 类图
交互图 用例图 活动图 类图 对象图 交互图
接口是在没有给出对象的实现和 状态的情况下对对象行为的描述 表法法--带名称的圆
求一元二次方程根
接口( Interface )
接口包含操作但不包含属性,并 且它没有对外界可见的关联。一个 或多个类或构件可以实现一个接口, 并且每个类都可以实现接口中的操 作 接口很少单独存在,而是依附于 实现它的类或组件
组件/构件
组件必须是自包含的,组件设计中必须包 括需求、源代码和可执行代码、接口规范、 分析和设计模型、测试和其他同类术语 组件必须支持一种或多种用户所希望获得 的接口 组件根据业务逻辑单元的耦合程度、功能 的要求等因素来划分 把耦合紧的业务逻辑单元放在一起,划分 为一个组件。
组件和接口之间的关系
节点和组件:一个示例
部署图(Deployment Diagram)定义
部署图是描述计算机、外部硬件设备 及它们构成的物理分布结构 简单的单机系统部署图包含一台计算 机及其外部设备,所有组件都部署在 这个节点上 在网络支持和系统中,部署图不仅描 述每个分布的节点,还描述组件在节 点上的分布。
结构模型视图
结构视图 类图 对象图 顺序图 协作图 状态图 活动图 实现视图 组件图 用户视图 用例图 部署图
行为视图
环境视图
架构建模
包与接口 构件图 部署图 小结与试验
包(
Package )
包可以把众多的图素按其逻辑功 能分组,以便理解、反映它们之 间的层级关系。这时的包叫子系 统。包是纯概念性的,只存在于 软件系统的开发阶段。
图书管理系统组件图
界面
业务逻辑
图书
读者
POS销售组件图示例:
核心
销售
商品
支付
系统部署图
结点(Node)定义
节点表示一种可计算的资源,分为两 类:计算机或处理器和设备。
一个组件可以驻留在一个节点内,也可以 一个节点驻留到另一个节点。 表示法--带有名称的立方体
节点名称
节点
每个节点都有一个名称,可以是一个简单 名,也可以是一个路径名。 节点和组件类似。 都可以参与依赖、泛化和关联关系。 它们可以参与到交互图中,而且可以创建 节点和组件的实例 组件参与系统的执行,而节点执行组件 组件表示逻辑元素(如协作和类)的打包, 而节点表示组件的物理部署
业务用例实现的业务流程 现实业务中的人、事物、关系
业务对象如何协作实现业务用例 系统用例—系统对外提供的价值 系统用例实现的流程 系统内部的各个组成部分 辅助说明类图 类之间如何协作完成用例 跟踪一个类对象在多个用例中的变化 类操作的算法实现 封装类为构件 构件在物理上的部署
需求
分析&设计 状态图
活动图 构件图 部署图
泛化:
包依赖图
包的使用原则 需要将功能分派到包,使“设 计元素”更有秩序,包内高内聚, 包间低耦合 将功能相关性非常强的类或者 接口放在同一包内
包内元素的分配
将和主导参与者关联的边界类所 对应的类放在一个包里,有时称为 用户界面包 将和被动参与者关联的边界类对 应的类放在一个包里,有时称为系 统接口包 将系统要使用的其它工具方面的 类放在一个包里,称工具包
构件
构件代表可执行的物理代码模 块
对象是类的一个实例 对外提供的可见操作和属性, 称之为构件的接口
对象
接口
部署图元语-2
连 接 结点之间的连线表示系统之间 进行交互的通信路径,在UML 中称为连接
有两个构件元素X、Y,修改 依赖关 元素X的定义可能会引起对另 系 一个元素Y的定义的修改,则 称元素Y依赖于元素X 注释体 注释连 接
组件图与部署图
潘正军
pzj@sise.com.cn 13928748182
பைடு நூலகம்
回顾
状态图
适合描述跨越多个用例的单个对象的行为,不适合 描述多个对象之间的协作行为 研究类、参与者、子系统或构件的复杂行为 建立类对象的生命周期模型来描述对象随时间变化 的状态行为
活动图
主要用于描述某一方法、机制或用例的内部行为 适合描述多个对象跨越多个用例时的总面貌
在这种情况下,系统中的一个 构件可以被支持正确接口的其他 构件所替代。
组件/构件
组件是一个可重用软件构件
一个预先构建的封装的代码模块,它能 够与其他组件或是硬编码一道很快生成定 制的应用程序
组件单独开发作为软件单元使用,它 具有明确的接口,软件通过接口调用组 件所提供的服务 多种组件可以联合起来组成更大型的 组件,直接建立整个系统。
小结 组件 节点 组件图 部署图
实验11 制作各小组任务中的构件图与 部署图
谢谢!
注意事项
部署图展示制品如何在软件系统上部 署,以及硬件的相互连接情况 时间 建模的各类软件系统
软件完成后 设计阶段
嵌入式系统 客户机/服务器系统。N层系统 分布式系统
注意事项
考虑因素
资源利用:有效的利用资源 地理位置:本地节点的功能、远程节点的 功能 设备访问:节点需要什么设备 安全:怎样以优化和有效的方式来处理访 问权限和信息保护 性能:高性能通信时会影响构件的位置 可扩展性和可移植行:不同节点的操作系 统、机器的体系结构等