软件工程理论与实践 课件 6面向对象方法学与UML_第1页
软件工程理论与实践 课件 6面向对象方法学与UML_第2页
软件工程理论与实践 课件 6面向对象方法学与UML_第3页
软件工程理论与实践 课件 6面向对象方法学与UML_第4页
软件工程理论与实践 课件 6面向对象方法学与UML_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

XXXXXX大学软件工程SOFTWARE

ENGINEERING教师:XXXXX2024教学目标:(1)理解面向对象方法的要素和优点;(2)掌握面向对象建模的基本概念、术语及其图形符号。第6章面向对象方法学与UML6.1面向对象方法概述1.面向对象方法的要素面向对象就是使用对象、类和继承机制,并且对象之间仅能通过传递消息实现彼此通信。面向对象方法有以下四个要素。(1)对象对象是系统中描述客观事物的一个实体,它是构成系统的一个基本单位,由一组属性和对这组属性进行操作的一组服务组成。面向对象方法认为客观世界是由各种对象组成的,任何事物都是对象,复杂对象由简单对象组成。(2)类类是具有相同属性和服务的一组对象的集合。类是一个抽象的概念,可以把所有对象划分成各种类,每个类都定义了一组数据和一组方法。其中,数据用于表示对象的静态属性,是对象的状态信息。方法是允许用于类上的操作。(3)继承按照基类与派生类的关系,把若干个对象类组成一个层次结构的系统。在层次结构中,下层的派生类具有和上层的基类相同的特性,称为继承。(4)消息消息是对象发出的服务请求。对象彼此之间仅能通过传递消息相互联系。对象的消息都被封装在该对象的类中,必须发送消息请求它执行某个操作,处理某个数据。2.面向对象方法的优点(1)符合人类的思维习惯。

(2)稳定性好。

(3)可复用性好。

(4)可维护性好。

6.2UML概述6.2.1UML的特点(1)统一标准。UML统一了面向对象建模的基本概念、语法以及图形符号,建立了便于软件开发交流的通用语言,已成为面向对象软件建模的标准语言。(2)面向对象。UML是一种面向对象的标准建模语言,模型元素的建立以对象为基础,与人类的思维模式相符,并且易学易用。(3)图形建模。UML提供了多种模型图,以图形的方式实现系统建模,建模过程清晰、直观,可用于复杂软件系统的建模。(4)独立于程序设计语言。UML是一种建模语言,整个建模过程与程序设计语言无关。UML的建模不依赖于任何程序设计语言。6.2.2UML的视图1.用例视图2.逻辑视图3.并发视图4.组件视图5.配置视图6.2.3UML的建模元素6.2.4UML模型1.用例模型2.静态模型3.动态模型4.实现模型6.3用例建模机制6.4静态建模机制6.4.1类图类图是与面向对象方法关系最为密切的一种UML图形,它的主体就是系统内部处理的事物。类图主要用于描述系统中所包含的类以及这些类相互之间的关系。当描述类之间关系时,常省略属性和方法,只保留类名。类图示例,教师类与教材类之间是关联关系;教材类依赖课程类。类图设计将在7.3.2中详细介绍。6.4.2对象图对象是类的实例。因此,对象图可以看作是类图的实例,帮助开发人员理解比较复杂的类图。类图与对象图之间的区别是对象图中对象的名字下面要加下划线。对象图示例,如图6-5所示,每个方框代表一个对象实例,每个对象实例采用“对象名:类名”的形式标识,并在标识的下面添加一条下划线。如果要表示出该对象实例在该时间点上的状态,可以通过“属性=值”的形式给出该对象当时的属性值。在对象图中,对象之间的有关系用一条直线来表示,关系的名称直接在直线上面标出。如果不需要区别同类型的对象,可以省略对象实例的名称,此类对象称为匿名对象。6.4.3包图一个系统往往由很多类组成,为了对类进行管理可以对类进行分组。在UML中,对类进行分组的单位就是包。包类似于文件系统中文件夹的概念。包图示例,包的图示符号由两个矩形组成,包的名字可以写在小的矩形内,也可以写在大的矩形内。包与包之间可以建立依赖、泛化等关系。6.5动态建模机制6.5.1顺序图顺序图又被称为序列图,主要反映用户、系统、对象之间的交互次序。顺序图的重点是显示对象之间发送消息的时间顺序。它也显示对象之间的交互,也就是在系统执行时某个指定时间点将发生的事情。顺序图示例,时间从上到下推移,顺序图显示对象之间随着时间的推移而交换的消息或函数。顺序图设计将在7.4.1中详细介绍。6.5.2通信图通信图又称为协作图,用于显示系统的动作协作,类似顺序图中的交互片段,但通信图也显示对象之间的关系。实际建模中,顺序图和通信图的选择需要根据项目实际需求而定。如果重在时间或顺序,那么选择顺序图;如果重在对象之间的关系,那么选择通信图。通信图示例,如图6-8所示,通信图中可以出现角色,用于指明谁是过程的发起者。消息的名称及其具体内容一般在关系连线上直接标出,并用箭头注明消息的方向。为了体现出消息之间存在的先后关系,在消息名称的前面加上序号。6.5.3状态机图状态机图用来描述对象对外部响应的历史状态序列,即描述对象所有可能的状态,以及哪些事件将导致状态的改变,包括对象在各个不同状态间的跳转,以及这些跳转的外部触发事件,即从状态到状态的控制流。状态机图示例。不是所有的类都需要画状态机图,有明确意义的状态、在不同状态下行为有所不同的类才需要画状态机图。6.5.4活动图活动图是状态机图的一种特殊情况。不需指明任何事件,只要动作被执行,活动图中的状态就自动开始转换。如果状态转换的触发事件是内部动作时,可用活动图描述;当状态转换的触发事件是外部事件时,常用状态机图来表示。活动图示例,在活动图中,用例和对象的行为中的各个活动之间通常具有时间顺序。每个活动用一个圆角矩形表示,判断点使用菱形框表示。活动图设计将在7.4.2中详细介绍。6.6实现建模机制6.6.1组件图组件图根据系统的组件显示系统代码的物理结构。组件可以是源代码组件、二进制组件或一个可执行的组件。组件图示例。根据组件图中显示的组件之间的依赖关系,可以很容易地分析出其中某个组件的变化将会对其他组件产生

温馨提示

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

评论

0/150

提交评论