• Keine Ergebnisse gefunden

Das V-Modell: Produkte 1/5

N/A
N/A
Protected

Academic year: 2021

Aktie "Das V-Modell: Produkte 1/5"

Copied!
37
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Modelle, Prozesse Wasserfall

Evolutionär Formal Wieder- verwendung Prozess- Wiederholung Aufwands- verteilung V-Modell

Prinzipien

Das V-Modell: Produkte 1/5

• Problem-Beschreibung, Lastenheft

– Beschreibung des Problems/der Probleme, das/die gelöst werden soll – Quellen: Markt-Analyse, Marketing, Kunden-Zirkel etc.

• Kunden-Anforderungen, Pflichtenheft (engl.: Customer Requirements, C-Anforderungen)

– Funktionale und nicht-funktionale Anforderungen an die Software aus Kundensicht

– Dient der Kommunikation von Kunde und Entwickler, Vertragsgrundlage – Sollte mit der Problembeschreibung konsistent sein (Verifikation)!

(2)

Modelle, Prozesse

Vorlesung Software Engineering © Prof. Dr. Peter Knauber

FH Mannheim Folie 21

Wasserfall

Evolutionär Formal Wieder- verwendung Prozess- Wiederholung Aufwands- verteilung V-Modell

Prinzipien

Das V-Modell: Produkte 2/5

• Entwickler-Anforderungen (engl.: Design (Developer) Requirements, D-Anforderungen)

– Funktionale und nicht-funktionale Anforderungen an die Software aus Entwicklersicht

– Dient der internen Entwickler-Kommunikation – Kann (streng) formalisiert sein

– Sollte mit den Kundenanforderungen konsistent sein (Verifikation)!

• System-Entwurf (Architektur, engl.: System Design)

– Beschreibung der Komponenten des Systems mit ihren Schnittstellen (Import, Export) und ihrem Verhalten

– – Lösungssicht (bisher: Problemsicht)

– – Sollte mit den Entwickleranforderungen

konsistent sein (Verifikation)!

(3)

Modelle, Prozesse Wasserfall

Evolutionär Formal Wieder- verwendung Prozess- Wiederholung Aufwands- verteilung V-Modell

Prinzipien

Das V-Modell: Produkte 3/5

• Komponenten-Anforderungen (Spezifikation)

– Komponenten sind Systemteile, die unabhängig voneinander implementiert werden können

– Problemsicht

• Komponenten-Entwurf (Design)

– Beschreibung der benutzten Datenstrukturen und Algorithmen – Lösungssicht

– Sollte mit Komponenten-Anforderungen konsistent sein (Verifikation)!

(4)

Modelle, Prozesse

Vorlesung Software Engineering © Prof. Dr. Peter Knauber

FH Mannheim Folie 24

Wasserfall

Evolutionär Formal Wieder- verwendung Prozess- Wiederholung Aufwands- verteilung V-Modell

Prinzipien

Das V-Modell: Produkte 4/5

• Komponenten-Implementierung (Quellcode)

– Beschreibung der benutzten Datenstrukturen und Algorithmen in einer ausführbaren Programmiersprache

– Sollte mit Komponenten-Anforderungen und -Entwurf konsistent sein (Verifikation)!

• Ausführbare Komponente

– Ergibt sich aus Kompilieren und Linken/Laden des Quellcodes – Sollte gegen ihre Anforderungen getestet werden (Validierung)!

• Ausführbares System

– – Ergibt sich durch Integration seiner

Komponenten

– – Sollte gegen seine Anforderungen getestet werden (Validierung)!

(5)

Modelle, Prozesse Wasserfall

Evolutionär Formal Wieder- verwendung Prozess- Wiederholung Aufwands- verteilung V-Modell

Prinzipien

Das V-Modell: Produkte 5/5

• Benutzbares System

– Ergibt sich durch Anpassung an die Umgebung (Hard- und Software) des Kunden

– Sollte gegen die Kunden-Anforderungen getestet werden (Validierung)!

– Der Kunde "muss" das System akzeptieren, wenn es die Tests besteht

• Benutztes System

– Das System ist im tatsächlichen Einsatz beim Endanwender – Erfahrungen mit dem System dienen der Verbesserung...

(6)

Modelle, Prozesse

Vorlesung Software Engineering © Prof. Dr. Peter Knauber

FH Mannheim Folie 26

Wasserfall

Evolutionär Formal Wieder- verwendung Prozess- Wiederholung Aufwands- verteilung V-Modell

Prinzipien

(7)

Modelle, Prozesse Wasserfall

Evolutionär Formal Wieder- verwendung Prozess- Wiederholung Aufwands- verteilung V-Modell

Prinzipien

Evolutionäre Entwicklung

Grobe Beschreibung

Spezifikation

Entwicklung

Validierung

Anfangsversion

Zwischen- Versionen Zwischen- Versionen Zwischen- Versionen

Endversion

(8)

Modelle, Prozesse

Vorlesung Software Engineering © Prof. Dr. Peter Knauber

FH Mannheim Folie 28

Wasserfall

Evolutionär Formal Wieder- verwendung Prozess- Wiederholung Aufwands- verteilung V-Modell

Prinzipien

Evolutionäre Entwicklung:

Produkt-Sicht

Grobe Aufteilung der Anforderungen 1. Produktteil

2. Produktteil 3. Produktteil

Anforderungs- Analyse

Entwurf

Implementierung

Test / QS

Gesamtes zu entwickelndes

Produkt

(9)

Modelle, Prozesse Wasserfall

Evolutionär Formal Wieder- verwendung Prozess- Wiederholung Aufwands- verteilung V-Modell

Prinzipien

Evolutionäre Entwicklung

• Andere Bezeichnung: Prototyping

• Man unterscheidet zwei Formen evolutionärer Entwicklung

1. Explorative Entwicklung, Pilotsystem-Entwicklung 2. Wegwerf-Prototyping, Prototyping im engeren Sinne

1. Explorative Entwicklung

– Klären der Kunden-Anforderungen

– Schrittweiser Ausbau eines Systemkerns, je nach Kunden-Prioritäten (siehe bisherige Folien)

Æ Siehe auch: inkrementelle Entwicklung

2. Wegwerf-Prototyping

– Technische Machbarkeitsstudien – Demonstrationsobjekte

(10)

Modelle, Prozesse

Vorlesung Software Engineering © Prof. Dr. Peter Knauber

FH Mannheim Folie 30

Wasserfall

Evolutionär Formal Wieder- verwendung Prozess- Wiederholung Aufwands- verteilung V-Modell

Prinzipien

Partner-Diskussion:

Der evolutionäre Ansatz

• Diskutieren Sie mit einem Partner

– Welche Vorteile sehen Sie in einem evolutionären (Prototyping-) Entwicklungsansatz?

– Welche Nachteile bringt ein solcher Ansatz eventuell mit sich?

– In welchen Situationen würden Sie einen solchen Ansatz bevorzugen, in welchen Situationen nicht?

• Dauer: 3 Minuten

(11)

Modelle, Prozesse Wasserfall

Evolutionär Formal Wieder- verwendung Prozess- Wiederholung Aufwands- verteilung V-Modell

Prinzipien

(12)

Modelle, Prozesse

Vorlesung Software Engineering © Prof. Dr. Peter Knauber

FH Mannheim Folie 33

Wasserfall

Evolutionär Formal Wieder- verwendung Prozess- Wiederholung Aufwands- verteilung V-Modell

Prinzipien

Formale Entwicklung

• Grundlage:

Mathematisch-formale Spezifikation

• Transformationen erzeugen schrittweise den Quellcode Æ Komponententest ist unnötig!

• Die Transformationen sind korrekt

Æ Das System entspricht seiner Spezifikation!

Anforderungs- Definition

Formale Spezifikation

Formale Umwandlung

Integration und Systemtest

(13)

Modelle, Prozesse Wasserfall

Evolutionär Formal Wieder- verwendung Prozess- Wiederholung Aufwands- verteilung V-Modell

Prinzipien

Formale Entwicklung

• Probleme

– Die Vorgehensweise erfordert spezielle Fähigkeiten und Training – Einige Systemaspekte sind schwer formal zu spezifizieren

(z.B. Benutzungsschnittstellen)

• Anwendbarkeit

– Kritische Systeme bzgl. Sicherheit (safety, security)

(14)

Modelle, Prozesse

Vorlesung Software Engineering © Prof. Dr. Peter Knauber

FH Mannheim Folie 35

Wasserfall

Evolutionär Formal Wieder- verwendung Prozess- Wiederholung Aufwands- verteilung V-Modell

Prinzipien

(15)

Modelle, Prozesse Wasserfall

Evolutionär Formal Wieder- verwendung Prozess- Wiederholung Aufwands- verteilung V-Modell

Prinzipien

Partner-Diskussion:

Entwickeln mit Wiederverwendung

• Stellen Sie sich vor, Sie arbeiten in einer Firma, die Lohnabrechnungssysteme entwickelt

• Ihr Job:

Sorgen Sie dafür, dass möglichst viel Wiederverwendung von einem Produkt (für einen Kunden) zum nächsten Produkt (für einen anderen Kunden) wiederverwendet werden kann#

• Wie machen Sie das?

Wie sieht Ihr Entwicklungsprozess / -Modell aus?

Zeit: 3 Minuten

(16)

Modelle, Prozesse

Vorlesung Software Engineering © Prof. Dr. Peter Knauber

FH Mannheim Folie 37

Wasserfall

Evolutionär Formal Wieder- verwendung Prozess- Wiederholung Aufwands- verteilung V-Modell

Prinzipien

Wiederverwendungsorientierte Entwicklung:

Variante 1

Systementwurf mit Wiederverwendung Anforderungs-

Spezifikation

Analyse existierender Komponenten

Anpassung der Anforderungen

Entwicklung und Integration

System- Validierung

V2

(17)

Modelle, Prozesse Wasserfall

Evolutionär Formal Wieder- verwendung Prozess- Wiederholung Aufwands- verteilung V-Modell

Prinzipien

Besonderheiten der wiederverwendungsorientierten Entwicklung V1

• Analyse der Komponenten

– Suche nach (zufällig) passenden, bereits vorhandenen Komponenten auf Basis der (vorläufigen, groben) Anforderungen

– Existierende Komponenten passen oft nicht genau

• Anpassung der Anforderungen

– ... an die existierenden Komponenten, sofern möglich

• Systementwurf mit Wiederverwendung

– Entwurf der Systemarchitektur um die ausgewählten vorhandenen Komponenten herum

– Ergänzen von neu zu entwickelnden Komponenten

• Entwicklung und Integration

– Entwickeln der neuen Komponenten

(18)

Modelle, Prozesse

Vorlesung Software Engineering © Prof. Dr. Peter Knauber

FH Mannheim Folie 39

Wasserfall

Evolutionär Formal Wieder- verwendung Prozess- Wiederholung Aufwands- verteilung V-Modell

Prinzipien

Partner-Diskussion:

Wiederverwendung nach Variante 1

• Diskutieren Sie mit einem Partner:

– Welche Vorteile sehen Sie bei dieser Variante der Software-Entwicklung mit Wiederverwendung?

– Welche Nachteile/Probleme können Sie sich vorstellen?

• Dauer: 3 Minuten

(19)

Modelle, Prozesse Wasserfall

Evolutionär Formal Wieder- verwendung Prozess- Wiederholung Aufwands- verteilung V-Modell

Prinzipien

Entwicklung für Wiederverwendung

Wiederverwendungsorientierte Entwicklung, Variante 2: Software Produktlinien

Domänen- Analyse

Domänen- Design

Domänen- Implementierung

Entwicklung mit Wiederverwendung Domänen

Modell Domänen

Architektur

Wiederverwendbare Domänen-Komponenten

System- Anforderungen

Neues System Anforderungs-

Analyse

System- Design

System- Implementierung Scoping

Produkt Plan

Domänen- Auswahl

(20)

Modelle, Prozesse

Vorlesung Software Engineering © Prof. Dr. Peter Knauber

FH Mannheim Folie 43

Wasserfall

Evolutionär Formal Wieder- verwendung Prozess- Wiederholung Aufwands- verteilung V-Modell

Prinzipien

Partner-Diskussion:

Wiederverwendung nach Variante 2

• Diskutieren Sie mit einem Partner:

– Welche Vorteile sehen Sie bei dieser Variante der Software-Entwicklung mit Wiederverwendung?

– Welche Nachteile/Probleme können Sie sich vorstellen?

• Dauer: 3 Minuten

(21)

Modelle, Prozesse Wasserfall

Evolutionär Formal Wieder- verwendung Prozess- Wiederholung Aufwands- verteilung V-Modell

Prinzipien

(22)

Modelle, Prozesse

Vorlesung Software Engineering © Prof. Dr. Peter Knauber

FH Mannheim Folie 50

Wasserfall

Evolutionär Formal Wieder- verwendung Prozess- Wiederholung Aufwands- verteilung V-Modell

Prinzipien

Prozesswiederholung, iterative Entwicklung

• Motivation

– Anforderungen ändern sich immer während der Entwicklung – Iterationen zu früheren Phasen sind in allen größeren Projekten

notwendig

– Iterationen sind unabhängig vom Prozess!

• Bekannte Ansätze

– Spiralmodell

– (Rational) Unified Process, (R)UP

– Inkrementelle Entwicklung, agile Entwicklung

(23)

Modelle, Prozesse Wasserfall

Evolutionär Formal Wieder- verwendung Prozess- Wiederholung Aufwands- verteilung V-Modell

Prinzipien

Das Spiralmodell

Risk analysis Risk

analysis Risk

analysis Risk

analysis Proto- type 1

Prototype 2

Prototype 3 Opera- tional protoype

Concept of Operation

Simulations, models, benchmarks S/W

requirements Requirement

validation Design

Product

design Detailed design Code Unit test

Evaluate alternatives identify, resolve risks Determine objectives

alternatives and constraints

Integration Development

plan Requirements plan

Life-cycle plan REVIEW

(24)

Modelle, Prozesse

Vorlesung Software Engineering © Prof. Dr. Peter Knauber

FH Mannheim Folie 52

Wasserfall

Evolutionär Formal Wieder- verwendung Prozess- Wiederholung Aufwands- verteilung V-Modell

Prinzipien

Die vier Segmente des Spiralmodells

• Ziele aufstellen

– Ziele für diese Projektphase

– Randbedingungen, Risiken erfassen

• Risiken einschätzen und verringern

• Entwicklung und Validierung

– Auswahl eines geeigneten Entwicklungsmodells

• Planung

– Projekt-Review – Nächste Windung

vollziehen?

(25)

Modelle, Prozesse Wasserfall

Evolutionär Formal Wieder- verwendung Prozess- Wiederholung Aufwands- verteilung V-Modell

Prinzipien

Der (Rational) Unified Process

Beginn Ausarbeitung Konstruktion Umsetzung Arbeitsschritte

(26)

Modelle, Prozesse

Vorlesung Software Engineering © Prof. Dr. Peter Knauber

FH Mannheim Folie 54

Wasserfall

Evolutionär Formal Wieder- verwendung Prozess- Wiederholung Aufwands- verteilung V-Modell

Prinzipien

(R)UP

• Best Practices

– Develop iteratively – Manage requirements

– Use component-based architectures – Model visually

– Continuously verify quality – Control change

ÆReduce risk

• Früher Tätigkeitsbeginn

– Alle Rollen involviert – Späte Risiken vorziehen

• Pro Iteration

– Ausführbare, aber meist unvollständige Produkte

– Ein formaler Review, Fokus auf der technischen Qualität der Produkte – Interne Planung des weiteren Vorgehens

• Pro Phase

– Management Review, Fokus: Planerfüllung, Risikomanagement

(27)

Modelle, Prozesse Wasserfall

Evolutionär Formal Wieder- verwendung Prozess- Wiederholung Aufwands- verteilung V-Modell

Prinzipien

Inkrementelle Entwicklung

Zuordnung der Anforde- rungen zu Subsystemen Grobe Definition

der Anforderungen

Entwurf der Systemarchitektur

Entwicklung einer Systemerweiterung

Validierung der Erweiterung

Integration der Erweiterung

Validierung des Systems

Fertiges System

System unvollständig

(28)

Modelle, Prozesse

Vorlesung Software Engineering © Prof. Dr. Peter Knauber

FH Mannheim Folie 56

Wasserfall

Evolutionär Formal Wieder- verwendung Prozess- Wiederholung Aufwands- verteilung V-Modell

Prinzipien

Inkrementelle Entwicklung

• Die Funktionalität des Systems wird in mehreren Schritten, nach Kunden-Priorität geordnet, ausgeliefert

• Bei jedem Inkrement werden die Anforderungen für dieses Inkrement eingefroren; die Anforderungen für spätere Inkremente bleiben noch veränderlich

Æ evolutionäre / explorative Entwicklung

• Relativ neue Ansätze:

agile Entwicklung, z.B. eXtreme Programming (XP)

• Prinzipien

– Pair Programming – Test-Driven Design – Ständiges Refactoring – Daily Build

– No Overtime – ...

(29)

Modelle, Prozesse Wasserfall

Evolutionär Formal Wieder- verwendung Prozess- Wiederholung Aufwands- verteilung V-Modell

Prinzipien

(30)

Modelle, Prozesse

Vorlesung Software Engineering © Prof. Dr. Peter Knauber

FH Mannheim Folie 58

Wasserfall

Evolutionär Formal Wieder- verwendung Prozess- Wiederholung Aufwands- verteilung V-Modell

Prinzipien

Partner-Diskussion:

Aufwandsverteilung bei der Software-Entwicklung

• Diskutieren Sie mit einem Partner:

In welchem Verhältnis stehen die folgenden Größen zueinander:

– Wasserfall-Modell: Entwicklung von kundenspezifischer Software Spezifikation : Entwurf : Implementierung : Integration, Test – Wasserfall-Modell: Entwicklung von Standard-Software

Spezifikation : Entwurf : Implementierung : Integration, Test – Evolutionäres Modell

Spezifikation : Entwicklung : Integrationstest – Allgemein

Erstentwicklung : Wartung/Weiterentwicklung

Notieren Sie sich Prozentzahlen und eine stichwortartige Begründung

• Dauer: 5 Minuten

(31)

Modelle, Prozesse Wasserfall

Evolutionär Formal Wieder- verwendung Prozess- Wiederholung Aufwands- verteilung V-Modell

Prinzipien

Partner-Diskussion:

Aufwandsverteilung

• Diskutieren Sie mit einem Partner:

– Was sagen die verschiedenen Aufwands-/Kostenverteilungen über die Auswahl geeigneter Vorgehensmodelle aus?

• Dauer: 3 Minuten

(32)

Modelle, Prozesse

Vorlesung Software Engineering © Prof. Dr. Peter Knauber

FH Mannheim Folie 62

Wasserfall

Evolutionär Formal Wieder- verwendung Prozess- Wiederholung Aufwands- verteilung V-Modell

Prinzipien

(33)

Modelle, Prozesse Wasserfall

Evolutionär Formal Wieder- verwendung Prozess- Wiederholung Aufwands- verteilung V-Modell

Prinzipien

Allgemeine Prinzipien im SE:

Verständlichkeit

• Geeignete Notation

• Geeignete Strukturierung

• Vollständigkeit

• Konsistenz

• Minimalität

(34)

Modelle, Prozesse

Vorlesung Software Engineering © Prof. Dr. Peter Knauber

FH Mannheim Folie 64

Wasserfall

Evolutionär Formal Wieder- verwendung Prozess- Wiederholung Aufwands- verteilung V-Modell

Prinzipien

Allgemeine Prinzipien im SE:

Divide and Conquer

Deutsch: Teile und Siege (lateinisch: divide et impera)

• Geeignetes Konzept für die Strukturierung

– Komponenten, Typ dieser Komponenten

– Beziehungen zwischen den Komponenten, Typ dieser Beziehungen – Verschiedene Sichten (s. Architektur-Vorlesung)

• Low Coupling

– Minimaler Zusammenhang zwischen Komponenten – "Dünne" Schnittstellen

• High Cohesion

– Hoher innerer Zusammenhalt der Komponenten

• Information Hiding

– Sowenig wie möglich über den Inhalt/die Struktur von Komponenten nach Außen zeigen

– Bekanntgabe des "was", nicht des "wie"

– Kommunikation ausschließlich über die dokumentierten Schnittstellen

(35)

Modelle, Prozesse Wasserfall

Evolutionär Formal Wieder- verwendung Prozess- Wiederholung Aufwands- verteilung V-Modell

Prinzipien

Allgemeine Prinzipien im SE:

Horizontale Verfolgbarkeit

Englisch: Horizontal Traceability

• Explizite Dokumentation von Beziehungen (Abhängigkeit etc.) innerhalb und zwischen Produkten auf einem Abstraktionslevel

• Illustration:

(36)

Modelle, Prozesse

Vorlesung Software Engineering © Prof. Dr. Peter Knauber

FH Mannheim Folie 66

Wasserfall

Evolutionär Formal Wieder- verwendung Prozess- Wiederholung Aufwands- verteilung V-Modell

Prinzipien

Allgemeine Prinzipien im SE:

Vertikale Verfolgbarkeit

Englisch: Vertical Traceability

• Explizite Dokumentation von Beziehungen (Abhängigkeit,

Verfeinerung etc.) innerhalb eines Produkts auf verschiedenen Abstraktionsebenen

• Explizite Dokumentation von Beziehungen zwischen Produkten auf verschiedenen Abstraktionsebenen

• Illustration

(37)

Modelle, Prozesse Wasserfall

Evolutionär Formal Wieder- verwendung Prozess- Wiederholung Aufwands- verteilung V-Modell

Prinzipien

Allgemeine Prinzipien im SE:

Konsistenz

• Explizite Dokumentation, inwieweit Verifikationsbeziehungen geprüft wurden und mit welchem Ergebnis

• Explizite Dokumentation, inwieweit Validierungsbeziehungen geprüft wurden und mit welchem Ergebnis

• Illustration

Referenzen

ÄHNLICHE DOKUMENTE

mone Thyroxin (T 4 ) und trijodthyrqnin (T 3 ) von der Das Endglied des Schilddrüsenhormontransports zwischen Blutbahn zu den Organen erfolgt m erster Linie durch den

methodcall(): Die Methode wird aufgerufen und an den Proxy gesendet FindSurfer(): Der Proxy ermittelt über den Broker die Adresse des Surfers Marschalling: Die zu sendenden

Augsten (Univ. Relationen sind Mengen von Tupeln und nicht geordnet... Salzburg) DB1 – Relationales Modell Sommersemester 2020 22 / 53. Das Relationale

Kwitt (Univ. Relationen sind Mengen von Tupeln und nicht geordnet... Salzburg) DB1 – Relationales Modell Sommersemester 2017 22 / 53. Das Relationale

Augsten (Univ. Salzburg) Datenbanken 1 / Relationales Modell Sommersemester 2014 7 / 114 Das Relationale Modell Schema, Relation, und Datenbank.. Das

Im momentan (Mai 2007) laufenden Übergang zur dritten Stufe werden diese Daten jedoch, zusammen mit zusätzlich zu erfassenden spe- zifischen Metriken, benutzt um die

Der inhaltliche und zeitliche Ablauf eines V-Modell Projektes wird durch eine Pro- jektdurchf¨uhrungsstrategie festgelegt, in der die zu erreichenden Projektfortschrittsstufen durch

Seit dem Abschluss seines Studiums der Informatik an der Technischen Universität München arbeitet Herr Vogel als wissenschaftlicher Mitarbeiter am Lehrstuhl für