网站大量收购闲置独家精品文档,联系QQ:2885784924

2012版 第04章 高级类建模.ppt

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

§4.6 多重继承(multiple inheritance) 委托 使用部件组合的委托:多重独立泛化 继承最重要的类,并委托其余的类 嵌套泛化 §4.7元数据(metadata) 元数据:描述其他数据的数据。 类的定义就是元数据 模型是固有的元数据 §4.8具体化(reification) 具体化 是指把不是对象的实体提升为对象的过程 将属性、方法、约束和控制信息提升为对象,将它们描述成数据,并按数据进行操作。 §4.9 约束(constraint) 约束 约束限制了元素可以假定的取值。 元素:对象、类、属性、链接、关联、和泛化集等。 使用场合 1)对象上的约束 2)泛化集上的约束 3)链接上的约束 §4.9 约束(constraint) 对象上的约束 §4.9 约束(constraint) 泛化集上的约束 不相交的(disjoint):子类互斥,每个对象只属于一个子类 重叠(overlapping):子类共享对象,对象属于多个子类 完整(complete):泛化列举了所有子类 不完整(incomplete):泛化可能丢失了一些子类 §4.9 约束(constraint) 链接上的约束 多重性是集合基数上的约束 限定约束关联 关联类隐含的约束 子集约束 §4.10 派生数据 派生元素(derived element) 是一个或多个元素的函数 表示法 元素前面一条斜线 §4.10 派生数据 基属性(base attribute) 派生属性(derived attribute) §4.11 包(package) 包是一组拥有公共主题的元素,包括类、关联、泛化、和更小的包 包可以分割模型,使其更容易理解和管理 包的形成有一些不同的主题:支配类、支配性关系、功能的主要方面和对称性。 设计技巧 1)仔细刻画每个包的作用域 2)在单个包中定义每个类 3)让包变得内聚 §4.12 实践技巧 枚举:不要创建不必要的泛化 类域上(静态)的属性:显式模型分组 N元关联:尽量避免使用 具体父类:避免使用 多重继承:限制 约束:增加清晰度 派生元素:节约使用 大模型:使用包 定义类:在单个包中定义每个类 小测验 1. 习题1-4 2.习题16 3. 习题17 Thanks * 吉林省优秀课程 长春工业大学精品课程:软件建模与分析 CCUTSE 2012 * * 软件建模与分析 2012.2-2012.5 计算机科学与技术专业 090402班 第四章 高级类建模 1. 高级对象和类的概念 2. 关联终端 3. n元关联 4. 聚合 5. 抽象类 6. 多重继承 7. 元数据 8. 具体化 9. 约束 10.派生数据 11. 实践技巧 主要内容 §4.1高级对象和类的概念 枚举(enumeration) 数据类型是对值的一种描述。 枚举是由有限取值集合组成的一种数据类型。 示例 Line: solid dashed dotted Rectangle: solid grey none horizontal lines vertical lines §4.1高级对象和类的概念 枚举(enumeration) 如何对枚举进行建模? Suit 花色 Rank 分类 梅花club 黑桃spade 红桃heart方块diamond ACE一词原出自于法语,意指“杰出之人”。可译为“顶尖”“王牌”或“杰作”,作词组用时包含有“顶尖,很好,非常棒” §4.1高级对象和类的概念 多重性 是在集合基数上的约束 除用于关联外,多重性也可以用于属性 属性的多重性为属性的每个实例确定可能取值的数目 最常用的规范 单值[1]、可选单值[0..1]、多值[*] 多重性确定属性是强制的还是可选的 多重性可以指明属性是单个值还是集合 Person name:string[1] address:string[1..*] phoneNumber:string[*] birthDate:date[1] §4.1高级对象和类的概念 作用域(scope) 作用域表示一个特征是否可用于对象或类。 下划线:静态。 类作用域的属性和操作分别放在各自方框的顶部。 应该避免使用带类作用域的属性,最好是显式地分组建模。 §4.1高级对象和类的概念 作用域(scope) 示例 注: 在上层模型中,最长持续时间、最多保留

文档评论(0)

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

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

1亿VIP精品文档

相关文档