面向对象开发的分析与设计.ppt
《面向对象开发的分析与设计.ppt》由会员分享,可在线阅读,更多相关《面向对象开发的分析与设计.ppt(81页珍藏版)》请在三一办公上搜索。
1、第6章 面向对象开发的分析与设计,虽然结构化程序设计方法具有很多优点,但它仍是一种面向过程的程序设计方法。它把数据和处理数据的过程分离为相互独立的实体,当数据结构改变时,所有相关的处理过程都要进行相应的修改,每一种相对于老问题的新方法都要带来额外的开销,程序的可重用性差。为了改进这种情况,在20世纪80年代,就开始了面向对象方法的研究。面向对象方法作为一种新型的独具优越性的新方法正引起全世界越来越广泛的关注和高度的重视,是当前计算机界关心的重点。,6.1 面向对象方法简介,6.1.1 面向对象的基本概念与特征1面向对象的基本概念:1)对象对象是结构的基本单位,是要研究的任何事物。从一个学生到一
2、所学校或极其复杂的装置都可看作对象,它不仅能表示有形的实体,也能表示无形的(抽象的)规则、计划或事件。对象由一组属性和一组操作构成。属性是用来描述对象静态特征的数据项,行为是用来描述对象动态特征的操作序列。,2)类类是对一组有相同属性和相同操作的对象的定义,一个类所包含的操作和属性描述一组对象的共同属性和行为。类是在对象之上的抽象,对象则是类的具体化,是类的实例。类可有其子类,也可有其它类,形成类层次结构。,3)消息消息是对象之间进行通信的一种规格说明。一般它由三部分组成:接收消息的对象、消息名及实际变元。,6.1.1 面向对象的基本概念与特征,2面向对象主要特征:1)封装性封装是一种信息隐蔽
3、技术,它体现在类的说明,是对象的重要特性。封装使数据和加工该数据的方法(函数)封装为一个整体,以实现独立性很强的模块,使得用户只能见到对象的外特性(对象能接受哪些消息,具有那些处理能力),而对象的内特性(保存内部状态的私有数据和实现加工能力的算法)对用户是隐蔽的。封装的目的在于把对象的设计者和对象的使用者分开,使用者不必知晓行为实现的细节,只须用设计者提供的消息来访问该对象。,2)继承继承是面向对象技术能够提高软件开发效率的重要原因之一,其定义是:特殊类的对象拥有其一般类的全部属性与服务,称作特殊类对一般类的继承。继承分为单继承(一个子类只有一个父类)和多重继承(一个类有多个父类)。类的对象是
4、各自封闭的,如果没继承性机制,则类的对象中数据、方法就会出现大量重复。继承不仅支持系统的可重用性,而且还促进系统的可扩充性。,3)多态性同一消息为不同的对象接受时可产生完全不同的行动,这种现象称为多态性。利用多态性用户可发送一个通用的信息,而将所有的实现细节都留给接受消息的对象自行决定,因此,同一消息即可调用不同的方法。多态性的实现受到继承性的支持,利用类继承的层次关系,把具有通用功能的协议存放在类层次中尽可能高的地方,而将实现这一功能的不同方法置于较低层次,这样,在这些低层次上生成的对象就能给通用消息以不同的响应。在面向对象编程语言中可通过在派生类中重定义基类函数(定义为重载函数或虚函数)来
5、实现多态性。,6.1.2 面向对象的基本思想,面向对象方法的关键在于加入了类及其继承性,用类表示通用特性,子类继承父类的特性,并可加入新的特性。对象以类为样板被创建。所以在面向对象方法中,首要的任务是决定所需要的类,每个类应设置足够的操作,并利用继承机制来共享共同的特性。,面向对象方法主要有以下几个要点:1客观世界是由各种“对象”所组成的任何事物都是对象,每一个对象都有自己的运动规律和内部状态,每一个对象都属于某个对象“类”,都是该对象类的一个元素。复杂的对象可以是由相对比较简单的各种对象以某种方式而构成的。不同对象的组合及相互作用就构成了所要研究、分析和构造的客观系统。,2对象间具有共同属性
6、通过类比,发现对象间的相似性,这就是构成对象类的依据。在“类”、“父类”、“子类”的概念构成对象类的层次关系时,若不加特殊说明,则处在下一层次的对象可自然地继承位于上一层次的对象的属性。,3通过定义一组“操作”来说明该对象的功能对象间的相互联系是通过传递“消息”来完成的,消息就是通知对象去完成一个允许作用于该对象的操作,至于该对象将如何完成这个操作的细节,则是封装在相应的对象类的定义中的,细节对于外界是隐蔽的。,6.1.3 面向对象的开发过程,1面向对象分析的基本步骤分析强调的是对问题和需求的调查研究,而不是解决方案。在面向对象分析过程,强调的是在问题领域内发现和描述对象或概念。在用面向对象方
7、法具体地分析一个事物时,大致上遵循如下五个基本步骤:1)确定对象和类。这里所说的对象是对数据及其处理方式的抽象,它反映了系统保存和处理现实世界中某些事物的信息的能力。类是多个对象的共同属性和方法集合的描述,它包括如何在一个类中建立一个新对象的描述。,2)确定结构。结构是指问题域的复杂性和连接关系。类成员结构反映了泛化-特化关系,整体-部分结构反映整体和局部之间的关系。3)确定主题。主题是指事物的总体概貌和总体分析模型。,6.1.3 面向对象的开发过程,4)确定属性。属性就是数据元素,可用来描述对象或分类结构的实例,可在图中给出,并在对象的存储中指定。5)确定方法。方法是在收到消息后必须进行的一
8、些处理方法:方法要在图中定义,并在对象的存储中指定。对于每个对象和结构来说,那些用来增加、修改、删除和选择一个方法本身都是隐含的(虽然它们是要在对象的存储中定义的,但并不在图上给出),而有些则是显示的。,6.1.3 面向对象的开发过程,2面向对象设计方法设计强调的是满足需求的概念上的解决方案,而不是实现。在面向对象设计过程中,强调的是定义软件对象和这些软件对象如何协作来满足需求。面向对象的设计方法是面向对象方法中一个中间过渡环节。其主要作用是对面向对象分析的结果作进一步的规范化整理,以便能够被面向对象编程直接接受。在面向对象设计的过程中,要展开的主要有如下几项工作。,1)对象定义规格的求精过程
9、对于OOA所抽象出来的对象类以及汇集的分析文档,OOD需要有一个根据设计要求整理和求精的过程,使之更能符合OOP的需要。这个整理和求精过程主要有两个方面:一是要根据面向对象的概念模型整理分析所确定的对象结构、属性、方法等内容,改正错误的内容,删去不必要和重复的内容等。二是进行分类整理,以便于下一步数据库设计和程序处理模块设计的需要。整理的方法主要是进行归类,对类一对象、属性、方法和结构、主题进行归类。,2)数据模型和数据库设计数据模型的设计需要确定类对象属性的内容、消息连接的方式、系统访问、数据模型的方法等。最后每个对象实例的数据都必须落实到面向对象的库结构模型中。,3)优化OOD的优化设计过
10、程是从另一个角度对分析结果和处理业务过程的整理归纳,优化包括对象和结构的优化、抽象、集成。对象和结构的模块化表示OOD提供了一种范式,这种范式支持对类和结构的模块化。这种模块符合一般模块化所要求的所有特点,如信息隐蔽性好,内部聚合度强和模块之间耦合度弱等。集成化使得单个构件有机地结合在一起,相互支持。,3.面向对象的实现即指软件功能的编码实现,它包括:每个对象的内部功能的实现;确立对象哪一些处理能力应在哪些类中进行描述;确定并实现系统的界面、输出的形式及其它控制机理等,总之是实现在OOD阶段所规定的各个对象所应完成的任务。,6.1.4 面向对象建模语言与工具,1 Rational RoseRa
11、tional Rose 是由美国的Rational公司开发的、面向对象的可视化建模工具。利用这个工具,可以建立用UML描述的软件系统模型,而且可以自动生成和维护C+、Java、Visual Basic和Oracle等语言和系统的代码。Rose提供了一个叫“Data Modeler”的工具,利用它可用将对象模型转换成数据模型,也可以将现有的数据模型转换成对象模型,从而实现两者之间的同步。,2PowerDesignerPowerDesigner系列产品提供了一个完整的建模解决方案,业务或系统分析人员,设计人员,数据库管理员和开发人员可以对其裁剪以满足他们的特定的需要;而其模块化的结构为购买和扩展提
12、供了极大的灵活性,从而使开发单位可以根据其项目的规模和范围来使用他们所需要的工具。PowerDesigner灵活的分析和设计特性允许使用一种结构化的方法有效地创建数据库或数据仓库,而不要求严格遵循一个特定的方法学。PowerDesigner提供了直观的符号表示使数据库的创建更加容易,并使项目组内的交流和通讯标准化,同时能更加简单地向非技术人员展示数据库和应用的设计。,6.1.4 面向对象建模语言与工具,3VisioVISIO原来仅仅是一种画图工具,能够用来描述各种图形(从电路图到房屋结构图),也是到VISIO2000才开始引进软件分析设计功能到代码生成的全部功能,它可以说是目前最能够用图形方式
13、来表达各种商业图形用途的工具(对软件开发中的UML支持仅仅是其中的一部分)。它跟微软的office产品的能够很好兼容。能够把图形直接复制或者内嵌到WORD的文档中。但是对于代码的生成更多是支持微软的产品如VB,VC+,MS SQL Server 等,所以它可以说用于图形语义的描述比较方便,但是用于软件开发过程的迭代开发功能还有待加强。,6.1.4 面向对象建模语言与工具,6.1.5 面向对象开发方法优缺点,针对前面所述的面向对象开发方法,可以发现它的优缺点如下:1优点 直观、方便,反映系统结构完整,模型一致性好,易于完成开发系统。1)是一种全新的系统分析设计方法(对象、类、结构属性、方法)。2
14、)适用于各类信息系统的开发。3)实现了对客观世界描述到软件结构的直接转换,大大减少后续软件开发量。4)开发工作的重用性、继承性高,降低重复工作量。5)缩短了开发周期。,2缺点 对系统动态特征表述不充分(主要是整体动态特征),且反映系统整个功能特征的能力较差。1)需要一定的软件支持环境。2)只能在现有业务基础上进行分类整理,不能从科学管理角度进行理顺和优化。3)初学者不易接受、难学。适用场所:可以普遍适用于各类信息系统开发,但是它不能涉足系统分析以前的开发环节。,6.1.5 面向对象开发方法优缺点,6.2 统一建模语言UML,6.2.1 UML的产生背景 Ivar Jacobson的面向对象的软
15、件工程(Object-Oriented Soft Engineering,OOSE)采用用例的概念作为基础,通过加强项目和用户之间的通信实现了高度重用,这是IT项目的第一个关键成功因素。James Rumbaugh则开发出了对象建模技术(Object Modeling Technique,OMT),强调通过对系统里的事务和数据进行深入分析来确定目标问题,这是IT项目成功的第二个关键因素。最后,Grady Booch提出了Booch方法,该方法在设计,实现,定义解决方案并使之映射到目标问题方面具有独到之处,即为IT项目的第三个关键成功因素。以上三个因素相互支持,缺一不可。将它们的方法和符号结合起
16、来,足以满足创建一个统一的,全面的建模标准的需求。,UML在1997年被对象管理组织(OMG,一个工业标准组织)采纳为标准,与此同时,一些公司研发并提交了关于UML的另一套建议,他们的研究结果被结合起来,这就是1997年9月发布的UML1.1,OMG开始正式对UML标准的开发负责,此后的UML,更在不断的发展中。2004年,UML2.0开始投入使用。目前版本已经发展至。,6.2.2 UML概念模型,为了理解UML,就需要了解其建模的概念、符号。如果掌握了这些概念模型的思想,就能够读懂UML模型,并能建立一些基本模型。组成UML有三种基本的构造块:事物、关系、图。,事物,事物(thing)是对模
17、型中最具有代表性的成分的抽象,是模型中的基本成员。在UML中有4种事物:结构事物、行为事物、分组事物、注释事物,这些事物是UML中基本的面向对象的构造快。用它们可以写出结构良好的模型。1)结构事物2)行为事物3)分组事物4)注释事物,2关系,关系是事物之间的联系。在图形上,把关系画成一条线,并用不同的线区别关系的种类。在UML中有种关系:依赖、关联、泛化、实现。这些关系是UML的基本关系构造块,用它们可以写出结构良好的模型。依赖 是两个事物间的语义关系,其中一个事物发生变化会影响另一个事物的语义。关联 是一种结构关系,它描述了一组链,链是对象之间的连接。聚合是一种特殊类型的关联,它描述了整体和
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 开发 分析 设计
链接地址:https://www.31ppt.com/p-6435947.html