Benutzer-Werkzeuge

Webseiten-Werkzeuge


se:design

**Dies ist eine alte Version des Dokuments!**

Software-Design

nach \cite[S. 242ff.]{Goodliffe2006}

  • "There are two ways of constructing a software design: One way is to make it so simple that there are oviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult." (C.A.R. Hoare)
  • Programmierung selbst ist eine Form von Design, da sie artisitisch und kreativ ist
  • "There's never time to do it right, but there's always time to do it twice."
  • Programmierer stehen in der Verantwortung Qualitätscode abzuliefern und für die benötigte Zeit zu kämpfen, während Manager diese Zeit einsparen müssen.
    • Nur die Programmierer selbst können rechtfertigen, dass und warum mehr Zeit benötigt wird (Vergleich mit einem Arzt, dessen Pflicht es ist, sich vor der Behandlung die Hände zu waschen, egal was der "Kunde" verlangt).
  • Module müssen…
    • eine hohe Kohäsion aufweisen! Schwache Kohäsion bedeutet fehlerhafte Dekomposition!
    • möglichst lose gekoppelt sein!
    • eine klare API haben!
  • Designe änderbare Programme, aber keine hoffnungslos generalisierten Module.
  • Triff alle Designentscheidungen im Hinblick auf die Architektur der Software!
  • Eine gute Architektur ist einfach: sie kann in einem Satz oder einem simplen Diagramm beschrieben werden!
se/design.1272876424.txt.gz · Zuletzt geändert: 2014-04-05 11:42 (Externe Bearbeitung)