- 1、本文档共93页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
引入面向对象的技术背景--结构化方法的缺点 面向结构化的分析方法的本质是功能分解,这种方法的缺点是:稳定性差、可修改性以及可重用性都较差。这是由于: 1)该方法是围绕着实现处理功能来构造系统的,而用户需求的变化大部分是针对功能的,所以一旦用户的需求发生变化,那么系统的功能势必就要发生变化,即系统的稳定性差; 2)先有系统的边界,即划定了系统实现的范围,再依据它划分系统的功能以及分解得到系统的各个子功能,完成系统后,就难以再扩充系统的边界了; 3)把处理分解成子处理的过程没有固定的模式和指导,每个人对问题的理解也不相同,那么划分系统就是随意的,从而从来都难以重用已有的软件模块。而面向对象的思想恰恰可以针对以上问题,使得问题得以解决。 6.1 面向对象的概念与思想 面向对象方法学的出发点和基本原则,是尽可能模拟人类习惯的思维方式,使软件开发的方法与过程尽可能接近人类认识世界解决问题的方法与过程。 客观世界的问题都是由客观世界中的实体以及实体间的关系构成的。我们把客观世界中的实体抽象为问题域中的对象。 本质上讲,为应用问题寻求软件解,是借助于计算机语言对其提供的实体实施某些动作,以动作的结果给出问题的解。例如, 汇编语言和过程式程序设计语言。汇编语言提供的实体是寄存器、存储单元; 过程式程序设计语言提供的实体是变元、数组、纪录和文件等。这些实体构成解空间中的对象。通常,问题中的实体对象的行为是丰富多彩的,而软件解空间中对象的行为却是单调的。 例如,存储器单元只能进行存和取操作,对于文件,只能进行读、写和定位操作等。显然,从上述的分析和描述,两个空间存在着明显的“语义断层”。 面向对象的需求分析方法通过对象、对象间消息传递等语言机制,让分析人员在解空间中直接模拟问题空间中的对象以及其行为,从而削弱了语义断层,为需求建模活动提供了直观、自然的语言支持和方法学指导。 具体地讲,为了解空间中逼真的模拟现实问题空间并与人类思维习惯相一致,面向对象方法学包含了以下核心概念: 1.概念 (1)对象 对象是现实世界中个体或事物的抽象表示,是其属性和相关操作的封装。属性表示对象的性质,属性值规定了对象所有可能的状态。对象的操作是指该对象可以展现的外部服务。例如,飞机可以视为对象,它有飞行的速度、有颜色、载重量等,该对象可以施行起飞、降落等操作。 简言之,客观世界中的实体 状态(静态属性 Attributes) 操作(动态行为 Mehtods) (2)类 类是某些对象的共同特征(属性和操作)的表示,相同属性和行为的对象的抽象。 实例是特定类所描述的一个具体对象.对象是类的实例。例如,飞行器类可以包括位置、速度、加速和颜色等属性,以及起飞和降落等操作。 (3)继承 类之间的继承关系是现实世界中遗传关系的直接模拟,它表示类之间的内在关系以及对其属性和操作的共享,即子类可以沿用父类(被继承类)的某些特征。子类直接继承父类的数据和操作,当然,子类也可以具有自己独特的属性和操作。 继承的传递性,单继承、多重继承 (4)聚集 除继承关系外,现实世界中还普遍存在着部分-整体关系。这种关系在面向对象方法学中表示为类之间的聚集关系。在聚集关系下,部分类的对象是整体类对象的一个组成部分。 (5)消息 对象间的交互手段,消息传递是对象与其外部世界相互关联的唯一途径。对象可以向其它对象发送消息以请求服务,也可以响应其它对象发送来的消息,完成自身固有的某些操作,从而服务于其它对象。由于对象的操作主要用来响应外部消息并为其它对象提供服务,所以它们也被称为“外部服务”。 面向对象=对象+类+继承+聚集+消息 2 思想 面向对象分析方法使得软件工程师能够通过对象、属性和操作(作为主要的建模成分)的表示来对问题建模。尤其是对象的合作来完成功能域的建模。 建立分析模型5个基本原则: (1)建模信息域; (2)建模功能域,描述模块功能; (3)表示模型行为; (4)分解模型以显示更多细节; (5)早期模型表示问题的本质,而后期 模型提供实现细节。 传统方法和面向对象方法的比较 结构化方法和面向对象方法的区别 结构化方法的本质是功能分解,自顶而下,逐步分解。 面向对象方法的本质是功能聚合,自低而上,逐步组装。 流行的几种面向对象方法 6.由Rumbaugh 、 Booch 、 Jacobson 提出的Unify Modeing Language简称UML UML主要以 Booch方法、 OMT方法、 OOSE方法为基础,同时也吸收了其他面向对象建模方法的优点,形成了一种概念清晰、表达能力丰富、使用范围广泛的面向对象的标准建模语言,是一种基于面向对象的可视化建模语言。它提供了丰富的用图形符
您可能关注的文档
最近下载
- 龙湖地产项目全周期运营管理.pptx
- XF 1261-2015 长管空气呼吸器.pdf
- [模版]民事诉讼状(侵害集体经济组织成员权益纠纷).doc VIP
- 中国工业打印机头行业市场占有率及投资前景预测分析报告.pdf VIP
- 某某物流公司风险分级管控和隐患排查治理指导手册.pdf VIP
- 董卿朗诵《生命》原文(通用3篇).docx
- 江门市检察机关招聘劳动合同制司法辅助人员笔试试卷及答案2022.docx VIP
- 2023磷酸铁锂电池储能用液冷机组技术规范.docx
- 限禁用物质管理标准规定.pdf
- 2023广东江门市检察机关招聘劳动合同制司法辅助人员(32人)笔试备考试题及答案解析.docx VIP
文档评论(0)