Bewertungsaspekte und Tests in Java-Programmieraufgaben für Graja im ProFormA-Aufgabenformat

Größe: px
Ab Seite anzeigen:

Download "Bewertungsaspekte und Tests in Java-Programmieraufgaben für Graja im ProFormA-Aufgabenformat"

Transkript

1 Ulrike Lucke et al. (Hrsg.): Die 14. E-Learning Fachtagung Informatik, Lecture Notes in Informatics (LNI), Gesellschaft für Informatik, Bonn Bewertungsaspekte und Tests in Java-Programmieraufgaben für Graja im ProFormA-Aufgabenformat Robert Garmann 1, Peter Fricke 2, Oliver J. Bott 3 Abstract: Das ProFormA-Aufgabenformat wurde eingeführt, um den Austausch von Programmieraufgaben zwischen beliebigen Autobewertern (Grader) zu ermöglichen. Ein Autobewerter führt im ProFormA-Aufgabenformat spezifizierte Tests sequentiell aus, um ein vom Studierenden eingereichtes Programm zu prüfen. Für die Strukturierung und Darstellung der Testergebnisse existiert derzeit kein graderübergreifender Standard. Wir schlagen eine Erweiterung des ProFormA-Aufgabenformats um eine Hierarchie von Bewertungsaspekten vor, die nach didaktischen Aspekten gruppiert ist und entsprechende Testausführungen referenziert. Die Erweiterung wurde in Graja umgesetzt, einem Autobewerter für Java-Programme. Je nach gewünschter Detaillierung der Bewertungsaspekte sind Testausführungen in Teilausführungen aufzubrechen. Wir illustrieren unseren Vorschlag mit den Testwerkzeugen Compiler, dynamischer Softwaretest, statische Analyse sowie unter Einsatz menschlicher Bewerter. Keywords: e-assessment, Graja, Java, Programmieraufgabe, Bewertungsmaßstab, Bewertungsaspekt, Grader, Autobewerter, ProFormA-Aufgabenformat. 1 Einleitung Von Studierenden im Rahmen des e-assessments eingereichte Lösungen zu Programmieraufgaben können durch sog. Autobewerter (Grader) automatisch oder zumindest teilweise automatisch bewertet werden. Häufig setzen Autobewerter dabei Werkzeuge der Software-Qualitätssicherung ein, wie etwa xunit-testframeworks oder Werkzeuge der statischen Codeanalyse. Normalerweise werden solche Werkzeuge von Softwaretechnik-Profis genutzt. Ein- und Ausgaben dieser Werkzeuge sind in unveränderter Form in der Regel nicht unmittelbar für Programmiereinsteiger verständlich. Ein zentrales Qualitätskriterium eines Autobewerters ist eine für Studierende verständliche Aufbereitung der Ausgabe der eingesetzten Testwerkzeuge. Evaluierungen wie [WGH + 15] belegen, dass eine für einreichende Studierende übersichtliche Ergebnisdarstellung entscheidend für einen lernförderlichen Einsatz von Autobewertern ist. Für den Austausch von Programmieraufgaben zwischen verschiedenen Autobewertern und/oder Lernmanagementsystemen (LMS) existiert mittlerweile ein XML-basiertes 1 Hochschule Hannover, Fakultät IV Wirtschaft und Informatik, Ricklinger Stadtweg 120, Hannover, robert.garmann@hs-hannover.de 2 Hochschule Hannover, ZSW E-Learning Center, Expo Plaza 4, Hannover, peter.fricke@hshannover.de 3 Hochschule Hannover, Fakultät III Medien, Information und Design, Expo Plaza 12, Hannover, oliver.bott@hs-hannover.de

2 2 Robert Garmann et. al. Aufgabenaustauschformat ProFormA [SSM + 15], welches als wesentlichen Bestandteil Tests als Domänenobjekte vorsieht. Tests fokussieren auf die auszuführenden Werkzeuge und deren (technische) Konfiguration. In Ermangelung einer Möglichkeit, die Ergebnisdarstellung losgelöst von den Tests zu spezifizieren, gerät das vom Autobewerter erzeugte Feedback an den einreichenden Studierenden häufig zu einer bloßen Aneinanderreihung der Ausgaben der aufgerufenen Werkzeuge. Als Forschungsfrage ergibt sich, wie eine thematisch strukturierte und lernförderliche Darstellung der Bewertungsergebnisse erreicht werden kann, ohne dass der Vorteil der Nutzung bestehender und ausgereifter Softwaretechnikwerkzeuge aufgegeben werden muss. Ausgangspunkt der Betrachtung dieser Forschungsfrage ist das ProFormA-Aufgabenformat, das neben der Spezifikation von Tests, die im Rahmen der Bewertung einer Aufgabenlösung ausgeführt werden, die Vorgabe von Bewertungshinweisen (sog. gradinghints) erlaubt. In diesem Beitrag schlagen wir ergänzend zu den Tests, die durch Ausführung oder Teilausführung von Werkzeugen Prüfresultate erzeugen, als Startpunkt einer lernförderlichen Strukturierung des Feedbacks eines Graders die Einführung eines weiteren Domänenobjekts im ProFormA-Aufgabenformat vor: den GradingAspect. Die durch dieses Domänenobjekt bezeichneten Bewertungsaspekte spezifizieren die Struktur der Bewertung einer Einreichung und zwar losgelöst von der Testausführungs-Spezifikation. Bewertungsaspekte sind hierbei quasi orthogonal als eine von der Testdimension unabhängige zweite Achse einer Matrix zu verstehen. Forschungsmethodisch zeigen wir an einem Fallbeispiel auf, welche Änderungen an bestehenden Informationssystemen zur Erreichung des Forschungsziels führen. Wir führen diese Änderungen an dem konkreten System Graja 4 [Gar15] durch und skizzieren die erreichbaren Ergebnisse. Ein ausführlicher Forschungsbericht ist unter [Gar16] verfügbar. 2 Tests im ProFormA-Aufgabenformat Abb. 1: Domänen-Instanzmodell für einen JUnit- und einen PMD-Test 5 Ein Test im ProFormA-Format definiert eine automatisierte Prüfung der studentischen Einreichung. Gegenwärtig (Version 1.0.1) enthält die Liste der Testtypen Tests zur Compilierung, zur Quellcodeanalyse, zur Bytecodeanalyse, für (dynamische) Software-Tests, und für weitere Werkzeuge wie Codeabdeckungsanalyse und Anonymitätsprüfung. Ein Test besitzt neben seinem Testtyp eine testspezifische Testkonfiguration sowie einen Titel (vgl. Abb. 1). Der Titel wird von einem Autobewerter genutzt, um die vom Test generierte Ausgabe gegenüber dem einreichenden Studenten mit einem aussagekräftigen bzw.

3 Bewertungsaspekte und Tests im ProFormA-Aufgabenformat 3 Titel zu versehen. Bewertungsvorgaben, wie etwa erreichbare Punkte, sind im Pro- FormA-Format nicht standardisiert, können aber in einem separaten, graderspezifischen Domänenbereich (grading hints) angegeben werden. 3 Bewertungsaspekte Lehrpersonen geben beim formativen Assessment Feedback zu funktionalen Aspekten, aber häufig auch zu Qualitätsaspekten wie Wartbarkeit, Effizienz, etc. Das Feedback wird dabei meist unter gedachten Überschriften gruppiert. Eine mögliche Gruppierung bieten die folgenden, teilweise einer Softwarequalitätsnorm [ISO11] entlehnten Überschriften, wobei Feedback zu den drei erstgenannten Bereichen bei Programmieranfängern häufig den größten Raum einnimmt. Neben der Überschrift nennen wir beispielhaft einige Aspekte, zu denen Feedback gegeben werden kann: Überschrift Aspekt 1a Ist das studentische Programm syntaktisch korrekt? Sprache und 1b Werden Bezeichner konventionsgemäß verwendet? Syntax 1c Ist das Codelayout (Einrückung, Leerräume) einheitlich / lesbar? 2a Liefert das Programm korrekte Ausgaben? 2b Werden auch Grenzfälle und Fehleingaben berücksichtigt? Funktion Werden funktionale Vor- und Nachbedingungen und funktionale 2c Invarianten eingehalten? 3a Wurde der Code angemessen kommentiert? 3b Ist redundanter Code vorhanden? Wartbarkeit Werden Grundprinzipien wie lose Kopplung / hohe Kohäsion 3c berücksichtigt? 3d Ist der Code lesbar? Effizienz 4a Ist das Laufzeitverhalten und der Ressourcenverbrauch des Programms für große Eingaben angemessen? Sicherheit 5a Werden Daten vor unberechtigten Zugriffen geschützt? 6a Funktioniert die Benutzungsschnittstelle wie angefordert? Benutzbarkeit 6b Entspricht die Benutzungsoberfläche softwareergonomischen Gestaltungsgrundsätzen? Tab. 1: Beispielhafte und gruppierte Bewertungsaspekte Für Grader ist anzustreben, Feedback strukturiert zu liefern, z. B. wie in Tab. 1, ergänzt um erreichte (Teil-)punkte. Alternative Strukturierungen von Bewertungsaspekten sind etwa die Fehlerbehebungsschwierigkeit, die vermittelten Programmierkompetenzen, oder schlicht die Teilaufgaben-Nummern. Ein Autobewerter sollte der Lehrperson erlauben, das Feedback dem Lehrkontext entsprechend und unabhängig von der Testausführungssequenz zu strukturieren. Graja, der Autobewerter den wir im Rahmen dieses Beitrages weiter entwickelt haben, ermöglicht ein solches Feedback.

4 4 Robert Garmann et. al. 4 Orthogonalität von Tests und Bewertungsaspekten Manche der in Tab. 1 genannten Aspekte lassen sich gut durch Testwerkzeuge automatisiert prüfen. Ein Compiler etwa ist ideal geeignet zur Prüfung des Aspekts 1a. Statische Code- und Bytecodeanalyse-Werkzeuge eignen sich z. B. für die Prüfung der Aspekte 1b, 1c, 2c 6, 3a-c und 5a. Einem dynamischen Softwaretest sind die Aspekte 2a-c, 4a und 6a 7 gut zugänglich. Schließlich bleiben einige Aspekte übrig, die teilweise oder ausschließlich durch menschliche Gutachter 8 bewertet werden sollten: 1c, 3d, 5a, 6b. Dabei ist die o. g. Zuordnung von Testwerkzeugen zu Bewertungsaspekten nicht fix: Für jeden Aspekt lassen sich ggf. geeignetere, spezialisierte Werkzeuge und Algorithmen zur Bewertung des betreffenden Aspekts finden. Die obige Zuordnung von Testwerkzeugen zu Bewertungsaspekten wurde vorgenommen, um zu verdeutlichen, wie jedes Testwerkzeug Bewertungsbeiträge zu verschiedenen Aspekten unter verschiedenen Überschriften leisten kann. Bewertungsaspekte und Tests lassen sich daher als zwei Dimensionen einer Matrix auffassen (vgl. Tab. 2). Testwerkzeug Aspektgruppe Compiler a Statische Code-/Bytecodeanalyse b,c c a,b,c - a - Dynamischer Softwaretest - a,b,c - a - a Mensch c - d - a b Tab. 2: Von ausgewählten Testwerkzeugen geleistete Bewertungsbeiträge zu den Aspekten 5 Vorschlag zur Abbildung in der Aufgabenbeschreibung Für die Abbildung der Bewertungsaspekte in Tab. 1 bietet sich insb. vor dem Hintergrund potenziell weiterer Unterteilungen von Bewertungsaspekten eine Baumstruktur an, deren Blätter vom Domänen-Entitätstyp GradingAspect sind. Innere Knoten sind GradingAspectGroups. Beide Objekte besitzen einen Titel und ggf. eine Beschreibung 9. Tests können nun in Test-Teilausführungen (Subtests) aufgebrochen werden, um sie der Referenzierung durch GradingAspects zugänglich zu machen. Für Teilausführungen können zusätzliche Tests mit einem angepassten Testtyp eingesetzt werden. Subtests 6 Bspw. ist die Einhaltung des Java-hashCode/equals-Kontrakt prüfbar durch die PMD-Rule OverrideBoth- EqualsAndHashcode. 7 Die Funktion kann unter Einsatz von Drittbibliotheken wie UIspec4J dynamisch getestet werden. 8 Menschliche Bewerter als Testwerkzeug explizit vorzusehen kann vom Autobewerter oder vom LMS genutzt werden, um zum einen den Bewertungs-Workflow durch Nachrichten an menschliche Bewerter zu steuern, und zum anderen um Punkte als Platzhalter für von Menschen zu vergebende Teilpunkte zu reservieren und für den einreichenden Studenten sichtbar auszuweisen. 9 Darüber hinaus ist denkbar, Bewertungsmaßstäbe wie einfache Summengewichte oder kompliziertere Verrechnungsregeln an den Knoten des Baumes zu modellieren (vgl. auch Abschnitt 6). In diesem Beitrag konzentrieren wir uns jedoch auf das qualitative, meist textuelle Feedback eines Testwerkzeuges und lassen das quantitative Feedback (Punkte, Note) zunächst unberücksichtigt.

5 Bewertungsaspekte und Tests im ProFormA-Aufgabenformat 5 müssen einem übergeordneten Test und dessen Testkonfiguration über ein neu einzuführendes Attribut parentid zugeordnet werden. Der Titel eines Tests bezeichnet nun den technischen Vorgang der Werkzeugdurchführung und nicht notwendigerweise einen didaktischen Hintergrund. Aus diesem Grunde ist der Titel optional. Ein Beispiel soll dies verdeutlichen. Eine JUnit-Testklasse de.hsh.example.grader besitze mehrere Testmethoden. Eine davon namens attrsshouldbeprivate untersuche mittels Java Reflection, ob alle Instanzattribute der eingereichten Klassen privat deklariert sind. Es werden mehrere Instanzen des Domänentyps Test zur Beschreibung der Aufgabe genutzt. Das in Abb. 2 mit der id B bezeichnete Objekt spezifiziert die Durchführung von JUnit für die o. g. Testklasse. Das Objekt B.i spezifiziert, dass der JUnit runner das Testergebnis für die o. g. Testmethode als Ergebnis einer Teilausführung separat speichern und auf Anfrage zur Verfügung stellen muss. Weitere Objekte spezifizieren die Ausführung des Compilers (A) sowie die nachträgliche menschliche Bewertung (C). Abb. 2: Domänen-Instanzmodell für detaillierte Test-Teilausführung 10 Um nun ein komplettes Bewertungsschema einer Aufgabe wie es in Tab. 1 skizziert ist in dem grading-hints-bereich des ProFormA-Formats unterzubringen, werden mehrere Instanzen der Domänentypen GradingAspect und GradingAspectGroup benötigt, die in Abb. 3 aus Platzgründen nur unvollständig dargestellt sind. Durch Verweise auf Test- (Teil-)Ausführungen (testref-id) können die dort zwischengespeicherten Resultate bei der Ermittlung einer Gesamtbewertung herangezogen werden. Ein konkretes Beispielfeedback, welches durch Graja unter Einsatz einer solchen Hierarchie von Bewertungsaspekten erzeugt wurde, ist in [Gar16] dokumentiert. Abb. 3: Domänen-Instanzmodell für Bewertungsaspekte. Das Blatt ganz links bildet den Aspekt 1a ab, das in der Mitte ist dem Aspekt 3c zugeordnet, das rechte Blatt dem Aspekt 3d. 10 Die im ProFormA-Format vorgesehene test-configuration mit graderspezifischen Erweiterungen stellen wir hier verkürzt durch einen einfachen UML-Objektlink dar.

6 6 Robert Garmann et. al. 6 Zusammenfassung und Ausblick Wir haben den Unterschied zwischen Testausführung auf der einen Seite und Interpretation eines Testergebnisses als Bewertungsaspekt und Ausgangspunkt eines strukturierten Feedbacks an den Lernenden erörtert. Die verschiedenen Sichten auf ein Testergebnis führten zum Vorschlag, im ProFormA-Aufgabenformat neben Domänenobjekten zur Spezifikation einer Testausführung zusätzliche Domänenobjekte zur Spezifikation der Bewertungsaspekte vorzusehen und damit ein strukturiertes Feedback vorzubereiten. Offen geblieben sind a) Fragen der Darstellung eines Teilausführungsergebnisses eines Tests sowie b) die Frage, wie quantitative Bewertungen an inneren Knoten vom Typ GradingAspectGroup aggregiert werden können. Zu a) ist zu bemerken, dass in Graja ein Test-(Teil-)Ausführungsergebnis derzeit als zusammengesetzter Datentyp mit den Elementen Erfolgsgrad (0-100%) und Kommentar gespeichert wird. Die Entwicklung eines grader-übergreifend verwendbaren Antwortformats mit Bewertungsergebnissen ist Gegenstand aktueller Forschung im ecult 11 -Projekt. Zu b) nutzt Graja in der Hierarchie der Bewertungsaspekte zurzeit gewichtete Summen der Bewertungsergebnisse in Unteraspekten. Letzteres erleben wir als in bestimmten Bewertungssituationen zu unflexibel und soll zukünftig überarbeitet werden. Literaturverzeichnis [WGH + 15] Werner, P.; Garmann, R.; Heine, F.; Kleiner, C.; Reiser, P.; De Vere Peratoner, I.; Grzanna, S.; Wübbelt, P.; Bott, O.: Grading mit Grappa Ein Werkstattbericht. In: Workshop Automatische Bewertung von Programmieraufgaben, , Wolfenbüttel, [SSM + 15] Strickroth, S.; Striewe, M.; Müller, O.; Priss, U.; Becker, S.; Rod, O.; Garmann, R.; Bott, O.; Pinkwart, N.: ProFormA: An XML-based exchange format for programming tasks. eleed e-learning & education, 11(1), [Gar15] [Gar16] [ISO11] Garmann, R.: E-Assessment mit Graja ein Vergleich zu Anforderungen an Softwaretestwerkzeuge. In: Workshop Automatische Bewertung von Programmieraufgaben, , Wolfenbüttel, Garmann, R.: Bewertungsaspekte und Tests in Java-Programmieraufgaben für Graja im ProFormA-Aufgabenformat, Forschungsbericht, frontdoor/index/index/docid/834, ISO/IEC 25010:2011: Systems and software engineering Systems and software Quality Requirements and Evaluation (SQuaRE) System and software quality models. 11 Dieser Beitrag wurde als Teil des Projekts ecompetence and Utilities for Learners and Teachers (ecult) vom Bundesministerium für Bildung und Forschung (BMBF) gefördert (Förderkennzeichen 01PL11066D).

Evaluation automatisierterprogrammbewertung bei der Vermittlung der Sprachen Java und SQLmit den Gradern asqlg und Graja aus studentischerperspektive

Evaluation automatisierterprogrammbewertung bei der Vermittlung der Sprachen Java und SQLmit den Gradern asqlg und Graja aus studentischerperspektive Evaluation automatisierterprogrammbewertung bei der Vermittlung der Sprachen Java und SQLmit den Gradern asqlg und Graja aus studentischerperspektive Andreas Stöcker, Sebastian Becker, Robert Garmann,

Mehr

Automatische Bewertung von Datenbankaufgaben unter Verwendung von LON- CAPA und Praktomat

Automatische Bewertung von Datenbankaufgaben unter Verwendung von LON- CAPA und Praktomat Automatische Bewertung von Datenbankaufgaben unter Verwendung von LON- CAPA und Praktomat Marcel Kruse, Nils Jensen Zentrum für erfolgreiches Lehren und Lernen Ostfalia Hochschule für angewandte Wissenschaften

Mehr

Abschnitt 9: Schnittstellen: Interfaces

Abschnitt 9: Schnittstellen: Interfaces Abschnitt 9: Schnittstellen: Interfaces 9. Schnittstellen: Interfaces 9.1 Die Idee der Schnittstellen 9.2 Schnittstellen in Java 9.3 Marker-Interfaces 9.4 Interfaces und Hilfsklassen 9.5 Zusammenfassung

Mehr

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

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

Mehr

Automatisierte Bewertung von Programmieraufgaben Dr. Michael Striewe Universität Duisburg-Essen

Automatisierte Bewertung von Programmieraufgaben Dr. Michael Striewe Universität Duisburg-Essen Automatisierte Bewertung von Programmieraufgaben Dr. Michael Striewe Universität Duisburg-Essen Über 50 Jahre Forschung Automatische Bewertung von Programmieraufgaben hat eine sehr lange Forschungstradition:

Mehr

Prototypische Integration automatisierter Programmbewertung in das LMS Moodle

Prototypische Integration automatisierter Programmbewertung in das LMS Moodle Prototypische Integration automatisierter Programmbewertung in das LMS Moodle Sebastian Becker, Andreas Stöcker, Daniel Bräckelmann, Robert Garmann, Sören Grzanna, Felix Heine, Carsten Kleiner, Peter Werner,

Mehr

Definition von domänenspezifischen Sprachen mit Xtext: Einführung. 19. November 2014

Definition von domänenspezifischen Sprachen mit Xtext: Einführung. 19. November 2014 Definition von domänenspezifischen Sprachen mit Xtext: Einführung 19. November 2014 Überblick Was ist zu tun, wenn wir selbst einen Ansatz für modellgetriebenen Entwicklung definieren wollen? Anforderungserfassung

Mehr

Entwicklungswerkzeuge

Entwicklungswerkzeuge Entwicklungswerkzeuge Werner Struckmann & Tim Winkelmann 10. Oktober 2012 Gliederung Anforderungen Projekte Debugging Versionsverwaltung Frameworks Pattern Integrated development environment (IDE) Werner

Mehr

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

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

Mehr

Werkzeuggestützte Softwareprüfungen Statische Analyse und Metriken

Werkzeuggestützte Softwareprüfungen Statische Analyse und Metriken Werkzeuggestützte Softwareprüfungen Statische Analyse und Metriken Dennis Hardt 21.06.2006 Gliederung Statische Analyse Definition, Arbeitsweise, Werkzeuge Angewandt auf ein Projekt Statische Analyse selbst

Mehr

Produktskizze. 28. November 2005 Projektgruppe Syspect

Produktskizze. 28. November 2005 Projektgruppe Syspect 28. November 2005 Carl von Ossietzky Universität Oldenburg Fakultät II Department für Informatik Abteilung Entwicklung korrekter Systeme Inhaltsverzeichnis 1 Einleitung 3 2 Die graphische Oberfläche der

Mehr

Code-Erzeugung aus UML-Klassendiagrammen

Code-Erzeugung aus UML-Klassendiagrammen Dominik 09.03.2009 Universität Ulm Gessenharter Inst. f. Programmiermethodik und Compilerbau Code-Erzeugung aus UML-Klassendiagrammen Theorie und Praxis Seite 2 REConf 2009 München Dominik Gessenharter

Mehr

Das Test-Framework JUnit ETIS SS04

Das Test-Framework JUnit ETIS SS04 Das Test-Framework JUnit ETIS SS04 Gliederung Motivation TestFirst Grundlagen Assert TestCase Lebenszyklus TestCase UML-Diagramm TestCase TestSuite Zusammenfassung 2 Motivation (I) Kostspielige Folgen

Mehr

Diskussion eines IT-Outsourcing unter Berücksichtigung von Compliance Anforderungen. Bachelorarbeit

Diskussion eines IT-Outsourcing unter Berücksichtigung von Compliance Anforderungen. Bachelorarbeit Diskussion eines IT-Outsourcing unter Berücksichtigung von Compliance Anforderungen Bachelorarbeit zur Erlangung des akademischen Grades Bachelor of Science (B.Sc.) im Studiengang Wirtschaftswissenschaft

Mehr

3 Objektorientierte Konzepte in Java

3 Objektorientierte Konzepte in Java 3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine

Mehr

Automatisierte Erstellung von Software-Builds und -dokumentationen. Teil 1

Automatisierte Erstellung von Software-Builds und -dokumentationen. Teil 1 Automatisierte Erstellung von Software-Builds und -dokumentationen Teil 1 Autoren: Hagedorn, Robert; Denninger, Oliver Kontakt: {hagedorn denninger}@fzi.de Web: http://zfs.fzi.de Ort, Datum: Karlsruhe,

Mehr

Einführung in Generatives Programmieren. Bastian Molkenthin

Einführung in Generatives Programmieren. Bastian Molkenthin Einführung in Generatives Programmieren Bastian Molkenthin Motivation Industrielle Entwicklung *!!*,(% % - #$% #!" + '( & )!* Softwareentwicklung Rückblick auf Objektorientierung Objektorientierte Softwareentwicklung

Mehr

Programmieren I. Übersicht. Vorlesung 12. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011

Programmieren I. Übersicht. Vorlesung 12. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011 Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 2 Übersicht Testen ist eine der wichtigsten, aber auch eine der Zeitaufwändigsten Arbeitsschritte der Softwareentwicklung.

Mehr

Software Engineering II (IB) Testen von Software / Modultests

Software Engineering II (IB) Testen von Software / Modultests Testen von Software / Modultests Prof. Dr. Oliver Braun Fakultät für Informatik und Mathematik Hochschule München SS 2015 Programm-Tests Tests sollen zeigen, dass ein Programm das tut was es tun soll sowie

Mehr

Vgl. Oestereich Kap 2.7 Seiten 134-147

Vgl. Oestereich Kap 2.7 Seiten 134-147 Vgl. Oestereich Kap 2.7 Seiten 134-147 1 Sequenzdiagramme beschreiben die Kommunikation/Interaktion zwischen den Objekten (bzw. verschiedenen Rollen) eines Szenarios. Es wird beschrieben, welche Objekte

Mehr

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung

Mehr

Software - Testung ETIS SS05

Software - Testung ETIS SS05 Software - Testung ETIS SS05 Gliederung Motivation Was ist gute Software? Vorurteile gegenüber Testen Testen (Guidelines + Prinzipien) Testarten Unit Tests Automatisierte Tests Anforderungen an Testframeworks

Mehr

5. Abstrakte Klassen. Beispiel (3) Abstrakte Klasse. Beispiel (2) Angenommen, wir wollen die folgende Klassenhierarchie implementieren:

5. Abstrakte Klassen. Beispiel (3) Abstrakte Klasse. Beispiel (2) Angenommen, wir wollen die folgende Klassenhierarchie implementieren: 5. Abstrakte Klassen Beispiel 5. Abstrakte Klassen 5. Abstrakte Klassen Beispiel Beispiel (3) Angenommen, wir wollen die folgende Klassenhierarchie implementieren: Probleme des Implementierungsvorschlags:

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se

Mehr

Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch.

Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch. Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch.pdf Nachdem die Projekt-Vision und die Stakeholder bekannt sind,

Mehr

Use Cases REQEDIT CLIENT. Mai 2014. DER INNOVATIVE TOOLHERSTELLER www.reqteam.com

Use Cases REQEDIT CLIENT. Mai 2014. DER INNOVATIVE TOOLHERSTELLER www.reqteam.com Use Cases REQEDIT CLIENT Mai 2014 Übersicht 1. Einführung Anforderungsmanagement 2. Einführung Anforderungsmanagementtools und Austauschformate 3. Warum ReqEdit? 4. Use Cases - kleinere und mittlere Unternehmen

Mehr

Szenario 3: Service mit erweiterter Schnittstelle

Szenario 3: Service mit erweiterter Schnittstelle 2. Hintergrundverarbeitung in Android: Services und Notifications Szenarien für lokale Services Szenario 3: Service mit erweiterter Schnittstelle Ein Service bietet zusätzliche Methoden an, über die sich

Mehr

Einführung in die Programmierung mit Java. Hörsaalübung

Einführung in die Programmierung mit Java. Hörsaalübung Einführung in die Programmierung mit Java Hörsaalübung Folie 1 Grundlagen der Objektorientierung Seit Anfang der Neunzigerjahre Standardmethode der Softwareentwicklung. Die OOP Objektorientierte Programmierung

Mehr

Rezertifizierungsgutachten Einhaltung datenschutzrechtlicher Anforderungen durch das IT-Produkt

Rezertifizierungsgutachten Einhaltung datenschutzrechtlicher Anforderungen durch das IT-Produkt Rechtliches und Technisches Rezertifizierungsgutachten Einhaltung datenschutzrechtlicher Anforderungen durch das IT-Produkt - SQS -Testsuite für SAP HCM - der SQS Software Quality Systems AG, Stollwerckstraße

Mehr

Objektorientierte Konzepte und Notation in UML. Objekt Klasse Attribut Operation

Objektorientierte Konzepte und Notation in UML. Objekt Klasse Attribut Operation Objektorientierte Konzepte und Notation in UML Objekt Klasse Attribut Operation Objekt Wodurch zeichnet sich ein Objekt aus? - Zustand - Verhalten - Identität Objektdiagramm - Notationsregeln :Kuh Elsa:Kuh

Mehr

Metadaten für INSPIRE im Geoportal Baden-Württemberg

Metadaten für INSPIRE im Geoportal Baden-Württemberg Metadaten für INSPIRE im Geoportal Baden-Württemberg Martin HÜBEN Einleitung Gegenüber diversen proprietären Metadaten-Softwareprodukten ist als Open Source Lösung in Bezug auf Metadaten derzeit nur GeoNetwork

Mehr

5. Abstrakte Klassen

5. Abstrakte Klassen 5. Abstrakte Klassen Beispiel 5. Abstrakte Klassen Angenommen, wir wollen die folgende Klassenhierarchie implementieren: Vogel Amsel Drossel Fink Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg,

Mehr

Prüfung Software Engineering I (IB)

Prüfung Software Engineering I (IB) Hochschule für angewandte Wissenschaften München Fakultät für Informatik und Mathematik Studiengruppe IB 3 A Wintersemester 2014/15 Prüfung Software Engineering I (IB) Datum : 21.01.2015, 14:30 Uhr Bearbeitungszeit

Mehr

Fundamentals of Software Engineering 1

Fundamentals of Software Engineering 1 Folie a: Name Fundamentals of Software Engineering 1 Grundlagen der Programmentwurfstechnik 1 Sommersemester 2012 Dr.-Ing. Stefan Werner Fakultät für Ingenieurwissenschaften Folie 1 Inhaltsverzeichnis

Mehr

Umsetzung eines Laborversuches auf LON-CAPA mit automatischer Bewertung von ABEL-Programmieraufgaben

Umsetzung eines Laborversuches auf LON-CAPA mit automatischer Bewertung von ABEL-Programmieraufgaben 2. Workshop Automatische Bewertung von Programmieraufgaben (ABP 2015), Wolfenbüttel 2015 Umsetzung eines Laborversuches auf LON-CAPA mit automatischer Bewertung von ABEL-Programmieraufgaben von Sebastian

Mehr

Java für C++ Programmierer

Java für C++ Programmierer Java für C++ Programmierer Alexander Bernauer bernauer@inf.ethz.ch Einführung in die Übungen zu Informatik II (D ITET) FS2010 ETH Zürich Ziel Allgemeiner Überblick Kennenlernen der Suchbegriffe Warum Java?

Mehr

Unit Tests mit Junit 4. Dario Borchers

Unit Tests mit Junit 4. Dario Borchers Unit Tests mit Junit 4 Dario Borchers Agenda Warum testgetriebene Entwicklung von Software? - Motivation Was ist testgetriebene Entwicklung? - Prozess der testgetriebenen Entwicklung - Arten von Tests

Mehr

24 Transformation der Anforderungsspezifikation

24 Transformation der Anforderungsspezifikation 271 24 Transformation der Anforderungsspezifikation 24.1 Einleitung Bei der Softwarespezifizierung wird die Anforderungsspezifikation überarbeitet, weiter strukturiert und präzisiert, um eine Basis für

Mehr

Funktionale Programmierung (in Clojure)

Funktionale Programmierung (in Clojure) Funktionale Programmierung (in Clojure) Einführung Burkhardt Renz Fachbereich MNI Technische Hochschule Mittelhessen Wintersemester 2014/15 Übersicht Paradigmen von Programmiersprachen Paradigmen von Programmiersprachen

Mehr

Containerformat Spezifikation

Containerformat Spezifikation Containerformat Spezifikation Version 1.0-09.05.2011 Inhaltsverzeichnis 0 Einführung... 4 0.1 Referenzierte Dokumente... 4 0.2 Abkürzungen... 4 1 Containerformat... 5 1.1 Aufbau des Container-Headers...

Mehr

Dynamisch generierte grafische Übersichtsseiten für Learning-Content-Management-Systeme. Unterstützung von Grafiken für Prüfungsauswahl.

Dynamisch generierte grafische Übersichtsseiten für Learning-Content-Management-Systeme. Unterstützung von Grafiken für Prüfungsauswahl. Institut für Informationssysteme und Softwaretechnik Dynamisch generierte grafische Übersichtsseiten für Learning-Content-Management-Systeme Unterstützung von Grafiken für Prüfungsauswahl 29. Juni 2005

Mehr

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

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

Mehr

Unit Testing mit JUnit. Dr. Andreas Schroeder

Unit Testing mit JUnit. Dr. Andreas Schroeder Unit Testing mit JUnit Dr. Andreas Schroeder Überblick Was dieses Video behandelt Warum Testen? Was sind Unit Tests? Der Teufelskreis des Nicht-Testens JUnit Unit Test Vorteile Test-Inspiration Wann aufhören?

Mehr

Grundlagen von Python

Grundlagen von Python Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren

Mehr

Softwaretechnikpraktikum SS 2004. Qualitätsmanagement I. 1. Überblick. Qualität. Qualitätsmerkmal

Softwaretechnikpraktikum SS 2004. Qualitätsmanagement I. 1. Überblick. Qualität. Qualitätsmerkmal Softwaretechnikpraktikum SS 2004 Qualitätsmanagement I 5. Vorlesung 1. Überblick Planungsphase Definitionsphase Entwurfsphase Implem.- phase Fragen Was ist Qualität? Wie kann man Qualität messen? Wie kann

Mehr

Online Wissensüberprüfung mit GIA (Graphisch- Interaktive Assessments)

Online Wissensüberprüfung mit GIA (Graphisch- Interaktive Assessments) Online Wissensüberprüfung mit GIA (Graphisch- Interaktive Assessments) ein Werkzeug zur effizienten Gestaltung von Online-Assessments i3mainz GIA Ein Werkzeug für Online Wissensüberprüfung Onlinetests

Mehr

Erstellung von Bibliotheken in CoDeSys V3

Erstellung von Bibliotheken in CoDeSys V3 Dokument Version 2.0 3S - Smart Software Solutions GmbH Seite 1 von 10 INHALT 1 EINFÜHRUNG 3 2 BIBLIOTHEKSKONZEPT IM DETAIL 4 2.1 Kategorien von Bibliotheken 4 2.1.1 System 4 2.1.2 Internal 4 2.1.3 Application

Mehr

Generatives Programmieren

Generatives Programmieren Generatives Programmieren Seminar Produktlinien WS03/04 Tammo van Lessen 08.01.2004 Outline Einleitung Generatoren Generatives Programmieren Fazit Einleitung Industrielle Entwicklung 1826 Austauschbare

Mehr

Kapitel DB:III. III. Konzeptueller Datenbankentwurf

Kapitel DB:III. III. Konzeptueller Datenbankentwurf Kapitel DB:III III. Konzeptueller Datenbankentwurf Einführung in das Entity-Relationship-Modell ER-Konzepte und ihre Semantik Charakterisierung von Beziehungstypen Existenzabhängige Entity-Typen Abstraktionskonzepte

Mehr

Prüfung Software Engineering I (IB)

Prüfung Software Engineering I (IB) Hochschule für angewandte Wissenschaften München Fakultät für Informatik und Mathematik Studiengruppe IB 4 A Sommersemester 2015 Prüfung Software Engineering I (IB) Datum : 09.07.2015, 14:30 Uhr Bearbeitungszeit

Mehr

Erweiterung für Premium Auszeichnung

Erweiterung für Premium Auszeichnung Anforderungen Beliebige Inhalte sollen im System als Premium Inhalt gekennzeichnet werden können Premium Inhalte sollen weiterhin für unberechtigte Benutzer sichtbar sein, allerdings nur ein bestimmter

Mehr

E-Assessment mit Graja ein Vergleich zu Anforderungen an Softwaretestwerkzeuge

E-Assessment mit Graja ein Vergleich zu Anforderungen an Softwaretestwerkzeuge E-Assessment mit Graja ein Vergleich zu Anforderungen an Softwaretestwerkzeuge Robert Garmann 1 Forschungsbericht 24. Juni 2015 Hochschule Hannover Fakultät IV Wirtschaft und Informatik Ricklinger Stadtweg

Mehr

Beschreibung der Versendung von Abverkaufsdaten

Beschreibung der Versendung von Abverkaufsdaten Beschreibung der Versendung von Abverkaufsdaten Version 2.1 PHONO N ET Änderungshistorie Version Release-Daten Gültigkeitsdaten/Bemerkung 1.0 8/96 Versendeablauf mit der Workstation Versendeablauf mit

Mehr

Unit Tests. Programmiermethodik. Eva Zangerle Universität Innsbruck

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

Mehr

Markus Wichmann. Testen von Java Code mit. JUnit

Markus Wichmann. Testen von Java Code mit. JUnit Markus Wichmann Testen von Java Code mit JUnit Demotivation... Am Anfang war der Zeitdruck... Hilfe, ich habe doch keine Zeit zum Testen! Ich schreibe einfach keine Tests, dadurch werde ich schneller fertig

Mehr

Softwaretechnik. Fomuso Ekellem WS 2011/12

Softwaretechnik. Fomuso Ekellem WS 2011/12 WS 2011/12 Inhalt Wiederholung Weitere Begriffe Programmierung im Großem (Programmierung von Software als Ganzes) Prozess-Modelle 2 Wiederholung: Prozesse Prozesse sind hierarchische Gruppierungen von

Mehr

Objektorientierte Datenmodelle und - verwaltung

Objektorientierte Datenmodelle und - verwaltung Schlagworte der 90er: Objektorientiertes GIS OpenGIS Case-Tool Geoökologe Legt Problemstellung fest (Art, Anzahl, Dimension, Skalierung) Wählt Koordinatensystem Wählt Fachattribute OOUI (object-oriented

Mehr

2. Lernen von Entscheidungsbäumen

2. Lernen von Entscheidungsbäumen 2. Lernen von Entscheidungsbäumen Entscheidungsbäume 2. Lernen von Entscheidungsbäumen Gegeben sei eine Menge von Objekten, die durch Attribut/Wert- Paare beschrieben sind. Jedes Objekt kann einer Klasse

Mehr

Softwareentwicklungspraktikum Sommersemester 2007. Testdokumentation

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

Mehr

ASP.NET Grundlagen. Was ist ASP.NET

ASP.NET Grundlagen. Was ist ASP.NET ASP.NET Grundlagen ASP.NET Grundlagen...1 Was ist ASP.NET...1 Webseiten mit ASP.NET...3 Ereignisse...4 Zustandsverwaltung...5 Die Eigenschaften Request und Response....6 Was ist ASP.NET ASP steht für Active

Mehr

Matrikelnr: Name: Vorname: Aufgabe 1 2 3 4 Summe Maximal erreichbare 20 30 30 20 100 Punktzahl Erreichte Punktzahl. Note:

Matrikelnr: Name: Vorname: Aufgabe 1 2 3 4 Summe Maximal erreichbare 20 30 30 20 100 Punktzahl Erreichte Punktzahl. Note: Fakultät für Wirtschaftswissenschaft Matrikelnr: Name: Vorname: : Modul 32711 Business Intelligence Termin: 28.03.2014, 9:00 11:00 Uhr Prüfer: Univ.-Prof. Dr. U. Baumöl Aufbau und Bewertung der Aufgabe

Mehr

Containerformat Spezifikation

Containerformat Spezifikation Containerformat Spezifikation Version 1.1-21.02.2014 Inhaltsverzeichnis 0 Einführung... 4 0.1 Referenzierte Dokumente... 4 0.2 Abkürzungen... 4 1 Containerformat... 5 1.1 Aufbau des Container-Headers...

Mehr

Klassenbeziehungen & Vererbung

Klassenbeziehungen & Vererbung Klassenbeziehungen & Vererbung VL Objektorientierte Programmierung Raimund Kirner teilweise nach Folien von Franz Puntigam, TU Wien Überblick Arten von Klassenbeziehungen Untertypen versus Vererbung in

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Konstruktor, Statische Methoden Packages Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Initialisierung von Datenstrukturen

Mehr

8.3 - Dokumentvorlage erstellen und benutzen

8.3 - Dokumentvorlage erstellen und benutzen 8.3 - Dokumentvorlage erstellen und benutzen Dieses Kapitel beschreibt, wie Sie Dokumentvorlagen erstellen und in moveon für personalisierte Dokumente wie Briefe, Bescheinigungen, Learning Agreements,

Mehr

Kampf dem Fehlerteufel PMD, Findbugs und Checkstyle in großen Projekten

Kampf dem Fehlerteufel PMD, Findbugs und Checkstyle in großen Projekten main {GRUPPE} Seite 1 Jürgen Nicolai Geschäftsführender Gesellschafter Liebknechtstrasse 33 70565 Stuttgart Tel : 07 11/7 81 19 90 Fax : 07 11/ 7 81 19 91 Mail : j.nicolai@main-gruppe.de Web: www.main-gruppe.de

Mehr

Java Einführung Methoden in Klassen

Java Einführung Methoden in Klassen Java Einführung Methoden in Klassen Lehrziel der Einheit Methoden Signatur (=Deklaration) einer Methode Zugriff/Sichtbarkeit Rückgabewerte Parameter Aufruf von Methoden (Nachrichten) Information Hiding

Mehr

Unterscheidung: Workflowsystem vs. Informationssystem

Unterscheidung: Workflowsystem vs. Informationssystem 1. Vorwort 1.1. Gemeinsamkeiten Unterscheidung: Workflowsystem vs. Die Überschneidungsfläche zwischen Workflowsystem und ist die Domäne, also dass es darum geht, Varianten eines Dokuments schrittweise

Mehr

Die Softwareentwicklungsphasen!

Die Softwareentwicklungsphasen! Softwareentwicklung Die Softwareentwicklungsphasen! Die Bezeichnungen der Phasen sind keine speziellen Begriffe der Informatik, sondern den allgemeinen Prinzipien zur Produktion integrierter Systeme entliehen.

Mehr

Software Engineering Klassendiagramme Einführung

Software Engineering Klassendiagramme Einführung Software Engineering Klassendiagramme Einführung Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Aufgabe Erstellen Sie eine Klasse Person in Java. Jede Person verfügt

Mehr

Software Engineering in der Praxis

Software Engineering in der Praxis Software Engineering in der Praxis Praktische Übungen Dirk Wischermann Marc Spisländer Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg 18. Dezember 2006 Inhalt Nachlese

Mehr

1 Einleitung. Software Engineering. Vorgehensweisen

1 Einleitung. Software Engineering. Vorgehensweisen 1 Noch ein Buch über Software Engineering? Warum nicht! Wir folgen einem Prinzip, das zur Lösungsfindung in den verschiedensten Domänen Einzug gehalten hat: die Betrachtung aus verschiedenen Blickwinkeln.

Mehr

Methodische objektorientierte Softwareentwicklung

Methodische objektorientierte Softwareentwicklung Methodische objektorientierte Softwareentwicklung Eine Integration klassischer und moderner Entwicklungskonzepte von Mario Winter 1. Auflage Methodische objektorientierte Softwareentwicklung Winter schnell

Mehr

Einführung in die Wirtschaftsinformatik VO WS 2006/2007

Einführung in die Wirtschaftsinformatik VO WS 2006/2007 Einführung in die Wirtschaftsinformatik VO WS 2006/2007 Geschäftsprozessmodellierung o. Univ. Prof. Dr. Dimitris Karagiannis Inhaltsübersicht Grundlagen zur Geschäftsprozessmodellierung Definition Geschäftsprozess

Mehr

Kapitel 2 Business Process Model and Notation (BPMN) II

Kapitel 2 Business Process Model and Notation (BPMN) II Kapitel 2 Business Process Model and Notation (BPMN) II Unternehmensstrukturen und Prozesse HS 2013 Prof. Dr. Jana Köhler jana.koehler@hslu.ch Schwerpunkt Heute: Gute Modelle Style Guidelines "BPMN Knigge"

Mehr

Software Engineering II

Software Engineering II Software Engineering II Codegenerierung für den SmartIO Editor mit der Modeling Workflow Engine Wintersemester 10/111 Fachgebiet Software Engineering Albert Zündorf / Wiederholung Bisher im Laufe des Semesters

Mehr

Anforderungsanalyse: Tutor

Anforderungsanalyse: Tutor Anforderungsanalyse: Tutor cho,nma,jhed,amk,mmu 28. April 2008 Inhaltsverzeichnis 1 Use-Cases 2 1.1 Use-Case: Korrektur.............................. 3 1.1.1 Interaktionsfolge............................

Mehr

MCP Managing Conference Proceedings

MCP Managing Conference Proceedings Projekt Workshop zur Global Info SFM WEP, 19-20. Juli 2000, Braunschweig MCP Managing Conference Proceedings Paper Submission und Review bei der EUROGRAPHICS 2000 Resultate und Ausblick bmb+f Global Info

Mehr

Übung 2: Spezifikation von Auszügen eines Provisionssystems

Übung 2: Spezifikation von Auszügen eines Provisionssystems Übung 2: Spezifikation von Auszügen eines Provisionssystems Für die zweite Übung sollten Sie wieder auf einer einheitlichen Ausgangslage aufsetzen können. Dazu ist es nötig, zunächst einen groben Überblick

Mehr

Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit

Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit EMF ist ein eigenständiges Eclipse-Projekt (Eclipse Modeling Framework Project) EMF ist ein Modellierungsframework und Tool

Mehr

Code-Quality-Management

Code-Quality-Management Code-Quality-Management Technische Qualität industrieller Softwaresysteme transparent und vergleichbar gemacht von Frank Simon, Olaf Seng, Thomas Mohaupt 1. Auflage Code-Quality-Management Simon / Seng

Mehr

// Nachrichtenüberblick auf Ihrer Website - Regio-News Konfiguration und Einbindung

// Nachrichtenüberblick auf Ihrer Website - Regio-News Konfiguration und Einbindung // Nachrichtenüberblick auf Ihrer Website - Regio-News Konfiguration und Einbindung webbank+ Handbuch odule & Rechner, Kapitel 8 Version 5.2 22. Juni 2015 254 // Nachrichtenüberblick auf Ihrer Website

Mehr

Template-basierte UI Konzeption

Template-basierte UI Konzeption Templatebasierte UI Konzeption User Experience Bereich Planung und Design Aktivität Lösungskonzept entwerfen Ziele Entwicklung einer konsistenten Benutzeroberfläche Schnelle und konsistente Umsetzung von

Mehr

Deklarationen in C. Prof. Dr. Margarita Esponda

Deklarationen in C. Prof. Dr. Margarita Esponda Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.

Mehr

WhiteStarUML Tutorial

WhiteStarUML Tutorial WhiteStarUML Tutorial Autor: Simon Balázs, BME IIT, 2015. Übersetzung: Kovács Márton, 2015. Installation Herunterladen und installieren Sie das WhiteStarUML: http://sourceforge.net/projects/whitestaruml/

Mehr

Tutorial. Bibliothek AutoGUITest V1.0. Windows-Benutzeroberflächen automatisiert testen. Ausgabe: 6.6.02. 06.06.02 / 13:51 Seite 1

Tutorial. Bibliothek AutoGUITest V1.0. Windows-Benutzeroberflächen automatisiert testen. Ausgabe: 6.6.02. 06.06.02 / 13:51 Seite 1 Bibliothek AutoGUITest V1.0 Windows-Benutzeroberflächen automatisiert testen Tutorial Ausgabe: 6.6.02 06.06.02 / 13:51 Seite 1 Inhalt 1 Übersicht...3 2 Funktionsweise...3 3 Funktionsumfang...3 4 Einsatz

Mehr

Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I)

Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I) Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I) Historisch Kulturelle Informationsverarbeitung Hauptseminar: KLIPS 2.0 Dozent: Prof. Dr. Thaller Referent:

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

Software Engineering Klassendiagramme weiterführende Konzepte

Software Engineering Klassendiagramme weiterführende Konzepte Software Engineering Klassendiagramme weiterführende Konzepte Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Klassenattribut: static Implementierung in Java public

Mehr

Vortrag von: Ilias Agorakis & Robert Roginer

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

Mehr

Java und XML 2. Java und XML

Java und XML 2. Java und XML Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik Java und XML Hauptseminar Telematik WS 2002/2003

Mehr

12 Nicht-funktionale Anforderungen

12 Nicht-funktionale Anforderungen 12 Nicht-funktionale Anforderungen Nicht-funktionale Anforderungen (non-functional requirements) Anforderungen an die Umstände, unter denen die geforderte Funktionalität zu erbringen ist. Gesamte Anforderungen

Mehr

Empirische Softwaretechnik Kosten und Nutzen von UML in der Wartung Dr. Victor Pankratius Andreas Höfer Wintersemester 2009/2010

Empirische Softwaretechnik Kosten und Nutzen von UML in der Wartung Dr. Victor Pankratius Andreas Höfer Wintersemester 2009/2010 Empirische Softwaretechnik Dr. Victor Pankratius Andreas Höfer Wintersemester 2009/2010 IPD Tichy, Fakultät für Informatik Pflichtlektüre hierzu: Dzidek, Arisholm, Briand, A Realistic Empirical Evaluation

Mehr

Abacus Formula Compiler (AFC)

Abacus Formula Compiler (AFC) Abacus Formula Compiler (AFC) Alle kennen Excel - jetzt sogar Ihre Java- Applikation! Bringt Tabellenkalkulationen auf die JVM http://formulacompiler.org/ Peter Arrenbrecht für Abacus Research AG http://abacus.ch/

Mehr

Feature Modelling und Product Sets. Seminar Softwareengineering SS 2007 Felix Schwarz, Olaf Otto TU Berlin

Feature Modelling und Product Sets. Seminar Softwareengineering SS 2007 Felix Schwarz, Olaf Otto TU Berlin Feature Modelling und Product Sets Seminar Softwareengineering SS 2007 Felix Schwarz, Olaf Otto TU Berlin Agenda Einleitung Variabilitätsmodellierung und Feature-Bäume Staged Configuration Multi-Level

Mehr

Version 1.0 Erstellt am 12.12.2014 Zuletzt geändert am 17.12.2014. Gültig für Release 1.0.0.0

Version 1.0 Erstellt am 12.12.2014 Zuletzt geändert am 17.12.2014. Gültig für Release 1.0.0.0 Version 1.0 Erstellt am 12.12.2014 Zuletzt geändert am 17.12.2014 Gültig für Release 1.0.0.0 Inhalt 1 WebPart Site Informationen 3 1.1 Funktionalität 3 1.2 Bereitstellung und Konfiguration 4 2 WebPart

Mehr

Ressourcen-Beschreibung im Semantic Web

Ressourcen-Beschreibung im Semantic Web Ressourcen-Beschreibung im Semantic Web Cristina Vertan Inhaltsübersicht Wie sollen die Ressourcen für Semantic Web annotiert werden? Was ist und wie funktioniert RDF? Wie kodiert man RDF-Statements in

Mehr

Vorlesung Datenbanken II A Klausur

Vorlesung Datenbanken II A Klausur Prof. Dr. Stefan Brass 11. Juli 2006 Institut für Informatik MLU Halle-Wittenberg Vorlesung Datenbanken II A Klausur Name: Matrikelnummer: Studiengang: Aufgabe Punkte Max. Punkte Zeit 1 (Entwurf im ER-Modell)

Mehr

PDF-OVER INSTALLATION UND BEDIENUNG

PDF-OVER INSTALLATION UND BEDIENUNG PDF-OVER INSTALLATION UND BEDIENUNG Es werden auf allen Plattformen die gleichen JAVA Basisprogramme verwendet. Zur einfacheren Handhabung sind an die Plattform angepasste Installationsprogramme, Startprogramme

Mehr