- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十章 面向对象方法学引论 10.1.1 传统方法学 1.僵化的瀑布模型 2.传统结构化技术的缺点 1.僵化的瀑布模型 (1)有些类型的系统需求是模糊的 (2)项目参与者之间存在通信鸿沟 (3)预先定义的需求可能是过时的 2.传统结构化技术的缺点 结构分析与结构设计技术的本质是功能分解,是围绕实现处理功能的过程来构造系统的。结构化方法强调过程抽象和模块化,是以过程(或操作)为中心来构造系统和设计程序的。 然而用户需求的变化大部分是针对加工的,因此这种变化对基于过程的设计来说是灾难 。 2.传统结构化技术的缺点 结构分析与结构设计技术清楚地定义了目标系统的接口。当系统对外界的接口发生变动时,也就是说,这样的系统较难修改和扩充。 结构化方法把数据和操作作为分离的事实,以至在实现阶段,一些具有潜在可重用价值的软件部件(也称为软构件)已和具体应用环境密不可分。 上述种种原因都使得用结构分析与结构设计技术开发出的软件可重用性较差。 从80年代后期开始,进行了面向对象分析(OOA)、面向对象设计(OOD)和面向对象程序设计(OOP)等新的系统开发方式模型的研究,在有些文献中统称为OO范型。 软件包括以下几方面的能力: 面向对象方法学核心概念 面向对象方法学核心概念 面向对象方法学核心概念 面向对象方法学核心概念 面向对象方法学核心概念 2.面向对象方法学的优点 (1)符合人们通常的思维方式 面向对象方法强调把问题域的概念直接映射到对象以及对象之间的接口,符合人们通常的思维方式,减少了结构化方法从问题域到分析阶段的映射误差。 (2)高度连续性 面向对象方法从分析到设计再到编码采用一致的模型表示,后一阶段可以直接利用前一阶段的工作成果,弥合了结构化方法从数据流图到模块结构图转换的鸿沟,减少了工作量和映射误差。 2.面向对象方法学的优点 (3)重用性好 由于可以像使用集成电路(IC)构造计算机硬件那样,比较方便地重用对象类来构造软件系统,因此,有人把类称为“软件IC”。 (4)可维护性好 在客观世界以及作为它的映射的软件系统中,实体的结构是相对稳定的。面向对象方法通过把属性和服务封装在“对象”中,当外部功能发生变化时,保持了对象结构的相对稳定,使改动局限于一个对象的内部,减少了改动所引起的系统波动效应。 10.2 面向对象的基本任务 10.2.1 抽象 1.什么是抽象 2.如何用面向对象的方法实现抽象 10.2.2 封装 10.3. 面向对象基础概念 10.3.1 对象 1.对象的认定及特征 2.目标系统对象认定及筛选 3.筛选对象 10.3.2 其它概念 1.类(class) 2.属性(Attribute) 3.方法(Method) 4.消息(Message) 5.继承(Inheritance) 6.服务 10.3 面向对象基础概念 10.3 面向对象基础概念 10.3 面向对象基础概念 认定对象起步于对用户需求的正文描述进行 语法分析。找出所有的名词或名词短语并合 并同义词。除去有动作含义的名词,它们将 被描述为对象的操作而非对象本身。 10.3 面向对象基础概念 10.3 面向对象基础概念 以下是识别有用对象的鉴别或筛选规则:(1)对象应具有记忆其自身状态的能力。并且,对象的属性应是目标系统所关心的,或者是目标系统正常运转所必须的。 (2)对象应进行有意义的操作,以某种方式修改其状态(属性值)。 (3)对象应具有多种有意义的属性。仅有一种属性的对象最好表示为其他对象的属性。 10.3 面向对象基础概念 (4)为对象定义的有关属性应适合于对象的所有实例。如果对象的一个实例不具备某种属性,那往往意味着问题域中存在尚未发现的类继承关系。因此,应该利用继承关系将原有对象和该特殊实例区分为两类对象。例如,如果应用问题要求考虑所有的机动车辆,那么不能设置具有“柴油发动机”属性的“机车”对象,而应分别定义“柴油机车”和“汽油机车”对象,它们均为“机车”类的子类的实例。 · (5)为对象定义的有关操作应适合于对象的所有实例。 (6)对象应是软件需求模型的必要成分,与设计和实现方法无关。 10.3 面向对象基础概念 10.3 面向对象基础概念 10.3 面向对象基础概念 10.3 面向对象基础概念 10.3 面向对象基础概念 属性是对问题域中对象性质 的刻画,属性的取值决定了对象所有可能状态。 在识别属性的过程中,应注意以下问题,以免找出冗余的或不正确的属性: (1)对于问题域中的某个实体,如果不仅其取值有意义,而且它本身独立存在也有相当重要性,则应该将该实体作为
文档评论(0)