Skip to content

Commit 5a64a81

Browse files
committed
More notes
1 parent ba8e01c commit 5a64a81

File tree

5 files changed

+68
-29
lines changed

5 files changed

+68
-29
lines changed

brainstorming.md

+6
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
## A Practical Example of Software Product Line Engineering from the Automotive Industry
2+
3+
Target Audience: SW Developers, Architects and DevOps
4+
Prerequisites: Experience with C/C++ might be an advantage.
5+
Level: Advanced
6+
17
In the automotive sector, suppliers provide ready-made products to car manufacturers to boost revenue and stay competitive. But car manufacturers demand customised products to gain unique selling points. Every client request can potentially require a new software project. Simply copying an old one ensures initial functionality, but results in enduring software erosion. The use of Software Product Lines (SPL) allows for the maximisation of reusability and quality. Our open-source system, which relies on VS Code and CMake, facilitates Test-Driven Development (TDD) in the C/C++ language and enables Continuous Integration (CI) for SPLs.
28

39

chapters/01_titel.md

+1-5
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
## Software Product Line Engineering in der Automobilindustrie
22

33
Note:
4-
A Practical Example of Software Product Line Engineering from the Automotive Industry
5-
In the automotive sector, suppliers provide ready-made products to car manufacturers to boost revenue and stay competitive. But car manufacturers demand customised products to gain unique selling points. Every client request can potentially require a new software project. Simply copying an old one ensures initial functionality, but results in enduring software erosion. The use of Software Product Lines (SPL) allows for the maximisation of reusability and quality. Our open-source system, which relies on VS Code and CMake, facilitates Test-Driven Development (TDD) in the C/C++ language and enables Continuous Integration (CI) for SPLs.
64

7-
Target Audience: SW Developers, Architects and DevOps
8-
Prerequisites: Experience with C/C++ might be an advantage.
9-
Level: Advanced
5+
Hallo zusammen und willkommen zu unserem Vortrag über Software Product Line Engineering in der Automobilindustrie.

chapters/02_wer-sind-wir.md

+14-10
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,23 @@
11
## Wer sind wir?
22

3-
--
3+
![Karsten](images/karsten.jpg) <!-- .element: style="float: left; width: 30%" -->
44

5-
![Matthias](images/matthias.png) <!-- .element width="40%" -->
6-
7-
Matthias Eggert
5+
![Matthias](images/matthias.png) <!-- .element: style="float: right; width: 40%" -->
86

97
Note:
10-
Matthias war viele Jahre in der Automobilbranche als Softwareintegrator, Softwareentwickler und DevOps-Engineer tätig. Dabei ging es immer um sicherheitsrelevante Funktionen wie Bremssysteme oder Batteriemanagementsysteme. Jetzt arbeitet er als DevOps-Engineer bei Qytera und beschäftigt sich sowohl mit modernen Arbeitsweisen als auch mit aktuellen Technologietrends.
118

12-
--
9+
Okay, wer sind wir eigentlich?
1310

14-
![Karsten](images/karsten.jpg) <!-- .element width="30%" -->
11+
Mein alter Kollege Karsten ist seit über 18 Jahren als Softwareentwickler im Automobilbereich unterwegs.
1512

16-
Karsten Günther
13+
Von Embedded C, Perl, Tcl bis hin zur Entwicklung von Tools und Jenkins Pipelines hat er eigentlich fast schon alles gemacht.
1714

18-
Note:
19-
Karsten Günther ist seit über 18 Jahren als Softwareentwickler im Automobilbereich unterwegs und kann sowohl auf Erfahrungen im Embedded Bereich als auch in der Entwicklung von Tools und Jenkins Pipelines zurückblicken. Zurzeit ist er als Entwickler und Architekt im Rhein-Main-Team der Marquardt GmbH tätig und beschäftigt sich mit SPLs, CMake, Python, Test-Driven Development, CI/CD und Pair Programming.
15+
Zurzeit ist er als Entwickler und Architekt im Rhein-Main-Team der Marquardt GmbH tätig.
16+
17+
Da beschäftigt er sich mit SPLs, CMake, Python und CI/CD.
18+
19+
Ich selbst war viele Jahre in der Automobilbranche als Softwareintegrator, Softwareentwickler und DevOps-Engineer tätig.
20+
21+
Dabei ging es immer um sicherheitsrelevante Funktionen wie Bremssysteme oder Batteriemanagementsysteme.
22+
23+
Jetzt arbeite ich als DevOps-Engineer bei Qytera und beschäftige mich sowohl mit modernen Arbeitsweisen als auch mit aktuellen Technologietrends.

chapters/03_overview.md

+19-10
Original file line numberDiff line numberDiff line change
@@ -5,31 +5,40 @@ Menschen <!-- .element: class="fragment" -->
55
~~Chuck Norris~~ <!-- .element: class="fragment" -->
66

77
Note:
8-
Diese Präsentation ist für alle gedacht, die mit Softwareentwicklung zu tun haben.
98

10-
Nur Chuck Norris braucht nicht zu kommen, weil er alles kann und alles funktioniert, was er macht.
9+
click
10+
11+
Diese Präsentation ist für Menschen, die mit Softwareentwicklung zu tun haben.
12+
13+
click
14+
15+
Sie ist nicht für Chuck Norris.
1116

1217
--
1318

14-
### Chuck Norris vs. Humans
19+
### Software Workflow
1520

16-
![Chuck](images/chuck_norris_vs_humans.png) <!-- .element width="80%" -->
21+
![Chuck](images/chuck_norris_vs_humans.png) <!-- .element width="80%" class="fragment" -->
1722

1823
Note:
19-
Der Grund, warum Chuck Norris nicht zu diesem Meeting kommen muss, ist offensichtlich.
2024

21-
Sein Workflow ist ganz einfach. Was er liefert, funktioniert.
25+
Der Grund, warum unser Vortag nicht für Chuck Norris geeignet ist, ist ziemlich offensichtlich.
26+
27+
click
2228

23-
Für den Rest von uns ist das nicht so einfach. Wir bleiben in der Schleife, bis die Dinge wie erwartet funktionieren.
29+
Was er produziert bzw. liefert, funktioniert sofort.
30+
31+
Für den Rest von uns ist das nicht so einfach.
32+
33+
Wir müssen unsere Arbeitsprodukte immer wieder gegen die Anforderungen testen, damit sie wie erwartet funktionieren.
2434

2535
--
2636

27-
## Challenges für den automotive Software-Entwickler
37+
## Was waren unsere Challenges?
2838

2939
* Projektvielfalt --> Produktfamilie --> Konfigurierbarkeit --> SPLE
3040
* Dokumentation und Nachweis der SW Qualität --> ASPICE
31-
* Funktionale Sicherheit (ISO26262)
3241
* Continuous Integration
3342

3443
Note:
35-
ISO später.
44+

chapters/04_sple.md

+28-4
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,16 @@
11
## SPLE
22

33
Note:
4-
Softwareproduktlinien, auch bekannt als Software Product Lines (SPL), sind ein Ansatz in der Softwareentwicklung, der darauf abzielt, eine Familie von ähnlichen Softwareprodukten effizient zu entwickeln. Der Kerngedanke dabei ist, die gemeinsamen Merkmale und Funktionalitäten, die in mehreren Produkten auftreten, zu identifizieren und wiederverwendbar zu gestalten. Dieser Ansatz ermöglicht es, verschiedene Produkte zu erstellen, indem man auf einer gemeinsamen Basis von Code und Komponenten aufbaut und diese mit spezifischen, für jedes Produkt einzigartigen Funktionen erweitert.
54

6-
Der Vorteil dieses Ansatzes liegt vor allem in der Wiederverwendung von Software, was zu einer Reduzierung der Entwicklungszeit und -kosten führt. Zudem ermöglicht es eine konsistente Qualität über verschiedene Produkte hinweg und erleichtert die Wartung und Weiterentwicklung der Software. Softwareproduktlinien sind besonders nützlich in Bereichen, wo ähnliche Produkte für unterschiedliche Kunden oder Märkte entwickelt werden müssen.
5+
Softwareproduktlinien, auch bekannt als Software Product Lines (SPL), sind ein Ansatz in der Softwareentwicklung, der darauf abzielt, eine Familie von ähnlichen Softwareprodukten effizient zu entwickeln.
6+
7+
Der Kerngedanke dabei ist, die gemeinsamen Merkmale und Funktionalitäten, die in mehreren Produkten auftreten, zu identifizieren und wiederverwendbar zu gestalten. Dieser Ansatz ermöglicht es, verschiedene Produkte zu erstellen, indem man auf einer gemeinsamen Basis von Code und Komponenten aufbaut und diese mit spezifischen, für jedes Produkt einzigartigen Funktionen erweitert.
8+
9+
Der Vorteil dieses Ansatzes liegt vor allem in der Wiederverwendung von Software, was zu einer Reduzierung der Entwicklungszeit und -kosten führt.
10+
11+
Zudem ermöglicht es eine konsistente Qualität über verschiedene Produkte hinweg und erleichtert die Wartung und Weiterentwicklung der Software.
12+
13+
Softwareproduktlinien sind besonders nützlich in Bereichen, wo ähnliche Produkte für unterschiedliche Kunden oder Märkte entwickelt werden müssen.
714

815
--
916

@@ -14,7 +21,22 @@ Der Vorteil dieses Ansatzes liegt vor allem in der Wiederverwendung von Software
1421
![](images/spa-light.png) <!-- .element: class="fragment" data-fragment-index="3" style="float: right; width: 30%" -->
1522

1623
Note:
17-
Willkommen zu unserer vielfältigen Welt der Beleuchtung! Ich möchte euch drei einzigartige Mitglieder unserer Lampenfamilie vorstellen: das Disco-Licht, das Schlaflicht und das Spa-Licht. Auf den ersten Blick erscheinen diese Lampen völlig unterschiedlich – das Disco-Licht mit seiner energiereichen Blinkfunktion, ideal für Partys; das Schlaflicht, das mit seinem sanften Farbwechsel und der Dimmfähigkeit eine beruhigende Atmosphäre für einen guten Schlaf schafft; und das Spa-Licht, das mit seinem sanften Pulsieren eine entspannende und verjüngende Wirkung entfaltet. Diese Lampen wurden entwickelt, um in verschiedenen Umgebungen jeweils eine einzigartige Stimmung zu schaffen. Doch trotz ihrer Unterschiede teilen sie eine gemeinsame Grundlage.
24+
25+
Willkommen zu unserer vielfältigen Welt der Beleuchtung!
26+
27+
Ich möchte euch drei einzigartige Mitglieder unserer Lampenfamilie vorstellen: das Disco-Licht, das Schlaflicht und das Spa-Licht.
28+
29+
Auf den ersten Blick erscheinen diese Lampen völlig unterschiedlich –
30+
31+
das Disco-Licht mit seiner energiereichen Blinkfunktion, ideal für Partys;
32+
33+
das Schlaflicht, das mit seinem sanften Farbwechsel und der Dimmfähigkeit eine beruhigende Atmosphäre für einen guten Schlaf schafft;
34+
35+
und das Spa-Licht, das mit seinem sanften Pulsieren eine entspannende und verjüngende Wirkung entfaltet.
36+
37+
Diese Lampen wurden entwickelt, um in verschiedenen Umgebungen jeweils eine einzigartige Stimmung zu schaffen.
38+
39+
Doch trotz ihrer Unterschiede teilen sie eine gemeinsame Grundlage.
1840

1941
--
2042

@@ -104,4 +126,6 @@ In diesem Fall habe ich sie auf rot konfiguriert, deswegen leuchtet sie rot.
104126
<!-- .slide: data-background-image="images/test.png" data-background-size="contain" -->
105127

106128
Note:
107-
Und da wir ja keine Chuck Norris, sondern normale Menschen sind. Kann ich dieses Verhalten eben auch abtesten. Die Tests sind auf Basis von Google Test zusammen mit Google Mock. Da das beides allerdings nur für C++ ist, unsere Lampen aber in embedded-C entwickelt werden, haben wir dafür einen eigenen Open-Source Wrapper/Konverter, auf den wir hier aber nicht im Detail eingehen können. Die Testergebnisse sind aber für weitere Schritte sehr wichtig, nämlich beim ASPICE, dazu kommen wir als nächstes.
129+
Und da wir ja keine Chuck Norris, sondern normale Menschen sind. Kann ich dieses Verhalten eben auch abtesten. Die Tests sind auf Basis von Google Test zusammen mit Google Mock. Da das beides allerdings nur für C++ ist, unsere Lampen aber in embedded-C entwickelt werden, haben wir dafür einen eigenen Open-Source Wrapper/Konverter, auf den wir hier aber nicht im Detail eingehen können.
130+
131+
Die Testergebnisse sind aber für weitere Schritte sehr wichtig, nämlich beim A.SPICE, doch dazu übergebe ich jetzt an Karsten.

0 commit comments

Comments
 (0)