面向对象软件工程第06章面向对象方法学与课件

上传人:aa****6 文档编号:54238873 上传时间:2018-09-10 格式:PPT 页数:253 大小:4.06MB
返回 下载 相关 举报
面向对象软件工程第06章面向对象方法学与课件_第1页
第1页 / 共253页
面向对象软件工程第06章面向对象方法学与课件_第2页
第2页 / 共253页
面向对象软件工程第06章面向对象方法学与课件_第3页
第3页 / 共253页
面向对象软件工程第06章面向对象方法学与课件_第4页
第4页 / 共253页
面向对象软件工程第06章面向对象方法学与课件_第5页
第5页 / 共253页
点击查看更多>>
资源描述

《面向对象软件工程第06章面向对象方法学与课件》由会员分享,可在线阅读,更多相关《面向对象软件工程第06章面向对象方法学与课件(253页珍藏版)》请在金锄头文库上搜索。

1、面向对象软件工程 Object Oriented Software Engineering,授课教师:周岩 E-mail:,第6章 面向对象方法学与UML,主要内容 1.面向对象方法概念 2.UML图,面向对象方法: (Objected Oriented,简称为OO ) 面向对象分析: (Object Oriented Analysis,简称OOA) 面向对象设计: ( Object Oriented Design,简称OOD),6.1 面向对象方法概述,6.1.1 面向对象方法学的要素和优点 1.面向对象方法的要素 对象 类 继承 消息,2、面向对象方法学的主要优点 与人类习惯的思维方法一致

2、 稳定性好 可重用性好 较易开发大型软件产品 可维护性好,8.1.2 面向对象的概念,1对象(object) (1)对象的定义:在应用领域中有意义的、与所要解决的问题有关系的任何事物都可作为对象。 (2)对象的特点 以数据为核心 主动性 实现了数据封装 本质上具有并行性 模块独立性好,内部状态,打开,调节频道,其他,关闭,调节声音,一台收音机对象的实例,2类(Class):类是具有相同属性和相同方法的一组对象的集合。,人类 分门别类 物以类聚,3实例(Instance):一个对象是类的 一个实例。 4属性(Attribute):是类中所定义的数据,它是对客观世界实体所具有的性质的抽象。 5消息

3、(Message):消息就是向对象发出的服务请求。分为同步消息和异步消息,消息传递:当一个消息发送给某个对象时,包含要求接受对象去执行某些活动的信息。接收到消息的对象经过解释,然后予以响应。这种通信机制叫做消息传递。,对象,对象,消息,6方法(Method):方法是对象所能执行的操作,是类中所定义的服务。 7封装(Encapsulation):就是把对象的属性和方法结合成一个独立的系统单位,并尽可能隐蔽对象的内部细节。,两层含义: (1)结合性 (2)信息隐蔽性,8继承(Inheritance) :利用继承子类可以自动的拥有父类中定义的属性和方法。,父类或超类,子类或派生类,继承性分类:单重继

4、承、多重继承两类。 单重继承:一个子类只能有一个父类; 多重继承:一个子类可以有多于一个的父类。,9多态性(Polymorphism):多态是指一个实体在不同条件下具有不同意义或用法的能力。 10重载(Overloading):重载有两种: (1)函数重载 (2)运算符重载,3种实现方式:通过接口实现多态性通过继承实现多态性通过抽象类实现的多态性,结构与连接,为了使系统能够有效地映射问题域,系统开发者需要认识并描述对象间的以下几种关系: (1)一般/特殊结构,(2)整体/部分结构,(3)实例连接,实例连接:反映了对象与对象间的静态关系。,(4)消息连接,消息连接:描述对象之间的动态联系。消息连

5、接是有方向的,连接从消息发送者指向消息接受者。,1、建模的原则 (1)选择建立什么样的模型对如何发现和解决问题具有重要的影响。正确的模型有助于提高开发者的洞察力。,6.2 UML概述,(2)每个模型可以有多种表达方式。使用者的身份和使用的原因是评判模型好坏的关键。 (3)最好的模型总是能够切合实际。模型是现实的简化,必须保证简化过程不会掩盖任何重要的细节。,(4)孤立的模型是不完整的。,5、建模的目标通过建模,要实现以下4个目标: (1)便于开发人员展现系统。可视化visualization (2)允许开发人员指定系统的结构或行为。详述specification (3)提供指导开发人员构造系统

6、的模板。构造construction (4)记录开发人员的决策。文档化documentation,通用建模语言(1)自然语言、图形语言、数学语言 (2)结构化建模与面向对象建模A、基于功能的分解与基于概念的建模B、面向对象的建模语言(50种之多)Rumbaugh(云豹):OMTShlaer/Mellor (雪梨与米勒)Jacobson (雅克森) :OOSEBooch(布什)Yourdon(尤顿):OOA/OODMartin/Odell(马丁与奥地),建模语言,(3)统一建模语言UML软件工程领域在1995-1997年取得前所未有的进展,其中最重要的、具有划时代意义的成果之一就是统一建模语言,

7、UMLUnified Modeling Language Unified: 组合了当前最好的面向对象软件建模方法 Grady Booch,James Rumbaugh,Ivar Jacobson,UML三位主要贡献者。1.OMT( James Rumbaugh )2.The Booch Method( Grady Booch )3.OOSE( Ivar Jacobson ),Modeling:用于表达现实的简化视图,以便于面向对象软件系统的设计与实现。 Language:UML主要是遵循精确语法的图形语言。,(4)应注意的问题A、UML是一种建模语言,不是一种建模方法。遵循特定的规则、允许创建

8、各种模型、并不告诉设计者需要创建哪些模型,不提供开发过程B、UML并不是软件建模的专用语言。 UML是用于构造系统或理解系统的语言(UML既支持正向工程,又支持反向工程)、是文档化的语言。,6.2.2 UML的内容(UML的构成)(1)视图“4+1”视图 表达系统的某一方面特征的UML建模元素的子集。视图并不是图。由一个或者多个图组成的对系统某个角度的抽象。 (2)图9种图(3)模型元素UML中的模型元素包括事物和事物之间的联系。事物描述了一般的面向对象的概念,如类、对象、接口、消息和组件等。(4)通用机制UML提供的通用机制可以为模型元素提供额外的注释、信息或语义。,1)、用例视图用例视图强

9、调从系统的外部参与者角度看到的或需要的系统功能。用例图 2)、逻辑视图逻辑视图从系统的静态结构和动态行为角度显示如何实现系统的功能。类图、对象图、状态图、时序图、协作图、活动图 3)、组件视图组件视图显示代码组件的组织结构。组件图 4)、并发视图并发视图显示系统的并发性,解决在并发系统中存在的通信和同步问题。状态图、协作图、活动图 5)、配置视图配置视图显示系统的具体部署。配置图部署是指将系统配置到由计算机和设备组成的物理结构上。,(1)UML“4+1”视图,1)、用例图Use Case Diagram 2)、类 图Class Diagram 3)、对象图Object Diagram 4)、状

10、态图State Diagram 5)、时序图Sequence Diagram 6)、协作图Collaboration Diagram 7)、活动图Activity Diagram 8)、组件图Component Diagram 9)、配置图Deployment Diagram,(2)UML的图,(3)UML的模型元素,1)、事物UML中的事物可以分为结构事物、动作事物、分组事物和注释事物4类。(1) 结构事物结构事物共有7种:类、接口、协作、用例、活动类、组件和节点。, 类对具有相同属性、方法、关系和语义的对象的抽象,一个类可以实现一个或多个接口。在UML中类用包括类名、属性和方法的矩形表示。

11、, 接口。为类或组件提供特定服务的一组操作的集合。描述了类或组件的对外可见的动作。在UML中接口用圆表示,在图形旁边还要标注接口的名字。, 协作。定义了交互操作。在UML中,用虚线构成的椭圆表示,椭圆中要标注协作的名字。, 用例描述系统对一个特定角色执行的一系列动作。在UML中,用例用标注了用例名称的实线椭圆表示,如下图所示。, 活动类活动类是类对象有一个或多个进程或线程的类。在UML中,活动类和类的表示法相同,只是边框用粗线条,如下图所示。, 组件实现了一个接口集合的物理上可替换的系统部分。在UML中,组件如下图所示。, 节点。在运行时存在的一个物理元素。代表一个可计算的资源,通常占用一些内

12、存和具有处理能力。一个组件集合一般来说位于一个节点。在UML中,节点如下图所示。,(2) 动作事物动作事物是UML模型中的动态部分,代表时间和空间上的动作。交互和状态机是UML中最基本的两个动态事物元素。 交互。一组对象在特定上下文中,为达到某种特定的目的而进行的一系列消息交换组成的动作。在UML中用带箭头的直线来表示。, 状态机。状态机由一系列对象的状态组成。在UML中,状态如下图所示。,(3)分组事物 分组事物是UML模型中组织的部分,分组事物只有一种,称为包。包是一种有组织地将一系列元素分组的机制。在UML中包的图形如下图所示。,(4)注释事物注释事物是UML模型的解释部分。在UML中注

13、释事物的图形如下图所示。,2)、关系 (1)关联关系指一种对象和另一种对象有联系。,(2)依赖关系对于两个对象X、Y,如果对象X发生变化,可能会引起对另一个对象Y的变化,则称Y依赖于X。,(3)泛化关系UML中的泛化关系定义了一般元素和特殊元素之间的分类关系,(4)实现关系实现关系将一种模型元素(如类)与另一种模型元素(如接口)连接起来,(5)聚合关系聚合关系描述元素之间部分与整体的关系。,1)、修饰可以将图形修饰附加到UML图中的模型元素上。为图中的模型元素增加语义。(粗体、下划线等) 2)、注释添加不能用建模语言来表示的信息UML的注释功能。注释:以自由的文本形式出现的,信息类型是不被UM

14、L解释的字符串。在UML图中用一条虚线将注释连接到它为之解释的或细化的元素上。,(4)UML的通用机制,3)、规格说明例如:文档、职责、永久性、并发性 4)、通用划分 型实例: 接口实现: 5)、扩展机制 允许自定义一些构造型语言成分。 3种主要的扩展组件:构造型 、标记值 和约束 。 扩展特性使得UML的应用不仅仅局限于软件建模。,6.3 UML图,用例图 类图 对象图 状态图 时序图(顺序图) 活动图 协作图 组件图(构件图) 配置图(部署图),用例图,1、概 述,用例图 显示谁将是相关的用户、用户希望系统提供什么服务以及用户需要为系统提供的服务,用来为系统的功能建模 最常用来描述系统以及

15、子系统,用例图的概念,用例图包含6个元素参与者(Actor) 用例(Use Case) 关联关系(Association) 包含关系(Include) 扩展关系(Extend) 泛化关系(Generalization),关系,参与到系统中的“对象”,系统功能,2、参与者(Actor),参与者 系统外部的一个实体。 参与用例的执行过程。 通过向系统输入或请求系统输入某些事件来触发系统的执行。,(1)概念,是指在系统外部与系统交互的人或其他系统,它以某种方式参与系统内用例的执行。,“与系统交互”是指执行者向系统发送消息、或从系统接受消息,或与系统交换信息。,注意 由参与用例时所担当的角色来表示。

16、每个参与者可以参与一个或多个用例。,参与者的种类系统用户与所建造的系统交互的其他系统一些可以运行的进程,“人”,如在企业“财务管理系统”,“资金流动”,“进、销、存管理系统”,时间,(2)确定参与者,如何寻找系统的参与者 谁将使用该系统的主要功能 谁将需要该系统的支持以完成其工作 谁将需要维护、管理该系统,以及保持该系统处于工作状态 系统需要处理哪些硬件设备 与系统交互的是什么系统 谁或什么系统对本系统产生的结果感兴趣,(3)参与者间的关系,在用例图中,使用泛化关系来描述多个参与者之间的公共行为。,参与者间的泛化关系示例:,3、用 例,(1)概念 用例 外部可见的系统功能单元 用途 在不揭示系统内部构造的前提下定义连贯的行为 这些行为不但应包含正常使用的各种行为,而且应包括非正常使用时的各种行为 一个用例代表软件系统功能的划分,代表系统角色和系统的一次交互 不是需求或功能的规格说明,但是也展示和体现其所描述的过程中的需求情况,

展开阅读全文
相关资源
相关搜索

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

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号