software-lebenszyklus

12
DHBW Stuttgart, Informatik,SW-Engineering , Kapitel 1.1 Sep 2012 Seite 1 Software-Lebenszyklus Inhalt Vorgehensmodell/Phasenplan Wasserfallmodell WAS-Beschreibung WIE-Beschreibung Weitere Phasenmodelle: Spiral-Modell, V-Modell, RUP Extreme Programming SW-Qualitätssicherung (SW-QS) Qualitätskosten (aus Projektsicht) Konstruktive/analytische QS Qualitätsmodell / Qualitätsmerkmale Review Beispiel: Qualitätsmodell für Pflegbarkeit Christoph Riewerts

Upload: ishmael-paul

Post on 03-Jan-2016

89 views

Category:

Documents


0 download

DESCRIPTION

Software-Lebenszyklus. Inhalt Vorgehensmodell/Phasenplan Wasserfallmodell WAS-Beschreibung WIE-Beschreibung Weitere Phasenmodelle: Spiral-Modell, V-Modell, RUP Extreme Programming SW-Qualitätssicherung (SW-QS) Qualitätskosten (aus Projektsicht) Konstruktive/analytische QS - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Software-Lebenszyklus

DHBW Stuttgart, Informatik,SW-Engineering , Kapitel 1.1 Sep 2012

Seite 1

Software-Lebenszyklus

Inhalt • Vorgehensmodell/Phasenplan

– Wasserfallmodell• WAS-Beschreibung• WIE-Beschreibung

– Weitere Phasenmodelle:• Spiral-Modell, V-Modell, RUP

– Extreme Programming• SW-Qualitätssicherung (SW-QS)

– Qualitätskosten (aus Projektsicht)– Konstruktive/analytische QS– Qualitätsmodell / Qualitätsmerkmale– Review– Beispiel: Qualitätsmodell für Pflegbarkeit

Christoph Riewerts

Page 2: Software-Lebenszyklus

DHBW Stuttgart, Informatik,SW-Engineering , Kapitel 1.1 Sep 2012

Seite 2

Studie

Analyse

Entwurf

Implementierung

Betrieb

2 Entwicklungsphasen zur Beschreibung, was realisiert werden soll.

2 Entwicklungsphasen zur Beschreibung, wie das Produkt realisiert werden soll

Wie heißt dieses Vorgehensmodell?

SW-LebenszyklusPhasenmodell

Page 3: Software-Lebenszyklus

DHBW Stuttgart, Informatik,SW-Engineering , Kapitel 1.1 Sep 2012

Seite 3

SW-LebenszyklusPhasenmodell

Tätigkeiten in der Phase „Studie“ (Projekt-Vorphase):

• Definition der Projektziele• Situationsanalyse (grobe

Darstellung)• Darstellung des SOLL-Ablaufs• Gegenüberstellung der SOLL/IST-

Abläufe• Vorstellung der Projektfinanzierung• Terminvorstellungen für den

Projektablauf

Tätigkeiten in der Phase „Analyse“:

• Systemabgrenzung• Zielsetzung• Zustandsanalyse (fein)• Analyse der Datenflüsse und Funktionen

(funktionsorientierter Ansatz)• Analyse der Kontrollflüsse und

Ablaufbedingungen (ablauforientierter Ansatz)

• Analyse der Daten und Datenbeziehungen (datenorientierter Ansatz)

• Qualitätsziele• Verifikation der Analyseergebnisse (mittels

eines CASE-Tools)

Page 4: Software-Lebenszyklus

DHBW Stuttgart, Informatik,SW-Engineering , Kapitel 1.1 Sep 2012

Seite 4

SW-LebenszyklusPhasenmodell

Tätigkeiten in der Phase „Entwurf“:

• Festlegen der Software-Architektur

(Client-Server, Kommunikation, Schnittstellen, …)

• Festlegen der Hardware-Konfiguration

• Festlegen der modularen Software-Struktur

• Entwurf der Benutzeroberfläche (Layout, Navigation)

• ggfs. Datenbankentwurf• Entwurf des Testplans

Tätigkeiten in der Phase „Implementierung“:

• Übersetzen der Module und Komponenten• Modul- und Komponententest• Integrationstest• Erstellen der Benutzerdokumentation:

– Systembeschreibung (für die Weiterentwicklung)

– Bedienungsanleitung (für die Benutzung)

– Betriebsanleitung (für das Rechenzentrum)

Tätigkeiten in der Phase „Betrieb“: Inbetriebnahme, Abnahme, Störungs- und Fehlerbeseitigung, Schulung der Benutzer, Weiterentwicklung

Page 5: Software-Lebenszyklus

DHBW Stuttgart, Informatik,SW-Engineering , Kapitel 1.1 Sep 2012

Seite 5

SW-LebenszyklusPhasenmodell

Weitere Phasenmodelle:• Spiral-Modell

– iterativer Entwicklungsprozess– Definition von Prototypen

• V-Modell:– seit 1986 in Deutschland entwickelt (von mehreren Hochschulen)– vorgesehen für IT-Projekte der öffentlichen Hand, jedoch auch in der

Privatwirtschaft eingesetzt.– keine strikte zeitliche Abfolge der Aktivitäten

• RUP (Rational Unified Process)– von der IBM entwickelt– objektorientiertes Vorgehensmodell– benutzt UML (Unified Modeling Language)

Page 6: Software-Lebenszyklus

DHBW Stuttgart, Informatik,SW-Engineering , Kapitel 1.1 Sep 2012

Seite 6

SW-LebenszyklusSpiral-Modell

Page 7: Software-Lebenszyklus

DHBW Stuttgart, Informatik,SW-Engineering , Kapitel 1.1 Sep 2012

Seite 7

SW-LebenszyklusV-Modell (1von2)

Anforderungs-definition

Grobentwurf

Feinentwurf

Modulimple-mentation

Abnahmetest

Systemtest

Integrationstest

Modultest

Anwendungsszenarien

Testfälle

Testfälle

Testfälle

Validierung

Verifikation

Page 8: Software-Lebenszyklus

DHBW Stuttgart, Informatik,SW-Engineering , Kapitel 1.1 Sep 2012

Seite 8

SW-LebenszyklusV-Modell (2von2)

Konfigurations-struktur

Projekt planenund kontrollieren

PM

SE

QS KM

Plandaten Istdaten SEU

SEU

QS-Ergebnis

Ist-daten

QS-Anforderung

Produkt

Produktentwickeln

QS-Anforderungen

vorgeben

Produkteprüfen

Produkte/

Rechteverwalten

Produktstrukturplanen

Plan-daten

SEU SEUPlan-daten

Plan-daten

Ist-daten

Ist-daten

Produkt

Rechte

Voraussetzungen schaffenund Softwareentwicklungs-

umgebung (SEU) bereitstellen

Page 9: Software-Lebenszyklus

DHBW Stuttgart, Informatik,SW-Engineering , Kapitel 1.1 Sep 2012

Seite 9

SW-LebenszyklusRUP

Process Workflows

Supporting Workflows

ManagementEnvironment

Business Modeling

Implementation

Test

Analysis & Design

Preliminary Iteration(s)

Iter.#1

Iter.#2

Iter.#n

Iter.#n+1

Iter.#n+2

Iter.#m

Iter.#m+1

Deployment

Configuration Mgmt

Requirements

Elaboration TransitionInception Construction

Iterationen umfassen jeweils alle Workflows einer Phase

Page 10: Software-Lebenszyklus

DHBW Stuttgart, Informatik,SW-Engineering , Kapitel 1.1 Sep 2012

Seite 10

SW-LebenszyklusExtreme Programming (XP)

XP ist gedacht für kleinere Projekte mit unklaren und sich immer wieder ändernden Anforderungen

Das Team besteht aus 2 - 12 Mitgliedern (Kunde(!), Programmierer, Manager, Trainer, Verfolger)

Der Kunde ist fester Bestandteil des Teams. Er definiert, priorisiert und entwickelt die Testfälle für die User Stories

Die Programmierung (incl. Test) erfolgt in Paaren (pair-programming) mit Rotation der Partner

Gemeinsame Verantwortung der Gruppe für den Code: Jeder kann Änderungen am Code vornehmen

Test Driven Development (TDD): Alle Tests sollten möglichst automatisch ablaufen Entwickler schreiben Unit Tests, Kunden schreiben funktionale Tests Zuerst Testfall entwerfen, dann Funktionalitäten solange implementieren, bis

Testfall erfolgreich Testfall als Spezifikation der Anforderungen Test als Kriterium für Anforderungserfüllung

Page 11: Software-Lebenszyklus

DHBW Stuttgart, Informatik,SW-Engineering , Kapitel 1.1 Sep 2012

Seite 11

SW-LebenszyklusExtreme Programming

Der Prozess ist in monatliche Releases gegliedert, die wiederum in wöchentliche Iterationen von mehreren Tasks

Die sequentielle Integration garantiert zu jeder Zeit ein lauffähiges System

Die Entscheidungskompetenz liegt bei den Entwicklern und beim Kunden. Das Management zeigt lediglich zu lösende Probleme und Fortschritte des Teams auf

Strenge Einhaltung von Richtlinien: simple design, develop for today, refactoring

Die Teammitglieder müssen erfahren und kommunikativ sein

XP geht von einer 40 Stunden Woche aus. Überstunden sollten überflüssig sein

Page 12: Software-Lebenszyklus

DHBW Stuttgart, Informatik,SW-Engineering , Kapitel 1.1 Sep 2012

Seite 12

SW-LebenszyklusExtreme Programming

Vorteile von XP Vollständige Erfüllung der Anforderungen wegen der engen

Kopplung von Auftraggeber und Auftragnehmer Gute Termineinhaltung wegen des strengen Zeitrasters Hohe Qualität wegen der umfangreichen Tests und der Richtlinien Große Motivation des Teams wegen Entscheidungskompetenz und

Verantwortungsübernahme

Nachteile von XP Das Fehlen einer expliziten Spezifikation und einer

Entwurfsdokumentation wird häufig kritisiert spätere Änderungen sind nur unvollständig berücksichtigt Das gemeinsame Code-Eigentum kann zu Problemen führen Es gibt keine empirische Untersuchung, die belegt, dass XP anderen

Vorgehensweisen überlegen ist