Mitgliedsbeiträge absichern - darum lohnt sich FlexiFit für Fitnessstudios
Softwarequalität messen und absichern
-
Upload
mhp-a-porsche-company -
Category
Technology
-
view
169 -
download
6
Transcript of 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
© 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: [email protected]
© 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