# Verwaltung von Medien



## Juli (20. Okt 2011)

Hallo zusammen, ich heisse Julia und brauche dringend Hilfe bei der Aufgabe!!


_In dieser Aufgabe wird die Verwaltung von Medien für einen Internet-Shop implementiert.
Jedes Medium erhält bestimmte Eigenschaften:_

Name (z.B. Buchtitel, Name eines Films . . . )
Inhaltsangabe
Ort, an dem der Artikel im Lager zu finden ist
Anzahl Medien momentan im Lager
Preis (Einkauf, Verkauf)
Kategorie
Medien-Typ

_Ein Medium wird immer genau einer Kategorie zugeordnet. Verwenden Sie einen Aufzählttyp,
um die Kategorien zu verwalten._

Humor
Action
. . .
_Der Medien-Typ ist ebenfalls ein Aufzähltyp mit einem der folgenden Werte:_

DVD
CD
Band
Audio-CD
VHS-Band
Zeitschrift
Buch
_
Zunächst muss eine Klasse Medium erstellt werden, mit deren Hilfe ein einzelnes Medium verwalten werden kann. _

*
Vorüberlegungen:*

Welches sind geeignete Datentypen für die Attribute?
Welche Zugriffsmethoden darauf werden benötigt?
Wie können die Kategorie und der Medientyp verwaltet werden?

_Schreiben Sie eine zweite Klasse Shop, die in einem Vektor java.util.ArrayList eine Anzahl von Medien (Medium-Objekten) aufnimmt. _

_Die Klasse java.util.Vector sollte dabei unbedingt gemieden werden. Diese bietet zwar eine auf  den ersten Blick ähnlich Funktionalität, besitzt drüberhinaus aber gewisse Mechanismen, die den Zugriff relativ langsam werden lassen.

Dieser Zusatzmechanismus wird zur Lösung der Aufgabe nicht benötigt.

Für Experten: In Multithreading-Umgebungen bietet java.util.Vector automatisch eine Synchronisation der Threads.
_*
Benötigte Methoden des Shops:*

Ein Medium anhand seines Namens suchen.
Einen Artikel verkaufen (Anzahl verringern). Der Artikel wird durch seinen Namen angegeben.
Alle Preise um x% erhöhen.
Einen Artikel löschen.
Einen neuen Artikel in den Bestand aufnehmen.

Alle Klassen müssen unbedingt mit Dokumentationskommentaren versehen sein.
Aus diesen lässt sich mit dem Programm Javadoc eine HTML-Dokumentation generieren.
Sämtliche Methoden des Shops müssen mit der noch zu erstellenden JUnit-Testklasse ShopTest überprüft werden. 
Dabei muss die Testüberdeckun 100% betragen.


----------



## ARadauer (20. Okt 2011)

Ja und?
Glaubst du wirklich, dass es reicht, hier einfach die Aufgabenstellung zu posten?

Stell konkrete Fragen, wenn du Probleme hast. Dann helfen wir gerne.
Aber hier 1 zu 1 die Angabe rein zu kopieren ist eine Frechheit!



> Dabei muss die Testüberdeckun 100% betragen.


Der Lehrer hat Ahnung ... :autsch:


----------



## timbeau (20. Okt 2011)

Und wieder Punkt 1 zur Erschleichung erfüllt


----------



## Andi_CH (20. Okt 2011)

ARadauer hat gesagt.:


> Juli hat gesagt.:
> 
> 
> > Dabei muss die Testüberdeckung 100% betragen.
> ...


Hm welche Art Überdeckung denn? 100% Codecoverage ist schon irgendwie zu erreichen aber viel Spass mit Decision coverage ....


----------



## timbeau (20. Okt 2011)

100% Überdeckung beschreibt doch hier bestimmt, dass jede Methode mit einem Test abgedeckt sein soll.


----------



## Andi_CH (20. Okt 2011)

timbeau hat gesagt.:


> Und wieder Punkt 1 zur Erschleichung erfüllt



Mein innofzieller Punkt 1a auch  Man wähle einen weiblichen Nick in der Hoffnung schneller "Hilfe" zu erhalten.


----------



## SlaterB (20. Okt 2011)

zuletzt habe ich das einmal nach langer Pause gelesen
http://www.java-forum.org/hausaufgaben/125758-nullstellen-newton.html
(edit: falsches Thema, welches war es nochmal?, ach ja:
http://www.java-forum.org/hausaufgaben/125781-zinsen-berechnen.html  )

hier nun ein zweites Mal, können wir nun erstmal wieder eine Pause mit speziell diesen Scherz-Thema machen?
das ständig zu wiederholen ist auch nicht so witzig.., ein Posting wäre ja noch als Hinweis zu versehen, 
aber es müssen dann nicht alle anderen auch noch antworten ach wie lustig

immerhin auch Kategorie Spam in fremden Themen..


----------



## Firephoenix (20. Okt 2011)

Die Fragen sind doch eh meistens interessanter als die Nicks.

Zum Thema:

Die erste Aufgabe bezieht sich wohl auf das Implementieren der Klasse Medium.
Hier liegt die Schwierigkeit im erkennen der Datentypen der Felder und der Methoden.

Hierzu einige Überlegungen:
Name,Inhaltsangabe und Ort sind meistens Texte
Anzahl und die 2 Preise sind wohl Zahlen (Centbeträge beachten)
Kategorie und Typ sollen eigene Aufzähltypen sein, falls da Nachholbedarf besteht per google über enums informieren (google: enum java).
als nächstes überlegt man sich die zugriffsmethoden.
basic sind getter und setter für jedes feld, falls manche felder nicht mehr gesetzt werden sollen oder nur intern gebraucht werden macht man entsprechende setter/getter privat

Die Klasse Shop ist von den Feldern her trivial, eine ArrayList zu erzeugen gehört zu den Basics.
Die Methoden arbeiten alle auf dieser ArrayList, soviel sieht man schonmal - wie man da einzelne Teile realisiert überlegt man sich am besten erstmal selbst (papier und stift?) und sucht sich dann die Methoden aus der API die man benötigt: ArrayList (Java Platform SE 6)

Zu JUnit hattet ihr bestimmt eine Einführung, aber auf der Basis sollte erstmal was zum Testen da sein
(Ja bei TDD schreibt man die Tests vor der ersten Codezeile, aber ich glaube auf der Ebene sind wir hier nicht ^^)

Wenn du das ganze durch bist und selbst etwas gemacht hast kannst du gerne deine Ergebnisse/Zwischenergebnisse und auch Fehler hier Posten und dir dazu bessere und auch Codebezogene Hilfe abholen.

Ansonsten gilt wie oben schon reichlich erwähnt: Nur Aufgabenstellung posten und Lösung bekommen gibt es hier eigentlich nicht.
Gruß


----------



## Gefrusteter (21. Okt 2011)

SlaterB hat gesagt.:


> hier nun ein zweites Mal, können wir nun erstmal wieder eine Pause mit speziell diesen Scherz-Thema machen?
> das ständig zu wiederholen ist auch nicht so witzig.., ein Posting wäre ja noch als Hinweis zu versehen,
> aber es müssen dann nicht alle anderen auch noch antworten ach wie lustig
> 
> immerhin auch Kategorie Spam in fremden Themen..



Man kann auch überreagieren!

Erschleichen von Lösungen == SPAM!
Klopf lieber denen eins auf die Finger und zwar SEHR direkt bitte.


----------



## SlaterB (21. Okt 2011)

es gibt per Definition keinen Spam, ein neues Thema zu eröffnen, jedenfalls nicht wenn es nicht das zehnte an einem Tag ist von einem User ist,
und so viele Aufgaben bekommt eine Person meist gar nicht

in der Area 'Hausaufgaben Wir machen keine Hausaufgaben, aber wir helfen dabei' kann absolut jeder wissen was zu erwarten ist,
es ist vielleich für gewisse eine Herausforderung, innerlich still zu halten,
lernen und dran wachsen 

> Klopf lieber denen eins auf die Finger 

ein einmaliger diskreter Link auf das Thema mit der Liste wäre wie gesagt maximal als Klopfen verständlich,
aber danach müssen nicht noch mehr antworten


----------

