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

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

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

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

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

Werkzeuggestützte Softwareprüfungen Statische Analyse und Metriken

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

Mehr

Qualitätsmanagement im Projekt

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

Mehr

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

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

Mehr

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

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

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

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

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

Lokale Installation von DotNetNuke 4 ohne IIS

Lokale Installation von DotNetNuke 4 ohne IIS Lokale Installation von DotNetNuke 4 ohne IIS ITM GmbH Wankelstr. 14 70563 Stuttgart http://www.itm-consulting.de Benjamin Hermann hermann@itm-consulting.de 12.12.2006 Agenda Benötigte Komponenten Installation

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

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

SEP 114. Design by Contract

SEP 114. Design by Contract Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit

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

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

Ohne Fehler geht es nicht Doch wie viele Fehler sind erlaubt?

Ohne Fehler geht es nicht Doch wie viele Fehler sind erlaubt? Ohne Fehler geht es nicht Doch wie viele Fehler sind erlaubt? Behandelte Fragestellungen Was besagt eine Fehlerquote? Welche Bezugsgröße ist geeignet? Welche Fehlerquote ist gerade noch zulässig? Wie stellt

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

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

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

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

Mehr

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

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:

Mehr

Testen mit JUnit. Motivation

Testen mit JUnit. Motivation Test First Design for Test in Eclipse (eigentlich: ) zu einer Klasse Beispiel zur Demonstration Ergänzungen Test First "Immer dann, wenn Du in Versuchung kommst, etwas wie eine print- Anweisung oder einen

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

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte

Mehr

Quick Guide Mitglieder

Quick Guide Mitglieder Fairgate Vereinssoftware Quick Guide Mitglieder Login Einloggen unter: http://my.fairgate.ch/zop/ Falls noch kein Passwort vorhanden ist, muss dieses angefordert werden. Dafür deine E-Mails Adresse in

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

Die Post hat eine Umfrage gemacht

Die Post hat eine Umfrage gemacht Die Post hat eine Umfrage gemacht Bei der Umfrage ging es um das Thema: Inklusion Die Post hat Menschen mit Behinderung und Menschen ohne Behinderung gefragt: Wie zufrieden sie in dieser Gesellschaft sind.

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch Ein Blick voraus des Autors von C++: Bjarne Stroustrup 04.06.2005 Conrad Kobsch Inhalt Einleitung Rückblick Nur eine Übergangslösung? Was würde C++ effektiver machen? Quelle 2 Einleitung Wo steht C++,

Mehr

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter Aufgabe 3: Konto Um Geldbeträge korrekt zu verwalten, sind zwecks Vermeidung von Rundungsfehlern entweder alle Beträge in Cents umzuwandeln und

Mehr

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

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

Mehr

Internet Explorer Version 6

Internet Explorer Version 6 Internet Explorer Version 6 Java Runtime Ist Java Runtime nicht installiert, öffnet sich ein PopUp-Fenster, welches auf das benötigte Plugin aufmerksam macht. Nach Klicken auf die OK-Taste im PopUp-Fenster

Mehr

Wissensdatenbankeintrag zur Classic Line Version CL 4.4 und SNC >= 5.2 WDB Artikel:

Wissensdatenbankeintrag zur Classic Line Version CL 4.4 und SNC >= 5.2 WDB Artikel: Wissensdatenbankeintrag zur Classic Line Version CL 4.4 und SNC >= 5.2 WDB Artikel: Bankenstamm aktualisieren (Version Classic Line 4.4, Sage New Classic >= 5.2) Um einen aktuellen Bankenstamm in der Classic

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

Java: Vererbung. Teil 3: super() www.informatikzentrale.de

Java: Vererbung. Teil 3: super() www.informatikzentrale.de Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und

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

Das System sollte den Benutzer immer auf dem Laufenden halten, indem es angemessenes Feedback in einer angemessenen Zeit liefert.

Das System sollte den Benutzer immer auf dem Laufenden halten, indem es angemessenes Feedback in einer angemessenen Zeit liefert. Usability Heuristiken Karima Tefifha Proseminar: "Software Engineering Kernkonzepte: Usability" 28.06.2012 Prof. Dr. Kurt Schneider Leibniz Universität Hannover Die ProSeminar-Ausarbeitung beschäftigt

Mehr

Algorithmen mit Python

Algorithmen mit Python Algorithmen mit Python Vorbesprechung zum Proseminar im Sommersemester 2009 http://www.python.org 1 Sie lernen in DAP Java und C/C++: 80% Syntax, 20% Algorithmen-Design Idee Schon ein einfaches Hello World

Mehr

Einführung in Eclipse und Java

Einführung in Eclipse und Java Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski Einführung in Eclipse und Java Dipl.Inf. Manuel Götz Lehrstuhl für Angewandte Informatik

Mehr

Benutzerverwaltung Business- & Company-Paket

Benutzerverwaltung Business- & Company-Paket Benutzerverwaltung Business- & Company-Paket Gemeinsames Arbeiten mit der easyfeedback Umfragesoftware. Inhaltsübersicht Freischaltung des Business- oder Company-Paketes... 3 Benutzerverwaltung Business-Paket...

Mehr

Was meinen die Leute eigentlich mit: Grexit?

Was meinen die Leute eigentlich mit: Grexit? Was meinen die Leute eigentlich mit: Grexit? Grexit sind eigentlich 2 Wörter. 1. Griechenland 2. Exit Exit ist ein englisches Wort. Es bedeutet: Ausgang. Aber was haben diese 2 Sachen mit-einander zu tun?

Mehr

PowerPoint 2010 Mit Folienmastern arbeiten

PowerPoint 2010 Mit Folienmastern arbeiten PP.002, Version 1.1 07.04.2015 Kurzanleitung PowerPoint 2010 Mit Folienmastern arbeiten Der Folienmaster ist die Vorlage für sämtliche Folien einer Präsentation. Er bestimmt das Design, die Farben, die

Mehr

Kleines Handbuch zur Fotogalerie der Pixel AG

Kleines Handbuch zur Fotogalerie der Pixel AG 1 1. Anmelden an der Galerie Um mit der Galerie arbeiten zu können muss man sich zuerst anmelden. Aufrufen der Galerie entweder über die Homepage (www.pixel-ag-bottwartal.de) oder über den direkten Link

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

Programmieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen

Programmieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen Programmieren 10. Tutorium 4./ 5. Übungsblatt Inhalt I. Übungsblatt 4 II. III. - Rückgabe und Besprechung - Vorbereitung auf Wiederholung/ Nachtrag - Operatorpräzedenzen IV. Übungsblatt 5 - Vorstellung

Mehr

Business-Rule-Management als Instrument des Software-Reengineering

Business-Rule-Management als Instrument des Software-Reengineering Business-Rule-Management als Instrument des Software-Reengineering Olaf Resch Olaf Resch am 4. Mai 2005 in Bad Honnef 1 Agenda Software und Wissen. Verschmelzung als Evolutionshindernis. Business-Rule-Technologie.

Mehr

How to do? Projekte - Zeiterfassung

How to do? Projekte - Zeiterfassung How to do? Projekte - Zeiterfassung Stand: Version 4.0.1, 18.03.2009 1. EINLEITUNG...3 2. PROJEKTE UND STAMMDATEN...4 2.1 Projekte... 4 2.2 Projektmitarbeiter... 5 2.3 Tätigkeiten... 6 2.4 Unterprojekte...

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Objektorientierte Programmierung OOP

Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte

Mehr

FUTURE NETWORK 20.11.2013 REQUIREMENTS ENGINEERING

FUTURE NETWORK 20.11.2013 REQUIREMENTS ENGINEERING 18/11/13 Requirements Engineering 21 November 2013 DIE GRUNDFRAGEN Wie erhält der Kunde den größten Nutzen? Wie kann der Kunde am besten spezifizieren, was er haben will? Welchen Detailierungsgrad braucht

Mehr

teischl.com Software Design & Services e.u. office@teischl.com www.teischl.com/booknkeep www.facebook.com/booknkeep

teischl.com Software Design & Services e.u. office@teischl.com www.teischl.com/booknkeep www.facebook.com/booknkeep teischl.com Software Design & Services e.u. office@teischl.com www.teischl.com/booknkeep www.facebook.com/booknkeep 1. Erstellen Sie ein neues Rechnungsformular Mit book n keep können Sie nun Ihre eigenen

Mehr

Softwareanforderungsanalyse

Softwareanforderungsanalyse Softwareanforderungsanalyse Evolution von Anforderungen Burkhardt Renz Institut für SoftwareArchitektur der Technischen Hochschule Mittelhessen Wintersemester 2015/16 Evolution von Anforderungen Anforderungen

Mehr

Some Software Engineering Principles

Some Software Engineering Principles David L. Parnas: Some Software Engineering Principles Marco Oppel 30.06.2004 Seminar Software-Architektur Institut für Informatik Humboldt Universität zu Berlin 1 Problemstellung Software Engineering Multi-Personen

Mehr

Vorlagen im Online Banking. Anlegen von Vorlagen

Vorlagen im Online Banking. Anlegen von Vorlagen Vorlagen im Online Banking Beiträge werden üblicherweise regelmäßig wiederkehrend eingezogen. Daher ist es sinnvoll, die Lastschriften mit den Bankdaten der Mitglieder als sogenannte Vorlagen anzulegen.

Mehr

Projektmanagement. Vorlesung von Thomas Patzelt 9. Vorlesung

Projektmanagement. Vorlesung von Thomas Patzelt 9. Vorlesung Projektmanagement Vorlesung von Thomas Patzelt 9. Vorlesung 1 Pläne Kein Plan überlebt die erste Feindberührung - Feldmarschall Helmuth von Moltke Prognosen sind schwierig, besonders wenn sie die Zukunft

Mehr

Übung 6: Feinentwurf. Prof. Dr. Dr. h.c. Manfred Broy Dr. Herbert Ehler, Martin Feilkas 6. Juli 2006 Bernd Spanfelner, Sebastian Winter

Übung 6: Feinentwurf. Prof. Dr. Dr. h.c. Manfred Broy Dr. Herbert Ehler, Martin Feilkas 6. Juli 2006 Bernd Spanfelner, Sebastian Winter Prof. Dr. Dr. h.c. Manfred Broy Sommersemester Dr. Herbert Ehler, Martin Feilkas 6. Juli 2006 Bernd Spanfelner, Sebastian Winter Einführung in die Softwaretechnik Übung 6: Feinentwurf Aufgabe 17: Entwurfsmuster

Mehr

Was bringt TDD wirklich?

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

Mehr

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007 Fachhochschule Bonn-Rhein-Sieg University of Applied Sciences Fachbereich Informatik Prof. Dr. Peter Becker Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Mehr

Klausur Softwaretechnik 3 22. Feb. 2008

Klausur Softwaretechnik 3 22. Feb. 2008 Klausur Softwaretechnik 3 22. Feb. 2008 Hinweise Bevor Sie mit der Bearbeitung der Aufgaben beginnen, müssen Sie auf allen Blättern Ihren Namen und Ihre Matrikelnummer eintragen. Prüfen Sie Ihre Klausur

Mehr

Schnittstelle DIGI-Zeiterfassung

Schnittstelle DIGI-Zeiterfassung P.A.P.A. die kaufmännische Softwarelösung Schnittstelle DIGI-Zeiterfassung Inhalt Einleitung... 2 Eingeben der Daten... 2 Datenabgleich... 3 Zusammenfassung... 5 Es gelten ausschließlich unsere Allgemeinen

Mehr

Installation des CMS-Systems Contao auf einem Windows-Rechner mit XAMPP

Installation des CMS-Systems Contao auf einem Windows-Rechner mit XAMPP XAMPP Installation des CMS-Systems Contao auf einem Windows-Rechner mit XAMPP XAMPP ist eine vollständig kostenlose, leicht zu installierende Apache-Distribution, die MySQL, PHP und Perl enthält. Das XAMPP

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

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

Client-Server-Beziehungen

Client-Server-Beziehungen Client-Server-Beziehungen Server bietet Dienste an, Client nutzt Dienste Objekt ist gleichzeitig Client und Server Vertrag zwischen Client und Server: Client erfüllt Vorbedingungen eines Dienstes Server

Mehr

Java Kurs für Anfänger Einheit 5 Methoden

Java Kurs für Anfänger Einheit 5 Methoden Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden

Mehr

Whitebox-Tests: Allgemeines

Whitebox-Tests: Allgemeines -Tests: Allgemeines Andere Bezeichnungen Logic driven, Strukturelles Der Tester entwickelt Testfälle aus einer Betrachtung der Ablauflogik des Programms unter Berücksichtigung der Spezifikation Intuitiv

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

Grundlagen von Python

Grundlagen von Python Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren

Mehr

Summenbildung in Bauteiltabellen mit If Then Abfrage

Summenbildung in Bauteiltabellen mit If Then Abfrage Summenbildung in Bauteiltabellen mit If Then Abfrage Die in Bauteiltabellen ausgelesenen Werte lassen sich in jeder Spalte als Summe berechnen. So können selbstverständlich die Flächen der in der Tabelle

Mehr

Second Steps in eport 2.0 So ordern Sie Credits und Berichte

Second Steps in eport 2.0 So ordern Sie Credits und Berichte Second Steps in eport 2.0 So ordern Sie Credits und Berichte Schritt 1: Credits kaufen, um Zugangscodes generieren zu können Wählen Sie Credits verwalten und klicken Sie auf Credits kaufen. Geben Sie nun

Mehr

Grundlagen der Programmierung Prof. H. Mössenböck. 3. Verzweigungen

Grundlagen der Programmierung Prof. H. Mössenböck. 3. Verzweigungen Grundlagen der Programmierung Prof. H. Mössenböck 3. Verzweigungen If-Anweisung n > 0? j n if (n > 0) x = x / n; ohne else-zweig x x / n j max x x > y? n max y if (x > y) max = x; else max = y; mit else-zweig

Mehr

Klausur Software-Engineering SS 2005 Iwanowski 23.08.2005

Klausur Software-Engineering SS 2005 Iwanowski 23.08.2005 Klausur Software-Engineering SS 2005 Iwanowski 23.08.2005 Hinweise: Bearbeitungszeit: 90 Minuten Erlaubte Hilfsmittel: im Anhang, sonst keine Bitte notieren Sie Ihre Antworten ausschließlich auf dem Aufgabenblatt!

Mehr

Starten Sie Eclipse: Hier tragen sie Ihr Arbeitsverzeichnis ein. Zu Hause z.b. c:\workspace.

Starten Sie Eclipse: Hier tragen sie Ihr Arbeitsverzeichnis ein. Zu Hause z.b. c:\workspace. Starten Sie Eclipse: Abgesehen vom Kommandozeilenfenster, auf welches wir später eingehen, öffnet sich ein Dialog (in der FH vermutlich nicht, überspringen Sie in diesem Fall): Hier tragen sie Ihr Arbeitsverzeichnis

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

Installationsanleitung. Hardlock Internal PCI Hardlock Server Internal PCI

Installationsanleitung. Hardlock Internal PCI Hardlock Server Internal PCI Installationsanleitung Hardlock Internal PCI Hardlock Server Internal PCI Aladdin Knowledge Systems 2001 Aladdin Document : Hardlock Internal PCI Guide D Hl-mn (10/2001) 1.1-00851 Revision: 1.1 Stand:

Mehr

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

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

Mehr

Produktvorstellung: CMS System / dynamische Webseiten. 1. Vorwort

Produktvorstellung: CMS System / dynamische Webseiten. 1. Vorwort ALEX IT-Service Ihr IT Servicepartner»ALEX-IT Service«16341 Panketal an unsere Kundschaft Ihr Zeichen, Ihre Nachricht Unser Zeichen Telefon, Name Datum CMS 13.01.2010 Produktvorstellung: CMS System / dynamische

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

Mehr

Einführung in PHP. (mit Aufgaben)

Einführung in PHP. (mit Aufgaben) Einführung in PHP (mit Aufgaben) Dynamische Inhalte mit PHP? 2 Aus der Wikipedia (verkürzt): PHP wird auf etwa 244 Millionen Websites eingesetzt (Stand: Januar 2013) und wird auf etwa 80 % aller Websites

Mehr

Download, Installation und Autorisierung der Lasergene Software. Bitte unbedingt beachten!

Download, Installation und Autorisierung der Lasergene Software. Bitte unbedingt beachten! Download, Installation und Autorisierung der Lasergene Software Bitte unbedingt beachten! Wichtig: Sie müssen für die Installation und Autorisierung als Administrator an Ihrem Computer angemeldet sein.

Mehr

Sehr geehrte Faktor-IPS Anwender,

Sehr geehrte Faktor-IPS Anwender, März 2014 Faktor-IPS 3.11 Das neue Release Faktor-IPS 3.11 steht Ihnen zum Download zur Verfügung. Wir informieren Sie über die neusten Feautres. Lesen Sie mehr Sehr geehrte Faktor-IPS Anwender, Auf faktorzehn.org

Mehr

3. Stored Procedures und PL/SQL

3. Stored Procedures und PL/SQL 3. Stored Procedures und PL/SQL Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln

Mehr

Angebot. UVV-Prüfungen und Wartungen von mobilen Abfallpressen

Angebot. UVV-Prüfungen und Wartungen von mobilen Abfallpressen Angebot UVV-Prüfungen und Wartungen von mobilen Abfallpressen Sehr geehrte Damen und Herrn, die Firma Allpress Ries führt UVV-Überprüfungen und Wartungen von Müllpressen seit ca. 1970 durch. Unsere Monteure

Mehr

Python SVN-Revision 12

Python SVN-Revision 12 Python SVN-Revision 12 Uwe Ziegenhagen 7. Januar 2012 Vorwort Dieses Skript erhebt keinen Anspruch auf Vollständigkeit oder Richtigkeit. Es wird geschrieben, um mir als Gedächtnisstütze für den Umgang

Mehr

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten Was sind Berechtigungen? Unter Berechtigungen werden ganz allgemein die Zugriffsrechte auf Dateien und Verzeichnisse (Ordner) verstanden.

Mehr

Prof. Dr. Uwe Schmidt. 21. August 2007. Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252)

Prof. Dr. Uwe Schmidt. 21. August 2007. Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252) Prof. Dr. Uwe Schmidt 21. August 2007 Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252) Zeit: 75 Minuten erlaubte Hilfsmittel: keine Bitte tragen Sie Ihre Antworten und fertigen

Mehr

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität

Mehr

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg. Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 Klausurteilnehmer Name: Matrikelnummer: Wichtige Hinweise Es sind keinerlei Hilfsmittel zugelassen auch keine Taschenrechner! Die Klausur dauert

Mehr

Operationalisierbare Qualitätskriterien für die Programmierung mit Erfahrungen aus PRÜ1 und PRÜ2

Operationalisierbare Qualitätskriterien für die Programmierung mit Erfahrungen aus PRÜ1 und PRÜ2 Operationalisierbare Qualitätskriterien für die Programmierung mit Erfahrungen aus PRÜ1 und PRÜ2 von Christoph Knabe http://public.beuth-hochschule.de/~knabe/ Ch. Knabe: Operationalisierbare Qualitätskriterien

Mehr

Proseminar: Website-Managment-System. NetObjects Fusion. von Christoph Feller

Proseminar: Website-Managment-System. NetObjects Fusion. von Christoph Feller Proseminar: Website-Managment-System NetObjects Fusion von Christoph Feller Netobjects Fusion - Übersicht Übersicht Einleitung Die Komponenten Übersicht über die Komponenten Beschreibung der einzelnen

Mehr

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Roboter programmieren mit NXC für Lego Mindstorms NXT 1. Auflage Roboter programmieren mit NXC für Lego Mindstorms NXT schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Verlag

Mehr

Einführung in die Informatik Tools

Einführung in die Informatik Tools Einführung in die Informatik Tools Werkzeuge zur Erstellung von Softwareprojekten Wolfram Burgard 8.1 Motivation Große Softwareprojekte werden schnell unübersichtlich. Änderungen im Code können leicht

Mehr

Übungen zu C++ Kapitel 1

Übungen zu C++ Kapitel 1 Übungen zu C++ Kapitel 1 Aufgabe 1 Ergänze den Text. a) Die sechs logischen Einheiten eines Computers sind Eingabe-Einheit, Ausgabe-Einheit, RAM, ALU, CPU, Plattenspeicher. b) Die Programme, welche Hochsprachenprogramme

Mehr

Übungsklausur vom 7. Dez. 2007

Übungsklausur vom 7. Dez. 2007 Übungsklausur vom 7. Dez. 2007 Ein Lösungsmuster Teilbereiche der Softwaretechnik Software Anforderungen Software Entwurf Software Konstruktion Software Test Software Wartung Software Konfigurationsmanagement

Mehr

Klausur in Programmieren

Klausur in Programmieren Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Wintersemester 2010/11, 17. Februar 2011 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt)

Mehr