Bei der Entwicklung einer Software wird zunächst der Istzustand aufgenommen
bzw. bei "Erfinden" von völlig neuen Abläufen ein Sollzustand definiert.
Danach erfolgt eine Systemanalyse mit Entwurf eines Sollkonzeptes und darauf
basierender Bildung eines logischen Modells.
Wichtig ist zu verstehen, daß die Realität mit all ihren Möglichkeiten
NICHT in ein EDV-System gepackt werden kann. Ein EDV-System arbeitet IMMER mit
einem vereinfachten und logischen Modell der Realität, Vereinfachung heißt:
weglassen von Dingen, die als unnötig eingestuft werden. Stellen sich diese
weggelassenen Dinge später doch als nötig heraus, hat man ein Problem!
Logisch heißt: es können KEINE unlogischen Abläufe abgebildet werden.
Die RICHTIGE Modellbildung ist entscheidend für die Qualität der
Software, die nachfolgenden Schritte setzen auf das Modell auf und können
grobe Fehler des Modells nicht geradebiegen. Ein Modell wird dokumentiert durch
ein ausführliches Pflichtenheft (aufwendig), Datenfluß- und
Programmablaufpläne. Das Modell wird dann in Datenstrukturen für ein
Datenbanksystem
und Codierung in einer Programmiersprache umgesetzt.
Für die Neuentwicklung
eines kompletten Warenwirtschaftsystemes (Lager, Einkauf, Verkauf, Fakturierung,
Kunden, Lieferanten, Artikel) muß, je nach Schwierigkeitsgrad (einfache
Artikel wie z.B. Schrauben oder schwierige wie z.B. Lebensmittel (Mindesthaltbarkeiten,
Chargenverfolgung, Rezepturen, unterschiedliche Gebinde)/einfache Fakturierung
wie z.B. nur Einzelrechnung oder schwierige wie z.B. komplexe Sammelrechnungen),
ein Aufwand von mehreren Mannmonaten bis mehrere Mannjahre
einkalkuliert werden.
Für das Verständnis der Möglichkeiten eines EDV-Systems ist
es wichtig zu verstehen, daß die Bildschirmmaske mit Kunden, die ich
auf meinem Monitor sehe, NICHT ein einfacher Text ist, sondern von einer
Codierung in einer Programmiersprache erzeugt wird, die wieder auf festgelegte
Datenstrukturen in einem Datenbanksystem aufsetzen, das ganze basiert auf einem
vor langer Zeit festgelegtem Modell meiner Geschäftsabläufe und ist
weiterhin in einen Kontext von anderen Geschäftsvorgängen (Artikel,
Aufträge, Lieferanten, etc.) eingebunden.
Das größte Problem in der Software-Entwicklung sind Änderungen
im Istzustand, die bei der Modellbildung nicht berücksichtigt
wurden oder werden konnten (die Kunden wollen jetzt doch die Zusammensetzung
(Rezeptur) einer Schraube wissen). Hier zeigt sich die Qualität des
Modellbilders, ein gutes Modell hat noch Erweiterungsmöglichkeiten.
Ein gutes Modell ist aufwendig aber erweiterbar, ein schnelles Modell
(mal eben...) hilft kurzfristig, langfristig steckt man aber in
einer Sackgasse.