Objektorientierte Analyse & Design Analyse-Phase Teil 1
Einordnung im SW-Lebenszyklus Software- Entwicklung Einsatz Wartung Problemdefinition Spezifikation Implementation Auslieferung Analyse Entwurf Erprobung
Kommunikation in der SW-Entwicklung Wer ist an der Entwicklung beteiligt? Kundenseite: Domänen-Experten Experten des Anwendungsbereiches (Domäne) Evtl. Mitarbeiter der Datenverarbeitung Haben Kenntnisse der SW-Entwicklung Entwicklerseite Projekt-Leiter SW Designer Programmierer Evtl. Fachexperten Kenntnisse der Domäne
Kommunikation in der SW-Entwicklung Wer ist an der Entwicklung beteiligt?
Fragestellungen - Analyse Was soll eine zu entwickelnde SW leisten? Was ist zu entwickeln? Neuentwicklung einer SW Anpassung einer bestehenden SW Erweiterung einer bestehenden SW Welche Anforderungen werden gestellt? Funktionale Anforderungen Ändern der Anschrift eines Kunden in der Kundendatenbank Qualitative Anforderungen Graphische Oberfläche Systembezogene Anforderungen Betriebsystem, RAM Einsatz von Java-Technologie
Allgemeiner Ablauf Vorstudie Definition der Aufgabe (Grobe) Erarbeitung möglicher Lösungsvarianten Rapid-Analyse-Design (RAD) Geschäftsprozesse (Arbeitsabläufe) erarbeiten Erste Prototypen erzeugen Geschäftsprozeßmodellierung Einordnung der neuen SW in den laufenden Betrieb Anwendungsfallanalyse Modellierung der softwareseitigen Abläufe Wer führt wann, welche Funktionen der SW aus?
Anwendungsfallanalyse Modellierung mit der UML Anwendungsfälle modellieren Use-Case-Diagramme Geschäftsklassen modellieren Klassendiagramme Aktivitäten modellieren Aktivitätsdiagramme Komponenten entwerfen/herausarbeiten Verteilungsdiagramme
Anwendungsfallanalyse - Begriffe Anwendungsfall: Beschreibt Aktivitäten eines SW-Systems, die zu einem Ergebnis führen Akteur: An einer Interaktion eines Anwendungsfalls Beteiligter Personen, Klassen
Use-Case-Diagramm Akteure: Kunde Shop-Angestellter Pizza-Bote Interaktionen Auskunft geben Bestellen Rechnung generieren Pizza liefern Pizza bezahlen Quittung aushändigen
Anwendungsfallanalyse Jeder AF wird beschrieben, z.b.: Der Shop-Angestellte nimmt die Kundendaten auf und passt sie eventuell an. Z.B. Anschrift ändern. Für eine Bestellung muß der Shop-Angestellte die Art der Pizza, die der Kunde wünscht, in das System eingeben. Das System soll nach erfolgreicher Bestellannahme die Rechnung erstellen. Die Anschrift des Kunden ist dem Pizza-Boten (Lieferant) mitzuteilen.
Geschäftsklassen modellieren Business-Objekte identifizieren Stichwort Objektorientierung Übertragung für das System wichtiger Informationen und Entitäten auf ein Klassen-Modell Kunde Kundennummer, Telefonnr., Anschrift Pizza Preis, Größe, Beläge Rechnung Bestellte Pizzen Mehrwertsteuer
Geschäftsklassen modellieren Business-Objekte identifizieren
Aktivitätsmodellierung Erzeugung eines Ablaufmodells Visualisieren von Arbeitsschritten, die notwendig sind, um von einer Ausgangssituation zu einer Zielsituation zu gelangen. Dient dem Erkennen von notwendigen Informationen für das System. z.b., ob Sicherheitsabfragen notwendig sind
Aktivitätsmodellierung Erzeugung eines Ablaufmodells Aus AF-Beschreibung gefunden geprüft angepasst nicht gefunden angelegt
Anforderungsanalyse Beispiel KFZ-Vermietung: Anwendungsfall Diagramm Business-Objekte Aktivitätsdiagramm