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

第9章向对象方法学引论.ppt

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

创始人 建模方法 James Rumbaugh OMT(对象建模技术) Ivar Jacobson OOSE(面向对象的软件工程) Grady Booch Booch(面向对象开发方法) 面向对象建模 1996年6月,三位创始人设计出统一建模语言UML; 1997年,UML得到了业界的广泛采用,并被国际对象管理组织OMG采纳为基于面向对象技术的标准建模语言。 统一建模语言 (Unified Modeling Language,UML) UML是用来对软件密集系统进行可视化建模的一种语言。UML是为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。 UML贯穿软件开发周期中的每一个阶段。UML最适于数据建模,业务建模,对象建模,组件建模。 最常用的UML图包括:用例图、类图、 状态图、 序列图、活动图、组件图和部署图。 面向对象建模 9.3 对象模型 ? UML中的类图 9.3.1 类图的基本符号 类图:描述类及类与类之间的静态关系。 类命名规则: (1)使用标准术语; (2)使用具有确切含义的名词; (3)必要时用名词短语作名字。 对象模型 表示类的图 表示 定义属性: UML描述属性的语法格式如下: 可见性 属性名: 类型名=初值{性质串} 公有的 + 表示属性的数据类型 私有的 - 保护的 # 对象模型 该属性所有可能取值 定义服务: UML描述操作的语法格式如下: 可见性 操作名(参数表): 返回值类型{性质串} 公有的 逗号分隔 私有的 的形式参 保护的 数序列 描述参数的语法如下: 参数名:类型名=默认值 对象模型 9.3.2 表示关系的符号 类图由类及类与类之间的关系组成 类与类之间有4种关系: 关联;泛化(继承);依赖;细化。 对象模型 (1)关联 两个类的对象之间存在某种语义上的联系 ① 普通关联:只要类与类之间存在连接关系就可以用普通关联表示。 符号:连接两个类之间的直线。 对象模型 普通关联示例 注:?、?:关联方向。通常关联是双向的,关联方向上可以起名字。 ② 关联的角色:关联的对象所扮演的角色(即所起的作用)。 注:若没有显式标出角色名,则类名即角色名。 对象模型 (递归)关联的角色 ③ 限定关联:在一对多或多对多的关联关系中,将模型的重数从一对多变成一对一或从多对多简化成多对一的关联。 对象模型 一个受限的关联 限定词 ④ 关联类:为了说明关联的性质需要附加信息,这些信息均记录在关联类中。关联中的每个连接与关联类的一个对象相联系。 对象模型 关联类实例 (2)聚集(聚合) 关联的特例,表示类与类之间的关系 是整体与部分的关系 聚集可分为三类: 一般聚集;共享聚集;组合聚集。 对象模型 ① 一般聚集:陈述需求时使用“包含”、“组成”、 “分为...部分”表达的聚集关系。 ② 共享聚集:如果在聚集关系中处于部分方的对象可同时参与多个处于整体方对象的构成,则该聚集称为共享聚集。 对象模型 共享聚集示例 ③ 组合聚集:如果部分类隶属于整体类,部分与整体共存,整体不存在了部分也会随之消失,则该聚集称为组合聚集。 对象模型 组合聚集示例 (3)泛化(继承) 通用元素和具体元素之间的一种分类关系 具体元素完全拥有通用元素的消息,还可附加一些其他信息。 符号:用一端为空心三角形的连线表示,三角形的顶端紧挨着通用元素。 分类:普通泛化和受限泛化。 对象模型 ① 普通泛化(与“继承”概念基本相同) 概念: 抽象类:没有具体对象的类称为抽象类,通常作为父类,用于描述其他类(子类)的公共属性和行为。 具体类:有自己的对象,并且该类的操作都有具体的实现方法。 对象模型 对象模型 抽象类示例 在操作标记后跟一个性质串标明 对象模型 复杂类图示例 ② 受限泛化 可以给泛化关系附加约束条件,以进一步说明该泛化关系的使用方法或扩充方法,这样的泛化关系称为受限泛化。 预定义的约束有4种:多重、不相交、完全和不完全。这些约束均是语义约束。 对象模型 多重泛化:一个子类可以同时多次继承同一个上层基类。 不相交泛化:一个子类不能多次继承同一个基类。若图中没有指定{多重}约束,则是不相交泛化,一般的继承都是不相交继承。 完全泛化:父类的所有子类都已在类图中穷举出来了,图示符号是指定{完全}约束。 不完全泛化:父类的子类并没有都穷举出来,随着问题的深入,可不断补充和维护,方便系统日后的扩充和维护。 对象模型 多重继承示例 (4)依赖和细化 ① 依赖关系 描述两个模型元素之间的

文档评论(0)

181****7127 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档