Service and Software Engineering

Interim Professor: Dr. Thomas Göthel

Ankündigung der Lehrveranstaltung

Software Engineering im WS 2014 / 2015


verantw. Hochschullehrer: PD Dr. Henning Bordihn
Studiengang: Bachelor
Semester: ab 3.
Voraussetzungen: Erfolgreiche Teilnahme an Theoretische Informatik I, Grundlagen der Informatik und Programmierung.
SWS: 4
Credits: 6 (benotet)
Zuordung: Praktische Informatik

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.H011) 16.10 Henning Bordihn
Ü(G1) Mi 12:30-14:00 3.04.0.02 15.10. Henning Bordihn
Ü(G2) Mi 16:15-17:45 3.04.0.02 15.10. Henning Bordihn
Ü(G3) Do 14:15-15:45 3.04.0.02 16.10. Horst Voigt
P Do 10:15-11:45
16:15-17:45
3.06.H01
3.04.1.03
16.10.
06.11.
Horst Voigt


Art Tag Uhrzeit Raum
Klausur 1.Termin Fr, 20.02.2015 10:15-11:45 3.01.H10
Klausureinsicht Mo, 09.03.2015 10:30-12:00 3.04.0.22
Klausur 2.Termin Fr, 10.04.2015 10:15-11:45 3.01.H10

Hinweise:

1)am 04.12.2014 im Raum 3.06.H08

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 betrachtet. 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: 50%,
  • Projekt: 35% -> Projektbewertung,
  • Sonstige Leistungen: 15% (Quiz in der 45., 46., 49., 2., 3. und 5. Woche).

Die Klausur muss bestanden werden. -> Gesamtbewertung


Klausur:

Die Klausur findet in der 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 (704 KB)
2 Vorgehensmodelle v2.pdf (1 MB)
3 Anforderungsanalyse, Use Case Diagramme v3.pdf (748 KB)
4 Analysemodell, UML Klassendiagramme v4.pdf (969 KB)
5 Prozessmodelle v5.pdf (4 MB)
6 Model Checking 1 v6.pdf (817 KB)
7 Model Checking 2 v7.pdf (1 MB)
8 Entwurf(1): Software Architekturen v8.pdf (988 KB)
9 Entwurf(2): Feinentwurf v9.pdf (1 MB)
10 Entwurf(3): Objektorientierte Modellierung v10.pdf (1 MB)
11 Implementierung (1): Plattformspezifische Modellierung v11.pdf (653 KB)
12 UML2Java v12.pdf (558 KB)
13 Verifikation und Validierung v13.pdf (305 KB)
14 Modellierung und Metamodellierung v14.pdf (4 MB)

Übungsunterlagen:

1 Grundlagen Java folien.pdf (1 MB)
2 Eclipse und Java Threads uebungsblatt.pdf (177 KB) folien.pdf (2 MB)
3 Java Collections uebungsblatt.pdf (131 KB)
Song.java (749 Byte)
SongListPlus.txt (453 Byte)
SongList.java (2 KB)
folien.pdf (798 KB)
4 Anforderungsanalyse, Use Case Diagramme uebungsblatt.pdf (102 KB) folien.pdf (623 KB)
5 Analysemodell, UML Klassendiagramme uebungsblatt.pdf (107 KB)
Kaffwa-Anforderungen.pdf (215 KB)
folien.pdf (502 KB)
6 Prozessmodellierung uebungsblatt.pdf (122 KB)
jABC-Installer
7 Prozessmodellierung (2): neue Version uebungsblatt.pdf (136 KB) folien.pdf (837 KB)
8 Model Checking (1): PLTL uebungsblatt.pdf (150 KB)
9 Model Checking (2): CTL uebungsblatt.pdf (136 KB)
10 Model Checking (3): GEAR uebungsblatt.pdf (132 KB)
11 Architektur und Entwurf uebungsblatt.pdf (105 KB) folien.pdf (907 KB)
12 Decorator Pattern uebungsblatt.pdf (92 KB) folien.pdf (1 MB)
13 Observer Pattern uebungsblatt.pdf (104 KB) folien.pdf (1 MB)
14 Testen uebungsblatt.pdf (119 KB)
15 Metamodellierung uebungsblatt.pdf (229 KB)

Projektunterlagen:

1 Einführung prj01_f.pdf (773 KB)
2 Management von Software-Projekten prj02_04-Projektmanagement_(Teil_Bordihn).pdf (2 MB)
Projektmanagement im SE-Projekt prj02_f.pdf (718 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 (1 MB)
Kundenanforderung Kundenanforderung-iLoveMusic.pdf (86 KB)
Aufgabenstellung - Teil 1 Aufgabenstellung_Teil_1-iLoveMusic.pdf (85 KB)
Bewertung_Teil_1.pdf (181 KB)
Aufgabenstellung - Teil 2
- Abgabemuster - Teil 2a - Word
- Abgabemuster - Teil 2a - LaTeX
Aufgabenstellung_Teil_2-iLoveMusik.pdf (144 KB)
swe1-projekt_teil_IIa.doc (48 KB)
swe1-projekt_teil_IIa.tar.gz (11 KB)
Aufgabenstellung - Teil 3 Aufgabenstellung_Teil_3-iLoveMusik.pdf (50 KB)
     
Hinweise zur Abgabe 2b und 3 Hinweise-Abgabe-2b+3.pdf (58 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.