HTW Dresden FIM ‐Software Engineering I ‐Prof. Dr.‐Ing. Anna Sabine Hauptmann 1 6. Vorlesung
Womit beginnt die Anforderungsanalyse?
Wie werden Anforderungen ermittelt?
Welche Perspektiven hat die Anforderungsmodellierung?
Wie werden die Anforderungen beschrieben?
Welche Diagrammarten bietet die UML zur Unterstützung der Anforderungsmodellierung?
HTW Dresden FIM ‐Software Engineering I ‐Prof. Dr.‐Ing. Anna Sabine Hauptmann 2
6. Vorlesung
Ziele Stakeholder
Kontext
Klare Formulierung des Problems, das durch Einsatz des SW‐Systems gelöst werden soll.
Auf welche Frage
ist das zu entwickelnde SW‐System die Antwort?
Requirements‐Gehirn
Chris Rupp & die SOPHISTen Requirementsengineering
und Management Hanser Verlag, 3‐446‐40509‐7
Kapitel 4:
Ziele, Informanten und deren Fesseln (S.86 ff)
siehe auch Leseprobe
6. Vorlesung
Ziele Stakeholder
Kontext
Anwender, Wissensträger, Interessenvertreter,
Lobby, ….
Requirements‐Gehirn
Chris Rupp & die SOPHISTen Requirementsengineering
und Management Hanser Verlag, 3‐446‐40509‐7
Kapitel 4:
Ziele, Informanten und deren Fesseln (S.86 ff)
siehe auch Leseprobe
HTW Dresden FIM ‐Software Engineering I ‐Prof. Dr.‐Ing. Anna Sabine Hauptmann 4 6. Vorlesung
Ziele Stakeholder
Kontext
Wer/was aus dem Kontext interagiert über die Schnittstellen
(Verbindungsstellen) mit dem System?
• Anwender
• Administrator
• andere Systeme
• …
Requirements‐Gehirn
Chris Rupp & die SOPHISTen Requirementsengineering
und Management Hanser Verlag, 3‐446‐40509‐7
Kapitel 4:
Ziele, Informanten und deren Fesseln (S.86 ff)
siehe auch Leseprobe
HTW Dresden FIM ‐Software Engineering I ‐Prof. Dr.‐Ing. Anna Sabine Hauptmann 5
6. Vorlesung
Um das Wesen eines Systems (bzw. Prozesses) zu verstehen, muss zunächst seine Grenze erforscht werden, d.h.
• sein Kontext und
• die Interaktion des Systems mit diesem Kontext
muss erforscht werden.
6. Vorlesung Um das Wesen eines Systems
(bzw. Prozesses) zu verstehen, muss zunächst seine Grenze erforscht werden, d.h.
• sein Kontextund
• die Interaktion des Systems mit diesem Kontext muss erforscht werden.
wird zunächst nicht betrachtet
Angehörigerder HTW
Benutzer
1 Bibliothek nutzen und verwalten
<<gesamtes System>>
Administrator Student
Buchhändler Partnerbibliothek (Katalog, ...)DB Sonstiger
Person Mitarbeiter
der HTW
Bibliothekar
Dezernat HF
Praktikum 2: Kontext der Bibliothek
HTW Dresden FIM ‐Software Engineering I ‐Prof. Dr.‐Ing. Anna Sabine Hauptmann 7 6. Vorlesung
Praktikum 3: Eingabe‐/Ausgabedaten
Eingabedaten:
- Verlängerungswunsch Ausgabedaten:
- aktualisierter Benutzerausweis Eingabedaten:
- Änderungswunsch Ausgabedaten:
- aktualisierter Bennutzerausweis
Eingabedaten:
- Ausgabedaten:
- Entlastungsschreiben Eingabedaten:
- Abmeldewunsch Ausgabedaten:
- eventuell Absage
Eingabedaten:
- Anmeldewunsch Ausgabedaten:
- Eingabedaten:
- Ausgabedaten:
- Benutzerausweis oder altern. Absage
Benutzer
1.2.3 Benutzerdatenändern 1.2.2 Benutzer
abmelden
Person
1.2.4 Benutzerausweisverlängern 1.2.1 Benutzer
anmelden
<<textlich beschrieben>>
Bibliothekar
(Katalog, ...)DB Anmeldewunsch = {
Name, + Vorname(n), + Geschlecht, + Geburtsdatum, + Anschrift,
+ (Heimatanschrift) *zusätzlich bei Studenten*, + Staatsangehörigkeit, + Statistikgruppe *z.B. Student, Behörde*
}
Anschrift = Heimatanschrift = { PLZ
+ Ort + Straße mit Nummer }
Um das Wesen eines Systems (bzw. Prozesses) zu verstehen, muss zunächst seine Grenze erforscht werden, d.h.
• sein Kontextund
• die Interaktion des Systems mit diesem Kontext muss erforscht werden.
HTW Dresden FIM ‐Software Engineering I ‐Prof. Dr.‐Ing. Anna Sabine Hauptmann 8
6. Vorlesung
Anforderungen ermitteln – aber wie ?
Chris Rupp & die SOPHISTen Requirementsengineering und Management
Hanser Verlag, 3‐446‐40509‐7
S. 86
„Tim Lister sagt: ,Viele Projekte scheitern bevor sie begonnen haben.‘
Unsere Beobachtungspraxis bestätigt (leider) nur zu oft, dass er damit Recht hat.
Deshalb konzentrieren wird uns in diesem Kapitel auf die kurze Phase zu Beginn einer Produktentwicklung – auf wenige, aber entscheidende Stunden oder Tage.
Auch wenn Sie kein anderes Kapitel in diesem Buch lesen und nur die Ideen dieses Kapitels systematisch in die Praxis umsetzen, hat sich der Preis des Buches für Sie
wahrscheinlich gelohnt.“
siehe auch Leseprobe
6. Vorlesung
Auslöser‐Reaktionen‐Tabelle (ART)
Funktion
Auslöser
= Eingabedaten von außen !
Reaktion
= Ausgabedaten nach außen !
Bemerkungen evt.
Gruppierung
Benutzer anmelden
Anmeldewunsch Benutzerausweis alternativ Absage
Benutzer darf sich nur einmal anmelden
Benutzerdaten verwalten
Eingabe‐
daten
Ausgabe‐
daten
Funktion
Eine Zeile entspricht einer essenziellen Funktion
Eingabedaten Ausgabedaten
HTW Dresden FIM ‐Software Engineering I ‐Prof. Dr.‐Ing. Anna Sabine Hauptmann 10 6. Vorlesung
Welche Funktionen muss das System realisieren?
Funktionsstrukturdiagramm Bibliothek
nutzen und verwalten
essenzielle
Gruppen essenzielle
Funktion
Benutzer- daten verwalten
interne Ausleihe verwalten
Fernleihe verwalten Mahnungen
verwalten Literatur- kauf verwalten
Literatur suchen
essenzielle Funktionen essenzielle
Funktionen essenzielle Funktionen essenzielle
Funktionen essenzielle Funktionen
... .... ... ...
Benutzer anmelden Benutzer
abmelden Benutzer- daten ändern
Benutzeraus-
weisverlängern
essenzielle Funktionen
HTW Dresden FIM ‐Software Engineering I ‐Prof. Dr.‐Ing. Anna Sabine Hauptmann 11
6. Vorlesung
datenorientierte Zerlegung (temporäre Daten) Datenstruktur „Anmeldewunsch“
Anmelde- wunsch
Nachname Vorname(n) GebDatum Geschlecht Anschrift Statistik- gruppe
Staats- angehörig- keit
wenn Neben- wohnung vorhanden
Heimat- Anschrift Anschrift
PLZ Ort Strasse
Funktion „Eine Person meldet sich als Benutzer an benötigt Eingabedaten:
Anmeldewunsch.
Anmeldewunsch = { Name, + Vorname(n), + Geschlecht, + Geburtsdatum, + Anschrift,
+ (Heimatanschrift) *zusätzlich bei Studenten*, + Staatsangehörigkeit, + Statistikgruppe *z.B. Student, Behörde*
} Anschrift = Heimatanschrift = {
PLZ + Ort + Straße mit Nummer }
Datenstrukturdiagramm
Datenkatalogeintrag
6. Vorlesung
Welche Daten sind zu speichern? (bei relationaler Datenorganisation ERM
hat 1 hat CN
hat C
ist CN
ist CN hat N
ist CN ist C
Hauptwohnung
geschrieben ausgeliehen
ist ein
Nebenwohnung
Leser Ort
OrtsNr Ortsnam Vorwah OrtsNr Ortsname Vorwahl
Wörterbuch Buch
Kinderbuch Fachbuch Autor
AutorenN Nachnam AutorenNr Nachname
Belletristik
Ausleihe RueckgabeDatu LeserNr RueckgabeDatum LeserNr
HTW Dresden FIM ‐Software Engineering I ‐Prof. Dr.‐Ing. Anna Sabine Hauptmann 13 6. Vorlesung
pruefen, ob Leser schon angemeldet
Leserdaten speichern Anmelde-
wunsch pruefen Leserdaten eingeben
Fehler- ausschrift anzeigen
Leseraus- weisdaten anzeigen Absage
anzeigen
fehlerhafte Eingabe
Leser schon angemeldet
Leser
Leser Ort Leserdaten
Absage
Anmeldewunsch schliessen
Fehlerausschrift Anmeldewunsch
Leserausweis OK
fehlerhafte Eingabe
Leser schon angemeldet Leser
Ortsname
Leser Ort Anmeldewunsch
Absage Leserausweis
Leser = Benutzer analog: UML ‐Aktivtätsdiagramm
Welche Prozesse müssen realisiert werden? Datenflussdiagramm
HTW Dresden FIM ‐Software Engineering I ‐Prof. Dr.‐Ing. Anna Sabine Hauptmann 14
6. Vorlesung
Welche Prozesse müssen realisiert werden?
Aktivitäts‐
diagramm [schon angemeldet]
[noch nicht angemeldet]
[vollständig]
[unvollständig]
Benutzerdatenspeichern Benutzer
suchen Anmeldewunsch auf Vollständigkeit prüfen
Absage drucken Fehlerhinweis
anzeigen Anmeldewunsch
äußern
Benutzerdaten Benutzernummer und
Anmeldedatum ermitteln Anmeldewunsch
eingeben/ korrigieren
Benutzerausweis Benutzerausweis
drucken Benutzerdaten
Absage
Benutzerdaten lesen Anmeldewunsch Anmeldewunsch
Anmeldewunsch System
Bibliothekar Datenbank Benutzer
Person
6. Vorlesung
Welche Zustände kann ein Objekt (System, Teilsystem, Prozess) einnehmen?
Zustandsdiagramm
after 1 Jahr [Student oder Sonstiger]
schwerwiegender Verstoß / Sperrung speichern
schwerwiegender Verstoß / Sperrung speichern Benutzer hat sich abgemeldet Benutzerausweis ist verlängert / Gültigkeit ändern
Benutzer hat sich abgemeldet after 5 Jahre [Mitarbeiter der HTW]
Person hat sich angemeldet <<CreateTrigger>>
gültig
<<State>>
vorübergehend ungültig
<<State>>
endgültig ungültig
<<State>>
Benutzerausweis
HTW Dresden FIM ‐Software Engineering I ‐Prof. Dr.‐Ing. Anna Sabine Hauptmann 16 6. Vorlesung
Welche Objekte lösen gemeinsam eine Aufgabe?
Analyse‐Klassendiagramm Verbindungsstelle zum Entwurf
*
0..1
0..1 ZweitAnschrift 1..* Benutzer
1..* Benutzer 1
1 1..*
1..*
1 HauptAnschrift
Ausleihe
Fachbuch Buch
Benutzer
Kinderbuch Belletristik
Autor Anschrift
Woerterbuch
HTW Dresden FIM ‐Software Engineering I ‐Prof. Dr.‐Ing. Anna Sabine Hauptmann 17
6. Vorlesung
Womit beginnt die Anforderungsanalyse?
Systemziele und Systemkontext sind die Basis für alle Anforderungen und damit auch für das gesamte Projekt. Wichtig ist ein wertungsfreier Umgang mit Systemzielen und Systemkontext. Ebenso wichtig ist es, zu Beginn alle am Projekt Beteiligten Personen mit ihren Rollen und Interessen zu kennen.
Wie werden Anforderungen ermittelt?
Kreavitätstechniken (Brainstorming, Wechsel der Perspektive, …) Befragungstechniken (Fragebogen, Interview, …)
artefaktbasierte Techniken (Eingabe‐, Ausgabedokumente, Wiederverwendung Audio‐, Videoaufzeichnungen
Anwendungsfallmodellierung, Essenzbildung Welche Perspektiven hat die Anforderungsmodellierung?
funktionale P., datenorientierte P. Struktur (temporär, persistent), datenflussorientierte P., objektorientierte P., zustandsorientierte P.
Perspektive von außen, Perspektive auf das Innere
Perspektive auf die Struktur gerichtet, Perspektive auf das Verhalten gerichtet
6. Vorlesung
Wie werden die Anforderungen beschrieben?
• natürlichsprachlich
• durch Modelle grafische Darstellungen
• natürlich sprachlich, aber nach Schatzschablonen
Welche Diagrammarten bietet die UML zur Unterstützung der Anforderungsanalyse?
• Anwendungsfalldiagramm
• Aktivitätsdiagramm
• Klassendiagramm
• (Sequenzdiagramm)
• Zustandsdiagramm
Praktikum UML: Unified Modeling Language