如何将Java转换为UML?

时间:2017-04-27 21:13:55

标签: java uml diagram

我一直在网站上搜索,但我找不到感觉正确的东西。我想将这个java代码重写为UML图。

public class Fotbollslag {
    private Spelare[] lag=new Spelare[30];

public void läggTillSpelare(Spelare spelare){
lag[antalSpelare]=spelare;
antalSpelare++;

2 个答案:

答案 0 :(得分:0)

以下面的代码为例:

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类型属性intString,一个Constructor和两个public属性{1}}类型为String的方法。在UML中,我们对不同的范围有不同的符号,例如private, public, package and protected。 UML符号是:

public: (+), private: (-), package: (~) and protected: (#) 对于上面提到的代码,UML类图将如下所示:

UML Class Diagram

如您所见,Class diagram看起来像一张桌子,它分为三个部分: 上半部分包含Class name,中间部分,其中包含attributes,最后是包含methods(functions)的下半部分。

Class的名称通常是Bold,表格的中间单元格是attributes的{​​{1}}部分,底部是您编写的部分你的Class。因此,编写methods的正确表示法将首先给出属性范围的符号(attribute if -private if +),然后是属性的名称(public案例中的empId),用冒号(Employee)分隔,然后是属性的类型(:或{{1例如),并且如果它已经初始化,那么你也要写这个属性的值。对于String来说,这是同一个故事。在你的问题中,你之间没有任何关系,所以我没有包括任何关系解释。 我建议您阅读有关int图表的更多信息,并将代码转换为methods,您可以访问this link

编辑:

我刚刚注意到您在评论中提到您不知道如何在UML图表中表示UML。从你的第一个问题不清楚,但这是在你的例子中应该怎么做:

UML Class diagrams

说明:请注意,array的展示率为-lag[0..29] : Spelare,因此表示法为array。在可见性之后,我们写了private的名称,它的初始大小(在你的情况下,大小是30,因此,索引-,用冒号分隔,我们写的类型为数组,在您的情况下是array

我希望这能回答你的问题。

答案 1 :(得分:0)

如果我看得对,你就很难显示阵列。这就是你要做的:

enter image description here

您只需在类型后面的方括号中放入边界即可。而且,由于您的数组似乎固定为30,因此只需放置[30]即可。否则,您可以像往常一样使用..范围运算符指定任何多重性。