《软件工程导论》PPT课件-第9章-面向对象的技术_第1页
《软件工程导论》PPT课件-第9章-面向对象的技术_第2页
《软件工程导论》PPT课件-第9章-面向对象的技术_第3页
《软件工程导论》PPT课件-第9章-面向对象的技术_第4页
《软件工程导论》PPT课件-第9章-面向对象的技术_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、软件工程导论 第9章 面向对象的技术 9.1 面向对象方法学 9.2 面向对象的实施步骤 9.3 面向对象的建模语言UML9.1 面向对象方法学 面向对象的开发方法是一种新的软件工程方法,其基本思想是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程更接近人类认识世界、解决问题的方法与过程。这种方法能够提供更加清晰的需求分析和设计,是指导软件开发活动的系统方法。 面向对象的开发方法贯穿了整个软件生命周期,其中面向对象的分析与设计又是面向对象开发的关键所在。(1)与人类习惯的思维方法一致传统的程序设计技术: 以算法为核心,数据和过程相分离。面向对象的软件技术: 以对象为核心。对象是封装了描述内

2、部状态表示静态属性的数据及这些对数据施加的操作。9.1.1 两种方法学的比较 (2)系统稳定性好传统的程序设计技术: 开发过程基于功能分析和功能分解,建立起来的软件结构紧密依赖系统功能,需求变化时引起软件结构的整体修改,因此软件系统不稳定。面向对象的软件技术: 以对象为核心构造软件系统。对系统功能需求变化时不会引起软件结构的整体变化,仅需做一些局部性修改,软件系统稳定性较好。9.1.1 两种方法学的比较 (3)可重用性好传统的程序设计技术: 具有功能内聚性的模块,且其完成一个且只完成一个相对独立的子功能,则该模块是理想的可重用模块。面向对象的软件技术: 对象具有自含性、封装性和信息隐藏机制,使

3、得对象内部与外界隔离,具有较强的独立性,对象是比较理想的模块和可重用的软件成分。9.1.1 两种方法学的比较 (4)较易开发大型软件产品 大型软件产品可分解成一系列相互独立的小产品来处理,降低了开发难度,同时开发管理变得很容易。(5)可维护性好 面向对象的软件稳定性比较好; 面向对象的软件比较容易修改; 面向对象的软件比较容易理解; 易于测试和调试。9.1.1 两种方法学的比较 对象(object):一个包含数据结构和施加其上的操作的封装体。面向对象的方法以对象作为最基本的元素,它是分析问题、解决问题的核心,是讨论面向对象方法的最基本、最重要的概念。类(class):对一组具有相同属性和运算的

4、对象的抽象。类是对象的模板。类具有类名、属性和操作。继承(Inheritance):是父类和子类之间共享数据结构和方法的机制,这是类之间的一种关系。继承又可以分为单重继承和多重继承。 9.1.2 面向对象的基本概念多态性(Polymorphism):是指相同的操作或函数、过程作用于不同的对象上并获得不同的结果。消息(message):是指对象之间在交互中所传送的通信信息。消息使对象之间互相联系,协同工作,实现系统的各种服务。 消息格式:接收消息的对象+消息名+若干变元9.1.2 面向对象的基本概念面向对象方法学=对象+类+继承+消息传递 面向对象既使用对象又使用类和继承等机制,而且对象之间仅能

5、通过消息传递实现彼此通信。 Booch方法:最先描述了面向对象的软件开发方法的基本问题,指出面向对象的软件分解更接近人们对客观事物的理解。 Coad方法:在对象、结构、属性和操作的认定方面提出了一套系统的原则,从需求角度进一步进行类和类层次结构的认定。 OMT方法:面向对象的建模和设计促进了对需求的理解,有利于开发更清晰、更容易维护的软件系统。 UML:融入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发全过程。 9.1.3 面向对象的开发方法 (1)面向对象分析 从问题陈述入手,分析和构造所关心的现实世界问题域的模型,并用相应的

6、符号系统表示。模型必须简洁、明确地抽象目标系统必须做的事,而不是如何做。 (2)面向对象设计 设计交互过程和用户接口、设计任务管理、设计全局资源、对象设计。(3)面向对象实现:C+、Java(4)面向对象测试 包括模型测试、类测试、交互测试、系统(子系统)测试、验收测试等。9.2 面向对象方法学的实施步骤 UML: Unified Modeling Language 统一建模语言1. 作用: 建立软件模型2. 建模语言: 提供统一的交流词汇和规则3. 可视化: 通过标准图符构成图形来描述模型。4. 建模语言而非编程语言5. 通用标准: 成为软件建模的标准语言,并且在其他领域也得到应用。 9.3

7、 面向对象的建模语言UML(1)统一标准 UML统一了Booch,OMT和OOSE等方法中的基本概念,是对象组织OMG的正式标准,并提供了标准的面向对象的模型元素的定义和表示。 (2)面向对象 采用符号进行各种方法的图形表示,也添加了一些新符号。(3)可视化、表示能力强 系统的逻辑模型或实现模型都能用UML可视化模型表示,系统描述能力强,模型蕴涵的信息丰富,可用于复杂软件系统的建模。 (4)独立于过程。UML是系统建模语言,独立于开发过程。(5)易掌握、易用。UML的概念明确,建模表示法简洁明了、图形结构清晰,易于掌握使用。9.3.1 UML的特点 UML建模语言的描述方式以标准的图形表示为主

8、,是由下列四部分组成的层次关系: - 视图(Views) - 图(Diagrams) - 模型元素(Model Elements) - 通用机制(General Mechanism) 9.3.2 UML的构成(1)视图9.3.2 UML的构成 UML的4+1视图设计视图(Design View) 实现视图(Implementaion View)过程视图(Process View) 配置视图(Deployment View) 用例视图Usecase View表示系统功能性需求用于描述系统设计特征、系统内部结构表示系统的实现特征表示系统内部的控制机制,并发特征用于描述系统的物理配置特征,系统的物理

9、架构(1)用例视图。从使用者的角度描述系统的外部特性及系统应具备的功能等。用例视图是其他视图的核心和基础,直接影响到其他视图的建立和描述。(2)设计视图。用于描述系统设计特征,系统内部的结构,包括结构模型视图和行为模型视图,前者描述系统的静态结构,包括类图、对象图,后者描述系统的动态行为,包括交互图、状态图和活动图。(3)过程视图。表示系统内部的控制机制,并发特征。常用类图描述过程结构,用交互图描述过程行为。(4)实现视图。表示系统的实现特征,常用构件图表示,由一些独立的构件(文件)构成,描述了系统的软件特性。 (5)配置视图。用于描述系统的物理配置特征,系统的物理架构。另外,根据系统的应用领

10、域和特性,还可以建立其他视图。9.3.2 UML的构成(2)图 UML共定义了9 种图: 用例图 状态图 类图 活动图 对象图 构件图 顺序图 部署图 协作图9.3.2 UML的构成在UML建模语言中又把这9种图分为5类:(1)用例图(Use Case Diagram) 从用户角度描述系统应具备的功能,并指出各功能的操作者。(2)静态图(Static Diagram) 表示系统的静态结构,包括类图、对象图、包图。(3)行为图(Behavior Diagram) 描述系统的动态模型和组成对象间的交互关系,包括状态图、活动图。(4)交互图(Interactive Diagram) 描述对象间的交互

11、关系,包括顺序图、协作图。(5)实现图(Implementation Diagram) 用于描述系统的物理实现和物理配置,包括构件图和部件图。9.3.2 UML的构成(3)模型元素 模型元素代表面向对象中的类、对象、关系和消息等概念,是构成图的最基本的元素、是UML建模的最基本的成分。(4)通用机制 用于表示其他信息,如注释、模型元素的语义等。另外,为了适应用户的需求,它还提供了扩展机制,包括构造型、标记值和约束等。使用UML语言能够适应一个特殊的方法(或过程),或扩充至一个组织或用户。9.3.2 UML的构成 模型元素是可以在图中使用的概念、对象等的统称,又称为通用模型元素。是UML构建各种

12、模型的基本单位。9.3.3 UML的通用模型元素 常用的模型元素 模型元素与模型元素之间的连接关系也是模型元素。常见的连接关系有关联、泛化、依赖、聚合等,其中聚合是关联的一种特殊形式。 9.3.3 UML的通用模型元素 连接关系的模型元素 关联:是一种最常见的连接关系,用于连接模型元素或链接实例。依赖:表示一个元素以某种方式依赖于另一个元素。依赖关系描述的是两个模型元素之间的语义上的连接关系,其中一个模型元素是独立的,另一个模型元素是非独立的(或依赖的),它依赖于独立的模型元素。 泛化:表示一般与特殊的关系,即“一般”元素是“特殊”关系的泛化。常用于描述父类与子类之间的继承关系。聚合:表示整体与部分的关系,即由部分元素构成整体。 细化:是依赖关系的一个变体,描述两个不同语义层次上的元素之间

温馨提示

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

评论

0/150

提交评论