Projektmanagement und Softwareentwicklung

Ähnliche Dokumente
Vorlesung Softwaretechnik - Vorgehensmodelle, V-Modell XT -

Projektmanagement. Dokument V 1.1. Oliver Lietz - Projektmanagement. Wie kommt es zu einem Projektauftrag? Ausführung

Softwaretechnik. Fomuso Ekellem WS 2011/12

Was versteht man unter einem Softwareentwicklungsmodell?

Software Engineering

SOFTWARETECHNIK. Kapitel 7 Vorgehensmodelle. Vorlesung im Wintersemester 2012/13 FG System- und Software-Engineering Prof. Dr.-Ing.

Wirtschaftsinformatik I Teil 2. Sommersemester Übung

Vorlesung Softwaretechnik - Vorgehensmodelle, V-Modell XT -

IT-Projekt-Management

Software Entwicklung 2. Prozessmodelle

Das Wasserfallmodell - Überblick

Obligatorisches Lesen Vorgehensmodelle (Phasenmodelle)

Der Projektmanager (nach GPM / IPMA) Fragen zur Selbsteinschätzung und für die Prüfungsvorbereitung. Kapitel B Vorgehensmodelle

3 Organisation. Prozeßmodelle [durchweg gekürzt] Software-Management

Software-Lebenszyklus

1.2 System- und Softwareentwicklungsprozesse

IT-Projektmanagement Teil 2: Der Gegenstand von SW-Projekten Kaiserslautern, WS 2008/2009 Dr. Gerhard Pews

Übungen Softwaretechnik I

Vortrag Iterative Prozessmodelle/SCRUM

Grundlagen Software Engineering

Prozess-Modelle für die Softwareentwicklung

SCRUM. Agile Development

MDRE die nächste Generation des Requirements Engineerings

Einführung in die Informatik

Inhaltsverzeichnis. Teil I Grundlagen 1

Übung Einführung in die Softwaretechnik

HERMES de Suisse 2011

Herkömmliche Softwareentwicklungsmodelle vs. Agile Methoden

Softwareprozessmodelle

Übung Einführung in die Softwaretechnik

QS 1 QS-Initialisierung. QS 3 Ergebnisprüfung vorbereiten. QS 4 Ergebnis prüfen. Prüfprotokoll. QS 5 Durchführungsentscheidung

Unit 8: ARIS and IS Modeling

Agile So)wareentwicklung mit dem V- Modell XT. Agile So)wareentwicklung mit dem V- Modell XT Chris=an Hemauer

Inhaltsverzeichnis Die V-Modell XT Grundlagen IT-Strategie und Implementierung unternehmensweiter Vorgehensmodelle

Praktikum Grundlagen der Programmierung. Diverse Grundlagen. Dr. Karsten Tolle

Grundlagen des Software Engineering

Inhaltsverzeichnis. Grundlagen und Begriffsbildung

Technologiepark Paderborn Telefon: / XX XX XX Mobil: 01XX / XX XX XX XX XXXXXXX@mail.upb.de

Modellgetriebene Softwareentwicklung: Zusammenfassung und Ausblick. 7. Februar 2013

Software Engineering

Wissenschaftliche Vertiefung. Lukas Ruckwied Softwaretechnik und Medieninformatik / 17

Agile HW-Entwicklung und virtuelle Inbetriebnahme im Maschinenbau

INFOGEM AG Informatiker Gemeinschaft für Unternehmensberatung. Robust und Agil gegeneinander oder miteinander?

WBS. Sprint. Projektmanagement und Agile Methoden Widerspruch oder Ergänzung? Ing. Markus Huber, MBA

Bibliografische Information der Deutschen Nationalbibliothek:

Werkzeuggestützte Softwareprüfung

Projektmanagement: Prozessmodelle

IT-Projektmanagement

PROJEKTMANAGEMENT GRUNDLAGEN_2

Grundlagen Software Engineering

1.4! Einführung. Systemmodellierung. Methoden und Werkzeuge

Modellgetriebene Softwareentwicklung. Gabriele Taentzer WS 2012/2013 Philipps-Universität Marburg

Software Engineering

Softwaretechnik. Softwareprozesse und Vorgehensmodelle. Prof. Dr. Matthias Hölzl Joschka Rinke. 21. Januar 2016

Klassische vs. agile Methoden der Softwareentwicklung

Übungsaufgaben zum Software Engineering: Management

V-Modell XT Optimierung der IT-Systementwicklung

Software Engineering

17 Architekturentwurf Vorgehen und Dokumentation

The Rational Unified Process. Eine Einführung von T. Langer und A. Nitert

Projektstrukturplan Lehrveranstaltung Projektmanagement

Methoden der Softwareentwicklung

Software Engineering (SE) 2) Phasenübergreifende Verfahren

Inhalt Einleitung...1 Einführung in das Risikomanagement...7 Prinzipien wirkungsvollen Risikomanagements... 57

Die praktische Bedeutung der verschiedenen Vorgehensmodelle in der Software-Entwicklung

Software- und Systementwicklung

Objektorientierte Software-Entwicklung

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Softwareentwicklungsprozesse optimieren. wie Sie die Vorteile klassischer und agiler Methoden erfolgreich kombinieren

Prozess-Modelle. Modelle. Einführung in UML

Gnädinger & Jörder Consulting Assuring Project Success

Lehrplan: Projektmanagement

Verbesserung von Softwareprozessen mit CMMI

Einführung in die Softwaretechnik 9. Softwareprozesse

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II

Software Engineering. 3. Analyse und Anforderungsmanagement

INFOGEM AG Informatiker Gemeinschaft für Unternehmensberatung. Robust und Agil gegeneinander oder miteinander?

V-Methode, RUP, Waterfall oder was?

Scrum in Theorie und Praxis.

Monika Walter Stefan Nieland / Werner Oertmann (Hrsg.)

Notationen zur Prozessmodellierung

Software Engineering. Prof. Dr. Stefan Enderle NTA Isny

Objektorientierte Systementwicklung

Di 7.2. Sprinten mit dem V-Modell XT. Olaf Lewitz. January 26-30, 2009, Munich, Germany ICM - International Congress Centre Munich

IT-Basics 2. DI Gerhard Fließ. Vorgehensmodelle

Das V-Modell: Produkte 1/5

Softwareentwicklungsprozesse. 18. Oktober 2012

Informationssystemanalyse Lebenszyklusmodelle 3 1. Lebenszyklusmodelle sollen hauptsächlich drei Aufgaben erfüllen:

Kapitel 2: Der Software-Entwicklungsprozess

Der Rational Unified Process

Klassische und agile Vorgehensmodelle Ein historischer Überblick

Professionelles Projektmanagement in der Praxis. Veranstaltung 7 Teil 1 ( ):

Die Phasen der Software-Entwicklung

Softwaretechnik. Fomuso Ekellem WS 2011/12

3. Vorgehensmethoden/Prozessmodelle

Agile Methoden in der Softwareentwicklung

Modell zur Einflussanalyse Ein Modell zur Einflussanalyse von Methodenänderungen in Entwicklungsprozessen

Requirements Management mit RequisitePro. Rational in der IBM Software Group. Der Rational Unified Process als Basis für die Projektarbeit

Übungen zur Softwaretechnik

Transkript:

Projektmanagement und Softwareentwicklung Prozess und Einteilung Prof. DI Dr. Erich Gams htl wels.e.gams@eduhi.at ITP Theorie HTL-Wels

Softwareentwicklung und Projektmanagement Softwareentwicklung Projektmanagement Qualitätsmanagement Projektstart Projektende Prof. DI Dr. Erich Gams 25.09.2014 2

Interessantes zu Risiken in Softwareentwicklungsprojekten 50% aller IT Projekte Überschreiten Budget um durchschnittlich 80% Realisieren durchschnittlich nur 60% des geplanten Leistungsumfangs im Projektzeitraum Die teuersten Fehler werden sehr früh gemacht sehr spät entdeckt Wichtigster Problemkreis: Kommunikation mit dem Kunden/Benutzer Das Problem verschärft sich Komplexere Probleme Anspruchsvollere Kunden Steigende Dynamik 25.09.2014 3

Fehler/Kosten Zusammenhang nach Barry Boehm 25.09.2014 4

Ablauf von Kundenprojekten (Jonas Keith) 25.09.2014 5

Wie vermeiden? Qualität erhöhen Produktqualität 25.09.2014 6

Qualitätskritererien für Produkte nach ISO/IEC 9126 (DIN 66272) Funktionalität Zuverlässigkeit Benutzbarkeit Effizienz Änderbarkeit Übertragbarkeit 25.09.2014 7

Wie die Produktqualität erhöhen? Qualität des Herstellungsprozesses erhöhen Entwicklungsprozess definieren Prof. DI Dr. Erich Gams 2008. No reproduction without written permission. 25.09.2014 8

Softwarequalität Qualitätsziele werden während der Konzeptfindung vorgegeben. Der Entwicklungsprozess bestimmt Eigenschaften und Qualität des Produktes. Die Qualität des Entwicklungsprozesses kann definiert gemessen und verbessert werden. Geringe Qualität bewirkt hohe Fehlerrate hohe Wartungskosten schlechte Strukturierung/ Dokumentation hohe Änderungskosten Methoden (UML), Modelle (Use Case Diagramm) 25.09.2014 9

Vorgehensmodelle Vorgehensmodelle (auch Prozessmodelle genannt) beschreiben den organisatorischen Rahmen für eine (System )Entwicklung. Metapher Vorgehensmodell: Was ist wann zu tun? Vorgehensmodelle sollen zu einer disziplinierten, sichtbaren und kontrollierbaren Entwicklung führen. Vorgehensmodelle legen u.a. fest: durchzuführende Aktivitäten, Reihenfolge des Arbeitsablaufs (Entwicklungsstufen, Phasen) Definition der Teilprodukte / Ergebnisse (Inhalt, Layout) Fertigstellungskriterien, Verantwortlichkeiten und Kompetenzen, Notwendige Mitarbeiterqualifikationen, Anzuwendende Standards, Richtlinien, Methoden und Werkzeuge. 25.09.2014 10

Vorgehensmodell Um Systeme und Software sinnvoll entwickeln zu können wurden Vorgehensmodelle geschaffen, um Arbeit und Ergebnisse... effizienter effektiver...zu gestalten Vorgehensmodelle unterteilen sich in klassisch agil UML dient z.b. als standardisierte Modellierungssprache. 25.09.2014 11

Vorgehensmodelle Klassische Vorgehensmodelle = schwergewichtige Prozessmodelle statisch dokumentenorientiert teuer gut geeignet für große Projekte Agile Vorgehensmodelle = leichtgewichtige Methoden flexibel kundenorientiert chaotisch gut geeignet für kleine Projekte und Teams 25.09.2014 12

Vorgehensmodelle Entstehung seit 60er Jahren Rational Unified Process (RUP) Spiralmodell V Modell Wasserfallmodell Prototyping 25.09.2014 13

Wasserfallmodell (entnommen aus G. Pomberger) 25.09.2014 14

Wasserfallmodell Vorteile: Phasen werden in der richtigen Reihenfolge und vollständig durchlaufen. Am Ende einer Phase steht ein Dokument (dokumentengetrieben). Entwicklungsablauf ist grundsätzlich sequentiell. Unterstützt ein Top Down Vorgehen. Ist einfach, verständlich und benötigt wenig Management Aufwand. Nachteile: Feste, sequentielle Reihenfolge und vollständiges Durchlaufen einer Phase ist nicht immer sinnvoll. Dokumentation ist gegebenenfalls wichtiger als das System selbst. Eventuell werden Risikofaktoren zu wenig berücksichtigt. 25.09.2014 15

V Modell Erweiterung des Wasserfall Modells, das Qualitätssicherung integriert Verifikation und Validation werden Bestandteile des Modells Verifikation: Überprüfung der Übereinstimmung zwischen einem Produkt und seiner Spezifikation "Funktioniert das Produkt so wie angegeben? Ist das System richtig gebaut? Validation: Eignung bzw. Wert eines Produkts bezogen auf seine Einsatzzweck Validierung in der Informatik und Softwaretechnik ist die dokumentierte Beweisführung, dass ein System die Anforderungen in der Praxis erfüllt. 25.09.2014 16

V Modell Entwickelt ab ~1990 für Bundeswehr und später für weitere Behörden (Bundesverwaltung). Submodelle für Systemerstellung (SE), Qualitätssicherung (QS), Konfigurationsmanagement (KM) und Projektmanagement (PM). Ursprünglich für eingebettete Systeme entwickelt. 25.09.2014 17

V Modell Vorteile Integrierte, detaillierte Beschreibung von Systemerstellung, Qualitätssicherung, Konfigurationsmanagement und Projektmanagement Generisches Vorgehensmodell Gut geeignet für große Projekte Nachteile Unkritische Übernahme der Konzepte, die für eingebettete Systeme entwickelt wurden, für andere Anwendungstypen Software Bürokratie bei kleinen & mittleren Projekten Ohne CASE Unterstützung nicht handhabbar 25.09.2014 18

Prototyping 2011 Prof. DI Dr. Erich Gams Seite 19/51

Prototypenmodell Prototypen Bei unklaren Anforderungen Bei alternativen Lösungen. Zur Klärung der Anforderungen, zum Experimentieren, um praktische Erfahrungen zu sammeln, als Diskussionsbasis. 25.09.2014 20

Prototypen Modell 1/2 Ein Software Prototyp...... ist nicht das erste Muster einer großen Serie (beliebig kopierbar, Massenfertigung)... ist keine Simulation, sondern zeigt ausgewählte Eigenschaften des Zielprodukts im praktischen Einsatz (vgl. z.b. Windkanal oder Architekturmodell) 25.09.2014 21

Prototypen Modell 2/2... dient zum Klären von relevanten Anforderungen oder Entwicklungsproblemen.... dient als Diskussionsbasis für Entscheidungen.... dient zu experimentellen Zwecken und Sammeln von praktischen Erfahrungen. 2011 Prof. DI Dr. Erich Gams Seite 22/51

Ziel Wegwerfprototyp Die Implementierung des Prototyps wird bei der Implementierung des Zielsystems nicht weiterverwendet. Der Prototyp dient nur als Modell. Wiederverwendbarer Prototyp Wesentliche Teile des Prototyps werden bei der Implementierung des Zielsystems übernommen 2011 Prof. DI Dr. Erich Gams Seite 23/51

Das Prototypen Modell Exploratives Prototyping Dazu wird auf Basis der Anwendung und Kundenvorstellungen ein Prototyp entwickelt. Beim explorativen Prototyping geht es zuvorderst um die Funktionalität des Prototyps, weniger um dessen Qualität. Experimentelles Prototyping (Pilotsystem) vollständige Definition von Teilsystemen für deren Implementierung. Mit dem experimentellen Ansatz soll die Funktion der Teilsysteme nachgewiesen werden und die Schnittstellen der Teilsysteme überprüft werden. Evolutionäres Prototyping Es geht darum, das System schrittweise nach den exakten Anwenderspezifikationen aufzubauen. Jeder Zwischenschritt dient als Grundsystem für die inkrementelle Weiterentwicklung, basierend auf weiteren Anwenderspezifikationen. Das evolutionäre Prototyping ist eine Vorgehensweise bei dem der Prototyp das fertige Produkt darstellt. 2011 Prof. DI Dr. Erich Gams Seite 24/51

Prototypen Modell Ein fertiges Software Produkt besteht aus vielen Komponenten und Ebenen. Horizontaler Prototyp realisiert nur einen ausgewählten Bereich einer Architektur. (z.b.: GUI Prototyp) Vertikaler Prototyp Teil des Systems über alle Schichten der Architektur hinweg erstellt wird. (Komplexe Funktionalität) 25.09.2014 25

Prototypen Modell 2011 Prof. DI Dr. Erich Gams Seite 26/51

Prototyping (nach G.Pomberger) 25.09.2014 27

Prototypenmodell PLUS Prototypen reduzieren das Entwicklungsrisiko. Prototypen können in andere Vorgehensmodelle "integriert" werden. Schnelle Prototypentwicklung durch entsprechende Werkzeuge möglich. Prototypen fördern die Kreativität. 25.09.2014 28

Prototypenmodell MINUS Höherer Entwicklungsaufwand, da Prototypen zusätzlich erstellt werden. Gefahr der Weiterverwendung von (Wegwerf ) Prototypen. Grenzen von Prototypen sind oft nicht erkennbar. Bei Fremdentwicklung vertraglich schwer zu fassen. 2011 Prof. DI Dr. Erich Gams Seite 29

Evolutionäres/Inkrementelles Modell Die Evolutionäre Entwicklung hat zum Ziel, ein Projekt in überschaubare, eigenständige Teilprojekte zu zerlegen, um frühzeitig ein funktionsfähiges Teilprodukt ausliefern zu können Ausgangspunkt sind Kernanforderungen. Diese führen zu einem Kernsystem (Nullversion). Erfahrungen mit der Version führen zu neuen, ergänzenden Anforderungen. (Evolution) Inkrementelle Vorgehensweise hat von Beginn an zum Ziel, einsetzbare Teilprodukte in der vorgegeben Qualität als Ergebnis der Systementwicklung zu erzeugen 25.09.2014 30

Variation des evolutionären Modells Hier werden zunächst die Anforderungen vollständig erfasst. Anschließend werden wiederholt Teile der Anforderungen umgesetzt. 2011 Prof. DI Dr. Erich Gams Seite 31/51

Evolutionäres/Inkrementelles Modell enge Zusammenarbeit Auftraggeber und Auftragnehmer Dies bringt auch entsprechende Konsequenzen für die vertraglichen Abmachungen, das Projektmanagement und die Verrechnung der Leistungen mit sich. 2011 Prof. DI Dr. Erich Gams Seite 32/51

Evolutionäres/Inkrementelles Modell Vorteile: Einsatzfähige Produkte in kürzeren Zeitabständen. Kombinierbar mit Prototypen Modell. Auswirkungen des Produkteinsatzes lassen sich untersuchen. Die Richtung der Entwicklung ist leichter steuerbar. Statt einem Ergebnis gibt es mehrere (Zwischen) Ergebnisse. Nachteile: Falls Kernanforderungen übersehen werden, muss ggf. die Systemarchitektur überarbeitet werden. Sind die Zwischenergebnisse an die Anforderungen ungeplanter Evolutionspfade leicht anpassbar? 25.09.2014 33

Spiralmodell Das Spiralmodell [Boehm 1988] ist es ein risikogetriebenes Vorgehensmodell für die Entwicklung. Das Prinzip des Spiralmodells ist das wiederholte Durchlaufen (in Iterationen) von vier Schritten: 1. Risikoanalyse Beschreibung von Rahmenbedingungen, Zielen und (Lösungs )Alternativen 2. Evaluierung der (Lösungs )Alternativen und auf dieser Basis Erkennen von Risiken und Ausarbeiten adäquater Strategien zur Minderung/Vermeidung etc. 3. Planung: In Abhängigkeit von den identifizierten Risiken, wird das Vorgehen für die nächste Iteration festgelegt. 4. Review:der vorangegangenen Schritte und Planung der nächsten Iteration 2011 Prof. DI Dr. Erich Gams Seite 34/51

25.09.2014 35

Spiralmodell Zentral beim Spiralmodell ist die Erstellung von Prototypen zur kontinuierlichen Prüfbarkeit des Systems > Risikoerkennung und Reaktion. Die stetige Weiterentwicklung der Prototypen profitiert vom Wissenszuwachs, sodass davon ausgegangen wird, dass der Prototyp bis zum finalen, betriebsbereiten System wächst. 2011 Prof. DI Dr. Erich Gams Seite 36/51

Spiralmodell Das Vorgehen, insbesondere für die Entwicklung der Software, kann in den einzelnen Iterationen variieren. Die Variation ist abhängig von den erkannten bzw. verbleibenden Risiken und muss im 3. Schritt für das weitere Vorgehen ausgewählt werden. Spiralmodell ist ein Rahmen, der in Abhängigkeit der Kritikalität mit konkreten Vorgehensweisen (Methoden) auszugestalten ist. Dabei kann der Fokus auf der Prototyprealisierung verbleiben oder aber auch ein Wasserfall artiges Vorgehen zum Einsatz kommen. 2011 Prof. DI Dr. Erich Gams Seite 37/51

Agile Methoden Einige der bisher entstandenen Methoden: Adaptive Software Development (ASD) Crystal Dynamic System Development Method (DSDM) Extreme Programming (XP) Feature Driven Development (FDD) Lean Development (LD) Pragmatic Programming Scrum Prof. DI Dr. Erich Gams 2008. No reproduction without written permission. 25.09.2014 38

Phasen der Software Entwicklung Analyse Problemanalyse, Ist Situation erheben, Planung, Definition der Ziele, Ressourcenplanung, Lastenheft Definition/Spezifikation Anforderungsdefinition, (Anforderungen ermitteln, festlegen, beschreiben, validieren) Prämissen für die Realisierung, Pflichtenheft Entwurf Architektur, Komponenten, Schnittstellen Implementierung / Test Codierung / Generierung Test / Abnahme / Einführung Übergabe, Abnahmetest, Installation, Schulung, Inbetriebnahme Wartung Fehlerbeseitigung, Änderungen, Optimierung 25.09.2014 39

Begleitende Phasen Projektmanagement Laufendes Controlling Qualitätsmanagement Konfigurationsmanagement Dokumentation Prof. DI Dr. Erich Gams 2008. No reproduction without written permission. 25.09.2014 40

Softwareentwicklungsprozess Wasserfallmodell 2011 Prof. DI Dr. Erich Gams Seite 41/51

Projektmanagementprozess 2010 Prof. DI Dr. Erich Gams Seite 42/51

Softwareentwicklung und Projektmanagement Softwareentwicklung Projektmanagement Qualitätsmanagement Projektstart Projektende Prof. DI Dr. Erich Gams 2008. No reproduction without written permission. 25.09.2014 43

Projektmanagementprozess Pflichtenheft Projektauftrag Kick-Off-Meeting 2010 Prof. DI Dr. Erich Gams Seite 44/51

Projektmanagementprozess aus 2011 Prof. DI Dr. Erich Gams Seite 45/51