prof. dr. gerhard schmidt pres. by h.-j. steffens software engineering ss 2009folie 1 analyse und...
TRANSCRIPT
Software Engineering SS 2009 Folie 1Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
Analyse und Entwurf
Software Engineering SS 2009 Folie 2Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
Analyse und Entwurf
• Analyse– Fachliche Beschreibung der
Systemanforderungen
– Was soll das System machen, nicht: wie soll es umgesetzt werden
– Implementierungsaspekte ausgeklammert
– Es wird von „perfekter Technik“ ausgegangen
• Entwurf– Erweiterung des OOA-Modells zu
einem OOD-Modell
– Berücksichtigung von Effizienz- und Standardisierungsaspekten
– Erweiterung um systemnahe Klassen
– Schnittstellen
– Benutzeroberfläche
– Datenhaltung
– Verteilung
– OOD-Modell soll direkt implementierbar sein
Software Engineering SS 2009 Folie 3Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
Objektorientiertes Modellieren und Entwerfen
• Entwurfprozess– Analyse
– Systementwurf
– Objektentwurf
• Modellierung als Entwurfstechnik– statische Struktur
– dynamischer Ablauf
Software Engineering SS 2009 Folie 4Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
Objektorientiertes Modellieren und Entwerfen
• Grundlagen– Objektorientierung: Software ist Sammlung diskreter Objekte, die Datenstruktur
und Verhalten zusammenfassen
– Eigenschaften von Objekten• Identität (jedes Objekt muss eindeutig identifizierbar sein)
• Klassifikation (Objekt als Instanz einer Klasse)
• Polymorphismus (Erscheinungsformen)
• Vererbung (Hierarchie)
Software Engineering SS 2009 Folie 5Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
Objektorientiertes Modellieren und Entwerfen
• Modellierung (Entwurfstechnik)– Modell: Abstraktion eines Systems (Achtung! Grenzen beachten!)
– System: unterschiedliche Modelle für verschiedene Aspekte
– Modelle dienen• dem Verständnis des Systems
• dem Test vor dem Bau
• der Verringerung der Komplexität
– Aspekte:• vom Kunden zum Produkt
• vom Ganzen zum Teil
• vom Allgemeinen zum Speziellen
• vom Was zum Wie
– Werkzeug: UML
Software Engineering SS 2009 Folie 6Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
Objektorientiertes Modellieren und Entwerfen
• Unified Modelling Language (UML)– grafische Modellierungssprache
– standardisiert durch Object Management Group (OMG) (z.Zt. V1.4)
– Darstellung in Diagrammen
– Diagrammarten:• Anwendungsfalldiagramm (dynamisch)
• Paketdiagramm (statisch)
• Klassendiagramm (statisch)
• Interaktionsdiagramm (dynamisch)
• Zustandsdiagramm (dynamisch)
Software Engineering SS 2009 Folie 7Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
Objektorientiertes Modellieren und Entwerfen - Phasen der Systemerstellung
1. Analyse• Eingabe
• Problembeschreibung
• konzeptuelle Übersicht
• Hintergrundwissen
• Ausgabe• Anwendungsfalldiagramm
• Klassendiagramm
• Klassenbeschreibungen
• Zustandsdiagramm
• Prototyp der Benutzeroberfläche
• erläuternde Texte
Software Engineering SS 2009 Folie 8Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
Objektorientiertes Modellieren und Entwerfen - Phasen der Systemerstellung
2. Systementwurf• Eingabe
• Machbarkeitsstudie
• Analysedokument
• Ausgabe• Sollen Programmteile parallel ausführbar sein?
• Single- / Multi-User?
• Teilsysteme auf verschiedene Rechner verteilen?
• Echtzeitanforderungen?
• Interaktiver Betrieb oder Stapelbetrieb?
• Datenstrukturen im Hauptspeicher, in Dateien oder Datenbank?
• Systemarchitekturrelevante Qualitätsanforderungen?
Software Engineering SS 2009 Folie 9Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
Objektorientiertes Modellieren und Entwerfen - Phasen der Systemerstellung
3. Objektentwurf
Anwendungskonzepte Computerkonzepte• Eingabe
• Machbarkeitsstudie
• Analysedokumente
• Systementwurf
• Ausgabe• vervollständigte Klassendefinition
• die Algorithmen der Methoden
• geeignete Containerklassen
• interne Klassen zur Implementierung
• Implementierungsart der Assoziationen
Software Engineering SS 2009 Folie 10Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
Objektorientiertes Modellieren und Entwerfen - Analyse
• Anwendungsfallanalyse– Anwendungsfälle analysieren
– Anwendungsfalldiagramm erstellen
– Anwendungsfälle beschreiben
• Anwendungsfälle zu Paketen zusammenfassen
• Prototyp der Benutzeroberfläche erstellen
• Anwendungsfall = Geschäftsprozess
Software Engineering SS 2009 Folie 11Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
Objektorientiertes Modellieren und Entwerfen - Analyse
• Anwendungsfalldiagramm: beschreibt die Grenzen des zu realisierenden Systems; Darstellung des Systems mit den beteiligten Akteuren
Software Engineering SS 2009 Folie 12Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
Objektorientiertes Modellieren und Entwerfen - Analyse
• Ausdrucksmittel im Anwendungsfalldiagramm– Systemgrenze mit Diagrammname
– Akteur
– Anwendungsfall
– Akteur wendet an
– Anwendungsfall verwendet Anwendungsfall
– Anwendungsfall erweitert Anwendungsfall
Software Engineering SS 2009 Folie 13Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
Objektorientiertes Modellieren und Entwerfen - Analyse
• Anwendungsfälle beschreiben– Akteure
– Auslöser
– Ablauf
– Varianten
– Dialoge
– offene Punkte
Software Engineering SS 2009 Folie 14Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
Objektorientiertes Modellieren und Entwerfen - Analyse
• Anwendungsfälle zu Paketen zusammenfassen– geringe Wechselwirkung zwischen Paketen
– starke Wechselwirkung in Paketen
– Kandidaten für Pakete• Arbeitsbereiche
• Abteilungen
Software Engineering SS 2009 Folie 15Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
Objektorientiertes Modellieren und Entwerfen - Analyse
• Prototypen– Explorative Prototypen:
• Unterstützung der Anforderungsanalyse. • Klärung von Anforderungen hinsichtlich
– Funktionsabläufen, – Benutzerschnittstellen, – Qualitätsanforderungen
• wird nicht zu einem Produkt weiterentwickelt• Beispiele für explorative Prototypen
– Dialogentwürfe– Druckmuster– Formularentwürfe
– Experimentelle Prototypen • dienen zum Nachweis der Machbarkeit • Unterstützung bei Lösungsstudien, System- und Detailentwurf eingesetzt
– Evolutionäre Prototypen • werden in der Regel nicht verworfen, sondern sukzessive zum Produkt weiterentwickelt
Software Engineering SS 2009 Folie 16Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
Objektorientiertes Modellieren und Entwerfen - Analyse
Benutzeroberfläche
• Fensterarten– Anwendungsfenster
– Tochterfenster
– MDI-Client
– MDI-Tochterfenster
– Statusfenster
Software Engineering SS 2009 Folie 17Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
Objektorientiertes Modellieren und Entwerfen - Analyse
Benutzeroberfläche
• Menüarten– Hauptmenü
– Submenü
– Kontextmenü
Software Engineering SS 2009 Folie 18Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
Objektorientiertes Modellieren und Entwerfen - Analyse
• Interaktionselemente
Software Engineering SS 2009 Folie 19Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
Objektorientiertes Modellieren und Entwerfen - Analyse
• Interaktionselemente
Software Engineering SS 2009 Folie 20Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
Objektorientiertes Modellieren und Entwerfen - Analyse
• Interaktionselemente
Software Engineering SS 2009 Folie 21Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
Objektorientiertes Modellieren und Entwerfen - Analyse
Gestaltung von Fenstern (Style Guides) (z.B. Microsoft MSDN)
Software Engineering SS 2009 Folie 22Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens
Objektorientiertes Modellieren und Entwerfen - Analyse
Gestaltung von Fenstern (Style Guides) (z.B. Microsoft MSDN)– Konsistente Darstellung
– Gruppierung (reduziert Suchzeit)
– Hervorhebung (max. 20%)
– Farbig, nicht bunt (max. 5 Farben)
– Fenster breiter als hoch
– Breite Fenster balanciert füllen
– symmetrische Anordnung (wenn möglich)
– Benutzer sequentiell durch Fenster führen
– gleich große
– Interaktionselemente verwenden