View on GitHub

Software Engineering - HS 2023

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

  Theorie Übung / Projekt  
Woche 1 Einführung / Administratives Übung 0: Jabref Setup  
  Was ist Software engineering    
  Kurze Geschichte des Software Engineerings    
Woche 2 Eigenschaften von Software Übung 1: Erste Änderungen an Jabref  
  Software Qualitätsmerkmale    
Woche 3 Prinzipien des Software-Engineerings Übung 2: Code verstehen  
  Modulbeziehungen    
Woche 4 Softwaredesign Übung 3: Unit tests  
Woche 5 OO Design Übung 4: Jabref erweitern  
  Solid Prinzipien Pitch: Projektideen  
Woche 6 Anforderungsanalyse Projektrepository erstellen  
    Pflichtenheft erstellen  
Woche 7 Softwarespezifikation Prototyping / Design  
Woche 8 UML Prototyping / Design  
Woche 9 Verifikation / Grundlagen des Testens Design / Testplan erstellen  
  Testen im Grossen    
Woche 10 Testen im Kleinen Implementation / Testen  
Woche 11 Softwareprozesse Implementation / Testen  
  Agile Softwareentwicklung    
Woche 12 Scrum Implementation / Testen  
  Continuous delivery    
Woche 13 Projektpräsentationen (I) Projektpräsentationen (II)  
Woche 14 Zusammenfassung / Prüfungsvorbesprechung -  

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.