Arten der Softwareentwicklung



Ähnliche Dokumente
Übungsaufgaben zum Software Engineering: Management

Wirtschaftsinformatik I Teil 2. Sommersemester Übung

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


Übungen zur Softwaretechnik

Was versteht man unter einem Softwareentwicklungsmodell?

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

Entwurf. Anwendungsbeginn E DIN EN (VDE ): Anwendungsbeginn dieser Norm ist...

Das Wasserfallmodell - Überblick

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Systemdenken und Gestaltungsmethodik Einführung und Grundlagen II

Kapitel 2: Der Software-Entwicklungsprozess

Softwareentwicklungsprozess im Praktikum. 23. April 2015

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

IT-Projekt-Management

Softwaretechnik. Fomuso Ekellem WS 2011/12

OUTSOURCING ADVISOR. Analyse von SW-Anwendungen und IT-Dienstleistungen auf ihre Global Sourcing Eignung. Bewertung von Dienstleistern und Standorten

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

Qualitätsmanagement im Projekt

Software-Entwicklung

Fallbeispiel. Auswahl und Evaluierung eines Software- Lokalisierungstools. Tekom Herbsttagung 2004 Angelika Zerfaß

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

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

Maintenance & Re-Zertifizierung

IKP Uni Bonn Medienpraxis EDV II Internet Projekt

Prozess-Modelle für die Softwareentwicklung

Qualitätsmanagement in der Softwareentwicklung

Vorgehensmodelle zur Softwareentwicklung

Software- Entwicklungsaktivitäten und Vorgehensmodelle. Lebenszyklusmodell

Lösungsvorschlag zur Klausur zu Projektorganisation und Management in der Software-Entwicklung

Some Software Engineering Principles

Vorlesung Betriebstechnik/Netzplantechnik Operations Research

Anforderungen an die HIS

Generatives Programmieren

3.2,,Eichung von Function Points (Berichtigte Angabe)

Grundlagen Software Engineering

SPI-Seminar : Interview mit einem Softwaremanager

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Software Systems Engineering

Agiles Testmanagement am Beispiel Scrum

Traceability-Modell als Erfolgsfaktor für Process Enactment. Paul-Roux Wentzel, SEE 2008

Zusammenfassung der Vorlesung


Beratung, Projektmanagement und Coaching

Passgenau schulen Bedarfsanalyse

Softwaretechnik. Fomuso Ekellem WS 2011/12

Abschnitt 16: Objektorientiertes Design

Das Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin

Leseauszug DGQ-Band 14-26

Einführung in die Softwareentwicklung

Mit agilen Methoden kommen Sie weiter

Requirements-Traceability in der industriellen Praxis Ziele und Einsatz

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

Softwaretechnik (Allgemeine Informatik) Überblick

Korrekturen von Hand ausgeführt, per Post oder als Scan an Sie übermittelt.

Übung Einführung in die Softwaretechnik

High Speed Projects. Gedanken zum Bauprojektmanagement unter besonderen Anforderungen

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II

Fragebogen: Abschlussbefragung

Neue Funktionen in Innovator 11 R5

ITIL und Entwicklungsmodelle: Die zwei Kulturen

SDD System Design Document

Comparing Software Factories and Software Product Lines

T1 - Fundamentaler Testprozess

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

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

Medizintechnik und Informationstechnologie im Krankenhaus. Dr. Andreas Zimolong

Fragebogen zur Anforderungsanalyse

Qualitätssicherung. Was ist Qualität?

Qualitätsmanagement-Handbuch Das QM-System Struktur des QM-Systems

Testplan. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw,

PROJEKTMANAGEMENT GRUNDLAGEN_2

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

Reference Migration Process ReMiP

IT-Basics 2. DI Gerhard Fließ. Vorgehensmodelle

Software-Entwicklungsprozesse zertifizieren

Dokumentation für die Software-Wartung

Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg

Softwaretechnik. Vertretung von Prof. Dr. Blume Fomuso Ekellem WS 2011/12

m.e.d. concept methode erfolg datenverarbeitung V-Modell XT im Überblick 2 V-Modell XT Einführung - Analyse und Roadmap 3

Wirtschaftsinformatik 2 Modellierung betrieblicher Informationssysteme - MobIS

Einführung in die Informatik

Probeklausur. Lenz Belzner. January 26, Lenz Belzner Probeklausur January 26, / 16

Einführung in Generatives Programmieren. Bastian Molkenthin

Informationsblatt zu den Seminaren am Lehrstuhl. für Transportsysteme und -logistik

Software Engineering

Erfahrungen über den Einsatz einer agilen Entwicklungsmethode fürdie Produktentwicklung unterstützt durch Polarion ALM forsubversion

(1) Mit dem Administrator Modul werden die Datenbank, Gruppen, Benutzer, Projekte und sonstige Aufgaben verwaltet.

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

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

Requirements-Management Ein praktisches Beispiel

Einführungsstrategien komplexer IT-Lösungen

Agile Softwareentwicklung mit Scrum

Die strategische Entscheidung für moderne IT-Strukturen macht Unternehmen zukunftsfähig. Prof. Dr. Manfred Broy

Wirtschaftsingenieurwesen (Informationstechnik) Modulname. Programmierung II / Software Engineering II Modulnummer

Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht

Transkript:

Arten der Softwareentwicklung Eigenprogrammierung Software Komponenten / -module SW SW K1 K2 K3 K4 eduzierung der Komplexität durch Modularisierung Comercial of the shelfs (COTS) Domain Management SW Zukauf von Bausteinen In der Domäne werden Softwarebausteine abgelegt, die entweder mehrfach in einer Applikation oder in mehreren Applikationen eingesetzt werden können. B1 B1 B1 (Ver-) Kauf von Softwarebausteinen Zusammenstellung von Software nach dem Baukastenprinzip eduzierung des Softwareentwicklungsaufwands durch Anlegen von Domänen und Nutzung der Wiederverwendbarkeit. horizontale Domäne vertikale Domäne

Prozeßorganisation in der Softwareentwicklung Fokus auf Gesamtprozeß Prozeß Einbeziehung der Kunden Kleine egelkreise Verbesserung der Planungsbasis Informationsgewinn Prozeß : ückkopplung Selbstprüfung Verantwortung Prozeßdarstellung als Voraussetzung für Transparenz und ein geeignetes Controlling-Konzept Methodik der Prozeßmodellauswahl anhand von Fähigkeits- und Anforderungsprofilen Prozeßschritte und -abfolgen Prozeßverknüpfung Prozeßbewertung beteiligte Stellen Entwicklungsprozeß Kritischer Pfad Hilfs- und Sachmittelunterstützung Schnittstellen

Softwareentwicklungsprozesse orientiert an Kernkompetenzen wachsende Softwarekomplexität führt zu ineffizienten Entwicklungsprozessen Problemen in der Sicherstellung von Qualität Problemen in der Softwarepflege Intensive Nutzung von der Möglichkeit der Zerlegung in kleine Einheiten/Bausteine externen Entwicklungspartnern als Zulieferanten Zukauf von Komponenten oder Know-How (temporär oder auf Dauer) Beschränkung auf die Kernkompetenzen zur Differenzierung gegenüber den Wettbewerbern und zur Erfüllung der Kundenwünsche durch gesteigerten Kundennutzen Kunde Kundennutzen eigenes Unternehmen Wettbewerb Wettbewerber

Modelle der Softwareentwicklung Das Wasserfall-Modell Systemrealisierbarkeit Nachprüfung Nachprüfung Pläne und Anforderungen Produktentwurf Überprüfung Feinkonzeption Überprüfung Codierung nach Boehm 1986 Modultest Integration Produktüberprüfung Implementierung Systemtest Betrieb & Überprüfung Wartung (Wiederholung) Charakteristiken: Validierung der Ergebnisse am Phasenende ückkopplungen zwischen aufeinander folgenden Phasen ücksprünge sind die Ausnahme Vorteile: + Klar abgegrenzte Entwicklungsschritte erleichtern die Planung und Kontrolle der Projekte + Die Qualitätskontrolle am Ende jeder Phase ist im Modell integriert Nachteile: - Änderungen der anfänglichen Anforderungen sind nicht vorgesehen - Eine Kommunikation zwischen Auftraggeber und Entwickler ist im Modell nicht enthalten - Keine Unterstützung von Neuerungen (Objektorientierung, Wiederverwertung) in der Softwareentwicklung Das V-Modell Systemdurchführbarkeit Analyse Spezifikation Entwurf Codierung Modultest Systemtest Integrationstest Betrieb Einführung Validierung Verifikation Zeit nach Boehm Vorteile: + die Beziehungen zwischen den Analyse-/ Konstruktionsphasen und den Testphasen werden berücksichtigt + Parallelisierung von Tätigkeiten + enthält die Qualitätssicherung, das Konfigurations- und Projektmanagement als integrale Bestandteile Charakteristiken: ückkopplungen zwischen aufeinander folgenden Phasen, aber als Ausnahme jeder konstruktiven Aktivität wird eine prüfende Aktivität zugeordnet Nachteile: - inflexibel aufgrund der starren Phaseneinteilung - aufwendige Einführung Prototyping Prototypen spezifizieren Prototypen generieren Mit Prototypen experimentieren Prototyp akzeptiert? nein Spezifikation ändern und erweitern ja Charakteristiken: iterativer Prozeß (egelkreis) mit zeitlicher Überlappung von Phasen Prototyping umfaßt nur einen Ausschnitt des SW- Entwicklungsprozesses Abstriche sowohl an der Funktionalität wie auch an der Implementierung Vorteile: + isikominderung durch frühe, sichtbare Ergebnisse + Einbindung des Benutzers; Anforderungen und Spezifikationen können anhand der Prototypen mit dem Benutzer überprüft werden + Anforderungsänderungen können lange berücksichtigt werden Nachteile: - (scheinbarer) Mehraufwand - nicht geeignet für Systeme, die in einem Systemzusammenhang integriert werden müssen - Gefahr von Endlosschleifen, da keine stabile Spezifikation gefunden wird Weitere Modelle Life Cycle Modell rein sequentielle top-down Softwareentwicklung Spiralmodell zyklisches Modell der Phasen Zieldefinition, Alternativenbewertung, Produktentwicklung und Planung des nächsten Zyklusses Inkrementeller Softwareentwicklungsprozeß Aufteilung des Aufgabenumfangs nachträglich Änderung der Spezifikationen möglich Versionsentwicklung Produktpflege über längere Zeiträume Mix and Match siehe Komponenten, COTS sowie Domain Management

Prozeßauswahl mit Hilfe des Prozeßauswahltools: Pro Choice Ablauf der Prozeßauswahl in Pro-Choice Bewertung Standardsoftware am Bsp. MS-Word 5 Softwareprodukt prozeßrelevante Merkmale 4 Transformationsmodell Profilvergleich Auswahl Prozeßfähigkeiten Vorgehensmodelle* 3 2 Prozeßmodell* Transformationsprofil Produktspezifisches Prozeßmodell *Code and Fix Wasserfallmodell Spiralmodell Evolutionäres Prototyping Exploratives Prototyping Inkrementelle Entwicklung V-Modell 1 Einhaltung des erstellten Zeitplans Für Kunden sichtbare Zwischenergebnisse Handhabbare Zwischenergebnisse Korrekturen im Prozeßverlauf Qualitativ hochwertige Dokumentation isikomanagement Stabile/zuverlässige Systeme Steuerbarkeit des Projektes Umgang mit instabilen Anforderungen Umgang mit nicht vollständig bekannter Architektur Verwendung von bestehenden Komponenten Wartungsfreundliche Systeme * Hier: Wasserfallmodell Als Beispielprodukt für Standardsoftware dient hier MS-Word. Diese wurde hinsichtlich ihrer prozeßrelevanten Merkmale bewertet und über das Transformationsmodell mit den Vorgehensmodellen verglichen. Die Graphik zeigt die Verläufe der Bewertung der Standardsoftware im Vergleich mit dem Wasserfallmodell. Die Alternativenauswahl im Tool erfolgt durch Bestimmung der Alternative mit dem geringsten Abstand zwischen Transformationsmodell und Vorgehensmodell.

Vorgehensweise zur Entscheidung über verteilte Entwicklung Der Entscheidungsprozeß Schritt 1 Auswahl möglicher Standorte gemäß den ahmenbedingungen (Vorselektion) Experten/Erfahrungsdatenbank Möglichkeiten zur verteilten SWE? Vorselektion durch Expertenbefragungen oder Nutzung von Erfahrungsdatenbank Schritt 2 Bewertung der betriebswirtschaftlichen Chancen und isiken der Standorte (Ableitung eines Chancen-isiken-Portfolios) Auswahl von Standorten Schritt 3 Technische Bewertung der Standorte (ealisierbarkeit) Wissensrückfluß Bewertung von Maßnahmen betriebswirtschaftliche Bewertung technische Bewertung Entscheidungsvorlagen auf Basis der ausgewählten Standorte Modifizierung der Standortauswahl (andere Standorte) Entscheidung: nein Schritt 4 Schritt 5 Erstellung des Strategieportfolios und Auswahl der für eine verteilte Entwicklung geeigneten bzw. weiter zu untersuchenden Standorte Bewertung der Maßnahmen zur Durchführung einer verteilten Entwicklung (z.b. Prozeßanpassungen und -ergänzungen, Schulungen, usw.) Entscheidung: ja Entscheidung über die Durchführung einer verteilten SWE (Checkliste Aufwand mit / ohne Verteilung) Entscheidung: ja Entscheidung: nein Durchführung der SWE an einem Standort Schritt 6 Erstellung des Strategieportfolios und Auswahl für eine verteilte Entwicklung geeigneter Standorte unter Berücksichtigung der Maßnahmen Durchführung einer verteilten SWE Schritt 7 Abwägung der Aufwände und des Nutzens einer Verteilung und Entscheidung über die Durchführung einer verteilten Entwicklung Ausführung dieser Schritte optional Diese Vorgehensweise ermöglicht den transparenten und nachvollziehbaren Entscheidungsprozeß über die Durchführung einer verteilten Entwicklung.