Software Engineering. 12. Qualitätssicherung. Franz-Josef Elmer, Universität Basel, HS 2012

Größe: px
Ab Seite anzeigen:

Download "Software Engineering. 12. Qualitätssicherung. Franz-Josef Elmer, Universität Basel, HS 2012"

Transkript

1 Software Engineering 12. Qualitätssicherung Franz-Josef Elmer, Universität Basel, HS 2012

2 Software Engineering: 12. Qualitätssicherung 2 Qualitätssicherung Qualitätssicherung (engl. Quality Assurance QA) umfasst alle Tätigkeiten, die die Qualität der zu entwickelnden Software gewährleisten. Qualitätssicherung ist mehr als nur Testing: Es geht auch um die Qualität Qualitätsmanagement kümmert sich darum der Anforderungen der Spezifikationen der Architektur und des Design des GUI Design des Quellcodes der Dokumentation das Qualitätsstandards angewendet werden das Qualität regelmässig überprüft wird

3 Software Engineering: 12. Qualitätssicherung 3 Was ist Qualität? Einige Qualitätsmerkmale Gewichtung dieser Merkmale hängt von der Software ab Brauchbarkeit Effizienz Flexibilität Korrektheit Modularität Performanz Robustheit Testbarkeit Verständlichkeit Sicherheit Wartbarkeit Wiederverwendbarkeit Zuverlässigkeit sicherheits- oder lebenskritische Software Massenprodukt GUI Applikation oder Datenverarbeitung im Hintergrund eingebettetes System

4 Software Engineering: 12. Qualitätssicherung 4 Kann man Qualität messen? Teilweise, abhängig vom Qualitätsmerkmal: z.b. Performanz lässt sich sehr gut messen aber für Brauchbarkeit, Zuverlässigkeit und viele andere gibt es kein objektives Qualitätsmass Software Metriken: Statistiken über den Quellcode kein Mass der Codequalität geben Hinweise auf Schwachstellen im Code

5 Software Engineering: 12. Qualitätssicherung 5 Qualitätsüberprüfung Allgemeines Schema der Qualitätsüberprüfung: Artefakt produzieren /überarbeiten Qualität überprüfen [else] [gravierende Mängel festgestellt] Artefakte: Dokumente, Sourcecode und ausführbarer Code Überprüfung: Dokumente und Sourcecode: Review mit Checkliste Ausführbarer Code: Programmverifikation Testing Sourcecode und ausführbarer Code: Code Metriken statische Code Analyse

6 Software Engineering: 12. Qualitätssicherung 6 Code Review Review des Quellcodes durch einen oder mehrere Programmierer, die nicht die Autoren sind. Code Review nach Fagan (1976): Es treffen sich der Autor des Codes die Reviewers ein Moderator ein Protokollschreiber Die Rolle des Protokollschreibers kann vom Moderator übernommen werden. Minimale Zahl der Beteiligten ist 3 (Autor, Reviewer, Moderator). Mehr als 6 Personen ist Verschwendung von Zeit (und Geld) Vor dem Meeting: Moderator und Reviewers haben genügend Zeit sich den Code anzuschauen. Während des Meetings: Code wird Zeile für Zeile anhand einer Checkliste durchgegangen. Im Protokoll werden die Defekte festgehalten. Der Autor beantwortet Fragen und begründet seinen Code. Der Moderator leitet die Sitzung. Nach dem Meeting: Autor verbessert den Code.

7 Software Engineering: 12. Qualitätssicherung 7 Code Review Code Reading: Einer oder mehrere Programmierer bekommen denn Code. Ausgedruckt oder elektronisch. Jeder Programmierer liest für sich den Code und macht Anmerkungen. Mit Rotstift auf dem Papier oder als markierter Kommentar im Code. Der Autor bekommt den Code von jedem Programmierer zurück und verbessert den Code. Code Selektion für Review: Den ganzen Code zu begutachten ist in der Regel zu teuer. Selektionskriterien: Code, der oft die Quelle von Bugs ist. Sicherheitsrelevanter Code. Code, für den es schwierig ist, potentielle Fehler durch Tests zu finden. Komplexer Code (z.b. Implementierung eines Algorithmus). Code, der wichtige Kernfunktionalität abdeckt.

8 Software Engineering: 12. Qualitätssicherung 8 Code Review: Checklisten und Tools Checklisten helfen dem Reviewer beim Suchen von Schwachstellen und Defekte. Checklisten sind nie komplett. Nicht alle Punkte einer Checklisten sind für eine konkreten Review gleich wichtig: Ergänzend: Für API Code sind andere Kriterien wichtig als für ad-hoc Code. Unterstützung des Code Review durch Tools moderne IDEs erlauben schnelle Navigation und Suche Tools für statische Code Analysen Code Metriken

9 Software Engineering: 12. Qualitätssicherung 9 Code Review: Checkliste für Java 1. Lesbarkeit und Coding Standards 1. Sind die Namen von Klassen, Attribute, Methoden und Parameter sinnvoll (d.h., selbsterklärende und nicht zu lang)? 2. Ist der Code übersichtlich strukturiert? 3. Werden die Codingstandards eingehalten? 2. Kommentare 1. Kommentar sollte erläutern warum und nicht wie etwas programmiert wurde. 2. Ist komplexer Code ausreichend kommentiert? 3. Ist der Kommentar kurz und bündig? 4. Ist der Javadoc Kommentar sinnvoll für die Anwendungsprogrammierung, d.h. kann die Klasse als Black-Box benutzt werden? 5. Werden nicht offensichtliche Vor- und Nachbedingungen ausreichend kommentiert? 6. Ist die Benutzung von HMTL Code im Javadoc Kommentar korrekt und sinnvoll? 3. OO Prinzipien, Fehlerbehandlung, Codekomplexität und -korrektheit 1. Werden wichtige OO Designprinzipien eingehalten? 2. Werden mögliche Fehlerquellen erkannt und behandelt? 3. Werden Spezialfälle (null pointers, empty strings, empty arrays) korrekt behandelt? 4. Sind konstante Zahlen und Zeichenketten auch als Konstanten deklariert? 5. Sind die Methoden vom Zeilenumfang her noch überschaubar (< 50 Zeilen)? 6. Ist der Code zu komplex (z.b. zu viele Verzweigungen)? 7. Ist der Code korrekt? 8. Ist multi-threading Code thread-safe?

10 Software Engineering: 12. Qualitätssicherung 10 Bug = Software Fehler Definition: Wenn sich die Software nicht so verhält wie in den Anforderungen bzw. Spezifikationen beschrieben. Bug oder Feature? Implizite Annahmen in den Anforderungen Ungenaue Anforderungen und Spezifikationen Bug Klassifizierung nach Schweregrad. Z.B. Schwerwiegend: System oder wichtiges Teilsystem arbeitet nicht. Kritisch: Wichtige Anforderung kann nicht erfüllt werden. Normal: Anforderung kann nicht erfüllt werden, aber es gibt einen Workaround. Unbedeutend: Kleine Abweichungen von den Anforderungen, Tippfehler, GUI Layout Probleme, etc. Bug Tracking Tools (z.b. Bugzilla, Jira) Registrierung von Bugs. Jeder Bug hat einen Zustand. Suchfunktion Reporting Automatische s wenn Bug Zustand sich ändert.

11 Software Engineering: 12. Qualitätssicherung 11 Bug Lifcycle in Bugzilla

12 Software Engineering: 12. Qualitätssicherung 12 Testing und Programmverifikation Zwei Strategien zur Überprüfung der Software, ob diese die Anforderungen und die Spezifikationen erfüllt. Inputdatenraum Verifikation Tests

13 Software Engineering: 12. Qualitätssicherung 13 Testing versus Programmverifikation Tests überprüfen die Software anhand von typischen Input Daten Tests können nicht die Abwesenheit von Fehler beweisen. Sie können nur die Präsenz von Fehler aufzeigen. Grund: Tests überprüfen nur wenige Beispiele aus einer riesigen Menge von möglichen Inputs. Programmverifikation versucht mathematisch die Korrektheit des Programm zu beweisen. Voraussetzung: Mathematisch präzise Spezifikationen z.b. Interface mit math. formulierten Vor- und Nachbedingungen. Halteproblem: Verifikation nicht immer möglich. Nachteil: Grosser Aufwand Konsequenz: In der Regel Testing statt Programmverifikation

14 Software Engineering: 12. Qualitätssicherung 14 Testing Testfall (engl.: Test Case): Genaue Beschreibung eines Tests. Testfälle sollen die Menge der Eingabedaten stichprobenartig gut abdecken: typische Situationen Randsituationen fehlerhafte Eingaben Ziel: Vollständige Testabdeckung: Testing erfolgt manuell oder automatisch. Manuell: Ein Tester arbeitet den Test Case ab. Automatisch: Ein Test Programm führt den Test Case durch. Agile Softwareentwicklung: Teste oft! Jedes Detail der Anforderungen und der Spezifikationen wird durch Test Cases abgedeckt. Jedes Statement im Code wird durch mindestens einen Test Case abgedeckt. D.h. dieses Statement wird ausgeführt, wenn der Test Case abgearbeitet wird. Je öfter getestet wird, desto schneller werden Fehler gefunden kleiner sind die Konsequenzen der Fehler Voraussetzung: Automatische Tests.

15 Software Engineering: 12. Qualitätssicherung 15 Testing: Automatisch versus Manuell Automatisches Testen: Vorteile: Um Grössenordnungen schneller als manuelle Test. Jeder Zeit ausführbar zu praktisch keinen Kosten. Nachteile: Grösserer Aufwand um den Test Case zu programmieren und zu warten Wartungsaufwand durch Änderungen im Code. Manuelles Testen: Vorteile: Jeder kann testen, nicht nur Entwickler. Exploratives ad-hoc Testing, um bisher verborgene Bugs zu entdecken. Nachteile: Langsam, kostenintensiv Keine langwierigen, komplexen Tests möglich wegen Fehleranfälligkeit des menschlichen Testers.

16 Software Engineering: 12. Qualitätssicherung 16 Arten von Tests Black-Box Test Kenntnisse des Quellcodes sind nicht notwendig. White (Glass) Box Test Quellcode ist bekannt. Akzeptanz Test GUI Test Usability Test Black-Box Test zur Überprüfung der Anforderungen. Black-Box Test zur Überprüfung des Verhaltens der GUI. Test der Brauchbarkeit der Software aus Sicht des Benutzers. Unit (Modul) Test White-Box Test eines Moduls, einer Komponente oder Klasse. Regressions Test Überprüfung des Verhaltens im Vergleich zu einem früheren Verhalten, welches als korrekt eingestuft wurde.

17 Software Engineering: 12. Qualitätssicherung 17 Arten von Tests Integrations Test System Test Stress Test Überprüfung des Gesamtsystems. Performance Test Untersuchung des Systemverhaltens unter hoher Belastung. Überprüfung bzw. Messung des Resourcenverbrauchs (Speicher, CPU Zeit, etc). Sicherheits Test Überprüfung der Zusammenarbeit des (Teil)Systems mit der Umgebung. Überprüfung auf Sicherheitslücken.

18 Software Engineering: 12. Qualitätssicherung 18 GUI Test Tools Ermöglichen automatisches Testen von GUI Applikationen Fat Client (abhängig von der Programmiersprache und der benutzten Widget Bibliothek) Web (HTML) Client Typische Eigenschaften Recorder: Zeichnet Benutzeraktivitäten auf. Replay: Benutzeraktivitäten können wieder abgespielt werden. Überprüfung von Ausgaben. Eigene (Skript)Sprache für Benutzereingabe, Ablaufsteuerung und Überprüfung von Ausgaben.

19 Software Engineering: 12. Qualitätssicherung 19 Probleme bei automatischen GUI Tests Automatische GUI Tests brauchen Interaktionspunkte (IP) wie Buttons, Eingabefelder etc. GUI Testing Tools erkennen die IP nach anderen Kriterien als der Mensch: IP wird zwar erkannt ist aber nicht sichtbar. Änderung im grafischen Layout: IP wird nicht mehr erkannt. Layout Tests sind praktisch nicht möglich. Zu stark von der Umgebung abhängig (aktuelle Fonts, Farben, Grössen etc.). Soll-Ist Vergleich von Screenshots: Kleinste Änderungen führen zu detektierten Fehlern, die keine sind.

20 Software Engineering: 12. Qualitätssicherung 20 Arten der automatischen Analyse Code Metriken: Berechnung von Masszahlen, die (vielleicht) etwas über die Qualität des Codes aussagen. IEEE 1061: A function whose inputs are software data and whose output is a single numerical value that can be interpreted as the degree to which software possesses a given attribute that affects its quality. Verschiedene Typen von Metriken: Prozedurale Metriken Objektorientierte Metriken etc Report: Tabelle: Jede Zeile enthält alle gemessenen Metriken für eine Einheit des Codes. Granularität: Einheiten sind Module, Pakete, Klassen, Methoden, Funktionen etc. Überprüfung des Codes (engl. auditing): Aufspüren von Verstössen gegen Regeln. Kombiniert mit Code Metriken: Masszahl über- bzw. unterschreitet einen kritischen Wert. Report: Liste der Verstösse.

21 Software Engineering: 12. Qualitätssicherung 21 Einsatz automatischer Code Analysen Für die einzelnen Entwickler: Web Site mit den Reports. Integriert in IDE: Sofortige Warnung bei Regelverstössen. Für den Chefentwickler oder das Entwicklerteam: Übersicht Schnelles Auffinden von potentiellen Problemfeldern im Code. Für QA und Management: Status der aktuellen Codequalität im Projekt. Aber: Ergebnis muss korrekt interpretiert werden. Teil einer Analyse durch unabhängiger Gutachter.

22 Software Engineering: 12. Qualitätssicherung 22 Code Metriken Problem: Geeigneten Algorithmus finden, der es erlaubt aus dem (Quell-)Code eine Zahl zu berechnen, die die Qualität des Codes misst. Beispiel: Lines of Code (LOC): Zahl der Zeilen in Quellcode minus Zahl der Leerzeilen und Zeilen, die nur Kommentar enthalten. Fokus: Gesamtprojekt: Keine Qualitätsaussage möglich. Schätzung bzw. Validierung des Aufwands für Coding bzw. Testing. Voraussetzung: Erfahrung mit demselben Team, derselben Entwicklungsmethodologie und derselben Technologie. Fokus: Klasse, Methode: Hinweis auf Bad Smells grosse Klasse und lange Methode. Code Review der längsten Klassen und Methoden oder aller Klassen und Methoden für die LOC einen kritischen Wert überschreitet.

23 Software Engineering: 12. Qualitätssicherung 23 Prozedurale Metriken LOC: Lines of Code NCSS: Non-Commenting Source Statements: Zahl der Statements die keine Kommentare sind. Im Gegensatz zu LOC unabhängig von der Formatierung des Quellcodes. Beispiel: LOC: 7, NCSS: 4 /** Removes and returns the element * on the top of the stack. IllegalStateException * if the stack is empty. */ public Object pop() { if (isempty()) { throw new IllegalStateException( "Empty stack."); return _stack.remove(_stack.size()-1); Refactoring: Extract Method, Extract Class LOC: 9, NCSS: 4 /** Removes and returns the element * on the top of the stack. IllegalStateException */ public Object pop() { if (isempty()) { throw new IllegalStateException( "Empty stack."); return _stack.remove(_stack.size()-1);

24 Software Engineering: 12. Qualitätssicherung 24 Cyclomatic Complexity Number CCN: McCabe's Cyclomatic Complexity Number: Versuch, die prozedurale Komplexität einer Prozedur/Funktion/Methode zu messen. CCN = Zahl der Verzweigungen in Kontrollfluss Java: Jedes der folgenden Statements erhöht CCN um 1: if for while case catch Variante: CCN =Zahl der Verzweigungen + Zahl der Exit-Points Java: Jedes der folgendes Statements erhöht CCN auch um 1: return (auch implizites return beim Verlassen einer void Methode) throw

25 Software Engineering: 12. Qualitätssicherung 25 Cyclomatic Complexity Number: Beispiele CCN Variante in allen Beispielen LOC: 3, NCSS: 2, CCN: 1 void printhelloworld() { System.out.println("hello world"); 1: implizites return LOC: 15, NCSS: 19, CCN: 7 String[] getoperators(int[] codes) { String[] operators = new String[codes.length]; 1 for (int i = 0; i < codes.length; i++) { switch (codes[i]) { 2 case ADD: operators[i] = "add"; break; 3 case SUB: operators[i] = "sub"; break; 4 case MUL: operators[i] = "mul"; break; 5 case DIV: operators[i] = "div"; break; default: throw 6 new IllegalArgumentException( "unkown code: " + codes[i]); 7 return operators; LOC: 7, NCSS: 5, CCN: 2 void printhello(string name) { 1 if (name == null) { System.out.println("hello"); else { System.out.println("hello " + name); 2: implizites return

26 Software Engineering: 12. Qualitätssicherung 26 Cyclomatic Complexity Number Keine Aussage über Verständlichkeit des Codes Zwei Beispiele beide CCN = 9 String getoperator(int code) { switch (code) { case ADD: return "add"; case SUB: return "sub"; case MUL: return "mul"; case DIV: return "div"; default: throw new IllegalArgumentException( "unkown code: " + code); Regel: Auf alle Methoden mit CCN 10 sollte man einen Blick darauf werfen. Refactoring: Extract Method void execute(string text) { if (text == null) { throw new IllegalArgumentException( "Missing text"); StringTokenizer tokenizer = new StringTokenizer(text); while (tokenizer.hasmoretokens()) { String token = tokenizer.nexttoken(); if (token.equals(baq)) { int n = _borders.length; for (int i = 0; i < n; i++) { _borders[i].increment(); else if (token.equals(zop)) { if (_zone!= null) { _zone.reset(); else { _list.clear(); else if (_zone.isactive()) { _list.add(token);

27 Software Engineering: 12. Qualitätssicherung 27 Open Source Tools für Code Metriken CCCC: JavaNCSS: Tool in C geschrieben analysiert C, C++, Java Quellcode. Reports in XML und HTML Metriken: LOC, CCN und andere Tool in Java geschrieben analysiert Java Quellcode. Reports als Text, XML oder HTML. Metriken: NCSS, CCN und andere Für weitere Tools siehe

28 Software Engineering: 12. Qualitätssicherung 28 Classycle Open Source Tool Suite zur Analyse der Abhängigkeiten zwischen Java Klassen und Paketen: Analyser: In Java geschrieben analysiert kompilierte Java Klassen. Analyse der Klassen/Paket Abhängigkeiten. Reports in XML und HTML. Reports enthalten (unter anderem): Tabelle aller Klassen/Pakete: Grösse Zahl der Klassen/Pakete die dieses benutzen Zahl der Klassen/Pakete die von diesem benutzt werden (=CBO) Tabelle aller Zyklen (strong components) DependencyChecker: Findet unerwünschte direkte und indirekte Abhängigkeiten zwischen Klassen. Überprüft Schichtarchitektur. Regelbasiert

29 Software Engineering: 12. Qualitätssicherung 29 Classycle: Dependency Checker Überprüfung ob definierte Subgraphen voneinander direkt oder indirekt unabhängig sind. [set1] direkte Abhängigkeit [set2] indirekte Abhängigkeit Regeln (festgelegt in dependency definition files): check [set1] directlyindependentof [set2] check [set1] independetof [set2]

30 Software Engineering: 12. Qualitätssicherung 30 Classycle: Dependency Checker Überprüfung von Schichtarchitekturen: Layer C [set5] erlaubte direkte Abhängigkeit Layer B [set3] [set4] verbotene direkte Abhängigkeit bei strikter Schichtung Layer A [set1] [set2] Regeln: layer A = [set1] [set2] layer B = [set3] [set4] layer C = [set4] check layeringof A B C check strictlayeringof A B C

31 Software Engineering: 12. Qualitätssicherung 31 Links Jason Cohen: 11 proven practices for more effective, efficient peer code review

Software Engineering. 13. Qualitätssicherung. Franz-Josef Elmer, Universität Basel, WS 2006/07

Software Engineering. 13. Qualitätssicherung. Franz-Josef Elmer, Universität Basel, WS 2006/07 Software Engineering 13. Qualitätssicherung Franz-Josef Elmer, Universität Basel, WS 2006/07 Software Engineering: 13. Qualitätssicherung 2 Qualitätssicherung Qualitätssicherung (engl. Quality Assurance

Mehr

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

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

Mehr

Software Engineering. 12. Qualitätssicherung und Configuration Management. Franz-Josef Elmer, Universität Basel, HS 2009

Software Engineering. 12. Qualitätssicherung und Configuration Management. Franz-Josef Elmer, Universität Basel, HS 2009 Software Engineering 12. Qualitätssicherung und Configuration Management Franz-Josef Elmer, Universität Basel, HS 2009 Software Engineering: 12. Qualitätssicherung und Configuration Management 2 Qualitätssicherung

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

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

Softwareentwicklungsprozess im Praktikum. 23. April 2015

Softwareentwicklungsprozess im Praktikum. 23. April 2015 Softwareentwicklungsprozess im Praktikum 23. April 2015 Agile Softwareentwicklung Eine agile Methodik stellt die beteiligten Menschen in den Mittelpunkt und versucht die Kommunikation und Zusammenarbeit

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

Große Übung Praktische Informatik 1

Große Übung Praktische Informatik 1 Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,

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

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

Source Code Konverter... 2. Online: (VB.net <-> C#)... 3. Kommerzielle Produkte (VB, C#, C++, Java)... 3. Code Nachbearbeitung in der Praxis...

Source Code Konverter... 2. Online: (VB.net <-> C#)... 3. Kommerzielle Produkte (VB, C#, C++, Java)... 3. Code Nachbearbeitung in der Praxis... Autor: Thomas Reinwart 2008-05-05 office@reinwart.com Inhalt Source Code Konverter... 2 Online: (VB.net C#)... 3 Kommerzielle Produkte (VB, C#, C++, Java)... 3 Code Nachbearbeitung in der Praxis...

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

Übung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse

Übung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse Übung 03: Schleifen Abgabetermin: xx.xx.xxxx Name: Matrikelnummer: Gruppe: G1 (Prähofer) G2 (Prähofer) G3 (Wolfinger) Aufgabe Punkte gelöst abzugeben schriftlich abzugeben elektronisch Aufgabe 03.1 12

Mehr

Speicher in der Cloud

Speicher in der Cloud Speicher in der Cloud Kostenbremse, Sicherheitsrisiko oder Basis für die unternehmensweite Kollaboration? von Cornelius Höchel-Winter 2013 ComConsult Research GmbH, Aachen 3 SYNCHRONISATION TEUFELSZEUG

Mehr

Integrierte und automatisierte GUI-Tests in Java

Integrierte und automatisierte GUI-Tests in Java Integrierte und automatisierte GUI-Tests in Java Gliederung Die Idee hinter GUI-Tests Herausforderungen und Probleme Techniken Jemmy-Framework Konzeptorientiertes Testen FIT (Framework for Integrated Tests)

Mehr

Design by Contract with JML

Design by Contract with JML Thema: Design by Contract with JML Proseminar: Assertions Verfasser: Literatur: Betreuer: Natalya Moriz Gary T.Leavens and Yoonsik Cheon: Design by Contract with JML Prof. Dr. Heike Wehrheim 1 Inhalt DBC

Mehr

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 9 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:

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

Ausgangslage, Rolle und Auftrag

Ausgangslage, Rolle und Auftrag Ausgangslage, Rolle und Auftrag zum Modul 118 - Analysieren und strukturiert implementieren. Technische Berufsschule Zürich Seite 1 von 9 Frey A. /Sägesser A. Auftragsbeschreibung im Detail Sie haben sich

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In

Mehr

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Java Kurs für Anfänger Einheit 4 Klassen und Objekte Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse

Mehr

Einführung in Javadoc

Einführung in Javadoc Einführung in Javadoc Johannes Rinn http://java.sun.com/j2se/javadoc Was ist Javadoc? Javadoc ist ein Werkzeug, dass eine standardisierte Dokumentation für die Programmiersprache Java unterstützt. Vorteil:

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

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113

Mehr

Ein Tool für automatische Performancetests von Java3D Applikationen

Ein Tool für automatische Performancetests von Java3D Applikationen Ein Tool für automatische Performancetests von Java3D Applikationen Kristina Wunderlich A Tool for Automated Performance Testing of Java3D Applications in Agile Environments Xueling Shu, Frank Maurer;

Mehr

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche etutor Benutzerhandbuch Benutzerhandbuch XQuery Georg Nitsche Version 1.0 Stand März 2006 Versionsverlauf: Version Autor Datum Änderungen 1.0 gn 06.03.2006 Fertigstellung der ersten Version Inhaltsverzeichnis:

Mehr

Daniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers

Daniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns Daniel Warneke warneke@upb.de 08.05.2006 Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns 1/23 Übersicht Einleitung / Motivation Design Patterns Beispiele Rolle des

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Markup-basiertes Spezifikationsund Anforderungsmanagement in agilen Softwareprojekten

Markup-basiertes Spezifikationsund Anforderungsmanagement in agilen Softwareprojekten Roman Roelofsen Prof. Dr. Stephan Wilczek Markup-basiertes Spezifikationsund Anforderungsmanagement in agilen Softwareprojekten Konferenz Software Engineering & Management 2015 Dresden 19.03.2015 3 Rollen

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

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

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

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

Comparison of Software Products using Software Engineering Metrics

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

Mehr

2. Psychologische Fragen. Nicht genannt.

2. Psychologische Fragen. Nicht genannt. Checkliste für die Beurteilung psychologischer Gutachten durch Fachfremde Gliederung eines Gutachtens 1. Nennung des Auftraggebers und Fragestellung des Auftraggebers. 2. Psychologische Fragen. Nicht genannt.

Mehr

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse: Informationssystemanalyse Problemstellung 2 1 Problemstellung Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse: große Software-Systeme werden im Schnitt ein Jahr zu spät

Mehr

Graphic Coding. Klausur. 9. Februar 2007. Kurs A

Graphic Coding. Klausur. 9. Februar 2007. Kurs A Graphic Coding Klausur 9. Februar 2007 Kurs A Name: Matrikelnummer: Hinweise - Es sind keine Hilfsmaterialien erlaubt. (Keine Bücher, Taschenrechner, Handys) - Sie haben zwei Stunden Zeit. - Insgesamt

Mehr

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen Open Source professionell einsetzen 1 Mein Background Ich bin überzeugt von Open Source. Ich verwende fast nur Open Source privat und beruflich. Ich arbeite seit mehr als 10 Jahren mit Linux und Open Source.

Mehr

Software Engineering. 3. Anforderungsanalyse. Franz-Josef Elmer, Universität Basel, WS 2006/07

Software Engineering. 3. Anforderungsanalyse. Franz-Josef Elmer, Universität Basel, WS 2006/07 Software Engineering 3. Anforderungsanalyse Franz-Josef Elmer, Universität Basel, WS 2006/07 Software Engineering: 3. Anforderungsanalyse 2 Definitionen Anforderungen (Requirements): Beschreibung aller

Mehr

BIF/SWE - Übungsbeispiel

BIF/SWE - Übungsbeispiel BIF/SWE - Übungsbeispiel Arthur Zaczek Feb 2015 1 Allgemein 1.1 Ziele Ziele dieses Übungsbeispieles ist es: GUI: Implementierung einer grafischen Oberfläche mit JavaFX oder WPF UI-Komponente: Implementierung

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

Webcontrolling Umsetzung in die Praxis. Toll, und wie ist es wirklich?

Webcontrolling Umsetzung in die Praxis. Toll, und wie ist es wirklich? Webcontrolling Umsetzung in die Praxis Toll, und wie ist es wirklich? Über uns Die Scandio GmbH ist ein Software und IT-Consulting Unternehmen. Wir entwickeln individuelle Applikationen und beraten unsere

Mehr

Software Survivability

Software Survivability Software Survivability Ansatz zur Quantifizierung der Überlebensfähigkeit von Softwaresystem Seminar: Web-Qualitätsmanagement Sommersemester 2004 Gliederung 1. Einleitung 2. Survivability 3. Software Survivability

Mehr

GATE General Architecture for Text Engineering. Alexander Hein & Erik Dießler (VL Text Analytics - 08.05.2008)

GATE General Architecture for Text Engineering. Alexander Hein & Erik Dießler (VL Text Analytics - 08.05.2008) GATE General Architecture for Text Engineering Alexander Hein & Erik Dießler (VL Text Analytics - 08.05.2008) Überblick GATE Die Idee Die Architektur Was noch - JAPE / DIFF / GUK ANNIE Einige Beispiele

Mehr

Unsere Webapplikation erweitern

Unsere Webapplikation erweitern Unsere Webapplikation erweitern Um die Webapplikation zu benutzen: 1. Starten Sie den Server, indem Sie das Hauptprogramm in der Klasse ImdbServer starten. 2. Laden Sie im Browser die Seite http://localhost:8080/html/index.html.

Mehr

SDD System Design Document

SDD System Design Document SDD Software Konstruktion WS01/02 Gruppe 4 1. Einleitung Das vorliegende Dokument richtet sich vor allem an die Entwickler, aber auch an den Kunden, der das enstehende System verwenden wird. Es soll einen

Mehr

Fortgeschrittenes Programmieren mit Java. Test Driven Development

Fortgeschrittenes Programmieren mit Java. Test Driven Development Fortgeschrittenes Programmieren mit Java Test Driven Development Test getriebene Programmierung Benedikt Boeck Hochschule für Angewandte Wissenschaften Hamburg 6. November 2009 B. Boeck (HAW Hamburg) Test

Mehr

Programmierung in C. Grundlagen. Stefan Kallerhoff

Programmierung in C. Grundlagen. Stefan Kallerhoff Programmierung in C Grundlagen Stefan Kallerhoff Vorstellungsrunde Name Hobby/Beruf Schon mal was programmiert? Erwartungen an den Kurs Lieblingstier Für zu Hause C-Buch online: http://openbook.rheinwerk-verlag.de/c_von_a_bis_z/

Mehr

Softwareentwicklungspraktikum Sommersemester 2007. Grobentwurf

Softwareentwicklungspraktikum Sommersemester 2007. Grobentwurf Softwareentwicklungspraktikum Sommersemester 2007 Grobentwurf Auftraggeber Technische Universität Braunschweig

Mehr

SPI-Seminar : Interview mit einem Softwaremanager

SPI-Seminar : Interview mit einem Softwaremanager Erstellung eines Fragenkatalogs der die Beurteilung der Level 2 Key Process Areas in einem ca. einstündigen Interview mit einem Software Manager ermöglicht Vortrag von Matthias Weng 1 Aufbau Geschichte

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

Anleitung zu GermanLegal 1.3

Anleitung zu GermanLegal 1.3 Anleitung zu GermanLegal 1.3 Was sind permanente Rechnungen? In Deutschland macht man sich normalerweise über solche Dinge keine Gedanken. Wer als ISP WHMCS nutzt, muss dies aber. WHMCS erlaubt ungehinderte

Mehr

Erstellen von x-y-diagrammen in OpenOffice.calc

Erstellen von x-y-diagrammen in OpenOffice.calc Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei

Mehr

Programmierung 2. Übersetzer: Code-Erzeugung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland.

Programmierung 2. Übersetzer: Code-Erzeugung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland. 1 Programmierung 2 Übersetzer: Code-Erzeugung Sebastian Hack hack@cs.uni-saarland.de Klaas Boesche boesche@cs.uni-saarland.de Sommersemester 2012 Bytecodes Der Java Übersetzer erzeugt keine Maschinensprache

Mehr

GS-Buchhalter/GS-Office 2015 Saldovorträge in folgenden Wirtschaftsjahren erfassen

GS-Buchhalter/GS-Office 2015 Saldovorträge in folgenden Wirtschaftsjahren erfassen GS-Buchhalter/GS-Office 2015 Saldovorträge in folgenden Wirtschaftsjahren erfassen Impressum Business Software GmbH Primoschgasse 3 9020 Klagenfurt Copyright 2014 Business Software GmbH Die Inhalte und

Mehr

Software-Engineering und Optimierungsanwendungen in der Thermodynamik

Software-Engineering und Optimierungsanwendungen in der Thermodynamik Software-Engineering und Optimierungsanwendungen in der Thermodynamik Software-Engineering 5 Programmentwicklung und Debuggen mit IDE und CASE-Tools Übungen Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung

Mehr

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten

Mehr

WPF Steuerelemente Listbox, ComboBox, ListView,

WPF Steuerelemente Listbox, ComboBox, ListView, WPF Steuerelemente Listbox, ComboBox, ListView, Dr. Beatrice Amrhein Überblick Einführung Listen ComboBox Tabellen 2 Einführung 3 Listen- und Tabellen-Elemente Listen und Tabellen-Elemente sind Steuerelemente,

Mehr

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger Software Engineering (Übungsblatt 2) Sommersemester 2012, Dr. Andreas Metzger Übungsblatt-Themen: Prinzip, Technik, Methode und Werkzeug; Arten von Wartung; Modularität (Kohäsion/ Kopplung); Inkrementelle

Mehr

N N O B O X E N C H E C K. Learn more about (your) Innovation Management and how to make it even better! M A R I A T A G W E R K E R - S T U R M

N N O B O X E N C H E C K. Learn more about (your) Innovation Management and how to make it even better! M A R I A T A G W E R K E R - S T U R M N N O B O X E N C H E C K Learn more about (your) Innovation Management and how to make it even better! Die Entwicklung verschlingt so viel Geld. Der Kunde braucht das Produkt nicht. Keiner will die Entscheidung

Mehr

Standortbericht bintec elmeg GmbH

Standortbericht bintec elmeg GmbH Südwestpark 94 90449 Nürnberg (Germany) Tel. +49-911 9673-0 Standortbericht bintec elmeg GmbH Dieser Standortbericht zeigt die Ergebnisse des geplanten WLANs der bintec elmeg GmbH. Das Site Survey erfolgte

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

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

.NET Code schützen. Projekt.NET. Version 1.0

.NET Code schützen. Projekt.NET. Version 1.0 .NET Code schützen Projekt.NET Informationsmaterial zum Schützen des.net Codes Version 1.0 Autor: Status: Ablage: Empfänger: Seiten: D. Hoyer 1 / 6 Verteiler : Dokument1 Seite 1 von 1 Änderungsprotokoll

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

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

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

Mehr

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

Grundlagen der Programmierung Prof. H. Mössenböck. 14. Schrittweise Verfeinerung

Grundlagen der Programmierung Prof. H. Mössenböck. 14. Schrittweise Verfeinerung Grundlagen der Programmierung Prof. H. Mössenböck 14. Schrittweise Verfeinerung Entwurfsmethode für Algorithmen Wie kommt man von der Aufgabenstellung zum Programm? Beispiel geg.: Text aus Wörtern ges.:

Mehr

Testen und Testautomatisierung in agilen Projekten

Testen und Testautomatisierung in agilen Projekten Testen und Testautomatisierung in agilen Projekten DR. WILHELM HUMMER wh@techtalk.at COPYRIGHT 2011, TECHTALK - WWW.TECHTALK.AT Wie es zu diesem Vortrag kam COPYRIGHT 2011, TECHTALK - WWW.TECHTALK.AT Testen

Mehr

Workshop Java Webentwicklung Tapestry. Ulrich Stärk

Workshop Java Webentwicklung Tapestry. Ulrich Stärk Workshop Java Webentwicklung Tapestry Ulrich Stärk Webanwendungen Antwort im Browser des Benutzers sichtbar Anfrage geht ein Antwort rendern Anfrage an passenden Code weiterleiten 2 Servlets Servlet wird

Mehr

Free your work. Free your work. Wir wollen Ihnen die Freiheit geben, sich auf Ihr Geschäft zu konzentrieren.

Free your work. Free your work. Wir wollen Ihnen die Freiheit geben, sich auf Ihr Geschäft zu konzentrieren. Free your work. Free your work. Wir wollen Ihnen die Freiheit geben, sich auf Ihr Geschäft zu konzentrieren. 1 Automatische Verifikation von Anforderungen Dr. Guido Dischinger guido.dischinger@liantis.com

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

In vergleichsbasierten Suchbäumen wird nicht in Schlüssel hineingeschaut.

In vergleichsbasierten Suchbäumen wird nicht in Schlüssel hineingeschaut. Binäre Suchbäume Tries (Folie 182, Seite 58 im Skript) In vergleichsbasierten Suchbäumen wird nicht in Schlüssel hineingeschaut. In Tries entspricht die ite Verzweigung dem iten Zeichen des Schlüssels.

Mehr

Abschluss Version 1.0

Abschluss Version 1.0 Beschreibung Der Abschluss wird normalerweise nur einmal jährlich durchgeführt. Dieses Tech-Note soll helfen, diesen doch seltenen aber periodisch notwendigen Vorgang problemlos durchzuführen. Abschlussvarianten

Mehr

Erwin Grüner 09.02.2006

Erwin Grüner 09.02.2006 FB Psychologie Uni Marburg 09.02.2006 Themenübersicht Folgende Befehle stehen in R zur Verfügung: {}: Anweisungsblock if: Bedingte Anweisung switch: Fallunterscheidung repeat-schleife while-schleife for-schleife

Mehr

Die Zukunft der Arbeit ist dabei. Your time, our technologies

Die Zukunft der Arbeit ist dabei. Your time, our technologies Die Zukunft der Arbeit ist dabei Your time, our technologies ÜBER UNS Arca24 ist ein IT-Unternehmen, das sich auf Anwendungen im Human Resources Bereich spezialisiert hat. Dank der HR-Erfahrung seiner

Mehr

PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach

PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach - Projekt Personalverwaltung Erstellt von Inhaltsverzeichnis 1Planung...3 1.1Datenbankstruktur...3 1.2Klassenkonzept...4 2Realisierung...5 2.1Verwendete Techniken...5 2.2Vorgehensweise...5 2.3Probleme...6

Mehr

http://train-the-trainer.fh-joanneum.at IINFO Storyboard

http://train-the-trainer.fh-joanneum.at IINFO Storyboard IINFO Storyboard Allgemeine Bemerkungen und Richtlinien zur Handhabung. Das Storyboard besteht aus einem Web, d.h. einer vernetzten Struktur von HTML-Seiten welche später von den Programmieren direkt als

Mehr

T1 - Fundamentaler Testprozess

T1 - Fundamentaler Testprozess AK 2 am Armin Beer, Support Center Test der Software- Entwicklung 1 für einen erfolgreichen Test? Projektteam strebt nach Qualität Aufwände sind eingeplant (Richtwerte) 20 bis 30% des Gesamtaufwandes In

Mehr

Besprechung Übung 1 & Vorstellung Übung 2

Besprechung Übung 1 & Vorstellung Übung 2 Besprechung Übung 1 & Vorstellung Übung 2 Software Qualität, FS09 06.04.2009 Reinhard Stoiber Übung 1 Ergebnisse: grossteils gut Subversion (svn+ssh) auf Windows Server 2003 Bereitete Probleme mit Schreibrechten

Mehr

Der SAP BW-BPS Web Interface Builder

Der SAP BW-BPS Web Interface Builder Der SAP BW-BPS Web Interface Builder Projekt: elearning SAP BPS Auftraggeber: Prof. Dr. Jörg Courant Gruppe 3: Bearbeiter: Diana Krebs Stefan Henneicke Uwe Jänsch Andy Renner Daniel Fraede Uwe Jänsch 1

Mehr

Typumwandlungen bei Referenztypen

Typumwandlungen bei Referenztypen Typumwandlungen bei Referenztypen Genau wie es bei einfachen Typen Typumwandlungen gibt, gibt es auch bei Referenztypen Umwandlungen von einem Referenztypen in einen anderen Referenztypen, die wie bei

Mehr

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige

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

Einführung und Motivation

Einführung und Motivation Einführung und Motivation iks-thementag: Requirements Engineering 16.11.2010 Autor Carsten Schädel Motto Definiere oder Du wirst definiert. Seite 3 / 51 These Im Privatleben definiert jeder (seine) Anforderungen.

Mehr

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Einleitung Wenn in einem Unternehmen FMEA eingeführt wird, fangen die meisten sofort damit an,

Mehr

STORES2. Operation Manual Version 1.23.7. Warenretoure mit Zustimmung des Headquarter

STORES2. Operation Manual Version 1.23.7. Warenretoure mit Zustimmung des Headquarter STORES2 Operation Manual Version 1.23.7 Pag 2 da 16 1. Überprüfen Sie, ob Sie noch übrige Colli Strichcodes haben, die Sie früher erstellt, aber noch nicht verwendet haben. 2. Ansonsten drucken Sie sich

Mehr

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland OECD Programme for International Student Assessment Deutschland PISA 2000 Lösungen der Beispielaufgaben aus dem Mathematiktest Beispielaufgaben PISA-Hauptstudie 2000 Seite 3 UNIT ÄPFEL Beispielaufgaben

Mehr

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Übersicht Struts Forms Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Allgemeines Autor: Sascha Wolski http://www.laliluna.de/tutorials.html

Mehr

Planung für Organisation und Technik

Planung für Organisation und Technik Planung für Organisation und Technik MOA-VV Algorithmen-Beschreibung Version 0.0.2 Inhaltsverzeichnis 1. Die Vollmachtsprüfung... 3 1.1 Eingangsdaten... 3 1.2 einfache Vollmacht und Online-Vollmacht...

Mehr

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7 Java 7 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Dezember 2011 JAV7 5 Java 7 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen

Mehr

Welche Bereiche gibt es auf der Internetseite vom Bundes-Aufsichtsamt für Flugsicherung?

Welche Bereiche gibt es auf der Internetseite vom Bundes-Aufsichtsamt für Flugsicherung? Welche Bereiche gibt es auf der Internetseite vom Bundes-Aufsichtsamt für Flugsicherung? BAF ist die Abkürzung von Bundes-Aufsichtsamt für Flugsicherung. Auf der Internetseite gibt es 4 Haupt-Bereiche:

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

Einführung in die C++ Programmierung für Ingenieure

Einführung in die C++ Programmierung für Ingenieure Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF

Mehr

Besicomm Leistungserfassung

Besicomm Leistungserfassung Besicomm Leistungserfassung SAP CATS ist eine hervorragende Plattform zur Freigabe und Verteilung von Daten in diverse SAP Module. Besicomm Leistungserfassung bietet eine einfache smaske zu CATS welche

Mehr

Lösungsvorschläge. zu den Aufgaben im Kapitel 4

Lösungsvorschläge. zu den Aufgaben im Kapitel 4 Lösungsvorschläge zu den Aufgaben im Kapitel 4 Aufgabe 4.1: Der KNP-Algorithmus kann verbessert werden, wenn in der Funktion nexttabelle die Zuweisung next[tabindex] = ruecksprung; auf die etwas differenziertere

Mehr

HTML5. Wie funktioniert HTML5? Tags: Attribute:

HTML5. Wie funktioniert HTML5? Tags: Attribute: HTML5 HTML bedeutet Hypertext Markup Language und liegt aktuell in der fünften Fassung, also HTML5 vor. HTML5 ist eine Auszeichnungssprache mit der Webseiten geschrieben werden. In HTML5 wird festgelegt,

Mehr

Bedienungsanleitung: Onlineverifizierung von qualifiziert signierten PDF-Dateien

Bedienungsanleitung: Onlineverifizierung von qualifiziert signierten PDF-Dateien Sie haben von der VR DISKONTBANK GmbH ein signiertes PDF-Dokument (i.d.r. eine Zentralregulierungsliste mit dem Status einer offiziellen Rechnung) erhalten und möchten nun die Signatur verifizieren, um

Mehr