欢迎来到天天文库
浏览记录
ID:46574712
大小:567.50 KB
页数:111页
时间:2019-11-25
《软件工程第十一讲》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第十一讲面向对象方法学主讲人:杨兵面向对象的概念面向对象的开发过程面向对象分析与模型化面向对象设计面向对象程序的实现与测试面向对象技术面向对象的概念开发模式什么是面向对象对象类继承开发模式(Paradigm)开发模式又称为范型、范例、风范或模式(Pattern)。开发模式定义了特定问题和应用的开发过程中将遵循的步骤;确定将用于表示问题和解的那些成分的类型;利用这些成分表示与问题解决有关的抽象;直接得到问题的结构。开发模式的选择影响到整个软件开发生存期。就是说,它支配了设计方法编码语言测试和检验技术的选择面向过程开发模式面向过程开发模式产生过程的
2、抽象。这些抽象的基础是把软件视为处理流,并定义成由一系列步骤构成的算法。每一步骤都是带有预定输入和特定输出的一个过程,把这些步骤串联在一起可产生合理的稳定的贯通于整个程序的控制流,最终产生一个简单的具有静态结构的体系结构。面向过程开发模式的特点过程性开发模式侧重建立构成问题解决的处理流。数据抽象、数据结构根据算法步骤的要求开发,它贯穿于过程,提供过程所要求操作的信息。系统的状态是一组全局变量,这组全局变量保存状态的值,把它们从一个过程传送到另一个过程。⑴Initializesystem;⑵Createanddrawinterface;while
3、QUITnotselecteddocaseMouseevent:createshapestructure;readmousemovementsfordata;storenewlycreatedshapeonlistofshaperecords;KeyPressevent:ifkey='q'thenexitloop;elseignore;Exposeevent:refreshdisplaybydrawingeachshapestructure;⑷Shutdownsystem;面向对象开发模式在面向过程开发模式中优先考虑的是过程抽象,在面向对象开发
4、模式中优先考虑的是实体(问题论域的对象)。在面向对象开发模式中,把标识和模型化问题论域中的主要实体做为系统开发的起点,主要考虑对象的行为而不是必须执行的一系列动作。面向对象开发模式的特点面向对象系统中的对象是数据抽象与过程抽象的综合。系统的状态保存在各个数据抽象的所定义的数据存储中。控制流包含在各个数据抽象中的操作内。在面向对象体系结构中,消息从一个对象传送到另一个对象。算法被分布到各种实体中。其它流行的开发模式目前流行多种开发模式,它们提供了许多方法,可进行系统分解。面向过程的;逻辑的;面向存取的;面向进程的;面向对象的;函数型的;说明性的。
5、每个开发模式都有它的支持者和用户;每个开发模式都特别适合于某种类型的问题或子问题;每一个开发模式都用不同的方式考虑问题;每一个开发模式都使用不同的方法来分解问题;每一个开发模式都导致不同种类的块、过程、产生规则。混合开发模式在大型系统的开发中,很难说哪种开发模式对整个问题的解决最好。系统开发时,通常把大型问题分解成一组子问题。对于每个子问题可以采用适当的软件开发模式。这种设计需要有某种实现语言或一组协同语言的支持。许多流行的功能不断增强的语言可支持不只一种设计开发模式。一个智能数据分析系统的设计,可把它看做是4个子系统。系统有一个数据库界面,可
6、以使用面向存取的方法进行设计;智能数据分析用逻辑性的开发模式设计;一组分析算法是过程性的;用户界面是用面向对象开发模式设计出来的。什么是面向对象Coad和Yourdon给出了一个定义:“面向对象=对象+类+继承+通信”。如果一个软件系统是使用这样4个概念设计和实现的,则我们认为这个软件系统是面向对象的。一个面向对象的程序的每一成份应是对象,计算是通过新的对象的建立和对象之间的通信来执行的。对象(object)对象是面向对象开发模式的基本成份。每个对象可用它本身的一组属性和它可以执行的一组操作来定义。属性一般只能通过执行对象的操作来改变。操作又称
7、为方法或服务,它描述了对象执行的功能,若通过消息传递,还可以为其它对象使用。消息(Message)消息是一个对象与另一个对象的通信单元,是要求某个对象执行类中定义的某个操作的规格说明。发送给一个对象的消息定义了一个方法名和一个参数表(可能是空的),并指定某一个对象。一个对象接收的消息则调用消息中指定的方法,并将形式参数与参数表中相应的值结合起来。类(class)类是一组具有相同数据结构和相同操作的对象的集合。类的定义包括一组数据属性和在数据上的一组合法操作。类定义可以视为一个具有类似特性与共同行为的对象的模板,可用来产生对象。在一个类中,每个对
8、象都是类的实例(Instance),它们都可使用类中提供的函数。对象的状态则包含在它的实例变量,即实例的属性中。类←两个四边形对象Quadrilate
此文档下载收益归作者所有