You can mass-produce hardware; you cannot mass-produce software; you cannot mass-produce the human mind.
Michio Kaku
amerikanischer Physiker
Hardwarenahe Software-Entwicklung
Architektur
Eine gute Software-Architektur ist die Grundlage für robuste, skalierbare und
möglichst fehlerfreie Software. Tools wie UML / Enterprise Architekt (c) können
bei der Entwicklung der Architektur unterstützen. Robuste Systeme können als
"Barebone" aufgebaut sein oder mit Echtzeit-Betriebssystemen wie FreeRTOS.
Beide Varianten haben Vor- und Nachteile. Es kommt auf den Anwendungsfall an.
Safety
Wenn die Gesundheit oder sogar das Leben von Lebewesen gefährdet sind, muss
ein besonderes Augenmerk auf Sicherheit gelegt werden. Normen wie IEC 61508
beschreiben das nötige Vorgehen bei der Entwicklung von Software in diesem
sensiblen Bereich. Eine lückenlose Dokumentierung, robustes Design, sorgfältig
erstellte Software und 100% abdeckende Tests sind Pflicht. Tools wie statische
und dynamische Codeanalysen können die Qualität der Software stark verbessern.
Softwaredesign
Gutes Design verwendet definierte Schnittstellen. Module haben klar
voneinander abgegrenzte Funktionalitäten. Es exitieren klare Hirarchien zwischen den
Modulen. Insbesondere im Embeddedbereich hat sich das KISS-Prinzip bewährt. Vielfach
kam in der Vergangenheit "C" zum Einsatz, mehr und mehr "C++". Für viele Anwendungen
ist dynamischer Speicher nach wie vor tabu; trotzdem bietet "C++" eine gute
Voraussetzung für robuste Software.
Implementierung
Dokumentation
- Lorem ipsum dolor, sit amet consectetur adipisicing elit. Eos ipsa earum sunt ea est dolores, incidunt fugit itaque tenetur laudantium quas asperiores libero voluptatum neque. Ut labore, exercitationem a incidunt, deleniti id corrupti molestiae consequuntur aut illo porro. Amet maiores exercitationem dolorem nostrum, harum officiis placeat saepe iusto modi perspiciatis aut ipsam, provident fuga a perferendis repudiandae dignissimos? Sapiente, odio dolore minus nihil illum, repellat doloribus ex molestias adipisci vero eligendi corrupti doloremque voluptatibus tempora asperiores accusamus sit, tenetur velit amet dignissimos eos quaerat laboriosam! Architecto mollitia hic, nesciunt accusamus autem iure saepe deleniti ullam voluptate eaque nulla, molestias reprehenderit!
Tests
- Lorem ipsum dolor, sit amet consectetur adipisicing elit. Eos ipsa earum sunt ea est dolores, incidunt fugit itaque tenetur laudantium quas asperiores libero voluptatum neque. Ut labore, exercitationem a incidunt, deleniti id corrupti molestiae consequuntur aut illo porro. Amet maiores exercitationem dolorem nostrum, harum officiis placeat saepe iusto modi perspiciatis aut ipsam, provident fuga a perferendis repudiandae dignissimos? Sapiente, odio dolore minus nihil illum, repellat doloribus ex molestias adipisci vero eligendi corrupti doloremque voluptatibus tempora asperiores accusamus sit, tenetur velit amet dignissimos eos quaerat laboriosam! Architecto mollitia hic, nesciunt accusamus autem iure saepe deleniti ullam voluptate eaque nulla, molestias reprehenderit!
Das Geheimnis des Erfolges liegt nicht darin, niemals Fehler zu machen, sondern niemals zweimal den gleichen Fehler zu machen.