Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Was ist ein Softwareentwicklungsprozess?

Ähnliche Präsentationen


Präsentation zum Thema: "Was ist ein Softwareentwicklungsprozess?"—  Präsentation transkript:

1 Was ist ein Softwareentwicklungsprozess?
– Eine Menge von Tätigkeiten, die die Entwicklung der Software als Ziel haben – Allgemeine Tätigkeiten in allen Softwareprozessen sind: · Spezifikation - Was das System können muss unter gegebenen Entwicklungsbedingungen · Entwicklung - Produktion des Softwaresystems · Validierung - Testen, ob die Software das macht, was der Kunde wollte · Wartung - Änderungen der Software in Antwort auf die Änderungswünsche

2 Software-Entwicklungsprozess - Ziele
Alle Elemente eines Systementwurfs sind in einem Repository erfaßt und damit quantitativ definiert. Sie bilden die Grundlage für die Aufwandskalkulation, stehen über festgelegte Strukturen in Beziehung zueinander und können in mehreren Projekten verwendet werden. Alle Systementwürfe und -dokumente beziehen sich begrifflich auf diese Elemente mit einheitlichen Schreibweisen und konsistenten Begriffen - inklusive der an der Benutzeroberfläche (Masken, Listen, Belege) verwendeten Bezeichnungen. Es besteht jederzeit Transparenz darüber, wo welche Elemente auftreten beziehungsweise benutzt werden. Die Beschreibung referenzierter Objekte ist direkt abrufbar. Die Entwürfe werden automatisch formalen Plausibilitätsregeln unterworfen. Die Definitionen sind eins zu eins die Basis für Texte in Benutzerdokumenten und Online-Help-Systemen.

3 Was leisten Prozessmodelle - 1
Software Erstellungsprozess wird transparent Vergabe von Zielen, Wegen, Mitteln, Aufgaben, Rollen Software Erstellung wird überprüfbar Erfüllung der Aufgabe Erreichung der Ziele Aufdeckung von Risiken Beurteilung des Projektfortschrittes Management von Ressourcen wird möglich Kosten Zeit Personen Erfahrungen werden gesammelt und wiederverwendbar Tailoring von Workflows Best Practice Effekt

4 Was leisten Prozessmodelle - 2
Prozessmodelle strukturieren den Vorgang der Software Erstellung Definieren Aktivitäten Legen deren Ergebnisse fest Geben Empfehlungen für die Abarbeitung der Aktivitäten Prozessmodelle müssen daher für jedes Projekt für jedes Projektteam ausgewählt und angepasst werden. Das in einem konkreten Projekt verwendete Prozessmodell charakterisiert die Komplexität und den Lösungsansatz im Projekt Die Instanzierung des Prozessmodelles spiegelt die Entwicklungskultur eines Software Unternehmens wieder

5 Prozess-Qualität in der Softwareentwicklung
Niedrige Prozessqualität Improvisierter, ad hoc-Prozess Reaktion bei Problemen Kosten- und Terminpläne werden im allgemeinen nicht eingehalten Qualitäts- und Funktionsreduktion bei Terminproblemen QS-Aktivitäten werden bei Terminproblemen nicht durchgeführt Hohe Prozessqualität Professionell durchgeführter Prozess Vermeiden von Problemen Bessere Planung durch geeignete Prozessverfahren Probleme werden frühzeitig erkannt und behoben Der Prozess wird kontinuierlich verbessert Die Verbesserung der Prozessqualität erfordert ein Ziel (Prozesswahl), die Erhebung des Istzustandes (Audit oder Assessment) und die Auswahl von Schritten zur Annäherung des Istzustandes an das Ziel.

6 Software Entwicklungsprozess - häufige Fehler
Auf ein Datenmodell wird im fachlichen Entwurf verzichtet Systeme und ihre Funktionen werden nicht über ein Repository sondern direkt als Word-Dokument beschrieben. Für Funktions- und Maskenabläufe werden, wenn überhaupt vorhanden, bunte Folien etwa über Powerpoint erstellt. Die zum System gehörenden Teile werden erst in der technischen Umsetzung eindeutig beschrieben und vielleicht bei Projektende nachdokumentiert. Dokumente werden in uneinheitlichen Formaten, Ablagemedien und -strukturen verwaltet. Es gibt kaum qualitätssichernde Prüfungen.

7 Prozessmodelle nach der ISO 9000
Die ISO 9000-Familie beschreibt einen Rahmen, um ein QM-System in einer Organisation einzuführen und zu betreiben. Die Einführung eines QM-Systems macht es notwendig, sich über alle Vorgänge, Verantwortlichkeiten, Verhaltensweisen und Einstellungen der Mitarbeiter klar zu werden. Alle Abläufe müssen offengelegt und dokumentiert werden. Dabei stellt sich oft heraus, daß einzelne Maßnahmen nicht angemessen sind und geändert werden müssen. Dies ist eine große Chance für jedes Unternehmen, seine Abläufe zu optimieren. Die Allgemeingültigkeit der Normen führt allerdings dazu, daß die Normen sehr vage formuliert sind und daher sehr unterschiedlich interpretiert werden können. Dadurch wird einerseits die Anpassung auf das eigene Unternehmen sehr aufwendig. Andererseits ist es auch möglich, Verantwortlichkeiten und Abläufe auf einem sehr niedrigem Niveau zu regeln, so daß die Anforderungen der Norm zwar formal erfüllt sind, die dadurch erreichte Produktqualität aber trotzdem sehr niedrig ist. Dies ergibt sich aus aus der Tatsache, daß es sich hier um eine Prozeßnorm und keine Produktnorm handelt. Eine weitere Folge ist, daß Zertifikate verschiedener Zertifizierungsstellen unterschiedlichen Stellenwert auf dem Markt besitzen

8 Prozessstruktur des ISO 9001/9004 Prozessmodells
Die neuen Normen sind vor allem Kunden- und Prozess-orientiert Produkt Verantwortung QM zur Produkt Verbesserung Ressourcen Verwaltung Produktrealisierung Anforderung Aktivitäten Erfüllung

9 Aufgaben von Lebenszyklusmodellen
Software hat eine Geschichte, die von ihrer Planung bis zu ihrer Ablösung reicht (Lebenszyklus). Diese Geschichte verläuft für unterschiedliche Produkte oft ähnlich, man kann sie modellhaft beschreiben (Lebenszyklusmodell). Lebenszyklusmodelle sollen hauptsächlich drei Aufgaben erfüllen: Definition der Tätigkeiten im Entwicklungsprojekt Zusicherung von Konsistenz zwischen einzelnen Projekten Schaffung von Kontrollpunkten für das Management Lebenszyklusmodelle gliedern eine Gesamtaufgabe in Teilaktivitäten, denen Methoden und Personen zugeordnet werden und die ein oder mehrere Produkte erzeugen. Die Aktivitäten werden Phasen zugeordnet.

10 Zeitliche Zerlegung Software-Lebenszyklus
Phase Ergebnis 1. Problemanalyse - Pflichtenheft 2. Programmentwurf - Spezifikation 3. Programmierung - Programm 4. Testprogramm - Testbericht des AuftragNehmer 5. Abnahme - Abnahmebericht 6. Verifikation - Erfahrungsbericht des Auftraggeber 7. Wartung - Fortschreibung aller Berichte Typische Projektaktivitäten werden schwerpunktmäßig in getrennten Phasen durchgeführt

11 Phasenbeziehung und -anordnung
Phasen können in unterschiedlicher Weise miteinander in Beziehung stehen und angeordnet sein. Wir unterscheiden: Sequentielle Modelle Streng sequentiell mit Einfluss auf zurückliegende Phasen Iterative Modelle sich wiederholend mit oder ohne Überlappung


Herunterladen ppt "Was ist ein Softwareentwicklungsprozess?"

Ähnliche Präsentationen


Google-Anzeigen