24.08.2013 Aufrufe

Download - FESG - Technische Universität München

Download - FESG - Technische Universität München

Download - FESG - Technische Universität München

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.

1.4 EINGESETZTE ARBEITSTECHNIKEN 13<br />

In der Regel wird die STL von jedem gängigen Compiler unterstützt. Als erstes Breite Unterstützung und kompaktes<br />

Design der STL<br />

entscheidet man sich für die Art eines Containers, der zur Problemlösung ideale<br />

Eigenschaften aufweist. Zur Nutzung werden dann seine Member-Methoden verwendet,<br />

um Elemente einzufügen oder zu entfernen. Alle weiteren Aufgaben, z.B.<br />

der Speicherverwaltung, übernimmt der Container. Zusätzlich können Iteratoren<br />

auf Elemente platziert werden, welche sich am Anfang oder am Ende befinden<br />

oder mittels Suchmethoden gefunden wurden. Ist einmal ein Container entsprechend<br />

gefüllt, kann sein Inhalt mittels der Algorithmen manipuliert werden.<br />

Diese standardisierten Bibliotheken erlauben es somit, Entwicklungsaufwand Standardisierte Bibliotheken sparen<br />

Entwicklungsaufwand<br />

einzusparen und bieten eine gut durchgetestete Basis. Beachtet werden muss hier<br />

nur, dass Container nicht mit herkömmlichen Zeigern zurechtkommen und deshalb<br />

mit entsprechenden Typdefinitionen gearbeitet werden muss. Das liegt daran, dass<br />

für sie kein Speichermanagement vorliegt und so bei Kopieraktionen der pointierte<br />

Speicherplatz nicht freigegeben werden kann.<br />

Es wird damit klar, dass die OOP (zusammen mit komfortablen Makefiles, wel- Aus der OOP ergeben sich zahl-<br />

che automatisch Modulabhängigkeiten verwerten) insgesamt ein exaktes Abbild<br />

der objektorientierten Entwicklungsmethoden darstellt. Allerdings hat sie auch ihre<br />

Tücken. Bindeglieder zwischen den Klassen sind die Beziehungen. Dahinterliegende<br />

Zusammenhänge können von außen als Black Box betrachtet werden. Ändern<br />

sich jedoch diese Beziehungsschnittstellen, ist ein erheblicher Umbauaufwand erforderlich.<br />

Die OOP ist nicht aus sich heraus ein Garant für Übersichtlichkeit und<br />

Funktionalität. Die Planung durch Softwareentwicklungsmethoden und eine gewisse<br />

Disziplin bei der Umsetzung sind hier genauso wichtig.<br />

Design- und Umsetzungsregeln<br />

reiche Vorteile, jedoch nicht eo<br />

ipso<br />

Deshalb wird in der vorliegenden Arbeit nicht nur die OOP genutzt, sondern zu- Design- und Umsetzungsvorga-<br />

sätzlich ein Regelsatz an Design- und Umsetzungsvorgaben aufgestellt. Sie regeln<br />

die direkte Umsetzung in Quellcode. Unterstützung finden sie durch automatische<br />

Erzeugungstools, wie sie in UML -Werkzeugen Anwendung finden (z.B. Rational<br />

Rose), um von den Klassendiagrammen direkt das Skelett der Klassen zu generieren.<br />

Erweitert ist in diesen Regeln auch festgesetzt, wie Kommentare eingebracht<br />

werden müssen, welche Strukturen die Quelldateien und zugehörigen Pfade besitzen<br />

und welche Programmierkonstrukte wie zu verwenden sind (z.B. Zeiger,<br />

Sprungbefehle usw.).<br />

ben als Regelsatz für die eigentliche<br />

Programmierung<br />

Eine weitere Regelung betrifft die Benennung von Bezeichnern. Um schon aus Einsatz der Hungarian Notation<br />

von Charles Simonyi<br />

den Namen Rückschlüsse auf die Semantik zu erhalten und dadurch Fehler zu<br />

vermeiden (z.B. Zuweisung von vorzeichenbehafteten Werten an vorzeichenfreie)<br />

wird hierfür die Hungarian Notation von Charles Simonyi genutzt 13 . Sie wird in einer<br />

geeigneten Abwandlung verwendet (Grundlage der allgemeinen Designregeln<br />

für die Fundamentalstation Wettzell, siehe weiter unten), um durch Voranstellen<br />

von kennzeichnenden Präfixen über drei Stufen hinweg Eigenschaften zu beschreiben.<br />

13 vgl. dazu [MAG93] a.a.O. S. xxv-xxviii

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!