UML第八章定义属性与服务.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
UML第八章定义属性与服务

第8章 定义属性与服务 8.1 对象的属性和服务 8.2 表示法 8.3 定义属性 8.4 定义服务 8.5 建立类图的特征层 8.6 电梯例子 本章将介绍如何通过分析和识别事物的内部特征来定义对象的属性和服务,并建立类图的特征层。 8.1 对象的属性和服务 早在面向对象方法刚刚起步时,N.Wirth曾有一句名言“程序=算法+数据结构”。面向对象程序设计的不同之处只是在于:以对象为基本单位来组织系统中的数据和操作,形成对问题域中事物的直接映射。 属性的定义是:属性是描述对象静态特征的一个数据项。 服务的定义是:服务是描述对象动态特征(行为)的一个操作序列。 类属性的定义是:类属性是描述类的所有对象的共同特征的一个数据项,对于任何对象实例,它的属性值都是相同的。这样的属性对一个类的全部对象实例只是一份共同的数据空间,所以对任何对象而言,该属性的值总是相同的。 主动服务是不需要接收消息就能主动执行的服务,它在程序实现中是一个主动的程序成分;被动服务是只有接收到消息才执行的服务,它在编程实现中是一个被动的程序成分。 8.2 表示法 服务的表示法,是在类符号的下部填写每个服务的名字;对于主动服务,须在服务名之前加一个标记“@”。图8-1是属性和服务表示法示意图。 8.3 定义属性 首先考虑借鉴以往的OOA结果,看看已开发的OOA模型中是否存在相同或相似的问题域,尽可能复用其中同类对象的属性定义。 然后,研究当前的问题域和系统责任,针对本系统应该设置的每一类对象,按照问题的实际情况,以系统责任为目标进行正确的抽象,从而找出每一类对象应有的属性。 8.3.1 策略与启发 从常理判断这个对象应该具有哪些属性。 根据当前问题域分析这个对象应该有哪些属性。 从系统责任要求的角度分析这个对象应具有哪些属性。 建立这个对象涉及到系统中所需的哪些信息,包括要保存和管理的信息。 对象有哪些需要区别的状态,是否需增加一个属性来区别这些状态。 对象为了在服务中实现其功能,需要增设哪些属性。 表示整体-部分结构和实例连接需要用什么属性。 8.3.2 审查与筛选 这个属性是否体现了以系统责任为目标的抽象 。 这个属性是不是描述这个对象本身的特征 。 该属性是否破坏了对象特征的“原子性” 。 这个属性是否可以通过继承得到 。 该属性是否可以从其他属性直接导出 。 8.3.3 推迟到OOD考虑的问题 对象标识问题。对象标识是分配给每个对象的永久性标识(又称作“柄”),它符合下述条件: (1)在一定的范围或领域(例如一个应用系统)中是惟一的。 (2)与对象实例的特征、状态及分类(可能是动态的)无关。 (3)在对象存在期间保持一致。 规范化问题。当找出了对象的属性之后,其中可能存在信息冗余。明显的信息冗余,可以在OOA阶段消除。不太明显的信息冗余则暂时不予考虑。 性能问题。为了提高对象服务的执行速度,可以增加一些属性来保持服务的阶段性执行结果。但是执行速度是与机器有关的,所以这个问题也推迟到OOD时考虑。 8.3.4 属性的命名和定位 属性的命名原则: (1)使用名词或带定语的名词 (2)使用规范的、问题域通用的词汇 (3)避免使用无意义的字符的数字 (4)语言文字的选择与类的命名要一致 属性的定位 : (1)注意把属性放置到由它直接描述的那个对象的类符号中。 (2)在一般-特殊结构中通用的属性应放在上层类,专用的属性应放在下层类 (3)一个类的属性必须适合这个类和它的全部特殊类的所有对象,并在此前提下充分地运用继承。 8.3.5 属性的详细说明 属性的说明 属性的数据类型 属性所体现的关系 实现要求及其他 8.4 定义服务 分析员通过分析对象的行为来发现和定义对象的每个服务。但对象的行为规则往往和对象所处的状态有关。 8.4.1 对象的状态与状态转换图 对象状态 (1)对象或者类的所有属性的当前值。 (2)对象或者类的整体行为的某些规则所能适应的状况、情况、条件、形式或生存周期阶段。 【例8-1】通信控制系统中的传真机对象。 为了分析“接收”和“发送”等服务的行为规则,应该注意的对象状态是传真机设备的关闭、就绪(开启并空闲)、忙、故障等状态,为此可在其他属性之外专门定义一个“状态”属性。该属性有以上几种属性值,每一个属性值就是一种状态。 【例8-2】“栈”对象。 假如它的属性是100个存储单元和一个栈顶指针;服务是“压入”和“弹出”。它有多少状态呢?经分析,只需认识三种状态,即空(指针值=0)、满(指针值=100)、半满(0〈指针值〈100)。 状态转换图 。图8-2是“栈”对象的状态转换图。

文档评论(0)

wuyoujun92 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档