SA1
einf.
einf.
10
0.0 (0)
L. H.
L. H.
Diese Lernkarten bieten einen umfassenden Überblick über die Softwarearchitektur und ihre verschiedenen Aspekte. Sie decken Themen wie Architekturprozesse, Produktfamilien, Produktlinien, Schichtenarchitekturen und die Rolle des Softwarearchitekten ab. Die Karteikarten sind ideal für IT-Profis und Entwickler, die ihr Verständnis von Softwareentwicklung und -architektur vertiefen möchten, um effizientere und anpassungsfähigere Systeme zu gestalten.
Cartes-fiches
10
Utilisateurs
1
Langue
Allemand
Catégorie
Informatique
Niveau
Autres
Créé / Mis à jour
13.07.2016 / 13.07.2016
-
- 1 / 10
-
Cartes-fiches
Was beeinflusst die Architektur?
- Funktionale Anforderungen
- Nicht funktionale Anforderungen
- Finanzielle Einschränkungen
- Erfahrungen
- Verfügbare Technik
- Bestehende Umsetzung
- Verfügbare Bibliotheken, Komponenten und Frameworks
Was ist die Rolle/die Aufgaben des Projektmanagers?
- Organisieren des Entwicklungsprozesses
- Überwachen der Fortschritte
- Kontrollieren der Kosten
- Fristen beachten
- Personal „vermieten“
- Kommunikation mit dem oberen Management
- Kommunizieren mit dem Kunden-Management
Definieren Sie den Begriff Software-Architektur?
- Eine Software-Architektur ist die Struktur eines Systems, das alle Software-Elemente, sowie die Beziehungen der Elemente untereinander genau beschreibt
- Während des Architekturprozesses werden eine Reihe von Maßgeblichen Design-Entscheidungen über ein Software-System getroffen.
- Der Architekturprozess ist iterativ!
Was für Kompetenzen muss ein guter Software-Architekt aufweisen?
- Er muss über die Architektur sprechen können
—> d.h. er muss sich mit der Architektur auskennen, die gegebene Architektur verstehen
—> er ist verantwortlich für die technische Qualität des Codes und die Architektur - Er sollte gut kommunizieren können
- Er muss die Anforderungen der Domäne verstehen und die Grenzen der Technik kennen
- Er muss sich gut mit Frameworks und Bibliotheken, allgemein Technologien auskennen
—> denn er macht die Evaluierung/er wählt die geeignete Technologien aus
Nennen Sie 5 unterschiedliche Architekturtypen und beschreiben Sie diese kurz.
- Ball of Mud:
Das Programm besitzt keine erkennbare Softwarearchitektur; Abhängigkeiten in alle Richtungen - Schichten Architektur:
Einzelne Aspekte des Softwaresystems werden konzeptionell einer Schicht zugeordnet. Aspekte einer „höheren“ Schicht dürfen dabei nur auf solche „tieferer“ Schicht zugreifen; Schichten sind mit definierten Schnittstellen ausgestattet & somit austauschbar - Komponentenbasierte Architektur:
Software wird in austauschbare Einheiten aufgeteilt, die miteinander verbunden werden können - Product Line:
Gleiche Anwendung, aber unterschiedliche Hardware, Feature-Set, UI & Backend
—> Durch verschiedene Kunden, Preismodelle und rechtliche Beschränkungen - Product Family:
Ähnliche Anwendung in Bezug auf Domaine, Verfahren, Schnittstelle & Technologie; aber verschiedene Datensätze und Abstraktionen
Wie sind Software-Entwicklungsteams in der Regel aufgebaut?
- Ein Software-Architekt und ein Produkt-Manager, die sehr viel interagieren
- Das Team (Entwickler, Tester,…) organisiert sich um die Beiden herum
Wie unterscheidet sich Softwareentwicklung von anderen technischen Bereichen?
- „Baumaterial“ ist im wesentlichen frei und extrem flexibel
- Änderung und Erweiterung sind auch spät im Prozess möglich
- eine neue Instanz (Kopie) zu schaffen, ist kostenlos
- Alle Kosten sind in direktem Zusammenhang mit menschlicher Arbeit
—> personalintensiv
Was versteht man unter den Begriffen Produkt Line und Produkt Family?
- Product Line:
Gleiche Anwendung, aber unterschiedliche Hardware, Feature-Set, UI & Backend
—> durch verschiedene Arten von Kunden, verschiedene Preismodelle, unterschiedliche rechtliche Beschränkungen - Product Family:
Ähnliche Anwendung: Ähnliche Domain, Verfahren, Schnittstellen & Technologie
Aber: verschiedene Datensätze und verschiedene Abstraktionen
Nennen Sie 3 Eigenschaften von Produkt Family und jeweils ein Beispiel
- Ähnliche Domaine
- Ähnliche Verfahren
- Ähnliche Schnittstellen
- Eine ähnliche Technologie
In welchen Phasen eines Entwicklungsprozesses ist ein Software-Architekt tätig?
- der Architektur-Prozess ist ein kontinuierlicher
—> die Architektur kann vor Design und Entwicklung geplant werden, ist aber ein kontinuierlicher Prozess