Software-Entwicklung neu gedacht – Teil 2: Durch umfassende Software Requirements typische Fehler vermeiden

In den Software-Anforderungen beschreiben Entwickler den Zweck und die Absicht eines Softwaresystems sowie dessen (externes) Verhalten. Welche Erwartungen haben Nutzer an das Softwareprodukt, und wie benutzerfreundlich ist es? Wie übersichtlich ist der Programmaufbau, wie strukturiert die Programmierung und wie verständlich die Dokumentation? Mithilfe dieser und anderer Fragen lassen sich viele Fehler vermeiden. 

Software-Entwicklung neu gedacht – Teil 2: Durch umfassende Software Requirements typische Fehler vermeiden weiterlesen

Software-Entwicklung neu gedacht – Teil 1: Wie Multicore, Safety- und Security-Aspekte die Softwareprojekte von heute verändern

Embedded-Softwareentwicklung findet heute in den meisten Fällen immer noch für eine Singlecore-Umgebung statt. Doch Software steuert immer komplexere Abläufe, die nur in Multicore-Umgebungen funktionieren. Für die Entwicklung ergeben sich daraus neue Herausforderungen.

Software-Entwicklung neu gedacht – Teil 1: Wie Multicore, Safety- und Security-Aspekte die Softwareprojekte von heute verändern weiterlesen

Eine gemeinsame Sprache für die Cybersecurity – Teil II: Projektspezifisches Cybersecurity Management

Welche Ziele, Anforderungen und Richtlinien dienen als Grundlage für ein gemeinsames Verständnis der Cybersecurity-Perspektive bei der Entwicklung von Fahrzeugen im Straßenverkehr? Wie definiert man die Prozesse und managt die Risiken in Übereinstimmung mit ISO 31000? 

Der zweite Teil der Beitragsreihe beleuchtet das projektspezifische Cybersecurity Management –  Ziele, Planung und Assessment.

Eine gemeinsame Sprache für die Cybersecurity – Teil II: Projektspezifisches Cybersecurity Management weiterlesen

Eine gemeinsame Sprache für die Cybersecurity – Teil I: Einführung und übergreifendes Cybersecurity Management

Welche Ziele, Anforderungen und Richtlinien dienen als Grundlage für ein gemeinsames Verständnis der Cybersecurity-Perspektive bei der Entwicklung von Fahrzeugen im Straßenverkehr? Wie definiert man die Prozesse und managt die Risiken in Übereinstimmung mit ISO 31000?

Der erste Teil bietet eine Einführung in die Thematik und beleuchtet das übergreifende Cybersecurity Management – Ziele, Governance & Culture.

Eine gemeinsame Sprache für die Cybersecurity – Teil I: Einführung und übergreifendes Cybersecurity Management weiterlesen

Test-Driven Development von Embedded-Systemen – Teil 2: Die drei TDD-Regeln der kleinen Schritte

Test-Driven Development (TDD) ist die Umsetzung des Test-First-Ansatzes im Komponententest und steht für das Schreiben der Unit-Testfälle vor der eigentlichen Implementierung. Die Einhaltung von nur drei Regeln und ein paar Tricks im Umgang mit dem Target-Hardware-Bottleneck ermöglicht TDD auch für Embedded-Systeme.

Test-Driven Development von Embedded-Systemen – Teil 2: Die drei TDD-Regeln der kleinen Schritte weiterlesen

Test-Driven Development von Embedded-Systemen – Teil 1: Test-First-Ansatz und TDD-Cycle

Test-Driven Development (TDD) ist die Umsetzung des Test-First-Ansatzes im Komponententest und steht für das Schreiben der Unit-Testfälle vor der eigentlichen Implementierung. Die Einhaltung von nur drei Regeln und ein paar Tricks im Umgang mit dem Target-Hardware-Bottleneck ermöglicht TDD auch für Embedded-Systeme.

Test-Driven Development von Embedded-Systemen – Teil 1: Test-First-Ansatz und TDD-Cycle weiterlesen

Eine gemeinsame Sprache für die Cybersecurity

Auf dem in diesem Jahr virtuellem ESE Kongress 2020 gewährt Marcus Gößler in seinem Seminar Einblicke in die mit Spannung erwartete “ISO/SAE 21434 Road Vehicles — Cybersecurity Engineering”. Jetzt anmelden und Early-Bird-Ticket sichern!

Eine gemeinsame Sprache für die Cybersecurity weiterlesen

Mehr Gestaltungsspielraum durch Secure Exception Priority Boosting

Die Armv8-M-Architektur bringt grundlegende Sicherheit in Cortex-M-Geräte und ermöglicht so mehr Schutz für IoT-Systeme. Doch wie verhält sich das “Secure Exception Priority Boosting” Feature in der Praxis? 

Sicherheitsprobleme im Internet der Dinge (IoT) gehen oft auf unzureichenden Schutz für Geräte am Rand eines Connected Systems zurück. Mangel an Rechenleistung und Speicher und natürlich Kostendruck werden oft als Gründe dafür angeführt, dass diese Geräte nicht angemessen geschützt werden können. Hacker wählen daher zunehmend intelligente Sensoren als Angriffspunkte in das gesamte Netzwerk.

Mehr Gestaltungsspielraum durch Secure Exception Priority Boosting weiterlesen

Datensicherheit als Schlüsselkriterium für moderne mobile Systeme

Mit den neuen Generationen von Multicore-Mikrocontrollern können höchste Anforderungen an vernetzte Systeme und Datensicherheit erfüllt werden. Doch Entwickler brauchen von den Anforderungen bis hin zur Implementierung das richtige Wissen, um Daten in dieser Umgebung effizient zu schützen.

Datensicherheit als Schlüsselkriterium für moderne mobile Systeme weiterlesen

Embedded-Software-Redesign Guide Teil 3: Anforderungen und Checkliste

Manchmal ist es nicht mehr damit getan, alten Code zu erweitern: Eine Rundumerneuerung muss her. Dieser Beitrag beschreibt Vorgehen rund um das Embedded-Software-Redesign und erläutert dabei die Begriffe Reverse-Engineering, Refactoring und Reengineering.

Veranstaltungsformen wie Workshops eignen sich ideal, um mit den passenden Wissensträgern die Anforderungen zu erfassen und zu dokumentieren. Um Anforderungen aus dem Programmcode abzuleiten, existieren keine Tools am Markt. Hier ist manuelle Arbeit gefragt. Erfahrungsgemäß ist es nicht möglich, 100% aller in der Software implementierten Anforderungen zu erfassen.

Embedded-Software-Redesign Guide Teil 3: Anforderungen und Checkliste weiterlesen