




已阅读5页,还剩68页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
包图、构件图及部署图,李润知 2014-5-4,主要内容,系统体系结构概述 包图 构件图和部署图,系统体系结构概述,系统体系结构概述,分析 VS. 设计,分析模型虽然有效地确定了将要构建的内容,但是却没有包含足够的信息来定义如何构建系统,设计模型用来填补分析和实现之间的差距,系统体系结构概述,分析和设计是不同的阶段,但是边界比较模糊 通常情况下,可以这么理解: 软件设计是软件开发的关键步骤,直接影响软件质量。,分析就是调查问题,分析模型 = 问题内容 设计就是找出解决方案,设计模型 = 解决方案,分析 VS. 设计,系统体系结构概述,软件设计阶段的任务与目标: 设计任务:将需求、分析阶段获得的模型转换为可实现的系统 设计阶段的主要任务:,系统体系结构设计 数据结构设计 用户界面设计 算法设计,系统体系结构概述,系统体系结构用来描述系统各部分的结构、接口以及它们用于通信的机制。 系统体系结构建模首先要建立基本的模型,并把这些模型映射到系统需要的硬件单元上。,系统体系结构概述,体系结构设计过程中的主要活动:,系统分解:将系统分解为若干个相互作用的子系统 模块分解:将子系统进一步划分为模块 控制建模:建立系统各部分间控制关系的一般模型,系统体系结构概述,系统体系结构模型:,软件系统体系结构模型包图、构件图 硬件系统体系结构模型部署图,软件系统体系结构建模包图,为了清晰、简洁地描述一个复杂的软件系统,通常都是把它分解成若干较小的系统(子系统)。如果需要的话,每个较小的系统还可以分解成更小的系统。这样,就形成了一个描述软件系统的结构层次。 在UML中,使用“包”代表子系统,使用包图描述软件的分层结构。,软件系统体系结构建模包图,通用三层软件(逻辑)系统体系结构,软件系统体系结构建模包图,图中给出了一个由通用接口界面层、系统业务对象层和系统数据库层组成的三层结构的通用软件系统体系结构,每层中有其内部的体系结构。,软件系统体系结构建模包图,1、通用接口界面层 该层的功能是:设置连接该软件系统的运行环境(如计算机设备及使用的操作系统、采用的编程语言等)的接口界面和设置本系统用户窗口使用的接口界面以及支持系统。该层由系统接口界面类包、用户窗口包和备用构件库包组成。,软件系统体系结构建模包图,1、通用接口界面层,系统接口界面类包:设置连接该软件系统的运行环境的接口界面类,以便使开发的软件系统与其运行环境进行无缝连接 用户窗口包:设置系统用户窗口使用的接口界面,用户可以通过系统用户窗口的引导,选择合适的功能,对本系统进行正确的操作 备用构件包:备用构件是指那些通过商业购买或在开发其他软件系统时创建成功的构件,据此组成一个备用构件库,软件系统体系结构建模包图,1、通用接口界面层 用户窗口是系统接口界面类的一个派生类,继承了系统接口界面的特性,但是也有具有自己特征的操作和功能。同时,用户窗口还可以依赖和借助备用构件库中的构件搭建自己的系统。,软件系统体系结构建模包图,2、系统业务对象层 该层的功能是:设置用户窗口与系统各种实现具体功能服务的接口界面的连接。该层由系统服务接口界面包、业务对象管理包、外部业务对象包和实际业务对象包组成。,软件系统体系结构建模包图,2、系统业务对象层,系统服务接口界面包:起承上启下的作用,设置用户窗口与系统各种实现具体功能的接口界面的连接 业务对象管理包:根据用户窗口接口界面的要求,实施对系统的业务对象的有效管理 外部业务对象包:对过去系统遗留下来的有使用价值部分进行包装 实际业务对象包:形成能实现系统功能的实际的业务对象集,包括系统新创建的业务和外部业务对象,软件系统体系结构建模包图,3、系统数据库层 该层的功能是:将能够实现系统功能的对象集作为持久对象及数据存储在磁盘中,便于系统在需要时再将这些持久对象和数据提出出来进行处理和操作。该层由持久对象及数据包和SQL查询语言包组成。,软件系统体系结构建模包图,3、系统数据库层,持久对象及数据包:将能实现系统功能的实际业务对象集,及这些对象在交互过程中产生的数据和新的对象,作为持久对象和数据存储在磁盘中 SQL查询语言包:负责处理和操作存储在磁盘中的持久对象和数据,包括对象的索引、查询、提取、存储、插入和删除等,所有这些操作都依赖于SQL查询语言进行,包图介绍,包图的定义 包图的构成要素 包图中的关系,包图的定义,在UML的建模机制中,模型的组织是通过包来实现的。 包可以把所建立的各种模型(包括静态模型和动态模型)组织起来,形成各种功能或用途的模块,并可以控制包中元素的可见性以及描述包之间的依赖关系。,包拥有的元素,包拥有的元素:类、接口、组件、节点、协作、用例、图以及其他包。 一个模型元素不能被一个以上的包所拥有。 如果包被撤销,其中的元素也要被撤销。 一个包形成了一个命名空间。,包图的定义,模型的组织结构 模型需要有自己的内部组织结构,一方面能够将一个大系统进行分解,降低系统的复杂度;另一方面能够允许多个项目开发小组同时使用某个模型而不发生过多的相互牵涉。 如果包得规划比较合理,那么它们能够反映系统的高层架构有关系统由子系统和它们之间的依赖关系组合而成。包之间的依赖关系概述了包的内容之间的依赖关系。,包图的定义,包图和包 包图是一种维护和描述系统总体结构的模型的重要建模工具。对复杂系统进行建模时,通常需要处理大量的类、接口、构件、节点和图,这就有必要将这些元素进行分组,以方便理解和处理整个模型。 包图由包之间的关系组成,通过各个包以及包之间关系的描述,展现出系统的模块与模块之间的依赖关系。包图模型如下图所示。,包图的定义,包图和包 在UML中创建包图的目的有以下三个: 1. 在逻辑上把一个复杂的系统模块化 2. 组织源代码 3. 描述需求高阶概况 4. 描述设计的高阶概况,包的组成,名称 在UML中,包的标准形式是使用两个矩形进行表示的,一个小 矩形和一个大矩形,小矩形紧连结在大矩形的左上角上,包的名称 位于大矩形的中间 包的名称是一个字符串,它有两种形式:简单名和路径名。其 中,简单名仅包含一个名称字符串;路径名是以包处于的外围包的 名字作为前缀并加上名称字符串,如下图所示。,可见性 包对自身所包含的内部元素的可见性也有定义,使用关键字private、protected或public来表示。private定义的私有元素对包外部元素完全不可见;protected定义的被保护的元素只对那些与包含这些元素的包有泛化关系的包可见;public定义的公共元素对所有引入的包以及它们的后代都可见。,包的组成,可见性的类型: 公有的(public) “” 受保护的(protected) “” 私有的(private)“”,包的组成,构造型 在Rational Rose 2003中,支持四种包的构造型。 第一种 ,业务分析模型包:,第二种 ,业务设计包:,包的组成,构造型 在Rational Rose 2003中,支持四种包的构造型。 第三种 ,业务用例模型包:,第二种 ,CORBAModule包:,包的组成,子系统 子系统是指有单独说明和实现部分的包。它表示具有对系统其他部分存在接口的连贯模型单元。 子系统使用具有构造型关键字“subsystem”的包表示。在Rational Rose中,子系统的表示形式如下图所示。,包的组成,子系统 在Rational Rose中,内部支持的二种系统。 1.程序系统。 2.业务系统。,包图中的关系,依赖关系 二个包之间存在的依赖关系通常是指这二个包所包含的模型元素之间存在着一个和多个依赖。对于由对象类组成的包,如果二个包的任何对象类之间存在着任何一种依赖,则这二个包之间就存在着依赖关系。 包的依赖联系同样是使用一根虚箭线表示,虚箭线从依赖源指向独立目的包,如下图所示。,包图中的关系,泛化关系 泛化关系表示了事物的一般和特殊的关系。如果二个 包之间存在有泛化关系,就是指其中的特殊性包必须遵 循一般性包的接口。包之间的泛化联系与类之间的泛化 关系十分类似,类之间的泛化的概念和表示在此大都可 以使用如下图所示。,嵌套的包,包可以拥有其他包作为包内的元素,子包又可以 拥有自己的子包,这样可以构成一个系统的嵌套结构, 以表达系统模型元素的静态结构关系。 包的嵌套可以清晰的表现系统模型元素之间的关 系,但是在建立模型时包的嵌套不宜过深,包的嵌套 的层数一般以2到3层为宜,如图所示的是嵌套包的结 构 。,构件图和部署图,主要内容,构件图和部署图的定义 构件图和部署图的的组成 实现构件图和部署图分析,软件系统体系结构建模构件图,在构件图中,我们将系统中可重用的模块封装成为具有可替代性的物理单元,我们称之称为构件,它是独立的,在一个系统或子系统中的封装单位,提供一个或多个接口,是系统高层的可重用的部件。 构件是软件复用的基本物理实现单元。在UML中,对象库,可执行体、COM+构件和企业级JavaBeans都可以描述成构件。,软件系统体系结构建模构件图,进销存管理系统源代码成为可执行代码过程的构件图,软件系统体系结构建模构件图,通过这个简单的构件图,我们可以清晰地从整个体系结构框架的角度了解到一个进销存管理系统源代码形成可执行代码的软件构造过程,构件图和构件,构件 在构件图中,我们将系统中可重用的模块封装成为 具有可替代性的物理单元,我们称之称为构件,它是独 立的,在一个系统或子系统中的封装单位,提供一个或 多个接口,是系统高层的可重用的部件。 构件作为系统定义良好接口的物理实现单元,它能 够不直接依赖于其他构件而仅仅依赖于构件所支持的接 口。通过使用被软件或硬件所支持的一个操作集接 口,构件可以避免在系统中与其它构件之间直接发生依 赖系统系。UML中的构件如图所示。,构件图和构件,构件的种类 在对软件系统建模的过程中,存在三种类 型的组件: 1. 实施构件 2. 配置构件 3. 工作产品构件,构件图和构件,构件的表示 1. 构件 Rational Rose中的构件即一般意义上的构件 ,但也可以用ActiveX、Applet、Application、 DLL、EXE以及自定义构造型来指定构件的类 型,它们的表示形式是在构件上添加相关的构造 型。如下图所示的是一个构造型为“Applet”的构 件。,构件图和构件,构件的表示 2. 子程序规范和子程序体 子程序是一个单独处理的元素的包,我们通 常用它代指一组子程序集。子程序规范和子程序 体是用来显示子程序的规范和实现体。它们的图 形表示形式如下图所示。,构件图和构件,构件的表示 3.主程序 主程序是指组织起来以完成一定目的的连接 单元的集合,在系统中,肯定有一个文件用来指 定系统的入口,也就是系统程序的根文件,这个 文件被称为为主程序。它的图形表示形式如图下 图所示。,构件图和构件,构件的表示 4. 数据库 在Rational Rose中,数据库也被认为是一 种构件,它的图形表示形式如下图所示。,构件图和构件,构件的表示 5.虚包 虚包是一种只包含对其它包所具有的元素 进行的引用的构件,它被用来提供一个包的某 些内容的公共视图。虚包不包含任何它自己的 模型元素,它的图形表示形式如下图所示。,构件图和构件,构件的表示 6.包规范 包规范和包体分别用于放置声明文件和实现文件。 因为我们有时候会将源文件中的声明文件和实现文件 分离开来。例如,在C+语言中,我们往往将“.h”文件 和“.cpp”文件分离开来 。它们的图形表示形式如下图 所示。,构件图和构件,构件的表示 7.任务规范和任务体 任务规范和任务体用来表示那些拥有独立 控制线程的构件的规范和实现体,它们的图形 表示形式如下图所示。,构件图和构件,构件图的定义 构件图是用来表示系统中构件与构件之间,以及定义的类或接口与构件之间关系的图。在构件图中,构件和构件之间的关系表现为依赖关系,定义的类或接口与类之间的关系表现为依赖关系或实现关系。,构件图和构件,构件图的定义 在构件图中,构件和构件之间的关系表现依赖关系和实现关系。 1. 依赖关系 这种依赖关系分为二种,一种是构件与构件之间依赖关系,它的表示方式与类图中类与类之间的依赖关系的表示方式相同,都是使用一个从用户构件指向它所依赖的服务构件的虚线箭头表示。如图下图所示 。,构件图和构件,构件图的定义 在构件图中,构件和构件之间的关系表现依赖关系和实现关系。 1. 依赖关系 另一种是构件和接口之间的依赖关系,它是指一个构件使用了其它元素的接口。依赖关系可以用带箭头的虚线表示,箭头指向接口符号,如下图所示的是使用一个接口说明构件的实现元素只需要服务者提供接口所列出的操作。,构件图和构件,构件图的定义 2. 实现关系 实现一个接口意味着构件中的实现元素支持接口中的所有操作。在构件图中,如果一个构件是某一个或一些接口的实现,可以使用下图所示的一条实线将接口连接到构件来表示。,硬件系统体系结构建模部署图,开发得到的软件系统,必须部署在某些硬件上予以执行。 在UML中,硬件系统体系结构模型由部署图建模。,部署图的定义,部署图描述了一个系统运行时的硬件结点,在这些 结点上运行的软件构件将在何处物理地运行,以及它们 将如何彼此通信的静态视图。 在一个部署图中,包含了两种基本的模型元素: 节点和节点之间的连接。在每一个模型中仅包含一个部 署图。,部署图的构成,节点 节点是存在于运行时并代表一项计算资源的物理元 素,一般用于对执行处理或计算的资源建模。在建模过 程中,可以把节点分成二种类型。分别是处理器和设备。 1. 处理器 处理器是指那些本身具有计算能力,能够执行各种 软件的节点,例如,服务器、工作站等这些都是具有处 理能力的机器。在UML中,处理器的表示形式如下图所示。,部署图的构成,节点 2. 设备 设备是指那些本身不具备处理能力的节点。通常情况 下都是通过其接口为外部提供某些服务,例如打印机、 扫描仪等。 每一个设备如同处理器一样都要有一个与其 它设备相区别的名称,当然有时候设备的命名可以比较 抽象一些,例如调节器或终端等。在UML中,设备的表示 形式如下图所示。,部署图的构成,连接 连接用来表示两个节点之间的硬件连接。节点之间 的连接可以通过光缆等方式直接连接,或者通过卫星等 方式非直接连接,但是通常连接都是双向的连接。 在UML中,连接的表示形式使用一条实线表示,在 实线上我们可以添加连接的名称和构造型。连接的名称 和构造型都是可选的。如下图所示的是客户端节点和服 务器节点通过HTTP方式进行通信连接。,构件图和部署图创建实例,创建构件图 1. 确定系统构件 在课程注册聊天系统中,通过对类图的分析能够发现类图中的类包括了边界类、控制类和实体类三种。其中BrowseCatalogHome、CourseList、CourseOfferingList和CourseOfferingDetail是边界类; CourseCatalog是控制类;Student、Course和CourseOffering是实体类。,构件图和部署图创建实例,创建构件图 1. 确定系统构件 在课程注册聊天系统中,通过对类图的分析能够发现类图中的类包括了边界类、控制类和实体类三种。其中BrowseCatalogHome、CourseList、CourseOfferingList和CourseOfferingDetail是边界类; CourseCatalog是控制类;Student、Course和CourseOffering是实体类。,构件图和部署图创建实例,创建构件图 1. 确定系统构件 在课程注册聊天系统中,通过对类图的分析能够发现类图中的类包括了边界类、控制类和实体类三种。其中BrowseCatalogHome、CourseList、CourseOfferingList和CourseOfferingDetail是边界类; CourseCatalog是控制类;Student、Course和CourseOffering是实体类。,构件图和部署图创建实例,创建构件图 2. 将系统中的类和接口等映射到构件中 我们按照将系统中的类、接口等逻辑元素映射到构件中。除此以外,我们还需要一个系统的主程序用来表示整个系统的启动入口。该主程序通常不会被其它构件依赖,只会依赖其它构件,对于客户端系统而言就是Client客户端主程序。课程注册系统所需的构件如下图所示。,构件图和部署图创建实例,创建构件图 3. 确定构件的依赖关系 在课程注册系统中所有的边界类、控制类和实体类都与客户端主程序Client有依赖关系,整个系统从Client类开始启动,分别调用相应的界面。创建后的系统构件图如下图所示。,构件图和部署图创建实例,创建部署图 对“课程注册系统”而言,该系统的需求如下所示: 1.学生可以在客户端进入系统。 2.系统管理员可以在服务器端对系统进行监控和 维护。 3.服务器端安装Web服务器软件,如Tomcat等, 通过JDBC与数据库服务器连接。 4.数据库服务器中安装Oracal9i,提供数据服务功 能。,构件图和部署图创建实例,创建部署图
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 预应力工程施工现场安全保障措施
- 2025国考阜新市金融监管岗位申论模拟题及答案
- 2025国考大连市劳动监察岗位行测必刷题及答案
- 四川省中学篮球课堂教学质量评价指标体系构建及其提升策略研究
- 难点详解人教版八年级上册物理声现象《声音的产生与传播》章节训练试题(含答案解析)
- 混凝土回弹检测实施方案
- 达标测试人教版八年级上册物理声现象《声音的特性》单元测试试题(含答案解析)
- 2025国考乌兰察布市气象服务岗位申论题库含答案
- 2025国考阿拉善盟巡视巡察岗位申论模拟题及答案
- 建筑预应力技术难题与解决方案
- GB/T 191-2025包装储运图形符号标志
- 青协申请书508字
- 2025年大连理工大学专职辅导员招聘考试参考题库及答案解析
- 旋挖桩施工专项方案设计要点
- 人工智能+应急管理智能应急演练评估与改进策略报告
- 人工智能+农业病虫害防治研究报告
- 国际压力性损伤-溃疡预防和治疗临床指南(2025年版)解读课件
- GB 16325-2005干果食品卫生标准
- FZ/T 73001-2016袜子
- 曾奇峰精神分析初级50讲讲义
- 卡尔曼(Kalman)滤波课件
评论
0/150
提交评论