Next: Gruppenbildung
Up: Die Entwicklungsphasen
Previous: Konzeptbildung/Strukturen
Zusätzlich zu dem obigen Vorgehen, das in dieser Form speziell für
multimediale Anwendungen geeignet ist, gibt es auch Ansätze zur
Analyse und zum Entwurf von Anwendungen, die auch außerhalb von Multimedia
Verwendung finden.
Insbesondere soll im folgenden auf die Object Modeling Technique (OMT)
eingegangen werden, denn diese berücksichtigt die objektorientierte Sichtweise
bei der Analyse und beim Design (im Sinne objektorientierter
Programmiersprachen). Des weiteren sollen noch kurz Unterschiede zwischen OMT
und herkömmlichen Methoden dargelegt werden. Hierbei wird ein gewisses
Grundverständnis über Analyse und Design bei der Softwareentwicklung
i. a. vorausgesetzt.
Die Analyse beschäftigt sich mit der Beschreibung eines relevanten realen
Weltausschnittes; es werden involvierte Elemente bzw. Objekte identifiziert und
notwendige Beziehungen zwischen ihnen bestimmt. Hierzu werden folgende Schritte
ausgeführt [Weg87, RBP93]:
- Informelle Beschreibung des Problems
-
Objektmodell erstellen
- Klassen identifizieren
- Beziehungen zwischen den Klassen bestimmen
- Objektattribute festlegen
- Vereinfachung der Klassen durch Hierarchiebildung (Vererbung)
- Iteration obiger Phasen soweit notwendig
- Gruppierung der Klassen in Moduln aufgrund ihrer Hierarchie und ihrer
funktionalen Abhängigkeiten
-
Dynamisches Modell entwickeln
- Konstruktion typischer Interaktionssequenzen/Dialoge (Szenarien)
- Identifizierung relevanter Ereignisse zwischen Objekten und
Erstellen eines Ereignispfades für jedes Szenario
- Konstruktion eines Flußdiagramms über jedes Ereignis
- Entwicklung von Zustandsdiagrammen wichtiger Klassen
-
Funktionales Modell konstruieren
- Ein- und Ausgabewerte bestimmen
- Erzeugen von Datenflußdiagrammen soweit notwendig
- Beschreibung von Aufgaben der einzelnen Funktionen
- Definieren der Nebenbedingungen (constraints)
- Bestimmung von Kriterien für Optimierung
Der darauffolgende Objektentwurf baut unmittelbar auf die Analyse auf und
verfeinert die gewonnenen Ergebnisse unmittelbar vor der Implementierung. Dabei
werden v. a. die nachstehenden Punkte bearbeitet [Weg87, RBP93]:
-
Entwurf von Algorithmen und Datenstrukturen zur Realisierung des
funktionalen Modells
- Beschreibung der Algorithmen unabhängig von der eingesetzten
Programmiersprache (Pseudocode)
- Optimierung der Algorithmen mittels geeigneter Datenstrukturen
- Definition weiterer, interner Funktionen, falls erforderlich
-
Optimierung des Objektmodells
- Hinzufügen von redundanten Beziehungen, um Datenzugriffe zu
minimieren
- Berechnungen hinsichtlich Effizienz überarbeiten
- Komplexe Operationen durch Speichern von Zwischenergebnissen
optimieren
-
Anpassung der Klassenstrukturen zum erhöhten Einsatz von Vererbung
- Abstrahierung allgemeiner Funktionalität aus Klassengruppen
-
Implementierung der Beziehungen
- Analyse der Beziehungspfade (welche und wieviele Objekte stehen
miteinander in Beziehung?)
-
Zusammenfassen einzelner Klassen und Beziehungen in Moduln (Dateien)
Der wesentliche Vorteil von OMT gegenüber Structured Analysis/Structured
Design (SA/SD) bzgl. der Entwicklung multimedialer Anwendungen liegt in der
Betonung des Objektmodells bei OMT, wodurch die Entwicklung komplexer Objekte
besonders unterstützt wird. SA/SD ist dagegen geeigneter für die Modellierung
komplexer Funktionen.
Im Gegensatz zu den beiden obigen Methoden besteht beim Jackson Structured
Development (JSD) kein Unterschied zwischen Analyse und Design. Es werden
lediglich die Phasen Spezifikation und Implementation betrachtet.
Aufgrund der im JSD enthaltenen Formalismen eignet sich diese Methode speziell
für Prozeßsynchronisation, Echtzeit-Software und die Programmierung paralleler
Computer [Weg87].
Next: Gruppenbildung
Up: Die Entwicklungsphasen
Previous: Konzeptbildung/Strukturen
Wed Dec 11 15:53:30 MET 1996