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

Embedded-Software-Redesign Guide Teil 2: Notwendigkeit erkennen

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.

Kundenunzufriedenheit sollte heute in jedem Unternehmen ein wichtiger Antrieb für Innovation sein. Bemerkt schon der Kunde Defizite bei der inneren Softwarequalität bzw. Prozessqualität, dann ist es kurz nach zwölf!

Embedded-Software-Redesign Guide Teil 2: Notwendigkeit erkennen weiterlesen

Embedded-Software-Redesign Guide Teil 1: Defizite und Auslöser

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.

Embedded-Software-Redesign Guide Teil 1: Defizite und Auslöser weiterlesen

C++11 Multithreading: Überblick, Highlights und Fallstricke

Was das C++ Multithread-API leistet und was bei der Portierung von Applikationen zu beachten ist

Seit der Einführung von C++11 bietet die Standardbibliothek von C++ auch Unterstützung für die Entwicklung von Multithread-Applikationen. Die Verwendung des C++ Multithread-APIs vereinfacht zwar die Portierung derartiger Anwendungen, führt aber gleichzeitig auch dazu, dass man sich auf die Möglichkeiten der Standardbibliothek beschränken muss, wenn man davon profitieren möchte. Nicht nur bei der Entwicklung von neuen Applikationen, sondern auch für existierende Anwendungen, die noch auf plattformspezifischen Multithread-Lösungen basieren, stellt sich deshalb die Frage, ob es sinnvoll ist, dieses API einzusetzen bzw. darauf umzustellen.

C++11 Multithreading: Überblick, Highlights und Fallstricke weiterlesen

“In unseren Kursen sitzen die Entwickler, die dazulernen wollen.”

MicroConsult-Trainer und Projektcoach Frank Listing über Clean Code und wie er sich den idealen Ablauf eines Embedded-Projektes vorstellt

Womit hat man als Trainer im Bereich Embedded-Software täglich zu tun?  

Frank Listing: Man bekommt sehr schnell mit, dass Software in deutschen Unternehmen des Maschinenbaus und der Automobilindustrie nach wie vor einen niedrigen Stellenwert hat. Die Software ist das, was am Ende dazukommt; das funktioniert auch nebenbei, kann man ja immer noch ändern. Aber so einfach ist es leider nicht.

“In unseren Kursen sitzen die Entwickler, die dazulernen wollen.” weiterlesen

Design Patterns in der Praxis richtig anwenden

Ob ein Design Pattern eingesetzt werden sollte oder nicht, ist für ein geschultes Auge leicht zu erkennen.

Design Patterns in der Praxis richtig anwenden weiterlesen

Die SOLID-Prinzipien – Fünf Grundsätze für bessere Software

Die Qualität der Software ist nicht in allen Projekten ideal. Der Einsatz von Software Engineering soll den Code in all seinen Aspekten verbessern. Mit diesen fünf Prinzipien kommen Sie dem Ziel näher. Denn guter Code motiviert!

Die SOLID-Prinzipien – Fünf Grundsätze für bessere Software weiterlesen

Programmierrichtlinien – Fluch oder Segen?

In Vorträgen, Artikeln und Büchern wird immer darauf hingewiesen, dass die Qualität des Codes ein entscheidender Faktor für den Erfolg des Projektes ist. Deshalb wird immer wieder versucht, Regularien einzuführen, die die Codequalität verbessern. Doch der Code, der von vielen Entwicklern abgeliefert wird, sieht alles andere als schön aus. Ein Ansatz, um die Qualität des Codes zu sichern, ist das Verwenden von Programmierrichtlinien.

Programmierrichtlinien – Fluch oder Segen? weiterlesen

Entwicklungsprozesse als Basis moderner Softwareentwicklung

Im professionellen Software Engineering sind die Entwicklungs- und Prozess-Schritte vor der Software-Implementierung essentiell. Begriffe wie Softwareanalyse und Softwaredesign bzw. Software-Grobdesign und Software-Feindesign aus den Entwicklungsprozessen (beispielsweise dem V-Modell XT oder dem branchenspezifischen V-Modell Automotive) stehen genau dafür.

Entwicklungsprozesse als Basis moderner Softwareentwicklung weiterlesen

Requirements Engineering und Management Teil 3: Anforderungen verwalten, verfolgen und verlinken

Anforderungen erfassen und verwalten ist ein wesentlicher Schlüssel zu erfolgreichen Projekten. Egal ob im klassischen oder agilen Prozessumfeld – professionelles Requirements Engineering und Management für Embedded- und Echtzeitsysteme verkürzt Ihre Projektlaufzeiten und spart Entwicklungs- sowie Wartungskosten ein. Stellen Sie sich dieser Herausforderung!

Nach der Definition der Anforderungen mithilfe einer Checkliste im 1. Teil und der Gestaltung der Prozesse im 2. Teil lesen Sie nachfolgend, wie Sie Anforderungen beim Requirements Engineering und Management verwalten, verfolgen und verlinken und wie Sie die Tools dazu auswählen und etablieren.

Requirements Engineering und Management Teil 3: Anforderungen verwalten, verfolgen und verlinken weiterlesen