Hallo Isabell,
sorry, aber ich habe erst einmal schallend gelacht und grinse immer noch. ;o)
Das ist so, als wenn Du versuchst in einem über Jahre wild wuchernden Garten zu definieren,
welche Pflanzen wo stehen, wie gewachsen sind und welche Wurzeln wohin gehören.
Du siehst, dass es zwar möglich ist, all diese Dinge heraus zu finden, doch mit welchem Aufwand.
Damit Du aber nicht verzweifelst; der Schaden lässt sich eingrenzen.
Ich könnte mir folgende Vorgehensweise vorstellen:
1. Ermittlung der Grundstruktur der Software
-> Welche Hauptfunktionen gibt es?
-> Wie stehen diese zueinander bzw. wie sind die Abhängigkeiten?
Es gibt hoffentlich noch jemand der das zusammen bekommt.
2. Dokumentation / Visualisierung dieser Struktur in einem leicht handhabbaren Programm
(Verschieben mit Gummibandfunktion der Verknüpfungen)
3. Weitere Detailierung soweit möglich anhand der
Visualisierung
4. Die Dokumentation mit einer Sicherung des gesamten Softwarepaketes (Sourcecode und ausführbare Datei)
"einfrieren" und als Version XY deklarieren.
5. Ab nun wird es schwerer (für die Entwickler ;o) :
-> Einführung eines Änderungswesens für die Software
Jede Änderung wird eingerecht und nach Prüfung der Anfrage eingearbeitet.
Jeder Änderungsbericht hat eine eindeutige Nummer.
-> Nach einem definierten Zeitraum wird dann eine neue "Version XY+1" generiert, getestet und
freigegeben. -> s.o.
-> Wird am "offenen Herzen" entwickelt, so ist trotzdem eine Versionierung sinnvoll, um
auf alte Versionen zurückgreifen zu können, wenn man mal nicht so gut war. ;o)
Just thoughts und viel Erfolg.
Grüssle
Felde