Software Engineering
Software Engineering
Software Engineering
-
- 1 / 36
-
Lernkarten
Prozessmodelle
a. Prozessmodelle beschreiben Organisation und Verlauf eines Projekts
b. Prozessmodelle dienen als Schablone, die für konkrete Projekt geändert und angepasst werden kann
c. Prozessmodelle bündeln Expertenwissen über Projekte
d. Prozessmodelle bieten „roten Faden“ im Projekte mit Spezifikation der Aktivitäten und Ergebnisse
Nennen sie die Fünf typischen Phasen im Software Entwicklungsprozess
a. Analyse
b. Anforderungsdefinition
c. Softwareentwurf
d. Implementierung
e. Abnahme & Einführung à Erwartungsphase
Nennen Sie die fünf inhaltlichen Aspekte von Prozessmodellen.
a. Aktivität
b. Rolle
c. Artefakte
d. Vorgaben
e. Tools
Nennen Sie die fünf Vorteile des Einsatzes von Prozessmodellen.
a. Transparenz
b. Qualitätssicherung
c. Kommunikationsverbesserung
d. weniger Kosten
e. Leitfaden für das Vorgehen gegeben in einem Projekt
Nennen Sie zwei Beispiele für Prozessmodelle in der IT.
a. V-Modell xt
b. Scrum
Nennen Sie die wesentlichen Merkmale von agilen Prozessmodellen.
a. wenig Rollen
b. wenig Artefakte (Ergebnistypen[z.B. Benutzerhandbuch, Lasten- & Pflichtenheft etc.])
c. einfache Regeln
d. iteratives Vorgehen (Stück für Stück aufeinander aufbauen)
e. Arbeiten direkt mit Kunden à Kundenzufriedenheit im Vordergrund
Worin besteht die Beziehung zwischen Objekten und Klassen?
a. Objekte sind Instanzen einer Klasse
b. Klassen sind der Bauplan für Objekte
Woraus ergibt sich der Zustand einer Klasse?
a. Kombination aus Attributzuständen (z.B. Antrag ist ausgefüllt, zugestimmt o. abgelehnt)
Sichten für Klassendiagramme
a. Konzeptionelle (Def. Der relevanten Bestandteile)
b. Spezifizierende (Darstellung der internen Struktur)
c. Implementierende (Umsetzung der Klassen aus der Entwurfsphase in Code)
Wo wird das Verhalten von Objekten definiert?
a. Basisklassen (Aufzählungstypen, komplexe Datentypen, Primitivtypen)
i. Zeichnen sich meist durch den Besitz nur eines Attributs aus
Fachliche Klassen (haben Bezug auf Basisklassen)Beziehungstypen
a. Generalisierung bei Klassen
b. Assoziation bei Objekten
c. Komposition
d. Aggregation
Wofür wird Multiplizität verwendet?
a. Beziehung zwischen zwei Objekten (1…* zu 0…*)
Wofür werden Schnittstellen verwendet?
a. Hilfsmittel zur arbeitsteiligen Softwareentwicklung
b. Definieren eine Menge abstrakter Operationen
Modellelemente
a. Import (Modellelemente werden in Paket öffentlich importiert sind nach außen hin sichtbar)
b. Access (Modellelemente werden in Paket privat importiert sind nicht nach außen hin sichtbar
1. 3 Kategorien für Anforderungsanalyse
a. Funktionale (intuitiv, was soll Programm können, was kann Benutzer machen?)
b. Qualitätsanforderung (qualitative Eigenschaften eines Programms
c. Randbedingungen (organisatorisch oder technische Vorgaben)
1. Nennen Sie fünf Artefakte, die der Anforderungsanalyse- und er Anforderungsdefinition ganz oder teilweise zugeordnet werden können
a. Lastenheft
b. Pflichtenheft
c. Anforderungsmodelle (z.B. UML-Modell)
d. UI-Prototyp
e. Benutzerhandbuch zum Prototyp
1. Nennen sie drei wesentliche Vorteile von Analysemodellen.
a. Zur Kommunikation zwischen den Beteiligten (gem. Verständnis)
b. Visualisierung
c. Validierung fachlicher Zusammenhänge
1. Nennen Sie den Zusammenhang zwischen Modellen- und Diagrammen
a. Diagramme sind Sicht auf Modell
1. Nennen Sie die Elemente von Anwendungsfalldiagrammen
a. Akteur
b. Anwendungsfälle
c. Beziehungen
1. Nennen Sie die Beziehungstypen von Anwendungsfällen
a. Extend (optionale ausführung des anderen)
b. Include (wenn eins ausgeführt wird, muss das andere ausgeführt werden)
1. Aus welchen Sichten können Anwendungsfälle konzipiert werden?
a. Kundensicht
b. Produktsicht
1. Unterschiedliche Anwendungsfälle
a. Der Geschäftsanwendungsfall beinhaltet den aus der Unternehmenssicht definierten Geschäftsprozess – ohne Berücksichtigung möglicher systemtechnischer Unterstützung
b. Der Systemanwendungsfall beschreibt aus der Sicht des Anwendungssystems eine Leistung (Funktion), die dem Akteur zur Ausführung seiner Aufgaben zur Verfügung steht.
1. Was sind Szenarien?
a. Ablaufspezifikationen von Anwendungsfällen (alternative/unterschiedliche Möglichkeiten) für unterschiedliche Situationen die auftreten können
1. Merkmale eines Aktivitätsdiagramms
a. Darstellung von einzelnen Schleifen/Prozessen in Bezug auf eine einzelne Aktivität
b. Modellierung des Verhaltens des Systems
c. Modellierung von Geschäftsprozessen mit Reihenfolge der Prozessschritte (Tätigkeiten)
d. Modellierung mittels Knoten und Kanten
e. Objektflüsse (Objektfluss zwischen einer Klasse/Objekt und der Aktivität)
f. Guards (Bedingung bei Entscheidungsknoten)
g. Akteure werden in Swimlanes dargestellt
1. Merkmale eines Sequenzdiagramms
a. Spezifikation von Interaktion zwischen verschiedenen Systemen
b. Darstellung eines Anwendungsfall-Szenarios unter Verwendung fachlicher Klassen (Interaktion zwischen Benutzer, System, fachlichen Klassen)
c. Kommunikationspartner: Akteur, Objekte (Klassen), spezielle Objekte (Systemgrenzen)
d. fachliche (Akteur mit Oberfläche zu Klasse; Akteur kommuniziert nie mit Klasse direkt, immer über Oberfläche)
e. Systeminteraktion (zwischen 2 Systemen(hier als technische Akteure) z.B. Datenbanken; Klassen und menschliche Klassen als Anstoß/Ende erlaubt)
1. Zustandsdiagramm
1. ndsdiagramm
a. Definition und Darstellung der Zustände von Geschäftsobjekten (fachliche Klassen)
b. Verbindung zwischen den Zuständen mit:
i. Triggern(Auslösern), um Zustandsänderungen zu Kennzeichnen
ii. Bedingungen (Guard) für Zustandsänderung
c. Eintretende, austretende & ausführende Ereignisse in einem Zustand
1. Nennen Sie vier Beispiele für Qualitätsanforderungen:
a. Zuverlässigkeit (z.B. Fehlertoleranz)
b. Leitung und Effizienz (z.B. Antwortzeit, Ressourcenbedarf)
c. Sicherheit /z.B. Datenintegrität, Verfügbarkeit, Vertraulichkeit)
d. Bedienarten, Technologievorgaben
1. Nennen Sie die drei Sichten von Softwarearchitekturen
a. Fachliche (A-Architektur)
b. Technische (Implementierungssicht, T-Architektur)
c. Infrastruktursicht (TI-Architektur)
1. Ziel der Softwarearchitektur
a. Fachliches und technisches Design der Anwendung
b. Leitfaden zur Implementierung
c. Quellcode Erzeugung für lauffähiges Programm
1. Was ist eine Referenzarchitektur?
a. Muster für Konkrete Architekturen
b. Ausrichtung auf verschiedene Anwendungsklassen
c. Bündelt Entwurfsmuster
Nennen Sie drei Vorteile von Referenzarchitekturen:
i. Höhere Effizienz in der Entwicklung
ii. Geringere Risiken
iii. Geringere Einarbeitungszeit
1. Was ist eine Komponente
a. Teil eines Anwendungssystems
b. Unabhängigen Anwendungsfällen
1. Wofür werden Schnittstellen im Kontext von Komponenten verwendet?
a. Kommunikation der Komponenten untereinander
1. Was sind Entwurfsmuster?
a. Designvorgaben mit Lösungsvorschlägen (z.B. MVC, Singleton, Data Access Objekt (DAO) à Patterns)
1. Paketdiagramme
a. Gruppierung von Modellelementen und Definition von Namensräumen
b. Schaffung einer Übersicht über große Systeme (Modelle)
1. Modellelemente
a. Import (Modellelemente werden in Paket öffentlich importiert sind nach außen hin sichtbar)
b. Access (Modellelemente werden in Paket privat importiert sind nicht nach außen hin sichtbar