# Software-Engineering Aufgabe - Fragen zu meiner Lösung



## mint86 (17. Jan 2013)

Hallo, ich habe folgende Aufgabenstellung:

Aufgabe 1:  Reparaturannahme einer Autowerkstatt
1.1.1	-Zeichnen Sie eine Ebene 0 Grafik (Kontextdiagramm) mit folgenden Schnittstellen: Geschäftsleitung, Lager, Rechnungswesen, Werkstatt, Kunde
-Führen Sie eine Systemabgrenzung durch

1.1.2	- Kommentieren Sie die Schnittstellen


1.2.1	Zeichnen Sie eine Ebene 1 Grafik mit 5-7 Teilfunktionen zu Aufgabe 1.1.1
1.2.2 Kommentieren Sie die Teilfunktionen

Tut mir schonmal leid für die, wie ich finde, komischen Aufgabenstellungen.


Im Anhang hab ich mal die von mir erarbeiteten Lösungen. Ich bin mir nur sehr  unsicher, ob ich damit so richtig liege. Ich würde mich freuen, wenn mal jemand einen Blick darauf werfen könnte und mir sagt, ob das generell die richtige Richtung ist in die ich da Arbeite. 

Vielen Dank im vorraus


----------



## AndiE (19. Jan 2013)

Hallo,

mir ist das Verfahren zwar nicht bekannt, aber mir sind ein paar Sachen aufgefallen. 

In "meiner" Werkstatt wird jede Schnittstelle durch eine Person präsentiert. Der Prozess "Reparaturannahme" ausgeführt vom Servicemitarbeiter erhält vom Kunden den Auftrag. Im günstigsten Fall steht darauf, was gemacht werden muss. Der Kunde erhält eine auftragsbestätigung.

Ich meine, die Reparaturannahme ist nicht für die Rechnungslegung und Personalplanung zuständig. Das geschieht doch durch die Buchhaltung oder den Werkstattmeister.

Der Prozess "Reparaturannahme" löst nach meinem Empfinden bei den anderen internen Schnittstellen eine Startmeldung aus, dass ein neuer Arbeitsauftrag beginnt.

So würde ich das sehen.


----------



## deetee (19. Jan 2013)

Ich glaube du hast das Kontextdiagramm falsch verstanden oder es wird euch falsch beigebracht. Du hast Interne und externe Schnittstellen, das ist nicht das gleiche wie Datenquellen (zeichnet man links vom Prozess 0) und Datensenken (stehen rechts vom Prozess 0).

In einem Kontextdiagramm darf man Pfeile zu einer Komponente nur in eine Richtung setzen, aber eine Komponente darf durchaus links (Datenquelle) und rechts (Datensenke) stehen. Die Pfeile stellen den Datenfluss dar.

Bei dir stehen die Datenquellen und Datensenken gemischt aufbeiden Seiten, das sieht man an deinen Pfeilen, was was ist.
Die Werkstatt mit dem Datenfluss Auftragsbestätigung steht links als Datenquelle richtig. Aber der Datenfluss Reparaturauftrag ist falsch.
Richtig wäre, die Werkstatt auch rechts als Datensenke zu zeichnen und den Datenfluss Reparaturauftrag in diese Richtung zu setzen.

Und diese Änderung muss bei allen anderen Datenflüssen ebenso gemacht werden, dann ist es ein Kontextdiagramm 0.

Vergiss die Einteilung mit "Interne und Externe Schnittstellen". Das spielt im Kontextdiagramm keine Rolle.


----------



## mint86 (19. Jan 2013)

Hallo, vielen Dank für euch beiden für eure Antworten. Ich gehe eure anmerkungen heute nochmal mit meinen Komilitonen durch und werde dann hier nochmal schreiben.

@deetee: Vielen Dank für deine Anmerkung. Ich fürchte nur leider, dass wir es wirklich falsch lernen, da ich Kontextdiagramme in unseren Unterlagen auch nur in dieser Form finden kann. Oder ich hab das ganze falsch verstanden.

Hier der Link zu 2 Seiten aus dem Skript:

http://s1.directupload.net/images/130119/ozaskyhb.jpg
http://s14.directupload.net/images/130119/55nvjxvs.jpg

Die Qualität ist leider im Skript auch sehr schlecht.


Vielen Dank euch beiden nochmal!


----------



## deetee (19. Jan 2013)

Ok, also komplett falsch ist deine Lösung sicher nicht, aber es gibt auf jedenfall 3 Dinge, die ihr korrigieren solltet:

1. Interne und Externe Schnittsellen durch Datenquellen und Datensenken austauschen. Die Definition einer Datenquelle ist, dass von dieser Komponente Daten ausschließlich rausgehen, also Pfeil ZUM Prozess 0. Eine Datensenke darf ausschließlich Daten bekommen, als Pfeil VOM Prozess 0. Gewöhnlich schreibt man die Datenquellen links und die Datensenken rechts, das ist aber eher Konvention, statt syntaktische Regel.

2. Was in eurer Aufgabe als "Kommentieren Sie die Teilfunktionen" benannt ist, soll wohl eher die P-Spec (Prozessspezifikation) sein. Diese gehört ebenfalls zum "Kontextdiagramm/Datenflussdiagramm" Konzept und ist ebenso standardisiert. D.h. der Aufbau ist vorgegeben, in etwa: Name, ProzessNummer, Input/Output Daten, Beschreibung. Die Beschreibung ist relativ frei gestaltbar, z.B. wäre auch Pseudocode möglich oder sonstige Mittel, die das den Prozess am besten erklären.

3. Das Datenflussdiagramm hat keine Terminatoren (Datenquellen oder Datensenken), sondenr nur Prozesse, Datenflüsse und Datenspeicher. In deinem Diagramm gehen Kundendaten von Kunde in die Werkstatt. Das ist grundsätzlich falsch, da immer ein Prozess zwischen zwei Datenspeichern sein muss. Das PRoblem ist auch, dass du die Terminatoren (deine Schnittstellen) als Datenspeicher siehst, und es bei dir nur einen richtigen Datenspeicher gibt, die Datenbank. Aus diesem Datenspeicher holen sich die Terminatoren ihre Daten. Man könnte nun die Datenbank etwas feingranularer darstellen, um mehrere Datenspeicher zeichnen zu können, z.B. die Datenbanktabellen als Datenspeicher zu zeichnen. Denn jeder Prozess schreibt und liest Daten sicher aus verschiedenen Tabellen.


----------

