文档详情

软件工程ppt课件第09章面向对象方法学引论.pptx

发布:2025-05-06约1.39万字共10页下载文档
文本预览下载声明

第九章面向对象方法学引论

(Object-OrientedMethodology)§1面向对象方法学概述1、瀑布模型的缺点:僵化瀑布模型要求:生命周期各阶段间遵守严格的顺序。实际情况是:软件开发往往在反复实践中完成。瀑布模型要求:预先定义并“冻结”软件需求。实际情况是:某些系统的需求是一个逐渐明确的过程,且预先定义的需求到软件完成时可能已经过时。

1面向对象方法学概述本质上是功能分解,以实现功能的过程为中心,而用户的需求变化主要是针对功能的。这就使基于过程的设计不易被理解;且功能变化往往引起结构变化较大,稳定性不好。系统有明确的边界定义,且系统结构依赖于系统边界的定义,这样的系统不易扩充和修改。数据与操作分开处理,可能造成软构件对具体应用环境的依赖,可重用性(reusability)较差.SA-SD-SP技术的缺点:(结构化分析、结构化设计、结构化程序设计)

面向对象方法把数据和行为看成同等重要,它是一种以数据为主线,把数据和对数据的操作紧密地结合起来的方法。面向对象方法学具有下述4个要点。把对象(object)作为融合了数据及在数据上的操作行为的统一的软件构件。面向对象程序是由对象组成的,程序中任何元素都是对象,复杂对象由比较简单的对象组合而成。3、面向对象方法学(OOM)

按照父类(或称为基类)与子类(或称为派生类)的关系,把若干个相关类组成一个层次结构的系统(也称为类等级)。在类等级中,下层派生类自动拥有上层基类中定义的数据和操作,这种现象称为继承。对象彼此间仅能通过发送消息互相联系。也就是说,对象的所有私有信息都被封装在该对象内,不能从外界直接访问,这就是通常所说的封装性。把所有对象都划分成类(class)。每个类都定义了一组数据和一组操作,类是对具有相同数据和相同操作的一组相似对象的定义。

杭州北京Post-officeMessageSendbymethod对象ObjectObject=数据AttributeAttributes:location;employee;……+操作MethodMethods:send;sell;……注意:Object内部的attributes不允许外部用户直接改动,只有当它提供了相应的服务method时,用户才能通过发送message来提请它执行。我想把邮局搬到我家门口,多加几个邮递员,24小时都开门……对不起,本邮局不提供此类服务唉,那就先送束花吧——Post_office.Send(request,payment)例:

?特点:尽可能模拟人类习惯的思维方式,即问题域与求解域在结构上尽可能一致。与传统方法相反,OOM以数据或信息为主线,把数据和处理结合构成统一体——对象。这时程序不再是一系列工作在数据上的函数集合,而是相互协作又彼此独立的对象的集合。?OOM的四要素:①对象(object):世界由对象组成。②类(class):对象可划分为类;单个对象可视为某一类的实例(instance)。§1面向对象方法学概述

1面向对象方法学概述例:classPost_office{private:loc_typelocation;emp_typeemployee;……public:voidsend(req_typerequest,money_typepayment);voidsell(intgoods,money_typepayment);……};main(){Post_officeMy_PO;req_typeMy_request;money_typeMy_payment;……My_PO.Send(My_request,My_payment);……}

继承(inheritance):类可分层,下层子类与上层父类有相同特征,称为继承。消息(message):对象间只能通过发送消息进行联系,外界不能处理对象的内部数据,只能通过消息

显示全部
相似文档