Objektorientierte Analyse und Design



Ähnliche Dokumente
Dokumentenverwaltung im Internet

Software Engineering. 3. Anforderungsanalyse. Franz-Josef Elmer, Universität Basel, WS 2006/07

Professionelle Seminare im Bereich MS-Office

Use Cases. Use Cases

Use Case Beschreibung: <Name (Nummer)>

Kreativ visualisieren

Anleitung über den Umgang mit Schildern

ecaros2 - Accountmanager

SEQUENZDIAGRAMM. Christoph Süsens

CodeSaver. Vorwort. Seite 1 von 6

1 Mathematische Grundlagen

Hilfedatei der Oden$-Börse Stand Juni 2014

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Widerrufsbelehrung der Free-Linked GmbH. Stand: Juni 2014

Workflows verwalten. Tipps & Tricks

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Usability and Security

Anleitung für die Teilnahme an den Platzvergaben "Studio II, Studio IV und Studio VI" im Studiengang Bachelor Architektur SS15

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Formica 2.0: Montageauftrag erfassen: Auftragsgruppe

Vgl. Kapitel 5 aus Systematisches Requirements Engineering, Christoph Ebert

Protect 7 Anti-Malware Service. Dokumentation

Schritte 4. Lesetexte 13. Kosten für ein Girokonto vergleichen. 1. Was passt? Ordnen Sie zu.

Änderung der Bedingungen für den Handel an der Eurex Deutschland und der Eurex Zürich

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

Anleitung zur Einrichtung der VR-NetWorld Card basic in der VR-NetWorld Software

Anwendungsbeispiele Sign Live! Secure Mail Gateway

Lehrer: Einschreibemethoden

How to do? Projekte - Zeiterfassung

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Statuten in leichter Sprache

KabelKiosk NDS CI+ Modul Fehlercode-Liste

Tipp III: Leiten Sie eine immer direkt anwendbare Formel her zur Berechnung der sogenannten "bedingten Wahrscheinlichkeit".

104 WebUntis -Dokumentation

Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert

Zwischenablage (Bilder, Texte,...)

Der Jazz Veranstaltungskalender für Deutschland, Österreich und die Schweiz

Wenn man nach Beendigung der WINDOWS-SICHERUNG folgendes angezeigt bekommt

TESTEN SIE IHR KÖNNEN UND GEWINNEN SIE!

Welche Gedanken wir uns für die Erstellung einer Präsentation machen, sollen Ihnen die folgende Folien zeigen.

Informationen zur Erstellung des Projektantrags in den IT-Berufen und zum AbschlussPrüfungOnlineSystem (CIC-APrOS)

Sie können diesen Service verwenden, um fast beliebig große Dateien auch über 2 GB zu versenden.

Grundbegriffe der Informatik

Punkt 1 bis 11: -Anmeldung bei Schlecker und 1-8 -Herunterladen der Software

Leichte-Sprache-Bilder

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:

Klicksparen. Einrichtung und Nutzung von Klicksparen am Beispiel vom iphone Hamburg,

Bevor Sie mit dem Wechsel Ihres Sicherheitsmediums beginnen können, sollten Sie die folgenden Punkte beachten oder überprüfen:

Vorbedingung: Office 365 wurde früher oder gleich erfolgreich für den Kunden bestellt.

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

Kapitalerhöhung - Verbuchung

Der große VideoClip- Wettbewerb von Media Markt.

Leichtathletik Datenverarbeitung Handbuch

Benutzerhandbuch - Elterliche Kontrolle

Java: Vererbung. Teil 3: super()

Personen. Anlegen einer neuen Person

Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler

Beitragseinzüge mit SPG-Verein - Anleitung -

Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken?

Dokumentation für die software für zahnärzte der procedia GmbH Onlinedokumentation

Grundlagen der Theoretischen Informatik, SoSe 2008

Beschreibung der Umstellungsschritte Hibiscus (Umstellung Sicherungsmedium auf smstan)

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Zugang zum Online-Portal mit Passwort Benutzeranleitung (Stand 01/2015)

Südbaden-Cup. Ausstieg Champions

MARCANT - File Delivery System

SEP 114. Design by Contract

iphone 4 - Einrichtung des VPN Clients (Cisco VPN Client) / Verbinden des iphones mit einem Exchange

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Kurzanleitung für Verkäufer

Bedienungsanleitung: Onlineverifizierung von qualifiziert signierten PDF-Dateien

Vorgehensweise bei Lastschriftverfahren

Anwendungsbeispiele Buchhaltung

Freischaltung eines neuen VR-NetKeys mit SecureGo

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Dokumentation zur Versendung der Statistik Daten

Version smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1):

Matrix42. Matrix42 Cloud Trial Erste Schritte. Version

Inhaltsverzeichnis PROGRAMMDOKUMENTATION SPCM

Stellvertretenden Genehmiger verwalten. Tipps & Tricks

Software-Engineering SS03. Zustandsautomat

Bedienungsanleitung Rückabwicklungsrechner

1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.

Erweiterung AE WWS Lite Win: AES Security Verschlüsselung

Schrittweise Anleitung zur Installation von Zertifikaten der Bayerischen Versorgungskammer im Mozilla Firefox ab Version 2.0

Anleitung zum Erstellen eines Freihaltetermins

Nicht kopieren. Der neue Report von: Stefan Ploberger. 1. Ausgabe 2003

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Erfahrungen mit Hartz IV- Empfängern

Fachhochschule Fulda. Bedienungsanleitung für QISPOS (Prüfungsanmeldung, Notenspiegel und Bescheinigungen)

Briefing-Leitfaden. 1. Hier geht s um Ihr Produkt oder Ihre Dienstleistung: Was soll beworben werden?

Dieser Text beschreibt die Neuerungen von DaNiS und die Vorgehensweise beim DaNiS-Update.

Use Cases. Die Sicht des Nutzers. Fortgeschrittenenpraktikum SS 2004

Info-Veranstaltung zur Erstellung von Zertifikaten

MaklerManager Ergänzung zum Handbuch 2.0

sidoku sidoku EXPRESS Release Stand: erstellt von: EXEC Software Team GmbH Südstraße Ransbach-Baumbach

Prozentrechnung. Wir können nun eine Formel für die Berechnung des Prozentwertes aufstellen:

Transkript:

Hochschule Darmstadt Fachbereich Informatik Objektorientierte Analyse und Design 4. Objektorientierte Analyse OOAD, Prof. Dr. Ralf Hahn, SS2008, h_da, Fachbereich Informatik 51

4. Objektorientierte Analyse Zur Erinnerung: Abstraktionsebenen gedankliche Ebene Reale Welt Abstraktion logische Ebene (Modell) OOA-Ebene OOD-Ebene Implementierungskonzepte Codierung physische Ebene (Implementierungsebene) Programm Arzt.cpp Abstraktionsebenen der objektorientierten Systementwicklung (4-Schichten-Modell) OOAD, Prof. Dr. Ralf Hahn, SS2008, h_da, Fachbereich Informatik 52

4. Objektorientierte Analyse Anforderungsanalyse Typische Situation: Der Kunde oder Auftraggeber kommt und erklärt was er haben will... d.h. er beschreibt mehr oder weniger präzise seine Anforderungen In seiner eigenen Sprache mit Hinweisen auf Vorgängersysteme mit Lösungsideen Anforderungen können sein funktionale Anforderungen: - Gesamtablauf (Workflow): Beschreibt auch interne Abläufe - Anwendungsfälle: Beschreiben das Verhalten eines "Systems" an der Systemgrenze nicht funktionale Anforderungen: - Qualitäten des zukünftigen Systems: z.b. Performance, Ausfallsicherheit, Benutzerfreundlichkeit, Robustheit,... - Fertigstellungstermin, HW, SW Wie schreibt man das auf??? OOAD, Prof. Dr. Ralf Hahn, SS2008, h_da, Fachbereich Informatik 53

4. Objektorientierte Analyse Lernziele Sie sollen in diesem Kapitel verstehen, Wie die Ergebnisse der Anforderungsanalyse dokumentiert werden Was zur Dokumentation einer Anforderung gehört Welche Möglichkeiten Use Cases bieten Wie man Use Cases in Textform aufschreibt Wie man Use Cases in UML darstellt Wie man ein gesamtes System mit Use Cases beschreibt Welche alternativen Beschreibungsmöglichkeiten es gibt Hinterher wissen Sie wie man die Ergebnisse einer objektorientierten Analyse dokumentiert! OOAD, Prof. Dr. Ralf Hahn, SS2008, h_da, Fachbereich Informatik 54

Hochschule Darmstadt Fachbereich Informatik Objektorientierte Analyse und Design 4.1 Textuelle Beschreibung von Use Cases OOAD, Prof. Dr. Ralf Hahn, SS2008, h_da, Fachbereich Informatik 55

Beispiel: Kundenanforderungen Geldautomat (ATM) Verbale Beschreibung eines (ungewöhnlich präzisen) Kunden: "Geld abheben" Nachdem der Kunde die Karte eingeschoben und die PIN und den Betrag eingegeben hat, wird der Betrag vom Konto abgebucht und die Karte und das Geld ausgegeben. Falls die PIN das 1. oder 2. Mal falsch eingegeben wurde, wird der Kunde benachrichtigt und die PIN wird erneut eingegeben. Falls die PIN ein 3. Mal falsch eingegeben wurde, protokolliert das System den Versuch, zieht die Karte ein und bricht die Kommunikation ab. Falls die Karte nicht gültig ist, wird dies dem Kunden mitgeteilt und die Karte wieder ausgegeben. Welche Teile müssen sequentiell ablaufen, was darf oder soll parallel laufen? Ist bei "oder" eventuell "entweder-oder" gemeint? Natürliche Sprachen sind oft nicht eindeutig genug für eine exakte Beschreibung! OOAD, Prof. Dr. Ralf Hahn, SS2008, h_da, Fachbereich Informatik 56

Notation am Beispiel: Geldautomat Exakte Beschreibung: "Geld abheben" 1. Kunde schiebt Karte ein. 2. Das System stellt fest, dass die Karte gültig ist. 3. Kunde gibt PIN ein. 4. Das System stellt fest, dass die PIN die richtige PIN zur Karte ist. 5. Kunde gibt gewünschten Betrag ein. 6. System bucht Betrag vom Konto ab. 7. System gibt Karte aus. 8. System gibt Geld aus. Ziel ("Goal") Ablauf ("Basic Course") "Aktionen" ("Action-Steps") Verwenden Sie einfache und klare Sätze! Aktive Formulierungen mit Subjekt, Prädikat, Objekt! OOAD, Prof. Dr. Ralf Hahn, SS2008, h_da, Fachbereich Informatik 57

Ergebnis eines Anwendungsfalls (Use Case) Der Benutzer des Systems erwartet ein bestimmtes Ergebnis, wenn der Anwendungsfall erfolgreich verläuft Hier: Das Geld wurde vom Automat ausgegeben und vom Konto abgebucht. Die Karte wurde vom Automat ausgegeben. Das System ist wieder bereit für den nächsten Kunden. "Success Guarantees" oder "Use Case-Business- Result" Alle Fehler und Transaktionsdaten wie z.b. Zeit und Datum der Transaktion wurden protokolliert. " Minimal Guarantees" Aber was passiert, wenn der Use Case nicht erfolgreich abläuft? OOAD, Prof. Dr. Ralf Hahn, SS2008, h_da, Fachbereich Informatik 58

Alternativer Ablauf eines Use Cases Bedingung Alternative Course: 4a. Das System erkennt, dass die PIN das 1. oder 2. Mal falsch eingegeben wurde: 4a1. Das System protokolliert den Fehlversuch. 4a2. Das System benachrichtigt den Kunden. 4a3. Rückkehr nach 3. Bezug zum Basic Course Alternative Course: 4b. Das System erkennt, dass die PIN das 3. Mal falsch eingegeben wurde: 4b1. Das System protokolliert den Versuch. 4b2. Das System zieht endgültig die Karte ein. 4b3. Das System benachrichtigt den Kunden. 4b4. Use Case wird abgebrochen. "Alternative Course" "Aktionen" ("Action-Steps") OOAD, Prof. Dr. Ralf Hahn, SS2008, h_da, Fachbereich Informatik 59

Alternative Course: Übung Es wird eine ungültige Karte in den Geldautomaten eingeschoben (z.b. die Mensakarte). Beschreiben Sie den alternativen Ablauf! Alternative Course: 2a. Das System erkennt, dass die Karte nicht gültig ist: 2a1. Das System protokolliert den Versuch. 2a2. Das System benachrichtigt den Kunden 2a3. Das System gibt die Karte aus. 2a4. Der Use Case wird abgebrochen. OOAD, Prof. Dr. Ralf Hahn, SS2008, h_da, Fachbereich Informatik 60

Auslösung eines Use Cases Ein Use Case wird durch ein bestimmtes Ereignis gestartet ein Kunde ruft an um 19:00 Uhr startet die Datensicherung das System stellt einen Fehler fest Der "Trigger" ist die erste Aktion, die mit unserem System interagiert Der "Primary Actor" ist derjenige, der die erste Aktion des Use Case anstößt, um ein Ziel zu erreichen Das muss nicht derjenige sein, der selbst direkt mit dem System kommuniziert, sondern evtl. auch der Anrufer, der die Erfassung eines Auftrags durch einen Sachbearbeiter anstößt. Beispiel: Ein Kunde ruft an und will einen Auftrag vergeben. Die erste Aktion (mit unserem Auftragserfassungssystem) ist dann: Der Sachbearbeiter ruft das Auftragserfassungsprogramm auf "Trigger" "Primary Actor" "Actor" OOAD, Prof. Dr. Ralf Hahn, SS2008, h_da, Fachbereich Informatik 61

Wer definiert Use Cases? Alle Personen, die ein berechtigtes Interesse an einem bestimmten Verhalten des Systems haben nicht nur die Akteure, sondern auch: Besitzer des zukünftigen Systems, der Abteilungsleiter, die interne Revisionsabteilung aber nicht der Einbrecher für eine Alarmanlage Die Akteure sind oft für die Definition der Use Cases gar nicht so wichtig Die Interessen der Stakeholder äußern sich in den Action-Steps z. B. Interesse des Kunden / der Bank: "keine unberechtigte Abhebung": - Einschieben EC-Karte, PIN-Überprüfung Interesse des Kunden: "Falls Karte / Geld nach Ausgabe nicht entnommen wird, soll dem Kunde kein Schaden entstehen": - Wieder-Einziehen der Karte / des Geldes und späteres Abholen der Karte am Schalter / Gutschrift des Gelds aufs Konto "Stakeholders" & "Interests" ist zwar Actor, aber kein Stakeholder! OOAD, Prof. Dr. Ralf Hahn, SS2008, h_da, Fachbereich Informatik 62

Muster für Use Case-Spezifikation (I) Use Case Name Primary Actor Further Actors Stakeholders and their Interests Success Guarantees Minimal Guarantees Trigger <name = Use Case-Goal> <a role name for the primary actor or description> <Role Name for further actors or description> <list of stakeholders and their key interests in the use case> <the state of the world if goal succeeds> <how the interests are protected under all exits> <what starts the Use Case (may be a time event)> OOAD, Prof. Dr. Ralf Hahn, SS2008, h_da, Fachbereich Informatik 63

Muster für Use Case-Spezifikation (II) Basic Course (Main Success Scenario) Alternative Course <put here the steps of the scenario from trigger to goal delivery and any cleanup after> <step#> <action description> <step#> <action description> <step# with reference to step in Basic Course (same step-number with following a. or b...., e.g. 2a.)> <Condition> <step# of the Alternative Course, e.g. 2a1.> <action description>... (Return point is specified in the action description in step(s) in the alternative Course) Es gibt diverse ähnliche Templates für die Beschreibung! Häufig mit weiteren Rubriken (z.b. Vor- & Nachbedingungen oder Ausnahmen) OOAD, Prof. Dr. Ralf Hahn, SS2008, h_da, Fachbereich Informatik 64

Beispiel "Geld abheben": Use Case-Spezifikation (I) Use Case Name Primary Actor Further Actors Stakeholders and their Interests Success Guarantees Minimal Guarantees Trigger Geld abheben Kunde -- Bank: Schutz vor unberechtigtem Zugriff Kunde: Abbuchung nur nach Auszahlung Das Geld wurde vom Automat ausgegeben und vom Konto abgebucht Die Karte wurde vom Automat ausgegeben. Das System ist bereit für den nächsten Kunden. Alle Fehler und Transaktionsdaten wurden protokolliert Kunde schiebt Karte ein OOAD, Prof. Dr. Ralf Hahn, SS2008, h_da, Fachbereich Informatik 65

Beispiel "Geld abheben": Use Case-Spezifikation (II) Basic Course (Main Success Scenario) Alternative Course (2a) 1.Kunde schiebt Karte ein. 2.Das System stellt fest, dass die Karte gültig ist. 3.Kunde gibt PIN ein. 4.Das System stellt fest, dass die PIN die richtige PIN zur Karte ist. 5.Kunde gibt gewünschten Betrag ein. 6.System bucht Betrag vom Konto ab. 7.System gibt Karte aus. 8.System gibt Geld aus. 2a. System erkennt, dass die Karte nicht gültig ist: 2a1. Das System protokolliert den Versuch. 2a2. Das System benachrichtigt den Kunden 2a3. Das System gibt die Karte aus. 2a4. Use Case wird abgebrochen. OOAD, Prof. Dr. Ralf Hahn, SS2008, h_da, Fachbereich Informatik 66

Beispiel "Geld abheben": Use Case-Spezifikation (III) Alternative Course (4a) 4a. Das System erkennt, dass die PIN das 1. oder 2. Mal falsch eingegeben wurde: 4a1. Das System protokolliert den Versuch. 4a2. Das System benachrichtigt den Kunden. 4a3. Rückkehr nach 3. Alternative Course (4b) 4b. Das System erkennt, dass die PIN das 3. Mal falsch eingegeben wurde: 4b1. Das System protokolliert den Versuch. 4b2. System zieht die Karte endgültig ein. 4b3. Das System benachrichtigt den Kunden. 4b4. Use Case wird abgebrochen. OOAD, Prof. Dr. Ralf Hahn, SS2008, h_da, Fachbereich Informatik 67

Gedanken zu Use Cases Ein Use Case beschreibt eine Menge von Aktionsfolgen, einschließlich Varianten, die ein System ausführt, um ein erkennbares, für einen Aktor nützliches Ergebnis zu erarbeiten. Ein Use Case stellt eine funktionale Anforderung an das System als Ganzes dar Ein Use Case beschreibt nicht, wie das Verhalten implementiert wird Use Cases sind geeignet um das Verhalten eines Systems zu visualisieren, zu spezifizieren, und zu dokumentieren Use Cases bieten eine Basis für die Verständigung von Entwicklern, Endanwendern und Fachleuten für den Anwendungsbereich; für die Requirements, für die Überprüfung der Architektur, und für den Test Die Sammlung der Use Cases ergibt noch keine vollständige Sammlung der Requirements! OOAD, Prof. Dr. Ralf Hahn, SS2008, h_da, Fachbereich Informatik 68

Tipps für die Beschreibung des Ablaufs Benutze eine einfache Grammatik Zeige immer klar: Wer hat den Ball : System gibt Meldung... aus Kunde wählt am System... aus System führt... aus, bis... eintritt Schreibe aus der User- (bzw. Vogel)perspektive (keine System-Interna!) Vermeide Passiv und Konjunktiv ("Es sollte angezeigt werden") Zeige wie sich der Prozess fortbewegt Zeige was der Aktor will, nicht seine Bewegungen Benutze eine sinnvolle Menge von Aktionen Wähle exakte Begriffe und Wörter verwende z.b. validiere, und nicht überprüfe"! Das System validiert das Passwort und überprüft es nicht wenn sinnvoll, erwähne die Zeit OOAD, Prof. Dr. Ralf Hahn, SS2008, h_da, Fachbereich Informatik 69