UML面向对象建模设计_第1页
UML面向对象建模设计_第2页
UML面向对象建模设计_第3页
UML面向对象建模设计_第4页
UML面向对象建模设计_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

1、UMLUML面向对象建模与设计面向对象建模与设计 主讲:王仁春主讲:王仁春UMLUML面向对象建模与设计面向对象建模与设计 本课程内容安排:1、面向对象概念与UML介绍:2、类建模与类图介绍:3、用例与用例图介绍:4、顺序图介绍:5、状态图介绍:6、活动图:7、协作图与构建图与部署图介绍:8、UML在软件开发实例中的具体应用。第第01讲讲面向对象概念与UML介绍本讲目标: 1、面向对象的分析和设计、面向对象的分析和设计 (OOAD) 2、面向对象的基本概念。、面向对象的基本概念。 3、模型与建模、模型与建模 4、UML的基本概念。的基本概念。 5、UML的组成。的组成。 6、一个、一个UML案

2、例。案例。1、面向对象的分析和设计 (OOAD)1.1、面向对象程序设计的引入: 随着信息技术的发展,软件复杂性的增长随着信息技术的发展,软件复杂性的增长 使软件开发越来越困难使软件开发越来越困难应用软件网络操作系统软件可能是人类制造出来的最复杂的实体软件可能是人类制造出来的最复杂的实体1.2、面向对象的分析和设计 (OOAD) 面向对象的方法按照人类的自然思维的方式,面对客观面向对象的方法按照人类的自然思维的方式,面对客观世界建立软件模型。世界建立软件模型。 充分体现了对复杂系统进行分解、抽象、模块化等思想充分体现了对复杂系统进行分解、抽象、模块化等思想 OOAOOA依照用户所理解的真实世界

3、中的对象概念,发现和分依照用户所理解的真实世界中的对象概念,发现和分析对象的内部构成和外部关系,建立准确而简洁的软件析对象的内部构成和外部关系,建立准确而简洁的软件系统的对象模型。系统的对象模型。 OOD OOD 是根据已建立的系统对象模型,运用面向对象技术,是根据已建立的系统对象模型,运用面向对象技术,进行软件设计。进行软件设计。 2、面向对象的基本概念。面向对象的基本概念 类与对象类与对象 抽象抽象 封装封装 继承继承 多态多态2.1 类和对象的概念多边形对象多边形对象多边形类多边形类属性属性顶点边的颜色填充颜色方法方法绘制擦除移动抽象为属性 1方法 1属性 3方法 22.2类和对象的关系

4、:抽象 考察特定应用程序相关问题的某些方面的过程考察特定应用程序相关问题的某些方面的过程2.3类的特性:封装 信息隐藏的过程信息隐藏的过程 有选择的数据隐藏有选择的数据隐藏 防止意外的数据破坏防止意外的数据破坏 更易于隔离和修复错误更易于隔离和修复错误类的特性:封装 封装是允许有选择地隐藏类中的属性和方法的过程封装是允许有选择地隐藏类中的属性和方法的过程在类的外部不能访问在类的外部可以访问私有公有类2.4类的特性:继承 超类是有其他类继承其特征和行为的类超类是有其他类继承其特征和行为的类 继承其他类的类称为子类继承其他类的类称为子类动物动物2.5类的特性:多态性 同样的函数在不同的类上有不同的

5、行为同样的函数在不同的类上有不同的行为类:类:形状方法:方法:绘制移动 初始化子类子类对各个子类实现的方法 将产生不同的结果2.6 类的其他知识 接口:接口是一个收集方法和常数表单的契约。当类执行一个接口,它就许诺声明在那个接口中执行所有的方法。 在不同类中实现取用相同参数的同名成员函数 契约,设计的灵魂 重载在同一类中实现取用不同参数的同名成员函数 消息对象之间的交互包含三个方面的内容:消息的接收者;接收对象应采用的方法;方法所需要的参数3、模型与建模3.1什么是模型 模型是现实的简化模型是现实的简化模型提供了系统的设计图。模型可以包含详细的规划,也可以包含概括性的规划,这种规划高度概括了正

6、在考虑的系统。好的模型包括那些具有高度抽象性的元素。 模型有助于按原样或根据需要使系统可视化 通过模型可以详细说明系统的结构或行为 模型可以提供一个指导我们构建系统的模板 模型可以记录已经做出的决策3.2、为什么要建模 建模是为了让我们更好地理解将要开发的系统。建模是为了让我们更好地理解将要开发的系统。User Interface(Visual Basic,Java)Business Logic(C+, Java)Database Server(C+ & SQL)3.3、建模要实现的目的 模型有助于按原样或根据需要使系统可视化。模型有助于按原样或根据需要使系统可视化。 通过模型可以详细

7、说明系统的结构或行为。通过模型可以详细说明系统的结构或行为。 模型可以提供一个指导我们构建系统的模板。模型可以提供一个指导我们构建系统的模板。 模型可以记录已经做出的决策。模型可以记录已经做出的决策。3.4、建模的原则 选择创建什么模型对于如何处理问题以及如何形成解决方选择创建什么模型对于如何处理问题以及如何形成解决方案有很深远的影响。案有很深远的影响。 每一种模型可以在不同的精度级别上表示。每一种模型可以在不同的精度级别上表示。 最佳模型与现实情况是紧密相连的。最佳模型与现实情况是紧密相连的。 一个模型不足以全面地反映实际情况。每个具有一定规模一个模型不足以全面地反映实际情况。每个具有一定规

8、模的系统都是通过一组几乎独立的模型来表示的。的系统都是通过一组几乎独立的模型来表示的。 4、UML的基本概念。4.1UML 简介 统一建模语言UML(Unified Modeling Language)是一种绘制软件蓝图的标准语言。 可以用UML对软件密集型系统进行可视化、详述、构造和文档化。 从企业信息系统到基于Web的分布式应用,甚至严格的实时嵌入式系统都适合于用UML来建模。 它是一种富有表达力的语言,可以描述开发所需要的各种视图,然后以此为基础开发系统基础开发系统。 4.2UML的语义与语法: 1.UML语义描述基于描述基于UML的精确元模型定义。元模型为的精确元模型定义。元模型为UM

9、L的所有元素在语法和语义上提供了简单、一致、通用的所有元素在语法和语义上提供了简单、一致、通用的定义性说明,使开发者能在语义上取得一致,消除了因的定义性说明,使开发者能在语义上取得一致,消除了因人而异的最佳表达方法所造成的影响。此外人而异的最佳表达方法所造成的影响。此外UML还支持对还支持对元模型的扩展定义。元模型的扩展定义。 2 UML表示法定义定义UML符号的表示法,为开发者或开符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标发工具使用这些图形符号和文本语法为系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型,在语准。这些图形符号和文字所表达的是应用级

10、的模型,在语义上它是义上它是UML元模型的实例元模型的实例 4.3在不同系统中的应用信息系统信息系统: : 与数据库有关的系统与数据库有关的系统技术系统:处理和控制技术设备技术系统:处理和控制技术设备嵌入式系统:控制像移动电话这样的设备以嵌入式系统:控制像移动电话这样的设备以及家用设备及家用设备分布式系统:使用分布式系统:使用 CORBA CORBA 和类似的面向对和类似的面向对象机制分布在不同系统上的象机制分布在不同系统上的数据库系统数据库系统系统软件:操作系统和编写系统实用程序系统软件:操作系统和编写系统实用程序业务系统:与工作流有关的系统业务系统:与工作流有关的系统5、UML的组成。5.

11、UML的组成 标准建模语言UML的重要内容可以由下列五类图(共9种图形)来定义:类图:类图类图描述系统中类的静态结构。描述系统中类的静态结构。不仅定义系统中的类,表示不仅定义系统中的类,表示类之间的联系如关联、依赖、聚合等,也包括类的内部类之间的联系如关联、依赖、聚合等,也包括类的内部结构结构(类的属性和操作类的属性和操作)。类图描述的是一种静态关系,在。类图描述的是一种静态关系,在系统的整个生命周期都是有效的。系统的整个生命周期都是有效的。 以洗衣机为例:类图如右下:以洗衣机为例:类图如右下:对象图:对象图是类图的实例,几乎使用与类图完全相同的标识。他们的不是类图的实例,几乎使用与类图完全相

12、同的标识。他们的不同点在于对象图显示类的多个对象实例,而不是实际的类。一个对象同点在于对象图显示类的多个对象实例,而不是实际的类。一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。统某一时间段存在。 如下面:左图指明对象和它对应的类名;右图尽管指明了对象所属类,如下面:左图指明对象和它对应的类名;右图尽管指明了对象所属类,但并未提供一个具体的对象名,这是匿名对象。但并未提供一个具体的对象名,这是匿名对象。用例图 用例图:是从用户角度描述系统功能,并指出各功能的操用例图:是从用户角度描述系统功能,并指

13、出各功能的操作者作者 。 以洗衣机系统如下:以洗衣机系统如下:状态图 状态图状态图是对类图的补充。在实用上并不需要为所有的类画是对类图的补充。在实用上并不需要为所有的类画状态图,仅为那些有多个状态其行为受外界环境的影响并状态图,仅为那些有多个状态其行为受外界环境的影响并且发生改变的类画状态图。如下为一洗衣过程的状态图。且发生改变的类画状态图。如下为一洗衣过程的状态图。顺序图 顺序图显示对象之间的动态合作关系,它强调对象之间消顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互。息发送的顺序,同时显示对象之间的交互。活动图 活动图活动图描述满足用例要求所要进行的

14、活动以及活动间的约描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动束关系,有利于识别并行活动协作图 协作图描述对象间的协作关系,协作图跟顺序图相似,显协作图描述对象间的协作关系,协作图跟顺序图相似,显示对象间的动态合作关系。除显示信息交换外,协作图还示对象间的动态合作关系。除显示信息交换外,协作图还显示对象以及它们之间的关系。显示对象以及它们之间的关系。构件图 构件图描述代码部件的物理结构及各部件之间的依赖关系。构件图描述代码部件的物理结构及各部件之间的依赖关系。一个部件可能是一个资源代码部件、一个二进制部件或一一个部件可能是一个资源代码部件、一个二进制部件或一个可执行部

15、件。它包含逻辑类或实现类的有关信息。部件个可执行部件。它包含逻辑类或实现类的有关信息。部件图有助于分析和理解部件之间的相互影响程度。图有助于分析和理解部件之间的相互影响程度。部署图 配置图定义系统中软硬件的物理体系结构。它可以显示实配置图定义系统中软硬件的物理体系结构。它可以显示实际的计算机和设备际的计算机和设备(用节点表示用节点表示)以及它们之间的连接关系,以及它们之间的连接关系,也可显示连接的类型及部件之间的依赖性。在节点内部,也可显示连接的类型及部件之间的依赖性。在节点内部,放置可执行部件和对象以显示节点跟可执行软件单元的对放置可执行部件和对象以显示节点跟可执行软件单元的对应关系。下面为

16、不同品牌计算机的通信部署图:应关系。下面为不同品牌计算机的通信部署图:UML中几个图的关系用例图需求类图(复杂)状态图顺序图类图(简单)活动图协作图UML应用领域 最常用的是为软件系统建模,但不限于软件系统建模。UML还可用来描述其他非软件系统,如一个机构的组成或机构中的工作流程等。UML应用-需求分析阶段 UML 的用例视图可以表示客户的需求,通过用例建模可以对外部的角色以及它们所需要的系统功能建模。UML应用-分析阶段 分析阶段主要考虑所要解决的问题。可用UML 的逻辑视图和动态视图来描述,类图描述系统的静态结构;协作图、状态图、顺序图和活动图描述系统的动态特征。 在分析阶段,只为问题领域

17、的类建模,不定义软件系统的解决方案的细节(如用户接口的类数据库等)。UML应用-设计阶段 在设计阶段把分析阶段的结果扩展成技术解决方案,加入新的类来提供技术基础结构-用户接口,数据库操作等。 分析阶段的领域问题类被嵌入在这个技术基础结构中,设计阶段的结果是构造阶段的详细的规格说明。UML应用-构造阶段 在构造(或程序设计)阶段把设计阶段的类转换成某种面向对象程序设计语言的代码。UML应用-测试阶段 对系统的测试通常分为单元测试、集成测试、系统测试和接受测试几个不同级别。 不同的测试小组使用不同的UML 图作为他们工作的基础。单元测试使用类图和类的规格说明;集成测试典型地使用组件图和协作图;而系

18、统测试实现用例图来确认系统的行为是否符合这些图中的定义。UML应用-构造阶段 在构造(或程序设计)阶段把设计阶段的类转换成某种面向对象程序设计语言的代码。6、一个UML案例 顺序图案例 刘备孔明关羽求战请拟策略张飞请防守荆州请防守荆州前线孙权曹操请联络孙权请孙权领兵相助借东风火攻火攻曹军刘备的责任? 刘备求战请拟策略请防守荆州请联络孙权我必须 迎战曹操!使用UML表示 孔明请拟策略请联络孙权请孙权领兵相助借东风火攻火攻曹軍孔明拟定策略联合孙权借东风火攻使用UML表示 关羽张飞请防守荆州请防守荆州前线关羽防守荆州张飞防守荆州前线 关羽防守荆州张飞防守荆州前线刘备迎战曹操孔明拟定策略联合孙权借东风火攻UML的类图 使用C# 刘备迎战曹操写C#程序class 刘备public 迎战曹操() 孔明拟定策略联合孙权借东风火攻写C#程序class 孔明public 拟定策略() public 联合孙权(

温馨提示

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

评论

0/150

提交评论