1、面向对象软件工程(标准建模语言 UML)李 宣 东南京大学计算机科学与技术系面向对象软件工程面向对象 “面向对象 ”是一种认识客观世界的世界观,这种世界观将客观世界看成是有许多不同种类的对象构成的,每个对象有自己的内部状态和运动规律,不同对象之间的相互联系、相互作用就构成了完整的客观世界。面向对象软件工程面向对象 “面向对象 ”是从结构组织的角度去模拟客观世界的一种方法,这种方法的基本着眼点是构成客观世界的那些成分 -对象。 用 “面向对象 ”的观点去认识客观世界,用 “面向对象 ”的方法去模拟客观世界,这就构成了 “面向对象 ”的完整含义。面向对象软件工程面向对象概念 对象对象是现实世界中个
2、体或事物的抽象表示,是其属性和相关操作的封装。属性表示对象的性质,属性值规定了对象所有可能的状态。对象的操作是指该对象可以展现的外部服务。面向对象软件工程面向对象概念 类和实例类是某些对象的共同特性的表示,它描述了这些对象内部是如何构造的。相同类的对象在它们的操作和它们的信息结构两个方面都有相同的定义。在面向对象系统中,每个对象都属于一个类。属于某个特定类的对象称为该类的实例。因此,常常把对象和实例当作同义词。实例是从某类创建的一个对象。面向对象软件工程面向对象概念 继承如果类 B继承类 A, 那么类 A中描述的操作和信息结构将成为类 B的一部分。借助继承,可以表示类之间的类似性,并且在其他类
3、能继承的一个类中描述这些相似性。因此,就能够复用公共的描述。继承常常被提倡为软件工业界中关于复用的一个核心思想。继承还有利于软件维护。通过抽取和共享公共特性就能够通用化一些类,并且把它们放在继承层次的更高位置。同样,如果希望增加新类,可以寻找这样一个类,它已经提供了适用于该新类的某些操作和信息结构。然后,让新类继承这个类,只需增加该新类所独有的那些内容。然后,使这个类专用化。建立对象模型 Identifying classes and objects( 识别对象和类) Specifying attributes( 说明对象属性) Defining operations( 定义对象操作) Fin
4、alizing the object definition( 最终确定对象定义)面向对象的过程模型Planning RiskAnalysisCustomerCommunicationCustomerEvaluationEngineering,Construction & ReleaseIdentifycandidateclassesConstructnth iterationof systemLook upclassesin libraryPut new classesin libraryExtractclassesif availableEngineerclassesif unavailable analysis design programming testing面向对象软件工程面向对象建模 面向对象思想比较自然地模拟了人类认识客观世界的方式,面向对象的分析和设计应该从建模开始。构造模型通常出于以下几个目地: 在着手解决一个复杂问题之前,对解决方案进行检测; 用于同客户或其他相关人员进行交流; 加强视觉效果; 对复杂问题进行简化。面向对象软件工程面向对象建模 模型是对事物的一种抽象,人们常常在正式建造实物之前,首先建立一个简化的模型,以便更透彻地了解它的本质,抓住问题的要害; 在模型中,人们总是剔除那些与问题无关的、非本质的东西,从而使模型与真实的实体相比更加简单、易于把握;