Programmverstehen 1: Der erste Kontakt mit dem System. Dr. Thorsten Arendt Marburg, 27. November 2014
|
|
- Matilde Geisler
- vor 8 Jahren
- Abrufe
Transkript
1 Programmverstehen 1: Der erste Kontakt mit dem System Dr. Thorsten Arendt Marburg, 27. November 2014
2 Überblick Was ist Forward-, Reverse- und Re-Engineering? Was sind Re-Engineering Patterns? Wie nähere ich mich einem unbekannten Softwaresystem? Die Richtung festlegen Der erste Kontakt Erstes Verstehen Erkennen des Designs Mehr Detailverständnis 2 Software-Evolution WS 2014/2015
3 Forward-Engineering Forward Engineering is the traditional process of moving from high-level abstractions and logical, implementation-independent designs to the physical implementation of a system. Die traditionelle Softwareentwicklung von den Anforderungen zur Implementierung. Verwendung eines Vorgehensmodells bzw. eines bestimmten Softwareentwicklungsprozesse meist iterativ, z.b. Spiralmodell von Boehm oder V-Modell XT oft (insbesondere in OSS) agil, z.b. Scrum, XP Abnehmendes Abstraktionsniveau [Demeyer et al.] 3 Software-Evolution WS 2014/2015
4 Reverse Engineering Reverse Engineering is the process of analyzing a subject system to identify the system s components and their interrelationships and create representations of the system in another form or at a higher level of abstraction. Entgegengesetzte Richtung zum Forward Engineering Die Analyse eines Softwaresystems mit dem Ziel, das System- Design zu erkennen. Anwendung von Reverse Engineering beim Versuch, die Arbeitsweise der Software zu verstehen als Vorbereitung eines Re-Engineering, z.b. durch Re-Dokumentieren der Software oder Identifizierung potentieller Probleme Zunehmendes Abstraktionsniveau [Demeyer et al.] 4 Software-Evolution WS 2014/2015
5 Informationsquellen im Reverse Engineering Lesen der vorhandenen Dokumentation Lesen des Quellcodes Anwendung der Software Interviews mit den Benutzern und/oder Entwicklern Implementieren und Ausführen von Testfällen Erstellen und Analysieren von (Ausführungs-) Traces Benutzung von Werkzeugen zum Erstellen von abstrakteren Ansichten des Quellcodes und bestimmter Traces Verlaufsanalyse der Versionierung der Software 5 Software-Evolution WS 2014/2015
6 Re-Engineering Reengineering... is the examination and alteration of a subject system to reconstitute it in a new form and the subsequent implementation of the new form. [Demeyer et al.] Transformation einer konkreten Implementierung in eine andere konkrete Implementierung Währenddessen werden abstrakte Artefakte erstellt Re-Engineering ist Reverse Engineering, Evolution und Forward Engineering Fragestellung: Was muss geändert und was muss ersetzt werden? Dabei treten häufig ähnliche technische Probleme auf 6 Software-Evolution WS 2014/2015
7 Der Weg kann steinig sein Im Großen Unzureichende Dokumentation Keine gute Architektur Zu wenig Modularität Duplizierter Code Duplizierte Funktionalität Im Kleinen Falsche Verwendung von Vererbung Fehlende Vererbung Operationen in falschen Klassen Verletzung von Kapselungen Klassen als Auffanglager 7 Software-Evolution WS 2014/2015
8 Forward-, Reverse- und Re-Engineering [Demeyer et al.] 8 Software-Evolution WS 2014/2015
9 Re-Engineering Patterns Patterns wurden ursprünglich in der Architektur eingesetzt, um verschiedene physikalische Strukturen systematisch zu entwickeln Jeder Aspekt wird als wiederkehrendes Muster dargestellt Anwendung einer auf die spezifischen Gegebenheiten zugeschnittenen generellen Lösung Erste Anwendung in der Softwareentwicklung durch Beschreibung wiederkehrender Lösungen für Design-Probleme (Design Patterns) Aber auch: Anwendung in Design- und Entwicklungsprozess Re-Engineering Patterns als wiederkehrende Lösungen für Probleme bei der Änderung bestehender Softwaresysteme 9 Software-Evolution WS 2014/2015
10 Gruppierung von Re-Engineering Patterns [Demeyer et al.] 10 Software-Evolution WS 2014/2015
11 Setting Direction: Die Richtung festlegen Probleme Zu viele Details: technische und prozessspezifische Wie sollen die Prioritäten gesetzt werden? Kommunikation mit dem anwesenden bzw. abwesenden Entwicklerteam Schwierige Entscheidungen: Einpacken, Ändern oder Neuschreiben von problematischen Altkomponenten Zu weitreichendes Re-Engineering 11 Software-Evolution WS 2014/2015
12 Grundsätze festlegen Prioritäten im Team festlegen Management möchte geringe Re-Engineering-Kosten. Nutzer möchten bessere Funktionalität. Entwickler möchten einen einfachen Job, aber den Job auch nicht verlieren. Wer ist wofür zuständig? Kann bezüglich der Re-Engineering-Aufgaben eventuell am Anfang noch nicht geklärt werden. Aber: Alle sind für die Evaluation (Testen, Debugging, etc.) zuständig. Zumindest ein Teammitglied sollte den Überblick über die Systemarchitektur behalten. 12 Software-Evolution WS 2014/2015
13 Mit welchen Problemen sollten wir starten? Mit den Problemen, die den Anwendern besonders wichtig sind. Wie erkennen wir, was wichtig ist? Das Geschäftsmodell erkennen Messbare Ziele bestimmen (z.b. bessere Antwortzeiten, schneller mit neuen Features auf dem Markt, etc.) Change Logs erzählen, welche Aktivitäten die wichtigsten waren. Was, wenn das wichtigste Problem zu groß ist? Zerteile es in kleinere, die in kurzer Zeit bearbeitet werden können. 13 Software-Evolution WS 2014/2015
14 Weitere Richtungs-Patterns Löse Probleme, nicht Symptome Anwender haben ihre eigene Sicht auf das System. Such das Problem hinter den Symptomen. Was nicht kaputt ist, sollte nicht angefasst werden. Kaputt ist, was nicht korrekt funktioniert, oder den Anforderungen nicht gerecht wird. Auch wenn es nicht schön ist Such eine einfache Lösung Besser eine einfache, spezifische Lösung als eine generelle, komplexe Lösung Synchronisiere das Team Kurze regelmäßige Treffen, um Informationen und Probleme auszutauschen sowie die weitere Richtung zu besprechen 14 Software-Evolution WS 2014/2015
15 Zusammenhang von Richtungs-Patterns [Demeyer et al.] 15 Software-Evolution WS 2014/2015
16 Gruppierung von Re-Engineering Patterns [Demeyer et al.] 16 Software-Evolution WS 2014/2015
17 First Contact: Der erste Kontakt Problem Softwaresysteme sind häufig groß und Zeit ist kostbar. Wie nähert man sich einem System möglichst effizient? Über das System reden Diskussion mit den Entwicklern Interview während einer Systemdemonstration Das System anschauen Lies den gesamten Code in einer Stunde! Überflieg die Dokumentation! Kompilation des Systems 17 Software-Evolution WS 2014/2015
18 Über das System reden: Diskussion mit den Entwicklern In welchem Zustand ist das Projekt? Typische Fragen: Was war der einfachste/schwierigste Bug in letzter Zeit? Wie werden Bugs/Features gesammelt/priorisiert? Wer entscheidet was? Wie funktioniert die Qualitätssicherung? Wer ist seit wann im Team? Wie gut ist der Code/die Dokumentation? 18 Software-Evolution WS 2014/2015
19 Lies den gesamten Code in einer Stunde! Voraussetzungen: Die Programmiersprache ist bekannt. Die Evolutionsaufgaben sind klar. Begleitende Fragen: Ist das Re-Engineering möglich? Welche Module (Pakete, Klassen) sind wichtig für die gestellten Evolutionsaufgaben? Gibt es Code Smells? Welche Teile sollten weiter untersucht werden? Ergebnis ist ein kurzen Bericht über die gewonnenen Eindrücke. 19 Software-Evolution WS 2014/2015
20 Checkliste für den ersten Code-Kontakt Was ist die Paketstruktur? Test-Suiten geben über die Funktionalität von Modulen Aufschluss. Abstrakte Klassen und Methoden zeigen Designentscheidungen. Klassen oben in der Hierarchie zeigen Abstraktionen, untere Klassen Variationen Singleton Patterns zeigen Konstanten des Systems Kommentare beschreiben Designentscheidungen, sind aber nicht immer zuverlässig. 20 Software-Evolution WS 2014/2015
21 Überflieg die Dokumentation! Begleitende Fragen: Welche Teile sind nützlich? Welche nicht? Für wen ist welche Dokumentation geschrieben? Schreib einen kurzen Bericht über die gewonnenen Informationen! Liste der nützlichen Teile (Anforderungsspezifikation, gewünschte Features, wichtige Constraints, Designmodelle, Benutzer- /Entwicklerhandbuch) Wie aktuell sind sie? (Versionsnummer, Datum) 21 Software-Evolution WS 2014/2015
22 Die Software anwenden Problem Welche sind die typischen Benutzungsszenarien? Welche Features sind relevant, welche nicht? Vorgehen Einen Benutzer das System demonstrieren lassen. Ein Video anschauen/ein Tutorial lesen Das System selbst benutzen. 22 Software-Evolution WS 2014/2015
23 Zusammenhang von Kontakt-Patterns [Demeyer et al.] 23 Software-Evolution WS 2014/2015
24 Beispiel: Evolutionsaufgabe für EMF Refactor 1. Entferne die Möglichkeit eines Preview bei Ausführung eines Refactorings. Grund: Die baumbasierte Darstellung der Differenzen ist bei grafischen oder textuellen Modellen schwer zu verstehen 2. Füge einem Refactoring eine Beschreibung hinzu. Bisher: Bis auf einen aussagekräftigen Namen bietet ein Refactoring zur Zeit keine Beschreibung seines Zweckes bzw. seiner Funktionsweise an. 3. Ergänze den Generierungsprozess eines Refactorings um die Möglichkeit, die Henshin-Dateien neu anzulegen. Bisher: Die Henshin-Dateien müssen bereits vorhanden sein 24 Software-Evolution WS 2014/2015
25 Architektur von EMF Refactor (1) Specification Language Generation module Application module metrics, smells, refactorings extension points Eclipse Modeling Framework (EMF) 25 Software-Evolution WS 2014/2015
26 Architektur von EMF Refactor (2) 26 Software-Evolution WS 2014/2015
27 Architektur von EMF Refactor (3) 27 Software-Evolution WS 2014/2015
28 Eclipse Repositories von EMF Refactor Core: allgemeine Dinge, wie z.b. Menus Je ein Repository für die unterstützten Techniken (Metrics, Smells, Refactoring) Examples: Konkrete Techniken für UML 2.5 und Ecore-Modelle 28 Software-Evolution WS 2014/2015
29 Plugin-Struktur der Refactoring-Komponenten 29 Software-Evolution WS 2014/2015
30 Pakete von org.eclipse.emf.refactor.refactoring.henshin 30 Software-Evolution WS 2014/2015
31 Beispiel: Evolutionsaufgabe für EMF Refactor erste Einschätzung der Änderungs-Stellen 1. Entfernung des Preview Plugin: org.eclipse.emf.refactor.refactoring.runtime Klasse: org..runtime.ltk.ui.refactoringpreviewviewer.java 2. Beschreibung des Refactorings Plugin: org.eclipse.emf.refactor.refactoring Extension Point: org.eclipse.emf.refactor.refactorings Klasse: org..refactoring.core.refactoring.java 3. Anlage der Henshin-Dateien Plugin: org.eclipse.emf.refactor.refactoring.henshin Klasse: org..henshin.ui.henshintransformationwizardpage.java Klasse: org..henshin.managers.henshingenerationmanager.java 31 Software-Evolution WS 2014/2015
32 Zusammenfassung und Literatur Software Evolution funktioniert nur mit Reverse Engineering. Bevor man ein Programm ändern kann, muss man es verstehen. Dazu muss man das Design hinter einem Programm erkennen. Re-Engineering Patterns helfen, ein Programm systematisch und effizient zu verstehen und zu ändern. Literatur: Serge Demeyer, Stephane Ducasse, Oscar Nierstrasz: Object-Oriented Reengineering Patterns, 2013, Kap. 1 3, online verfügbar unter 32 Software-Evolution WS 2014/2015
33 Werkzeuge und Quellen im WWW EMF Refactor Website: EMF Refactor Tutorial: EMF Refactor Architecture: EMF Refactor Repositories: Henshin Website: Eclipse Metrics2 Project: 33 Software-Evolution WS 2014/2015
Programmverstehen 1: Der erste Kontakt mit dem System. Dr. Thorsten Arendt Marburg, 19. November 2015
Programmverstehen 1: Der erste Kontakt mit dem System Dr. Thorsten Arendt Marburg, 19. November 2015 Überblick Was ist Forward-, Reverse- und Re-Engineering? Was sind Re-Engineering Patterns? Wie nähere
MehrAgile Vorgehensmodelle in der Softwareentwicklung: Scrum
C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was
MehrKonfigurationsmanagement und Evolution: Änderungsverwaltung und Repository-Analyse. Dr. Thorsten Arendt Marburg, 13. November 2014
Konfigurationsmanagement und Evolution: Änderungsverwaltung und Repository-Analyse Dr. Thorsten Arendt Marburg, 13. November 2014 Überblick Was ist eine Änderungsverwaltung und warum braucht man sie? Fehlerverfolgung
MehrKonfigurationsmanagement und Evolution: Änderungsverwaltung und Repository-Analyse. Dr. Thorsten Arendt Marburg, 12. November 2015
Konfigurationsmanagement und Evolution: Änderungsverwaltung und Repository-Analyse Dr. Thorsten Arendt Marburg, 12. November 2015 Überblick Was ist eine Änderungsverwaltung und warum braucht man sie? Fehlerverfolgung
MehrSoftware Systems Engineering
Software : SoSe 08 Prof. Dr. Klaus Schmid Software Produktlinien Ein neues Programm soll erstellt werden. Das habe ich doch schon mal programmiert, oder? Alter Code passt aber nicht ganz! Wird passend
MehrWarum 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
Mehrextreme Programming (XP) Hermann Götz Sergij Paholchak Agenda Was ist XP? Grundprinzipien Der Entwicklungsprozess Die Projektplanung Praktiken Vorteile und Nachteile Wann macht XP Sinn für ein Projekt?
MehrAgiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail: gi@uwe.doetzkies.de
Agiles Design Dr.-Ing. Uwe Doetzkies Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail: gi@uwe.doetzkies.de startupcamp berlin 15.3.2013 Regionalgruppe Berlin/Brandenburg Arbeitskreis Freiberufler
MehrDER SELBST-CHECK FÜR IHR PROJEKT
DER SELBST-CHECK FÜR IHR PROJEKT In 30 Fragen und 5 Tipps zum erfolgreichen Projekt! Beantworten Sie die wichtigsten Fragen rund um Ihr Projekt für Ihren Erfolg und für Ihre Unterstützer. IHR LEITFADEN
MehrProgrammverstehen 2: Wie ist das System-Design? Dr. Thorsten Arendt Marburg, 04. Dezember 2014
Programmverstehen 2: Wie ist das System-Design? Dr. Thorsten Arendt Marburg, 04. Dezember 2014 Re-Engineering Patterns [Demeyer et al.] 2 Software-Evolution WS 2014/2015 Überblick Probleme Viele Designkonzepte
MehrDie Bundes-Zentrale für politische Bildung stellt sich vor
Die Bundes-Zentrale für politische Bildung stellt sich vor Die Bundes-Zentrale für politische Bildung stellt sich vor Deutschland ist ein demokratisches Land. Das heißt: Die Menschen in Deutschland können
MehrFragebogen ISONORM 9241/110-S
Fragebogen ISONORM 9241/110-S Beurteilung von Software auf Grundlage der Internationalen Ergonomie-Norm DIN EN ISO 9241-110 von Prof. Dr. Jochen Prümper www.seikumu.de Fragebogen ISONORM 9241/110-S Seite
MehrSoftware Projekt 2 / Gruppe Knauth Lernziele:
Lernziele: Realisierung eines komplexen Software-Projektes unter Industrie-ähnlichen Bedingungen Organisiertes Arbeiten im Team Team Organisation: Rollen und Aufgaben der Team-Mitglieder bestimmen Spezifikation
Mehr16 Architekturentwurf Einführung und Überblick
Teil III: Software-Architekturentwurf 16 Architekturentwurf Einführung und Überblick 16.1 Software entwerfen Warum? Beim Arbeiten im Kleinen nicht oder nur ansatzweise (Detailentwurf) Größere Software
MehrGrü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
MehrDie Wasser App. www.wasserapp.com
Die Wasser App Die Wasser App ist ein innovatives Service für Ihre Bürger, welches Ihnen die hohen Kosten für die Wasserzählerstands-Erfassung um bis zu 70 % 1 reduzieren kann. Der Weg für Ihre Gemeinde
MehrMigrationsstrategien. Dr. Thorsten Arendt Marburg, 22. Januar 2015
Migrationsstrategien Dr. Thorsten Arendt Marburg, 22. Januar 2015 Re-Engineering Patterns [Demeyer et al.] 2 Software-Evolution WS 2014/2015 Überblick Probleme Wenn man ein bestehendes System re-engineered
MehrSoftware 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
Mehr2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE
2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2.1 Die Einrichtung der Benutzeroberfläche Das Einrichten einer Android-Eclipse-Entwicklungsumgebung zur Android-Entwicklung ist grundsätzlich nicht
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.
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++,
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
Mehr10 Jahre agile Softwareentwicklung Wie erwachsen sind wir geworden?
10 Jahre agile Softwareentwicklung Wie erwachsen sind wir geworden? Stefan Roock stefan.roock@akquinet.de Hintergrund 1/2 Senior IT-Berater bei der akquinet AG extreme Programming seit Anfang 1999, dann
MehrAgile Softwareentwicklung
Agile Softwareentwicklung Werte, Konzepte und Methoden von Wolf-Gideon Bleek, Henning Wolf 2., aktualisierte und erweiterte Auflage Agile Softwareentwicklung Bleek / Wolf schnell und portofrei erhältlich
MehrSoftwaretechnik. Fomuso Ekellem WS 2011/12
WS 2011/12 Inhalt Projektvorstellung Übung 1 Wiederholung zusammengefasst Planungsphase Lernziele Ziele und Inhalt der Planungsphase Anlass und Aufgabestellung(Was ist dabei erförderlich) Requirement Engineering
MehrVersionsverwaltung mit SVN
Versionsverwaltung mit SVN Jan-Philipp Kappmeier Technische Universität Berlin 11. 04. 2012 Versionsverwaltung Typische Situation in der Softwareentwicklung Mehrere Personen arbeiten an einem Projekt Arbeiten
MehrMarkup-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
MehrTaking RM Agile. Erfahrungen aus dem Übergang von traditioneller Entwicklung zu Scrum
Taking RM Agile CLICK TO EDIT MASTER OPTION 1 Erfahrungen aus dem Übergang von traditioneller Entwicklung zu Scrum Click to edit Master subtitle style Christian Christophoridis Requirements Management
MehrPraktische Erfahrungen beim Einsatz des Vorgehensmodells "SCRUM" bei AGFA HealthCare
Praktische Erfahrungen beim Einsatz des Vorgehensmodells "SCRUM" bei AGFA HealthCare SCRUM Praktische Erfahrungen beim Einsatz des Vorgehensmodells "SCRUM" eines Entwicklerteams von AGFA HealthCare 2 Praktische
MehrWir erledigen alles sofort. Warum Qualität, Risikomanagement, Gebrauchstauglichkeit und Dokumentation nach jeder Iteration fertig sind.
Wir erledigen alles sofort Warum Qualität, Risikomanagement, Gebrauchstauglichkeit und Dokumentation nach jeder Iteration fertig sind. agilecoach.de Marc Bless Agiler Coach agilecoach.de Frage Wer hat
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
MehrREQUIREMENTS ENGINEERING KONSTRUKTIVE QS REQUIREMENTS ENGINEERING 1
REQUIREMENTS ENGINEERING KONSTRUKTIVE QS REQUIREMENTS ENGINEERING 1 QUALITÄT FÜR SIE Qualität zeigt sich in Ergebnissen und Erfolgen. Sie hängt von der jeweiligen Problemstellung ab, deshalb sehen wir
MehrTermin-Umfragen mit Doodle
Termin-Umfragen mit Doodle Mit Doodle können Sie schnell und einfach Umfragen erstellen, um gemeinsam mit Ihren Kollegen oder Geschäftspartnern einen Termin für eine Konferenz, Sitzung oder sonstige Veranstaltungen
MehrWir nehmen Aufgaben und Ideen wahr. Wir suchen Lösungen zu Ideen.
Prozesse und Software sind Schlüsselfaktoren, die Strategie eines Unternehmens erfolgreich umzusetzen. So liegt es im Interesse der Geschäftsleitung, die Auswahl und Einführung neuer Software für die neuen
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
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
MehrInformationsblatt zur Anmeldung Abschlusspräsentation und zum Präsentationsportfolio (WS2015/16)
Informationsblatt zur Anmeldung Abschlusspräsentation und zum Präsentationsportfolio (WS2015/16) Die verbindliche Anmeldung für die Portfolio-Präsentation am 05.02.2016 erfolgt über die Mahara- Gruppe
MehrÜbung: Verwendung von Java-Threads
Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum
MehrQualitätserlebnis statt Qualitätssicherung. Eine Mehrfachfallstudie agiler Teams
Qualitätserlebnis statt Qualitätssicherung. Eine Mehrfachfallstudie agiler Teams 12.06.2014, Abschlussvortrag Masterarbeit Holger Schmeisky Die Forschungsfrage Wie und unter welchen Bedingungen funktioniert
MehrAgile Software Development
Dipl. Wirtsch. Ing. Alexander Werth Methoden der Softwareentwicklung 6-1 Agile Manifest Individuen und Interaktion statt Prozessen und Tools. Funktionierende Software statt umfangreicher Dokumentation.
MehrGRS SIGNUM Product-Lifecycle-Management
GRS SIGNUM Product-Lifecycle-Management Das optionale Modul Product-Lifecycle-Management stellt eine mächtige Ergänzung zum Modul Forschung & Entwicklung dar. Folgende Punkte werden dabei abgedeckt: Definition
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
MehrAnleitung Selbststudium
Grundlagenmodule Detailhandelsmanager/in HFP Anleitung Selbststudium Vorgehen im Überblick 6. Absolvieren Sie den Online-Test erneut um zu sehen, ob Sie sich verbessern konnten 7. Füllen Sie den Evaluationsbogen
MehrIn diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.
Tutorial: Wie erfasse ich einen Termin? In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Neben den allgemeinen Angaben zu einem
MehrErstellen eines Formulars
Seite 1 von 5 Word > Erstellen bestimmter Dokumente > Formen Erstellen von Formularen, die in Word ausgefüllt werden können Basierend auf einer Vorlage können Sie dieser Inhaltssteuerelemente und Hinweistext
MehrWir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen. Wir bringen Qualität. Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen
Was bedeutet es, ein Redaktionssystem einzuführen? Vorgehensmodell für die Einführung eines Redaktionssystems Die Bedeutung Fast alle Arbeitsabläufe in der Abteilung werden sich verändern Die inhaltliche
MehrInterview zu Stage 4.2.2.2
Termin App Interview zu Stage 4.2.2.2 Master-Arbeit von Arash Haghani und Alexander Krischuk - August 2, 2015 TERMIN APP - INTERVIEW STAGE 4.2.2.2 1 Einführung Im Zeitraum vom 13.07.2015 bis zum 27.07.2015
MehrAgile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg
Herzlich willkommen Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg Heike Bickert Software-/Systemingenieurin, Bereich Quality Management Braunschweig // 17.11.2015 1 Agenda ICS AG Fragestellungen
MehrBPM im Kontext von Unternehmensarchitekturen. Konstantin Gress
BPM im Kontext von Unternehmensarchitekturen Konstantin Gress Agenda 1 Worum geht s BPM, EA und SOA im Überblick 2 Link zwischen EA und BPM 3 Link zwischen SOA und BPM 4 Wie spielt das zusammen? 5 Q&A
MehrC++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang
Einleitung Dieses Buch wendet sich an jeden Leser, der die Programmiersprache C++ neu lernen oder vertiefen möchte, egal ob Anfänger oder fortgeschrittener C++-Programmierer. C++ ist eine weitgehend plattformunabhängige
MehrEclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps
Projekt: Intern Softwareprojekt FH Furtwangen Status: Draft Ersteller: Kai Grabfelder Datum: 11.02.2007 Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps 1 Beschreibung... 2 Semesterprojekt...
MehrEs sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.
Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt
MehrUniversität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich. Softwaretechnik I
Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Softwaretechnik I Wintersemester 2015 / 2016 www.ias.uni-stuttgart.de/st1 st1@ias.uni-stuttgart.de
Mehr40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.
40-Tage-Wunder- Kurs Umarme, was Du nicht ändern kannst. Das sagt Wikipedia: Als Wunder (griechisch thauma) gilt umgangssprachlich ein Ereignis, dessen Zustandekommen man sich nicht erklären kann, so dass
MehrObjektorientierter Software-Entwurf Grundlagen 1 1. Analyse Design Implementierung. Frühe Phasen durch Informationssystemanalyse abgedeckt
Objektorientierter Software-Entwurf Grundlagen 1 1 Einordnung der Veranstaltung Analyse Design Implementierung Slide 1 Informationssystemanalyse Objektorientierter Software-Entwurf Frühe Phasen durch Informationssystemanalyse
MehrMit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.
Seite erstellen Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Es öffnet sich die Eingabe Seite um eine neue Seite zu erstellen. Seiten Titel festlegen Den neuen
MehrAlbert 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.
MehrProzessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am 14.08.08
Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements von Stephanie Wilke am 14.08.08 Überblick Einleitung Was ist ITIL? Gegenüberstellung der Prozesse Neuer
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
MehrSoftwareentwicklungsprozess 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
MehrProfessionelle Seminare im Bereich MS-Office
Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion
Mehrtentoinfinity Apps 1.0 EINFÜHRUNG
tentoinfinity Apps Una Hilfe Inhalt Copyright 2013-2015 von tentoinfinity Apps. Alle Rechte vorbehalten. Inhalt der online-hilfe wurde zuletzt aktualisiert am August 6, 2015. Zusätzlicher Support Ressourcen
MehrDer Kopf ist rund, damit das Denken die Richtung
Der Kopf ist rund, damit das Denken die Richtung Francis Picabia wechseln kann. Beste Perspektiven für Andersdenker. Erfolgreiche Unternehmen brauchen individuelle IT-Lösungen. Und dafür brauchen wir Sie.
MehrWas ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,
Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit, Wie kann ein PDF File angezeigt werden? kann mit Acrobat-Viewern angezeigt werden auf jeder Plattform!! (Unix,
MehrJava Entwicklung für Embedded Devices Best & Worst Practices!
Java Entwicklung für Embedded Devices! George Mesesan Microdoc GmbH Natürlich können wir dieses neue log4j Bundle auch auf dem Device verwenden. Ist doch alles Java. Java Micro Edition (ME) Java Standard
MehrVeranstaltungsbelegung in QIS/LSF -- Leitfaden für BW-Studierende --https://qis-serni-frankfurt.de
1 Veranstaltungsbelegung in QIS/LSF -- Leitfaden für BW-Studierende --https://qis-serni-frankfurt.de Innerhalb des Studienanteils Bildungswissenschaften sind alle Proseminare und Seminare belegpflichtig;
MehrAnleitung Typo3-Extension - Raumbuchungssystem
Anleitung Typo3-Extension - Raumbuchungssystem t3m_calendar v 1.1 Stand 15.12.2011 Mehr Datails siehe: http://www.typo3-macher.de/typo3-ext-raumbuchungssystem.html 1 INHALT 1. Bedienungsanleitung der Anwendung...
MehrUnsere Produkte. Wir automatisieren Ihren Waren- und Informationsfluss. Wir unterstützen Ihren Verkaufsaußendienst.
Die clevere Auftragserfassung Unsere Produkte Das smarte Lagerverwaltungssystem Die Warenwirtschaft für den Handel Wir unterstützen Ihren Verkaufsaußendienst. Wir automatisieren Ihren Waren- und Informationsfluss.
MehrGeoPilot (Android) die App
GeoPilot (Android) die App Mit der neuen Rademacher GeoPilot App machen Sie Ihr Android Smartphone zum Sensor und steuern beliebige Szenen über den HomePilot. Die App beinhaltet zwei Funktionen, zum einen
MehrWie gestaltet man Online-Umfragen mit SurveyMonkey?
Wie gestaltet man Online-Umfragen mit SurveyMonkey? 1. Auf www.surveymonkey.com gehen. Zu allererst muss man sich registrieren. Auf der linken Seite auf Join now for free klicken. 2. Maske ausfüllen und
MehrTTS - TinyTimeSystem. Unterrichtsprojekt BIBI
TTS - TinyTimeSystem Unterrichtsprojekt BIBI Mathias Metzler, Philipp Winder, Viktor Sohm 28.01.2008 TinyTimeSystem Inhaltsverzeichnis Problemstellung... 2 Lösungsvorschlag... 2 Punkte die unser Tool erfüllen
MehrSMART Newsletter Education Solutions April 2015
SMART Education Newsletter April 2015 SMART Newsletter Education Solutions April 2015 Herzlich Willkommen zur aktuellen Ausgabe des Westcon & SMART Newsletters jeden Monat stellen wir Ihnen die neuesten
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
MehrChancen agiler Softwareentwicklung. Dipl.-Inform. Henning Wolf (henning.wolf@akquinet.de) Geschäftsführer der akquinet agile GmbH
Chancen agiler Softwareentwicklung Dipl.-Inform. Henning Wolf (henning.wolf@.de) Geschäftsführer der agile Inhalt Kurz zur AG Unser Hintergrund ( agile ) Worum geht es überhaupt? Die Chancen! Agiles Vorgehen
MehrCheckliste zur Planung einer Webseite
Checkliste zur Planung einer Webseite Eine neue Webseite ist immer ein spannendes Unterfangen. Egal, ob es Ihre erste oder zehnte Webseite ist. Das Gefühl, wenn die Webseite endlich fertig und live im
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
MehrDas System für Ihr Mitarbeitergespräche
Das System für Ihr Mitarbeitergespräche Effektive Hilfe für alle Beteiligten Für die Personalabteilung bietet die Software ein intuitives Steuerungsinstrument. Übersichtliche Darstellungen geben jederzeit
MehrMORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH
MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte
MehrCarolo Knowledge Base
KB 07: Wie stelle ich ein fremdsprachiges Layout ein? (1) My-T-Soft verhält sich bezüglich fremdsprachiger Layouts wie eine physische Tastatur, d.h. sie liefert lediglich die Codes für die einzelnen Tasten.
MehrAgile Softwareentwicklung mit Scrum
Agile Softwareentwicklung mit Scrum Einführung und Überblick zum agilen Softwareentwicklungsprozess Scrum März 2006 Robert Schmelzer, DI(FH) E-Mail: robert@schmelzer.cc Web: http://www.schmelzer.cc Einführung
MehrScrum. Übung 3. Grundlagen des Software Engineerings. Asim Abdulkhaleq 20 November 2014
Grundlagen des Software Engineerings Übung 3 Scrum Asim Abdulkhaleq 20 November 2014 http://www.apartmedia.de 1 Inhalte Scrum Wiederholung Was ist Scrum? Übung: Scrum Workshop (Bank Accounts Management
MehrVersion smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1):
Supportanfrage ESN Bitte füllen Sie zu jeder Supportanfrage diese Vorlage aus. Sie helfen uns damit, Ihre Anfrage kompetent und schnell beantworten zu können. Verwenden Sie für jedes einzelne Thema jeweils
MehrRequirements-Traceability in der industriellen Praxis Ziele und Einsatz
Requirements-Traceability in der industriellen Praxis Ziele und Einsatz Forschungsprojekt gefördert von der Deutschen Forschungsgemeinschaft Elke Bouillon elke.bouillon@tu-ilmenau.de 04.12.2012 Seite 1
MehrErfolgreiche Realisierung von grossen Softwareprojekten
Software Engineering Erfolgreiche Realisierung von grossen Softwareprojekten Requirements Management Fachhochschule Lübeck, 7. Dezember 2001 Thomas Dahlmanns dahlmanns@pixelpark.com (040) 43203 26 >> 1
MehrArbeit zur Lebens-Geschichte mit Menschen mit Behinderung Ein Papier des Bundesverbands evangelische Behindertenhilfe e.v.
Arbeit zur Lebens-Geschichte mit Menschen mit Behinderung Ein Papier des Bundesverbands evangelische Behindertenhilfe e.v. Meine Lebens- Geschichte Warum ist Arbeit zur Lebens-Geschichte wichtig? Jeder
Mehr1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.
1 Einleitung Lernziele automatische Antworten bei Abwesenheit senden Einstellungen für automatische Antworten Lerndauer 4 Minuten Seite 1 von 18 2 Antworten bei Abwesenheit senden» Outlook kann während
Mehr4D Server v12 64-bit Version BETA VERSION
4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und
Mehroose. Was (noch) klassische Projekte von Scrum & Co lernen können eine empirische Studie
Was (noch) klassische Projekte von Scrum & Co lernen können eine empirische Studie München, 06.05.2009 Markus Wittwer, oose GmbH 2009 by de GmbH Markus Wittwer Berater und Trainer Coach für agile Projekte
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,
MehrGlaube an die Existenz von Regeln für Vergleiche und Kenntnis der Regeln
Glaube an die Existenz von Regeln für Vergleiche und Kenntnis der Regeln Regeln ja Regeln nein Kenntnis Regeln ja Kenntnis Regeln nein 0 % 10 % 20 % 30 % 40 % 50 % 60 % 70 % 80 % 90 % Glauben Sie, dass
MehrBlumen-bienen-Bären Academy. Kurzanleitung für Google Keyword Planer + Google Trends
Kurzanleitung für Google Keyword Planer + Google Trends Der Google Keyword Planer Mit dem Keyword Planer kann man sehen, wieviele Leute, in welchen Regionen und Orten nach welchen Begriffen bei Google
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
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.
MehrDiese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.
Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,
MehrTipps und Tricks zu Netop Vision und Vision Pro
Tipps und Tricks zu Netop Vision und Vision Pro Anwendungen auf Schülercomputer freigeben und starten Netop Vision ermöglicht Ihnen, Anwendungen und Dateien auf allen Schülercomputern gleichzeitig zu starten.
MehrHilfe, mein SCRUM-Team ist nicht agil!
Hilfe, mein SCRUM-Team ist nicht agil! Einleitung: Laut unserer Erfahrung gibt es doch diverse unagile SCRUM-Teams in freier Wildbahn. Denn SCRUM ist zwar eine tolle Sache, macht aber nicht zwangsläufig
MehrDas Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin
Fragestellungen: Warum reicht das Lastenheft nicht aus? Was kann ich mit dem Lastenheft machen? Was unterscheidet das Pflichtenheft vom Lastenheft? Was gehört zum Auftragsumfang einer Individualsoftware?
MehrCatherina Lange, Heimbeiräte und Werkstatträte-Tagung, November 2013 1
Catherina Lange, Heimbeiräte und Werkstatträte-Tagung, November 2013 1 Darum geht es heute: Was ist das Persönliche Geld? Was kann man damit alles machen? Wie hoch ist es? Wo kann man das Persönliche Geld
MehrBauteilattribute als Sachdaten anzeigen
Mit den speedikon Attributfiltern können Sie die speedikon Attribute eines Bauteils als MicroStation Sachdaten an die Elemente anhängen Inhalte Was ist ein speedikon Attribut?... 3 Eigene Attribute vergeben...
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
Mehr