[UML/JAVA] Film en serie collection manager.

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • aegis
  • Registratie: Augustus 2002
  • Laatst online: 22:46
Ik weet niet of dit het juiste forum is voor deze vraag.
Voor een privé project wil ik een programma maken zoals Media Companion en ember media manager het programma moet je media voor XBMC beheren en nfo files generen en fanart/backdrops downloaden en het moet cross-platform werken. Ik heb dit jaar op school UML en java gehad dus dacht ik dan kan ik dit gelijk oefenen om er wat meer ervaring me op te doen.

in het programma word de info van de films gescraped van IMDB/theMovieDB/theTVDB, dat moet dan opgeslagen worden in .nfo file nu heb ik een UML class diagram gemaakt om uit te zoeken hoe ik die informatie het beste kan opslaan in het programma. Nu vroeg ik mij of wat ik gemaakt heb correct is of dat het nog verbeterd moet worden. als ik eenmaal goed op weg en het functioneert enig zins wil misschien ook kijken of het opensource maak op github of zo daarom wil ik meteen goed beginnen en niet dat als het enig zins werk ik alweer alles opnieuw wil gaan opbouwen omdat ik dan weer zoveel meer erbij heb geleerd.

Afbeeldingslocatie: http://dl.dropbox.com/u/15046026/jMC%20class%20diagram%20edited.png

https://bettyskitchen.nl


Acties:
  • 0 Henk 'm!

  • Ram0n
  • Registratie: Maart 2002
  • Laatst online: 03-07 13:05

Ram0n

Bierbrouwende nerd

Zonder er uitgebreid naar gekeken te hebben ziet je UML er zo op het eerste gezicht redelijk uit; in ieder geval qua scheiding van losse objecten (films, personen etc.).

Waarom heb je het echter over .nfo bestanden? Wil je het daarin opslaan? Ik zou gewoon een database aanraden; heel simpel op te zetten met deze structuur en SQL zal ervoor zorgen dat je precies de data krijgt die je nodig hebt.

Update: (aanvullende vragen)
Wat ga je bij bijvoorbeeld bij Movies als primary key gebruiken? Title is daar niet voor geschikt, IMDb-id ook niet (weet uit eigen ervaring dat nog aardig wat films daar niet in staan). Ik zou simpelweg een id-kolom van het type integer toevoegen.

Een film kan overigens ook meerdere studio's hebben.

[ Voor 30% gewijzigd door Ram0n op 02-08-2011 16:58 ]

Eigenaar/brouwer Milky Road Brewery


Acties:
  • 0 Henk 'm!

  • fladder
  • Registratie: September 2001
  • Laatst online: 25-07-2023
SerieInfo en MovieInfo hebben veel gelijke eigenschappen (een naam, een verzameling acteurs, genres, ga zo maar door). Je zou kunnen overwegen een VideoInfo te laten gebruiken of daar zelfs van te overerven.

Een aparte klasse voor alternativeTitle is vooral nutig als je er naast een title ook nog andere informatie aan toevoegt (bijvoorbeeld het land waarin die titel gevoerd wordt). Als je het alleen een titel is kun je er ook een collection van strings van maken in je MovieInfo.


Verder nog wat opmerkingen over uml-gebruik (negeer het gerust, uml is een modeltechniek die je moet gebruiken tot je model goed genoeg is voor je doel).

Sommige associaties hebben een bijzondere richting (navigability). Als je vanuit je Info class alles moet kunnen vinden zou ik van daar een navigability naar movies en series verwachten en niet andersom.

Bij unidirectionele associaties gebruik ik ook vaak het association label (ipv de role name van een specifiek uiteinde van de association). Zelf vind ik dat dan het label gebaseerd moet zijn op de richting van de pijl.
Voor een pijl van Movie naar Person verwacht ik eerder iets als "contains" of "hasActor"; het label "actorIn" past beter bij een pijl van Person naar Movie.

Acties:
  • 0 Henk 'm!

  • fladder
  • Registratie: September 2001
  • Laatst online: 25-07-2023
Ram0n schreef op dinsdag 02 augustus 2011 @ 15:40:
Update: (aanvullende vragen)
Wat ga je bij bijvoorbeeld bij Movies als primary key gebruiken? Title is daar niet voor geschikt, IMDb-id ook niet (weet uit eigen ervaring dat nog aardig wat films daar niet in staan). Ik zou simpelweg een id-kolom van het type integer toevoegen.
Als een key alleen dient om je objecten in je database aan elkaar te hangen (i.e. het is een technisch id en geen logisch/functioneel id) hoeven die niet perse in je class diagram voor te komen, dat is immers je logische model waarin de technische keys reeds vertaald zijn naar associaties/relaties.

Acties:
  • 0 Henk 'm!

  • Ram0n
  • Registratie: Maart 2002
  • Laatst online: 03-07 13:05

Ram0n

Bierbrouwende nerd

Daar heb je gelijk in, dat is maar net wat je fijn vindt en gewend bent. Persoonlijk zet ik het er altijd in, maar ik kan me goed voorstellen dat anderen het overbodig vinden.

@augis: kan je hier iets mee? In welke fase bevindt je je nu?

Eigenaar/brouwer Milky Road Brewery


Acties:
  • 0 Henk 'm!

  • aegis
  • Registratie: Augustus 2002
  • Laatst online: 22:46
sorry dat ik zo laat reageer had het een beetje druk deze week.

@ramon het programma moet .nfo bestanden maken voor XBMC en in die nfo bestanden staat weer alles in xml format. Ik denk dat ik gewoon die nfo files weer laat inlezen als het programma gestart word dus hoef dan geen database te hebben, misschien iets van een xml file met naam van de film en de locatie en de locatie van de .nfo file. Alle data die weg geschreven word is vrij statisch je hoeft bijvoorbeeld niet te kunnen zoeken op in welke films een acteur allemaal gespeeld heeft.

@fladder ik heb een aparte klasse van AlternativeTitle gemaakt omdat ik XBMC alle alternative titles van IMDB af haal en ook opslaat en ik eigenlijk alleen nog maar met ArrayList heb gewerkt en niet met collections.
collections is toch met hashset? even snel gegoogeld.
Bedankt voor de tip maar wat bedoel je met association label? bedoel je daarmee bijvoorbeeld een unidirectionele associatie tussen Movie en Person Actor te noemen ofzo? Deze zal ik zeker onthouden voor op school als ik weer eens een model moet maken.

https://bettyskitchen.nl

Pagina: 1