[小学教育]UML01-OOA概念ppt课件

上传人:文**** 文档编号:251911946 上传时间:2024-11-11 格式:PPT 页数:32 大小:747.44KB
返回 下载 相关 举报
[小学教育]UML01-OOA概念ppt课件_第1页
第1页 / 共32页
[小学教育]UML01-OOA概念ppt课件_第2页
第2页 / 共32页
[小学教育]UML01-OOA概念ppt课件_第3页
第3页 / 共32页
点击查看更多>>
资源描述
,Click to edit Master title style,Click to edit Master text stylesgood1,Second levelgood2,Third levelgood3,Fourth levelgood4,Fifth levelgood5,版权所有:理学院,UML,Java&UML,Java&UML,教程,授课:刘松华,版权所有:江西理工大学理学院,UML,Click to edit Master text stylesgood1,Second levelgood2,Third levelgood3,Fourth levelgood4,Fifth levelgood5,对象、,UML,和,Java,统一建模语言(,Unified Modeling Language,),对象、UML和Java统一建模语言(Unified Mode,课程目录,面向对象分析和设计(,OOA/D,),课程目录面向对象分析和设计(OOA/D),课程要点,课程目标:,介绍面向对象(,OO,)软件开发,介绍如何应用,UML,进行,OOAD,面向对象软件开发包括了分析问题、设计解决方案、编码实现及维护,将思维从仅仅让程序运行转变到面向对象地思考,我们需要一种用于,OOAD,的语言,这既是一种思考的工具,也是一种沟通的形式。因此,我们将在,OOAD,中应用,UML,分析(,analysis,),-,对问题和需求的调查研究,设计(,design,),-,满足需求的概念上的解决方案,面向对象分析(,object-oriented analysis,),-,在问题域内发现和描述对象,面向对象设计(,object-oriented design,),-,如何定义软件对象以及它们之间如何协作以实现需求,课程要点课程目标:,1.1,面向对象技术,核心是,对象,什么是对象?,哪些可以认为是对象?,为什么需要使用对象?,1.1 面向对象技术核心是对象,1.2,面向对象程序设计语言,现有语言:,C+,、,Objective C,、,Objective Pascal,、,Java,、,Ada,等,市场主流语言:,C+,和,Java,Java,的优势及问题:,WWW,和,Java,能让小程序在任何有浏览器的计算机或操作系统上运行,不仅可以开发,Web,小程序,而且可以在几乎任何一种计算机上开发,C+,的优势及问题:,源于,C,,传承了在真实系统中完成真实任务的能力,兼容,C,现在扩展为一种巨大而复杂的语言,难以全面掌握并达成相当水平,1.2 面向对象程序设计语言现有语言:C+、Objecti,1.3,面向对象设计和,UML,在,UML,之前,有,OMT,、,Booch,等方法试图将各种方法中使用的概念进行统一(无原作者参与失败)。,94,年,Rational,软件公司合并两种概念,设计了统一建模语言,UML,统一的内涵:,对于开发的要求具有无缝性(软件开发生命期),适用于各种应用领域的建模,包括大型、复杂、实时、分布式、集中式或计算的、嵌入式的系统,可应用于运行不同的编程实现语言和开发平台,不是对开发过程细节进行描述的工具,在构建,UML,模型的过程中,特别注意揭示和表达各种概念之间的内在联系并试图用多种适用于已知和未知情况的办法去把握建模中的概念,1.3 面向对象设计和UML在UML之前,有OMT、Booc,1.3,面向对象设计和,UML,UML,的目标:,使其成为一个通用的建模语言,可供所有建模者使用,使其能很好地支持设计工作,如封装、分块、记录模型构造思路,使其能准确表达当前软件开发中的热点问题,比如大规模、分布、并发、方式和团体开发等,最终目标是尽可能简单的同时能够对实际需要简历的系统的各个方面建模,1.3 面向对象设计和UMLUML的目标:,附录,4,:建议阅读参考书,UML Distilled,UML,精化,Applying UML and Patterns,UML,与模式应用,The Unified Modeling Language User Guide,UML,用户指南,The Unified Modeling Language Reference Manual,UML,参考手册,Design Patterns:Elements of Reuseable Object-Oriented Software,设计模式,可复用面向对象软件的基础,Agile Software Development-Principles,Patterns,and Practices,敏捷软件开发,原则、模式与实践,Analysis Patterns:Reusable Object Models,分析模式,可复用对象模型,附录4:建议阅读参考书UML Distilled,对象的精髓,统一建模语言(,Unified Modeling Language,),对象的精髓统一建模语言(Unified Modeling L,2.1,基本概念,对象(,Object,),对象是封装了状态和行为的统一体,状态主要表现为属性和关联,行为主要表现为操作,方法和状态机,实例,MS12,医疗器械专用温度传感器,皮肤传感器,生命监护仪,培养箱,透析设备,呼吸器等医疗器械,结论,几乎所有的东西都可以在软件中通过建模成为对象,从对象的职责角度来思考对象比从它的属性角度思考更有用,2.1 基本概念对象(Object),例子:,例子:,对象具有状态:,一个对象的状态是这个对象可以存在的一个可能的环境,一个对象的状态通常会发生多次改变,对象具有状态:一个对象的状态是这个对象可以存在的一个可能的环,对象具有行为:,行为决定了一个对象如何起作用以及和其它对象相互作用,对象的可见行为是被一系列所响应的消息模型化了,对象具有行为:行为决定了一个对象如何起作用以及和其它对象相互,每个对象都有自己的标识,每个对象有唯一的标识,即使它和另外一个对象具有完全一致的状态,每个对象都有自己的标识每个对象有唯一的标识,即使它和另外一个,2.1,基本概念,类(,Class,),类是一组对象的描述,这一组对象有共同的属性和行为,类的定义描述了所有对象的属性,也描述了实现该类对象的行为的类的方法,结论,类的描述包括对类的单个对象的状态进行访问和改变的方式,坚持以对象的观点思考,2.1 基本概念类(Class),2.2,面向对象系统,面向对象软件系统具备,6,大特性:,利用对象进行抽象,抽象使得复杂的、真实世界的情况可以通过简单的模型表示,如:对颜色的一种抽象是,RGB,模型,结论:什么是抽象?,定义一个观点的边界,区别于其它实体最本质的特征,2.2 面向对象系统面向对象软件系统具备6大特性:,例子:抽象,例子:抽象,2.2,面向对象系统,封装的类,将抽象出来的状态和行为结合在一个封装的整体里,如:,Java,中通过类定义里面定义属性和方法,强制封装,结论:什么是封装?,向调用者隐藏了实现,调用者依赖接口,2.2 面向对象系统封装的类,2.2,面向对象系统,通过消息进行通信,同一类的不同对象、不同类的对象之间需要通过发送消息给其它对象,传递消息或请求动作,互操作得到处理,2.2 面向对象系统通过消息进行通信,2.2,面向对象系统,对象生命周期,对象在需要时被创建并初始化,继而执行功能,最后被销毁,2.2 面向对象系统对象生命周期,2.2,面向对象系统,类层次结构,关联、聚合(组合)、继承,2.2 面向对象系统类层次结构,2.2,面向对象系统,多态性,特殊类实现与通用类有差别的行为,但是行为的名字相同,结论:什么是多态?,使用同一接口隐藏不同的实现,2.2 面向对象系统多态性,例子:多态,例子:多态,2.3 UML,类表示法,类的,UML,表示法是由三个水平部分组成的矩形。顶端部分用来填写类的名字,中间部分用来填写属性,底端部分用来填写类的操作(方法)。,2.3 UML类表示法类的UML表示法是由三个水平部分组成的,2.3 UML,类表示法,关联通过类之间的连线表示,通常标注关联名称,关联的名称应该反映关系的用途,并且是一个动词;该名称可以忽略,尤其是使用角色名的时候。,应该尽量避免使用“具有”和“包含”这样的名称,因为它们不包含说明类之间具有什么关系的信息。,2.3 UML类表示法关联通过类之间的连线表示,通常标注关联,2.3 UML,类表示法,继承的表示方法是一个有三角形箭头的连线,箭头指向更为通用的类(超类),2.3 UML类表示法继承的表示方法是一个有三角形箭头的连线,2.3 UML,类表示法,聚合的表示方法是一个有空心菱形的连线,菱形指向整体类,1,计算机,主机,显示器,键盘,鼠标,一个空心菱形连接到聚集体(整体)一侧的关联路径端,2.3 UML类表示法聚合的表示方法是一个有空心菱形的连线,,2.3 UML,类表示法,组成的表示方法是一个有实心菱形的连线,菱形指向整体类,组成是一种整体和部分所属更强的聚合关系,每个部分只能属于一个整体,没有整体,部分也没有存在的价值,1,1,4,桌 子,桌 腿,桌 面,一个实心菱形连接到关联路径端(在整体一侧,),2.3 UML类表示法组成的表示方法是一个有实心菱形的连线,,2.3,结论:类层次结构,最简单的层次结构是关联(涉及相互独立的类),相互不独立的类之间有两种层次结构:,第一种是将一个类作为另一个类的一部分,即整体,/,部分,整体,/,部分通用术语为聚合,在聚合中,部分一方的对象可以来去自由。如果对象是整体的不可或缺的部分,则称为组合,第二种特征存在“是关系”,即泛化,/,特殊化,泛化,/,特殊化主要机制为继承,Java,不支持多继承,因此使用接口来替代,2.3 结论:类层次结构最简单的层次结构是关联(涉及相互独立,实例,实例,实例说明,Book,和,Person,是两个通用的超类,Book,由,Page,组成,组合关系表明书可以从一页到任意页,LibraryBook,类从,Book,类派生,可能有一些特殊属性,Reader,是,Person,类的特殊情况,是要使用,Library,的,Person,Borrowing,类用于实现读者和图书馆的书之间的,borrowing,关联,虚线表示一个简单的,LibraryBook,类和,Reader,类之间的双向连结,用类实现关联表示两者之间的连结通过,Borrowing,类来管理,最后一个,LibraryBook,对象是一个,Book,对象,一个,Reader,对象是一个,Person,对象,能通过继承的“是测试”,实例说明Book和Person是两个通用的超类,2.4,其它面向对象概念,抽象类:不能实例化的类,具体类:完全指明其实现方式并能够实例化的类,可见性:一个类看到和使用另一个类的资源的能力,公有可见性(,public,),私有可见性(,private,),保护可见性(,protected,),友类可见性(,friend,),2.4 其它面向对象概念抽象类:不能实例化的类,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!