- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程 第9讲 面向对象的方法 9.1传统方法与面向对象方法 (1)传统方法存在的问题 传统方法的发展 以结构化程序设计为基础,并逐步扩展到分析与设计阶段的一种软件工程方法。 面向功能的方法 面向数据流的方法 面向数据结构的方法 传统方法的本质 进行功能分解,从目标系统的整体功能着手,自顶向下不断将复杂的处理分解为子处理,直至每个子处理比较简单,在使用的时候一个一个依次调用就可以了 。 传统方法存在的主要问题 由于围绕处理功能来构造系统的,因此任何需求的变化都会对原有系统产生致命的影响; 需求不能精确描述,从分析到设计的转化存在鸿沟,造成分歧,系统的稳定性和易变性差; 将数据与实现方法相分离的做法,偏离了客观世界中人们处理问题的方式; 产生的软件重用性差,易变性差,可维护性差,软件不能满足用户要求的问题。 (2)面向对象的概念与思想 (1)认识问题、分析问题、解决问题的方式不同 将数据和方法封装在一个称为“对象”的统一体中; 对象之间通过“消息”相互联系,“对象+消息”机制取代了“数据结构+算法”的思路,减小了系统变化所带来的波动性; 以对象为中心构建系统。 (2)“问题空间”与“解空间” 有较一致的表示 在“OOA-OOD-OOI”的过程中,采用一致的模型表示,弥合了“鸿沟”问题。 (3)利用继承性和封装性支持软件复用 后一阶段可直接复用前一阶段的结果,可重用性好。 (4)适应复杂大型系统的发展和变化要求 以对象为中心,而不是基于功能与功能的分解来建立系统,因此,当功能需求发生变化时,不会引起系统的整体变化,稳定性较好 例如五子棋,传统的设计思路就是确定问题的步骤: 1、开始游戏, 2、黑子先走, 3、绘制画面, 4、判断输赢, 5、轮到白子, 6、绘制画面, 7、判断输赢, 8、返回步骤2, 9、输出最后结果。 把上面每个步骤用分别的函数来实现,问题就解决了。 面向对象的设计则是从另外的思路来解决问题。整个五子棋可以分为: 1、黑白双方,这两方的行为是一模一样的, 2、棋盘系统,负责绘制画面, 3、规则系统,负责判定诸如犯规、输赢等。 第一类对象(玩家对象)负责接受用户输入,并告知第二类对象(棋盘对象)棋子布局的变化,棋盘对象接收到了棋子的变化就要负责在屏幕上面显示出这种变化,同时利用第三类对象(规则系统)来对棋局进行判定。 9.2 传统面向对象方法 OOA/OOD方法(Coad和Yourdon提出) OMT方法(Rumbaugh提出) Booch方法(Booch提出) OOSE方法(Jacobson提出) Coad/Yourdon方法 (1)方法简介 提出: P. Coad 和E. Yourdon于 1991年提出。 该方法分2个阶段: OOA(Object-Oriented Analysis)面向对象分析 OOD(Object-Oriented Design)面向对象设计。 主题(subject)又称为子系统(subsystem)是将一些联系密切的类组织在一起的类的集合。按照粒度控制原则,将系统组成几个主题,便于理解。 用“对象-关系模型”描述系统的静态结构 通过消息连接说明所标识的各种对象是如何通信、协作,使系统运作起来 。 什么是问题域设计 OOD是对OOA的修改、增补 根据实现技术及实现方面的限制,合并或分开一些类及对象、结构、属性、服务,但保留在OOA模型中所捕获到的基本的系统行为 什么是人机交互设计 通常在OOA阶段给出了所需的属性和操作,在设计阶段必须根据需求把交互的细节加入到用户界面的设计中,包括有效的人机交互所必需的实际显示和输入。 什么是任务管理设计 当系统中有许多并发行为时,需要依照各个行为的协调和通信关系,划分各种任务。任务管理主要包括识别事件驱动任务、识别时钟驱动任务、识别优先任务、识别协调任务、审查每个任务、定义每个任务等 什么是数据管理设计 数据管理提供了在数据管理系统中存储和检索对象的基本结构,包括对永久性数据的访问和管理。它分离了数据管理机构所关心的事项,包括文件、关系型DBMS或面向对象DBMS等。 9.3 UML与RUP (1)UML概述 20世纪90年代,3个最流行的面向对象方法是:OMT方法(Rumbaugh提出),Booch方法(Booch提出),OOSE方法(Jacobson提出),每种方法各有所长,但不同符号体系的使用给用户带来了混乱。 1994年Rumbaugh加入Booch所在的Rational公司,他们将Booch和OMT方法统一为UM0.8,后来Jacobson也加入到这一工作中,并于1996年6月和10月发布了UML0.9和UML0.91。到1996年年底
您可能关注的文档
最近下载
- 全套IECQQC080000-2017有害物质过程管理体系文件(HSPM).pdf VIP
- 中国东方资产管理股份有限公司招聘笔试题库2025.pdf
- 市场调查与分析: 数据分析网络调查报告撰写 (慕课版)王晓燕习题答案.docx
- 起重装卸机械操作工高级工培训大纲与教学内容概述.docx VIP
- 2025至2030中国中药饮片行业市场发展现状及竞争格局与投资发展报告.docx
- 2025年教科版六年级上册科学第一单元综合检测试卷及答案.pptx VIP
- 《企业质量管控与应用》课件.ppt VIP
- 吊顶施工合同范本.pdf VIP
- 公共建筑室内温度控制管理办法——空调系统节能运行管理制度.doc VIP
- 统编版八年级语文上册课件《诗词五首-渔家傲》.pptx VIP
文档评论(0)