Software Qualität. Dipl.Ing. Reinhard Prehofer, Dipl.Ing. Bernhard Wachter Wien, im September 2008



Ähnliche Dokumente
Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Werkzeugunterstützte Betrachtungen von Software-Qualität und -Architekturen

Softwareentwicklungsprozess im Praktikum. 23. April 2015

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

QM: Prüfen -1- KN

Qualitätsmanagement im Projekt

Wir erledigen alles sofort. Warum Qualität, Risikomanagement, Gebrauchstauglichkeit und Dokumentation nach jeder Iteration fertig sind.

SDD System Design Document


ZENITY - Die Software für Ihre Unternehmens-Releaseplanung

Softwarequalität: Zusammenfassung und Ausblick. 17. Juli 2013

Die Welt der SW-Qualität Ein Streifzug in 30 Minuten! Johannes Bergsmann Eigentümer

Systemen im Wandel. Autor: Dr. Gerd Frenzen Coromell GmbH Seite 1 von 5

Das Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin

ONLINE-AKADEMIE. "Diplomierter NLP Anwender für Schule und Unterricht" Ziele

Neue Funktionen in Innovator 11 R5

ITIL und Entwicklungsmodelle: Die zwei Kulturen

Comparison of Software Products using Software Engineering Metrics

Data Mining-Projekte

Qualitätssicherung. Was ist Qualität?

HR-Herausforderungen meistern

SWE12 Übungen Software-Engineering

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing

Effizenzsteigerung bei Villeroy & Boch durch den Einsatz von Magento und Zend

1 Planung Migration UNIMOD collect (=neues Release

Christian Kühnel, BMW Group AGILE ENTWICKLUNG VON FAHRERASSISTENZSOFTWARE. AGILE CARS 2014.

Design Pattern - Strukturmuster. CAS SWE - OOAD Marco Hunziker Klaus Imfeld Frédéric Bächler Marcel Lüthi

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

Kompetenz. rund um. Ihren. Entwicklungsprozess. Über uns. Technische Software. Modellbasierter Test. Prüfplätze. Automatisierung.

Whitebox-Tests: Allgemeines

Benchmark zur Kompetenzbestimmung in der österreichischen SW Industrie. Mag. Robert Kromer NCP / AWS Konferenz Wien,


VIELE SAGEN... hohe Qualität große Erfahrung besondere Spezialisierung. nur für Sie!

IDV Assessment- und Migration Factory für Banken und Versicherungen

Informationswirtschaft II Rational Unified Process (RUP)

white sheep GmbH Unternehmensberatung Schnittstellen Framework

Informationswirtschaft II

Testautomatisierung. Lessons Learned. qme Software. Gustav-Meyer-Allee Berlin. Telefon 030/ Telefax 030/

Cad-OasEs Int. GmbH. 20 Jahre UG/NX Erfahrung prägen Methodik und Leistungen. Nutzen Sie dieses Wissen!

WIE WIRKLICH IST DIE WIRKLICHKEIT WIE SCHNELL WERDEN SMART GRIDS WIRKLICH BENÖTIGT? DI Dr.techn. Thomas Karl Schuster Wien Energie Stromnetz GmbH

Fallbeispiel. Auswahl und Evaluierung eines Software- Lokalisierungstools. Tekom Herbsttagung 2004 Angelika Zerfaß

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Software-Metriken. Wolfgang Globke. Seminar Moderne Softwareentwicklung SS Software-Metriken. Wolfgang Globke. Metriken und Qualitätsmodelle

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

Erfolgreiche ITIL Assessments mit CMMI bei führender internationaler Bank

Code of Conduct (CoC)

2. Workshop: Vorgehensmodelle in der Praxis Reife und Qualität

AGILES Software Engineering in der COUNT IT. Testautomatisierung in der agilen Softwareentwicklung

Prozessoptimierung. und. Prozessmanagement

Warum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Dr. Klaus Körmeier BlueBridge Technologies AG

Einreichung zum Call for Papers

(1) Mit dem Administrator Modul werden die Datenbank, Gruppen, Benutzer, Projekte und sonstige Aufgaben verwaltet.

Agile Software Development

Qualitätsmanagement. Grundlagen

Fehler und Probleme bei Auswahl und Installation eines Dokumentenmanagement Systems

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Was versteht man unter Softwaredokumentation?

Modernes Vulnerability Management. Christoph Brecht Managing Director EMEA Central

Leseprobe. Thomas Konert, Achim Schmidt. Design for Six Sigma umsetzen ISBN: Weitere Informationen oder Bestellungen unter

SEP 114. Design by Contract

Festpreisprojekte in Time und in Budget

Wir sind Partner der Servicon Service & Consult eg für die Mitglieder der Verbundgruppen des ZGV (Zentralverband gewerblicher Verbundgruppen).

Korrektur: dpw-abwesenheiten. Krankheit Angestellter Anspruchserhöhung erfolgt zu früh

Praxisseminar WS10/11

ELitE Bestell- und Lieferplattform für Informationen & Literatur

Ziel- und Qualitätsorientierung. Fortbildung für die Begutachtung in Verbindung mit dem Gesamtplanverfahren nach 58 SGB XII

Software - Testung ETIS SS05

HUMAN ASSET REVIEW

Die Klimaforscher sind sich längst nicht sicher. Hans Mathias Kepplinger Senja Post

ERPaaS TM. In nur drei Minuten zur individuellen Lösung und maximaler Flexibilität.

SharePoint Demonstration

OUTSOURCING ADVISOR. Analyse von SW-Anwendungen und IT-Dienstleistungen auf ihre Global Sourcing Eignung. Bewertung von Dienstleistern und Standorten

REQUIREMENTS ENGINEERING KONSTRUKTIVE QS REQUIREMENTS ENGINEERING 1

Konsolidierung und Neuimplementierung von VIT. Aufgabenbeschreibung für das Software Engineering Praktikum an der TU Darmstadt

SWOT Analyse zur Unterstützung des Projektmonitorings

Informationssystemanalyse Grundlagen 1 1

Qualitätsmanagement in kleinen und mittleren Unternehmen

Testplan. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw,

Quality Assurance Review der IT-Revision (QAR-IT) -Ein Leitfaden -

Taking RM Agile. Erfahrungen aus dem Übergang von traditioneller Entwicklung zu Scrum

Wie Projektziele gemessen werden können oder wie man Indikatoren entwickeln kann?

10 größten SLA Irrtümer. Seminar: 8663 Service-Level-Agreement. Qualified for the Job

Über die Internetseite Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Integrierte IT Portfolioplanung

Thomas Freitag achelos GmbH SmartCard-Workshop achelos GmbH

Projektmanagementsoftware: Standard vs. Individual

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite

Programmiertechnik II

Fragebogen: Abschlussbefragung

GS-Programme 2015 Allgemeines Zentralupdate

Grundlagen des Software Engineering

Qualitätsmanagement: Dokumentieren. Kontrollieren. Verfolgen.

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Die Zeit ist reif. Für eine intelligente Agentursoftware.

Reporting Services und SharePoint 2010 Teil 1

ELitE Bestell- und Lieferplattform für Informationen & Literatur

SPI-Seminar : Interview mit einem Softwaremanager

Transkript:

Software Qualität Dipl.Ing. Reinhard Prehofer, Dipl.Ing. Bernhard Wachter Wien, im September 2008

Agenda / Inhalte Ziele im SW - Qualitätsmanagement Zweck eines Qualitätsmodells Metriken / Vermessung: o Wichtige Meßgrößen und daraus ableitbare Aussagen Visualisierung von Messwerten Umsetzung eines vollautomatisierten Qualitätssicherungsprozesses 2

Splendit IT-Consulting GmbH Singerstraße 20 1010 Wien T: +43-1-8903544-0 E: office@splendit.at H: www.splendit.at Primäres Geschäftsfeld o Qualitätsaspekte in allen Phasen der SW-Entwicklung Projektleitstand Qualität und Steuerung/Kontrolle als Prozess aufgesetzt (innere) SW-Qualität und Metriken o Datenqualität o Architekturberatung Integration und Migration o Schulungen o Qualitäts-Prozessmanagement 3

Reinhard Prehofer 25 Jahre EDV-Background Consulting primär im Bereich o Architekturen o Transformation / Migration / Integration ("Cobol 2 Java" u.dgl.) o Testverfahren und methodiken o Datenqualität SW-Qualität und Metriken o ISO9126 "Projektleitstand" für SW- Entwicklung Schulungen 4

Was "bedeutet SW-Qualität für SIE" in der SW-Entwicklung? Als Beispiel o Wartbarkeit, Lesbarkeit des Codes o Einhaltung von Normen, Standards, Vorgehen Betonung auf welche Phasen? o Analyse o Design Architektur o Entwicklung Test Was ist Ihr Ziel? Welche Ziele (bzw. zu lösende Probleme) fallen Ihnen ad hoc ein 5

Ihre Ziele sollten sein (1/2) Entwickelte Komponenten sind sowohl wartbar als auch wiederverwendbar. o Personalfluktuation darf kein Problem darstellen. Oder SW-Zulieferung durch Lieferanten o Software soll nicht 'altern'. o Aufwandsschätzungen für spätere Wartungen müssen möglich sein. (Ist Wartbarkeit messbar?) o Maintainability wovon abhängig 6

Ihre Ziele sollten sein (2/2) Komponenten wurden ausreichend getestet - Aussagen über deren Korrektheit sind möglich. o Etabliertes Testverfahren (Unit-Tests...) o Gleichzeitige Minimierung des nötigen Testaufwands. o Wissen Sie Ihre Codeabdeckung (C0, C1)? 7

(Nochmals) was "bedeutet SW- Qualität für SIE"? Wartbarkeit, Lesbarkeit von Code o Begründetes Hauptargument für Kostensenkung Einhaltung von Zeit / Ressourcen Normen, Standards, Vorgehen einheitlich Portierbarkeit (erhöhen) Saubere Architektur und Schnittstellen Produktivität (erhöhen) Fehlerfreiheit, Stabilität Benutzerzufriedenheit (erhöhen) 8

Aspekte der SW-Qualität (1/3) Anlassfall bezogen (assessment) Problemen und Fehlern auf den Grund gehen SOURCE-Review und Analyse Vermessen der Software Interne Reife, richtige Dokumentation von Sourcen? Outsourcing, Offshoring / Lieferantensteuerung (SW-)Katze im Sack gekauft? 9

Aspekte der SW-Qualität (2/3) Wartungsaspekte mindestens 70-80% der SW- Kosten gehen in die Wartung Chaos Report 2004 10

Aspekte der SW-Qualität (3/3) Standards (im Unternehmen) definieren und kontrollieren Programmiertechnik und muster,( gute/schlechte ) inkl. Konventionen sowie Design Patterns CPD Architekturvorgaben Qualitätsmessung der SW-Artefakte als Prozess etablieren = der Schritt zu einem Leitstand (kontinuierlicher Überwachungs-prozess) 11

"You cannot control what you cannot measure" Tom demarco Was ist gute Software / Mustervorgabe o Gutes Coding ( patterns o Gute Muster (design o Empfohlene Styleguides o Architekturpatterns N- Schichten, fat- client, SOA, Welches Coding ist abzulehnen o Anti patterns code that smells Wer definiert die Messlatte? o Woher Vergleichswerte holen o Best practices vs. worst examples 12

Zweck eines Qualitätsmodells Um die Qualität eines Software-Produktes beurteilen zu können, benötigt man ein (Qualitäts)modell o in dem die einzelnen Aspekte der Qualität greifbar gemacht werden Kriterien / Subkriterien vorgeschlagen und definiert sind... o Vordefinierte (grobe) Modelle gibt es U.a. ISO-9126, GQM Anwendbarkeit, Praktikabilität der Modelle Faktor = relevante Qualitätsmerkmale o (vom engl. factors) 29.09.2008 SW-Qualität 13

ISO 9126 als Beispiel für ein (bi-direktionales) Qualitätsmodell Aggregation vo n messbaren Qualitäts- Merkmalen Metriken strukturelle Eigenschaften ( patterns Problemmuster (anti Anomalie mit begründeten negativen Auswirkungen auf innere Qualität Verbesserungshinweise S W- Qualitätsanalyse ersetzt keinen Test aber lief e SW-Qualität rt Kandidaten (schwarze Schafe) 29.09.2008 14

Phasen (1/2) welche Phase - was ist besonders wichtig o Analyse (Fehlerverbreitung!) z.b. "weiche Formulierungen", Auslassungen.. o Architektur (als Bsp. "ATAM"...) o Codierung "klassische Metriken" o Test + Testabdeckung (ganz wichtig!) Heute: Konzentration auf Code/Test 15

Phasen (2/2) Automatisierung o keine Abstriche nötig o Unterschied klassisches Modell automatisierter Prozess In einem automatisierten Prozess werden auch bei späteren Wartungsarbeiten Architektur-Metriken gemessen (Abhängigkeiten etc). Normaler Prozess: Bei späteren Wartungen wird die Architektur häufig überhaupt nicht berücksichtigt und entartet. 16

Tests aus Entwicklungssicht Entwicklung von neuen Komponenten o "Ausprobieren" des Geschriebenen notwendig o Frage: Erwarteter Wert = errechneter Wert? Debugging ist "kein klassischer Test" o Nicht wiederholbar Verwendung von Testframeworks o Implementierung von Testfällen Verwendung von zu testenden Komponenten Vergleich eines erwarteten Ergebnisses mit dem tatsächlich erhaltenen. 29.09.2008 17 SW-Qualität

Vorteile durch die Verwendung von Testframeworks Tests sind beliebig oft ohne weitere Aufwände wiederholbar. "Asserts" Annahmen über Ergebnisse im Framework Einmal aufgetretene Fehler können sich nicht wieder einschleichen. Testfälle als Anlage. 18

Messgröße - Abhängigkeiten (Fan-In, Fan-Out) Gibt Aufschluß über zentrale Komponenten, deren Änderungen weitreiche Auswirkungen haben. Änderungen an zentralen Komponenten sind häufig nur mit sehr großem Aufwand möglich. Modul 19

Messgröße - Lesbarkeit (Halstead Metrik) Gibt Aufschluß über die Lesbarkeit bzw. die Komplexität von Code und somit über den Aufwand für zukünftige Wartungen und Weiterentwicklungen. Ermöglicht ein automatisiertes 'Korrekturlesen' von Code. Basierend auf der Anzahl an unterschiedlichen Operatoren und Operanden sowie der Größe von Codestücken wird ein Komplexitätsmaß berechnet. 20

Messgröße - Testbarkeit (zyklomatische Komplexität) Gibt Aufschluß über den nötigen Test-Aufwand. Ermöglicht eine automatisiert erzeugte Aussage über die Anzahl an nötigen Testfällen. Definiert durch die Anzahl an möglichen Wegen in einem Kontrollflußgraphen des Programms 21

Messgröße - Testabdeckung (Code Coverage) Gibt Aufschluß darüber welcher Code getestet wurde oder nicht. o "Instrumentierung" Ermöglicht die Identifikation von Komponenten über deren Korrektheit keine Aussage gemacht werden kann! o Ungetesteter Code 22

Visualisierung von Metriken Daten zu SW-Artefakten o Tupel aus: Artefakt Zeitpunkt Metrik gemessener Wert Visualisierungsformen und Metaphern o Zeitreihen Vergleiche/Trends Auswirkungsanalysen o 3D Visualisierung Ansatz 'SW as a city' 23

Interne SW-Qualität / Verlauf 24

Trendentwicklung / Regression 25

Risiko- und Auswirkungsanalyse 26

3D Visualisierung Ansatz 'SW as a city' 3D Visualisierungsansatz o Darstellung von Komponenten und Sub-Komponenten. Einstiegspunkt einer Analyse Visuelle Erkennung von Problemen und deren Ausmaß. Auf Knopfdruck kann Aufschluss über die Ursache gewonnen werden. 29.09.2008 27 SW-Qualität

Wege zur kontinuierlichen Qualitätsüberwachung Definition der Ziele Auswahl der Metriken (+Tools) o Inkl. Antipatterns o Messen der Metriken KPIs definieren und zusammenstellen Build-Verfahren und Sensoren Verknüpfung der getrennt gemessenen Werte Visualisierung, Kontrolle und Steuerung 28

Vollautomatisierter Qualitätssicherungsprozess Aktuelle Sourcen Versionsverwaltung Nightly build Automatische Tests / Code-Unit-Tests Testbewertung +Testabdeckung Vermessung des Codes Qualitätsmetriken Metriken, Visualisierung 29

Zielsetzung eines automatisierten QM - Prozess Softwareentwicklung wird über alle Entwicklungsstadien über alle Abteilungen hinweg überwacht. o Unabhängig von Plattform und Technologie. o Kontinuierliche, objektive Messung. o Ausgangssituation zur Ableitung von qualitätsverbessernden Maßnahmen. 30

Gesamtheitliche Visualisierung + Kombination der Messungen Messzahlen Sensoren... Leitstand Berichte - -. =Sensor Browser, SW - Visualisierung 29.09.2008 31

Danke! Fragen gerne jederzeit: Jetzt oder später Reinhard.Prehofer@splendit.at +43-1-8903544-10 +43-650-33 555 70 Bernhard.Wachter@splendit.at +43-1-8903544-19 +43-650-6 999 666 32