Alle Lernmaterialien für deinen Kurs Software Architecture

Egal, ob Zusammenfassung, Altklausur, Karteikarten oder Mitschriften - hier findest du alles für den Studiengang Master of Science Informatik

Universität Erlangen-Nürnberg

Master of Science Informatik

Prof. Dr.

2024

So erstellst du deine eigenen Lernmaterialien in Sekunden

  • Lade dein Vorlesungsskript hoch
  • Bekomme eine individuelle Zusammenfassung und Karteikarten
  • Starte mit dem Lernen

Lade dein Skript hoch!

Zieh es hierher und lade es hoch! 🔥

Jetzt hochladen

Die beliebtesten Lernunterlagen deiner Kommilitonen

Jetzt hochladen
Software Architecture - Cheatsheet
Software Architecture - Cheatsheet Singleton Pattern: Sorgt dafür, dass eine Klasse nur eine Instanz hat. Definition: Stellt sicher, dass eine Klasse genau eine Instanz hat. Details: Nützlich für globale Zustände oder Konfigurationen. Implementierung meist durch eine statische Methode, die die einzige Instanz zurückgibt. Thread-Sicherheit beachten! Beispiel in Java: class Singleton { private sta...

Software Architecture - Cheatsheet

Zugreifen
Software Architecture - Exam
Software Architecture - Exam Aufgabe 1) Einführung: Der Singleton-Pattern stellt sicher, dass eine Klasse genau eine einzige Instanz besitzt. Dies ist besonders nützlich für globale Zustände oder fixe Konfigurationen. Häufig durch eine statische Methode implementiert, die die einzige Instanz der Klasse zurückgibt. Wichtig ist, dass die Implementierung thread-sicher ist, um Probleme mit mehreren gl...

Software Architecture - Exam

Zugreifen

Bereit für die Klausur? Teste jetzt dein Wissen!

Was ist das Hauptziel des Singleton-Musters?

Wie wird in Java typischerweise eine Singleton-Instanz erstellt?

Welche Anforderungen müssen bei der Implementierung eines Singleton-Musters beachtet werden?

Was ist ein Microservice?

Wie kommunizieren Microservices üblicherweise?

Welche Werkzeuge benötigt man für Microservices?

Was ist Extreme Programming (XP)?

Welche Praktiken unterstützen die technische Exzellenz in XP?

Nennen Sie drei Kernwerte von XP.

Was bedeutet 'Wartbarkeit' in der Softwareentwicklung?

Was verbessert die Wartbarkeit eines Software-Systems nicht?

Welcher Punkt gehört nicht zu den Details der Wartbarkeit?

Was ist die Definition von Architekturdiagrammen?

Welche Typen von Architekturdiagrammen gibt es?

Was sind die Ziele von Architekturdiagrammen?

Was ist ein Event-Driven Architecture (EDA) Muster?

Nennen Sie ein Beispiel für eine Technologie, die in Event-Driven Architecture verwendet wird.

Welche sind zentrale Konzepte der Event-Driven Architecture?

Was versteht man unter 'Skalierbarkeit'?

Was versteht man unter 'Horizontale Skalierung'?

Welche Kenngrößen sind für die Messung der Skalierbarkeit relevant?

Was wird in einem Use-Case-Diagramm visualisiert?

Welches Diagramm gibt die Struktur und Beziehungen von Klassen wieder?

Welche Diagrammart wird verwendet, um den Ablauf von Prozessen und Nachrichten darzustellen?

Weiter

Diese Konzepte musst du verstehen, um Software Architecture an der Universität Erlangen-Nürnberg zu meistern:

01
01

Design Patterns

Das Thema Design Patterns befasst sich mit bewährten Lösungsansätzen zur Lösung häufig auftretender Probleme in der Softwareentwicklung. Diese Muster sind wiederholbare, bewährte Entwurfsmethoden.

  • Singleton Pattern: Sorgt dafür, dass eine Klasse nur eine Instanz hat.
  • Observer Pattern: Ermöglicht einem Objekt, Änderungen an anderen Objekten zu melden.
  • Decorator Pattern: Fügt einem Objekt zur Laufzeit zusätzliche Funktionalitäten hinzu.
  • Factory Pattern: Kreiert Objekte, ohne die genaue Klasse des zu erstellenden Objektes zu kennen.
  • Strategy Pattern: Definiert eine Familie von Algorithmen, die austauschbar sind.
Karteikarten generieren
02
02

Softwareentwicklungsmethoden

Softwareentwicklungsmethoden umfassen die verschiedenen Ansätze und Praktiken zur systematischen Softwareentwicklung. Diese Methoden helfen dabei, die Effizienz und Qualität des Entwicklungsprozesses zu erhöhen.

  • Agile Softwareentwicklung: Anpassungsfähige und iterative Entwicklungsmethode.
  • Wasserfallmodell: Linearer und sequentieller Entwicklungsprozess.
  • Extreme Programming (XP): Fokus auf technische Exzellenz und fortlaufende Feedbackschleifen.
  • Scrum: Rahmenwerk zur agilen Projektverwaltung und Entwicklung.
  • DevOps: Integration von Entwicklung und IT-Betrieb zur schnellen und zuverlässigen Lieferung.
Karteikarten generieren
03
03

Architektur-Stile

Architektur-Stile beschreiben Ansätze zur Organisation und Strukturierung von Softwaresystemen. Diese Stile bieten Leitlinien, wie Komponenten und Verbindungen in Softwaresystemen angeordnet werden können.

  • Schichtenarchitektur: Trennung der Applikation in übereinanderliegende Schichten.
  • Client-Server-Architektur: Unterteilung von Aufgaben zwischen Servern und Clients.
  • Microservices: Zerlegung der Anwendung in eine Sammlung kleiner, lose gekoppelter Dienste.
  • Event-Driven Architecture: Reaktion auf und Verarbeitung von Ereignissen in Echtzeit.
  • Service-oriented Architecture (SOA): Strukturierung von Diensten zur Wiederverwendung und Integration.
Karteikarten generieren
04
04

Qualitätsmerkmale von Softwarearchitekturen

Dieses Thema behandelt die wesentlichen Eigenschaften, die die Qualität einer Softwarearchitektur bestimmen. Diese Merkmale sind entscheidend für die Bewertung und Auswahl von Architekturansätzen.

  • Wartbarkeit: Fähigkeit des Systems, Änderungen einfach umzusetzen.
  • Skalierbarkeit: Fähigkeit, den Umfang und die Leistung der Software zu erhöhen.
  • Sicherheitsaspekte: Schutz gegen unerlaubte Zugriffe und Manipulation.
  • Performance: Effizienz und Geschwindigkeit der Software unter Last.
  • Zuverlässigkeit: Konsistente und fehlerfreie Funktionalität der Anwendung.
Karteikarten generieren
05
05

Softwarearchitektur Dokumentation

Die Dokumentation von Softwarearchitekturen umfasst die detaillierte Aufzeichnung und Beschreibung der Architektur eines Softwaresystems. Dies dient als Referenz für Entwickler, Tester und Stakeholder.

  • Architekturdiagramme: Grafische Darstellung der Systemkomponenten und ihrer Beziehungen.
  • UML: Universelle Modellierungssprache zur Dokumentation und Planung von Systemen.
  • Datenflussdiagramme: Visualisierung des Datenflusses innerhalb des Systems.
  • Entwurfsdokumente: Beschreibung von Designentscheidungen und Architekturentwürfen.
  • API-Dokumentation: Spezifikation und Beschreibung der Schnittstellen zu anderen Systemen.
Karteikarten generieren

Alles Wichtige zu diesem Kurs an der Universität Erlangen-Nürnberg

Software Architecture an Universität Erlangen-Nürnberg - Überblick

Die Vorlesung Software Architecture, angeboten von der Universität Erlangen-Nürnberg, ist Teil des Studiengangs Informatik und bietet Dir umfassendes Wissen über die Struktur und das Design komplexer Softwaresysteme. In dieser Vorlesung wirst Du in bedeutende Methoden und Prinzipien der Softwarearchitektur eingeführt und lernst, wie man qualitativ hochwertige Softwarearchitekturen entwirft.

Wichtige Informationen zur Kursorganisation

Kursleiter: Prof. Dr.

Modulstruktur: Die Modulstruktur umfasst wöchentliche Vorlesungen und Übungsstunden

Studienleistungen: Die Studienleistungen werden durch eine schriftliche Prüfung am Ende des Semesters bewertet.

Angebotstermine: Die Vorlesung wird typischerweise im Wintersemester angeboten.

Curriculum-Highlights: Design Patterns, Softwareentwicklungsmethoden, Architektur-Stile, Qualitätsmerkmale von Softwarearchitekturen

So bereitest Du Dich optimal auf die Prüfung vor

Beginne frühzeitig mit dem Lernen, idealerweise schon zu Beginn des Semesters, um Dir die nötige theoretische Basis anzueignen.

Nutze verschiedene Ressourcen, wie Bücher, Übungsaufgaben, Karteikarten und Probeklausuren, um dein Wissen zu vertiefen.

Schließe Dich Lerngruppen an und tausche Dich mit anderen Studierenden aus, um gemeinsam Lösungsstrategien zu entwickeln.

Vergiss nicht, regelmäßige Pausen einzulegen und in diesen Zeiten komplett abzuschalten, um eine Überbelastung zu vermeiden.

Nutzung von StudySmarter:

Nutzung von StudySmarter:

  • Erstelle Lernpläne und Zusammenfassungen
  • Erstelle Karteikarten, um dich optimal auf deine Prüfung vorzubereiten
  • Kreiere deine personalisierte Lernerfahrung mit StudySmarters AI-Tools
Kostenfrei loslegen

Stelle deinen Kommilitonen Fragen und bekomme Antworten

Melde dich an, um der Diskussion beizutreten
Kostenlos anmelden

Sie haben bereits ein Konto? Login

Entdecke andere Kurse im Master of Science Informatik

93182 Mainframe Programmierung II Kurs ansehen
Advanced Deep Learning Kurs ansehen
Advanced Design and Programming (5-ECTS) Kurs ansehen
Advanced Game Physics Kurs ansehen
Advanced Mechanized Reasoning in Coq Kurs ansehen
Advanced Networking LEx Kurs ansehen
Advanced Programming Techniques Kurs ansehen
Advanced Simulation Technology Kurs ansehen
AI-1 Systems Project Kurs ansehen
AI-2 Systems Project Kurs ansehen

Lerne jederzeit. Lerne überall. Auf allen Geräten.

Kostenfrei loslegen