1.3 面向对象的分析方法.doc

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1.3 面向对象的分析方法

3 面向对象的分析方法 面向对象分析 作为一个比较全面的方法,面向对象分析由五个主要步骤组成,即确定类与对象,识别结构,识别主题,定义属性和定义方法。一旦建立了模型,就可以由五个层次来表示,它们是: 主题层 主题给出分析模型的总体概貌。 对象层 对象是数据及其处理的抽象。它反映了系统保存和处理现实世界中某些事物的信息的能力。 结构层 结构表示问题域的复杂性。类—成员结构反映了一般——特殊关系,整体——部分结构反映了整体和部分的关系。 属性层 属性就是数据元素,可用来描述对象或分类结构的实例,可在图中给出并在对象的存储中定义。 方法层 方法是在收到消息后必须进行的处理,在图上定义它并在对象的存储中指定。 一、 确定类与对象 1、什么是类、对象 在面向对象分析中对象是一个封装体和抽象体,即是属性和处理这些属性的方法的封装体以及问题域的抽象体。类是对一个以上对象的共同属性和方法集合的描述,包括如何在一个类中建立新对象的描述。 属性以及处理这些属性的方法的封装体对面向对象分析模型的稳定性影响很大。首先,封装性是可以将属性和方法看成一个不可分割的整体的基础。第二,封装性有助于减少重复劳动。 在面向对象分析中,对问题域中某件事情的抽象是很重要的。事实上,在每次分析活动中,分析人员必须首先理解要分析的问题域。而将对象定义为现实世界的抽象,这样有助于深刻理解问题域,从而获得系统模型。这种模型至少可以产生一个现实的 可观察且可管理的模型层集合,包括主题、对象、结构、属性和方法。 系统模型还为上下文的初始表示奠定了基础。上下文树是由系统分析人员在分析过程中画出来用于技术决策的。系统上下文表明该系统包含有几个问题域、要保存什么样的数据、处理的复杂程度如何等。系统上下文有着“四重约束”,即预算、进度、性能和人员。为了使一个项目顺利进行,必须满足所有这四个约束。 2、为什么要识别对象 识别对象的主要目的是为了使一个系统的技术表示同现实世界更为接近。这种分析的表示和策略是依据人类的3种基本分析方法的,即对象和属性,类与成员,以及整体和部分。 识别对象的另一个目的是希望建立考察问题领域和了解需求的稳定框架。对象只是相对稳定的,但分析问题的框架却是稳定的。 最后一个动机是希望在从系统分析向系统设计过渡时不要改变所采用的表示法。如多年来在分析中使用的是网络组织(数据流程图),而在设计中使用的则是层次组织(结构图)。这一状况使开发者感到十分不便,无法跟踪开发过程。为此可以通过在分析、设计和实现三个阶段均采用面向对象的表示法来改进这一局面。 3、如何定义对象。 (1)、表示法 类--对象 类 (2)何处去确定对象 问题域、文字说明和图形表示都是有助于确定对象的素材。 首先应该观察问题域并研究问题域本身。问题域是用户的世界,用户一般在问题域中给出或隐含地给出某种形式的需求,这些需求可能是几句话的描述,也可能是大段的叙述。 其次是研究文字说明材料。让用户提供一个详细的专题报告,并从专业书籍中找到该问题域的权威描述,这种方法有助于了解某个专题的基本知识和术语,同时这样一种调研也可尽快掌握问题域的概貌。在阅读时,重点注意名词,但不能简单地把这些名词声明为对象。 最后是要仔细地观察各种图形表示。收集所能拿到的任何图形表示,包括方块图、接口图、系统部件图和高层次的数据/控制流程图等,并用图符和它们之间的连线的方式画出问题域的草图。 (3)哪些可以作为对象 为了确定潜在的对象,需要首先确定问题域的结构、有关系统、装置、所记忆的事件、所起的作用、地点和组织机构。下面按其用途的大小不依次考虑这些问题。 结构。 问题域中的结构对确定对象和表示问题域层十分重要。在面向对象分析中,有专门的一个识别结构的步骤。在结构当中,最为重要的就是泛化——特化结构和整体——部分结构(后面详细叙述)。 有关系统。 所考虑的系统将以何种方式同有关的系统和外部终端交互?如无线或者是有线。 装置。 所考虑的系统需要同何种装置进行交互(交换数据和控制信息)。要注意的是不要从实现上而应从功能上来考虑,以便出在具体实现变化时,无须作太多的重复性劳动。 应记忆的事件。 系统是否有必要观测和记录时间点和历史事件。 人所起的作用。 在所考虑的系统中,人起什么作用?代表人的对象有两种:系统用户;并不与系统直接交互,但系统有其记录的人。他们在系统中起的作用不同,后面的属性和方法的探讨将更详细地揭示这种区别。

文档评论(0)

zhuwenmeijiale + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7065136142000003

1亿VIP精品文档

相关文档