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.1 Module und Abläufe 149<br />

Schritt ist und was <strong>in</strong> die Tiefe bedeutet. In den allermeisten Fällen funktioniert<br />

es wunderbar, wenn man sich die e<strong>in</strong>zelnen Aktoren vornimmt und<br />

Abläufe der Reihe nach, detailliert aus ihrer Sicht heraus, beschreibt. Durch<br />

die Verfe<strong>in</strong>erung <strong>in</strong> der Beschreibung der Abläufe f<strong>in</strong>det man wieder e<strong>in</strong>e<br />

Fülle neuer Aktoren, die <strong>in</strong> dieser Abstraktionsebene Wichtigkeit besitzen.<br />

Um nun nicht gleich e<strong>in</strong> gesamtes Buch darüber zu schreiben, wie man <strong>in</strong> der<br />

Früh aufsteht und zur Arbeit kommt, möchte ich den Ablauf des sich frisch<br />

Machens aus Punkt 4 oben als Teilbeispiel herausgreifen.<br />

Die Vorbed<strong>in</strong>gung <strong>in</strong> unserem groben Ablauf war, dass man sich im Badezimmer<br />

frisch macht. Das bedeutet, dass man dieses e<strong>in</strong>mal betreten muss.<br />

Genau damit haben wir e<strong>in</strong>e wichtige Eigenschaft des Badezimmers gefunden,<br />

die <strong>in</strong> Wirklichkeit e<strong>in</strong>e Eigenschaft aller Räume ist: sie s<strong>in</strong>d abgegrenzt<br />

und es gibt e<strong>in</strong>e Möglichkeit, sie zu betreten. Die Abgrenzung e<strong>in</strong>es Raumes<br />

ist im Normalfall e<strong>in</strong>e Mauer, die Möglichkeit, ihn zu betreten, ist e<strong>in</strong>e<br />

Öffnung. E<strong>in</strong>e Mauer kann wiederum aus verschiedenen Materialien bestehen,<br />

verschieden dick, groß und gefärbt se<strong>in</strong>, e<strong>in</strong>e Öffnung <strong>in</strong> der Mauer kann<br />

durch e<strong>in</strong>e Tür verschlossen se<strong>in</strong>, diese kann wiederum verschiedenste Ausprägungen<br />

haben, etc.<br />

Man kann leicht erkennen, dass man nur durch den kle<strong>in</strong>en Aspekt, dass<br />

man e<strong>in</strong>en Raum betreten muss, e<strong>in</strong>en Use-Case gefunden hat, der bereits<br />

wieder das Herausarbeiten vieler verschiedener Beteiligter mit ihren Eigenschaften<br />

zur Folge hat, die im übergeordneten groben Fall noch ke<strong>in</strong>e direkte<br />

Rolle gespielt haben. Diesen Prozess, der sich über viele Ebenen zieht, nennt<br />

man schrittweise Verfe<strong>in</strong>erung des Modells und genau diese schrittweise Verfe<strong>in</strong>erung<br />

wendet man <strong>in</strong> der Analyse und Designphase von Software so lange<br />

an, bis man auf e<strong>in</strong>em Level angelangt ist, der ke<strong>in</strong>e weitere Verfe<strong>in</strong>erung<br />

mehr zulässt oder benötigt.<br />

Vorsicht Falle: Auch diesen Exkurs habe ich gerade absichtlich gemacht,<br />

um zu zeigen, wie schnell man e<strong>in</strong> Ziel aus den Augen verlieren kann. Die<br />

Absicht war eben noch, den Prozess des sich frisch Machens zu beschreiben.<br />

Bereits beim ersten kle<strong>in</strong>en Teilaspekt dieses Prozesses, nämlich dem Betreten<br />

des Badezimmers, habe ich die gerade dort noch gültige Abstraktionsebene<br />

verlassen und begonnen, über Räume, Mauern und Türen zu philosophieren.<br />

Man sieht also, dass die schrittweise Verfe<strong>in</strong>erung sicherlich die Vorgangsweise<br />

der Wahl se<strong>in</strong> wird, um das Gesamtproblem <strong>in</strong> den Griff zu bekommen.<br />

Jedoch sieht man auch, dass Diszipl<strong>in</strong> e<strong>in</strong>e der wichtigsten Eigenschaften<br />

ist, die man braucht, um s<strong>in</strong>nvoll und zielgerichtet zu arbeiten. Man darf<br />

erst den nächsten Schritt <strong>in</strong> der Verfe<strong>in</strong>erung tun, wenn man e<strong>in</strong>e Ebene<br />

abgehandelt hat, sonst verliert man sich <strong>in</strong> Details und verliert damit den<br />

Überblick über das zu lösende Problem.<br />

Also – zurück zum Ausgangspunkt! Wie macht man sich morgens frisch:<br />

1. Man betritt das Badezimmer.<br />

2. Man duscht sich.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!