Statische Programmanalysen für die Qualitätssicherung

Größe: px
Ab Seite anzeigen:

Download "Statische Programmanalysen für die Qualitätssicherung"

Transkript

1 die ssicherung Prof. Dr. Rainer Koschke Arbeitsgruppe Softwaretechnik Fachbereich Mathematik und Informatik Universität Bremen 7. Juli 2009

2 Wer wir sind die ssicherung Bereich Softwarequalität und -sicherheit Forschungskooperation Universität Bremen Universität Stuttgart Axivion GmbH Stopping Software Erosion Literatur

3 nach ISO/IEC-Standard 9126 (2001) Änderbarkeit Übertragbarkeit Stabilität Prüfbarkeit Analysierbarkeit Reife Modifizierbarkeit Austauschbarkeit Installierbarkeit Konformität Anpassbarkeit Zuverlässigkeit Benutzbarkeit Funktionalität Verständlichkeit Erlernbarkeit Bedienbarkeit Effizienz Ordnungsmäßigkeit Angemessenheit Interoperabilität Sicherheit Richtigkeit Verbrauchsverhalten Softwarequalität Wiederherstellbarkeit Fehlertoleranz Zeitverhalten die ssicherung Literatur

4 Prüfung (Frühauf u. a., 2000) Software Prüfung nicht mechanisch (durch Menschen) Reviews Inspektionen mechanisch (durch den Rechner) statisch Programm analysen dynamisch Tests die ssicherung Literatur

5 Programmanalyse Programmanalyse = eines Programms anhand des Programmtexts, d.h. ohne Ausführung des Programms. Frühe Beispiele: Compiler Lint (1979): Aufspüren von gefährlichen Konstrukten, z.b. uninitialisierte Variablen, Überprüfung von einheitlichem Quelltext-Layout, Erkennen nicht portabler Konstrukte die ssicherung Ziele Vorgehen Probleme Statisch vs. dynamisch

6 Ziele /Sicherheitsprobleme Codierrichtlinienprüfung innerer Auffinden von Bad-Smells statische die ssicherung Ziele Vorgehen Probleme Statisch vs. dynamisch

7 1 v o i d count ( i n t t, i n t a ) { 2 FILE f ; 3 c h a r c ; 4 f = fopen ( " f i l e. t x t ", " r " ) ; 5 i f ( f!= NULL) { 6 t = 0 ; a = 0 ; 7 c = f g e t c ( f ) ; 8 w h i l e ( c!= EOF) { 9 i f ( c == a ) a = a + 1 ; 10 t = t + 1 ; 11 c = f g e t c ( f ) ; 12 } 13 c l o s e ( f ) ; 14 } 15 } 16 i n t main ( ) { 17 i n t t, a ; 18 count (&t, &a ) ; 19 p r i n t f ( "%f \n", ( f l o a t ) a /( f l o a t ) t ) ; 20 } die ssicherung Ziele Vorgehen Probleme Statisch vs. dynamisch

8 Schritte der statischen Programmtext Programmtext mit Makros Parser Zwischendarstellung Zwischensprachengenerator Präprozessor abstrakter Syntaxbaum annotierter abstrakter Syntaxbaum semantische n Lexer Ausgabe Tokenstrom Front-End die ssicherung Ziele Vorgehen Probleme Statisch vs. dynamisch

9 Typisches Vorgehen bei statischer Abstrakte statische Ausführung: 1 Repräsentation des Programms (meist als Kontrollflussgraph (KFG)) 2 Modell des Programmzustands 3 Transferfunktion jedes Programmkonstrukt 4 Inferenz beginnend mit Initialzustand über die Programmrepräsentation die ssicherung Ziele Vorgehen Probleme Statisch vs. dynamisch

10 Repräsentation des Programms 1 v o i d count ( i n t t, i n t a ) { 2 FILE f ; 3 c h a r c ; 4 f = fopen ( " f i l e. t x t ", " r " ) ; 5 i f ( f!= NULL) { 6 t = 0 ; a = 0 ; 7 c = f g e t c ( f ) ; 8 w h i l e ( c!= EOF) { 9 i f ( c == a ) 10 a = a + 1 ; 11 t = t + 1 ; 12 c = f g e t c ( f ) ; 13 } 14 c l o s e ( f ) ; 15 } 16 } (a) Code false f = fopen("file.txt","r") false entry count f!= NULL *t = 0 *a = 0 c = fgetc (f) c!= EOF true true c == a *a = *a + 1 false *t = *t + 1 c = fgetc (f) exit true close (f) (b) KFG die ssicherung Ziele Vorgehen Probleme Statisch vs. dynamisch

11 Modell des Programms Modellzustand 1: Variable ist sicher uninitialisiert vielleicht uninitialisiert sicher initialisiert Modellzustand 2: Variable ist vielleicht = 0 sicher 0 entry count f = fopen("file.txt","r") false f!= NULL true *t = 0 *a = 0 c = fgetc (f) false c!= EOF true true c == a *a = *a + 1 false *t = *t + 1 c = fgetc (f) close (f) exit die ssicherung Ziele Vorgehen Probleme Statisch vs. dynamisch

12 Transferfunktion und Inferenz Modellzustand 1: Konstrukte... Deklaration sicher uninitialisiert Zuweisung sicher initialisiert Beginn eines Blocks: Variable initialisiert alle Vorgänger initialisiert Variable sicher uninitialisiert alle Vorgänger sicher uninitialisiert sonst vielleicht uninitialisiert entry count f = fopen("file.txt","r") false f!= NULL true *t = 0 *a = 0 c = fgetc (f) false c!= EOF true true c == a *a = *a + 1 false *t = *t + 1 c = fgetc (f) close (f) exit die ssicherung Ziele Vorgehen Probleme Statisch vs. dynamisch

13 Werkzeuge zur Open-Source: FindBugs PMD Splint (LCLint) Kommerziell: Polyspace Coverity Klocwork PC-Lint die ssicherung Ziele Vorgehen Probleme Statisch vs. dynamisch

14 Probleme statischer n Aliasing Polymorphismus und dynamisches Binden Reflection Parallelität verteilte Systeme Laufzeitinstanzen versus statischer Einheiten (z.b. Klassen) viele Entscheidungen erst zur Laufzeit statische problematisch die ssicherung Ziele Vorgehen Probleme Statisch vs. dynamisch

15 Statisch vs. Dynamisch statisch dynamisch wirklich die ssicherung dynamisch: zu konkret, nicht verallgemeinerbar Teilmenge statisch: zu abstrakt, daher ungenau Obermenge Wahrheit liegt (meist) dazwischen y = f(x); if (y < 0) y = -y; Dynamisch: y {0, 2, 7, 79} Statisch: 0 y MAX_INT Wirklich: 0 y 100 Ziele Vorgehen Probleme Statisch vs. dynamisch

16 dreieck Kosten (CPU, RAM) die ssicherung Präzision 0 Vollständigkeit Ziele Vorgehen Probleme Statisch vs. dynamisch

17 zur Suche nach wiederkehrenden Programmierfehlern und Sicherheitsproblemen, z.b. Null-Zeiger-Dereferenzierung uninitialisierte Variable Zeiger auf freigegebene Objekte Division durch Null Out-of-Range-Zugriffe Buffer-Overflow... findet keine Abweichungen von der Spezifikation statische Prüfung kann Tests nicht ersetzen, nur ergänzen die ssicherung Literatur

18 Code-Richtlinienprüfung 1 i f ( b = 2) 2 x [ i ] = i ++; 3 a = 2 ; Allgemeine Standards, z.b. MISRA-C 1, MISRA-C++ Best Practices zur Vermeidung fehlerträchtiger Programmierkonstrukte mehr als 100 Regeln nicht alle sind prüfbar (z.b. sinnvolle Kommentierung) Organisationsspezifische Richtlinien, z.b richtige Verwendung von APIs organisationseinheitliches Layout 1 Motor Industry Software Reliability Association (MISRA) die ssicherung Literatur

19 Werkzeuge zur Prüfung von Code-Richtlinien Open-Source Checkstyle oft auch eingebaut in den Compiler Kommerzielle: Axivion Bauhaus Suite Parasoft SemanticDesigns QA/C die ssicherung Literatur

20 Cockpit (Dashboard) Process.Changes Performance.Time Test.Coverage Resources.Developers Code.Comments Code.Complexity die ssicherung Cockpit Vorhersagemetriken Trends

21 Ziel: Ökonomische ssicherung Ziel: Fehler so früh wie möglich finden Code-Reviews Tests Ökonomieprinzip: Fokussierung der Maßnahmen Verwendung eines Vorhersagemodells die ssicherung Cockpit Vorhersagemetriken Trends

22 Code-Metriken Klassische prozedurale Metriken: Lines-of-Code (LOC) McCabe Complexity (Anzahl der Bedingungen) Halstead-Volumen (N log(n) mit N = Gesamtzahl Tokens und n = Anzahl verschiedener Tokens)... Objektorientierte Metriken: Tiefe der Vererbungsbaums Anzahl von Methoden und Attribute Anzahl redefinierter Methoden... Änderungsmetriken: Churn (Anzahl geänderter, hinzugefügter oder gelöschter Zeilen) die ssicherung Cockpit Vorhersagemetriken Trends

23 Metriken zur Vorhersage fehlerhafter Module Defects Optimal rpart Random Forest Bagging die ssicherung Cockpit Vorhersagemetriken Trends Lines of Code Mende und Koschke (2009); Mende u. a. (2009)

24 Trend-: Modularisierung die ssicherung Cockpit Vorhersagemetriken Trends

25 Trend-: Kommentierung die ssicherung Cockpit Vorhersagemetriken Trends

26 Stink Parade of by Fowler (2000) duplizierter Code lange Funktionen oder Methoden große Module oder Klassen lange Parameterlisten divergente Änderung eine Klasse/ein Modul wird stets geändert in verschiedener Weise und unterschiedliche Gründe Schrotflinten-Chirurgie (Shotgun Surgery) kleine Änderungen überall Feature-Neid ein Modul/eine Klasse benutzt sehr viele Variablen/Attribute einer anderen Klasse bzw. eines anderen Moduls... die ssicherung Klone Code Quality Literatur

27 Duplizierter Code die ssicherung Klone Code Quality Literatur

28 Studien zu Auswirkungen von Klonen Monden u. a. (2002): 2,000 Cobol-Module mit Klonen mit mindestens der Länge 30 Zeilen (1 MLOC, 20 Jahre alt) Korrelation von max. Klonlänge und Fehlerrate höchste Fehlerdichte in Modulen mit mind. 200-Zeilen langem Klon die ssicherung Klone Code Quality Literatur

29 Studien zu Auswirkungen von Klonen Hypothese (Chou u. a., 2001) Wenn eine Funktion/Datei/Verzeichnis einen Fehler hat, dann ist es wahrscheinlicher, dass sie noch weitere Fehler hat. Beobachtungen in ihrer Studie Linux und OpenBSD: Hypothese gilt insbesondere, wenn die sich Ignoranz von API-Regeln mit Copy&Paste paart Programmierer glauben, dass operationaler Code korrekter Code ist Code kann fehlerhaft sein oder in einen Kontext kopiert werden, den er nicht gedacht war die ssicherung Klone Code Quality Literatur

30 Studien zu Auswirkungen von Klonen Li u. a. (2006) Linux-Kernel, FreeBSD, Apache, PostgreSQL: Fehler wegen Klonen, deren Bezeichner inkonsistent umbenannt wurden die ssicherung Klone Code Quality Literatur

31 Studien zu Auswirkungen von Klonen Fehler durch inkonsistent geänderte Klone (Juergens u. a., 2009) 52 % aller Klone wurden inkonsistent geändert 28 % aller inkonsistenter Klone waren ungewollt inkonsistent geändert 15 % aller inkonsistenter Klone sind Fehler die ssicherung Klone Code Quality Literatur

32 Wie können Klone gefunden werden? Granularität Klassen, Dateien Funktionen Anweisungen Vergleich von... Text Bezeichnern Token Syntaxbäume Verwendete Techniken: textuelles Diff Dotplot Data Mining Suffix-Bäume Baumvergleich Graphvergleich Information Retrieval Kontroll- und Datenabhängigkeiten Metrikenvergleich Hashing die ssicherung Klone Code Quality Literatur

33 Code Quality Index (Simon u. a., 2006) Aufwand Bauchgefühl Code Quality Index manuelles Review Objektivität, Genauigkeit Quality-Benchmark-Level auf Basis eines statisch ermittelten, objektiven Code-Quality-Index: 52 sindikatoren (Typen von ) Häufigkeitsverteilung mehr als 120 industrielle Systeme geschrieben in C++ und Java Industriestandard die ssicherung Klone Code Quality Literatur

34 Architektur in der Theorie Compiler-Architektur nach Shaw und Garlan (1993) die ssicherung Symbol Table Text Lexical Analysis Syntactic Analysis Semantic Analysis Optimization Code Generation Code AST Ideal Wirklichkeit Prüfung

35 Softwarearchitektur in der Praxis Compiler-Architektur im wirklichen Leben die ssicherung Ideal Wirklichkeit Prüfung

36 Abhängigkeiten Graph der direkten Aufrufe die ssicherung Ideal Wirklichkeit Prüfung

37 Abhängigkeiten Graph der direkten und indirekten Aufrufe die ssicherung Ideal Wirklichkeit Prüfung

38 Abhängigkeiten Alle Aufrufe und Klone die ssicherung Ideal Wirklichkeit Prüfung

39 Abhängigkeiten Nur Klone die ssicherung Ideal Wirklichkeit Prüfung

40 Architektur in Theorie und Praxis die ssicherung Symbol Table Text Lexical Analysis Syntactic Analysis Semantic Analysis Optimization Code Code Generation AST Ideal Wirklichkeit Prüfung

41 Reflexionsmethode (Murphy u. a., 1995) 1 Stelle Architekturmodell auf 2 Extrahiere Implementierungsmodell 3 Bilde Modelle aufeinander ab 4 Berechne Reflexionsmodell 5 Verfeinere/korrigiere die ssicherung Beispiel H1 H2 H3 Ideal Wirklichkeit Prüfung

42 Axivion Bauhaus-Werkzeug zur Architekturprüfung die ssicherung Ideal Wirklichkeit Prüfung

43 Die Rolle von Modellen in der Entwicklung heutige Verwendung von Modellen: deskriptiv: dienen der Dokumentation des Codes präskriptiv: dienen der Prüfung des Codes (z.b. Reflexionsanalyse) Trend: Modelle sind der Code modellgetriebene Entwicklung mit automatischer Code-Generierung Koschkesche Vermutung: Auch Modelle werden das sproblem von Software nicht lösen. Wir werden weiterhin Test und statische benötigen. die ssicherung Literatur

44 ung Innere ist langfristig entscheidend degeneriert langsam und unbemerkt Erosion Systemalter (in 100 Tage) ist komplementär zum Test findet Fehler bestimmt innere und macht Erosion sichtbar auf Code-Ebene auf Architektur-Ebene integraler Bestandteil des normalen Entwicklungsprozesses Systemgröße (in Module) die ssicherung Literatur

45 [Chou u. a. 2001] Chou, Andy ; Yang, Junfeng ; Chelf, Benjamin ; Hallem, Seth ; Engler, Dawson R.: An Empirical Study of Operating System Errors. In: Symposium on Operating Systems Principles, ACM Press, 2001, S URL citeseer.ist.psu.edu/chou01empirical.html [Fowler 2000] Fowler, Martin: Refactoring: Improving the Design of Existing Code. Addison-Wesley, 2000 [Frühauf u. a. 2000] Frühauf ; Ludewig ; Sandmayr: Prüfung. 4. Auflage. vdf Zürich, 2000 [ISO/IEC-Standard ] ISO/IEC :2001 Software engineering Product quality umgesetzt in DIN die ssicherung Literatur

46 [Juergens u. a. 2009] Juergens, E. ; Deissenboeck, F. ; Hummel, B. ; Wagner, S.: Do Code Clones Matter? In: International Conference on Software Engineering, ACM Press, 2009 [Li u. a. 2006] Li, Z ; Lu, S ; Myagmar, S. ; Zhou, Y.: Copy-Paste and Related Bugs in Large-Scale Software Code. In: IEEE Computer Society Transactions on Software Engineering 32 (2006), März, Nr. 3, S [Mende und Koschke 2009] Mende, Thilo ; Koschke, Rainer: Revisiting the Evaluation of Defect Prediction Models. In: Promise, submitted for publication die ssicherung Literatur

47 [Mende u. a. 2009] Mende, Thilo ; Koschke, Rainer ; Leszak, Marek: Evaluating Defect Prediction Models for a Large Evolving Software System. In: European Conference on Software Maintenance and Reengineering, IEEE Computer Society Press, 2009 [Monden u. a. 2002] Monden, A. ; Nakae, D. ; Kamiya, T. ; Sato, S. ; Matsumoto, K.: Software quality analysis by code clones in industrial legacy software. In: Proceedings of IEEE Symposium on Software Metrics, 2002, S [Murphy u. a. 1995] Murphy, Gail C. ; Notkin, David ; Sullivan, Kevin: Software Reflexion Models: Bridging the Gap Between Source and High-Level Models. In: Proceedings of the Third ACM SIGSOFT Symposium on the Foundations of Software Engineering. New York, NY : ACM Press, Oktober 1995, S die ssicherung Literatur

48 [Shaw und Garlan 1993] Shaw, Mary ; Garlan, David: An Introduction to Software Architecture. In: Advances in Software Engineering and Knowledge Engineering. River Edge, NJ : World Scientific Publishing Company, 1993 [Simon u. a. 2006] Simon, Frank ; Seng, Olaf ; Mohhaupt, Thomas: Code-Quality-Management Technische industrieller Softwaresysteme transparent und vergleichbar gemacht. dpunkt.verlag, 2006 die ssicherung Literatur

Konsolidierung von Software-Varianten in Software-Produktlinien ein Forschungsprogramm

Konsolidierung von Software-Varianten in Software-Produktlinien ein Forschungsprogramm Konsolidierung von Software-Varianten in Software-Produktlinien ein Forschungsprogramm Rainer Koschke Universität Bremen Workshop Software-Reengineering Bad Honnef 5. Mai 2005 Bauhaus Forschungskooperation

Mehr

Vorlesung Software-Reengineering

Vorlesung Software-Reengineering Vorlesung Software-Reengineering Prof. Dr. Rainer Koschke Arbeitsgruppe Softwaretechnik Fachbereich Mathematik und Informatik Universität Bremen Wintersemester 2008/09 Überblick I 1 1 Softwarearchitektur

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

Softwareentwicklungsprozesse. 18. Oktober 2012

Softwareentwicklungsprozesse. 18. Oktober 2012 Softwareentwicklungsprozesse 18. Oktober 2012 Überblick Was soll ein Softwareentwicklungsprozess leisten? Überblick über Softwareentwicklungsprozesse Welche gibt es? Warum gibt es mehrere? Diskussion:

Mehr

Qualitätssicherung. Was ist Qualität?

Qualitätssicherung. Was ist Qualität? Ein Überblick Methoden und Werkzeuge zur Softwareproduktion Was ist Qualität? "Als Qualität eines Gegenstandes bezeichnen wir die Gesamtheit seiner charakteristischen Eigenschaften" Hesse et al. 2 Was

Mehr

Vorlesung Software-Reengineering

Vorlesung Software-Reengineering Vorlesung Software-Reengineering Prof. Dr. Rainer Koschke 1 1 Arbeitsgruppe Softwaretechnik Fachbereich Mathematik und Informatik Universität Bremen Wintersemester 2005/06 Überblick I 1 Refactoring 1 Refactoring

Mehr

Reduzierung der Programmgröße mit Hilfe von Klonerkennung

Reduzierung der Programmgröße mit Hilfe von Klonerkennung Reduzierung der Programmgröße mit Hilfe von Klonerkennung Bernhard J. Berger Axivion GmbH berger@axivion.com Prof. Dr. Rainer Koschke Arbeitsgruppe Softwaretechnik, FB 3 Informatik, Universität Bremen

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

Abschlussvortrag Masterarbeit: Operationalizing Architecture in an agile Software Projec

Abschlussvortrag Masterarbeit: Operationalizing Architecture in an agile Software Projec Abschlussvortrag Masterarbeit: Operationalizing in an agile Software Projec Freie Universität Berlin, Institut für Informatik February 2, 2015 Übersicht 2 Was ist Softwarearchitektur? Softwarearchitektur

Mehr

12 Nicht-funktionale Anforderungen

12 Nicht-funktionale Anforderungen 12 Nicht-funktionale Anforderungen Nicht-funktionale Anforderungen (non-functional requirements) Anforderungen an die Umstände, unter denen die geforderte Funktionalität zu erbringen ist. Gesamte Anforderungen

Mehr

Vorlesung Software-Reengineering

Vorlesung Software-Reengineering Vorlesung Software-Reengineering Prof. Dr. Rainer Koschke Arbeitsgruppe Softwaretechnik Fachbereich Mathematik und Informatik Universität Bremen Wintersemester 2009/10 Überblick I 1 I 1 Arten von Reengineering-Projekten

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

Validierung von Software-Werkzeugen. Matthias Hölzer-Klüpfel

Validierung von Software-Werkzeugen. Matthias Hölzer-Klüpfel Validierung von Software-Werkzeugen Matthias Hölzer-Klüpfel Was ist Validierung ISO 9000:2000 Bestätigung durch Bereitstellung eines objektiven Nachweises, dass die Anforderungen für einen spezifischen

Mehr

Statische Codeanalysen

Statische Codeanalysen Statische Codeanalysen Weniger Review-Aufwand durch automatisierte Sourcecode- Überprüfungen MATTHIAS HÖLZER-KLÜPFEL Wie gut ist unser Code? Qualitätskriterien für Software Funktionalität Angemessenheit

Mehr

Testen in KMU Projekten Bern, November 2013

Testen in KMU Projekten Bern, November 2013 Testen in KMU Projekten Bern, November 2013 Beraterprofil Stephan Wiesner Beratungsschwerpunkte Beratungsschwerpunkte Testmanagement Testautomation Entwicklung und Testen im Mobile-Umfeld Applikationsschwerpunkte

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

GELEBTE ENTWICKLUNGSRICHTLINIEN

GELEBTE ENTWICKLUNGSRICHTLINIEN GELEBTE ENTWICKLUNGSRICHTLINIEN VOM VERSTAUBTEM PAPIERSTAPEL ZUM SPICKZETTEL FÜR ENTWICKLER BORIS WEHRLE ENTWICKLUNGSRICHTLINIEN Ein Programmierstil (engl. code conventions, coding conventions, coding

Mehr

Vorlesung Software-Reengineering

Vorlesung Software-Reengineering Vorlesung Software-Reengineering Prof. Dr. Rainer Koschke Arbeitsgruppe Softwaretechnik Fachbereich Mathematik und Informatik Universität Bremen Wintersemester 2010/11 Überblick I Durchführung von Reengineering-Projekten

Mehr

Wartungs-Optionsscheine für Refactoring

Wartungs-Optionsscheine für Refactoring Wartungs-Optionsscheine für Refactoring ROI-Modell zum Erkennen und Heben von Einsparungspotentialen in der Wartung Daniel Simon, Dr. Frank Simon AG Stuttgart, 04. Oktober 2005 Technische Qualität als

Mehr

Wie spezifiziert man die Qualität eines Softwaresystems? Herausforderungen und erste Lösungsideen aus SIKOSA

Wie spezifiziert man die Qualität eines Softwaresystems? Herausforderungen und erste Lösungsideen aus SIKOSA Wie spezifiziert man die Qualität eines Softwaresystems? Herausforderungen und erste Lösungsideen aus SIKOSA Prof. Dr. St. Kirn (Sprecher) Prof. Dr. B. Paech Prof. Dr. D. Kossmann Prof. Dr. G. Müller Schematische

Mehr

Lernziel Für Fallstudien und Beispiele eine Qualitätszielbestimmung anhand des ISO 9126-Qualitätsmodells vornehmen können.

Lernziel Für Fallstudien und Beispiele eine Qualitätszielbestimmung anhand des ISO 9126-Qualitätsmodells vornehmen können. 1 Software-Qualitätssicherung 2 Einführung und Überblick LE 1 V Unternehmensmodellierung 1 Grundlagen [stark gekürzt] Prof. Dr. Helmut Balzert Lehrstuhl für Software-Technik Ruhr-Universität Bochum 1 Grundlagen

Mehr

Pflichtenheft: Wettervorhersagen via Webservice

Pflichtenheft: Wettervorhersagen via Webservice Pflichtenheft: Wettervorhersagen via Webservice Version Autor QS Datum Status Kommentar 1.0 ET08 12/11/09 in Bearbeitung 1 Zielbestimmung Das Produkt soll mit Hilfe von eingelesenen Wetterdaten eine Wettervorhersage

Mehr

Qualität von Software und Softwaremodellen Seminar der AG Softwaretechnik im Sommer-Semester 2013

Qualität von Software und Softwaremodellen Seminar der AG Softwaretechnik im Sommer-Semester 2013 Qualität von Software Seminar der AG Softwaretechnik im Sommer-Semester 2013 Gabriele Taentzer, Thorsten Arendt Marburg, 16. April 2013 ORGANISATION (TEIL 1) 2 Thorsten Arendt: Seminar Qualität von Software

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

Softwaretechnik Nicht funktionale Anforderungen

Softwaretechnik Nicht funktionale Anforderungen Softwaretechnik Nicht funktionale Anforderungen Karsten Weicker, Nicole Weicker HTWK Leipzig, FHTW Berlin Will Turner: You swore she d go free! Barbossa: Don t dare impugn me honor boy! I agreed she go

Mehr

Softwarequalität - Qualitätsmodelle

Softwarequalität - Qualitätsmodelle Softwarequalität - Qualitätsmodelle Proseminar IT-Kennzahlen und Codemetriken Clara Lange 17.05.2010 TU München Inhalt 1. Was ist Softwarequalität? 2. Sichten auf Softwarequalität 3. Messen von Qualität

Mehr

J.6 Programmierung eingebetteter Systeme

J.6 Programmierung eingebetteter Systeme Vorteile von C in eingebetteten Systemen: leichter Zugriff auf die Hardware gute Kontrolle über die verwendeten Ressourcen (Speicher, CPU) Probleme mit C: stark eingeschränkte Laufzeitüberprüfungen ISO

Mehr

Wie misst man Qualität?

Wie misst man Qualität? Software Systems Engineering Wie misst man Qualität? Dr. Privat-Doz. A Herrmann Institut Software Systems Engineering Ziele dieses Workshops Workshop Wie misst man Qualität? Methoden lernen: Herleitung

Mehr

Softwarequalitätssicherung Prof. Dr. Daniel Fischer

Softwarequalitätssicherung Prof. Dr. Daniel Fischer Softwarequalitätssicherung Prof. Dr. Daniel Fischer Inhalt 1.Bestandsaufnahme 2.Was ist Software-Qualität? 3.Software-Qualitätssicherung 4.Beispiel: Zune-Bug 2 1 1. Bestandsaufnahme Olympia 2012: Software-Fehler

Mehr

Software-Architecture Introduction

Software-Architecture Introduction Software-Architecture Introduction Prof. Dr. Axel Böttcher Summer Term 2011 3. Oktober 2011 Overview 2 hours lecture, 2 hours lab sessions per week. Certificate ( Schein ) is prerequisite for admittanceto

Mehr

Mit Legacy-Systemen in die Zukunft. adviion. in die Zukunft. Dr. Roland Schätzle

Mit Legacy-Systemen in die Zukunft. adviion. in die Zukunft. Dr. Roland Schätzle Mit Legacy-Systemen in die Zukunft Dr. Roland Schätzle Der Weg zur Entscheidung 2 Situation Geschäftliche und softwaretechnische Qualität der aktuellen Lösung? Lohnen sich weitere Investitionen? Migration??

Mehr

Software Engineering. Statische Analyse! Kapitel 11

Software Engineering. Statische Analyse! Kapitel 11 Martin Glinz Thomas Fritz Software Engineering Kapitel 11 Statische Analyse 2005, 2013 Martin Glinz. Alle Rechte vorbehalten. Speicherung und Wiedergabe für den persönlichen, nicht kommerziellen Gebrauch

Mehr

Pflichtenheft. 1 Zielbestimmungen 2 1.1 Musskriterien... 2 1.2 Wunschkriterien... 2 1.3 Abgrenzungskriterien... 2

Pflichtenheft. 1 Zielbestimmungen 2 1.1 Musskriterien... 2 1.2 Wunschkriterien... 2 1.3 Abgrenzungskriterien... 2 Pflichtenheft Inhaltsverzeichnis 1 Zielbestimmungen 2 1.1 Musskriterien........................................ 2 1.2 Wunschkriterien....................................... 2 1.3 Abgrenzungskriterien...................................

Mehr

Softwarequalität: Definitionen, Wünsche, Grenzen

Softwarequalität: Definitionen, Wünsche, Grenzen Softwarequalität: Definitionen, Wünsche, Grenzen iks Thementag Mehr Softwarequalität Ausgewählte Themen 22.05.2014 Autor: Christoph Schmidt-Casdorff Agenda Einführung Was ist Softwarequalität? Qualität

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

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

Kapitel 8: Fehlervermeidung

Kapitel 8: Fehlervermeidung Kapitel 8: Fehlervermeidung Inhalt 8.1 Prozesse mit kontinuierlicher Prüfung 8.2 Systematisches Entwerfen und Programmieren 8.3 Dokumentier- und Codierrichtlinien Schlüsselbegriffe Cleanroom, Fehlervermeidung,

Mehr

Validierung und Verifikation

Validierung und Verifikation Martin Glinz Harald Gall Software Engineering Kapitel 7 Validierung und Verifikation Universität Zürich Institut für Informatik 2005, 2009 Martin Glinz. Alle Rechte vorbehalten. Speicherung und Wiedergabe

Mehr

Software Engineering mit Übungen. Franz-Josef Elmer, Universität Basel, HS 2015

Software Engineering mit Übungen. Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering mit Übungen Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering 2 Organisation Ort: Seminarraum 05.002, Spiegelgasse 5 Ablauf: 15:15 Vorlesung Prüfung: Schriftlich,

Mehr

Konzeptentwicklung Akkreditierte Software Prüfstelle

Konzeptentwicklung Akkreditierte Software Prüfstelle Konzeptentwicklung Akkreditierte Software Prüfstelle Durchgeführt an der Betreuer Autoren Datum Naturwissenschaftlichen Fakultät der Universität Salzburg Fachbereich Computerwissenschaften Uni.-Prof. Dipl.-Ing.

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

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

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

Source Mining. Statische Analyse mit Columbo. Jens-D. Doll Context IT www.cococo.de

Source Mining. Statische Analyse mit Columbo. Jens-D. Doll Context IT www.cococo.de Source Mining Statische Analyse mit Columbo Jens-D. Doll Context IT www.cococo.de Bio 1975ff Studium der Informatik/Mathematik 1980 Entwurf eines Fortran 77-Compilers 1980 erste Idee zu Columbo 1981 Entwicklung

Mehr

Requirements Engineering I. Nicht-funktionale Anforderungen!

Requirements Engineering I. Nicht-funktionale Anforderungen! Martin Glinz Requirements Engineering I Kapitel 11 Nicht-funktionale Anforderungen! 2007-2011 Martin Glinz. Alle Rechte vorbehalten. Speicherung und Wiedergabe für den persönlichen, nicht kommerziellen

Mehr

Management von Softwaresystemen Systembewertung: Metriken und Prozess

Management von Softwaresystemen Systembewertung: Metriken und Prozess Management von Softwaresystemen Systembewertung: Metriken und Prozess Referent: Vadym Alyokhin Betreuer: Florian Deißenböck Übersicht Definition Einführung in die Messtheorie Meilensteine von Software-Metriken

Mehr

Software Engineering. Statische Analyse! Kapitel 11

Software Engineering. Statische Analyse! Kapitel 11 Martin Glinz Harald Gall Software Engineering Kapitel 11 Statische Analyse! 2009-2011 Harald Gall. Alle Rechte vorbehalten. Speicherung und Wiedergabe für den persönlichen, nicht kommerziellen Gebrauch

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

Validierung und Verifikation!

Validierung und Verifikation! Martin Glinz Thomas Fritz Software Engineering Kapitel 7 Validierung und Verifikation 2005-2013 Martin Glinz. Alle Rechte vorbehalten. Speicherung und Wiedergabe für den persönlichen, nicht kommerziellen

Mehr

Eine wertbasierte Sicht auf Softwarequalität

Eine wertbasierte Sicht auf Softwarequalität Florian Deißenböck Eine wertbasierte Sicht auf Softwarequalität 25. Juni 2008 BITKOM AK SQM und PG BE&QM Gemeinsame Arbeiten mit S. Wagner, E. Jürgens, B. Hummel, M. Pizka, M. Broy 2» Quality is a complex

Mehr

Software-Qualität Ausgewählte Kapitel. Qualität definieren und erreichen"

Software-Qualität Ausgewählte Kapitel. Qualität definieren und erreichen Institut für Informatik! Martin Glinz Software-Qualität Ausgewählte Kapitel Kapitel 6 Qualität definieren und erreichen" 2008-2011 Martin Glinz. Alle Rechte vorbehalten. Speicherung und Wiedergabe für

Mehr

Softwaretechnik. Prof. Dr. Rainer Koschke. Sommersemester 2006. Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen

Softwaretechnik. Prof. Dr. Rainer Koschke. Sommersemester 2006. Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen Sommersemester 2006 Überblick I 1 Vorbemerkungen Vorbemerkungen: Vorbemerkungen

Mehr

Softwaretechnikpraktikum SS 2004. Qualitätsmanagement I. 1. Überblick. Qualität. Qualitätsmerkmal

Softwaretechnikpraktikum SS 2004. Qualitätsmanagement I. 1. Überblick. Qualität. Qualitätsmerkmal Softwaretechnikpraktikum SS 2004 Qualitätsmanagement I 5. Vorlesung 1. Überblick Planungsphase Definitionsphase Entwurfsphase Implem.- phase Fragen Was ist Qualität? Wie kann man Qualität messen? Wie kann

Mehr

Software-Qualität sichtbar machen

Software-Qualität sichtbar machen 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 Software Qualität

Mehr

Modeling Security Aspects of Network Aggregation Protocols. Fachgespräch Sensornetze 2009 14. August 2009

Modeling Security Aspects of Network Aggregation Protocols. Fachgespräch Sensornetze 2009 14. August 2009 Modeling Security Aspects of Network Aggregation Protocols Frank Werner Raoul Steffen Fachgespräch Sensornetze 2009 14. August 2009 Motivation Formale Methoden: Einsatz mathematischer Modelle und Techniken

Mehr

Qualität 1. 1 Qualität

Qualität 1. 1 Qualität Qualität 1 1 Qualität Nach dem Durcharbeiten dieses Kapitels sollten Sie die Qualität für ein Softwaresystem definieren können, typische Qualitätskriterien kennen, Qualitätskriterien messbar festlegen

Mehr

Vorlesung Software-Reengineering

Vorlesung Software-Reengineering Vorlesung Software-Reengineering Prof. Dr. Rainer Koschke Arbeitsgruppe Softwaretechnik Fachbereich Mathematik und Informatik Universität Bremen Wintersemester 2007/08 Überblick I 1 1 Probleme statischer

Mehr

Kampf dem Fehlerteufel PMD, Findbugs und Checkstyle in großen Projekten

Kampf dem Fehlerteufel PMD, Findbugs und Checkstyle in großen Projekten main {GRUPPE} Seite 1 Jürgen Nicolai Geschäftsführender Gesellschafter Liebknechtstrasse 33 70565 Stuttgart Tel : 07 11/7 81 19 90 Fax : 07 11/ 7 81 19 91 Mail : j.nicolai@main-gruppe.de Web: www.main-gruppe.de

Mehr

Usability Metrics. Related Work. Von Torsten Rauschan (torsten.rauschan@haw-hamburg.de) HAW Hamburg M-Inf2 Anwendungen 2 Betreuer: Prof. Dr.

Usability Metrics. Related Work. Von Torsten Rauschan (torsten.rauschan@haw-hamburg.de) HAW Hamburg M-Inf2 Anwendungen 2 Betreuer: Prof. Dr. Usability Metrics Related Work Von Torsten Rauschan (torsten.rauschan@haw-hamburg.de) HAW Hamburg M-Inf2 Anwendungen 2 Betreuer: Prof. Dr. Zukunft Agenda Rückblick AW1 Motivation Related work QUIM SUM

Mehr

11. Konfigurationsverwaltung

11. Konfigurationsverwaltung 11. Konfigurationsverwaltung 139 11. Konfigurationsverwaltung 11.1 Grundlagen Ändern Sie noch eben schnell" Die allzu einfache Möglichkeit, Software zu ändern, verursacht eine Menge von Problemen, zum

Mehr

Compilerbau mit Phoenix

Compilerbau mit Phoenix Übersicht 2 Was ist ein Compiler? Frontend Analyse Backend Synthese Compiler-Pässe 3 Was ist ein Compiler? Frontend (Eingabesprache) Analyse Backend (Ausgabesprache) Synthese 4 Was ist ein Compiler? Frontend

Mehr

Softwaretechnik. Überblick I. Prof. Dr. Rainer Koschke. Sommersemester 2006

Softwaretechnik. Überblick I. Prof. Dr. Rainer Koschke. Sommersemester 2006 Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen Sommersemester 2006 Überblick I 1 Software-Produktlinien Software-Produktlinien:

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

Entwicklung einer domänenspezifischen Modellierungssprache. 12. November 2014

Entwicklung einer domänenspezifischen Modellierungssprache. 12. November 2014 Entwicklung einer domänenspezifischen Modellierungssprache 12. November 2014 Überblick Analyse einer Infrastruktur für mobile Anwendungen: Welche Anwendungen sollen generiert werden? Welche Architektur?

Mehr

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick Vorlesung Objektorientierte Softwareentwicklung Sommersemester este 2008 Kapitel 0. Java-Überblick Was sind die Ziele? Warum Java? Komplexe Anwendungen e-business verteilt zuverlässig sicher mobil persistent

Mehr

Entwicklungswerkzeuge

Entwicklungswerkzeuge Entwicklungswerkzeuge Werner Struckmann & Tim Winkelmann 10. Oktober 2012 Gliederung Anforderungen Projekte Debugging Versionsverwaltung Frameworks Pattern Integrated development environment (IDE) Werner

Mehr

MISRA bzw. Programmierstandards steigern die Softwarequalität! - Ist das überhaupt möglich?

MISRA bzw. Programmierstandards steigern die Softwarequalität! - Ist das überhaupt möglich? MISRA bzw. Programmierstandards steigern die Softwarequalität! - Ist das überhaupt möglich? Andreas Sczepansky - Geschäftsführer Tel.: + 49 (0) 711 138183-0 www.qasystems.de V-Modell für Softwaretests

Mehr

Softwarequalität. 20. Januar 2015

Softwarequalität. 20. Januar 2015 Softwarequalität 20. Januar 2015 Überblick Wie definiert man gute Software? Welche Qualitätskriterien gibt es für Software? Welche Qualitätsanforderungen leiten sich daraus ab? Wie erreicht man gute Software?

Mehr

Softwaretechnik. Prof. Dr. Rainer Koschke. Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen

Softwaretechnik. Prof. Dr. Rainer Koschke. Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen Wintersemester 2010/11 Überblick I Software-Produktlinien Software-Produktlinien:

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

Gliederung des Vortrages

Gliederung des Vortrages Gliederung des Vortrages Unified Modeling Language Rational Rose Sergej Schwenk Oktober 1999 0. Einführung 1. Historie 2. Der Entwicklungsprozeß 3. UML 3.1 Anwendungsfalldiagramme 3.2 Klassendiagramme

Mehr

Vorlesung Software-Reengineering

Vorlesung Software-Reengineering Vorlesung Software-Reengineering Prof. Dr. Rainer Koschke Arbeitsgruppe Softwaretechnik Fachbereich Mathematik und Informatik Universität Bremen Wintersemester 2009/10 Überblick I 1 I 1 Probleme statischer

Mehr

Software Engineering, SoSe 07, WSI, D. Huson, (Original Author: A. Zeller), 4. Juni 2007 45

Software Engineering, SoSe 07, WSI, D. Huson, (Original Author: A. Zeller), 4. Juni 2007 45 Software Engineering, SoSe 07, WSI, D. Huson, (Original Author: A. Zeller), 4. Juni 2007 45 7 Programmverstehen + Fehlersuche Nach einer Vorlesung von Prof. Andreas Zeller, Lehrstuhl Softwaretechnik Universität

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

Language Workbench. Aktuelle Themen der Softwaretechnologie. Vortrag von: Arthur Rehm Steven Cardoso. Betreut von: Prof. Dr.

Language Workbench. Aktuelle Themen der Softwaretechnologie. Vortrag von: Arthur Rehm Steven Cardoso. Betreut von: Prof. Dr. Language Workbench Vortrag von:! Aktuelle Themen der Softwaretechnologie Arthur Rehm Steven Cardoso Betreut von: Prof. Dr. Reichenbach [1] !2 Index Kontext Domain Specific Language (DSL) Language Workbench

Mehr

Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen

Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen Tom Krauß Agenda Begriffsdefinition Verfahren Praktische Beispiele Vergleich und Bewertung Begriffsklärung

Mehr

Vorlesung Software-Reengineering

Vorlesung Software-Reengineering Vorlesung Software-Reengineering Prof. Dr. Rainer Koschke Arbeitsgruppe Softwaretechnik Fachbereich Mathematik und Informatik Universität Bremen Wintersemester 2010/11 Überblick I Methodik der Architekturrekonstruktion

Mehr

Vorlesung Software-Reengineering

Vorlesung Software-Reengineering Vorlesung Software-Reengineering Prof. Dr. Rainer Koschke Arbeitsgruppe Softwaretechnik Fachbereich Mathematik und Informatik Universität Bremen Wintersemester 2010/11 Überblick I Dynamische Analyse Dynamische

Mehr

Coma I. Einleitung. Computer und Algorithmen. Programmiersprachen. Algorithmen versus Programmiersprachen. Literaturhinweise

Coma I. Einleitung. Computer und Algorithmen. Programmiersprachen. Algorithmen versus Programmiersprachen. Literaturhinweise Coma I Einleitung 1 Computer und Algorithmen Programmiersprachen Algorithmen versus Programmiersprachen Literaturhinweise 2 Computer und Algorithmen Programmiersprachen Algorithmen versus Programmiersprachen

Mehr

Software-Metriken. B. Sc. Michael Thomas. Seminar Software-Entwurf WS 2004/05.

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

JSP JSTL. JEE Vorlesung Teil 6. Ralf Gitzel ralf_gitzel@hotmail.de

JSP JSTL. JEE Vorlesung Teil 6. Ralf Gitzel ralf_gitzel@hotmail.de JSP JSTL JEE Vorlesung Teil 6 Ralf Gitzel ralf_gitzel@hotmail.de 1 Übersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Wiederholung / Vertiefung JSTL Grundlagen JSTL Basisbefehle Templates über JSTL

Mehr

Software-Metriken. Dipl.-Ing.(BA) Henning Sievert 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

Code-Erzeugung aus UML-Klassendiagrammen

Code-Erzeugung aus UML-Klassendiagrammen Dominik 09.03.2009 Universität Ulm Gessenharter Inst. f. Programmiermethodik und Compilerbau Code-Erzeugung aus UML-Klassendiagrammen Theorie und Praxis Seite 2 REConf 2009 München Dominik Gessenharter

Mehr

Empirische Softwaretechnik Kosten und Nutzen von UML in der Wartung Dr. Victor Pankratius Andreas Höfer Wintersemester 2009/2010

Empirische Softwaretechnik Kosten und Nutzen von UML in der Wartung Dr. Victor Pankratius Andreas Höfer Wintersemester 2009/2010 Empirische Softwaretechnik Dr. Victor Pankratius Andreas Höfer Wintersemester 2009/2010 IPD Tichy, Fakultät für Informatik Pflichtlektüre hierzu: Dzidek, Arisholm, Briand, A Realistic Empirical Evaluation

Mehr

QADVICE. Forum 7-it. Software- und System-Qualitätssicherung für IT-Infrastrukturlösungen. Hermann Will 18.05.2010

QADVICE. Forum 7-it. Software- und System-Qualitätssicherung für IT-Infrastrukturlösungen. Hermann Will 18.05.2010 Forum 7-it Software- und System-Qualitätssicherung für IT-Infrastrukturlösungen Hermann Will 18.05.2010 18.05.2010 Copyright Hermann Will 2010 Folie 1 Agenda Einführung QS Testobjekte Teststrategie Testtechniken

Mehr

WhiteStarUML Tutorial

WhiteStarUML Tutorial WhiteStarUML Tutorial Autor: Simon Balázs, BME IIT, 2015. Übersetzung: Kovács Márton, 2015. Installation Herunterladen und installieren Sie das WhiteStarUML: http://sourceforge.net/projects/whitestaruml/

Mehr

Softwareentwicklung: Variablen, Risiken, wirtschaftliche Gesichtspunkte. Jens Müller TU-Dresden

Softwareentwicklung: Variablen, Risiken, wirtschaftliche Gesichtspunkte. Jens Müller TU-Dresden Softwareentwicklung: Variablen, Risiken, wirtschaftliche Gesichtspunkte TU-Dresden Variablen: Überblick Kosten (Personal, Material) Zeit (Projektdauer) Qualität (z.b. Funktionalität, Zuverlässigkeit) Leistungsumfang

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

BI für Testmanagementtools am Beispiel von QMetry

BI für Testmanagementtools am Beispiel von QMetry BI für Testmanagementtools am Beispiel von QMetry Daniel Geppert Seminar Seminar Business Intelligence und Data Mining www.verifysoft.com 16. Januar 2013 Übersicht 2 22 Einführung Warum Software Testen?

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

Kommerzielle Softwareentwicklung mit Haskell

Kommerzielle Softwareentwicklung mit Haskell Kommerzielle Softwareentwicklung mit Haskell Ein Erfahrungsbericht Stefan Wehr factis research GmbH, Freiburg im Breisgau 7. Oktober 2011, Hal6 in Leipzig Viele Fragen Wer sind wir? Wer bin ich? Wie setzen

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

ISIS. beleuchten, was sich bisher im Dunkeln verbarg verbessern, was bisher im Argen lag

ISIS. beleuchten, was sich bisher im Dunkeln verbarg verbessern, was bisher im Argen lag ISIS beleuchten, was sich bisher im Dunkeln verbarg verbessern, was bisher im Argen lag Inhalt Was ist Softwarequalität Was ist ISIS Die Philosophie dahinter Die Innovation Werkzeuge Projektlogbuch Sotograph

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 21. Oktober 2015 Automat versus Computer Ein Automat ist eine Maschine,

Mehr

Softwaretechnik. Vertretung von Prof. Dr. Blume Fomuso Ekellem WS 2011/12

Softwaretechnik. Vertretung von Prof. Dr. Blume Fomuso Ekellem WS 2011/12 Vertretung von Prof. Dr. Blume WS 2011/12 Inhalt Test, Abnahme und Einführung Wartung- und Pflegephase gp Vorlesung Zusammenfassung Produkte und Recht (Folien von Prof. Blume) 2 , Abnahme und Einführung

Mehr

Department of Computer Science Chair of Software Engineering Faculty of Engineering. Grundlagen der Softwarearchitektur (im Softwarepraktikum)

Department of Computer Science Chair of Software Engineering Faculty of Engineering. Grundlagen der Softwarearchitektur (im Softwarepraktikum) Grundlagen der Softwarearchitektur (im Softwarepraktikum) 1 ORGANISATORISCHES 2 Inhalt Was ist Softwarearchitektur? Dokumentieren mit UML Wie bewerte ich eine Softwarearchitektur? Wie plane ich eine Softwarearchitektur?

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

Detecting Anomaly and Failure in Web Applications

Detecting Anomaly and Failure in Web Applications Detecting Anomaly and Failure in Web Applications Motivation ReWeb & TestWeb case studies andere Tools Anhang Detecting Anomaly and Failure in Web Applications Stefan Topf 26.04.2006 Seite 1/13 Motivation

Mehr

Lehrbuch der Softwaretechnik: Basiskonzepte und Requirements Engineering

Lehrbuch der Softwaretechnik: Basiskonzepte und Requirements Engineering Helmut Balzert Lehrbuch der Softwaretechnik: Basiskonzepte und Requirements Engineering 3. Auflage Unter Mitwirkung von Heide Balzert Rainer Koschke Uwe Lämmel Peter Liggesmeyer Jochen Quante Spektrum

Mehr