30.06.2013 Aufrufe

Softwareentwicklung in C++ - ASC

Softwareentwicklung in C++ - ASC

Softwareentwicklung in C++ - ASC

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

8. Objektorientierung Allgeme<strong>in</strong> 145<br />

Jedoch liegt nur allzu vielen Softwarepaketen diese saubere Architektur<br />

nicht zugrunde (auch wenn nur die Allerwenigsten dies zugeben)! Die Architektur<br />

e<strong>in</strong>er Lösung, bei der <strong>in</strong> der Designphase gespart wurde und die daher<br />

entsprechend viele kle<strong>in</strong>e und größere Konzeptänderungen während der Entwicklung<br />

erfahren hat, mutiert zu e<strong>in</strong>em <strong>in</strong>stabilen Monster, bestehend aus<br />

wild angeordneten Pseudo-Modulen, wie es <strong>in</strong> Abbildung 8.2 skizziert ist.<br />

Applikation<br />

Abbildung 8.2: Mangelhafte (oft reale!) Softwarearchitektur<br />

Ich würde wirklich nur allzu gern sagen, dass Abbildung 8.2 nur Polemik<br />

me<strong>in</strong>erseits ist und dass ich hier die Realität stark überzeichnet habe. Leider<br />

aber ist das nicht der Fall, manchmal ist es sogar noch etwas schlimmer. Sogar<br />

sehr namhafte Softwarefirmen produzieren teure Lösungen, deren Architektur<br />

genau wie <strong>in</strong> Abbildung 8.2 dargestellt aussieht. Und das trotz aller ISO- und<br />

anderer Qualitätsrichtl<strong>in</strong>ien, die sie sich auf die Fahnen heften.<br />

Nun stellt sich natürlich die Frage, wie man es besser machen kann und<br />

wie man verh<strong>in</strong>dern kann, dass es zu solchen Auswüchsen kommt. Ich kann<br />

hier nur raten, wirklich ausreichend viel Zeit auf die Design- und Architekturphase<br />

zu verwenden und diese Phase erst abzuschließen, wenn das Design<br />

vollkommen schlüssig ist und ke<strong>in</strong>e Fragen mehr offen lässt. Weiters ist zum<br />

Erstellen e<strong>in</strong>es guten Designs auch sehr viel Erfahrung nötig. Um diese zu<br />

sammeln, braucht man viel Zeit und der Weg dorth<strong>in</strong> ist oft e<strong>in</strong> ste<strong>in</strong>iger.<br />

Häufig wird man Designs verwerfen müssen, weil sie nicht tragfähig s<strong>in</strong>d,<br />

aber das liegt <strong>in</strong> der Natur e<strong>in</strong>es jeden Lernprozesses. Ich kann <strong>in</strong> der Folge<br />

die Grundpr<strong>in</strong>zipien des OO-Designs so abhandeln, wie ich glaube, dass<br />

sie am leichtesten verständlich und nachvollziehbar s<strong>in</strong>d. Damit können Leser,<br />

die sich bisher noch nicht allzu ausführlich mit OO-Design beschäftigt<br />

haben, die ersten E<strong>in</strong>stiegshürden leichter meistern. Ich möchte jedoch alle<br />

Leser bitten, e<strong>in</strong>es im H<strong>in</strong>terkopf zu behalten: Es gibt ke<strong>in</strong>e Kochrezepte,<br />

die man e<strong>in</strong>fach befolgen kann und die zw<strong>in</strong>gend zu e<strong>in</strong>em guten Ergebnis<br />

führen! Der Entwurf e<strong>in</strong>er sauberen Architektur ist der schwierigste und

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!