




已阅读5页,还剩49页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实现图 实现图显示系统实现时的一些特性 包括构件图和配置图 构件图显示代码本身的逻辑结构配置图显示系统运行时刻的结构 构件图 构件图 构件是系统的可替代的物理部分 是定义了良好接口的物理实现单元 它是系统中可以替代的部分 每个构件体现了系统设计中的特定类的实现 良好定义的构件不直接依赖于其它构件 而是依赖于其它构件所支持的接口 在这种情况下 系统中的一个构件可以被支持相同的接口的其它构件所替代 构件与类 从构件的定义上看 构件和类十分相似 二者都有名称 都可以实现一组接口 都可以参与依赖 泛化和关联关系 都可以被嵌套 都可以有实例 都可以参与交互 构件与类的区别 1 类表示是对实体的抽象 而构件是对存在于计算机中的物理部件的抽象 也就是说 构件是可以部署的 而类不能部署 2 构件属于软件模块 而非逻辑模块 与类相比 它们处于不同的抽象级别 甚至可以说 构件就是由一组类通过协作完成的 3 类可以直接拥有操作和属性 而构件仅拥有可以通过其接口访问的操作 构件分类 按照构件在系统中的角色 把构件分为3种类型 1 配置构件 组成系统的基础构件 是执行其它构件的基础平台 如 操作系统 java虚拟机 JVM 数据库管理系统都属于配置构件 2 工作产品构件 这类构件主要是开发过程的中间产物 如 创建构件时的源代码文件及数据文件都属于工作产品构件 这些构件并不是直接地参与系统运行 3 执行构件 在运行时创建的构件 例如由DLL实例化形成的COM 对象 Servlets XML文档都属于执行构件 7 构件图提供当前模型的物理视图 对系统的静态实现视图建模 构件图显示一个系统物理设计时 构件所映射的类和对象的配置 一个构件图可以表示一个系统全部或者部分的构件体系 从组织内容看 构件图显示软件构件的组织以及构件之间的依赖关系 包括源代码构件 二进制代码构件以及可执行构件 构件图是对OO系统物理方面建模的2个图之一 构件图的概念 构件图 构件图 componentdiagram 描述构件及其相互关系的图 构件之间是依赖关系 通常 构件图包含3种元素 构件 接口和依赖关系 每个构件实现一些接口 并使用另一些接口 构件图的概念 构件图主要用于描述各种软件构件之间的依赖关系 例如 可执行文件和源文件之间的依赖关系 所设计的系统中的构件的表示法及这些构件之间的关系构成了构件图 与所有UML的其它图一样 构件图可以包括注释 约束 包 10 构件图的作用 构件图的基本目的是 使系统人员和开发人员能够从整体上了解系统的所有物理部件 同时 也使我们知道如何对构件进行打包 以便交付给最终客户 最后 构件图显示了被开发系统所包含的构件之间的依赖关系 构件图从软件架构的角度来描述一个系统的主要功能 如系统分成几个子系统 每个子系统包括哪些类 包和构件 它们之间的关系以及它们分配到哪些节点上等 使用构件图可以清楚地看出系统的结构和功能 方便项目组的成员制定工作目标和了解工作情况 同时 最重要的一点是有利于软件的复用 从宏观的角度上 构件图把软件看作多个独立构件组装而成的集合 每个构件可以被实现相同接口的其它构件替换 12 构件的表示 构件是定义了良好接口的物理实现单元 是系统中可替换的物理部件 构件可以是源代码构件 二进制构件或一个可执行的构件在UML中 构件用一个左侧带有突出两个小矩形的矩形来表示 带版型的构件 构件的表示 标识接口的构件表示法对于一个构件而言 它有两类接口 提供 provided 接口和所需 required 的接口 标识接口的构件表示方法也有3种 标识接口的构件3种表示方法 构件间的关系 构件有两组接口 供给接口为其它构件提供服务 需求接口使用其它构件提供的服务 因此 构件间的关系就是依赖关系 我们把提供服务的构件称为提供者 把使用服务的构件称为客户 在UML中 构件图中依赖关系的表示方法与类图中依赖关系相同 都是一个由客户指向提供者的虚线箭头 15 接口 接口用于描述构件所提供的服务的一组操作集合 指定了构件的外部可见操作 构件和接口之间的关系叫做实现关系 可以通过接口访问一个构件 接口和构件之间的关系分为两种 实现关系 Realization 依赖关系 Dependency 在图中 接口和构件之间用实线连接表示实现关系 而接口和构件之间用虚线箭头连接则表示依赖关系 16 构件与接口之间的关系 实现关系和依赖关系 导出接口 导入接口 为了便于构件之间替换 建议使用以上依赖关系 构件图分类 构件图可以分为两种 简单构件图和嵌套构件图 1简单构件图我们可以把相互协作的类 组织成一个构件 利用构件图可以让软件开发者知道系统是由哪些可执行的构件组成的 这样 以构件为单位来看待系统时 让开发者清楚的看到软件系统的体系结构 构件图分类 1 用户界面层 采用JSP页面实现用户界面 我们通过构造型 JavaServerpage 来表示构件 这一部分的构件 主要由边界类组成 2 业务逻辑层 在实现上主要采用了JavaBean技术 使用构造型 JavaBean 来表示这一层的构件 这些构件主要由实体类组合而成 3 数据访问层 该层将所有的数据访问操作封装在一个JavaBean中 如果是大型应用 可能封装成为EJB 标明了它是JDBC的一个实现 在这个例子中 对可执行程序的体系结构进行了建模 以帮助开发者了解可执行程序模块之间的关联关系 从而从宏观上认识系统 构件图分类 销售管理服务器中包含两个构件 一个是处理收银机发送来的销售消息 完成交易处理 另一个是财务接口 负责处理与财务系统的连接 这时交易处理程序就委托财务接口来完成与财务系统的数据传送 在上图中 销售管理服务器所提供的接口和所需的接口与构件连接的点上 都有一个小矩形 它表示的是 端口 这些端口将通过带箭头的实线与具体的子构件连接 表示该接口的提供者或需求者 嵌套构件图 2嵌套的构件图使用嵌套的构件图来表示构件的内部结构 构件图应用 构件图描述了软件的组成和具体结构 表示了系统的静态部分 它能够帮助开发人员从总体上认识系统 常采用构件图来描述可执行程序的结构 源代码 物理数据库组成和结构 1对可执行程序建模通过构件图 可以清晰地表示出各个可执行文件 链接库 数据库 帮助文件和资源文件等其它可运行的物理构件之间的关系 在对可执行程序的结构进行建模时 通常应遵从以下原则 1 首先标识要建模的构件 2 理解和标识每个构件的类型 接口和作用 3 标识构件间的关系 构件图应用 例如 有一个语音呼叫中心程序callcenter exe 使用了三汇的语音卡的驱动程序shp a3 dll 以及相应的TTS 文本转语音 引擎sh ttsu dll 现在我们用构件图来描述这三个构件的关系 构件图应用 2对源代码进行建模 构件图应用 例如 singal h是一个头文件 被interp cpp和signal cpp引用 其中interp cpp还引用了另一个头文件irq h 而device cpp又对interp cpp有编译依赖关系 那么用构件图表示它们间的关系 部署图 部署图概述 部署图 Deploymentdiagram 也称配置图 实施图 是对OO系统进行物理建模的图 部署图用来显示系统中计算结点的拓朴结构和通信路径与结点上运行的软构件等 一个系统只有一个部署图 部署图通常用于理解分布式系统 部署图由体系工程师 网络工程师 系统工程师等描述 部署图概述 部署图 部署图 deploymentdiagram 也称为配置图 是用来显示系统中软件和硬件的物理架构 从部署图中 可以了解到软件和硬件组件之间的物理关系以及软件组件在处理节点上的分布情况 使用部署图可以显示运行时系统的结构 同时还表明了构成应用程序的硬件和软件元素的配置和部署方式 部署图的概念 部署图描述了系统中包括的计算机和其他的硬件设备 如这些计算机和设备的位置以及它们之间是如何进行相互连接的 即 部署图描述系统中的硬件节点及节点之间如何连接的图 部署图的概念 部署图的作用一个UML部署图描述了一个运行时的硬件结点 以及在这些结点上运行的软件构件的静态视图 部署图显示了系统的硬件 安装在硬件上的软件 以及用于连接异构机器之间的中间件 创建一个部署模型的目的包括 描述系统投产的相关问题 描述系统与生产环境中的其它系统间的依赖关系 这些系统可能是已经存在 或是将要引入的 描述一个商业应用主要的部署结构 设计一个嵌入系统的硬件和软件结构 描述一个组织的硬件 网络基础结构 部署图的组成元素部署图的组成元素包括节点 节点间的连接 连接把多个节点关连在一起 构成一个部署图 部署图的表示 部署图包含两个部分 节点和连接 1节点节点代表一个运行时计算机系统中的硬件资源 节点通常拥有一些内存 并具有处理能力 例如一台计算机 一个工作站等其它计算设备都属于节点 在UML中 节点用一个立方体来表示 每一个节点都必须有一个区别于其他节点的名称 节点的名称是一个字符串 位于节点图标的内部 节点的名称有2种表示方法 简单名字和带路径的名字 简单名字就是一个文字串 带路径的名字指在简单名字前加上节点所属的包名 下面的立方体表示一个节点 其名称为Node 部署图的表示 按照节点是否有计算能力 把节点分为两种类型 处理器和设备 分别用构造型 Processor 和构造型 Device 表示处理器和设备 1 处理器 Processor 处理器是能够执行软件 具有计算能力的节点 2 设备 Device 设备是没有计算能力的节点 通常情况下都是通过其接口为外部提供某种服务 例如打印机 IC读写器 如果我们的系统不考虑它们内部的芯片 就可以把它们看作设备 处理器节点的表示 设备节点的表示 部署图的表示 3 节点中的构件当某些构件驻留在某个节点时 可以在该节点的内部描述这些构件 对于一张部署图而言 最有价值的信息就是节点上的内容 也就是安装在节点中的构件 对于这些构件 可以直接写在节点中 也可以用构件表示 或用UML2 0规范推荐的 artifact database deploymentSpec 等构造型来表述构件 部署图的表示 对节点内驻留的构件描述 部署图的表示 1 直接描述 例如在B S客户端中 必须安装 Web浏览器 并通过约束说明需要IE6 0以上版本或Firefox1 5以上版本 通常 对于不是由开发团队生成的制品 例如IIS服务器这种描述方式 也可以通过 约束 来描述它 2 artifact 构造型 用来表示文件 构件等制品 例如IIS服务器上的swWeb dll BusinessRule dll DateAccess dll及C S客户端上的se exe 3 database 构造型 用来表示一个实际的数据库 对应Oracle的scheme 例如在数据库服务器上的sw 4 deploymentSpec 构造型 用来表示部署描述 通常对关键的配置文件进行建模 还可以在构造块中直接指出具体参数的值 对于这些构造型 可以使用依赖关系来表示他们之间的相互关系 甚至可以表示跨节点之间的依赖 入DataAccess dll到sw之间的依赖连接 另外 在图中 使用了一个 directory 构造型 这并不是一个UML标准构造型 它只是使用者的一个扩展 部署图的表示 节点属性象类一样 可以为一个节点提供属性描述 如 处理器速度 内存容量 网卡数量等属性 可以为节点其提供启动 关机等操作属性 节点与构件的区别节点表示一个硬件部件 构件表示一个软件部件 两者有许多相同之处 例如二者都有名称 都可以参与依赖 泛化和关联关系 都可以被嵌套 都可以有实例 都可以参与交互 但它们之间也存在明显的区别 构件是软件系统执行的主体 而节点是执行构件的平台 构件是逻辑部件 而节点表示是物理部件 在物理部件上部署构件 部署图的表示 2连接部署图用连接表示各节点之间通信路径 连接用一条实线表示 对于企业的计算机系统硬件设备间的关系 通常关心的是节点之间是如何连接的 因此描述节点间的关系一般不使用名称 而是使用构造型描述 下图是节点之间连接的例子 部署图应用 在实际的应用中 部署图主要用在设计和实现两个阶段 1 设计阶段在这一阶段 部署图主要用来描述硬件节点以及节点之间的连接 上图并没有描述节点内的构件 在设计阶段 还没有创建出软件构件 仅描述硬件节点的部署图 部署图应用 2 实现阶段在实现阶段 已经生产出了软件构件 因此 可以把构件分配给对应的节点 实际应用当中 部署图主要用来对嵌入式系统 客户机 服务器系统 分布式系统进行建模 而且能够起到很好的作用 描述了节点内部署的构件 部署图应用 3 嵌入式系统建模如果采用部署图对嵌入式系统进行了建模 通过部署图 硬件工程师和软件开发者之间就能做更好的交流 在对嵌入式系统进行建模时 重点在于描述处理器和设备之间的关系 可以考虑对处理器和设备采取用更直观的图标 例如 一个航标RTU的嵌入式系统的部署图示 描述嵌入式系统的部署图 部署图应用 4 客户机 服务器和分布式系统建模当开发的软件要运行在多台计算机上时 就必须将软件构件以合理的方式部署在各个节点上 其中客户机 服务器结构就是一种典型的分布式系统模型 它包含三层B S S结构和两层C S结构 对于大型分布式系统可能还包括负载均衡 集群等部署结构 部署图的引入能够很好地对其进行表述 部署图建模技术 对系统中的结点建模 对结点之间的关联关系建模 对驻留在结点上的构件建模 对驻留在结点上的构件之间的依赖关系建模 对建模的结果进行精化和细化 确定结点和结点间的关联系 IC卡读卡器 提供给员工刷卡用 它将收集刷卡的时间信息 传给应用系统 并存入数据库中应用服务器 用来负责从IC卡读卡器中收集信息 并对管理人员提供员工设置 考勤查询等功能数据库服务器 用来存储考勤数据 由于该系统比较小 因此在物理上可以与应用服务器合并客户端软件 提供给管理人员使用 连接应用服务器 完成相应操作 确定结点内的构件和构件间的依赖关联 客户端 需使用Windows操作系统 安装客户端软件 假设名为KaoQing exe 服务器 包含一个用Delphi开发的服务端软件 设为KqServer exe 它需要与Access数据库交互 设为KaoQing mdb 并且需要通过IC卡读卡器的驱动程序 假设名为cardReader dll 来实现与IC卡读卡器通信IC卡读写器 对于本系统而言 它是不执行构件的设备 不过为了方便员工 安装了3个 45 部署图的建模 如何建模部署图创建部署图含有如下4项任务 1 添加节点 2 添加通信关联 3 添加构件和其他内容 如类和对象 4 添加依赖关系 46 部署图的建模 例建模一个网上扫描系统的部署图 其详细的需求如下所示 扫描仪通过内部的PCI总线连接到网卡 需要编写代码来控制扫描仪 代码驻留在扫描仪内部 扫描仪通过无线网卡与插入到Web服务器KONG的无线hub通信 服务器通过HTTP协议向客户PC机提供Web页 Web服务器安装定制的Web服务器软件 通过专用数据访问构件与产品数据库交互 在客户的PC机上将提供专用的浏览器软件 它运行产品查询插件 只与定制的Web服务器通信 47 部署图的建模 1 添加节点第一项任务是确定系统的节点 下图演示了上面需求列表中提及的所有硬件 48 部署图的建模 2 添加通信关联为确定的节点添加通信关联 从需求列表中可以确定如下所示通信关联 扫描仪通过内部的PCI总线连接到网卡 网卡通过无线电波与无线hub通信
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 土石方工程材料选择与运输方案
- 牛羊屠宰厂建设项目环境影响报告书
- 风光制氢醇一体化项目节能评估报告
- 国际销售合同4篇
- 2025年叉车考试难题库及答案
- 建筑施工电梯安装、拆除专项建筑施工组织设计及对策
- 上海市房地产经纪合同模板
- 离婚后宅基地房屋分割与继承权处理协议
- 低碳环保社区物业合同转让及绿色生活协议
- 离婚后子女抚养费增加与共同财产分割补充协议
- 2025年煤矿企业主要负责人安全生产理论考试笔试试题含答案
- 煤矿安全规程2025版解读
- 监狱公选面试题库及答案
- 尿培养的采集
- 具有法律效应的还款协议书6篇
- 东航空乘英语考试题目及答案
- 2025绿植租赁协议(简易版)
- T-AOPA0062-2024电动航空器电推进系统动力电机控制器技术规范
- 《三级工学一体化师资培训》课件-第四课:教学活动策划
- 2024年一级建造师《民航机场工程管理与实务》真题及答案
- 2025年全国企业员工全面质量管理知识竞赛题及参考答案
评论
0/150
提交评论