Below you will find pages that utilize the taxonomy term “Software Quality”
Artikel
read more
Success Story: CI optimiert Embedded-Projekte
In diesem Artikel teile ich die Erfahrungen bei der Implementierung einer CI/Build-Pipeline für mehrere C++-Applikationen und Yocto Linux Projekte. Die Firma stand vor Herausforderungen wie manuelle, nicht reproduzierbare Prozesse und ungleich verteiltes Wissen, was zu verspäteten oder fehlerhaften Auslieferungen führte. Durch einen iterativen und inkrementellen Ansatz und gezielte Unterstützung der Entwickler konnten die Prozesse nachhaltig verbessert und der Stress reduziert werden.
Artikel
Effective Quality in C++
In the ever-evolving landscape of software development, maintaining high-quality and reliable software is paramount. To achieve this, rigorous testing practices and robust development methodologies are essential. This article delves into various testing strategies and tools specific to C++, emphasizing the importance of automated regression tests, test coverage, compiler warnings, code formatting, static code analysis, sanitizers, and continuous integration (CI). By adopting these practices, teams can ensure their software remains reliable, maintainable, and bug-free.
read more
Artikel
Embedded Software Meetup ist zurück
Embedded Software Meetup Zürich ist zurück!
Nach längerer Pause des "Embedded GNU/Linux Developer Meetup" führen wir es als "Embedded Software Meetup" wieder durch. Es geht um:
Embedded Software Entwicklung
Embedded Linux
Zephyr
Qualität
Software Craftsmanship
und vieles mehr. Im Fokus steht der Austausch zwischen Entwicklern und anderen gleichgesinnten.
Den Anfang macht Urs Fässler mit seinem Erfahrungsbericht zu moderner Applikationsentwicklung für Embedded Linux.
read more
Artikel
Clean code für mehr Cyber-Sicherheit
Clean Code und Software Craftsmanship helfen, Embedded Systeme sicher zu machen (safety und security). Diese Botschaft hat uns Simon Künzli im aktuellen Kurs Security in Embedded Systems an der ZHAW School of Engineering vermittelt, und ich stimme absolut zu.
Es sind Methoden, Prinzipen und Praktiken welche ich seit bereits 10 Jahren anwende und sehr zu schätzen gelernt habe. Vielleicht tönt TDD, BDD, CI/CD, Review und was es alles gibt abschreckend.
read more
Artikel
iQiliO Founded
Very happy to announce that I founded my own company:
The go to place when you need - Quality Software - Embedded Linux Software and Systems - Open Source Specialists - Software Architecture - Shorter delivery and feedback cycles and any combination of it.
read more
Artikel
Nachhaltige Embedded Systeme dank up-to-date Linux
Um in der heutigen schnelllebigen Technologiewelt Embedded Systeme Nachhaltig zu gestalten ist es unerlässlich, dass Software fortlaufend aktualisiert wird. Es ist nicht mehr zeitgemäss, Embedded Software einmalig zu entwickeln und dann über Jahre unverändert zu lassen. Verschiedene Faktoren treiben diese Notwendigkeit an:
Neue Kundenanforderungen und Geschäftsstrategien: Unternehmen müssen flexibel auf Marktveränderungen reagieren können.
Sicherheitsupdates: Um die Sicherheit zu gewährleisten, sind regelmässige Updates unverzichtbar.
Regulatorische Anforderungen: Gesetze und Vorschriften wie der Cyber Resilience Act (CRA) oder die Radio Equipment Directive (RED) erfordern Anpassungen.
read more
Artikel
Selbstständigkeit: Angebot
Heute starte ich in die Selbstständigkeit. Mein Angebot umfasst:
Agile Praktiken für Entwickler: Coaching und Mitarbeit zur Implementierung effektiver agiler Methoden (Extreme programming) in Entwicklungsprojekten, um die Produktivität und Qualität zu steigern.
Individuelle Softwareentwicklung: Entwicklung massgeschneiderter Qualitäts-Software für nachhaltig erfolgreiche Produkte.
Architekturberatung: Beratungsdienste zur Gestaltung und Optimierung von Softwarearchitekturen, um eine langfristige Skalierbarkeit, Flexibilität und Wartbarkeit sicherzustellen.
Embedded GNU/Linux-Anwendungs- und Systementwicklung: Expertise in der Entwicklung von eingebetteten Systemen und Anwendungen unter Verwendung von GNU/Linux.
read more
Artikel
Selbstständigkeit: Der Weg dahin
Es ist Zeit für ein neues Kapitel: Heute starte ich in die Selbstständigkeit.
Meine Karriere begann mit einer Elektronikerlehre, gefolgt von Jahren in der Berufswelt, die mich zur Software-Entwicklung führten. Ich studierte Systeminformatik an der ZHAW, erwarb meinen Master in Computer Science an der ETH, absolvierte ein Praktikum am CERN und verfasste meine Masterarbeit an der University of California in Irvine. Währenddessen entdeckte ich Freie Software/Open Source mit den Werten, welche ich bis heute teile.
read more
Artikel
Compiler support for switch-case error detection
Not adding a default label to the switch-case statement improves the C++ code quality. The normal use case for a switch-case is over an enum like in the example below.
enum class Op { Addition, Subtraction, }; double execute(Op op, double left, double right) { switch (op) { case Op::Addition: return left + right; case Op::Subtraction: return left - right; } return {}; } All the enum options have to be considered in the switch-case (if this is not the case then probably something else is a bit smelly in the code).
read more
Artikel
Effizienz durch Exzellenz
Aufgrund mangelnder Zeit im Projekt benötigten wir wesentlich mehr Zeit für die Implementierung der Features.
Dieses paradoxe Phänomen tritt häufig in der Softwareentwicklung auf. Entwickler stehen unter Zeitdruck und sehen sich gezwungen, schnelle Lösungen zu implementieren, anstatt sich Zeit zu nehmen, diese zu planen und so zu implementieren, dass die Software nachhaltig erweiterbar ist. Dies führt zu schlechter Codequalität und unzureichender Testabdeckung, die später mehr Zeit und Ressourcen erfordern, um sie zu beheben.
read more
Artikel
Erste Schritte mit cucumber-cpp
Cucumber-cpp bietet die Infrastruktur um Behaviour Driven Development (BDD) mit C++ oder C zu machen. In diesem Beitrag zeige ich wie du deinen Akzeptanztest mit cucumber-cpp implementierst.
Umsetzen wollen wir ein Lauflicht. Einerseits ist es eine genug kleine Aufgabe, anderseits sind Lauflichter einfach cool. So ein Lauflicht hat zwar nicht wirklich viel Verhalten (Behaviour), aber es geht hauptsächlich um die Infrastruktur. Natürlich kann man so ein Lauflicht auch noch beliebig kompliziert machen.
read more