Software-Qualität sichtbar machen

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Software-Qualität sichtbar machen"

Transkript

1 Software-Qualität sichtbar machen Prof. Dr. Claus Lewerentz BTU Cottbus Vortrag im Rahmen des Berlin-Brandenburger Software-Forums Zeit: 28. April 2003,18.30 Uhr Ort: Fraunhofer FIRST Berlin

2 Software Qualität Software-Produkt Nutzer Entwickler Externe Qualität Interne Qualität Benutzbarkeit Fehlerfreiheit erfüllt Aufgaben gut wartbar verständlich gut strukturiert Anforderungsanalyse Testen... Reviews Metrikbasierte Qualitätsanalyse

3 Typische Szenarien Software-Systeme 10 2 Subsysteme Klassen 10 6 LOC Probleme... Wie können (neue) Entwickler ein System verstehen? Systemüberblick? Wie wartbar ist ein System? Wie können qualitätskritische Teile identifiziert werden? Gibt es einen Qualitätstrend?...diese Informationen in sehr kurzer Zeit beschaffen? Unterstützung für Reverse Engineering, Reengineering Vorbereitung von Reviews Qualitätsanalyse Lange Lebensdauer

4 Produkt-Analyse und Visualisierung Metapher aus der Medizin: Tomography... Unsichtbare Dinge sichtbar machen...? Therapie Diagnose

5 Software-Tomographie Daten-Extraktion, Visualisierung, Interpretation Analyse- und Visualisierungswerkzeuge IDE/C ASE interactio n Ar chitect ure scope Parser Query scope CASE- Information scope Tool extractor s Reposi- (RDB) System Metrics scope Runtime data Graph visualizer Query developer Analysemodell re-engineering Programm-Analyse IDE CM- tory Xref-

6 Beispiel eines Qualitätsmodells Qualitätsziel Faktor Entwurfsprinzip Entwurfsregel Metrik (Zielwert) Modularität Schmale Schnittstellen #Parameter pro Methode (min) Kopplung #Referenzen (min) CBO (min) Strukturiertheit Subsysteme #Referenzen über Paketgrenzen (min Kohäsion #Aufrufe (min) Wartbarkeit Realisieren Abstraktion Prüfen Abstrakte Schnittstellen LCOM (min) Verständlichkeit Einfachheit Kapselung #öffentliche Methoden (min) Vererbung Klassenkomplexität Methodenkomplexität Verbindungskomplexität Tiefe des Vererbungsgraphen (T) Breite des Vererbungsgraphen (T) Referenzen zu abstr. Klassen (max) zyklomatische Komplexität (min) WMC (T) LOC pro Methode (T)

7 Beispiel eines Produktmodells system 1..1 subsystem name : string Subsystemschachtelung 1..n subclass superclass file name : string 1..1 class name : string abstract : bool Vererbungsstruktur Klassenschachtelung method name : string visibility : int length : int abstract : bool virtual : bool read/write called calling Aufrufgraph Benutzt -Graph attribute name : string visibility : int

8 Betrachtungsebenen Paketebene Eingehende Aufrufkopplung zwischen Paketen Ausgehende Aufrufkopplung zwischen Paketen Anzahl Klassen Klassenebene Anzahl öffentlicher Methoden Anzahl öffentlicher Attribute Tiefe im Vererbungsbaum LCOM (lack of cohesion in methods) Anzahl direkt geerbter Methoden Attributenebene Methodenebene NoGetSet McCabe

9 Aufruf Vererbung Attributzugriff Größe opplung ohäsion odeeigenchaften Interessante SW-Maße Anzahl Klassen pro Paket Anzahl Methoden/Attribute pro Klasse Anzahl Parameter pro Methode Anzahl der genutzten Komponenten Anzahl der nutzenden Komponenten Anzahl gemeinsam genutzter Komponenten Pakete Klassen Methoden Anzahl Quellcodezeilen (LOC) Zyklomatische Komplexität Kommentaranteil

10 Qualitätseindruck: Paketstruktur Interne Software Qualität Strukturiertheit Gruppierung von Klassen in Subsystemen Anzahl von Klassen pro Subsystem (sollte überschaubar sein) de/jwamx/technology/iafpf/swingpf de/jwamalpha/handling/processfolder/tool 8 Frequenz Anzahl Klassen pro Subsystem

11 Qualitätseindruck: Paketkopplung Interne Software Qualität Wartbarkeit Kopplung Anzahl genutzter Pakete (sollte klein sein) : de/jwamx/handling/desktop 60: de/jwamalpha/handling/collection Frequenz Anzahl Pakete, von denen ein Fokuspaket etwas nutzt

12 Visualisierung komplexer Strukturen Formen Farben Größe Kanten mit verschiedenen Farbübergängen Layout (ähnliche Objekte räumlich nah) - Objekttypen (Paket, Klasse) - Eigenschaften (Messwerte) - Beziehungen zwischen Objekten (Vererbung, Aufruf, Benutzt) und deren Richtungen - Ähnlichkeit von Objekten (bzgl. Beziehungen mit anderen Objekten)

13 Beispiele für 3D-Modelle

14 arstellung der ufrufstrukturen ischen Klassen

15 Anwendungen Programmverstehen reverse engineering, re-engineering Industrieprojekte Vorbereitung von Reviews Unterstützung von Aktivitäten zur Reorganisation Produktqualitätsbewertung Trendanalyse KLOC C++, JAVA Code PARION data experts

16 Parser SNiFF+ CASE- Tool CM- System Runtime data Analyse-Umgebung sotograph IDE/CASE interaction Query developer Architecture scope Nmnds Dsjdhskj Mdnsmd# dnmsd Nmnds Dsjdhskj Mdnsmd# dnmsd Query scope Information Extractors (XML streams) Repository (RDB) Xrefscope Graph visualizer transformation engine Nmnds Dsjdhskj Mdnsmd# dnmsd Metrics scope

17 Metrikbasierter Reviewprozess Rückkopplung Produktdaten + quantitative Daten, Ziele Vorbereitung Ausführung + gefundene Anomalien Reflexion dokumentiert in dokumentiert in Beispiel JWAM 1.4: BERICHT 220 KLOC Java 1159 Klassen Zum Kunden

18 Diagnosen und Empfehlungen Zwei Beispiele aus JWAM 1.4 Bericht Lines of Code: Die Datei HtmlStandardWriter scheint zu groß (1277 LOC) Zustimmung Neuigkeit Anzahl öffentlicher Attribute: Die Klasse ConfigurationStandard enthält 18 öffentliche Attributes. Diese werden nur innerhalb der Methoden der Klasse verwendet. Ihre Sichtbarkeit sollte daher auf private oder protected beschränkt werden. Das selbe gilt für die Klasse ClassUseMapper. Zustimmung Neuigkeit + 0 -

19 Evaluation der Analyse-Ergebnisse JWAM 1.4: 27 Diagnosen 28 Empfehlungen strong accept (++) weak accept(+) Indifferent (0) weak reject (-) strong reject (--) die kritischsten Probleme wurden JWAM 1.5 behoben JWAM 1.5: 36 Diagnosen 32 Empfehlungen

20 Zusammenfassung Software-Tomographie = Explizitmachen von Qualitätseindrücken mit dem Ziel Reengineering-Aktivitäten zu fokussieren Softwarequalität kann unter externen und internen Aspekten betrachtet werden Die objektive Messung von interner Qualität führt über Ein Qualitätsmodell Automatische Erfassung des Messwerte entspr. Metriken Interpretation der Messwerte im Hinblick auf die ursprünglichen Anforderungen Anwendung: Metrikbasierter Reviewprozess anwendbar bei großen SW-Systemen ( LOC) Liefert schnell einen Überblick, Eindruck von Struktur des Systems Generiert Fragen hinsichtlich der Qualitätsanforderungen BERICHT

21 ViSEK ist für Sie da! Ausführliche Informationen zum Thema Messen im Software-Engineering befinden sich im Portal Einstieg: SE-Themen/Qualität

Measurement-based Product Analysis

Measurement-based Product Analysis Measurement-based Product Analysis real world empirical relational system formal relational system? model validate cognition barrier measure 126, 21 254, 13 97, 20 412, 17 > transformation calculation

Mehr

Inhalt. Fragestellungen. ...we make the invisible visible... Analysen und deren Anwendung Erfahrungen

Inhalt. Fragestellungen. ...we make the invisible visible... Analysen und deren Anwendung Erfahrungen ...we make the invisible visible... 1 Inhalt Fragestellungen Analysen und deren Anwendung Erfahrungen 2 Projektleiter Hat unsere Software eine klare, verständliche Struktur? Gibt es problematischen Code,

Mehr

...we make the invisible visible...

...we make the invisible visible... ...we make the invisible visible... 1 Inhalt Qualitätsbegriff Fragestellungen im Zusammenhang mit innerer Softwarequalität Analysen und deren Anwendung Erfahrungen 2 Ausfallsicherheit Datensicherheit Zuverlässigkeit

Mehr

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

Software-Metriken. Wolfgang Globke. Seminar Moderne Softwareentwicklung SS 2005. Software-Metriken. Wolfgang Globke. Metriken und Qualitätsmodelle Software- und smodelle Software- Klassische Objektorientierte Seminar Moderne Softwareentwicklung SS 2005 Gliederung Software- und smodelle 1 und smodelle Klassische Objektorientierte 2 Klassische Objektorientierte

Mehr

Anpaßbare, explorierbare virtuelle Informationsräume zur Qualitätsbewertung großer Softwaresysteme

Anpaßbare, explorierbare virtuelle Informationsräume zur Qualitätsbewertung großer Softwaresysteme Anpaßbare, eplorierbare virtuelle Informationsräume ur Qualitätsbewertung großer Softwaressteme - Erste Erfahrungen - Claus Lewerent, Frank Simon, Frank Steinbrückner Lehrstuhl Software- Sstemtechnik an

Mehr

Verwendung von OO-Metriken zur Vorhersage

Verwendung von OO-Metriken zur Vorhersage Verwendung von OO-Metriken zur Vorhersage Tobias Angermayr Übersicht 1. Definitionen 2. Gründe, Anforderungen, Ziele 3. Die CK-Metriken 4. Beobachtungen 5. Studie 6. Zusammenfassung Folie 2 Definitionen

Mehr

Software-Metriken. Dipl.-Ing.(BA) Henning Sievert <email@henningsievert.de> Seminar Software-Entwurf WS 2004/05

Software-Metriken. Dipl.-Ing.(BA) Henning Sievert <email@henningsievert.de> Seminar Software-Entwurf WS 2004/05 Software-Metriken Dipl.-Ing.(BA) Henning Sievert Seminar Software-Entwurf WS 2004/05 Gliederung Einordnung in den Seminar-Kontext Grundlegende Definitionen Klassifikation von

Mehr

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

Werkzeugunterstützte Betrachtungen von Software-Qualität und -Architekturen ...we make the invisible visible... Werkzeugunterstützte Betrachtungen von Software-Qualität und -Architekturen 1 Inhalt Qualitätsbegriff und Qualitätsmodelle Abstraktion Analysen und deren Anwendung Erfahrungen

Mehr

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur

Mehr

Umsichtig planen, robust bauen

Umsichtig planen, robust bauen Umsichtig planen, robust bauen iks Thementag Mehr Softwarequalität Best practices für alle Entwicklungsphasen 19.06.2012 Autor: Christoph Schmidt-Casdorff Agenda Softwarearchitektur Architekturkonformität

Mehr

Langlebige Softwarearchitekturen

Langlebige Softwarearchitekturen Langlebige Softwarearchitekturen Dr. Carola Lilienthal Carola.Lilienthal@wps.de www.wps.de //// Hans-Henny-Jahnn-Weg 29 //// 22085 HAMBURG Die zwei Architekturziele für diesen Vortrag Architekturziel 1:

Mehr

Software Architektur sehen

Software Architektur sehen Software Architektur sehen Visualisierungvon Softwarestrukturen und ihrer Entwicklung Prof. Dr. Claus Lewerentz Brandenburgische Technische Universität Cottbus Software Systemtechnik 1 Technische Architektur

Mehr

Probeklausur. Lenz Belzner. January 26, 2015. Lenz Belzner Probeklausur January 26, 2015 1 / 16

Probeklausur. Lenz Belzner. January 26, 2015. Lenz Belzner Probeklausur January 26, 2015 1 / 16 Probeklausur Lenz Belzner January 26, 2015 Lenz Belzner Probeklausur January 26, 2015 1 / 16 Definieren Sie Software Engineering in Abgrenzung zu Individual Programming. Ingenieursdisziplin professionelle

Mehr

Statische Code-Analyse: Software-Metriken Fernstudium Master Wirtschaftsinformatik Formale Methoden

Statische Code-Analyse: Software-Metriken Fernstudium Master Wirtschaftsinformatik Formale Methoden Statische Code-Analyse: Software-Metriken Fernstudium Master Wirtschaftsinformatik Formale Methoden Isabell Füll Grömmsche Koppel 15 24111 Kiel isabell.fuell@googlemail.com Amselweg 3 24222 Schwentinental

Mehr

Softwaremetriken. 15. Mai 2013

Softwaremetriken. 15. Mai 2013 Softwaremetriken 15. Mai 2013 Was sind Softwaremetriken? Softwaremetriken messen Qualität. besser: Softwaremetriken definieren, wie Kenngrößen der Software oder des Softwareentwicklungsprozesses gemessen

Mehr

Werkzeuggestützte Softwareprüfungen Statische Analyse und Metriken

Werkzeuggestützte Softwareprüfungen Statische Analyse und Metriken Werkzeuggestützte Softwareprüfungen Statische Analyse und Metriken Dennis Hardt 21.06.2006 Gliederung Statische Analyse Definition, Arbeitsweise, Werkzeuge Angewandt auf ein Projekt Statische Analyse selbst

Mehr

Qualitätsmanagement im Projekt

Qualitätsmanagement im Projekt Software-Engineering Qualitätsmanagement im Projekt Vorlesung im Wintersemester 2008/2009 Fakultät Wirtschaftsinformatik Klaus Mairon, M.Sc. Inhalte Messen und Bewerten: Metriken in der Qualitätssicherung

Mehr

7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure

7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure 7. Objektorientierte Softwareentwicklung/3 Informatik II für Verkehrsingenieure Überblick FOLGENDE BEGRIFFE/PRINZIPIEN SOLLTEN BEKANNT SEIN Objekte Klasse Attribute Fähigkeiten ZIEL DER HEUTIGEN LEHRVERANSTALTUNG

Mehr

tssoftware made in Germany Systeme

tssoftware made in Germany Systeme Qualitätssoftware tssoftware made in Germany Claus Lewerentz Lehrstuhl Software-Systemtechnik BTU Cottbus Software-intensive Systeme Software ist überall Integraler Bestandteil von Geräten / technischen

Mehr

Inhalt. 1 Einleitung 1. 2 Grundkonzepte 11. 3 Erfahrungen systematisch nutzen 39

Inhalt. 1 Einleitung 1. 2 Grundkonzepte 11. 3 Erfahrungen systematisch nutzen 39 xi 1 Einleitung 1 1.1 Softwarequalität betrifft viele................................ 1 1.2 Für wen dieses Buch gemacht ist.............................. 1 1.3 Was Sie von diesem Buch erwarten können......................

Mehr

Verwendung von Anforderungsbasierten Verfolgbarkeitsmetriken im Projektmanagement

Verwendung von Anforderungsbasierten Verfolgbarkeitsmetriken im Projektmanagement Verwendung von Anforderungsbasierten Verfolgbarkeitsmetriken im Projektmanagement Michael Eisenbarth Abteilung Requirements- und Usability-Engineering Fraunhofer-Institut für Experimentelles Software Engineering

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 8 10. Dezember 2002 www4.in.tum.de/~rumpe/se

Mehr

SE2-6. Übung Johannes Bürdek

SE2-6. Übung Johannes Bürdek SE2-6. Übung 11.12.2014 Johannes Bürdek johannes.buerdek@es.tu-darmstadt.de Fragen und Support: se2@es.tu-darmstadt.de oder ins Forum: https://moodle.tu-darmstadt.de/mod/forum/view.php?id=56674 ES Real-Time

Mehr

Softwaremetriken. 29. April 2015

Softwaremetriken. 29. April 2015 Softwaremetriken 29. April 2015 Was sind Softwaremetriken? [FP] Softwaremetriken messen Qualität. besser: Softwaremetriken definieren, wie Kenngrößen der Software oder des Softwareentwicklungsprozesses

Mehr

Softwaremetriken verstehen und nutzen

Softwaremetriken verstehen und nutzen Softwaremetriken verstehen und nutzen Manuel Pichler http://manuel-pichler.de PHP Unconference Hamburg 12. September 2009 Über mich Manuel Pichler Total stolzer Papa Jahrgang 1978 Diplom Informatiker Softwarearchitekt

Mehr

Comparison of Software Products using Software Engineering Metrics

Comparison of Software Products using Software Engineering Metrics Comparison of Software Products using Software Engineering Metrics Alexander Bätz Fakultät EIM Universität Paderborn 23. Juli 2009 1 / 28 Motivation Qualitätsbewertung von Software Vergleichbarkeit von

Mehr

Softwaretechnik (Allgemeine Informatik) Überblick

Softwaretechnik (Allgemeine Informatik) Überblick Softwaretechnik (Allgemeine Informatik) Überblick 1 Einführung und Überblick 2 Abstraktion 3 Objektorientiertes Vorgehensmodell 4 Methoden der Anforderungs- und Problembereichsanalyse 5 UML-Diagramme 6

Mehr

Software Engineering in der Praxis

Software Engineering in der Praxis Software Engineering in der Praxis Praktische Übungen Adersberger, Spisländer FAU Erlangen-Nürnberg Software-Metriken 1 / 26 Software-Metriken Josef Adersberger Marc Spisländer Lehrstuhl für Software Engineering

Mehr

Metriken für den Objektorientierten Entwurf. Alexander Ostrovsky

Metriken für den Objektorientierten Entwurf. Alexander Ostrovsky Metriken für den Objektorientierten Entwurf Alexander Ostrovsky ostrovsk@in.tum.de Gliederung Grundlagen Objektorientierter Entwurf Metriken für den objektorientierten Entwurf Packagemetriken Goal-Qustion-Metric-Ansatz

Mehr

Inhalt Software-Metriken Software-Metriken mit Together FindBugs. Software-Metriken. Raimar Lill Matthias Meitner David Föhrweiser Marc Spisländer

Inhalt Software-Metriken Software-Metriken mit Together FindBugs. Software-Metriken. Raimar Lill Matthias Meitner David Föhrweiser Marc Spisländer Lill, Meitner, Föhrweiser, Spisländer FAU Erlangen-Nürnberg Software-Metriken 1 / 24 Software-Metriken Raimar Lill Matthias Meitner David Föhrweiser Marc Spisländer Lehrstuhl für Software Engineering Friedrich-Alexander-Universität

Mehr

Reengineering und Refactoring von Softwarearchitekturen

Reengineering und Refactoring von Softwarearchitekturen Methodische und Praktische Grundlagen der Informatik 3 Reengineering und Refactoring von Softwarearchitekturen Steffen Helke Technische Universität Berlin Fachgebiet Softwaretechnik WS 2008/2009 Lernziele?

Mehr

Software Tests (2) Quellcode Reviews

Software Tests (2) Quellcode Reviews Software Tests (2) Quellcode Reviews Was ist? Was ist Testen? G. J. Myers, 79: "Testen ist der Prozess, ein Programm mit der Absicht auszuführen, Fehler zu finden. Hetzel 83: "Messung der Softwarequalität"

Mehr

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

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java Objektorientierte Programmierung mit Java Eine praxisnahe Einführung mit BlueJ Klassenentwurf Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? 1.0 Zentrale Konzepte

Mehr

Evaluation of Database Design and Reverse Engineering Tools for a Large Software System

Evaluation of Database Design and Reverse Engineering Tools for a Large Software System Evaluation of Database Design and Reverse Engineering Tools for a Large Software System Anne Thomas TU Dresden Dr. B. Demuth Pre Press GmbH (Dresden) T. Reuter Gliederung Einleitung Vorgehensweise Kontext

Mehr

Architektur und Qualität. Tjard Köbberling

Architektur und Qualität. Tjard Köbberling Architektur und Qualität Tjard Köbberling Gliederung Überblick Architektur und Qualität? Architekturentwurf Anforderungsanalyse Strukturierung Architekturbeschreibungen - Sichten Fallbeispiel 2 Architektur

Mehr

Bewertung von Software- Architekturen. Dipl.-Ing. Mahbouba Gharbi @email: m.gharbi@itech-progress.com

Bewertung von Software- Architekturen. Dipl.-Ing. Mahbouba Gharbi @email: m.gharbi@itech-progress.com Bewertung von Software- Architekturen Dipl.-Ing. Mahbouba Gharbi @email: m.gharbi@itech-progress.com ITech Progress GmbH 2012 Agenda Motivation Bewertung von Software-Architekturen Qualitative Bewertung

Mehr

...we make the invisible visible... Qualitätsanalyse, Code Comprehension und Reengineering

...we make the invisible visible... Qualitätsanalyse, Code Comprehension und Reengineering ...we make the invisible visible... Qualitätsanalyse, Code Comprehension und Reengineering 1 Statische Software Analyse From Wikipedia, the free encyclopedia Static analysis is the analysis of computer

Mehr

Software Engineering II

Software Engineering II Software Engineering II Codegenerierung für den SmartIO Editor mit der Modeling Workflow Engine Wintersemester 10/111 Fachgebiet Software Engineering Albert Zündorf / Wiederholung Bisher im Laufe des Semesters

Mehr

Was bringt TDD wirklich?

Was bringt TDD wirklich? Was bringt TDD wirklich? Wissensspritze vom 6..2009, Christian Federspiel Catalysts GmbH McCabe Metrik CCN Die Cyclomatic Complexity Number, misst die Anzahl der möglichen Pfade durch einen Code. Die Metrik

Mehr

Softwaremetriken verstehen und nutzen

Softwaremetriken verstehen und nutzen Softwaremetriken verstehen und nutzen Kore Nordmann , Manuel Pichler 17. November 2009 Über uns Kore Nordmann Langzeit PHP Entwickler Speaker auf diversen

Mehr

Sprachübergreifendes, abstraktes Metamodell zur Qualitätsanalyse und Qualitätsverbesserung von OO Systemen

Sprachübergreifendes, abstraktes Metamodell zur Qualitätsanalyse und Qualitätsverbesserung von OO Systemen Peter Szulman szulman@fzi.de Mircea Trifu mtrifu@fzi.de Sprachübergreifendes, abstraktes zur Qualitätsanalyse und Qualitätsverbesserung von OO Systemen 7 th Workshop Software Reengineering Bad Honnef,

Mehr

Software Engineering. 13. Automatische Code Analyse. Franz-Josef Elmer, Universität Basel, WS 2005/06

Software Engineering. 13. Automatische Code Analyse. Franz-Josef Elmer, Universität Basel, WS 2005/06 Software Engineering 13. Automatische Code Analyse Franz-Josef Elmer, Universität Basel, WS 2005/06 Software Engineering: 13. Automatische Code Analyse 2 Code Analyse: Manuell versus Automatisch Manuelle

Mehr

Softwarequalität: Einführung. 15. April 2015

Softwarequalität: Einführung. 15. April 2015 Softwarequalität: Einführung 15. April 2015 Überblick Warum ist Softwarequalität wichtig? Was ist Softwarequalität? Wie erreicht man Softwarequalität? Taentzer Softwarequalität 2015 8 Berühmte Software-Fehler

Mehr

Software - Testung ETIS SS05

Software - Testung ETIS SS05 Software - Testung ETIS SS05 Gliederung Motivation Was ist gute Software? Vorurteile gegenüber Testen Testen (Guidelines + Prinzipien) Testarten Unit Tests Automatisierte Tests Anforderungen an Testframeworks

Mehr

Erweiterbare Architekturen

Erweiterbare Architekturen 1 Florian Deißenböck Erweiterbare Architekturen 23. September 2005 Architektenworkshop 2 Gliederung Hintergrund Persönliches, Software-Qualität, Wartbarkeit ConQATs Architektur Entwurf, Prototypen, Konfiguration

Mehr

Statische Programmanalysen zur Unterstützung des Architekten. Marcel Bennicke BTU Cottbus & Fraunhofer FIRST/SWQlab Cottbus

Statische Programmanalysen zur Unterstützung des Architekten. Marcel Bennicke BTU Cottbus & Fraunhofer FIRST/SWQlab Cottbus Software Architekturen analysieren Statische Programmanalysen zur Unterstützung des Architekten Marcel Bennicke BTU Cottbus & Fraunhofer FIRST/SWQlab Cottbus 15.04.2004, M. Bennicke Berlin-Brandenburger

Mehr

Inhaltsverzeichnis. Vorwort...XIII. Aufbau des Buches...

Inhaltsverzeichnis. Vorwort...XIII. Aufbau des Buches... Inhaltsverzeichnis Vorwort...XIII Aufbau des Buches............................................... XV 1 Von der Idee zur Software..................................... 1 1.1 Beispielanwendung... 1 1.2 Schritte

Mehr

Software-Metriken. B. Sc. Michael Thomas. Seminar Software-Entwurf WS 2004/05. <thomas@thi.uni-hannover.de>

Software-Metriken. B. Sc. Michael Thomas. Seminar Software-Entwurf WS 2004/05. <thomas@thi.uni-hannover.de> Software-Metriken B. Sc. Michael Thomas Seminar Software-Entwurf WS 2004/05 Gliederung Einführung Traditionelle Metriken / Grundeinheiten Lines of Code Zyklomatische Komplexität

Mehr

Software-Metriken: Purismus vs. Pragmatismus

Software-Metriken: Purismus vs. Pragmatismus Software-Metriken: Purismus vs. Pragmatismus Web DevCon Manuel Pichler 17.10.2011 Software-Metriken: Purismus vs. Pragmatismus 1 / 42 Über mich Diplominformatiker Mehr als 10 Jahre Erfahrung im Web-Umfeld

Mehr

Kontinuierliche Architekturanalyse. in 3D

Kontinuierliche Architekturanalyse. in 3D Kontinuierliche Architekturanalyse in 3D Stefan Rinderle Bachelor an der HS Karlsruhe Master "Software Engineering" in München / Augsburg Seit 2013 bei Payback 2 Software-Visualisierung Visualisierung

Mehr

Java für C++ Programmierer

Java für C++ Programmierer Java für C++ Programmierer Alexander Bernauer bernauer@inf.ethz.ch Einführung in die Übungen zu Informatik II (D ITET) FS2010 ETH Zürich Ziel Allgemeiner Überblick Kennenlernen der Suchbegriffe Warum Java?

Mehr

Programmverstehen 1: Der erste Kontakt mit dem System. Dr. Thorsten Arendt Marburg, 27. November 2014

Programmverstehen 1: Der erste Kontakt mit dem System. Dr. Thorsten Arendt Marburg, 27. November 2014 Programmverstehen 1: Der erste Kontakt mit dem System Dr. Thorsten Arendt Marburg, 27. November 2014 Überblick Was ist Forward-, Reverse- und Re-Engineering? Was sind Re-Engineering Patterns? Wie nähere

Mehr

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18

Mehr

Einführung in Generatives Programmieren. Bastian Molkenthin

Einführung in Generatives Programmieren. Bastian Molkenthin Einführung in Generatives Programmieren Bastian Molkenthin Motivation Industrielle Entwicklung *!!*,(% % - #$% #!" + '( & )!* Softwareentwicklung Rückblick auf Objektorientierung Objektorientierte Softwareentwicklung

Mehr

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 3 - Objektorientierung Warum Objektorientierung Daten und Funktionen möglichst eng koppeln und nach außen kapseln Komplexität der Software besser modellieren

Mehr

IBM Software Demos Rational Software Delivery Platform - Änderungen an Design und Architektur einer Anwendung

IBM Software Demos Rational Software Delivery Platform - Änderungen an Design und Architektur einer Anwendung In dieser Demo verwendet Alex die Visualisierungs- und Modellfunktionen von Rational Software Architect, um die Architektur der Anwendung zu betrachten und festzulegen, wie die Änderung Sofort kaufen bestmöglich

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können

Mehr

Softwaremessung und -metrik

Softwaremessung und -metrik Softwaremessung und -metrik AW1 Votrag - Daniel Wojtucki Hamburg, 20. Januar 2010 Inhalt 1 Einleitung 2 Softwarequalität 3 Grundlagen der Softwaremetrik 4 Beispiele bestimmter Metriken 5 Zusammenfassung

Mehr

Softwaretechnik (Allgemeine Informatik) Überblick

Softwaretechnik (Allgemeine Informatik) Überblick Softwaretechnik (Allgemeine Informatik) Überblick 1 Einführung und Überblick 2 Abstraktion 3 Objektorientiertes Vorgehensmodell 4 Methoden der Anforderungs- und Problembereichsanalyse 5 UML-Diagramme 6

Mehr

Vom Modulkonzept zur Software-Stadt

Vom Modulkonzept zur Software-Stadt Vom Modulkonzept zur Software-Stadt Claus Lewerentz Brandenburgische Technische Universität Cottbus Lehrstuhl Software-Systemtechnik 1 Programmieren im Großen: Systeme und Module 2 Software-Architektur

Mehr

Knasmüller.book Seite vii Mittwoch, 28. März 2001 11:11 11. vii. Inhaltsverzeichnis

Knasmüller.book Seite vii Mittwoch, 28. März 2001 11:11 11. vii. Inhaltsverzeichnis Knasmüller.book Seite vii Mittwoch, 28. März 2001 11:11 11 vii 1 Einführung 1 1.1 Motivation.................................... 1 1.2 Vorteile der neuen Techniken...................... 3 1.3 Aufbau des

Mehr

Jan Schumann, G+J Manuel Pichler, Trainer & Consultant - Qafoo. Statische Codeanalyse wirklich effektiv nutzen

Jan Schumann, G+J Manuel Pichler, Trainer & Consultant - Qafoo. Statische Codeanalyse wirklich effektiv nutzen Jan Schumann, G+J Manuel Pichler, Trainer & Consultant - Qafoo Statische Codeanalyse wirklich effektiv nutzen Über uns Jan Schumann Jahrgang 1976 System- / Softwarearchitekt Entwickler von: PHP_Depend,

Mehr

Software-Refactoring. 29. Mai 2013

Software-Refactoring. 29. Mai 2013 Software-Refactoring 29. Mai 2013 Überblick Was ist Refactoring und wozu dient es? Welche Refactorings gibt es? Refactoring-Katalog: www.refactoring.com Wann, wo und wie führt man Refactorings durch? Wie

Mehr

Thomas Haug MATHEMA Software GmbH 209

Thomas Haug MATHEMA Software GmbH 209 Thomas Haug MATHEMA Software GmbH 209 Wer bin ich > Dipl.-Inf (Univ.) > Senior Consultant, Architekt und Trainer (MATHEMA Software GmbH) > 25+ Jahre Software Entwicklung > 12+ Jahre Java Enterprise > 7+

Mehr

Grundzüge der Programmierung. Wiederverwendung VERERBUNG

Grundzüge der Programmierung. Wiederverwendung VERERBUNG Grundzüge der Programmierung Wiederverwendung VERERBUNG Inhalt dieser Einheit Syntax: Vererbung in Java Superklassen - Subklassen Konstruktorenaufruf in Subklassen super, abstract und final 2 Code-Reuse

Mehr

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

Mehr

1 Einleitung 1. 2 Grundkonzepte 11

1 Einleitung 1. 2 Grundkonzepte 11 Inhalt 1 Einleitung 1 1.1 Softwarequalität betrifft viele 1 1.2 Für wen dieses Buch gemacht ist 1 1.3 Was Sie von diesem Buch erwarten können 2 1.4 Das Abenteuer von Q 3 1.5 Themen und Anspruch 3 1.5.1

Mehr

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

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing Fassade Objektbasiertes Strukturmuster C. Restorff & M. Rohlfing Übersicht Motivation Anwendbarkeit Struktur Teilnehmer Interaktion Konsequenz Implementierung Beispiel Bekannte Verwendung Verwandte Muster

Mehr

Testwell CTC++ Test Coverage Analyser Testabdeckung für alle Coverage-Stufen, alle Compiler, alle Embedded Targets

Testwell CTC++ Test Coverage Analyser Testabdeckung für alle Coverage-Stufen, alle Compiler, alle Embedded Targets Testwell CTC++ Test Coverage Analyser Testabdeckung für alle Coverage-Stufen, alle Compiler, alle Embedded Targets Testwell CTC++ ist ein leistungsfähiges und einfach zu benutzendes Code-/Test-Coverage

Mehr

Echolot Qualitätssicherung mit Sonar

Echolot Qualitätssicherung mit Sonar Echolot Qualitätssicherung mit Sonar Thomas Haug thomas.haug@mathema.de www.mathema.de Motivation Sonar Überblick Demo Fazit Motivation Sonar Überblick Demo Fazit Sometimes the developers manage to maintain

Mehr

Metriken für Objektorientierte Software

Metriken für Objektorientierte Software Metriken für Objektorientierte Software Alexander Ostrovsky ostrovsk@in.tum.de Abstract: In dieser Arbeit werden die Grundlagen der Metriken für objektorientierte Software behandelt. Aufgrund der hohen

Mehr

Testen und Metriken. Einige Fehler. Fehler vermeiden. Andreas Zeller Universität des Saarlandes Microsoft Research. http://www.st.cs.uni-sb.

Testen und Metriken. Einige Fehler. Fehler vermeiden. Andreas Zeller Universität des Saarlandes Microsoft Research. http://www.st.cs.uni-sb. Testen und Metriken Andreas Zeller Universität des Saarlandes Microsoft Research http://www.st.cs.uni-sb.de/ Einige Fehler Fehler vermeiden Spezifizieren Beweisen Gegenlesen Testen Module Welche sollte

Mehr

Kapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik

Kapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik Klassen und höhere Datentypen Objekte, Felder, Methoden Küchlin/Weber: Einführung in die Informatik Klassen Klasse (class) stellt einen (i.a. benutzerdefinierten) Verbund-Datentyp dar Objekte sind Instanzen

Mehr

32. Werkzeuge zur Visualisierung

32. Werkzeuge zur Visualisierung 32. Werkzeuge zur Visualisierung Prof. Dr. rer. nat. Uwe Aßmann Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie Fakultät für Informatik TU Dresden http://st.inf.tu-dresden.de

Mehr

Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny

Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny 3. UML Klassendiagramm Nachtrag 3.1 Einführung UML UML ist eine standardisierte Sprache zur Modellierung von Systemen. In UML werden graphische

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung Kapitel 6 Vererbung Vererbung 1 Ziele Das Vererbungsprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen

Mehr

Analysierende Testverfahren

Analysierende Testverfahren Software-Metriken Kontrolle der Software-Entwicklung: Pläne und Standards einrichten messen der Ausführung gegen Pläne und Standards Analysierende Testverfahren korrigieren der Abweichungen Eine Software-Metrik

Mehr

Relevante Metriken zur Bestimmung von Softwarequalität

Relevante Metriken zur Bestimmung von Softwarequalität Relevante Metriken zur Bestimmung von Softwarequalität Steffen Förster 2 Definitionen Metrik Eine Funktion, die eine Software-Einheit in einen Zahlenwert abbildet. Dieser berechnete Wert ist interpretierbar

Mehr

Mit Fehlerkennzahlen Software-Entwicklungsprozesse verbessern - Erfahrungen bei der IDG -

Mit Fehlerkennzahlen Software-Entwicklungsprozesse verbessern - Erfahrungen bei der IDG - Mit Fehlerkennzahlen Software-Entwicklungsprozesse verbessern - - Rainer Paasche (IDG) Oral Avcı (SQS) Universität zu Köln Lehrstuhl für Wirtschaftsinformatik, Prof. Dr. W. Mellis SQS Software Quality

Mehr

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen

Mehr

Übung 1 mit C# 6.0 MATTHIAS RONCORONI

Übung 1 mit C# 6.0 MATTHIAS RONCORONI Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,

Mehr

PSE: Analysesoftware für Logistiknetzwerke

PSE: Analysesoftware für Logistiknetzwerke PSE: Analysesoftware für Logistiknetzwerke Phase 2 Der Entwurf,, Lehrstuhl Prof. Böhm KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Software- Qualitätsmanagement

Software- Qualitätsmanagement Software- Qualitätsmanagement Thomas Kugel Brandenburg, den 10.12.2002 Agenda Einleitung Was heißt Softwarequalitätssicherung und Test Die Rolle von Test und QS in Softwareprojekten Wie wird getestet Statische

Mehr

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle

Mehr

OOD. Objektorientiertes Design. Peter Coad und Edward Yourdon. Prentice Hall Verlag

OOD. Objektorientiertes Design. Peter Coad und Edward Yourdon. Prentice Hall Verlag OOD Objektorientiertes Design Peter Coad und Edward Yourdon Prentice Hall Verlag New York, London, Toronto, Sidney, Tokio, Singapur, München, Mexiko Vorwort 9 Vorwort der Übersetzer 11 Danksagungen 13

Mehr

Übung Einführung in die Softwaretechnik

Übung Einführung in die Softwaretechnik Lehrstuhl für Informatik 3 RWTH Aachen Übung Einführung in die Softwaretechnik Lösungshinweise zum Übungsblatt 12 Aufgabe 28 Sichtbarkeits-Symbol UML Java + public # protected private (default) Sichtbar

Mehr

Softwarearchitektur als Mittel für Qualitätssicherung und SOA Governance

Softwarearchitektur als Mittel für Qualitätssicherung und SOA Governance Softwarearchitektur als Mittel für Qualitätssicherung und SOA Governance Mag. Georg Buchgeher +43 7236 3343 855 georg.buchgeher@scch.at www.scch.at Das SCCH ist eine Initiative der Das SCCH befindet sich

Mehr

SimPDM Datenmodell im Kontext zu Teamcenter und PLMXML

SimPDM Datenmodell im Kontext zu Teamcenter und PLMXML SimPDM Datenmodell im Kontext zu Teamcenter und PLMXML Vergleichsstudie Datentransfer PDM SDM Böblingen, 20. November 2008 Dietmar Gausselmann Zoran Petrovic Ulrich Deisenroth Agenda Einleitung / Motivation

Mehr

PRÜFUNG FÜR ELEKTROINGENIEURE. Softwaretechnik I. Musterlösung SS 12. - Ohne Gewähr -

PRÜFUNG FÜR ELEKTROINGENIEURE. Softwaretechnik I. Musterlösung SS 12. - Ohne Gewähr - PRÜFUNG FÜR ELEKTROINGENIEURE Softwaretechnik I Musterlösung SS 12 - Ohne Gewähr - LfdNr. Thema Punkte Zeitbedarf in min 1 Analyse und Entwurf 15 30 2 Basistechniken und Test 15 30 3 Projektmanagement

Mehr

Internet Briefing. Developer Konferenz. Clientseitige Last- & Performancetesting. Namics.

Internet Briefing. Developer Konferenz. Clientseitige Last- & Performancetesting. Namics. Internet Briefing. Developer Konferenz. Clientseitige Last- & Performancetesting. Jürg Stuker. CEO. Partner. 8. Dezember 2011 Thema 1 Verstehen was zwischen User Agent und Server geschwatzt wird... 8.

Mehr

Vererbung & Schnittstellen in C#

Vererbung & Schnittstellen in C# Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung

Mehr

Programmverstehen 2: Wie ist das System-Design? Dr. Thorsten Arendt Marburg, 04. Dezember 2014

Programmverstehen 2: Wie ist das System-Design? Dr. Thorsten Arendt Marburg, 04. Dezember 2014 Programmverstehen 2: Wie ist das System-Design? Dr. Thorsten Arendt Marburg, 04. Dezember 2014 Re-Engineering Patterns [Demeyer et al.] 2 Software-Evolution WS 2014/2015 Überblick Probleme Viele Designkonzepte

Mehr

Web-Qualitätsmanagement. emeasurement-ansätze im Software Engineering, in der Softwareentwicklung, im Softwaremanagement und in der Softwaremessung

Web-Qualitätsmanagement. emeasurement-ansätze im Software Engineering, in der Softwareentwicklung, im Softwaremanagement und in der Softwaremessung Web-Qualitätsmanagement emeasurement- im Software Engineering, in der Softwareentwicklung, im Softwaremanagement und in der Softwaremessung Patrick Kautz Otto-von-Guericke Universität 3 von 22 steigende

Mehr

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

Softwarequalität: Zusammenfassung und Ausblick. 17. Juli 2013 Softwarequalität: Zusammenfassung und Ausblick 17. Juli 2013 Überblick Rückblick: Qualitätskriterien Qualitätsmanagement Qualitätssicherungsmaßnahmen Thesen zur Softwarequalität Ausblick: Lehrveranstaltungen

Mehr

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung

Mehr

Alltagsnotizen eines Softwareentwicklers

Alltagsnotizen eines Softwareentwicklers Alltagsnotizen eines Softwareentwicklers Entkoppeln von Objekten durch Callbacks mit c++-interfaces oder boost.function und boost.bind Tags: c++, entkoppeln, objekt, oop, callback, boost.bind, boost.function,

Mehr

SWE12 Übungen Software-Engineering

SWE12 Übungen Software-Engineering 1 Übungen Software-Engineering Software-Qualitätssicherung / Software-Qualitätsmanagement 2 Aufgabe 1 Ordnen Sie die folgenden Zitate dem entsprechenden Ansatz zum Qualitätsbegriff zu und begründen Sie

Mehr

Entwicklungsmethoden

Entwicklungsmethoden Slide 5.1 Entwicklungsmethoden Prof. Dr. Josef M. Joller jjoller@hsr.ch Development Methodologies Prof. Dr. Josef M. Joller 1 Session 5 Slide 5.2 TOOLS Development Methodologies Prof. Dr. Josef M. Joller

Mehr

Hauptseminar Automotive Software Engineering Testen, Rapid Prototyping und x in the loop

Hauptseminar Automotive Software Engineering Testen, Rapid Prototyping und x in the loop Hauptseminar Automotive Software Engineering Testen, Rapid Prototyping und x in the loop Christoph Niedermayr 20.01.2005 Überblick 1 2 X in the loop Rapid Prototyping Begriffe Was versteht man unter statischem

Mehr

ISIS. Das Navigationssystem für angemessene Qualität und hohe Effizienz

ISIS. Das Navigationssystem für angemessene Qualität und hohe Effizienz ISIS Das Navigationssystem für angemessene Qualität und hohe Effizienz Inhalt Softwarequalität und Prozessqualität ISIS: das Ziel Messen der Prozessqualität Der Werkzeugzoo Die Wirkung Maßnahmen zur Prozessoptimierung

Mehr