Software Engineering. Prof. Dr. Stefan Enderle NTA Isny



Ähnliche Dokumente
Wirtschaftsinformatik I Teil 2. Sommersemester Übung

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

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Software Projekt 2 / Gruppe Knauth Lernziele:

3.2,,Eichung von Function Points (Berichtigte Angabe)

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

Prozess-Modelle für die Softwareentwicklung

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

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich. Softwaretechnik I

SDD System Design Document

SPI-Seminar : Interview mit einem Softwaremanager

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

Software- Entwicklungsaktivitäten und Vorgehensmodelle. Lebenszyklusmodell

Softwareentwicklungsprozess im Praktikum. 23. April 2015

Das Wasserfallmodell - Überblick

17 Architekturentwurf Vorgehen und Dokumentation

IKP Uni Bonn Medienpraxis EDV II Internet Projekt

Warum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität

GS-Programme 2015 Allgemeines Zentralupdate

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

Änderungsmanagement bei iterativer SW-Entwicklung

Übungen zur Softwaretechnik

Some Software Engineering Principles

Qualitätsmanagement in kleinen und mittleren Unternehmen

Installationsbeschreibung Import / ATLAS / PV Zollsystem für die EDV-Abteilung

Software Systems Engineering

IT-Basics 2. DI Gerhard Fließ. Vorgehensmodelle


Dokumentation für die Software-Wartung

Projektplan(ung) zu CYOUTOO

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

Übungsaufgaben zum Software Engineering: Management

ITIL und Entwicklungsmodelle: Die zwei Kulturen

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

Vgl. Kapitel 5 aus Systematisches Requirements Engineering, Christoph Ebert

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

Datenschutzfreundliches Projektmanagement Sven Thomsen Unabhängiges Landeszentrum für Datenschutz Schleswig-Holstein

DER BESSER INFORMIERTE GEWINNT!

PROJEKTMANAGEMENT GRUNDLAGEN_2

PC-Kaufmann 2014 Installationsanleitung

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

Dr. Klaus Körmeier BlueBridge Technologies AG

GPP Projekte gemeinsam zum Erfolg führen

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

Informationssystemanalyse Grundlagen 1 1

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

Softwaretechnik. Fomuso Ekellem WS 2011/12

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

Taking RM Agile. Erfahrungen aus dem Übergang von traditioneller Entwicklung zu Scrum

Was versteht man unter Softwaredokumentation?

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

Modul 3: Service Transition

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger

SEP 114. Design by Contract

Kapitel 2: Der Software-Entwicklungsprozess

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI

Software Engineering. Dokumentation! Kapitel 21

Das chronische Problem der Anforderungsanalyse und die Frage: Fehler vermeiden oder früh entdecken? Oral Avcı ZU KÖLN

Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist

GRS SIGNUM Product-Lifecycle-Management

PC-Kaufmann 2014 Neues Buchungsjahr anlegen

C++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang

Anforderungen an die HIS

Tevalo Handbuch v 1.1 vom

Fragebogen: Abschlussbefragung

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine

Leitfaden zum Erstellen der Projektarbeit

Projektsteuerung Projekte effizient steuern. Welche Steuerungsinstrumente werden eingesetzt?

ARCO Software - Anleitung zur Umstellung der MWSt

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

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

Fragebogen zur Anforderungsanalyse

robotron*e count robotron*e sales robotron*e collect Anmeldung Webkomponente Anwenderdokumentation Version: 2.0 Stand:

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole

Projektmanagement Abläufe und Termine überwachen Autor: Jürgen P. Bläsing

Realisierung der Anbindung an den Handelsplatz Koeln.de Leitfaden zur Projektplanung bei Lieferanten

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

6. Programmentwicklung

Die Softwareentwicklungsphasen!

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

07. November, Zürich-Oerlikon

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

Software Engineering. Dokumentation. Wintersemester 2005/06. Kapitel 21. Universität Zürich Institut für Informatik

Duonix Service Software Bedienungsanleitung. Bitte beachten Sie folgende Hinweise vor der Inbetriebnahmen der Service Software.

Robot Karol für Delphi

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

IT-Projekte effektiv steuern durch Integration von Modellierung und ALM bzw. Änderungsmanagement

Was versteht man unter einem Softwareentwicklungsmodell?

Softwaretechnik (Allgemeine Informatik) Überblick

Blacktip-Software GmbH. FVS. Fahrschul-Verwaltungs-System. Umstieg von V3 auf V4

Anleitung zur Erstellung eines PDF/A1b-konformen Dokuments aus einer PDF-Datei

Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun. Java Projekt. Schiffe Versenken mit GUI

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

Projekt Management Plan

Ausgangslage, Rolle und Auftrag

Modul 5: Service Transition Teil 1

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

Leseauszug DGQ-Band 14-26

Transkript:

Software Engineering Prof. Dr. Stefan Enderle NTA Isny

3 Software Entwicklungsprozesse

Softwareentwicklung Systematisches Vorgehen wichtig Zeitlicher Ablauf durch Vorgehensmodell Meist grundlegender Aufbau: Analyse Entwurf Implementierung Test Übergreifend: Projektmanagement Qualitätssicherung A Analyse PM Projektmanagement E Entwurf I Implem. QS Qualitätssicherung T Test

Softwareentwicklung Aufbau auch für Wartung denkbar: Problem A Analyse PM Projektmanagement E Entwurf I Implem. QS Qualitätssicherung T Test Produkt A Analyse PM Projektmanagement E Entwurf I Implem. QS Qualitätssicherung T Test Wartung

3.1 Vorgehensmodelle Vorgehensmodell = Strategie zur Durchführung eines Projektes Auch Makroprozesse, da nur der Gesamtprozess betrachtet wird (nicht die einzelnen Schritte). Bisheriger Ansatz enthält weder Abfolge noch Abhängigkeiten! PM Projektmanagement A Analyse E Entwurf I Implem. T Test Verschiedene Vorgehensmodelle denkbar QS Qualitätssicherung

Build and Fix Cycle Einfachstes Vorgehen: Problem als Idee Entwurf passiert im Kopf Implementierung und Test so lange, bis eigene Qualitätsansprüche erfüllt sind. Bei Änderungswünschen im Betrieb erfolgt direkte Änderung durch den Programmierer Keinerlei Dokumentation Keine Stuktur (Analyse, Entwurf,...) Alle Schritte durch einen Programmierer Qualität kann hoch sein! Wartung/Änderung nur durch Programmierer Industrieller Einsatz riskant

Software Life Cycle Pomberger, Blaschek Software Engineering 1993 Strukturiertes Vorgehen! Starrer Ablauf: Anforderungen Analyse Entwurf Implementierung Test Inbetriebnahme Wartung Spätere Änderungen nur als neues Projekt möglich Änderungen während der Entwicklung nicht möglich

Software Life Cycle

Wasserfallmodell Fast gleicher Ablauf: Anforderungen Analyse Entwurf Implementierung Test Betrieb Rückwärtsschritt auf direkten Vorgänger möglich Aber keine Überlappung! OK, wenn alle Mitarbeiter gleichzeitig an einem Arbeitsschritt arbeiten können (kleine Arbeitsgruppe). Bei großen Gruppen aufgrund unterschiedlicher Qualifikation der Mitarbeiter unmöglich.

Wasserfallmodell

V Modell 6 Phasen: Anforderungsanalyse Systementwurf Entwurf und Implementierung der Module Modultest Systemintegration Systemabnahme Letzte 3 Phasen bilden Tests für erste 3 Phasen: Modultest testet Implementierung einzelner Module Systemintegration prüft Korrektheit des Systementwurfs Systemabnahme prüft Erfülltheit der Anforderungen

V Modell Sicht = Produkte einer Schicht + Tests

V Modell Statt Sicht wird auch Modell verwendet: Anwendermodell: Anforderungsanalyse Systemspezifikation Abgenommenes System Architekturmodell: Technische Spezifikation evtl. Teilsystemspezifikation Getestete Teilsysteme Getestetes System Implementierungsmodell: Modulspezifikation Getestete Module

V Modell Bewertung: V Modell strukturiert Ablauf ähnlich dem Wasserfallmodell (Sequenzielle Abfolge von Phasen) Fortschritt: Zusammengehörigkeit von Produkten und Tests Anfälligkeit für Fehler in früheren Phasen bleibt Wird sehr oft verwendet! (Öffentliche Projekte)

Spiralmodell Soll Projektrisiken begrenzen Jeweils 4 Phasen, die mehrmals durchlaufen werden können: Zielbestimmung: Bestimmen der genauen Ziele und Produkte des Durchlaufs Risikoanalyse: Bewertung der Ziele (und Alternativen) unter Berücksichtigung von Restriktionen. Finden von Risiken und ggfs. Lösungsstrategien. Beispiele: Umfragen, Prototypen, Simulation Produkterstellung: Vorgesehene Produkte werden erstellt Planung nächste Phase: Basierend auf Review der Produkte wird nächster Zyklus geplant

Spiralmodell Eine mögliche Ausprägung mit 4 Durchläufen: Letzter Zyklus erst nach Entfernen aller Risiken Systemerstellung z.b. durch eingebettetes Wasserfall oder V Modell

Spiralmodell

Spiralmodell Bewertung: Für sehr große Projekte Anzahl Durchläufe ergibt sich erst während des Projektes Dadurch Kosten und Zeitplanung schwierig Sehr erfahrener Projektleiter nötig

Inkrementelles Modell Bei Wasserfall und V Modell: Abgeschlossene Analyse Voraussetzung für Entwurf und Implementierung. D.h., alle Anforderungen müssen restlos geklärt sein. Kunde bekommt am Ende fertiges System als Ganzes Bei großen Projekten evtl. mehrere Jahre Wartezeit für Kunden evtl. Änderung der Anforderungen aufgrund langer Laufzeit Sofortige Änderung nach Auslieferung oder Einschränkung für Kunden Idee: Bei ausreichender Anzahl Anforderungen wird mit Entwurf und Implementierung gestartet Schrittweise Erweiterung bei weiteren Anforderungen

Gute Reaktion auf verändernde Anforderungen durch hochmodulare Systemarchitektur Inkrementelles Modell Eigenschaften (Balzer '89): Stufenweise Entwicklung Steuerung durch Erfahrung der Entwickler und des Kunden mit wachsendem Produkt Wartung = Erstellung einer neuen Version Gut geeignet, wenn Kunde Anforderungen noch nicht überblickt oder diese nicht formulieren kann Vorantreiben der Entwicklung durch Code. Lauffähige Programmteile als Hauptinteresse. Installation von Systemteilen beim Kunden möglich: Erfüllen von Teilen der Anforderungen

Inkrementelles Modell Auslieferung in mehreren Builds Alle Entwickler erweitern parallel ihre Modelle

Inkrementelles Modell Bewertung: Haupt Rikiso: Systemarchitektur für verändernde Anforderungen nicht mehr geeignet. Idee: Alle Anforderungen, die Systemarchitektur beeinflussen können, müssen vor erstem Entwurf bekannt sein. Projektleiter mit Erfahrung!

3.2 Mikroprozesse Arbeitsschritte und Tätigkeiten Besprochene Vorgehensmodelle: Build and Fix Cycle Software Life Cycle Wasserfallmodell V Modell Spiralmodell Inkrementelles Modell Steht das Vorgehen fest, so muss der Projektleiter allen Mitarbeitern die konkreten Tätigkeiten vorgeben. Meist standardisiert im Software Entwicklungsprozess des Unternehmens. Evtl. Erweitern / Weglassen durch Projektleiter

Arbeitsschritte Typische Arbeitsschritte in der Entwicklung: Analyse Entwurf Implementierung Test Jeder Arbeitsschritt besitzt unterschiedliche Sicht auf den Gegenstand des Projekts (Kundensicht / techn.sicht) Weitere Arbeitsschritte Inbetriebnahme und Wartung Projektmanagement Arbeitsorganisation Qualitätsmanagement

Arbeitsschritte detaillierter Analyse Gespräch mit Kunden Ermitteln der Anforderungen an System Beschreiben der Anforderungen (z.b. in objektorientiertem Systemmodell) Grobe Projektplanung für Realisierung Entwurf Technische Planung des Systems Treffen von Vorbereitungen Erstellen des Testplans (Korrekte Funktion + Anforderungen)

Arbeitsschritte detaillierter Implementierung Umsetzung des Entwurfs in einer Programmiersprache Erstellung eines lauffähigen und lieferbaren Systems (Erstellung von Modulen + Integration) Test Korrektheit des Systems in Bezug auf Technik Korrektheit des Systems in Bezug Kundenanforderungen

Arbeitsschritte detaillierter Inbetriebnahme und Wartung Inbetriebnahme des Systems (Installation, Start, Einweisung) Beheben von auftretenden Fehlern Klein Projekte für weiteren Änderungen der Anforderungen Projektmanagement Garantie des korrekten Projektablaufs nach oben Teambildung Planung von Tätigkeiten Kontrolle von Tätigkeiten Organisation und Koordination von Tätigkeiten

Arbeitsschritte detaillierter Arbeitsorganisation Konkrete Zuteilung von Arbeit an Mitarbeiter Berücksichtigung von Fähigkeiten, Verfügbarkeiten (aktuell) Qualitätsmanagement Prüfen der Einhaltung von Qualitätskriterien Stetige Verbesserung des Entwicklungsprozesses

Tätigkeiten und Aktivitäten Arbeitsschritte bezogen sich auf mehrere Rollen Tätigkeiten Arbeit einer Rolle innerhalb eines Arbeitsschrittes Gegenstand von konkreten Arbeitsaufträgen durch Gruppen oder Projektleitung Aktivität Kleinste Arbeitseinheit kann von einer Person durchgeführt werden Eine Tätigkeit besteht i.a. aus mehreren Aktivitäten

Tätigkeiten und Aktivitäten Beispiel: Arbeitsschritt Test Tätigkeiten der Rolle Tester Tätigkeiten können weiter unterteilt werden Aktivitäten

Zusammenfassung

3.3 Produkte Produkte = überprüfbares Resultat eines Projekts Mehr als ausführbares Applikation! Wichtig zu Beginn eines Projektes Welche Produkte werden erstellt? In welchen Merkmalsausprägungen?

Produktmerkmale Zweck: Der Zweck des Produkts muss klar sein. (Bsp: Anforderungsanalyse: Verstehen des Kundenwunsches Schulung: Weiterbildung / Festigung / Überprüfung) Zielpublikum: Kunde / Projektgruppe / Management Ausdrucksform unterschiedlich Granularität unterschiedlich Umfang unterschiedlich

Produktmerkmale Art: Dokument Technisches Produkt (auch Software) Leistung (durch Person) Detailgrad: Abhängig von Zielpublikum Zu genau: viel Aufwand bei der Erstellung Zu ungenau: Anfälligkeit für Fehler/Unklarheiten

Reifestufen: Produktmerkmale

Produktmerkmale Abnahmekriterien: Abnahmekriterium pro Produkt Wenn OK, wird das Produkt in dieser Form verwendet Bei Dokumenten: Übergang von Vorschlag zu Version Referenzen: Bezug auf andere Produkte (Produktversionen) Zeitpunkt der Erstellung: Abhängig vom Projekt Bsp: Testplan kann während Analyse, Entwurf oder Implementierung erstellt werden

Typische Produkte

Grundlagen für Software Projekte Begriffe: Begriffe der Software Entwicklung Begriffe der Anwendungs Domäne Dokumentationsrichtlinien: Aufbau (Titelblatt, Inhaltsverzeichnis, Kapitel,...) Aussehen (Schrift, Absätze, Tabellenformat,...) Format, Datentyp (Papier, PDF) Dokumentationsstruktur: Standarddokumente pro Projekt (Anforderunsanalyse, Tagesbericht, Testplan,...)

Grundlagen für Software Projekte Produktvorlagen: Hilfe für Neuerstellung von Produkten Änderungsmanagement: Beschreibung der Mechanismen, die bei Änderung von Produkten gestartet werden müssen Versionsmanagement: Benennung von Versionen Archivierungsdauer von Versionen

Grundlagen für Software Projekte Archivierungssystem: Speicherung und Wiederfinden von Produkten Meist Verantwortlicher für Archivierung Geeignete Werkzeuge Konventionen für Namen, Verzeichnisse,... Checklisten: Überprüfung der Produkte durch Ersteller Übereinkunft zwischen Ersteller und Prüfer