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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Funktionalität des Tickets: Ticket erstellen, Mitglieder einladen -> annehmen/ablehnen.

Funktionalität des Tickets: Ticket erstellen, Mitglieder einladen -> annehmen/ablehnen. 4. Aufgabenserie Pflichtenheft 1. Zielbestimmung Ziel des Projektes ist die Entwicklung eines Ticketsystems, auf der Basis der regionalen Geldplattform Cyclos. Mit dem Ticketsystem soll es möglich sein

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

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

Vorlesung Software-Reengineering

Vorlesung Software-Reengineering Vorlesung Software-Reengineering Prof. Dr. R. Koschke 1 D. Simon 2 1 Arbeitsgruppe Softwaretechnik Fachbereich Mathematik und Informatik Universität Bremen 2 Institut für Software Technologie Fakultät

Mehr

Code-Quality-Management

Code-Quality-Management Code-Quality-Management Technische Qualität industrieller Softwaresysteme transparent und vergleichbar gemacht von Frank Simon, Olaf Seng, Thomas Mohaupt 1. Auflage Code-Quality-Management Simon / Seng

Mehr

Die 7 Wege zum Clean Code

Die 7 Wege zum Clean Code Die 7 Wege zum Clean Code Über mich Claudio Altamura Softwareentwickler Certified ScrumMaster Interessen Agile Softwareentwicklung Softwarearchitekturen Java ccd2013@claudioaltamura.de 2 Inhalt 1. Statische

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

Effektiver Einsatz von Code-Reviews

Effektiver Einsatz von Code-Reviews Effektiver Einsatz von Code-Reviews Version: 1.4 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de info@oio.de 18. Java Forum Stuttgart 2015 Ihr Sprecher Thorsten Maier Trainer,

Mehr

Softwarewiederverwendung und Patterns

Softwarewiederverwendung und Patterns Begrifflichkeiten und Beschreibungssystematik Begriffe Literatur zu Patterns Übersicht über die behandelten Konzepte Beschreibungsschema 97 Begriffe Glossar Patterns (Muster) sind ein Mittel der Wiederverwendung

Mehr

Objektorientierte Softwareentwicklung SoSe 15

Objektorientierte Softwareentwicklung SoSe 15 Objektorientierte Softwareentwicklung SoSe 15 Heinz Faßbender Raum E148 Tel. 0241/6009 51913 Email: fassbender@fh-aachen.de www.fassbender.fh-aachen.de FH AACHEN UNIVERSITY OF APPLIED SCIENCES FACHBEREICH

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

Seminar Software-Architektur

Seminar Software-Architektur Hochschule Bonn-Rhein-Sieg Seminar Software-Architektur Vorstellung der Themen Seminar im Wintersemester 2012 / 2013 Prof. Dr. Sascha Alda (sascha.alda@h-brs.de) Vorstellung Prof. Dr. Sascha Alda Professor

Mehr

Requirements Engineering & Software Test - Synergien effektvoll nutzen

Requirements Engineering & Software Test - Synergien effektvoll nutzen Requirements Engineering & Software Test - Synergien effektvoll nutzen Software & Systems Quality Conference, 27.-29. Mai 2009 Düsseldorf, Deutschland Bernhard Rauter, BSc (Hons) Software-Test Berater

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

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

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

Systems Quality Day - Technical

Systems Quality Day - Technical Systems Quality Day - Technical Software Quality in der Praxis - Software-Qualitätsmanagement für den Mittelstand - Frank Guder, Tynos Bremen, 3. Juli 2008 Tynos Software-Qualität und Dienstleistungen

Mehr

Interne Softwarequalität sichtbar gemacht

Interne Softwarequalität sichtbar gemacht Ines Moosdorf Interne Softwarequalität sichtbar gemacht Seminar Beiträge zum Software Engineering Agenda Einleitende Worte zu interner Softwarequalität Paper 1: Monitoring Code Quality and Development

Mehr

Systematische Software-Qualität mittels einer durchgängigen Analyse- und Teststrategie

Systematische Software-Qualität mittels einer durchgängigen Analyse- und Teststrategie Insert picture and click Align Title Graphic. Systematische Software-Qualität mittels einer durchgängigen Analyse- und Teststrategie Dr. Dieter Lederer, Geschäftsführer Vector Consulting Services GmbH

Mehr

Software-Qualität Ausgewählte Kapitel

Software-Qualität Ausgewählte Kapitel Institut für Informatik! Martin Glinz Software-Qualität Ausgewählte Kapitel Kapitel 10 Qualitätsnormen" 2009-2011 Martin Glinz. Alle Rechte vorbehalten. Speicherung und Wiedergabe für den persönlichen,

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

Qualität ist nicht (nur) die Abwesenheit von Fehlern. Jede Aussage über Qualität ist eine Aussage von einer oder mehrere Personen.

Qualität ist nicht (nur) die Abwesenheit von Fehlern. Jede Aussage über Qualität ist eine Aussage von einer oder mehrere Personen. Beobachtungen Qualität ist nicht (nur) die Abwesenheit von Fehlern Qualität ist relativ Qualität ist die "Erfüllung der Anforderungen Qualität ist die "Erfüllung der Anforderungen einer Person Jede Aussage

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

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

Ziel der Software-Technik

Ziel der Software-Technik Vorlesung: Softwaretechnik I II. Software-Qualität Prof. Dr. Jens Grabowski Email Tel. 39 14 690 grabowski@cs.uni-goettingen.de SoftwEng (SS 07) II-1 Ziel der Software-Technik ist die effiziente Entwicklung

Mehr

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich

Mehr

Einführung in die Systemprogrammierung

Einführung in die Systemprogrammierung Einführung in die Systemprogrammierung Sprachen und Übersetzer Prof. Dr. Christoph Reichenbach Fachbereich 12 / Institut für Informatik 4. Juni 2015 Sprachen vs. Übersetzer Sprache C11 Übersetzer GNU C

Mehr

Objektorientiertes Programmieren für Ingenieure

Objektorientiertes Programmieren für Ingenieure Uwe Probst Objektorientiertes Programmieren für Ingenieure Anwendungen und Beispiele in C++ 18 2 Von C zu C++ 2.2.2 Referenzen und Funktionen Referenzen als Funktionsparameter Liefert eine Funktion einen

Mehr

Individuelle Erweiterung des generierten Codes. 16. Januar 2013

Individuelle Erweiterung des generierten Codes. 16. Januar 2013 Individuelle Erweiterung des generierten Codes 16. Januar 2013 Überblick Welche Möglichkeiten zur individuellen Erweiterung von generiertem Code gibt es? Innerhalb eines Moduls (Klasse) Auf Modulebene

Mehr

Applying the ISO 9126 Quality Model to Test Specifications

Applying the ISO 9126 Quality Model to Test Specifications Applying the ISO 9126 Quality Model to Test Specifications Exemplified for TTCN-3 Test Specifications Benjamin Zeiss 1, Diana Vega 2, Ina Schieferdecker 2, Helmut Neukirchen 1, Jens Grabowski 1 1 Gruppe

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

Thema: Testen von objektorientierter Software

Thema: Testen von objektorientierter Software Seminar Simulation und Bildanalyse mit Java Thema: Testen von objektorientierter Software Uta Dienst 1. Teil: Einführung in den Software-Test 2. Teil: JUnit-Einführung Uta Dienst 17.11.2003 2 1. Teil:

Mehr

Freie Universität Berlin Institut für Informatik Mining-Ansätze für Software Repositories

Freie Universität Berlin Institut für Informatik Mining-Ansätze für Software Repositories Freie Universität Berlin Institut für Informatik Mining-Ansätze für Software Repositories Nataliia Lashchyk Seminar Beiträge zum Software Engineering Übersicht Einführung Mining Software Repositories (MSR)

Mehr

Qualitätssicherung. Qualität Qualitätsattribute Die Bedeutung von Qualität Sicherstellen von Qualität Qualität und andere Eigenschaften von Software

Qualitätssicherung. Qualität Qualitätsattribute Die Bedeutung von Qualität Sicherstellen von Qualität Qualität und andere Eigenschaften von Software sattribute Die von Sicherstellen von und andere Eigenschaften von Software Partner-Diskussion: Diskutieren Sie mit einem Partner Was ist? Wie können Sie die von einem "beliebigen" Produkt bestimmen? Wie

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-Qualität Ausgewählte Kapitel

Software-Qualität Ausgewählte Kapitel Martin Glinz Software-Qualität Ausgewählte Kapitel Kapitel 1 Einführung Universität Zürich Institut für Informatik 2009 Martin Glinz. Alle Rechte vorbehalten. Speicherung und Wiedergabe sind für den persönlichen,

Mehr

Vorlesung: Methoden des Software Engineering

Vorlesung: Methoden des Software Engineering Software Engineering The application of a systematic, disciplined, quantifiable approach to the development,operation, and maintenance of software; that is, the application of engineering tosoftware. IEEE

Mehr

Software-Qualität im Rahmen modellgetriebener Softwareentwicklung

Software-Qualität im Rahmen modellgetriebener Softwareentwicklung Software-Qualität im Rahmen modellgetriebener Softwareentwicklung OFFIS Technologiecluster Enterprise Application Integration niels.streekmann@offis.de 09.07.2008 Seite 1 / 13 Software-Qualität: Unterschiedliche

Mehr

NICHT NUR DINOSAURIER STERBEN AUS! SOFTWARE-REENGINEERING: MODERNISIERTE SOFTWARE FÜR HEUTIGE SICHERHEITS- UND QUALITÄTSANFORDERUNGEN HACKER DAY 2015

NICHT NUR DINOSAURIER STERBEN AUS! SOFTWARE-REENGINEERING: MODERNISIERTE SOFTWARE FÜR HEUTIGE SICHERHEITS- UND QUALITÄTSANFORDERUNGEN HACKER DAY 2015 NICHT NUR DINOSAURIER STERBEN AUS! SOFTWARE-REENGINEERING: MODERNISIERTE SOFTWARE FÜR HEUTIGE SICHERHEITS- UND QUALITÄTSANFORDERUNGEN HACKER DAY 2015 SOFTWARE-REENGINEERING AGENDA 1. HERAUSFORDERUNGEN

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

Wieviel Usability Engineering braucht das Software Engineering?

Wieviel Usability Engineering braucht das Software Engineering? Wieviel Usability Engineering braucht das Software Engineering? Prof. Dr. Institut für Informatik Neuenheimer Feld 348 69120 Heidelberg http://www-swe.uni-heidelberg.de paech@informatik.uni-heidelberg.de

Mehr

ISO 25001 Der Weg zur Zertifizierung. Adrian Zwingli 06.05. 2010, 18.15 19.00 Uhr Messe Zürich

ISO 25001 Der Weg zur Zertifizierung. Adrian Zwingli 06.05. 2010, 18.15 19.00 Uhr Messe Zürich ISO 25001 Der Weg zur Zertifizierung Adrian Zwingli 06.05. 2010, 18.15 19.00 Uhr Messe Zürich Frage Würden Sie mit der Software Ihrer Organisation zum Mars fliegen? 3 !"#$ %&'(&'$ )*&+,$ -.+"/'0#$ 1%)-2$

Mehr

Plattformen mobiler Endgeräte Windows Phone, ios, Android

Plattformen mobiler Endgeräte Windows Phone, ios, Android Plattformen mobiler Endgeräte Windows Phone, ios, Android 13.12.2012 Inhaltsverzeichnis 1. Einführung 2. Ecosystem Smartphone OS 3. Mobile Software Platform 4. Android App Entwicklung 5. Zusammenfassung

Mehr

Qualität und Diagnose in automotiven Softwaresystemen. Fahrzeugelektronik im Fokus BadenBaden Spezial 18. Oktober 2006, BadenBaden

Qualität und Diagnose in automotiven Softwaresystemen. Fahrzeugelektronik im Fokus BadenBaden Spezial 18. Oktober 2006, BadenBaden Qualität und Diagnose in automotiven Softwaresystemen Fahrzeugelektronik im Fokus BadenBaden Spezial 18. Oktober 2006, BadenBaden Agenda Motivation Diagnose in automotiven Softwaresystemen Diagnose und

Mehr

Vertrauen ist gut. Dr. Florian Deißenböck. BITKOM Arbeitskreis Software Engineering. 8. Oktober 2014. Continuous Quality in Software Engineering

Vertrauen ist gut. Dr. Florian Deißenböck. BITKOM Arbeitskreis Software Engineering. 8. Oktober 2014. Continuous Quality in Software Engineering Vertrauen ist gut Dr. Florian Deißenböck BITKOM Arbeitskreis Software Engineering 8. Oktober 2014 Continuous Quality in Software Engineering Software Engineering Governance is the set of structures, processes

Mehr

Prinzipien Objektorientierter Programmierung

Prinzipien Objektorientierter Programmierung Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................

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

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

Qualität und Effizienz. Softwareentwicklung bei andrena objects

Qualität und Effizienz. Softwareentwicklung bei andrena objects Qualität und Effizienz Softwareentwicklung bei andrena objects Vorbemerkungen Worum es geht: effiziente Produktion von Software mit angemessener Qualität Die Qualität eines Softwaresystems resultiert aus

Mehr

Review und Analyse von Softwarearchitekturen

Review und Analyse von Softwarearchitekturen Review und Analyse von Softwarearchitekturen Vorgehensweisen und Werkzeuge Burkhardt Renz Institut für SoftwareArchitektur der Technischen Hochschule Mittelhessen Sommersemester 2015 Übersicht Architekturreview

Mehr

Einleitung. Literatur. Pierre Fierz. Architektur von Datenbanksystemen. Physische Datenunabhängigkeit. Der Datenbank Administrator (DBA) 1.

Einleitung. Literatur. Pierre Fierz. Architektur von Datenbanksystemen. Physische Datenunabhängigkeit. Der Datenbank Administrator (DBA) 1. Inhalt der Vorlesung Literatur 1 Datenmodellierung (Entity-Relationship Modell) 2 Das relationale Modell 3 Relationenalgebra 4 Datenbanksprache (SQL) 5 Normalisierung 6 Vom ERM zum Datenbankschema 7 Routinen

Mehr

Vorlesung Softwaretechnologie

Vorlesung Softwaretechnologie Vorlesung Softwaretechnologie 1 Einführung: Software, Qualität und Prinzipien SS 2014 TU Chemnitz Fakultät für Informatik Dr. Dirk Müller Software-Enthusiasmus in 1950ern Software mit riesigen Vorteilen

Mehr

Metriken und optimale Einsatzszenarien für Garbage Collectoren der Java HotSpot Virtual Machine

Metriken und optimale Einsatzszenarien für Garbage Collectoren der Java HotSpot Virtual Machine Metriken und optimale Einsatzszenarien für Garbage Collectoren der Java HotSpot Virtual Machine Michael Schmeißer michael@skamandros.de 25. September 2012 25.09.2012 Michael Schmeißer, Auswahl eines Garbage

Mehr

BSSE. Innovation & Fortschrittliche Software-Technologie Fähigkeiten & Dienstleistungen

BSSE. Innovation & Fortschrittliche Software-Technologie Fähigkeiten & Dienstleistungen BSSE Bessere + Sichere Software Effizient Erzeugen Innovation & Fortschrittliche Software-Technologie Fähigkeiten & Dienstleistungen Dr. Rainer Gerlich Auf dem Ruhbühl 181, D-88090 Immenstaad, Germany

Mehr

Ein Vergleich der Produktivität von Web Dynpro und Apache Struts

Ein Vergleich der Produktivität von Web Dynpro und Apache Struts Ein Vergleich der Produktivität von Web Dynpro und Apache Struts Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de info@oio.de Apache Struts v. Web Dynpro im SAP Web AS v 6.30 Sabine

Mehr

LEHRVERANSTALTUNGSBESCHREIBUNG

LEHRVERANSTALTUNGSBESCHREIBUNG LEHRVERANSTALTUNGSBESCHREIBUNG 1. Angaben zum Programm 1.1 Hochschuleinrichtung Babes-Bolyai Universität 1.2 Fakultät Mathematik und Informatik 1.3 Department Informatik 1.4 Fachgebiet Informatik 1.5 Studienform

Mehr

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008 PIWIN I Kap. 7 Objektorientierte Programmierung - Einführung 1 PIWIN I Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I Vorlesung 3 SWS WS 2007/2008 FB Informatik

Mehr

Block R (Rahmen): SE Aktivitäten 21.10.04 2. Vorlesung Methoden des Software Engineering. Block R Rahmen Aktivitäten der Software-Entwicklung

Block R (Rahmen): SE Aktivitäten 21.10.04 2. Vorlesung Methoden des Software Engineering. Block R Rahmen Aktivitäten der Software-Entwicklung Block R (Rahmen): SE Aktivitäten 21.10.04 1 Vorlesung Methoden des Software Engineering Block R Rahmen Aktivitäten der Software-Entwicklung Martin Wirsing Einheit R.2, 21.10.2004 Block R (Rahmen): SE Aktivitäten

Mehr

Tel. 0531 295-2599 E-Mail: Hartmut.Helmke@DLR.DE. Vorstellung der eigenen Person

Tel. 0531 295-2599 E-Mail: Hartmut.Helmke@DLR.DE. Vorstellung der eigenen Person Prof. Dr.-Ing. Hartmut Helmke in Deutsches Zentrum für Luft- und Raumfahrt e.v. (DLR) Institut für Flugführung Abteilung Lotsenassistenzsysteme Postfach 32 67 38108 Braunschweig Know-How-Abfrage Fragebogen

Mehr

- Antipatterns - der Softwareentwicklung. Tanja Brockmeier

- Antipatterns - der Softwareentwicklung. Tanja Brockmeier - Antipatterns - der Softwareentwicklung Tanja Brockmeier Antipatterns Definition Antipatterns: sind eine häufige wiederkehrende Lösungen, die fehlerhaft sind und Merkmale mit sich bringen, die unerwünscht

Mehr

URL: http://www.swt.tu-berlin.de/menue/studium_und_lehre/aktuelles_semester/ Modulbeschreibung

URL: http://www.swt.tu-berlin.de/menue/studium_und_lehre/aktuelles_semester/ Modulbeschreibung Titel des Moduls: Softwarequalität - Praxis Engl.: Applied Software Quality Verantwortlich für das Modul: Jähnichen, Stefan E-Mail: stefan.jaehnichen@tu-berlin.de Modulbeschreibung LP (nach ): 3 URL: http://www.swt.tu-berlin.de/menue/studium_und_lehre/aktuelles_semester/

Mehr

T4 - Testen im Software- Lebenszyklus

T4 - Testen im Software- Lebenszyklus AK 2 am Armin Beer, Siemens PSE und Wirtschaftlichkeitsaspekte Armin Beer, Siemens PSE 2 1 Aufgabe: Test einer Applikation aus dem Sozialversicherungsbereich Client-side Web Browser Network Internet Web

Mehr

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2008/2009

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2008/2009 PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 1 PIWIN I Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I Vorlesung 3 SWS WS 2008/2009 FB Informatik

Mehr

Effizientes Memory Debugging in C/C++

Effizientes Memory Debugging in C/C++ Effizientes Memory Debugging in C/C++ Adam Szalkowski Embedded Computing Conference 2014 Ursachen/ Symptome Debugging Tools Ursachen / Symptome Was habe ich falsch gemacht? Was kann denn passieren im schlimmsten

Mehr

DATA ANALYSIS AND REPRESENTATION FOR SOFTWARE SYSTEMS

DATA ANALYSIS AND REPRESENTATION FOR SOFTWARE SYSTEMS DATA ANALYSIS AND REPRESENTATION FOR SOFTWARE SYSTEMS Master Seminar Empirical Software Engineering Anuradha Ganapathi Rathnachalam Institut für Informatik Software & Systems Engineering Agenda Introduction

Mehr

RAID Redundant Array of Independent [Inexpensive] Disks

RAID Redundant Array of Independent [Inexpensive] Disks RAID Redundant Array of Independent [Inexpensive] Disks Stefan Wexel Proseminar Algorithms and Data Structures im WS 2011/2012 Rheinisch-Westfälische Technische Hochschule Aachen Lehrstuhl für Informatik

Mehr

Architekturelle Risikoanalyse am Beispiel von Android- Anwendungen

Architekturelle Risikoanalyse am Beispiel von Android- Anwendungen Architekturelle Risikoanalyse am Beispiel von Android- Anwendungen 12. Jahrestreffen der GI-Fachgruppe FoMSESS, 24.03.2015 Dr. Karsten Sohr TZI Universität Bremen Technologie-Zentrum Informatik und Informationstechnik

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

LINQ to SQL. Proseminar Objektorientiertes Programmieren mit.net und C# Christoph Knüttel. Institut für Informatik Software & Systems Engineering

LINQ to SQL. Proseminar Objektorientiertes Programmieren mit.net und C# Christoph Knüttel. Institut für Informatik Software & Systems Engineering LINQ to SQL Proseminar Objektorientiertes Programmieren mit.net und C# Christoph Knüttel Institut für Informatik Software & Systems Engineering Agenda 1. LINQ allgemein Vorteile Bausteine und Varianten

Mehr

PIWIN 1 Übung Blatt 5

PIWIN 1 Übung Blatt 5 Fakultät für Informatik Wintersemester 2008 André Gronemeier, LS 2, OH 14 Raum 307, andre.gronemeier@cs.uni-dortmund.de PIWIN 1 Übung Blatt 5 Ausgabedatum: 19.12.2008 Übungen: 12.1.2009-22.1.2009 Abgabe:

Mehr

Überdeckungsmessung von Java-Programmen

Überdeckungsmessung von Java-Programmen Überdeckungsmessung von Java-Programmen TAV 20, 16.-17. Oktober 2003 method-park, Erlangen Mario Winter, Hans-Gerd Wefels FH Köln Überdeckungsmessung von Java-Programmen Dynamischer Test in der Praxis

Mehr