10讲包图构件图与部署图
包图 构件图 与部署图
包图中的关系
2、泛化关系 包间的泛化关系类似于类间的泛化关系,使
用一般包的地方,可以用特殊包代替。 在系统设计中,对某一个特定的功能,有多
种实现方法。例如,实现多数据库支持;实 现B/S和C/S双界面。这时就需要定义一 些高层次的“抽象包”和实现高层次功能的 “实现包”。
13
泛化关系
例如,说明GUI有 两种风格:一种是基 于WinForm的 C/S风格,一种是 WebForm的B/S 风格。
15
创建包图
1.标识候选包的原则:
把类图中关系紧密的类放到一个包中; 在类继承类层次中,把不同层次的类放在不同
的包中。
也可以把用例模型作为包的来源。然而,用 例横跨分析包是非常普遍的——一个用例可 以由几个不同包中的类实现。
16
创建包图
2.调整候选包 在已经识别一组候选包后,然后减少包间依
《import》关系:最普遍的包依赖类型,说明提供者包的命 名空间将被添加到客户包的命名空间中,客户包中的元素也能 够访问提供者包的所有公共元素。
《access》关系:如果只想使用提供者包中的元素,而不想将 两个包合并,则应使用该关系。在客户包中必须使用路径名,才 能访问提供者包中的所有公共元素。
分解 是软件开发中控制软件复杂性的重要
手段。 在OO方法中, 需要考虑如何把相关的类放
在一起。 把语义相近并倾向于同一变化的元素组织起
来加入同一个包中,以便于理解和处理整个 模型。
2
为什么要包
包的作用是: 1)对语义上相关的元素进行分组 2)定义模型中的“语义边界” 3)提供配置管理单元 4)在设计时,提供并行工作的单元 5)提供封装的命名空间,其中所有名称必 须唯一
3
《组件图和部署图》PPT课件
C.对物理数据库建模
D.对可适应的系统建模
3.(
)是可复用的,提供明确接口完成特定功能的程序代码块。
A.模块
B.函数
C.用例
D.软件构件
4.组件图展现了一组组件之间的组件和依赖。它专注于系统的(
)实现图。
A.动态
B.静态
C.基础
D.实体
5.(
)是用于把元素组织成组的通用机制。
习题
1.( 实现
)是系统中遵从一组接口且提供实现的一个物理部件,通常指开发和运行时类的物理
A.部署图
B.类
C.接口
D.组件
2.组件图用于对系统的静态实现视图建模,这种视图主要支持系统部件的配置管理,通常可以分为
四种方式来完成,下面哪种不是其中之一(
)。
A.对源代码建模
B.对事物建模
8.3小结
组件图用于静态建模,是表示组件类型的组织以及各种组 件之间依赖关系的图。组件图通过对组件间依赖关系的描 述来估计对系统组件的修改给系统可能带来的影响。部署 图是用来为面向对象系统的物理实现建模的图。部署图描 述了节点和运行在其上的组件的配置,它用来模拟系统的 静态部署实现。
本章介绍了组件的定义以构成组件的要素,对组件、组件 关系进行了详细的讲解。对使用组件图建模适用领域进行 了说明,并对最为常见的两种场景即可执行程序结构建模、 源代码建模进行了举例说明。还介绍了部署图语义和功能, 通过实例讲解了部署图的应用。
第08章_构件图和部署图下载
PC和外设与ISP连接的部署图
3.构件的部署 可以把系统运行时的构件分布在特定的硬件节点上 来展示系统的架构。下图演示了UserInterface、 BusinessLogic和Backendfunctionality等构件如何在 服务器和客户机硬件中的部署。
4. 如何建模部署图
创建部署图含有如下4项任务:
<<Client>>
PC
<<Internet>>
<<ApplicationServer>> <<DatabaseServer>> <<100BaseT>> Weblogic <<100BaseT>> Oracle Apache_Weblogic
<<WebServer>>
部署图的例子:
10.3 部署图的例子
包体包含类的操作代码.
(2) 接口
构件通过其他组件的接口调用其他构件中定义的操作.
通过命名接口,可以避免在系统的各个构件中直接产生 依赖关系, 有利于构件的替换.
(2) 接口 构件与接口之间的关系: 实现关系和依赖关系
导出接口
导入接口
(3) 依赖关系
为了便于组件之间替换,建议使用如下依赖关系:
3.构件的表示
在UML中,构件通过以下形式来表示:
基本构件
带版型的构件
(1) 构件 Rose中的扩展构件
子程序说明是一组子程序集 合名, 其中不包括类定义.
子程序体表示子程序的实现.
(1) 构件 Rose中的扩展构件
主程序是包含程序根的文件.
(1) 构件 Rose中的扩展构件
包图组件图部署图
包(Package)
引入与输出:引入(import)允许一个包中的元素单向访问另一包中的元素 允许一个包中的元素单向访问另一包中的元素. 引入与输出 引入 允许一个包中的元素单向访问另一包中的元素
在UML中,用一个由构造型import修饰的依赖为 引入关系建模.通过把抽象包装秤有含义的组块, 然后用引入关系控制对它们的访问,就能控制 大量抽象的复杂性. 输出(export)就是包的公共部分 就是包的公共部分. 输出 就是包的公共部分 一个包输出的部分仅对显示地引入这个包 的其他包中的元素是可见的 注:引入和访问依赖是不可传递的.
虚包(Generic Package): 虚包
虚子程序(Generic Subprogram): 虚子程序
接口(Interface)
概述: 概述 在组件图中,组件可以通过其他组件的接口来使用其他组件中定义
的操作.通过使用命名的接口,可以避免在系统中各个组件之间直接发生依 赖关系,有利于组件的替换 接口和组件之间的关系: 实现关系(Realization): 依赖关系(Dependency): 组件接口的分类: 导入接口(import interface):供访问操作的组件使用 导出接口(export interface):由提供操作的组件提供
组件图(Component Diagram)
背景: 背景:在软件建模的过程中,使用用例图可以推断系统希望的行为;使用类图
可以描述系统中的词汇;使用时序图、组件图、状态图和活动图可以说明这些词 汇中的事物如何相互作用以完成某些行为。在完成系统的逻辑设计之后,下一步 要定义设计的物理实现,如可执行文件、库、表、文件和文档等。对面向对象系 统的物理方面进行建模时要用到两种图:组件图和配置图。 概述: 概述:使用组件图能够可视化物理组件以及它们之间的关系,并描述其构造细节. 组件图描述了软件的各种组件和它们之间的依赖关系.在UML中,组件图是系统实 现视图的图形表示,而其中的一个组件图只能表示系统实现视图的一部分,也即任 何一个组件图都不能描述系统实现的所 有方面,只有系统中的组件组合起来 才能表示完整的系统实现视图
构件图和部署图
在构件图中,构件和构件之间的关系表现 为依赖关系; 定义的类或接口与类之间的关系表现为 依赖关系或实现关系。
在构件图中,构件和构件之间的关系 表现为依赖关系和实现关系: 1.依赖关系 构件与构件之间依赖关系,它的表示方 式与类图中类与类之间的依赖关系的表示 方式相同,都是使用一个从用户构件指向 它所依赖的服务构件的虚线箭头表示。
9.1 构件和构件图
构件图显示的是组成系统的构件之间的 组织及其依赖关系,而构件时指系统中的可 替代性的物理单元。多个系统构件一起组成 了构件图。
9.1.1 构件的定义
目前构件还没有统一的定义,一般认 为:构件是系统中遵从一组接口且提供实 现的一个物理部件,包括软件代码(源代 码、二进制和可执行文件)或者相应组成 部分,通常指开发和运行时类的物理实现。
顾客通过位于kiosk节点的顾客接口控件进行购票的操作该顾客接口构件的购票操作依赖于处于ticketserver节点上的售票构件提供的服务售票构件要完成售票操作又要依赖统一节点上信用卡付款构件提供的付款服务和票数据库构件ticketserve票服务器与kiosk信息厅之间存在一对多的通信关联
第九章 构件图和部署图
5、虚包 是一种只包含对其他包所具有的元素进 行的引用的构件,它用来提供一个包的某些 内容的公共视图。
6、包规范 在具体的实现中,有时将源文件中的声 明文件和实现文件分离开来,例如,在 C++语言中,往往将.h文件和cpp文件分离 开来,在Rational Rose中,可以在包规范 中放置.h文件,在包体重放置.cpp文件。
部署图
当软件处于物理部署阶段时,我们关注 的是软件程序在计算机硬件系统中的物理 分布、通信方式和部署方法。 UML部署图用来解决这类建模问题。
组件图与部署图
UML组件图与部署图U n R e g i s t er ed为什么要建模组件图和部署图?组件图用来建模系统的各个组件,包括(1)源代码文件(如java)(2)二进制文件(如bin、dll等,系统调用的某一外部可执行文件)(3)脚本文件(如xml、txt等)(4)可执行文件(如exe)之间的关系它们是通过功能或者文件组织在一起的。
使用组件图可以帮助读者了解某个功能位于软件包的哪一位置,以及各个版本的软件各包含哪些功能。
部署图用来帮助读者了解软件中的各个组件驻留在什么硬件位置,以及这些硬件之间的交互关系。
总之,组件图和部署图可以用来帮助设计系统的物理架构。
Un Re gi st er ed1.组件在UML中,组件使用在左侧带有两个小矩形的大矩形表示,如下图所示。
Un Re gi st er ed组件的表示U n R e g i s t er ed2.依赖关系依赖关系演示两个组件之间的依赖特性。
依赖关系使用在一端带有开放箭头的短划线表示。
箭头从依赖的对象指向被依赖的对象。
例如下图所示。
deretsigeRnUderetsigeRnU3.包含组件一个组件可以包含在其他的组件中。
其标记符可在其他组件中建模组件来表示。
下例演示了Inventory组件由3个独立的组件DataAccess,Business Logic和Userinterface组成,如下图所示。
Un Re gi st er edUML部署图用来描述系统硬件节点构成,以及在这些节点上运行软件组件的分布。
1.节点节点用来表示一种硬件,它可以是打印机、计算机、扫描仪等。
节点的标记符是一个三维框,在框的左上方包含了节点的名称,如下图所示。
部署图Un Re gi st er ed2.通信关联节点通过通信关联建立彼此的关系,采用从节点到节点绘制实线来表示关联。
这种关系用来表示两种硬件(节点)通过某种方式彼此通信。
其基本通信关联的版型表示,如下图所示。
Un Re gi st er ed下图演示了WebServer通过HTTP协议与Client PC通信,Client PC通过USB协议与Printer通信。
第10章部署图
● 小结
● 10.1 部署图 10.1.1 什么是部署图 10.1.2 部署图的要素 10.1.3 部署图的例子
● 10.2 OCL 10.2.1 为什么需要OCL 10.2.2 OCL的特点 10.2.3 OCL的构成 10.2.4 OCL的几个例子
第9章 部署图、包图和OCL
● —— 重要知识点
10.1.3 结点
2. 结点的表示
UML用立方体图形表示结点 。
10.1.3 结点
3. 结点之间的关系
1)通信关系 通信关系是结点之间的一种最普遍的关系,表示两个结
点之间需要通过介质连接,并可以互通信息 。
10.1. 结点 3
3. 结点之间的关系
2)包含关系 一个结点可以包含其他结点 。
10.1.3 结点
context 客户 inv: 订单->size >= 1
5、一个OCL的例子
例1:
context Person inv: Person.allInstances->forAll(p1,p2|
p1<>p2 implies <> )
对类Person的所有对象实例,要求它们的 名字必须唯一.
OCL作为形式化语言,基本语言要素包括: ● 类型(基本类型,高级类型) ● 操作 ● 表达式 ● 语句
1、OCL的基本类型
OCL的基本类型包括整型,实型,字符串型, 布尔型.
2、OCL在基本类型上的部分运算符
解释:
⑴整型
i1 = i2 等于,布尔型 (<>,>,<,<=,>=) i1 + i2 加法,整型 (-,*,omd,div) i1 / i2 除法,实型 i1.abs 取绝对值, 整型 i1.max(i2) 取最大数, 整型 (mim)
包图组件图部署图
需要加包名限定,直接用目的包中的元素名 字即可。
User Services 《import》
Business Services 《import》
Data Services
图1.2 包之间的非传递依赖关系
另外,与UML中其他建模元素类似,包之间也可以有泛化关系。子包继 承了父包中可见性为public和protected的元素。
EventHandler的可见性为私有的(privated),表示只有
在AWT包中才可以引用Event Handler这个元素。
图1.1 AWT包
对包的命名有两种方式,即简单包名名(simple name)和路径包名(path name)。例如Vision)是一个简单的包名,而Sensors::Vision是带路径的包名。 其中Sensors是Vision包的外围包,也就是说,Vision包是嵌套在Sensors包中 的。包可以嵌套,但在实际应用中,嵌套层次不应太深。
EventHandler。其中window的可见性为公有的(Public),
AWT
表示在任何导入(import)AWT包的包中,都可以引用
+Window
Window这个元素;Form的可见性为保护的(protected), #Form
表示只有AWT包的子包才可以引用Form这个元素; -EvebtHandler
在设计包时,应遵循以下原则: 1. 重用等价原则(Reuse Equivalency Principle,REP) 2. 共同闭包原则(Common Closure Principle,CCP) 3. 共同重用原则(Common Reuse Principle,CRP) 4. 非循环依赖原则(Acyclic Dependencies Principle,ADP)
理论5--协作图,构件图和部署图
9/23
6.7.1 构件图
构件图显示构件类型的定义、内部结构和依赖。 构件是系统设计的模块化部分,它给出一组外部的接 口,而隐藏了它的实现。在系统中满足相同接口的构 件可以自由地替换。
10/23
说明: • 构件图是对OO系统的物理方面建模的两个图 之一。 • 构件图显示一组构件以及它们之间的相互关 系。 • 构件图可以显示软构件之间的依赖关系,可 以用来显示编译、链接或执行时构件之间的 依赖关系。
3/23
iteration-expression表示有条件地或重复地执行,它 有如下两种形式: *[iteration-clause] (表示重复) [condrtion-clause] (表示分支) 这里iteration-clause是重复条件(循环执行的条件), 即循环执行,如1.1*[x=1..10]:dosomething( )。 第二种形式中的condition-clause用于指定分支,如[x < 0],[x >= 0],表示仅执行条件为真的分支(发送 的消息连接到那个分支)。
12/23
• 构件和类之间的不同点:
类是逻辑抽象,构件是物理抽象, (1) 类是逻辑抽象,构件是物理抽象,即构件可 以位于节点(node) (node)上 以位于节点(node)上。 (2) 构件是对其它逻辑元素,如类,协作 构件是对其它逻辑元素,如类, (collaboration)的物理实现 的物理实现。 (collaboration)的物理实现。 类可以有属性和操作;构件通常只有操作, (3) 类可以有属性和操作;构件通常只有操作, 而且这些操作只能通过构件的接口才能使用。 而且这些操作只能通过构件的接口才能使用。
13/23
• 构件和接口之间的两种关系:dependency和 realization。 例:
10 第十二章 构件图和部署图
➢ 一般作为一个独立的文件存在(DLL、LIB、JAR)
构件是相对独立的,提供一个或多个接口
构件作为系统定义良好接口的物理实现单元,它能够 不直接依赖于其他构件而仅仅依赖于构件所支持的接 口
RR中的构件包括:构件、数据库、虚包、主程序、子 程序、包、任务。
头从依赖的对象指向被依赖的对象。 例如下图所示。(组件C1依赖组件C2)
12.1 构件图与部署图的基本概念
2 构件图的含义
构件的嵌套:一个构件可以由多个子构件组成
12.1 构件图与部署图的基本概念
2 构件图的含义——应用
为源代码建模
为可执行版本建模 为数据库建模
12.1 构件图与部署图的基本概念
构件图显示一组构件以及它们之间的相互关系。
构件图可以显示软组件之间的依赖关系,可以用来显 示编译、链接或执行时组件之间的依赖关系。
12.1 构件图与部署图的基本概念
* 一个MFC程序(执行时)的构件图
12.1 构件图与部署图的基本概念
* 一个C++语言项目的构件图
12.1 构件图与部署图的基本概念
第十二章 构件图和部署图
主讲:XXX
构件图以及部署图描述 软件系统的物理部分。
之前学习的所有图,都 是对系统静态、动态的逻辑 描述。
第十二章 构件图和部署图
本1
章 内
2
容3
构件图与部署图的基本概念 使用Rose创建构件图和部署图 使用Rose部署一个实际的项目
12.1 构件图与部署图的基本概念 1 构件
* 构件与类之间的不同
1、类是逻辑抽象,构件是物理抽象
Chapter 08-包图、构件图和部署图
Copyright By Chd.Wang,E-Mail:Chdwang@
20
构件与构件图
构建的分类
按照构件在系统中扮演的角色,分为: 配置构件:组成系统的基础构件,是执行其他构件 的基础平台,如OS、Java虚拟机(JVM)、DBMS等 工作产品构件:开发过程的中间产物,如创建构件 的源代码文件、数据文件等,不直接参与系统运行 执行构件:系统运行时创建的构件,如由DLL实例化 的COM+对象,Servlets、XML文档等
示例理解
Copyright By Chd.Wang,E-Mail:Chdwang@
13
绘制包图
步骤
寻找包 确定包之间的关系 标出包内元素的可见性
最大限度减少包之间的依赖 包封装时,避免包之间的循环依赖 最小化每个包的public、protected元素个数 最大化每个包的private元素个数
构件图分类
简单构件图
个人图书馆管理系统的局部构件图 以构件为单位,系统分为3层 用户界面层 版型<<Java Server Page>>表示由边界类实现的JSP 用户界面 业务逻辑层 版型<<Java Beans>>表示由实体类实现的业务逻辑 数据访问层 所有数据访问操作都封装在一个<<Java Beans>>中 (大型应用封装在EJB中),是JDBC的一个实现
包与包图
包
一种组合机制,用于模型的逻辑组织 UML包对应于Java包 一个Java包可能包含其他包或类
描述包及其关系的图 基本元素:包、注释、约束 包可以拥有:类、接口、构件、节点、协作、用例 、子包等元素 一个元素只能属于一个包 包间关系:依赖关系和泛化关系
组件图与部署图
(1)帮助客户理解最终的系统结构。 (2)使开发工作有一个明确的目标。 (3)复用软件组件。 (4)帮助开发组的其他人员理解系统。 例如,编写文档和帮助的开发人员不直接参与系统的分 析和设计,然而他们对系统的理解直接影响到系统文 档的质量,而组件图是帮助他们理解系统的有力工具。
关系是事物之间的联系,在面向对象的建模中,最重 要的关系是依赖、泛化、关联和实现,但组件图中使 用最多的是依赖和实现关系。 组件图中的依赖关系使用虚线箭头表示 ,如图所示。
4.2.1 组件图
实现关系使用实线表示。 实现关系使用实线表示。实现关系多用于组件和 接口之间。组件可以实现接口。 接口之间。组件可以实现接口。
(1) 对系统中的节点建模; (2) 对节点间的关系建模; (3) 对节点中的组件建模,这些组件来自组件图; (4) 对组件间的关系建模; (5) 对建模的结果进行精化和细化。
任务解决-分析 任务解决 分析
HNS的图书管理系统目前开发的是一个单机版 的图书管理系统目前开发的是一个单机版 系统,其中所有的运算均在一台机器上完成, 系统,其中所有的运算均在一台机器上完成,但 是由于打印报表的需要, 是由于打印报表的需要,系统还应配备一台打印 因此得出系统中存在2个节点 个节点: 机。因此得出系统中存在 个节点: 一台主机,其类型是Processor。 一台主机,其类型是 。 一台打印机,其类型是Device。 一台打印机,其类型是 。
节节
4.2.2 部署图
2.组件(Component) .组件( )
节点和组件的关系:
①组件是参与系统执行的事物,而节点是执行组件的事物。 ②组件表示逻辑元素的物理模块,而节点表示组件的物理 部署。
4.2.2 部署图
[UNL课件] 第12章 构件图与部署
12.1 构件
– 连接件示例:
销售目录
: 商品盘点清单 :
:履行
:查找项
: 发货项
: 获得订单 :订单 输入
:订单交接
: 订单处理
收费:信用卡
12.2 部署图
• 1、术语和概念
– 1) 部署图(deployment diagram)
• 是一种展示运行时进行处理的结点和在结点上生存 的制品的配置的图。
– 端口提供的封装性和独立性更大程度上保证了构件的 封装性和可替换性。
12.1 构件
• 端口的UML表示
– 端口被表示为跨立于构件边界上的方块。
使用该接口 查询预订 情况 Booking Load Attractions 将节目信息录入 售票DB以便售票 Credit Cards 使用该接口完成 信用卡支付
• 制品(artifact):是存在于实现平台层的系统的物理部 分。表示为带有《artifact》构造型的矩形。内写上制品 名称。
• 部署图是结点和弧的集合。
– 也可以包括注解、约束还有包。
《artifact》 pos.exe
12.2 部署图
– 2) 结点(node)
• 又译作节点,是存在于运行时并代表一项计算资源的 物理元素,一般至少拥有一些内存,而且常常具有处 理能力。UML中表示为一个立方体。
– 3)对全分布式系统建模(续)
本章小结
• 构件 • 部署图
• UML表示为一条实线。
• 连接是双向的。 • 可以是直接连接(如通过光缆),也可非直接连接 (如通过卫星)。
12.2 部署图
• 2、用法
– 部署图用于对系统的静态部署视图建模。 – 主要来解决构成物理系统的各组成部分的分布、 提交和安装。 – 使用情况
部署图,组件图
10.3 接口和组件间的关系
在组件图中也可以使用接口。通过使用接口,组件 可以使用其他组件中定义的操作;而且,使用命名 的接口可以防止系统中的不同组件直接发生依赖关 系,这有利于组件的更新。 图是一个包含接口的组件图示例。
组件1 接口
组件2
5
10.4 组件图的应用
组件图可以用来为系统的静态实现视图 进行建模,通常情况下,组件图也被看作 是基于系统组件的特殊的类图。在使用组 件图为系统的实现视图进行建模时,可以 为源代码建模、为可执行版本建模、为数 据库建模等。
14
10.7.3 添加依赖关系
最后要做的是建模组件间的依赖关系。 从系统需求描述中提取出的下列信息可以作 为完成此项任务的依据: Web服务器软件通过专用组件与数据库进行 通信。 浏览器软件通过运行商品查询组件与Web服 务器交互。
15
10.7.4 图书管理系统的实现方 式图
在构造组件图时需要首先找出系统中存在的组 件、接口以及组件间的依赖关系。下面所述的 步骤可供你在建模时参考: (1)为系统中的组件建立模型。 (2)为组件提供的接口建模。 (3)为组件间的依赖关系建模。 (4)将逻辑设计映射成物理实现。 (5)精华和细化建模的结果。
6
10.5 部署图
组件图用来建模软件组件,而部署图用来对部署系统时涉及到的 硬件进行建模。 构造部署图(Deployment Diagram)可以帮助系统的有关人员了 解软件中各个组件驻留在什么硬件上,以及这些硬件之间的交互 关系,另外,部署图还可以用来描述哪一个软件应该安装在哪一 个硬件上。部署图中只有两个主要的标记符,即节点(Node)和 关联关系(Association)标记符。在构造部署图时,可以描述实际 的计算机和设备(Node)以及以及它们之间的连接关系,也可以 描述部署和部署之间的依赖关系;除此之外,部署图中还可以包 含包或者子系统。图演示了用于租书管理系统的部署图。
最新第10章 包图 构件图 与部署图ppt课件
导出接口
导入接口
为了便于构件之间替换,建议使用以上依赖关系 43
(2)使用图标表示法:将接口的图标连接到矩形 的边框上,共给接口表示为通过一条实线链接到矩 形上的圆圈;而需求接口则表示为一条实线链接到 矩形上的上半圆。
(3)显示表示法:接口也可以用完整的显示形式 表示,构件和其提供的接口之间是实现关系,而构 件和其所需的接口之间是使用《use》关系。
38
Rose中的扩展构件
《access》关系:如果只想使用提供者包中的元素,而不想将 两个包合并,则应使用该关系。在客户包中必须使用路径名,才 能访问提供者包中的所有公共元素。
《trace》关系:想表示一个包到另一个包的历史发展,则需要 使用《trace》关系来表示 .
12
包图中的关系
例如 ,有两个《USE》依赖, Client包将通过Server包来完 成Order的存储,而Server包 使用 System.Data.SqlClient包 来实现数据库的存储。
其它一些复杂的包提供简略视图。 《stub》:是一个代理包,它服务于某个其他包的公共
内容,这通常应用于分布式系统的建模中。 《 framework》:用来表示一个框架的,框架是一个
领域内的应用系统提供可扩充模板的体系结构模式。
10
包图中的关系
包图中的关系有2种:依赖关系、泛化关系。 1、依赖关系:分为4种。把箭尾端的包称为
1)接口声明:每个构件包含两组接口,一组是 供给接口,表明它能提供的服务,一组是需求 接口,表明它需要的服务。
2)接口实现:构件是一个物理部件,它实现了 供给接口声明的服务。
3)构件标准:在创建构件时,每一个构件必须 遵从某种构件标准。
4)封装方法:也就是构件遵从的封装标准。 5)部署方Байду номын сангаас:一个构件可以有多种部署方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件系统体系结构建模——包图
• 1、通用接口界面层 用户窗口是系统接口界面类的一个派生类,
继承了系统接口界面的特性,但是也有具 有自己特征的操作和功能。同时,用户窗 口还可以依赖和借助备用构件库中的构件 搭建自己的系统。
软件系统体系结构建模——包图
• 2、系统业务对象层
该层的功能是:设置用户窗口与系统各种实现具 体功能服务的接口界面的连接。该层由系统服务 接口界面包、业务对象管理包、外部业务对象包 和实际业务对象包组成。
系统分解:将系统分解为若干个相互作用的子系统 模块分解:将子系统进一步划分为模块 控制建模:建立系统各部分间控制关系的一般模型
系统体系结构概述
• 系统体系结构模型:
软件系统体系结构模型——包图、构件图 硬件系统体系结构模型——部署图
软件系统体系结构建模——包图
• 为了清晰、简洁地描述一个复杂的软件系 统,通常都是把它分解成若干较小的系统 (子系统)。如果需要的话,每个较小的 系统还可以分解成更小的系统。这样,就 形成了一个描述软件系统的结构层次。
• 在UML中,使用“包”代表子系统,使用 包图描述软件的分层结构。
通用三层软件(逻辑)系统体系结构
软件系统体系结构建模——包图
软件系统体系结构建模——包图
• 图中给出了一个由通用接口界面层、系统 业务对象层和系统数据库层组成的三层结 构的通用软件系统体系结构,每层中有其 内部的体系结构。
软件系统体系结构建模——包图
分析 VS. 设计
• 分析和设计是不同的阶段,但是边界比较 模糊
• 通常情况下,可以这么理解:
分析就是调查问题,分析模型 = 问题内容 设计就是找出解决方案,设计模型 = 解决方案
• 软件设计是软件开发的关键步骤,直接影 响软件质量。
系统体系结构概述
• 软件设计阶段的任务与目标:
– 设计任务:将需求、分析阶段获得的模型转换 为可实现的系统
包图介绍
• 包图的定义 • 包图的构成要素 • 包图中的关系
包图的定义
在UML的建模机制中,模型的组织是通 过包来实现的。
包可以把所建立的各种模型(包括静态 模型和动态模型)组织起来,形成各种功 能或用途的模块,并可以控制包中元素的 可见性以及描述包之间的依赖关系。
包拥有的元素
• 包拥有的元素:类、接口、组件、节点、 协作、用例、图以及其他包。
• 一个模型元素不能被一个以上的包所拥有。 • 如果包被撤销,其中的元素也要被撤销。 • 一个包形成 模型需要有自己的内部组织结构,一方面能够
将一个大系统进行分解,降低系统的复杂度;另 一方面能够允许多个项目开发小组同时使用某个 模型而不发生过多的相互牵涉。
– 设计阶段的主要任务:
系统体系结构设计 数据结构设计 用户界面设计 算法设计
系统体系结构概述
• 系统体系结构用来描述系统各部分的结构、 接口以及它们用于通信的机制。
• 系统体系结构建模首先要建立基本的模型, 并把这些模型映射到系统需要的硬件单元 上。
系统体系结构概述
• 体系结构设计过程中的主要活动:
软件系统体系结构建模——包图
• 2、系统业务对象层
系统服务接口界面包:起承上启下的作用,设置用 户窗口与系统各种实现具体功能的接口界面的连接 业务对象管理包:根据用户窗口接口界面的要求, 实施对系统的业务对象的有效管理 外部业务对象包:对过去系统遗留下来的有使用价 值部分进行包装 实际业务对象包:形成能实现系统功能的实际的业 务对象集,包括系统新创建的业务和外部业务对象
软件系统体系结构建模——包图
• 3、系统数据库层
该层的功能是:将能够实现系统功能的对象集作为 持久对象及数据存储在磁盘中,便于系统在需要时再 将这些持久对象和数据提出出来进行处理和操作。该 层由持久对象及数据包和SQL查询语言包组成。
软件系统体系结构建模——包图
• 3、系统数据库层
持久对象及数据包:将能实现系统功能的实际业务 对象集,及这些对象在交互过程中产生的数据和新的 对象,作为持久对象和数据存储在磁盘中 SQL查询语言包:负责处理和操作存储在磁盘中的 持久对象和数据,包括对象的索引、查询、提取、存 储、插入和删除等,所有这些操作都依赖于SQL查询 语言进行
包图、构件图及部署图
李润知 2014-5-4
主要内容
• 系统体系结构概述 • 包图 • 构件图和部署图
系统体系结构概述
系统体系结构概述
分析 VS. 设计
分析模型虽然有效地确定了将要构建的内容,但是却没有包 含足够的信息来定义如何构建系统,设计模型用来填补分析 和实现之间的差距
系统体系结构概述
包图由包之间的关系组成,通过各个包以及包之间关系 的描述,展现出系统的模块与模块之间的依赖关系。包图 模型如下图所示。
包图的定义
包图和包 在UML中创建包图的目的有以下三个: 1. 在逻辑上把一个复杂的系统模块化 2. 组织源代码 3. 描述需求高阶概况 4. 描述设计的高阶概况
如果包得规划比较合理,那么它们能够反映系 统的高层架构——有关系统由子系统和它们之间 的依赖关系组合而成。包之间的依赖关系概述了 包的内容之间的依赖关系。
包图的定义
包图和包
包图是一种维护和描述系统总体结构的模型的重要建模 工具。对复杂系统进行建模时,通常需要处理大量的类、 接口、构件、节点和图,这就有必要将这些元素进行分组, 以方便理解和处理整个模型。
• 1、通用接口界面层 该层的功能是:设置连接该软件系统的运行环境 (如计算机设备及使用的操作系统、采用的编程 语言等)的接口界面和设置本系统用户窗口使用 的接口界面以及支持系统。该层由系统接口界面 类包、用户窗口包和备用构件库包组成。
软件系统体系结构建模——包图
• 1、通用接口界面层
系统接口界面类包:设置连接该软件系统的运行环 境的接口界面类,以便使开发的软件系统与其运行环 境进行无缝连接 用户窗口包:设置系统用户窗口使用的接口界面, 用户可以通过系统用户窗口的引导,选择合适的功能, 对本系统进行正确的操作 备用构件包:备用构件是指那些通过商业购买或在 开发其他软件系统时创建成功的构件,据此组成一个 备用构件库