CEZET-SOFT
kontakt@cezet-soft.de
Glück-Auf-Str. 13
52146 Würselen
Tel. 02405 85035
Fax 02405 85036
© 1990 - 2005
Impressum

Programmierung Softwareentwicklung Aachen Bonn Köln Düsseldorf NRW
Softwareengeneering

 

Es gilt, das Entwicklungsverfahren abhängig von der Aufgabenstellung und dem Umfeld festzulegen und konsequent anzuwenden.

Softwaredesign Multi-Tier n-Tier Three-Tier Client-Server

Softwareentwicklung erfordert neben Kreativität auch viel Disziplin !

Phasenmodell

In den meisten Fällen kommt das Phasenmodell zum Einsatz. Die Abfolge

  Fachliche Spezifikation (Lastenheft)
  Technisches Design (Pflichtenheft)
  Modulimplementierung (Programmierung)
  Test

ist natürlich keine strenge Sequenz, sondern wird vielfach aufgelöst durch Überlappung von Phasen, Überarbeitung von Ergebnissen früherer Phasen aufgrund von Erkenntnissen in späteren Phasen (Fehler, Verbesserungen, neue Anforderungen), Bildung von Stufen, d.h. von aufeinander aufbauenden Teilsystemen, die eigenständig betrieben werden können.

Rapid Prototyping

Unter einem evolutionären Vorgehen wie dem Rapid Prototyping verstehen wir die Entwicklung einer Folge von Prototypen, deren letzter die Basis für das laufende System ist. Die Kernidee dabei ist, den Anwender früh und intensiv mit laufender Software zu konfrontieren (statt mit textuellen Spezifikationen), um damit Erfahrungen und Anforderungen für das nächste kleine Stück zu gewinnen. Bei diesem Vorgehen wird zu Beginn weniger Wert gelegt auf vollständige Spezifikations- und Designdokumente; die Programmierung dominiert, ausgehend von Entwürfen der Benutzeroberfläche.

Wasserfallmodell

Beim Wasserfallmodell werden die o.g. Entwicklungsphasen des Phasenmodells in fester Reihenfolge durchgeführt.

Vorteil:
Jede ENTWICKLUNGS-Phase wird abgeschlossen und kann bzgl. Qualität (insbesondere Vollständigkeit beurteilt werden

Nachteil
Diese Methode hat den Nachteil, dass eine Anwenderbeurteilung (Kunde, QS-Abt.) erst nach Fertigstellung des Gesamtprojekts erfolgt.

 

Spiralmodell

Im Gegensatz zum Wasserfallmodell wird mit einem kleinen Programmteil angefangen und alle ENTWICKLUNGS-Phasen durchlaufen. Danach wird der Programmumfang erweitert und alles von Neuem durchlaufen. Dieser interaktiver Prozess kann mehrfach durchlaufen werden.
Bei einem interaktiven und inkrementellen Entwicklungszyklus wird das Softwareprodukt mit mehreren Zwischenversionen bis zum Endzustand entwickelt.

Vorteil

 
Der Anwender wird frühzeitig in die Softwareerstellung einbezogen.
 
Durch den evolutionären Prozess werden problematische Weichenstellungen frühzeitig erkannt und korrigiert

Nachteil

 
Jede neue durchlaufene ENTWICKLUNGS-Phase kann sich wiederholende Tätigkeiten aufweisen.
 
Der Programmcode muss versionierbar und änderungsfähig sein.

 

Nach welchem Verfahren arbeitet CEZET-SOFT?

Die Frage "Phasenmodell oder Rapid Prototyping” wird seit über einem Jahrzehnt in Fachkreisen leidenschaftlich diskutiert, neuerdings belebt durch die Gestaltung von Internetanwendungen und durch die Diskussion über Extreme Programming (XP). Dabei wird das phasenbasierte Vorgehen auch als Wasserfall- und das evolutionäre Vorgehen als Spiralmodell bezeichnet, abgeleitet von entsprechenden grafischen Darstellungen, die nur jeweils eine von mehreren Veranschaulichungen sind. Die Verfechter des Spiralmodells behaupten gerne, das Wasserfallmodell sei altmodisch, weil Großrechner-orientiert und eine Bastion der zentralen DV-Abteilungen, die die Anwender nicht beteiligen wollen. Vor allem aber kritisieren sie, es laufe ohne Rückkopplungen von späteren in frühere Phasen ab, also ohne die Erkenntnisse zu nutzen, die man zwangsläufig im Projektverlauf gewinnt.
Diese Kritik ist berechtigt, wenn beim Phasenmodell die Projektphasen zu streng voneinander getrennt werden.

Wenn es darum geht, frühzeitig eklatante Fehlentwicklungen und damit verbundene hohe Fehlinvestitionen zu vermeiden, ist das Rapid Prototyping ein äußerst probates Gegenmittel.
Entwickler und Endanwender bzw. Auftraggeber sprechen oft eine unterschiedliche Sprache. Zudem fällt es dem Auftraggeber in der Regel schwer, die Anforderungen an ein System detailliert und vollständig zu formulieren.
Daher sagt auch unsere Erfahrung:
Je früher ein Programmsystem vom Endanwender bzw. vom Auftraggeber daraufhin überprüft werden kann, ob es den tatsächlichen Anforderungen und Wünschen entspricht oder zumindest auf dem richtigen Weg dorthin ist, um so wahrscheinlicher wird ein fristgerechter, erfolgreicher Abschluss des Projekts.

Das Phasenmodell erfordert mehr Planung als das Rapid Prototyping. Softwarewerke zum Festpreis/-termin sind in der Regel nur bei phasenweisem Vorgehen möglich.
Große Projekte, die Investitionsentscheidungen voraussetzen, wird man daher zumeist phasenweise und zudem in Stufen durchführen.

Dem Phasenmodell können durchaus auch evolutionäre Elemente beigemischt sein, ebenso wie die einzelnen evolutionären Prototypen in einem Mini-Phasenmodell entstehen können.
In unserer Praxis wenden wir aus o.g. Gründen zu Beginn eines Projekts gerne das Rapid Prototyping an  und gehen dann zum Phasenmodell über. Dabei ist der richtige Zeitpunkt und der Grad der jeweiligen Verfahrensanwendung von Bedeutung.