第1页:第9章面向对象的技术 本节目录
- 第9章面向对象的技术
- 9.1面向对象方法学
- 9.2面向对象的实施步骤
- 9.3面向对象的建模语言—UML
第2页:面向对象方法学
9.1面向对象方法学面向对象的开发方法是一种新的软件工程方法,其基本思想是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程更接近人类认识世界、解决问题的方法与过程。
这种方法能够提供更加清晰的需求分析和设计,是指导软件开发活动的系统方法。
面向对象的开发方法贯穿了整个软件生命周期,其中面向对象的分析与设计又是面向对象开发的关键所在。
第3页:两种方法学的比较
(1)与人类习惯的思维方法一致传统的程序设计技术:以算法为核心,数据和过程相分离。
面向对象的软件技术:以对象为核心。
对象是封装了描述内部状态表示静态属性的数据及这些对数据施加的操作。
9.1.1两种方法学的比较
第4页:系统稳定性好传统的程序设计技术
(2)系统稳定性好传统的程序设计技术:开发过程基于功能分析和功能分解,建立起来的软件结构紧密依赖系统功能,需求变化时引起软件结构的整体修改,因此软件系统不稳定。
面向对象的软件技术:以对象为核心构造软件系统。
对系统功能需求变化时不会引起软件结构的整体变化,仅需做一些局部性修改,软件系统稳定性较好。
9.1.1两种方法学的比较
第5页:可重用性好传统的程序设计技术
(3)可重用性好传统的程序设计技术:具有功能内聚性的模块,且其完成一个且只完成一个相对独立的子功能,则该模块是理想的可重用模块。
面向对象的软件技术:对象具有自含性、封装性和信息隐藏机制,使得对象内部与外界隔离,具有较强的独立性,对象是比较理想的模块和可重用的软件成分。
9.1.1两种方法学的比较
第6页:较易开发大型软件产品大型软件产品可分
- (4)较易开发大型软件产品大型软件产品可分解成一系列相互独立的小产品来处理,降低了开发难度,同时开发管理变得很容易。
- (5)可维护性好
- 面向对象的软件稳定性比较好;
- 面向对象的软件比较容易修改;
- 面向对象的软件比较容易理解;
- 易于测试和调试。9.1.1两种方法学的比较
第7页:面向对象的基本概念
- 对象(object):一个包含数据结构和施加其上的操作的封装体。面向对象的方法以对象作为最基本的元素,它是分析问题、解决问题的核心,是讨论面向对象方法的最基本、最重要的概念。
- 类(class):对一组具有相同属性和运算的对象的抽象。类是对象的模板。类具有类名、属性和操作。
- 继承(Inheritance):是父类和子类之间共享数据结构和方法的机制,这是类之间的一种关系。继承又可以分为单重继承和多重继承。9.1.2面向对象的基本概念
第8页:多态性(Polymorphism)
- 多态性(Polymorphism):是指相同的操作或函数、过程作用于不同的对象上并获得不同的结果。
- 消息(message):是指对象之间在交互中所传送的通信信息。消息使对象之间互相联系,协同工作,实现系统的各种服务。消息格式:接收消息的对象+消息名+若干变元9.1.2面向对象的基本概念面向对象方法学=对象+类+继承+消息传递面向对象既使用对象又使用类和继承等机制,而且对象之间仅能通过消息传递实现彼此通信。
第9页:面向对象的开发(方法)
- Booch方法:最先描述了面向对象的软件开发方法的基本问题,指出面向对象的软件分解更接近人们对客观事物的理解。
- Coad方法:在对象、结构、属性和操作的认定方面提出了一套系统的原则,从需求角度进一步进行类和类层次结构的认定。
- OMT方法:面向对象的建模和设计促进了对需求的理解,有利于开发更清晰、更容易维护的软件系统。
- UML:融入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发全过程。9.1.3面向对象的开发方法
第10页:面向对象方法学的实施(步骤)
- (1)面向对象分析从问题陈述入手,分析和构造所关心的现实世界问题域的模型,并用相应的符号系统表示。模型必须简洁、明确地抽象目标系统必须做的事,而不是如何做。
- (2)面向对象设计设计交互过程和用户接口、设计任务管理、设计全局资源、对象设计。
- (3)面向对象实现:C++、Java
- (4)面向对象测试包括模型测试、类测试、交互测试、系统(子系统)测试、验收测试等。9.2面向对象方法学的实施步骤
第11页:9.3 面向对象的建模语言UML
UML: Unified Modeling Language统一建模语言1.作用:建立软件模型2.建模语言:提供统一的交流词汇和规则3.可视化:通过标准图符构成图形来描述模型。
4.建模语言而非编程语言5.通用标准:成为软件建模的标准语言,并且在其他领域也得到应用。
9.3面向对象的建模语言—UML
第12页:(1)统一标准UML统一了Booch
- (1)统一标准UML统一了Booch,OMT和OOSE等方法中的基本概念,是对象组织OMG的正式标准,并提供了标准的面向对象的模型元素的定义和表示。
- (2)面向对象采用符号进行各种方法的图形表示,也添加了一些新符号。
- (3)可视化、表示能力强系统的逻辑模型或实现模型都能用UML可视化模型表示,系统描述能力强,模型蕴涵的信息丰富,可用于复杂软件系统的建模。
- (4)独立于过程。UML是系统建模语言,独立于开发过程。
- (5)易掌握、易用。UML的概念明确,建模表示法简洁明了、图形结构清晰,易于掌握使用。9.3.1 UML的特点
第13页:UML建模语言的描述方式以标准的图形表示
UML建模语言的描述方式以标准的图形表示为主,是由下列四部分组成的层次关系:-视图(Views)-图(Diagrams)-模型元素(Model Elements)-通用机制(General Mechanism)9.3.2UML的构成
第14页:(1)视图9.3.2UML的构成UML的
(1)视图9.3.2UML的构成UML的4+1视图设计视图(Design View)实现视图(Implementaion View)过程视图(Process View)配置视图(Deployment View)用例视图Usecase View表示系统功能性需求用于描述系统设计特征、系统内部结构表示系统的实现特征表示系统内部的控制机制,并发特征用于描述系统的物理配置特征,系统的物理架构
第15页:(1)用例视图
- (1)用例视图。从使用者的角度描述系统的外部特性及系统应具备的功能等。用例视图是其他视图的核心和基础,直接影响到其他视图的建立和描述。
- (2)设计视图。用于描述系统设计特征,系统内部的结构,包括结构模型视图和行为模型视图,前者描述系统的静态结构,包括类图、对象图,后者描述系统的动态行为,包括交互图、状态图和活动图。
- (3)过程视图。表示系统内部的控制机制,并发特征。常用类图描述过程结构,用交互图描述过程行为。
- (4)实现视图。表示系统的实现特征,常用构件图表示,由一些独立的构件(文件)构成,描述了系统的软件特性。
- (5)配置视图。用于描述系统的物理配置特征,系统的物理架构。另外,根据系统的应用领域和特性,还可以建立其他视图。9.3.2UML的构成
第16页:(2)图UML共定义了9种图:●用例图●
- (2)图UML共定义了9种图
- ●用例图●状态图●类图●活动图●对象图●构件图●顺序图●部署图●协作图9.3.2UML的构成
第17页:在UML建模语言中又把这9种图分为5类
- 在UML建模语言中又把这9种图分为5类:
- (1)用例图(Use Case Diagram)从用户角度描述系统应具备的功能,并指出各功能的操作者。
- (2)静态图(Static Diagram)表示系统的静态结构,包括类图、对象图、包图。
- (3)行为图(Behavior Diagram)描述系统的动态模型和组成对象间的交互关系,包括状态图、活动图。
- (4)交互图(Interactive Diagram)描述对象间的交互关系,包括顺序图、协作图。
- (5)实现图(Implementation Diagram)用于描述系统的物理实现和物理配置,包括构件图和部件图。9.3.2UML的构成
第18页:(3)模型元素模型元素代表面向对象中的类
- (3)模型元素模型元素代表面向对象中的类、对象、关系和消息等概念,是构成图的最基本的元素、是UML建模的最基本的成分。
- (4)通用机制用于表示其他信息,如注释、模型元素的语义等。另外,为了适应用户的需求,它还提供了扩展机制,包括构造型、标记值和约束等。使用UML语言能够适应一个特殊的方法(或过程),或扩充至一个组织或用户。9.3.2UML的构成
第19页:模型元素是可以在图中使用的概念
模型元素是可以在图中使用的概念、对象等的统称,又称为通用模型元素。
是UML构建各种模型的基本单位。
9.3.3UML的通用模型元素常用的模型元素
第20页:模型元素与模型元素之间的连接关系也是模型
模型元素与模型元素之间的连接关系也是模型元素。
常见的连接关系有关联、泛化、依赖、聚合等,其中聚合是关联的一种特殊形式。
9.3.3UML的通用模型元素连接关系的模型元素
第21页:①关联:是一种最常见的连接关系
- ①关联:是一种最常见的连接关系,用于连接模型元素或链接实例。
- ②依赖:表示一个元素以某种方式依赖于另一个元素。依赖关系描述的是两个模型元素之间的语义上的连接关系,其中一个模型元素是独立的,另一个模型元素是非独立的(或依赖的),它依赖于独立的模型元素。
- ③泛化:表示一般与特殊的关系,即“一般”元素是“特殊”关系的泛化。常用于描述父类与子类之间的继承关系。
- ④聚合:表示整体与部分的关系,即由部分元素构成整体。
- ⑤细化:是依赖关系的一个变体,描述两个不同语义层次上的元素之间的关系。9.3.3UML的通用模型元素
第22页:通用模型元素分为以下两类
- 通用模型元素分为以下两类:
- (1)基元素基元素指由UML定义的模型元素,如类、结点、构件、注释、关联、依赖和泛化等。
- (2)构造型元素在基元素的基础上所构造的新的模型元素,通常是由基元素增加了新的定义而构成的,如扩展基元素的语义(不能扩展语法结构)。也允许用户自定义。构造型元素用括在双尖括号<< >>中的字符串表示。9.3.3UML的通用模型元素
第23页:本章结束页
The End