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

Größe: px
Ab Seite anzeigen:

Download "Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 1"

Transkript

1 Prof. Dr. Wilhelm Schäfer Paderborn, 10. November 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 1 Aufgabe 1 Modellmerkmale Betrachten Sie die folgenden Modelle: Turingmaschine Röntgenbild UML-Klassendiagramm Java-Code Stadtplan Wasserfallmodell Begründen Sie für jeden der aufgeführten Begriffe seine Einordnung als Modell. Geben Sie dazu an, inwiefern, (auch: Verkürzungsmerkmal) und pragmatisches Merkmal zutreffen. zu a) und b): Turingmaschine Rechner oder konkretes Programm Speicherkapazität, Speicherzugriff, Eingabe-/Ausgabealphabet, I/O, konkrete Variablenbelegung, allgemein technische Realisierung Berechenbarkeit/Komplexität von Problemen untersuchen (Churchsche These) Röngenbild Körper Haut, Organe, weiches Gewebe 1

2 Identifikation von Verletzungen UML-Klassendiagramm SoftwareProblembereich Verhalten, konkrete Ausprägungen auf Basis von Objekten Aufzeigen der Struktur, Kommunikation, Spezifikation von Vorgaben/Einschränkungen ( Validierung auf Objektebene), Codegen Java-Code Stadtplan Bytecode, Assemblercode, Maschinencode, Programm Speicherallokation und -freigabe ( Garbage Collector), Pointerarithmetik, Plattform vereinfachte/sicherere Programmierung Stadt Häuserfassaden, Parkbänke, Bäume,... Navigation, Orientierung, Wegfindung,... Wasserfallmodell lineares Vorgehen im Softwareentwicklungsprozess detaillierte Prozessschritte, Rücksprünge, Personal, Ressourcen standardisiertes, strukturiertes, bewährtes Vorgehen, Referenz Aufgabe 2 Präskriptive und deskriptive Modellbildung Im Rahmen der Vorlesung wird von einer präskriptiven Modellbildung ausgegangen, d.h. es werden Modelle von zu entwickelnden Softwaresystemen erstellt. Beschreiben Sie Fälle, bei denen auch eine deskriptive Modellbildung von Softwaresystemen sinnvoll erscheint. 2

3 Reverse Engineering von Altsystemen ohne Dokumentation, Ableitung von abstrakter Beschreibung, Weiterentwicklung/Erweiterung Aufgabe 3 Uni- und bi-direktionale Assoziationen In der UML gibt es verschiedene Arten von Assoziationen. Unter anderem wird zwischen bi-direktionalen und uni-direktionalen Assoziationen unterschieden. Erklären Sie kurz die wesentlichen Unterschiede. Was ist bei der Implementierung von bi-direktionalen Assoziationen im Vergleich zu uni-direktionalen Assoziationen zusätzlich zu berücksichtigen? Uni-direktionale Assoziationen werden häufig auch als Referenzen bezeichnet. Wird von einer Klasse A eine Klasse B referenziert (siehe Abb. 1 a)), d.h. A ist durch eine uni-direktionale Assoziation mit B verbunden, so hält ein A-Objekt je nach Kardinalität der Assoziation ein oder mehrere Objektreferenzen auf B-Objekte. B-Objekte haben aber keine Referenzen auf A-Objekte. Die Assoziation ist dann nur von A zu B navigierbar. A B A B A B a) b) c) Abbildung 1: Uni- und bi-direktionale Assoziationen Ist die Assoziation zwischen den Klassen A und B bi-direktional (siehe Abb. 1 c)), so halten Instanzen beider Klassen Referenzen auf Instanzen der jeweils anderen Klasse (Assoziation in beide Richtungen navigierbar). Im Gegensatz zu zwei uni-direktionalen Assoziationen zwischen den Klassen A und B (siehe Abb. 1 b)) wird bei einer bi-direktionalen Assoziation stets die Konsistenz der Objektreferenzen gewahrt. Das spiegelt sich bei der Implementierung der Zugriffsmethoden zu der Assoziation wieder: Die Zugriffsmethoden der Klassen A und B rufen sich gegenseitig auf, um die Konsistenz der Objektreferenzen sicherzustellen. Aufgabe 4 Konsistenz bei Assoziationen (Korrekturaufgabe, 5 Punkte) Auf der Web-Seite zur Vorlesung ist der generierte Quellcode zum Klassendiagramm aus Abbildung 2 gegeben (Datei Implementierung1.zip). fujaba: Book Person * Book albert: Person lisa: Person patterns: Book uml: Book Abbildung 2: Klassendiagramm Abbildung 3: Objektdiagramm a) Gehen Sie von der in Abbildung 3 dargestellten Situation aus und beschreiben Sie mit Hilfe eines Sequenzdiagramms, was genau passiert, wenn auf dem Objekt lisa die 3

4 Methode addtolentbooks mit dem Parameter fujaba aufgerufen wird. Beachten Sie dabei, dass dieser Methodenaufruf weitere Methodenaufrufe zur Folge hat. Stellen Sie im Sequenzdiagramm nur Objekte dar, die in der Abbildung 3 vorkommen und blenden Sie zur Vereinfachung nicht beteiligte Objekte aus. b) Erklären Sie anhand des Sequenzdiagramms, wie die Konsistenz der Objektreferenzen sichergestellt wird. c) Stellen Sie in einem Objektdiagramm die Situation nach Beenden des Methodenaufrufs dar. a) Das Sequenzdiagramm in Abb. 4 stellt den geforderten Ablauf dar. lisa: Person fujaba: Book albert: Person 1: addtolentbooks(fujaba) 1.1: setlentby(lisa) 1.1.1: removefromlentbooks(fujaba) : setlentby(null) 1.1.2: addtolentbooks(fujaba) true false true false true Abbildung 4: Ablauf beim Aufruf der Methode setlentby b) Ein Aufruf der Methode addtolentbooks auf dem Objekt lisa mit dem Parameter fujaba soll bewirken, dass das Objekt lisa das Objekt fujaba referenziert und umgekehrt (d.h. Lisa hat das Buch über Fujaba ausgeliehen). Die Konsistenz wird dabei in mehreren Schritten sichergestellt. 1.) Der Ablauf beginnt damit, dass das Objekt fujaba mit dem Objekt lisa verknüpft wird. Anschliessend wird auf dem Objekt fujaba die Methode setlentby mit dem Parameter lisa aufgerufen, um die beidseitige Verknüpfung zu gewährleisten. 4

5 2.) Das Ojekt fujaba ist allerdings noch mit dem Objekt albert verknüpft, also muss zunächst diese Verknüpfung beidseitig gelöscht werden. Also wird als erstes diese Verknüpfung durch Aufruf der Methode removefromlentbooks auf dem Objekt albert aufgelöst. Dieser Aufruf hat wiederum den Aufruf der Methode setlentby auf dem Objekt fujaba mit dem Parameter null zur Folge. Der erneute Aufruf der Methode setlentby führt hierbei nicht zu einer Endlosschleife, da die Methode überprüft, ob es Änderungen gegeben hat. Dies ist nicht der Fall und die Methode gibt false zurück. 3.) Nachdem sichergestellt ist, dass das Objekt fujaba mit keinem anderen Person- Objekt verknüpft ist, wird im nächsten Schritt die Verknüpfung zum dem gewünschten Person-Objekt aufgebaut, in diesem Fall also zu dem Objekt lisa. 4.) Um auch eine Referenz in die Rückrichtung zu erstellen, wird anschließend die Methode addtolentbooks auf dem Objekt lisa mit dem Objekt fujaba als Parameter aufgerufen. Wie bereits im 2. Schritt, führt dieser Aufruf zu keiner weiteren Änderung und die verschachtelten Aufrufe kommen zu einem Ende. c) Das Objektdiagramm in Abb. 5 stellt die Objektstruktur aus Abb. 3 nach Aufruf der Methode addtolentbooks auf dem Objekt lisa mit dem Parameter fujaba dar. Alternativ kann auch jede Referenz einzeln dargestellt werden. albert: Person fujaba: Book patterns: Book lisa: Person uml: Book Abbildung 5: Objektstruktur nach Aufruf der Methode setlentby Aufgabe 5 Assoziationsimplementierungen testen Gegeben ist eine alternative Implementierung zu dem Klassendiagramm aus Abbildung 2 (Datei Implementierung2.zip). Überlegen Sie sich, was bei der Implementierung einer solchen Assoziation zu berücksichtigen ist. Schreiben Sie einen JUnit-Test mit drei sinnvollen Testfällen, die diese Eigenschaften bei der gegebenen Implementierung überprüfen und testen Sie die Implementierung. Sinnvoll wäre es z.b. eine Methode zu schreiben, welche testet, ob ein Book-Objekt korrekt mit einem Person-Objekt verbunden und getrennt werden kann. Kapseln Sie wiederkehrende Bestandteile, die für die Initialisierung und für die Beendigung / das Aufräumen der Testfälle benötigt werden. Fügen Sie zusätzlich Kommentare in die Testimplementierung mit Begründung zu Ihren Testfällen ein. Verwenden Sie für den JUnit-Test die aktuelle Eclipse Version mit JUnit 4 (in Eclipse enthalten). 5

6 Hinweis: Die beiden Implementierungen sind gegeben als Eclipse-Plug-In-Projekte. Um die für die Implementierung benötigten Abhängigkeiten zu erfüllen, benutzen Sie bitte die Eclipse Modeling Tools Edition. Sie erhalten die Eclipse Modeling Tools Edition auf http: // www. eclipse. org/ downloads/ packages/ eclipse-modeling-tools/ lunasr1. Informationen zu JUnit-Tests erhalten Sie unter http: // junit. org oder in dem Hilfesystem der Entwicklungsumgebung Eclipse ( Bei der Implementierung einer bi-direktionalen Assoziation muss bei Aufruf einer der schreibenden Zugriffsmethoden (Setter-Methoden) die Konsistenz der die Assoziation realisierenden Objektreferenzen sichergestellt werden. Bei der Assoziation in Abb. 2 muss also bei einer Änderung einer Book-Referenz eines Person-Objekts auch die zugehörige Person-Referenz des entsprechenden Book-Objekts geändert werden. Aufgrund der Kardinalität 0..1 auf Seite der Klasse Person darf ein Book-Objekt nur ein Person-Objekt referenzieren. D.h., falls ein Book-Objekt bei Aufruf einer Zugriffsmethode (z.b. setlentby wie in Abb. 4) noch mit einem anderen Person-Objekt verbunden ist, muss diese Verknüpfung aufgelöst werden, bevor das Book-Objekt mit einem neuen Person-Objekt verbunden wird. Eine mögliche JUnit-Testimplementierung, welche die beschriebenen Eigenschaften überprüft, könnte wie auf folgender Seite aussehen. Alle genannten Eigenschaften werden laut Test von der gegebenen Assoziationsimplementierung erfüllt. 1 package de. upb. a s s o c i a t i o n s. t e s t ; 2 3 import de. upb. a s s o c i a t i o n s. Book ; 4 import de. upb. a s s o c i a t i o n s. Person ; 5 import de. upb. a s s o c i a t i o n s. A s s o c i a t i o n s F a c t o r y ; 6 import org. j u n i t. A f t e r ; 7 import org. j u n i t. B e f o r e ; 8 import org. j u n i t. Test ; 9 import s t a t i c org. j u n i t. A s s e r t. ; / 12 / 13 public c l a s s A s s o c i a t i o n T e s t { 14 private Book patterns ; 15 private Person albert, l i s a ; / 18 The method s e t U p ( ) i s c a l l e d e v e r y t i m e b e f o r e a t e s t c a s e. s e t U p ( ) 19 i n i t i a l i z e s t h e t e s t p a r a m e t e r. 20 o r g. j u n i t. B e f o r e 22 / 24 public void setup ( ) throws Exception { 25 p a t t e r n s = A s s o c i a t i o n s F a c t o r y. einstance. createbook ( ) ; 26 a l b e r t = A s s o c i a t i o n s F a c t o r y. einstance. c r e a t e P e r s o n ( ) ; 27 l i s a = AssociationsFactory. einstance. createperson ( ) ; 28 } / 31 The method teardown ( ) i s c a l l e d e v e r y t i m e a f t e r a T e s t c a s e. teardown ( ) 32 s e t s a l l i n i t i a l i z e d p a r a m e t e r s t o n u l l. 33 o r g. j u n i t. A f t e r 35 / 37 public void teardown ( ) throws Exception { 38 p a t t e r n s = null ; 39 a l b e r t = null ; 40 l i s a = null ; 41 } / 44 F i r s t t e s t c a s e t e s t s t h e c o r r e c t n e s s o f t h e i n i t i a l i z e d p a r a m e t e r s. The 45 book should not be l e n t by any person and every person has not lend a 46 book. 47 o r g. j u n i t. T e s t 49 / 51 public void i n i t i a l i z a t i o n ( ) { 52 // Ensure i n i t i a l i z a t i o n i s c o r r e c t 53 a s s e r t E q u a l s ( null, p a t t e r n s. getlentby ( ) ) ; 6

7 54 a s s e r t T r u e ( a l b e r t. getlentbooks ( ). isempty ( ) ) ; 55 a s s e r t T r u e ( a l b e r t. getlentbooks ( ). s i z e ( ) ==0) ; 56 a s s e r t T r u e ( l i s a. getlentbooks ( ). isempty ( ) ) ; 57 } / 60 Second t e s t c a s e t e s t s t h e c o n n e c t i o n and d i s c o n n e c t i o n o f t h e 61 b i d i r e c t i o n a l f u n c t i o n s by s e t L e n t B y ( ) and add ( ). 62 o r g. j u n i t. T e s t 64 / 66 public void connectdisconnect ( ) { 67 // Connect a l b e r t w i t h p a t t e r n s 68 a l b e r t. getlentbooks ( ). add ( p a t t e r n s ) ; // e n s u r e c o n n e c t i o n i s c o n s i s t e n t 71 a s s e r t T r u e ( a l b e r t. getlentbooks ( ). c o n t a i n s ( p a t t e r n s ) ) ; 72 a s s e r t T r u e ( a l b e r t. getlentbooks ( ). s i z e ( ) ==1) ; 73 a s s e r t E q u a l s ( a l b e r t, p a t t e r n s. getlentby ( ) ) ; // e n s u r e t h a t no d o u b l e s e n t r i e s c o u l d e x i s t 76 a s s e r t F a l s e ( a l b e r t. getlentbooks ( ). add ( p a t t e r n s ) ) ; 77 a s s e r t T r u e ( a l b e r t. getlentbooks ( ). s i z e ( ) ==1) ; // remove c o n n e c t i o n 80 a l b e r t. getlentbooks ( ). remove ( p a t t e r n s ) ; // e n s u r e c o n n e c t i o n i s c o n s i s t e n t a g a i n 83 a s s e r t F a l s e ( a l b e r t. getlentbooks ( ). c o n t a i n s ( p a t t e r n s ) ) ; 84 a s s e r t T r u e ( a l b e r t. getlentbooks ( ). s i z e ( ) ==0) ; 85 a s s e r t N u l l ( p a t t e r n s. getlentby ( ) ) ; // re c o n n e c t t h e o b j e c t ( u s i n g t h e o p p o s i t e a c c e s s o r method ) 88 p a t t e r n s. setlentby ( a l b e r t ) ; // e n s u r e c o n n e c t i o n i s c o n s i s t e n t a g a i n 91 a s s e r t E q u a l s ( a l b e r t, p a t t e r n s. getlentby ( ) ) ; 92 a s s e r t T r u e ( a l b e r t. getlentbooks ( ). c o n t a i n s ( p a t t e r n s ) ) ; // remove c o n n e c t i o n 95 p a t t e r n s. setlentby ( null ) ; // e n s u r e c o n n e c t i o n i s c o n s i s t e n t a g a i n 98 a s s e r t F a l s e ( a l b e r t. getlentbooks ( ). c o n t a i n s ( p a t t e r n s ) ) ; 99 a s s e r t T r u e ( a l b e r t. getlentbooks ( ). s i z e ( ) ==0) ; 100 a s s e r t N u l l ( p a t t e r n s. getlentby ( ) ) ; } / 106 The t h i r d t e s t c a s e t e s t s t h e c o n n e c t i o n c h a n g e s, i f a n o t h e r p e r s o n l e n d s 107 t h e book w i t h setlentby ( ). 108 o r g. j u n i t. T e s t 110 / 112 public void connectionchange ( ) { 113 // c o n n e c t p a t t e r n s w i t h a l b e r t 114 p a t t e r n s. setlentby ( a l b e r t ) ; // now, c o n n e c t p a t t e r n s w i t h a n o t h e r Person o b j e c t 117 p a t t e r n s. setlentby ( l i s a ) ; // e n s u r e a l b e r t i s n o t c o n n e c t e d t o p a t t e r n s anymore 120 a s s e r t F a l s e ( a l b e r t. getlentbooks ( ). c o n t a i n s ( p a t t e r n s ) ) ; // e n s u r e l i s a i s c o n n e c t e d t o p a t t e r n s 123 a s s e r t E q u a l s ( l i s a, p a t t e r n s. getlentby ( ) ) ; 124 a s s e r t T r u e ( l i s a. getlentbooks ( ). c o n t a i n s ( p a t t e r n s ) ) ; // connect v i a add ( ) with another Person 127 a l b e r t. getlentbooks ( ). add ( p a t t e r n s ) ; // e n s u r e l i s a i s n o t c o n n e c t e d t o p a t t e r n s anymore 130 a s s e r t F a l s e ( l i s a. getlentbooks ( ). c o n t a i n s ( p a t t e r n s ) ) ; // e n s u r e a l b e r t i s c o n n e c t e d t o p a t t e r n s 133 a s s e r t E q u a l s ( a l b e r t, p a t t e r n s. getlentby ( ) ) ; 134 a s s e r t T r u e ( a l b e r t. getlentbooks ( ). c o n t a i n s ( p a t t e r n s ) ) ; 135 } 136 } 7

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

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

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

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

09.01.14. Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)

09.01.14. Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML) Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22 Kapitel 19 Vererbung, UML Seite 1 von 22 Vererbung - Neben der Datenabstraktion und der Datenkapselung ist die Vererbung ein weiteres Merkmal der OOP. - Durch Vererbung werden die Methoden und die Eigenschaften

Mehr

Allgemein: Klassen testbar machen. 5. Mocking. Mocks programmieren. Zusammenspiel von Klassen testen

Allgemein: Klassen testbar machen. 5. Mocking. Mocks programmieren. Zusammenspiel von Klassen testen 5. Mocking Allgemein: Klassen testbar machen Wie werden Klassen testbar Entwicklung von Mocks mit der Hand Einführung in JMock Spezifikation von Mocks mit JMock Wann ist Mocking-Werkzeug sinnvoll Literatur:

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

Übungsaufgaben zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 6

Übungsaufgaben zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 6 Prof. Dr. Wilhelm Schäfer Paderborn, 24. November 204 Christian Brenner Tristan Wittgen Besprechung der Aufgaben:. - 4. Dezember 204 Übungsaufgaben zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester

Mehr

Unit Tests und Fehlersuche

Unit Tests und Fehlersuche Unit Tests und Fehlersuche SE 1 - Softwareentwicklungspraktikum Test Deadline! Sinnvolle Tests kompilierbar im CVS d.h. Schnittstellen zu Strategiemethoden etc. schon erstellen Kommentieren! Besser ein

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

Unified Modeling Language (UML)

Unified Modeling Language (UML) Kirsten Berkenkötter Was ist ein Modell? Warum Modellieren? Warum UML? Viele, viele Diagramme UML am Beispiel Was ist ein Modell? Ein Modell: ist eine abstrakte Repräsentation eines Systems, bzw. ist eine

Mehr

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7 Java Einführung Umsetzung von Beziehungen zwischen Klassen Kapitel 7 Inhalt Wiederholung: Klassendiagramm in UML Java-Umsetzung von Generalisierung Komposition Assoziationen 2 Das Klassendiagramm Zweck

Mehr

Programmierprojekt. Anne0e Bieniusa Sommersemester 2014

Programmierprojekt. Anne0e Bieniusa Sommersemester 2014 Programmierprojekt Anne0e Bieniusa Sommersemester 2014 Phasen der So;ware- Entwicklung Planungsphase DefiniConsphase Entwurfsphase ImplemenCerungsphase Testphase Wasserfall- Modell Einführungs- und Wartungsphase

Mehr

Rhapsody in J Modellierung von Echtzeitsystemen

Rhapsody in J Modellierung von Echtzeitsystemen Rhapsody in J Modellierung von Echtzeitsystemen Tobias Schumacher tobe@uni-paderborn.de Rhapsody in J - Modellierung von Echtzeitsystemen p.1/17 Anspruch des Tools Einsatzbereiche/Features Modellierung

Mehr

objectif / SOA /.NET Inhalt Technologien ObjectiF Beispiel Vergleich: ObjectiF Rational Rose Quellenverzeichnis 20.01.2008 Christian Reichardt 2 Technologien 20.01.2008 Christian Reichardt 3 Methodenaufruf

Mehr

Info: Standard DO-178B. 5. Mocking. Zusammenspiel von Klassen testen. Allgemein: Klassen testbar machen

Info: Standard DO-178B. 5. Mocking. Zusammenspiel von Klassen testen. Allgemein: Klassen testbar machen Info: Standard DO-178B Zertifizierung Federal AviationAdministration (FAA), Software für Luftverkehrssysteme durch Standard DO-178B für requirement-based Tests and Code Coverage Analyse DO-178B-Levels

Mehr

JUnit - Test Driven Development. Bernhard Frey, Thorsten Stratmann, Jackson Takam, Michel Müller 1

JUnit - Test Driven Development. Bernhard Frey, Thorsten Stratmann, Jackson Takam, Michel Müller 1 JUnit - Test Driven Development Bernhard Frey, Thorsten Stratmann, Jackson Takam, Michel Müller 1 Gliederung 1.Einleitung 1.1 Geschichte 1.2 Was sind Unit-Tests? 1.3 Failures/Errors 1.4 Ziele und Nutzen

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

Testen mit JUnit. Motivation

Testen mit JUnit. Motivation Test First Design for Test in Eclipse (eigentlich: ) zu einer Klasse Beispiel zur Demonstration Ergänzungen Test First "Immer dann, wenn Du in Versuchung kommst, etwas wie eine print- Anweisung oder einen

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

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur

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

Der EMF-generierte Code. 7. November 2012

Der EMF-generierte Code. 7. November 2012 Der EMF-generierte Code 7. November 2012 Überblick Wie sieht der aus einem EMF-Modell generierte Code aus? Wie ist die Beziehung zwischen Modell und Code? Wie kann generierter Code durch handgeschriebenen

Mehr

Unit-Test Theorie und Praxis. Stephan Seefeld, INGTES AG

Unit-Test Theorie und Praxis. Stephan Seefeld, INGTES AG Unit-Test Theorie und Praxis Stephan Seefeld, INGTES AG Inhalt Was sind Unit-Test? NUnit für.net Demo Seite 2 Quellen Für diesen Vortrag verwendete Quellen: dotnet User Group Berlin Brandenburg http://www.dotnet-berlinbrandenburg.de/

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

Projekt AGB-10 Fremdprojektanalyse

Projekt AGB-10 Fremdprojektanalyse Projekt AGB-10 Fremdprojektanalyse 17. Mai 2010 1 Inhaltsverzeichnis 1 Allgemeines 3 2 Produktübersicht 3 3 Grundsätzliche Struktur und Entwurfsprinzipien für das Gesamtsystem 3 3.1 Die Prefuse Library...............................

Mehr

Darstellung von Assoziationen

Darstellung von Assoziationen Darstellung von Assoziationen Wie bereit aus Kapitel 1 bekannt, beschreiben Assoziationen Beziehungen zwischen Objekten, die zwischen Klassen modelliert werden. Zunächst soll die Modellierung binärer Assoziationen

Mehr

Themen. Web Service - Clients. Kommunikation zw. Web Services

Themen. Web Service - Clients. Kommunikation zw. Web Services Themen Web Service - Clients Kommunikation zw. Web Services Bisher: Implementierung einer Java Anwendung und Bereitstellung durch Apache Axis unter Apache Tomcat Java2WSDL Erzeugen einer WSDL-Datei zur

Mehr

Inhalt: Version 1.7.5

Inhalt: Version 1.7.5 Inhalt: Objekte ohne Methoden Objekte mit einfachen Methoden Objekte und Methoden mit Parametern Objekte und Methoden mit Rückgabewert Objekte mit einem Array als Attribut Beziehungen zwischen Objekten

Mehr

PRÜFUNG. Grundlagen der Softwaretechnik

PRÜFUNG. Grundlagen der Softwaretechnik Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner PRÜFUNG Grundlagen der Softwaretechnik Musterlösung Name: Matrikelnummer: Note: Prüfungstag:

Mehr

Programmiertechnik II

Programmiertechnik II Modultests Ziele Überprüfung der Korrektheit eines Moduls Korrektheit: Übereinstimmung mit (informaler) Spezifikation Modul: kleine testbare Einheit (Funktion, Klasse) Engl.: unit test White box testing

Mehr

Swp08-6 Verantwortliche: Yundensuren, Baigalmaa. Testkonzept

Swp08-6 Verantwortliche: Yundensuren, Baigalmaa. Testkonzept Testkonzept 1.Einführung Um die Zuverläsigkeit und die Qualität der Software und des gesamten Systems zu verbessern, sind Tests durchzuführen. Die Testreihe läst sich in drei Stufen einteilen, nülich Komponententest,

Mehr

Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis

Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0 Für den Einsatz in der Praxis Seite 2 Überblick 1. Ziele 2. Warum das alles? 3. Was ist UML 4. Diagrammarten 5. Umfeld Seite 3 1. Ziele 1. Ziele dieses

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

Testen mit JUnit. Apcon Workplace Solutions Member of itelligence. Testen von Java-Code mit JUnit. ÿstruktur eines Testfalls

Testen mit JUnit. Apcon Workplace Solutions Member of itelligence. Testen von Java-Code mit JUnit. ÿstruktur eines Testfalls Testen von Java-Code mit JUnit ÿmotivation ÿjunit-testklassen ÿjunit-testfälle ÿstruktur eines Testfalls Henning Wolf APCON Workplace Solutions GmbH wolf@jwam.de Motivation: Werkzeugunterstützung für Tests

Mehr

Universität Augsburg, Institut für Informatik Sommersemester 2005 Prof. Dr. Werner Kießling 15. Oktober 2005 Dr. Alfons Huhn, Timotheus Preisinger

Universität Augsburg, Institut für Informatik Sommersemester 2005 Prof. Dr. Werner Kießling 15. Oktober 2005 Dr. Alfons Huhn, Timotheus Preisinger Universität Augsburg, Institut für Informatik Sommersemester 2005 Prof. Dr. Werner Kießling 15. Oktober 2005 Dr. Alfons Huhn, Timotheus Preisinger Informatik II Hinweise: Die Bearbeitungszeit beträgt 90

Mehr

Software Engineering I

Software Engineering I Software I Übungsblatt 1 + 2 Claas Pinkernell Technische Universität Braunschweig http://www.sse.cs.tu-bs.de/ Seite 2 Welche Werkzeuge? Programmiersprache Java Integrierte Entwicklungsumgebung Eclipse

Mehr

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

Mehr

Einführung in Javadoc

Einführung in Javadoc Einführung in Javadoc Johannes Rinn http://java.sun.com/j2se/javadoc Was ist Javadoc? Javadoc ist ein Werkzeug, dass eine standardisierte Dokumentation für die Programmiersprache Java unterstützt. Vorteil:

Mehr

Vorlesung "Software-Engineering"

Vorlesung Software-Engineering Vorlesung "Software-Engineering" Rainer Marrone, TUHH, Arbeitsbereich STS Vorige Vorlesung Pflichtenheft (requirements specification document) Charakterisierung von Software-Qualität Detaillierte Anforderungsanalyse

Mehr

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden. Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,

Mehr

Software Engineering Interaktionsdiagramme

Software Engineering Interaktionsdiagramme Software Engineering Interaktionsdiagramme Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Nachrichtenaustausch Welche Nachrichten werden ausgetauscht? (Methodenaufrufe)

Mehr

Framework zur Unterstützung von Unit-Tests

Framework zur Unterstützung von Unit-Tests JUnit Framework zur Unterstützung von Unit-Tests Automatisierte Ausführung von Tests Ideen dahinter Testgetriebene Entwicklung: Erst testen, dann programmieren Alle Testfälle häufig ausführen (nach jeder

Mehr

Prof. Dr. Wilhelm Schäfer Paderborn, 12. Dezember 2011 Julian Suck Sebastian Goschin Moritz Schraut Besprechung der Aufgaben: 19.

Prof. Dr. Wilhelm Schäfer Paderborn, 12. Dezember 2011 Julian Suck Sebastian Goschin Moritz Schraut Besprechung der Aufgaben: 19. Prof. Dr. Wilhelm Schäfer Paderborn, 12. Dezember 2011 Julian Suck Sebastian Goschin Moritz Schraut Besprechung der Aufgaben: 19. Dezember 2011 Übungsaufgaben zur Vorlesung Modellbasierte Softwareentwicklung

Mehr

Softwarequalitätssicherung

Softwarequalitätssicherung Softwarequalitätssicherung Seminarvortrag Peter Winkelhane 1 Agenda Motivation Taxonomie zur Einordnung von Verfahren im Bereich kontraktbasiertem Testen Drei kontraktbasierte Verfahren Vergleich der drei

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Zusatzaufgaben Lösungsvorschlag Objektorientierte Programmierung Lösung 22 (Java und UML-Klassendiagramm)

Mehr

Freelance 2000. DeltaPLC-Tool. Version 4 / Version 5

Freelance 2000. DeltaPLC-Tool. Version 4 / Version 5 Freelance 2000 DeltaPLC-Tool Version 4 / Version 5 Inhaltsverzeichnis 1 Allgemeine Beschreibung... 5 2 Aufruf des DeltaPLC-Tool... 5 3 Vergleich der PLC-Dateien... 6 4 Konfigurationsänderungen... 7 5

Mehr

Java Virtual Machine (JVM) Bytecode

Java Virtual Machine (JVM) Bytecode Java Virtual Machine (JVM) durch Java-Interpreter (java) realisiert abstrakte Maschine = Softwareschicht zwischen Anwendung und Betriebssystem verantwortlich für Laden von Klassen, Ausführen des Bytecodes,

Mehr

PRÜFUNG. Grundlagen der Softwaretechnik

PRÜFUNG. Grundlagen der Softwaretechnik Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner PRÜFUNG Grundlagen der Softwaretechnik Name: Matrikelnummer: Note: Prüfungstag: 21.09.2012 Prüfungsdauer:

Mehr

Vorlesung Informatik II

Vorlesung Informatik II Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 02. JAVA: Erstes Programm 1 Das erste Java-Programm

Mehr

Java Einführung Programmcode

Java Einführung Programmcode Java Einführung Programmcode Inhalt dieser Einheit Programmelemente Der erste Programmcode Die Entwicklungsumgebung: Sun's Java Software Development Kit (SDK) Vom Code zum Ausführen des Programms 2 Wiederholung:

Mehr

Überdeckungsmessung von Java-Programmen

Überdeckungsmessung von Java-Programmen Überdeckungsmessung von Java-Programmen TAV 20, 16.-17. Oktober 2003 method-park, Erlangen Mario Winter, Hans-Gerd Wefels FH Köln Überdeckungsmessung von Java-Programmen Dynamischer Test in der Praxis

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

Einführung in die Informatik Tools

Einführung in die Informatik Tools Einführung in die Informatik Tools Werkzeuge zur Erstellung von Softwareprojekten Wolfram Burgard 8.1 Motivation Große Softwareprojekte werden schnell unübersichtlich. Änderungen im Code können leicht

Mehr

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

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

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung Kapitel 6 Vererbung Vererbung 1 Ziele Das Vererbungsprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen

Mehr

Software Engineering Analyse und Analysemuster

Software Engineering Analyse und Analysemuster Software Engineering Analyse und Analysemuster Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Klassendiagramme in der Analyse Im Rahmen der Anforderungsanalyse

Mehr

Innovator 11 classix. Java Reverse Engineering. HowTo. Ralph Schönleber. www.mid.de

Innovator 11 classix. Java Reverse Engineering. HowTo. Ralph Schönleber. www.mid.de Innovator 11 classix Java Reverse Engineering Ralph Schönleber HowTo www.mid.de Mit Innovator Java Reverse Engineering durchführen Inhaltsverzeichnis Voraussetzungen... 2 Java Reverse Engineering... 2

Mehr

PIWIN 1 Übung Blatt 5

PIWIN 1 Übung Blatt 5 Fakultät für Informatik Wintersemester 2008 André Gronemeier, LS 2, OH 14 Raum 307, andre.gronemeier@cs.uni-dortmund.de PIWIN 1 Übung Blatt 5 Ausgabedatum: 19.12.2008 Übungen: 12.1.2009-22.1.2009 Abgabe:

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

Übung zur Vorlesung Einführung in Software Engineering

Übung zur Vorlesung Einführung in Software Engineering Übung zur Vorlesung Einführung in Software Engineering Wintersemester 2012/13, Richard Bubel und Martin Hentschel Übungsblatt 5: Testen Abgabeformat: Reichen Sie Ihre Lösung per SVN als eine PDF-Datei

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Testen von graphischen Benutzeroberflächen. 26. Juni 2013

Testen von graphischen Benutzeroberflächen. 26. Juni 2013 Testen von graphischen Benutzeroberflächen 26. Juni 2013 Überblick Testarten Methoden-, Klassen-, Komponenten-, Systemtests Motivation für automatisches Testen von graphischen Benutzeroberflächen Entwicklungsprinzipien

Mehr

Übung: Verwendung von Java-Threads

Ü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

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

SEP 114. Design by Contract

SEP 114. Design by Contract Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit

Mehr

Java Schulung. Objektorientierte Programmierung in Java Teil IV: Testen mit JUnit. Prof. Dr. Nikolaus Wulff

Java Schulung. Objektorientierte Programmierung in Java Teil IV: Testen mit JUnit. Prof. Dr. Nikolaus Wulff Java Schulung Objektorientierte Programmierung in Java Teil IV: Testen mit JUnit Prof. Dr. Nikolaus Wulff JUnit JUnit ist das Opensource Testframework. Es existieren Portierungen für fast alle objektorientierten

Mehr

Agile Modellierung mit UML Lab

Agile Modellierung mit UML Lab Agile Modellierung mit UML Lab Produktisierung und Vertrieb eines MDSE Tools in der Praxis Dipl.-Inf. Manuel Bork Yatta Solutions GmbH t e +49 (0)561 5743277-21 bork@yatta.de @ManuelBork UNSER GESCHÄFT

Mehr

Übungsblatt 2: Kommunikation und XSS

Übungsblatt 2: Kommunikation und XSS Wintersemester 2012/2013 Verteilte Systeme Universität Paderborn Fachgebiet Rechnernetze Übungsblatt 2: Kommunikation und XSS 13.12.2012 1 Synchron vs. Asynchron Ausgehend vom Zeitpunkt 0 rechne ein 100

Mehr

Komponententest. Testen von Software Systemen. Übung 02 SS 2009 Version: 1.0 09.06.2009

Komponententest. Testen von Software Systemen. Übung 02 SS 2009 Version: 1.0 09.06.2009 Testen von Software Systemen Übung 02 SS 2009 Version: 1.0 09.06.2009 Komponententest Kunde: Dr. Reinhold Plösch Dr. Johannes Sametinger Kundenreferenz: 259.019 Team 19 Mitarbeiter: Christian Märzinger

Mehr

Grundlagen zur nebenläufigen Programmierung in Java

Grundlagen zur nebenläufigen Programmierung in Java Grundlagen zur nebenläufigen Programmierung in Java Karlsruher Entwicklertag 2013 5. Juni 2013 Referent: Christian Kumpe Inhalt des Vortrags Was zeigt dieser Vortrag? Ein einfaches Beispiel mit allerlei

Mehr

Programmieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek

Programmieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek Programmieren I Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2008/2009 1 / 22 2 / 22 Strategie zum Entwurf von Klassen Beispiele Objektorientierte Sichtweise: Mit welchen Objekten habe ich es

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

Inhaltsverzeichnis. 2.2 Grundlagen der UML... 41. 2.3 Zusammenfassung... 53

Inhaltsverzeichnis. 2.2 Grundlagen der UML... 41. 2.3 Zusammenfassung... 53 Vorwort......................................................... 13 1 Vorbereitungen.................................................. 17 1.1 JDK-Installation unter Windows................................

Mehr

Java - Einführung in die Programmiersprache. Leibniz Universität IT Services Anja Aue

Java - Einführung in die Programmiersprache. Leibniz Universität IT Services Anja Aue Java - Einführung in die Programmiersprache Leibniz Universität Anja Aue Handbücher am RRZN Programmierung. Java: Grundlagen und Einführung Java: Fortgeschrittene Techniken und APIs Java und XML Java -

Mehr

Übungsaufgaben zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 8

Übungsaufgaben zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 8 Prof. Dr. Wilhelm Schäfer Paderborn, 8. Dezember 2014 Christian Brenner Tristan Wittgen Besprechung der Aufgaben: 15. - 18. Dezember 2014 Übungsaufgaben zur Vorlesung Modellbasierte Softwareentwicklung

Mehr

Modellieren mit der Unified Modeling Language: Klassen- und Objektdiagramme. 11. November 2014

Modellieren mit der Unified Modeling Language: Klassen- und Objektdiagramme. 11. November 2014 Modellieren mit der Unified Modeling Language: Klassen- und Objektdiagramme 11. November 2014 Überblick Was ist die Unified Modeling Language (UML)? die Standardmodellierungssprache für Softwaresysteme

Mehr

Kapitel 12 Dokumentation und Zugriffsrechte

Kapitel 12 Dokumentation und Zugriffsrechte Kapitel 12 Dokumentation und Zugriffsrechte Seite 1 / 6 Kapitel 12 Dokumentation und Zugriffsrechte Lernziele: Dokumentation mit Hilfe von Javadoc Datenkapselung über Zugriffsrechte 12.1 Dokumentation

Mehr

FLASH. Flash und Video. Flash und Video, macht das Sinn?

FLASH. Flash und Video. Flash und Video, macht das Sinn? FLASH Flash und Video Flash und Video Flash und Video, macht das Sinn?! Ja, weil es eine wichtige Präsentationsform ist, gerade dort, wo reale Abläufe dargestellt werden müssen! Ja, weil es zum Teil eine

Mehr

Software Qualität Übung 1

Software Qualität Übung 1 1. Informationen 1.1 Formales Software Qualität Übung 1 Regressionstests mit JUnit Versionskontrolle mit CVS Bugtracking mit Bugzilla Abgabetermin: Freitag 20.April 2007, 18.00 CET (Central European Time)

Mehr

Übungsaufgaben zum Software Engineering: Management

Übungsaufgaben zum Software Engineering: Management Übungsaufgaben zum Software Engineering: Management Grundbegriffe: Aufgabe 1: Aus welchen Disziplinen setzt sich das Software Engineering zusammen? a. Informatik b. Physik c. Psychologie d. Chemie e. Geologie

Mehr

Selbststudium OOP5 21.10.2011 Programmieren 1 - H1103 Felix Rohrer

Selbststudium OOP5 21.10.2011 Programmieren 1 - H1103 Felix Rohrer Kapitel 4.1 bis 4.3 1. zu bearbeitende Aufgaben: 4.1 4.1: done 2. Was verstehen Sie unter einem "Java-Package"? Erweiterungen verschiedener Klassen welche in Java benutzt werden können. 3. Sie möchten

Mehr

Applet Firewall und Freigabe der Objekte

Applet Firewall und Freigabe der Objekte Hauptseminar Applet Firewall und Freigabe der Objekte Nachweis von Sicherheitseigenschaften für JavaCard Jin Zhou Ein Überblick über diesen Vortrag Applet Firewall Kontext JCRE Entry Point Objekt Shareable

Mehr

SEP 325. Notwendigkeit. häufige Situation: Programm funktioniert im Prinzip fehlerfrei, aber nicht mit gewünschter Performanz

SEP 325. Notwendigkeit. häufige Situation: Programm funktioniert im Prinzip fehlerfrei, aber nicht mit gewünschter Performanz Optimierungen SEP 325 Notwendigkeit häufige Situation: Programm funktioniert im Prinzip fehlerfrei, aber nicht mit gewünschter Performanz Symptome des Mangels an Performanz: OutOfMemoryError wird geworfen

Mehr

Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell

Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell Aufgabe 3. Assoziation zwischen

Mehr

Algorithmen und Datenstrukturen 07

Algorithmen und Datenstrukturen 07 5. Dezember 2011 1 Besprechung Blatt 6 Fragen 2 Vererbung Allgemein abstract Interfaces 3 Unified Modeling Language (UML) Ablaufdiagramme Klassendiagramme Anwendungsfalldiagramme 4 Vorbereitung Blatt 7

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

Software-Engineering 2. Software-Engineering 2. Entwicklungsumgebungen (IDE) IT works. Klaus Mairon www.mairon-online.de 22.03.

Software-Engineering 2. Software-Engineering 2. Entwicklungsumgebungen (IDE) IT works. Klaus Mairon www.mairon-online.de 22.03. Software-Engineering 2 Entwicklungsumgebungen (IDE) IT works. Klaus Mairon www.mairon-online.de 22.03.2009 1 Entwicklungsumgebungen, CASE-Tools, CASE-Werkzeuge unterstützen den Software-Entwicklungsprozess

Mehr

Berner Fachhochschule Hochschule für Technik und Informatik HTI. Kapitel 1. Einstieg in Java. Dr. Elham Firouzi 06.09.10 1

Berner Fachhochschule Hochschule für Technik und Informatik HTI. Kapitel 1. Einstieg in Java. Dr. Elham Firouzi 06.09.10 1 Kapitel 1 Einstieg in Java Dr. Elham Firouzi 06.09.10 1 1 : Einstieg in Java Einleitung Ein erstes Beispiel Berner Fachhochschule Entwicklung von Java-Programmen Applikationen Applets Vor und Nachteile

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

Kapitel 4.1 - Abbildung von UML-Modellen auf Code

Kapitel 4.1 - Abbildung von UML-Modellen auf Code SWT I Sommersemester 2010 Walter F. Tichy, Andreas Höfer, Korbinian Molitorisz IPD Tichy, Fakultät für Informatik KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH)

Mehr

Quellcode-Repräsentation in Eclipse. Seminarvortrag PG Reclipse Jan Rieke

Quellcode-Repräsentation in Eclipse. Seminarvortrag PG Reclipse Jan Rieke Quellcode-Repräsentation in Eclipse Seminarvortrag PG Reclipse Jan Rieke Gliederung Motivation Architektur von Eclipse Quelltext-Repräsentation in Eclipse Java-Modell Java DOM/AST Zusätzliche Konzepte

Mehr

Informatik 11 Kapitel 2 - Rekursive Datenstrukturen

Informatik 11 Kapitel 2 - Rekursive Datenstrukturen Fachschaft Informatik Informatik 11 Kapitel 2 - Rekursive Datenstrukturen Michael Steinhuber König-Karlmann-Gymnasium Altötting 15. Januar 2016 Folie 1/77 Inhaltsverzeichnis I 1 Datenstruktur Schlange

Mehr

Softwareentwicklungspraktikum Sommersemester 2007. Testdokumentation

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

Mehr

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel. EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.de/~mtr FRAGEN / ANMERKUNGEN Vorlesung Neue Übungsaufgaben MODELLIERUNG

Mehr

Test zu Grundlagen der Programmierung Leitung: Michael Hahsler. 21. November 2003

Test zu Grundlagen der Programmierung Leitung: Michael Hahsler. 21. November 2003 Test zu Grundlagen der Programmierung Leitung: Michael Hahsler 1. November 00 Name Martrikelnummer Unterschrift Bitte kreuzen Sie das Studium an, für das Sie diese Prüfung ablegen: O Bakkalaureat Wirtschaftsinformatik

Mehr

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme Tillmann Schall, anaptecs GmbH : Agenda Grundlagen modellgetriebener Entwicklungsprozesse Schritte zur Einführung Erfahrungen

Mehr

Bedienung von BlueJ. Klassenanzeige

Bedienung von BlueJ. Klassenanzeige Im Folgenden werden wichtige Funktionen für den Einsatz von BlueJ im Unterricht beschrieben. Hierbei wird auf den Umgang mit Projekten, Klassen und Objekten eingegangen. Abgeschlossen wird dieses Dokument

Mehr