CS2016 Konzepte moderner Softwareentwicklung
- Prof. Dr. Peter Kneisel
- Lukas Maximilian Kimpel
- Prof. Dr. Dennis Priefer
- Wolf Rost
Keine
Diese Veranstaltung setzt Programmierkenntnisse und -erfahrungen, insbesondere im Bereich der komponentenbasierten, objektorientierten Programmierung voraus. Zusätzlich sollten methodische Kenntnisse im Bereich des Software-Engineerings und die Fähigkeit zum eigenverantwortlichen, teamorientierten Entwickeln vorhanden sein.
Der Kurs vermittelt die Grundlagen von gängigen Softwareentwicklungs-Praktiken. Dies geschieht durch selbstständig durchgeführte Teamarbeit innerhalb praxisnaher Softwareprojekte. Dabei erproben die Teilnehmenden die Einarbeitung in produktive Softwaresysteme durch bewährte Techniken.
- Praxisnahe Umsetzung von Projekten im Web-Bereich
- Umgang mit Legacy-Software: Reengineering, ReverseEngineering, Refactoring
- Grundlagen agiler Entwicklungsmethoden am Beispiel von Scrum
- Fallbeispiele für typische Situationen im Alltag eines Software- Entwicklers
- Konzepte der Qualitätssicherung: Qualitätssichernde Maßnahmen in einem SE-Projekt, Techniken zur qualitativen Verbesserung von existierenden Systemen
- Umgang mit einer professionellen SE-Infrastruktur: Continuous Integration (z.B. Jenkins), Versionierung (z.B. Gitorious), Projektmanagement (z.B. Redmine, Jira)
- Verschiedenste Fallbeispiele zu typischen Situationen im Alltageines Softwareentwicklers ergänzen den Kursablauf stetig. Für die Umsetzung der Projekte kommen agile Methoden wie etwa Scrum zum Einsatz. Zur Steigerung der intrinsischen Motivation können übergreifende soziale Unternehmungen in die Projekte eingebunden werden.
Fachkompetenzen
- Die Studierenden können Methoden und Werkzeuge im Bereich der professionellen Softwareentwicklung nennen.
- Die Studierenden können qualitätssichernde Maßnahmen innerhalb eines agilen Softwareprojekts wiedergeben.
Methodenkompetenzen (fachlich & überfachlich)
- Die Studierenden können Methoden und Werkzeuge und qualitätssichernde Maßnahmen innerhalb eines agilen Softwareprojekts aufsetzen und anwenden.
Sozialkompetenzen
- Die Studierenden können in autonomer Teamarbeit kollaborativ Software erstellen und pflegen.
- Sie können mit schwierigen Situationen im Projektalltag umgehen.
Selbstkompetenzen
- Sie sind in der Lage sich selbstständig in bestehende, komplexe Projekte einzuarbeiten.
- 9 CrP
- Arbeitsaufwand 270 Std.
- Präsenzzeit 90 Std.
- Selbststudium 180 Std.
- 6 SWS
- Praktikum 6 SWS; Die Veranstaltung wird im Block (2 Wochen) durchgeführt
- ferner etwa 4-6 Wochen individueller Arbeit.
- Informatik (B.Sc. 2010)
- Social Media Systems (B.Sc. 2016)
Nein
Bonuspunkte werden gemäß § 9 (4) der Allgemeinen Bestimmungen vergeben. Art und Weise der Zusatzleistungen wird den Studierenden zu Veranstaltungsbeginn rechtzeitig und in geeigneter Art und Weise mitgeteilt.
Prüfungsvorleistung: Projekt
Prüfungsleistung: Entwicklung in der Informatik (Präsentation der Entwicklungsergebnisse mit Abnahme der Anwendung)
- Martin, R. C.: Clean Code. mitp.
- Humble, J.; Farley, D.: Continuous Delivery. Reliable Software Releases through Build, Test, and Deployment Automation. Addison-Wesley.
- Demeyer, S.; Ducasse, S.; Nierstrasz, O.: Object-Oriented Reengineering Patterns. Square Bracket Associates.
- Fowler, M.: Refactoring. Improving the Design of Existing Code. Addison-Wesley.
- Hoffmann, D. W.: Software-Qualität. Springer.
- Linz, T.: Testen in Scrum-Projekten. Leitfaden für Softwarequalität in der agilen Welt. Dpunkt. Verlag.
- Pichler, R.: Scrum. Agiles Projektmanagement erfolgreich einsetzen. dpunkt.
Rechtliche Hinweise
- Diese Informationen geben den in den Online-Diensten für Studierende erfassten Datenbestand wieder.
- Die rechtskräftigen und damit verbindlichen Fassungen der Modulhandbücher finden Sie im Amtlichen Mitteilungsblatt der THM (AMB).
- Alle gültigen Prüfungsbestimmungen für die THM-Studiengänge können Sie außerdem in komfortabler Leseversion über den Downloadbereich auf der Homepage des Prüfungsamts einsehen.