Was ist ein Softwareentwicklungsprozess?
Software bezieht sich sowohl auf Computerbetriebssysteme selbst als auch auf Programme und Anwendungen, die für Computer ausgeführt werden. Die Softwareentwicklung ist das Entwerfen und Schreiben von Software, einschließlich der Entwicklung der Programmarchitektur und der Benutzeroberfläche und der Programmierung des Quellcode. Der Softwareentwicklungsprozess ist der Ansatz zur Softwareentwicklung, und es gibt viele gut entwickelte Modelle für diesen Prozess. Im Allgemeinen enthalten sie Variationen der Phasen der Durchführung einer Anforderungenanalyse, des Erstellens des Produkts, der Erstellung der Softwarearchitektur, der Implementierung des Codes, des Testens und der Dokumentation des Produkts, der Bereitstellung von Schulungen und Support sowie der Wartung und Verbesserung der Veröffentlichung. Welches Modell verwendet wird, kann der Softwareentwicklungsprozess manchmal auf die Entwicklung neuer Produkte abzielen, während es zu anderen Zeiten auf Revision konzentriert - zum Beispiel, wenn eine Punktveröffentlichung erstellt wird, um Fehler zu beheben - und zu anderen Zeiten kann es vorbereitet werdenARATION für eine neue Version der vorhandenen Software, das Hinzufügen bedeutender Funktionen sowie das Angebot von Fehlerbehebungen.
Das Wasserfallmodell für Softwareentwicklungsprozess ist ein frühes Modell und auch ein mit inhärenten Einschränkungen. Es beschreibt einen streng uni-direkten Ansatz für die Entwicklung, der sich durch die Abfolge der Softwareentwicklungsphasen bewegt, ohne jemals in eine frühere Phase zurückzukehren oder die Spezifikation zu ändern, sobald die Entwicklung begonnen hat. Im Gegensatz dazu verwendet das Spiralmodell einen iterativen Prozess, bei dem eine Abfolge von Anforderungen, gefolgt von Design, Implementierung und schließlich auf Tests, von einem zweiten Zyklus folgt, in dem weitere Merkmale und Komponenten hinzugefügt werden. In agilen Modellen des Softwareentwicklungsprozesses, von denen es eine Zahl gibt- werden Entwicklungsprojekte in ein wöchentliche bis monatelange Untergruppen unterteilt, die als Timeboxes bezeichnet werden, von denen jede eine Miniaturisation durchläuftVersion eines gesamten Softwareentwicklungsprozesses, einschließlich einer Version am Ende. Weitere Merkmale der agilen Entwicklung sind die Nähe des Zusammenarbeitsteams und die Verwendung von Kunden, um während des gesamten Prozesses auf das Produkt zu reagieren.
Softwareentwicklungsprozess kann für ein großes Unternehmen und für einen einzelnen Programmierer radikal unterschiedlich sein. Beispielsweise könnte ein kommerzieller Software -Publisher wie Sibelius Software®, Teil von AVID Technology®, mehrere Jahre mit dem Softwareentwicklungsprozess für jede Version verbringen und eine Softwareanwendung veröffentlichen, die Hunderte von MB in Größe hat und von Tausenden von Menschen verwendet wird. Auf der anderen Seite kann eine Person wie Roman Molino Dunn, die Musik Transcriber®, die ein Plug-In als Antwort auf den Wunsch einer Person programmiert, dass er oder sie mit einem Stück kommerzieller Software etwas anderes tun könnte, möglicherweise innerhalb einer Stunde nach der Idee, in einem extremen Fall, eine 4-KB-Software zu erzeugen.