● 面向对象软件工程 面向对象 “面向对象”是一种认识客观世界的世界观, 这种世界观将客观世界看成是有许多不同种类 的对象构成的,每个对象有自己的内部状态和 运动规律,不同对象之间的相互联系、相互作 用就构成了完整的客观世界 ● ● ● ●
面向对象软件工程 面向对象 • “面向对象”是一种认识客观世界的世界观, 这种世界观将客观世界看成是有许多不同种类 的对象构成的,每个对象有自己的内部状态和 运动规律,不同对象之间的相互联系、相互作 用就构成了完整的客观世界
● 面向对象软件工程 面向对象 “面向对象”是从结构组织的角度去模拟客观 世界的一种方法,这种方法的基本着眼点是构 成客观世界的那些成分-对象。 用“面向对象”的观点去认识客观世界,用 “面向对象”的方法去模拟客观世界,这就构 成了“面向对象”的完整含义。 ● ● ●
面向对象软件工程 面向对象 • “面向对象”是从结构组织的角度去模拟客观 世界的一种方法,这种方法的基本着眼点是构 成客观世界的那些成分----对象。 • 用“面向对象”的观点去认识客观世界,用 “面向对象”的方法去模拟客观世界,这就构 成了“面向对象”的完整含义
● 面向对象软件工程 面向对象概念 。 对象 对象是现实世界中个体或事物的抽象表示,是 其属性和相关操作的封装。属性表示对象的性 质,属性值规定了对象所有可能的状态。对象 的操作是指该对象可以展现的外部服务。 ● ● ●
面向对象软件工程 面向对象概念 • 对象 对象是现实世界中个体或事物的抽象表示,是 其属性和相关操作的封装。属性表示对象的性 质,属性值规定了对象所有可能的状态。对象 的操作是指该对象可以展现的外部服务
● 面向对象软件工程 面向对象概念 。 类和实例 类是某些对象的共同特性的表示,它描述 了这些对象内部是如何构造的。相同类的对象 在它们的操作和它们的信息结构两个方面都有 相同的定义。 在面向对象系统中,每个对象都属于一个 类。属于某个特定类的对象称为该类的实例 因此,常常把对象和实例当作同义词。实例是 从某类创建的一个对象
面向对象软件工程 面向对象概念 • 类和实例 类是某些对象的共同特性的表示,它描述 了这些对象内部是如何构造的。相同类的对象 在它们的操作和它们的信息结构两个方面都有 相同的定义。 在面向对象系统中,每个对象都属于一个 类。属于某个特定类的对象称为该类的实例。 因此,常常把对象和实例当作同义词。实例是 从某类创建的一个对象
● 面向对象软件工程 面向对象概念 ·继承 如果类B继承类A,那么类A中描述的操作和信息结构将成为 类B的一部分。 借助继承,可以表示类之间的类似性,并且在其他类能继承的 个类中描述这些相似性。因此,就能够复用公共的描述。继承 常常被提倡为软件工业界中关于复用的一个核心思想。继承还有 利于软件维护。 通过抽取和共享公共特性就能够通用化一些类,并且把它们 放在继承层次的更高位置。同样,如果希望增加新类,可以寻找 这样一个类,它已经提供了适用于该新类的某些操作和信息结构。 然后,让新类继承这个类,只需增加该新类所独有的那些内容。 然后,使这个类专用化
面向对象软件工程 面向对象概念 • 继承 如果类B继承类A,那么类A中描述的操作和信息结构将成为 类B的一部分。 借助继承,可以表示类之间的类似性,并且在其他类能继承的 一个类中描述这些相似性。因此,就能够复用公共的描述。继承 常常被提倡为软件工业界中关于复用的一个核心思想。继承还有 利于软件维护。 通过抽取和共享公共特性就能够通用化一些类,并且把它们 放在继承层次的更高位置。同样,如果希望增加新类,可以寻找 这样一个类,它已经提供了适用于该新类的某些操作和信息结构。 然后,让新类继承这个类,只需增加该新类所独有的那些内容。 然后,使这个类专用化
● ● 建立对象模型 Identifying classes and objects (识别对象和类 Specifying attributes (说明对象属性》 Defining operations (定义对象操作》 Finalizing the object definition (最终确定对象定义) ●
建立对象模型 • Identifying classes and objects (识别对象和类) • Specifying attributes (说明对象属性) • Defining operations (定义对象操作) • Finalizing the object definition (最终确定对象定义)
● 面向对象的过程模型 Risk Planning Identify Analysis candidate classes Construct Look up nth iteration classes Customer of system in library Communication Put new Extract classes classes in library if available Engineer classes if unavailable ·analysis ·design Customer Engineering. ·programming Evaluation Construction Release ·testing ● ● ●
面向对象的过程模型 Planning Risk Analysis Customer Communication Customer Evaluation Engineering, Construction & Release Identify candidate classes Construct nth iteration of system Look up classes in library Put new classes in library Extract classes if available Engineer classes if unavailable • analysis • design • programming • testing
● 面向对象软件工程 面向对象建模 面向对象思想比较自然地模拟了人类认识 客观世界的方式,面向对象的分析和设计应该 从建模开始。构造模型通常出于以下几个目地: 。 在着手解决一个复杂问题之前,对解决方案进行检测: 用于同客户或其他相关人员进行交流: 。 加强视觉效果; ·对复杂问题进行简化 ● ●
面向对象软件工程 面向对象建模 面向对象思想比较自然地模拟了人类认识 客观世界的方式,面向对象的分析和设计应该 从建模开始。构造模型通常出于以下几个目地: • 在着手解决一个复杂问题之前,对解决方案进行检测; • 用于同客户或其他相关人员进行交流; • 加强视觉效果; • 对复杂问题进行简化
● 面向对象软件工程 面向对象建模 模型是对事物的一种抽象,人们常常在 正式建造实物之前,首先建立一个简化 的模型,以便更透彻地了解它的本质 抓住问题的要害; 在模型中,人们总是剔除那些与问题无 关的、非本质的东西,从而使模型与真 实的实体相比更加简单、易于把握:
面向对象软件工程 面向对象建模 • 模型是对事物的一种抽象,人们常常在 正式建造实物之前,首先建立一个简化 的模型,以便更透彻地了解它的本质, 抓住问题的要害; • 在模型中,人们总是剔除那些与问题无 关的、非本质的东西,从而使模型与真 实的实体相比更加简单、易于把握;
● 面向对象软件工程 面向对象建模 在建造一个复杂系统时,开发者必须从 多种不同的角度来抽象系统,使用准确 的符号来构造模型,然后检查这些模型 是否符合系统的需求,并逐步添加细节, 从而将这些模型转化成实现方案 建模语言是面向对象建模中的一个非常 关键的因素。 ●
面向对象软件工程 面向对象建模 • 在建造一个复杂系统时,开发者必须从 多种不同的角度来抽象系统,使用准确 的符号来构造模型,然后检查这些模型 是否符合系统的需求,并逐步添加细节, 从而将这些模型转化成实现方案。 • 建模语言是面向对象建模中的一个非常 关键的因素