UML面向对象概述

合集下载

面向对象的概念与UML介绍

面向对象的概念与UML介绍

行为图
状态图 活动图
描述一类对象可能出现的状态及事件发生时状态的转移条件。一般状态图是对类图 的补充 描述为满足用例要求所要进行的活动以及活动活动时间的约束关系。使用活动图可 以很方便地表示并行活动
交互图
顺序图 协作图
描述对象之间的动态合作关系,强调对象之间消息发送的时间顺序,也 显示对象之间的交互过程 与顺序图是等价,但着重描述的是对象间的协作关系 描述代码部件的物理结构几个部件之间的依赖关系。一个部件可能是资 源代码、二进制代码或可执行部件。包括关于逻辑类或实现类的一些信 息,有助于分析和理解部件之间的相互影响程度 定义系统种软件的物理体系结构,可以描述实际的计算机、设备(用节 点表示)及它们之间的关系,也可描述部件之间按的依赖性以及连接的 类型。再借点内部放置可执行部件以对象,描述节点与可执行软件单元 的对应关系 制作人:赵飞
• Uml
是一种可视化的建模语言,它能够让系统构造者用标准的,易于理 解的方式建立起能够表达他们设计思想系统蓝图,并且提供一种机制,以便 于不同的人之间可以有效地共享和交流设计成果。
• Uml定义
分为两个部分
1.uml语义: 描述基于UML的精准元模型定义。元模型为UML的所有 元素在语法和语义上提供简单、 一致、通用的定义性说明,使开发者在语
小小
名名 = “小小张” 年年 = 22
小小小小小PC: 计计计

UML第1章 面向对象方法概论

UML第1章 面向对象方法概论

(2)事物的静态特征用对象的属性表示,事物 的动态特征用对象的服务表示。
(3)对象的属性与服务结合为一体,成为一个 独立的实体,对外屏蔽其内部细节。 (4)对事物进行分类。把具有相同属性和服务 的对象归为一类,类是这些对象的抽象描述, 每个对象是它的类的一个实例。
(5)通过在不同程度上运用抽象的原则,可以 得到较一般的类和较特殊的类。 (6)复杂的对象可以用简单的对象作为其构成 部分。
• 抽象是在研究现实世界事物的过程中,忽略问 题中与当前目标无关的部分,以便更充分地集 中于与当前目标有关的部分。 • 封装将该数据抽象类型及其操作紧密结合在一 起,成为一个整体,从而使每个模块的界面尽 量少地暴露它的内部工作。
1.1.1
面向对象的思维
• 要真正获得高效的软件产品,首先是概念问题, 而不是实现问题。在实现期间企图修改设计的 缺陷,要比早期发现设计的缺陷进行修改付出 更高的代价。 • 面向对象开发是一个独立于编程语言的概念化 过程,直至最后阶段。面向对象开发本质上是 一种新的思维方式,而不是一种编程技术。
1.3
面向对象开发的概念
面向对象开发是现实世界中以抽象为基础的 软件思维的一种崭新方式。面向对象开发的本质 是应用领域概念的鉴别和组织,而不是它们在一 种程序设计语言中的最终表示。
1.3.1
面向对象方法学
• • • •
分析 系统设计 对象设计 实现

面向对象技术与UML

面向对象技术与UML

PART 01
面向对象编程基础
什么是面向对象编程
面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式, 它以对象为基础来构建软件应用程序。在OOP中,对象是数据和与之相关的操作的 封装。
通过将数据和操作封装在对象中,可以更好地组织和管理代码,提高代码的可重 用性和可维护性。
2
UML的作用是提供一种通用的、可共享的建模语 言,以便开发人员能够更好地理解和管理复杂的 软件系统。
3
UML通过统一的符号和工具,简化了软件系统的 设计和开发过程,提高了开发效率和软件质量。
UML的主要组成部分
时序图(Sequence Diagram): 用于表示对象之间的交互和消息 传递顺序。
案例二:复杂类的UML表示
定义一个复杂的类"Employee",包含属性"name"、"age"、 "department"和"position",以及方法"work"、"getSalary"和 "setSalary"。
使用UML类图表示该类,并使用聚合关系表示Employee类与 Department类之间的关系。
示例
假设有一个“动物”类,我们可以创建一个“狗”类来继承“动物”类,并添加特定的狗的行为。这样 ,如果需要添加其他动物类型,我们可以轻松地创建新的子类,而不需要修改“动物”类的代码。

面向对象UML

面向对象UML

A
细化
B
注释
注释用于对UML语言的元素或实体进行说明、解释和描述。通 常用自然语言进行注释。
注释由注释体和注释连接组成。注释体的图符是一个矩形,其 右上角翻下,矩形中标注注释的内容。注释连接用虚线表示,它把 注释体与被注释的元素连接起来。 注释的表示如图。在各种模型图中,凡是需要注释的元素或实 体均可加注释。
对泛化的约束 完整、不完整、不相交和覆盖是四种应用于泛化的约束,显示在大括号 里。若有多个约束,用逗号隔开。如果没有共享,则用一条虚线通过所有继 承线,并在虚线的旁边显示约束, 如图所示:
Class A {constraint 1,constraint 2} Class B Class C Class D Class B Class A {constraint 1,constraint 2} Class C Class D
Polygon 1 4..* {ordered} 保险合同
0..*
{ordered}
1..*
个人
Point
约束
如果一条约束涉及同一种类的多个元素,则要用虚线把所有受约束 的元素框起来,并把该约束显示在旁边。如果在某个图中都要使用某个 约束,可以在工具中声明该约束,也可以在图中边定义边使用。
约束
约束的类型:
售货 顾客 《使用》 供货 供货人 《使用》 《使用》 取货款 《使用》 打开机器 关闭机器 打开机器 关闭机器 自动售货机系统 《扩展》 售散装 饮料

uml语言支持面向对象的主要概念,并与具体的开发过程相关。

uml语言支持面向对象的主要概念,并与具体的开发过程相关。

uml语言支持面向对象的主要概念,并与具体

的开发过程相关。

面向对象编程(Object-Oriented Programming,OOP)是一种常

见的编程范式,利用它可以提高代码的可维护性和复用性。在OOP中,UML语言是一种通用的建模语言,支持面向对象开发过程的主要概念。

一、UML语言基础

UML是一种建模语言,旨在帮助开发人员更好地理解和设计软件

系统。UML使用图形标记(如图表、箭头、矩形、椭圆等)来表示各种对象、过程、关系和操作,这些都是面向对象编程中的概念。

UML语言主要包括以下四种图:

1.类图(Class Diagram):表示对象类及其关系。

2.时序图(Sequence Diagram):表示对象之间的时序关系。

3.活动图(Activity Diagram):表示一个过程或系统的活动流程。

4.用例图(Use Case Diagram):表示一个系统的用例和用户行为。

二、主要面向对象概念

1.类和对象——类是一种抽象的概念,表示一类具有相同性质和

行为的对象的集合。而对象则是类中的具体实例。在UML类图中,类

通常用矩形表示,对象则用实例名称表示。

2.继承——继承是一种重要的概念,表示一个类可以从另一个类

继承属性和方法。在UML中,继承可以用实线箭头表示。

3.多态——多态是一种行为,表示同一个方法可以根据对象的不

同而表现出不同的行为。在UML类图中,多态可以用带箭头的虚线表示。

4.封装——封装是一种概念,表示将类的属性和方法保护起来,

只允许通过接口进行访问。在UML类图中,封装可以用带有"+"或"-"

面向对象设计与UML建模

面向对象设计与UML建模

面向对象设计与UML建模面向对象设计是一种软件开发方法,它将现实世界的实体抽象为对象,并以对象之间的相互关系来组织和描述系统的行为。而UML(统一建模语言)是一种用于可视化、规范化软件系统设计的标准建模语言。本文将从面向对象设计的概念入手,介绍面向对象设计与UML建模的关系及应用。

一、面向对象设计的概念

面向对象设计(Object-oriented Design)是一种以对象为中心的软件开发方法。在面向对象设计中,将系统中的各个对象抽象出来,通过定义对象之间的属性和方法,以及对象之间的关系,来描述系统的功能和行为。

面向对象设计的核心思想是将现实世界的实体抽象为对象,对于每个对象,描述其属性和方法,并通过对象之间的交互来实现系统的功能。这样的设计方式使得系统更加模块化,易于扩展和维护。

二、UML建模的概念

UML(Unified Modeling Language)是一种用于规范化、可视化软件系统设计的标准建模语言。它提供了一套丰富的符号和约定,用于描述系统的结构、行为和交互。

UML建模是面向对象设计的重要工具之一,它能够帮助开发人员更好地理解和设计系统。通过使用UML,开发人员可以绘制出类图、时序图、用例图等各种类型的图表,来描述系统的不同方面和视角。

三、面向对象设计与UML建模的关系

面向对象设计与UML建模是紧密相关的。面向对象设计将系统抽

象为对象,定义了对象的属性和方法,以及对象之间的关系。而UML

建模则是通过各种类型的图表来表示和描述这些对象、属性、方法和

关系。

具体来说,面向对象设计中的类可以通过UML的类图来表示。类

面向对象的概念与UML

面向对象的概念与UML
9
quadrilateral1
(46, 37) (50, 45) (60, 35) (56, 10)
draw move(x, y) contains(aPoint)
quadrilateral2
(35, 60) (35, 85) (50, 85) (50, 60)
draw move(x, y) contains(aPoint)
❖ 它可用于软件生命周期各个过程,并适用于各种 不同的实现技术。
26
UML 发展历史
几十种面向对象的开发方法中最著名的3种方法是 OMT (Rumbaugh)、Booch 和 OOSE(Jacobson)。 OMT的强项在分析,而弱项在设计; Booch 91的强项在设计,而弱项在分析;
OOSE的强项在行为分析,而弱项在其他领域。 96年这三位杰出的专家合作被称为“ 三友(Three
第三章 面向对象 的概念与UML
1
第三章 面向对象方法与UML
3.1 面向对象系统的概念 3.2 统一建模语言UML概述 3.3 UML的模型元素 3.4 UML的图 3.5 UML的元模型结构
2
3.1 面向对象系统的概念
❖ 客观世界中的应用问题面对的主体都是物理的或 概念的实体。
❖ 从这些实体出发,分析实体的作用、责任以及它 们之间协作,从而找出问题的解,是很自然的。
对象 = 对象名+数据(属性)+操作(行为、服 务)

UML及面向对象设计思想

UML及面向对象设计思想

类图

类是面向对象技术的基础,是面向对象程序设计的基本单元。类图描述软件系统的静态结构。类图不仅定义了系统中的类,表示了类与类之间的关

系(关联、依赖、继承),而且也描述了类的内部结构(类的属性和操作)。

类图描述的是系统的一种稳定的静态关系,在系统的整个生命期内都是有效的。

类可以进一步划分为实体类、边界类和控制类。

⏹实体类保存系统中的信息。一个实体类的对象对应关系数据库中

的一条记录。

⏹边界类是系统与用户的接口。用户通过边界类与系统进行交互。

⏹控制类协调和控制其他类的对象以实现用例规定的行为,它封装

了实现用例行为所需要的事件流。

在系统分析阶段,主要考虑的是实体类。在设计和实现阶段,除了对实体类进一步细化之外,还要着重考虑边界类和控制类。

UML中类的基本表示方法:

类的封装性及其表示

封装性表现为类成员的可见性。可见性分为公开的(public)、受保护的(protected)和私有的(private)三种。

在UML中分别用“+”,“#”和“-”表示。“+”表示完全公开;“#”表示对同一个包中的类公开,对不同包中的类隐藏;“-”表示对外完全隐藏,仅仅对定义该成员的类的内部可见。

可见性也被分为:公开的,受保护的,默认的,私有的四类。其中“受保护的”对同一个包的其它类及不在同一个包的子类可见;“默认的”对同一个包的其它类可见。

类之间的关系表示

类之间的关系可以分为继承和关联,关联可以进一步分为组合、聚集和依赖。类之间关联关系的表示

关联用于泛指两个类之间概念上的联系。例如公司类和雇员类之间就存在联系,雇员为公司工作,公司雇佣雇员。

面向对象分析与UML

面向对象分析与UML

面向对象分析设计与建模什么是面向对象程序设计(OOP)?面向对象=对象+类+继承+通信什么是建模(Modeling) 模型的实质:对现实的简化。“一图胜过千言万语”面向对象分析设计(OOAD) 与建模的关系依照用户所理解的真实世界中的对象和概念,到软件的关系什么是建模语言?提供从各个方面描述软件系统的概念和符号,1996发布的UML0.9一直被广泛使用UML视图的用途,有哪些视图?从多个不同的方面来描述的,分别对应UML的几种视图:用例视图--从使用者角度描述系统功能逻辑视图—描述系统内部如何实现使用者:主要是设计人员和开发人员。 组件视图—描述系统有哪些组件/模块构成使用者:主要是开发人员。 并发视图—描述系统内部的通信与并发问题使用者:主要是开发人员和系统集成人员。 配置视图—描述系统软硬件的配置与位置关系使用者:开发人员、系统集成人员和测试人员UML图有哪些?用例图—描述系统的参与者与用例之间的关系类图—描述系统中的概念及它们之间的关系对象图—描述系统中实例及它们之间关系状态图—描述系统中对象所具备的状态,及触发状态改变的事件时序图—描述对象之间发送消息的时间顺序协作图—描述对象之间协作关系活动图—描述执行过程中涉及的活动及状态变化组件图—描述系统组件之间的关系配置图—描述系统的硬件及软件的物理结构模型元素事物关系通用机制

uml语言支持面向对象的主要概念,并与具体的开发过程相关。

uml语言支持面向对象的主要概念,并与具体的开发过程相关。

uml语言支持面向对象的主要概念,并与具体的开发过程相关

Unified Modeling Language(UML)是一种用于面向对象分析和设计的图形化建模语言。UML 支持面向对象的主要概念,并且与软件开发过程密切相关。以下是UML 中与面向对象和软件开发过程相关的主要概念:

1. 类与对象:在UML 中,类表示具有相似属性和行为的对象的集合。对象是类的实例。类图是用于表示类、对象及它们之间关系的图形表示法。

2. 封装:封装是面向对象编程的基本概念之一,它通过将数据和操作封装在类中来隐藏对象的内部细节。在UML 类图中,可以使用符号来表示类的属性和方法,并指定它们的可见性(public、private、protected 等)。

3. 继承:继承是通过子类(派生类)从父类(基类)继承属性和方法的机制。在UML 类图中,继承关系可以通过箭头表示。

4. 多态:多态性允许使用同一接口(方法)来处理不同的数据类型。在UML 中,多态性通常通过在类图中显示接口、抽象类和实现类来表示。

5. 关联与关系:关联表示类之间的关系。在UML 类图中,可以使用直线和箭头来表示类之间的关联关系。关联关系可以是单向或双向,也可以具有角色、多重性等属性。

6. 依赖关系:依赖表示一个类使用另一个类的服务。在UML 中,依赖关系用虚线表示。

7. 用例图:用例图用于表示系统与外部实体(称为参与者)之间的交互。用例图中包含用例、参与者以及它们之间的关系。

8. 时序图:时序图描述了对象之间消息的交互顺序。它显示了对象之间的时序关系,有助于理解系统中消息的传递流程。

面向对象与UML

面向对象与UML

47
消息
同步消息,描述嵌套的控制流
异步消息,描述实时系统中的并发行为
简单消息,描述简单的控制流,不考虑细节
48
状态图State Diagram
状态:状态名,[状态变量(属性值)],[活劢(事件 名 参数/劢作)] 状态转移:事件 [守卫条件] / 劢作 劢作实例
在底楼 到达 向底楼移动 向下移动 到达 下楼 上楼 向上移动
http://www. umlchina.com http://www.uml.com.cn
16
UML的发展历史
UML 2.0
UML 1.4
UML 1.3
´97.12 OMG Standard
UML 1.1
工业化 标准 集成
´96.12
UML 1.0
UML Partnres
向上
96.1 到 96.10 95年
类与对象的关系
抽象与具体的关系 组成类的每个对象都是该类的实例 实例是类的具体事物 类是各个实例的综合抽象
6
面向对象的基本特征
面向对象的基本特征
抽象
在某个重要的或想关注的方面来表示某个物体或概念 忽略主题中与当前目标无关的方面
封装
把操作和数据包围起来,对数据的访问只通过已定义的接 口来完成
打印机
52
时序图与协作图的异同

uml 基础教程 第一章--uml与面向对象

uml 基础教程 第一章--uml与面向对象
形成一个不可分割的整体,对象的私有属性只能 由对象的行为来修改和读取。
(2)尽可能隐藏对象的内部细节,与外界的 联系只能通过外部接口来实现。
2020/6/13
在讨论封装这个主题时,还牵扯到另一个相关 概念。封装意味着对象对其他对象和外部世界隐藏 了自己要做什么,因此它也被称为信息隐藏。
但是对象总是要给外部世界提供一个“接口”, 用来初始化这些操作。例如,电视机上一般都有一 组按钮或者提供带有按钮的遥控器。电视机的按钮 的按键称为接口。
2020/6/13
1.2 UML简介
1.2.1 对系统建模的必要性
UML具体有哪些作用:
• (1)对于软件系统用户,软件的开发模型向他们 描述了软件开发者对于软件系统需求的理解。
• (2)对于软件开发团队,软件的对象模型有助于 帮助他们对软件的需求以及系统的架构和功能进行 沟通。
• (3)对于软件的维护和技术支持者,在软件系统 开始运行后的相当长的一段时间内,软件的对象模 型能够帮助他们理解程序的架构和功能,迅速对软 件所出现的问题进行修复。
应的反应。事件的集合通常是固定的,用户不 能随便定义新的事件。例如,用鼠标左键单击 对象时发生的Click事件和界面被加载到内存时 发生的Load事件。
2020/6/13
四、面向过程 • 面向过程的结构化程序设计方法把相互依赖的
数据和对数据的操作相互分离,这种实质上的

第4章 面向对象与UML

第4章 面向对象与UML

2.建立用例图:
保险商务系统 签保险单
销售统计 客户 客户统计
保险销售员
图3.27 保险商务系统的用例图
3. 用例之间的关系 (1)扩展关系(extend) 描述一个用例在“基本用例”的基础上,扩 展了“基本用例”的部分功能。用(虚线)箭头上 标识“《extend》” 来表示,箭头指向被扩展的
用例。如“网上支付”用例 扩展了“支付”用
例。
《extend》
支付
网上支付
(2)包含关系( include,又称使用关系) 描述一个基本用例利用另一个用例完成某个 过程。用 (虚线)箭头上标识“《include》” 来表 示,箭头指向被包含的用例。如“订购”用例 包含了“查询”用例。包含关系通常用在:几
个用例有共同的子功能,则把该子功能独立出
百度文库
4.2.1 UML的组成
1.UML的模型元素
UML定义了两类模型元素:一类用于表
示模型中的某个概念(实体),如类、
对象、构件、用例等;另一类用于表示
模型元素之间相互连接的关系,如关联、
泛化、依赖、聚集 等。
2.UML的元模型结构(略)
3. 图和视图 (1) 图(Diagram ): UML提供了两大类的 图—静态图和动态图,共计9种不同的图。 ① 静态图(Static Diagram ) :包括用例 图、类图、对象图、构件图和部署图。 ② 动态图(Dynamic Diagram ) :包括 状态图、时序图、协作图和活动图。 (2) 视图(View) :包括用例视图、逻辑视图、 并发视图、构件视图和部署试图。

uml语言支持面向对象的主要概念

uml语言支持面向对象的主要概念

uml语言支持面向对象的主要概念

UML语言支持面向对象的主要概念及相关内容

1. 什么是UML语言?

UML(Unified Modeling Language)是一种用于面向对象软件开发的标准建模语言。它是一种图形化的方式,用来描述和设计软件系统的结构、行为和交互。UML提供了一套统一的符号和语法,使开发人员能够更好地理解、设计和沟通软件系统。

2. 面向对象的主要概念

类(Class)

•类是面向对象程序设计的基本概念之一。

•类是对象的抽象模板,描述了具有相同属性和行为的对象的共同特征。

•类具有属性(成员变量)和方法(成员函数),属性描述对象的特征,方法描述对象的行为。

对象(Object)

•对象是类的实例化,是现实世界中具体个体的抽象。

•对象具有唯一标识、状态和行为。

•对象的状态由属性值决定,对象的行为由方法实现。

继承(Inheritance)

•继承是面向对象编程的重要特性之一。

•继承允许一个类继承另一个类的属性和方法,以便在不重复编写代码的情况下扩展和修改类的功能。

•继承创建了类之间的父子关系,可以通过继承实现抽象和模块化。多态(Polymorphism)

•多态是面向对象编程的另一个重要特性。

•多态允许以父类的数据类型来引用子类的对象,提供了动态绑定和运行时多态的能力。

•多态可以增加程序的灵活性和可扩展性,使代码更易于维护和理解。

封装(Encapsulation)

•封装是将数据和方法组合到一个单元中的机制。

•封装隐藏了对象的内部细节,只对外提供访问和操作接口,通过限制直接访问保护了数据的完整性。

第1章基于面向对象的UMLppt课件全

第1章基于面向对象的UMLppt课件全

用面向对象思想建立模型
瀑布模型 瀑布模型也被称为生存周期模型,其核心思想是按照相应的工序将问题进行简化,将系统功能的实现与系统的设计工作分开,便于项目之间的分工与协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。瀑布模型将软件生命周期划分为软件计划、需求分析和定义、软件设计、软件实现、软件测试、软件运行和维护这6个阶段,并且规定了它们自上而下的次序,如同瀑布一样下落。每一个阶段都是依次衔接的。
面向对象基本概念
2. 对象 对象(object)是面向对象(Object-Oriented,OO)系统的基本构造块,是一些相关的变量和方法的软件集。 可以利用对象来代表现实世界中的对象:可用一个飞行试驾程序来代表现实世界中的正在飞行的飞机,或者用机床数控程序来代表现实世界中运行的机床。 同样可以使用对象来定义抽象的概念,比如,点击按钮事件就是一个用在GUI窗口系统的公共对象,它可以代表用户点击程序界面中一个确定按钮动作。
UML概述
UML(Unified Modeling Language)的中文名称为“统一建模语言”,它是用来对软件密集系统进行可视化建模的一种语言;也是为面向对象开发系统的产品进行说明、可视化、构造和编制文档的一种标准语言。 UML拥有足够的表达能力可以处理现代软件开发中出现的所有概念。 UML是一个通用语言,不仅仅和一种通用程序设计语言一样,它也是一个庞大的标准符号体系,提供了多种的模型。

第1章 UML与面向对象概述

第1章 UML与面向对象概述

学生按小组完成项目设计,并以软件验收书面报
告的形式上交。
UML建模语言
教科书: 《UML面向对象设计与分析基础教程》,
牛丽平等编著 ,清华大学出版社 2007
UML建模语言
第1章 UML与面向对象
本章主要介绍什么是面向对象的分析方法 和设计方法,面向对象分析的三层设计; 然后介绍面向对象分析的工具和方法-UML, 以及UML的主要构成 Coad和Yourdon: 面向对象=对象+类+继承+通信
UML建模语言
1.1 面向对象开发 1.1.1 不同的分析与设计方法
2.结构化方法: 结构化设计与功能分解法基本相同,基于模块的概念建立设计模型, 分为概要设计和详细设计。 概要设计:确定系统中包含哪些模块以及模块之间的调用关系, 得到模块结构图(MSD)。 详细设计:描述每个模块内部的数据结构和操作流程。 结构化方法的优缺点: 优点: 强调研究问题域,并且有严格的法则。 缺点: 仍然是间接映射问题域;分析与设计的概念不一致,从分析到设计的过渡比 较困难;数据流和加工的数量太多,引起分析文档的膨胀。
UML建模语言
1.1 面向对象开发 1.1.1 不同的分析与设计方法
系统对现实世界的映射方式不同
UML建模语言
1.1 面向对象开发
不同的方法对同一应用实例(电话安装业务系统)的不同效果 结构化分析——数据流和加工
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2、软件建模的用途 Ø 软件模型就是对复杂问题进行分层,从而更好地解决问
题。 Ø 有效的软件模型有利于分工与专业化生产,从而节省生
产成本。 Ø 对于软Βιβλιοθήκη Baidu人员来说,模型就好像是工程人员的图纸一样
重要。
3、软件建模的优点 Ø 使用模型便于从整体上、宏观上把握问题,以便更好的
解决问题。 Ø 软件建模可以加强软件工作人员之间的沟通。便于提早
消息是实现对象之间进行通信的一种机制,对于一 个对象可以接收不同形式的多个消息,并产生不同的结 果;相同形式的消息可以发送给不同的对象,并产生不 同的结果;在发送消息的时候可以不考虑具体的接收者 ,对象可以对消息做出响应,也可以拒绝消息,也就是 说不是必须要对消息做出响应。
通常,一个消息由以下几部分组成: (1)提供服务的对象名。 (2)服务的标识,即方法名。 (3)输入信息,即实际参数。 (4)响应结果,即返回值或操作结果。
多态性(Polymorphism)是指类中同一函数名对应 多个功能相似的不同函数,可以使用相同的调用方式来 调用这些具有不同功能的同名函数,这些同名的函数可 以是参数的个数或是类型不同,但是函数名相同,当进 行调用的时候,根据所传的数据选定相应的函数,从而 去执行不同的功能。如图2.4所示的就是多态性的表现
l 在学习面向对象程序设计之前,一般都会学习面向过 程的程序设计,例如,使用C面向过程的程序设计语言, 面向过程的语言是按流程化的思想来组织的。在这些 语言的设计思想中,通常将存放基本数据类型的变量 作为程序处理对象、以变量的赋值作为程序的基本操 作、以变量值的改变作为程序运行的状态。这种程序 设计风格存在着数据抽象简单、信息完全暴露、算法 复杂、无法很好地描述客观世界等缺点。在程序设计 过程中,为了实现有限度的代码重用,公共代码被组 织成为过程或函数。当需要代码重用时,调用已经组 织好的过程或函数。在这种应用方式中,如果软件项 目庞大,程序的调试和维护将变得异常困难。
一个类定义了一组大体上相似的对象。一个类所包 含的方法和数据描述一组对象的共同行为和属性。例如 ,窗口,车轮,玻璃等都是类的例子。如图2.1所示的是 类的例子,其中类的名字是图书Book。
封装(Encapsulation)就是把一个对象的方法和属 性组合成一个独立的单位,并尽可能隐蔽对象的属性、 方法和实现细节的过程。
l 对象(Object)是面向对象的基本构造单元。是系统中 用来描述客观事物的一个实体,一个对象由一组属性 和对属性进行操作的一组方法组成。一个类定义了一 组大体上相似的对象。一个类所包含的方法和数据描 述一组对象的共同行为和属性。
l 1.什么是对象,具有什么特征? l 2.简述面向对象的开发过程。 l 3.UML在面向对象开发过程中起到的作用是什么? l 4.什么是建模,有什么优点? l 5.什么是面向对象技术?
向对象方法的思想进行软件系统的开发过程共4个阶段: (1)系统调查和需求分析,分析问题并求解
对用户的开发需求进行调查和研究,这一个阶段通 常称之为面向对象分析,即OOA。 (2)整理问题
对第一阶段的结果进一步抽象、归类,进行具体的 设计,提出程序设计的思路和方法,这个阶段即为面向 对象设计OOD。 (3)程序实现:面向对象编程OOP。 (4)系统测试
系统开发好后,在交付用户使用前,必须对程序进 行严格的测试,这个阶段称为面向对象测试OOT。
1、软件建模的概念 模型是对现实存在的实体进行抽象和简化,模型提
供了系统的蓝图。模型过虑了非本质的细节信息,使问 题更容易理解。
为建立复杂的软件系统,我们必须抽象出系统的不 同视图,使用精确的符号建立模型,验证这些模型是否 满足系统的需求,并逐渐添加细节信息把这些模型转变 为实现。这就是软件建模。这样的一个过程就是软件模 型形成的过程,软件建模是捕捉系统本质的过程,把问 题领域转移到解决领域的过程。
对外访问时提供了4种访问控制级别: (1)public:公有访问。 (2)protected:受保护的。 (3)private:私有访问。 (4)default:默认的。
继承(Inheritance)是一种一般类与特殊类的层次 模型。继承性是指特殊类的对象具有其一般类的属性和 方法,在其之上又增加了自己的特殊属性和方法。
对象(Object)是面向对象的基本构造单元。是系 统中用来描述客观事物的一个实体,一个对象由一组属 性和对属性进行操作的一组方法组成。
对象不仅能表示具体的实体,也能表示抽象的规则 、计划或事件。主要有如下的对象类型:
(1)有形的实体:如汽车、书、计算机。 (2)作用:如医生、教师、员工、学生。 (3)事件:如飞行、事故、中断、开会等。 (4)性能说明:如车厂对车辆的性能说明,往往要 列出型号及各种性能指标等。
在继承中,需要明确这样两个概念,子类和父类。 子类:指的是通过继承创建的新类称为“子类” 或 者“派生类”。 父类:指的是被继承的类称为“基类”、“ 父类” 或“ 超类”。
如图2.2表示了父类A和它的子类B之间的继承关系, 箭头从子类B指向父类A。子类B由继承部分(C)和增加 部分(D)组成。
继承性分为单重继承和多重继承两类。 单重继承:指的是一个子类只有一个父类; 多重继承:指的是一个子类可以有多个父类。 单重继承和多重继承时父类和子类之间的关系如图2.3 所示,其中(a)表示的是单重继承,(b)表示的是多 重继承。
发现问题。 Ø 模型为代码生成提供依据,帮助我们按照实际情况对系
统进行可视化。 Ø 模型允许我们详细说明系统的结构或行为。给出了一个
指导我们构造系统的模板。并对我们做出的决策进行文
档化。
l 面向对象程序设计是一种新兴的程序设计方法,或者 是一种新的程序设计规范,它使用对象、类、继承、 封装、消息等基本概念来进行程序的设计。在面向对 象方法中需要明确什么是对象,类,以及类的相关特 征。
相关文档
最新文档