21
© 2015 Mieschke Hofmann und Partner Gesellschaft für Management- und IT-Beratung mbH Die Basis für jedes IoT-Projekt Softwarequalität messen und absichern Martin Fünffinger-Link | MHPBoxenstopp: 19.12.2017 © 2017 MHP – A Porsche Company

Softwarequalität messen und absichern

Embed Size (px)

Citation preview

Page 1: Softwarequalität messen und absichern

© 2015 Mieschke Hofmann und Partner Gesellschaft für Management- und IT-Beratung mbH

Die Basis für jedes IoT-Projekt

Softwarequalität messen und absichern

Martin Fünffinger-Link | MHPBoxenstopp: 19.12.2017

© 2017 MHP – A Porsche Company

Page 2: Softwarequalität messen und absichern

© 2017 MHP – A Porsche Company 2

Wir wünschen Ihnen besinnliche Feiertage und einen guten Rutsch ins neue Jahr!

Weitere MHPBoxenstopps www.mhp.com/events

Fahrplan Zu Beginn sind alle Teilnehmer auf stumm geschalten.

1. MHPBoxenstopp Vortrag Martin Fünffinger-Link

2. Pressekonferenz (Fragen & Antworten) Sie können bereits während der Web Session über die

Chatfunktion im rechten Fenster Fragen einreichen.

www.youtube.de/MHPProzesslieferantwww.slideshare.net/MHPInsights

MHPBoxenstopp verpasst? Alle vergangenen MHPBoxenstopps finden Sie hier:

MHPBoxenstopp: Softwarequalität messen und absichern

Page 3: Softwarequalität messen und absichern

© 2017 MHP – A Porsche Company 3

Martin Fünffinger-Link

Senior Manager

Big Data & IoT Technologies

Forschungsprojekte zu Prozess- und

Wissensmanagement, GIS, Kollaboration

Physik-Studium, Uni Augsburg

Architektur und Implementierung von Systemen

im PEP-, MDM-, MES-, SCM- und PP-Umfeld

Fahrerprofil

MHPBoxenstopp: Softwarequalität messen und absichern

Page 4: Softwarequalität messen und absichern

© 2017 MHP – A Porsche Company 4

1. Ziele/Benefits

2. Was versteht man unter Software-Qualität?

3. Vorgehen

4. Strategie

5. Fazit/Wrap-up

MHPBoxenstopp: Softwarequalität messen und absichern

Page 5: Softwarequalität messen und absichern

© 2017 MHP – A Porsche Company 5

1. Ziele/Benefits

2. Was versteht man unter Software-Qualität?

3. Vorgehen

4. Strategie

5. Fazit/Wrap-up

MHPBoxenstopp: Softwarequalität messen und absichern

Page 6: Softwarequalität messen und absichern

6© 2017 MHP – A Porsche Company

Warum ist Software-Qualität wichtig?

1. Ziele/Benefits

Mariner 1 (1962)

•Mariner 1 verlässt Flugbahn

kurz nach dem Start

•Mission Control muss

Rakete 293s nach Start

zerstören

•Ursache: Entwickler

überträgt

handgeschriebene Formel

falsch in den Code

•18,5 Mio. $ Schaden

Ariane 5 (1996)

•Ariane 5 gerät kurz nach

Start in Schräglage und

sprengt sich selbst

•Ursache: Übernahme des

Quellcodes für das

Navigationssystem von

Ariane 4 und mangelnde

Überprüfung von Variablen

(Überlauf)

•500 Mio. $ Schaden

Apple “goto fail” bug (2014)

•Doppeltes goto fail-

Statement in der

Implementierung der

SSL/TLS Verschlüsselung

•Alle Geräte waren damit

Angriffen schutzlos

ausgeliefert

•Unbekannter Schaden

Chrysler Car Hack (2015)

•Hacker übernehmen über

das Entertainment-System

Uconnect die volle

Fahrzeugkontrolle

•Weitere Beispiele

•Osram Lightify

•LG TV

Page 7: Softwarequalität messen und absichern

7© 2017 MHP – A Porsche Company

… und es wird nicht einfacher!

1. Ziele/Benefits

•CI/CD

•Automatisierung

•Microservices

•Steigende

Komplexität

•Hohes

Schadenspotential

•Steigender Druck

•Disruptive

Geschäftsmodelle

•2020: > 20 Mrd.

Geräte

•O‘Reilly: „Software is

at the heart of IoT,

not hardware“

Internet

of

Things

Time to

Market

DevOpsBig Data

& KI

Page 8: Softwarequalität messen und absichern

8© 2017 MHP – A Porsche Company

Ein Beispiel

1. Ziele/Benefits

Page 9: Softwarequalität messen und absichern

© 2017 MHP – A Porsche Company 9

1. Ziele/Benefits

2. Was versteht man unter Software-Qualität?

3. Vorgehen

4. Strategie

5. Fazit/Wrap-up

MHPBoxenstopp: Softwarequalität messen und absichern

Page 10: Softwarequalität messen und absichern

10© 2017 MHP – A Porsche Company

Definition und Aspekte

2. Was versteht man unter Software-Qualität?

Funktionalität

Zuverlässigkeit

Benutzbarkeit Effizienz

Wartbarkeit

Portabilität

Softwarequalität ist ein

mehrdimensionales

Konstrukt, das im

Anwendungsfall durch

Verfeinerung der Merkmale

auf der obersten

Abstraktionsebene in

Teilmerkmale und weiter in

Maße operationalisiert werden

muss. (Quelle: http://www.enzyklopaedie-der-

wirtschaftsinformatik.de)

Aus den Qualitätsmerkmalen müssen messbare KPIs abgeleitet werden.

Page 11: Softwarequalität messen und absichern

11© 2017 MHP – A Porsche Company

Definition und Aspekte

2. Was versteht man unter Software-Qualität?

• Messung unabhängig von Programmiersprache und Projekt möglich

Objektiv

• Auswirkungen von Code-Änderungen auf die Metrik sind verständlich

Verständlich

• Handlungen sind klar ableitbar

Actionable

• Zusammenhang zu Entwicklungs-/Wartungsaktivitäten ist bekannt

Nachvollziehbar

Page 12: Softwarequalität messen und absichern

12© 2017 MHP – A Porsche Company

Übersicht KPIs

2. Was versteht man unter Software-Qualität?

Strukturmetriken

• Dateilänge

• Methodenlänge

• Schachtelungstiefe

Redundanz

• Anteil von dupliziertem

Quellcode durch „Copy

& Paste“

Code-Anomalien

• Namenskonventionen

• Auskommentierter Code

• Anzahl Imports

Architekturkonformität

• Vergleich der

Architektur mit einem

high-level Modell

Dokumentation

• Kommentare an

öffentlichen

Schnittstellen

• Task tags

Testabdeckung

• Anteil des Quellcodes,

der durch autom. Tests

abgedeckt ist

Page 13: Softwarequalität messen und absichern

13© 2017 MHP – A Porsche Company

Beispiele KPIs

2. Was versteht man unter Software-Qualität?

Methodenlänge

• Limitierung der

Zeilenzahl auf

typischerweise 20-50

Zeilen

• Für Änderungen muss

ganze Methode

verstanden werden

• Zeitersparnis bei

Anpassungen

• Erleichtert

Wiederverwendung

Codeduplizierung

(Klone)

• Vermeidung von

„Kopieren & Einfügen“

• Äußerst negative

Auswirkungen auf

Wartbarkeit

• Codevolumen wird

künstlich aufgebläht

• Bei Änderungen

Anpassung aller Klone

nötig!

Dateilänge

• Dateilänge sollte zw.

300 und 750 Zeilen

liegen

• Auffinden benötigter

Codestellen

aufwändig

• Zu große Dateien

Hinweis auf

suboptimale

Modularisierung

• Erschwert

Programmverständnis

Schachtelungstiefe

• Zahl

Verschachtelungen

beeinflusst

Verständnis für den

Code

• Schachtelungstiefe

sollte 3 bis max. 5

Ebenen nicht

überschreiten

Page 14: Softwarequalität messen und absichern

© 2017 MHP – A Porsche Company 14

1. Ziele/Benefits

2. Was versteht man unter Software-Qualität?

3. Vorgehen

4. Strategie

5. Fazit/Wrap-up

MHPBoxenstopp: Softwarequalität messen und absichern

Page 15: Softwarequalität messen und absichern

15© 2017 MHP – A Porsche Company

Wie baue ich ein effizientes Qualitätsmanagement in den

Entwicklungsprozess ein?

3. Vorgehen

Kontinuierliche

Kontrolle

Kontinuierliche

ÜberwachungKontinuierliche

VerbesserungEntwickler Qualitäts-

koordinator

Projektleiter

Erstellt Taskliste

Code-

Analyse

CI

CD

z.B. SonarQube,

Teamscale

Page 16: Softwarequalität messen und absichern

© 2017 MHP – A Porsche Company 16

1. Ziele/Benefits

2. Was versteht man unter Software-Qualität?

3. Vorgehen

4. Strategie

5. Fazit/Wrap-up

MHPBoxenstopp: Softwarequalität messen und absichern

Page 17: Softwarequalität messen und absichern

17© 2017 MHP – A Porsche Company

Wie lässt sich sinnvoll mit „problematischen“ Applikationen umgehen?

4. Strategie

• Perfekt: keine DefiziteA• Verbessernd: keine

Defizite in geändertem

CodeB

• Erhaltend: keine

neuen DefiziteC• Ohne: jede

Qualität ist

ausreichendD

Page 18: Softwarequalität messen und absichern

© 2017 MHP – A Porsche Company 18

1. Ziele/Benefits

2. Was versteht man unter Software-Qualität?

3. Strategie

4. Vorgehen

5. Fazit/Wrap-up

MHPBoxenstopp: Softwarequalität messen und absichern

Page 19: Softwarequalität messen und absichern

Herausforderungen und Mehrwert

5. Fazit / Wrap-Up

Software muss höchsten Anforderungen an Sicherheit,

Interoperabilität und Konnektivität genügen. Und sie

muss in immer kürzeren Entwicklungszyklen aktualisiert

werden - denn die Kunden erwarten häufige Updates und

Erweiterungen. Zu meistern ist das nur, wenn die

Softwarequalität hoch und zudem messbar ist.

Unsere Kompetenzen

Qualitätskoordination

• Übernahme der Rolle im Projekt

• Beratung bei Refactorings

• Beratung SW-Architektur

Verbesserungsprozess

• Einführung

• Coaching

Qualitätsbericht

• Grundlage für Ausschreibungen

• Übernahme von Quellcode / Software

• Begleitung von Neuentwicklungen

Page 20: Softwarequalität messen und absichern

20© 2017 MHP – A Porsche Company

MHPBoxenstopp: Softwarequalität messen und absichern

Gesellschaft für Management- und IT-Beratung mbH

MHP – A PORSCHE COMPANY

Martin Fünffinger-Link

Senior Manager

Big Data & IoT Technologies

Mobil: +49 (0)151 2030 1484

E-Mail: [email protected]

Page 21: Softwarequalität messen und absichern

© 2017 MHP – A Porsche Company 21

Das MHPBoxenstopp-Team wünscht Ihnen besinnliche Feiertage und einen

guten Rutsch ins neue Jahr!

MHPBoxenstopp verpasst? Kein Problem!

Mitschnitte und Videos:

http://www.youtube.com/MHPProzesslieferant

Präsentationsunterlagen:

http://de.slideshare.net/MHPInsights

MHPBoxenstopp: Timetable 2017