Die Definitionsphase
(Analyse)
Definitionsphase
1
Vorlesungsinhalt
•
•
•
•
•
Definitionsphase
Einführung Definitionsphase
Modelle und Modellierung
Pflichtenheft
Strukturierte Analyse (SA)
Moderne Strukturierte Analyse
2
Die Definitionsphase
Ziel der Definitionsphase ist die
• vollständige
• konsistente
• eindeutige
Definition des zu realisierenden Produkts
durch den Aufbau eines Produktmodells.
Definitionsphase
3
Das Produktmodell
• Pflichtenheft
• Analysemodell
• Prototypen
Definitionsphase
4
Das Pflichtenheft
• Aufgabe:
– Zusammenfassung aller fachlichen Anforderungen
• Adressaten:
– Auftraggeber, Auftragnehmer (Projektleiter, Systemanalytiker,
Entwickler, ...)
• Inhalt:
– fachlicher Funktions-, Daten- und Leistungsumfang,
Qualitätsanforderungen
– Abnahmekriterien (spätestens hier festzulegen)!
Definitionsphase
5
Das Pflichtenheft
• Form:
– Standardisiertes, gegliedertes Schema,
– meistens: textuelle Beschreibung
– besser: Beschreibung durch Diagramme
• Sprache:
– detaillierte verbale Beschreibung (falls textuell), für AG lesbar!
• Zeitpunkt:
– direkt nach Planungsphase
• Umfang:
– ausführlich, vollständig
Definitionsphase
6
Aufbau des Pflichtenheftes (1)
• 1. Zielbestimmung
– Muß-Kriterien: Was muß das Produkt leisten?
– Wunschkriterien: Was soll das Produkt evtl. noch
leisten?
– Abgrenzungskriterien: Was soll das Produkt nicht
leisten?
• 2. Produkt-Einsatz
– definiert Anwendungsbereiche (wofür),
– Zielgruppen (für wen) und
– Betriebsbedingungen (z.B. physikalische
Umgebung, Betriebszeiten, Betriebspersonal etc.)
Definitionsphase
7
Aufbau Pflichtenheft (2)
• 3. Produkt-Übersicht
– Use Case Diagramme
• 4. Produkt-Funktionen
– Definition der funktionalen Anforderungen
– Gliederungsschema (z.B. /F10/ oder /F20/W für
Wunschkriterium) mit Bezug zum Lastenheft
– Templatebasierte Use Case Beschreibungen,
Aktivitätsdiagramme, Interaktionsdiagramme
Definitionsphase
8
Aufbau Pflichtenheft (3)
• 5. Produkt-Daten
– Beschreibung persistenter Daten
– Gliederungsschema (z.B. /D10/) mit Bezug zum
Lastenheft
– Diagramme (ER-Diagramm, Klassendiagramm)
• 6. Produkt-Leistungen (vgl. Lastenheft)
• 7. Qualitäts-Zielbestimmung (vgl. Lastenheft)
• 8. Benutzungsoberfläche (falls gewünscht)
– z.B. Fensterlayout, Dialogstruktur etc.
Definitionsphase
9
Aufbau Pflichtenheft (4)
• 9. Globale Testszenarien/Testfälle
– Abnahmetest!
• 10. Technische Produktumgebung, Schnittstellen
zu anderen Systemen
• 11. Entwicklungsumgebung
• 12. Ergänzungen
• 13. Glossar (vgl. Lastenheft)
Definitionsphase
10
Methodik zur Erstellung des
Produktmodells (1)
• (Iterative) Erstellung des Pflichtenheftes
• Auswahl der einzusetzenden Methoden
• Iterative Erstellung eines Produktmodells unter
Einsatz der gewählten Methoden (auf Basis des
Pflichtenhefts)
• Iterative Konzeption der Benutzungsoberfläche,
ggf. Erstellung eines entsprechenden Prototyps
(auf Basis des Pflichtenhefts)
Definitionsphase
11
Methodik zur Erstellung des
Produktmodells (2)
• Erstellung einer ersten Version des
Benutzerhandbuches (auf Basis des Pflichtenhefts)
• Sich neu ergebende Fragen werden zunächst in
einer Liste gesammelt und dann mit dem
Auftraggeber besprochen
Rückkopplung zum Pflichtenheft ?
Change Management ?
Definitionsphase
12
Structured Analysis (SA)
• Analysemethode, die von Tom de Marco
eingeführt wurde.
• Eingesetzte Basismethoden:
–
–
–
–
Datenflußdiagramme
Mini Specs
Data Dictionary
(Funktionsbaum)
Definitionsphase
13
Funktionsbaum
• Eine Funktion beschreibt eine Tätigkeit
oder eine klar umrissene Aufgabe innerhalb
eines größeren Zusammenhangs.
• Ein Funktionsbaum ist die Darstellung einer
funktionalen Hierarchie durch Gliederung
nach Teil-Funktionen.
• Funktionsbäume werden in Analyse und
Design als Hilfsmittel eingesetzt
Definitionsphase
14
Schema von Funktionsbäumen
• Besteht-aus-Hierarchie (meist in der Definitionsphase):
– A besteht aus B und C
• Ruft-auf-Hierarchie (meist in der Entwurfsphase):
– A ruft B und C auf.
A
• Erstellungsregeln:
B
C
– Unter einer gemeinsamen Vaterfunktion sollen nur Funktionen
angeordnet sein, die fachlich eng zusammengehörende Tätigkeiten
beschreiben.
– Auf einer Hierarchieebene sollen Funktionen angeordnet sein, die
sich auf gleichem Abstraktionsniveau befinden.
Definitionsphase
15
Datenflussdiagramm (DFD)
• DFD beschreiben die Wege von Daten
zwischen Funktionen, Speichern und
Schnittstellen sowie die Transformation der
Daten durch die Funktionen
Definitionsphase
16
Basiselemente
Beschreibt den Datenfluß mit Daten“typ“
Beschreibt eine Funktion
Beschreibt einen Datenspeicher
Beschreibt eine Schnittstelle zur Umwelt
Definitionsphase
17
Beispiel (Kontextdiagramm)
Kundendaten
Kunde
Mitteilungen
Anfragen
Auskünfte
Kundensachbearbeiter
Kundenverwaltungssystem
0
Firma
Firmendaten
Mitteilungen
Definitionsphase
18
Beispiel (DFD0)
Kundendaten Verwalte
Mitteilungen Kundendaten
1
Kundendaten
Firmendaten
Mitteilungen
Definitionsphase
Beantworte
Anfragen
3
Anfragen
Auskünfte
Firmendaten
Verwalte
Firmendaten
2
19
Syntaktische Regeln
• Ein DFD enthält mindestens eine Schnittstelle
• Jede Schnittstelle wird i.a. nur einmal
dargestellt
• Zwischen Schnittstellen gibt es keine direkten
Datenflüsse
• Zwischen Speichern gibt es keine direkten
Datenflüsse
• Zwischen Schnittstellen und Speichern gibt es
keine direkten Datenflüsse
Definitionsphase
20
Semantische Regeln
• DFD beschreibt den Datenfluss, nicht den
Kontrollfluss
• Schnittstellen sind so zu wählen, dass die
ursprüngliche Datenquelle und Senke
angegeben werden (nicht Tastatur und Drucker)
• Datenflussname = <Substantiv>
!Typ
• Funktionsname = <Verb><Objekt> !Aktion
Definitionsphase
21
Kontextdiagramm
• Das Kontextdiagramm beschreibt die
Schnittstellen des zu modellierenden
Systems zur Umwelt.
• Das System wird als Funktion mit der
Nummer 0 dargestellt, ansonsten sind nur
Schnittstellen und Datenflüsse zwischen
den Schnittstellen und dem System zulässig.
Definitionsphase
22
Verfeinerung
• Das Kontextdiagramm wird durch das
DFD0 (Datenflußdiagramm zur Funktion 0)
verfeinert.
• Hier findet man die Funktionen auf höchster
Ebene (im Funktionsbaum auf Level 1)
• Die Funktionen werden detaillierter
beschrieben durch weitere Datenflußdiagramme (DFD n für Funktion n) oder
durch Mini Specs
Definitionsphase
23
Mini Specs
• Erscheint eine Verfeinerung für eine
Funktion nicht mehr als sinnvoll, so wird zu
dieser Funktion eine Mini Spec angegeben.
Diese sollte mit einer der folgenden
Methoden erstellt werden:
– Pseudo Code
– Struktogramm / Programmablaufplan
– Entscheidungstabelle / -baum
Definitionsphase
24
Data Dictionary
Symbol
DD ist ein
Verzeichnis, das
Informationen
über die Struktur
von Daten enthält,
ihre Eigenschaften
und ihre
Verwendung
enthält
Definitionsphase
Bedeutung
Bsp
------------------------------------------------------------------=
ist äquivalent zu
A=B
+
Sequenz
A=B+C
[|]
Auswahl (xor)
A=[B|C]
{ }
Wiederholung
A={B}
N{ }M
Wiederholung N-M mal
A=1{B}5
()
Option
A=B+(C)
**
Kommentar
*muss*
25
Beispiel
Kundendatei
=
Kundeneintrag =
{Kundeneintrag}
Personal-Nr. + Name + Adresse
+ (Geburtsdatum) + (Funktion) + Umsatz
Name
=
Anrede + (Titel) + Vorname + Nachname
Adresse
=
[Strasse + Haus-Nr. | Postfachnummer]
+ (Länderkennzeichen) + PLZ + Ort
+ (Telefon) + (Fax)
Definitionsphase
26
Integritätsregeln (1)
• In der Structured Analysis sind folgende
Integritätsregeln zu beachten:
– Jeder Datenfluß hat einen Namen. Ausnahme:
Zugriff auf einen kompletten Speicherinhalt
– Jeder Datenflußname ist im DD beschrieben
– Jeder Speicher hat einen Namen
– Jeder Speichername ist im DD beschrieben
Definitionsphase
27
Integritätsregeln (2)
• Alle Datenflüsse in einem untergeordneten
DFD müssen im übergeordneten DFD
vorkommen oder eine Komponente eines
Datenflusses aus dem übergeordneten DD
sein.
• Die Komponenteneigenschaft ergibt sich
aus dem DD
Definitionsphase
28
Moderne Strukturierte Analyse
• Kombination aus Strukturierter Analyse und
Entity Relationship Modellierung bzw.
Semantischer Datenmodellierung (und
Zustandsmodellierung)
• Funktionale Modellierung und
Datenmodellierung werden gleichberechtigt
betrachtet
• Abgleich zwischen funktionalem Modell und
Datenmodell wesentlich
Definitionsphase
29
Entity-Relationship Modellierung
• Ziel ist die Beschreibung von
– Gegenständen (Entities, Objekte)
– Beziehungen (Relationships)
– Eigenschaften (Attribute)
• ER-Modell wird aufgebaut, um
– Anwendungsdaten zu strukturieren und zu
analysieren
– Oft werden daraus Datenbanktabellen aufgebaut
• Modellierung erfolgt über ER-Diagramme
Definitionsphase
30
Grundlegende Begriffe
Entität
Entitätstyp
Attribut
Schlüsselkandidat
Wertebereich
Kardinalität /
Komplexität
Mandatorische /
Optionale Bez.
Definitionsphase
Element der
Franz Mayer
Realität
Gruppe gleichMitarbeiter
artiger Entitäten
Entitätseigenschaft PersonalNummer,
Name, Anschrift ...
Identifikations#PersNr
attribut (minimal)
Zulässige
#PersNr String(10)
Attributwerte
Quantifizierung
Jede Abteilung hat
von Beziehungen
mehrere Mitarbeiter
Muss-/Kann
Ein Mitarbeiter
Beziehungen
kann einen Chef
31
haben
Entity-Relationship Diagramm
Entität
Beziehung
A
0 bis n
(0,n)
R
„Jedes A hat 0 bis n
Beziehungen zu einem B“
Attribut
(1,1)
B
Genau 1
! (n,m) legt das Minimum und Maximum der Anzahl Beziehungen des
angegebenen Typs fest, die ein Objekt haben kann.
Möglich und üblich sind:
(0,1) höchstens 1
(1,1) genau eins
(n,m) zwischen n und m mit n,m >= 0
Definitionsphase
(* für unbekannte Obergrenze)
32
Beispiel
(0,*)
Kunden
Name
bekommt
(1,1)
(1,*)
(0,*)
Adresse
#KdNr
enthält
interessiert
an
Preis
(1,1)
(0,*)
Artikel
Grösse
Farbe
Definitionsphase
Rechnung
Menge
(0,*)
kommt
vor in
(1,1)
Rechnungspositionen
#PosNr
#ArtNr
33
Semantische Datenmodelle
• Nutzung spezieller
Beziehungen:
• Aggregation /
Komposition
• Vererbung
Maschine
IS-A
IS-A
IS-A
Motor
Roboter
IS-A
Auto-Motor
Computer
Part-of
Part-of
Sensor
Arm
IS-A
Mein_PC
Part-of
Greifer
Definitionsphase
34
Vorgehensweise (1)
1.
Ermitteln der Objekttypen
2.
Ermittlung der Beziehungen
inklusive Kardinalität
3.
Zuordnung der Attribute, sofern
nicht schon in 1. / 2. geschehen
4.
Behandlung von Vererbung
Definitionsphase
35
Vorgehensweise (2)
5.
Zuordnung der Schlüsselkandidaten,
sofern möglich
6.
Definition von Fremdschlüsseln
7.
Auflösung komplexer Beziehungen
und Definition der Fremdschlüssel
8.
Zuordnung der Schlüsselkandidaten,
sofern unter 5. noch nicht möglich
9.
Behandlung strukturierter und
mengenwertiger Attribute
Definitionsphase
36

07_-_Definition