Vorgehensmodelle Flashcards

1
Q

Softwareprozess Modell

A

ist eine abstrakte Darstellung eines Prozesses.

Es präsentiert eine Beschreibung eines Prozesses von etwas besonderer Perspektive.

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

Wasserfallmodell Merkmal

Phasen des Wasserfallmodells

A
  • Grundlegende Prozessabläufe als eigenständige Phasen
  • werden nacheinander abgeschlossen

Phasen:
Analyse und Definition der Anforderungen:
-Detaillierte Systemspezifikation
- Zusammenarbeit mit Systembenutzern

System und Softwareentwurf

  • Anforderungen für Hard- und Software
  • Erkennen und Beschreiben der grundlegenden Softwaresysteme und ihrer Beziehung zueinander
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Wasserfallmodell Nutzung und Vorteile

A

Nutzung:
- Meistens für große Projekte

Vorteile:

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

Inkrementelle Entwicklung Merkmal

A

Das System wird nicht als “Gesamtpaket” ausgeliefert

Entwicklung und Auslieferung ist in Komponenten geteilt, wobei jedes “Increment” Teil der geforderten Gesamtfunktion ist

Die Benutzeranforderungen und wichtigsten Anforderungen an die Software sind Teil der ersten Auslieferungen

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

Inkrementelle Entwicklung Vorteile

A

Systemfunktion kann früher bereitgestellt werden

Die ersten Einzelteile sind Prototypen, daraus kann man Anforderungen für die späteren Einzelteile ableiten

Weniger Fehlschlagrisiko für das ganze Projekt

Geringe Kosten für angepasste Kundenanforderungen

Bessere Rückmeldung vom Kunden (Softwaredemonstration)

Bessere Interpretation für den Kunden

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

Implementierung und Modultests

A

Umsetzung in Programmeinheiten

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

Integration und Systemtests

A

Sicherstellung ob Softwareanforderungen erfüllt sind

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

Betrieb und Wartung

A

Korrigieren von neu entdeckten Fehlern
Verbesserung der Implementierung
Möglicherweise neue Anforderungen einlegen

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

Wasserfallmodell Nachteile

A

Tests sind zu spät > hohe Kosten für nachträgliche Änderungen
Hohe Kosten für Dokumentation
Neue oder veränderte Anforderungen des Kunden sind aufwändig zu Implementieren

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

Inkrementelle Entwicklung Nachteile

A
  • Der Prozess ist nicht sichtbar
  • Manager brauchen regelmäßige Zwischenversionen um den Fortschritt messen zu können
  • Systemstruktur wird schwächer
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Evolutionäre Entwicklung - Ziel

A

Aus abstrakten Spezifikationen möglichst schnell ein System entwickeln. Mit Hilfe des Kunden wird das System auf die Bedürfnisse der Kunden abgestimmt.

Erforschende Entwicklung
man arbeitet mit dem Auftraggeber zusammen, Anforderungen müssen klar definiert sein, Änderungen durch den Auftraggeber fließen mit ein

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

Evolutionäre Entwicklung

A

Wegwerf-Prototyping > System-Anforderungen verstehen. Man hat lückenhafte Anforderungen um festzustellen was man braucht

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

Evolutionäre Entwicklung - Nachteile

A
  • Mangelnde Prozess-Sichtbarkeit
  • oftmals schlecht strukturiert
  • Eventuell sind spezielle Fähigkeiten gefordert
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Evolutionäre Entwicklung - geeignet für:

A
  • kleine oder mittlere Systeme
  • für Teile von großen Systemen wie ein GUI
  • für kurzlebige Systeme
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Komponentenbasierte Softwareentwicklung

A

Man benutzt verschiedene Vorhandene Komponenten oder COTS (Commercial-off-the-shelf: in großer Stückzahl völlig gleichartige Systeme) und integriert diese dann in das System
- eigenständige käufliche Systeme

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

Komponentenbasierte Softwareentwicklung

Vorteile und Nachteile

A

Vorteile:

  • geringe Kosten und Risiken durch geringe, zu entwickelnde Software
  • schnelle Fertigstellung und Lieferung

Nachteile:

  • Kompromisse bei den Anforderungen
  • Möglichkeit der Weiterentwicklung geht teilweise verloren (Copyright)
17
Q

Extreme Programmierung

A
  • Die Funktionen werden in sehr kleinen Komponenten entwickelt
  • Konstante Verbesserung des Codes
  • User müssen sich mit ins Entwicklungsteam einbringen
  • Programmierung immer zu zweit (Pair-Programming)
  • Programm für Programm-Tests schreiben
18
Q

Spiralförmige Entwicklung

A
  • Der Entwicklungsprozess ist eine Spirale, kein “Prozess”
  • Jeder “Kringel” ist eine Phase in einem Prozess
  • Keine festgelegten Phasen wie “Spezifikation”, es wird gemacht was gebraucht wird
  • Risiken werden abgeschätzt
19
Q

Spiralmodellsektoren

Zielfestlegung
Risikoabschätzung und Reduktion

A

Zielfestlegung

  • Ziele für die aktuelle Phase werden bestimmt
  • Rahmenbedingungen geklärt
  • Risiken werden aufgelistet

Risikoabschätzung und Reduktion

  • Risiken werden analysiert und minimiert
  • Prototyp bau möglich
20
Q

Spiralmodellsektoren

Entwicklung und Validierung
Planung

A

Entwicklung und Validierung
- je nach Art der Risiken wird ein passendes Entwicklungsmodell ausgewählt (z.B. Wasserfallmodell)

Planung
- Projekt wird überprüft und die nächste Phase der Spirale wird geplant

21
Q

Prozess Wiederholung (iteration)

A
  • Systemanforderungen entwickeln sich immer (weiter) während des Projektes
  • in großen Projekten werden vorherige Stufen des Projektes nochmals überarbeitet
  • Iteration kann auf jedes “generic Process model” abgewandt werden

Es gibt zwei Herangehensweisen

  • Inkrementelle Auslieferung
  • Spiralförmige Entwicklung