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:
Die Vorstudie behandelt die Themenbereiche
Das hausinterne Formular sollte folgende Punkte enthalten:
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.
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.
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.
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:
Dies sind alles Elemente, die geplant werden müssen, bevor ein Projekt richtig anläuft.
Die fachliche Seite muß immer überwiegen, denn Programme sind nur ein Hilfsmittel, ein Werkzeug, sie sind nicht Selbstzweck.
Die Planung soll innovativ, also auf die Zukunft ausgerichtet sein. Das Idealkonzept soll neue, vielleicht sehr ungewöhnliche, aber bessere Lösungswege aufzeigen.
Einige relevante Techniken der Ideenfindung1) sind:
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 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.
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.
Die Aufgabenbäume der Teilprojekte sind zu erstellen, wozu – um bestmögliche Ergebnisse zu erzielen – viele Planungsgespräche notwendig sind.
Datensatzbeschreibungen, bei denen die fachliche Seite im Vordergrund steht
Nachdem das Fachkonzept durchplant wurde, ist dem DV-Konzept zu beginnen. Im Normalfall findet erst die Planung und anschließend die Programmierung statt.
Wenn das grundsätzliche Programmsystem aufgebaut ist, müssen die Funktionsbeschreibungen um die datenverarbeitungstechnischen Belange ergänzt werden. Hierzu gehören u.a.
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:
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.
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.
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:
Nun kann auch das in der Grobplanungsphase erstelle DV-Konzept verfeinert werden. Hierzu sind folgende Punkte zu berücksichtigen:
Diese Phase wird u.a. durch die Überarbeitung der Programmvorgabe und die Genehmigung derselben abgeschlossen.
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.
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.
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…
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.
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:
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
zu realisieren.
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:
Ermittlung der Testfälle und erstellen der Testdaten können parallel zum nächsten Punkt durchgeführt werden.
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.
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…
Das überprüfte Verfahren wird freigegeben und die Programmdokumentation auf den neuesten Stand gebracht
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.
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.