www.mikrocontroller.net

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


Autor: Bernd (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Kai G. (runtimeterror)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Bernd (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Kai G. (runtimeterror)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Bernd (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Kai G. (runtimeterror)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Bernd (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Bernd (Gast)
Datum:

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

Fehlt es UML an Begrifflichkeiten ?

Autor: der mechatroniker (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.