第十七章.MyEclipse.UML.建模

合集下载

uml建模方法

uml建模方法

uml建模方法
一、使用UML建模方法
1、UML基本方法
UML即统一建模语言,它是目前软件建模最流行的方法,是一种表达、理解、可视化、记录和展示系统的方法。

它在系统分析设计的过程中提供统一的视图,能帮助分析人员清楚的了解系统,从而更好的优化系统。

UML建模方法主要有以下几个:
1)类图结构:用来构建和描述不同对象之间关系的图形,它是面向对象分析的核心,是理解系统架构的窗口;
2)状态图:用来描述系统行为与状态的变化,它能够把一个激动的业务流程分解细节,为系统构思提供依据;
3)活动图:用来描述从一个状态到另一个状态的行为过程,可以降低复杂的系统的复杂度;
4)部署图:用来描述系统的物理部署情况,可以把抽象的系统行为映射到具体的系统部署;
5)构件图:用来描述系统的构件间的关系及服务,可以帮助把系统分解成一个个独立的构件;
6)交互图:用来描述不同构件间及操作的同步过程,可以设计系统的动态行为过程。

2、UML建模方法步骤
1)识别系统实体
要对系统进行建模,首先要对由哪些对象构成的实体,以及在不同实体之间是如何交互的进行把握,它们之间的关系及联系。

2)识别系统行为
根据识别的实体,以及各实体间的关系,开始对系统行为进行识别,建立各实体间的交互关系模型,从粗糙的描述到细节描述,把握系统的行为;
3)建立交互模型
最后,根据识别的实体,以及各实体间的关系,把握系统的行为,建立交互模型,来处理每个实体之间的交互,形成最终的系统模型。

UML建模的基本流程与步骤解析

UML建模的基本流程与步骤解析

UML建模的基本流程与步骤解析UML(Unified Modeling Language)是一种用于软件系统设计的标准建模语言。

它提供了一套丰富的图形符号和规范,帮助开发人员更好地理解和描述软件系统的结构、行为和交互。

本文将解析UML建模的基本流程与步骤,帮助读者更好地掌握UML建模的方法和技巧。

1. 确定建模目标与范围在开始UML建模之前,首先需要明确建模的目标和范围。

建模目标可以是一个系统的整体结构,也可以是系统中的某个模块或功能。

范围则是指建模所涉及的对象和关系。

明确建模目标与范围有助于提高建模的准确性和效率。

2. 选择合适的UML图形UML提供了多种图形符号,用于表示不同的系统结构和行为。

在进行建模之前,需要根据建模目标选择合适的UML图形。

例如,如果要表示系统的类结构,可以使用类图;如果要表示系统的行为流程,可以使用活动图。

选择合适的UML图形有助于清晰地表达系统的结构和行为。

3. 绘制UML图形在选择了合适的UML图形之后,就可以开始绘制UML图形了。

绘制UML图形需要按照一定的规范和语法,以确保图形的准确性和可读性。

例如,在绘制类图时,需要使用矩形表示类,使用箭头表示类之间的关系。

绘制UML图形时,需要注重细节和准确性,以保证建模的质量。

4. 添加图形的属性和操作在绘制UML图形的基础上,可以进一步添加图形的属性和操作。

属性是指类的成员变量,操作是指类的方法。

添加属性和操作有助于完善系统的结构和行为描述。

例如,在类图中,可以为类添加属性和操作,以描述类的状态和行为。

添加属性和操作时,需要考虑系统的需求和设计约束,以确保建模的准确性和完整性。

5. 定义类之间的关系在绘制类图时,需要定义类之间的关系。

UML提供了多种关系符号,用于表示不同的关系类型。

常见的关系类型包括继承、关联、聚合和组合等。

定义类之间的关系有助于描述系统的结构和行为。

例如,在类图中,可以使用关联关系表示类之间的关联,使用继承关系表示类之间的继承。

UML及其建模工具的使用(NEW)

UML及其建模工具的使用(NEW)
28
基本图素[4]-类
类名 属性
操作
29
基本图素[5]-对象
1、对象是类的实例。 2、对象图素中对象名的下面加下划线,对 象图素所使用的符号与类图素基本相同。 二者的区别在于对象图素展示的是类的实 例,而不是类本身。 3、对象图素除第一格外,其他格是可选的。 对象常常出现在活动图、序列图和协作图中。
5
UML的产生


Ivar Jacobson和他的 Objectory 公司开发了OOSE (Object Oriented Software Engineering)面向对象 的软件工程,利用Use Cases来表达系统要求。 1994年任职于Rational公司的Grady Booch首先联合 Jim Rumbaugh加盟Rational软件公司开始了统一OO方 法学和工具的历程。以融合Booch和OMT方法的UML开 发开始。1995年10月UML0.8发布。1995年秋,Ivar Jacobson和他的 Objectory 公司加盟Rational,UML 中加入了OOSE方法,使其有可能最集中地包容当今最适 用的各种OO方法。1996年,UML0.9版本发布,1997 年1月,UML1.0被提交给OMG组织,作为软件建模语言 的候选,1997年11月7日,UML1.1正式被OMG组织采 纳为业界标准。UML经历了1.2,1.3,1.4,目前 UML2.0版本正在制定。
26
基本图素[3]-系统
系统也叫做系统边界,用于界定系统功能 范围。 它用一个矩形框表示。描述该系统功能的 用例都置于其中,而描述的与系统交互的 角色都置于其外。系统(边界)常常省略 不画。

27
基本图素[4]-类

类是具有相同属性、操作和关系的对象集合的总 称。通常在UML中类被画成矩形,包括三个部分: 名称、属性和操作。下面是可选的。

uml建模的流程

uml建模的流程

uml建模的流程
UML建模流程主要包括以下步骤:
1. 需求分析:通过业务建模理解领域需求,绘制用例图来可视化用户与系统交互场景。

2. 用例细化:定义和详细描述每个用例的行为规约,明确系统功能需求。

3. 静态建模:基于需求,创建类图描述类结构,对象图展示对象实例关系,包图组织模块划分。

4. 动态建模:通过序列图描绘对象间的交互序列,状态图展现对象状态变迁,活动图展示业务流程。

5. 架构设计:构建组件图和部署图,规划系统结构和技术实现方案。

6. 模型验证与迭代:评审模型,根据反馈调整模型直至满足系统设计需求。

uml软件建模知识点总结

uml软件建模知识点总结

uml软件建模知识点总结一、UML概述UML,全称为Unified Modeling Language,即统一建模语言,是一种为面向对象系统设计和分析而开发的通用标准建模语言。

UML作为一种建模语言,具有多样的元素和关系,可以被用来描述和分析系统的结构和行为。

UML最初是由Rumbaugh、Booch和Jacobson 等人提出的,经过了一系列的发展,已经成为了全球范围内最流行的软件建模语言。

二、UML的主要图表UML主要有以下几种图表:用例图、类图、时序图、活动图、状态图、协作图、构件图等。

1. 用例图(Use Case Diagram)用例图用于描述系统的功能需求,它展示了系统的功能模块和用户之间的交互关系。

在用例图中,用户被表示为参与者(actor),而系统的功能则被表示为用例(use case)。

用例图可以帮助软件开发团队更好地理解系统需求,并且为团队成员之间的沟通提供了一个共享的模型。

2. 类图(Class Diagram)类图用于描述系统的静态结构,展示了系统中各个类的属性和方法之间的关系。

在类图中,类被表示为一个矩形,包括了类名和类的属性和方法。

类与类之间的关系主要有:关联、依赖、一般化、实现等。

3. 时序图(Sequence Diagram)时序图用于描述系统中的交互行为,展示了类之间的消息传递过程。

在时序图中,元素主要有对象、生命线、消息和激活。

时序图帮助开发团队更好地理解系统的交互过程,有助于对系统的动态行为进行分析和设计。

4. 活动图(Activity Diagram)活动图用于描述系统的工作流程,展示了系统中各活动之间的控制流。

在活动图中,元素主要有开始节点、流程节点、决策节点、合并节点、结束节点等。

活动图可以帮助开发团队更好地理解系统的流程,有助于对系统的业务逻辑进行分析和设计。

5. 状态图(State Diagram)状态图用于描述系统的状态转移过程,展示了系统中各状态之间的转移关系。

uml建模案例

uml建模案例

uml建模案例UML(Unified Modeling Language)是一种软件工程的建模语言,用于描述、分析和设计软件系统。

它提供了一套图形化的表示法,用于可视化和概括软件系统的各个方面,包括结构、行为和交互等。

以下是一个简单的 UML 建模案例,以一个图书馆管理系统为例:首先,我们需要定义系统的主要角色。

在这个案例中,主要角色有图书馆管理员、读者和图书。

接下来,我们可以开始构建类图,用于描述系统中的类及其之间的关系。

我们可以创建以下类:1. 图书类(Book):包含图书的相关信息,如书名、作者、出版社等。

2. 读者类(Reader):包含读者的相关信息,如姓名、年龄、地址等。

3. 图书馆管理员类(Librarian):包含管理员的相关信息,如姓名、工号等。

该类可以包含一些操作,例如借书、还书等。

4. 图书管理系统类(LibraryManagementSystem):负责管理图书、读者和管理员。

该类可以包含一些操作,如添加图书、删除图书、注册读者、借书、还书等。

接下来,我们可以定义类之间的关系。

在这个案例中,可以定义如下关系:1. 图书与读者之间的关系:读者可以借阅图书,每位读者可以借阅多本图书,而每本图书只能被一个读者借阅。

2. 图书与图书馆管理员之间的关系:管理员可以管理图书,例如添加图书、删除图书等操作。

3. 读者与图书馆管理员之间的关系:管理员可以注册读者,读者可以向管理员借书、还书。

最后,我们可以根据需求进一步细化类的行为和交互。

例如,根据借书和还书的需求,可以设计用例图,描述用户与系统之间的交互流程。

在用例图中,我们可以定义以下用例:1. 注册读者:读者通过系统界面提供个人信息进行注册。

2. 添加图书:管理员通过系统界面提供图书信息进行添加。

3. 借书:读者通过系统界面搜索图书并进行借书操作。

4. 还书:读者通过系统界面搜索已借阅的图书并进行还书操作。

以上仅为一个简单的UML 建模案例,实际情况可能更为复杂,涉及更多的类和关系。

UML建模课程设计(史上最全)

UML建模课程设计(史上最全)

UML建模课程设计目录1 引言 (4)2 UML概述 (4)2.1 UML简介 (4)2.2 UML模型图的构成 (5)2.3 UML事物 (5)2.3.1 构件事物 (5)2.3.2 行为事物 (6)2.3.3 分组事物 (6)2.3.4 注释事物 (6)2.4 UML图及特征 (6)2.4.1 用例图 (6)2.4.2 类图 (7)2.4.3 对象图 (7)2.4.4 时序图 (7)2.4.5 协作图 (7)2.4.6状态图 (8)2.4.7活动图 (8)2.4.8组件图 (8)2.4.9配置图 (9)3 UML结合实例分析 (9)3.1 需求分析 (9)3.1.1系统开发需求 (9)3.1.2系统功能需求 (9)3.2 UML建模分析 (10)3.2.2类图 (11)3.2.3 活动图 (12)3.2.4 顺序图 (13)3.2.5 协作图 (15)3.2.6 状态图 (16)3.2.7 组件图 (17)3.2.8 部署图 (18)4 总结 (19)1 引言建模是开发优秀软件所有活动的核心部分。

在开发中利用UML来编制系统蓝图,并与仓库管理系统开发的特色相结合,提出了自己的一套UML的建模过程。

基于这个过程来进行系统的分析,设计,实现与测试。

运用UML建模思想与各种模型对仓库管理系统进行详细的描述。

2 UML概述2.1 UML简介UML (Unified Modeling Language)为面向对象软件设计提供统一的、标准的、可视化的建模语言。

适用于描述以用例为驱动,以体系结构为中心的软件设计的全过程。

UML的定义包括UML语义和UML表示法两个部分。

UML语义:UML对语义的描述使开发者能在语义上取得一致认识,消除了因人而异的表达方法所造成的影响。

UML表示法:UML表示法定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。

2.2 UML模型图的构成事物(Things):UML模型中最基本的构成元素,是具有代表性的成分的抽象关系(Relationships):关系把事物紧密联系在一起图(Diagrams ):图是事物和关系的可视化表示2.3 UML事物UML语言的事物,包括四类:结构事物:语言的静态构成要素,有7种:类和对象、接口、主动类、用例、协作、构件、节点。

13种uml简介、工具及示例

13种uml简介、工具及示例

13种uml简介、工具及示例UML(Unified Modeling Language)是一种用于软件开发的标准化建模语言,它使用图形表示法来描述软件系统的不同方面。

在软件开发过程中,使用UML可以帮助开发人员更清晰地理解系统的结构和行为,从而更好地进行设计和实现。

UML提供了包括结构模型、行为模型和交互模型在内的多种建模方式,其中每种模型都有各自的符号和语法规则。

通过使用这些模型,开发人员可以将系统分解成不同的部分,然后逐步细化这些部分的设计,以便更好地组织和管理项目。

在UML中,最常用的建模元素包括用例图、类图、时序图、活动图、状态图等。

每种图表都有其特定的用途和表达能力,开发人员可以根据实际需要选择合适的图表进行建模。

除了建模元素外,UML还定义了一系列的建模工具,这些工具可以帮助开发人员更高效地进行建模和分析。

其中一些常用的建模工具包括Enterprise Architect、Rational Rose、StarUML等。

下面将对13种UML简介、工具及示例进行详细介绍:1. 用例图(Use Case Diagram)用例图是UML中描述系统功能和用户交互的基本图表之一。

它用椭圆表示用例,用直线连接用例和参与者,展示了系统外部用户和系统之间的交互。

用例图可以帮助开发人员更清晰地理解系统的功能需求,从而指导系统的设计和实现。

示例:一个简单的在线购物系统的用例图包括用例“浏览商品”、“添加商品到购物车”、“提交订单”等,以及参与者“顾客”和“管理员”。

2. 类图(Class Diagram)类图是UML中描述系统结构和静态关系的基本图表之一。

它用矩形表示类,用线连接类之间的关系,包括关联关系、聚合关系、继承关系等。

类图可以帮助开发人员更清晰地理解系统的对象结构和类之间的关系,从而支持系统的设计和重构。

示例:一个简单的学生信息管理系统的类图包括类“学生”、“课程”、“教师”等,以及它们之间的关系如“选修”、“授课”等。

UML建模

UML建模

§2 UML的组成与建模过程UML是第一个统一的面向对象的可视化建模语言,当今主流的CASE都支持UML。

2.1 UML的组成UML由下列5类图组成:第1类:用例图。

从用户角度描述系统功能,并指出各功能的交互者(外部实体)。

第2类:静态图。

包括类图、对象图和包图。

其中,类图描述系统中类的静态结构,不仅定义系统中的类,表示类之间的联系(如关联、依赖、聚合),而且包括类的内部架构(类的属性和操作)。

类图描述的是一种静态关系,在系统的整个生命周期内都是有效的。

对象图是类图的实例,几乎使用与类图完全相同的标识。

包图用于描述系统的分层结构,由包或类组成,表现包与包之间的关系。

第3类:行为图。

包括状态图和活动图。

其中,状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件;活动图描述用例中的活动以及活动之间的约束关系,可用于识别活动的并发性。

第4类:交互图。

包括顺序图和协作图,用于描述对象间的交互关系和动态协作关系。

顺序图强调对象之间消息发送的顺序,同时显示对象之间的交互信息。

协作图跟顺序图相似,除显示交互信息外,还显示对象之间的结构关系。

如果强调时间和顺序,则使用顺序图;如果强调上下级关系,则可使用协作图。

第5类:实现图。

包括构件图和部署图。

构件图描述软件构件之间的依赖关系,这些构件包括源代码文件、二进制文件以及可执行文件等。

部署图(配置图)显示了基于计算机系统的物理架构。

2.2 UML的基本建模过程面向对象的软件开发过程中,传统开发模式中的阶段之间的界限已不明显。

使用UML的一般思路是,首先建立软件系统的逻辑模型,然后建立相应的物理模型。

建立系统逻辑模型的过程可大致分为3步:第一步:描述需求;第二步:根据需求建立系统的静态结构;第三步:描述系统的行为。

其中,第一步和第二步可以用用例图、类图和对象图等来描述,属于UML的静态建模机制;第三步则可以用状态图、活动图、顺序图及协作图来描述,属于UML的动态建模机制。

使用UML对象图进行系统对象建模

使用UML对象图进行系统对象建模

使用UML对象图进行系统对象建模在软件开发过程中,系统对象建模是非常重要的一环。

它可以帮助开发人员更好地理解系统的结构和功能,并为后续的设计和实现提供指导。

而在系统对象建模中,UML对象图是一种常用的工具,它可以清晰地描述系统中的各个对象及其之间的关系。

一、UML对象图的基本概念UML(Unified Modeling Language)是一种用于软件开发的标准建模语言,它提供了一套丰富的图形符号和规范,用于描述系统的结构和行为。

而UML对象图是UML中的一种图形表示方式,用于描述系统中的对象及其之间的关系。

在UML对象图中,对象被表示为一个矩形框,框中包含对象的名称和属性。

而对象之间的关系则通过箭头表示,箭头的方向表示关系的方向,箭头的类型表示关系的类型。

常见的关系类型包括:关联关系、聚合关系、组合关系、继承关系等。

二、使用UML对象图进行系统对象建模的步骤1. 确定系统的功能和需求:在进行系统对象建模之前,首先需要明确系统的功能和需求。

只有明确了系统的功能和需求,才能更好地进行对象建模。

2. 确定系统的主要对象:根据系统的功能和需求,确定系统中的主要对象。

主要对象是系统中最重要的对象,它们之间的关系将决定系统的结构和功能。

3. 绘制对象图:根据确定的主要对象,使用UML对象图的符号和规范,绘制对象图。

在绘制对象图时,可以根据需要添加对象的属性和方法,以更好地描述对象的特征和行为。

4. 描述对象之间的关系:在对象图中,使用箭头表示对象之间的关系。

根据实际情况,选择适当的关系类型,并使用箭头的方向和类型来表示关系的方向和类型。

5. 完善对象图:在绘制对象图的过程中,可能会发现一些遗漏或不准确的地方。

这时,需要对对象图进行调整和完善,以确保对象图的准确性和完整性。

三、UML对象图的应用场景1. 系统设计:在系统设计阶段,使用UML对象图可以帮助开发人员更好地理解系统的结构和功能,并为后续的设计和实现提供指导。

uml建模PPT课件

uml建模PPT课件
需求分析
对收集到的需求进行整理、分类和细化,形成详细的需求规格说 明书。
静态建模
定义类和对象
根据需求分析结果,确定系统中的类和对象,以及它 们之间的关系。
建立类图
使用UML类图表示类和对象及其关系,包括继承、聚 合、关联等。
定义属性
为每个类和对象定义必要的属性和方法,描述其特征 和行为。
动态建模
UML建模PPT课件
目录
• UML建模概述 • UML基本元素 • UML图示 • UML建模过程 • UML建模实践
01
UML建模概述
UML的定义与特点
总结词
UML是一种用于对软件密集系统进行可视化建模的统一建模 语言。它通过统一的符号和工具,为软件开发人员提供了一 种通用的建模语言,以简化复杂软件系统的设计和开发过程 。
详细描述
UML是一种基于图形化表示的建模语言,使用统一的符号和 图形来表示系统中的元素、关系和结构。它支持面向对象的 分析和设计,通过可视化的方式帮助开发人员更好地理解和 管理复杂的软件系统。
UML的历史与发展
总结词
UML起源于1990年代,由Grady Booch 、Jim Rumbaugh和Ivar Jacobson三位 面向对象专家共同开发。经过多年的发 展,UML已经成为软件开发领域的标准 建模语言之一,并不断演进和完善。
VS
详细描述
UML的发展历程可以分为三个阶段:初 始阶段、标准化阶段和推广应用阶段。在 初始阶段,UML由Grady Booch、Jim Rumbaugh和Ivar Jacobson等面向对象 专家共同开发,并逐渐受到业界的关注。 在标准化阶段,UML经过规范化和标准 化过程,成为OMG(Object Management Group)标准之一。在推 广应用阶段,UML被广泛应用于各种软 件开发生命周期中,成为软件开发领域的 标准建模语言之一。

MyEclipse开发工具对UML支持——在UML透视图中实现UML动态建模中的各个图

MyEclipse开发工具对UML支持——在UML透视图中实现UML动态建模中的各个图

1.1MyEclipse开发工具对UML支持——在UML透视图中实现UML动态建模中的各个图1、顺序(序列)图(Sequence Diagram )(1)顺序(序列)图的作用强调消息时间顺序的交互图,描述类系统中类和类之间的交互,将交互建模成消息交换。

(2)MyEclipse中的消息工具(3)实现示例(4)某个项目中的学生课程请求的顺序图示例2、协作图(1)协作图概述●一组对象角色之间的协作关系它表示特定环境中相关的一组类对象之间的协作关系,以及一种交互关系------即为实现某个操作或达到某种结果而在对象间交换的一组消息。

●主要的作用协作图也是一种交互图,通过该种类型的交互图,可以显示出由一个用例定义的一个系统事件,其中的一组对象与其他组对象之间如何彼此进行协作。

●协作图可以被视为对象图的扩展但它除了展现出对象间的关联关系以外,还显示出对象间的消息传递。

(2)与序列图不同之处●协作图不能体现消息的先后顺序协作图主要显示对象角色之间的交互关系和链接关系,它并不将时间作为单独的一个维表示。

因此,要对协作图中的消息编号以表明其先后顺序。

●两者的侧重点不一样虽然顺序图和协作图都用来描述对象间的交互关系,但侧重点不一样。

顺序图着重体现交互的时间顺序而协作图则着重体现交互对象间的静态链接关系。

●顺序图可以直接转换成协作图顺序图可以直接转换成协作图,在Rose里面只需要按一下F5键就可以从顺序图得到协作图(但在MyEclipse中则没有提供该功能)。

3、学生选课系统中的协作图及示例(1)产生交互的各个对象由于在协作图中的各个对象与前面的序列图中的对象相同,因此直接可以将前面的序列图中的各个对象拖入到协作图中。

注意:当然也可以在工具条中点击对应的按钮来产生出。

(2)设置各个对象之间的交互关系——从某个对象的指示点处拖动到另一对象处。

(3)然后再命名该交互(4)最后设置各个对象之间的交互关系4、活动图(1)活动图在UML里,活动图本质上就是流程图。

第十七章 MyEclipse UML 建模

第十七章 MyEclipse UML 建模

第十七章 MyEclipse UML 建模第十七章 MyEclipse UML 建模 (1)17.1 介绍 (1)17.1.1 UML概念及常见建模工具 (1)17.1.2 MyEclipse的UML工具 (2)17.2 系统需求 (4)17.3 创建UML模型仓库 (4)17.4 创建及修改UML 图 (5)17.4.1 创建UML 图形 (5)17.4.2 类图和常见修改功能 (6)17.4.3 正向工程 - UML 类图生成Java代码 (12)17.4.4 反向工程 - Java 代码生成UML 类图 (13)17.4.5 绘图工具 (17)17.4.6 用例图(Use Case Diagram) (18)17.4.7 活动图(Activity Diagram) (18)17.4.8 序列图(Sequence Diagram) (20)17.5 常见问题 (21)17.6 小结 (22)17.7 参考资料 (22)17.1 介绍17.1.1 UML概念及常见建模工具UML是什么?在回答这个问题之前,请您思考这样一种现象。

路边有一棵很大很粗的银杏树,好了,现在让几个从事不同职业的人,或者是操不同方言的人,来给别人介绍这棵银杏树,你猜会出现什么样的情况?考古者会说:哦,这是一棵古树,很有科研价值,对于研究这一带的地志迁移很有帮助,假设用无缝取样法看看年轮,甚至能了解几百年来的气候变迁。

农民朋友会说:这是一棵长势喜人的银杏树,不过银杏是雌雄异株,嫁接上对应性别的枝条后,能够收成很多银杏。

生物学家会说:银杏(Ginkgo Liloba L.),植物界,裸子植物门,银杏纲,银杏目,银杏科,银杏属,银杏种,俗称白果,公孙树。

……当然,如果是外国人来介绍银杏,则另是一番情况。

最后,请各位把见到的银杏树画出来,那估计又是各有千秋,甚至如果碰到印象派画家,画出来的图让你都认不出这还是棵银杏。

因为,人们表达自己的形式是千奇百怪的,在软件行业,也是如此。

简述uml的建模过程

简述uml的建模过程

简述uml的建模过程UML(UnifiedModelingLanguage)是一种具有通用性的建模语言,它可以用来描述、构建和文档化一个系统或软件的架构。

UML用来建模图形化和文本化表达式作为一个系统或软件,以便清楚地理解和维护。

UML是一种完整的、建模系统方面的术语。

它是一种实现高级数据模型的通用语言,用于解释和表达复杂系统的特性。

它可以用来建立可重复使用的组件和模型,提高团队间的沟通效率,简化团队的设计流程,便于系统的设计、开发和部署。

二、UML的建模过程UML的建模过程包括以下几个步骤:(1)识别和收集需求:主要是收集用户对系统的要求,把用户的需求收集整理成一个由若干子要求构成的总体需求清单。

(2)分析需求:分析收集的用户需求,深入认识需求的本质,对用户需求进行功能,结构,性能等方面的分析,分析需求的可行性。

(3)设计系统:根据分析的结果,设计系统的功能模块,以及模块之间的交互关系,设计系统的输入输出界面,设计系统的系统架构,设计系统的数据库结构等。

(4)使用UML工具建模:运用UML工具对功能模块,模块间交互关系,输入输出界面以及数据库结构等系统设计的部分进行图形化的建模,以便更加清晰地表达系统设计的内容。

(5)验证模型:验证建模结果,检查建模结果是否符合需求,以及是否满足系统的需求。

三、UML的作用UML有助于快速捕获系统的构建规范,定量化系统的需求,加速系统开发,减少系统开发成本,增强项目的可控性,简化团队的沟通难度和通信开销,实现软件系统的标准化,提高系统的可维护性。

UML 的建模过程也可以帮助UML用户更加清晰地了解其交互的流程,使UML建模更加容易,从而更好地进行系统开发和软件部署。

四、结论UML(Unified Modeling Language)具有重要的意义,它可以用来解决复杂系统的构建工作。

UML的建模过程主要包括:识别和收集需求、分析需求、设计系统、使用UML工具建模和验证模型等步骤。

eclipse uml的功能、特点和应用场景

eclipse uml的功能、特点和应用场景

eclipse uml的功能、特点和应用场景Eclipse UML是一种用于创建和编辑统一建模语言(UML)图形的工具。

它是在Eclipse集成开发环境(IDE)的基础上开发的一款插件。

以下是Eclipse UML的功能、特点和应用场景:功能:1. 支持创建和编辑UML类图、用例图、时序图、活动图等多种UML图形。

2. 提供丰富的UML建模元素,如类、接口、关系等。

3. 支持自动代码生成,将UML图形转化为对应的代码。

4. 支持UML图形的可视化和交互式编辑。

5. 提供代码和UML之间的双向同步,当代码发生变化时可更新UML图形,反之亦然。

6. 支持模型驱动开发(Model-Driven Development, MDD),通过UML图形来驱动软件开发过程。

特点:1. 开源免费:Eclipse UML插件是开源项目,在Eclipse社区中免费使用。

2. 可扩展性:通过插件机制,可以扩展和定制Eclipse UML的功能,满足不同用户的需求。

应用场景:1. 软件设计和建模:Eclipse UML可以帮助开发人员进行软件设计和建模,创建UML图形来描述系统的结构和行为。

2. 代码生成:Eclipse UML支持将UML图形转化为代码,可以快速生成代码框架。

3. 系统分析和需求收集:通过创建UML用例图和活动图等,可以帮助系统分析师和需求工程师理清系统的功能和流程。

4. 文档生成:Eclipse UML可以生成UML图形的文档,包括图形和相关的注释信息,方便团队成员之间的沟通和协作。

5. 代码维护和重构:当系统发生变化时,可以通过更新UML图形来帮助开发人员进行代码的维护和重构,确保系统的健壮性和可维护性。

UML简单建模

UML简单建模

1启动添加新工程安装以后就可以启动该程序。

然后,一个名叫:New Project By Approach的对话框会弹出。

选择“Empty Project”并且按下"确定"。

这里建议你不要勾选"设置为默认的做法" 复选框。

2. 选择模块在右边的“Model Explorer”框中选定“Untitled”模块。

3. 添加模块通过“Model”主菜单,或右击选定的模型,可以" Add/ Model "4.添加类图通过“Model”主菜单,或右击选定模型,可以“Add Diagram/Class Diagram”:5.设置profile通过“Model/Profile...”菜单去设置工程所需的profile。

这决定了工程所使用的规则和约定。

一定要包含"JAVA Porfile"这一项目。

6.保存工程立即就保存工程,这样在出现问题的时候,您就不会丢失信息。

从“File ”菜单,选择“Save”,并选择一个地方以保存工程。

你的StarUML 项目现在应该看起来的是这样的:7.创造图表现在,开始真正创造图表,从默认就在屏幕的左边的“Toolbox”选择“类”图标,然后左键单击diagram窗口的某处。

这样就使用通用名字创造了一个新的类。

双击,将类改名为Circle。

8.添加属性右击图中的目标,在弹出菜单中选择“Add”中的“Attribute”(被标示为绿色),为其添加一个属性(或者域),填入期望的名字“_radius”。

具体的数据类型,在属性面板(右下侧的窗口),由双打字,在"类型"时段。

在窗体右下边的Properties面板中,找到“Type”输入框,输入double作为_radius 属性的类型。

类的内部数据(域/属性)都是私有的,因为他们是严格由类内部使用的。

所以,在Properties面板中将_radius设置为“私有”。

UML建模

UML建模

讲解UML之前.我们要了解几个类与类之间的关系:统一建模语言。

类与类之间的关系:关联、泛化、依赖(类和方法的关系)、聚合、组合(强聚合)1、关联:类与类之间的任意关系,关联关系表现为变量(has a )。

比如说:雇员1(普通员工)―――(雇员2)经理/汽车―――汽车公司/类似于眼睛――鼻子/(1)双向关联:两个类都知道另一个类的公共属性和操作。

此图表示的是双向关联。

(2)单向关联:只有一个类知道另外一个类的公共属性和操作。

大多数关联应该是单向的,单向关系更容易建立和维护。

(简单的理解为:ClassA 用到了ClassB的对象。

但是B没用到A的对象)。

2、聚合:是关联关系的一种,是强的关联关系。

聚合关系是整体和个体的关系。

普通关联关系的两个类处于同一层次上,而聚合关系的两个类处于不同的层次,一个是整体,一个是部分。

同时,是一种弱的“拥有”关系。

体现的是A对象可以包含B对象,但B对象不是A对象的组成部分。

比如:个人--成员--课程组:少一个人它还是课程组.又例如:学校---学生之间的关系聚合就像汽车和轮胎,汽车坏了但是胎还可以用。

如下图所示:(A中用到B的实例,B没用A的实例,单向关联,注意:其中,B的对象,是A中的全局变量,此时聚合关系明显)。

3、强聚合,也叫做组合:也是关联关系的一种,是比聚合关系强的关系。

它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。

Composition(组合关系)是一种强的“拥有”关系,体现了严格的部分和整体的关系,部分和整体的生命周期一致。

如果A由B组成,表现为A包含有B的全局对象,并且B对象在A创建的时刻创建。

又例如:公司—下属部门,公司倒闭了,那么下属的部门也就不存在了。

4、泛化:泛化描述的是一般事物与该事件中的特殊种类之间的关系,也就是父类和子类的关系。

5、实现(是泛化的一种形式):接口和类之间的关系:6、依赖:两个元素X、Y,如果修改元素X的定义可能会引起对另一个元素Y的定义的修改,称为Y依赖于元素X。

跟我学在MyEclipse工具中如何设计UML静态建模中的各个UML图

跟我学在MyEclipse工具中如何设计UML静态建模中的各个UML图

1.1跟我学在MyEclipse工具中如何设计UML静态建模中的各个UML图1.1.1在UML透视图中实现UML静态建模中的各个图
1、包图—--通过类图来实现
(1)新建一个包
(2)并且命名该包
(3)添加其它的包
(4)设置包与包之间的父子关系---直接将子包建在父包里面
2、创建类图
(1)新建一个类,并且命名该类
(2)在该类中添加属性,并且设置各个属性的数据类型
(3)最后设置各个类之间的关系
(4)将类添加到对应的包中---拖动目标类到包图中的包中
(5)原来在类图中所创建的各个类之间的关系继续保留下来。

3、UML to Java(UML类图中的各个类与Java代码之间的转换)
4、将Java程序类转化为UML类图(Java-UML)(1)编程待转换的Java程序类
(2)按F5
(3)应用反向工程工具
(4)显示出成员
(6)设置类之间的关系
5、将所画的UML图导出为图像文件
6、改变项目中的UMR的根nameSpace名称(由default----com.px1987)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MyEclipse 6 Java 开发中文教程第十七章 MyEclipse UML 建模第十七章 MyEclipse UML 建模 ........................................................................................ 1 17.1 介绍 ................................................................................................................... 1 17.1.1 UML概念及常见建模工具 ......................................................................... 1 17.1.2 MyEclipse的UML工具 .............................................................................. 2 17.2 系统需求............................................................................................................ 4 17.3 创建UML模型仓库 ............................................................................................. 4 17.4 创建及修改UML 图 ........................................................................................... 5 17.4.1 创建UML 图形 ........................................................................................ 5 17.4.2 类图和常见修改功能................................................................................ 6 17.4.3 正向工程 - UML 类图生成Java代码 ..................................................... 12 17.4.4 反向工程 - Java 代码生成UML 类图.................................................... 13 17.4.5 绘图工具................................................................................................ 17 17.4.6 用例图(Use Case Diagram)................................................................... 18 17.4.7 活动图(Activity Diagram) .................................................................. 18 17.4.8 序列图(Sequence Diagram) ............................................................. 20 17.5 常见问题.......................................................................................................... 21 17.6 小结 ................................................................................................................. 22 17.7 参考资料.......................................................................................................... 2217.1 介绍17.1.1 UML 概念及常见建模工具UML 是什么?在回答这个问题之前,请您思考这样一种现象.路边有一棵很大很粗的 银杏树,好了,现在让几个从事不同职业的人,或者是操不同方言的人,来给别人介绍这棵 银杏树,你猜会出现什么样的情况?考古者会说:哦,这是一棵古树,很有科研价值,对于 研究这一带的地志迁移很有帮助, 假设用无缝取样法看看年轮, 甚至能了解几百年来的气候 变迁.农民朋友会说:这是一棵长势喜人的银杏树,不过银杏是雌雄异株,嫁接上对应性别 的枝条后,能够收成很多银杏.生物学家会说:银杏(Ginkgo Liloba L.) ,植物界,裸 子植物门,银杏纲,银杏目,银杏科,银杏属,银杏种,俗称白果,公孙树.……当然,如 果是外国人来介绍银杏,则另是一番情况.最后,请各位把见到的银杏树画出来,那估计又 是各有千秋,甚至如果碰到印象派画家,画出来的图让你都认不出这还是棵银杏.因为,人 们表达自己的形式是千奇百怪的,在软件行业,也是如此.在 UML 之前,各式各样的图表 被用来描述软件系统,这带来了知识交流过程中的阻碍.UML 的提出,就是为了部分的解 决软件系统的描述问题.好了,现在我们就用专业点的属于来介绍 UML:统一建模语言 (Unified Modeling Language,UML) ,是一种直观化,明确化,构建和文档化软件系统产 物的通用可视化建模语言. 它捕捉了被构建系统的有关决策和理解, 用来理解, 设计, 浏览, 配置,维护以及控制系统的信息,可以与所有的开发方法,生命阶段,应用领域和媒介一同1 刘长炯著MyEclipse 6 Java 开发中文教程使用.简言之,就是一组标准化的可扩展的可视化建模语言,结果表现为图形,注意它不是 一门编程语言, 只用来描述系统, 不能用来开发和实现系统功能. 1997 年, OMG 组织 (Object Management Group 对象管理组织)发布了统一建模语言.UML 的目标之一就是为开发团 队提供标准通用的设计语言来开发和构建计算机应用.UML 提出了一套 IT 专业人员期待多 年的统一的标准建模符号.通过使用 UML,这些人员能够阅读和交流系统架构和设计规划 --就像建筑工人多年来所使用的建筑设计图一样.截至到目前为止,UML 已经推出了 2.0 版 本,在企业中获得了广泛的应用.当然,它也有一些缺陷,例如一些新的软件结构,如 SOA 等,就无法用 UML 描述.另外,还有个很重要的地方就是 UML 并没有规定图的颜色,但 是也没规定 UML 图不能带彩色,因此,UML 的图主要在于形状,颜色本质上是黑白的. 常见的 UML 建模工具比较多.用的最多的当属 Rational Rose(现在被 IBM 收购) ,它 的特点主要是老牌,出来的图看着比较正规,不过和工具的整合不够紧密,是商业的收费软 件.另外还有 Borland Together,它的最强大的功能当属动态的代码和图形同步功能,即从 代码生成图,并且代码改动或者图改动后,都会同步到对应的地方,这个几乎是无人能及, 在生成顺序图等功能上也是很强大的,它是用 Java 语言开发的,有 Borland Together for Eclipse 这样的版本, 便于在 Eclipse 下使用. 还有一款就是 Sybase 出品的 Power Designer, 它的主要特色就是数据库建模和 UML 建模合二为一,可以从数据库生成模型,也可以从模 型生成数据库代码,是公司数据库管理员必备软件,可惜也是商业收费的.微软 Office 的 Visio 也能进行 UML 建模,只可惜,出来的图不甚标准,也无法从图生成原型代码.开源的 UML 建模工具中,用的比较广泛的当属 ArgoUML,实际上 MyEclipse 的也是基于它二次开 发了一下而已. 另外, Netbeans 6 也提供了 UML 建模功能. Eclipse 也有对应的 UML 插件, 然而多数都是收费软件(这当属 Eclipse 社区被大公司控制的必然结局) ,读者可以自行搜 索,或者使用参考资料中介绍的一款 EclipseUML,以及一款国产的 UML 建模软件.当然 还有很多的免费 UML 建模工具可以使用,通过 Google 搜索即可.图 17.1 典型 UML 建模工具界面17.1.2 MyEclipse 的 UML 工具MyEclipse 的 UML 建模工具实际上是基于 ArgoUML 开发的,并加入了反向工程和正 向工程的能力, 可以从代码生成 UML 图或者从图生成代码. MyEclipse UML 为开发人员提 供了下面的 UML 功能:2 刘长炯著MyEclipse 6 Java 开发中文教程UML 图: 用例图,类图,序列图,协作图,状态图,活动图,部属图 集成的图片编辑器,大纲视图和属性视图 UML 透视图 不限位置的绘制工具 通过热区直接编辑接点和连接内容 图片保存在 UML Model Repository(UML 模型仓库)文件中 (例如 cardemo.umr) 包含 UML 模型文件的项目类型以及文件存储位置不受限制 从模型生成 Java 代码 导出图形为图片文件,支持多种格式:GIF,PNG,PS,EPS 和 SVG 从任何 MyEclipse J2EE 或者 Eclipse Java 项目生成类图 o 批量反向工程处理任何项目或者源代码目录,Java 包或者单独类的组合 o 从 Eclipse 的 Package Explorer 透视图拖拽任何 Java 类或者接口添加进 UML 类图上 o 自定义反向工程设置 从 Outline 视图将任何 UML 元素拖放到任何兼容的 UML 图中 对类图进行自动布局 另外,MyEclipse 还提供了专门的 UML 透视图,来便于进行 UML 的设计工作.MyEclipse UML 透视图提供了精心调整过的的界面组织来方便进行建模活动.默认视图包括 UML Diagram Editor(UML 图形编辑器) ,Outline(大纲)视图,已经自定义的 Properties (属 性)视图.工具栏上的操作按钮进行了调整和增加,这样依赖使创建新图的过程快速和方便 的多.图 17.2 列出了对各部分进行了标示的 UML 透视图.图 17.2 MyEclipse UML 透视图3 刘长炯著MyEclipse 6 Java 开发中文教程17.2 系统需求由于 MyEclipse 集成 ArgoUML 实现 UML 的开发功能,而 ArgoUML 当前版本则需要 JDK/JRE1.5 或者更高版本,因此必须安装这些版本的 JDK/JRE 之后运行 MyEclipse 才可 使用.当然 MyEclipse All IN One 版本本身已经自带了 JRE 1.5,无需额外配置.对操作系 统的支持上,则致辞 Windows Vista,XP,2003 和 2000 以及 Linux,而苹果的 Mac 系统 则不支持,这是因为 SWT 本身的一个向 SWT 中插入 Swing 组件的 Bug 所导致的.本书中 的例子和截图均在 Windows XP 中文版 SP2 下运行和测试.17.3 创建 UML 模型仓库MyEclipse UML 使用一种特殊的文件格式来保存所有的 UML 图形以及模型元素到单 一文件中, UML Model Repository (UMR). 即 UMR 文件的后缀是" .umr" , 并且在 Package Explorer 视图中以图标 的方式进行区分显示.在 Eclipse 项目中可以创建任意多个 UMR 文件.其实 UMR 文件的真实存储格式是 ZIP,可以使用 7Zip,WinZIP,WinRAR 等软件 打开,就跟 JAR 文件的存储格式差不多. 使用 MyEclipse UML 创建图形的第一步工作,就是用新建 UML 向导来创建一个 UML 模型仓库文件(UMR) .为了方便起见,我们事先已经创建了一个名为 UMLTest 的 Java 项 目. 具体步骤如下: 1. 启动新建 UMR 向导.可以通过使用菜单 File > New > UML Model Repository, 或者点击工具栏上的按钮 2. ,也可以来启动创建 UML 模型文件的向导.在 Enter or select the parent folder(输入或者选择父目录)一栏中选中要保存文 件的项目, UML Model Repository 在 (UML 模型仓库) 一栏中, 输入文件名, UML 在 Root Model Name(UML 根模型名称)一栏中,输入想要的名字.此过程可以参考图 17.3 进行相关的设置.图 17.3 新建 UMR 向导及空模型文件 3. 选择 Finish 按钮,关闭向导对话框,并在刚指定的位置下创建 UML 文件,稍后 MyEclipse 会启动 UML Diagram Editor(UML 图形编辑器) .默认情况下新建的4 刘长炯著MyEclipse 6 Java 开发中文教程UMR 文件只有一个空的类图,参考图 17.3 右侧大纲视图. 4. 切换 MyEclipse 透视图为 MyEclipse UML,这样便于修改和创建 UML 图.17.4 创建及修改 UML 图本节我们会简单介绍常见的几种 UML 图形的概念以及创建方式.由于本书重点在于 MyEclipse 的工具使用上,所以 UML 的概念我们并没有打算做 100%的详细介绍,图的种 类也选择了常用的几种,其它的读者可以自行查找资料进行学习.这样省出的篇幅,用于加 入后续章节的其它内容,给读者提供更多方面的参考资料.17.4.1 创建 UML 图形单个 UML 模型文件可以包含任意数目的和任何类型的 UML 图形.向文件中添加图形, 需要在编辑器中打开 UML 文件,然后从编辑器工具栏上左数第一个按钮,从下拉列表中选 择要建的图的类型即可,参考图 17.4.另外还可以从 Outline(大纲)视图下点击视图中的 类似按钮,也可以创建图形,参考图 17.2.支持的 UML 图形列表列表则参考表 17.1.由于 这一特征,如果你想和别人分享做好的 UML 模型,把这个文件发给对方即可(当然前提是 他安装有 MyEclipse 或者 Argo UML 来查看它) .图 17.4 使用编辑器器工具栏来创建图形 用例图 类图 序列图 协作图 状态图 活动图 部署图 表 17.1 可以创建的 UML 图类型列表 当一个模型文件中加入了多个图之后, 如何进行切换到想编辑的图呢?有两个地方可以 进行图之间的切换:第一个地方是在大纲视图,双击需要修改的图的名字即可;另一个地方 就是在打开的图的编辑器的工具栏上,有一个下拉的列表可以切换图.此过程请参考图5 刘长炯著MyEclipse 6 Java 开发中文教程17.5.图 17.5 在大纲和编辑器中切换多个图 向编辑器的图中加入 UML 元素可以通过单击编辑器工具栏上的按钮来完成,另外双击 工具栏上的组件按钮可进入 Mass Add(批量添加)模式,此时每点击一次画布就加入一个 元素,要退出此模式可以点击编辑器工具栏上的光标状 Select(选择)按钮 即可.另外, 带有下拉列表选择的功能,例如矩形绘制,也可以进入批量添加模式.在后面几节的的内容 中,笔者将会对各种类图的概念,图形特点和创建方式逐一进行介绍. 如果要将绘制的图形导出为图片文件,也比较容易,在编辑器的画布空白处右键点击, 然后选择菜单 Export as image, 接着在弹出的对话框中输入要保存的图片文件名以及存储 路径即可,支持这些导出格式:PNG,GIF,PostScript,Encapsulated PostScript(封装 过的 PostScript)和 SVG(Scalable Vector Graphics,可伸缩矢量图形)格式.这样导出 的图片可以用作图软件来处理,或者插入到文档或者网页中进行显示.17.4.2 类图和常见修改功能实际建模时候,大概类图是最经常用到的一种图形了.类图表示不同的实体(人,事物 和数据)如何彼此相关;换句话说,它显示了系统的静态结构.类图可用于表示逻辑类,逻 辑类通常就是业务人员所谈及的事物种类――订单,商品,顾客,经理,管理员,账户等等. 类图也可以表现面向对象中提到的接口.在 Java 语言中,几乎所有的类,都可以用类图来 表示,之所以用了几乎这个不确定词,是因为 UML 本身有其局限性,例如下面的例子就无 法准确的用 UML 表示出来(模拟人和眼睛的关系) : public class Person { class Eye {} } ,这样的结构在 Java 中随处可见,是内部类,但是却无法用 UML 很好的表示出来.类似 的其它内容还有 Web 服务,JSP 等严格说也可以作为类描述的 Java 模块,但是这些都无 法很好的用 UML 表示,不过,按照 UML 的规定,开发工具可以自行扩充模型后来对这些 内容进行建模. 类图上使用包含三个部分的矩形来描述,如图 17.6 所示.最上面的部分显示类的名称, 中间部分包含类的属性(成员变量)列表,最下面的部分包含类的操作(或者说"方法",函 数)列表. 当在一个类图上画一个类元素时,你必须要有顶端的区域,下面的二个区域是 可选择的(当图描述仅仅用于显示系统的高层架构时,下面的两个区域是不必要的) . 位于类图最顶部的,是类名.类名上可以显示图标,也可以不显示,这是可选的功能, 同理所有的 UML 图都可以拥有定制的图标,这是可以扩展到内容. 类的属性栏(中部区域)在分隔线上列出类的属性列表.属性节是可选择的.每个属性 的定义使用如下格式:6 刘长炯著MyEclipse 6 Java 开发中文教程name : attribute type 即 名称 : 属性 类型.例如图中的变量定义 username:String,是类型在后,属性名在前, 等价于 String username 这样的 Java 代码.如果此模型和实际的编程语言无关,作为业务图 17.6 单个类图 系统的描述图,是可以出现中文类型的描述,例如:单价:美元这样的变量定义;如果要用 此图生成代码,则只能使用标准的变量定义和类型.个别的建模工具,例如 Together,支 持给属性名加入别名方便阅读和理解. 类操作列表位于类图长方形的第三个(最底部)区域中,它也是可选的.和属性一样, 类的操作以列表显示.操作使用下列格式定义: name(parameter list) : type of value returned 即:操作名 (参数列表) : 返回值类型.构造器也包含在操作列表中.如图 17.6 中所示的, <<create>>Student()表明这是一个构造器(构造器没有返回值) ;而 getUsername():String 则定义了一个返回值为 String 类型的方法 getUsername(); 另外 setUsername(in username : String)定义了一个设置用户名的方法,输入参数是 String 类型的,参数名为 uername,in 这个标记用来指示参数是输入值(当然不是必须的,不写 in 也可以) . 除了类之外,常见的类图还包括接口.接口如图 17.7 中左上的 IMoveable 所示,定义 了一个行走和停止的行为.实际上接口中也可以规定属性,但是 MyEclipse UML 在这里不 支持这样的格式. 如果一个类需要实现一个接口, 则可以通过带有闭合的单向箭头的虚线进 行连接,即表示实现定义.例如图中的 Animal 实现了 IMoveable 接口,用 Java 到代码来 表示就是:class Animal implements IMoveable.图 17.7 接口和类继承,实现,关联 类之间可以有继承关系,通过带有闭合单向箭头的实线进行连接.例如图 17.7 中,类 Cat 继承自 Animal.另外,类和类之间还可以有关联关系等,例如一个家庭对应多只猫. 双向关联关系已实现的方式连接,并在线上显示关联类型.例如图中的 House 关联着多只 Cat.表 17.2 列出了双向关联中的可能只所表示的含义的描述信息.如果是单向关联,则用7 刘长炯著MyEclipse 6 Java 开发中文教程不封闭的单向箭头来表示:→,从一个类连接到另一个类.此外还可以有聚合等关系,我们 就不多做介绍了,有兴趣的读者可以阅读参考资料中的 IBM 网站中的文章获得更多信息. 表示 0..1 1 0..* * 1..* 3 0..5 5..15 含义 0 个或 1 个 只能 1 个 0 个或多个 0 个或多个 1 个或我个 只能 3 个 0到5个 5 到 15 个 表 17.2 双向关联中可能的多重值描述 另外一个很重要的概念就是可见性. 在面向对象的设计中, 存在属性及操作可见性的记 号.UML 识别四种类型的可见性:public,protected,private 及 package(和 Java 中的 内容对应的非常好) .UML 规范并不要求属性及操作可见性必须显示在类图上(其实 MyEclipse 生成的图使用不同的和 Eclipse 中一致的图标来表示可见性了,但是别的工具一 般是按照 UML 的规范来使用记号来标识的) ,但是它要求为每个属性及操作定义可见性. 为了在类图上的显示可见性,放置可见性标志于属性或操作的名字之前.虽然 UML 指定 四种可见性类型,但是实际的编程语言可能增加额外的可见性,或者不支持 UML 定义的 可 见 性 . 表 17.3 显 示 了 UML 支 持 的 可 见 性 类 型 的 不 同 标 志 . 可 见 性 的 例 子 如 : +username:String 这样的属性定义. 标志 + # ~ 表 17.3 可见性列表 在 Java 的开发中,经常会遇到包(Package)这个概念.UML 中也支持类似的概念: 软件包, 用来将多个相关的类或者接口组织在一块. 软件包使建模者能够组织模型分类器到 名字空间中, 这有些象文件系统中的文件夹. 把一个系统分为多个软件包使系统变成容易理 解,尤其是在每个软件包都表现系统的一个特定部分时.软件包在 UML 中以文件夹的方式 进行显示,并在文件夹头部显示包名,文件夹中包含类或者接口.图 17.8 中列出了一个包 含两个类的软件包 lang. 可见性类型 Public Protected Private Package图 17.8 软件包及注释 另外,和常见的编程语言支持注释一样,UML 也支持注释(Comment) ,如图 17.8 右 侧即是一个注释元素以及注释关联线.注释可以加到任何对象上.8 刘长炯著MyEclipse 6 Java 开发中文教程现在关于 UML 的概念已经做了这么多的介绍,接下来就来看看在 MyEclipse 中如何绘 制类图.首先自然是打开新建的 Class 图,然后可以看到 UML 编辑器的工具栏按钮列表: 图标 英文提示 Select Broom New Package New Class New Association New Generalization New Interface New Realization New Dependency New Attribute New Operation New Association Class New Comment New Comment Link New Rectangle Zoom In Zoom Out 表 17.4 类图编辑器工具栏 在这些工具栏中,最常用的当属类图编辑功能了.点击 UML 编辑器工具栏上的 按钮 即可创建一个新的类.双击类图的三个方框的空白处:类名,属性列表和操作列表处,即可 快速修改类名或者加入新的属性和操作定义. 如果双击已经存在的属性或者操作定义, 则可 以变为文本输入框,进入修改模式来修改.基本上所有的 UML 元素都支持此种修改方式, MyEclipse 的术语叫 Text hot-zone (文字热区) 文字热区是节点或者连接点的中间的可编 . 辑区域,例如关联类的连线中间,通过双击可以激活.激活后,热区内显示方形的可编辑输 入框.输入框内可以直接输入文本,也支持删除,复制,粘贴,剪切带操作.要提交文字热 区内地修改使之生效, 可以点击文字热区之外的任何地方即可, 随后编辑区消失并代之以显 示原来被编辑的 UML 内容. 关于类图编辑和热区,可以参考图 17.9. 说明 恢复为准备选中状态 扫帚 (点击后向各个方向拖动 可以使图形对齐) 新建包 新建类 新建关联等关系(下拉选择) 新建泛化类(继承) 新建接口 新建实现类 新建依赖类(下拉选择) 新建属性 新建操作 新建关联类 新建注释 新建注释连接 新建方形(下拉选择) 放大 缩小9刘长炯著MyEclipse 6 Java 开发中文教程图 17.9 快速编辑类,连接区和编辑区和 Text hot-zone 另外一种热区, Connection hot-zone,即连接热区,它位于哪里呢?它位于类图的 四周,鼠标移过时可以看到多出的几个按钮,一般提供连接到节点的一些关联类,自关联, 子类,依赖等等,可以点击按钮到另一个节点来完成连接,也可以只单击按钮自动生成一个 对应的关联类. 要修改图形的大小,需要把鼠标放到图形的四个角上的某一个,出现黑色的小方块后, 拖动即可调节其大小(不过图有个最小值,不能调节的比最小值还小) .要移动元素,可以 用鼠标画框的方式选中需要移动的元素, 然后再其中的任意一个元素上点击并拖放即可移动 图形的位置. 最后一个和编辑有关的就是 Properties(属性)视图,当选中不同的元素时,会显示 对应的可以修改的属性值,如图 17.10 所示.例如选中类 A 中的属性后,此时 Properties 视图如图 17.10 所示.Properties 视图中也可以编辑对应的值,并且以多页标签的方式来显 示所有可以修改,添加或者删除的内容(相对比下,在编辑器的画布上能改的属性则非常有 限) Properties 标签下的工具栏, . 可以处理一些操作例如转到上级 (Go Up) 新建属性(New , Attribute),新建数据类型(New Datatype),新建版型(New Stereotype),以及删除模型 (Delete from Model) 等等. Name 输入框中可以修改属性名, 在 Type 可以选择数据类型, Initial Value 中可以输入初始值,Visibility 中可以选择可见度,包括 Protected(受保护的), Public(公开的)和 Private(私有的) .Changeability 中则可以选择是否为可以修改的值. Modifiers 中则可以修改修饰符.实际上每种元素都有它自己特定的属性,但大部分都是用 不到的属性,所以我们就不打算在这里做完整的介绍了.图 17.10 UML Properties 视图 Properties 视图中另外一个相对固定的标签页就是 Ducumentation(文档) ,可以用来10 刘长炯著MyEclipse 6 Java 开发中文教程给每个 UML 的元素撰写一些说明文档(实际上这些内容是和 JavaDoc 中的标记所对应的, 因为 MyEclipse 或者 ArgoUML 毕竟是 Java 语言开发的嘛) .在这一页,Author 框输入作 者信息,Version 框输入版本,Since 框输入什么时候开始有,Deprecated 则指示是否为废 弃的类或者属性等信息,See 则输入参考信息,Documentation 则输入详细的注释信息.图 17.11 Ducumentation 标签 当选中图形的最外层时,例如直接选中类图本身,此时就可以修改 Presentation 标签 下和图形显示有关的属性了.Display(显示)右侧的两个复选框分别可以指定是否显示属 性(Attributes)和操作(Operations)列表.Bounds(边界)则指定图形的坐标和大小,坐 标的格式是:x,y,width,height,即:横坐标,纵坐标,宽度,高度.需要说明下在计算 机绘图中,坐标的起点一般都是左上角,也即(0,0)这个点.Body Fill Color 指定了图形 的主体填充色彩.Header Fill Color 则指定了头部填充色彩(类图中位于最上侧,即类名显 示处) .Line 则指定了线条(一般是边框等)的显示颜色.如图 17.12 所示.图 17.12 Presentation 标签 最后两个标签分别是 Constrains 和 Tagged Values.Constrains 主要可以给元素添加, 删除和修改一些限制信息,一般情况下使用不到.Tagged Values 则列出了做了标记的值列 表,例如当按照图 17.11 中设置了文档后,类的 Tagged Values 显示的内容列表如图 17.13 所示.在这个标签的工具栏上可以删除一些标签,还可以双击 Tag(标记)和 Value(取值) 进行相关值的编辑.11刘长炯著MyEclipse 6 Java 开发中文教程图 17.13 Tagged Values 标签 好了,关于类图的介绍基本上到此为止.现在需要大家做的是练习,开发出如图 17.14 所示的 UML 类图,这个图包括了类,接口以及包和关联关系等.可以参考配套视频,然后 自己做一下练习.图 17.14 UML 类图练习目标17.4.3 正向工程 - UML 类图生成 Java 代码在实际的项目开发中,如果设计出来的图不能变成 Java 代码,那的确是让 UML 的功 能大打折扣,尤其是详细到每个类的属性和操作,包名这样的详细设计,如果过后还需要一 点点的把对应的代码写出来, 的确让人头痛. 所幸的是, MyEclipse 的 UML, 或者说 ArgoUML 以及大多数的专业一点的 UML 设计器,都提供正向工程—从 UML 类图生成特定语言,例 如 Java,C++等的源代码,说点题外话就是这当中做的最好的当属 Borland Together.相 比较来说,MyEclipse 的这个生成功能,有时候会出现错误,导致无法完整的产生代码. MyEclipse 支持直接从 UML 类图中的类定义生成 Java 代码.操作步骤如下: 1. 打开包含类图的 UML 仓库文件(UMR) ,这些类必须按照 Java 的规范进行设计才 可生成 Java 代码; 2. 选择菜单 UML > Generate Java... ,来启动正向工程(Forward-Engineering)向 导,如图 17.15 所示.图 17.15 选择菜单 Generate Java... 随后, 将会弹出如图 17.16 所示的正向工程向导对话框. 按照下列步骤进行操作即可 (也 可参照图中的箭头提示) :12 刘长炯著。

相关文档
最新文档