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 14
1 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 GmbH
Folgende 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 GmbH
2.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 GmbH
2.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 GmbH
Fü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 GmbH
3 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 GmbH
National 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 GmbH
3.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