Forum: PC-Programmierung Welches UML Diagramm wählen?


von Bernd (Gast)


Lesenswert?

Hallo zusammen,

folgende Frage hätte ich an euch. Ich arbeite mit einer Menge Quellcode 
im Bereich embedded und muss immer mal wieder Code einpflegen. Davor 
muss ich jedoch den Code verstehen sowie Funktionen etc. Jetzt würde ich 
gerne anfang alles in UML zu dokumentieren. Sehe jedoch das es eine 
Menge Darstellungsformen gibt. Welche bietet sich an wenn ich in 1-2 
Jahren nochmals darüber schaue und den Zusammenhang zwischen Funktionen 
cases usw schnell wieder verstehen möchte.

besten Dank

von Kai G. (runtimeterror)


Lesenswert?

Hmm... es gibt 13 Darstellungsformen, wovon jede eine andere Aufgabe 
erfüllt.

Welches du davon wählst hängt stark von der Software ab. Klassendiagramm 
und Paketdiagramm (ab einer bestimmten Größe) sind immer gut. 
Timingdiagramm, wenn's zeitkritisch wird. Objektdiagramme sind meist nur 
um Snapshots darzustellen. Für Zustandsautomaten gibt's auch 2-3 
Diagramme. Für Algorithmen empfiehlt ein Aktivitätsdiagramm, für 
Dialogsysteme ein Sequenzdiagramm. Anwendungsfalldiagramme sind 
nützlich, wenn viele Schnittstellen existieren, usw.

Des weiteren kannst du zu einem Projekt so viele Diagramme erstellen, 
wie du willst, um jeweils andere Aspekte zubeleuchten. Ein gutes Tool 
spart hier eine Menge Arbeit.

Hoffe, das hilft dir ein wenig.

Gruß

Kai

von Bernd (Gast)


Lesenswert?

Besten Dank. Gibt es ein tool das mir aus einer eingegeben Basis an 
Infos ein paar Diagramme automatisch entwickelt. Bei mir ist vorallem 
wichtig den Zustand von Variablen, Inhalt von Arrays und Aufruf von 
Funktionen wichtig.

von Kai G. (runtimeterror)


Lesenswert?

>Bei mir ist vorallem wichtig den Zustand von Variablen, Inhalt von Arrays
>und Aufruf von Funktionen wichtig.

Öhm... kennst du dich mit OOP eigentlich aus?

- Variablen sind meist Attribute
- Arrays sind Collections, Bags, etc.
- Funktionen sind Methoden

Tools gibt es, hängt aber von deiner Sprache, Programmierpragmatik und 
dem Budget ab.

Welche Diagramme würdest du den in der SA (strukturierten Analyse) 
verwenden? Dann kann ich dir auch sagen, was in der UML geeignet wäre.

von Bernd (Gast)


Lesenswert?

Hi

ich kenne mich nicht in der oop aus, da ich nur in C programmieren muss.

Ich merke schon ich muss erst einmal Basis Wissen aufbauen, da ich dir 
leider keine Antwort auf deine Frage geben kann welches Diagramm ich in 
der SA verwende.

In erster Linie sind die Diagramme für mich das ich nach ein paar 
Monaten schnell reinfinde. Das heisst ich benötige ein Diagramm für den 
groben èberblick und eines für bestimmte Zuständen.

mh! vielleicht stellt sich ersteinmal die Frage wie man an die Sache 
prinzipiell herangeht. Dachte nur an UML jedoch bemerke ich zum zweiten 
mal das vielleicht ein Blick davor nicht verkehrt wäre.

von Kai G. (runtimeterror)


Lesenswert?

>Das heisst ich benötige ein Diagramm für den
>groben èberblick und eines für bestimmte Zuständen.

Ist meist der beste Ansatz.

Bei C wirst du mit UML nicht weit kommen, da es sich um eine rein 
strukturierte Programmiersprache handelt, und von der UML nicht sinnvoll 
abgedeckt wird.

Schau die die strukturierte Analyse mal an:
http://de.wikipedia.org/wiki/Strukturierte_Analyse

von Bernd (Gast)


Lesenswert?

okay danke nochmals. Ich werde mir das mal genauer anschauen. Werde dann 
und wann mal wieder hier was schreiben, meine Erfahrungen etc. 
Vielleicht schaust du ja nochmals rein. ;-)

THX

von Bernd (Gast)


Lesenswert?

Anbei doch noch eine Frage: Warum genau kann ich mit UML kein C Code 
sinnvoll darstellen?

Fehlt es UML an Begrifflichkeiten ?

von der mechatroniker (Gast)


Lesenswert?

Man kann schon C-Code abbilden, wenn er einigermaßen "objektorientiert" 
aufgebaut ist. Ne Klasse ist dann halt ne struct, ihre Methoden sind 
diejenigen Funktionen, die damit arbeiten usw. Nur erzwingt C halt beim 
Softwareentwurf diese Vorgehensweise nicht ("erzwingen" tun es die 
OO-Sprachen streng genommen auch nicht), deswegen ist vorhandene 
Software in C oft so strukturiert, daß die nachträgliche Modellierung in 
UML schwerfällt, z.B. wenn das Bearbeiten bestimmter Datenstrukturen 
eben nicht sauber in Funktionen gekapselt ist, sondern alle Funktionen 
ihrem jeweiligen Zweck nach "wild" auf sämtlichen Daten im Programm 
herumwurschteln.

Umgekehrt wird aber ein Schuh draus: Auch wenn zur Implementierung nur 
eine prozedurale Sprache zur Verfügung steht, tut es gut, vorher eine 
Objektorientierte Analyse der Aufgabe durchzuführen, wobei dann UML 
durchaus hilfreich ist.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.