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

ESE 2021 wird wieder digital

Im letzten Jahr war es eine Premiere: Deutschlands großer Leitkongress der Embedded-Softwarebranche wurde digital. Viele Vorteile haben das Organisationsteam, Teilnehmer und Partner/Sponsoren überzeugt, dass ein virtueller Kongress auch in diesem Jahr die beste Lösung ist – digital, interaktiv, coronasicher und mit bewährt großem Umfang und fachlicher Tiefe. 

ESE 2021 wird wieder digital weiterlesen

Boom bei Embedded-Technologie hält an – die wichtigsten Trends

Das rasante Wachstum des Internet of Things, des 5G-Netzes, künstlicher Intelligenz und Cloud- bzw. Edge-Computing haben große Auswirkungen auf die Entwicklung von Embedded-Software.

Boom bei Embedded-Technologie hält an – die wichtigsten Trends weiterlesen

Raus aus der Sackgasse: Mehr Flexibilität, weniger Optimierung

Warum hat uns Corona so heftig erwischt? Wie kommen wir aus der Krise? Um Antworten auf diese Fragen zu erhalten, lohnen sich ein paar systemische Betrachtungen zum Thema Überleben. Das Spannende an systemischen Betrachtungen ist, dass wir sie auf sehr viele Fragestellungen anwenden können, über die wir uns derzeit die Köpfe zerbrechen. Jetzt wird es erst ein bisschen theoretisch und dann dramatisch – mit Hoffnung auf ein Happy End.

Raus aus der Sackgasse: Mehr Flexibilität, weniger Optimierung 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

Interface-Designs und ihre Implementierungen – Teil 2: Realisierung und Zugriff

Der Einsatz von Software-Interfaces ist ein elementares Mittel zur Entwicklung von langlebigen und tragfähigen Software-Architekturen. Deshalb sollten sie so früh wie möglich in der Architektur etabliert werden, um diese zu stabilisieren. Der Software-Architekt kann so eine schnelle Aufgabenverteilung auf unabhängige Personen, Teams oder Standorte ohne weitere „Reibungsverluste“ sicherstellen.

Welche Varianten der Architekt beim Interface-Design kennen sollte und wie diese in den Programmiersprachen C und C++ implementierbar sind, verrät dieser Beitrag in seinem zweiten Teil – er zeigt Implementierungsansätze durch Assoziation, Komposition, Fassade, virtuelle Interfaces, nicht-virtuelle Interfaces, C++ Templates und CRTP-Pattern auf.

Interface-Designs und ihre Implementierungen – Teil 2: Realisierung und Zugriff weiterlesen

Interface-Designs und ihre Implementierungen – Teil 1: Struktur und Definition

Der Einsatz von Software-Interfaces ist ein elementares Mittel zur Entwicklung von langlebigen und tragfähigen Software-Architekturen. Deshalb sollten sie so früh wie möglich in der Architektur etabliert werden, um diese zu stabilisieren. Der Software-Architekt kann so eine schnelle Aufgabenverteilung auf unabhängige Personen, Teams oder Standorte ohne weitere „Reibungsverluste“ sicherstellen.

Welche Varianten Sie beim Interface-Design kennen sollten und wie diese in den Programmiersprachen C und C++ implementierbar sind, verrät dieser Beitrag. Der erste Teil stellt Interface-Konzepte und unterschiedliche Interface-Typen vor.

Interface-Designs und ihre Implementierungen – Teil 1: Struktur und Definition weiterlesen

Neue Wege in die Zukunft: So meistert MicroConsult gemeinsam mit seinen Kunden das Corona-Jahr

Das Jahr 2020 hat uns als Unternehmen nach vorne gebracht – das hört man momentan nicht oft. Zu lernen, mit neuen Gegebenheiten schnell umzugehen und auch die Chancen darin wahrzunehmen, gehört für Unternehmen auch in Zukunft zu den wichtigsten Eigenschaften.

Neue Wege in die Zukunft: So meistert MicroConsult gemeinsam mit seinen Kunden das Corona-Jahr weiterlesen