Hasso-Plattner-Institut25 Jahre HPI
Hasso-Plattner-Institut25 Jahre HPI
 

Softwaretechnik I (Sommersemester 2024)

Dozent: Prof. Dr. Robert Hirschfeld (Software-Architekturen) , Eva Krebs (Software-Architekturen) , Patrick Rein (Software-Architekturen) , Marcel Taeumel (Software-Architekturen) , Dr. Jens Lincke (Software-Architekturen) , Stefan Ramson (Software-Architekturen) , Toni Mattis (Software-Architekturen) , Tom Beckmann (Software-Architekturen) , Lukas Böhme (Software-Architekturen) , Leonard Geier (Software-Architekturen)

Allgemeine Information

  • Semesterwochenstunden: 4
  • ECTS: 6
  • Benotet: Ja
  • Einschreibefrist: 01.04.2024 - 30.04.2024
  • Prüfungszeitpunkt §9 (4) BAMA-O: 22.07.2024
  • Lehrform: Vorlesung / Übung
  • Belegungsart: Pflichtmodul
  • Lehrsprache: Deutsch

Studiengänge, Modulgruppen & Module

IT-Systems Engineering BA

Beschreibung

Im Rahmen dieser Veranstaltung werden gebräuchliche Vorgehensmodelle und best practices bei der Entwicklung von Softwaresystemen behandelt.

  • Software life cycle, traditional development processes, object design
  • Requirements engineering
  • Extreme programming
  • Scrum
  • Lean software development
  • Kanban
  • Test-driven development
  • Refactoring
  • Reverse Engineering
  • Debugging & Code reading
  • Change & quality management
  • ...

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.
 

Wichtige Links

Leistungserfassung

Die Leistung wird zum einen durch die Erstellung und Präsentation einer Software-Anwendung, zum anderen durch eine schriftliche Prüfung von 90 Minuten Dauer erbracht. 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 Sommersemester 2024 ist die Endnote die bessere Note aus 100 % schriftlicher Prüfung und der oben beschriebenen 50 % / 50 % gewichteten Variante.

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.

Die Vortragsunterlagen sind spätestens über den auf Moodle bekannt gegebenen Termin ü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,
  • einem Demo-Script inklusive Installationsbeschreibung, 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:

  • 9. April 2024, 11 Uhr Onboarding, Einführung, Themenvorstellung

Projekteinführung / "SWT Koans":

  • 16. April 2024, 11 Uhr bis 12:45

Regelmäßiger Vorlesungstermin

  • Dienstag, 11:00 - 12:30 Uhr
  • HS1

Gruppenwahl:

  • Bis 14. April 2024 23:59

Themenwahl:

  • Bis 21. April 2024 23:59

Themenvergabe/-bekanntgabe:

  • 23. April 2024

Projektgespräche

  • TBA, voraussichtlich 25., 26., 27. Juni und 2., 3., 4. Juli 2024

Projektgesprächabgabe

  • TBA, voraussichtlich 24. Juni 2024

Klausur:

  • TBA, voraussichtlich 22. Juli 2024 10 Uhr

Projektendabgabe

  • TBA, voraussichtlich 12. Juli 2024

Zurück