280 likes | 595 Views
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
E N D
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
Analysemodell 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
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 Klassen 2. 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 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 !
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 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
Checkliste: 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
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 2b) 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: 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
Checkliste: 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