1/50
Diese Flashcards decken die wesentlichen Vokabeln, Prinzipien und Methoden der Software-Architektur ab, basierend auf dem Vorlesungstranskript.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
Software-Architektur (IEEE Standard 1471-2000)
Die grundlegende Organisation eines Systems, dargestellt durch dessen Komponenten, deren Beziehungen zueinander und zur Umgebung, sowie die Prinzipien, die den Entwurf und die Evolution des Systems bestimmen.
Marcus Vitruvius Pollio
Ein römischer Architekt im 1. Jahrhundert n. Chr., der Architektur als „Mutter aller Künste“ bezeichnete und die Prinzipien Firmitas, Utilitas und Venustas beschrieb.
Firmitas
Eines der drei Prinzipien der Architektur nach Marcus Vitruvius Pollio, das für Stabilität steht.
Utilitas
Eines der drei Prinzipien der Architektur nach Marcus Vitruvius Pollio, das für Nützlichkeit steht.
Venustas
Eines der drei Prinzipien der Architektur nach Marcus Vitruvius Pollio, das für Anmut oder Schönheit steht.
Form follows function
Ein architektonisches Prinzip, das besagt, dass die Form eines Gebäudes oder Objekts seiner Funktion folgen sollte.
Conway’s Law
Ein Gesetz, das besagt, dass die Software-Architektur mit der Organisationsstruktur des Unternehmens korrespondiert.
Over-Engineering
Übermäßiger Perfektionismus und unnötige Komplexität in der Software-Entwicklung.
Komponente
Ein äußerlich gleichmäßig geformter Baustein, dessen Innenleben nicht betrachtet wird und der lose mit seiner Umgebung gekoppelt ist.
Komponentenkonfiguration
Eine Zusammenstellung von Komponenten, die ein Gesamtsystem bildet und ebenfalls als Komponente betrachtet werden kann.
Export (Schnittstelle)
Die abstrakte Definition der von einer Komponente angebotenen, benutzbaren Eigenschaften.
Import (Schnittstelle)
Die abstrakte Definition der von anderen zu benutzenden Komponenten erwarteten Eigenschaften.
Konnektoren
Elemente einer Architektur, welche die Verbindung zwischen Komponenten herstellen und Verpflichtungen zur Überprüfung der Korrektheit von Verbindungen implizieren.
Architekturstile
Namensgebende Sammlungen von Architekturentscheidungen, die in einem gegebenen Entwicklungskontext anwendbar sind.
Architekturmuster
Sammlungen von Architekturentscheidungen, die auf wiederkehrende Entwurfsprobleme anwendbar sind und angepasst werden können.
Komponentenmodell
Eine Ausführungsumgebung, die Standards für die Beschreibung, Verbindung, Kommunikation und das Deployment von Komponenten festlegt.
OSGi
Ein seit 1999 entwickeltes Komponentenmodell für Java, das auf der Java Virtual Machine aufsetzt und dynamische Module (Bundles) unterstützt.
Application Server
Eine Software, die die Entwicklung komplexer Client-Server-Anwendungen durch Bereitstellung generischer Konzepte, Dienste und Funktionen erleichtert.
EJB Entity Beans
Java-Komponenten, die persistente Daten repräsentieren und über die Java Persistence API (JPA) definiert werden.
EJB Session Beans
Java-Komponenten, die Geschäftslogik realisieren und über Annotationen oder XML-Dateien konfiguriert werden.
Zuverlässigkeit (Reliability)
Maß für die Fähigkeit eines Systems, eine geforderte Funktion unter gegebenen Bedingungen für eine gegebene Dauer fehlerfrei zu erbringen.
Wartbarkeit (Maintainability)
Maß für die Leichtigkeit, mit der ein System geändert werden kann, um Fehler zu beheben oder Fähigkeiten zu erweitern.
Safety
Sicherheit im Sinne des Abstands zwischen vorhandenem Risiko und maximal akzeptablem Risiko für unabsichtliche Gefährdungen.
Security
Sicherheit im Sinne der Abwehr gegen absichtliche unbefugte Zugriffe und Manipulationen.
Performanz
Die Fähigkeit eines Systems, unter festgelegten Bedingungen gewünschte Antwortzeiten und Durchsatz ohne Fehler zu erbringen.
Qualitative Bewertungstechnik
Techniken, die abstrakte Ja/Nein-Aussagen liefern und die Erfüllbarkeit bestimmter Qualitätseigenschaften prüfen.
Quantitative Bewertungstechnik
Techniken, die in Zahlen messbare Aussagen liefern und auf konkreten Messungen und Beobachtungen basieren.
SAAM (Scenario-based Architecture Analysis Method)
Eine Methode, die Szenarien verwendet, um die Architektur auf Merkmale wie Wartbarkeit, Performanz und Zuverlässigkeit zu bewerten.
ATAM (Architecture Trade-off Analysis Method)
Eine Methode, die konkurrierende Qualitätsmerkmale berücksichtigt und Entscheidungen nach Risikobehaftung und Sensitivität kategorisiert.
CBAM (Cost Benefit Analysis Method)
Eine Methode, die die ökonomischen Konsequenzen von Entwurfsentscheidungen untersucht.
ALMA (Architecture-Level Modifiability Analysis)
Eine Methode zur Analyse der Änderbarkeit von Software, der Wartungskosten und Risiken.
FTA (Fehlerbaumanalyse)
Eine Technik zur Gefährdungsanalyse, die Ursachen für bekannte Ausfälle identifiziert.
IFMEA (Interface-focused Failure Mode and Effect Analysis)
Qualitative Bewertung der Sicherheitseigenschaften durch Betrachtung der Signale an den Schnittstellen der Komponenten.
CB-SPE (Component Based Software Performance Engineering)
Ein durchgängiges Vorgehensmodell für die szenario-basierte, quantifizierbare Bewertung der Performance eines Systems.
SOA (Service-Orientierte Architektur)
Eine Architektur, die auf Services aufbaut, welche selbstständig, verteilt, interoperabel und stark an Geschäftsprozessen orientiert sind.
Microservices
Kleine, unabhängige Dienste, die eine spezifische Geschäftslogik kapseln und unabhängig voneinander deployt und skaliert werden können.
Model-View-Controller (MVC)
Ein Muster, das die Geschäftslogik (Control)
von der Anzeigelogik (View) und
der Kapselung von Informationen (Model) trennt.
Pipes-and-Filters
Ein Architekturstil, der paralleles Arbeiten von Komponenten auf Datenströmen ermöglicht.
Batch-Sequential
Ein Architekturstil, bei dem jede Komponente eine Aufgabe übernimmt, ein Datenpaket komplett verarbeitet und bearbeitet zurückgibt.
Publish-Subscribe
Ein Muster, bei dem sich Empfänger bei Sendern anmelden, um Benachrichtigungen über Zustandsänderungen zu erhalten.
Ontologien
Definitionen in SOA, die exakte Bedeutungen und Beziehungen von Daten festlegen, um Missverständnisse beim Datenaustausch zu vermeiden.
Fachliche Architektur
Ebene der Architektur, welche die Geschäftslogik und funktionalen Anforderungen sowie Entitäten und Prozesse beschreibt.
Softwaretechnische Architektur
Ebene der Architektur, welche die Struktur der Softwarekomponenten, Schnittstellen und verwendeten Plattformen beschreibt.
Systemtechnische Architektur
Ebene der Architektur, welche die technische Infrastruktur wie Betriebssysteme, Netzwerke und Hardware-Ressourcen beschreibt.
MVT (Model-View-Template)
Das im Django-Framework verwendete Architekturmuster zur Trennung von Geschäftslogik, Template und Steuerungslogik.
ORM (Object-Relational Mapping)
Eine Schicht, die Datenbankabfragen auf einer höheren Abstraktionsebene ermöglicht, etwa zur Kapselung verschiedener Datenbanktypen.
Jakarta EE
Eine Plattform für Unternehmensanwendungen (früher Java EE), die als Ausführungsumgebung für Komponenten dient.
PaaS (Platform as a Service)
Ein Cloud-Betriebsmodell, bei dem der Anbieter Infrastruktur und Middleware bereitstellt und der Nutzer Anwendungen darauf installiert.
TOGAF (The Open Group Architecture Framework)
Ein Framework für Unternehmensarchitektur, das unter anderem die Phasen G (Implementierung) und H (Betriebsüberwachung) umfasst.
MTBF (Mean Time Between Failures)
Eine Kennzahl zur Bewertung der Zuverlässigkeit eines Systems.
LOC (Lines of Code)
Eine Kennzahl zur Bewertung des Änderungsaufwands im Rahmen der Wartbarkeit.