UML (Unified Modeling Language) ist eine einheitliche Modellierungssprache. Ich habe UML aus einer wunderbaren Forumsgeschichte von alex8894 kennengelernt. Rezension zu CASE-Tools zum Erstellen von UML-Diagrammen. Das Buch „ UML for Java Programmers “ von Robert Cecil Martin verwendet meines Wissens UML 1-Standards, da die aktuelle UML nach ihrer Veröffentlichung in Kraft trat. Ich glaube jedoch, dass die Grundprinzipien der Erstellung solcher Blockdiagramme ohne wesentliche Änderungen geblieben sind. Lehrbeispiel aus der Vorlesung:
/*
* (c) Volodya Mozhenkov 2015
* GPL version 3.0
* Almost University http://www.almost-university.com/
* VladimirMozhenkov@yahoo.com
*
*/
// файл Main.java
public class Main
{
private static void printRes(MyResult r)
{
if(r.hasResult())
{
System.out.print("Результат исполнения: ");
System.out.println(r.getResult());
}
else
{
System.out.println("Результат отсутствует");
}
}
public static void main(String[] args)
{
MyCalculator c1 = new MyCalculator('/');
MyResult r = c1.calculate(4, 2);
printRes(r);
r = c1.calculate(40, 13);
printRes(r);
r = c1.calculate(1, 0);
printRes(r);
c1 = new MyCalculator('^');
r = c1.calculate(2, 25);
printRes(r);
}
}
// файл MyCalculator.java
public class MyCalculator
{
private class ResultClass implements MyResult
{
boolean valid;
int result = 0;
public ResultClass()
{
valid = false;
}
public ResultClass(int result)
{
this.result = result;
valid = true;
}
public int getResult()
{
return result;
}
public boolean hasResult()
{
return valid;
}
}
private char operation;
public MyCalculator(char operation)
{
this.operation = operation;
}
public MyResult calculate(int a, int b)
{
MyResult res;
switch(operation)
{
case '*':
res = new ResultClass(a*b);
break;
case '/':
if(b!=0)
{
res = new ResultClass(a/b);
}
else
{
res = new ResultClass();
}
break;
case '+':
res = new ResultClass(a+b);
break;
case '-':
res = new ResultClass(a-b);
break;
default:
res = new ResultClass();
break;
}
return res;
}
}
// файл MyResult.java
public interface MyResult
{
public int getResult();
public boolean hasResult();
}
Und mit einer der kostenlosen Versionen der Programme habe ich schnell das folgende Blockdiagramm dieses Programms auf einem Smartphone gezeichnet (natürlich mit Fehlern, da ich gerade erst begonnen habe, mich für UML zu interessieren): Es wäre interessant zu sehen und Vergleichen Sie mit dem UML-Diagramm/Diagramm desselben Intellij IDEA, mit dem die Programme erstellt werden.
GO TO FULL VERSION