《面向对象开发与UML.ppt》由会员分享,可在线阅读,更多相关《面向对象开发与UML.ppt(25页珍藏版)》请在三一办公上搜索。
1、1,第12章 面向对象开发与UML,2,教学内容 面向对象的基本概念:对象、类、关系;面向对象的基本特征:抽象、封装、继承、多态;面向对象的UML表示:UML基本构成要素、UML扩展机制。教学要求 1熟练掌握:面向对象基本概念,对象、类、关系;面向对象的基本特征,抽象、封装、继承、多态。2一般掌握:UML基本构成要素;类与类图、用例图、顺序图、协作图、状态图、活动图。3了解:接口、参与者、用例、交互、状态机、包、注释;UML扩展机制。,3,12.1 面向对象的基本概念 12.1.1 对象 1.对象的定义 世界是由各种各样的对象构成的,只要是这个世界客观存在的一切事物都是对象。有形的、无形的、虚
2、拟的事物都可以是对象。2.对象的特性 表示事物静态特征的属性和表示事物动态行为的操作。,4,12.1.2 类“类”是指具有共同属性和行为的一组对象的集合。就像要生产一个机械零件,需要有相应的模具一样,类好比就是生产“零件”对象的“模具”。,5,12.1.3 关系 这个世界的对象之间不是孤立存在的,它们彼此之间相互联系,发生作用。在面向对象开发方法中对象之间众多的关系被归纳成四种基本的关系:“关联”、“泛化”、“依赖”、“实现”,并从这四种关系演化出更多更丰富的关系。(1)“关联”关系:表示两个对象之间存在拥有和属于的关系。(2)“泛化”关系:表示两个对象之间存在包含与被包含的层次关系。(3)“
3、依赖”关系:表示一个对象的改变会引起另一个对象的改变。(4)“实现”关系:表示一个具体的对象去帮助一个抽象的对象完成其行为操作的关系。,6,12.2 面向对象的基本特征 12.2.1 抽象 抽象是指将世界上的事物表述成类的概念,即对象的静态属性可以被抽象成类的属性定义,对象的动态行为可以被抽象成类的操作定义。(1)将对象抽象为类,如图12-9所示。(2)抽象出类的属性和行为,如图12-10所示。,7,12.2.2 封装 将对象的操作包装成只有名称、参数、返回值,而不提供外部使用者如何实现该操作具体行为细节和操作过程的方法,称为封装。如图12-12所示。,8,12.2.3 继承 对世界事物分类是
4、有层次的,总存在一个分类包含了另一个或若干个分类的情况,像这样一个类被包含在另一个类中,就是继承。可以使用以下UML图形表示这种继承关系,如图12-13所示。,9,12.2.4 多态 多态是指同一消息发送给不同的对象,会有不同的响应。如图12-14所示。,10,12.3 面向对象的UML表示 12.3.1 UML基本构成要素 UML基本构成要素分成三个方面:事物、关系、图。,11,12.3.1 UML基本构成要素 1事物(Thing)是构成UML模型的基本图形元素,它又分为结构、行为、分组、注解四大类型的事物。(1)结构类型的事物是指UML中基本的、构成其他模型元素的基本构成要素。其中“类”是
5、常见的一种结构类型事物,在上面阐述面向对象基本概念的时候描述了“类”、“对象”基本结构类型事物的UML表示,在后续章节将根据情况介绍其他事物的UML表示。(2)行为类型的事物是指基本构成要素之间的动态作用过程。其中“交互”是指两个或以上的事物之间相互触发行为的过程,可以狭义地理解对象之间调用成员函数的过程。而“状态机”是指一个事物由于其他事物触发其行为,或者其自身触发自身行为后,自身状态改变过程的描述,可以狭义地理解,即对象成员函数被调用后,属性值是如何发生改变的。(3)分组类型的事物是将各种UML的构成要素组织成一个“包”,从而理顺并组织好UML图形中的各组成要素。(4)注释类型的事物是对任
6、何需要说明的其他UML事物进行解释和补充说明的图形元素。,12,12.3.1 UML基本构成要素 2关系(Relationship)是UML构成要素之间的联系,在UML中有四种基本的关系:“关联”、“依赖”、“泛化”和“实现”,这四种关系已经在前面详细阐述了,这里不再重复。,13,12.3.1 UML基本构成要素 3图(Diagram)是按照某种规则将UML事物以及它们之间的关系组织在一个平面内的图形化工具。在UML中共定义了两类八种图,如图12-17所示。,14,(1)类图:类图用来描述系统的静态结构。一个类图由一组类以及它们之间的关系构成。类描述事物以及事物的静态和动态性质,类的关系反映事
7、物之间的关系,主要有关联关系、泛化关系、依赖关系、实现关系等。如图12-18所示是图书管理系统的一个类图。,15,(2)对象图:对象图是类图的实例,它反映在系统中某一时刻由类图所规定的对象相互之间的关系。如图12-19所示是图书管理系统类图的一个对象图。,16,(3)用例图:用例图用来描述软件系统向一组使用者提供的一组相关的功能。在一个用例图中,有一个或多个使用者与一个或多个用例相互关联。如图12-20所示是图书管理系统用例图。,17,(4)顺序图:顺序图反映各对象之间的消息传送顺序,以描述对象相互之间交互的时间关系。如图12-21所示描述了一次图书外借登记过程。,18,(5)协作图:协作图反
8、映为完成一件工作所参与的对象,以及对象之间的消息联系。一般地,协作图与顺序图为同构图形,它们之间可以互相转换。上述图书外借等记过程采用协作图描述如图12-22所示。,19,(6)状态图:状态图描述对象在其生存周期中所具有的各种状态,以及根据事件激发各种状态变化的相互关系。如图12-23所示是反映图书的状态变化图。,20,(7)活动图:活动图用来描述事物发展变化的过程。活动图可以描述业务流程、工作流程、类中的操作流程等。如图12-24所示是反映图书外借登记的业务流程的活动图。,21,(8)构件图:构件可以是一段源程序代码、一个文本文件、一个二进制文件或一个可执行文件。构件图用来描述构成软件系统的
9、构件以及它们之间的相互依赖关系。如图12-25所示是一个构件图的例子。,22,(9)实施图:实施图也称部署图,它反映系统的物理节点,各节点之间的连接结构,以及构件在节点上的部署。如图12-26所示是一个图书管理系统的实施图的例子。,23,12.3.2 UML扩展机制 1构造型:用来扩展UML基本事物和关系,使其内涵更加丰富的一种扩展机制。如图12-27所示。,24,12.3.2 UML扩展机制 2标记值:扩展了UML构成要素的元素信息。如图12-28所示。,25,12.3.2 UML扩展机制 3约束:扩展了UML构成要素的语义,为其增加新的规则,或者修改现有规则。例如;对“货币”类给定约束“self=0.0”表示其不能为负数。,