第十章面向对象分析(案例讲座).ppt

  1. 1、本文档共62页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程 第+章 面向对象分析 面向对象的分析 面向对象分析的目的是对客观世界的系统进行建模。以前面介绍的模型概念为基础,结合“银行网络系统ATM”的具体实例来构造客观世界问题的准确、严密的分析模型。 ?? 分析模型有三种用途: 用来明确问题需求; 为用户和开发人员提供明确需求; 为用户和开发人员提供一个协商的基础,作为后继的设计和实现的框架。 系统分析的第一步是:陈述需求 分析者必须同用户一块工作来提炼需求,因为这样才表示了用户的真实意图,其中涉及对需求的分析及查找丢失的信息。 下面以“银行网络系统”为例,用面向对象方法进行开发。 银行网络系统问题陈述: 设计支持银行网络的软件,银行网络包括人工出纳站和分行共享的自动出纳机。 每个分理处用分理处计算机来保存各自的帐户,处理各自的事务;各自分理处的出纳站与分理处计算机通信,出纳站录入帐户和事务数据; 自动出纳机与分行计算机通信,分行计算机与拨款分理处结帐,自动出纳机与用户接口接受现金卡,与分行计算机通信完成事务,发放现金,打印收据; 系统需要记录保管和安全措施;系统必须正确处理同一帐户的并发访问;每个分处理为自己的计算机准备软件,银行网络费用根据顾客和现金卡的数目分摊给各分理处。 系统分析的第二步是:建立对象模型 首先标识和关联,因为它们影响了整体结构和解决问题的方法, 其次是增加属性,进一步描述类和关联的基本网络,使用继承合并和组织类, 最后操作增加到类中去作为构造动态模型和功能模型的副产品。 1.确定类 构造对象模型的第一步是标出来自问题域的相关的对象类,对象包括物理实体和概念。 常用的识别类的方法有:名词识别法、系统实体识别法、使用重用、从用例中识别类等。 所有类在应用中都必须有意义,在问题陈述中,并非所有类都是明显给出的。有些是隐含在问题域或一般知识中的。 按图所示的过程确定类和对象 (1)找出候选的类与对象 查找问题陈述中的所有名词,产生如下的候选类与对象。 ? 软件 银行网络 出纳员 自动出纳机 分行 ? 分处理 分处理计算机 帐户 事务 出纳站 ? 事务数据 分行计算机 现金卡 用户 现金 ?收据 系统 顾客 费用 帐户数据 ?访问 安全措施 记录保管 (2)筛选出正确的类与对象 根据下列标准,筛选出正确的类与对象,去掉不必要的类和不正确的类。 (1) 冗余类:若两个类表述了同一个信息 ,保留最富有描述能力的类。如“用户”和“顾客”就是重复的描述,因为“顾客”最富有描述性,因此保留它。 ?(2) 无关类:除掉与问题没有关系或根本无关的类。例如,摊派费用超出了银行网络的范围。 ?(3) 笼统(模糊)类:类必须是确定的,有些暂定类边界定义模糊或范围太广,如“记录保管”就模糊类,它是“事务”中的一部分。 在银行网络系统中,模糊类还有“系统”、“安全措施”、“银行网络”等。 (4) 属性:某些名词描述的是其他对象的属性,则从暂定类中删除。如果某一性质的独立性很重要,就应该把他归属到类,而不把它作为属性。“现金 ”“卡号”“密码”等,应该作为属性对待。 属于属性的有:“帐户数据”、“收据”、“现金”、“事务数据”。 ? (5) 操作:如果问题陈述中的名词有动作含义,则描述的操作就不是类。但是具有自身性质而且需要独立存在的操作应该描述成类。如我们只构造电话模型,拨号就是动态模型的一部分而不是类,但在电话拨号系统中,拨号是一个重要的类,它日期、时间、受话地点等属性。 属于实现的如:“访问”、“软件”等。这些均应除去。在分析阶段不应该过早考虑系统的实现,因此,应该去掉和实现有关的候选类。 最终确定的类为: 分行计算机 分行 出纳站 出纳员 分理处 中央计算机 自动出纳机 账户 现金卡 事务 顾客 2.准备数据字典 ?? 为所有建模实体准备一个数据字典。准确描述各个类的精确含义,描述当前问题中的类的范围,包括对类的成员、用法方面的假设或限制。 3.确定关联 两个或多个类之间的相互依赖、相互作用的关系就是关联。 可用各种方式来实现关联,但在分析模型中应删除实现的考虑,以便设计时更为灵活。 关联常用描述性动词或动词词组来表示,其中有物理位置的表示、传导的动作、通信、所有者关系、条件的满足等。 从问题陈述中抽取所有可能的关联表述,把它们记下来,但不要过早去细化这些表述。 下面是银行网络系统中所有可能的关联,大多数是直接抽取问题中的动词词组而得到的。 在陈述中,有些动词词组表述的关联是不明显的。 最后,还有一些关联与客观世界或人的假设有关,必须同用户一起核实这种关联,因为这种关联在问题陈述中找不到。

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档