Design&Elektronik, Extraausgabe Okt - Silicann
Design&Elektronik, Extraausgabe Okt - Silicann
Design&Elektronik, Extraausgabe Okt - Silicann
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
en, damit zukünftige Funktionsumfänge<br />
in der Softwarekonzeptionberücksichtigt<br />
werden können.<br />
Den Dienstleister mit der Erstellung<br />
der Spezifikation zu<br />
beauftragen, kann gerade in<br />
einer erstmaligen Zusammenarbeit<br />
als Einstieg dienen,<br />
um das Zusammenspiel<br />
zwischen Auftraggeber und<br />
Auftragnehmer zu testen.<br />
Verläuft diese Phase reibungslos,<br />
ist dies in der Regel<br />
ein guter Indikator für<br />
die weitere Zusammenarbeit.<br />
Zudem ist die externe<br />
Sicht des Spezialisten auf<br />
das Projekt meist unbefangener,<br />
sodass Klärungsbedarf<br />
für die Spezifikation<br />
schneller erkannt wird.<br />
Eine wichtige Funktion<br />
kommt der genauen Analyse<br />
des zu verarbeitenden Signals<br />
zu. In dieser Phase werden<br />
die Grundlagen für die<br />
spätere effiziente Verarbeitung<br />
definiert. Vor allem ist<br />
zu untersuchen, welche redundanzfreieNutzinformation<br />
das Signal enthält, die<br />
für eine spätere Auswertung<br />
benötigt wird. Gelingt es,<br />
diese Nutzinformation zu<br />
extrahieren und damit die<br />
Datenmenge zu reduzieren,<br />
vereinfacht sich die nachfolgende<br />
Auswertung in vielen<br />
Fällen drastisch. Die Art der<br />
Analyse hängt von den Eigenschaften<br />
des Signals ab.<br />
Sie unterscheidet sich unter<br />
anderem je nach dem, ob es<br />
sich um ein zeitdiskretes<br />
oder zeitkontinuierliches,<br />
ein- oder mehrdimensionales,<br />
quasi-lineares oder stark<br />
nicht lineares, ungestörtes<br />
oder stark gestörtes Signal<br />
handelt.<br />
Ausgehend von den Ergebnissen<br />
der Signalanalyse ist<br />
ein geeigneter technischer<br />
Ansatz für die Signalverarbeitung<br />
zu wählen. Hier sind gegebenenfalls<br />
Fragen wie die<br />
folgenden zu beantworten:<br />
■ Wie ist das Signal zu transformieren,<br />
um Korrelationen,<br />
Redundanzen und<br />
Störungen zu beseitigen?<br />
■ Wie lässt sich die Datenmenge<br />
geeignet auf<br />
die Nutzinformation reduzieren?<br />
■ Mit welchen Methoden<br />
sind welche Merkmale zu<br />
extrahieren?<br />
■ Wie werden diese Merkmale<br />
abgebildet und ausgewertet?<br />
Die richtige Wahl des technischen<br />
Ansatzes entscheidet<br />
maßgeblich über das<br />
Aufwand/Nutzen-Verhältnis<br />
der nachfolgenden Schritte.<br />
Zuweilen entscheidet sich<br />
mit der Wahl des technischen<br />
Ansatzes, ob die Lösung<br />
insgesamt realisiert<br />
werden kann.<br />
Anstatt »drauflos« zu programmieren,<br />
muss nun<br />
zunächst auf höherer Abstraktionsebene<br />
überlegt werden,<br />
wie sich der grundsätzliche<br />
technische Ansatz in geeignete<br />
Algorithmen überführen<br />
lässt und wie diese sich optimieren<br />
lassen. Auch in diesem<br />
Schritt steckt – abhängig<br />
von der Anwendung – oft gewaltigesOptimierungspotenzial.<br />
Nachdem Klarheit über den<br />
geeigneten technischen Ansatz<br />
und dessen Überleitung<br />
in Algorithmen herrscht,<br />
kann man das komplette<br />
Systemdesign für die Soft-<br />
DESIGN&ELEKTRONIK SOFTWARE-ENTWICKLUNG 2005<br />
21<br />
ware erstellen. Hierbei wird<br />
festgelegt, welche Verarbeitungsschritte<br />
vorzusehen<br />
sind, in welche Module die<br />
Software zu gliedern ist, wie<br />
die Schnittstellen zwischen<br />
den Modulen gestaltet werden<br />
sollen, welche Datenformate<br />
bedarfsgerecht sind,<br />
wie das Datenmanagement<br />
und die Datenhaltung erfolgen<br />
sollen, etc.<br />
Auswahl der Tools<br />
Tendenziell werden Tools für<br />
die Erstellung der Software<br />
zu früh und anhand der Kriterien<br />
»Was ist vorhanden«<br />
oder »Was ist bekannt« festgelegt.<br />
Die Tools werden regelmäßig<br />
durch die verwendete<br />
Hardware-Plattform<br />
vorgegeben. Dies ist ein weiterer<br />
Grund, die Hardware<br />
erst nach den technischen<br />
Überlegungen zu spezifizieren.<br />
Diese Auswahl sollte –<br />
wenn möglich – erst unmittelbar<br />
vor der eigentlichen<br />
Software-Entwicklung und<br />
unbefangen getroffen werden,<br />
damit die verwendeten<br />
Tools für die Aufgabenstellung<br />
optimal geeignet sind.<br />
Dies setzt natürlich voraus,<br />
dass eine Auswahl unter verschiedenen<br />
Alternativen<br />
möglich ist. Der Spezialist ist<br />
dazu eher in der Lage.<br />
An diesem Punkt erst beginnt<br />
die eigentliche Software-Entwicklung.<br />
Ist die<br />
Vorarbeit gut geleistet, sollte<br />
die Software-Entwicklung<br />
nun keine unliebsamen<br />
Überraschungen mehr bieten<br />
und »straight forward«<br />
in kurzer Zeit zu realisieren<br />
sein. Schließlich ist die meist<br />
auf einem Funktionsmuster<br />
oder Prototypen entwickelte<br />
Software auf die serienreife<br />
Zielhardware zu übertragen.<br />
Als nächstes kommt die Verifikation.<br />
Dabei wird überprüft,<br />
ob die entwickelte Software<br />
der Spezifikation entspricht.<br />
Eine professionell erstellte<br />
Spezifikation vereinfacht diesen<br />
Schritt deutlich. Innerhalb<br />
der Software-Entwicklung<br />
sind natürlich mehrere<br />
Verifikationsstufen ratsam. So<br />
lassen sich bei sinnvoller Software-Konzeption<br />
zunächst<br />
Module einzeln verifizieren.<br />
Ist die Verifikation erfolgreich<br />
abgeschlossen, erfolgt<br />
üblicherweise die Lieferung<br />
der Lösung, sofern die Entwicklung<br />
nicht bereits beim<br />
Auftraggeber durchgeführt<br />
wurde. Eine bedarfsgerechte<br />
Dokumentation, die dem<br />
Auftraggeber nicht nur das<br />
Verständnis der Software<br />
sondern auch der technischen<br />
Überlegungen ermöglicht,<br />
sollte bereits jetzt<br />
für den folgenden Schritt<br />
vorhanden sein.<br />
Bei der Validierung wird<br />
überprüft, ob die entwickelte<br />
Software unter den Einsatzbedingungen<br />
beim Kunden