WikiDer > Softwareentwicklungsmethode

Softwareontwikkelmethode
Die drei bekanntesten Grundmuster in der Softwareentwicklung.

EIN Softwareentwicklungsmethode ist ein Methode die bei der Entwicklung von verwendet wird Software. Dies wird auch als Softwarelebenszyklus oder Softwareprozess bezeichnet.

Warum

Viele Unternehmen haben Schwierigkeiten, ihre Softwareentwicklungsprojekte fristgerecht abzuschließen und Budget abschließen. Es gibt sogar Schätzungen, dass 50% der Softwareentwicklung schief geht. Es ist ein bekanntes Miss Straßenbenutzungsgebühren. Deshalb suchen die Leute nach einer Methode, die funktioniert. Seit Jahrzehnten versuchen Menschen, vorhersehbare Prozesse zur Verbesserung zu finden Produktivität und Qualität. Einige Modelle versuchen, den Softwareentwicklungsprozess zu systematisieren und zu formalisieren. andere passen Projektmanagement Techniken zum Schreiben von Software.

Verschiedene Methoden

Wasserfallmethode

Die älteste und bis heute vielleicht am weitesten verbreitete Methode ist die Wasserfallmethode. Dies basiert auf dem Bild des Wasserfall, auf die man kaum mehr zurückgreifen kann. Die Schritte folgen aufeinander und der Prozess wird von oben nach unten durchlaufen. Es funktioniert mit den wichtigsten Schritten: Entwicklung, Test, Abnahme und Produktion. Im Einzelnen heißt das:

Diese Methode stammt wahrscheinlich aus dem Bauwelt. Es ist zum Beispiel auch von „Building a System“ die Rede und es gibt zum Beispiel Software-Architekten. Nicht jeder Schritt muss gleich umfangreich ausgeführt werden. Nach jedem Schritt wird der nächste Schritt fortgesetzt. Genau wie das Bauen eines Haus Nach dem Bau der Wände wird im Grunde nichts an den Stiftunges sei denn, es wird beschlossen, eine zusätzliche Etage hinzuzufügen.

Diese Methode funktioniert hervorragend, wenn Sie wie im Bauwesen über jahrelange Erfahrung verfügen, sich die verwendeten Methoden und Techniken über viele Jahre nicht geändert haben und die Kunden daher im Voraus wissen, was die Möglichkeiten und Unmöglichkeiten sind. IT ist jedoch keine Konstruktion. Wenn es keine gibt Wiederholung in die Planung einbezogen wird, ist es grundsätzlich nicht mehr möglich, auf einen früheren Schritt zur Fehlerbeseitigung zurückzugreifen. Einer der Nachteile dieser Methode besteht darin, dass es lange dauert, bis Ergebnisse angezeigt werden, und wenn sie einmal angezeigt werden, sind sie schwer wiederherzustellen. Es ist eine ausgezeichnete Methode, wenn die (interne)Kunde / Benutzer genau wie bei einem wohnprojekt in der analysephase kann sie klar formulieren was sie will, aber wenn man erst recht spät etwas ändern möchte, ist das weniger geeignet. Ein weiterer Nachteil ist, dass es lange dauert, bis das System ausgeliefert wird, wodurch sich die Situation manchmal schon so verändert hat, dass das System nicht mehr benötigt wird. Dafür wurden einige Lösungen gefunden, wie z Prototyp entwickeln Wünsche zu klären. Auch der umfangreiche Einsatz von Standardpaketen, wie zum Beispiel SAP R/3 begrenzt das Problem, selbst programmieren zu müssen (oder programmieren zu lassen). Tatsächlich gibt es nicht mehr viele Systeme, die so gebaut sind.

Modelle basierend auf der Wasserfallmethode

Iterative Methoden

Iterative Entwicklung oder iterative Anwendungsentwicklung (IAD) beschreibt eine Methode, in einem Großprojekt nicht alles zu liefern, sondern immer ein Teil in kleineren Teilen zu liefern und somit die Schritte eines Projekts immer wieder zu durchlaufen, um zu verhindern, dass ein (Groß-)Projekt in einem Misserfolg endet aufgrund von Problemen oder falschen Annahmen. Iterative Methoden werden von einem Kunden bevorzugt, der nicht genau beschreiben kann, was er möchte. Ein altes Beispiel für eine iterative Methode ist schnelle Anwendungsentwicklung, ist dies ein Vorläufer der agilen Softwareentwicklungsmethoden.

Eine iterative Methode ist Rationaler einheitlicher Prozess (RUP)

agil

Agile Softwareentwicklungsprozesse basieren auf den Grundlagen der iterativen Entwicklung. Darüber hinaus verfolgen sie einen stärker am Menschen orientierten Ansatz als traditionelle Ansätze. Agile Prozesse nutzen Feedback statt Planung als Grundlage. Das Feedback wird durch regelmäßige Bereitstellung von Ergebnissen und Diskussion des Prozesses bereitgestellt und hilft dem Team, aus Erfolgen zu lernen und besser zu werden.

Extremes Programmieren (XP), Gedränge, Adaptive Softwareentwicklung und Dynamische Systementwicklungsmethode (DSDM) sind die bekanntesten agilen Methoden.

Andere agile Methoden sind:

- Funktionsorientierte Entwicklung

- Testgetriebene Entwicklung

Formale Methoden

Formale Methoden sind mathematische Ansätze zur Lösung von Software- und Hardwareproblemen auf der Ebene von Anforderungen, Spezifikationen und Designs. Beispiele für einige formale Methoden sind Petrinen und Wertorientierte Instandhaltung (VDM).

Andere Methoden

Siehe auch