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?
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
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
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
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.
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öriger der HTW
Benutzer
1 Bibliothek nutzen und verwalten
<<gesamtes System>>
Kasse
Administrator Student
Buchhändler
Partnerbibliothek (Katalog, ...)DB Sonstiger
Person Mitarbeiter
der HTW
Bibliothekar
Dezernat HF
Praktikum 2: Kontext der Bibliothek
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 Benutzerausweis verlä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.
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
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
Welche Funktionen
muss das System realisieren?
Funktionsstrukturdiagramm
Bibliotheknutzen und verwalten
essenzielle
Gruppen essenzielle
Funktion
Benutzer- daten verwalten
interne Ausleihe verwalten
Fernleihe
verwalten Mahnungen verwalten
Literatur- kaufverwalten
Literatur suchen
essenzielle
Funktionen essenzielle
Funktionen essenzielle
Funktionen essenzielle
Funktionen essenzielle Funktionen
... .... ... ...
Benutzer
anmelden Benutzer
abmelden Benutzer- daten ändern
Benutzeraus-
weisverlängern
essenzielle Funktionen
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
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 Sprache Sprache Art Sprache1 Sprache2 Art Buch
Kinderbuch Lesealte.
Lesealte...
Fachbuch Fachgebie Wertung Fachgebiet Wertung Autor
AutorenN Nachnam AutorenNr Nachname
Belletristik Genre Genre
Ausleihe RueckgabeDatu LeserNr
RueckgabeDatum LeserNr
Leser = Benutzer
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
Welche Prozesse müssen realisiert werden?
Datenflussdiagramm
Welche Prozesse müssen realisiert werden?
Aktivitäts‐
diagramm
[schon angemeldet]
[noch nicht angemeldet]
[vollständig]
[unvollständig]
Benutzerdaten speichern Benutzer
suchen Anmeldewunsch auf
Vollständigkeit prüfen
Absage drucken Fehlerhinweis
anzeigen Anmeldewunsch
äußern
Benutzerdaten Benutzernummer und
Anmeldedatum ermitteln Anmeldewunsch
eingeben/ korrigieren
Benutzerdaten
Absage
Benutzerdaten lesen Anmeldewunsch Anmeldewunsch
Anmeldewunsch
System
Bibliothekar Datenbank Benutzer
Person
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
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
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
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)
•