2016-07-21 9 views
0

So ist die Frage einfach. Ich finde die Antwort einfach nicht im Internet. Ich denke, dass private Methoden im Diagramm nutzlos sind und nicht viel erzählen. Aber vielleicht denke ich falsch.Sollte ich private Methoden in das UML-Klassendiagramm einbeziehen?

+1

Warum Stimmen runter? –

+1

Ich denke, die Leute werden Ihre Frage off-topic und zu breit für SO finden. –

+2

Ein UML-Diagramm ist wie jedes andere Diagramm ein Kommunikationswerkzeug. Was Sie in Ihrem Diagramm berücksichtigen sollten und sollten, hängt vollständig davon ab, was Sie kommunizieren möchten. –

Antwort

2

Private Methoden sind ein Implementierungsdetail der Klasse, nicht seine öffentliche API.

Nein:

Wenn Sie das Diagramm werden mit der externen Schnittstelle der Klasse zu zeigen, oder ein Subsystem, das die Klasse gehört, dann gibt es keinen Grund, sie zu schließen. Sie fügen nur visuelles Rauschen hinzu und verwirren den Leser.

Ja/Vielleicht:

Auf der anderen Seite, wenn Sie versuchen, den inneren Aufbau der Klasse selbst oder seine eng gekoppelten Zusammenarbeit mit einer anderen Klasse (man denke an friend in C++) zu kommunizieren, dann es könnte angebracht sein.

0

Ja, Sie sollten sie einschließen. Es gibt ein bisschen mehr Details darüber, wie die Klasse funktionieren wird. IBM hat tatsächlich eine spezielle Notation für private Methoden - https://www.ibm.com/developerworks/rational/library/content/RationalEdge/sep04/bell/

+0

Das Symbol für den privaten Bereich ('-') ist keine" spezielle Notation von IBM ", sondern Teil der UML-Spezifikation von OMG. –

+0

Sie haben Recht. Vielen Dank :) –

1

Meinung:

UML ist nicht * eine 4GL-Programmiersprache. Sie verwenden es, um eine Idee, Design, Architektur zu vermitteln. Sie fügen nur Informationen hinzu, die diesem Zweck dienen. Es hat nicht das Konzept, "vollständig" zu sein. Wie ein Text in einem Buch, verwenden Sie nur Wörter, die für den Zweck der Übermittlung der Nachricht notwendig sind.

Wenn es als Teil der Systemdokumentation verwendet wird, und es alle Mitglieder anzeigen muss, dann generieren wir es nur danach.

UML ist nicht das Ziel, es ist nur eine Modellierung Sprache mit Menschen zu kommunizieren.

Also, wenn es den Zweck erfüllt, fügen Sie es hinzu, sonst lassen Sie es aus.

*) einig Versuche unternommen worden, um das gemacht, aber noch nicht sehr erfolgreich gewesen (TogetherJ in dem Sinne)

1

Es hängt davon ab, was Sie modellieren.

Im Allgemeinen bietet UML einen Mechanismus zum Anzeigen der Sichtbarkeit von Operationen (und Attributen). Als privates Feature kann in einem Diagramm dargestellt werden, dass Sie es auf einem Diagramm darstellen können. Ob Sie es zeigen oder nicht, hängt jedoch davon ab, was Sie modellieren. Wenn Sie das interne Verhalten der Klasse modellieren, dann ja. Wenn Sie nur ihre äußere Erscheinung modellieren, müssen Sie das nicht tun (aber Sie können es immer noch).

Verwandte Themen