面向对象方法学概述精品PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
类名的命名规则:
1) 使用在应用域中人们习 惯的标准术语作为类名, 不要随意创造名字
2) 尽量使用能表示类的含 义的日常用语作为类名, 不要使用空洞的或含义 模糊的词作为名字。Eg.” 库房”比“房屋”合适
3) 为使名字的含义更准确, 必要时使用形容词加名 词或其他形式的名词短 语作名字。
描述属性的语法格式:
▪可见性 属性名:类型名=初值{性
质串}
▪可见性:
画图
+(public),-private),#(protected) ▪性质串:
+大小:Size
明确列出该属性所有可能的取值; 或说明属性的其他性质.eg,约束说明
+位置: Position
{只读}
#图片个数:Integer=0 ▪静态属性:
Draw() getCount():Integer
1.1 面向对象方法学概述
面向对象方法在开发的早期定义了一系列面向问题的对象,并且在整 个开发过程中不断充实和扩充这些对象.由于在整个开发过程中都使用 统一的软件概念“对象”,所有其他概念(如功能、关系、事件等)都是围 绕对象组成的,因此,对生命周期各阶段的区分自然就不重要、不明显 了。
分析阶段得到的对象模型也适用于设计和实现阶段。由于各个阶段 都使用统一的概念和符号,因此,整个开发过程时吻合一致的,或者说 是无缝连接的,这自然就很容易实现各个开发步骤的多次反复迭代,达 到认识的逐步深化。
关联的直线两端可以写上重数,表示该类有多少对象与对方的一个 对象连接。
0..1
第一章 面向对象方法学引论
传统方法学的缺点
僵化的瀑布模型 瀑布模型意味着生命周期各阶段间存在着严
格的顺序性和依赖性;特别强调预定义需求的重 要性。某些类型的系统需求是模糊的。预定义的 需求可能是过时的。对于需求相对稳定的软件来 说,预定义需求是可行的;当软件需求变化比较 大时,提前1年或数年预先指定需求显然是不实 际的。
操作(或服务)的语法格式: ▪可见性 操作名(参数表):返 回值类型{性质串}
▪参数表是用逗号分割的形式 参数的序列. ▪参数: 参数名:类型名=默认值
1.3.2 表示关系的符号
1. 关联表示两个类的对象之间存在某种语义上的联系.
作家
* 使用
1.. *
计算机
被使用
(1) 普通关联实例
通常,关联是双向的,可在一个方向上为关联起一个名字,在另一个方 向上起另一个名字(也可以不起)。名字之前或之后的黑三角代表关联 方向。
3. 封装和信息隐蔽 是指软件的组成部分(模块、子程序、方法等)应该互相独立或者 隐藏细节。 在面向对象方法中,封装将功能和数据同时装入对象中。
4. 继承
按照子类和父类的关系,把若干对象类组织成一个层次结构的系统。在这种 层次结构中,通常下层的派生类具有和上层的父类相同的特性(包括特
征和方法),这种现象称为继承。
面向对象分析设计方法(OOAD): ▪ 兴起于20世纪80年代,从20世纪90年代起至今它已
经在分析设计领域占据了无可争议的主流地位 ▪ 1997年11月,UML被国际对象管理组织(OGM)采
纳,此后UML成了OOAD建模语言的国际标准。 ▪ UML对于OOAD中的语义、图形表示法和使用规则做
了完整而详细的定义。其建模能力超过了以往任何 OOAD方法,当然复杂性也随之膨胀。 ▪ 真正使UML流行的是Rational公司基于UML的建模 工具Rose。
5. 多态
不同的对象收到同一消息可产生完全不同的结果,这一现象叫作多态。
6. 消息通信
7.
消息通信是面向对象方法中对象之间相互联系的方法。
7. 关联
关联有助于把信息系统的各个部分互相联系起来。
8. 复用
复用有3种方式:共享、拷贝、改造 面向对象wenku.baidu.com法中,类的重用有实例重用、继承重用、多态重用。
1.2 面向对象建模
每次重复都会增加或明确一些目标系统的性质,但却不是对先前工 作结果的本质性改动,这样就减少了不一致性,降低了出错的可能。 P22喷泉模型
面向对象方法的特点
1. 通用组织方法 2. 抽象 3. 封装或信息隐蔽 4. 继承 5. 多态 6. 消息通信 7. 关联 8. 复用
1. 通用组织方法
通用组织方法用于协助组织信息系统模型以及最终编写的软件。包 括: 对象及其属性或者特征。 整体和部分(is a part of)。 类和成员(is a member of) 。 2. 抽象 忽略问题域的无关部分而集中考虑关键部分的原则
注意:UML是一种语言规范而不是一种建模方法
用面向对象方法开发软件,通常需要建立3种形式的模 型:描述系统数据结构的对象模型,描述系统控制结构 的动态模型、描述系统功能的功能模型。 在整个开发过程中,3种模型一直都在发展完善。在面向 对象分析中,构造出完全独立于实现的应用域模型;在 面向对象设计过程中,把求解域的结构逐渐加入到模型 中;在实现阶段,把应用域和求解域的结构编成代码并 进行严格的测试验证
1.1 面向对象方法学概述
面向对象学的出发点和基本原则,是尽可能模拟人 类习惯的思维方式,使开发软件的方法与过程尽可 能接近人类认识世界解决问题的方法与过程,也就 是使描述问题的问题空间(问题域)与实现解法的 解空间(求解域)在结构上尽可能一致 从而解决了传统信息方法学中存在的如何从分析 平滑过渡到设计的老问题.
传统方法学的缺点
结构化技术的缺点
不稳定:结构化分析和设计技术是围绕实现功能 的过程来构造系统的,而用户需求的变化大部分 是针对功能的,因此这种变化对基于过程的设计 来说是灾难性的,因此这样设计出的系统结构常 常是不稳定的,即用户需求的变化往往造成系统 结构的较大变化。
可重用性差:把数据和操作作为分离的实体,使得一 些具有潜在可重用价值的软件构建已和具体应用 环境密不可分了.
1.3 对象模型
对象模型表示静态的、结构化的系统的“数据”性质. 它是对模拟客观世界的对象以及对象之间的关系的影 射,描述系统的静态结构。
面向对象方法学强调围绕对象而不是功能来构造系统。 对象模型为建立动态模型和功能模型提供了实质性框 架。
对象模型的基础是类、对象和它们之间的关系。
1.3.1 类图的基本符号