Service and Software Engineering

Interim Professor: Dr. Thomas Göthel

Ankündigung der Lehrveranstaltung

Software Engineering I im WS 2015 / 2016


verantw. Hochschullehrer: PD Dr. Henning Bordihn
Studiengang: Bachelor (WIN 1100, INF 1100, ICS 1060, Lehramt)
Semester: ab 3.
Voraussetzungen: Erfolgreiche Teilnahme an Theoretische Informatik I (bzw. Modellierungskonzepte der Informatik), Grundlagen der Programmierung (I) und Programmierung (bzw. Praxis der Programmierung).
SWS: 4
Credits: 6 (benotet)

Belegung:

Die Belegung der Lehrveranstaltungen erfolgt entsprechend den Bestimmungen des Instituts für Informatik auf elektronischem Weg über:

https://puls.sb-portal.uni-potsdam.de.
 


Termine:

Art Tag Uhrzeit Raum Beginn Dozent
V Do 12:15-13:45 3.06.H01 15.10. Henning Bordihn
Ü (G1) Mi 12:15-13:45 3.04.0.02 14.10. Henning Bordihn
Ü (G2) Mi 16:15-17:45 3.04.0.02 14.10. Henning Bordihn
Ü (G3) Do 14:15-15:45 3.04.0.02 15.10. Horst Voigt
Projekt Do 16:15-17:45 3.06.H081) 15.10. Horst Voigt


Art Tag Uhrzeit Raum
Klausur 1 Mi, 17.02.2016 10:00-12:00 3.06.H05
Klausureinsicht Do, 25.02.2016 13:00-14:00 3.04.0.22
Klausur 2 Do, 31.03.2016 12:00-14:00 3.06.S27

Hinweise:

1) ab 05.11.2015 im Raum 3.04.1.03


Kursbeschreibung:

Diese Veranstaltung vermittelt theoretische Grundlagen und praktische Kompetenzen der Modellierung und der Softwareentwicklung. Neben traditionellen Ansätzen wird das moderne Paradigma der modellgetriebenen Softwareentwicklung behandelt.

Bei der Modellierung werden verschiedene Beschreibungsformen für das Verhalten und die Struktur eines Softwaresystems oder seiner Komponenten behandelt. Ferner werden die Kernphasen des Software-Entwicklungsprozesses betrachtet, von der Anforderungsanalyse über den Entwurf und die Implementierung bis zum Testen. Die modellgetriebene Softwareentwicklung umfasst Methoden und Techniken, die Software weitgehend automatisiert aus geeigneten Modellen generieren. Der in diesem Zusammenhang bedeutsamen Verifikation von kritischen Systemeigenschaften auf Modellebene wird durch die Behandlung von Methoden des Model Checking Rechnung getragen.

Die Konzepte werden anhand von Anwendungsbeispielen und Werkzeugen demonstriert und geübt. Ausgewählte Aspekte werden vertieft und in einem Projekt angewendet.

Zu den Inhalten der Lehrveranstaltung gehören unter anderem:

  • Kernphasen der Softwareentwicklung und Vorgehensmodelle
  • Anforderungsanalyse und -spezifikation
  • Verhaltensmodellierung/Prozessmodellierung
  • Qualitätssicherung auf Modellebene insbesondere durch Model Checking
  • Strukturmodellierung, objektorientierte Modellierung
  • Software-Architekturen und Design-Patterns
  • Objektorientierte Implementierung von Entwürfen
  • Verifikation und Validierung mit dem Schwerpunkt auf Testen
  • Modellierungsmethodik, Metamodellierung

Ziele der Lehrveranstaltung:

Die Teilnehmer erwerben

  • Kenntnisse über Grundbegriffe des Software Engineering;
  • die Fähigkeit, Anforderungsbeschreibungen von Softwaresystemen zu analysieren und in für den Softwareentwicklungsprozess geeigneter Form darzustellen;
  • Kenntnisse über Konzepte und Methoden, Softwaresysteme auf der Basis der Anforderungsanalyse zu entwerfen, implementieren und testen;
  • breite Kenntnisse über Sprachen für die Modellierung von Software;
  • tiefe Kenntnisse über ausgewählte Sprachen und Werkzeuge zur Prozess- und objektorientierten Modellierung;
  • die Fähigkeit, Prozessmodelle mit Methoden des Model Checking zu verifizieren sowie Kenntnisse über die zugehörigen theoretischen Grundlagen;
  • die Bearbeitung von Softwareprojekten in kleinen Teams zu organisieren und Arbeitsschritte zu identifizieren;
  • im Rahmen von Softwareprojekten nötige praktische Arbeiten in definierten Zeitfenstern zu realisieren und zu dokumentieren.

Benotung:

Am Ende des Semesters werden 6 benotete Leistungspunkte vergeben, wobei die Zensur folgendermaßen als gewichtetes Mittel vergeben wird:

  • Klausur: Die Note geht mit 2/3 in die Gesamtnote ein. Voraussetzung ist aber, dass die Klausur mindestens mit der Note 4.0 bestanden wurde!
    -> Klausur vom 17.02.2016
  • Projekt: Die Note geht mit 1/3 in die Gesamtnote ein. Die Teilnahme am Projekt ist Pflicht und für einen erfolgreichen Abschluss des Kurses muss die Note mindestens 4.0 sein!
    -> Projektnote
  • Durch fünf kurze Tests in den Übungen (in der 45., 46., 49., 2., und 5. Woche) können jeweils bis zu zwei (ab 50% ein und ab 80% zwei) Bonuspunkte für die Klausur erarbeitet werden. Die Mindestpunktanzahl für eine 4.0 in der Klausur muss unabhängig von den Bonuspunkten erreicht werden!
    -> Übersicht über Bonuspunkte

Wenn ein Studierender eine Teilleistung (Klausur oder Projekt) aus dem letzten Semester in diesem Semester verrechnen lassen möchte, so hat er dies am Semesteranfang schriftlich (auch per Mail) anzuzeigen!

-> Gesamtnote (nach der Klausur vom 17.02.2016)

-> alle Ergebnisse für Teilnehmer an der zweiten Klausur (vom 31.03.2016)


Klausur:

Die Klausur findet in der Prüfungszeit nach dem Ende der Vorlesungszeit statt. Ein beidseitig mit der Hand beschriebenes A4-Blatt darf verwendet werden. Die Benutzung von sonstigen Unterlagen oder Hilfsmitteln ist nicht erlaubt.


Projekt:

Im Projekt wird eine durchgängige Aufgabenstellung, gegliedert in gestaffelt abzugebende Teilaufgaben bearbeitet. Jede der Abgaben wird hinsichtlich ihrer Vollständigkeit und Qualität bewertet. Die Bearbeitung der Projektaufgabe erfolgt in kleinen Teams aus 4 bis 5 Mitgliedern. Jedes Team bearbeitet die gesamte Projektaufgabe gemeinsam (alle Teilaufgaben) und organisiert sich dafür selbst. Arbeitsorganisation und -fortschritt sind zu dokumentieren.


Vorlesungsunterlagen:

1 Einführung - Motivation und Zielbestimmung; Grundbegriffe; Organisatorisches v1.pdf (304 KB)
2 Vorgehensmodelle v2.pdf (1 MB)
3 Requirements Engineering (Anforderungsanalyse) v3.pdf (288 KB)
4 Analysemodell (Klassendiagramme) v4.pdf (969 KB)
5 Prozessmodelle v5.pdf (4 MB)
6 Model Checking (1): HML, PLTL v6.pdf (822 KB)
7 Model Checking (2): CTL, GEAR v7.pdf (1 MB)
8 Entwurf (1): Architekturen v8.pdf (818 KB)
9 Entwurf (2): Feinentwurf v9.pdf (444 KB)
10 Entwurf (3): Objektorientierte Modellierung v10.pdf (494 KB)
11 Implementierung (1): Plattformspezifische Modellierung, Java v11.pdf (669 KB)
12 Implementierung (2): UML2Java und umgekehrt v12.pdf (961 KB)
13 Verifikation und Validierung v13.pdf (838 KB)
14 Modellierung und Metamodellierung v14.pdf (4 MB)

Übungsunterlagen:

1 Grundlagen Java   folien.pdf (352 KB)
2 Eclipse und Swing-Ereignisse uebungsblatt.pdf (130 KB) folien.pdf (1 MB)
3 Java Collections uebungsblatt.pdf (112 KB)
Song.java (749 Byte)
SongListPlus.txt (454 Byte)
SongList.java (2 KB)
folien.pdf (207 KB)
4 Anforderungsanalyse, Use Case Diagramme (Quiz) uebungsblatt.pdf (103 KB) folien.pdf (225 KB)
5 Analysemodell, UML Klassendiagramme (Quiz) uebungsblatt.pdf (94 KB)
Kaffwa-Anforderungen.pdf (289 KB)
folien.pdf (452 KB)
6 UML Aktivitätsdiagramme uebungsblatt.pdf (88 KB) folien.pdf (383 KB)
7 Prozessmodellierung mit SLGs uebungsblatt.pdf (124 KB)
jABC-Installer
folien.pdf (494 KB)
8 Model Checking (1): PLTL (Quiz) uebungsblatt.pdf (149 KB)
9 Model Checking (2): CTL uebungsblatt.pdf (142 KB)
10 Model Checking (3): GEAR uebungsblatt.pdf (95 KB)
11 Architektur und Entwurf (Quiz) uebungsblatt.pdf (82 KB) folien.pdf (756 KB)
12 Decorator Pattern uebungsblatt.pdf (75 KB) folien.pdf (681 KB)
13 Observer Pattern uebungsblatt.pdf (81 KB) folien.pdf (1 MB)
14 Testen (Quiz) uebungsblatt.pdf (86 KB) folien.pdf (208 KB)
15 Metamodellierung uebungsblatt.pdf (133 KB)

Projektunterlagen:

1 Einführung prj01_f.pdf (136 KB)
2 Management von Software-Projekten prj02_04-Projektmanagement_(Teil_Bordihn).pdf (424 KB)
Projektmanagement im SE-Projekt prj02_f.pdf (66 KB)
prj02_f-05_ScopeManagement.pdf (8 MB)
prj02_f-06_TimeManagement.pdf (8 MB)
prj02_f-09_StaffManagement.pdf (9 MB)
prj02_f-10_CommunicationManagement.pdf (8 MB)
3 Erläuterungen zur Aufgabenstellung prj03_f.pdf (189 KB)
Kursstundennachweis Kursstundennachweis.ods (146 KB)
Kundenanforderung Kundenanforderung.pdf (86 KB)
Aufgabenstellung - Teil 1
- Abgabemuster - Teil 1 - Office
- Abgabemuster - Teil 1 - LaTeX
Aufgabenstellung_Teil_1_SharedBoxUltimate.pdf (81 KB)
swe1-projekt_teil_I.odt (45 KB)
swe1-projekt_teil_I.tar.gz (17 KB)
Aufgabenstellung - Teil 2
- Abgabemuster - Teil 2 - Office
- Abgabemuster - Teil 2 - LaTeX
Aufgabenstellung_Teil_2_SharedBoxUltimate.pdf (102 KB)
swe1-projekt_teil_II.odt (39 KB)
swe1-projekt_teil_II.tar.gz (14 KB)
Aufgabenstellung - Teil 3 Aufgabenstellung_Teil_3_SharedBoxUltimate.pdf (82 KB)
Aufgabenstellung_Teil_3_Hinweise.pdf (612 KB)
SE_SharedBoxUltimate_SLG_Modell.zip (49 KB)
Aufgabenstellung - Teil 4 Aufgabenstellung_Teil_4_SharedBoxUltimate.pdf (80 KB)

Literatur:
  • Ian Sommerville. Software Engineering, Ninth Edition. Pearson, 2011, 0-13-705346-0
  • Ian Sommerville, Perdita Stevens. Software Engineering: (Update)/Using UML, Software Engineering with Objects and Components. Pearson Education, 2007, 1-4058-9258-7
  • Helmut Balzert. Lehrbuch der Software-Technik (Band 1): Software-Entwicklung. Spektrum Akademischer Verlag Heidelberg, 1996, 3-8274-0042-2
  • Perdita Stevens. Using UML: Software Engineering with Objects and Components. Pearson Education, 2005, 0-3212-6967-5
  • M. Hitz, G. Kappel, E. Kapsammer, W. Retschitzegger. UML@Work. Objektorientierte Modellierung mit UML 2. dpunkt.verlag, Heidelberg, 2005, 3-89864-261-5
  • Edmund M. Clarke Jr., Orna Grumberg, Doron A. Peled. Model Checking. MIT Press, 2000, 978-0-262-03270-4
  • Mary Poppendieck, Tom Poppendieck. Lean Software Development: An Agile Toolkit. Addison-Wesley Professional, 2003, 0-3211-5078-3
  • Schwalbe, Kathy: Information Technology Project Management. CENGAGE, 6th Edition, 2010. ISBN: 978-1-111-22175-1.
  • Broy, Manfred ; Kuhrmann, Marco: Projektorganisation und Management im Software Engineering. Springer, 2013. ISBN: 978-3-642-29289-7.