Software-Lebenszyklusmodelle beschreiben die Phasen des Softwarezyklus und die Reihenfolge, in der diese Phasen ausgeführt werden. Jede Phase produziert Ergebnisse, die von der nächsten Phase im Lebenszyklus benötigt werden. Die Anforderungen werden in einen Entwurf umgesetzt. Der Code wird entsprechend dem Entwurf erstellt, was als Entwicklungsphase bezeichnet wird. Nach der Kodierung und Entwicklung überprüft das Testen die Ergebnisse der Implementierungsphase anhand der Anforderungen. Das Testteam folgt dem Softwaretest-Lebenszyklus (STLC), der dem Entwicklungszyklus des Entwicklungsteams ähnlich ist.
In jedem Softwareentwicklungs-Lebenszyklusmodell gibt es die folgenden sechs Phasen:
Anforderungserfassung und -analyse
Design
Implementierung oder Codierung
Testen
Bereitstellung
Wartung
1) Anforderungserfassung und -analyse: In dieser Phase werden die geschäftlichen Anforderungen gesammelt. Diese Phase ist das Hauptaugenmerk der Projektmanager und der Beteiligten. Besprechungen mit Managern, Interessenvertretern und Benutzern werden abgehalten, um die Anforderungen zu ermitteln: Wer wird das System nutzen? Wie werden sie das System nutzen? Welche Daten sollen in das System eingegeben werden? Welche Daten sollen durch das System ausgegeben werden? Dies sind allgemeine Fragen, die in der Phase der Anforderungserhebung beantwortet werden. Nach der Anforderungserhebung werden diese Anforderungen auf ihre Gültigkeit hin analysiert, und es wird auch die Möglichkeit untersucht, die Anforderungen in das zu entwickelnde System zu integrieren.
Schließlich wird ein Anforderungsspezifikationsdokument erstellt, das als Leitfaden für die nächste Phase des Modells dient. Das Testteam folgt dem Softwaretest-Lebenszyklus und beginnt mit der Testplanungsphase, nachdem die Anforderungsanalyse abgeschlossen ist.
2) Design: In dieser Phase wird das System- und Softwaredesign aus den Anforderungsspezifikationen, die in der ersten Phase untersucht wurden, erstellt. Der Systementwurf hilft bei der Spezifizierung der Hardware- und Systemanforderungen und bei der Definition der gesamten Systemarchitektur. Die Systementwurfsspezifikationen dienen als Input für die nächste Phase des Modells.
In dieser Phase erarbeiten die Tester die Teststrategie, in der sie angeben, was und wie getestet werden soll.
3) Implementierung / Codierung: Nach Erhalt der Systementwurfsunterlagen wird die Arbeit in Module/Einheiten aufgeteilt und mit der eigentlichen Codierung begonnen. Da in dieser Phase der Code produziert wird, ist dies der Hauptfokus für den Entwickler. Dies ist die längste Phase des Lebenszyklus der Softwareentwicklung.
4) Testen: Nachdem der Code entwickelt wurde, wird er anhand der Anforderungen getestet, um sicherzustellen, dass das Produkt tatsächlich die Bedürfnisse erfüllt, die in der Anforderungsphase angesprochen und gesammelt wurden. Während dieser Phase werden alle Arten von Funktionstests wie Unit-Tests, Integrationstests, Systemtests, Akzeptanztests sowie nicht-funktionale Tests durchgeführt.
5) Bereitstellung: Nach erfolgreichem Testen wird das Produkt an den Kunden ausgeliefert, damit dieser es nutzen kann.
Sobald das Produkt an den Kunden übergeben wird, wird dieser zunächst die Beta-Tests durchführen. Wenn Änderungen erforderlich sind oder Fehler gefunden werden, melden sie dies dem Entwicklungsteam. Sobald diese Änderungen vorgenommen oder die Fehler behoben sind, erfolgt die endgültige Bereitstellung.
6) Wartung: Sobald die Kunden das entwickelte System nutzen, treten Probleme auf, die von Zeit zu Zeit gelöst werden müssen. Dieser Prozess, bei dem das entwickelte Produkt gepflegt wird, wird als Wartung bezeichnet.
Siehe auch unsere Blogs für fortgeschrittene Technologien wie Tableau Kurse, Cloud Computing, Red Hat, und so weiter.