`
xueyue521-qq
  • 浏览: 21229 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

uml

    博客分类:
  • java
 
阅读更多

开发Java应用程序时,开发者要想有效地利用统一建模语言(UML),必须全面理解UML元素以及这些元素如何映射到Java。本文重点讨论UML类图中的元素。

 

  类图是最常用的UML图,它用于描述系统的结构化设计。其中包括类关系以及与每个类关联的属性及行为。类图能出色地表示继承与合成关系。为了将类图作为一种高效的沟通工具使用,开发者必须理解如何将类图上出现的元素转换到Java中。下面来进一步探索这一转换过程。

 

  元素

 

  在后面的小节中,分别讲解了类图的各个元素及其在Java中相应的表示。我会列出元素名,后续简短的代码片断和一幅图来表示元素在类图上的样子。每一节的最后简要总结了该元素。

 

  类(Class)

 

  类(图A)是对象的蓝图,其中包含3个组成部分。第一个是Java中定义的类名。第二个是属性(attributes)。第三个是该类提供的方法。

 

  属性和操作之前可附加一个可见性修饰符。加号(+)表示具有公共可见性。减号(-)表示私有可见性。#号表示受保护的可见性。省略这些修饰符表示具有package(包)级别的可见性。如果属性或操作具有下划线,表明它是静态的。在操作中,可同时列出它接受的参数,以及返回类型,如图A的“Java”区域所示。

 

   图A

    UML类图 - .w.elLs black humor - .w.elLs black humor

 

  包(Package)

 

  包(图B)是一种常规用途的组合机制。UML中的一个包直接对应于Java中的一个包。在Java中,一个包可能含有其他包、类或者同时含有这两者。进行建模时,你通常拥有逻辑性的包,它主要用于对你的模型进行组织。你还会拥有物理性的包,它直接转换成系统中的Java包。每个包的名称对这个包进行了惟一性的标识。

 

   图B

    UML类图 - .w.elLs black humor - .w.elLs black humor

 

  接口(Interface)

 

  接口(图C)是一系列操作的集合,它指定了一个类所提供的服务。它直接对应于Java中的一个接口类型。接口既可用图C的那个图标来表示,也可由附加了<>的一个标准类来表示。通常,根据接口在类图上的样子,就能知道与其他类的关系。

 

   图C

    UML类图 - .w.elLs black humor - .w.elLs black humor

 

  关系

 

  后面的例子将针对某个具体目的来独立地展示各种关系。虽然语法无误,但这些例子可进一步精炼,在它们的有效范围内包括更多的语义。

 

  实体之间一个“使用”关系暗示一个实体的规范发生变化后,可能影响依赖于它的其他实例(图D)。更具体地说,它可转换为对不在实例作用域内的一个类或对象的任何类型的引用。其中包括一个局部变量,对通过方法调用而获得的一个对象的引用(如下例所示),或者对一个类的静态方法的引用(同时不存在那个类的一个实例)。也可利用“依赖”来表示包和包之间的关系。由于包中含有类,所以你可根据那些包中的各个类之间的关系,表示出包和包的关系。

 

   图D

    UML类图 - .w.elLs black humor - .w.elLs black humor

 

  关联(Association)

 

  实体之间的一个结构化关系表明对象是相互连接的。箭头是可选的,它用于指定导航能力。如果没有箭头,暗示是一种双向的导航能力。在Java中,关联(图E)转换为一个实例作用域的变量,就像图E的“Java”区域所展示的代码那样。可为一个关联附加其他修饰符。多重性(Multiplicity)修饰符暗示着实例之间的关系。在示范代码中,Employee可以有0个或更多的TimeCard对象。但是,每个TimeCard只从属于单独一个Employee。

 

   图E

    UML类图 - .w.elLs black humor - .w.elLs black humor

 

  聚合(Aggregation)

 

  聚合(图F)是关联的一种形式,代表两个类之间的整体/局部关系。聚合暗示着整体在概念上处于比局部更高的一个级别,而关联暗示两个类在概念上位于相同的级别。聚合也转换成Java中的一个实例作用域变量。

 

  关联和聚合的区别纯粹是概念上的,而且严格反映在语义上。聚合还暗示着实例图中不存在回路。换言之,只能是一种单向关系。

 

   图F

    UML类图 - .w.elLs black humor - .w.elLs black humor

 

  合成(Composition)

 

  合成 (图G)是聚合的一种特殊形式,暗示“局部”在“整体”内部的生存期职责。合成也是非共享的。所以,虽然局部不一定要随整体的销毁而被销毁,但整体要么负责保持局部的存活状态,要么负责将其销毁。局部不可与其他整体共享。但是,整体可将所有权转交给另一个对象,后者随即将承担生存期职责。

  Employee和TimeCard的关系或许更适合表示成“合成”,而不是表示成“关联”。

 

   图G

    UML类图 - .w.elLs black humor - .w.elLs black humor

 

  泛化(Generalization)

 

  泛化(图H)表示一个更泛化的元素和一个更具体的元素之间的关系。泛化是用于对继承进行建模的UML元素。在Java中,用extends关键字来直接表示这种关系。

 

   图H

    UML类图 - .w.elLs black humor - .w.elLs black humor

 

  实现(Realization)

 

  实例(图I)关系指定两个实体之间的一个合同。换言之,一个实体定义一个合同,而另一个实体保证履行该合同。对Java应用程序进行建模时,实现关系可直接用implements关键字来表示。

 

   图I

   UML类图 - .w.elLs black humor - .w.elLs black humor

 

  精确映射

 

  如本文所述,UML类图上的元素能精确映射到Java编程语言。开发团队的成员可利用这种精确性来加强沟通,取得对系统结构化设计的共识。

分享到:
评论

相关推荐

    适用axure9的UML元件库

    个人觉得全网最全的UML元器件图,性价比也是最高的,只需要5分,几乎免费了。包含UML活动图(流程图)、泳道图、状态图、用例图、类图、时序图六类常用图表元件及示例图,可快速、便捷地在Axure中进行产品建模分析。...

    uml(uml)

    uml uml uml uml

    UML 精华 (UML Distilled)

    UML精華前兩版嘉惠了30萬名以上的開發人員。第三版同樣也是UML 2.0版與1.x版的最佳資訊來源,它可以引導大家快速、精確地了解UML並使用它。對讀者來說,有些人想要快速跟上UML 2.0版的步伐,學習其中的必要內容。...

    UML 2.0学习指南.rar_UML用户指南_uml

    UML (Unified Modeling language, 统一建模语言) 是软件和系统开发的标准建模语言。 单看这句话,结论似乎非常明确,即应该在软件中运用UML 技术。然而这句话并没有 回答某些问题,例如:为何说UML是统一的?哪些...

    UML基础教程,UML基础概念,UML习题

    1.2UML概述 1.3UML事物 1.4UML关系 1.5各UML图及特征 1.6各UML图的关系 1.7UML语法 1.8习题 2. 用例图 2.1用例图概要 2.2用例图中的事物及解释 2.3用例图中的关系及解释 2.4例子 2.5习题 3. 类图 3.1类图概要 3.2...

    基于uml的网上订餐系统

    基于uml的网上订餐系统的开发文档 第1章 绪 论 - 4 - 1.1 系统开发的背景和意义 - 4 - 1.2 国内外研究发展现状 - 4 - 1.2.1 面向对象技术的发展与现状 - 4 - 1.2.2 UML的建模语言 - 5 - 1.2.3 UML的应用领域 - 6 - ...

    uml实例uml实例uml实例uml实例uml实例

    uml实例uml实例uml实例uml实例uml实例uml实例uml实例uml实例uml实例uml实例uml实例uml实例uml实例uml实例uml实例uml实例uml实例uml实例

    登录图UML类图.zip

    UML

    基于UML的图书馆管理系统分析与设计

    摘 要 统一建模语言UML是面向对象分析和设计过程中重要的建模工具,本文以图书管理系统的开发为背景,介绍了UML的分析和建模过程。 关键词 UML;系统分析;建模设计 1 UML简介 UML(统一建模语言)是面向对象...

    uml 试卷很全面好多个试卷及答案

    1.UML的系统分析进一步要确立的三个系统模型是(对象静态模型)、对象动态模型和系统功能模型。 2.UML的的客户需求分析、系统分析和系统设计阶段产生的模型,其描述图符( 完全相同 )。 3.类和对象都有属性,...

    UML考试要点整理UML考试要点整理

    UML考试要点整理UML考试要点整理UML考试要点整理UML考试要点整理UML考试要点整理UML考试要点整理UML考试要点整理UML考试要点整理UML考试要点整理

    UML实例UML案例(完整建模)(汽车租赁系统)

    1、UML实例UML案例 2、完整建模,汽车租赁系统 3、汽车租赁系统的需求分析 1.系统功能需求 2.基本数据维护模块 3.基本业务模块 4.数据库模块 5.信息查询模块 ) 4、系统的UML基本模型 ( 1.系统的用例图 2.类图 3....

    超市管理系统UML建模实例+完整实验报告

    包括全套的UML建模图,用例图(3级),类图,顺序图,协作图,状态图,活动图,协作图,部署图。 附有完整的实验报告,报告包括实验内容,需求分析设计方法,思路和主要技术,软件系统建模(包括完整建模图),和三...

    UML课件 UML课件 UML课件

    UML课件 UML课件 UML课件 UML课件 UML课件

    UML面向对象需求分析与建模教程 9787030444677 邹盛荣 科学出版社 ---2015.09出版

    本书主要介绍基于UML2.5标准系统建模的基本理论、软件分析与设计方法,书中加强了软件案例的UML示例说明,以提高学生的软件分析与设计水平,进一步托展学生分析问题、解决问题的能力,达到培养“厚基础、宽口径、会...

    C# WinForm-UML类图程序,绘制UML程序-2023(绘制uml类图,保存,打开文件等等)

    C# WinForm-UML类图程序,绘制UML程序-2023(绘制uml类图,保存,打开文件等等)

    UML For Java Programmers

    UML:Java程序员指南 &lt;br&gt;【原 书 名】 UML For Java Programmers 【原出版社】 Pearson Education Prentice Hall/Pearson 【作 者】Robert C. Martin 【译 者】 黄晓春 【丛 书 名】 软件...

    [PDF]大象-Thinking_in_UML(第二版)

    《大象:Thinking in UML(第2版)》是一本讲软件的分析、设计与建模的书;一本将晦涩的概念与项目的实践紧密结合的书;一本让您与似是而非的感觉做个了断的书;一本充满思想与智慧的书……字字珠玑,醍醐灌顶。从来...

    eclipse中的uml类图插件jar包

    org.eclipse.uml2.uml:这是Eclipse UML插件的核心库,提供了UML类图的基本元素,如类、接口、关联、活动图等。它还包含了用于创建和编辑UML模型的编辑器。 org.eclipse.uml2.uml.diagram:这个库包含了用于创建和...

    超市 uml 超市 uml 超市 uml

    超市 uml超市 uml超市 uml超市 uml超市 uml超市 uml超市 uml

Global site tag (gtag.js) - Google Analytics