如何将Java转换成UML?
我一直在网站上搜索,但我找不到感觉合适的东西。我想把这个java代码重写成UML图如何将Java转换成UML?,java,uml,diagram,Java,Uml,Diagram,我一直在网站上搜索,但我找不到感觉合适的东西。我想把这个java代码重写成UML图 public class Fotbollslag { private Spelare[] lag=new Spelare[30]; public void läggTillSpelare(Spelare spelare){ lag[antalSpelare]=spelare; antalSpelare++; 以以下代码为例: public class Employee { private st
public class Fotbollslag {
private Spelare[] lag=new Spelare[30];
public void läggTillSpelare(Spelare spelare){
lag[antalSpelare]=spelare;
antalSpelare++;
以以下代码为例:
public class Employee {
private static String department = "R&D";
private int empId;
private Employee(int employeeId) {
this.empId = employeeId;
}
public static String getEmployee(int emplId) {
if (emplId == 1) {
return "idiotechie";
} else {
return "Employee not found";
}
}
public static String getDepartment() {
return department;
}
}
上面的示例是Employee
类的一个示例,它有两个private
类型的属性int
和String
,一个构造函数
,以及两个类型的String
公共方法。在UML中,对于不同的范围,我们有不同的符号,例如私有、公共、包和受保护的
。
UML符号是:
public:(+)、private:(-)、package:(~)和protected:(#)
对于上面提到的代码,UML类图如下所示:
(来源:)
如您所见,类图
看起来像一个表,它分为三个部分:
上半部分包含类名
,中间部分包含属性
,最后是下半部分,包含方法(函数)
类
的名称通常是粗体的,表的中间单元格是类
的属性
部分,底部是编写方法的部分。因此,编写属性
的正确表示法是首先给出属性范围的表示法(-
如果私有
,+
如果公共
),然后是属性的名称(empId
在员工
案例中),用冒号隔开(:
),然后是属性的类型(例如String
或int
),如果它已经初始化,那么您也会写入该属性的值。对于方法
来说,情况是一样的。在你的问题中,类之间没有任何关系,所以我没有包括任何关系解释。
我建议您阅读更多关于UML
图的一般知识,如果您能将代码转换为UML类图,您可以访问
编辑:
我刚刚注意到您在评论中提到,您不知道如何在UML图中表示数组。从您的第一个问题看不清楚,但下面是在您的示例中应该如何做到这一点:
-lag[0..29]:Spelare
解释:请注意,数组的可见性是私有的
,因此符号是-
。在可见性之后,我们写下数组的名称
,它的初始大小(在您的例子中,大小是30,因此索引[0..29]
,用冒号分隔,我们写下数组的类型,在您的例子中是Spelare
)
我希望这能回答您的问题。如果我看对了,您只会在显示阵列时遇到问题。您可以这样做:
您只需将边界放在类型后面的方括号中。由于数组似乎固定为30,您只需放置[30]
。否则,您可以像往常一样使用范围运算符指定任何重数。
值得注意的是,在数组中,它可以同时是字符串和整数。您有问题吗?“我想要X”是的,如何将java代码转换成Uml:)这也不是问题。请看:这段代码甚至不完整。我建议读一本关于如何做到这一点的书,然后提出一个真正的问题。我已经编辑了我的答案,检查它是否回答了你的问题question@DanielHaugen忘记标记您:/public方法laggTillSpelare应该有一个void
返回类型。@rags2rich。不管怎样,OP似乎已经淹死了。并且-如果没有指定(如上所述),这是void
void
只是表示空或无的另一个词。您应该包括返回类型,无论它是String
类型、int
类型还是任何其他类型,包括void
。除非您重新编写了UML规则或有可靠的参考资料可供查阅,因为我没有发现任何与UML中的任何其他类型不同的说法或处理void
类型的方法。作为一名软件开发人员,如果我想理解UML模型所暗示的设计/架构,我想知道返回类型。UML 2.5.1的117:[]'('[]')'[':'[]['['[']']]['{'['',']*'}']]关键字特定于类C语言,以模拟“无返回值”。其他语言使用不同的概念。例如,Pascal使用过程
(无返回值)和函数
,这需要返回类型。例如,Python不强制执行任何内容,只是在运行时进行决定。你需要走出你的Java抽屉,把这个世界看作一个相当大的世界。坚持你的事业和手头的问题。这个问题分享了一个Java代码示例,您应该在UML类图中包含返回类型void
。就这样。