ingo.strauch.diplom - Desy
ingo.strauch.diplom - Desy
ingo.strauch.diplom - Desy
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Kapitel 3<br />
Entwicklung der Software<br />
Dieses Kapitel beschreibt in einem ersten Abschnitt die grundlegenden Überlegungen bei einem<br />
Softwareprojekt. Dazu gehört, welche Funktionalität für die zu bewältigenden Aufgaben benötigt<br />
wird, das Zusammenspiel der einzelnen Teilaufgaben und welche Konventionen beim Programmieren<br />
beachtet werden sollen. Der nächste Abschnitt beschäftigt sich mit der Organisation der<br />
Software-Entwicklung. Versionen und Entwicklungsverlauf des Quelltextes sind zu verwalten<br />
und Hilfsmittel einzusetzen, die über den direkten Umgang mit einem Texteditor und dem Compiler<br />
hinausgehen. Der letzte Abschnitt dieses Kapitels enthält die zentralen Konzepte, die das<br />
OO-Projekt von der bisherigen Analyseumgebung unterscheiden.<br />
3.1 Softwaredesign<br />
3.1.1 Interface und Implementierung<br />
Ein wesentlicher Grundzug bei größeren Softwareprojekten ist die strikte Trennung von Interface<br />
und Implementierung. Zu Beginn des Projektes muß der Aufgabenbereich definiert werden,<br />
den die zu entwickelnde Software abdecken soll. Bei objektorientierter Programmierung<br />
sind Klassen zu modellieren, welche Teilaufgaben übernehmen und in der Summe die benötigte<br />
Funktionalität bieten. Während dieser Planungsphase richtet sich das Hauptaugenmerk auf die<br />
Schnittstellen der Klassen und Algorithmen. Sie definieren, wie die Objekte im späteren Einsatz<br />
miteinander interagieren, wie flexibel und erweiterbar das System sein wird. Es ist wesentlich zu<br />
verstehen, daß die Details, wie der Code endgültig geschrieben wird, erst zu einem späteren Zeitpunkt<br />
wichtig werden, die Methoden, die eine Klasse zur Verfügung stellt, aber sehr früh schon<br />
festgelegt und optimiert werden sollten. Idealerweise ist es dann möglich, die Implementierung<br />
zu einem beliebigen Zeitpunkt zu ändern und zu verbessern, ohne daß die Art, wie die Klasse<br />
benutzt wird, davon betroffen wird. Im OO-Projekt kommt die CRC-Methode für das Design<br />
der Klassen zum Einsatz, die in Abschnitt 3.1.2 vorgestellt wird. Eine kurze Einführung in die<br />
Thematik der Programmentwicklung zeigt z.B. [EH01].<br />
15