Woche 2: Prozesse und Werkzeuge des Software Engineerings
In dieser Woche beschäftigen wir uns mit Prozessen und Werkzeugen des modernen Software Engineerings. Wir diskutieren, die Wichtigkeit von Softwareprozessen und wie sich Softwareprozesse mit den veränderten Anforderungen entwickelt haben. Dies führt uns zur modernen Softwareentwicklung, und continuous deployment. Wir besprechen, welche Werkzeuge wir für Continuous Integration und Continuous Deployment benötigen und wie diese zusammenarbeiten. Zudem besprechen wir die Wichtigkeit von Versionsverwaltung und wie wir diese in der Praxis einsetzen.
Lernziele
Die Studierenden
- wissen was ein Softwareprozess und ein Softwareprozessmodell ist
- können die wichtigsten Fragen nennen, die ein Softwareprozess beantworten soll.
- kennen einige wichtige Softwareprozesse und können die Vor- und Nachteile dieser Prozesse diskutieren.
- wissen was Continuous Integration und Continuous Deployment ist und welche Rolle Versionsverwaltung, automatisierte Buildsysteme und automatisierte Tests spielen.
- können erklären, wieso Versionsverwaltung für Continuous Deployment wichtig ist.
- können erklären, weshalb agile Prozesse in der modernen Softwareentwicklung eine wichtige Rolle spielen.
Übungsstunde:
Im praktischen Teil der Veranstaltung geben wir eine kurze Einführung in Versionsverwaltung mit Git geben.
Danach werden Sie selbst erste, kleine Änderungen an Jabref anbringen.
Slides und weitere Literatur
- Einführung in Software Engineering
- Slides (Auf Adam): pdf
- Netflix Blog: Continuous Deployment
Hausaufgaben
- Bearbeiten Sie die praktische Übung und reichen Sie diese wie angegeben per Pull Request ein.
- Beginnen Sie an Ihrem Projektvorschlag zu arbeiten.