• Keine Ergebnisse gefunden

Übungen zur Vorlesung Software Engineering – WS 16/17

N/A
N/A
Protected

Academic year: 2022

Aktie "Übungen zur Vorlesung Software Engineering – WS 16/17"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Intelligente Softwaresysteme

Prof. Dr.-Ing. Norbert Siegmund | Philipp Seltmann Abgabetermin:15.12.2016 um 23:59 Uhr

Übungen zur Vorlesung

Software Engineering – WS 16/17

Übungsblatt 07

1. Debugging(10 (+ 1) Punkte)

Ein unerfahrener Programmierer versuchte sich an der Implementierung einerLinkedList in C++. Dabei sind ihm unglücklicherweise einige Fehler unterlaufen und sein Programm tut nicht das, was es soll. Da Sie ihm helfen möchten, boten Sie ihm an, sich das Programm näher anzuschauen und es zudebuggen.

Laden Sie sich auf der Kursseite den Programmcode LinkedList.cc herunter. Debuggen sie das Programm mit Hilfe vongdbund protokollieren Sie Ihr Vorgehen. Gehen Sie dabei auf die Bugs und auf die verwendeten Befehle, die zum Finden nötig waren, ein. Korrigieren Sie im Anschluss die Fehler.

Ausführungsbefehle fürgdb:

• g++ -Wall -ggdb -o LinkedList LinkedList.cc

• gdb Main

Insgesamt sind explizitvierBugs zu finden und wenn möglich eine potentiell gefährliche Stel- le (Zusatz). Ihre Abgabe soll sowohl das Protokoll als auch den korrigierten Programmcode enthalten!

2. Begriffsdefinitionen(2 + 2 + 1 + 2 + 1 Punkte)

a) Erklären Sie den Unterschied zwischenSoftware ValidierungundSoftware Verifikation!

b) Worin besteht der Unterschied zwischensoftware failureundsoftware fault?

c) Was verbirgt sich hinter dem Begriffregression testing?

d) Nennen Sie die entscheidenden Vor- und Nachteile vonTestingbzw.Model Checking!

e) Birgt es Gefahren, wenn eine test-suite ausschließlich unit-tests enthält?

3. Unit-Testing(10 Punkte)

In dieser Aufgabe sollen Sie Erfahrungen mit JUnit5 sammeln. Hierzu finden Sie auf der Kurs- seite die KlasseInterval.java, welche betestet werden soll.

Schreiben Sie für folgende Methoden jeweils mindestens eine Testmethode mit je mindestens einerassertion:

• Interval::union

• Interval::intersect

• Interval::intersects

• Interval::contains

• Interval::times

Ihre Abgabe sollte den Quellcode der Testklasse beinhalten - Testfälle die Fehler produzieren sollten Sie, mit entsprechenden Kommentaren versehen, kenntlich machen.

(2)

Hinweise zur Abgabe

• Erstellen sie zur Abgabe Ihrer Lösungeine PDF-Datei, in der Texte und Grafiken zu den Auf- gaben enthalten sind.

• Sämtlicher Quellcode ist als Plain-Text mit entsprechender Dateiendung zu übersenden. Quell- code in dem PDF-Dokument wirdnichtkorrigiert werden!

• Für eine eindeutige Zuordnung referenzieren Sie Ihre Quellcode-Dateien in dem PDF-Dokument.

• Versehen Sie Ihr PDF-Dokument bitte mitNameund Matrikelnummerder jeweiligen Team- mitglieder.

• Zippen Sie Ihre Lösungen unter dem folgenden Namensschema (bei Teamabgaben reicht eine Person):<Nachname>-<MatrikelNr>-se-blatt<Übungsnummer>.zip

• Senden Sie Ihre Abgabe an Philipp Seltmann (philipp.seltmann@uni-weimar.de)

Referenzen

ÄHNLICHE DOKUMENTE

Es sollen zwei verschiedene Arten von Bildern repräsentiert werden können: RasterImage und ShapedImage, wobei letzteres eine Spezial- form vom RasterImage ist.. Ein ShapedImage

Ein &#34;ShapedImage&#34; besitzt eine nicht-rechteckige Form (Polygon), wobei die Bytes im Array angeben, ob die jeweiligen Punkte transparent oder opak dargestellt werden

This will allow the user to rotate, magnify and reduce images, set new color values in the image, and combine two images into a new image within 0.2 seconds.. Carry out a

So you learned that casual users and novices want to use the software mainly for short tasks such as image cropping, changing image resolutions, and rota- ting images.. In addition,

Achten Sie bei Ihrer Implementierung auf Java Generics und bauen Sie Ihre Lösung auf eine bestehende &#34;Collection&#34;, wie z.B.. java.util.ArrayList

a) Erstellen Sie ein Diagramm, welches die Beziehungen der einzelnen Komponenten des Model-View-Controller Architektur-Patterns zueinander visualisiert... b) Welche Aufgaben werden

Suchen Sie sich eine existierende mobile Applikation, mit der Sie vertraut sind, aus.. Stellen Sie sich vor, dass Sie die Aufgabe bekommen haben, eine äquivalente Applikation

Falls über den üblichen Rahmen hinausgehende Qualitätsanforderungen erfüllt werden sollen (z.B. für Buchungssysteme, Kernkraftanlagen), sollten diese hier niedergelegt