java的uml类图用什么画 类图用什么工具画
大家好,感谢邀请,今天来为大家分享一下java的uml类图用什么画的问题,以及和类图用什么工具画的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!
uml绘制-如何绘制UML类图
uml类图关系怎么画
类图画法
1、类图的概念
A、显示出类、接口以及它们之间的静态结构和关系
B、用于描述系统的结构化设计
2、类图的元素
类、接口、协作、关系,我们只简单介绍一下这四种元素。
同其他的图一样,类图也可以包含注解和限制。
类图中也可以包含包和子系统,这两者用来将元素分组。
有时候你也可以将类的实例放到类图中。
3、类
A、类是对一组具有相同属性、操作、关系和语义的对象的抽象,它是面向对象系统组织结构的核心,包括名称部分(Name)、属性部分(Attribute)和操作部分(Operation),见下图。
B、类属性的语法为:
[可见性]属性名[:类型][=初始值][{属性字符串}]
可见性:公有(Public)“+”、私有(Private)“-”、受保护(Protected)“#”
类操作的语法为:
[可见性]操作名[(参数表)][:返回类型][{属性字符串}]
可见性:公有(Public)“+”、私有(Private)“-”、受保护(Protected)“#”、包内公有(Package)“~”
参数表:
定义方式:“名称:类型”;若存在多个参数,将各个参数用逗号隔开;参数可以具有默认值;
属性字符串:
在操作的定义中加入一些除了预定义元素之外的信息。
4、接口
在没有给出对象的实现和状态的情况下对对象行为的描述。
一个类可以实现一个或多个接口。
使用两层矩形框表示,与类图的区别主要是顶端有<>显示:
也可以用一个空心圆表示:
5、协作
协作是指一些类、接口和其他的元素一起工作提供一些合作的行为,这些行为不是简单地将元素加能得到的。例如:当你为一个分布式的系统中的事务处理过程建模型时,你不可能只通过一个类来明白事务是怎样进行的,事实上这个过程的执行涉及到一系列的类的协同工作。使用类图来可视化这些类和他们的关系。
6、关系
这篇文章的重点,详见第二部分。
二、类之间的几种关系
1、泛化(Generalization)
A、是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为,描述了一种“isakindof”的关系。例如:老虎是动物的一种,即有老虎的特性也有动物的共性。
B、用带空心箭头的实线表示,箭头指向父类,如下图:
2、实现(Realization)
A、是一种类与接口的关系,表示类是接口所有特征和行为的实现。
B、用带空心箭头的虚线表示,箭头指向接口,如下图:
3、关联(Association)
A、一般关联
a、关联关系是类与类之间的联结,它使一个类知道另一个类的属性和方法,指明了事物的对象之间的联系,如:老师与学生、丈夫与妻子。关联可以是双向的,也可以是单向的,还有自身关联。
b、用带普通箭头的实心线表示。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头,如下图:
B、聚合(Aggregation)
a、它是整体与部分(整体hasa部分)的关系,且部分可以离开整体而单独存在,如车和轮胎是整体和部分的关系,轮胎离开车仍然可以存在。聚合关系是关联关系的一种,是强的关联关系,关联和聚合在语法上无法区分,必须考察具体的逻辑关系。
b、用带空心菱形的实线表示,菱形指向整体,如下图:
C、组合(Composition)
a、它是整体与部分的关系,但部分不能离开整体而单独存在。如公司和部门是整体和部分的关系,没有公司就不存在部门。组合关系是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。
b、用带实心菱形的实线表示,菱形指向整体,如下图:
4、依赖(Dependency)
A、元素A的变化会影响元素B,那么B和A的关系是依赖关系,B依赖A。要避免双向依赖,一般来说,不应该存在双向依赖。关联、实现、泛化都是依赖关系。
B、用带箭头的虚线表示,箭头指向被依赖元素。
5、总结
各种关系的强弱顺序如下:
泛化=实现>组合>聚合>关联>依赖
下面这张UML图,比较形象地展现了各种类图关系:
如何绘制UML顺序图1.在VP官网下载。
2.在VisualParadigm中打开已下载的vpp文件。通过工具栏中的Project>Open可打开这个项目。
3.打开类图Registration,通过对图表内容的查看,我们了解到这里有三个类——RegistrationUI、RegistrationController和User。
4.现在我们想要对在运行时这些类的对象实例间的交互进行建模。由于控制器类负责控制登记流程,因此添加一个它的子顺序图。将鼠标指针移动到RegistrationController,点击底部右下角的资源图标然后从弹出菜单中选择NewDiagram...。
5.在NewDiagram窗口,选择SequenceDiagram,然后点击Next。保持默认图标名称不变,然后点击OK进行确认。
6.一个空的UML顺序图创建以后,从图表工具栏中选择BoundaryLifeLine(B)。
7.点击图表创建生命线的分界线。
8.输入registrationUI作为生命线名称,然后敲击回车键进行确认。
9.右键点击生命线,然后从弹出菜单中选择electClass>SelectClass...。
10.在SelectClass窗口,选择RegistrationUI类,然后点击OK进行确认。
然后所绘制的生命线就:
11.创建一个控制生命线(ControlLifeLine):registrationController:RegistrationController和一个实体生命线(EntityLifeLine):user:User。不要忘了为它们选择合适的类。所绘制的图表如下图所示:
12.让我们为生命线之间所调用的方法进行建模,将鼠标指针移动到生命线registrationUI。
13.按住资源ResourceCatalog,然后进行拖动。
14.移动到生命线registrationController,然后释放鼠标按钮。
15.从ResourceCatalog中选择Message。
16.这会弹出一个可供你选择的新的序列信息的列表名称。你可以看到这些选项都是classRegistrationController的操作,在其中选择createUser(name,password)。
17.关联生命线registrationController和user,我们可以看到是registrationController创建了user生命线。因此,我们需要创建一条信息来关联这两者。将鼠标指针移动激活生命线registrationController。
18.按住资源ResourceCatalog进行拖动。
19.在生命线user处放开鼠标指针。
20.从ResourceCatalog中选择CreateMessage。
于是信息就被创建好了,所得的图像如下图所示:
21.创建从生命线registrationController到user的信息setName和setPassword,到目前为止,图表如下图所示:
22.您还可以指定操作的参数,以信息createUser(name,password)为例。右键点击它,然后从下拉菜单中选择OpenSpecification...。
23.通过点击按钮上的省略号对行为属性进行编辑,跳转到Actiontype。
24.在CallActionSpecification窗口,点击Add>Text...添加参数。在本例中,点击Add>Text...添加参数peter。再次点击Add>Text...添加参数mypwd。注意,这里的两个参数指的是两个通过操作赋予的参数,如果你再添加第三个参数,它将被自动忽略(因为只定义了两个操作)。
25.点击OK关闭窗口,然后返回图表。添加的参数被呈现在了图表上
如何绘制UML类图?类图的属性和方法是指类本身的属性和行为,类及其属性和方法是在程序设计过程中产生的,类图只是用Visio绘制出来,用于项目团队成员间或项目干系人之间的沟通和交流。例如:如果要设计一个关于销售苹果的程序,苹果就可以看作一个实体(类),其基本属性有颜色、形状、味道、种类等,行为有开花、落果、膨大、成熟等行为。
下面给出绘制苹果类图的方法和步骤:
第一步:启动Visio2010或更高版本,如下图:
第二步:在模板类别中选择“软件和数据库”,进入选择模板窗口,如下图:
第三步:选择“UML模型图”,并用鼠标双击“UML模型图”图标,进入UML绘图窗口,如下图:
第四步:选择“UML静态结构”,如下图:
第五步:按下鼠标左键,拖动“类图标”,到工作区域窗口,如下图:
第六步:双击工作区域窗口的类框图,如下图:
第七步:在UML类属性窗口,可以修改类的名称,添加属性(特性)和操作(方法)
第八步:在UML类属性窗口,修改类名为“苹果”,如下图:
第九步:在UML类属性窗口,选择特性,分别输入苹果的颜色、形状、味道等属性,类型为数据类型,可以选择字符串、整型等,如下图:
第十步:在UML类属性窗口,选择操作,分别输入苹果的行为开花、落果、膨大、成熟方法,样例中方法名称用的中文,实际应用应该采用英文,如下图:
绘制完成的UML类图
在线设计uml-如何从JAVA代码生成UML类图
什么是uml设计,怎样进行实时uml设计
UML设计是在软件开发之前,用UML工具对项目的整体建模分析过程。这是一门系统的课程,你需要结合实际的案例、找一款强大的UML工具,动手去实践实践。
更多UML应用案例和应用问题可以到idehub社区咨询,uml板块有专业老师解答。
如何从JAVA代码生成UML类图推荐使用ModelGoon!
*ModelGoon是什么?
它是一个Eclipse插件,用于基于UML图的模型设计,以及逆向工程(即从已有源代码生成类图等,以作为代码分析或者文档使用)。
*适用条件
ModelGoon目前最新的版本是3.0.0,适用于Eclipse3.4+,包括最新的Eclipse3.6版本
*如何安装
推荐在线安装,site地址是
需要注意的是,有时必须使用代理服务器才能连接成功。
也可以离线安装,下载包的地址是
下载完该jar之后,直接拷贝到Eclipse安装目录下的dropins目录下,重启Eclipse即可
*如何使用
安装成功后,file=>new=>other菜单里面会多出一项ModelGoonDiagrams,在自己已有的java工程中新建一个classdiagram,用以生成类图。创建完成后你会发现生成了一个.mgc后缀的文件,现在你可以用这个文件创建自己的类图了。用法相当直接,你可以把若干个java类拖拽进这个文件视图中,UML类图自然被生成,以及各个类之间的关系。
*参考资料
需要注意的是,有时必须使用代理服务器才能连接成功。
*为什么选择ModelGoon而不是其他的插件
其他的UML插件也能完成类似的功能,但是在安装使用的过程中会碰到种种问题。
常有人推荐EclipseUML这个插件,但是目前这个项目的主页无法打开,似乎已停止维护;
还有SlimeUML据说也不错,但是找不到下载源;
此外还有AgileJ口碑也不错,可惜是付费的,没有免费版;
至于papyrusuml,只是单向的,做模型设计、绘制UML图时使用,而并不支持逆向工程;
UML图总结-需求分析阶段用例图的使用最近过年因为新冠病毒的肆虐各公司都开始放长假了,初步估计都是要出了元宵才能回成都上班,虽然返岗之前要在家办公(上班),但是还是得做点欠着的事情舍,其中比较重要的一个就是我的毕业设计嘞,一两个月就要交初稿了,但是我还没开始嘞
由于毕业设计需要用到各种UML图,所以就趁这个机会好好复习和总结一下软件工程课程有关UML图的相关内容吧,毕竟这个在软件设计和分析的流程中还是占据比较重要的地位,也是软件分析的利器,能帮助我们快速分析我们要做的事情,也能使我们要做的东西一目了然,接下来就直接开始总结和复习吧,就以我的毕业设计——一个简单的在线考试系统为例开始我们的学习之旅
用例图(UserCase)是外部用户(被称为参与者)所能观察到的系统功能的模型图。用例图是系统的蓝图。用例图呈现了一些参与者,一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模。
例如我们在线考试系统的业务用例图:
简单来说就是:用例图是由参与者(Actor)、用例(UseCase)、系统边界、箭头组成,用画图的方法来完成的一个表达系统功能的图示。
接下来分别介绍其成分。
参与者(Actor)是指存在于系统外部并直接与系统进行交互的人、系统、子系统或类的外部实体的抽象。
简单来说就是:
一个系统的使用者,可能涉及的角色就是一个参与者
每个参与者可以参与一个或多个用例,每个用例也可以有一个或多个参与者。
在用例图中使用一个人形图标来表示参与者,参与者的名字写在人形图标下面。
简单来说就是:用例是对包括变量在内的一组动作序列的描述,系统执行这些动作,并产生传递特定参与者的价值的可观察结果。
系统边界是用来表示正在建模系统的边界。边界内表示系统的组成部分,边界外表示系统外部。系统边界在画图中用方框来表示,同时附上系统的名称,参与者画在边界的外面,用例画在边界里面。因为系统边界的作用有时候不是很明显,所以我个人理解,在画图时可省略。
要创建用例,我们需要分析哪些可以作为用例,如何识别,可以从以下几点来确定用例:
简单来说就是:如果用例的粒度很小,得到的用例数就会太多。反之,如果用例的粒度很大,那么得到的用例数就会很少。
比如在我们的考试系统中:我们的老师可以对试卷进行管理,那么展示出来的粒度较大的用例可以是这样:
如果我们按照具体的操作把它抽象成多个用例(粒度变小),它也可以是这样的:
它展示的系统需求和单个用例是完全一样的。
用例之间的关系包括以下几种:
类图用什么工具画
类图用StarUML工具画。
StarUML是一种创建UML类图,生成类图和其他类型的统一建模语言(UML)图表的工具。StarUML是一个开源项目之一发展快、灵活、可扩展性强(zj)。支持23种GoF模式(Pattern),以及3种EJB模式。StarUML也结合了模式和自动生成代码的功能,方便落实设计。
GoF模式出自于Erich Gamma等4人合著的Design Patterns:Elements of Reusable Object-Oriented Software一书,其内列出了23种软件模式,可解决软件设计上的特定问题。StarUML也支持3种常用的EJB模式,分别为EntityEJB、MessageDrivenEJB、SessionEJB。
相关信息
1、可绘制9款UML图:用例图、类图、序列图、状态图、活动图、通信图、构件图、部署图以及复合结构图等。
2、完全免费:StarUML是一套开放源码的软件,不仅免费自由下载,连代码都免费开放。
3、多种格式影像文件:可导出JPG、JPEG、BMP、EMF和WMF等格式的影像文件。
4、语法检验:StarUML遵守UML的语法规则,不支持违反语法的动作。
5、正反向工程:StarUML可以依据类图的内容生成Java、C++、C#代码,也能够读取Java、C++、C#代码反向生成类图。
文章到此结束,如果本次分享的java的uml类图用什么画和类图用什么工具画的问题解决了您的问题,那么我们由衷的感到高兴!