180 likes | 436 Views
2. Vorlesung. Ansätze der Systemanalyse: Strukturierte Analyse (SA) Objektorientierte Systemanalyse (OOA) Analyse, Entwurf, Implementierung OOA und OOD (Objektorientiertes Design) Pflichtenheft Überblick über die Unified Modeling Language (UML)
E N D
2. Vorlesung • Ansätze der Systemanalyse: • Strukturierte Analyse (SA) • Objektorientierte Systemanalyse (OOA) • Analyse, Entwurf, Implementierung • OOA und OOD (Objektorientiertes Design) • Pflichtenheft • Überblick über die Unified Modeling Language (UML) • Einführung einer Beispielanwendung für unsere Vorlesung Hans-Jürgen Steffens Systemanalyse SS 04
Ansätze der Systemanalyse • Strukturierte Analyse (SA) Wichtige Konzepte: • Funktionsorientierte Zerlegung des Systems • Kontextdiagramme (Datenaustausch mit der Umgebung) • Datenflussdiagramme (DFD) • Data Dictionary • Objektorientierte Analyse (OOA) Wichtige Konzepte: • Objektorientierte Zerlegung des Systems • Use Case Diagramme (Anwendungsfälle) • Klassendiagramme (Statische Struktur) • Interaktionsdiagramme: Sequence und Collaboration Diagramme (Dynamisches Verhalten) Hans-Jürgen Steffens Systemanalyse SS 04
Strukturierte Analyse: Kontextdiagramm Datenflüsse nach außen Schnittstelle Fluganfrage Kunde Flugauskunft Flugticket-Bestellung Flugtickets verkaufen Flugticket Buchungssatz Finanzbuch-haltung Genau ein Prozess, repräsentiertGesamtsystem Beispiel entnommen aus: Raasch, Jörg: Systementwicklung mit Strukturierten Methoden. 3. Auflage. München Wien 1993. Hans-Jürgen Steffens Systemanalyse SS 04
Strukturierte Analyse: Datenflussdiagramm (DFD) Detaillierung des Prozesses „Flugtickets verkaufen“ Flugticket-Bestellung Fluganfrage Flugticket ausstellen Flugticket Buchungssatz Flugauskunft erteilen 2 1 Flugauskunft Flug Datenspeicher Beispiel entnommen aus: Raasch, Jörg: Systementwicklung mit Strukturierten Methoden. 3. Auflage. München Wien 1993. Hans-Jürgen Steffens Systemanalyse SS 04
Strukturierte Analyse: Data Dictionary • Buchungssatz = Name + Flugnr + Betrag • Flugticket-Bestellung = Name + Flugnr + Startzeit • Fluganfrage = Termin + Route • Flugauskunft = [„Flug nicht im Angebot“ „kein Platz frei“ Preis + Startzeit + Zielzeit + Flugnr ] • Flugticket = Name + Flugnr + Startzeit + Route + Preis • Flug = Flugnr + Flugdatum + Route + Startzeit + Zielzeit + Preis + Anzahl_freie_Sitze • Route = Startort + Zielort • Startzeit = Datum_Zeit • Zielzeit = Datum_Zeit • Datum_Zeit = Tag + Monat + Jahr + Stunde + Minute usw. Beispiel entnommen aus: Raasch, Jörg: Systementwicklung mit Strukturierten Methoden. 3. Auflage. München Wien 1993. Hans-Jürgen Steffens Systemanalyse SS 04
Objektorientierte Analyse (OOA) • Durchgängigkeit der Beschreibung über alle Phasen der Softwareentwicklung hinweg • Nutzung der gleichen Konzepte für Analyse, Design und Implementierung (bei Nutzung von objektorientierten Programmiersprachen) • Erleichtert die Nachvollziehbarkeit und Änderbarkeit • Verständlichkeit • Objekte als Konzept aus der realen Welt intuitiv verständlich • Reduzierte Komplexität durch Bildung von gekapselten Objekten • Wartbarkeit und Erweiterbarkeit • Änderungen an einer Stelle haben wenige Auswirkungen auf andere Teile des Systems • Wiederverwendbarkeit • Relativ abgeschlossene Objektdefinitionen und –implementierungen lassen sich leicht wiederverwenden Hans-Jürgen Steffens Systemanalyse SS 04
Objektorientierte Analyse (OOA) Fachliche Beschreibung der Systemanforderungen Was soll das System machen, nicht: wie soll es umgesetzt werden Implementierungsaspekte ausgeklammert Es wird von „perfekter Technik“ ausgegangen Objektorientiertes Design (OOD) Erweiterung des OOA-Modells zu einem OOD-Modell Berücksichtigung von Effizienz- und Standardisierungsaspekten Erweiterung um systemnahe Klassen Schnittstellen Benutzungsoberfläche Datenhaltung Verteilung OOD-Modell soll direkt implementierbar sein Analyse Entwurf Hans-Jürgen Steffens Systemanalyse SS 04
Analyse und Entwurf Analyse OOA-Modell Pflichtenheft Oberflächen-prototyp Entwurf OOD-Modell Fachkonzept Benutzungs-oberfläche Datenhaltung Datenbank Verteilung Klassen-bibliotheken Implementierung Code (z. B. Java, C++) Hans-Jürgen Steffens Systemanalyse SS 04
Pflichtenheft • Detaillierte verbale Beschreibung der Anforderungen • Enthält auch nicht-formalisierbare Anforderungen • Können nicht in Modellen dargestellt werden • Z. B. Antwortzeiten, Sicherheitsaspekte, ... • Beschreibt das Was, nicht das Wie • Adressaten • Auftraggeber • Projektteam • Ausgewählte Benutzer • Pflichtenheft ist Grundlage für juristischen Vertrag • Leistungsbeschreibung Hans-Jürgen Steffens Systemanalyse SS 04
Pflichtenheft: Muster für Grob-Gliederung • Zielbestimmung: Muss-, Wunsch- und Abgrenzungskriterien • Produkteinsatz: Anwendungsbereiche, Zielgruppen, Betriebsbedingungen • Produktübersicht • Produktfunktionen – mit Verweis auf OOA-Modell • Produktdaten – mit Verweis auf OOA-Modell • Produktleistungen (z. B. bzgl. Zeit, Genauigkeit) • Qualitätsanforderungen • Benutzungsoberfläche (z. B. Style Guides, Zugriffsrechte) • Nichtfunktionale Anforderungen (z. B. bzgl. Sicherheit, einzuhaltende Gesetze) • Produktumgebung: Software, Hardware, Schnittstellen, Organisatorischer Rahmen • Anforderungen an die Entwicklungsumgebung • Gliederung in Teilprodukte • Ergänzungen Nach: Balzert, Helmut: Lehrbuch der Software-Technik. Software-Entwicklung. 2. Auflage. Heidelberg Berlin 2000. Hans-Jürgen Steffens Systemanalyse SS 04
Methode Methode Konzepte Notation Vorgehen Beispiel:Konzepte derObjektorientierung Beispiel:Unified ModelingLanguage (UML) Beispiel:Rational UnifiedProcess (RUP) • Objekt • Attribut • Klasse • Vererbung • Assoziation • ... • Diagramme • Text • Schritte • Regeln • Beispiele Nach: Balzert, Heide: Lehrbuch der Objektmodellierung. Heidelberg Berlin 1999 Hans-Jürgen Steffens Systemanalyse SS 04
UML: Unified Modeling Language • Grafische Modellierungssprache (Notation) für objektorientierte Analyse und Design von Softwaresystemen • Modelltypen zur Darstellung verschiedener Aspekte: • Anforderungsdefinition • Statische Struktur • Dynamisches Verhalten • UML integriert verschiedene frühere objektorientierter Ansätze (Booch, Rumbaugh, Jacobson, Harel, ...) • Standardisiert durch die Object Management Group (OMG), aktuelle Version UML 1.4 • Weite Verbreitung in der Praxis Hans-Jürgen Steffens Systemanalyse SS 04
UML – Diagrammtypen Anforderungsdefinition Use Case Diagram (Anwendungsfälle) Dynamisches Verhalten Statische Struktur Implementierungsaspekte Implementation Diagrams:Component Diagram, Deployment Diagram (Aufteilung in Komponenten und physische Verteilung) Class Diagram (Klassendiagramm, Struktur des Systems) Activity Diagram (Abläufe) Interaction Diagrams:Sequence Diagram, Collaboration Diagram (Interaktionen zw. Objekten) Statechart Diagram (Zustandsänderungenvon Objekten) Pfeile: Typische Reihenfolge, in der die Diagramme entwickelt werden Hans-Jürgen Steffens Systemanalyse SS 04
Anwendungsbeispiel: Pizza Service • Der Inhaber eines Pizza-Service beauftragt Sie mit der Entwicklung eines Systems zur Unterstützung der Bestellaufnahme und Auslieferung • Mit Hilfe dieses Systems soll es auch möglich sein, Pizza über das Internet zu bestellen. • Erwartungen an das System • Schnellere Bestellaufnahme • Kunden-, Adress- und Speisedaten im System • Bessere Planung der Lieferzeiten • Kochdauer, Fahrtdauern • Bessere Statusinformationen • Wo befindet sich meine Bestellung jetzt? Wie lange dauert es noch? • Das System soll die Daten für die Buchhaltung und die Lohnabrechnung liefern Hans-Jürgen Steffens Systemanalyse SS 04
Ermittlung der Anforderungen • Interview mit Auftraggeber • Interviews mit Fachleuten / zukünftigen Benutzern • Ist-Analyse: • Wie werden die Aufgaben heute durchgeführt (ohne System / mit einem Alt-System)? • Dokumentenanalyse • Analyse von benutzten Formularen und Belegen (Auftrag, Rechnung, ...) • Nutzung von Beispielen • Analyse vergleichbarer Lösungen und Systeme Hans-Jürgen Steffens Systemanalyse SS 04
Zusammenfassung • Wichtige Ansätze der Systemanalyse sind die Strukturierte Analyse (SA) mit einer funktionsorientierten Zerlegung des Systems und die objektorientierte Analyse (OOA) • Wichtige Beschreibungsmittel der strukturierten Analyse sind Kontextdiagramm, Datenflussdiagramm, Data Dictionary • Wichtige Diagrammtypen der OOA sind Use Case Diagramme, Klassendiagramme und Interaktionsdiagramme • Vorteile der objektorientierten Analyse sind die Durchgängigkeit über alle Entwicklungsphasen hinweg, Verständlichkeit, Wartbarkeit und Wiederverwendbarkeit • Gegenstand der Analyse ist die fachliche Beschreibung der Systemanforderungen, Gegenstand des Entwurfs ist die Beschreibung, wie diese Anforderungen umgesetzt werden. • Die Analyseergebnisse werden im Pflichtenheft dokumentiert. • Die UML ist eine grafische Modellierungssprache mit Diagrammtypen für unterschiedliche Aspekte eines Systems. Hans-Jürgen Steffens Systemanalyse SS 04
Übungsfragen • Welche zwei wichtigen Ansätze für die Systemanalyse gibt es? • Welche Beschreibungsmittel bietet die strukturierte Analyse und was wird damit jeweils dargestellt? • Welche Vorteile bietet die objektorientierte Analyse? • Welche Ergebnisse werden in Analyse und Entwurf entwickelt? • Wozu dient ein Pflichtenheft? • Welche Inhalte hat es? • Was ist eine Methode? • Was ist die UML? • Welche Möglichkeiten der Ermittlung von Anforderungen gibt es? Hans-Jürgen Steffens Systemanalyse SS 04