Vorlesung Software-Reengineering
|
|
- Roland Brandt
- vor 6 Jahren
- Abrufe
Transkript
1 Vorlesung Software-Reengineering Prof. Dr. Rainer Koschke Arbeitsgruppe Softwaretechnik Fachbereich Mathematik und Informatik Universität Bremen Wintersemester 2009/10
2 Überblick I 1 Refactoring
3 Refactorings I 1 Refactoring Refactoring Bad Smells Refactorings von Fowler Pull-Up Field Extract Method Wann durchführen? Evaluation von Refactorings Kostenschätzung Portfolio-Analyse Bewertung Refactorings Wiederholungsfragen Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2009/ / 27
4 Refactorings Definition Refactorings: semantikerhaltende, restrukturierende Code-Transformationen für objekt-orientierte Programme (zur Verbesserung der Wartbarkeit). Beschreibung nach Fowler (2000): Name Anwendbarkeit Motivation mechanische Schritte (die eigentliche Transformation), die von Hand ausgeführt werden Beispiel Sehr viele dieser Refactorings sind genauso auf prozedurale Programme anwendbar. Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2009/ / 27
5 Refactoring-Prozess Angestoßen von Änderungswunsch. Prozess (inkrementell, iterativ): 1 Identifikation eines schlechten Geruchs (bad smell) 2 Refactoring 3 Compile & Test 4 Eigentliche Änderung 5 Compile & Test Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2009/ / 27
6 Stink Parade of Bad Smells by Fowler (2000) duplizierter Code lange Methoden große Klassen lange Parameterlisten divergente Änderung eine Klasse wird stets geändert in verschiedener Weise und für unterschiedliche Gründe Schrotflinten-Chirurgie (Shotgun Surgery) kleine Änderungen überall Feature-Neid sehr viele Attribute einer anderen Klasse werden für eine Berechnung benutzt Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2009/ / 27
7 Stink Parade of Bad Smells by Fowler (2000) Datenklumpen (Data Clumps) eine Menge von Datenelementen, die häufig gemeinsam benutzt werden z.b. Attribute einer Klasse, Parameter in Methodensignaturen Fixierung aufs Primitive (Primitive Obsession) einfache Typen werden nicht als Klasse sondern als primitive Datentypen deklariert Switch-Anweisungen händisches dynamisches Binden Parallele Vererbungshierarchien Faule Klassen Klassen, die nichts Nützliches (mehr) tun... Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2009/ / 27
8 70 Refactorings von Fowler (2000) Methodenzusammensetzung z.b. Extraktion von Methoden Eigenschaften zwischen Klassen bewegen z.b. Verschiebung von Attributen oder Methoden Organisation von Daten z.b. Verbergung von Attributen Vereinfachung bedingter Ausdrücke z.b. Zerlegung komplexer Bedingungen Vereinfachung von Methodenaufrufen z.b. Separierung von bloßem Zugriff von Manipulation Generalisierungen z.b. Attribute oder Methoden in der Hierarchie auf- oder abwärts bewegen Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2009/ / 27
9 Beispiel: Pull-Up Field Gleiches Attribut in Unterklassen wird nach Oberklasse verlegt. Employee Employee Name Salesman Name Engineer Name Salesman Engineer Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2009/ / 27
10 Motivation für Pull-Up Field nach Fowler (2000) If subclasses are developed independently, or combined through refactoring, you often find that they duplicate features. In particular, certain fields can be duplicates. Such fields sometimes have similar names but not always. The only way to determine what is going on is to look at the fields and see how they are used by other methods. If they are being used in a similar way, you can generalize them. Doing this reduces duplication in two ways. It removes the duplicate data declaration and allows you to move from the subclassses to the superclass behavior that uses the field. Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2009/ / 27
11 Mechanics für Pull-Up Fields 1 Inspect all uses of the candidate fields to ensure they are used in the same way. 2 If the fields do not have the same name, rename the fields so that they have the name you want to use for the superclass field. 3 Compile and test. 4 Create a new field in the superclass. 5 If the fields are private, you will need to protect the superclass field so that the subclasses can refer to it. 6 Delete the subclass fields. 7 Compile and test. 8 Consider using Self Encapsulate Field on the new field. Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2009/ / 27
12 Extract Method s t a t i c Order o r d e r ; s t a t i c c h a r name [ ] ; v o i d p r i n t O w i n g ( ) { Enumeration e = e l e m e n t s ( o r d e r ) ; d o u b l e o u t s t a n d i n g = 0. 0 ; // p r i n t banner p r i n t f ( \ n ) ; p r i n t f ( Customer Owes \n ) ; p r i n t f ( \ n ) ; // c a l c u l a t e o u t s t a n d i n g w h i l e ( hasmoreelements ( e ) ) { Order each = nextelement ( e ) ; o u t s t a n d i n g += getamount ( each ) ; // p r i n t d e t a i l s p r i n t f ( name %s \n, name ) ; p r i n t f ( amount %s \n, o u t s t a n d i n g ) ; Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2009/ / 27
13 Extract Method: parameterlos // p r i n t banner v o i d printbanner() { p r i n t f ( \ n ) ; p r i n t f ( Customer Owes \n ) ; p r i n t f ( \ n ) ; v o i d p r i n t O w i n g ( ) { Enumeration e = e l e m e n t s ( o r d e r ) ; d o u b l e o u t s t a n d i n g = 0. 0 ; printbanner ( ) ; // c a l c u l a t e o u t s t a n d i n g w h i l e ( hasmoreelements ( e ) ) { Order each = nextelement ( e ) ; o u t s t a n d i n g += getamount ( each ) ; // p r i n t d e t a i l s p r i n t f ( name %s \n, name ) ; p r i n t f ( amount %s \n, o u t s t a n d i n g ) ; Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2009/ / 27
14 Extract Method: nur Eingabeparameter // p r i n t d e t a i l s v o i d printdetails ( d o u b l e o u t s t a n d i n g ){ p r i n t f ( name %s \n, name ) ; p r i n t f ( amount %s \n, o u t s t a n d i n g ) ; v o i d p r i n t O w i n g ( ) { Enumeration e = e l e m e n t s ( o r d e r ) ; d o u b l e o u t s t a n d i n g = 0. 0 ; p r i n t B a n n e r ( ) ; // c a l c u l a t e o u t s t a n d i n g w h i l e ( hasmoreelements ( e ) ) { Order each = nextelement ( e ) ; o u t s t a n d i n g += getamount ( each ) ; printdetails( o u t s t a n d i n g ) ; Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2009/ / 27
15 Extract Method: mit Ausgabeparameter // c a l c u l a t e o u t s t a n d i n g d o u b l e getoutstanding( Enumeration e, d o u b l e o u t s t a n d i n g ) { w h i l e ( hasmoreelements ( e ) ) { Order each = nextelement ( e ) ; o u t s t a n d i n g += getamount ( each ) ; r e t u r n o u t s t a n d i n g ; v o i d p r i n t O w i n g ( ) { Enumeration e = e l e m e n t s ( o r d e r ) ; d o u b l e o u t s t a n d i n g = 0. 0 ; p r i n t B a n n e r ( ) ; o u t s t a n d i n g = getoutstanding( e, o u t s t a n d i n g ) ; p r i n t D e t a i l s ( o u t s t a n d i n g ) ; Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2009/ / 27
16 Extract Method: weitere Vereinfachung // c a l c u l a t e o u t s t a n d i n g d o u b l e g e t O u t s t a n d i n g ( ) { Enumeration e = e l e m e n t s ( o r d e r ) ; d o u b l e o u t s t a n d i n g = 0. 0 ; w h i l e ( hasmoreelements ( e ) ) { Order each = nextelement ( e ) ; o u t s t a n d i n g += getamount ( each ) ; r e t u r n o u t s t a n d i n g ; v o i d p r i n t O w i n g ( ) { p r i n t B a n n e r ( ) ; p r i n t D e t a i l s ( g e t O u t s t a n d i n g ( ) ) ; Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2009/ / 27
17 Wann sollte man Refactorings durchführen? Refactorings im Kleinen (lokale Änderungen innerhalb weniger Module) Wann immer eine Änderung der betreffenden Code-Stellen ansteht, die ohne Refactoring schwierig ist. Wenn sich eine Code-Stelle als fehlerträchtig oder unnötig kompliziert herausstellt. Wenn eine Code-Stelle permanent auch für verschiedenartige Kundenwünsche angepasst werden muss. Refactorings im Großen/Reengineering (massive Änderungen innerhalb eines Subsystems oder Änderungen in der Architektur) Wenn eine substantielle Erweiterung geplant ist. Wenn das Subsystem mit neuen Subsystemen integriert werden soll. Wenn die Wartbarkeit stark gesunken ist. Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2009/ / 27
18 Wie kann Erfolg von Refactorings gemessen werden? Eigentlich ganz einfach (sei P das Programm vor dem Refactoring und P das danach): 1 Man wähle geeigneten Satz von Metriken M. 2 Erfolg = M(P ) > M(P) Aber: Was sind geeignete Metriken? Und wie lässt sich M(P ) schätzen, bevor das Refactoring durchgeführt wird? Was wird das Refactoring kosten und wie lange wird es dauern? Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2009/ / 27
19 Kostenschätzung Faktoren Produkt, z.b. relative Wartbarkeit Metriken der Größe (LOC, Function Points) Aufwand des Testens bzw. bisherige Testüberdeckung (für Regressionstest) Anzahl gefundener Fehler (im Test/Feld) und deren Kosten Ressourcen, z.b. verfügbare Werkzeugunterstützung inklusive Aufwand für Anpassung bzw. Entwicklung von Werkzeugen Erfahrung des Wartungspersonals Prozess, z.b. bisheriger Aufwand für Wartung, idealerweise bezogen auf einzelne Aktivitäten Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2009/ / 27
20 Kostenschätzung Ideal: Aus den oben genannten Faktoren und den früheren Kosten wird mittels statistischer Analysen ein Kostenmodell entwickelt. Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2009/ / 27
21 Alternative Kostenschätzung nach Sneed (1995) Gesamtaufwand = Reengineering-Aufwand + Testaufwand Komplexität Größe [loc] RE-Aufwand [pm] = durchschn. Produktivität [loc/pm] über alle Komponenten Testaufwand = #Testfälle Durchschnittsaufwand-pro-Testfall #Testfälle kann aus zyklomatischer Zahl (McCabe) im Falle der Zweigüberdeckung abgeleitet werden Gewichtung bezüglich Testbarkeit, Testunterstützung, Testumgebung Erfahrungswert: Testaufwand = n RE-Aufwand für 1 n 3 Annahme: Reengineering wird großteils automatisiert. Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2009/ / 27
22 Wo beginnen? Portfolio-Analyse Zwei Aspekte: relative Wartbarkeit Geschäftswert = Wert der Software Bestimmung des Geschäftswerts... durch Marktanalytiker Marktwert Beitrag zum Profit Werbewirksamkeit... und Softwarearchitekt hängen andere wichtige Systeme davon ab? Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2009/ / 27
23 Portfolio-Analyse Vergebe 100 Prozentpunkte pro Wertaspekt. Summiere (eventuell mit Gewichtung) die Zeilen für jedes System. System Markwert Profit Werbewert Bewertung A B C D E Summe Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2009/ / 27
24 Zu sanierende Systeme relative Wart barkeit gut ausreichend D C schlecht sekundäre Reengineering kandidaten A primäre Reengineering kandidaten E B miserabel Aufgabe oder Wrapping F Wrapping oder Neuentwicklung niedrig Geschäftswert hoch Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2009/ / 27
25 Bewertung Refactorings Teilweise gut durch Werkzeuge unterstützt: Refactoring Browser für Smalltalk Eclipse/JDT für Java Eclipse/CDT für C/C++ Ansonsten werden die Mechanics von Hand durchgeführt Die Beurteilung, wann und welches Refactoring angebracht ist, obliegt dem Menschen. Hinter Compile & Test kann sich viel Arbeit verbergen. Zum Buch von Fowler (2000): Beschreibung ist zu informell für eine automatisierte Transformation, aber zumindest eine gute Checkliste. Die genauen Vorbedingungen sind nicht ausreichend angegeben. Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2009/ / 27
26 Wiederholungs- und Vertiefungsfragen I Welche Schritte sind beim Refactoring durchzuführen? Was ist ein Bad Smell? Beispiele? Wie lassen sich Bad Smells erkennen? Wie kann man die Reihenfolge der zu sanierenden Systeme festlegen? Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2009/ / 27
27 Fowler 2000 Fowler, Martin: Refactoring: Improving the Design of Existing Code. Addison-Wesley, 2000 Sneed 1995 Sneed, Harry: Planning the Reengineering of Legacy Systems. In: IEEE Software (1995), January. beschreibt die Planung von Reengineering-Projekten Rainer Koschke (Univ. Bremen) Vorlesung Software-Reengineering WS 2009/ / 27
Vorlesung Software-Reengineering
Vorlesung Software-Reengineering Prof. Dr. Rainer Koschke 1 1 Arbeitsgruppe Softwaretechnik Fachbereich Mathematik und Informatik Universität Bremen Wintersemester 2005/06 Überblick I 1 Refactoring 1 Refactoring
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
MehrVorlesung Software-Reengineering
Vorlesung Software-Reengineering Prof. Dr. Rainer Koschke Arbeitsgruppe Softwaretechnik Fachbereich Mathematik und Informatik Universität Bremen Wintersemester 2010/11 Überblick I Durchführung von Reengineering-Projekten
MehrExercise (Part II) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1
Exercise (Part II) Notes: The exercise is based on Microsoft Dynamics CRM Online. For all screenshots: Copyright Microsoft Corporation. The sign ## is you personal number to be used in all exercises. All
MehrObjects First With Java A Practical Introduction Using BlueJ. Mehr über Vererbung. Exploring polymorphism 1.0
Objects First With Java A Practical Introduction Using BlueJ Mehr über Vererbung Exploring polymorphism 1.0 Zentrale Konzepte dieses Kapitels Methoden-Polymorphie statischer und dynamischer Typ Überschreiben
MehrSoftwaretechnik. Prof. Dr. Rainer Koschke. Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen
Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen Wintersemester 2010/11 Überblick I Software-Produktlinien Software-Produktlinien:
MehrSoftwaretechnik. Überblick I. Prof. Dr. Rainer Koschke. Sommersemester 2006
Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen Sommersemester 2006 Überblick I 1 Software-Produktlinien Software-Produktlinien:
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?
MehrEinführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)
Wintersemester 2006/07 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl
MehrInfrastructure as a Service (IaaS) Solutions for Online Game Service Provision
Infrastructure as a Service (IaaS) Solutions for Online Game Service Provision Zielsetzung: System Verwendung von Cloud-Systemen für das Hosting von online Spielen (IaaS) Reservieren/Buchen von Resources
MehrAlgorithms for graph visualization
Algorithms for graph visualization Project - Orthogonal Grid Layout with Small Area W INTER SEMESTER 2013/2014 Martin No llenburg KIT Universita t des Landes Baden-Wu rttemberg und nationales Forschungszentrum
Mehrp^db=`oj===pìééçêíáåñçêã~íáçå=
p^db=`oj===pìééçêíáåñçêã~íáçå= How to Disable User Account Control (UAC) in Windows Vista You are attempting to install or uninstall ACT! when Windows does not allow you access to needed files or folders.
MehrCNC ZUR STEUERUNG VON WERKZEUGMASCHINEN (GERMAN EDITION) BY TIM ROHR
(GERMAN EDITION) BY TIM ROHR READ ONLINE AND DOWNLOAD EBOOK : CNC ZUR STEUERUNG VON WERKZEUGMASCHINEN (GERMAN EDITION) BY TIM ROHR PDF Click button to download this ebook READ ONLINE AND DOWNLOAD CNC ZUR
Mehrp^db=`oj===pìééçêíáåñçêã~íáçå=
p^db=`oj===pìééçêíáåñçêã~íáçå= Error: "Could not connect to the SQL Server Instance" or "Failed to open a connection to the database." When you attempt to launch ACT! by Sage or ACT by Sage Premium for
MehrHUMANGENETIK IN DER WELT VON HEUTE: 12 SALZBURGER VORLESUNGEN (GERMAN EDITION) BY FRIEDRICH VOGEL
FRIEDRICH VOGEL READ ONLINE AND DOWNLOAD EBOOK : HUMANGENETIK IN DER WELT VON HEUTE: 12 SALZBURGER VORLESUNGEN (GERMAN EDITION) BY Click button to download this ebook READ ONLINE AND DOWNLOAD HUMANGENETIK
MehrDie Datenmanipulationssprache SQL
Die Datenmanipulationssprache SQL Daten eingeben Daten ändern Datenbank-Inhalte aus Dateien laden Seite 1 Data Manipulation Language A DML statement is executed when you Add new rows to a table Modify
MehrMit Legacy-Systemen in die Zukunft. adviion. in die Zukunft. Dr. Roland Schätzle
Mit Legacy-Systemen in die Zukunft Dr. Roland Schätzle Der Weg zur Entscheidung 2 Situation Geschäftliche und softwaretechnische Qualität der aktuellen Lösung? Lohnen sich weitere Investitionen? Migration??
MehrJan Schumann, G+J Manuel Pichler, Trainer & Consultant - Qafoo. Statische Codeanalyse wirklich effektiv nutzen
Jan Schumann, G+J Manuel Pichler, Trainer & Consultant - Qafoo Statische Codeanalyse wirklich effektiv nutzen Über uns Jan Schumann Jahrgang 1976 System- / Softwarearchitekt Entwickler von: PHP_Depend,
MehrRefactoring. Programmiermethodik. Eva Zangerle Universität Innsbruck
Refactoring Programmiermethodik Eva Zangerle Universität Innsbruck Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle Themen
MehrMitglied der Leibniz-Gemeinschaft
Methods of research into dictionary use: online questionnaires Annette Klosa (Institut für Deutsche Sprache, Mannheim) 5. Arbeitstreffen Netzwerk Internetlexikografie, Leiden, 25./26. März 2013 Content
MehrCloud Architektur Workshop
Cloud Architektur Workshop Ein Angebot von IBM Software Services for Cloud & Smarter Infrastructure Agenda 1. Überblick Cloud Architektur Workshop 2. In 12 Schritten bis zur Cloud 3. Workshop Vorgehensmodell
MehrCustomer-specific software for autonomous driving and driver assistance (ADAS)
This press release is approved for publication. Press Release Chemnitz, February 6 th, 2014 Customer-specific software for autonomous driving and driver assistance (ADAS) With the new product line Baselabs
MehrTitelbild1 ANSYS. Customer Portal LogIn
Titelbild1 ANSYS Customer Portal LogIn 1 Neuanmeldung Neuanmeldung: Bitte Not yet a member anklicken Adressen-Check Adressdaten eintragen Customer No. ist hier bereits erforderlich HERE - Button Hier nochmal
MehrHIR Method & Tools for Fit Gap analysis
HIR Method & Tools for Fit Gap analysis Based on a Powermax APML example 1 Base for all: The Processes HIR-Method for Template Checks, Fit Gap-Analysis, Change-, Quality- & Risk- Management etc. Main processes
MehrRATAVA. COMPUTER: Mission Berlin. November 9, 2006, ten thirty am. You ve got 75 minutes, 2 lives and some help:
07 RATAVA RATAVA? RATAVA? Manuscript of the Episode INTRODUCTION. November 9, 2006, ten thirty am. You ve got 75 minutes, 2 lives and some help: Anna, Ihre Mission ist riskant. Sie sind in Gefahr. Die
MehrAugust Macke 1887-1914 Abschied, 1914 Museum Ludwig, Köln
August Macke 1887-1914 Abschied, 1914 Museum Ludwig, Köln Ideas for the classroom 1. Introductory activity wer?, was?, wo?, wann?, warum? 2. Look at how people say farewell in German. 3. Look at how people
MehrEinsatz einer Dokumentenverwaltungslösung zur Optimierung der unternehmensübergreifenden Kommunikation
Einsatz einer Dokumentenverwaltungslösung zur Optimierung der unternehmensübergreifenden Kommunikation Eine Betrachtung im Kontext der Ausgliederung von Chrysler Daniel Rheinbay Abstract Betriebliche Informationssysteme
MehrLevel 2 German, 2013
91126 911260 2SUPERVISOR S Level 2 German, 2013 91126 Demonstrate understanding of a variety of written and / or visual German text(s) on familiar matters 9.30 am Monday 11 November 2013 Credits: Five
MehrHow-To-Do. Hardware Configuration of the CC03 via SIMATIC Manager from Siemens
How-To-Do Hardware Configuration of the CC03 via SIMATIC Manager from Siemens Content Hardware Configuration of the CC03 via SIMATIC Manager from Siemens... 1 1 General... 2 1.1 Information... 2 1.2 Reference...
MehrHow to create a Gift Certificate Wie man ein Gift Certificate (Gutschein) erstellt
1) Login www.lopoca.com Username, Password 2) Click My Finances Gift Certificates Summary: Overview of your Gift Certificates Übersicht Ihrer Gift Certificates Create new: Create new Gift Certificate Neues
MehrHow to use the large-capacity computer Lilli? IMPORTANT: Access only on JKU Campus!! Using Windows:
How to use the large-capacity computer Lilli? IMPORTANT: Access only on JKU Campus!! Using Windows: In order to connect to Lilli you need to install the program PUTTY. The program enables you to create
MehrVorlesung Software-Reengineering
Vorlesung Software-Reengineering Prof. Dr. R. Koschke 1 D. Simon 2 1 Arbeitsgruppe Softwaretechnik Fachbereich Mathematik und Informatik Universität Bremen 2 Institut für Software Technologie Fakultät
MehrHiOPC Hirschmann Netzmanagement. Anforderungsformular für eine Lizenz. Order form for a license
HiOPC Hirschmann Netzmanagement Anforderungsformular für eine Lizenz Order form for a license Anforderungsformular für eine Lizenz Vielen Dank für Ihr Interesse an HiOPC, dem SNMP/OPC Gateway von Hirschmann
MehrWAS IST DER KOMPARATIV: = The comparative
DER KOMPATATIV VON ADJEKTIVEN UND ADVERBEN WAS IST DER KOMPARATIV: = The comparative Der Komparativ vergleicht zwei Sachen (durch ein Adjektiv oder ein Adverb) The comparative is exactly what it sounds
MehrKapitel 3 Software Quality III
Kapitel 3 Software Quality III Software Architecture, Quality, and Testing FS 2015 Prof. Dr. Jana Köhler jana.koehler@hslu.ch Agenda Heute Von Bad Smells zu Refactorings Wie wird Refactoring durchgeführt?
MehrExtreme Programming ACM/GI Regionalgruppe Bremen, 12.6.2001
Extreme Programming ACM/GI Regionalgruppe Bremen, 12.6.2001 Tammo Freese OFFIS, Oldenburg freese@acm.org http://www.tammofreese.de Frank Westphal unabhängiger Berater westphal@acm.org http://www.frankwestphal.de
MehrSymbio system requirements. Version 5.1
Symbio system requirements Version 5.1 From: January 2016 2016 Ploetz + Zeller GmbH Symbio system requirements 2 Content 1 Symbio Web... 3 1.1 Overview... 3 1.1.1 Single server installation... 3 1.1.2
MehrNEWSLETTER. FileDirector Version 2.5 Novelties. Filing system designer. Filing system in WinClient
Filing system designer FileDirector Version 2.5 Novelties FileDirector offers an easy way to design the filing system in WinClient. The filing system provides an Explorer-like structure in WinClient. The
MehrRefactoring von Legacy Systemen. Jochen Winzen jochen.winzen@andrena.de andrena objects ag
Refactoring von Legacy Systemen Jochen Winzen jochen.winzen@andrena.de andrena objects ag Was ist ein Legacy System Ein Legacy System hat folgenden Eigenschaften: + Besitzt die geforderte Funktionalität
Mehr1. Einführung und Unit Testing Programmieren / Algorithmen und Datenstrukturen 2
1. Einführung und Unit Testing Programmieren / Algorithmen und Datenstrukturen 2 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt Wintersemester 2012 / 2013 1 Agenda Organisation Unit Testing
MehrTomTom WEBFLEET Tachograph
TomTom WEBFLEET Tachograph Installation TG, 17.06.2013 Terms & Conditions Customers can sign-up for WEBFLEET Tachograph Management using the additional services form. Remote download Price: NAT: 9,90.-/EU:
MehrLehrstuhl für Allgemeine BWL Strategisches und Internationales Management Prof. Dr. Mike Geppert Carl-Zeiß-Str. 3 07743 Jena
Lehrstuhl für Allgemeine BWL Strategisches und Internationales Management Prof. Dr. Mike Geppert Carl-Zeiß-Str. 3 07743 Jena http://www.im.uni-jena.de Contents I. Learning Objectives II. III. IV. Recap
MehrSoftware-Restrukturierung
0/24 Software-Restrukturierung Andreas Zeller Lehrstuhl Softwaretechnik Universität des Saarlandes, Saarbrücken Restrukturierung 1/24 Restrukturierung ist nach dem Reverse Engineering (Programmverstehen)
MehrName: Klasse/Jahrgang: Standardisierte kompetenzorientierte schriftliche Reife- und Diplomprüfung HUM. 12. Jänner Englisch.
Name: Klasse/Jahrgang: Standardisierte kompetenzorientierte schriftliche Reife- und Diplomprüfung HUM 12. Jänner 2016 Englisch (B2) Schreiben Hinweise zum Beantworten der Fragen Sehr geehrte Kandidatin,
MehrEmployment and Salary Verification in the Internet (PA-PA-US)
Employment and Salary Verification in the Internet (PA-PA-US) HELP.PYUS Release 4.6C Employment and Salary Verification in the Internet (PA-PA-US SAP AG Copyright Copyright 2001 SAP AG. Alle Rechte vorbehalten.
MehrEffizienz im Vor-Ort-Service
Installation: Anleitung SatWork Integrierte Auftragsabwicklung & -Disposition Februar 2012 Disposition & Auftragsabwicklung Effizienz im Vor-Ort-Service Disclaimer Vertraulichkeit Der Inhalt dieses Dokuments
MehrGeometrie und Bedeutung: Kap 5
: Kap 5 21. November 2011 Übersicht Der Begriff des Vektors Ähnlichkeits Distanzfunktionen für Vektoren Skalarprodukt Eukidische Distanz im R n What are vectors I Domininic: Maryl: Dollar Po Euro Yen 6
MehrSelbstorganisiert ein Ziel erreichen Analyse, Architektur und Design in agilen Software-Projekten
Selbstorganisiert ein Ziel erreichen Analyse, Architektur und Design in agilen Software-Projekten 1 Qualifikation Über den Vortragenden Freiberuflicher SW-Entwickler und Berater seit 2006 Certified Scrum
MehrContents. Interaction Flow / Process Flow. Structure Maps. Reference Zone. Wireframes / Mock-Up
Contents 5d 5e 5f 5g Interaction Flow / Process Flow Structure Maps Reference Zone Wireframes / Mock-Up 5d Interaction Flow (Frontend, sichtbar) / Process Flow (Backend, nicht sichtbar) Flow Chart: A Flowchart
MehrColdFusion 8 PDF-Integration
ColdFusion 8 PDF-Integration Sven Ramuschkat SRamuschkat@herrlich-ramuschkat.de München & Zürich, März 2009 PDF Funktionalitäten 1. Auslesen und Befüllen von PDF-Formularen 2. Umwandlung von HTML-Seiten
MehrSind wir nicht alle ein bisschen agil? Dipl.-Inform. Tammo Freese xpdays, Karlsruhe, 22. November 2004
Sind wir nicht alle ein bisschen agil? Dipl.-Inform. Tammo Freese xpdays, Karlsruhe, 22. November 2004 Das Manifest der agilen Softwareentwicklung Ähnliche Werte bei XP, ASD, Crystal, DSDM, FDD, Scrum,...
MehrKURZANLEITUNG. Firmware-Upgrade: Wie geht das eigentlich?
KURZANLEITUNG Firmware-Upgrade: Wie geht das eigentlich? Die Firmware ist eine Software, die auf der IP-Kamera installiert ist und alle Funktionen des Gerätes steuert. Nach dem Firmware-Update stehen Ihnen
MehrUnterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Vertretungsstunde Englisch 5. Klasse: Grammatik
Unterrichtsmaterialien in digitaler und in gedruckter Form Auszug aus: Vertretungsstunde Englisch 5. Klasse: Grammatik Das komplette Material finden Sie hier: School-Scout.de Pronouns I Let s talk about
MehrBlock R (Rahmen): SE Aktivitäten 21.10.04 2. Vorlesung Methoden des Software Engineering. Block R Rahmen Aktivitäten der Software-Entwicklung
Block R (Rahmen): SE Aktivitäten 21.10.04 1 Vorlesung Methoden des Software Engineering Block R Rahmen Aktivitäten der Software-Entwicklung Martin Wirsing Einheit R.2, 21.10.2004 Block R (Rahmen): SE Aktivitäten
MehrHow to access licensed products from providers who are already operating productively in. General Information... 2. Shibboleth login...
Shibboleth Tutorial How to access licensed products from providers who are already operating productively in the SWITCHaai federation. General Information... 2 Shibboleth login... 2 Separate registration
MehrVorlesung Software Reengineering
Vorlesung Software Reengineering Rainer Koschke Institut für Informatik, Universität Stuttgart Requirements Design Code reengineering forward engineer- forward engireverse engineer- reverse engineer- restructuring
MehrONLINE LICENCE GENERATOR
Index Introduction... 2 Change language of the User Interface... 3 Menubar... 4 Sold Software... 5 Explanations of the choices:... 5 Call of a licence:... 7 Last query step... 9 Call multiple licenses:...
MehrProf. Dr. Bryan T. Adey
Leiter der Bachelor- Prof. Dr. Bryan T. Adey Institut: Fachbereich: IBI Infrastrukturmanagement Anzahl Themen: 5 Themen direkt auf der Website der Professur/des Instituts veröffentlicht Link: http://www.im.ibi.ethz.ch/lehre/studienarbeit
MehrTop Tipp. Ref. 08.05.23 DE. Verwenden externer Dateiinhalte in Disclaimern. (sowie: Verwenden von Images in RTF Disclaimern)
in Disclaimern (sowie: Verwenden von Images in RTF Disclaimern) Ref. 08.05.23 DE Exclaimer UK +44 (0) 845 050 2300 DE +49 2421 5919572 sales@exclaimer.de Das Problem Wir möchten in unseren Emails Werbung
MehrExercise (Part XI) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1
Exercise (Part XI) Notes: The exercise is based on Microsoft Dynamics CRM Online. For all screenshots: Copyright Microsoft Corporation. The sign ## is you personal number to be used in all exercises. All
MehrPrediction Market, 28th July 2012 Information and Instructions. Prognosemärkte Lehrstuhl für Betriebswirtschaftslehre insbes.
Prediction Market, 28th July 2012 Information and Instructions S. 1 Welcome, and thanks for your participation Sensational prices are waiting for you 1000 Euro in amazon vouchers: The winner has the chance
MehrAufbau eines IT-Servicekataloges am Fallbeispiel einer Schweizer Bank
SwissICT 2011 am Fallbeispiel einer Schweizer Bank Fritz Kleiner, fritz.kleiner@futureways.ch future ways Agenda Begriffsklärung Funktionen und Aspekte eines IT-Servicekataloges Fallbeispiel eines IT-Servicekataloges
MehrEfficient Design Space Exploration for Embedded Systems
Diss. ETH No. 16589 Efficient Design Space Exploration for Embedded Systems A dissertation submitted to the SWISS FEDERAL INSTITUTE OF TECHNOLOGY ZURICH for the degree of Doctor of Sciences presented by
MehrVGM. VGM information. HAMBURG SÜD VGM WEB PORTAL - USER GUIDE June 2016
Overview The Hamburg Süd VGM-Portal is an application which enables to submit VGM information directly to Hamburg Süd via our e-portal web page. You can choose to insert VGM information directly, or download
MehrSupplier Questionnaire
Supplier Questionnaire Dear madam, dear sir, We would like to add your company to our list of suppliers. Our company serves the defence industry and fills orders for replacement parts, including orders
MehrDatabase Management. Prof. Dr. Oliver Günther und Steffan Baron Sommersemester 2002 (I)
HUMBOLDT UNIVERSITÄT ZU BERLIN Wirtschaftswissenschaftliche Fakultät Telefon: (030) 2093-5742 Institut für Wirtschaftsinformatik Telefax: (030) 2093-5741 Spandauer Str. 1 10178 Berlin E-mail: iwi@wiwi.hu-berlin.de
MehrParameter-Updatesoftware PF-12 Plus
Parameter-Updatesoftware PF-12 Plus Mai / May 2015 Inhalt 1. Durchführung des Parameter-Updates... 2 2. Kontakt... 6 Content 1. Performance of the parameter-update... 4 2. Contact... 6 1. Durchführung
MehrAusarbeitung Iteration I
Ausarbeitung Iteration I Domain Model siehe [Lar02], Kap. 0 2 Domain Model Illustriert relevante Konzepte des Problembereichs Das wichtigste Dokument in OOA (Use-Cases sind nicht OO; Use-Cases sind ein
MehrElektronische Identifikation und Vertrauensdienste für Europa
Brüssel/Berlin Elektronische Identifikation und Vertrauensdienste für Europa Wir wären dann soweit --- oder? Thomas Walloschke Director EMEIA Security Technology Office eidas REGULATION No 910/2014 0 eidas
MehrThe English Tenses Die englischen Zeitformen
The English Tenses Die englischen Zeitformen Simple Present (Präsens einfache Gegenwart) Handlungen in der Gegenwart die sich regelmäßig wiederholen oder einmalig geschehen I go you go he goes she goes
MehrOO Programmiersprache vs relationales Model. DBIS/Dr. Karsten Tolle
OO Programmiersprache vs relationales Model Vorgehen bisher Erstellen eines ER-Diagramms Übersetzen in das relationale Datenmodell Zugriff auf das relationale Datenmodell aus z.b. Java ER rel. Modell OO
MehrInstruktionen Mozilla Thunderbird Seite 1
Instruktionen Mozilla Thunderbird Seite 1 Instruktionen Mozilla Thunderbird Dieses Handbuch wird für Benutzer geschrieben, die bereits ein E-Mail-Konto zusammenbauen lassen im Mozilla Thunderbird und wird
MehrLevel 1 German, 2012
90886 908860 1SUPERVISOR S Level 1 German, 2012 90886 Demonstrate understanding of a variety of German texts on areas of most immediate relevance 9.30 am Tuesday 13 November 2012 Credits: Five Achievement
MehrAddressing the Location in Spontaneous Networks
Addressing the Location in Spontaneous Networks Enabling BOTH: Privacy and E-Commerce Design by Moritz Strasser 1 Disappearing computers Trends Mobility and Spontaneous Networks (MANET = Mobile Ad hoc
MehrScriptbasierte Testautomatisierung. für Web-Anwendungen
Scriptbasierte Testautomatisierung für Web-Anwendungen Scriptbasierte Testautomatisierung + Web-Anwendung: Erstes Einsatzgebiet, Ergebnisse aber allgemein übertragbar + Test aus Benutzersicht - Nicht Unit-Test,
MehrPraktikum Entwicklung Mediensysteme (für Master)
Praktikum Entwicklung Mediensysteme (für Master) Organisatorisches Today Schedule Organizational Stuff Introduction to Android Exercise 1 2 Schedule Phase 1 Individual Phase: Introduction to basics about
MehrExtract of the Annotations used for Econ 5080 at the University of Utah, with study questions, akmk.pdf.
1 The zip archives available at http://www.econ.utah.edu/ ~ ehrbar/l2co.zip or http: //marx.econ.utah.edu/das-kapital/ec5080.zip compiled August 26, 2010 have the following content. (they differ in their
MehrMash-Up Personal Learning Environments. Dr. Hendrik Drachsler
Decision Support for Learners in Mash-Up Personal Learning Environments Dr. Hendrik Drachsler Personal Nowadays Environments Blog Reader More Information Providers Social Bookmarking Various Communities
MehrCOPE COuPled Evolution of metamodels and models
COPE COuPled Evolution of metamodels and models Diplomarbeit in Zusammenarbeit mit der BMW Car IT (Betreuer: Elmar Jürgens, Sebastian Benz) Markus Herrmannsdörfer 7. November 2007 Perlen der Informatik
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,
MehrThe process runs automatically and the user is guided through it. Data acquisition and the evaluation are done automatically.
Q-App: UserCal Advanced Benutzerdefinierte Kalibrierroutine mit Auswertung über HTML (Q-Web) User defined calibration routine with evaluation over HTML (Q-Web) Beschreibung Der Workflow hat 2 Ebenen eine
MehrEinführung in die Robotik Steuerungsarchitekturen. Mohamed Oubbati Institut für Neuroinformatik. Tel.: (+49) 731 / 50 24153 mohamed.oubbati@uni-ulm.
Einführung in die Robotik Steuerungsarchitekturen Mohamed Oubbati Institut für Neuroinformatik Tel.: (+49) 731 / 50 24153 mohamed.oubbati@uni-ulm.de 29. 01. 2013 Steuerungsarchitekturen - Deliberative
MehrPreisliste für The Unscrambler X
Preisliste für The Unscrambler X english version Alle Preise verstehen sich netto zuzüglich gesetzlicher Mehrwertsteuer (19%). Irrtümer, Änderungen und Fehler sind vorbehalten. The Unscrambler wird mit
MehrConcept. Chapter. Locking daemon over CIFS for OpenOffice.org. Verantwortlich
FOSS-Group GmbH Bismarckallee 9 4D-79098 Freiburg i.br Tel. +41 (0)61 751 72 80 Fax +41 (0)61 751 78 79 www.foss-group.eu Mail: info@foss-group.eu Concept OSBD Chapter Locking daemon over CIFS for OpenOffice.org
MehrJ RG IMMENDORFF STANDORT F R KRITIK MALEREI UND INSPIRATION ERSCHEINT ZUR AUSSTELLUNG IM MUSEUM LU
J RG IMMENDORFF STANDORT F R KRITIK MALEREI UND INSPIRATION ERSCHEINT ZUR AUSSTELLUNG IM MUSEUM LU 8 Feb, 2016 JRISFRKMUIEZAIMLAPOM-PDF33-0 File 4,455 KB 96 Page If you want to possess a one-stop search
MehrSI-SE Testen in der Softwareentwicklung
SI-SE 2002 Testen in der Softwareentwicklung Fachtagung mit Tutorien Zürich 7. und 8. März 2002 Prof. Dr. Andreas Spillner, Hochschule Bremen Prof. Dr. Martin Glinz, Universität Zürich NASA - Mariner 1:
MehrSoftwareschnittstellen
P4.1. Gliederung Rechnerpraktikum zu Kapitel 4 Softwareschnittstellen Einleitung, Component Object Model (COM) Zugriff auf Microsoft Excel Zugriff auf MATLAB Zugriff auf CATIA Folie 1 P4.2. Einleitung
MehrKapitel 7 Refactoring I
Kapitel 7 Refactoring I Software Engineering FS 2014 Prof. Dr. Jana Köhler jana.koehler@hslu.ch Was ist Refactoring? 2 Das Movie Beispiel 3 Metriken für Movie 4 Die statement() Methode der Customer Klasse
MehrWas ist das? Wer an einem sonnigen Tag die runden Lichtflecken unter einem Baum einmal entdeckt hat, findet sie immer und überall wieder.
Was ist das? Wer an einem sonnigen Tag die runden Lichtflecken unter einem Baum einmal entdeckt hat, findet sie immer und überall wieder. Was hat es mit dem Phänomen auf sich? Der Light Walk verführt zum
MehrEnglisch. Schreiben. 11. Mai 2016 HUM. Standardisierte kompetenzorientierte schriftliche Reife- und Diplomprüfung. Name: Jahrgang:
Name: Jahrgang: Standardisierte kompetenzorientierte schriftliche Reife- und Diplomprüfung HUM 11. Mai 2016 Englisch (B2) Schreiben 2 Hinweise zum Beantworten der Fragen Sehr geehrte Kandidatin, sehr geehrter
MehrThere are 10 weeks this summer vacation the weeks beginning: June 23, June 30, July 7, July 14, July 21, Jul 28, Aug 4, Aug 11, Aug 18, Aug 25
Name: AP Deutsch Sommerpaket 2014 The AP German exam is designed to test your language proficiency your ability to use the German language to speak, listen, read and write. All the grammar concepts and
MehrExercise (Part I) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1
Exercise (Part I) Notes: The exercise is based on Microsoft Dynamics CRM Online. For all screenshots: Copyright Microsoft Corporation. The sign ## is you personal number to be used in all exercises. All
MehrUnit Testing, SUnit & You
HUMBOLDT-UNIVERSITÄT ZU BERLIN MENSCH-TECHNIK-INTERAKTION ARBEITSGRUPPE SOFTWARETECHNIK (INSTITUT FÜR INFORMATIK) ARBEITSGRUPPE INGENEURPSYCHOLOGIE (INSTITUT FÜR PSYCHOLOGIE) Unit Testing, SUnit & You
MehrDer Adapter Z250I / Z270I lässt sich auf folgenden Betriebssystemen installieren:
Installationshinweise Z250I / Z270I Adapter IR USB Installation hints Z250I / Z270I Adapter IR USB 06/07 (Laden Sie den Treiber vom WEB, entpacken Sie ihn in ein leeres Verzeichnis und geben Sie dieses
MehrHazards and measures against hazards by implementation of safe pneumatic circuits
Application of EN ISO 13849-1 in electro-pneumatic control systems Hazards and measures against hazards by implementation of safe pneumatic circuits These examples of switching circuits are offered free
MehrDigital Rights Management (DRM) Verfahren, die helfen Rechte an virtuellen Waren durchzusetzen. Asset Management in Second Life
Digital Rights Management (DRM) Verfahren, die helfen Rechte an virtuellen Waren durchzusetzen Vorlesung im Sommersemester 2007 an der Technischen Universität Ilmenau von Privatdozent Dr.-Ing. habil. Jürgen
MehrIngenics Project Portal
Version: 00; Status: E Seite: 1/6 This document is drawn to show the functions of the project portal developed by Ingenics AG. To use the portal enter the following URL in your Browser: https://projectportal.ingenics.de
Mehr