HSG

Aktuelle Seite: HSG/Fächer/Informatik/Material

Prinzipien der Software-Erstellung

Abstraktion

Im Speziellen das Allgemeine sehen, um das Verallgemeinerte auf viele Spezialfälle anwenden zu können.
Beispiele: Prozeduren statt Code-Wiederholung, Design-Muster (z.B. Automaten), ...

Hierarchisierung

Gliederung von Objekten (oder allgemeiner Moduln) in einer Rangordnung.
So wird (bei uns) das Fachkonzept häufig durch ein "Steuerobjekt" vertreten, das wiederum Hilfsobjekte ("Wasserträger", für speziell umrissene Aufgaben zuständig) benutzt, die nach außen unsichtbar sind.

Modularisierung

Allgemeine Problemlösetaktik: Ein komplexes Ganzes wird in überschaubare Teile zerlegt.
Diese Teile sollen dabei autonom sein und mit einer präzise beschriebenen Schnittstelle (Summe der öffentlichen Methoden) versehen werden. So können einzelne Methoden ausgetauscht werden, ohne im übrigen System Veränderungen vorzunehmen. Für die Zerlegung in Module bestehen Schemata wie EVA (Eingabe-Verarbeitung-Ausgabe) oder MVC(Model-View-Controller) im Großen bzw. Objekte im Kleinen.

Geheimnisprinzip

Um Seiteneffekte unmöglich zu machen und um die Austauschbarkeit sicherzustellen, halten Module ihre innere Struktur so weit es geht geheim. Eine Kommunikation ist nur über die Schnittstelle möglich. Die innere Struktur eines Moduls oder Objekts kann ohne Probleme verändert/verbessert werden

Lokalisierung

Zusammengehörendes soll auch zusammen modelliert, dokumentiert bzw. kodiert werden. Es wird empfohlen, nicht mehr als eine Seite Quelltext für ein Modul zu verwenden. Beispiel für extreme Lokalität: Eine Laufvariable soll direkt vor der for-Schleife, wo sie benötigt wird, deklariert werden (in Pascal i.A. unmöglich). Ein Datentyp soll direkt dort deklariert werden, wo er gebraucht wird. Der gelegentlich zu lesende Tipp, Klassen jeweils in eigenen Units zu speichern, verstößt gegen dieses Prinzip: Zusammengehörendes muss mühsam zusammengesucht werden. Andererseits wird in Delphi nur so das Geheimnisprinzip durchgehalten. Delphi-Units bilden einen Sichtbarkeitsbereich unabhängig von der Direktive private.

Einfachheit

Bei der Problemlösung ist strikt eine einfache Lösung anzustreben. Die Techniker sagen: "Keep it simple, stupid!" (KISS)

Standardisierung

In allen Schritten der Software-Entwicklung ist eine weitgehende Standardisierung einzuhalten. Dies beginnt mit einer schematischen Dokumentation (bei uns: Dokumentationsvorlage), der Verwendung von Standards zur grafischen Modellbeschreibung (UML), der Verwendung bewährter Design- (Design-Pattern) und Implementierungs-Muster bis hin zu einer Kodierung, die strikt vereinbarte Regel (Coding Guide, bei uns: "so wie im Handbuch bzw. in der Delphi-Hilfe") einhält. Nur so ist im Team (bzw. für den Autor selbst nach einiger Zeit) eine reibungsfreie Verständigung möglich.

Kontinuität

Was sich bewährt hat, wird solange beibehalten, bis etwas "Besseres an die Stelle des Guten" tritt.

Prinzipien sind Grundsätze, keine Dogmen. Oft widersprechen sich Einzelprinzipien, dann muss man abwägen.

Links:

Allgemeine Prinzipien bei der Entwicklung von Softwaresystemen, Hartmut Härtl, OSZ Handel I,Berlin