Author Topic: Infobeleg Aufgabe 3  (Read 3901 times)

andireuter

  • Guest
Infobeleg Aufgabe 3
« on: June 06, 2008, 09:31:22 am »
Da die anderen gruppen es ähnlich machen, sollten wir uns auch unterstützen. Kann mir jemand helfen, was alles in unser Klassendiagramm stehn muss? Ich bin mir da nicht so sicher was klassen, methoden etc. angeht.

mfg
andi

nik-name

  • Newbie
  • *
  • Posts: 45
  • Karma: +0/-0
    • View Profile
Infobeleg Aufgabe 3
« Reply #1 on: June 11, 2008, 05:51:22 pm »
ich würd mich auch dafür interessiern wie das klassendiagramm aufgebaut ist, hat denn niemand ne ahnung? :(

Renegade

  • Newbie
  • *
  • Posts: 8
  • Karma: +0/-0
    • View Profile
Infobeleg Aufgabe 3
« Reply #2 on: June 12, 2008, 05:15:53 pm »
ja mir geht es ähnlich, würde mich auch sehr interessieren!

Sw00p

  • Full Member
  • ***
  • Posts: 123
  • Karma: +0/-0
    • View Profile
Infobeleg Aufgabe 3
« Reply #3 on: June 22, 2008, 05:00:56 pm »
weiß hier jemand, wie das mit ner Ausgabe aussieht. Das Programm ansich gibt schließlich nur Objekte zurück. Ich könnte jetzt ne Ausgabe schreiben, die die Idents der einzelnen Elemente ausgibt. Aber ist sowas nötig?

Kappi

  • Sr. Member
  • ****
  • Posts: 395
  • Karma: +0/-0
    • View Profile
Infobeleg Aufgabe 3
« Reply #4 on: June 22, 2008, 05:06:08 pm »
Da hab ich mir auch schon Gedanken gemacht ob sowas nötig ist. Für die Funktion des Programms ja ansich nicht, ich denke bei der Bewertung wird sicher der Quellcode angeschaut ob alle Werte richtig und an die richtigen Stellen übergeben werden. Von daher wär ja ne Ausgabe nicht nötig.

Ich werd da am Dienstag mal beim Praktikum fragen.

tiefenbass

  • Hero Member
  • *****
  • Posts: 1876
  • Karma: +0/-0
    • View Profile
    • http://www.fjp-media.de
Infobeleg Aufgabe 3
« Reply #5 on: June 22, 2008, 06:13:09 pm »
Jede Gruppe soll zu ihrem Programm eine oder auch mehrere (die Entscheidung liegt da ganz bei euch) entsprechende Testumgebungen programmieren (siehe allgemeinen Teil der Aufgabenstellungen).

das heisst:
- ihr schreibt zu eurem Programmteil eine Testklasse (mit einer main-Methode)
- ihr erzeugt euch die konkreten Objekte der Klassen in der Testumgebung und füttert sie mit Daten
- ihr schaut, ob das Ergebnis der einzelnen Aktionen mit den jeweiligen Anforderungen übereinstimmen
PS: Robustheit kann man z.B. mit falschen Daten testen

Tipp: es ist schlecht wenn man erst nach Fertigstellung anfängt zu testen. Wenn ihr z.B. eine Klasse implementiert habt, testet dann erst diese eine Klasse, bevor ihr dann die nächste schreibt bzw. die getestete Klasse in das Projekt integriert. Fehler kann man dadurch wesentlich schneller feststellen (sonst sucht man nachher die berühmte Nadel im H.-Haufen).

LG, ich
[align=center]Füllhöhe des Textes technisch bedingt!

----------------------------------------
Matthias Zagermann
Jünger der polyphonen PVC/PVAc-Scheiben

[/align]
 
Quote
Jede Entscheidung ist der Tod von Milliarden von Möglichkeiten

Sw00p

  • Full Member
  • ***
  • Posts: 123
  • Karma: +0/-0
    • View Profile
Infobeleg Aufgabe 3
« Reply #6 on: June 22, 2008, 06:43:19 pm »
Das Programm funktioniert schon (hab ich durch Ausgaben an verschiedenen Stellen getestet). Wir haben auch schon ne Testklasse Auftraggeber, in der die main() ist. Dort werden verschiedene Muster in den Musterkatalog getan und dann kann man sich ein Element fertigen lassen. Nur bekommt man ja am Ende ein Objekt, welches ich ja nicht direkt in der Konsole ausgeben kann. Ich kann jetzt natürlich ne Methode in Auftraggeber schreiben, die mir die Zusammensetzung des Objekts aufschlüsselt. Ist das so gedacht?

Wegen Robustheit: sowas wie falsche Daten gibt es bei uns eigentlich nicht. Wenn der Auftraggeber nen Teil verlangt, dass wir nciht fertigen können, also für welches wir kein Muster besitzen, dann wird das einfach eingekauft. Oder soll der Einkauf auch nur bestimmt Sachen kaufen können?

Noch ne andere Frage: Müssen die normalen Konstruktoren (ohne Paramter) mit im Klassendiagramm auftauchen? Weil Java stellt die ja sowieso automatisch bereit und man kann sie ja sogar im Quelltext weglassen.

tiefenbass

  • Hero Member
  • *****
  • Posts: 1876
  • Karma: +0/-0
    • View Profile
    • http://www.fjp-media.de
Infobeleg Aufgabe 3
« Reply #7 on: June 24, 2008, 06:34:14 am »
Hi,
wenn ihr sie nicht implementiert (also programmiert), dann in der Regel nicht.
Allerdings sollte man überlegen ob es dann sinnvoll ist, bei Nichtverwendung des Standard-Konstruktors eben jenen zu sperren:
Code: [Select]

public class Drogen{
  private Drogen(){
  }

// ...

}

Folge: nur noch die Klasse selbst kann den Standard-Konstruktor aufrufen. Weiterhin steht der Standard-Konstruktor dann nicht mehr den Unterklassen zur Verfügung.

Sinn der Konstruktoren ist in der Regel die Initialisierung von Attributen. Geschieht dies nicht in der Klasse und auch nicht in einer der Oberklassen, so ist es möglich, dass man Instanzen (also Objekte) ohne konkrete Start-Werte erzeugt. Dies kann dann unter Umständen (das hängt vom Programmierstil und von der Modellierung ab) dazu führen, dass es zu Exceptions kommt, wenn mit derartigen Objekten gearbeitet wird.

MfG, ich
[align=center]Füllhöhe des Textes technisch bedingt!

----------------------------------------
Matthias Zagermann
Jünger der polyphonen PVC/PVAc-Scheiben

[/align]
 
Quote
Jede Entscheidung ist der Tod von Milliarden von Möglichkeiten