30.06.2013 Aufrufe

Softwareentwicklung in C++ - ASC

Softwareentwicklung in C++ - ASC

Softwareentwicklung in C++ - ASC

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

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

kreativ anspruchsvollste Prozess im gesamten Zyklus der <strong>Softwareentwicklung</strong><br />

und gehört entsprechend lang und sorgfältig geübt!<br />

8.1 Module und Abläufe<br />

Der wichtigste Teil, der ganz am Anfang des Designprozesses steht und sich<br />

<strong>in</strong> verschiedenen Ausprägungen durch den Prozess zieht, ist das Erfassen des<br />

Problems mit all se<strong>in</strong>en Abläufen und Randbed<strong>in</strong>gungen. Schafft man es,<br />

e<strong>in</strong> Problem so lange <strong>in</strong> immer allgeme<strong>in</strong>ere Gruppen von Teilproblemen zu<br />

zerlegen, bis man auf e<strong>in</strong>er vollkommen abstrakten Ebene angekommen ist,<br />

hat man e<strong>in</strong>e gute Chance, dass das Konzept tragfähig ist und dass man<br />

das gesamte System sehr sauber <strong>in</strong> Module zerlegen kann. Sehr oft gibt es<br />

vor allem bei Neul<strong>in</strong>gen Probleme, e<strong>in</strong>en Prozess wirklich vollständig zu<br />

beschreiben und gleichzeitig auf e<strong>in</strong>er Abstraktionsebene zu bleiben. Ich<br />

möchte an dieser Stelle ke<strong>in</strong>e lange theoretische Abhandlung über diese Pr<strong>in</strong>zipien<br />

schreiben und ich möchte vor allem nicht formal oder technisch werden<br />

und mich schon gar nicht auf e<strong>in</strong>e Programmiersprache festlegen. Stattdessen<br />

möchte ich e<strong>in</strong>fach an e<strong>in</strong>em völlig alltäglichen Beispiel die Phase der Analyse<br />

der Abläufe und der Identifikation von Modulen demonstrieren. Bevor ich<br />

dazu komme noch e<strong>in</strong> Tipp an alle Leser: Alles, was <strong>in</strong> der Folge beschrieben<br />

wird, kl<strong>in</strong>gt unglaublich banal, wenn man e<strong>in</strong>fach jetzt nur weiterliest.<br />

Dass es banal kl<strong>in</strong>gt, wenn man das Ergebnis liest, bedeutet aber ke<strong>in</strong>eswegs,<br />

dass der Weg zu diesem Ergebnis ebenso banal ist! Me<strong>in</strong> Ratschlag<br />

wäre, das folgende Beispiel zuerst selbst e<strong>in</strong>mal mittels Papier und Bleistift<br />

durchzuspielen und dann das Ergebnis mit dem hier abgedruckten zu vergleichen.<br />

Mit e<strong>in</strong> wenig Selbstkritik werden sicherlich e<strong>in</strong>ige Leser erkennen,<br />

dass sie bei der Analyse etwas vergessen haben, Abstraktionsebenen nicht<br />

e<strong>in</strong>gehalten haben (soll heißen, im Detailliertheitsgrad der Beschreibung unregelmäßig<br />

arbeiten) oder vielleicht sogar falsche Annahmen über die Natur<br />

gewisser Gegebenheiten getroffen haben.<br />

8.1.1 Der Weg zum Arbeitsplatz – e<strong>in</strong> kle<strong>in</strong>es Beispiel<br />

In diesem Abschnitt soll e<strong>in</strong> ganz e<strong>in</strong>facher Prozess analysiert werden und<br />

alle Beteiligten (Personen und D<strong>in</strong>ge) sowie die Zusammenhänge zwischen<br />

ihnen herausgearbeitet werden. Der e<strong>in</strong>fache Prozess, um den es geht, ist<br />

e<strong>in</strong> typischer Ablauf, den die meisten Leser täglich h<strong>in</strong>ter sich br<strong>in</strong>gen: Der<br />

Beg<strong>in</strong>n e<strong>in</strong>es Arbeitstages, vom Kl<strong>in</strong>geln des Weckers weg bis zur Ankunft am<br />

Arbeitsplatz.<br />

E<strong>in</strong> erster schneller Durchgang liefert uns e<strong>in</strong>mal e<strong>in</strong>e ganz grobe Beschreibung<br />

der Beteiligten und Abläufe:<br />

1. Der Wecker geht ab und weckt (hoffentlich :-)) die arbeitswütige Person<br />

viel zu früh am Morgen auf.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!