homeSoftwaredesign Softwaredesign: Methodenübersicht Prof. Dr. Uwe Schmidt FH Wedel

Methodenübersicht

weiter

weiter

Einordnung ins Phasenmodell

1.
Identifikation
2.
Anforderungsanalyse
3.
Anforderungsdefinition
4.
abstraktes Design
5.
konkretes Design
6.
Codierung
7.
Testen
8.
Installation
9.
Gebrauch
10.
Wartung, Modifikation
11.
Wegwerfen
4.-6..
Datenbanken
weiter

weiter

Methodenübersicht

Klassifikation
informelle Methoden <--> formale Methoden
ungenaue Methoden <--> exakte Methoden
weiter
informelle Methoden
(oft) grafische Notation oder strukturierte natürliche Sprache
ungenau, unvollständig
setzt gemeinsames Problemverständnis zwischen Entwicklern und Kunden voraus
ohne semantisches Modell
eingeschränkter Informationsgehalt
leicht zu lesen und zu lernen
weiter
exakte Methoden
(oft) mathematische Notation
genau, eindeutig, widerspruchsfrei
setzt kein gemeinsames Problemverständnis voraus
hat ein zugrunde liegendes semantisches Modell
ist schwer zu lernen
ist schwer und von Laien kaum zu lesen
ermöglicht Konstruktion korrekter Software
ermöglicht die Ableitung von Eigenschaften aus der Spezifikation
weiter
wichtige Worte
weiter

weiter

informelle Methoden

SA
Strukturierte Analyse
De Marco
weiter
SD
Strukturiertes Design
Page-Jones, McMenamin/Palmer
weiter
JSP, JSD
Jackson Structured Programming
Jackson System Design
Michael Jackson
weiter
ER
Entity-Relationship Modellierung
Chen
weiter
OOD
Grady Booch, ...
weiter
OMT
Rumbaugh
weiter
UML
Unified Modeling Language
Rumbaugh, Booch, Jacobsen
weiter
informell
grobe Klassifikation
weiter
merke
Präzision ist unterschiedlich
weiter
Werkzeugunterstützung
gut
weiter
Nutzen
beschränkt
weiter

weiter

formale (exakte) Methoden

VDM
Vienna Development Method
Dines Bjørner, Cliff Jones
weiter
Z!
C.A.R. Hoare
weiter
algebraische Spezifikationen
Guttag, Liskov, Horning, Burstal, ...
weiter
RAISE, VDM++
Dines Bjørner, IFAD
weiter
Haskell
streng getypte funktionale Sprache mit Bedarfsauswertung
sehr gut für ausführbare formale Spezifikationen und Prototypen geeignet
Verbreitung
VDM
seit Mitte der 70er Jahre im industriellen Einsatz
Programmiersprachen, DB-Systeme, Betriebssysteme, ...
weiter
Z!
seit 80er in Oxford in der Entwicklung
formale Spezifikation: CICS - IBM
Weiterentwicklung Hoare'scher Zusicherungen
weiter
Haskell
seit Anfang der 90er
weiter
Werkzeugunterstütung
nicht so gut
Ansprüche an die Werkzeuge höher
weiter
merke
in dieser Veranstaltung:
Mischung aus informellen und exakten Methoden
OMT/UML und Datenmodellierung mit Haskell
weiter

weiter

Techniken in der Softwarekonstruktion

zur Datenmodellierung
weiter
VDM, Z!, Haskell
abstrakte Syntax
weiter
SA
data dictionary
weiter
ER
ER-Diagramme
weiter
JSP
Jackson-Diagramme
weiter
OMT, UML
Klassendiagramme
weiter
zur Modellierung der Operationen
weiter
sehr abstrakt
durch Eigenschaften
Vor- und Nachbedingungen
weiter
algebraisch
mit Hilfe von Axiomen und Gesetzen
weiter
funktional
durch funktionale Spezifikationen
abstraktes Modell
Funktionen ohne Programm-Variablen, ohne Zuweisungen, ohne Schleifen
weiter
imperativ
durch imperative Spezifikationen
Funktionen und Prozeduren- mit Programm-Variablen, mit Schleifen, mit Zuweisungen
weiter
grafisch
Pfeile, Kreise, Kästen
informell, unvollständig
Signaturen und Abhängigkeiten zwischen Daten und Operationen
weiter
noch ein wichtiges Wort
weiter

Letzte Änderung: 12.10.2016
© Prof. Dr. Uwe Schmidt
Prof. Dr. Uwe Schmidt FH Wedel