第三篇 面向对象方法学PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
9
对于软件开发方法学的正确理解
(2)没有放之四海而皆准的方法学,任何方 法学都有其局限性,所以软件开发人员大可不 必拘泥于某种特定的方法学。
10
第6章 面向对象方法学导论
面向对象程序设计实例 现向对象方法学概述 面向对象方法学的主要优点 面向对象的概念
11
一个简单的图形程序的需求
在显示器荧光屏上圆心坐标为(100,100)的 位置画一个半径为40的圆,在圆心坐标为 (200,300)的位置画一个半径为20的圆, 在圆心坐标为(400,150)的位置画一条弧, 弧的起始角度为30°,结束角度为120°,半径 为50.
分成两类。
圆 圆心坐标 半径 可见性 显示() 隐藏
弧 圆心半径 半径 起始角度 结束角度 可见性 显示 隐藏
16
17
设计类等级
除了把对象分类之外,还应该进一 步按照子类(派生类)与父类(基 类)的关系,把若干个相关的对象 类组成一个层次结构的系统(类等 级)。
在这种层次结构中,下层的派生类 自动具有和上层基类相同的特定 (包括数据和操作),这种现象称 为继承。
7
敏捷开发方法
简单的说,敏捷开发是一种以人为核心、 迭代、循序渐进的开发方法。
敏捷软件开发宣言: 个体和交互 胜过 过程和工具 可以工作的软件 胜过 面面俱到的文档 客户合作 胜过 合同谈判 响应变化 胜过 遵循计划
8
对于软件开发方法学的正确理解
方法学是思路不是定律 (1)方法学的目的是:使后人分享前人的成 功,避开前人的失败,把注重力集中在尚未开 拓领域的创造性劳动上。所以方法学与开发人 员的创造性是绝不冲突的。它既不能像法律那 样靠权威来界定是非边界,也不能像定律那样 通过证实和推理给出普遍结论。假如一定要做 比喻的话,它好比人的世界观。
面向对象方法学的出发点和基本原则, 是尽可能模拟人类习惯的思维方式,使 开发软件的方法与过程尽可能接近人类 认识世界解决问题的方法与过程。
3
结构化方法学与面向对象方法学
分析是问题抽象 ,设计是问题求解 ,实现是 问题的解 。任何方法学对客观世界的抽象和求 解过程都是如此。
在问题抽象阶段,结构化方法面向过程,按照 数据变换的过程寻找问题的结点,对问题进行 分解。因此,与面向对象方法强调的对象模型 不同,描述数据变换的功能模型是结构化方法 的重点。假如问题世界的功能比数据更复杂或 者更重要,那么结构化方法仍然应是首选的方 法学。
18
6.1.3 定义属性和服务
所谓定义属性就是确定每个属性 的数据类型和数据结构,同时还
定义服务的主要任务就是设计完 成每项服务功能的算法。
19
6.2 面向对象方法学概述
面向对象方法学的要点: (1) 认为客观世界是由各种对象组成的,任何
事物都是对象,复杂的对象可以由比较简单的 对象以某种方式组合而成。
5
结构化方法学与面向对象方法学
在设计上,结构化方法学产生自顶向下、结构 清楚的系统结构。每个模块有可能保持较强的 独立性,但它往往与数据库结构相独立,功能 模块与数据库逻辑模式间没有映射关系,程序 与数据结构很难封装在一起。假如数据结构复 杂,模块独立性很难保证。
面向对象方法抽象的系统结构往往并不比结构 化方法产生的系统结构简单,但它能映射到数 据库结构中,很轻易实现程序与数据结构的封 装。
第三篇 面向对象方法学
所谓方法学是指组织软件生产过程的一 系列方法、技术和规范。 是软件开发者长年失败和成功经验的理 论性总结。
1
第一部分
整体概述
THE FIRST PART OF THE OVERALL OVERVIEW, PLEASE SUMMARIZE THE CONTENT
2
面向对象方法学的基本思想
13
用面向对象的方式怎样解决问题?
用对象分解取代功能分解,也就是把程序分解 成一系列对象,每个对象都既有自己的数据 (描述该对象所代表的实体的属性),又有处 理这些数据的函数(通常称为服务或方法,它 们实现该对象应有的行为)。
不同对象之间通过发送消息向对方提出服务要 求,接受消息的对象主动完成指定功能提供所 要求的服务。程序中所有对象分工协作,共同 完成整个程序的功能。事实上,对象是组成面 向对象程序的基本模块。
6
Leabharlann Baidu
结构化方法学与面向对象方法学
在软件工程基本原则中有一条“形式化原则”, 即对问题世界的抽象结论应该以形式化语言 表 述出来。
结构化方法可以用数据流图、系统结构图、数 据辞典、状态转移图、实体关系图来进行系统 逻辑模型的描述;
而面向对象方法可以使用对象模型图、数据辞 典、动态模型图、功能模型图。其中对象模型 图近似系统结构图与实体关系图的结合,动态 模型图类似状态迁移图,功能模型图类似数据 流图。
12
用传统的结构化方法怎样设计上述图形程序?
两个函数画圆和弧(需要传递参数)
主函数中声明5个变量(存放半径等数据)
利用输入语句给变量赋值调用函数完成
自顶向下的功能分解
人类习惯解决问题方式 :“顾客-服务员“的工 作模式
数据和处理过程(代码)作为独立的部分, 反映了计算机的观点
不符合和人类习惯的思维 方式
4
结构化方法学与面向对象方法学
假如数据结构复杂且变换并不多,那么 如以过程主导分析和设计,一旦有系统 变更就会给下游开发带来极大混乱。
由于对过程的理解不同,面向过程的功 能细分所分割出的功能模块有时会因人 而异。而面向对象的对象细分,从同一 问题领域的对象出发,不同人得出相同 结论的比率较高。
– 按照这种观点,可以认为整个世界就是一个最复杂的 对象。因此,面向对象的软件系统是由对象组成的, 软件中的任何元素都是对象,复杂的软件对象由比较 简单的对象组合而成。
– 由此可见,面向对象方法用对象分解取代了传统方法 的功能分解。
14
用面向对象的方式怎样解决问题?
本问题中涉及两类实体(对象):圆和弧
圆类的两个实例、弧类的一个实例(所谓实例
即具体的对象)
弧
圆 圆心坐标 半径 可见性 显示() 隐藏
圆心半径 半径 起始角度 结束角度 可见性 显示 隐藏
15
6.2 设计类等级
这个简单的图形程序需要使用圆类和弧类这两
类对象,也就是说,我们把该程序中的对象划
对于软件开发方法学的正确理解
(2)没有放之四海而皆准的方法学,任何方 法学都有其局限性,所以软件开发人员大可不 必拘泥于某种特定的方法学。
10
第6章 面向对象方法学导论
面向对象程序设计实例 现向对象方法学概述 面向对象方法学的主要优点 面向对象的概念
11
一个简单的图形程序的需求
在显示器荧光屏上圆心坐标为(100,100)的 位置画一个半径为40的圆,在圆心坐标为 (200,300)的位置画一个半径为20的圆, 在圆心坐标为(400,150)的位置画一条弧, 弧的起始角度为30°,结束角度为120°,半径 为50.
分成两类。
圆 圆心坐标 半径 可见性 显示() 隐藏
弧 圆心半径 半径 起始角度 结束角度 可见性 显示 隐藏
16
17
设计类等级
除了把对象分类之外,还应该进一 步按照子类(派生类)与父类(基 类)的关系,把若干个相关的对象 类组成一个层次结构的系统(类等 级)。
在这种层次结构中,下层的派生类 自动具有和上层基类相同的特定 (包括数据和操作),这种现象称 为继承。
7
敏捷开发方法
简单的说,敏捷开发是一种以人为核心、 迭代、循序渐进的开发方法。
敏捷软件开发宣言: 个体和交互 胜过 过程和工具 可以工作的软件 胜过 面面俱到的文档 客户合作 胜过 合同谈判 响应变化 胜过 遵循计划
8
对于软件开发方法学的正确理解
方法学是思路不是定律 (1)方法学的目的是:使后人分享前人的成 功,避开前人的失败,把注重力集中在尚未开 拓领域的创造性劳动上。所以方法学与开发人 员的创造性是绝不冲突的。它既不能像法律那 样靠权威来界定是非边界,也不能像定律那样 通过证实和推理给出普遍结论。假如一定要做 比喻的话,它好比人的世界观。
面向对象方法学的出发点和基本原则, 是尽可能模拟人类习惯的思维方式,使 开发软件的方法与过程尽可能接近人类 认识世界解决问题的方法与过程。
3
结构化方法学与面向对象方法学
分析是问题抽象 ,设计是问题求解 ,实现是 问题的解 。任何方法学对客观世界的抽象和求 解过程都是如此。
在问题抽象阶段,结构化方法面向过程,按照 数据变换的过程寻找问题的结点,对问题进行 分解。因此,与面向对象方法强调的对象模型 不同,描述数据变换的功能模型是结构化方法 的重点。假如问题世界的功能比数据更复杂或 者更重要,那么结构化方法仍然应是首选的方 法学。
18
6.1.3 定义属性和服务
所谓定义属性就是确定每个属性 的数据类型和数据结构,同时还
定义服务的主要任务就是设计完 成每项服务功能的算法。
19
6.2 面向对象方法学概述
面向对象方法学的要点: (1) 认为客观世界是由各种对象组成的,任何
事物都是对象,复杂的对象可以由比较简单的 对象以某种方式组合而成。
5
结构化方法学与面向对象方法学
在设计上,结构化方法学产生自顶向下、结构 清楚的系统结构。每个模块有可能保持较强的 独立性,但它往往与数据库结构相独立,功能 模块与数据库逻辑模式间没有映射关系,程序 与数据结构很难封装在一起。假如数据结构复 杂,模块独立性很难保证。
面向对象方法抽象的系统结构往往并不比结构 化方法产生的系统结构简单,但它能映射到数 据库结构中,很轻易实现程序与数据结构的封 装。
第三篇 面向对象方法学
所谓方法学是指组织软件生产过程的一 系列方法、技术和规范。 是软件开发者长年失败和成功经验的理 论性总结。
1
第一部分
整体概述
THE FIRST PART OF THE OVERALL OVERVIEW, PLEASE SUMMARIZE THE CONTENT
2
面向对象方法学的基本思想
13
用面向对象的方式怎样解决问题?
用对象分解取代功能分解,也就是把程序分解 成一系列对象,每个对象都既有自己的数据 (描述该对象所代表的实体的属性),又有处 理这些数据的函数(通常称为服务或方法,它 们实现该对象应有的行为)。
不同对象之间通过发送消息向对方提出服务要 求,接受消息的对象主动完成指定功能提供所 要求的服务。程序中所有对象分工协作,共同 完成整个程序的功能。事实上,对象是组成面 向对象程序的基本模块。
6
Leabharlann Baidu
结构化方法学与面向对象方法学
在软件工程基本原则中有一条“形式化原则”, 即对问题世界的抽象结论应该以形式化语言 表 述出来。
结构化方法可以用数据流图、系统结构图、数 据辞典、状态转移图、实体关系图来进行系统 逻辑模型的描述;
而面向对象方法可以使用对象模型图、数据辞 典、动态模型图、功能模型图。其中对象模型 图近似系统结构图与实体关系图的结合,动态 模型图类似状态迁移图,功能模型图类似数据 流图。
12
用传统的结构化方法怎样设计上述图形程序?
两个函数画圆和弧(需要传递参数)
主函数中声明5个变量(存放半径等数据)
利用输入语句给变量赋值调用函数完成
自顶向下的功能分解
人类习惯解决问题方式 :“顾客-服务员“的工 作模式
数据和处理过程(代码)作为独立的部分, 反映了计算机的观点
不符合和人类习惯的思维 方式
4
结构化方法学与面向对象方法学
假如数据结构复杂且变换并不多,那么 如以过程主导分析和设计,一旦有系统 变更就会给下游开发带来极大混乱。
由于对过程的理解不同,面向过程的功 能细分所分割出的功能模块有时会因人 而异。而面向对象的对象细分,从同一 问题领域的对象出发,不同人得出相同 结论的比率较高。
– 按照这种观点,可以认为整个世界就是一个最复杂的 对象。因此,面向对象的软件系统是由对象组成的, 软件中的任何元素都是对象,复杂的软件对象由比较 简单的对象组合而成。
– 由此可见,面向对象方法用对象分解取代了传统方法 的功能分解。
14
用面向对象的方式怎样解决问题?
本问题中涉及两类实体(对象):圆和弧
圆类的两个实例、弧类的一个实例(所谓实例
即具体的对象)
弧
圆 圆心坐标 半径 可见性 显示() 隐藏
圆心半径 半径 起始角度 结束角度 可见性 显示 隐藏
15
6.2 设计类等级
这个简单的图形程序需要使用圆类和弧类这两
类对象,也就是说,我们把该程序中的对象划