Kapitel 6 - Universität Zürich

Martin Glinz
Requirements Engineering I
Kapitel 6
Modellierungssprachen!
© 2006, 2011 Martin Glinz. Alle Rechte vorbehalten. Speicherung und Wiedergabe für den persönlichen, nicht kommerziellen Gebrauch gestattet; bei auszugsweiser
Verwendung mit Quellenangabe. Verwendung für Unterrichtszwecke oder kommerziellen Gebrauch nur mit vorheriger schriftlicher Genehmigung des Autors.!
6.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 6
!© 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 6
!© 2006 Martin Glinz !
3!
Modellierungsaspekte – 2!
❍ 
Funktionen, Flüsse und Abläufe!
●  Funktionsmodelle!
●  Datenfluss-, Informationsfluss- und Arbeitsflussmodelle!
●  Ablaufmodelle!
Requirements Engineering I
!Kapitel 6
!© 2006 Martin Glinz !
4!
6.2 Ausgewählte Beispiele!
Requirements Engineering I
!Kapitel 6
!© 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)!
arbeitet in
Person
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 6
!© 2006 Martin Glinz !
6!
Strukturierte Analyse!
❍ 
Modelliert die Funktionalität eines Systems mit Hilfe von
Datenflussdiagrammen!
❍ 
Wird heute eher selten verwendet!
Anzeige
Rohwert
Grenzwerte
Messwert
dimensionieren
Messwert
Dimension
Messwert
Grenzwerte
prüfen
+ !Sehr anschaulich!
+ !Unterstützt Systemdekomposition!
AlarmIndikator
Instrumentanzeige aufbauen
InstrumentBilder
– !Strukturbruch zwischen Spezifikation und Implementierung!
– !Keine Lokalität von Daten, Einkapselung nur begrenzt möglich!
Requirements Engineering I
!Kapitel 6
!© 2006 Martin Glinz !
7!
Objektorientierte Spezifikation!
Mitarbeiter
❍ 
❍ 
Modelliert die statische Struktur
eines Systems mit Hilfe von
Objekt- oder Klassendiagrammen!
Hierarchie
Position
Stamm Nr
Name
Vorname
0..*
Einstellen
Entlassen
Individuallohn ändern
1..*
1
Stufe
von
Hierarchiestufe
Ferienanspruch
beschäftigt in
beschäftigt
Lohnklasse
Näheres in Kapitel 7!
eingestuft in
Klasse
von
0..*
Mitarbeiter im
Monatslohn
Mitarbeiter im
Stundenlohn
Stundensatz
Überzeitsaldo
Ferienguthaben
Arbeitszeit erfassen
Lohn zahlen
Lohn zahlen
1
Nr
Grundlohn
1
Abteilung
LohnZahlungsauftrag
bezahlt mit
Name
Sitz
0..*
zugunsten von
Erteilen
Stornieren
Requirements Engineering I
!Kapitel 6
!© 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.
2.
3.
4.
❍ 
!Ausweiskarte der Benutzerin lesen und Angaben überprüfen!
!Signatur eines Buchs lesen und zugehörigen Katalogeintrag
!
!ermitteln!
!Ausleihe registrieren und Diebstahlsicherungsetikett deaktivieren!
!...!
Näheres in Kapitel 8!
Requirements Engineering I
!Kapitel 6
!© 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 9!
Requirements Engineering I
!Kapitel 6
!© 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. (2011). 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. !
OMG (2010a). Unified Modeling Language: Superstructure, version 2.3. OMG document
formal/2010-05-05
http://www.omg.org/cgi-bin/doc?formal/2010-05-05!
Rumbaugh, J., Jacobson, I., Booch, G. (1999). The Unified Modeling Language Reference
Manual. Reading, Mass., etc.: Addison-Wesley.!
Requirements Engineering I
!Kapitel 6
!© 2011 Martin Glinz !
11!