Lehrveranstaltungen in der Informatik

Software Engineering 1

Prof. Dr. P. Becker-Pechau

zurück zurück

Inhalt

Ziele und Grundkonzepte des Software Engineerings

Entwicklungsaktivitäten Analyse, Entwurf, Implementierung, Test, Deployment, Evolution/Maintenance. Dies umfasst beispielsweise:

  • Modelle und Modellierung als Grundlagen für alle Entwicklungaktivitäten, Modellierungssprachen wie UML
  • Requirements Engineering, Erfassen der Fachsprache des Anwendungsbereichs, Strukturieren und Formulieren von Anforderungen
  • Grob- und Feinentwurf, Entwurfsprinzipien, Softwarearchitektur, Entwurfsmuster o Quelltext-Qualität, Versions- und Konfigurationsmanagement
  • Unit-Tests, Testpyramide
  • Laufzeitumgebungen (inbesondere Test- und Produktionsumgebung)
  • Continuous Integration und Deployment
  • Techniken für Evolution und Maintenance, wie Quelltext-Verstehen, Refactorings

Einordnung der Entwicklungsaktivitäten in verschiedene Vorgehensmodelle o traditionelle, evolutionäre und agile Vergehensmodelle

Querschnittsaufgaben Qualitätssicherung und Dokumentation

Werkzeuge und Werkzeugketten, beispielsweise für Softwareentwicklung, Versionsverwaltung und Tests

Organisation

4. Semester, Vorlesung / Labor  4-std.

Sprache: deutsch

Präsenzstudium: 60 h, Eigenstudium: 90 h
Gesamtaufwand: 150 h

Leistungspunkte (credit points): 5

Medienformen: Tafel

Vorbedingungen: Orientierungsprüfung

Prüfung: PL (Klausur oder sonstige Prüfungsleistung)

Lernvoraussetzungen

Empfohlene Veranstaltungen

  • Strukturierte Programmierung
  • Objektorientierte Programmierung

Lernziele

Die Studierenden haben einen grundlegenden Überblick über das Feld des Software-Engineerings (Grundkonzepte, Ziele, behandelte Themengebiete) und können diesen Überblick mit Fachbegriffen wiedergeben. Sie können erläutern, welche Herausforderungen bei der Entwicklung großer Systeme in mehreren Versionen bestehen und den Zusammenhang dieser Herausforderungen zu den Inhalten des Software-Engineerings herstellen. Sie können Entwürfe/Modelle in Quelltext überführen und aus Quelltext erstellen, und sie kön- nen den Zusammenhang zwischen verschiedenen Modellen für dasselbe System erläutern (beispielsweise für UML-Klassendigramme, Objektdiagramme, Sequenzdiagramme). Sie können die Entwicklungsaktivitäten Entwurf, Implementierung und Test für kleinere An- wendungsbeispiele und Standardsituationen umsetzen, dies umfasst insbesondere: die Beachtung von Entwurfsprinzipien, (UML-) Modelle, Architektur- und Entwurfsmuster, sauberen Quelltext, Dokumentation, Modul-Tests und Versionsverwaltung.

Literatur

I. Sommerville: Software Engineering. 9. Auflage, Pearson Studium (2012)

J. Ludewig, H. Lichter: Software Engineering - Grundlagen, Menschen, Prozesse, Techniken. 3. Auflage, dpunkt.verlag GmbH (2013)

E. Gamma, R. Helm, R. Johnson, J. Vlissides: Design Patterns. 2. Auflage, mitp (2014)

M. Fowler: UML konzentriert. 3. Auflage, Addison-Wesley Verlag (2003)