Übungen zur Softwaretechnik - Software and Systems Engineering

Werbung
Technische Universität München
Fakultät für Informatik
Lehrstuhl IV: Software & Systems Engineering
Dr. Bernhard Rumpe, Markus Pister
WS 2002/2003
Übungsblatt 2
24. Oktober 2002
www4.in.tum.de/~rumpe/se
Übungen zur Softwaretechnik
Aufgabe 3 : Analyse (HT)
Der Werkzeughersteller aus Aufgabe 1 beschreibt die Zusammenhänge der Teilnehmer bei
der Werkzeugherstellung folgendermaßen:
„Die Rohstofflieferanten verkaufen ihre Ware entweder direkt an uns oder sie beliefern auch
Hersteller von Teilen, von denen wir vorgefertigte Ware einkaufen. Die von uns fertig
gestellte Ware geht dann an verschiedene Händler, die sie dann wiederum an weitere Händler
beziehungsweise an Kunden verkaufen.“
a) Modellieren Sie mit einem UML- Klassendiagramm die Zusammenhänge zwischen
den Teilnehmern am Geschäftsprozess „Werkzeugherstellung“. Lassen sie sich dazu
geeignete Namen für die Klassen einfallen und versehen Sie die Assoziationen mit
Kardialitäten. (Ergebnis hat ungefähr eine Hand voll Klassen und Assoziationen.)
Die Händler und Lieferanten sind bereit, Daten zum Kauf und Verkauf über eine gemeinsame
Schnittstelle zu übertragen. Sie wollen sich in einem Workshop zusammensetzen und eine
Schnittstelle für die Verkäuferseite und eine Schnittstelle für die Käuferseite entwerfen.
b) Überlegen sie sich in Stichpunkten, welche Informationen und
Handlungsmöglichkeiten sie bei einem Einkaufs-/Verkaufvorgang haben. Ordnen sie
diese den Schnittstellen Käufer und Verkäufer zu.
Nachdem mit den Händlern und Lieferanten abgeklärt ist, was die Schnittstellen alles können
sollen, führen sie ein weiteres Gespräch mit dem Werkzeughersteller. Sie wollen
herausbekommen, wie die firmeninterne Struktur aussieht. Bei den Gesprächen mit den
einzelnen Mitarbeitern stellen Sie fest, dass ein richtiger Überblick über die Zuständigkeiten
der einzelnen Abteilungen fehlt. Sie holen aus jeder Abteilung der Firma einen Mitarbeiter
und lassen diese in einer Diskussionsrunde die Zuständigkeiten ermitteln.
c) Eine Möglichkeit, Anforderungen zu ermitteln, sind CRC Karten. Setzen sie sich in
Gruppen zu 5 Personen zusammen und ermitteln sie die Zuständigkeiten und
Zusammenhänge zwischen den Abteilungen. Gehen Sie dazu wie gefolgt vor:
a. Weisen sie jedem Mitspieler einer der folgenden Abteilungen zu: Einkauf,
Verkauf, Warenlager & Logistik, Buchhaltung & Finanzen, Produktion
b. Geben sie mindestens vier verschiedene Geschäftsabläufe in der Firma an.
c. Spielen sie mit CRC Karten diese Szenarien durch.
Aufgabe 4 : Entwurf(HT)
Die Anforderungen aus Aufgabe 3 sollen nun in eine für den Entwickler verwendbare Form
gebracht werden.
a) Versuchen Sie, mit der UML die beiden Schnittstellen zu beschreiben. Haben Sie alle
Anforderungen umsetzen können?
b) Fügen Sie nun die Schnittstellen entsprechend in das UML Diagramm aus Aufgabe
3a) ein.
c) Grenzen Sie in dem Diagramm den von Ihnen zu implementierenden Bereich ab.
(Bezüglich des Werkzeugherstellers.)
d) Versuchen Sie ebenfalls die Informationen der CRC Karten in die UML umzusetzen
und so das Diagramm zu erweitern. (Es kann durchaus sein, dass man etwas an den
Assoziationen ändern muss.)
Aufgabe 5 : Implementierung(HT)
Diese Aufgabe soll Konzepte und Probleme bei der Umsetzung von UML zu Java
demonstrieren.
a) Die nun Teilweise definierte Architektur soll in Java umgesetzt werden. Suchen sie
sich drei Klassen aus dem UML Diagramm heraus und übersetzen sie diese in
lauffähigen Java-Code. Achten Sie dabei auf die Assoziationen und deren
Kardialitäten. Können Sie alle Kardialitäten in Java umsetzen? (Es werden noch keine
Methodenrümpfe geschrieben.)
Bei einigen Assoziationen lässt sich die Kardialität nur schwer sicherstellen. Besonders wenn
Zugriffe von außen kommen, können solche Zusicherungen schnell verletzt werden.
d) Überlegen sie sich ein Konzept, wie sie z.B. eine „1-*“-Kardialität in Java umsetzen
würden. Könnten sie bei ihrem Umsetzungskonzept sicherstellen, dass ihr Programm
bei der Auslieferung korrekt funktioniert, also die beschriebenen Kardialitäten
eingehalten werden?
Mitarbeiter
1-*
1
Abteilung
Herunterladen