Lesson 1 Flashcards

(36 cards)

1
Q

Nenne vier Gründe, warum Software als komplex gilt.

A
  • Ist interdisziplinär,
  • die Anwendungsbereich ist nicht Informatik
  • Tests sind unvollständig.
  • Unklare Schnittstellen
  • Sicherheitskritische Aspekte (z. B. Lebensmittelhandel, Roboter)
  • Sicherheitsrelevant
  • Die Analyse ist kompliziert
  • Modelle sind schwer zu erstellen
  • Vorhersagen sind schwierig
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Wie unterscheidet sich Software von physischen Produkten?

A

Software kann dupliziert werden, hat (meist) keine physische Repräsentation und oft einen Servicecharakter.

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

Was ist die Kernaussage zum Unterschied zwischen einem Softwareprojekt und der Herstellung eines physischen Produkts?

A

Ein Softwareprojekt ist eher wie die Erstellung einer Fabrik,
nicht wie die eines einzelnen Produkts.

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

Welche Ähnlichkeiten bestehen zwischen Software und physischen Produkten?

A
  • Beide sollen genutzt werden,
  • haben einen Zweck, Preise, Betriebskosten usw.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Nenne fünf Beispiele für Qualitätsmerkmale, die eine Software haben sollte.

A
  • Korrekt,
  • Vorhersehbar,
  • robust,
  • wartbar (maintainable).
  • Zuverlässig
  • Belastbar
  • Sicher
  • Effizient
  • Erweiterbar
  • Flexibel
  • Portabel
  • Konfigurierbar
  • Skalierbar
  • Wartungsfreundlich
  • Wiederverwendbar
  • Gut dokumentiert
  • Einfach zu bedienen
  • Auf dem neuesten Stand der Technik
  • Schnell
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Womit gerät das Streben nach Softwarequalität oft in Konflikt?

A

Mit Geschäftszielen wie ‘
* nicht genug Zeit’,
* ‘nicht genug Geld’ oder
* ‘nicht genug Personal’.

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

Was ist die ‘Over generic flexibility trap’ (Falle der übergenerischen Flexibilität)?

A
  • Unklare Anforderungen (‘Fuzzy requirements’) und
  • sowie eine der Domäne unbekannte Architektur,
  • da mehr Flexibilität komplizierter ist.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Welche Artefakte erfordern ein Qualitätsmanagement?

A
  • Anforderungen analyisiert und erfasst,
  • Dokumentation der Software und
  • Protokolle von Meetings.
  • Quellcode
  • Kompilierte Programme
  • Bereitstellbare Elemente
  • Die ausgelieferte ausführbare Software
  • Alle zugehörigen Verträge
  • Protokolle von Besprechungen
  • Deliral-Protokoll
  • Tests (Ein Test ist hilfreich, wenn seine Qualität gut ist.)
  • Installationshandbuch
  • Beschreibung der Architektur
  • Messung der Benutzerzufriedenheit
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Welche Artefakte erfordern ein Qualitätsmanagement?

A
  • Kosten der Softwareerstellung (Aufzeichnung aller Kosten am Ende eines Projekts.)
  • Erfahrungen des Teams
  • Verwendete externe Bibliotheken (vollständige Liste, Lizenzen, Veröffentlichungsbedingungen, Qualität der
    Dienstleistungen, Verträge usw.)
  • Lizenzen externer Bibliotheken
  • Software-Stack zur Änderung der Software (Ist dieser bekannt? Kann er reproduziert werden?
    Können Sie die Software in zehn Jahren auf einer anderen Hardwarearchitektur neu erstellen?)
  • Anfangsdaten (z. B. zur Initialisierung einer Datenbank)
  • Konfigurationssatz
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Welche Frage stellen ‘Software Stacks’ im Kontext der Qualitätssicherung?

A
  • Ist er bekannt?
  • Kann er reproduziert werden?
  • Kann man die Software in 10 Jahren auf einer anderen Hardware-Architektur neu bauen?
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Wie wird Software-Qualitätsmanagement (SQM) laut der Definition von Sommerville [Som16] definiert?

A

SQM befasst sich damit, sicherzustellen, dass entwickelte Softwaresysteme ‘fit for purpose’ sind (ihren Zweck erfüllen).

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

Welche Kriterien für ‘fit for purpose’ nennt die Definition von Sommerville [Som16] für Software?

A

Sie soll die Bedürfnisse der Nutzer erfüllen, effizient und zuverlässig funktionieren sowie pünktlich und im Budget geliefert werden.

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

Wovon hängt die Definition von Qualität stark ab?

A

Vom Kontext (z.B. Entertainment-System vs. Avionik-Instrument oder Prototyp vs. bezahltes Produkt).

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

Wann ist Qualitätsmanagement im Projekt erforderlich?

A

Vom Start bis zum Ende des Projekts.

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

Von wem sollte das Qualitätsmanagement idealerweise durchgeführt werden?

A

Es sollte von einem separaten Team durchgeführt werden, obwohl es Teil des Projekts ist.

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

Wann sollte Qualitätsmanagement in einem Softwareprojekt betrieben werden?

A

Kurz gesagt: Immer!

17
Q

Welche Aspekte des QM müssen bereits vor Projektbeginn vorhanden sein?

A
  • Der Plan,
  • das Team,
  • die organisatorische Unterstützung und
  • die Standards.
18
Q

Was beschreibt der ‘Software Life Cycle’ (Software-Lebenszyklus)?

A

Er beschreibt die Phasen von Software, beginnend beim Bedarf bis zur Ablösung oder Abschaltung des Systems.

19
Q

Was beschreibt ein ‘Software Process Model’ (Software-Prozessmodell) im Gegensatz zum Lebenszyklus?

A

Es beschreibt eine Lösungsstrategie, um Software zu managen, und kann Phasen (oder Teile davon) aus dem Lebenszyklus unterstützen.

20
Q

Wie unterscheidet man artefakt-zentrierte (artifact-centric) und prozess-zentrierte (process-centric) Modelle?

A
  • Artefakt-basierte fokussieren auf die (Qualität der) zu produzierenden Artefakte, während
  • prozess-basierte die Aufgaben und die Interaktion der Rollen beschreiben.
21
Q

Wann gilt ein Prozessmodell als ‘light-weight’ (leichtgewichtig)?

A

Wenn die Anzahl und der Umfang der zu produzierenden Artefakte gering sind.

22
Q

Was bedeutet ‘Tailoring’ im Kontext von Software-Prozessmodellen?

A

Es beschreibt die Anpassung (adaption) der Modelle an die konkreten Bedürfnisse eines spezifischen Projekts oder Managementprozesses.

23
Q

Welche Phasen des Software-Lebenszyklus deckt das Wasserfallmodell (Waterfall Model) ab?

A

Es beginnt mit der Anforderungsentwicklung und endet mit der Wartung (nicht mit der Abschaltung).

24
Q

Wie wird das Wasserfallmodell klassifiziert (phasenbasiert, gewichtig, zentriert)?

A
  • Es ist phasenbasiert,
  • ‘heavy-weight’ (aufgrund komplexer Artefakte) und
  • artefakt-zentriert.
25
Wie erweitert das V-Modell (V-Model) das Wasserfallmodell?
Es fügt zusätzliche Testphasen hinzu, die auf den in den jeweiligen Phasen erstellten Artefakten basieren.
26
Wie wird das V-Modell klassifiziert?
* Es ist artefakt-zentriert, * phasenbasiert und * 'heavy-weight'.
27
Wie definieren Schwaber et al. [SS17] Scrum?
Als ein Framework, in dem Menschen komplexe adaptive Probleme angehen und dabei produktiv und kreativ Produkte von höchstmöglichem Wert liefern.
28
Wie wird Scrum klassifiziert (zentriert, iterativ, gewichtig)?
Es ist * prozess-zentriert, * iterativ (Daily Scrum, Sprint) und * 'light-weight' (minimale Artefakte).
29
Inwiefern sind Software-Prozessmodelle eine Art Qualitätsmanagement?
Ein gut angewandtes Software-Prozessmodell sollte zu einem qualitativ hochwertigen Produkt führen.
30
Decken Software-Prozessmodelle alle Phasen des Software-Lebenszyklus ab?
Nein, Software-Prozessmodelle decken nicht alle Phasen des Software-Lebenszyklus ab. Sie können Unterstützung für beliebige Phasen des Software-Lebenszyklus oder auch nur für einen Teil dieser Phasen bieten. Das V-Modell beispielsweise endet mit der Auslieferung des Produkts, wodurch die Wartungsphase (im Gegensatz zum Wasserfallmodell) fehlt.
31
Nenne drei Arten, wie Scrum das Qualitätsmanagement unterstützt.
* Backlog als Plan, * Regressionstests zur Fehlervermeidung und * Retrospektiven zur Überprüfung der Methoden und Werkzeuge.
32
Welche offenen Fragen/Probleme gibt es bei Scrum im Bezug auf QM? (Nenne zwei)
* Käufer und Nutzer können ein QM-Team nicht ersetzen * Standards für Code, Dokumente usw. können unklar bleiben.
33
Nenne drei Arten, wie das V-Modell das Qualitätsmanagement unterstützt.
* Es basiert auf Anforderungen (man weiß, was zu bauen ist); * Anforderungen werden getestet; * Dokumente am Phasenende können qualitätsgesichert werden.
34
Welche offenen Fragen/Probleme gibt es beim V-Modell im Bezug auf QM? (Nenne zwei)
* Wenn Anforderungen falsch sind, baut man das falsche Produkt; * Anforderungen können sich während des Projekts nicht ändern.
35
Wovon hängt die Entscheidung ab, ob Scrum oder das V-Modell besser für das QM ist?
* Vom konkreten Projekt, * dem Käufer, * der benötigten Agilität und * der Teamgröße.
36
Was ist Quality Management?
Qualitätsmanagement in der Softwareentwicklung stellt sicher, dass ein System zweckmäßig ist – also die Anforderungen der Nutzer erfüllt, zuverlässig und effizient funktioniert und termingerecht sowie im Budget geliefert wird. Durch Qualitätsmanagement, moderne Technologien und Testmethoden hat sich die Softwarequalität in den letzten 20 Jahren deutlich verbessert.