Security Architecture Modeling

Course registration & instruction language

To be admitted to this course, you have to register for the course in the registration system for seminars and labs by the Computer Science department and you have to get a seat.

This course is for bachelor students only and the instruction language is German.

Kursbeschreibung

Die Softwaresystemarchitektur ist, neben der Infrastruktur, auf der sie betrieben wird, ein wesentlicher Faktor der Softwarequalität. Diese erstreckt sich von der Performance während der Laufzeit, über die Zuverlässigkeit und Resilienz bis hin zur Sicherheit des Systems. Zur Erfüllung der Qualitätsanforderungen an das System - allgemeinhin auch als non-functional requirements (NFR) bekannt - modellieren Architekten auf Architekturebene Lösungen, die diese NFRs sicherstellen sollen. Dadurch entwickeln sich im Laufe der Zeit immer größer werdende Perspektiven auf die Architektur. Eine Perspektive bezeichnet dabei eine Sicht auf die Architektur aus einer Qualitätsperspektive, wie z.B. der Sicherheit. D.h. die Sicherheitsperspektive einer Architektur beinhaltet alle Lösungsentwürfe, die die Sicherheit des Systems erhöhen sollen.

Softwaresystemarchitekturen werden mit steigender Softwaregröße allerdings sehr komplex und die Perspektiven der Architektur verstecken sich inmitten des Informationskonglomerates des Architekturdesigns. Dies erschwert die Bewertung der Architektur hinsichtlich seiner Qualität ungemein, da die z.B. Sicherheitsperspektive nicht einfach aus dem Architekturdesign gewonnen werden kann. Um dies zu erreichen, werden heutzutage parallel zur Softwaresystemarchitektur Sicherheitsarchitekturen gebaut, welche die Sicherheitsperspektive des Systems abbilden sollen. Dies hat wiederum den Nachteil, dass zwei verschiedene Architekturentwürfe entwickelt und gewartet werden müssen, was zu Synchronisationsproblemen der beiden Architekturentwürfe führt.

Darum wird am Lehr- und Forschungsgebiet Informatik 3 - Softwarekonstruktion ein neuartiges Verfahren entwickelt, welches versucht, die Perspektiven einer Softwaresystemarchitektur in einem Architekturdesign sichtbar zu machen, ohne dazu eine separate Architekturperspektive zu entwerfen. Dies wird aufgrund der Relevanz der Sicherheit heutiger Softwaresysteme beispielhaft anhand der Sicherheit entwickelt und erprobt. In diesem Praktikum sollen Prototypen entwickelt werden, die die Modellierung von Softwaresystemarchitekturen nach diesem neu entwickelten Ansatz ermöglichen.

Lernziele

Im Rahmen des Praktikums sollen die Studenten verschiedene Fähigkeiten im Bereich des Software-Engineering erlernen und üben. Die organisatorischen und zwischenmenschlichen Kompetenzen sollen einerseits durch die selbstständige Durchführung eines Softwareprojekts im Team über mehrere Monate hinweg trainiert werden. Die fachlichen Kompetenzen sollen durch die technische Umsetzung der erhobenen Anforderungen mit aktuellen Methoden, Konzepten, Werkzeugen und Technologien erlernt und vertieft werden. Zur Umsetzung werden moderne Frameworks wie Java Spring und Python Django zur Backendentwicklung, Angular, React und Vue.js zur Frontendentwicklung und die Containerizationplattform Docker zum Deployment der Softwarelösungen erlernt und eingesetzt.

Termine

Das Praktikum findet in der Vorlesungszeit im Sommersementer 2024 statt. Bei allen Terminen besteht Pflicht zur Anwesenheit. Begründete Ausnahmen für einzelne Termine sind ggf. bei vorheriger Absprache möglich.

Regelmäßige Termine

  • TBA

Einzelne Termine

  • Kick-Off Besprechung, am ersten regelmäßigen Termin
  • Präsentation des Alpha-Meilensteins, findet voraussichtlich an einem der regelmäßigen Termine statt
  • Präsentation des Beta-Meilensteins, findet voraussichtlich an einem der regelmäßigen Termine statt
  • Abschlusspräsentation, Termin wird noch angekündigt

Course information

Supervisors
Course type

Software project lab

Semester:

Summer semester 2024

Course language
  • German
Course level
  • Bachelor
Credit points 1

7

1: The actual number of credit points can vary depending on the study program's examination regulation version. Consult your examination regulation's module catalog or the campus information system to see the valid number of credit points.