下载

1下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 UML面向对象建模设计

UML面向对象建模设计.ppt

UML面向对象建模设计

jingjingxiangjing
2011-08-23 0人阅读 举报 0 0 暂无简介

简介:本文档为《UML面向对象建模设计ppt》,可适用于高等教育领域

UML面向对象建模与设计UML面向对象建模与设计UML面向对象建模与设计UML面向对象建模与设计本课程内容安排:、面向对象概念与UML介绍:、类建模与类图介绍:、用例与用例图介绍:、顺序图介绍:、状态图介绍:、活动图:、协作图与构建图与部署图介绍:、UML在软件开发实例中的具体应用。第讲第讲面向对象概念与UML介绍本讲目标:本讲目标:、面向对象的分析和设计(OOAD)、面向对象的基本概念。、模型与建模、UML的基本概念。、UML的组成。、一个UML案例。、面向对象的分析和设计(OOAD)、面向对象的分析和设计(OOAD)、面向对象程序设计的引入:、面向对象程序设计的引入:随着信息技术的发展软件复杂性的增长使软件开发越来越困难应用软件网络操作系统软件可能是人类制造出来的最复杂的实体、面向对象的分析和设计(OOAD)、面向对象的分析和设计(OOAD)面向对象的方法按照人类的自然思维的方式面对客观世界建立软件模型。充分体现了对复杂系统进行分解、抽象、模块化等思想OOA依照用户所理解的真实世界中的对象概念发现和分析对象的内部构成和外部关系建立准确而简洁的软件系统的对象模型。OOD是根据已建立的系统对象模型运用面向对象技术进行软件设计。、面向对象的基本概念。、面向对象的基本概念。面向对象的基本概念面向对象的基本概念类与对象抽象封装继承多态类和对象的概念类和对象的概念多边形对象多边形类属性顶点边的颜色填充颜色方法绘制擦除移动抽象为对象世界上任何事物都可以看成是对象。一个对象代表了一个现实的或虚构的实体。对象可以是具体有形的物体如汽车、人、房屋等也可以是无形的概念化学过程、生产计划、国家等。对象具有其自身的结构其结构包括属性和行为。对象的行为是指它能执行的操作。例如:汽车都有一些共同的属性:品牌、型号和载重等。它们都有一些共同的行为:加速、减速、载客和运货。类是一组具有相同特性和行为的对象的集合。共同的特性通过属性表现出来(数据)共同的行为通过操作表现出来(功能)类和对象的关系类是对象的抽象对象是类的实例。例如:某辆汽车是汽车类的实例。类是静态的它们的存在、语义和关系在程序执行前就已经定义好了。对象是动态的它们在程序执行时可以被建立和删除。类(也叫种类)主要起到分类的作用。类和对象的关系:抽象类和对象的关系:抽象考察特定应用程序相关问题的某些方面的过程抽象是一种从一般的观点看待事物的方法它要求程序员集中于事物的本质特征而不是具体细节或具体实现。抽象的含义是过滤掉对象中与当前开发无关的特性只剩下所需要的属性和行为。一个类是一组对象的抽象。类的特性:封装类的特性:封装信息隐藏的过程有选择的数据隐藏防止意外的数据破坏更易于隔离和修复错误类的特性:封装类的特性:封装封装是允许有选择地隐藏类中的属性和方法的过程将属性和操作包装成一个单元使得对状态的访问和修改只能通过封装提供的接口进行。封装的实质是当一个对象执行自己的操作时它对外界隐藏了操作的细节。对于对象的外界而言只需要知道对象所表现的外部行为不必了解对象行为的内部细节。如:电视机。类的特性:继承类的特性:继承超类是有其他类继承其特征和行为的类继承其他类的类称为子类继承是指一个类直接从另一个类中得到其属性和方法。例如:汽车类、飞机类是交通工具类的子类。一个类的子类可以是另一个类的超类。例如:汽车类又是轿车、卡车、赛车类的父类。在对现实世界建立系统模型时可以根据事物的共性抽象出一批基本的对象类(基类或超类)在此基础上再根据事物的个性抽象出新的对象类它们既有超类的全部属性和行为又有自己独特的属性和行为。这些新的对象类成为基类的子类(或派生类)。例如:“学生”是基类“本科生”“研究生”是它的两个子类。继承可以提高软件的可重用性。类的特性:多态性类的特性:多态性同样的函数在不同的类上有不同的行为类:形状方法:绘制移动初始化子类对各个子类实现的方法将产生不同的结果多态性就是多种表现即“一个对外接口多个内在实现方法。不同的类有时具有相同名称的操作。如:“打开”操作可以是“打开一扇门”“打开一个银行帐号”“打开一本书”等虽然都是“打开”操作但执行的是不同的行为动作。如:接口不同的类实现同一个接口时可以有不同的实现方法。类的其他知识类的其他知识接口:接口是一个收集方法和常数表单的契约。当类执行一个接口它就许诺声明在那个接口中执行所有的方法。在不同类中实现取用相同参数的同名成员函数契约设计的灵魂重载在同一类中实现取用不同参数的同名成员函数消息对象之间的交互包含三个方面的内容:消息的接收者接收对象应采用的方法方法所需要的参数对象之间的协作是通过相互发送消息来完成的。一个对象发送一个操作消息给另一个对象接收消息的对象就执行这个操作并把操作的结果返回给请求服务的对象。关联对象之间通常以某种方式发生联系这种联系就叫关联。单向关联:两个类是相关的但是只有一个类知道这种联系的存在如开车双向关联:两个类是相关的并且两个都类知道这种联系的存在如结婚一个对象可以和另一个对象以多种方式发生关联一个类也可以和多个其他的类关联。多重性是对象之间关联的一个重要方面。它说明了在关联中一个类的对象可以对应另一个类的多个对象。如:雇主和雇员是一对多的关联。、模型与建模、模型与建模什么是模型什么是模型模型是现实的简化模型提供了系统的设计图。模型可以包含详细的规划也可以包含概括性的规划这种规划高度概括了正在考虑的系统。好的模型包括那些具有高度抽象性的元素。模型有助于按原样或根据需要使系统可视化通过模型可以详细说明系统的结构或行为模型可以提供一个指导我们构建系统的模板模型可以记录已经做出的决策、为什么要建模、为什么要建模建模是为了让我们更好地理解将要开发的系统。、建模要实现的目的、建模要实现的目的模型有助于按原样或根据需要使系统可视化。通过模型可以详细说明系统的结构或行为。模型可以提供一个指导我们构建系统的模板。模型可以记录已经做出的决策。、建模的原则、建模的原则选择创建什么模型对于如何处理问题以及如何形成解决方案有很深远的影响。每一种模型可以在不同的精度级别上表示。最佳模型与现实情况是紧密相连的。一个模型不足以全面地反映实际情况。每个具有一定规模的系统都是通过一组几乎独立的模型来表示的。、UML的基本概念。、UML的基本概念。UML简介UML简介统一建模语言UML(UnifiedModelingLanguage)是一种绘制软件蓝图的标准语言。是一种面向对象的建模语言。可以用UML对软件密集型系统进行可视化、详述、构造和文档化。从企业信息系统到基于Web的分布式应用甚至严格的实时嵌入式系统都适合于用UML来建模。它是一种富有表达力的语言可以描述开发所需要的各种视图然后以此为基础开发系统。UML的背景和历史UML的背景和历史世纪年代中期产生了面向对象的软件开发方法面向对象的分析(OOA)和面向对象的设计(OOD)方法已逐渐取代了传统的方法成为我国当前计算机软件工程学中的主流方法。但是众多的面向对象方法各有特色也各有不足而且术语不统一缺乏共同标准常给软件开发人员带来困惑。最流行的面向对象方法是:Rumbaugh的OMT方法Booch的Booch方法和Jacobson的OOSE方法。UML的诞生-Rational三剑客UML的诞生-Rational三剑客JimRumbaughGradyBoochIvarJacobsonUML的背景和历史UML的背景和历史从年起三位学者一起合作、共同努力综合了他们各自原创的面向对象的分析与设计方法加以扩充改进并汲取其他同类方法的优点提出了统一建模语言UML。年被美国工业标准化组织OMG(ObjectManagementGroup)接受并发布了UML的标准版本。UML一经推出便得到了许多著名计算机厂商如IBM、Sun、HP、Oracle、Microsoft等的欢迎和支持。现在在美国UML已得到广泛的使用在国际上UML也正在广泛传播。UML的发展历程(见书P)UML的发展历程(见书P)UML的发展年代有一定影响的OOAD方法有多种年由Booch开始工作并创建了Rational公司年OMT的重要元老Rumbaugh加入Rational公司年月第一个版本UnifiedMethod年Jacobson加入Rational公司年月发布UML年多家软件公司组成的UML联合组织成立,并把UML提交到OMG年月日OMG发布UML目前版本UML()UML的发展历程UML的发展历程UMLBoochUnifiedMethodUMLOMTOOSEObjectoryUMLOOPSLA´WWWJune´BetaversionOOPSLA´SubmissiontoOMG,Jan´DocumentationSetWWWSpeconlyOthermethodsUMLSubmissiontoOMG,Sept‘OMGVote,Oct‘UMLSepUML,’~’MarUMLPresentUMLUML的语义与语法:UML的语义与语法:UML语义 描述基于UML的精确元模型定义。元模型为UML的所有元素在语法和语义上提供了简单、一致、通用的定义性说明使开发者能在语义上取得一致消除了因人而异的最佳表达方法所造成的影响。此外UML还支持对元模型的扩展定义。.UML表示法 定义UML符号的表示法为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型在语义上它是UML元模型的实例在不同系统中的应用在不同系统中的应用信息系统:与数据库有关的系统技术系统:处理和控制技术设备嵌入式系统:控制像移动电话这样的设备以及家用设备分布式系统:使用CORBA和类似的面向对象机制分布在不同系统上的数据库系统系统软件:操作系统和编写系统实用程序业务系统:与工作流有关的系统、UML的组成。、UML的组成。UML由三大模块组成:元素(也称事物)、关系和图。元素是模型的抽象元素之间的连接纽带是关系而图将元素的集合进行分组。UML中的元素UML中的元素UML中有种元素:结构元素行为元素分组元素和注释元素。)结构元素:共有种结构元素:类、接口、协作、用例、活动类(也称主动类)、组件(也称构件)和节点。)结构元素)结构元素类是具有相同属性、相同方法、相同语义和相同关系的一组对象的集合。接口是类或组件用来为其他的类和组件提供特定服务的一组操作的集合换句话说接口描述了类或组件的对外的、可见的动作。协作定义了交互的操作是一些角色和其他元素一起工作提供一些合作的动作。用例定义了系统执行的一组操作即描述了系统的功能需求对特定的用户产生可以观察的结果。活动类是对拥有线程并可发起控制活动的对象(往往称为主动对象)的抽象。组件是实实在在地驻留在计算机系统中的工作单元。一般指软件组件,如:可执行程序(EXE)、动态链接库(DLL)和源程序等。节点就是计算机资源包括带处理器的计算机或其他硬件设备。如一台数据库服务器等。)行为元素)行为元素行为元素是UML的动态部分它们是模型中的动词代表了随时间或空间的变化而变化的行为。行为元素主要有两种:交互作用和状态机。交互作用是一组对象之间为完成某一任务(如实现某个操作)而进行的一系列消息交换的行为在UML图中交互的消息通常画成带箭头的直线。状态机是对象为响应事件而经历的一系列状态以及对事件作出响应的行为。包括状态、跃迁、事件等。)分组元素包(Package))分组元素包(Package)分组元素:在UML中的作用是组织其他元素。分组元素只有一种称为包。包是一种有组织地将一系列元素分组的机制。)注释元素注释(note))注释元素注释(note)注释元素:是UML模型的解释部分。这些注释元素用来描述、说明和标注模型中的任何元素。只有一种注释元素称为注解。UML的组成UML的组成标准建模语言UML的重要内容可以由下列五类图(共种图形)来定义:类图:类图:类图描述系统中类的静态结构。不仅定义系统中的类表示类之间的联系如关联、依赖、聚合等也包括类的内部结构(类的属性和操作)。类图描述的是一种静态关系在系统的整个生命周期都是有效的。以洗衣机为例:类图如右下:对象图:对象图:对象图是类图的实例几乎使用与类图完全相同的标识。他们的不同点在于对象图显示类的多个对象实例而不是实际的类。一个对象图是类图的一个实例。由于对象存在生命周期因此对象图只能在系统某一时间段存在。如下面:左图指明对象和它对应的类名右图尽管指明了对象所属类但并未提供一个具体的对象名这是匿名对象。用例图用例图用例图:是从用户角度描述系统功能并指出各功能的操作者。以洗衣机系统如下:状态图状态图状态图是对类图的补充。在实用上并不需要为所有的类画状态图仅为那些有多个状态其行为受外界环境的影响并且发生改变的类画状态图。如下为一洗衣过程的状态图。顺序图顺序图顺序图显示对象之间的动态合作关系它强调对象之间消息发送的顺序同时显示对象之间的交互。活动图活动图活动图描述满足用例要求所要进行的活动以及活动间的约束关系有利于识别并行活动协作图协作图协作图描述对象间的协作关系协作图跟顺序图相似显示对象间的动态合作关系。除显示信息交换外协作图还显示对象以及它们之间的关系。构件图构件图构件图描述代码部件的物理结构及各部件之间的依赖关系。一个部件可能是一个资源代码部件、一个二进制部件或一个可执行部件。它包含逻辑类或实现类的有关信息。部件图有助于分析和理解部件之间的相互影响程度。部署图部署图配置图定义系统中软硬件的物理体系结构。它可以显示实际的计算机和设备(用节点表示)以及它们之间的连接关系也可显示连接的类型及部件之间的依赖性。在节点内部放置可执行部件和对象以显示节点跟可执行软件单元的对应关系。下面为不同品牌计算机的通信部署图:UML中几个图的关系UML中几个图的关系用例图需求类图(复杂)状态图顺序图类图(简单)活动图协作图UML应用领域UML应用领域最常用的是为软件系统建模但不限于软件系统建模。UML还可用来描述其他非软件系统如一个机构的组成或机构中的工作流程等。UML应用需求分析阶段UML应用需求分析阶段UML的用例视图可以表示客户的需求通过用例建模可以对外部的角色以及它们所需要的系统功能建模。UML应用分析阶段UML应用分析阶段分析阶段主要考虑所要解决的问题。可用UML的逻辑视图和动态视图来描述类图描述系统的静态结构协作图、状态图、顺序图和活动图描述系统的动态特征。在分析阶段只为问题领域的类建模不定义软件系统的解决方案的细节(如用户接口的类数据库等)。UML应用设计阶段UML应用设计阶段在设计阶段把分析阶段的结果扩展成技术解决方案加入新的类来提供技术基础结构用户接口数据库操作等。分析阶段的领域问题类被嵌入在这个技术基础结构中设计阶段的结果是构造阶段的详细的规格说明。UML应用构造阶段UML应用构造阶段在构造(或程序设计)阶段把设计阶段的类转换成某种面向对象程序设计语言的代码。UML应用测试阶段UML应用测试阶段对系统的测试通常分为单元测试、集成测试、系统测试和接受测试几个不同级别。不同的测试小组使用不同的UML图作为他们工作的基础。单元测试使用类图和类的规格说明集成测试典型地使用组件图和协作图而系统测试实现用例图来确认系统的行为是否符合这些图中的定义。UML应用构造阶段UML应用构造阶段在构造(或程序设计)阶段把设计阶段的类转换成某种面向对象程序设计语言的代码。、一个UML案例、一个UML案例顺序图案例刘备孔明关羽求战请拟策略张飞请防守荆州请防守荆州前线孙权曹操请联络孙权请孙权领兵相助借东风火攻火攻曹军刘备的责任刘备求战请拟策略请防守荆州请联络孙权我必须迎战曹操!!使用UML表示孔明请拟策略请联络孙权请孙权领兵相助借东风火攻火攻曹軍使用UML表示关羽张飞请防守荆州请防守荆州前线关羽防守荆州张飞防守荆州前线关羽防守荆州张飞防守荆州前线刘备迎战曹操孔明拟定策略联合孙权借东风火攻UML的类图怎么根据模型来写代码呢?使用C#刘备迎战曹操写C#程序class刘备{public迎战曹操(){……}}孔明拟定策略联合孙权借东风火攻写C#程序class孔明{public拟定策略(){……}public联合孙权(){……}private借东风火攻(){……}}class刘备{public迎战曹操(){……}}使用C#class孔明{public拟定策略(){……}public联合孙权(){……}private借东风火攻(){……}}class关羽{public防守荊州(){……}}class张飞{public防守前线(){……}}依样画葫芦准备填写public方法内容写C#程序内容刘备求战请拟定策略请防守荆州请联络孙权写C#程序class刘备{孔明k=new孔明关羽g=new关羽public迎战曹操(){k拟定策略g防守荆州k联合孙权}}写C#程序内容孔明请拟定策略请联络孙权请孙权领兵相助借东风火攻借东风火攻写C#程序class孔明{孙权s=new孙权public拟定策略(){……}public联合孙权(){s请领兵相助借东风火攻()}private借东风火攻(){……}}写C#程序内容caseendclass刘备{孔明k=new孔明关羽g=new关羽public迎战曹操(){k拟定策略g防守荆州k联合孙权}}class孔明{孙权s=new孙权public拟定策略(){……}public联合孙权(){s请领兵相助借东风火攻()}private借东风火攻(){……}}

VIP免券下载文档

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/75

UML面向对象建模设计

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利