Martin Glinz Requirements Engineering I Kapitel 4 Modellierungssprachen Universität Zürich Institut für Informatik 2006 Martin Glinz. Alle Rechte vorbehalten. Speicherung und Wiedergabe sind für den persönlichen, nicht kommerziellen Gebrauch gestattet, wobei bei auszugsweiser Verwendung Quelle und Copyright zu nennen sind. Die Verwendung für Unterrichtszwecke oder für kommerziellen Gebrauch ist nur mit vorheriger schriftlicher Genehmigung des Autors gestattet.
4.1 Grundlagen Anforderungen nicht als eine Sammlung von Sätzen in natürlicher Sprache beschreiben, sondern ein anwendungsorientiertes Modell der Aufgabenstellung erstellen [Im Gegensatz dazu werden im Entwurf konzeptionelle und/oder physische Modelle der geplanten Lösung erstellt] Formale oder teilformale Modelle möglich Meistens (zumindest teilweise) grafisch repräsentierte Modelle Meistens nur für funktionale Anforderungen Requirements Engineering I Kapitel 4 2006 Martin Glinz 2
Modellierungsaspekte Statische Struktur Datenmodelle (Entity-Relationshipmodelle) Klassen- und Objektmodelle ggf. Komponentenmodelle Interaktion Anwendungsfall- / Szenarienmodelle ggf. Sequenz- und Zusammenarbeitsmodelle Verhalten Zustandsmodelle Aktivitätsmodelle Requirements Engineering I Kapitel 4 2006 Martin Glinz 3
Modellierungsaspekte 2 Funktionen, Flüsse und Abläufe Funktionsmodelle Datenfluss-, Informationsfluss- und Arbeitsflussmodelle Ablaufmodelle Requirements Engineering I Kapitel 4 2006 Martin Glinz 4
4.2 Ausgewählte Beispiele Requirements Engineering I Kapitel 4 2006 Martin Glinz 5
Datenmodellierung Grundlage: Entity-Relationship Ansatz Modelliert einen Ausschnitt der Realität mit Hilfe von Gegenstandstypen (entity types), Beziehungstypen (relationship types) und Attributen (attributes) Person arbeitet in Abteilung ist beteiligt an Projekt + Einfach und klar + Leicht auf Datenbank-Realisierungen abbildbar Ignoriert Funktionalität und Verhalten der Systeme Keine Mittel zur Systemdekomposition Keine Lokalität oder Einkapselung von Daten Requirements Engineering I Kapitel 4 2006 Martin Glinz 6
Strukturierte Analyse Modelliert die Funktionalität eines Systems mit Hilfe von Datenflussdiagrammen Wird heute eher selten verwendet Rohwert Grenzwerte Anzeige Messwert Messwert Messwert dimensionieren Instrumentanzeige aufbauen + Sehr anschaulich Dimension Grenzwerte prüfen Alarm- Indikator Instrument- Bilder + Unterstützt Systemdekomposition Strukturbruch zwischen Spezifikation und Implementierung Keine Lokalität von Daten, Einkapselung nur begrenzt möglich Requirements Engineering I Kapitel 4 2006 Martin Glinz 7
Objektorientierte Spezifikation Modelliert die statische Struktur eines Systems mit Hilfe von Objekt- oder Klassendiagrammen Näheres in Kapitel 6 Mitarbeiter im Stundenlohn Mitarbeiter Stamm Nr Name Vorname Einstellen Entlassen Individuallohn ändern 0..* 1..* 0..* Mitarbeiter im Monatslohn Position Stufe beschäftigt in beschäftigt eingestuft in Klasse 1 1 Hierarchie Hierarchiestufe Ferienanspruch Lohnklasse Nr Grundlohn Stundensatz Überzeitsaldo Ferienguthaben Arbeitszeit erfassen Lohn zahlen Lohn zahlen 1 Abteilung Lohn- Zahlungsauftrag Name Sitz bezahlt mit 0..* zugunsten von Erteilen Stornieren Requirements Engineering I Kapitel 4 2006 Martin Glinz 8
Szenarien und Anwendungsfälle Modellieren die Interaktion zwischen systemexternen Akteuren und dem System Jede Interaktionssequenz wird durch ein Szenario (einen Anwendungsfall) beschrieben Buch ausleihen 1. Ausweiskarte der Benutzerin lesen und Angaben überprüfen 2. Signatur eines Buchs lesen und zugehörigen Katalogeintrag ermitteln 3. Ausleihe registrieren und Diebstahlsicherungsetikett deaktivieren 4.... Näheres in Kapitel 7 Requirements Engineering I Kapitel 4 2006 Martin Glinz 9
UML (Unified Modeling Language) UML ist eine Sammlung vorwiegend grafischer Sprachen zur Erstellung von Anforderungs- und Entwurfsmodellen aus verschiedenen Perspektiven Typisch ein Klassenmodell im Zentrum Näheres in Kapitel 8 Requirements Engineering I Kapitel 4 2006 Martin Glinz 10
Literatur Cockburn, A. (2001). Writing Effective Use Cases. Addison-Wesley. DeMarco, T. (1978). Structured Analysis and System Specification. New York: Yourdon Press. Firesmith, D.C. (1994). Modeling the Dynamic Behavior of Systems, Mechanisms and Classes with Scenarios. Report on Object Analysis and Design (ROAD) 1, 2 (Jul/Aug 1994). 32-36, 47. Glinz, M. (2005). Modellierung. Skript zur Vorlesung Informatik II, Teil a. Universität Zürich. Jacobson, I., M. Christerson, P. Jonsson, and G. Övergaard (1992). Object-Oriented Software Engineering: A Use Case Driven Approach. Amsterdam: Addison-Wesley. Oestereich, B. (1998). Objektorientierte Softwareentwicklung. R. München: Oldenbourg. Rumbaugh, J., Jacobson, I., Booch, G. (1999). The Unified Modeling Language Reference Manual. Reading, Mass., etc.: Addison-Wesley. Requirements Engineering I Kapitel 4 2006 Martin Glinz 11