Title: Methodik: Objektorientierte Analyse
1Methodik Objektorientierte Analyse
- Analyseprozess
- Makroprozess
- Checklisten
- Erste Schritte zur Erstellung eines Modells
2Methoden
- Evolutionärer Entwicklungsprozess
- ( zyklischer-, iterativer-)
- 1. Zyklus
- Analyse für Produktkern
- Entwurf für Produktkern
- Implementation des Produktkerns
- 2. Zyklus
- Erweiterung des Kerns durch Korrekturen und
Verbesserungen - 3. Zyklus - 4. Zyklus usw.
- Verfeinerungen der Systemarchitektur, bis
fertiges Gesamtsystem ausgeliefert werden kann
3Lebenszyklus von Softwareprodukten
- ANALYSE
-
- ENTWURF
-
- IMPLEMENTIERUNG
- TEST
- INBETRIEBNAHME
- WARTUNG/ERWEITERUNG
4Analysephase
- Ziele der Analyse
- Wünsche eines Auftraggebers ermitteln, verstehen
und beschreiben - Ableitung der Anforderungen an das zu
entwickelnde Softwaresystem - Erstellen eines abstrakten Modells
5Analysemodell
- Analysemodell
- besteht aus statischen und dynamischen Modell
- statisches Modell beschreibt Klassen und
Attributeihre Vererbungsstruktur und
Assoziationen - dynamisches Modell zeigt die Funktionsabläufe
über Anwendungsfälle, Szenarios,
Zustandsautomaten
6Analysemodell Grundsätzliches
- Es gibt keine richtigen und falschen Modelle, nur
für ein bestimmtes Ziel besser oder weniger gut
geeignete - Gute Modelle sind immer einfache Modelle
- Verständliches Modell hoher Aufwand
- Gute Modelle basieren auf dem Wissen von
Fachexperten ? Teamarbeit - 100 Syndrom vermeiden
- Keine Entwurfs- /Implementierungskriterien in
Analyse einbringen
7Analyseprozess
- Methodische Vorgehensweise zur Erstellung eines
objektorientierten Analysemodells - Makroprozess Festlegung der methodischen
Schritte - (hohes Abstraktionsniveau)
- Checklisten Set von methodischen Regeln
(Reihenfolge/ Umfang nicht festgelegt)
8Makroprozess
- balancierter Makroprozess
- - Relevante Geschäftsprozesse (use cases)
- ermitteln
- - daraus Klassen ableiten (Pakete bilden)
- - Statisches und dynamisches Modell
- entwickeln (möglichst parallel)
9Makroprozess
- Szenario-basierter Makroprozess
- - Geschäftsprozesse formulieren
- - daraus Szenarios ableiten
- - daraus Interaktionsdiagramme ableiten
- - Klassendiagramme erstellen
- - Zustandsdiagramme erstellen
10Makroprozess
- Daten-basierter Makroprozess
- - Klassendiagramme erstellen
- - Geschäftsprozesse formulieren
- - daraus Szenarios ableiten
- - Interaktionsdiagramme aus
- Klassendiagrammen und Szenarios ableiten
- - Zustandsdiagramme erstellen
11Makroprozess
- Verwendung
- - balancierter M. Neuentwicklung eines
Systems - - szenario-basierter M. es liegen
umfangreiche - funktionale Anforderungen vor alte
Datenbestände - sind nicht vorhanden
- - daten-basierter M. Datenmodell und
- Datenbestände sind vorhanden, funktionale
- Anforderungen unklar
12Balancierter Makroprozess Überblick
- A. Analyse im Großen
- 1. Schritt Geschäftsprozesse aufstellen
- Erstellen der essentiellen Geschäftsprozesse
- ? Beschreibung Geschäftsprozesse
- ? Geschäftsprozeßdiagramm
- 2. Schritt Pakete bilden
- Bilden von Teilsysteme bei großen Systemen,
die i. a. durch mehrere Teams bearbeitet werden,
muss die Bildung von Paketen am Anfang stehen - ? Paketdiagramm
13Balancierter Makroprozess Überblick
- B. Statisches und dynamisches Modell erstellen
- Statisches Modell erstellen
- 1. Schritt Klassen identifizieren
- Identifizieren von so vielen Attributen und
Operationen für jede Klasse, wie für das
Problemverständnis und das einwandfreie
Identifizieren der Klasse notwendig ist - ? Klassendiagramm
- ? Kurzbeschreibung Klassen
- 2. Schritt Assoziationen identifizieren
- zunächst nur die reinen Verbindungen, noch keine
genaueren Angaben (Kardinalität) - ? Klassendiagramm
14Balancierter Makroprozess Überblick
- 3. Schritt Attribute identifizieren
- Identifizieren alle Attribute der Klassen
- ? Klassendiagramm
- 4. Schritt Vererbungsstrukturen identifizieren
- ? Klassendiagramm
- 5. Schritt Assoziationen vervollständigen
- normale Assoziation, Aggregation oder
Komposition - Kardinalitäten, Restriktionen etc.
- ? Klassendiagramm
- ? Objektdiagramm
- 6. Schritt Attribute spezifizieren
- ?Attributspezifikation
-
nicht immer sequentiell !
15Balancierter Makroprozess Überblick
- Dynamisches Modell erstellen
- 1. Schritt Szenarios erstellen
- Geschäftsprozesse durch Szenarios präzisieren
- ? Sequenzdiagramm
- ? Kollaborationsdiagramm
- 2. Schritt Zustandsautomat erstellen
- ? Zustandsdiagramm
- 3. Schritt Operationen beschreiben
- ?Klassendiagramm
- ? fachliche Beschreibung der Operationen,
- Zustandsautomaten, Aktivitätsdiagramme
16Checklisten
- (Nach Balzert, Heide (2003) Lehrbuch der
Objektmodellierung) - Aufbau
- Konstruktive Schritte
- Wie finde ich ein Modellelement?
- Analytische Schritte
- Ist das Modellelement gut?
- Konsistenzprüfung
- Fehlerquellenermittlung
17Balancierter Makroprozess einzelne Schritte1.
Geschäftsprozesse aufstellen
- Zunächst nur primäre use cases ermitteln,
- um den Systemkern zu erfassen
- Immer nur an einem Anwendungsfall arbeiten
- Benutzer und Experten dazu befragen
- Geschäftsprozesse allgemein verständlich
dokumentieren (Schablone anwenden) - Mittels Anwendungsfalldiagramm einen graphischen
Überblick schaffen
18Checkliste Geschäftsprozesse
- Ergebnisse
- Use case DiagrammAlle Geschäftsprozesse und
Akteure werden in einem Anwendungsfalldiagramm
modelliert - Beschreibung der GeschäftsprozesseAlle
Anwendungsfälle sind umgangssprachig oder mittels
Schablone zu beschreiben
19Beschreibung Schablone
- Anwendungsfall Schadensfall bearbeiten
- Ziel Schaden wird durch Versicherung bezahlt
- Kategorie primär
- Vorbedingung -
- Nachbedingung Erfolg Schaden bezahlt
- Nachbedingung Fehlschlag Forderung abgewiesen
- Akteure Schadenssachbearbeiter
- auslösendes Ereignis Schadenersatzforderung
- Beschreibung
- 1. SB prüft Unterlagen auf Vollständigkeit
- 2. SB prüft Gültigkeit der Police
- Erweiterungen
- 1a. Unterlagen nicht vollständig
nachfordern - 2a. Keine gültige Police Antragsteller
informieren und Ansprüche ablehnen - Alternativen -
-
-
20Checkliste Geschäftsprozesse
- Konstruktive Schritte Modellelemente finden
- 1. Akteure ermitteln
- Welche Personen interagieren mit dem System?
- - momentan
- - zukünftig
- Welche Schnittstelle besitzt das System?
- - wo sind die Systemgrenzen
21Checkliste Geschäftsprozesse
- 2. Geschäftsprozesse für die Standardverarbeitung
ermitteln - Primäre Geschäftsprozesse betrachten
- Welche Standardverarbeitung besitzen sie?
- 2 a) Geschäftsprozesse für Standardverarbeitung
mittels Akteuren ermitteln - Sind die Akteure Personen? Nein ? 2b)
- Welche Arbeitsabläufe lösen sie aus?
- An welchen Arbeitsabläufen wirken sie mit?
22Checkliste Geschäftsprozesse
- 2 b) mittels Ereignissen (Akteure sind externe
Systeme) - Erstellen einer Ereignisliste
- jedes Ereignis führt zu einen Geschäftsprozess
- Unterscheiden von externen und internen
(zeitlichen) Ereignissen - 2 c) mittels Aufgabenbeschreibungen
- Was sind die Gesamtziele des Systems?
- Welches sind die zehn wichtigsten Aufgaben?
- Was ist das Ziel jeder Aufgabe?
23Checkliste Geschäftsprozesse
- 3. Geschäftsprozesse für die Sonderfälle
formulieren - Erweiterungen und Alternativen mittels Schablone
erstellen - Aufbauend auf Standardfunktionalität mit
ltltextendsgtgt die Sonderfälle formulieren d.h.
erweiterte Anwendungsfälle beschreiben - 4. Aufsplitten komplexer Geschäftsfälle
- Generalisierung
- Komplexe Schritte als Geschäftsprozesse
spezifizieren - Komplexe Geschäftsprozesse (viele Sonderfälle) in
mehrere Geschäftsprozesse zerlegen und
Gemeinsamkeiten modellieren - ltltextendsgtgt
- Umfangreiche Erweiterungen als Geschäftsprozesse
spezifizieren
24Checkliste Geschäftsprozesse
- Analytische Schritte Validierung
- 5. gute Beschreibung
- verständlich für den Auftraggeber
- fachliche Beschreibung des Arbeitsablaufs
- beschreibt Standardfall vollständig, Sonderfälle
separat - maximal eine Seite
- 6. Konsistenz mit Klassendiagramm
- Objektdiagramm erstellen
25Checkliste Geschäftsprozesse
- 7. Fehlerquellen
- Zu kleine und damit zu viele Geschäftsprozesse
- Zu frühe Betrachtung von Sonderfällen
- Zu detaillierte Beschreibung der
Geschäftsprozesse - Verwechseln von Generalisierung und
extends-Beziehungen
26Übung
- Ziel Analyse im Großen Geschäftsprozesse
aufstellen - Eine Bibliothek möchte sich endlich auf den
neuesten Stand der Technik bringen Es existiert
noch kein Ausleihsystem. Sie werden beauftragt,
eine Analyse zur Einrichtung eines solchen
Systems durchzuführen. Die Anforderungen seitens
der Bibliotheksverwaltung liegen bereits vor. Man
ist froh, wenn das System erstmal die
grundlegenden Vorgänge erledigt, also das macht,
was bisher die Bibliotheksangestellte manuell
erledigt hat. - Sie können also loslegen.
- Versuchen Sie mittels des eben beschriebenen
Verfahrens, Geschäftsprozesse aufzustellen, also
Anwendungsfallsdiagramm(e) und Beschreibungen zu
produzieren. -
27Checkliste Paket
- Ergebnisse
- Paketdiagramm
- Konstruktive Schritte top down oder bottom up?
- Große Systeme top down Unterteilung des
Gesamtsystems in Teilsystemegroße Pakete werden
in kleine zerlegt - Mittlere Systeme bottom upNach dem
Geschäftsprozessdiagramm werden
Pakete/Teilsysteme gebildet - Kleine Systemekeine Paketbildung
28Checkliste Paket
- Analytische Schritte
- Bildet das Paket eine abgeschlossene Einheit?
- 1 Themenbereich, der für sich alleine betrachtet
und verstanden werden kann - Erlaubt Betrachtung des Systems auf höherer
Abstraktionsebene - Vererbungsstrukturen liegen innerhalb eines
Pakets - Ist der Paketname geeignet?
- Inhalt des Pakets kurz beschreiben, daraus
Paketnamen ableiten - Fehlerquellen
- Zu kleine Pakete