第九章 面向对象方法学引论(Object - Oriented Methodology).ppt
《第九章 面向对象方法学引论(Object - Oriented Methodology).ppt》由会员分享,可在线阅读,更多相关《第九章 面向对象方法学引论(Object - Oriented Methodology).ppt(32页珍藏版)》请在麦多课文档分享上搜索。
1、第九章 面向对象方法学引论 (Object - Oriented Methodology),1传统方法学的缺点 1、瀑布模型的缺点:僵化 瀑布模型要求:生命周期各阶段间遵守严格的顺序。 实际情况是:软件开发往往在反复实践中完成。 瀑布模型要求:预先定义并“冻结”软件需求。 实际情况是:某些系统的需求的一个逐渐明确的过程,且预先定义的需求到软件完成时可能已经过时。,还记得那个倒霉的开发了近二十年的IRS系统吗?,1传统方法学的缺点,本质上是功能分解,以实现功能的过程为中心,而用户的需求变化主要是针对功能的。这就使基于过程的设计不易被理解;且功能变化往往引起结构变化较大,稳定性不好。 系统有明确的
2、边界定义,且系统结构依赖于系统边界的定义,这样的系统不易扩充和修改。 数据与操作分开处理,可能造成软构件对具体应用环境的依赖,可重用性(reusability)较差.,2、SA - SD - SP 技术的缺点:,2. 软件工程的新途径,1、快速原型法(Prototyping) 适用于用户驱动的系统(即需求模糊或随时间变化的系统),Prototype,Feedback,Modification,2. 软件工程的新途径, 抛弃原型法(throw - away prototype)Brooks (1975) : “Do it twice.” Version 1 : a trial to verify
3、 requirements , and to get enough feedback. Version 2 : produced following a waterfall model., 演化原型法(evolutionary prototype) 螺旋模型(the spiral model) : Boehm (1988),Risk analy-sis,Prototype 1,Simulations, models, benchmarks,Requirements plan, life-cycle plan,Concept of operation,Prototype 2,Risk analy
4、sis,Software requirements,Requirements validation,Develop-ment plan,Risk analysis,Prototype 3,Software product design,Design validation and verification,Integration and test plan,Risk analysis,Operational prototype,Detailed design,Unit test,Code,Integration and test,Acceptance test,Implementation,Pl
5、an next phases,Develop, verify next-level product,Determine objectives, alternatives, constrains,Evaluate alternatives, identify, resolve risks,Cumulative cost,Progress through steps,The spiral model,2. 软件工程的新途径, 渐增模型(the incremental model) : Gilb (1988)The waterfall model is still followed , but fo
6、r each separate increment .,2. 软件工程的新途径,注:演化原型法与传统方法最大的不同,在于它是一种高度迭代的动态方法,系统的初始版本很早就交付用户试用。,杭 州,北 京,Message,Send by method,对象Object,Object,= 数据Attribute,Attributes:location;employee;,+ 操作Method,Methods:send;sell;,注意:Object内部的attributes不允许外部用户直接改动,只有当它提供了相应的服务method时,用户才能通过发送message来提请它执行。,我想把邮局搬到 我家
7、门口,多加几个 邮递员,24小时都开门 ,对不起, 本邮局不提供 此类服务,唉,那就先送束花吧 Post_office.Send (request, payment),2. 软件工程的新途径,2、面向对象方法学(OOM) 例:,2. 软件工程的新途径, 特点:尽可能模拟人类习惯的思维方式,即问题域与求解域在结构上尽可能一致。与传统方法相反,OOM以数据或信息为主线,把数据和处理结合构成统一体 对象。这时程序不再是一系列工作在数据上的函数集合,而是相互协作又彼此独立的对象的集合。, OOM的四要素:,对象(object):世界由对象组成。, 类 (class) :对象可划分为类;单个对象可视为某
8、一类的实例 (instance)。,2. 软件工程的新途径,例: class Post_office private :loc_type location ;emp_type employee ;public :void send (req_type request, money_type payment);void sell (int goods, money_type payment) ; ;,main ( ) Post_office My_PO ;req_type My_request ;money_type My_payment ;My_PO.Send ( My_request, My
9、_payment) ;,2. 软件工程的新途径, 继承(inheritance):类可分层,下层子类与上层父类有相同特征,称为继承。, 消息(message):对象间只能通过发送消息进行联系,外界不能处理对象的内部数据,只能通过消息请求它进行处理(如果它提供相应消息的话)。,2. 软件工程的新途径,OOM:以object 为核心,强调对现实概念的模拟而不强调算法。“面向对象方法学的基本原则,是按照人们习惯的思维方式建立问题域的模型,开发出尽可能直观、自然地表现求解方法的软件系统”。 Class:由特殊到一般的归纳(induction) Inheritance:由一般到特殊的演绎(deducti
10、on),OOM = Object+Class+Inheritance+Communication with messages, OOM的优点:, 传统方法:面向过程设计,以计算为核心,数据与操作分离,不易理解。,2. 软件工程的新途径,OOM:以object模拟实体,需求变化不会引起结构的整体变化,因为实体相对稳定,故系统也相应稳定。, 传统方法:结构依赖于功能,不稳定。,传统方法:通过建立标准函数库来重用软构件。但标准函数缺少必要的“柔性”,难以适应不同场合的不同需要。,OOM:一个class所有的 instances 都可重用它的代码;由 inheritance 派生出的新的 class
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第九 面向 对象 法学 引论 OBJECTORIENTEDMETHODOLOGY PPT
