Softwaretechnik I (Sommersemester 2021)
Dozent:
Prof. Dr. Robert Hirschfeld
(Software-Architekturen)
,
Patrick Rein
(Software-Architekturen)
,
Marcel Taeumel
(Software-Architekturen)
,
Dr. Jens Lincke
(Software-Architekturen)
,
Toni Mattis
(Software-Architekturen)
,
Stefan Ramson
(Software-Architekturen)
,
Tobias Pape
(Software-Architekturen)
,
Fabio Niephaus
(Software-Architekturen)
,
Tom Beckmann
(Software-Architekturen)
Tutoren:
Joana Bergsiek
Tom Braun
Henrik Guhl
Felix Roth
Allgemeine Information
- Semesterwochenstunden: 4
- ECTS: 6
- Benotet:
Ja
- Einschreibefrist: 18.03.2021 - 09.04.2021
- Lehrform: Vorlesung / Übung
- Belegungsart: Pflichtmodul
- Lehrsprache: Deutsch
Studiengänge, Modulgruppen & Module
- Softwaretechnik und Modellierung
Beschreibung
Im Rahmen dieser Veranstaltung werden gebräuchliche Vorgehensmodelle und best practices bei der Entwicklung von Softwaresystemen behandelt.
- Software life cycle
- Traditional development processes
- Requirements engineering
- Rational unified process
- Scrum
- Lean software development
- Kanban
- Object design
- Responsibility-driven design
- Extreme programming
- Test-driven development
- Refactoring
- Patterns
- Reverse Engineering
- Debugging & Code reading
- Change & quality management
- ...
Aufgrund der aktuellen Situation wird diese Vorlesung bis auf weiteres online stattfinden. Wir planen aktuell die Vorlesungen interaktiv über Zoom zu veranstalten und persönlich über Slack zu kommunizieren. Alle für die Veranstaltung essenzielle Informationen werden außerdem per E-Mail über die Mailingliste (siehe unten) kommuniziert. Die Kommunikationsmittel für die Projektarbeit kann individuell mit den Tutoren abgestimmt werden. Um einen Missbrauch der Kommunikationskanäle vorzubeugen bitten wir darum Ihren tatsächlichen Namen zu verwenden.
Erster Termin:
- 13. April, 11:00 Uhr (online ab 10:50 Uhr): Onboarding, Einführung, Themenvergabe
(Wir bitten um Klarnamen, um den Zugang zur Vorlesung moderieren zu können)
Voraussetzungen
- Vertiefte Programmierkenntnisse in mindestens einer Programmiersprache
- Vorlesung Software-Architektur
Literatur
- Ian Sommerville: Software Engineering. Addison-Wesley 2006
- Kent Beck, Cynthia Andres: Extreme Programming Explained - Embrace Change. Addison-Wesley 2004
- Kent Beck: Test Driven Development - By Example. Addison-Wesley 2002
- Rebecca Wirfs-Brock, Brian Wilkerson, Lauren Wiener: Designing Object-Oriented Software. Prentice Hall 1990.
- Rebecca Wirfs-Brock, Alan McKean: Object Design - Roles, Responsibilities and Collaborations.: Roles, Responsibilities and Collaborations. Addison-Wesley 2002
- Ivar Jacobson, Grady Booch, James Rumbaugh: Unified Software Development Process. Addison-Wesley 1999
- Martin Fowler: UML Distilled - A Brief Guide to the Standard Object Modeling Languange. Addison-Wesley 2003
- Serge Demeyer, Stephane Ducasse, Oscar Nierstrasz: Object Oriented Reengineering Patterns. Morgan Kaufmann 2002
- Martin Fowler: Refactoring - Improving the Design of Existing Code. Addison-Wesley 1999
- Joshua Kerievsky: Refactoring to Patterns. Addison-Wesley 2004
- Andrew Hunt, David Thomas: The Pragmatic Programmer - From Journeyman to Master. Addison-Wesley 1999
Weitere Literatur wird jeweils gesondert bekannt gegeben.
Lern- und Lehrformen
Vorlesung mit Übungen/Seminaren. Informationen zur aktuellen Situation: siehe oben.
Wichtige Links
Leistungserfassung
Die Leistung wird zum einen durch die Erstellung und Präsentation einer Software-Anwendung und zum anderen durch eine Prüfung erbracht. Zu diesem Zeitpunkt ist als Prüfung vorläufig eine schriftliche Prüfung von 90 Minuten Dauer geplant. Beide Teile sind mit 50 % gewichtet; sie werden mit insgesamt 6 benoteten Leistungspunkten angerechnet. Zur erfolgreichen Teilnahme an der Lehrveranstaltung müssen beide Teile mit jeweils mindestens 4,0 benotet worden sein. Die Note der Projektarbeit ergibt sich zu einem Drittel aus Bewertung des Softwareartifakts und zu zwei Dritteln aus der Bewertung der Präsentation.
Im Rahmen einer Projektarbeit sollen Teilnehmer in kleinen Gruppen eine Anwendung entwerfen, implementieren und dokumentieren. Die Themen hierfür werden gestellt. Die Arbeit wird in einem Vortrag von 30 Minuten Dauer präsentiert, an den sich eine Diskussion anschließt. Beim Vortrag besteht für alle Mitglieder der vortragenden Gruppe Anwesenheitspflicht. Der Vortrag soll technische Aspekte der durchgeführten Arbeit als Demonstration beinhalten und mindestens die folgenden Aspekte des Projekts dokumentieren
- Anforderungen an das Softwaresystem,
- Architektur und Funktionsweise des Gesamtsystems,
- zugrunde gelegter Entwicklungsprozess sowie vorgenommene Anpassungen,
- Konsequenzen der vorgenommenen Anpassungen am Prozess,
- Projektverlauf, und
- zusammenfassende Bewertung des Projekts.
In Quelltext und Präsentation ist auf die korrekte Angabe aller verwendeten Quellen zu achten. Eine Eigenleistung muss erkennbar sein. Die Entdeckung von Plagiaten führt zu jedem Zeitpunkt zum sofortigen Nichtbestehen der jeweiligen Leistung.
Bis spätestens eine Woche vor dem jeweiligen Vortragstermin bespricht jede Gruppe eine Vorversion ihrer Vortragsunterlagen mit einem der Betreuer. Die Vortragsunterlagen sind spätestens 24 Stunden vor dem Vortrag über das elektronische Abgabesystem einzureichen. Sie bestehen aus
- den Dokumentquellen der im Vortrag verwendeten Folien,
- einer PDF-Version derselben,
- dem vollständigen in der Demonstration verwendeten Quelltext einschließlich der benötigten Ressourcen,
- einer Installationsbeschreibung,
- einem Demo-Script, und
- einem Demo-Videoclip (screen cast).
Die erstellte Anwendung ist in ihrer endgültigen Version zum Ende der Vorlesungszeit über das elektronische Abgabesystem einzureichen.
Wird das Einreichen verlangter Dokumente bis zum jeweils angegebenen Datum und Zeitpunkt versäumt, so gelten diese als nicht eingereicht, was zur Abwertung der Gesamtleistung führt.
Alle im Rahmen der Veranstaltung erstellten Quelltexte sollen unter der MIT-Lizenz und, falls notwendig, mit einer den verwendeten Systemen kompatiblen Lizenz bereitgestellt werden.
Termine
Erster Termin:
- 13. April, 11:00 Uhr (online ab 10:50 Uhr): Onboarding, Einführung, Themenvergabe
(Wir bitten um Klarnamen, um den Zugang zur Vorlesung moderieren zu können)
Vorlesungen und Übungen/Seminare
- (Dienstag, 11:00 - 12:30 Uhr, via Zoom)
- (Donnerstag, 9:15 - 10:45 Uhr, via Zoom)
Themenstellung:
Themenwahl:
Themenvergabe:
Klausur:
Projektabgabe
Zurück