View on GitHub

Software Engineering - HS 2024

Vorlesungswebseite für den Kurs Software Engineering der Universität Basel

10915-01: Software Engineering

Departement Mathematik und Informatik, Universität Basel

Dozent
Tutoren

Kursbeschreibung

Die Vorlesung gibt eine erste Einführung in Software Engineering. Das Hauptziel der Vorlesung ist die Studierenden mit den Grundprinzipien von Software Engineering, sowie, zu einem gewissen Grad, auch mit der Geschichte des Gebiets vertraut zu machen. Aktuelle Methoden und Tools werden im Rahmen eines vorlesungsbegleitenden Projekts eingeführt.

Vorlesungsseite

Diese Seite entspricht der offiziellen Vorlesungsseite. Sie finden hier alle Informationen zur Vorlesung, sowie die Vorlesungsunterlagen. Diese Seite soll auch zeigen, wie man mittels Github Pages einfach technische Dokumentationen erstellen kann, die sich leicht pflegen lassen. Die Seite wird direkt aus dem Github Repository generiert. Wenn Sie Fehler finden, können Sie also gerne einen Pull Request machen.

Alles Material, welches nicht öffentlich zugänglich sein soll, wird auf unserem Adam workspace zur Verfügung gestellt.

Übungen und vorlesungsbegleitendes Projekt

Das Open Source Projekt JabRef (Offizielles Github Repositories) dient als Grundlage für die praktischen Übungen und Projekt. Die Studierenden bringen kleine Änderungen am Projekt an, studieren den Source Code und implementieren dann eigene, grössere Erweiterungen.

Einen Überblick über die einzelnen Projektschritte finden Sie auf der Projektseite.

Programm (Vorläufig)

  Theorie Übung / Projekt
Woche 1 Was ist Software engineering Übung 0: JabRef Setup
  Eigenschaften von Software  
Woche 2 Prozesse und Werkzeuge des Software Engineerings Übung 1: Erste Änderungen an JabRef
Woche 3 Qualitätsmerkmale von Software Übung 2: Code verstehen
  Anforderungsanalyse Gruppe gewählt / Projektvorschlag eingereicht
Woche 4 Architektur / Design Übung 3: Unit tests
  UML Entwurf Pflichtenheft
Woche 5 Modularität / Architektur / Design Patterns I Übung 4: JabRef erweitern
Woche 6 Modularität Prototyping eigene Erweiterung
    Pflichtenheft Besprechung
Woche 7 Design patterns (Zweiter Teil von Woche 6) Entwurf Designdoc
Woche 8 Verifikation / Grundlagen des Testens Besprechen Designdoc
  Testen im Grossen Testplan erstellen
    Implementation eigene Erweiterung
Woche 9 Testen im Kleinen Testplan erstellen
    Implementation eigene Erweiterung
Woche 10 Modellieren mit Alloy I Besprechung Testplan
Woche 11 Modellieren mit Alloy II Implementation eigene Erweiterung
Woche 12 Projektpräsentationen Projektpräsentationen
Woche 13 Gastvortrag Agile Softwareentwicklung Gastvortrag Agile Softwareentwicklung
Woche 14 Zusammenfassung Besprechung der Alloy Übungen

Empfohlene Lehrbücher

Der Vorlesungstoff kann gut mit dem zur Verfügung gestellten Material erarbeitet werden. Wer trotzdem ein Lehrbuch kaufen möchte, kann mit einem der folgenden, klassischen Büchern, keinen Fehler machen.