====== LU16a - Software-Entwicklungs-Zyklus ====== Der **Software Development Life Cycle (SDLC)** beschreibt die typischen Phasen, die ein Software-Projekt von der ersten Idee bis zur fertigen Anwendung durchläuft. Testing und Deploy sind zwei dieser Phasen – und genau darum geht es in dieser Lerneinheit. ===== Der vollständige SDLC ===== {{:de:modul:m291:learningunits:lu16:theorie:software-development-life-cycle-phase-08.png?direct&800| Software Development Life Cycle – Kreislauf}}\\ //Grafik des SDLC-Kreislaufs mit 6 Phasen// Ein typisches Software-Projekt durchläuft sechs Phasen: - **Analyse** – Anforderungen verstehen: Was soll die Anwendung können? - **UI/UX Design** – Benutzeroberfläche entwerfen: Wie soll sie aussehen? - **Implementation** – Code schreiben: Die eigentliche Entwicklungsarbeit. - **Testing** – Fehler finden und beheben, bevor die App live geht. - **Deployment** – Die App für Nutzerinnen und Nutzer bereitstellen. - **Maintenance** – Laufende Pflege: Bugfixes, Updates, neue Features. **Kein linearer Prozess:** In der Praxis wiederholen sich Phasen ständig. Besonders Testing und Implementation bilden einen engen Kreislauf: Code schreiben → testen → Fehler beheben → erneut testen. ===== Der Web-Entwicklungs-Kreislauf ===== Wenn wir Software entwickeln, konzentrieren wir uns auf vier konkrete Schritte: {{:de:modul:m291:learningunits:lu16:theorie:test-deploy-live-cycle.png?direct&900 | Web-Entwicklungs-Pipeline: Local → Shared Codebase → Staging → Production }}\\ //Pipeline-Diagramm mit 4 Schritten// ^ Schritt ^ Was passiert hier? ^ Unser Werkzeug ^ | **① Local Development** | Code schreiben, lokal ausprobieren. Die App läuft nur auf Ihrem Computer. | ''npm run dev'' → ''localhost:5173'' | | **② Shared Codebase** | Code wird mit dem Team geteilt – normalerweise via Git. | (In LU16 überspringen wir diesen Schritt) | | **③ Staging (Preview)** | Die App wird auf einem Test-Server deployed. Hier kann getestet werden, bevor sie live geht. | Netlify / Vercel / Render (alle benötigen Git) | | **④ Production (Live)** | Die fertige, getestete App ist öffentlich zugänglich. | surge.sh (ohne Git) / Netlify / Vercel | ==== Was passiert bei Bugs? ==== Wenn beim Testing Fehler gefunden werden, kehrt das Projekt zurück in die Entwicklungsphase. Dieser Feedback-Loop ist kein Zeichen von schlechter Arbeit – er ist der Sinn des Testings. ===== Testing im Kreislauf: Wann was? ===== ^ Testing-Zeitpunkt ^ Was wird getestet? ^ Wer testet? ^ | Während der Entwicklung | Einzelne Funktionen (Unit Tests) | Entwicklerin / Entwickler | | Nach dem Zusammenführen | Zusammenspiel mehrerer Module (Integration Tests) | Automatisiert / Entwickler | | Auf Staging | Komplette Benutzerflüsse (E2E Tests, Manuell) | Tester, Entwickler, Kunde | | Vor Production | Abnahme-Test | Auftraggeber |