• Keine Ergebnisse gefunden

Aufgabe 2

N/A
N/A
Protected

Academic year: 2022

Aktie "Aufgabe 2"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Fachhochschule Niederrhein FB Elektrotechnik/Informatik Prof. Dr. Rethmann

Software-Engineering

Praktikum SS 2006

2. Komponenten-, Integrations- und Systemtest

1 Lernziele

Vertiefen der in der Vorlesung vermittelten Kenntnisse ¨uber dynamische, white- und black- box Testverfahren f¨ur sequentielle Programme sowie dem Testen im Software-Lebenszyklus.

2 Aufgabe

Schreiben Sie ein C-Programm, mit dem ein B¨ucherbestand verwaltet werden kann. Ein Buch hat die Kennzeichen ISBN, Autor(en), Titel, Verlag, Jahr. Es sollen folgende Funk- tionalit¨aten implementiert werden:

• Es k¨onnen neue B¨ucher erfasst und in den Bestand aufgenommen werden.

• Es k¨onnen alte B¨ucher (Schl¨ussel ist die ISBN) aus dem Bestand gel¨oscht werden.

• Zu einem gegebenen Autor k¨onnen alle B¨ucher gefunden und ausgegeben werden.

• Der B¨ucherbestand kann in einer Datei abgespeichert und aus einer Datei geladen werden.

Die Benutzeroberfl¨ache kann wie folgt aussehen:

neues Buch aufnehmen --> (a)ppend altes Buch l¨oschen --> (d)elete B¨ucher zu Autor finden --> (f)ind B¨ucherbestand ausgeben --> (p)rint B¨ucherbestand abspeichern --> (s)ave B¨ucherbestand laden --> (l)oad Programm beenden --> (q)uit --- ihre Auswahl?

Alternativ k¨onnen Sie eine grafische Benutzeroberfl¨ache erstellen. Verwenden Sie zum Ver- walten der B¨ucher die Klasse SearchTree aus Aufgabe 1. Die Klasse ist so zu erweitern, dass der Baum durchlaufen werden kann (Iterator), um alle B¨ucher eines gegebenen Autors suchen zu k¨onnen.

1

(2)

Implementieren Sie eine KlasseBuch, deren Objekte in den Knoten des Suchbaums abgelegt werden. Erstellen Sie ferner eine Klasse Buchbestand, die folgende Methoden bereitstellt:

• addBook(Buch b) f¨ugt ein Buch dem Bestand hinzu

• deleteBook(Buch b) entfernt ein Buch aus dem Bestand

• Buch getBook(string isbn) liefert das Buch zur angegebenen ISB-Nummer

• vector getBooksFromAuthor(string author)liefert alle B¨ucher zu einem gegebe- nen Autor

• saveBooksToFile(string filename)schreibt den B¨ucherbestand in eine Datei (al- ternativ: ¨Uberladen des Ausgabeoperators <<)

• loadBooksFromFile(string filename) liest einen B¨ucherbestand aus einer Datei aus (alternativ: ¨Uberladen des Eingabeoperators >>)

• Definieren Sie geeignete Exception-Klassen.

Erstellen Sie Testtreiber/-Stubs und Testf¨alle, um die Korrektheit Ihrer Implementierung nachzuweisen. F¨uhren Sie dazu folgende Tests durch:

• Komponententest

• Integrationstest

• Systemtest

Der Komponententest gilt als bestanden, wenn bei den einzelnen Komponenten und einer Zweig¨uberdeckung von 95% keine Fehlerwirkungen aufgetreten sind.

Zum Testat m¨ussen Sie das Programm, die Testf¨alle und die Testarten im Detail erkl¨aren k¨onnen. Ferner sollen Sie mittels gcov zeigen, dass durch Ihre Testf¨alle die angegebenen Uberdeckungsquoten tats¨achlich erreicht werden.¨

3 Literatur

• Spillner, Linz: Basiswissen Softwaretest. dpunkt.verlag

• Zeller, Krinke: Programmierwerkzeuge. dpunkt.verlag.

• Ottmann, Widmayer: Algorithmen und Datenstrukturen. BI Wissenschaftsverlag.

• Cormen, Leiserson, Rivest: Introduction to Algorithms. MIT Press.

• Aho, Hopcroft, Ullman: Data structures and algorithms. Addison-Wesley.

2

Referenzen

ÄHNLICHE DOKUMENTE

Ferner soll ein Index angelegt werden, ¨uber den ein effizienter Zugriff auf alle B¨ucher eines Autors m¨oglich ist (d.h. der Iterator kann entfallen) Von der Klasse SearchTree

Einf¨ uhrung Schritte zum Pattern nach GAMMA Zweck Implementierung Verwandte Muster.. Entwurfsmuster

Des connaissances de base en calcul des probabilit´es, calcul diff´erentiel et int´egral et alg`ebre lin´eaire sont suffisantes pour profiter de la plus grande partie de

In dem von Robert Bradley und Edward Sandifer herausgegebenen Buch Leonhard Euler: Life, Work and Legacy analysieren 24 Autoren Eulers Leben und Werk.. Die tiefsch¨urfenden Artikel

La deuxi`eme partie de l’ouvrage (cryptographie asym´etrique) aborde essentiellement l’algorithme RSA et le probl`eme du logarithme discret, mais pr´esente aussi d’autres syst`emes

Die folgenden Disziplinen werden angegangen: Meteorologie, Optik (Kapitel 4 bis 6), Dynamik von Fl¨ussigkeiten, Wellen (Ka- pitel 7 bis 9), Beispiele aus der Pflanzenwelt und

Eindr¨ucklich wird dies etwa dargestellt bei der Frage, was die richtige Verallgemeinerung der ganzen Zahlen Z in Q in einem beliebigen Zahlk¨orper anstelle von Q ist, wie sich

(In der Erprobungsphase des Projektes wurde mit einer Klasse gearbeitet. Eine Durchführung mit mehreren Klassen ist aber möglich und wird am Gymnasium Olching bereits verwirklicht.)