Klausur Flashcards

1
Q

Welche Phasen gibt es in der Softwareentwicklung? Was wird in diesen gemacht?

A
  • Planungsphase
    • Lastenheft, Glossar
    • Aufwandsschätzung
  • Definitionsphase
    • Pflichtenheft
    • OO-Modellierung mit UML
  • Entwurfsphase
    • Softwarearchitektur
    • Komponenten
  • Einführung, Betrieb, Wartung
    • Abnahme, Installation
    • Weiterentwicklung
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Was ist Software?

A

Software ist eine Menge von Programmen und Daten, zusammen mit begleitenden Dokumente, die für ihre Anwendung notwendig oder hilfreich sind.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was ist Systemsoftware?

A
  • Auch “Basissoftware” genannt
  • Speziell für eine Hardware(-familie) entwickelt
  • Betriebssytem, Compiler, Datenbanken und Dienstprogramme
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Was ist Anwendungssoftware?

A
  • Löst die Aufgaben des Anwenders mithilfe eines Computersystems
  • Setzt auf die Systemsoftware und Hardware auf
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Was beinhaltet ein Computer-System?

A

Anwendungssoftware +

Systemsoftware +

Hardware

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was unterscheidet Softwareentwicklung von der Systementwicklung?

A

Softwareentwicklung:

  • Ausschließliche Entwicklung von Software
  • Verschieden Sprache je nach eingesetzte Technologie

Systementwicklung:

  • Entwicklung eines Systems, das aus Software und Hardware besteht
  • Bei der Entwicklung müssen zusätliche Randbedingungen berücksichtigt werden
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Nennen Sie Eigenschaften von Software!

A
  • Software ist immateriell
  • Software wird nicht gefertigt, nur entwickelt
  • Software unterliegt keinem Verschleiß, Wartung erzeugt neuen Zustand (stellt keinen alten wieder her)
  • Software ist nicht durch physikalische Gesetze beschränkt
  • Software ist schwer zu vermessen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Welche Arten von Qualität kennt Software?

A

Gebrauchsqualität (extern)

  • Relevanz und Effektivität
  • Betriebsqualität
  • Zuverlässigkeit
  • Benutzungsfreundlichkeit

Produktqualität (intern)

  • Korrektheit
  • Robustheit
  • Wartbarkeit
  • Übertragbarkeit

Prozessqualität

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Welche Anforderungen werden an Software gestellt?

A
  • Funktionstreue
  • Qualitätstreue
  • Termintreue
  • Kostentreue
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Was ist Gegenstand der Softwaretechnik?

A

Sie befasst sich mit der professionellen Entwicklung großer Softwaresysteme wobei Anwendungssoftware im Vordergrund steht.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Was sind die wichtigsten Prinzipien der Softwaretechnik?

A
  • Prinzip der Abstraktion
  • Prinzip der Strukturierung
  • Prinzip der Hierachisierung
  • Prinzip der Modularisierung

=> Übergeordnetes Ziel ist die Reduzierung von Komplexität!

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Was ist eine Rolle, Artefakt, Artefaktmuster?

A

Rolle

Beschreibt die notwendigen Erfahrungen, Kenntnisse und Fähigkeiten, über die ein Mitarbeiter verfügen muss, um eine bestimmte Aktivität durchzuführen.

Artefakt

Greifbares Stück Information.

Artefaktmuster

Legt den Inhalt, die Struktur und das Layout von Artefakten fest.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Wie funktioniert das “Wasserfallmodell”?

A
  • Folge von Phasen
  • Phasenabschluss durch Meilenstein
  • Resultat einer Phase ist Eingabe für die nachfolgende Phase
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Wie wird das “Phasenmodell” bewertet?

A

+ Definierte Einbindung der Nutzer
+ Gut strukturiert durch Meilensteine
+ Aufgaben klar definiert
+ Definierte Nutzereinbindung

  • Lange “Latenzzeit”
  • Fehler unvermeidbar
  • Änderungen unvermeidbar
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Was bedeutet das “Tayloring” von Prozessmodellen? Welche Ziele hat es?

A

Anpassung von Prozessmodellen zwischen Standadisierung und kreative Freiheit.

Ziele

  • So wenig Phasen, Artefakte, Rollen wie möglich
  • Optimale Werkzeugunterstützung
  • Jedes Artefakt wird qst
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Was sind die Eigenschaften des inkrementellen und evolutionären Phasenmodells? Wo liegt der Unterschied?

A
  • Produkt wird in lauffähige Teilprodukte eingeteilt
  • Phasen werden mehrfach durchlaufen
  • Gesamtprodukt entsteht in Ausbaustufen

=> Unterschied: Bei inkrementellen Vorgehen steht am Anfang eine vollständige Anforderungsanalyse, welche dann iterativ in mehreren Teilprodukten umgesetzt werden.
=> Evolutionäres Model: Schnell kleine Teilprodukte ausliefern und dann wieder Anforderungen abholen, einbauen. (Funktionsumfang nimmt hier evolutionär zu)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Was sind die Rechte und Pflichten des Kunden bei agiler Entwicklung?

A

Rechte

  • Festlegung des Releaseinhalts
  • Erhalt des vereinbarten Umfangs
  • Änderung der Anforderungen

Pflichten

  • Formulierung der Anforderungen
  • Festlegung von Akzeptanzkriterien
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Was sind die Ziele agiler Softwareentwicklung?

A
  • Effizienz in Hinblick auf Zeit, Kosten, Quantität und Qualität
  • Schnelles Feedback
  • Einbindung des Kunden
  • Eigenverantwortung des Entwicklungsteam
  • Schnell lauffähige Programme

=> “Embrace the change”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Was sind die Rechte und Pflichten der Entwickler bei agiler Entwicklung?

A

Rechte

  • Unabhängige Aufwandsschätzung
  • Risikoeinschätzung
  • Festlegung des Releaseumfangs

Pflichten

  • Einhaltung des Releaseplans
  • Einhaltung der Qualitätsanforderungen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Nennen Sie wichtige Techniken agiler Softwareentwicklung!

A
  • Iteratives Vorgehen mit kurzen Releasezyklen
  • Transparenter Schätzprozess
  • Continous Delivery
  • Userstories
  • Common Codeownership
  • Akzeptanztests
  • Test First
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Was macht ein Phasenmodell?

A

Ein Phasenmodell gliedert die Entwicklung in verschiedene Phasen, in denen vorgegebene Aktivitäten durchgeführt werden. Jede Phase endet mit einem Meilenstein.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Was ist das Ziel einer Durchführbarkeitsanalyse?

A
  • Die fachliche, personelle & ökonomische Machbarkeit aufzeigen
  • Bestehende Risiken und Alternativen finden
  • Am Ende der Planungsphase entscheiden ob Weitermachen oder Projekt beenden
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Was ist der Unterschied zwischen der “Outside-In” und der “Inside-Out”-Modellierung?

A

Outside-In

Zunächst wird die Umwelt des Produkts modelliert und davon ausgehend die Produktinterna.

Inside-Out

Zunächst werden die Produktinterna und anschließend die Umwelt des Produkts modelliert.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Was ist das Ziel beim Anlegen eines Glossars?

A

Definition und Erklärung der Begriffe, Schaffung einer einheitlichen Terminologie

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Was sind die zentralen Einflussfaktoren des “Teufelsquadrates der Softwareentwicklung”?

A
  • Entwicklungsdauer
  • Kosten
  • Quantität
  • Qualität
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Welche Schätzmethoden gibt es?

A

Basismethoden

  • Analogiemethode
  • Relationsmethode
  • Multiplikationsmethode
  • Prozentsatzmethode

Komplexere Methoden

  • Function Point Methoden
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

Wie funktioniert die Analogie-Methode?

Wie ist sie zu bewerten?

A

Vergleich der zu schätzenden Entwicklung mit bereits abgeschlossenen Entwicklungsprojekten anhand von Ähnlichkeitskriterien.

+ Bei vorhandener Datenbasis leicht anwendbar
+ Gute Vorhersagen möglich

  • Intuitive Schätzung auf Basis subjektiver Erfahrungen
  • Fehlende allgemeine Vorgehensweise
  • Fehlende Nachvollziehbarkeit der Schätzung
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

Wie funktioniert die Relationsmethode?

Wie ist sie zu bewerten?

A

Schätzung des Projekts anhand vergangener ähnlicher Projekte anhand formalisierter Vorgehensweise.

+ Bei vorhandener Datenbasis leicht anwendbar
+ Gute Vorhersagen möglich
+ Durch formale Vorgaben objektiver
+ Schätzung ist nachvollziehbar

  • Die einzelnen Aufwandsfaktoren sind grob, keine Details
  • Die Berechnung muss sinnvoll, Produkte vergleichbar sein
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

Wie funktioniert die Multiplikatormethode?

Wie ist sie zu bewerten?

A

Das zu entwickelnde System wird soweit in Teilprodukte zerlegt, bis jedem Teilprodukt ein bereits feststehender Aufwand zugeordnet werden kann (z.B. in LOC).

Produkte werden einer Kategorie zugeordnet. Anzahl der Produkte in Kategorie wird mit dem Kategorieaufwand multipliziert und summiert.

+ Es werden kleinere Einheiten geschätzt
+ Mathematische Berechnungen sind einfach und nachvollziehbar

  • Aufwandsfaktoren haben einen großen Einfluss und müssen sinnvoll gewählt werden
  • Kosten für Teilprodukte steigen überproportional zum Leistungsumfang
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

Wie funktioniert die Prozentsatzmethode?

Wie wird sie bewertet?

A

Bei dieser Methode wird aus dem IST-Aufwand in einer Phase auf den Aufwand in zukünftigen Phasen geschlossen.

+ Gut geeignet um andersweilig geschätze Aufwände zu verteilen
+ Einfache, nachvollziehbare Berechnung
+ Je mehr Phasen abgeschlossen sind, umso genauer

  • Tätigkeiten in der Softwareentwicklung sind so unterschiedlich, dass nur schwer ein Vergleich möglich ist
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

Wie sind die Basis(schätz)-Methoden generell zu bewerten?

A
  • Keine der Basismethoden ist alleine ausreichend
  • Methodenergebnisse von ausreichend Daten abhängig
  • Frühzeitig, grobe Schätzung über die
    • Analogiemethode
    • Relationsmethode
    • Prozentsatzmethode
  • Multiplikationsmethode erst sinnvoll wenn Einflussfaktoren genauer bekannt sind
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

Was ist die Function-Point Methode? Wie funktioniert sie?

A

Bewertet in einer mehrschrittigen Methode den fachlich-funktionalen Umfang eines Systems.

Ablauf

  1. Kategorisierung
  2. Klassifizierung
  3. Gewichtung
  4. Einflussfaktoren
  5. Berechnung bewertete Function Points
  6. Umrechnung in MM
  7. Aktualisierung empirischer Daten
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

Welche Einflussfaktoren kennt die Function-Point Methode?

A
  • Verflechtung mit anderen Systemen
  • Dezentrale Daten
  • Transaktionsrate
  • Verarbeitungslogik
  • Rechenoperationen
  • Logik
  • Wiederverwendbarkeit
  • Datenbestandskonvertierung

=> Jeder Faktor wird mit einer Zahl zwischen 0 - 6 bewertet (3: neutral)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

Was sind die Voraussetzung für den Einsatz der Function Point Methode?

A
  • Produktanforderungen sind bekannt
  • Gesamte Produkt ist im Blick
  • Produkt wird aus Sicht d. Auftraggebers betrachtet
  • Bewertung erfolgt durch MA mit ausreichend Wissen
  • IST-Aufwand muss für Nachkalkulation verfügbar sein
35
Q

Was sind die Vor- und Nachteile der Function Point Methode?

A

+ Leicht erlernbar
+ Gute Transparenz
+ Nachvollziehbarer Schätzprozess
+ Ausgangspunkt sind Anforderungen, nicht LOC
+ Anpassbar an neue Techniken

  • Es kann nur Gesamtaufwand geschätzt werden
  • Zu stark funktionsbezogen
  • Ursprüngliche Faktoren heute überzogen
  • Konzentration auf funktionale Anforderungen
36
Q

Wie ist ein Pflichtenheft aufgebaut?

A
  • Einleitung (Gibt Überblick über Anforderungsdefinition)
    • Ziel
    • Produkteinsatz
    • Produktübersicht (Use-Cases)
  • Übersichtsbeschreibung (Überblick über das Produkt und die allgemeinen Faktoren, die seine Konzeption beeinflussen)
    • Benutzereigenschaften
    • Produkt-Umgebung
    • Produkt-Funktionen
    • Annahmen und Abhängigkeiten
  • Spezifische Anforderungen (Beschreibung aller Details für einen System-Entwurf)
    • Externe Schnittstellen-Anforderungen
    • Qualitätsmerkmale
    • Leistungsanforderungen
    • Funktionale Anforderungen
    • Entwurfsrestriktionen
37
Q

Was sind die Ziele eines Lastenheftes? Wie ist es aufgebaut?

A

Ziele

  • Aufgabe
  • Adressaten
  • Inhalt
  • Form
  • Sprache
  • Zeitpunkt
  • Umfang

Aufbau

  1. _​_Einleitung (Zielbestimmung, Produktübersicht, -Einsatz)
  2. Funktionale Anforderungen (Funktionen, Daten)
  3. Nichtfunktionale Anforderungen (Leistungen, Qualitätsanforderungen)
  4. Ergänzungen

Immer auf Autor, Ziel, Versionsnummer, betriebswirtschaftliches Ziel und Status achten!

38
Q

Was ist das “Spiralmodell”?

Was ist das Ziel dahinter?

A

Stellt Entwickung in Zyklen (“Spirale”) dar. Phasen werden mehrfach spiralförmig durchlaufen. Das Produkt ensteht inkrementell.

Jeder Zyklus enthält:

  1. Festlegung der Ziele mit Rahmenbedingungen
  2. Abschätzen und Reduzierung von Risiken z.B. durch Prototyping
  3. Entwicklung und Test eines Teilprodukts
  4. Planung des nächsten Zyklus

Ziel:

  • Verringerung von Risiken während der Softwareentwicklung
39
Q

Was versteht man unter einer Software-Architektur?

Was ist zu beachten?

A

Die Strukturen eines Softwareproduktes. Diese umfassen Elemente, die extern wahrnehmbaren Eigenschaften dieser Elemente und die Beziehung zwischen den Elementen.

  • Abstrahierte Sicht auf die Element
  • Es gibt verschiedene Sichten auf die Elemente
  • Jedes System hat eine Architektur
  • Architektur beschreibt nur die Außenansicht, nicht deren Innenleben
40
Q

Welche Sichten auf Architektur gibt es? Was sind ihre Eigenschaften?

A
  • Fachliche Sicht
    • Anforderungen
    • Kooperation
    • Benutzbarkeit
  • Statische Sicht
    • Subsysteme
    • Schnittstellen
    • Schichten
  • Verteilungssicht
    • Rechner
    • Prozesse
    • Netzwerke
  • Laufzeitsicht
    • Interaktion
    • Synchronisation
    • Performanz
41
Q

Was ist ein Architekturstil?

Nennen Sie einige Beispiele!

A

Eine prinzipielle Lösungsstruktur, die für ein System durchgängig und unter weitgehendem Verzicht auf Ausnahmen angewandt werden soll.

  • Schichtenarchitektur
  • Subsystemarchitektur
  • Referenzarchitektur
  • Pipes & Filters
42
Q

Was ist “QUASAR”?

A
  • Steht für Qualitäts Software Architektur.
  • Referenzarchitektur mit Architekursichten und Blutgruppen.
43
Q

Was ist die (Quasar) A-Architektur?

A
  • Strukturiert Software aus Sicht der Anwender
  • Lässt sich z.B. aus der CRUD-Matrix ermitteln
  • Funktionen und Zusammenspiel der Komponenten ohne jeden Bezug zur Technik, aber genaue Kenntnisse fachlicher Abläufe!
44
Q

Was ist die (Quasar) TI-Architektur?

Was ist ihr Fokus?

A
  • Beschreibung der Technische Infrastruktur
    • Physische Geräte (Rechner, Drucker…)
    • Installierte System-Software
    • Zusammenspiel Hardware-Software
  • Definiert auch die verwendeten Programmiersprachen

Fokus:

  • Verfügbarkeit
  • Skalierbarkeit
  • Versionswechsel
  • Lastverteilung
45
Q

Was ist die (Quasar) T-Architektur?

A
  • Beschreibt alle Komponenten die unabhängig von der Anwendung sind
    • Zugriffsschicht
    • GUI
    • Fehlerbehandlung
  • Verbindet die A-Architektur mit der TI-Architektur
  • Ist die Ablaufumgebung der A-Software
  • Orientiert sich an:
    • MVC
    • Schichtenmodell
    • Wiederverwendbarkeit
46
Q

Was sind Software-Blutgruppen?

A

Realisieren das Prinzip der Trennung von Zuständigkeiten

  • 0-Software
    • Unabhängig von Anwendung und Technik
    • z.B. Klassenbibliotheken, STL, Collections
  • A-Software
    • Bestimmt durch die Anwendung
    • z.B. Klasse “Passagier”
  • T-Software
    • Bestimmt durch die Technik
    • z.B. APIs, JDBC
  • AT-Software
    • Bestimmt durch Anwendung und Technik: BÖSE
  • R-Software
    • Transformiert fachliche Objekte
    • z.B. JSON <-> XML
47
Q

Wie sieht es mit der Wiederverwendbarkeiten der Software-Blutgruppen aus?

A
  • Blutgruppe-0: Sehr gut wiederverwendbar, STL lässt sich überall einsetzen
  • Blutgruppe-T: Gut wiederverwendbar, JDBC kann alles persistieren
  • Blutgruppe-A: Wiederverwendbar, gleiche Business-logik, mehrere Frontends
  • Blutgruppe-AT: Nicht wiederverwendbar
  • Blutgruppe-R: Nicht wiederverwendbar, unbedeutsam, da generierbar
48
Q

Was ist “WAM”?

A

“WAM” steht für Werkzeug-Automat-Material und ist eine Softwareentwicklungsmethode.

Im Mittelpunkt steht der Arbeitskontext der Anwender und dessen objektorientierte Abbildung auf gebrauchstaugliche Software mit agilen Entwicklungsmethoden.

49
Q

Was ist ein “Werkzeug”, “Automat”, “Material”?

A

Werkzeug: Gegenstand mit denen Menschen im Rahmen einer Aufgabe Materialien verändern oder sondieren.

Automat: Formalisierbare Routine eines Vorgangs, die ohne Unterbrechung laufen kann. Und ein festgelegtes Ergebnis liefert.

Material: Gegenstand der im Rahmen einer Aufgabe Teil des Arbeitsergebniss wird.

(Verkörpern fachliche Prinzipien, nach denen gearbeitet wird)

50
Q

Was sind “Fachwerte”?

A

Benutzerdefinierte Werte, die Werte im Anwendungsbereich modellieren.

Sie verfügen über einen definierten Wertebereich und festgelegte Operationen. Interne Repräsentation bleibt verborgen.

51
Q

Was ist ein “fachlicher Service”?

A

Bündelung fachlichen Wissens und Bereitstellung als Dienstschnittstelle.

  • Bietet Zielgruppe eine Dienstleistungsbündel an
  • Liefert klares Ergebnis
  • Kann interne Materialien oder weitere fachliche Services zur Leistunserbringung verwenden
52
Q

Wie sieht der “WAM-Stil” aus?

A
  • WAM-Metapher werden zu Entwurfseinheiten
  • Es gibt Kategorien von Klassen
    • Werkzeug
    • Material
    • Fachwert
    • Service
  • Für Werkzeuge gibt es klare Konstruktionsanleitung
53
Q

Wo liegt die Motivation zur Verwendung fachlicher Architekturen?

A
  • Technologiezyklen sind kürzer als die von fachlichen Abläufen, daher sollte nicht von Technologie abhängig modelliert werden
    • Absehbare techn. sollten eingeplant werden
    • fachliche Änderungen sollten einfach sein
  • Strukturähnlichkeit zwischen technischer und fachlicher Welt
54
Q

Wie sieht die Referenzarchitektur für fachliche Anwendungsarchitekur aus?

A
55
Q

Was ist das Ziel von “Architektur zentrierte Software-Entwicklung” (AZSE)?

A
  • Große Softwaresysteme beherrschbar machen
  • Architektur soll zentrales Artefakt für alle Stakeholder darstellen
56
Q

Was sind die 7 Symptome schlechten Softwaredesigns?

A
  1. Starrheit
  2. Zerbrechlichkeit
  3. Unbeweglichkeit (Code kaum wiederverwendbar)
  4. Zähigkeit (Änderungen sind nicht vorgesehen)
  5. Undurchsichtigkeit
  6. Komplexität
  7. Wiederholung
57
Q

Was bedeutet “Trennung von Zuständigkeiten”?

A

Jedes Objekt in einem objektorientierten System sollte nur für genau eine klar definierte Aufgabe zuständig sein.

58
Q

Was besagt das “Prinzip der direkten Abbildung”?

A

Die Architektur des Softwaresystems mit ihren Komponenten und Schichten soll die relevante Konzepte des Geschäftsbereichs und Prozesse wiederspiegeln.

59
Q

Was steht hinter dem “Dienstleister-Prinzip”?

A

Jedes Element einer Architektur stellt ein Dienstleistungsbündel (fachlich oder technisch motiviert) für andere Elemente zur Verfügung, ohne die Realisierung offen zu legen.

60
Q

Was bedeutet “Kohäsion”?

A

Grad (Anzahl, Verschiedenheit) der Aufgaben, für die eine Softwareeinheit zuständig ist.

  • Um so weniger Aufgaben, umso höher ist die Kohäsion
  • Streben nach möglichst hoher Kohäsion
61
Q

Was bezeichnet die “Kopplung” von Elementen?

A

Grad der Abhängigkeit der Elemente voneinander.

62
Q

Was besagt das “Law of Demeter”?

A

Eine Methode m eines Objektes o sollte ausschließlich Methoden von folgenden Objekten aufrufen:

  • Von o selbst
  • Von Paramtern von m
  • Von Objekten die m erzeugt
  • Von Exemplarvariablen von o

Hinweise für eine Verletzung sind lange Aufrufketten:

Student.getRecord().getExamEntry(„AIP/2009”).addResult(93);

“Nicht einen Satelliten nach seinen Antriebsdüsen fragen und eine davon veranlassen, etwas mehr Gas zu geben; stattdessen dem Satelliten sagen, dass er sich neu ausrichten soll.”

63
Q

Was sind die Nachteile von zyklischen Abhängigkeiten?

A
  • Schlecht unabhängig von einander zu testen
  • Initialisierungsreihenfolge ist unklar
  • Kein offensichtlicher Einstiegspunkt
64
Q

Was ist ein Entwurfsmuster?

A

Bewährte Lösungsstruktur so aufgeschrieben, dass sie in anderen Kontexten wiederverwendbar sind.

65
Q

Wo ist der Unterschied zwischen Entwurfsmustern und Architekturmustern?

A

Entwurfsmuster

  • Interaktion von einigen Objekten
  • Strukturen im Kleinen

Architekturmuster

  • Teile von Architekturen
  • Größere Strukturen
  • Grenze zu Architekturstil ist fließend
66
Q

Welche Entwurfsmuster kennen Sie?

Wie funktionieren sie?

A
  • Beobachter (Observer)
    • Eine Komponente soll eine andere (oder mehrere andere) Komponenten benachrichtigen ohne die Anzahl oder Komponenten zu kennen.
  • Adapter
    • Wenn ein Modul genutzt werden soll, dessen Schnittstelle nicht mit der benötigten Schnittstelle übereinstimmt. Adapter wrappt das Objekt und stellt gewünschte Schnittstelle zur Verfügung.
67
Q

Nennen Sie ein Architekturmuster!

A

MVC

68
Q

Wozu gibt es Stereotypen (in der Modellierung) und wie werden sie dargestellt?

A

Stereotypen werden verwendet, um andere Modellelemente zu erweitern.

Es gibt Stereotypen für (frei erweiterbar):

  • Interfaces (<<interface>>)</interface>
  • Extensions (<<extend>>)</extend>
  • Includes (<<include>>)</include>
69
Q

Wie wird die Sichtbarkeit von Elementen in der UML dargestellt?

A

Über folgende Zeichen:

    • (Public)
    • (Private)
  • # (Protected)
  • ~ (Package-scoped)
70
Q

Nach welchem Schema werden Anwendungsfälle formuliert?

A
  • Geschäftsprozess
  • Ziel
  • Kategorie (primär, sekundär, optional)
  • Vorbedingung
  • Nachbedingung-Erfolg
  • Nachbedingung-Fehlschlag
  • Akteur(e)
  • Aulösendes Ereignis
71
Q

Was zeigt ein Klassendiagramm?

A

Die statische Struktur eines Systems.

Inhalt:

  • Klassen
  • Attribute
  • Operationen
  • Beziehungen
72
Q

Welche Assoziationen im UML kennen Sie?

A
73
Q

Wie werden interfaces in der UML dargestellt?

A
  • Als Stereotyp <<interface>></interface>
  • Als “Ball-Socket-Notation”
74
Q

Wie werden Kardinalitäten (“Multiplizitäten”) in der UML angegeben?

A
  • n : Genau n Elemten
  • n..m : Zwischen n und m Elementen
  • * : Beliebig viele Elemente
  • n..* : Mindestens n Elemente
75
Q

Was ist ein Objektdiagramm? Wie unterscheidet es sich von einem Klassendiagramm?

A

Objektediagramme stellen mehrere Objektes eines Typs dar.

Objekte werden mit Bezeichner und Typ dargestellt, beides wird unterstrichen.

Rollen können verwendet werden, um Beziehungen darzustellen.

76
Q

Kennen Sie alle Notationen von Klassendiagrammen?

(Zusammenfassung der Notation in der Antwort)

A
77
Q

Was ist ein Sequenzdiagramm? Was stellt es dar?

A
  • Darstellung der Interaktion von Objekten in einem ausgewählten Szenario.
  • Darstellung der Interaktion im zeitlichen Verlauf
  • Nachrichten können synchron oder asynchron verschickt werden
  • Jedes Objekt hat eine Lebenslinie (gestrichelt) + (evtl.) einen Aktivierungsbalken
78
Q

Kennen Sie die Notation von Sequenzdiagrammen ausreichend?

(Zusammenfassung in der Antwort)

A
79
Q

Was ist ein Zustandsdiagramm? Was stellt es dar?

A
  • Beschreibt das Verhalten von Elementen
  • Stellt Zustände und Zustandsübergänge dar
  • Vergleichbar mit endlichen Automaten
80
Q

Kennen Sie die Notation von Zustandsdiagrammen ausreichend?

(Zusammenfassung in der Antwort)

A
81
Q

Welche Kategorien kennt die Function Point Methode?

A
  • Eingabedaten
  • Abfragen
  • Ausgabe
  • Datenbestände
  • Referenzdaten
82
Q

Erklären Sie den Ablauf eines Scrum-Zyklus!

A
  • Sprintplanung: Product Owner wählt aus dem Product-Backlog Anforderungen für das Sprint-Backlog aus
  • Sprint: Immer gleich lang (z.B. 30 Tage); Das Team entwickelt ungestört von außen die Features aus dem Sprint-Backlog (durch Hilfe des Scrum-Masters)
    • Tägliches Daily-Scrum: Was hab ich gestern gemacht? Was behindert mich? Was mache ich heute?
  • Sprint-Review: Am Ende des Sprints präsentiert das Team dem PO die neue Funktionalität
  • Sprint-Retrospektive: Lessons learned.
83
Q

Was ist ein Prozessmodell?

A

Legt fest, in welcher Reihenfolge Aktiväten von welchen Personen durchgeführt werden und welche Artefakte dabei entstehen.

84
Q

Was beschreibt ein Funktionsbaum?

Wie wird er gegliedert?

A

Die Abhängigkeiten von Funktionen eines Systems untereinander

Gliederung:

  • Funktionen
    • Verwaltung einer Hauptressource
    • Immerwährend und nicht durchführbar
  • Prozesse
    • Durchführbare Sammlung von Aktivitäten
  • Elementarprozesse
    • Geschäftlich unzerlegbarer Prozess