You were redirected from informatik:iuk:phasenmodell_der_software-entwicklung.

Phasenmodell der Software-Entwicklung

Phasenübersicht

Beschreibung der Phasen

Initialisierungsphase

Auslöser für eine Software-Neuentwicklung oder -Änderung ist die Unzufriedenheit mit der bestehenden Situation. Das heißt, bestehende Anforderungen können mit den derzeit verfügbaren Mitteln gar nicht oder nicht ausreichend abgedeckt werden. In der Initialisierungsphase, wo nur ein kleines Team benötigt wird, werden Ideen für die Problemlösung entwickelt, Informationen zu dem Problem und für die Problemlösung gesucht (z.B. Fachmessen, Fachliteratur…) und Randbedingungen eruiert. Diese Phase gliedert sich in zwei Unterphasen:

Vorstudie

Die Vorstudie behandelt die Themenbereiche

  • Vorgehen planen: Das Entwicklungsmodell wird festgelegt, womit weitere Informationen zum Problem und den Anforderungen evaluiert werden. Hier können z.B. Interviews, Belegauswertungen, Multimomenaufnahmen, Fragebögen usw. geplant werden.
  • Marktstudie: Wenn das Produkt als Standardsoftware entwickelt werden soll, müssen die Zielgruppe, Größe, Produktanforderungen und Preisbereich festgelegt werden, bei Individualsoftware ist insbesondere die Zielgruppe wichtig.
  • Problemstrukturierung: Der IST-Zustand wird aufgenommen und in Teilprobleme zerlegt.
  • Schwachstellenanalyse: Eruierung von Schwachstellen, Fehlern und (latenten) Problemen bei den derzeitig verwendeten Lösungen.
  • Abschätzen von Entwicklungstendenzen: Um zukunftssichere Lösungen zu implementieren, sollten Entwicklungstendenzen bezüglich Hardware, Betriebssystem, Techniken usw. in die Problemlösung mit einbezogen werden.
  • Definition von Randbedingungen: Randbedingungen können Zeitrahmen, Etat, Kosten, aber auch die Festlegung auf bestimmte Betriebssysteme, Netzwerktopologien und verwendete Techniken, sein.
  • Wirtschaftlichkeitsbetrachtungen: Kosten-Nutzen-Analyse
  • Zielformulierung: Schriftliche Fixierung des Soll-Zustandes

Projektantrag/Exposé

Das hausinterne Formular sollte folgende Punkte enthalten:

  • Was soll gemacht werden?
  • Warum soll es gemacht werden?
  • Was bringt es?
  • Wer benötigt es?
  • Was kostet es voraussichtlich?
  • Wann ist es fertig?
  • Wer ist verantwortlich?
Meilensteinergebnis Das Meilensteinergebnis der Initialisierungsphase ist der zur Überprüfung/Entscheidung freigegebene Projektantrag bzw. Exposé.

Bei Großprojekten, aber auch bei Individualsoftware, erfolgt eine Präsentation der Vorstudie (oft auch von mehreren Software-Häusern). Nach der Genehmigung des Projektantrages folgt die Grobplanungsphase.

Grobplanungsphase

Das Planungsteam ist für die Grobplanungsphase bereits zusammengestellt und wird als „Kernteam“ das Projekt über seine weitere Laufzeit betreuen und verantwortlich koordinieren, kontrollieren und managen.

Grundsätze der Grobplanungsphase für große Projekte

Als großes Projekt werden Projekte bezeichnet, in dem mehr als ein oder zwei Mitarbeiter an dem EDV-Vorhaben arbeiten. Die Projektmannschaft wird, da zu Beginn viele fachliche Dinge zu klären sind, aus Mitarbeitern der Fachabteilungen und der Organisation bestehen. Zusätzlich sind Systemanalytiker vertreten, eventuell werden externe Berater für die Unterstützung hinzugezogen.

Qualitätssicherungsmaßnahmen

Um Fehler bereits frühzeitig festzustellen und nicht erst am Projektende, ist eine funktionierende Qualitätssicherung notwendig, die projektbegleitend durchgeführt wird. Festzulegen sind die anzuwendenen Test- und Prüftechniken. Nachfolgend einen Überblick über einige Dokumentationstests:

  1. Review-Verfahren
    Es handelt sich um Prüfungen, die in Form von Gruppensitzungen abgehalten werden. Das Ziel ist, Regelverstöße ausfindig zu machen bzw. Planungsfehler so früh wie möglich zu entdecken.
  2. Schreibtischtest
    Die Struktogramme oder PAP's werden mittels Testfällen und Testdaten auf dem Papier auf ihre Richtigkeit überprüft, indem die darin enthaltenen Aktionen „gedanklich“ durchgespielt werden. Damit kann die Logik auf Fehlerfreiheit getestet werden.
  3. Allgemeine Qualitätssicherungsmaßnahmen
    Dazu gehört bespielsweise die Berufung eines Qualitätssicherungsteams. Hier können bestimmte Verfahren festgelegt werden für die Qualitätssicherung festgelegt werden, wie z.B. wöchentliche Zusammenkünfte von Teamleitern und Qualitätssicherung, um den aktuellen Stand zu besprechen. Hierbei wird überprüft, ob die Festlegungen eingehalten werden und aufkommende Probleme analysiert und Lösungsmöglichkeiten eruiert werden.
  4. Berichtswesen
    Organisation des Berichtswesens, also die Festlegung, wer worüber, wann, wo, wem und in welcher Form berichtet (Projektfortschritt, Änderungsdienst, Zeit- und Kostenbilanz, usw.)

Dies sind alles Elemente, die geplant werden müssen, bevor ein Projekt richtig anläuft.

Grobes Fachkonzept

Die fachliche Seite muß immer überwiegen, denn Programme sind nur ein Hilfsmittel, ein Werkzeug, sie sind nicht Selbstzweck.

Entwicklung des Idealkonzeptes

Die Planung soll innovativ, also auf die Zukunft ausgerichtet sein. Das Idealkonzept soll neue, vielleicht sehr ungewöhnliche, aber bessere Lösungswege aufzeigen.

Techniken der Ideenfindung

Einige relevante Techniken der Ideenfindung1) sind:

IST-Aufnahme

Die IST-Aufnahme hat den Zweck, den bestehenden Zustand zu erheben, zu untersuchen und zu dokumentierten. Es werden wieder die bekannten Standardtechniken wie z.B. Interviews, Fragebogen, Multimomentaufnahme oder Selbstaufschreibung angewendet. Ferner bedient man sich ggf. REFA-Techniken.

IST-Aufnahme und die nachfolgende IST-Analyse kann dabei natürlich nur durchgeführt werden, wenn durch die Entwicklung ein bestehender Zustand verändert und verbessert werden soll.

IST-Analyse (Schwachstellenanalyse)

Ist die IST-Aufnahme abgeschlossen, müssen die erhobenen Daten und Fakten bearbeitet und analysiert werden. Hierbei werden Probleme, Schwachstellen und Unzulänglichkeiten wesentlich ausführlicher wie in der Initialisierungsphase ausgearbeitet und eruiert. Dabei sollen auch zukünftige Schwierigkeiten mit dem derzeitigen Stand mit einbezogen werden, die gegebenenfalls auftreten können.

Entwicklung des SOLL-Konzepts

Mit der Entwicklung des SOLL-Konzepts beginnt die eigentliche Planung. Die erforderlichen Funktionsumfänge sowie Sicherheitskriterien werden festgelegt. Benötigte Sicherheitskriterien werden u.a. durch eine Funktions- und Bedrohungsanalyse eruiert, um festzustellen, welche Daten bzw. Informationen wie stark gefährdet sind und um sicherzustellen, daß diese zukünftig in ausreichendem Maße geschützt sind.

Aufgabenbäume der Teilprojekte

Die Aufgabenbäume der Teilprojekte sind zu erstellen, wozu – um bestmögliche Ergebnisse zu erzielen – viele Planungsgespräche notwendig sind.

Funktionsbeschreibungen Teil 1

Datensatzbeschreibungen, bei denen die fachliche Seite im Vordergrund steht

  • Maskenlayouts
  • Listenbeschreibungen
  • Schlüsselsysteme (Verwaltung von Daten in Dateien oder Datenbanken)

Grobes DV-Konzept

Nachdem das Fachkonzept durchplant wurde, ist dem DV-Konzept zu beginnen. Im Normalfall findet erst die Planung und anschließend die Programmierung statt.

Funktionsbeschreibung Teil 2

Wenn das grundsätzliche Programmsystem aufgebaut ist, müssen die Funktionsbeschreibungen um die datenverarbeitungstechnischen Belange ergänzt werden. Hierzu gehören u.a.

  • Festlegung von Datenbanken oder Dateisystemen
  • Erstellung eines SOLL-Datenmengengerüsts, hierbei sollte ein Sicherheitszuschlag für zukünftige Erweiterungen mit einbezogen werden.
  • Festlegung der Listen-, Masken- und Belegsysteme.
    Die im Fachkonzept entwickelten Entwürfe werden verfeinert, das Belegsystem wird an die datenverarbeitstechnischen und organisatorischen Anforderungen angepaßt.
  • Festlegung der Schnittstellenbeschreibungen.
    Diese sollte in einer zweckmäßigen und übersichtlichen Struktur erfolgen und die Datentypen sowie mögliche Inhalte sind zu planen.
  • Festlegung der Schlüsselsysteme (DV-technisch)
    Es werden ferner aus DV-technischer Sicht eine Reihe von Schlüsseln benötigt, um Daten und Prozesse zu identifizieren, die jedoch für den Anwender nicht relevant sind und für diesen auch nicht sichtbar sein müssen.
  • Konfigurationsplan.
    Hierzu zählen u.a. die Festlegung von Hardware und System-Software, auf denen die Entwicklung später eingesetzt werden soll. Dazu zählen auch, bei Entwicklung, die auf Netzwerke zugreifen müssen, Spezifikationen für die verwendeten Netzwerktechniken.
Projektablaufplanung

Hauptarchitektur sowie die fachlichen und DV-technischen Anforderungen sind festgelegt und bekannt. Nun muß der Projektablauf geplant werden. Hierzu werden die folgenden Bereiche analysiert und festgelegt:

  • Schätzung des Zeitaufwandes
  • Ermittlung des Personalbedarfs
  • Festlegung der Fertigstellungstermine für die einzelnen Projektphasen
    Hier wird festgelegt, wann welche Teile fertig vorliegen müssen. Zu diesem Zweck unterstützen moderne Netzplanprogramme auch ein Budget- und Personaleinsatzplanung.
  • Festlegung der Projektorganisation
  • Schulungsplanung
    Bei der Einführung von neuen Systemen müssen die Anwender entsprechend geschult werden, was in der Planung mit berücksichtigt werden sollte.
  • Kosten-Nutzen-Analyse
    Bei Entwicklungsvorhaben muß immer zwischen dem quantifizierbaren Nutzen und dem qualifizierbaren Nutzen unterschieden werden. Sind die Kosten größer als der erwartete Nutzen, kann an dieser Stelle das Projekt auch noch abgesagt werden oder weitere Planungen vorgenommen werden, um die Kosten zu minimieren.
  • Phasenabschluß
    Die Leistungsbeschreibung kann auch in Form des sogenannten Pflichtenheftes erstellt werden, was bei externen Projekten notwendig ist, bei internen weniger zum Einsatz kommt.

Überprüfung der Leistungsbeschreibung/des Pflichtenheftes

Leistungsbeschreibung bzw. Pflichtenheft beinhalten alle Dokumente, die bis zu diesem Zeitpunkt erarbeitet worden sind und die Eigenschaften des Projekts beschreiben. Diese müssen selbstverständlich durch den Auftraggeber/Entscheidungsträger geprüft werden. Sollte der Auftraggeber/Entscheidungsträger andere Vorstellungen haben oder bei den bis dato durchgeführten Entscheidungsprozessen etwas vergessen worden sein, müssen die Projektunterlagen überarbeitet werden. Letztendlich steht die Genehmigung der Leistungsbeschreibung bzw. des Pflichtenheftes durch den Auftraggeber/Entscheidungsträger.

Meilensteinergebnis Das Meilensteinergebnis der Grobplanungsphase ist die Leistungsbeschreibung oder Pflichtenheft. In diesem Dokument sind alle bisher erstellten wesentlichen Planungsunterlagen zusammengefaßt wie Problemkatalog, Zielkatalog, Anforderungskatalog, Aufgabenbäume, Funktionsbeschreibungen, usw.

Feinplanungsphase

Die Feinplanungsphase wird auch Detailkonzept/Detaillierungsphase oder Planungsphase II genannt. Aus der Detaillierung der Leistungsbeschreibung oder des Pflichtenhefts der Grobplanungsphase wird eine Programmvorgabe bzw. Pflichtenheft erstellt und enthält alle Anforderungen der einzelnen Projektbeteiligten im Hinblick auf die zu erbringenden Leistungen. Innerhalb der Feinplanungsphase wird das Fachkonzept und DV-Konzept verfeinert und konkreter spezifiziert.

Feines Fachkonzept

Das in der Grobplanungsphase erstellte Fachkonzept wird konkretisiert und detailreicher festgehalten. Im Feinkonzept müssen alle Details der Anforderungen ausgearbeitet und spezifiziert werden. Hierzu gehören die Themenbereiche:

  • Beschreibung der Maskenlayouts
  • Beschreibung des Dialogablaufs
    Zum Ende der Feinplanungsphase muß genau feststehen, wie die einzelnen Dialoge ablaufen solle, d.h. die Funktion der Steuerung, welche Zwischenmenüs es gibt…
  • Beschreibung der Formulare
    Vorausgesetzt, in dem Projekt sind Formulare wie Erfassungsbelege, Ausgabeformulare erforderlich.
  • Beschreibung der Druckausgabe
  • Beschreibung der Schlüsselsysteme
    Die in der Grobplanungsphase geplanten Schlüssel sind im Detail festzulegen.
  • Beschreibung der Dateien (Teil 1)
  • Qualitätsmerkmale der IT Sicherheitskriterien
  • Beschreibung der Einzelfunktionen
  • Beschreibung der Testfälle und Prüfszenarien

Feines DV-Konzept

Nun kann auch das in der Grobplanungsphase erstelle DV-Konzept verfeinert werden. Hierzu sind folgende Punkte zu berücksichtigen:

  • Festlegung des Programmaufbaus (POP)
    Ein Programmorganisationsplan (POP) ist so zu entwerfen, daß er einem modernen Software-Design entspricht.
  • Beschreibung der Dateien (Teil 2)
    Die Dateibeschreibungen werden aus DV-technischer Sicht, ferner mit den benötigten Datenfeldern und den DV-technischen Variablen, ergänzt.
  • Festlegung der Programmiersprache
  • Erstellung/Festlegung von Programmierkonventionen
    Im Pflichtenheft werden auch die Programmierkonventionen festgelegt, beispielsweise Datei- und Programmnamen, Feldbezeichner in Programmen usw., bestimmte Regeln also, die es erlauben, ein Programm lesbarer zu gestallten, insbesondere, wenn mehrere Programmierer am Projekt beteiligt sind.
  • Verfeinerung der Prozeßablaufbeschreiungen (SOLL)
    Die Vorlage für die spätere Erstellung der Programmlogik wird hier gestaltet.

Phasen-Abschluß

Diese Phase wird u.a. durch die Überarbeitung der Programmvorgabe und die Genehmigung derselben abgeschlossen.

Meilensteinergebnis Das Meilensteinergebnis der Feinplanungsphase ist die Programmvorgabe (bzw. das Pflichtenheft). In die Programmvorgabe gehören alle Dokumente, welche die Programmierer für die nachfolgende Realisierung benötigen (z.B. Aufgabenbäume, Funktionsbeschreibungen, Schnittstellenbeschreibungen, Dateibeschreibungen, Maskenlayouts, Drucklistenlayouts, usw.)

Realisierungsphase

Projektmitarbeiter der bisherigen Entwicklungsmannschaft, deren Aufgabenbereich in Planung und Analyse liegen, können aus dem Projekt genommen werden, da ihre Planungsaufgaben abgeschlossen sind. Statt dessen kommen neue Mitarbeiter, insbesondere Programmierer, zur Projektmannschaft hinzu.

Festlegen weiterer Programmierkonventionen

Softwaretechnik

Hierunter ist die Art und Weise zu verstehen, wie logische Probleme in die jeweilige Programmiersprache umgesetzt wrden. Es ist also sehr wichtig, nach welchen Regeln die Softwaretechnik festgeleg wird.

Dokumentationsnorm und Namenskonvention

Unabdingbar bei Projekten ist die Festlegung einer Namenskonvention von verschiedenen Dateien, z.B. Dokumentationen wie Funktionsbeschreibungen, Aufgabenbäume, Schnittstellenbeschreibungen, Datenkatalogen, Logikbeschreibungen, Protokolle, Quellcodes usw. Dies macht ein Projekt wartbarer, übersichtlicher und ermöglicht im späteren Verlauf, sich einfacher in das Projekt einzuarbeiten. Alle Beschreibungen der Dateien müssen sinnvoll qualifiziert werden, um auszuschließen, daß es zu Datenverlusten kommt, sei es durch nicht-Auffindbarkeit der Dateien, aktuelle Versionen werden durch ältere überschrieben…

Schnittstellenkonvention

Für die verwendeten Schnittstellen sollte ebenfalls eine einheitliche Konvention definiert werden um ein einheitliches Bild abzugeben und hierdurch Fehler vorzubeugen, die Einarbeitung zu vereinfachen, und die Dokumentation bereits durch die Konvention zu unterstützen.

Festlegung der Testkonventionen

Abhängig von den einzelnen Punkten wie Teststrategie und Testumgebung ist auch der Aufwand, der zur Entwicklung von Testtreibern und weiteren Testhilfen entsteht, zu berücksichtigen. Entsprechend sollten die folgenden Punkte detailliert festgelegt werden:

  • Teststrategie
    Die gängigen Strategien sind:
    • Top-Down-Strategie
    • Bottom-Up-Strategie
    • Branchwise (zweigweises Testen)
  • Testumgebung
    Nachdem die Teststrategie festgelegt worden ist, kann die geeignete Testumgebung festgelegt und implementiert werden. Es ist ferner eine Liste sämtlicher benötigter Treiberprogramme sowie aller benötigten Testhilfen und Testwerkzeuge anzufertigen.
  • Testabdeckungsgrad
    Dieser muß im maximalen Maße Berücksichtigung finden.

Erstellung der Programmlogik

Programme wirklich logisch saube und wartbar aufzubauen ist nur durch Erstellung einer entsprechenden Programmlogik vor der Realisierung der Programme möglich. Dies ist u.a. mittels

  • Struktogramme
  • Programmablaufsplan (PAP)

zu realisieren.

Ermittlung der Testfälle und erstellen der Testdaten

Um ein systematisches Testen überhaupt erst zu ermöglichen, müssen Testfälle ermittelt und Testdaten dazu erstellt werden. Die folgenden Reihen/Gruppen sind im Einzelfall zu unterscheiden:

  • Normalfälle
  • Grenzfälle
  • Fehlerfälle

Ermittlung der Testfälle und erstellen der Testdaten können parallel zum nächsten Punkt durchgeführt werden.

Programmieren/Codieren der Programme

Dieses ist die eigentliche Haupttätigkeit in der Realisierungsphase. Nach den vorherigen Spezifikationen werden nun die Programmteile realisiert. Hierbei sollten zunächst die Module realisiert werden, die eine zentrale Bedeutung für das Gesamtsystem haben bzw. von anderen Modulen für die Erledigung der Aufgabe benötigt werden.

Parallel zur Programmierung werden bereits die Module getestet, abschließend jeweils das komplette Programm entsprechend der Test-Spezifikation.

Erstellen der Dokumentation

Zusätzlich zur eigentlichen Programmdokumentation, welche während des Projekts erstellt wird, sind eine Reihe von weiteren Dokumentationen zu erstellen. Hierzu gehören ggf. das Benutzerhandbuch für den Anwender, Rechenzentrumshandbuch bei Großrechner-Programmen…

Meilensteinergebnis Das Meilensteinergebnis der Realisierungsphase ist das überprüfte, getestet, ggf. evaluierte Programmsystem, welches durch die Verantwortlichen zum Probebetrieb freigegeben ist.

Einführungsphase

Grundsätze der Einführungsphase

  • Einweisung und Schulung
  • Organisationsanpasssung
  • Installation des Programmsystems
  • Vorbereitung und Durchführung des Probebetriebs

Phasenabschluß

Das überprüfte Verfahren wird freigegeben und die Programmdokumentation auf den neuesten Stand gebracht

Meilensteinergebnis Das Meilensteinergebnis der Einführungsphase ist das getestete, im Probebetrieb auf seine zuverlässige Funktion überprüfte, für den „Echteinsatz“ freigegebene Programmsystem mitsamt den notwendigen Dokumentationen wie Anwenderhandbuch, Programmdokumentation, ggf. Rechenzentrumshandbuch sowie notwendige Schulungsunterlagen und Installationsanweisungen.

Einsatzphase

Mit der Einsatzphase sind die wenigsten Entwickler involviert. Über den Systemservice und Controlling sollten die auftretenden Probleme und Wünsche analysiert und Anstöße zur Versionsänderung geben. Im Idealfall wird sich so rechtzeitig mit einem Update befaßt, so daß dieses vorliegt, bevor das Problem akut wird. Das Ende des Programm-Lebenszyklus muß bestimmt werden, der Anstoß zu einem neuen Projekt ist rechtzeitig zu geben.

Phasenabschluß

Der Phasenabschluß der Einsatzphase ist die Beendigung des Programmeinsatzes. Dies ist recht unterschiedlich, einige Standardsoftware wird oft nicht älter als ein Jahr, bis die neue Version auf dem Markt ist. Individualsoftware wird häufig wesentlich länger betrieben.

Meilensteinergebnis Die Einsatzphase hat kein eigentliches Meilensteinergebnis, es sei denn, Sie wollen den Anstoß zu einer Versionsänderung, einem neuen Projekt oder zur Außerbetriebnahme des Programmsystems als solches werten.
1) eine größere Übersicht von Ideenfindungstechniken ist bei Wikipedia zu finden
informatik/informationstechnik/phasenmodell_der_softwareentwicklung.txt · Zuletzt geändert: 14.11.2010 10:48 (Externe Bearbeitung)
Recent changes RSS feed Kontakt GPG-Schlüssel Get Firefox Driven by DokuWiki Valid CSS Valid XHTML 1.0