Statische Programmanalysen für die Qualitätssicherung
|
|
- Kilian Schulze
- vor 8 Jahren
- Abrufe
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 Rainer Koschke Universität Bremen Workshop Software-Reengineering Bad Honnef 5. Mai 2005 Bauhaus Forschungskooperation
MehrSoftwarequalitä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
MehrQualitä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
MehrSoftwarequalitä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
Mehr12 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
MehrWerkzeuggestü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
MehrQualitä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
MehrKlassenentwurf. 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
MehrJ.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
MehrSoftwareentwicklungsprozesse. 18. Oktober 2012
Softwareentwicklungsprozesse 18. Oktober 2012 Überblick Was soll ein Softwareentwicklungsprozess leisten? Überblick über Softwareentwicklungsprozesse Welche gibt es? Warum gibt es mehrere? Diskussion:
MehrValidierung 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
MehrEmpirische 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
MehrReengineering 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?
MehrLokale 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
MehrSoftware 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
MehrSoftware-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,
MehrSEP 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
MehrGELEBTE ENTWICKLUNGSRICHTLINIEN
GELEBTE ENTWICKLUNGSRICHTLINIEN VOM VERSTAUBTEM PAPIERSTAPEL ZUM SPICKZETTEL FÜR ENTWICKLER BORIS WEHRLE ENTWICKLUNGSRICHTLINIEN Ein Programmierstil (engl. code conventions, coding conventions, coding
MehrInhalt. 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,
MehrOhne 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
MehrWhiteStarUML 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/
MehrVorlesung 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
MehrSoftware 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
MehrValidierung 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
MehrVorkurs 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:
MehrTesten 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
MehrValidierung 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
MehrEinfü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
MehrQuick 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
MehrWerkzeugunterstü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
MehrDie 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.
MehrProgrammierkurs 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
MehrEin 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++,
MehrInformatik 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
MehrPRÜ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
MehrInternet 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
MehrWissensdatenbankeintrag 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
MehrAbschlussvortrag 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
MehrJava: 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
MehrVerwendung 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
MehrDas 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
MehrAlgorithmen 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
MehrEinfü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
MehrBenutzerverwaltung 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...
MehrWas 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?
MehrPowerPoint 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
MehrKleines 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
MehrIndividuelle 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
MehrProgrammieren. 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
MehrBusiness-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.
MehrHow 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...
MehrObjektorientierte 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
MehrObjektorientierte Programmierung OOP
Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte
MehrFUTURE 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
Mehrteischl.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
MehrSoftwareanforderungsanalyse
Softwareanforderungsanalyse Evolution von Anforderungen Burkhardt Renz Institut für SoftwareArchitektur der Technischen Hochschule Mittelhessen Wintersemester 2015/16 Evolution von Anforderungen Anforderungen
MehrSome 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
MehrVorlagen 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.
MehrProjektmanagement. 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
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
MehrWas 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
MehrKlausur 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
MehrKlausur 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
MehrSchnittstelle 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
MehrInstallation 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
MehrModeling 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
MehrObjektorientierte 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
MehrClient-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
MehrJava 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
MehrWhitebox-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
MehrPrinzipien 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........................
MehrGrundlagen 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
MehrSummenbildung 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
MehrSecond 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
MehrGrundlagen 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
MehrKlausur 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!
MehrStarten 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
MehrPflichtenheft. 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...................................
MehrInstallationsanleitung. 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:
MehrVerhindert, 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:
MehrProduktvorstellung: 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
MehrTheoretische 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
MehrEinfü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
MehrDownload, 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.
MehrSehr 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
Mehr3. 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
MehrAngebot. 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
MehrPython 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
MehrOrdner 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.
MehrProf. 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
MehrAGROPLUS 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
MehrKlausurteilnehmer. 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
MehrOperationalisierbare 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
MehrProseminar: 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
Mehrschnell 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
MehrEinfü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 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 Ein Lösungsmuster Teilbereiche der Softwaretechnik Software Anforderungen Software Entwurf Software Konstruktion Software Test Software Wartung Software Konfigurationsmanagement
MehrKlausur 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