- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用UML进行对象建模-Read
第4章 用UML进行对象建模 本章简介 本章简要介绍统一建模语言UML的9种图,重点讨论类图、建立类图所应具备的建模元素,以及模型元素之间的语义连接 用例图 UML中的用例图(Use Case Diagram)就是支持产品外部功能描述的视图。 用例图是从软件产品的使用者的角度,而不是从开发者的角度来描述用户对开发产品的需求,以及分析产品所需的功能及动态行为。 用例图的表示法 用例之间的可视化表示 用例之间可以用包含、扩展及泛化的方式相互关联。 包含(include)指的是在一个用例中重用另一个用例中的步骤,而扩展(extend)指的是允许对已有的用例增加步骤以创建一个新的用例,泛化(Generalization)指的是一个用例继承了另一个用例。 表4.1 用例之间的关系 图4.2 用例的包含关系 图4.3 用例的扩展关系 4.2 类图和对象图 类图(Class Diagram)是用类和它们之间的关系描述系统的一种图表,是从静态角度表示系统的,所以类图属于一种静态模型。 类图是构建其他UML图的基础,没有类图,就没有状态图、协作图等其他图,也就无法表示系统的其他各个方面。 图4.4 类图 表4.2 关系的种类 4.2.1 类的可视化表示 图4.6 对象表示法 图4.7 包表示法 4.2.2 关系(Relation) 在UML中,类之间的语义连接被定义为关系(Relation)。 在类之间的关系中,最常用的是关联关系、依赖关系和泛化关系。 图4.8 单向关联 图4.9 双向关联 图4.10 双向关联中的角色 图4.11 关联类 2.多重性(Multiplicity) 多重性是对象之间关联的一个重要方面,它说明了某个类有多少个对象可以和另一个类的单个对象关联。 多重性的符号表示如下所示(默认值是1): “0..1” - 表示0或者1; “0..*”或“*” - 表示0或者多个; “1..*” - 表示1或者多个; “3..16” - 表示3至16; “1,3,15” - 表示或者1或者3或者15; 图4.12 关联的多重性 3.泛化(Generalization) 泛化关系用来描述类之间属性和操作的继承关系。 泛化用从子类指向父类的箭头表示,指向父类的是一个空三角形。 多个泛化关系可以用箭头线组成的树来表示,每一个分支指向一个子类。这种连接类型的短语含义是is a kind of(属于…中的一种)。另外,在父类中已经指明的属性和操作,在子类中可以不再指明。 图4.13 多重继承 图4.14 继承关系 4.依赖(Dependency) 图4.16 包之间依赖关系 4.2.3 聚集、组成、接口和实现 1.聚集(Aggregation) 聚集是关联关系的一种,表示两个类之间的整体与部分的关系,表明聚集关系中的客户端是以供应端的类的对象作为其一部分。 在聚集关系的客户端的类被称为聚集类,聚集类的实例是聚集对象。位于聚集关系的供应端的类的实例是被聚集对象包含或拥有的部分。 图4.17 聚集 2.组成(Composition) 组成是更强形式的聚集,聚集中的每个部分体对象只能属于一个整体对象,整体对象有管理部分体对象的特有的职责。 组成中的部分体对象通常与整体对象共存亡,删除整体对象可以看作是删除整体及其所有的部分体对象。 组成用一个实菱形物附在组成端表示。每个表示部分体的类与表示整体的类之间有单独的关联。在Java语言中,组成和聚集所对应的代码相同。 3.接口(Interface) 实现(Realization) 图4.20 接口与实现的可见性 (2)作用域(Scope) 类的构成的作用域共有两种,即对象作用域和类作用域,它规定了类的构成是定义在每个对象上的还是定义在整个类的范围内的。 在对象作用域下,当一个类存在多个实例对象时,该类的每个实例对象都有自己的属性值和操作。 类作用域 在类作用域下,一个类的所有实例对象只存在一个属性值和操作。这是因为在某些情况下,可能需要同一个类的各个对象能够共享一个或多个属性。 例如,可能需要设定一个变量来统计某一个类当前存在的对象数量。如果一个操作具有类作用域,则意味着该操作的结果对整个类是有效的。 4.抽象类(Abstract Class) 4.3 活动图 2.示例 4.4 顺序图(Sequence Diagram) 顺序图是显示按时间顺序排列的对象交互作用的图,特别是用于显示交互作用中的对象和交换的消息序列。 顺序图与协作图都属于交互视图,用来描述执行系统功能的各个角色之间相互传递消息的顺序关系,显示跨越多个对象的系统控制流程,它们的侧重点不同。 图4.23 顺序
文档评论(0)