1 / 28

Methodik: Objektorientierte Analyse

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

leverett
Télécharger la présentation

Methodik: Objektorientierte Analyse

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Methodik: Objektorientierte Analyse Analyseprozess Makroprozess Checklisten Erste Schritte zur Erstellung eines Modells

  2. 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

  3. Lebenszyklus von Softwareprodukten ANALYSE ENTWURF IMPLEMENTIERUNG TEST INBETRIEBNAHME WARTUNG/ERWEITERUNG

  4. Analysephase Ziele der Analyse: • Wünsche eines Auftraggebers ermitteln, verstehen und beschreiben • Ableitung der Anforderungen an das zu entwickelnde Softwaresystem • Erstellen eines abstrakten Modells

  5. 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

  6. 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

  7. Analyseprozess =Methodische Vorgehensweise zur Erstellung eines objektorientierten Analysemodells • Makroprozess: Festlegung der methodischen Schritte (hohes Abstraktionsniveau) • Checklisten: Set von methodischen Regeln (Reihenfolge/ Umfang nicht festgelegt)

  8. Makroprozess • balancierter Makroprozess: - Relevante Geschäftsprozesse (use cases) ermitteln - daraus Klassen ableiten (Pakete bilden) - Statisches und dynamisches Modell entwickeln (möglichst parallel)

  9. Makroprozess • Szenario-basierter Makroprozess - Geschäftsprozesse formulieren - daraus Szenarios ableiten - daraus Interaktionsdiagramme ableiten - Klassendiagramme erstellen - Zustandsdiagramme erstellen

  10. Makroprozess • Daten-basierter Makroprozess - Klassendiagramme erstellen - Geschäftsprozesse formulieren - daraus Szenarios ableiten - Interaktionsdiagramme aus Klassendiagrammen und Szenarios ableiten - Zustandsdiagramme erstellen

  11. 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

  12. 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

  13. 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

  14. 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 !

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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: -

  20. 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

  21. 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?

  22. 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?

  23. 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

  24. 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

  25. 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

  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.

  27. 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

  28. 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

More Related