inf005 Software Engineering I (Complete module description)

inf005 Software Engineering I (Complete module description)

Deutsch English PDF Download
Module title Software Engineering I
Module code inf005
Credit points 6.0 KP
Responsible institute Department of Computing Science
Responsible persons
Module responsibility:
Andreas Winter
Authorised to examine:
Die im Modul Lehrenden
Prerequisites

Erwartete/Nützliche Vorkenntnisse

Fachkompetenzen

  • Die Studierenden können Konzepte der imperativen Programmierung und grundlegende Konzepte der objektorientierten Programmierung erklären, anwenden und bewerten.
  • Die Studierenden können grundlegende Algorithmen und Datenstrukturen erklären, anwenden und deren Komplexität einschätzen.
  • Die Studierenden können fortgeschrittene Konzepte der objektorientierten Programmierung erklären, anwenden und bewerten.
  • Die Studierenden können grundlegende Konzepte der objektorientierten Modellierung erklären und anwenden.

 

Language of instruction German
Learning outcomes/competencies

Ziel des Moduls ist die Vermittlung der ingenieurmäßigen Entwicklung und Wartung umfangreicher Softwaresysteme. Betrachtet wird der vollständige Software-Entwicklungsprozess inkl. Anforderungserhebung, Software-Architektur und Qualitätssicherung sowohl in klassischen wie in agilen Vorgehensweisen. Vertieft werden Grundkonzepte der objektorientierten Modellierung und Softwareentwicklung auf Basis der Unified Modeling Language.


Fachkompetenzen
Die Studierenden:

  • erkennen die Phasen im Software-Lebenszyklus (Anforderungsermittlung, Entwurf, Implementierung, Qualitätssicherung)
  • benennen die in den Phasen anfallenden Aufgaben
  • erkennen und bewerten die Anordnung dieser Phasen in klassischen und agilen Vorgehensweisen
  • beurteilen und wählen geeignete Vorgehensweisen zur Umsetzung von Projekten aus
  • kennen die unterschiedlichen Anforderungsarten  (inkl. Qualitätsanforderungen) und können diese mit klassischen und agilen Verfahren dokumentieren
  • erkennen die Sprachmöglichkeiten der Modellierung mit UML
  • entwickeln und bewerten Analyse- und Entwurfsmodelle in unterschiedlichen UML-Notationen und deren Kombinationen
  • lösen gegebene Probleme mit Hilfe der UML-Notationen
  • kennen grundlegende Techniken zur Beschreibung von Software-Architekturen
  • kennen grundlegenden Verfahren zur konstruktiven und analytischen Quaitätssicherung 

Methodenkompetenzen
Die Studierenden:

  • strukturieren, bewerten, unterscheiden und nutzen Vorgehenweisen der klassischen und agilen Projektdruchführung
  • nutzen Techniken der klassischen und agilen Anforderungsdokumentation projektangemessen
  • strukturieren, dokumentieren, bewerten Probleme und Lösungen mit den Werkzeugen der objekt-orientierten Modellierung
  • wenden Methoden und Techniken der objekt-orientierten Modellierung mit UML gezielt an
  • entwickeln Testfälle für funktionale und nichtfunktionale Anforderungen

Sozialkompetenzen
Die Studierenden:

  • erstellen, präsentieren und diskutieren Problemlösungen mit Hilfe von Modellierungstechniken
  • beschreiben und lösen gegebenen Probleme der Modellierung in Gruppen

Selbstkompetenzen
Die Studierenden:

  • reflektieren ihr Handeln bei der Problembeschreibung und der Entwicklung von Lösungsansätzen
Module contents

In dem Modul werden die grundlegenden Begriffe und Konzepte der Softwaretechnik vermittelt.
Es sind dies u.a.:

  • Notwendigkeit der Softwaretechnik
  • Prinzipien der Softwaretechnik
  • Aktivitäten und Vorgehensmodelle der Software-Entwicklung (klassisch, agil))
  • klassisches und agiles Anforderungsmanagement
  • Objektorientierte Modellierung, Metamodellierung
  • Synchronisation von Code und Modellen
  • Ermittlung und Dokumentation von Anforderung (klassisch, agil))
  • Definition von Software-Architekturen
  • Einsatz von Mustern der Software Entwicklung
  • Definition und Sicherung der Softwarequalität
  • Wartung und Betrieb von Softwaresystemen
Recommended reading
  • Folienskript zur Vorlesung
  • Ian Sommerville: Software Engineering, Addison-Wesley Longman, Amsterdam, 10. Auflage (Global Edition). 2015.
  • Anja Metzner:  Software-Engineering – kompakt, Hanser, München, 2020.
  • Ravi Sethi: Software Engineering: Basic Principles and Best Practices, Cambridge University Press, 8. Dezember 2022.
  • Chris Rupp, Stefan Queins: UML 2 glasklar. Praxiswissen für die UML-Modellierung, Carl Hanser Verlag, 4. Auflage 2012.
  • Martina Seidl,  Marion Scholz, Christian Huemer, Gerti Kappel, UML @ Classroom: An Introduction to Object-Oriented Modeling, Springer, 2015.
  • Christoph Kecher, Alexander Salvanos, Ralf Hoffmann-Elbern: UML 2.5, Das umfassende Handbuch. 7. Aufl. Rheinwerk Computing, 2021.
  • OMG Unified Modeling Language, Version 2.5.1 (formal/17-12-05), Dec. 2017, https://www.omg.org/spec/UML/,
Required assesment
Method of assesment

Klausur  (im Regelfall)

mündliche Prüfung oder Portfolio (nach Absprache mit dem Prüfungsamt z.B. bei bewilligtem Nachteilsausgleich)

Wiederholungsprüfung:
 

nach der Hauptprüfung

 

Exam dates

Am Ende der Vorlesungszeit

Duration (semesters) 1 Semester
Module frequency jährlich
Workload
Total workload Contact hours
180 h
Course type
Type SWS Module frequency Contact hours
Lecture 3 WiSe 42 h
Exercises 2 WiSe 28 h
Further information

Module Capacity:
unrestricted

Applicability of the module
  • Bachelor's Programme Business Informatics > Aufbaucurriculum - Pflichtbereich
  • Bachelor's Programme Computing Science > Aufbaumodule
  • Bachelor's Programme Mathematics > Nebenfachmodule
  • Computing Science > Module
  • Dual-Subject Bachelor's Programme Computing Science > Aufbaumodule (60 KP)
  • Master of Education Programme (Gymnasium) Computing Science > Computing Science
  • Master of Education Programme (Hauptschule and Realschule) Computing Science > Informatik
  • Master of Education Programme (Vocational and Business Education) Computing Science > Pflichtbereich
  • Master's Programme Environmental Modelling > Mastermodule