Letzte Änderung : 15.01.2025 14:06:11   
Studiengänge >> Informatik 2024 B.Sc. >> Software-Engineering 2


Code:188850
Modul:Software-Engineering 2
Module title:Software Engineering 2
Version:3.0 (12/2013)
letzte Änderung: 02.12.2021
Modulverantwortliche/r: Prof. Dr. phil. Längrich, Matthias
M.Laengrich@hszg.de

angeboten in den 4 Studiengängen:
Informatik (B.Sc.) gültig ab Matrikel 2015
Informatik (B.Sc.) gültig ab Matrikel 2018
Informatik (B.Sc.) gültig ab Matrikel 2020
Informatik (B.Sc.) gültig ab Matrikel 2024

Modul läuft im:SoSe (Sommersemester)
Niveaustufe:Bachelor/Diplom
Dauer des Moduls:1 Semester
Status:Pflichtmodul
Lehrort:Görlitz
Lehrsprache:Deutsch

Workload* in SWS **
Semester
Zeit- std.ECTS-
Pkte
1
2
3
4
5
6

V
S
P
W
V
S
P
W
V
S
P
W
V
S
P
W
V
S
P
W
V
S
P
W
120
4
4.0



2
2
0
0


*Gesamtarbeitsaufwand pro Modul (1 ECTS-Punkt entspricht einem studentischen Arbeitsaufwand von 30 Zeitstunden)
**eine Semesterwochenstunde (SWS) entspricht 45 Minuten pro Woche

Selbststudienzeit in h
Angabe gesamt

75



Lehr- und Lernformen:Vorlesung, betreute Projektarbeit, Selbststudium


Prüfung(en)
Prüfungsvorleistung Prüfungsvorleistung als Referat (VR)
Prüfung Prüfungsleistung als Klausur (PK) 120 min 100.0%



Lerninhalt:

  • Refactoring und Programmierstil (Code Smells)

  • Entwurfsmuster (Patterns)

  • Qualität von Software (Qualitätskriterien, Metriken, Evaluierungsverfahren)

  • Testen von Software (bzgl. unterschiedlicher Kriterien)

  • Usability Engineering

  • Software-Prozesse (Wasserfall, Unified Process, Agile Prozesse etc)



Lernergebnisse/Kompetenzen:
Fachkompetenzen:Die Studierenden verwenden logische und algebraische Kalküle, graphentheoretischen Notationen, formalen Sprachen und Automaten zur Modellierung von Datenstrukturen und Algorithmen.

Der Studierende identifizieren bekannte Problembestellungen in verschiedenen Anwendungskontexten und wählen die zugehörigen Lösungsmuster aus.

Die Studierenden verwenden Konfigurations-, Change-, Release- und Deployment Management in verschiedenen Entwurfsprozessen.

Die Studierenden benennen die verschiedenen Entwurfsprozesse und können deren Vor- und Nachteile diskutieren.

Die Studierenden beschreiben die Architektur verschiedener Applikationen, z.B. PC App, Client-Server, mobile Applikation und Web-Applikationen und wählen geeignete Anwendungsfelder aus.

Die Studierenden können systematisch, effizient und wissenschaftlich Wissen in einem neuen Arbeitsfeld erwerben.

Die Studierenden entwerfen Modelle auf verschiedenen Abstraktionsebenen und verifizieren diese z.B. durch eine Simulation.

Die Studierenden identifizieren den algorithmischen Kern einer Problemstellung, entwerfen Datenstrukturen und Algorithmen unter Verwendung geeigneter Notationen, verifizieren diese und bewerten den Ressourcenbedarf.

Der Studierenden kommunizieren und kooperieren mit Aufgabenstellern und zukünftigen Systemnutzern und arbeiten sich schnell in neue Aufgabengebiete ein.

Die Studierenden identifizieren fehlende Informationen sowie Inkonsistenzen in Anforderungen und klären diese in Kooperation mit dem Anwender.

Die Studierenden wenden moderne Softwarewerkzeuge wie eine aktuelle IDE, Versionsverwaltung, CI-/CD-Werkzeuge, Test-Tools, Code-Analyse-Tools und weitere an.

Fachübergreifende Kompetenzen:Die Studierenden verstehen ihre Rolle als Experte der Informationsverarbeitung und gehen mit den damit verbundenen Erwartungen und Rollenkonflikten produktiv um und tragen zur Konfliktlösung bei.

Die Studierenden präsentieren ihre Analysen, Lösungsvorschläge und Ergebnisse schriftlich und mündlich in überzeugender Art und Weise, erkennen abweichende Positionen und integrieren diese in eine sach- und interessensgerechte Lösung. Die Studierenden kommunizieren zielorientiert auch mit Aufgabenstellern und Nutzern denen die informatische Denk- und Sprechweise nicht geläufig ist.

Die Studierenden erkennen Missverständnisse zwischen Gesprächspartnern frühzeitig, argumentieren in kontroversen Diskussionen zielorientiert, gehen mit Kritik sachlich um und bauen Missverständnisse ab.

Die Studierenden übernehmen in Teams mit vielfältigen Hintergründen und Erfahrungen verschiedene Rollen und lösen auftretende Konflikte sachlich und zielgerichtet.

Die Studierenden gehen ziel- und ergebnisorientiert mit großer Beharrlichkeit vor.

Die Studierenden bearbeiten eine Aufgabenstellung in der Informationsverarbeitung in verschiedenen Anwendungsfeldern unter Berücksichtigung der technischen, betriebswirtschaftlichen, ökologischen und sozialen Randbedingungen.

Notwendige Voraussetzungen für die Teilnahme:k.A.
Empfohlene Voraussetzungen für die Teilnahme:Modul 188800 "Software-Engineering 1"

Literatur:Larman, C.
UML 2 und Patterns angewendet
Verlagsgruppe Hüthig Jehle Rehm, 2013

Gamma, Helm, Johnson, Vlissides: Design Patterns, Elements of Reusable Object-Oriented Software (GoF)

Buschmann, F.; Meunier, R.; Rohnert, H.; Sommerlad, P. & Stal, M.
Pattern-Oriented Software Architecture
John Wiley & Sons Inc, 1996

Fowler, M.; Beck, K.; Brant, J.; Opdyke, W. & Roberts, D.
Refactoring: Improving the Design of Existing Code
Addison-Wesley Professional, 1999

Beck, K.
Test Driven Development. By Example
Addison Wesley, 2002

Sommerville, I.
Software Engineering, 10th Edition
Pearson India, 2018

Balzert, H.; Koschke, R.; Lämmel, U. & Liggesmeyer, P.
Lehrbuch der Softwaretechnik: Basiskonzepte und Requirements Engineering
Spektrum-Akademischer Vlg, 2009

Martin, R. C.
Clean Code - Deutsche Ausgabe
MITP Verlags GmbH, 2009

Westphal, F.
Testgetriebene Entwicklung mit JUnit & FIT
Dpunkt.Verlag GmbH, 2005

Krug, S.
Don´t make me think!
MITP Verlags GmbH, 2014

Nielsen, J.
Usability Engineering
Elsevier LTD, Oxford, 1994