MODULBESCHREIBUNG

Software-Architektur & Design 2

Kurzzeichen:
M_MAS-SE_SwArDes2
Durchführungszeitraum:
S3_MAS-SE/19
ECTS-Punkte:
4
Lernziele:
Verantwortliche Person:
Bläser Luc
Zusätzlich vorausgesetzte Kenntnisse:
keine
Skriptablage:
Modultyp:
Standard-Modul für MAS Software Engeneering STD_12(Empfohlenes Semester: 3)
Standard-Modul für CAS Advanced STD_12 (PF)

Modulbewertung

Bewertungsart:
Note von 1 - 6

Leistungsbewertung

Während des Semesters:
Bewertungsart:
Note von 1 - 6

Kurse in diesem Modul

Cloud Computing

Kurzzeichen:
MAS-SE_CC
Arbeitsaufwand:
30
Lernziele:
  • Sie können die definierenden Merkmale des Cloud Computing, die Cloud Deployment-Modelle (Sichtbarkeitsarten), und Servicemodelle (Abstraktionsebenen) auflisten und vergleichen.
  • Sie können die Stärken, Schwächen, Chancen und Risiken von Cloud Computing einschätzen und erklären.
  • Sie können Cloud-Architekturmuster erklären und auf Cloud-Dienste anwenden.
  • Sie sind in der Lage, Cloud-Anbieter hinsichtlich ihrer Eignung für den Betrieb von Web- und Unternehmensanwendungen zu bewerten.
  • Sie können die Auswirkungen von Cloud Deployment auf die Anwendungsarchitektur beurteilen und cloudfähige Anwendungen entwerfen.
Plan und Lerninhalt:
  • etabliert Cloud Computing Konzepte anhand von Architekturmustern
  • stellt wichtige Designelemente bei ausgewählten Cloud-Anbietern vor
  • zeigt, wie cloud-native Anwendungsarchitekturen gestaltet werden können

Cloud Computing hat sich in den letzten Jahren vom stark gehypten Trendthema zur attraktiven Architekturalternative für Entwicklung und Betrieb von Web-Anwendungen und anderer Software entwickelt. Neben traditionellen IT-Anbietern wie Microsoft sind Internetfirmen wie Amazon und Google im Public Cloud Markt aktiv; Open Source Assets erlauben den Aufbau von Private Clouds. Die Cloud-Anbieter unterscheiden sich stark hinsichtlich ihrer Preismodelle und der zugesicherten Dienstgüte. Anwendungsarchitekten und Entwickler sind daher mit einer Vielzahl neuer Designoptionen konfrontiert, z. B. Message-Oriented Middleware mit At-Least-Once Delivery, nichtrelationale Speichertechniken (NoSQL) sowie Server-, Speicher- und Netzwerkvirtualisierung. Mit den Cloud-Ressourcen muss sparsam und fehlertolerant umgegangen werden; nicht alle existierenden Entwurfsmuster eignen sich für Cloud-Anwendungsbau und Cloud-Migrationen. Dieser Kursblock führt in ausgewählte Konzepte und Technologien des Cloud Computing ein und befähigt Sie, Cloud-Dienste aus der Sicht des Anwendungsarchitekten zu analysieren und cloud-native Anwendungen systematisch zu entwerfen.

Semesterbewertung:
Bewertungsart:
Note von 1 - 6
Kursart:

(Durchführung gemäss Stundenplan)

Blockkurs mit 5 Lektionen pro Woche
   - Max. Teilnehmer: 45
   - Harte Grenze: ja

Architekturen verteilter Systeme

Kurzzeichen:
MAS-SE_AvS
Arbeitsaufwand:
50
Lernziele:

Vertieften Einblick in die Konzepte, Architekturen rund um verteilte Systeme zu gewinnen.

Der Kurs Architecture for Distributed Systems (ADS, Architektur für Verteilte Systeme) gibt den Kursteilnehmern einen fundierten Einblick in die Konzepte, Architekturen von verteilten Systemen. Es werden in der Theorie die grundlegenden Architekturen von solchen Systemen behandelt und in Übungen Komponenten für die Realisierung von solchen Architekturen, unter Verwendung erworbener Kenntnissen des Kurses Communication in Distributed Systems (CDS) vertieft. Es werden Architekturen wie Client/Server, Object Management Architecture, Service Orientierted Architecture, Microservice Architecture behandelt und deren Gemeinsamkeiten und Evolution betrachtet. Architektur für Verteilte Systeme ist kein Spezialisierungskurs, sondern gibt den angehenden Software-Ingenieuren/innen einen fundierten Überblick in angemessener Tiefe, was als wertvolle Grundlage für die Praxis dient.

Plan und Lerninhalt:

Grundlagen         

  • Architektur verteilter Systeme
  • Grundlagen & Vorgehen beim Erstellen

Architekturen

  • Bekannte Architektur-Strukturen und Plattformen (Objekt-basiert, Service-basiert, Event-basiert)
  • Unterschied von C/S, OMA, SOA, Microservice-Architekturen

Design, Implementation von Services

  • Service-Architekturen
  • Schnittstellen Design

Plattformen in der Praxis

  • Applikations-Service mit EJB
  • Typische Konstellationen (Praxis-Fallbeispiel)
Semesterbewertung:
Bewertungsart:
Note von 1 - 6
Kursart:

(Durchführung gemäss Stundenplan)

Blockkurs mit 5 Lektionen pro Woche
   - Max. Teilnehmer: 45
   - Harte Grenze: ja

Application Security

Kurzzeichen:
MAS-SE_AppSec
Arbeitsaufwand:
40
Lernziele:

Grundsätze der Informationssicherheit verstehen und auf Anwendungsbeispiele umsetzen können.

Verständnis der Schutzzielen der Informationssicherheit und deren Bedeutung. Kenntnis der typischen Bedrohungen und die technischen und organisatorischen Massnahmen zu deren Abwehr.

Plan und Lerninhalt:

Inhalte Kursblock 1: Information Security Management

1.1 Grundbegriffe Risikomanagement

1.2 Sicherheitsziele

1.3 Massnahmen  

Inhalte Kursblock 2:  Kryptologie Grundlagen

2.1 Symmetrische Verschlüsselung

2.2 Hashfunktionen

2.3 Asymmetrische Verschlüsselung

2.4 Signaturen   Inhalte Kursblock

3: Anwendungssicherheit

3.1 Schwachstellen (Injections, Sicherheitsrelevante Fehlkonfigurationen, Verlust der Vertraulichkeit sensibler Daten, etc.)

3.2 Best practices (Datenbanken, Webanwendungen, Software development)   Inhalte Kursblock

4: Netzwerksicherheit

4.1 Zugangskontrolle

4.2 Firewalls

4.3 Weitere Themen

Semesterbewertung:
Bewertungsart:
Note von 1 - 6
Kursart:

(Durchführung gemäss Stundenplan)

Blockkurs mit 5 Lektionen pro Woche
   - Max. Teilnehmer: 45
   - Harte Grenze: ja