Messung und Bewertung der Code Qualität in Softwareprojekten Trusted Product Maintainability
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Inhalt
1 Messung und Bewertung der Code Qualität 1
1.1 Gründe für die Bewertung von Code Qualität 1
1.2 Messung der Code Qualität 2
1.3 Evaluation durch Experten 2
2 Qualitätssicherung von Source Code 3
2.1 Software Risk Assessment 3
2.2 Ablauf eines Software Risk Assessment 5
2.3 Benchmarking der Ergebnisse 6
2.4 Voraussetzungen für ein Software Risk Assessment 6
2.5 Software Risk Monitoring 6
2.6 Code Qualität und Wartbarkeit – TÜViT Trusted
Product Maintainability 7
3 Firmenprofile 9
3.1 Über TÜViT 9
3.2 Über Software Improvement Group 12
4 Ansprechpartner 141 Messung und Bewertung der Code Qualität 1.1 Gründe für die Bewertung von Code Qualität Wichtige Einflussfaktoren für spätere Wartungsaufwände werden bei einem großen Softwaresystem bereits zur Entwicklungszeit festgelegt. Neben einer wartungsfreundlichen und durchdachten Architektur bestimmt vor allem die Qualität des Code darüber, ob ein System leicht verständlich, einfach durchschaubar und damit ohne gr oße Aufwände anpassbar ist. Komplizierte Prozeduren, überlange Module, fehlende Kommentierungen oder Verstöße gegen Codingstandards erschweren dagegen den Durchblick und damit spätere Anpassungen durch das Wartungsteam. Organisationen, die Software entwickeln oder Entwicklungen in Auftrag geben und überwachen, profitieren daher von einer Erfassung der Code Qualität in ihrem Projekt. Mit einer unabhängigen Qualitätsmessung sind sie in der Lage, Projekte wirkungsvoll auf bessere Wartbarkeit hin zu steuern und negative Überraschungen bei der Code Qualität zu vermeiden. In Auswahlentscheidungen erlaubt eine Messung der Code Qualität, denjenigen Anbieter auszuwählen, der das hinsichtlich Wartbarkeit besser implementierte Produkt anbietet. Kritische Module können somit leichter identifiziert, ggf. aus dem Vertrag ausgenommen und auf diese Weise Wartungsaufwände minimiert werden. Softwareanbieter können schließlich mit einer von unabhängiger Seite bestätigten Messung der Code Qualität ihren Kunden nachweisen, dass sie hohe Qualitätsstandards nicht nur an die Funktionalität ihres Produkts anlegen, sondern auch jene inneren Werte optimieren, die entscheidend für die späteren Wartungskosten sind. Trusted Product Maintainability Seite 1 | 14 © TÜV Informationstechnik GmbH
1.2 Messung der Code Qualität Für die Messung von Code Qualität stehen in der Informatik Code Metriken zur Verfügung. Mit Software Metriken bestimmt man aus dem Source Code aussagekräftige Maßzahlen mit Hilfe eindeutiger und jederzeit wiederholbarer Berechnungsregeln, die anerkannte Qualitäts- aspekte abbilden. Vorteil solcher Maßzahlen ist, dass sie sowohl das ganze System als auch beliebige Teilsysteme bewert bar machen. Es kann somit sichergestellt werden, dass das gesamte System in eine Analyse einfließt und qualitativ schlechtere Teile der Betrachtung nicht entzogen werden. Stichprobenfehler durch Konzentration auf bestimmte Systemteile werden so vermieden. 1.3 Evaluation durch Experten Die Stärke von Code Metriken ist die eindeutige, wiederholbare Berechnung der Code Qualität von Modulen, Teil- oder Gesamtsystemen. Allerdings sind auch objektiv gemessene Metriken nur mit Anwendungserfahrung aussagekräftig einsetzbar, wenn z.B. bekannt ist, welche Werte für hohe Qualität stehen, wann niedrige Werte (noch) akzeptabel sind oder was ähnliche Projekte mit vergleichbaren Aufgabenstellungen erreicht haben. Daher wird ein Software Risk Assessment stets von erfahrenen Beratern ausgeführt, die zunächst den Projekthintergrund analysieren. Erst danach werden die Maßzahlen erhoben, interpretiert, in den Projektkontext eingeordnet, mit Branchenbenchmarks verglichen und ausführlich erläutert. Durch die methodische Kombination von Maßzahlen der Code Qualität mit den Ergebnissen der Exper tenevaluation ergibt sich ein Informationsvorteil gegenüber Beratungsansätzen, die nur auf die Expertenanalyse setzen. Trusted Product Maintainability Seite 2 | 14 © TÜV Informationstechnik GmbH
2 Qualitätssicherung von Source Code
2.1 Software Risk Assessment
Zielsetzung des Software Risk Assessments ist eine standardisierte und
objektive Bewertung der Code Qualität in Softwareprojekten. Software
Risk Assessment kombiniert die Berechnung von Code Metriken aus dem
Source Code mit einer Expertenevaluation des Projektes und des
entwickelten Codes.
Abbildung 1: Software Risk Assessment
Software Risk Assessments werden typischerweise ausgeführt, wenn ein
Projekt eine unabhängige, objektive und nachprüfbare Einschätzung der
Qualität eines Softwaresystems benötigt. Dies ist häufig dann der Fall,
wenn Entscheidungen zum Einkauf, zur weiteren Verwendung oder zur
Ablösung eines unternehmenskritischen Systems anstehen. In solchen
Situationen muss eine belastbare Analyse der technischen Qualität des
Systems vorliegen, um fundierte Entscheidungen der Systemwahl treffen
zu können.
Software Risk Assessments liefern darüber hinaus Empf ehlungen und
Hinweise, wo und wie eine Software vordringlich verbessert werden
sollte. Damit wird eine gezielte Planung und Steuerung von Entwicklungs -
oder Restrukturierungsaufwänden möglich.
Trusted Product Maintainability Seite 3 | 14
© TÜV Informationstechnik GmbHFolgende Fragestellungen zu einem Entwicklungs-, Beschaffungs- oder
Ablösungsprojekt können Anlass für ein Software Risk Assessment sein:
Wie ist die Code Qualität meines Altsystems?
Wie wartbar wird das neu entwickelte System sein, wenn es in Betrieb
ist?
Wo können Probleme mit dem System entstehen, die sich heute sc hon
absehen lassen?
Kann das von einem Lieferanten fertiggestellte System abgenommen
werden?
Sollte ein Teilsystem wegen der darin befindlichen Risiken ggf. nicht
eingesetzt werden?
Soll die bestehende Software überarbeitet werden, um sie kommenden
Anforderungen anzupassen oder soll ein neues System entwickelt
werden?
Was muss getan werden, um funktionale Überschneidungen zwischen
zwei Systemen zu beseitigen?
Wo muss angesetzt werden, um veraltete Systemteile abzulösen?
Trusted Product Maintainability Seite 4 | 14
© TÜV Informationstechnik GmbH2.2 Ablauf eines Software Risk Assessment
Ein Software Risk Assessment beginnt mit einem technischen Briefing,
bei dem Architektur, Entwicklungsstandards und die verwendete
Implementierungssprachen besprochen werden. Nach Übergabe des
Source Code an TÜViT beginnt die technische Analyse des Systems.
Abbildung 2: Ablauf eines Software Risk Assessments
Parallel zur technischen Analyse wird ein Gespräch mit dem IT -
Management durchgeführt. Ziel dieses strategischen Briefings ist es, den
Nutzungskontext, weitere Entwicklungspläne sowie die allgemeine IT-
Strategie zu erörtern.
Nach Vorliegen der Befunde aus der automatischen Code-Analyse
werden diese zunächst zusammen mit den technischen Verant wortlichen
einer Validierung unterzogen. Erst nach einer Bestätigung der Ergebnisse
werden diese weiter verwendet. Zusammen mit der Information aus dem
Briefing zur IT-Strategie entsteht ein abgerundetes Bild vom untersuchten
Softwaresystem und seiner Code-Qualität.
Die finale Ergebnispräsentation richtet sich an das Managem ent. Hier
werden noch mal alle gefundenen Fakten zusammengefasst und so
erläutert, dass auch Nicht-Experten die Bewertung eines
Softwaresystems nachvollziehen können.
Alle Ergebnisse werden in einem ausführlichen Abschlussbericht
zusammengefasst. Aufgrund der automatisierten Analyse des Source
Codes und des standardisierten Beratungsansatzes kann ein Software
Risk Assessment in der Regel innerhalb eines Kalendermonats
abgeschlossen werden.
Trusted Product Maintainability Seite 5 | 14
© TÜV Informationstechnik GmbH2.3 Benchmarking der Ergebnisse Neben der Berechnung der standardisierten Maßzahlen ergibt eine technische Analyse auch Informationen darüber, wie gut ein Softwaresystem im Kontext vergleichbarer Systeme abschneidet. Hierzu wird eine Referenzdatenbank mit Daten aus etwa 500 Softwaresystemen eingesetzt, um passende Vergleichswerte zu erhalten. Auf dieser Grundlage können differenzierte Benchmarks angeboten werden, z. B. Vergleiche im jeweiligen Branchenkontext oder Vergleiche mit anderen Projekten, die dieselbe Entwicklungsmethodik einsetzen. 2.4 Voraussetzungen für ein Software Risk Assessment Die Maßzahlen des Software Risk Assessment können für jede Entwicklungssprache und alle Arten von Entwicklungsartefakten berechnet werden. In der Analyse werden alle relevanten Dateien heutiger Entwicklungsprojekte berücksichtigt. Neben de m Source Code (d.h. Programmen, Scripts) werden Modelle (z.B. in XML -Notation), Konfigurationsdaten (z.B. SAP Customizing-Tabellen), Datenbank- abfragen und aktive Webinhalte einbezogen. Generierter Code, der manuell weiter bearbeitet wurde, sollte ebenfalls in einer Analyse berücksichtigt werden. 2.5 Software Risk Monitoring Um länger laufende Softwareprojekte effektiv in Richtung optimaler Wartbarkeit zu lenken, ist eine regelmäßige Beurteilung der Code Qualität erforderlich. Nur so kann erreicht werden, dass aufwändig entwickelter Source Code nicht nur funktionale Anforderungen erfüllt, sondern auch vereinbarte Qualitätsmaßstäbe einhält. Neben dem punktuellen Software Risk Assessment bietet TÜViT daher das Software Risk Monitoring an. Beim Software Risk Monito ring wird in vorher festgelegten Zeitabständen eine Berechnung der Code Metriken vorgenommen. Auf dieser Grundlage werden Berichte erstellt, die den Status des Entwicklungsprojekts, d.h. Umfang, Risiken und Qualität des bereits entwickelten Codes wiedergeben. Trusted Product Maintainability Seite 6 | 14 © TÜV Informationstechnik GmbH
Software Risk Monitoring kann als Controllinginstrument in einem
Entwicklungsprojekt eingesetzt werden, ohne in dessen Arbeits weise und
Organisation einzugreifen. Am Beginn wird mit dem Management
festgelegt, welche Code Metriken für das jeweilig e Projekt geeignet sind.
Die Implementierung der eigentlichen Messung wird am einfachsten über
einen lesenden Zugang zum Codeverwaltungssystem realisiert.
In der Praxis haben sich in Umfang und Tiefe abgestufte monat liche,
quartalsweise und jährliche Berichte des Software Risk Monitoring
bewährt. Die Berichte werden dem Projektmanagement regelmäßig im
Rahmen von Workshops erläutert und etwaige Schlussfolgerungen für
Qualitätsverbesserungen erarbeitet.
Neben Konsequenzen für das Entwicklungsvorgehen können dabei auch
ggf. notwendige Verfeinerungen der Messungen selbst festgelegt werden.
2.6 Code Qualität und Wartbarkeit – TÜViT Trusted Product
Maintainability
Die im Software Risk Assessment erhobenen Maßzahlen zur Code
Qualität eines Softwaresystems können im Sinne der ISO/IEC 25010 als
interne Qualitätsmetriken für Wartbarkeit aufgefasst werden. So ist z. B.
plausibel zu erwarten, dass eine hohe Maßzahl zur Systemeigenschaft
Code-Komplexität ein schlecht verständliches System identifiziert, das in
der Folge schwierig zu warten ist. Umgekehrt wird wenig komplexer Code
zu einem leicht verständlichen Gesamtsystem führen, das auch einfacher
wartbar sein wird.
Abbildung 3: Beispiel eines Zusammenhangs von Qualitätsmerkmalen
der ISO/IEC 25010 und Code-Eigenschaften
Trusted Product Maintainability Seite 7 | 14
© TÜV Informationstechnik GmbHFür die Verknüpfung zwischen Systemeigenschaften, wie z. B.
Code-Komplexität,
Code-Größe und -Duplizierung,
Modularität und Kopplung zwischen einzelnen Modulen
Unabhängigkeit der Module
und den Teilaspekten der Wartbarkeit gemäß ISO/IEC 25010
Analysierbarkeit,
Änderbarkeit,
Testbarkeit,
Modularität und
Wiederverwendbarkeit
wird eine Bewertungsmatrix eingesetzt. Diese erlaubt über Gewichtungen
der einzelnen Maßzahlen aus der Code-Analyse eine Abschätzung der
internen Qualitätsgröße Wartbarkeit eines Softwaresystems.
Auf der Grundlage dieser Methodik der Messung der System eigen-
schaften bietet TÜViT eine Zertifizierung der Code Qualität in Bezug au f
Wartbarkeit von Softwaresystemen gemäß den o. g. Teilaspekten der
ISO/IEC 25010 an.
Abbildung 4: Musterprüfzeichen Trusted Product Maintainability
Die Zertifizierungsstelle der TÜViT stellt für ein Softwaresystem das
Zertifikat TÜViT Trusted Product Maintainability aus, wenn die Code
Qualität sowohl in allen vier Wartbarkeits-Teilaspekten der ISO/IEC
25010 als auch in Summe einen Mindestwert überschreitet. Zusätzlich
muss die Architektur des Softwaresystems für die Wartbarke it geeignet
dokumentiert sein.
Trusted Product Maintainability Seite 8 | 14
© TÜV Informationstechnik GmbH3 Firmenprofile
TÜViT bietet das Software Risk Assessment als Dienstleistung für
Softwareprojekte in Zusammenarbeit mit der niederländischen Software
Improvement Group (SIG) an.
3.1 Über TÜViT
Die TÜV Informationstechnik GmbH - kurz TÜViT - mit Sitz in Essen ist
einer der führenden Prüfdienstleister für IT-Sicherheit und IT-Qualität. Wir
unterstützen Hersteller, Betreiber und Anwender von IT-Systemen, IT-
Produkten sowie IT-Infrastrukturen durch Prüfung und Zertifizierung, ihre
Unternehmenswerte zu bewahren.
Unsere Experten im Bereich der IT-Sicherheit konzentrieren sich auf
Themen wie Common Criteria Evaluationen, Cyber Security, Mobile
Security, Industrial Security, Penetrationstests, Bewertung von
Informationssicherheits-Managementsystemen nach ISO/IEC 27001 sowie
Datenschutz-Audits. Ein weiterer Aspekt ist die Prüfung und Zertifizierung
von Rechenzentren hinsichtlich ihrer physischen Sicherheit und
Hochverfügbarkeit.
Im Bereich der IT-Qualität koordiniert TÜViT anhand anerkannter
Standards das Projekt-, Qualitäts- und Risikomanagement, um unsere
Kunden beim Erreichen wichtiger Unternehmensziele zu unterstützen.
Unsere Dienstleistungen werden stets nach dem Stand der Technik
ausgeführt und erfüllen höchste Sicherheits- und Qualitätsansprüche.
Zahlreiche Akkreditierungen und Zertifizierungen durch nationale und
internationale Organisationen und Behörden weisen unsere Kompetenzen
auf dem Gebiet der IT-Sicherheit und IT-Qualität nach.
Bundesamt für Sicherheit in der Informationstechnik
Anerkennung nach DIN EN ISO/IEC 17025:2005 für Prüfungen nach
ITSEC/ITSEM/CC/CEM sowie BSI-TR 03121-1, BSI-TR 03121-3,
BSI-TR 03132, BSI TR-03104 und BSI TR-03105 Teil 3 und Teil 5
IT-Sicherheitsdienstleister für den festgelegten Anwendungs bereich
IS-Revision und IS-Beratung und Penetrationstests
Trusted Product Maintainability Seite 9 | 14
© TÜV Informationstechnik GmbH Lizenzierte Auditoren für IT-Grundschutz und ISO/IEC 27001
Lizenzierte Auditoren für De-Mail
Deutsche Akkreditierungsstelle
Prüflabor für IT-Qualität: Kompetenz für Prüfungen in den Bereichen
IT-Ergonomie und IT-Sicherheit, akkreditiert nach DIN EN ISO/IEC
17025:2005
Prüfstelle IT-Sicherheit: Akkreditierung für Prüfungen nach
ITSEC/ITSEM/CC/ISO 15408/CEM
Prüfstelle IT-Ergonomie: Akkreditierung für Evaluationen nach
DIN EN ISO 9241-110, DIN EN ISO 9241-11, DIN ISO/IEC 25051,
DIN EN ISO 13407 und ISO 9241-210
Zertifizierungsstelle: Kompetenz für Zertifizierungen von Produkten in
dem Bereich IT-Sicherheit, akkreditiert nach DIN EN 45011
Bundesnetzagentur
Bestätigungsstelle nach SigG/SigV für die Bestätigung von Pr odukten
für qualifizierte elektronische Signaturen
Bestätigungsstelle nach SigG/SigV für die Bestätigung der Umsetzung
von Sicherheitskonzepten für Zertifizierungsdiensteanbieter
Die Deutsche Kreditwirtschaft
Gelistete Prüfstelle für elektronischen Zahlungsverkehr
Unabhängiges Landeszentrum für Datenschutz Schleswig -Holstein
Sachverständige Prüfstelle für IT-Produkte (rechtlich/technisch)
EuroPriSe Gutachter (rechtlich/technisch)
Information-technology Promotion Agency, Japan
Prüfstelle IT-Sicherheit: Akkreditierung für Prüfungen nach CC/CEM
National Institute of Technology and Evaluation, Japan
Prüfstelle IT-Sicherheit: Akkreditierung nach DIN EN ISO/IEC 17025 in
dem Bereich der IT / Common Criteria Evaluationen (Lab Code:
ASNITE0019T)
Trusted Product Maintainability Seite 10 | 14
© TÜV Informationstechnik GmbHNational Institute of Standards and Technology
National Voluntary Laboratory Accreditation Program, USA
Prüfstelle IT-Sicherheit (NVLAP Lab Code: 200636-0) für
Cryptographic Module Testing (Scopes 17BCS, 17CAV/01,
17CMH1/01, 17CMH1/02, 17CMH2/01, 17CMH2/02, 17CMS1/01,
17CMS1/02, 17CMS2/01, 17CMS2/02) und Biometrics Testing
Europay, MasterCard and Visa, USA/Großbritannien/Japan
Full Service Laboratory für Prüfungen von ICs und Chipkarten nach
EMVCo Sicherheitsrichtlinien
Modular Label Auditor
Visa, USA
Test House zur Durchführung von Visa Chip Product
Sicherheitsevaluationen
MasterCard, Großbritannien
Akkreditiert zur Durchführung von CAST (Compliance Assessment and
Security Testing) Evaluationen
Betaalvereniging Nederland, Niederlande
Evaluation Laboratory
In nationalen und internationalen Forschungsprojekten und Gremien
gestaltet TÜViT den Stand der Technik aktiv mit.
TÜViT betreibt selbst ein wirksames Qualitätsmanagementsystem und
Umweltmanagement, welche nach ISO 9001:2008 bzw.
ISO 14001:2004 zertifiziert sind und erfüllt somit die hohen Ansprüche
und Erwartungen ihrer Kunden.
TÜViT gehört zur TÜV NORD GROUP mit Hauptsitz in Hannover. TÜV
NORD beschäftigt über 10.000 Mitarbeiter weltweit und ist neben dem
nationalen Markt in 70 Staaten Europas, Asiens und Amerikas vertreten.
Während der 140-jährigen TÜV-Tradition hat TÜV NORD technische
Tests und Prüfungen in zahlreichen Bereichen durchgeführt und
entwickelt. Die TÜV NORD GROUP ist nach ihren Grundsätzen
verpflichtet, ihre Dienstleistungen unabhängig sowie neutral anzubieten
und durchzuführen.
Trusted Product Maintainability Seite 11 | 14
© TÜV Informationstechnik GmbH3.2 Über Software Improvement Group Die Software Improvement Group (SIG) versteht sich als Centre of Excellence für Software Engineering. Zielsetzung der SIG ist es, in Softwareprojekten Qualitätsverbesserung, Komplexitätsreduzierung und Reengineering zu erreichen, indem dem Management von IT-Projekten Einsicht in die Qualität seines Softwareprodukts vermittelt und Kontrolle über den Projektverlauf ermöglicht wird. SIG beschäftigt derzeit etwa 90 hoch qualifizierte Mitarbeiter an den Standorten Amsterdam, Copenhagen, Frankfurt, Athene und Bern. SIG ist ein Spin-Off der Abteilung für Software Engineering des Niederländischen Instituts für Mathematik und Informatik (CWI). Das CWI hat über 50 Jahre Erfahrung in der Entwick lung innovativer Hard- und Software. Während der letzten 15 Jahre wurde gezielt mit Partnern aus Wissenschaft und Industrie zusammengearbeitet, um große und heterogene Softwaresysteme handhabbarer und durchschaubarer zu machen. Das Ergebnis dieser Arbeit ist die Generic Language Technology, eine Suite leistungsfähiger Analysetools kombiniert mit passenden Beratungsansätzen zur Unterstützung großer Softwareprojekte. SIG legt Wert auf Unabhängigkeit und übernimmt daher keine Aufträge, die sich direkt mit der Entwicklung, Wartung, Aktualisierung oder Verbesserung von Systemen beschäftigen. SIG führt keine formellen Partnerschaften mit Softwarehäusern oder Anbietern von Softwarepaketen. Ausgewählte Referenzen der SIG: Banken und Versicherungen ING Rabobank International Allianz AG Achmea Interamerican Greece Nykredit Trusted Product Maintainability Seite 12 | 14 © TÜV Informationstechnik GmbH
Behörden Niederländische und Dänisch Polizei Niederländische und Dänisch Steuerbehörde Innenministerium der Niederlande Finanzministerium der Niederlande Justizministerium der Niederlande Region Hovedstaden (Dänemark) Justiz NRW Dutch Ministry of Infrastructure and the Environment Logistik KLM DHL PostNL Port of Rotterdam Alphabet International (A BMW Group Division) ProRail; Der Niederländische Anbieter von Eisenbahninfrastruktur Dienstprogramme RIPE NCC Alcatel Lucent GasTerra KPN Electrabel Trusted Product Maintainability Seite 13 | 14 © TÜV Informationstechnik GmbH
4 Ansprechpartner Dipl.-Psych. Robert Baggen IT Quality Senior Consultant TÜV Informationstechnik GmbH TÜV NORD GROUP Langemarckstraße 20 45141 Essen Tel.: +49 201 8999-435 Fax: +49 201 8999-544 r.baggen@tuvit.de www.tuvit.de Version: 1.9 Trusted Product Maintainability Seite 14 | 14 © TÜV Informationstechnik GmbH
Sie können auch lesen