8. Vorlesung: Klassendiagramm für Fallbeispiel

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen und Datenstrukturen
Advertisements

Business Engineering Philipp Osl, Alexander Schmidt
Blue J.
ER-Modell: Objekte und Klassen
Zur Rolle der Sprache bei der Modellierung von Datenbanken
Fragen 2 Werden die Funktionen des Betriebssystemkernes wie normale Funktionen aufgerufen? Einf. In die WI, DV-Infrastruktur WS 03/04.
Programmorganisation
Arbeitstitel: DV-Infrastruktur
Normalisierung nach Edgar. F. CODD (1970)
Die Definitionsphase -Objektorientierte Analyse - Das statische Modell
Zentraler Verzeichnisdienst an Hochschulen
Franziska Schmidt Sarah Ahlheit
CPU, Programmausführung
Java: Objektorientierte Programmierung
Strukturen. In einer Struktur kann eine beliebige Anzahl von Komponenten (Daten) mit unterschiedlichen Datentypen (im Gegensatz zu Feldern) zusammengefaßt.
Methodik: Objektorientierte Analyse
Sebastian Grahn Sebastian Kühn
Was ist eine Datenbank? ermöglicht die Eingabe von Daten
Datenmodellierung - Aufbau einer Datenbank -
DVG Ausnahmen. DVG Was sind Programmfehler? 4 Programm erzielt gar kein Ergebnis. 4 Berechnetes Ergebnis stimmt nicht mit dem erwarteten.
Abstrakte Klassen, Interface
Buch S70ff (Informatik I, Oldenbourg-Verlag)
Beziehungen zwischen Klassen
7.3 Hinweise für den Aufbau von ER-Schemata (1|7)
Rational Rose und UML: Erstellung einer Kontoverwaltung
Softwareprojekt Shopverwaltung
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
2. Vorlesung Ansätze der Systemanalyse: Strukturierte Analyse (SA)
7. Vorlesung Vererbung Einfach- und Mehrfachvererbung Polymorphismus
11. Vorlesung: Dynamische Konzepte am Fallbeispiel
4. Vorlesung: Use Case Diagramme Fallbeispiel
9. Vorlesung: Fortsetzung Klassendiagramm für Fallbeispiel
3. Vorlesung: UML Use Case Diagramme
6. Vorlesung: Statische Konzepte
12. Vorlesung: Aktivitätsdiagramme
5. Vorlesung: Grundkonzepte Objekt-Orientierung
10. Vorlesung: Dynamische Konzepte
Hochschule der Medien | Studiengang Medienwirtschaft | Wintersemester 2003/042.
Hauptauswahlmaske. Eingabe Bestellung über Speise oder Getränk.
Datenbank.
UML WS 09/10: Datenbanken vs MarkUp Dozent: Prof. Dr. Manfred Thaller
Copyright 2011 Bernd Brügge, Christian Herzog Grundlagen der Programmierung TUM Wintersemester 2011/12 Kapitel 11, Folie 1 2 Dr. Christian Herzog Technische.
25. Januar 2007Klasse IT '041 Projekt Solar Server Schulprojekt der Klasse IT `04.
Tipps für den Seminarvortrag Johann(a) Musterfrau.
Datenbanken Dantenbanksystem Data Base System Datenbasis (Daten)
Objektorientierte Analyse
die Auftragsbearbeitung für den Kleinbetrieb
UML Modellierung des Verhaltens von Klassen und Objekten
Tutorium PG Verbesserung Blatt 5 Beim instanziieren eines Fahrrades muss es möglich sein, alle benötigten Attribute dem Konstruktor zu übergeben.
Hilfe Dokumente.
Hauptauswahlmaske. Eingabemaske für Zustellung und Abholung.
Willkommen zur Präsentation „Sendung anlegen“:
Relationale Datenbanken
Allgemeine Funktionalitätsbeschreibung
Systemanalyse - Folien zur Vorlesung für AI/DM im Sommersemester
Klassen und Klassenstruktur
Programmiervorkurs WS 2014 Referenzdatentypen
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Sind Sie gerüstet für die neue LMIV-Verordnung?
Abbildung UML-Schema  Rel. Schema (1)
Software-Demo: CASE-Tool „Together“
Was ist eine Datenbank „MS Access“
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Strategy Pattern Teachlet Autor: Sven Wende Replay durch Stephan Schwake Konzepte objektorientierter Programmiersprachen, SS 2006.
Excel-Tool: Beschwerdeanalyse  Folie 1 von Bitte Makros aktivieren Das Excel-Tool funktioniert nur mit eingeschalteten Makros. Eventuell erhalten.
Tutorium Software-Engineering SS14 Florian Manghofer.
Tutorium Software-Engineering SS14 Florian Manghofer.
Tutorium Software-Engineering SS14 Florian Manghofer.
Veranstaltung: Datenbanken I Dozent: Ioannis Papakostas Belegarbeit 6 Online-Bestellung von Büchern Stefan Rüschenberg (Matrikel-Nr.: ) Sebastian.
 Präsentation transkript:

8. Vorlesung: Klassendiagramm für Fallbeispiel Potenzielle Klassen gemäß Kategorien Herleitung von Klassen aus Dokumentenanalyse Verschiedene Lösungsmöglichkeiten Entwicklung des Klassendiagramms aus Use Cases Hans-Jürgen Steffens Systemanalyse SS 04

Potenzielle Klassen gemäß Kategorien Konkrete Objekte (Dinge): Speise, Menü: Personen und deren Rollen: Kunde, Verkäufer, Fahrer Informationen über Aktionen: Bestellung, Tour Orte: Lieferort Organisationen: Unternehmen Behälter: Kategorien von Speisen Dinge in einem Behälter: Speisen Ereignisse: Arbeitszeitbeginn, Arbeitszeitende Kataloge: Speisekarte Verträge: Bestellung Hans-Jürgen Steffens Systemanalyse SS 04

Dokumentenanalyse Speisekarte Kategorie Nr. Speise (Name) Beschreibung Preis Hans-Jürgen Steffens Systemanalyse SS 04

Klassen zur Abbildung der Speisekarte Handhabung der verschiedenen Pizza-Größen? Für jede Größe wird eine eigene Speise angelegt. Nachteil: Redundanz. Es kommt mehrfach die gleiche Nr. vor, und Name und Beschreibung müssen mehrfach gepflegt werden. Man kann auch nicht generell definieren, dass es Pizzas in den Größen 20cm und 28cm gibt. Steht nur individuell in der Beschreibung. Hans-Jürgen Steffens Systemanalyse SS 04

1. Alternative Lösung Vorteil: Redundanz fällt weg. Nachteil: Wenig flexibel. Wenn z. B. eine dritte Größe eingeführt wird, muss das System geändert werden. Hier kann Vererbung genutzt werden. Hans-Jürgen Steffens Systemanalyse SS 04

2. Alternative Lösung z. B. 20cm, 28cm oder Standard, falls es nur eine Variante gibt. Bei dieser Lösung muss jede Speise mindestens eine Variante haben, da ihr sonst kein Preis zugeordnet werden kann (deswegen Untergrenze 1) Hans-Jürgen Steffens Systemanalyse SS 04

3. Alternative Lösung Allgemeingültige, flexible Lösung. Es können jederzeit neue Größen hinzu gefügt werden. Kategorie Bezeichnung 1 * Speise * 1..* Größe Nr Name Bezeichnung Beschreibung Preis z. B. 20cm, 28cm, aber auch „Standard“ für solche Speisen, die keine verschiedenen Größen haben. Preis Hans-Jürgen Steffens Systemanalyse SS 04

4. Alternative Lösung Kategorie Einfache Lösung, aber nicht sehr flexibel. Wenn eine dritte Größe eingeführt wird, muss das System geändert werden. Bezeichnung Größenbezeichnung GrößenbezeichnungGroß 1 Werden als Überschriften in der Speisekarte verwendet (damit können z. B. auch große und kleine Getränke bezeichnet werden) * Attribut „Preis“ wird für 20cm-Pizza und für Speisen ohne Größe verwendet. Attribut „PreisGroß“ wird für 28cm-Pizza verwendet, bei Speisen ohne Größe bleibt es leer. Speise Nr Name Beschreibung Preis PreisGroß Hans-Jürgen Steffens Systemanalyse SS 04

Dokumentenanalyse Quittung Hans-Jürgen Steffens Systemanalyse SS 04

Erweitertes Klassendiagramm Kunde Kategorie Kundennr Bezeichnung Bestellung Name Größenbezeichnung Nr Vorname GrößenbezeichnungGroß Datum Straße Uhrzeit Hausnr Bemerkung * 1 PLZ 1 berechneSumme() Ort Telefonnr 1 * 1..* Speise Bestellposition Nr Name Nr Beschreibung Menge Preis Größe 1 * PreisGroß berechneGesamtpreis() Hans-Jürgen Steffens Systemanalyse SS 04

Use Case „Bestellen“ (1) Substantive Kunde – bereits vorhanden Speise – bereits vorhanden Preis – bereits vorhanden (Operation) Dauer Bestellung – bereits vorhanden Auftrag für Küche Hier sollen nur die zu kochenden Speisen berücksichtigt werden, also nicht z. B. Getränke. Hierfür ist ein Attribut „Muss gekocht werden“ bei Speise erforderlich Hans-Jürgen Steffens Systemanalyse SS 04

Use Case „Bestellen“ (2) Verben Bestellung aufnehmen Kundendaten auswählen, ändern Speisen auswählen Dauer ermitteln Bestellung abschließen erfolgreicher Abschluss d. Bestellaufnahme Auftrag für Küche ausdrucken Hans-Jürgen Steffens Systemanalyse SS 04

Erweiterungen für Use Case „Bestellen“ Kunde Bestellung Kundennr Nr Name Datum Vorname Uhrzeit Straße Kategorie Bemerkung Hausnr Bezeichnung berechneSumme() PLZ Größenbezeichnung aufnehmen() * 1 Ort GrößenbezeichnungGroß kundeZuordnen() Telefonnr speisenZuordnen() auswählen() dauerErmitteln() anlegen() auftragfürKüchedrucken() 1 ändern() 1 1..* * Bestellposition Speise Nr Nr Menge Name Größe Beschreibung Preis erechneGesamtpreis() PreisGroß 1 * anlegen() MussGekochtWerden speiseZuordnen() positionAusdrucken() auswählen() positionFürKücheAusdrucken() Hans-Jürgen Steffens Systemanalyse SS 04

Use Case „Neukunde“ anlegen Klasse Kunde – Operation anlegen( ) Es soll geprüft werden, ob Adresse im Liefergebiet liegt: Alle Orte und Straßen im Liefergebiet Hans-Jürgen Steffens Systemanalyse SS 04

Weitere Use Cases Use Case „Speise suchen“: Klasse Speise, Operation auswählen ( ) Use Case „Ersatz für ausgegangene Speise vorschlagen“ Speise benötigt Attribut „ausgegangen“ sowie Operationen zur Änderung des Attributwerts Assoziation zur Darstellung möglicher Alternativen Hans-Jürgen Steffens Systemanalyse SS 04

Use Case „Menü fertig stellen“ Menü = Die in einer Bestellung enthaltenen, fertig gestellten Speisen. Dies wird bereits durch Klasse Bestellung repräsentiert. Operation fertigMelden( ) wird benutzt, diese nutzt eine Operation rechnungDrucken(). Das bisher leere Attribut „UhrzeitFertigmeldung“ erhält die aktuelle Zeit. Hans-Jürgen Steffens Systemanalyse SS 04

Zwischenstand Klassendiagramm Hans-Jürgen Steffens Systemanalyse SS 04

Zusammenfassung Zunächst wurden potenzielle Klassen mit Hilfe der Liste von Klassen-Kategorien ermittelt Eine Dokumentenanalyse ermöglichte die Herleitung von Teilen des Klassendiagramms Mit Hilfe einer detaillierten Untersuchung der Haupt-Use Cases wurde das Klassendiagramm erweitert und um Attribute und Operationen ergänzt Hans-Jürgen Steffens Systemanalyse SS 04

Übungsfragen Skizzieren Sie zwei verschiedene Lösungen für das Speisekarten-Problem (Speisen mit mehreren Größen) und erläutern Sie Vor- und Nachteile Versuchen Sie die Herleitung des Klassendiagramms selbst nachzuvollziehen, indem Sie zunächst nur die vorgestellten Dokumente sowie die Use Case-Beschreibungen aus der entsprechenden Vorlesung zur Hilfe nehmen – und Ihre Lösung erst anschließend mit der vorgestellten vergleichen Erklären Sie Zweck und Bedeutung aller Attribute und Operations der Klasse Bestellung. Erläutern Sie bei den Operations auch das Zusammenspiel mit anderen Klassen. Hans-Jürgen Steffens Systemanalyse SS 04