电子教案-UML面向对象设计与分析教程课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《电子教案-UML面向对象设计与分析教程课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 教案 UML 面向 对象 设计 分析 教程 课件
- 资源描述:
-
1、第1页第1章 面向对象与UML本章概述 本章的学习目标主要内容第2页本章概述 面向对象技术是一种系统开发方法,是软件工程学的一个重要分支。面向对象建模与设计是使用现实世界的概念模型来思考问题的一种方法。对于理解问题、与应用领域专家交流、建模企业级应用、编写文档、设计程序和数据库来说,面向对象模型都非常有用。UML(Unified Modeling Language,统一建模语言)是一种建模语言,是用来为面向对象开发系统的产品进行说明可视化和编制文档的建模方法。本章将全面介绍面向对象与UML的基本概念。第3页本章的学习目标 理解面向对象的含义 理解软件工程过程框架 掌握类和对象的关系 掌握封装、
2、继承、多态 掌握UML的含义和特点主要内容:l面向对象思想的基本概念 l面向对象的三大要素 l面向对象与项目设计 l用面向对象思想建立系统模型主要内容主要内容第4页1、面向对象思想的基本概念机器码:使用二进制数字;汇编语言:使用字母数字符号作为机器码的速记方式,通过汇编程序转换为机器码;高级语言:使用有高级结构的语言编程,通过编译程序转换为机器码;结构化编程:自顶向下,逐步细分;面向对象编程(Object Oriented Programming,OOP):以对象为基础,以消息(或事件)来驱动对象执行处理。第5页一、面向对象思想的基本概念从程序设计方法上来讲,面向对象技术是一种自下而上的程序设
3、计方法,它不像面向过程程序设计那样一开始就需要使用一个主函数来概括出整个程序,面向对象程序设计往往从问题的一部分着手,一点一点地构建出整个程序。第6页一、面向对象思想的基本概念学生信息管理系统 例子:第7页一、面向对象思想的基本概念 应对需求变化的能力强。便于理解复杂的系统,并能提高系统维护性。提高重用性。第8页一、面向对象思想的基本概念对象第9页一、面向对象思想的基本概念第10页一、面向对象思想的基本概念第11页一、面向对象思想的基本概念物体(看得到的东西)概念(看不到的东西)第12页 描述对象属性行为一、面向对象思想的基本概念第13页一、面向对象思想的基本概念 对象具有属性值刻画对象的静态
4、特征第14页一、面向对象思想的基本概念 对象具有行为刻画对象的动态特征第15页 对象会对其他对象发来的要求做出反应一、面向对象思想的基本概念第16页 对象具有关系一、面向对象思想的基本概念第17页 对象之间的关系:一、面向对象思想的基本概念第18页aCaraPassengeranotherPassengeraDriver关联是一种弱连接:对象之间不完全相互依赖。一、面向对象思想的基本概念第19页聚合表示把对象放在一起,组成一个更大的对象。聚合形成“部分整体”层次结构,它隐含了较大的依赖性,至少是整体对部分的依赖。一、面向对象思想的基本概念diningRoomlivingRoomkitchenm
5、ainBedroomkidsBedroombathroomsecondFloorfirstFlooraHouse第20页组合(composition)是一种特殊的聚合,强调整体和部分具有相同的生命期。一、面向对象思想的基本概念public class Circle public int radius;Point center;public class Style int x,y;第21页 对象可唯一识别一、面向对象思想的基本概念第22页 对象的特征属性操作(行为)关系识别性一、面向对象思想的基本概念第23页一、面向对象思想的基本概念类(Class)是具有相同属性和操作的一组对象的组合,也就是说
6、,抽象模型中的“类”描述了一组相似对象的共同特征,为属于该类的全部对象提供了统一的抽象描述。第24页 着眼于对象的属性和行为的共同性,并进行分类后形成的 类是具有相同属性和操作的对象集合的总称 类封装了客观世界中对象实体的特征与行为,即属性与方法一、面向对象思想的基本概念第25页第26页 找到几个类?第27页第28页 每一个对象都是某一个类的实例 每一个类在某一时刻都有零个或更多的实体 类是静态的;它们的存在、语义和关系在执行前就已经定义好了 对象是动态的;它们在程序执行时可以被创建和删除第29页一、面向对象思想的基本概念所谓消息(Message)是指描述事件发生的信息,是对象间相互联系和相互
7、作用的方式。一个消息主要由5 5部分组成:消息的发送对象、消息的接收对象、消息传递方式、消息内容(参数)、消息的返回。传入的消息内容的目的有两个,一个是让接受请求的对象获取执行任务的相关信息,另一个是行为指令。第30页一、面向对象思想的基本概念所谓事件通常是指一种由系统预先定义而由用户或系统发出的动作。事件作用于对象,对象识别事件并作出相应反应。第31页二、面向对象的三大要素封装(Encapsulation)是把对象的属性(状态)和操作(行为)绑到一起的机制,把对象形成一个独立的整体,并且尽可能的隐藏对象的内部细节。aCoffeeMachinedrinkPricesavailableDrink
8、sdrinkRecipesdisplayDrinks()selectDrink()dispenseDrink()acceptMoney()第32页二、面向对象的三大要素封装有两层含义:结合性信息隐蔽性第33页二、面向对象的三大要素封装性应满足的条件:第34页二、面向对象的三大要素封装是面向对象编程防止程序员相互干扰的一种方式。例子:借钱。第35页二、面向对象的三大要素封装是一个重要原则,是指把属性和操作封装进一个对象里,它的内部信息对外界隐藏,不允许外界直接存取对象的属性,只能通过对象提供的有限的接口对对象的属性数据进行操作。封装的信息屏蔽作用反映了事物的相对独立性,我们可以只关心它对外所提供
9、的接口,即能够提供什么样的服务,而不用去关注其内部的细节问题。第36页二、面向对象的三大要素对于客观世界的认知,既应看到其共性,也应看到其特性如果只考虑事物的共性,不考虑事物的特性,就不能反映出客观世界中事物之间的层次关系,从而不能完整地、正确地对客观世界进行抽象的描述。第37页二、面向对象的三大要素如果说运用抽象的原则就是舍弃对象的特性,提取其共性,从而得到一个对象集的类的话,那么在这个类的基础上,再重新考虑抽象过程中被舍弃的那一部分对象的特性,则可以形成一个新的类,这个类具有前一个类的全部特征,是前一个类的子集,从而形成一种层次结构,即继承结构。第38页二、面向对象的三大要素继承(Inhe
10、ritance)是一种连接类与类的之间的层次模型。继承是指特殊类的对象拥有其一般类的属性和行为。第39页第40页继承了其它类属性和方法的类称为子类,被继承的类称为父类或超类。子类复用父类属性和方法的过程,称为继承或泛化。二、面向对象的三大要素第41页 继承继承是一种连接类与类之间的层次模型 继承继承意味着“自动地拥有”或“隐含地复制”,即在特殊类中不必重新对已经在一般类中所定义过的属性和行为进行定义,而是特殊类自动地拥有一般类的属性和行为 继承继承对类的重用性提供了一种明确表述共性的方法,即一个特殊类既有自己定义的属性和方法,又有继承下来的属性和行为 继承继承是传递的二、面向对象的三大要素第4
11、2页 使子类能够比不使用继承直接进行描述的类更加简洁:子类只需要描述哪些与父类不同的地方,不使用继承而去直接描述时,需要将父类的属性和行为全部再进行描述;能够重用和扩展现有类库资源:当使用已封装好的类库时,如果需要对某个类进行扩展,通过继承的方式很容易实现,而不需要再去重新编写;使软件易于维护和修改:当要修改、增加某一属性和行为时,只需要在相应地类中进行改动,而它派生的所有类将自动地做了相应修改二、面向对象的三大要素第43页二、面向对象的三大要素第44页二、面向对象的三大要素第45页二、面向对象的三大要素第46页二、面向对象的三大要素多态性(Polymorphism)是指在两个或多个属于相同类
12、中同一函数名对应多个具有相似功能的不同函数,可以使用相同的调用方式来调用这些具有不同功能的同名函数。第47页多态性既可应用于变量(多态变量),又可应用于消息(多态消息);多态变量表示值在不同的时刻有不同的类型;多态消息表示有多个方法与对象相关。二、面向对象的三大要素第48页 下面看一组变量的定义:多态变量二、面向对象的三大要素第49页再看下面的类层次结构:多态变量二、面向对象的三大要素第50页 因此,以下语句是合法的:多态变量 从类的定义上来看,Truck和Train都是陆上交通工具,因此可以被当作陆上交通工具来对待;从面向对象的程序设计思想来看,允许将一个子类型的实例赋值给它的祖先类型,因为
13、所有发送给祖先类型的消息都可以发送给子类型二、面向对象的三大要素第51页 第52页如下图所示的Bird、Finch、Eagle和Human类都有flyTo方法 多态消息二、面向对象的三大要素第53页Finch类和Eagle类的flyTo方法有着类似的算法(都用来描述鸟类的飞行,但是雀类和鹰类的具体飞行方式仍有区别);flyTo方法在Human类中是独立定义的,它与Finch类和Eagle类中的flyTo方法有着完全不同的算法(人类是不能飞行,只能乘坐飞机);上述例子说明,在面向对象的语言中,任何消息都可以关联多个方法,这些方法或者是在多个类中是独立的,或者由子类重新定义了。多态消息二、面向对象
14、的三大要素第54页 UML三、UML第55页问题:什么是UML?什么人用UML?UML能做什么?三、UML第56页UML的重要性:软件系统是产品,开发者和使用者是不同群体,对于一个复杂的软件系统,开发必须由多个方面人员参与、合作共同完成,它必须有完整的从分析到实现、使用和维护的文档软件系统必须像传统工业产品一样建模,把一个复杂的系统按问题的不同方面以一种约定好的、为大家共同接受的描述方式分别进行全面而详尽的描述,以便人们交流在试图交流、理解一个系统时,可根据人们所关心的某一方面的问题,查阅对应的系统模型,从而得到对此问题的理解另外,如果整个系统的功能、原理和结构没有一个全面而详细的记载的话,将
15、会对此软件产品的开发、维护和升级产生不利的结果三、UML第57页第58页第2章 UML构成与建模工具Rational Rose简介本章概述 本章的学习目标主要内容第59页本章概述 UML(统一建模语言)是为软件系统的制品进行详述(specifying)、可视化(visualizing)、构造化(constructing)、文档化(documenting)的一种语言。UML目前是软件行业标准的建模语言。可以采用UML对需求、分析、设计、实现、部署等工作进行标准的形式化描述,达到交流共同的作用。Rational Rose是基于UML的可视化建模工具。本章将介绍UML的相关内容和Rational R
16、ose 工具。第60页本章的学习目标 理解UML九种图的含义 理解UML视图 掌握UML的基本元素 掌握Rational Rose的基本操作 掌握Rational Rose双向工程lUML概述lUML视图lUML图lRational Rose建模工具主要内容主要内容第61页62/76一、UML概述创始于1994年10月由Grady Booch、Jim Rumbaugh和Ivar Jacobson共同提出,1996年正式命名;1997年被OMG采纳;63/76一、UML概述UML L是一种LanguageLanguage(语言);(语言);UM ML是一种ModelingModeling(建模)
17、(建模)Language;U UML是UnifiedUnified(统一)(统一)Modeling Language;64/76一、UML概述统一标准面向对象可视化、表达能力强,是一个庞大的符号体系65/76基本基本UML建模元素、关系和图建模元素、关系和图达到特定目标的公共达到特定目标的公共UML方法方法系统架构的系统架构的UML视图视图66/7667/76建模元素本身建模元素本身把物件联系在一起,关系说明两个或多个物件时如何语义相关的把物件联系在一起,关系说明两个或多个物件时如何语义相关的UML模型的视图,它们展现物件的集合,模型的视图,它们展现物件的集合,“讲述关于软件系统的故事讲述关于
18、软件系统的故事”,是,是我们可视化系统将做什么(分析级图)或者系统如何做(设计级图)的方法我们可视化系统将做什么(分析级图)或者系统如何做(设计级图)的方法68/76UML模型中的名词,如类、接口、协作、用例、活动类、组件、节点模型中的名词,如类、接口、协作、用例、活动类、组件、节点UML模型的动词,如交互、状态机模型的动词,如交互、状态机包,它用于把语义上相关的建模元素分组为内聚的单元包,它用于把语义上相关的建模元素分组为内聚的单元注解,它附加到模型以捕获特殊信息,同黄色便笺很相像注解,它附加到模型以捕获特殊信息,同黄色便笺很相像描述对象之间的一组链接描述对象之间的一组链接物件的改变引起依赖
19、物件的语义改变物件的改变引起依赖物件的语义改变一个元素是另一个元素的特化,而且它可以取代更一般的元素一个元素是另一个元素的特化,而且它可以取代更一般的元素类元之间的关系,一个类元说明一份契约,另一个类元保证实现该契约类元之间的关系,一个类元说明一份契约,另一个类元保证实现该契约第69页70/7671/76UML构造块构造块公共机制公共机制架构架构物件物件关系关系图图规格说明规格说明修饰修饰公共分类公共分类扩展机制扩展机制用例视图用例视图逻辑视图逻辑视图进程视图进程视图实现视图实现视图部署视图部署视图结构物件结构物件行为物件行为物件分组物件分组物件注解物件注解物件关联关联依赖依赖泛化泛化实现实现
20、类图类图顺序图顺序图对象图对象图协作图协作图构件图构件图状态图状态图部署图部署图活动图活动图用例图用例图72/7673/76重点内容:lUML概述 l常用的常用的UMLUML元素分析元素分析 lUML的通用机制 lUML的扩展机制74/76二、常用的UML元素分析UML是用模型来描述系统的结构或静态特征以及行为或动态特征的,从不同的视角为系统的架构建模形成系统的不同视图(view)。视图是表达系统某一方面特征的UML建模构件的子集。用例视图、逻辑视图、构件视图、进程视图和配置视图。l 作用:描述系统的功能需求,找出用例和执行者;l 适用对象:客户、分析者、设计者、开发者和测试者;l 描述使用的
21、图:用例图和活动图;l 重要性:系统的中心,它决定了其他视图的开发,用于确认和最终验证系统。用例视图用例视图二、常用的UML元素分析第75页76/76l 作用:描述如何实现系统内部的功能;l 适用对象:分析者、设计者、开发者;l 描述使用的图:类图和对象图、状态图、顺序图、合作图和活动图;l 重要性:描述了系统的静态结构和因发送消息而出现的动态协作关系。逻辑视图逻辑视图二、常用的UML元素分析l 作用:描述系统代码构件组织和实现模块,及它们之间的依赖关系;l 适用对象:设计者、开发者;l 描述使用的图:构件图;l 重要性:描述系统如何划分软件构件,如何进行编程。构件视图构件视图二、常用的UML
22、元素分析第77页78/76l 作用:描述系统的并发性,并处理这些线程间的通信和同步;l 适用对象:开发者和系统集成者;l 描述使用的图:状态图、顺序图、合作图、活动图、构件图和配置图;l 重要性:将系统分割成并发执行的控制线程及处理这些线程的通信和同步。进程视图进程视图二、常用的UML元素分析79/76l 作用:描述系统的物理设备配置,如计算机、硬件设备以及它们相互间的连接;l 适用对象:开发者、系统集成者和测试者;l 描述使用的图:配置图;l 重要性:描述硬件设备的连接和哪个程序或对象驻留在哪台计算机上执行。配置视图配置视图二、常用的UML元素分析80/76二、常用的UML元素分析逻辑视图构
23、件视图进程视图部署视图81/76二、常用的UML元素分析82/76 用例图描述了系统提供的一个功能单元。用例图的主要目的是帮助开发团队以一种可视化的方式理解系统的功能需求功能需求,包括基于基本流程的“角色”关系,以及系统内用例之间的关系。使用用例图可以表示出用例的组织关系,这种组织关系包括整个系统的全部用例或者是完成相关功能的一组用例。在用例图中画出某个用例方式是在用例图中绘制一个椭圆,然后将用例的名称放在椭圆的中心或椭圆下面的中间位置。用例图用例图83/76 类图显示了系统的静态结构,表示了不同的实体(人、事物和数据)是如何彼此相关联起来。类图可用于表示逻辑类,逻辑类通常就是用户的业务所谈及
24、的事物,比如说学生、学校等。类图还可用于表示实现类,实现类就是程序员处理的实体。类图类图84/76 对象图显示了某一时刻类的静态结构对象图对象图85/76 序列图显示了一个具体用例或者用例的一部分的一个详细流程。序列图有两个维度:垂直维度,也称时间维度,以发生的时间顺序显示消息或调用的序列;水平维度显示消息被发送到的对象实例。序列图序列图86/76协作图表示一组对象间关系以及交互活动。协作图以对象间连接关系为中心显示消息交换。协作图协作图87/76 状态图表示某个类所处的不同状态及该类在这些状态中的转换过程。状态图的符号集包含了下列五个基本的元素:初始起点,状态之间的转换,状态,判断点,一个或
25、者多个终止点,它们使用内部包含实心圆的圆来绘制。状态图状态图88/76 活动图是用来表示两个或者更多的对象之间在处理某个活动时的过程控制流程。活动图能够在业务单元的级别上,对更高级别的业务过程进行建模,或者对低级别的内部类操作进行建模。活动图活动图89/76构件图是要指出某些功能实际存在哪些地方。构件图提供系统的物理视图,它是根据系统的代码构件显示了系统代码的整个物理结构。构件图最经常用于实际的编程工作中。在以构件为基础的开发(CBD)中,构件图为系统架构师提供了一个为解决方案进行建模的自然形式。构件图构件图90/76 部署图是用于表示该软件系统如何部署到硬件环境中,它是显示在系统中的不同的构
展开阅读全文