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.

6 1. Ziel und Inhalt dieses Buchs<br />

auf die entsprechenden Web-Pages der Compilerhersteller. Dort existiert<br />

üblicherweise e<strong>in</strong>e Liste, die Auskunft über die Abweichungen vom Standard<br />

gibt. Sollten Leser also auf Beispiele im Buch stoßen, die mit ihrem Compiler<br />

nicht übersetzbar s<strong>in</strong>d, so möchte ich empfehlen, e<strong>in</strong>en Blick auf die Web-<br />

Page des Herstellers zu werfen. Sollten dann immer noch Ungereimtheiten<br />

existieren, so ist das Feedback-Forum zum Buch (siehe Abschnitt 1.3) der<br />

beste Ort, e<strong>in</strong>e Frage anzubr<strong>in</strong>gen. Ich werde dann so schnell wie möglich<br />

versuchen, Klarheit zu schaffen.<br />

Leser, die sich gar nicht sicher s<strong>in</strong>d, ob sie nun L<strong>in</strong>ux ausprobieren sollen<br />

oder nicht, können auch e<strong>in</strong>en Zwischenweg wählen: Alle nützlichen Tools<br />

(GNU C ++ Compiler, Emacs als Editor und viele kle<strong>in</strong>e Helferle<strong>in</strong>, wie z.B.<br />

make oder tar) s<strong>in</strong>d auch als MS-W<strong>in</strong>dows Portierungen frei im Internet<br />

verfügbar. Kurze Beschreibungen, die den E<strong>in</strong>stieg <strong>in</strong> die Arbeit mit diesen<br />

Tools erleichtern, s<strong>in</strong>d auch im Buch <strong>Softwareentwicklung</strong> <strong>in</strong> C, das bereits<br />

zu Beg<strong>in</strong>n dieses Kapitels genannt wurde, enthalten.<br />

1.2 Motivation<br />

Softwareentwickler stehen <strong>in</strong> der Industrie im Regelfall unter starkem Druck.<br />

Es wird von ihnen nur zu oft verlangt, dass sie unrealistische Term<strong>in</strong>e e<strong>in</strong>halten,<br />

dass sie jederzeit auf Wunsch mitten <strong>in</strong> der Entwicklung neue Features<br />

<strong>in</strong> die Software e<strong>in</strong>bauen oder auch, dass sie e<strong>in</strong>fach während der Entwicklung<br />

Konzepte ändern. Das Allerschlimmste, das allerd<strong>in</strong>gs passieren kann,<br />

ist, dass e<strong>in</strong> Kunde oder Vorgesetzter frühzeitig “schnell e<strong>in</strong>mal etwas sehen<br />

will”. Leider bedeutet hier der Begriff etwas sehen, dass man e<strong>in</strong>en Teil e<strong>in</strong>es<br />

lauffähigen Programms demonstrieren muss. Kann man dies nicht, bzw.<br />

versucht man, e<strong>in</strong> erstelltes Design zu zeigen, dann sieht man sich sehr oft<br />

Zweifeln ausgesetzt, “ob man denn überhaupt etwas weiterbr<strong>in</strong>gt”.<br />

Nun funktioniert aber saubere <strong>Softwareentwicklung</strong> nicht so, dass man<br />

sich e<strong>in</strong>fach zum Computer setzt und schnell e<strong>in</strong> Programm schreibt. Abgesehen<br />

davon, dass das sowieso die schlechtest mögliche Herangehensweise<br />

ist, ist die Komplexität heutiger Softwarepakete so hoch, dass dieser Ansatz<br />

niemals funktionieren kann. Leider herrscht immer noch die Me<strong>in</strong>ung vor,<br />

dass die tatsächliche Arbeit bei der <strong>Softwareentwicklung</strong> die Implementation<br />

der Software ist. Dies ist aber vollkommen falsch! Der größte Teil der Arbeit<br />

im Rahmen e<strong>in</strong>er sauberen (!!) Entwicklung f<strong>in</strong>det <strong>in</strong> der Designphase<br />

statt! Das Codieren selbst nimmt im Rahmen e<strong>in</strong>es Entwicklungszyklus nur<br />

e<strong>in</strong>en sehr ger<strong>in</strong>gen Teil der Zeit <strong>in</strong> Anspruch. E<strong>in</strong>en weiteren großen Teil<br />

im Zyklus nehmen die laufenden Tests e<strong>in</strong>, die die Software von den ersten<br />

Designschritten bis zum Endprodukt begleiten müssen.<br />

Sieht man sich den Projektfortschritt bei e<strong>in</strong>er sauberen Entwicklung an,<br />

so stellt man Folgendes fest: Lange Zeit sche<strong>in</strong>t die Arbeit nur schleppend<br />

voranzugehen. Es gibt viele Diskussionsphasen im Team und das Ergebnis<br />

dieser Diskussionsphasen s<strong>in</strong>d Entwürfe auf Papier. Im Regelfall wird bis

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!