22
Software Engineering SS 2009 Folie 1 Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Analyse und Entwurf

Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Analyse und Entwurf

Embed Size (px)

Citation preview

Page 1: Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Analyse und Entwurf

Software Engineering SS 2009 Folie 1Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens

Analyse und Entwurf

Page 2: Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 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

Page 3: Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Analyse und Entwurf

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

Page 4: Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Analyse und Entwurf

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)

Page 5: Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Analyse und Entwurf

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

Page 6: Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Analyse und Entwurf

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)

Page 7: Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Analyse und Entwurf

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

Page 8: Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Analyse und Entwurf

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?

Page 9: Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Analyse und Entwurf

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

Page 10: Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Analyse und Entwurf

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

Page 11: Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Analyse und Entwurf

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

Page 12: Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Analyse und Entwurf

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

Page 13: Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Analyse und Entwurf

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

Page 14: Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Analyse und Entwurf

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

Page 15: Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Analyse und Entwurf

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

Page 16: Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Analyse und Entwurf

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

Page 17: Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Analyse und Entwurf

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ü

Page 18: Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Analyse und Entwurf

Software Engineering SS 2009 Folie 18Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens

Objektorientiertes Modellieren und Entwerfen - Analyse

• Interaktionselemente

Page 19: Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Analyse und Entwurf

Software Engineering SS 2009 Folie 19Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens

Objektorientiertes Modellieren und Entwerfen - Analyse

• Interaktionselemente

Page 20: Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Analyse und Entwurf

Software Engineering SS 2009 Folie 20Prof. Dr. Gerhard Schmidtpres. by H.-J. Steffens

Objektorientiertes Modellieren und Entwerfen - Analyse

• Interaktionselemente

Page 21: Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Analyse und Entwurf

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)

Page 22: Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Analyse und Entwurf

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