Kapitel 4.1: SWE - Prozessmodelle --> Qualitätseigenschaften von Software Flashcards
Beschreiben Sie die Eigenschaften einer „guten Software“!
Ihr Unternehmen plant den Einsatz eines Prozessmodells für die Entwicklungsprojekte im Bereich der Entwicklung Eingebetteter Systeme. Ihr Geschäftsführer war letzthin auf einem Management-Seminar und kennt nun die wichtigsten Schlagworte. Als QM-Beauftragter des Unternehmens bekommen Sie die Aufgabe, für eine Entscheidungsvorlage die Vor- und Nachteile der Alternativen „Wasserfallmodell“, Evolutionäres Spiralmodell“ und „inkrementelles Modell“ vorstellen. (a) Welches sind die relevanten Parameter für die Auswahl des Prozessmodells? (b) Führen Sie eine Bewertung der beiden o.g. Prozessmodelle durch!
(c) Beschreiben Sie die Qualitätscharakteristiken, die im Softwareentwicklungsprozess berücksichtigt werden müssen. Beschreiben Sie für jeden die Indikatoren, an Hand derer Sie die Erreichung des jeweiligen Qualitätsziels überprüfen können!
Referring to the Capability Maturity Model (levels 2 and 3) the essential quality characteristics and indicators for processes are as stated in the following table.
Auswahl eines Prozessmodells
Wählen Sie ein jeweils passendes Prozessmodell für die folgenden Projekte aus und begründen Sie Ihre Entscheidung:
(a)
Entwicklung eines graphischen Benutzeroberfläche (graphical user interface, GUI) für ein Textverarbeitungssystem.
Teamgröße 25 Entwickler
Programmkomplexität 30k LOC
Lebensdauer 5 Jahre
Phase model or waterfall model,
Reasons:
- small project, short life cycle
- well-known requirements, easy to learn
Alternativ: V-Modell mit hierarchischem Vorgehen
Um Missverständnisse zu vermeiden: Gemeint ist nicht das V-Modell gemäß der kompletten formalen Vorgaben.
(b)
Entwicklung eines elektronischen Steuergeräts für ein Elektromobil.
Teamgröße 3 Entwickler
Programmkomplexität 3k LOC
Lebensdauer 10 Jahre
Evolutionary model
Reasons:
- complex system, medium life cycle
- requirements hard to establish because of complex interactions with physical environment (car system )
- difficult to test because physical environment (car system) often not yet available when development is started
- Often a set of prototypes (named engineering samples A, B, C, …) needs to be developed and tested. Each prototype serves as a basis for a subsequent development cycle. The last engineering sample goes into production only.
(c)
Entwicklung eines Abrechnungssystems für eine Versicherungsgesellschaft.
Teamgröße 50 Entwickler
Programmkomplexität 400k LOC
Lebensdauer 25 Jahre
Incremental model
Reasons:
- huge and long project, long life cycle
- due to the long life span it’s impossible to achieve the realization in a single development thread
- a first version will not comprise the full range of functions yet
- more advanced versions extending the system and adapting it to changing requirements will follow later
Generell: Attention: The team size and the LOC are not always an indicator of weather a project is huge and long or not.
Wasserfallmodell
(a) Ergänzen Sie das unten stehende Wasserfallmodell!
siehe Bild(4)
siehe Bild(5)
(b)
Benennen Sie einige Vorteile des Wasserfallmodells!
Advantages of the waterfall model
- It motivates to a disciplined proceeding in all project phases
- Documentation of every phase, documentation of all modifications
- Milestones for project planning and control are transparent
- Also maintenance can be managed
(c)
Erklären Sie, warum es im Entwicklungsprozess einige Schleifen / Iterationen geben muss!
- incomplete specifications, e.g. missing requirements or constraints
- inconsistent specifications, e.g. requirements are in conflict with other requirements
- ambiguous specifications, e.g. requirements are not precise and might be interpreted differently by different persons
(d)
Worin besteht eine der hauptsächlichen Einschränkungen des Wasserfallmodells, die sich insbesondere bei der Einbeziehung externer Kunden bemerkbar macht?
- customer accepts requirements specification although not fully understanding it (same as ordering a new family house based on a written description what it should look like)
- and ends up to discover important deficiencies after the product is physically available only
→ i.e. discrepancies that could have been avoided at the beginning of the project are likely to crop up at the very end of the project only (the upshot then is “I know this is what I asked for, but it’s not what I really wanted.”)
Iterative Prozessmodelle
Ein Kollege aus der Software-Entwicklungsabteilung bemerkt in einem der obligatorischen Gespräche an der Kaffeemaschine:“Sowohl das Wasserfallmodell als auch das Spiralmodell enthalten Schleifen. Einer oder mehrere Entwicklungsschritte werden mehrfach durchlaufen. Für mich sind die beiden Modelle identisch“.
(a) Ist die Aussage des Kollegen korrekt?
of course, NO!
(b) Bitte begründen Sie und nennen Sie evtl. vorhandene Unterschiede oder Gemeinsamkeiten!
siehe Bild(7)