面向对象的概念与UMLPPT学习课件_第1页
面向对象的概念与UMLPPT学习课件_第2页
面向对象的概念与UMLPPT学习课件_第3页
面向对象的概念与UMLPPT学习课件_第4页
面向对象的概念与UMLPPT学习课件_第5页
已阅读5页,还剩136页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1、1,3章面向对象的概念和UML,2,3章面向对象的方法和UML,3.1面向对象的概念3.2统一建模语言UML概要3.3 UML的模型要素3.4 UML的图3.5 UML的元模型结构,3,客观世界中的应用问题所面临的主体全部是物理的通过分析这些实体的作用、责任及其之间的合作,自然会找到解决问题的方法。 面向对象技术是适合用这种方法分析解决问题的方法。 其基础是在问题领域认识到的各种对象。 依赖于这些对象提供的服务和对象之间的协作(关系),实现期望的功能。 面向对象技术可以在解决方案中直接模拟问题领域,符合人的思考习惯。 3.1面向对象的系统的概念、4、面向对象的是Peter Coad和Edwar

2、d Yourdon提出了面向对象的方法的概念:面向对象=面向对象类继承消息通信object-oriented/使用oo=objectsinselectionselectrineconnternecommunicationwithmessages这四个概念开发的软件系统是面向对象的软件系统。 面向对象程序的每个元素可以是对象,并且计算是通过建立新对象和在对象之间的通信进行的。5、对象系统的特征、系统的定义从问题域的实体来看,与人的习惯性思考方式一致。 建立系统的结构稳定性高,修改可以局部化。 系统和架构可构筑组装,重用性好。 软件系统容易理解、修改、测试,适合大规模软件开发。 体系结构符合信息隐

3、藏原则,维护性好。6、对象、对象是描述系统中客观东西的实体,是构成系统的基本单元,由一组属性值和一组操作属性的服务构成。 对象=对象名称数据(属性)操作(行为、服务) Objects=Name Attribute Method属性值通常只能通过执行对象的操作来更改。 操作(方法或服务)描述对象执行的功能,也可以通过消息传递用于其他对象。 对象是外部实体、信息结构、事件、角色、组织结构、位置和位置、操作过程等。7,计算机窗口中的3个多边形对象,8,表示多边形的3个对象,9,类(class )和实例(instance ),把具有相同属性(数据结构)和服务(操作)的对象汇集在一起,分类类的定义包括一

4、系列数据属性和在数据上的复合操作。 属于类的单个对象是类的一个实例(instance ),可以使用类中的操作。 类可以定义每个实例通用的数据结构,并在使用类的构造函数创建类的实例时初始化该实例的状态。 从、10、两个四边形对象导出一个类,11、基本概念-类、类的具体例子,人构成一个类,具有年龄、身高等静态属性的成长等动态行为。 类别人力绑定私有/c数据成员int age; 浮顶高度; 公共/c中的成员函数Void growup; ,12,基本概念-实例,实例(Instance ) :特定类中的特定对象,称为实例。 张是人兵的例子。 类人贝宁公共语音群up; 在Java中定义公共: voidah

5、umanbeing:growup,13,message,message是一个对象传送到另一个对象的信息。 有四种留言。 目的地要求接收方提供服务,发送方激活接收方,发送方询问接收方,发送方只向接收方发送消息。 消息的使用类似于函数调用,它指定了实例、操作名称和参数表(可能为空)。 例如,quadrilateral1. move (15,20 )。 收到消息的实例执行消息中指定的操作,并将表单参数和参数表中的相应值结合在一起。、14、继承(inheritance )提取一个类之间有共性的东西(属性和行为)并放入一个泛化类中,将各个类特有的东西分成特化类记述,就可以开始特化类向泛化类的继承。 继承

6、是根据现有的类定义创建新类的定义技术。 现有类可以作为通用类(父类)引用,新类可以相应地作为特殊类(子类)引用。 子类自动共享父类的数据和方法以构建继承结构的优点:编程方便、容易理解的代码短、结构明确、只修改共同部分就能容易地添加新类,这是因为不同部分如何从父类中继承好的继承层次类如果添加新类,则可能需要调整原始层次,因为它不一定要插入到最低级别,而是插入到中间层中。 16、制造新的起重机车。 底盘、发动机、轮胎、驱动装置等位于现有汽车中。 关系如右图所示。 新班级是现有班级的特殊情况。 在这种情况下,将起重机车类直接作为汽车类的子类即可。17、追加新的拖拉机。 底盘和发动机等和汽车不同,但驱

7、动装置和轮胎等和汽车一样。 调整继承结构。 建设新的一般车辆类,把拖拉机和汽车类的共性放在车辆类上,拖拉机和汽车类成为了车辆类的子类。 车辆是抽象类,相关操作由子类的车来找。18、另一种情况是将新类添加到现有类中,并将新类变成现有类的泛化类。 例如,三角形类、四边形类已存在,想要添加多边形类,使其成为三角形和四边形类的泛化类。19、前三种情况主要通过搜索类库找到可以直接继承的类,或通过调整继承层次找到可以继承的类。 但是,如果在现有的继承层次中找不到可以继承的现有类,则创建完全独立于新的类。 如果一个类需要多个现有类的特征,则可以从多个类中继承,称为多继承。 例如,退休教师是继承退休人员和教师

8、两个班级的特征和行为而得到的新班级。 很多继承、20、21、“继承”可以提高程序的重用性。 “继承”使用规则:另一方面,如果a类和b类无关,则不能让b继承a的功能,以增加b的功能。 不要以为“不吃白”。 有精神的年轻人无缘无故吃人参来补充身体。 二、如果类b需要使用a的功能,(1)逻辑上,如果b是a的“一种”(a kind of ),则b允许继承a的功能。 男人(Man )是人(Human )的一种,男人(Boy )是男人的一种。 类Man从类HuMan派生,类Boy从类Man派生。 (2)如果a在逻辑上是b的“一部分”,则b不允许继承a的功能,而是将a和其他的组合成b。 例如,由于眼睛(Ey

9、e )、鼻子(Nose )、口(Mouth )和耳朵(Ear )是头的一部分,所以类Head必须由类Eye、Nose、Mouth和Ear的组合组成,而不是派生。22、多态性和动态绑定多态性:可以在类级别的不同层次共享(共享)一个行为(方法),但不同层次的各类分别根据自己的需要实现该行为。 动态连篇(绑定):多态性根据对象接收到发送消息时(执行动作时)该对象所属的类,动态地选择该类中定义的方法。23,文件 ) 打开文件结构化方法: Open-disk-file (打开硬盘文件) Open-tape-file (打开磁带文件) Open-diskette-file (软盘) Myfile.open

10、 ()注:这些工作不是在编译时(静态)进行的,而是在运行时(动态)进行的。在c程序中使用归零操作指令ClearInt ()时,必须严格区分指令是整数还是整数数组。 但是,对于c,ClearInt ()适用于两者,并自己确定对象是哪个。 这就是多态性。 这意味着操作在不同的类中具有不同的实现方法。 清除操作ClearInt ()根据消息对象是int array还是int而有所不同。 26,3.2综合建模语言UML的概要,UML是统一建模语言的缩写。 这是标准语言,是以直观的表现、定义、结构和文件化软件为中心的系统的工作产品。 UML收集了数据建模(实体关系图ERD )业务建模(工作流)对象建模组

11、件建模可以用于软件生命周期的各种过程的、能应用于各种实施技术的建模本质、27、UML发展的历史、数十种面向对象开发方法中最有名的三种方法是OMT (Rumbaugh )、Booch和OOSE(Jacobson )。 OMT的优势在分析中,弱点在设计中Booch 91的优势在设计,弱项被分析的OOSE的优势在行动分析,弱项在其他领域。 96年这三位优秀的专家合作,被称为“三友(三朋友gos )”。 发表PS得到工业界、科技界和应用界的广泛支持,1,9,6年1,0月美国已经有700多家公司支持采用PS作为建模语言。 从19年到6年末,UML稳定在对象技术市场的85%份额,成为可视化建模语言的事实上

12、的工业标准。28、UML发展历史、29、UML发展历史、30、UML特征、统一标准融合了现在流行的面向对象开发方法的主要概念和技术,成为面向对象的标准化统一建模语言。 提供了标准面向对象的模型元素的定义和表示,并且可以使用标准语言工具。 成为了工业标准化组织OMG的正式标准。 面向对象支持面向对象的主要概念,并提供基本模型元素的表示和方法。31、可视化、表现力强的图形语言,系统的逻辑模型和实现模型可以用UML的模型图形清晰地表现。 可以处理软件说明和有关文档的问题。 提供了语言的扩展机制,用户可以根据需要定义自己的派生类型、标记值、约束等。 可以用于各种复杂类型的软件系统的建模。 不依赖于过程

13、系统的建模语言,不依赖于开发过程。32、易用性概念明确,建模表示简洁,图形结构明确,使用方便。 重点学习三方面的主要内容: (1) UML的基本模型要素(2)组织模型要素的规则(3) UML语言的通用机制与编程语言的关系可以用Java、c等编程语言实现系统。 某些CASE工具可以基于使用UML创建的系统模型生成代码框架,如Java、c。33、UML视图、软件系统可以从不同的角度观察,从某个角度观察的系统构成系统的视图。 每个视图都是整个系统的说明投影,一些不同的视图可以完全说明所构建的系统。 每个视图都用一些图描述,包括系统的特定方面的信息。 UML将视图分为四个主题域:结构、动态、物理和模型

14、管理。两个部分。三。 结构:说明系统中的结构成员及其相互关系,如静态视图、设计视图、用例视图;动态:状态机视图、主动视图、交互式视图等。 描述系统行为和其他随时间变化的行为的物理:描述系统中的计算资源及其整体结构上的部署,包括部署视图的模型管理:描述层次中模型本身的组织,如模型管理视图和剖视图(使用包组织模型)。、34、(1)用例视图(Use Case View )用例视图由用例图的组组成,其基本组成部分是用例、参加者和系统,从系统外部的角度描述参加者和系统的交互,进行系统功能建模用例视图的目的是列出系统中的用例和参与者,并显示哪些参与者参与了哪些用例的运行。 用例的行为用动态视图特别是交互式

15、视图来表示。 (2)静态视图静态视图用类图表示,主要描述系统中的类和类之间的相互关系。 它用于构建系统的逻辑结构模型(应用领域的视点)和物理结构模型(系统实现的视点)。 静态视图没有描述依赖于时间的系统行为。 (3)设计视图(Design View )设计视图通过一系列的内部结构图、通信图、部件图来实现。 这可以用于对应用系统本身的设计级别结构进行建模,例如将设计的体系结构组合在组件中,以具有实现功能所需的协作以及良好的接口定义. classifier 、35、(4)状态机视图以状态机视图表示. 每个状态机图用于对描述实例状态和状态之间的转变的类实例的整个生存期间的个体行为进行建模。 这里,每

16、个状态描述实例在其生存期间满足某条件的时间段的操作或活动。 事件发生时,会触发实例中从一个状态到另一个状态的迁移,并同时执行附加到迁移的操作和活动。 (5)“活动视图”(Activity View )活动视图以活动图的形式显示。 活动图相当于传统的流程图,用于描述系统或子系统的工作流,以及描述算法内计算活动的控制流。 在活动图中,动作和活动的意义不同,动作是基本的计算步骤,活动是一系列动作或子活动。 活动图扩展了程序流程图,该流程图不仅可以描述连续执行的计算,还可以描述同时执行的计算。 (6)交互视图(Interaction View )交互视图使用序列图和通信图,系统内的一系列对象如何传送消息以及协同实现用例和组件的功能这显示了

温馨提示

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

评论

0/150

提交评论