Software Engineering



Ähnliche Dokumente
Das Wasserfallmodell - Überblick

Software Engineering

Wirtschaftsinformatik I Teil 2. Sommersemester Übung

Übung Einführung in die Softwaretechnik

Software- Entwicklungsaktivitäten und Vorgehensmodelle. Lebenszyklusmodell

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

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

Was versteht man unter einem Softwareentwicklungsmodell?

Übungsaufgaben zum Software Engineering: Management

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

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

IT-Basics 2. DI Gerhard Fließ. Vorgehensmodelle

Prozess-Modelle für die Softwareentwicklung

17 Architekturentwurf Vorgehen und Dokumentation

Softwaretechnik. Fomuso Ekellem WS 2011/12

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

IT-Projekt-Management

Klausur zu den Teilgebieten Software-Management und Software-Qualitätsmanagement

Grundlagen Software Engineering

Übungen zur Softwaretechnik

07. November, Zürich-Oerlikon

Die vorliegende Arbeitshilfe befasst sich mit den Anforderungen an qualitätsrelevante

10 Gesamtsystemspezifikation

Klausur zu den Teilgebieten Software-Management und Software-Qualitätsmanagement

Requirements Engineering I. Der Spezifikationsprozess!

Unsere These: Meilensteindefinitionen sind wichtig für die Projektplanung und die Bewertung des Projektstatus.

6. Programmentwicklung

ÜBUNG. Einführung in das IT- Projektmanagement WS 2012/13. Dr. The Anh Vuong

PROJEKTMANAGEMENT GRUNDLAGEN_2

Die Betriebssicherheitsverordnung (BetrSichV) TRBS 1111 TRBS 2121 TRBS 1203

Einführung V-Modell XT. Das neue V-Modell XT Release Der Entwicklungsstandard für IT Systeme des Bundes

Änderungsmanagement bei iterativer SW-Entwicklung

Benötigen wir einen Certified Maintainer?

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Vitaphone Software Entwicklung Vorgehensmodell 19. Oktober 2011 Berlin. Dr. Michael Hübschen

Projektmanagement Vorlesung 14/ 15: Wiederholung ausgewählter Themen zur Klausurvorbereitung. Prof. Adrian Müller, PMP, PSM-1, CSM FH Kaiserslautern

Die Softwareentwicklungsphasen!

Softwareentwicklungsprozess im Praktikum. 23. April 2015

«PERFEKTION IST NICHT DANN ERREICHT, WENN ES NICHTS MEHR HINZUZUFÜGEN GIBT, SONDERN DANN, WENN MAN NICHTS MEHR WEGLASSEN KANN.»

Angepasste Software Standards für DLR- Eigenentwicklungen - Die DLR Software Basisstandards -

Übungen Softwaretechnik I

Abschnitt 16: Objektorientiertes Design

Software-Entwicklungsprozesse zertifizieren

IT-Projekt-Management

Ausstattung von Krankenanstalten mit dem e-card-system Leitfaden

SPI-Seminar : Interview mit einem Softwaremanager

Das neue V-Modell 200x ein modulares Vorgehensmodell

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger

Übungsklausur vom 7. Dez. 2007


Gesundheitsförderliche Mitarbeitergespräche (smag) Quelle: GeFüGe-Projekt, bearbeitet durch Karsten Lessing, TBS NRW

Grundlagen des Software Engineering

Erfahrungsbericht Agile Entwicklung einer BI Anwendung für das Meldewesen

Bundeseinheitliche Grundsätze für das Testverfahren nach. 22a Datenerfassungs- und -übermittlungsverordnung (DEÜV)

2. Workshop: Vorgehensmodelle in der Praxis Reife und Qualität

Some Software Engineering Principles

PRÜFMODUL D UND CD. 1 Zweck. 2 Durchführung. 2.1 Allgemeines. 2.2 Antrag

Xesar. Die vielfältige Sicherheitslösung

Sicherheitstechnische Qualifizierung (SQ), Version 9.0

BFE Studio und Medien Systeme GmbH.

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am

Vgl. Kapitel 5 aus Systematisches Requirements Engineering, Christoph Ebert

Qualitätsbeauftragter / interner Auditor und Qualitätsmanager. DGQ Prüfung zum Qualitätsmanager. Wege zum umfassenden Qualitätsmanagement

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Agiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail:

Information zur Revision der ISO Sehr geehrte Damen und Herren,

Software Engineering Zielorientierte Bereitstellung und systematische Verwendung von Prinzipien, Methoden und Werkzeugen

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

SCHULVERSUCH INFORMATIK IN BADEN-WÜRTTEMBERG. Gerhard Liebrich Peter-Petersen-Gymnasium Mannheim

Medizintechnik und Informationstechnologie im Krankenhaus. Dr. Andreas Zimolong

Software Engineering. 3. Analyse und Anforderungsmanagement

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

ecambria experts IT-Projekte in der Krise Ursachen und Vermeidungsstrategien aus Sicht eines Gerichtssachverständigen

Der Prozess für erfolgreiche

PKV- Projektanlage Assistent

BÜV-ZERT NORD-OST GMBH Zertifizierungsstelle für Managementsysteme der Baustoffindustrie

Handbuch Amos Ersteller: EWERK MUS GmbH Erstellungsdatum:

Aufwandschätzung von IT-Projekten in der Praxis. Christian Zehe und Christian Hartmann

Ein mobiler Electronic Program Guide

Qualitätsmanagement-Handbuch. 1.7 Projektmanagement

dataport Generelle Leistungsbeschreibung Präambel

Softwareentwicklung bei KMU - Ergebnisse einer Studie zum Entwicklungs-, Projekt- und Qualitätsmanagement

Dokumentation, Analyse, Optimierung,

Softwaretechnik. Fomuso Ekellem WS 2011/12

Wir erledigen alles sofort. Warum Qualität, Risikomanagement, Gebrauchstauglichkeit und Dokumentation nach jeder Iteration fertig sind.

Terminabgleich mit Mobiltelefonen

Professionelles Projektmanagement mit dem V - Modell XT

Software Engineering. Dokumentation! Kapitel 21

Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen. Wir bringen Qualität. Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen

Lernaufgabe Industriekauffrau/Industriekaufmann Angebot und Auftrag: Arbeitsblatt I Auftragsbeschreibung

Projektmanagement durch Scrum-Proxies

Software Release Notes

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Requirements Engineering Research Group!

Softwareentwicklungspraktikum Sommersemester Grobentwurf

Usability Engineering als Innovationsmethodik

Transkript:

Software Engineering Prof. Adrian A. Müller, PMP Fachbereich Informatik und Mikrosystemtechnik Fachhochschule Kaiserslautern, Standort Zweibrücken Prof. A. Müller, FH KL Software Engineering Winter '12/'13 1

Inhalte: Klassische Vorgehensmodelle Wozu dienen Vorgehensmodelle? Welche Arten gibt es? Was sind nicht-klassische (agile) Vorgehensmodelle? Standard Vorgehensmodell Wasserfallmodell Evolutionäre Modelle Spezialfall: Prototypen Spiralmodell Übung: Vertiefung Vorgehensmodelle Komponenten-basiert V-Modell Zusammenfassung: Kostenverteilung Prof. A. Müller, FH KL Software Engineering Winter '12/'13 2

Phasenmodell eines Software-Projektes Planung Analyse Entwurf Implementierung Abnahme und Einführung Wartung und Pflege Produkt auswählen Anforderungen grob definieren Projekt planen Machbarkeit untersuchen Anforderungen ermitteln Fachliche Lösung modellieren Softwarearchitektur entwickeln Systemkomponenten spezifizieren Datenstrukturen u. Algorithmen entwerfen Programmcode erstel-len Testen Übergabe Installation Schulung Fehler beheben Leistung verbessern Dokumentieren Abnahmetest Inbetriebnahme Änderungen Erweiterungen Projekt kalkulieren Vgl. mit Modul 0 Grundlagen : Der Softwarelebenszyklus (standard life-cycle model) Prof. A. Müller, FH KL Software Engineering Winter '12/'13 3

Das Wasserfallmodell - Überblick Prof. A. Müller, FH KL Software Engineering Winter '12/'13 4

Das Wasserfallmodell - Beschreibung Merkmale des Wasserfallmodells: Erweiterung des Phasenmodells Rückkopplungen zwischen den (benachbarten) Phasen sind möglich Jede Aktivität ist in der richtigen Reihenfolge und in der vollen Breite durchzuführen. Am Ende jeder Aktivität: Meilensteinsitzung Ergebnisdokument Sequentieller Ablauf Optional: Wasserfallmodell mit Rücksprung Ziel: Verminderung des Risikos von unvollständigen Systemspezifikationen und Entwurfsfehlern Verringerung der Auswirkungen von Fehlentscheidungen in einzelnen Phasen Ein top-down-vorgehen, plan-orientiert Prof. A. Müller, FH KL Software Engineering Winter '12/'13 5

Wasserfall-Modell Vorteile: Einfach, klar strukturiert Wenig Management- Aufwand erforderlich Benutzerbeteiligung nur am Anfang erforderlich Eigenschaften Feedback (Fehler) können sich über mehrere Phasen erstrecken Kaum Berücksichtigung von Risikofaktoren Nachteile: Relativ starr Anforderungen müssen von Anfang an vollständig bekannt sein Während des Projektes notwendige Änderungen erfordern hohen Aufwand Anfällig für Fehler in frühen Phasen Erste Produktversion steht erst nach gesamter Projektlaufzeit zur Verfügung Prof. A. Müller, FH KL Software Engineering Winter '12/'13 6

Barry W. Boehm (2006) V-Modell 1979 COCOMO 1981 Spiralmodell 1988 Breitband-Delphi-Methode (vgl. V. Projektmanagement) Prof. A. Müller, FH KL Software Engineering Winter '12/'13 7

Das V-Modell, V-Modell 97, V-Modell XT V-Modell: Erweiterung des Wasserfallmodells - Hinzu kommen: Aktivitäten und Produkte des Planungsprozesses Qualitätsmanagement durch Validierung und Verifizierung der Teilprodukte Verifizierung: Erfüllt das (Teil)Produkt die spezifizierten Anforderungen Validierung: Eignet sich das Produkt für seinen Einsatzzweck Kennzeichen: einheitliche und verbindliche Vorgaben von Aktivitäten und Ergebnissen parallel zur Softwareentstehung werden die begleitenden Tätigkeiten beachtet (Qualitätsmanagement, Konfigurationsmanagement, technisches Projektmanagement) hoher Verbreitungsgrad in der Industrie, öffentlich Hand, Bund Ziele: Verbesserung und Gewährleistung der Qualität durch standardisiertes Vorgehen und definierte Zwischenergebnisse Eindämmung der Kosten durch einheitliche Standards Verbesserung der Kommunikation Erfolg ergibt sich nur, wenn Abstimmung zwischen Anwender, Aufgabensteller und Realisierer( z. B. Klärung gemeinsamer Prüfaktivitäten, Klärung von Schnittstellen) Prof. A. Müller, FH KL Software Engineering Winter '12/'13 8

V-Modell 97 Anforderungsdefinition Anwendung - Szenarien Abnahmetest Validierung Systementwurf Testfälle Systemtest Modul-Implementierung Modul- Test Testfälle Verifikation Prof. A. Müller, FH KL Software Engineering Winter '12/'13 9

V-Modell 97 Es existiert ein detailliertes Vorgehensmodell für große Projekte Kern des Systems sind immer die vier Submodelle für: Systemerstellung Qualitätssicherung Konfigurationsmanagement Projektmanagement Standard für Projekte der deutschen Bundesverwaltung und hoher Verbreitungsgrad in der Industrie Wird zunehmend ersetzt durch neue Version V-Modell XT Prof. A. Müller, FH KL Software Engineering Winter '12/'13 10

V-Modell 97 Vorteile: Einbeziehung von Tests, also use-case, test-cases, Systematische Verifikation und Validierung Einbeziehung von Konfigurations- und Projektmanagement Eigenschaften Lebenszyklus der Software (das Produkt ) ist nicht Teil des Modells Zusammenhang zwischen Firma (Organisationsform) und Vorgehensmodell wird nicht beachtet Nachteile: Relativ starr Hoher bürokratischer Aufwand Anfällig für Fehler in frühen Phasen Für kleinere Projekte überdimensioniert Ohne Software-Tools nicht handhabbar Erste Produktversion steht erst nach gesamter Projektlaufzeit zur Verfügung Prof. A. Müller, FH KL Software Engineering Winter '12/'13 11

Systematische Verifikation und Validierung Prof. A. Müller, FH KL Software Engineering Winter '12/'13 12

aktuelle Weiterentwicklung: V-Modell XT (1.3), V-Modell XT Bund (1.0) Stand Juni 2005: XT Release 1.01 Stand Jan. 2007: XT Release 1.2 Stand Jan. 2008: XT Release 1.3 Quelle: http://vmxt.blogspot.com/2008/10/24-oktober-2008-weit-am-ende.html Quelle: http://www.bit.bund.de/nn_490662/bit/de/standards Methoden/V-Modell_20XT/node.html? nnn=true the new standard for the development of public sector IT systems V-Modell XT Definiert XT steht für Extreme Tailoring Modulare Aufbau, Vorgehensbausteine Rollen, sind verantwortlich für Produkte Aktivitäten, erzeugen Produkte kompatibel zu ISO 9001, CMM und anderen definiert beide Seiten (Auftraggeber, Auftragnehmer) Prof. A. Müller, FH KL Software Engineering Winter '12/'13 13

Das Boehm sche Spiralmodell des Softwareprozesses (IEEE, 1988) Quelle: Sommerville, Kap. 4.2.2., Abb. 4.5 Prof. A. Müller, FH KL Software Engineering Winter '12/'13 14

Bewertung des Spiralmodells Vorteile Hauptsächlich wird das Modell in großen und komplexen Projekten angewandt alle Risiken, die das Projekt bedrohen, werden identifiziert und anschließend bewertet offene Konzeption des Spiralmodells erlaubt Integration neuer Projektformen ohne Änderung seiner Struktur Eigenschaften Inkrementell, iterativ (Hinweis: diese Begriffe werden noch genauer definiert) Risiko-Steuerung erfolgt typischerweise über Prototypen Nachteile Zielvorstellungen der Beteiligten werden nicht angenähert Auf Grund des hohen Managementaufwand ist es für kleine und mittlere Projekte weniger gut geeignet. Es wird gerne als komplex kritisiert Prof. A. Müller, FH KL Software Engineering Winter '12/'13 15

Das evolutionäre (iterative) Modell "Nullversion" X=0 Systemspezifikation Version X Änderungen X++ Teilmodell (Produktkern) Entwurf Version X Teilarchitektur Anforderungen Änderungen Implementierung Version X Änderungen Produkt Version X Einsatz Version X Prof. A. Müller, FH KL Software Engineering Winter '12/'13 16

Das evolutionäre (iterative) Modell Vorteile Primäres Ziel: Die Auftraggeber erhalten in kurzen Abständen einsatzfähige Produkte; die erste Version vgl. früh! Integration der Erfahrungen der Anwender in die Entwicklung Überschaubare Projektgröße Korrigierbare Entwicklungsrichtung Keine Ausrichtung auf einen einzigen Endtermin Nachteile In späteren Versionen kann eine komplette Architektur Änderung bevorstehen. Die Nullversion ist möglicherweise nicht flexibel genug, um spätere Entwicklungen vorauszusehen. Eigenschaften Das Modell sieht eine stufenweise Entwicklung vor, gesteuert durch Erfahrungen der Benutzer. Re-Use von Komponenten ist üblich und auch erforderlich (s. komponenten-basiertes SE) Die Pflegeaktivitäten werden in den Prozess integriert Wir konzentrieren uns auf lauffähige Teilprodukte. Prof. A. Müller, FH KL Software Engineering Winter '12/'13 17

Komponenten-basiertes SE Quelle: Sommerville, Kap. 4.1.2 Software wird wieder verwendet, das reduziert Kosten und Risiken Kompromisse bei den Anforderungen sind unvermeidbar, mit Konsequenzen Kontrolle der Weiterentwicklung des Systems ist z.t. nicht gesichert Prof. A. Müller, FH KL Software Engineering Winter '12/'13 18

Inkrementelle Entwicklung Quelle: Sommerville, Kap. 4.2.1., Abb. 4.4 Entwicklung des Produkts erfolgt stufenweise Entwicklung wird durch Erfahrungen der Entwickler und des Kunden gesteuert Wartung / Fehlerbehebung wird ebenfalls als neue Version behandelt Gut geeignet, wenn Anforderungen zu Beginn noch nicht vollständig bekannt sind Prof. A. Müller, FH KL Software Engineering Winter '12/'13 19

Inkrementelle Entwicklung Vorteile Es steht bereits frühzeitig ein funktionsfähiges System zur Verfügung Erfahrungen mit dem System können einbezogen werden Sich ändernde Anforderungen können berücksichtigt werden Risiko durch kleine Teilprojekte begrenzt Nachteile Identifikation geeigneter Teilsysteme schwierig Grundlegende Änderungen der Architektur aufwändig, da bereits produktives System im Einsatz Prof. A. Müller, FH KL Software Engineering Winter '12/'13 20

Prototyping Prototypen spezifizieren Prototypen herstellen experimentieren Prototyp akzeptiert? nein ändern und erweitern ja Ziele: Problemklärung Teil der Spezifikation: die Anforderungsanalyse kann exploratives Prototyping einsetzen Inkrementelle Entwicklung: vom Prototyp zum Produkt (evolutionäres Prototyping) Unterscheidung Art des Prototyping erforderlich: Laborprototyp (Labormuster, zeigt Machbarkeit) Pilotsystem (Kern des Systems) Vorabversion, Demonstrationsprototyp (umgangssprachlich) Prof. A. Müller, FH KL Software Engineering Winter '12/'13 21

Vertikale und horizontale Prototypen Horizontaler Prototyp Benutzungsoberfläche Anwendung Netz Datenbank Systemsoftware Vertikaler Prototyp Prof. A. Müller, FH KL Software Engineering Winter '12/'13 22

Vertikale und horizontale Prototypen In horizontalen Prototypen wird die betroffene Schicht weitestgehend realisiert, jedoch ohne echte Interaktion mit dem Gesamtsystem. Ziel ist typischerweise eine -isolierte -Erprobung des erzielten Verhaltens Ein vertikaler Prototyp implementiert ausgewählte Teile des Systems, jedoch mit deutlich eingeschränkter Funktionalität. Ziel eines vertikalen Prototyps ist in der Regel Funktionalitäts- oder Implementierungsoptionen zu klären und zu überprüfen Prof. A. Müller, FH KL Software Engineering Winter '12/'13 23

Vorteile und Nachteile des Prototyping Primäres Ziel: das Entwicklungsrisiko wird reduziert Prototyping kann sinnvoll in viele andere Prozessmodelle integriert werden Bei der Erprobung kann eine starke Rückkopplung zwischen Endbenutzern und Hersteller hergestellt werden Voraussetzung: geeignete Werkzeuge! Der Entwicklungsaufwand durch zusätzliche Erstellung der Prototypen ist hoch Es besteht die Gefahr, dass ein Prototyp (in Teilen) zum Endprodukt wird Vorsicht: Prototypen sind kein eigenständiger Ersatz für Dokumentation! Prof. A. Müller, FH KL Software Engineering Winter '12/'13 24

Verteilung der Software Engineering-Aktivitätskosten Quelle: Sommerville, Kap 1.1.7, Abb. 1.2 Prof. A. Müller, FH KL Software Engineering Winter '12/'13 25

Wichtige Aussagen Eigenschaften, Vor- und Nachteile klassischer Vorgehensmodell Validierung vs. Verifizierung Arten von Vorgehensmodellen Phasen-basiert Inkrementell Evolutionär (iterativ) Komponenten-basiert Formen und Ziele des Prototyping Prof. A. Müller, FH KL Software Engineering Winter '12/'13 26

Diskussion Lastenheft Pflichtenheft Prof. A. Müller, FH KL Software Engineering Winter '12/'13 27

Ausblick Moderne Vorgehensmodelle - wie RUP gehen von Anwendungsfällen (use cases) aus, basieren auf der gewählten Architektur, und kombinieren iterative und inkrementelle Vorgehensmodelle S. dazu: Übungsaufgabe, Sommerville Kap. 4.4 Agile Modelle bevorzugen eine schlanke und flexible Planung. Mehr dazu in Modul 10 Agile-Vorgehensmodelle Prof. A. Müller, FH KL Software Engineering Winter '12/'13 28