Was ist Softwareentwicklung?

Softwareentwicklung ist ein iterativer logischer Prozess zur Entwicklung individueller Software unter Verwendung einer bestimmten Programmiersprache. Dieser Prozess könnte aufgeteilt werden in Konzeption, Spezifikation, Design, Programmierung, Dokumentation, Test und Fehlerbehebung.

Dies kann auch Forschung, Prototyping, Modifikation, Neuentwicklung und Wiederverwendung umfassen. Die Entwicklung einer Reihe von Codes mit zusammenhängenden Funktionalitäten wird zur Entwicklung von Software verwendet.

Synonyme für Softwareentwicklung sind Software-Design, Anwendungsentwicklung.

Lebenszyklus der Softwareentwicklung SDLC ist ein Framework, das bestimmte Schritte umfasst (wie in der folgenden Abbildung dargestellt):

Abb 1

Ein typischer Software Development Life Cycle besteht aus den folgenden Phasen:

  1. Planung: Die Planung und Anforderungsanalyse ist die erste, entscheidende und grundlegende Phase in SDLC, die von den erfahrenen Teammitgliedern mit Beiträgen von Kunden, Verkaufsabteilung, Domain-Experten und Marktstudien in der Branche durchgeführt wird. Diese Informationen werden dann gesammelt und verwendet, um den grundlegenden Projektansatz zu planen und eine Produktdurchführbarkeitsstudie in allen Bereichen von wirtschaftlich, betrieblich bis technisch durchzuführen. Die Machbarkeitsstudie öffnet viele Türen für die Umsetzung des Projekts. Der Ansatz basiert jedoch auf dem höchsten Qualitätsfaktor bei minimalem Risiko.
  2. Definieren: Nach der Anforderungsanalyse ist es sehr wichtig, die Anforderungen klar zu definieren und zu dokumentieren. Sobald dies erledigt ist, müssen diese dokumentierten Anforderungen von Kunden / Marktanalysten genehmigt werden. Hierfür kommt SRS (Software Requirement Specification) ins Spiel, das alle Produktanforderungen enthält, die während des Projektlebenszyklus entworfen und entwickelt werden müssen.
  3. Design: SRS gilt als Referenz für Produktarchitekten, um die beste Architektur für das zu entwickelnde Produkt zu finden. Basierend auf den erfassten Anforderungen wird mehr als ein Ansatz für die Produktarchitektur vorgeschlagen. Dies alles ist in DDS (Design Document Specification) dokumentiert. Anschließend wird DDS von wichtigen Mitgliedern / Interessengruppen auf der Grundlage verschiedener Faktoren wie Marktrisiken, Modularität des Designs, Budgetbeschränkungen, Zeitbeschränkungen, Robustheit des Produkts, bester Designansatz usw. überprüft und analysiert. Der Designansatz enthält alle Informationen. Über Architekturmodul des Produkts in Form eines Datenflussdiagramms. Intern oder extern sollten die kleinsten Details in einem Designdokument vorhanden sein.
  4. Bauen: Dies ist die Phase, in der die eigentliche Entwicklung des Produkts beginnt und das Produkt gebaut wird. Unter Bezugnahme auf das Datenflussdiagramm im Designdokument wird der Programmcode generiert. Je klarer das Dokument sein soll, desto stressfreier ist die Codegenerierung. Codierer / Entwickler sollten die Codierungsrichtlinien befolgen, die von ihren Organisations- und Programmiertools wie Interpreter, Compiler, Debugger usw. definiert wurden, um den Code lesbarer und übersichtlicher zu gestalten.
  5. Testen: Testen ist Teil der meisten Phasen in SDLC, daher können wir sagen, dass Testen eine Teilmenge aller Phasen ist. Das Testen ist eine Phase, in der Fehler an den Produkten gemeldet, verfolgt, behoben und erneut getestet werden, bis das Produkt die definierten Qualitätsstandards gemäß SRS erreicht.
  6. Bereitstellung: Wenn ein Produkt vollständig getestet wurde und bereit ist, vom Markt beobachtet zu werden, wird von dieser Organisation eine formelle Freigabe auf dem entsprechenden Markt durchgeführt. Die Bereitstellung eines Produkts kann auch in Zeitnischen erfolgen, indem es für eingeschränkte Benutzer in der Echtzeit-Geschäftsumgebung freigegeben und die Antwort für dieses Produkt von Ende zu Ende getestet wird (UAT, dh Benutzerakzeptanztest). Basierend auf dem Produktfeedback der Benutzer werden die erforderlichen Funktionen implementiert und als neuere Version freigegeben. Weitere Wartungsarbeiten werden für vorhandene Benutzer durchgeführt.

Software-Entwicklungsmodelle

Nachfolgend sind die in den Branchen beliebtesten Software-Entwicklungs-Lebenszyklusmodelle aufgeführt:

  • Wasserfall-Modell
  • RAD-Modell
  • Iteratives Modell
  • Agiles Modell
  • Spiralmodell
  • V-Modell
  • Urknall-Modell

Wasserfall-Modell:

Eines der einfachsten Softwareentwicklungsmodelle. Somit arbeiten alle Phasen der SDLC linear hintereinander.

Abb 2

https://www.tutorialspoint.com/

Dieses Modell eignet sich für Entwickler, die das Design bereits kennen und in der Vergangenheit ähnliche Software entwickelt haben.

RAD-Modell:

Die schnelle Anwendungsentwicklung ist ein inkrementelles Modell, bei dem Funktionen und Komponenten parallel entwickelt werden.

Die folgende Abbildung zeigt die Phasen dieses Modells.

Abb. 3

https://www.researchgate.net/figure/

Iteratives Modell:

Das iterative Modell projiziert die Projektausführung zyklisch.

Abb. 4

https://www.tutorialspoint.com/

Die Software wird zunächst in kleinem Maßstab mit grundlegenden Funktionen erstellt. Anschließend werden alle Schritte erneut ausgeführt und es werden immer mehr Funktionen hinzugefügt. Jede Iteration kann vom Managementteam auf den Risikofaktor analysiert und dann zur nächsten Iteration verschoben werden.

Spiralmodell:

Dieses Modell ist die Fusion zweier Modelle - SDLC und Iteratives Modell.

Abb. 5

https://www.tutorialspoint.com/

Alle Ziele, Einschränkungen und Risiken werden in der allerersten Phase dieses Modells berücksichtigt, und dann folgt das Prototyping der Software.

V Modell:

Dieses Modell überwindet den Nachteil des Wasserfallmodells. Gemäß dem Wasserfallmodell wird der nächste Schritt nur verarbeitet, wenn der aktuelle Schritt ausgeführt wird und es keine Möglichkeit gibt, den Fehler des letzten Schritts zu korrigieren. Das V-Modell berücksichtigt diesen Punkt und bietet die Möglichkeit, Software in jeder Phase in umgekehrter Weise zu testen.

Abb. 6

https://www.tutorialspoint.com/

Alle Testpläne und -strategien werden in jeder Phase überprüft. Daher wird dieses Modell auch als „Verifizierungs- und Validierungsmodell“ bezeichnet.

Urknall-Modell:

Dies ist ein einfaches Modell, das viel Geld und Planung erfordert. Dies wurde um die Urknalltheorie des Universums herum konzipiert. Wie der Urknall enthält viele Galaxien, Planeten, Sterne. Genauso stellen die Zusammenstellung von viel Geld und Programmierung das beste Softwareprodukt sicher.

Der Fokus liegt immer auf der Programmierung und Bereitstellung des besten Produkts, ganz zu schweigen von der Planung und Risikoanalyse.

Abb. 7

https://www.tutorialride.com/

Kurz gesagt, die Softwareentwicklung wird von allen Unternehmen verwendet, um verschiedene Aufgaben zu erfüllen, die die Arbeit der Mitarbeiter erleichtern und die Anforderungen des Kunden erfüllen.

Empfohlene Artikel

Dies war ein Leitfaden für die Softwareentwicklung. Hier haben wir den Lebenszyklus der Softwareentwicklung und ihre verschiedenen Phasen besprochen und damit auch verschiedene Modelle. Sie können auch unsere anderen Artikelvorschläge durchgehen -

  1. Vergleich zwischen Software und Webentwicklung
  2. Software-Ingenieur und Software-Entwickler
  3. Leitfaden für Karrieren als Software Engineer
  4. Karriere in Softwareentwicklern