# Hauptphasen des Lebenszyklus der Softwareentwicklung (SDLC)

Das folgende Diagramm zeigt die Hauptphasen des Lebenszyklus der Softwareentwicklung (SDLC: Software Development Life Cycle): Analse und Definition der Anforderungen, Entwicklung von Jobs und Tests, Einrichtung einer automatisierten Generierung, Tests zur Qualitätssicherung sowie Go-Live und Wartung der Produkte.

Weitere Informationen zu den an diesen Phasen beteiligten Personen finden Sie unter [Profile](https://help.qlik.com/talend/de-DE/software-dev-lifecycle-best-practices-guide/8.0/profiles).

![](https://help.qlik.com/talend/de-DE/software-dev-lifecycle-best-practices-guide/Resources/images/sdlc-circular_phases.png)

## Entwicklungszyklus eines Produkts

Der Entwicklungszyklus eines Produkts bzw. einer Funktion ist ein weitläufiger Prozess, der Spezifikationen, Entwicklung und Tests, Implementierung in einer QS- und Produktionsumgebung, Wartung sowie Migration umfasst.

* Spezifikationen - der Konzeptteil des Prozesses (technische Anforderungen, Taskzuweisungen usw.). Weitere Informationen finden Sie hier: [Spezifikationen](https://help.qlik.com/talend/de-DE/software-dev-lifecycle-best-practices-guide/8.0/specifications "Vor der Konzeption von Prozessen müssen Business Manager, Entscheidungsträger oder Entwickler ihre Spezifikationen festlegen - das ist eines der Fundamente der testbasierten Entwicklung.").
* Entwicklung, Test und Implementierung - der Konzeptions- und Veröffentlichungsteil des Prozesses. Weitere Informationen finden Sie unter „[Entwicklung und Test](https://help.qlik.com/talend/de-DE/software-dev-lifecycle-best-practices-guide/8.0/developing-and-testing "Bei einem testorientierten Ansatz sind Prozessentwicklung und -test eng miteinander verknüpft, d. h. die Arbeit der Entwickler ist erst dann abgeschlossen, wenn der Prozess sowohl konzipiert als auch getestet wurde. Nach der Definition der Spezifikationen kann das Entwicklungsteam mit der Konzeption der Prozesse, der so genannten Jobs, beginnen.")“ und „[Generieren und Implementieren](https://help.qlik.com/talend/de-DE/software-dev-lifecycle-best-practices-guide/8.0/ci-build "Talend stellt Ihnen verschiedene Möglichkeiten zur Auswahl, um Projektartefakte in Talend Cloud, Artefakt-Repositories (Nexus, Artifactory) oder Docker zu veröffentlichen und deren Ausführung zu planen. Treffen Sie Ihre Auswahl gezielt in Übereinstimmung mit Ihren Anforderungen.")“.
* Implementierung in einer QS- und Produktionsumgebung. Weitere Informationen finden Sie unter „[Implementieren in einer QS- und Produktionsumgebung](https://help.qlik.com/talend/de-DE/software-dev-lifecycle-best-practices-guide/8.0/deploying-to-qa-and-production-environments)“.
* Wartung - hauptsächlich über GIT-Branching und Tags. Weitere Informationen finden Sie unter „[Instandhaltung](https://help.qlik.com/talend/de-DE/software-dev-lifecycle-best-practices-guide/8.0/maintaining "Auch wenn ein Produkt oder eine Funktion live ist, müssen die Entwickler ggf. Aktualisierungen vornehmen, um die Leistung zu verbessern, neuen Anforderungen gerecht zu werden oder im Produkt identifizierte Fehler zu beheben.")“.
* Migration.

## SDLC-bezogene Konzepte

* Die kontinuierliche Integration (CI: Continuous Integration) ist ein Entwicklungsverfahren, bei dem die Mitglieder eines Teams ihre Arbeit regelmäßig integrieren, wobei jede Integration durch eine automatisierte Generierung zur schnellstmöglichen Erfassung von Integrationsfehlern geprüft wird.

* Die kontinuierliche Implementierung (CD: Continuous Deployment) ist ein Verfahren, bei dem Codeänderungen, die automatisierte Tests bestanden haben, schnell und sicher in der Produktionsumgebung implementiert werden können.

* Die Generierungsautomatisierung ist ein bewährtes Verfahren, das im Lebenszyklus der Softwareentwicklung verwendet wird, um Quellcode mit einem Skript zur automatisierten Generierung zu kompilieren und zu packen.

  Benutzer von Talend beispielsweise können die Quellen eines in Talend Studio erstellten Jobs mithilfe von Maven als Zip-Datei exportieren und diese generierte Archivdatei dann in Talend Management Console zur Planung der nächsten Ausführungen dieses Jobs wiederverwenden.

* Die Versionskontrolle und das Quellcode-Management (SCM: Source Code Management) ermöglichen Ihnen die Verwaltung und Nachverfolgung der an der Software vorgenommenen Änderungen durch die Zuweisung von Revisionen zu den Änderungen. Talend ermöglicht dies dank des freigegebenen Repository und Branching-Systems basierend auf Git. So können Talend-Benutzer beispielsweise das von Talend Studio und anderen Anwendungen gemeinsam genutzte Repository sowie das Branching-System für Versionsänderungen verwenden.

## Profile

Beispielgruppe von in die Phasen eines Produktlebenszyklus involvierten Haupt-Personas

![](https://help.qlik.com/talend/de-DE/software-dev-lifecycle-best-practices-guide/Resources/images/sdlc-personas.png)

* Alan, der Projektmanager (Analyse und Anforderungen / Spezifikationsphase): Alan ist für die Projektarchitektur zuständig und wählt die zu verwendenden Technologien aus. Er ist für die Ausarbeitung der Spezifikationen verantwortlich, gemeinsam mit den Business Managern und Entwicklern.
* Jim, der Entwickler (Entwicklung und Test + Wartungsphase): Jim entwickelt und implementiert Jobs und Komponenten in der Entwicklungsumgebung. Darüber hinaus erstellt er Tests für die entwickelten Jobs, führt sie aus und übergibt diese Jobs dann an Thomas. Nach Bedarf können beide auch die Wartung übernehmen und Fehler beheben bzw. die Software verbessern, um neuen technischen Anforderungen gerecht zu werden.
* Tomas, der QS-Ingenieur (Testphase zur Qualitätssicherung): Thomas erstellt Test-Suites für Funktionen und Produkte und führt sie in der QS-Umgebung aus, unter Verwendung manueller (auf der Grundlage von Benutzerszenarien) und automatisierter Generierungstests (mithilfe von Testfällen). Er sendet ebenfalls regelmäßig Ergebnisberichte an Megan.
* Megan, die Operation/Release Managerin (Go-Live-Phase): Megan verbessert die Generierung des Kandidaten für die Release (RC: Release Candidate) und implementiert ihn in der Produktionsumgebung, sobald sie sicher ist, dass alle Tests erfolgreich waren.