PDF

MODULBESCHREIBUNG

Software-Architektur & Design 1

Kurzzeichen:
M_MAS-SE_SwArDes1
Durchführungszeitraum:
S2_MAS-SE 2018 - S2_MAS-SE 2018
ECTS-Punkte:
5
Lernziele:
-
Verantwortliche Person:
Luc Bläser
Empfohlene Module:
-
Zusätzlich vorausgesetzte Kenntnisse:
keine
Modultyp:
Standard-Modul für MAS Software Engeneering (Standard 12) (Empfohlenes Semester: 2)
Standard-Modul für CAS Intermediate (Standard 12)

ECTS-Punkte pro Kategorie

Kategorie:
Modul zählt für keine Kategorie.

Modulbewertung

Bewertungsart:
Note von 1 - 6

Leistungsbewertung

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

Kurse in diesem Modul

Kommunikation für verteilte Systeme

Kürzel:
MAS-SE_KoVSys
Lernziele:

Der Kurs Communication in Distributed Systems (CDS, DS=Verteilte Systeme) gibt den Kursteilnehmern einen fundierten Einblick in die Konzepte und den gängigsten Technologien zur Kommunikation zwischen verteilten Systemen. Es werden in der Theorie die grundlegenden Konzepte und Entwurfs-Muster behandelt, und in Übungen die verschiedenen Middleware-Technologien praktisch vertieft.

Communication in Distributed Systems ist kein Spezialisierungskurs, sondern gibt angehenden Software-Ingenieuren/innen einen fundierten Überblick in angemessener Tiefe, was als wertvolle Grundlage für die Praxis dienen soll. Jede(r) Studierende(r) sollte dies als Rüstzeug für die Praxis betrachten.

 

Plan und Lerninhalt:

Grundlagen

  • Herkunft und Basisarchitekturen
  • Grundmodell und Anatomie eines verteilten Systems
  • Grundlagen Interprozesskommunikation

Middleware

  • Interprozesskommunikation (RMI, RPC, REST, WS*)
  • Synchrone Middleware (CORBA)
  • Asynchrone Middleware (JMS)

Design, Implementation und Integration

  • Enterprise Service Bus (ESB)
Bewertungsart:
Note von 1 - 6
Kursart:
Blockkurs mit 5 Lektionen pro Woche

Objektorientiertes Design (OOD)

Kürzel:
MAS-SE_OOD
Lernziele:
  • Objektorientiere Analyse und objektorientiertes Design anwenden
  • Unterscheidung von gutem und schlechtem OO Design
  • Zielorientierte Anwendung von Design Prinzipien


​Die Studierenden…

  • können für gegebene Anforderungen ein objektorientiertes Software System entwerfen
  • kennen die fünf wichtigsten Design Prinzipien (SOLID)
  • erkennen wenn Design Prinzipien verletzt sind
  • können Design Prinzipien und Patterns in bestehender Software erkennen
  • kennen und erkennen Smells in schlechtem Software und Code Design und können diese eliminieren
Plan und Lerninhalt:
  • Objektorientierte Analyse (OOA)
  • Objektorientiertes Design (OOD)
  • Objektorientierte Programmierung (OOP)
  • Design Patterns
  • Smells / Refactoring
  • Test Driven Development (TDD) Workshop
Bewertungsart:
Note von 1 - 6
Kursart:
Blockkurs mit 5 Lektionen pro Woche

Software Architekturen

Kürzel:
MAS-SE_SWArch
Lernziele:

An Hand von Theorie und Beispielen:

  • Architektur als das Treffen von technischen Entscheidungen verstehen
  • Erkennen welche Bedeutung das Verständnis der Anforderungen für das Erstellen der Architektur hat
  • Die verschiedenen Arten von Strukturen in Software kennenlernen
  • Den Umgang mit den wichtigsten nicht-funktionalen Anforderungen kennenlernen
  • Die Rolle und Wichtigkeit der Dokumentation von Software und Architektur erkennen
  • Vorgehensweise kennenlernen, die geeignet ist, um rasch erste, belastbare Architektur-Entwürfe zu erstellen
Plan und Lerninhalt:

Vier Themenblöcke, die jeweils an einem Abend an Hand von Theorie und durchgehenden Beispielen erarbeitet werden:

 

Verständnis der Natur des Problems

  • Architektur als Entscheidungen, Ziel von Architektur
  • Rollen in der Architektur, Einflüsse auf der Architektur
  • Umgang mit Anforderungen als Architekt
  • Extrahieren der für die Architektur wesentlichen Aussagen und Abläufe aus den Anforderungen

Ablaufanalyse

  • Statische und dynamische Strukturen im Software
  • Modulstruktur, Prozessstruktur, physische Struktur, Klassenstruktur, Aufrufstruktur, Datenflussstruktur, Kontrollflussstruktur
  • Komponenten und Interfaces
  • Arten von Modulstrukturen – logisch und physisch – und der Umgang damit
  • Ablaufanalyse als Mittel um Komponentenstrukturen zu erstellen
  • Grob- und Feinstruktur in der Ablaufanalyse

Arbeiten mit den nicht-funktionalen Anforderungen

  • Unterschied zwischen funktionalen und nicht-funktionalen Anforderungen für die Architektur
  • Arten der nicht-funktionalen Anforderungen und ihre Bedeutungen
  • Strategien für die Umsetzung von nicht-funktionalen Anforderungen, sowie Verfeinerungen der Komponentenstrukturen
  • Die Spezialfälle Wartbarkeit und Usability
  • Testen von nicht-funktionalen Anforderungen
  • Triage-vorgehen für die Umsetzung der nicht-funktionalen Anforderungen

Dokumentation und Ausblick

  • Architektur vs. Beschreibung der Architektur
  • Einsatz von Modellen und Modellierung
  • Architekturbeschreibung nach IEEE und RUP
  • Die verschiedenen Sichten in der Dokumentation
  • Die verschiedenen Dokumentationsformen – Entscheidungslog, Dokumente, Modelle, How-tos, Konzepte
  • Aufbau der Dokumentation an Hand von den Informationsbedürfnissen der Projektbeteiligten
  • Ausblick auf Integration und asynchroner Kommunikation

An jedem Abend wird am Schluss das Case Study in Gruppen für das Thema des Abends bearbeitet.

Bewertungsart:
Note von 1 - 6
Kursart:
Blockkurs mit 5 Lektionen pro Woche
Beschreibung erzeugt: 2018-12-14 12:01:32
Letzte Moduländerung: 2018-04-25 14:33:28
Modul-Id: 32080
Status: aktiviert