Hasso-Plattner-Institut
Hasso-Plattner-Institut
  
Login
  • de
 

Softwaretechnik I (Sommersemester 2011)

Dozent: Prof. Dr. Robert Hirschfeld (Software-Architekturen)
Tutoren: Jens Lincke Bastian Steinert Dr. Michael Perscheid

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
  • V-Modell XT
  • Rational unified process
  • Lean software development
  • Object design
  • Responsibility-driven design
  • Extreme programming
  • Test-driven development
  • Refactoring
  • Patterns
  • 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

Leistungserfassung

Die Leistung wird zum einen durch die Erstellung und Präsentation einer Software-Anwendung und 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.

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,
  • zugrundegelegter Entwicklungsprozess sowie vorgenommene Anpassungen,
  • Konsequenzen der vorgenommenen Anpassungen,
  • Projektverlauf, und
  • zusammenfassende Bewertung des Projekts.

In Quellcode 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 zwei Wochen 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 Quellcode 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 (05.08.2011 23:59 Uhr) ü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

Vorlesungen und Übungen/Seminare:

  • Dienstags, 11:00-12:30, HPI HS 3
  • Donnerstags, 13:30-15:00, HPI HS 2

am 28.06. abweichend in HS 2

Themenstellung: 

  • 12. April 2011

Themenvergabe:

  • 19. April 2011

Klausur:

  • 21. Juli 2011, an Stelle der Vorlesung - abweichend in HS 2 und 3

Allgemeine Information

  • Semesterwochenstunden : 4
  • ECTS : 6
  • Benotet : Ja
  • Einschreibefrist : 27.04.2011
  • Programm : IT-Systems Engineering BA
  • Lehrform : VU
  • Belegungsart : Pflicht

Zurück