SOMA Reverse Engineering
|
|
|
- Jonas Bach
- vor 10 Jahren
- Abrufe
Transkript
1 SOMA Reverse Engineering Univ.Prof. Dr. Franz Wotawa Institut für Softwaretechnologie
2 Inhalt Was versteht man unter Reverse Engineering? Techniken/Methoden Probleme VU Software Maintenance 2
3 Engineering vs. Reverse Engineering Idee Engineering Task Produkt/ System VU Software Maintenance 3
4 Abstraktion Wesentlicher Bestandteil von Reverse Engineering ist die Extraktion von Wissen auf einer geeigneten Verständnisebene. 3 Arten der Abstraktion: Funktionenabstraktion Datenabstraktion Prozeßabstraktion VU Software Maintenance 4
5 Funktionenabstraktion Prozedurabstraktion Gewinnung von Wissen über die Funktionsweise einer Funktion oder Prozedur. Beispiel: pop(s) nimmt das oberste Element vom Stack s und liefert es zurück. VU Software Maintenance 5
6 Datenabstraktion Gewinnung von Wissen über die verwendeten Datenmodelle ohne Berücksichtigung der Implementierungsdetails. Beispiel: Mengen/Set-Implementierung über Listen. VU Software Maintenance 6
7 Datenabstraktion Set Set union Set List List list_union List VU Software Maintenance 7
8 Prozeßabstraktion Gewinnung von Wissen über den Programmablauf/Prozeß. Das exakte Verhalten wird dabei nicht betrachtet. VU Software Maintenance 8
9 Ziele des Reverse Engineerings Wiederherstellung verlorener Information Unterstützung der Migration zwischen unterschiedlichen Plattformen Verbesserung bzw. Wiederherstellung von Dokumentation Bereitstellung unterschiedlicher Sichtweisen auf ein Programm Extraktion wiederverwertbarer Komponenten Unterstützung im Umgang mit Komplexitäten Erkennen von Seiteneffekten Reduktion des Wartungsaufwands VU Software Maintenance 9
10 Abstraction HIGH LOW Ebenen des Reverse Engineerings Specification Design Implementation Redocumentation Specification recovery Design recovery Redocumentation Redocumentation Reverse Engineering VU Software Maintenance 10
11 Redocumentation Ziel: Erzeugung von semantisch äquivalenter Dokumentation innerhalb der selben Abstraktionsebene. Zweck: Erzeugung alternativer Ansichten Verbesserung bestehender Dokumentation Erzeugung von Dokumentation eines modifzierten Programms VU Software Maintenance 11
12 Techniken Graphische Programmrepräsenation Control Flow Graphs (CFG) Struktogramme Entity-Relationship-Diagramme Klassendiagramme... VU Software Maintenance 12
13 Control-Flow-Graphs S1 E S1 S2 TRUE S1 FALSE S2 TRUE E FALSE S1; S2 if E then S1 else S2 do S1 while E VU Software Maintenance 13
14 Struktogramme S1; S2 S1 S2 if E then S1 else S2 true S1 E false S2 do S1 while E E S1 VU Software Maintenance 14
15 Beispiel public int foo (int x,y) { int i = 0; int result = 0; while (i < x) { result = result + y; i = i + 1; } return result; } VU Software Maintenance 15
16 Design Recovery Ziel: Gewinnung von höheren Abstraktionen direkt aus dem Source Code. Zweck: Gewinnung von Designinformation für Maintenance oder Neuentwicklung. Gewinnung für Wissen um andere Applikationen entwickeln zu können. VU Software Maintenance 16
17 Sichtweisen Design Recovery Erkennung von Kontrollstrukturen, Datentypen, Module, Klassenhierarchien. Erkennung von Muster Abhängig von der Domäne Ableitung der Softwarearchitektur eines Systems VU Software Maintenance 17
18 Programmiermuster while(i<a.length) do... F(A[i])... i=i+1;... Anwendung von F auf alle Elemente in einem Array end while; VU Software Maintenance 18
19 Specification Recovery Ziel: Gewinnung von Spezifikationswissen aus Systeminformationen (Source Code, Dokumentation,..). Notwendig wenn: Designwissen oft nicht ausreichend. Paradigmenshift im Design (Strukturierte Programmierung vs. OO) VU Software Maintenance 19
20 Wann ist Reverse Engineering notwendig? Fehlendes oder unvollständiges Design/Spezifikation Ungenügende Dokumentation Schlecht strukturierter Source Code Programmtransformation Sicherstellung Programmkompatibilität Migration auf andere HW/SW-Plattformen Steigende Fehlerrate Herstellung ähnlicher Produkte VU Software Maintenance 20
21 Umstrukturierung des Control-flow-driven Source Codes Beispiel: Code mit Goto s in strukturierten Code umwandeln. Efficiency-driven Adaption driven Beispiel: Änderung im Coding Style; Änderung der Programmiersprache bzw. des Programmiersprachenparadigmas VU Software Maintenance 21
22 Efficiency-driven Restructuring if Score = 1 then Grade = A ; elseif Score = 2 then Grade = B ; elseif Score = 3 then Grade = C ; elseif Score = 4 then Grade = D ; else Grade = F ; end if case Score of 1: Grade= A 2: Grade= B 3: Grade= C 4: Grade= D else Grade = F end case VU Software Maintenance 22
23 Offene Probleme Automatisierung des Reverse Engineerings Identifizierung von Konzepten eines hohen Abstraktionsgrades Namensgebungsproblem Vergebung von sinnvollen Namen für Konzepte Domänenabhängigkeit! VU Software Maintenance 23
24 Zusammenfassung Reverse Engineering dient zur Extraktion von Wissen über ein Programm Reverse Engineering behandelt keine Modifikationsaufgaben Reverse Engineering ist für den Maintenance Prozeß wichtig Reverse Engineering ist teilweise automatisierbar VU Software Maintenance 24
Seminar Werkzeuggestütze. tze Softwareprüfung. fung. Slicing. Sebastian Meyer
Seminar Werkzeuggestütze tze Softwareprüfung fung Slicing Sebastian Meyer Überblick Einführung und Begriffe Static Slicing Dynamic Slicing Erweiterte Slicing-Techniken Fazit 2 Was ist Slicing?? (I) Program
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
Einführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte
Tutorium Rechnerorganisation
Woche 2 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu
188.154 Einführung in die Programmierung für Wirtschaftsinformatik
Beispiel 1 Vererbung (Liste) Gegeben sind die beiden Klassen ListNode und PersonNode. 188.154 Einführung in die Programmierung für Wirtschaftsinformatik Wiederholung, Prüfungsvorbereitung Monika Lanzenberger
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
Codes und Informationsgehalt
Aufgaben 2 Codes und Informationsgehalt Auf wie viele Dezimalziffern genau können vorzeichenlose ganze Zahlen in einem binären Code der Länge 32 bit dargestellt werden? 2 Codes und Informationsgehalt Auf
Some Software Engineering Principles
David L. Parnas: Some Software Engineering Principles Marco Oppel 30.06.2004 Seminar Software-Architektur Institut für Informatik Humboldt Universität zu Berlin 1 Problemstellung Software Engineering Multi-Personen
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++,
E-PRIME TUTORIUM Die Programmiersprache BASIC
E-PRIME TUTORIUM Die Programmiersprache BASIC BASIC Beginner s All-purpose Symbolic Instruction Code symbolische Allzweck-Programmiersprache für Anfänger Design-Ziel klar: Eine einfache, für Anfänger geeignete
Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht
Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur UML-Klassendiagramme als Werkzeug im Unterricht Blitzlicht? In welcher Programmiersprache(n) unterrichten Sie?? In welchem Umfang unterrichten Sie Objektorientierung??
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
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.
Softwaretechnik (Allgemeine Informatik) Überblick
Softwaretechnik (Allgemeine Informatik) Überblick 1 Einführung und Überblick 2 Abstraktion 3 Objektorientiertes Vorgehensmodell 4 Methoden der Anforderungs- und Problembereichsanalyse 5 UML-Diagramme 6
8: Zufallsorakel. Wir suchen: Einfache mathematische Abstraktion für Hashfunktionen
Stefan Lucks 8: Zufallsorakel 139 Kryptogr. Hashfunkt. (WS 08/09) 8: Zufallsorakel Unser Problem: Exakte Eigenschaften von effizienten Hashfunktionen nur schwer erfassbar (z.b. MD5, Tiger, RipeMD, SHA-1,...)
Modul 122 VBA Scribt.docx
Modul 122 VBA-Scribt 1/5 1 Entwicklungsumgebung - ALT + F11 VBA-Entwicklungsumgebung öffnen 2 Prozeduren (Sub-Prozeduren) Eine Prozedur besteht aus folgenden Bestandteilen: [Private Public] Sub subname([byval
Softwaremetriken verstehen und nutzen
Softwaremetriken verstehen und nutzen Manuel Pichler http://manuel-pichler.de PHP Unconference Hamburg 12. September 2009 Über mich Manuel Pichler Total stolzer Papa Jahrgang 1978 Diplom Informatiker Softwarearchitekt
VBA-Programmierung: Zusammenfassung
VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens 1 Organisatorisches Freitag, 05. Mai 2006: keine Vorlesung! aber Praktikum von 08.00 11.30 Uhr (Gruppen E, F, G, H; Vortestat für Prototyp)
Jetzt sollt ihr von der Vorlage der Grundversion 1.0 ein eigenes Textadventure erstellen.
Teil B: Erweiterungen Jetzt sollt ihr von der Vorlage der Grundversion 1.0 ein eigenes Textadventure erstellen. Die folgenden Aufgaben und Ausführungen geben einige Hilfestellungen, welche (mindestens
Einfache Ausdrücke Datentypen Rekursive funktionale Sprache Franz Wotawa Institut für Softwaretechnologie [email protected]
Inhalt SWP Funktionale Programme (2. Teil) Einfache Ausdrücke Datentypen Rekursive funktionale Sprache Franz Wotawa Institut für Softwaretechnologie [email protected] Interpreter für funktionale Sprache
Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete
Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.4 Binäre Suche Aufgabenstellung: Rate eine Zahl zwischen 100 und 114! Algorithmus 4.1 INPUT: OUTPUT:
Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.
1 2 3 4 Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg. Gerade beim Einstig in der Programmierung muss kontinuierlich
2015-06-11 Tagesprogramm
1 2015-06-11 Tagesprogramm Design-by-Contract 2 Vertragspartner Anbieter (Server) bietet Leistungen (Services) an Kunde (Client) nimmt von Anbietern angebotene Leistungen in Anspruch Details der Inanspruchnahme
Methodische Grundlagen des Software Engineering - Übung 9
Engineering - Übung 9 9 Prozess und Softwarequalität Abgabe der Hausaufgaben am Anfang der jeweiligen Präsenzübung am 14.06.2011 bzw. 15.06.2011. Hinweise und Kontakt: Veranstaltungsseite 1 9.1 Grundlagen
Lehrstuhl Informatik VI Grundzüge der Informatik * WS 2008/2009 Prof. Dr. Joachim Biskup
Universität Dortmund Lehrstuhl Informatik VI Grundzüge der Informatik * WS 28/29 Prof. Dr. Joachim Biskup Leitung der Übungen: Arno Pasternak Lösungs-Ideen Übungsblatt 6 A: Grammatiken, Syntaxdiagramme
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
Software Engineering. Bibliographisches Institut & F. A. Brockhaus AG, Mannheim; Spektrum Akademischer Verlag GmbH, Heidelberg, 2003
Software Engineering Softwaretechnik Softwaretechnologie, Software Engineering (engl.) das, -, Teilgebiet der Informatik, das sich mit Methoden und Werkzeugen für das ingenieurmäßige Entwerfen, Herstellen
Evaluation of Database Design and Reverse Engineering Tools for a Large Software System
Evaluation of Database Design and Reverse Engineering Tools for a Large Software System Anne Thomas TU Dresden Dr. B. Demuth Pre Press GmbH (Dresden) T. Reuter Gliederung Einleitung Vorgehensweise Kontext
Client-Server-Beziehungen
Client-Server-Beziehungen Server bietet Dienste an, Client nutzt Dienste Objekt ist gleichzeitig Client und Server Vertrag zwischen Client und Server: Client erfüllt Vorbedingungen eines Dienstes Server
Projektverwaltung Problem Lösung: Modulare Programmierung
Projektverwaltung Problem Der Sourcecode ür ein Programm wird immer länger und unübersichtlicher Eine Funktion, die in einem alten Projekt verwendet wurde, soll auch in einem neuen Projekt verwendet werden
Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...
PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:
IKP Uni Bonn Medienpraxis EDV II Internet Projekt
IKP Uni Bonn Medienpraxis EDV II Internet Projekt WS 2001/2002 Dozentin: Lucie Prinz Grundlagen der Projektarbeit Was ist ein Projekt? Die Phasen eines Software Projektes Die Projektunterlagen Die Projektplanung
II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:
Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen
StuPro-Seminar Dokumentation in der Software-Wartung. StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung.
StuPro-Seminar Dokumentation in der Software-Wartung StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung Folie 1/xx Software-Wartung: theoretisch Ausgangslage eigentlich simpel: fertige
Kapitel 2: Der Software-Entwicklungsprozess
Wie konstruiert man Software? Kapitel 2: Der Software-Entwicklungsprozess SoPra 2008 Kap. 2: Der Software-Entwicklungsprozess (1/10) Der Software-Entwicklungs-Prozess Historisches 1960JJ adhoc Techniken
Vorkurs C++ Programmierung
Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:
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
Programmieren Lernen mit BYOB. Gerald Futschek 5. November 2012
Programmieren Lernen mit BYOB Informatiktag 2012 Gerald Futschek 5. November 2012 Erste Programmier Schritte in der Schule Sehr viele verschiedene Dinge zu lernen: Syntax und Semantik der Befehle, Algorithmen,
Ein einfaches Modell zur Fehlerfortpflanzung
Ein einfaches Modell zur Fehlerfortpflanzung Jens Chr. Lisner [email protected] ICB / Universität Duisburg-Essen AK Fehlertoleranz 11/2006 p. Problemstellung Üblich bei der Formalisierung von Systemen:
Test-Driven Design: Ein einfaches Beispiel
Test-Driven Design: Ein einfaches Beispiel Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer SS 06 2 Ziele Veranschaulichung der Technik des Test-Driven Design am Beispiel eines Programms
Klausur Software Engineering für WI (EuI)
Autor: Prof. Dr. Bernhard Humm, FB Informatik, FH Darmstadt Datum: 14. Februar 2006 Klausur Software Engineering für WI (EuI) Ihr Name: Ihre Matrikelnummer Erreichte Punkte (von insgesamt 57 Punkten):
Was ist Logische Programmierung?
Was ist Logische Programmierung? Die Bedeutung eines Computer-Programms kann durch Logik erklärt werden. Die Idee der logischen Programmierung besteht darin, die Logik eines Programms selber als Programm
Inhaltsverzeichnis. Beschreibung. Hintergrund
SiGS Web SGD Online Produktinformation Inhaltsverzeichnis Beschreibung... 1 Hintergrund... 1 Voraussetzungen... 2 Benutzung... 2 Startmaske... 2 Ansicht SGD... 3 Ansicht Kurzinfo... 3 Ansicht Baum... 4
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
Metadaten bei der Digitalisierung von analogen archivalischen Quellen. Kathrin Mileta, Dr. Martina Wiech
Metadaten bei der Digitalisierung von analogen archivalischen Quellen Kathrin Mileta, Dr. Martina Wiech 2014 Metadaten Aufgabe des LAV NRW im DFG-Pilotprojekt zur Digitalisierung archivalischer Quellen:
Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008
Konzeption und Implementierung einer automatisierten Testumgebung, 10. Dezember 2008 1 Gliederung Einleitung Softwaretests Beispiel Konzeption Zusammenfassung 2 Einleitung Komplexität von Softwaresystemen
Gründe für fehlende Vorsorgemaßnahmen gegen Krankheit
Gründe für fehlende Vorsorgemaßnahmen gegen Krankheit politische Lage verlassen sich auf Familie persönliche, finanzielle Lage meinen, sich Vorsorge leisten zu können meinen, sie seien zu alt nicht mit
Übungen für Woche 10
Übungen für Woche 10 Martin Rubey 12. Januar 2011 Die folgenden Übungen sollen den Umgang mit Backtracking und kombinatorischen Spezies näherbringen. Genaue Hinweise gibt es erst auf Seite 5. Zur Erinnerung:
POINT. of Reha Sport e.v. Reha-Sport. Der Wegweiser zum. Eine Information für Patientinnen, Patienten und Angehörige
POINT of Reha Sport e.v. Der Wegweiser zum Reha-Sport Eine Information für Patientinnen, Patienten und Angehörige Was ist Reha Sport? Reha Sport wird in Form von Wirbelsäulengymnastik und Bewegungsschule,
Ü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
Problemstellung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 24: Reflection 1. IDE und automatische Tests.
Universität Osnabrück 1 Problemstellung 3 - Objektorientierte Programmierung in Java Vorlesung 24: Reflection 1 SS 2006 Prof. Dr. Frank M. Thiesing, FH Osnabrück Um ein Objekt anzulegen, eine seiner Methoden
Theoretische Informatik I
Theoretische Informatik I Einheit 2.4 Grammatiken 1. Arbeitsweise 2. Klassifizierung 3. Beziehung zu Automaten Beschreibungsformen für Sprachen Mathematische Mengennotation Prädikate beschreiben Eigenschaften
Der Schutz von Patientendaten
Der Schutz von Patientendaten bei (vernetzten) Software-Medizinprodukten aus Herstellersicht 18.09.2014 Gerald Spyra, LL.M. Kanzlei Spyra Vorstellung meiner Person Gerald Spyra, LL.M. Rechtsanwalt Spezialisiert
Extending tl_member. Andreas Fieger (@fiedschmuc) 2015-10-08
Extending tl_member Andreas Fieger (@fiedschmuc) 2015-10-08 Übersicht Was wollen wir? Wie könnten wir es erreichen? Aufwand/Folgekosten? Was wollen wir? Felder in der Mitgliederverwaltung hinzufügen (z.b.
Robert Hartmann Public v1.0 (Feb 2015) Architektur & Agilität - Praxisbericht
Robert Hartmann Public v1.0 (Feb 2015) Architektur & Agilität - Praxisbericht 1 Agenda Vorstellung Architektur & Agilität Industriedomäne Praxisbeispiele Wie geht es weiter? 2/26/2015 2 Vorstellung Robert
ERP-Evaluation systematisch und sicher zum optimalen ERP-System
ERP-Evaluation systematisch und sicher zum optimalen ERP-System Risiken minimieren, Chancen nutzen durch ein strukturiertes Vorgehen basierend auf Anforderungen (Requirements Engineering) und Prozessoptimierung
Warum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität
Warum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität Marcus Winteroll oose GmbH Agenda I. Ziele und Zusammenarbeit II. Was wir vom agilen Vorgehen lernen
How to do? Projekte - Zeiterfassung
How to do? Projekte - Zeiterfassung Stand: Version 4.0.1, 18.03.2009 1. EINLEITUNG...3 2. PROJEKTE UND STAMMDATEN...4 2.1 Projekte... 4 2.2 Projektmitarbeiter... 5 2.3 Tätigkeiten... 6 2.4 Unterprojekte...
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
Programmierung für Mathematik (HS13)
software evolution & architecture lab Programmierung für Mathematik (HS13) Übung 5 1 Aufgabe: Eclipse IDE 1.1 Lernziele 1. Die Entwicklungsumgebung Eclipse einrichten. 2. Eclipse kennen lernen und mit
PHP Kurs Online Kurs Analysten Programmierer Web PHP
PHP Kurs Online Kurs Analysten Programmierer Web PHP Akademie Domani [email protected] Allgemeines Programm des Kurses PHP Modul 1 - Einführung und Installation PHP-Umgebung Erste Lerneinheit Introduzione
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
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
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
Beispiel 19. December 4, 2009
Beispiel 9 December 4, 2009 Computermathematik (für Informatik) 4. Übungsblatt (Musterlösung) 2. 2. 2009 Die heutigen Übungen sollen mit dem Computeralgebrasystem Sage gelöst werden. Die Lösung der Beispiele
RT Request Tracker. Benutzerhandbuch V2.0. Inhalte
RT Request Tracker V2.0 Inhalte 1 Was ist der RT Request Tracker und wo finde ich ihn?...2 2 Was möchten wir damit erreichen?...2 3 Wie erstelle ich ein Ticket?...2 4 Wie wird das Ticket abgearbeitet?...4
Constraint-Algorithmen in Kürze - Mit der Lösung zur Path-Consistency-Aufgabe 9
Constraint-Algorithmen in Kürze - Mit der Lösung zur Path-Consistency-Aufgabe 9 Prof. Dr. W. Conen Version 1.0c Januar 2009 Genereller Ablauf der Suche Gegeben: Variablen X, Domains D, Constraints R (explizit
Ökonomik der Agrar und Ernährungswirtschaft in ILIAS
ILIAS Open Source elearning Die ersten Schritte in ILIAS & Der Zugriff auf das Modul Ökonomik der Agrar und Ernährungswirtschaft in ILIAS Gliederung Login Einführung Was versteht man unter ILIAS? Hauptansichten
Informatik I Debugging
Der erste Computer-Bug Informatik I G. Zachmann Clausthal University, Germany [email protected] Grace Hopper Admiral, US Navy 2 4 Folgen von Programmfehlern 1962 führte ein fehlender Bindestrich
Konzepte der Informatik
Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens
Erster Bug: eine Motte
SOFTWAREFEHLER Der erste Bug Erster Bug: eine Motte Der Begriff Bug (deutsch: Motte) stammt aus dem Jahre 1945, als Ingenieure in einem Schaltrelais eines Computers (Harvard Mark II-System) eine Motte
Projektsteuerung Projekte effizient steuern. Welche Steuerungsinstrumente werden eingesetzt?
1.0 Projektmanagement Mitarbeiter, die Projekte leiten oder zukünftig übernehmen sollen Vermittlung von Grundwissen zur erfolgreichen Durchführung von Projekten. Die Teilnehmer erarbeiten anhand ihrer
Die Orgadata AG ist ein stark expandierendes Software-Unternehmen aus Leer. Mit unserem System LogiKal
HIER DREHT SICH ALLES UM IHRE ZUKUNFT Entwicklung einer Architektur für automatisierte UI-Tests Im Rahmen Ihrer entwickeln Sie eine Software-Lösung, die das automatische Bedienen und Befüllen der graphischen
Das System sollte den Benutzer immer auf dem Laufenden halten, indem es angemessenes Feedback in einer angemessenen Zeit liefert.
Usability Heuristiken Karima Tefifha Proseminar: "Software Engineering Kernkonzepte: Usability" 28.06.2012 Prof. Dr. Kurt Schneider Leibniz Universität Hannover Die ProSeminar-Ausarbeitung beschäftigt
DeltaVision Computer Software Programmierung Internet Beratung Schulung
Zertifikate von DeltaVision für Office Projekte 1 Einleitung: Digitale Zertifikate für VBA-Projekte DeltaVision signiert ab 2009 alle seine VBA Projekte. So ist für den Anwender immer klar, dass der Code
Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen
Übungen if / else / else if... 2... 2 Aufgabe 2:... 2 Aufgabe 3:... 2 Aufgabe 4:... 2 Aufgabe 5:... 2 Aufgabe 6:... 2 Aufgabe 7:... 3 Aufgabe 8:... 3 Aufgabe 9:... 3 Aufgabe 10:... 3 switch... 4... 4 Aufgabe
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
Häufig wiederkehrende Fragen zur mündlichen Ergänzungsprüfung im Einzelnen:
Mündliche Ergänzungsprüfung bei gewerblich-technischen und kaufmännischen Ausbildungsordnungen bis zum 31.12.2006 und für alle Ausbildungsordnungen ab 01.01.2007 Am 13. Dezember 2006 verabschiedete der
Mindestanforderungen an. Inland ECDIS Geräte im Informationsmodus und vergleichbare Kartenanzeigegeräte. zur Nutzung von Inland AIS Daten
Protokoll 2014-I-12, Anlage 2 Mindestanforderungen an Inland ECDIS Geräte im Informationsmodus und vergleichbare Kartenanzeigegeräte zur Nutzung von Inland AIS Daten an Bord von Fahrzeugen 12.6.2014 Seite
Dr. Monika Meiler. Inhalt
Inhalt 4 Einführung in die Programmiersprache Java (Teil II)... 4-2 4.4 Strukturierte Programmierung... 4-2 4.4.1 Strukturierung im Kleinen... 4-2 4.4.2 Addierer (do-schleife)... 4-3 4.4.3 Ein- Mal- Eins
Theoretische Grundlagen des Software Engineering
Theoretische Grundlagen des Software Engineering 11: Abstrakte Reduktionssysteme [email protected] Reduktionssysteme Definition: Reduktionssystem Ein Reduktionssystem ist ein Tupel (A, ) Dabei gilt: A
Leitfaden zu den Einstellungen in der Office Line anlässlich eines EU-Beitritts
Leitfaden zu den Einstellungen in der Office Line anlässlich eines EU-Beitritts erstellt am Beispiel Kroatien Mit 01.07.2013 tritt Kroatien der EU bei. Damit verbunden ändern sich im Bereich der Rechnungslegung
Adressen. Praktikum Funktionale Programmierung Organisation und Überblick. Termine. Studienleistung
Adressen Adressen, Termine Studienleistung Praktikum Funktionale Programmierung Organisation und Überblick Dr. David Sabel Büro und Email Raum 216, Robert-Mayer-Str. 11-15 [email protected]
Wirtschaftsinformatik I
Wirtschaftsinformatik I - Tutorium 6/ 7 (April 2010) Zusatzinformationen - Lösungsvorschläge Wirtschaftsinformatik I Tutorium Jochen Daum (4.Semester BWL) Universität Mannheim Rechtshinweis: Diese Präsentation
Bitte wenden. Name: KURSARBEIT NR. 4 (10 DIFF GA) 18.06.2002. Seite 1
Aufgabe 1: Gegeben ist das folgende Programm: PR figur :n :Länge WH 3 [ VW :Länge WENN :n>1 DANN ( RE 90 figur :n-1 :Länge/2 RW :Länge Seite 1 Zeichne das Bild, welches beim Aufruf der Prozedur mit figur
Passwortverwaltung : Token/SMS
UG-0132 Passwortverwaltung : Token/SMS V 1.1 10/05/2012 Deutsch Verzichterklärung Dieses Dokument kann nicht im Ganzen oder in Teilen wiederhergestellt werden ohne die vorherige ausdrückliche schriftliche
Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing
Fassade Objektbasiertes Strukturmuster C. Restorff & M. Rohlfing Übersicht Motivation Anwendbarkeit Struktur Teilnehmer Interaktion Konsequenz Implementierung Beispiel Bekannte Verwendung Verwandte Muster
Sortieren. Eine Testmenge erstellen
Sortieren Eine der wohl häufigsten Aufgaben für Computer ist das Sortieren, mit dem wir uns in diesem Abschnitt eingeher beschäftigen wollen. Unser Ziel ist die Entwicklung eines möglichst effizienten
Technische Dokumentation IPCalculator
Technische Dokumentation IPCalculator Version 1.0 Daut Musolli und Alexander Rieke Inhalt Einleitung... 1 Technische Details... 1 Konsolenanwendung... 1 Klassendiagramm... 1 Methoden... 1 Grafische Benutzeroberfläche...
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
Probeklausur Softwareengineering SS 15
Probeklausur Softwareengineering SS 15 Hinweis: Die Bearbeitungsdauer entspricht dem Punktewert. Aufgabe 1 (10 min) Beschreiben Sie das Vorgehensmodell Test-Driven-Development (TDD) a) Erläutern Sie das
Vortrag von: Ilias Agorakis & Robert Roginer
MDA Model Driven Architecture Vortrag von: Ilias Agorakis & Robert Roginer Anwendungen der SWT - WS 08/09 Inhalt Was ist MDA? Object Management Group (OMG) Ziele Konzepte der MDA Werkzeuge Vor- und Nachteile
Anleitung Grundsetup C3 Mail & SMS Gateway V02-0314
Anleitung Grundsetup C3 Mail & SMS Gateway V02-0314 Kontakt & Support Brielgasse 27. A-6900 Bregenz. TEL +43 (5574) 61040-0. MAIL [email protected] loxone.c3online.at Liebe Kundin, lieber Kunde Sie haben
Silca Software ERKLÄRUNG. February 2013 Copyright Silca S.p.A. V.2.0
ERKLÄRUNG Was ist eine KARTE? KARTE oder Gesamtheit der Parameter hinsichtlich Abstände, Frästiefe, Fräsbasis, Winkel, Bezug, Spannbacke, Fräser ( insgesamt etwa 250 Parameter für jede Schlüsselachse )
Java Einführung Collections
Java Einführung Collections Inhalt dieser Einheit Behälterklassen, die in der Java API bereitgestellt werden Wiederholung Array Collections (Vector, List, Set) Map 2 Wiederholung Array a[0] a[1] a[2] a[3]...
Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun. Java Projekt. Schiffe Versenken mit GUI
Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun Java Projekt Schiffe Versenken mit GUI 1. Über den Autor: Name: Marija Matejic Matrikelnummer: 9352571 E-mail: [email protected]
