Upload
ima-kapke
View
103
Download
0
Embed Size (px)
Citation preview
Methodik: Objektorientierte Analyse
Analyseprozess
Makroprozess
Checklisten
Erste Schritte zur Erstellung eines Modells
Methoden
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
Lebenszyklus von Softwareprodukten
ANALYSE
ENTWURF
IMPLEMENTIERUNG
TEST
INBETRIEBNAHME
WARTUNG/ERWEITERUNG
Analysephase
Ziele der Analyse: – Wünsche eines Auftraggebers ermitteln,
verstehen und beschreiben– Ableitung der Anforderungen an das zu
entwickelnde Softwaresystem– Erstellen eines abstrakten Modells
AnalysemodellAnalysemodell
● besteht aus statischen und
dynamischen Modell
● statisches Modell beschreibt
Klassen und Attribute
ihre Vererbungsstruktur und
Assoziationen
● dynamisches Modell zeigt die
Funktionsabläufe über
Anwendungsfälle, Szenarios,
Zustandsautomaten
Analysemodell: 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
Analyseprozess
=Methodische Vorgehensweise zur Erstellung eines objektorientierten Analysemodells
• Makroprozess: Festlegung der methodischen Schritte
(hohes Abstraktionsniveau)• Checklisten: Set von methodischen Regeln
(Reihenfolge/ Umfang nicht festgelegt)
Makroprozess
• balancierter Makroprozess:
- Relevante Geschäftsprozesse (use cases)
ermitteln
- daraus Klassen ableiten (Pakete bilden)
- Statisches und dynamisches Modell
entwickeln (möglichst parallel)
Makroprozess
• Szenario-basierter Makroprozess
- Geschäftsprozesse formulieren
- daraus Szenarios ableiten
- daraus Interaktionsdiagramme ableiten
- Klassendiagramme erstellen
- Zustandsdiagramme erstellen
Makroprozess
• Daten-basierter Makroprozess
- Klassendiagramme erstellen
- Geschäftsprozesse formulieren
- daraus Szenarios ableiten
- Interaktionsdiagramme aus
Klassendiagrammen und Szenarios ableiten
- Zustandsdiagramme erstellen
Makroprozess
• 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
Balancierter 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
Balancierter 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 Klassen2. Schritt: Assoziationen identifizieren• zunächst nur die reinen Verbindungen, noch keine
genaueren Angaben (Kardinalität) Klassendiagramm
Balancierter Makroprozess: Überblick
3. Schritt: Attribute identifizieren• Identifizieren alle Attribute der Klassen
Klassendiagramm4. Schritt: Vererbungsstrukturen identifizieren
Klassendiagramm5. Schritt: Assoziationen vervollständigen• »normale« Assoziation, Aggregation oder Komposition• Kardinalitäten, Restriktionen etc.
Klassendiagramm Objektdiagramm 6. Schritt: Attribute spezifizieren
Attributspezifikation
nicht immer sequentiell !
Balancierter 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
Checklisten
(Nach Balzert, Heide (2003): Lehrbuch der Objektmodellierung)
Aufbau:
Konstruktive Schritte:• Wie finde ich ein Modellelement?
Analytische Schritte:• Ist das Modellelement gut?• Konsistenzprüfung• Fehlerquellenermittlung
Balancierter Makroprozess: einzelne Schritte
1. 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
Checkliste: Geschäftsprozesse
Ergebnisse:• Use case Diagramm
Alle Geschäftsprozesse und Akteure werden in einem Anwendungsfalldiagramm modelliert
• Beschreibung der GeschäftsprozesseAlle Anwendungsfälle sind umgangssprachig oder mittels Schablone zu beschreiben
Beschreibung: 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: -
Checkliste: 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
Checkliste: 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?
Checkliste: 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?
Checkliste: Geschäftsprozesse
3. Geschäftsprozesse für die Sonderfälle formulieren• Erweiterungen und Alternativen mittels Schablone erstellen• Aufbauend auf Standardfunktionalität mit <<extends>> 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
<<extends>>:• Umfangreiche Erweiterungen als Geschäftsprozesse spezifizieren
Checkliste: 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
Checkliste: 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
Ü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.
Checkliste: PaketErgebnisse:• 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
Checkliste: PaketAnalytische 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