Methodik: Objektorientierte Analyse

Slides:



Advertisements
Ähnliche Präsentationen
Business Engineering Philipp Osl, Alexander Schmidt
Advertisements

Prüfung objektorientierter Programme -1
Datenmodellierung Externe Phase Informationsstruktur
Die Definitionsphase -Objektorientierte Analyse - Das statische Modell
UML-Basics: Einführung in Objekt-Orientierte Modellierung mit der Unified Modeling Language Michael Hahsler.
24. Methoden und Verfahren der objektorientierten Analyse Realisierung
Produktmodelle im Service Engineering
Vorlesung Softwaretechnik
OO Analyse Analyseprozess Erstellen eines Modells
Assoziationen Verbindungen zwischen Objekten einer Klasse
Objektorientierter Entwurf
WS 04/05 wiss. Übung: Systemanalyse und Softwaredesign
Objektorientierte Konzepte und Notation in UML
Objektorientierte Analyse
Checklisten dynamisches Modell
Manfred Thaller, Universität zu Köln Köln 28. Januar 2008
Manfred Thaller, Universität zu Köln Köln 7. Januar 2010
Anwendungsfalldiagramm
Anwendungsfalldiagramm
Anwendungsfalldiagramm
Ziel: externe Systemverhalten aus Anwendersicht
Sequenzdiagramm.
Objektorientierte Analyse (OOA) Inhaltsübersicht
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Was ist Refactoring? Bevor man die Integration angeht, mag es angebracht sein, den.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Aufgaben des Testens Vergleich des Verhaltens einer Software mit den an sie gestellten.
Beispiel: Wasserfallmodell als einfaches Phasenmodell
es gibt (fast) nichts, was nicht anders gemacht werden könnte
Abhängigkeitsbeziehung
Lösungen
Objektorientierte Konzepte
Methodik: Objektorientierte Analyse
Objektorientierte Konzepte und Notation in UML
Rational Unified Process (RUP) - Definitionen
Modellierung komplexer Realität mit Objekten
1 Dipl.-Inform. Christian Fuß Lehrstuhl für Informatik 3 an der RWTH Aachen 2. Übungsblatt Änderungen am ersten Entwurf und Entwurfsparadigmen 4. Mai 2006.
Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl
1 Teil 4 Übung: Uhr. 2 Zielsetzung Ziel ist es, mit Hilfe objektorientierter Modellierung ein System zu entwickeln, mit dem eine einfache Uhr simuliert.
UML Begleitdokumentation des Projekts
Anpassung des RUP an ein konkretes Projekt - 1
Vorgehensmodelle: Schwergewichtige Modelle
Spezifikation von Anforderungen
Software Engineering SS 2009
11. Vorlesung: Dynamische Konzepte am Fallbeispiel
4. Vorlesung: Use Case Diagramme Fallbeispiel
3. Vorlesung: UML Use Case Diagramme
12. Vorlesung: Aktivitätsdiagramme
Das Pflichtenheft Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth
Unified Modeling Language Repetition / Einführung zu UML
UML WS 09/10: Datenbanken vs MarkUp Dozent: Prof. Dr. Manfred Thaller
LVA , SS021 Im Mittelpunkt aller Bemühungen steht der Kunde und die Steigerung des Kundennutzens. Deswegen: Wer alles reinlässt kann nicht.
Objektorientierte Analyse
UML-Kurzüberblick Peter Brusten.
Wasserfallmodell und Einzelbegriffe
UML Modellierung des Verhaltens von Klassen und Objekten
Paradigmenwechsel in der Unternehmensmodellierung Prof. Dr. Wolfgang Voigt Dipl.-Ing. Päd. Alexander Huwaldt UML Extrakt UML Seminar, Chemnitz
Vom Geschäftsprozess zum Quellcode
Informatik und Programmieren 3
1 Ausgangslage Vorgehensweise: Informell, pragmatisch, stark graphisch orientiert. Systemanalytischer Ausgangspunkt: Klassischer Systembegriff als Ansammlung.
Objektorientierte Modellierung mit UML
Klassen und Klassenstruktur
Software Engineering Grundlagen
Unified Modeling Language UML
Software Engineering Strukturierte Analyse
SS 2014 – IBB4C Datenmanagement Do 17:00 – 18:30 R Vorlesung #3 ER Modellierung.
Name des Vortragenden ‌ Klasse ‌‌‌ Ort / tt.mm.jjjj Anwendungsfalldiagramm.
Tutorium Software-Engineering SS14 Florian Manghofer.
Tutorium Software-Engineering SS14 Florian Manghofer.
Tutorium Software-Engineering SS14 Florian Manghofer.
A nwendungsfalldiagramm. Ü berblick  Allgemein  Anwendungsfalldiagramm in Stichpunkten  Zusammenhang  Anwendungsbereich  Diagramm.
 Präsentation transkript:

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 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 Klassen 2. Schritt: Assoziationen identifizieren zunächst nur die reinen Verbindungen, noch keine genaueren Angaben (Kardinalität)

Balancierter Makroprozess: Überblick 3. Schritt: Attribute identifizieren Identifizieren alle Attribute der Klassen  Klassendiagramm 4. Schritt: Vererbungsstrukturen identifizieren 5. Schritt: Assoziationen vervollständigen »normale« Assoziation, Aggregation oder Komposition Kardinalitäten, Restriktionen etc.  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 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äftsprozesse Alle 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: Paket Ergebnisse: Paketdiagramm Konstruktive Schritte: top down oder bottom up? Große Systeme: top down Unterteilung des Gesamtsystems in Teilsysteme große Pakete werden in kleine zerlegt Mittlere Systeme: bottom up Nach dem Geschäftsprozessdiagramm werden Pakete/Teilsysteme gebildet Kleine Systeme keine 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