面向对象分析与设计侯爱民chapter02_第1页
面向对象分析与设计侯爱民chapter02_第2页
面向对象分析与设计侯爱民chapter02_第3页
面向对象分析与设计侯爱民chapter02_第4页
面向对象分析与设计侯爱民chapter02_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1、第第2章章 UML概述概述2.1 UML的历史的历史 2.2 UML的特点的特点2.3 UML的构成的构成2.4 UML的视图的视图2.5 UML的图的图2.6 UML的模型元素的模型元素2.7 UML的软件工程行为的软件工程行为2.1 UML的历史的历史 UML是是Unified Modeling Language(统(统一建模语言)的简称。一建模语言)的简称。 Booch给出的定义:给出的定义:UML是对软件密集型是对软件密集型系统中的制品进行可视化、详述、构造和系统中的制品进行可视化、详述、构造和文档化的语言。文档化的语言。 制品是指软件开发过程中产生的各种各样制品是指软件开发过程中产生

2、的各种各样的产物,如模型,源代码,测试用例,等。的产物,如模型,源代码,测试用例,等。2.1 UML的历史的历史 模型的重要性:模型的重要性: 可以更好地理解问题。可以更好地理解问题。 可以加强人员之间的沟通。可以加强人员之间的沟通。 可以更早地发现错误或疏漏的地方。可以更早地发现错误或疏漏的地方。 可以获得设计结果。可以获得设计结果。 为最后的代码生成提供依据。为最后的代码生成提供依据。2.1 UML的历史的历史2.1 UML的历史的历史 UML是由世界著名的面向对象技术专家:是由世界著名的面向对象技术专家:G.Booch,J.Rumbaugh,I.Jacobson发发起,在起,在Booch

3、方法、方法、OMT方法和方法和OOSE方方法的基础上,汲取其他面向对象方法的优法的基础上,汲取其他面向对象方法的优点,广泛征求意见,几经修改而完成的。点,广泛征求意见,几经修改而完成的。 最新的最新的UML规范说明,是规范说明,是2003年年3月发布月发布的的UML1.5版本,在版本,在上上下载。下载。2.1 UML的历史的历史 众多的众多的OO方法:方法: 1988年,年,Shlaer/Mellor,面向对象的系统,面向对象的系统分析方法,分析方法,Object-oriented System Analysis 1990年,年,Rebecca WirfsBr

4、ock,职责驱,职责驱动动CRC方法,方法,Responsibility-Driven CRC-cards 1991年,年,Peter Coad,Edward Yourdon,面向对象分析与设计方法,面向对象分析与设计方法,OOA/OOD2.1 UML的历史的历史 众多的众多的OO方法:方法: 1991年,年,Grady Booch,Booch方法,方法,比较适合于系统的设计和构造。比较适合于系统的设计和构造。 1991年,年,James Rumbaugh,OMT方法,方法,Object Modelling Technique,比较适合于分析和描述以数据为中心比较适合于分析和描述以数据为中心的

5、信息系统。的信息系统。2.1 UML的历史的历史 众多的众多的OO方法:方法: OMT方法,使用对象模型、动态模型、方法,使用对象模型、动态模型、功能模型、用例模型,共同完成对整功能模型、用例模型,共同完成对整个系统的建模。个系统的建模。2.1 UML的历史的历史 众多的众多的OO方法:方法: 1992年,年,Ivar Jacobson,OOSE方方法,法,Object-oriented Software Engineering,比较适合于商业工程,比较适合于商业工程和需求分析。面向用例,用例贯穿于和需求分析。面向用例,用例贯穿于整个开发过程。整个开发过程。 其他方法,有其他方法,有50多种多

6、种2.1 UML的历史的历史召开时间召开地点会议网址UML981998.6.3-4法国MulhouseUML991999.10.28-30美国科罗拉多州Fort Collinswww.yy.ics.keio.ac.jpUML20002000.10.2-6英国Yorkwww.cs.york.ac.ukUML20012001.10.1-5加拿大多伦多UML20022002.9.30-10.4 德国德累斯顿www.inf.tu-dresden.deUML20032003.10.20-24美国旧金山2.2 UML的特点的特点

7、 UML的主要特点:的主要特点: 统一的标准。已被统一的标准。已被OMG(Object Management Group)接受为标准的建模语)接受为标准的建模语言。言。 面向对象。支持面向对象软件开发。面向对象。支持面向对象软件开发。 可视化,表示功能强大。可视化,表示功能强大。 独立于过程。不依赖于特定的软件开发过程。独立于过程。不依赖于特定的软件开发过程。 概念明确,建模表示法简洁,图形结构清晰,概念明确,建模表示法简洁,图形结构清晰,容易掌握和使用。容易掌握和使用。2.3 UML的构成的构成 UML的定义包括的定义包括UML语义和语义和UML表示法:表示法: UML语义语义。描述基于。描

8、述基于UML的精确元模型定义。的精确元模型定义。元模型为元模型为UML的所有元素在语法和语义上提的所有元素在语法和语义上提供了简单、一致和通用的定义性说明。此外,供了简单、一致和通用的定义性说明。此外,UML还支持对元模型的扩展定义。还支持对元模型的扩展定义。 UML表示法表示法。定义。定义UML符号的表示法,为开符号的表示法,为开发者或开发工具使用这些图形符号和文本语发者或开发工具使用这些图形符号和文本语法进行系统建模提供了标准。法进行系统建模提供了标准。2.3 UML的构成的构成 UML的重要内容可以由下列的重要内容可以由下列5类图来定义:类图来定义: 用例图用例图。从用户角度描述系统功能

9、,并指出。从用户角度描述系统功能,并指出各功能的操作者。各功能的操作者。 静态图(类图、对象图、包图)静态图(类图、对象图、包图)。类图描述。类图描述系统中类的静态结构,包括类,类之间联系,系统中类的静态结构,包括类,类之间联系,类的内部结构(属性和操作)。对象图是类类的内部结构(属性和操作)。对象图是类图的实例,显示类的多个对象实例,使用与图的实例,显示类的多个对象实例,使用与类图几乎完全相同的标识。包图描述系统的类图几乎完全相同的标识。包图描述系统的分层结构。分层结构。2.3 UML的构成的构成 UML的重要内容可以由下列的重要内容可以由下列5类图来定义:类图来定义: 行为图(状态图、活动

10、图)行为图(状态图、活动图)。行为图描述系。行为图描述系统的动态模型和组成对象间的交互关系。状统的动态模型和组成对象间的交互关系。状态图描述类的对象所有可能的状态以及事件态图描述类的对象所有可能的状态以及事件发生时状态的转移条件。通常,只为那些有发生时状态的转移条件。通常,只为那些有多个状态且其行为受外界环境的影响,并且多个状态且其行为受外界环境的影响,并且发生改变的类画状态图。活动图描述满足用发生改变的类画状态图。活动图描述满足用例要求所要进行的活动以及活动间的约束关例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。系,有利于识别并行活动。2.3 UML的构成的构成 UML的重要

11、内容可以由下列的重要内容可以由下列5类图来定类图来定义:义: 交互图(时序图、协作图)交互图(时序图、协作图)。交互图描。交互图描述对象之间的交互关系。时序图描述对述对象之间的交互关系。时序图描述对象之间的动态合作关系,强调对象之间象之间的动态合作关系,强调对象之间消息发送的顺序。协作图描述对象间的消息发送的顺序。协作图描述对象间的协作关系。如果强调时间和顺序,则用协作关系。如果强调时间和顺序,则用时序图。如果强调上下级关系,则用协时序图。如果强调上下级关系,则用协作图。作图。2.3 UML的构成的构成 UML的重要内容可以由下列的重要内容可以由下列5类图来定类图来定义:义: 实现图(组件图、

12、配置图)实现图(组件图、配置图)。组件图描。组件图描述代码部件的物理结构及各组件之间的述代码部件的物理结构及各组件之间的依赖关系。一个组件可能是资源代码组依赖关系。一个组件可能是资源代码组件,一个二进制组件,或者一个可执行件,一个二进制组件,或者一个可执行组件。配置图描述系统中软硬件的物理组件。配置图描述系统中软硬件的物理体系结构。体系结构。2.3 UML的构成的构成 采用面向对象技术设计系统时,工作流采用面向对象技术设计系统时,工作流程可以视为如下过程:程可以视为如下过程: 描述需求描述需求。用例图。用例图。 建立系统的静态模型建立系统的静态模型。类图,对象图,。类图,对象图,包图,组件图,

13、配置图。包图,组件图,配置图。 描述系统的行为描述系统的行为。状态图,活动图,时。状态图,活动图,时序图,协作图。序图,协作图。2.3 UML的构成的构成基本构造块基本构造块规则规则公共机制公共机制UML的构成的构成事物事物关系关系图图命名命名范围范围可见性可见性完整性完整性执行执行规范说明规范说明修饰修饰通用划分通用划分扩展机制扩展机制2.3 UML的构成的构成事物事物关系关系图图结构事物结构事物类、接口、协作、类、接口、协作、用例、主动类、用例、主动类、构件、结点构件、结点行为事物行为事物交互、状态机交互、状态机分组事物分组事物包包注释事物注释事物注解注解依赖依赖关联关联泛化泛化实现实现扩

14、展机制扩展机制版本版本标记值标记值约束约束用例图用例图顺序图顺序图协作图协作图类图类图对象图对象图状态图状态图活动图活动图构件图构件图部署图部署图2.3 UML的构成的构成通用机制通用机制视图视图模型元素模型元素UML的构成的构成交互、状态机交互、状态机注释注释包包修饰修饰注释注释类、接口类、接口关联、依赖、泛化、实现、聚合关联、依赖、泛化、实现、聚合事物事物规范说明规范说明关系关系通用划分通用划分扩展机制扩展机制用例视图用例视图逻辑视图逻辑视图并发视图并发视图组件视图组件视图配置视图配置视图结构事物结构事物动作事物动作事物分组事物分组事物注释事物注释事物用例图用例图组件图组件图配置图配置图类

15、图、对象图类图、对象图顺序图、协作图、状态图、活动图顺序图、协作图、状态图、活动图2.3 UML的构成的构成需求需求用例图用例图活动图活动图类图类图(简单的简单的)顺序图顺序图状态图状态图设计阶段设计阶段分析阶段分析阶段需求阶段需求阶段协作图协作图类图类图(复杂的复杂的)2.4 UML的视图的视图 视图(视图(View)是表达系统的某一方面特征)是表达系统的某一方面特征的的UML建模元素的子集。建模元素的子集。 视图并不是视图并不是“真正的真正的”图,而是由一个或图,而是由一个或多个图组成的、对系统某个角度的抽象。多个图组成的、对系统某个角度的抽象。 UML中的视图大致可以分为以下中的视图大致

16、可以分为以下5种:种: 用例视图,逻辑视图,实现视图,用例视图,逻辑视图,实现视图, 进程视图,部署视图进程视图,部署视图2.4 UML的视图的视图 一般而言,系统通常是从多个不同的方面一般而言,系统通常是从多个不同的方面来描述的。来描述的。 系统的使用实例。系统的使用实例。使用实例从系统外部参使用实例从系统外部参与者的角度描述系统的功能。与者的角度描述系统的功能。 系统的逻辑结构。系统的逻辑结构。逻辑结构描述系统内部逻辑结构描述系统内部的静态结构和动态行为,即从内部描述如的静态结构和动态行为,即从内部描述如何设计实现系统功能。何设计实现系统功能。2.4 UML的视图的视图 系统的构成。系统的

17、构成。描述系统由哪些构件组成。描述系统由哪些构件组成。 系统的并发特性。系统的并发特性。描述系统的并发性,解描述系统的并发性,解决并发系统中存在的各种通信和同步问题。决并发系统中存在的各种通信和同步问题。 系统的配置。系统的配置。描述系统的软件和硬件设备描述系统的软件和硬件设备之间的配置关系。之间的配置关系。2.4 UML的视图的视图 用例视图用例视图表示系统的功能性需求。强表示系统的功能性需求。强调从用户角度看到的或需要的系统功能。调从用户角度看到的或需要的系统功能。用例图。用例图。 逻辑视图逻辑视图表示系统的概念设计和子系表示系统的概念设计和子系统结构。展现系统的静态或结构组成及特统结构。

18、展现系统的静态或结构组成及特征。类图,对象图。征。类图,对象图。 实现视图实现视图说明代码的结构。体现系统说明代码的结构。体现系统实现的结构和行为特征。组件图。实现的结构和行为特征。组件图。2.4 UML的视图的视图 进程视图进程视图说明系统中并发执行和同步说明系统中并发执行和同步的情况。体现系统的动态或行为特征。时的情况。体现系统的动态或行为特征。时序图,协作图,状态图,活动图。序图,协作图,状态图,活动图。 部署视图部署视图定义硬件结点的物理结构。定义硬件结点的物理结构。体现系统实现环境的结构和行为特征。配体现系统实现环境的结构和行为特征。配置图。置图。2.4 UML的视图的视图逻辑视图逻

19、辑视图进程视图进程视图实现视图实现视图部署视图部署视图用例视图用例视图 如果这如果这5个视图不能完全满足需求,用户可个视图不能完全满足需求,用户可以定义自己的视图。以定义自己的视图。2.5 UML的图的图 图是模型元素集的图形表示,由顶点(模图是模型元素集的图形表示,由顶点(模型元素)和弧(关系)相互连接组成。型元素)和弧(关系)相互连接组成。 UML中的图大致可以分为以下中的图大致可以分为以下9种:种: 用例图,类图,对象图,时序图,协作图,用例图,类图,对象图,时序图,协作图,状态图,活动图,组件图,配置图。状态图,活动图,组件图,配置图。 用例图用例图描述用户看到的系统功能。描述用户看到

20、的系统功能。 类图类图描述系统的静态结构。描述系统的静态结构。 对象图对象图描述系统在某个时刻的静态结描述系统在某个时刻的静态结构。构。2.5 UML的图的图 时序图时序图按时间顺序描述系统元素间的按时间顺序描述系统元素间的交互。交互。 协作图协作图按时间和空间顺序描述系统元按时间和空间顺序描述系统元素间的交互和它们之间的关系。素间的交互和它们之间的关系。 状态图状态图描述系统元素的状态条件和响描述系统元素的状态条件和响应。应。 活动图活动图描述系统元素的活动。描述系统元素的活动。 组件图组件图描述实现系统的元素的组织。描述实现系统的元素的组织。 配置图配置图描述环境的配置,将实现系统描述环境

21、的配置,将实现系统的元素映射到配置上。的元素映射到配置上。2.6 模型元素模型元素 UML中的模型元素中的模型元素: 包括包括事物事物和事物之间的和事物之间的联系联系。 事物事物描述了一般的面向对象的概念。描述了一般的面向对象的概念。如类,对象,接口,消息,组件等。事物如类,对象,接口,消息,组件等。事物代表任何可以定义的东西。代表任何可以定义的东西。 事物之间的联系事物之间的联系组成有意义的结构模组成有意义的结构模型。型。2.6 模型元素模型元素 UML中的事物的分类中的事物的分类: 结构事物结构事物,动作事物动作事物,分组事物分组事物,注释事物。注释事物。 结构事物结构事物描述系统中的结构

22、成分。类,描述系统中的结构成分。类,接口,协作,用例,活动类,组件,节点。接口,协作,用例,活动类,组件,节点。 动作事物动作事物描述系统在时间和空间上的描述系统在时间和空间上的动作。交互,状态机。动作。交互,状态机。 分组事物分组事物描述系统的组织机构。包。描述系统的组织机构。包。 注释事物注释事物对模型元素进行意义解释。对模型元素进行意义解释。注释。注释。2.6 模型元素模型元素 UML中的事物的联系中的事物的联系: 也称为也称为UML中的常用关系。中的常用关系。 关联关系关联关系连接元素,链接实例。连接元素,链接实例。 依赖关系依赖关系一个元素对另一个元素的依一个元素对另一个元素的依附。

23、附。 泛化关系泛化关系一个元素是另一个元素的特一个元素是另一个元素的特例。例。 实现关系实现关系一个元素实现另一个元素。一个元素实现另一个元素。 聚合关系聚合关系元素之间部分与整体之间的元素之间部分与整体之间的关系。关系。2.7 UML的软件工程行为的软件工程行为 分析阶段分析阶段:用户的需求用:用户的需求用UML的用例图来的用例图来描述。描述。 设计阶段设计阶段:用具体的类来处理用户接口、:用具体的类来处理用户接口、数据库存取、通信和并行性等问题。数据库存取、通信和并行性等问题。 实现阶段实现阶段:用某种面向对象程序设计语言,:用某种面向对象程序设计语言,将来自设计阶段的类转换成实际的代码。

24、将来自设计阶段的类转换成实际的代码。 测试阶段测试阶段:UML模型作为生成测试用例的模型作为生成测试用例的依据。依据。2.7 UML的软件工程行为的软件工程行为 测试阶段测试阶段:UML模型作为生成测试用例的模型作为生成测试用例的依据。具体而言如下:依据。具体而言如下: 单元测试阶段单元测试阶段:使用类图和类规格说明。:使用类图和类规格说明。 集成测试阶段集成测试阶段:使用构件图和协作图。:使用构件图和协作图。 系统测试阶段系统测试阶段:使用用例图来验证系统的:使用用例图来验证系统的行为。行为。2.8 UML的工具的工具 Rational Rose 2003。Rational公司开发公司开发的

25、用于分析和设计面向对象软件系统的工的用于分析和设计面向对象软件系统的工具。具。Grady Booch,Ivar Jacobson,Jim Rumbaugh此时是此时是Rational公司的员工。公司的员工。 Together 6.1。用纯。用纯Java开发的工具。开发的工具。 ArgoUML v0.14。开放源代码的工具。开放源代码的工具。 其他工具,其他工具,Visio,Visual UML。2.9 UML的例子的例子 在在Web浏览器中,输出浏览器中,输出“Hello,World!”的的Java applet程序代码程序代码: import java.awt.Graphics; class HelloWorld extends java.applet.Applet public void paint (Graphics g) g.drawString(“Hello,World!”,10,10); 2.9 UML的例子的例子 Hello,World的类图(的类图(1): HelloWorld类与注解的关系类与注解的关系 HelloWorld paint (g:Graphics): voidg.drawString(“H

温馨提示

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

评论

0/150

提交评论