1.3 Entwicklungsmethoden: Systematischer Überblick Literatur: Balzert Band 1, LE 411 "There is method in the madness." William Shakespeare Beispiel einer Methode: RUP + UML Darstellungsformen: Unified Modeling Language UML Verfahren: Aktivitätsbeschreibungen des RUP Objekt Paradigma Vorgehensmodell: Ablaufmodell des RUP Rational Unified Process (RUP) ist kein Standard wie die UML, sondern ein Firmenprodukt. RUP dient hier als Beispiel, es existieren viele andere UMLkompatible Methoden. Seite 1
Beispiel: Modell eines Arbeitsablaufs Rational Unified Process Activity Overview (Design) Beispiel: Aktivitäten und Artifakte Rational Unified Process Workflow Details (Architectural Design) Seite 2
Beispiel: Beschreibung einer Aktivität Activity: Identify Design Mechanisms Purpose: To refine the analysis mechanisms into design mechanisms based on the constraints imposed by the implementation environment. Steps: Categorize clients of analysis mechanisms Inventory the Implementation Mechanisms Map Design Mechanisms to Implementation Mechanisms Document Architectural Mechanisms Input Artifacts: Supplementary Specifications Software Architecture Document Design Model Analysis Classes Design Guidelines Frequency: Once per iteration Guidelines: Design Mechanisms Concepts: Analysis Mechanisms, Design Mechanisms Worker: Architect Resulting Artifacts: Design Model (Classes, Packages and Subsystems) Updated Software Architecture Document Was ist eine SoftwareEntwicklungsmethode? Beschrieben in Lehrbüchern und Handbüchern Zweck: Hilfe bei der Erstellung von Software Bessere Planbarkeit der Entwicklung Bessere Struktur des Produkts Darstellungsformen Syntax für Dokumente Diagrammtypen Werkzeugunterstützung Verfahren Analyse Transformation Entwicklungs Methode Vorgehensmodell Phasen, Schritte Reihenfolge Ergebnisse Seite 3
Arten von Entwicklungsmethoden IndustrieStandardmethoden z.b. OMT, UML + Rational Unified Process in Lehr und Handbüchern fixiert ationale und internationale Standards z.b. SSADM (GB), Merise (F), VModell (D), Euromethod (EU) Qualitätskriterium bei öffentlichen Ausschreibungen FirmenstandardMethoden firmenspezifisch, manchmal abgeleitet von bekannten Methoden in grossen Firmen oft eigene Methodenabteilung interne Handbücher Paradigmen ede Entwicklungsmethode orientiert sich an einem Paradigma (wissenschaftliches Weltbild) oder einer Kombination von Paradigmen. Die Bestandteile einer Methode hängen unterschiedlich stark vom Paradigma ab: Darstellungsformen Verfahren Paradigma der Methode Vorgehensmodell Seite 4
Paradigma der Funktionsmodellierung Funktionsmodellierung betrachtet ein System als Funktion beschreibt die hierarchische Zerlegung von Funktionen in Teilfunktionen Beispiel: Funktionsbaum verwalte Seminare buche Veranstaltungen erfasse Kundenstamm aktualisiere Kundenstamm erstelle Adreßaufkleber erfasse Anmeldungen erstelle Anm.Bestätigung erstelle Rechnung Paradigma der Datenmodellierung (Semantische) Datenmodellierung betrachtet ein System als Datenstruktur beschreibt die Zerlegung von Datenstrukturen in Komponenten orientiert sich an der Theorie und Technik von Datenbanken Beispiel: EntityRelationshipModell Kunde 1 in Verzug Seminarveranstaltung Zahlungsverzug (0, n) (0, n) (0, n) bucht ist beschäftigt bei Firma verwalte Kundenstammdaten (0, n) (0, n) (0, 1) 1 gehört zu Seminartyp Seite 5
Paradigma der Zustandsmodellierung Zustandsmodellierung betrachtet ein System als Zustandsautomaten beschreibt die Zerlegung von Automaten in Unterstrukturen orientiert sich an Ergebnissen der Automatentheorie Beispiel: Einfaches "Statechart"Diagramm in UML in Vorbereitung Aufnahme in Katalog Anmeldefrist abgelaufen angeboten Buchung letzte Buchung ausgebucht Anmeldefrist abgelaufen vor Durchführung Durchführung durchgeführt Paradigma der Ereignismodellierung Ereignismodellierung (Interaktionsmodellierung) beschreibt Systemverhalten bei bestimmten Ereignissen beschreibt die Zerlegung in Untersysteme und deren Interaktion orientiert sich an Ergebnissen der Theorie nebenläufiger Prozesse Beispiel: Sequenzdiagramm in UML sb: Sachbearbeiter sv: Seminarveranstaltung Aufnahme in Katalog Stornieren Buchen Absagen k1: Kunde k2: Kunde Buchen Absagen Seite 6
Weitere Paradigmen Ablaufmodellierung ProgrammAblaufpläne (flowcharts) assi/shneidermanstruktogramme Regelmodellierung Regelsprachen (z.b. in der Wissensrepräsentation) Entscheidungstabellen Objektmodellierung Integration von Funktionsmodellierung in Datenmodellierung Häufig kombiniert mit Zustands und Ereignismodellierung Entscheidungstabelle (Beispiel) Korrektheit einer Buchungsanfrage prüfen R1 R2 R3 R4 R5 Sonst B1: Teilnehmerdaten korrekt? B2: Seminardaten korrekt? B3: Zahlungsverzug? B4: Anmeldefrist eingehalten? B5: Freie Plätze verfügbar? A1: Buchen A2: Zurückweisen A3: Rückfragen Seite 7
Geschichte der SWEntwicklungsmethoden 1960 1970 1980 1990 2000 2010 Funktionsmodellierung Zustandsmodellierung Kombinationen Datenmodellierung Ereignismodellierung Objektorientierte Modellierung SA/SD ERModelle SSADM UML + Statecharts OMT Unified Process SA = Structured Analysis ER = EntityRelationship SD = Structured Design OMT = Object Modeling Technique SSADM = Structured Systems Analysis and Design Method Seite 8