UML01 概述.ppt_第1页
UML01 概述.ppt_第2页
UML01 概述.ppt_第3页
UML01 概述.ppt_第4页
UML01 概述.ppt_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、UML基础与Rose建模案例,主讲:王晓辉,参考书及网站,参考书: UML with Rational Rose从入门到精通(入门) UML参考手册(精通) UML面向对象设计基础 UML Programming Guide设计核心技术 参考网站(中文): http:/www. ,第一章 软件工程与UML概述,一、软件工程概述 二、UML语言概述 三、UML的应用领域,软件开发是一套关于软件开发各阶段的定义、任务、作用的,建立在理论上的一门工程学科。它对解决软件危机,指导人们利用科学、有效的方法来开发软件,提高及保证软件开发的效率和质量起到了一定的作用。 经典的软件工程思想将软件开发分成以下5

2、个阶段:需求分析(Requirements Capture)阶段、系统分析与设计(System Analysis and Design)阶段、系统实现(Implementation)阶段、测试(Testing)阶段和维护(Maintenance)阶段。,一、软件工程概述,模型是对现实的简化,常见的模型,生活相关:气象图、道路交通图、交通标志 展示相关:建筑物模型、沙盘、公司总部的3D复制品 数据分析相关:条形图、饼状图 业务分析相关:组织结构图、跨职能流程图 设计相关:建筑平面图、管线图、电路板设计图,谁应该建模,业务建模:以领域专家为主,需求分析人员是主力,系统分析员、架构师可参与 需求模型

3、:以需求分析人员为主,系统分析员是主力,领域专家提供指导,架构师和资深开发人员参与 设计模型:高层设计模型以架构师为主,系统分析员从需求方面提供支持,资深开发人员从技术实现方面提供支持。详细设计模型则以资深开发人员为主,架构师提供指导。 实现模型:以资深开发人员(设计人员)为主,架构师提供总体指导。 数据库模型:以数据库开发人员为主,架构师提供指导,资深开发人员(设计人员)予以配合。,1 建模的重要性,模型:为理解事物而对事物作出的一种抽象,是对事物规范、无歧异描述的一种工具。常见模型有数学模型、描述模型和图形模型。模型的实质:对现实的简化。 建模的用途与作用:建模是为软件开发服务的。建模的使

4、用是软件成功的一个基本因素,建模的最主要作用就是进行交流。 精确捕获和表达项目的需求与应用领域的知识,以使各方面的利益相关者能够理解并达成一致。 便于用户和各个领域的专家审查 降低复杂度提高开发效率和质量 模型可以作为软件系统维护和升级时的文档,2 建模四原则,准确原则:模型必须反映真实情况。选择建立什么样的模型对如何发现和解决问题具有重要的影响。 分层原则:必须有不同的模型以不同的抽象程度反映系统不同的侧面。 分治原则:软件系统是复杂的,对于软件模型的任意一个侧面,不可能用一个模型来反映所有整个系统的任何侧面。 标准原则:模型必须在某种程度上是通用的。,3 面向对象建模,两种最常用的建模方法

5、:基于算法的,如下图1和面向对象的如图2。 随着需求的变化和系统的增长,运用基于算法的建模方法建立起来的系统很难维护。,图1,图2,在面向对象的建模方法中,主要的模块是对象或类。 在开发早期就定义了一系列面向问题域的对象,即建立了一个对象模型。在整个开发过程统一使用了这些对象,并不断地充实和扩充对象模型。 所有其他概念,如属性、关系、事件、操作等也围绕对象模型组成的,使用统一的概念和描述符号,分析阶段得到的模型也适用于设计阶段和实现阶段。因此软件生命周期个阶段区分不明显,整个开放过程是无缝连接的。 面向对象软件开发特点:开发阶段界限模糊,开发过程逐步求精,开发过程反复迭代。,二、 UML语言概

6、述,1.UML的历史 UML:统一建模语言Unified Modeling Language UML是一种总结了以往建模技术的经验并吸收了当今优秀成果的标准建模技术,利用UML表达的软件模型,可以直接和某种设计语言建立映射关系,通过UML建造工具将UML模型转换为对应的程序设计语言的代码框架。 面向对象的分析与设计(OOA&D)方法的发展在20世纪80年代末至20世纪90年代中出现了一个高潮,UML是这个高潮的产物。它不仅统一了Booch、Rumbaugh和Jacobson的表示方法,而且对其做了进一步的发展,并最终统一为大众所接受的标准建模语言。,3位世界级面向对象技术大师,Grady Bo

7、och,James Rumbaugh,Ivar Jacobson,UML已经迅速成长为一个事实上的工业标准。,1.UML的历史,不论在计算机学术界、软件产业界还是在商业界,UML已经逐渐成为人们为各种系统建模、描述系统体系结构、商业体系结构和商业过程时使用的统一工具,而且在实践过程中人们还在不断扩展它的应用领域。,UML形成,UML的定义包括UML语义和UML表示法两个部分。 UML语义:描述UML的精确元模型定义。 元模型:UML的所有元素在语法和语义上提供了简单的、一致的和通用的定义说明,使开发者在语义上取得一致,消除了因人而异的表达方式造成的影响。,2.UML包含的内容,UML表示法:为

8、开发者或者开发工具使用这些图形符号和文本语法建立提供的标准。图形符号和文本所表达的是应用级的模型,在语义上是UML元模型的实例。 如:UML由 视图(view) 图(diagram) 模型元素(model element) 通用机制(general mechanism)等几个部分组成。 这些就是UML的表示法。,3.UML的定义 UML(Unified Modeling Language)统一建模语言,是一种面向对象的建模语言。 它的主要作用是帮助用户对软件系统进行面向对象的描述和建模(建模是通过将用户的业务需求映射为代码,保证代码满足这些需求,并能方便地回溯需求的过程),它可以描述这个软件开

9、发过程从需求分析直到实现和测试的全过程。 UML通过建立各种联系如类与类之间的关系、类/对象怎样相互配合实现系统的行为状态(模型元素)来组建整个结构模型。 UML包含各种图形,把这些图形元素及其关系可视化,让人们可以清楚容易的理解模型。,3.1 UML的组成 UML由视图(View)、图(Diagram)、模型元素(Model Element)和通用机制(General Mechanism)等部分组成。 1.视图:为了完整地描述一个系统,往往需要描述该系统的许多方面。视图可以表示被建模系统的各个方面,即从不同角度为系统建立多个模型,这些模型都描述同一个系统,仅描述的角度不同,相互间具有一致性。

10、从某一个角度观察到的系统,称为一个视图。 包括五类视图: 用例视图 逻辑视图 并发视图 组件视图 配置视图,用例视图(use case view),是整个系统的核心,强调从用户的角度看到的或需要的系统功能,是被称为参与者的外部用户所能观察到的系统功能的模型图; 逻辑视图(logical view),展现系统的静态或结构组成及特征,也称为结构模型视图(structural model view)或静态视图(static view); 并发视图(concurrent view),体现了系统的动态或行为特征,也称为行为模型视图(behavioral model view)、动态视图(dynamic

11、view); 组件视图(component view),体现了系统实现的结构和行为特征,也称为实现模型视图(implementation model view) ; 配置视图(deployment view),体现了系统实现环境的结构和行为特征,也称为环境模型视图(environment model view)或物理视图(physical view)。,UML的视图模型,Use case View描述系统的外部特性、系统功能等。,Implementation View 表示系统的实现特征,常用构件图表示。,Design View 描述系统设计特征,包括结构模型视图和行为模型视图,前者描述系统的

12、静态结构(类图、对象图),后者描述系统的动态行为(交互图、状态图、活动图)。,Process View 表示系统内部的控制机制。常用类图描述过程结构,用交互图描述过程行为。,Deployment View 配置视图描述系统的物理配置特征。用配置图表示。,UML常用视图,2.图:图是用来表达一个视图的内容的,通常,一个视图由多张图组成。UML语言共定义了9种不同的图,把它们有机地结合起来就可以描述系统的所有视图。 分别是:用例图、类图、对象图、时序图、协作图、状态图、活动图、组件图和配置图。 根据它们不同的架构视图的应用,把9种图分成以下5类: 用户模型视图:用例图 结构模型视图:类图和对象图

13、行为模型视图:时序图、协作图、状态图和活动图 实现模型视图:组件图 环境模型视图:配置图,第一类:用户模型视图:包括用例图(Use Case Diagram),从用户角度描述系统功能,并指出各功能的操作者。,UML可以由下列5类图来定义(以ATM为例),类图:描述系统中类的静态结构,不仅定义类,表示类之间的联系还包括内部结构(类的属性和操作)如下图 。 对象图:是类图的实例, 使用与类图完全相同的标 识 包图:由包或类组成, 表示包与包之间关系,用 于描述系统的分层结构。,第二类:结构模型视图:静态图(Static diagram)包括类图、对象图和包图。,第三类:行为模型视图 (1)行为图(

14、Behavior diagram),描述系统 动态模型和组成对象间的交互关系,包括状态图和活动图。 状态图:描述对象所 有可能的状态以及事 件发生时状态的转移 条件。如下图: 活动图: 描述满足用例要求所 要进行的活动及活动 间的约束关系,(2).交互图(Interactive diagram),描述对象 间的交互关系,包括 时序图和协作图。 时序图:显示对象间 的动态合作关系,强 调对象间消息发送顺 序及交互,协作图:除交换信息外,还显示对象及其关系(上下级)。不强调时序,组件图:描述代码部件的物理结构及各组件间的依赖关系、相互影响程度,第四类: 实现模型视图: (Implementatio

15、n diagram),包括组件图,第五类: 环境模型视图:包括配置图。 配置图:定义系统中软硬件的物理体系结构。,3.模型元素:可以在图中使用的概念(例如,用例、类、对象、消息和关系),统称为模型元素。模型元素在图中用相应的视图元素(图形符号)表示。一个模型元素可以用在多个不同的图中,不管怎样使用,它总是具有相同的含义和相同的符号表示。,4.通用机制: UML语言利用通用机制为图附加一些额外的信息,比如,可以在“笔记”中书写注释,或用“标签值”说明模型元素的性质等。此外,它还提供扩展机制(例如,版类、标签值、约束),使UML能够适应一种特殊方法或满足某些特殊用户的需要。,UML组成,1.结构元

16、素(类,接口,协作,用例,对象,构件,节点等) 2.行为元素(交互,状态机) 3.分组元素(包) 4.注解元素,1.关联 2.依赖 3.泛化 4.实现,1.静态模型(类图,构件图,部署图) 2.动态模型(对象图,用例图,顺序图,协作图,状态图,活动图),UML的内容结构,3.2 UML的建模机制 UML有两套建模机制:静态建模机制和动态建模机制。 静态建模机制包括用例图(Use Case Diagram)、类图(Class Diagram)、对象图(Object Diagram)、包(Package)、组件图(Component Diagram)和配置图(Deployment Diagram)

17、。 系统中的对象在执行期间的不同时间点如何通信以及通信的结果如何,就是系统的动态行为,即对象通过通信相互协作的方式以及系统中的对象在系统生命期中改变状态的方式,是系统的动态行为。动态建模机制包括消息(Message)、状态图(State Diagram)、时序图(Sequence Diagram)、协作图(Collaboration Diagram)和活动图(Activity Diagram)。,UML的特点,(1) 统一标准:统一了Booch、OMT和OOSE等方法中的基本概念,已成为OMG的正式标准,提供了标准的面向对象的模型元素的定义和表示。 (2) 面向对象:UML还吸取了面向对象技术

18、领域中其他流派的长处。UML符号表示考虑了各种方法的图形表示,删掉了大量易引起混乱的、多余的和极少使用的符号,也添加了一些新符号。 (3) 可视化、表示能力强:系统的逻辑模型或实现模型都能用UML模型清晰的表示,可用于复杂软件系统的建模。 (4) 独立于过程:UML是系统建模语言,独立于开发过程。 (5) 易掌握、易用:由于UML的概念明确,建模表示法简洁明了,图形结构清晰,易于掌握使用。,面向对象方法设计系统步骤,描述需求 根据需要建立系统的静态模型,以构造系统的结构 前2个步骤建立所建立的模型都是静态的,包括用例图、类图(包含包)、对象图、组件图和配置图,是UML的静态建模机制。 描述系统的行为 这个步骤建立的模型或者可以执行或者是表示执行时的时序关系或交互关系。包括状态图、活动图、时序图、协作图,是UML的动态建模机制。,4 UML的应用领域,UML的目标是以面向对象图的方式来描述任何类型的系统。其中最常用的是建立软件系统的模型,也可以用于描述非软件领域的系统,如机械系统、企业机构或业务过程,以及处理复杂数据的信息系统、具有实时要求的工业系统或工业过程等。 UML是一个通用的标准建模语言,可以对任何具有静态结构和动态行为的系统进行建模。 UML的最终用途为不同领域的人提供统一的交流方法。 UML适用于系统开

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论