精·xcl第10章 面向对象分析.ppt

  1. 1、本文档共69页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
d. 三元关联 三个或三个以上对象之间的关联,大多可以分解为二元关联或用词组描述成限定关联。 ? 柜员输入针对账户的事务 = 柜员输入事务 + 事务修改账户 ? 分行计算机处理针对账户的事务 = 分行计算机处理事务 + 事务修改账户 ? ATM与中央计算机交换关于事务的信息 = ATM与中央计算机通信 + 在ATM上输入事务 注:识别链属性 —— 某实体仅用于描述另两个实体的关系,且该实体本身不包含属性。例如“公司付给员工工资”可分解为“公司雇用员工”,附链属性“工资”。 e. 派生关联 应该去掉那些可用其他关联定义的冗余关联。 ? 总行拥有多台ATM ? 分行提供分行计算机和柜员终端 ? 储户拥有账户 ? 总行由各个分行组成 ? 分行保管账户 ? 总行拥有中央计算机 ? 现金兑换卡访问账户 ? 储户拥有现金兑换卡 ? 分行雇用柜员 ? 分行计算机处理事务 ? 分行计算机维护账户 ? 柜员终端与分行计算机通信 ? 柜员输入事务 ? 事务修改账户 ? ATM与中央计算机通信 ? 在ATM上输入事务 ? 中央计算机确定事务与分行的对应关系 (3) 进一步完善 进一步完善经筛选后余下的关联,通常从下述几个方面进行改进: a. 正名 好的名字是帮助读者理解的关键因素之一。因此,应该仔细选择含义更明确的名字作为关联名。 分行提供分行计算机和柜员终端 = 分行拥有分行计算机 + 分行拥有柜员终端 b. 分解 为了能够适用于不同的关联,必要时应该分解以前确定的类—&—对象。 事务 = 远程事务 + 柜员事务 c. 补充 发现了遗漏的关联就应该及时补上。 ? 柜员输入柜员事务 ? 在ATM上输入远程事务 ? 柜员事务输进柜员终端 ? 远程事务由现金兑换卡授权 d. 标明阶数 应该初步判定各个关联的类型,并粗略地确定关联的阶数。 (可能经常变动,不要花太多时间) 3、划分主题 在开发很小的系统时,可能根本无须引入主题层;对于含有较多对象的系统,则往往先识别出类--对象和关联,然后划分主题,并用它作为指导开发者和用户观察整个模型的一种机制;对于规模极大的系统,则首先由高级分析员粗略地识别对象和关联,然后初步划分主题,经进一步分析,对系统结构有更深入的了解之后,再进一步修改和精炼主题。 按问题领域而不是用功能分解方法来确定主题。按照使不同主题内的对象互间依赖和交互最少的原则来确定主题。 中央计算机 分行计算机 现金兑换卡 总 行 分 行 拥有 分行 代码 组成 通信 1+ 通信 拥有 柜员终端 柜员事务 分 行 通信 1+ 1+ 拥有 1+ 雇用 输入 1+ 1+ 输入 账 户 修改 1+ 储 户 保管 1+ 拥有 1+ 远程事务 ATM 拥有 1+ 1+ 1+ 访问 1+ 1+ 修改 授权 1+ 输入 1+ 1 2 3 1. 总 行 2. 分 行 3. ATM 4、确定属性 属性是对象的性质。在分析阶段不要用属性来表示对象间的关系,使用关联能够表示两个对象间的任何关系。 一般说来,确定属性的过程包括分析和选择两个步骤。 分析 在需求陈述中用名词词组表示属性,用形容词表示可枚举的具体属性。 属性的确定既与问题域有关,也和目标系统的任务有关。应该仅考虑与具体应用直接相关的属性,不要考虑那些超出所要解决的问题范围的属性。在分析过程中应该首先找出最重要的属性,以后再逐渐把其余属性增添进去。在分析阶段不要考那些纯粹用于实现的属性。 (2) 选择 认真考察初步分析而确定下来的那些属性,从中删掉不正确的或不必要的属性。通常有以下几种常见情况: a. 误把对象当作属性 如果某个实体的独立存在比它的值更重要,则应把它作为一个对象而不是对象的属性。在具体应用中具有自身性质的实体,必然是对象。同一个实体在不同应用领域中,到底应该作为对象还是属性,需要具体分析才能确定。 b. 把链属性误作为属性 如果某个性质依赖于某个关联链的存在,则该性质是链属性,在分析阶段不应该把它作为对象的属性。特别是在多对多关联中,链性很明显,即使是在以后的开发阶段中,也不能把它归并成相互关联的两个对象中一个的属性。 c. 把限定误当成属性 限定是一种特殊的链属性,正确使用限定词往往可以减少关联的阶

文档评论(0)

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

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

1亿VIP精品文档

相关文档