Departement Mathematik und Informatik, Universität Basel
Dozent: Marcel Lüthi (marcel.luethi@unibas.ch)
Die Vorlesung gibt einen erste Einführung in das Software engineering. Das Hauptziel der Vorlesung ist die Studierenden mit den Grundprinzipien der Softwaretechnik sowie zu einem gewissen Grad auch mit der Geschichte des Feldes vertraut zu machen. Aktuelle Methoden und Tools werden im Rahmen eines vorlesungsbegleitenden Projekts eingeführt.
Das Open Source Projekt Ganttprojekt (Fork des Github Repositories) dient als Grundlage für die praktischen Übungen. Die Studierenden implementieren in Gruppen kleine Änderungen am Projekt, studieren den Source Code und implementieren eigene Erweiterungen.
Die Druckversion der Vorlesungsfolien ist für Chrome und Chromium optimiert. Druckfertige pdf Versionen gibt es auf Adam
Woche | Thema | Bemerkung |
---|---|---|
1 | Einführung / Administratives (html) (Druckversion) | |
Warum brauchen wir Software engineering (html) (Druckversion) | ||
Was ist Software engineering (html) (Druckversion) | ||
Wie lese ich ein wissenschaftliches Paper (html) (Druckversion) | ||
2 | Kurze Geschichte des Software engineerings (html) (Druckversion) | geändert 26.9 |
Eigenschaften von Software (html) (Druckversion) | ||
Software Qualitätsmerkmale (html) (Druckversion) | ||
3 | Prinzipien des Software engineerings (html) (Druckversion) | geändert 3.10 |
Software design - Übersicht und Einführung (html) (Druckversion) | ||
4 | Modulstruktur / Softwarearchitektur (html) (Druckversion) | |
Moduldesign (html) (Druckversion) | ||
5 | Modul Beschreibung (html) (Druckversion) | |
Kategorien von Modulen (html) (Druckversion) | ||
OO Design (html) (Druckversion) | ||
UML (statische Diagramme) (html) (Druckversion) | ||
6 | OO Design Prinzipien (SOLID) (html) (Druckversion) | |
OO Design Heuristiken (html) (Druckversion) | ||
7 | Requirement Engineering (html) (Druckversion) | Auszug aus Lehrbuch von Balzert (pdf auf Adam) |
Requirements (html) (Druckversion) | ||
8 | Softwarespezifikation (Übersicht) (html) (Druckversion) | |
Konstruktive Softwarespezifikation (html) (Druckversion) | ||
9 | Deskriptive Softwarespezifikation (html) (Druckversion) | |
10 | Verifikation (Überblick) (html) (Druckversion) | (aktualisiert 21.11) |
Testen (Grundlagen) (html) (Druckversion) | ||
Testen im Kleinen - Whitebox testing (html) (Druckversion) | ||
11 | Testen im Kleinen - Blackbox testing (html) (Druckversion) | |
Testen im Grossen (html) (Druckversion) | ||
Software prozesse (html) (Druckversion) | ||
12 | Paperbesprechung: A rational design process (html) (Druckversion) | |
Agile Softwareentwicklung (html) (Druckversion) | ||
Scrum (pdf) | ||
13 | Entwurfsmuster (html) (Druckversion) | |
14 | Zusammenfassung / Prüfungshinweise (html) (Druckversion) |
Woche | Thema | Deadline | Kommentar |
---|---|---|---|
1 | Ganttproject: Projekt Setup (html) | 26. September 2017 | |
Theorie: Übungsblatt 1: No Silver bullet (html) | 26. September 2017 | ||
2 | Theorie: Übungsblatt 2: Software Aging (html) | 03. Oktober 2017 | |
2-3 | Ganttproject: Übung 2: Erste Änderungen (html) | 10. Oktober 2017 | |
3-4 | Ganttproject: Übung 3: Travis & Codereading (html) | 17. Oktober 2017 | |
4-5 | Theorie: Übungsblatt 3: Module und Abstrakte Datentypen (html) | 24. Oktober 2017 | |
5-6 | Ganttproject: Übung 4: Interne Datenstrukturen und Bugfix (html) | 31. Oktober 2017 | |
6-7 | Theorie: Übungsblatt 4: UML Klassendiagramme (html) | verlängert bis 14. November 2017 | Freiwillig |
12 | Theorie: Lesen des Papers A rational design process | 6. Dezember 2017 | Freiwillig (keine Punkte) |
Woche | Thema | Kommentar |
---|---|---|
5 | Slides mit Projektideen (html) | |
7 | Projektplan (html) | |
7 | Beispiele Lastenheft / Pflichtenheft | |
7 | Templates: Lastenheft, Pflichtenheft, Glossar | |
11 | Template: Testplan | |
13 | Template: Technische Dokumentation |
Woche | Thema |
---|---|
1 | Git (pdf) |
Gradle (pdf) |
- The mythical man month, Fred Brooks: (pdf)
- Das Klassische Software Engineering Buch. Einfach und unterhaltsam zu lesen aber voller wertvoller Informationen.
- The Good, the Hype and the Ugly, Bertrand Mejer (Amazon)
- Sehr gute Einführung in Agile Methoden, die Agile Methoden auch in Kontext mit traditionellen Software Engineering Ansätzen setzt.
- Seminal papers in Software Engineering, The Carnegie Mellon Canonical Collection (pdf)
- Annotierter Katalog von klassischen Software Engineering Paper
- Liskov's reading list (html)
- Must reads für Informatiker, zusammengestellt von Barbara Liskov