1 Einleitung
In diesem Projekt geht es für mich darum, einmal alle Schritte der Softwareentwicklung zum Einsatz zu bringen. Von den Anforderungen bis zum laufenden Prototypen. Es ist eine Messtechnik. Anforderungen weiterlesen
Kategorie: Qualitätssicherung
Sichere Software erstellen
Eine Software sicherer zu machen, das bedeutet einen defensiven Programmierstil zu verwenden, um Angriffe von Computerviren zu verhindern. Alle Angriffsmöglichkeiten basieren auf Schwächen in der Sprachimplementierung und auf Programmierfehlern. Das ist insbesondere für das Internet of Things (IoT) von besonderer Wichtigkeit und Brisanz.
Varianten einer Software verwalten
Manchmal ist es notwendig Varianten einer Software anzufertigen, zum Beispiel, um etwas auf unterschiedliche Weise zu Probieren und die Ergebnisse zu Vergleichen.
Um verschiedene Varianten einer Software anlegen zu können gibt es mehrere Varianten einer Software verwalten weiterlesen
Software Architektur in Mikrocontroller Systemen
Aufbau der Hardware
Ein Mikrocontroller hat verschiedene Devices an Bord, die für das Softwareprojekt oder System ausgewählt wurden. Dazu kommt noch, das nicht alle Devices gleichzeitig genutzt werden können, da nur eine begrenzte Anzahl Software Architektur in Mikrocontroller Systemen weiterlesen
Fehlerbehandlung in der Software
So ein Mikrocontroller hat die Eigenschaft, unabhängig und ohne jede Aufsicht laufen zu müssen. Das hat Konsequenzen für die Behandlung von Fehlern.
Schritte in der Fehlerbehandlung
Fehler erkennen
Fehler isolieren
Fehler beheben Fehlerbehandlung in der Software weiterlesen
Programmierrichtlinien erstellen
Richtlinien für die Programmierung sind durchaus sinnvoll. Sie sollten einige Themenbereiche zu Softwarequalitätsaspekten enthalten, wie z.B. Lesbarkeit, Portierbarkeit, Robustheit, usw. Das hat den Vorteil, das alle Codes, die danach erstellt wurden, immer gleich gut Verständlich sind. Dazu gibt es noch allgemein Programmierrichtlinien erstellen weiterlesen
Spezifikationen schreiben
Aus den Requirements heraus empfiehlt es sich das daraus zu entwickelnde System zu spezifizieren. Das heißt festzulegen, wie die Aufgabenstellung gelöst werden soll. Insbesondere die Aufteilung in Hardware- und Softwarelösung und deren Zusammenspiel. Sinn der Spezifikation ist schließlich, die Lösung komplett zu durchdenken und Fehler zu finden, bevor mit der Umsetzung begonnen wird.
Spezifikationen schreiben weiterlesen
Statische Codeanalyse
Bevor die Suche nach Fehlern beginnt, ist es sinnvoll erst einmal Werkzeuge der statischen Codeanalyse einzusetzen. Also noch vor den Unit Tests. Damit verschwinden viele Fehlermöglichkeiten, noch bevor überhaupt ein Fehler Statische Codeanalyse weiterlesen
Dokumentieren ist notwendig
Eigentlich ist es einfach, das, was man sich ausgedacht hat zur Problemlösung, auch aufzuschreiben. Oftmals ist das sehr hilfreich für die eigene Arbeit. Es gibt weniger vergessene Dinge, obwohl natürlich auch gleichzeitig an anderen Projekten gearbeitet wird und so manches ‚mal eben‘ erledigt werden muss. Dokumentieren ist notwendig weiterlesen
Aufräumen und Vereinfachen
Wenn die Software dann endlich fertig entwickelt ist und einen ersten „Smoke Test“ erfolgreich bestanden hat, geht es meist allzu schnell ins nächste Projekt.
Es ist viel hilfreicher die Überreste von Zwischenschritten und von Lösungsansätzen schließlich noch zu entfernen. Das heißt für die C Aufräumen und Vereinfachen weiterlesen