Softwarequalität messen und absichern

Preview:

Citation preview

© 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

© 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

© 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

© 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

© 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

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

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

8© 2017 MHP – A Porsche Company

Ein Beispiel

1. Ziele/Benefits

© 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

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.

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

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

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

© 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

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

© 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

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

© 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

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

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: martin.fuenffinger-link@mhp.com

© 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

Recommended