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

Requirements Engineering und Management Teil 2: Prozess, Vorgehen, Methode

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 lesen Sie nachfolgend, wie Sie Prozess, Vorgehen und Methode beim Requirements Engineering und Management gestalten.

Requirements Engineering und Management Teil 2: Prozess, Vorgehen, Methode weiterlesen

Requirements Engineering und Management Teil 1: Anforderungen – Eine Checkliste zur Reife?

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!

Vor dem Hintergrund meiner beruflichen Erfahrungen sowie der Durchführung vieler Seminare und Coachings zum Thema Requirements Engineering und Management ist die dem Beitrag zugrunde liegende Checkliste entstanden.

Requirements Engineering und Management Teil 1: Anforderungen – Eine Checkliste zur Reife? weiterlesen

Mit durchdachter Software-Usability Wettbewerbsvorteile erzielen

Die Qualität von industrieller Software stellt für Unternehmen einen entscheidenden Wettbewerbsfaktor dar. Der Projekterfolg steht dabei im direkten Zusammenhang mit einer hohen Bedienqualität. Die Kommunikation zwischen Mensch und Computer basiert auf Kenntnissen der Informatik, Psychologie, Ergonomie und Arbeitswissenschaft. Entwickler können auf bewährte Prozesse, Tests und Analysen zugreifen, die ihnen wertvolle Einsichten liefern.

Mit durchdachter Software-Usability Wettbewerbsvorteile erzielen weiterlesen