DOMANDA Java sviluppo programma

Gabbanis

Nuovo Utente
101
2
Buongiorno signori ,
Io avrei da sviluppare un piccolo ricettario: con ricette, ingredienti, svolgimenti e consigli, foto, giudizio;
qualcuno mi sa consigliare come svilupparlo che classi fare che classi posso aggiungere funzioni ecc per arricchirlo , mi fareste un favore e magari dirmi come potrei fare la parte per aggiungere la foto alla ricetta
 

Mursey

Super Moderatore
Staff Forum
Utente Èlite
8,191
5,631
Buongiorno signori ,
Io avrei da sviluppare un piccolo ricettario: con ricette, ingredienti, svolgimenti e consigli, foto, giudizio;
qualcuno mi sa consigliare come svilupparlo che classi fare che classi posso aggiungere funzioni ecc per arricchirlo , mi fareste un favore e magari dirmi come potrei fare la parte per aggiungere la foto alla ricetta
Data la regola:
La sezione Programmazione e le sue sottosezioni non offrono un servizio di risoluzione compiti scolastici.
E' possibile chiedere aiuto ma allegando il codice scritto o le prove fatte.
Cosa ci sai dire di più?
 

pabloski

Utente Èlite
2,868
916
Buongiorno signori ,
Io avrei da sviluppare un piccolo ricettario: con ricette, ingredienti, svolgimenti e consigli, foto, giudizio;
qualcuno mi sa consigliare come svilupparlo che classi fare che classi posso aggiungere funzioni ecc per arricchirlo , mi fareste un favore e magari dirmi come potrei fare la parte per aggiungere la foto alla ricetta

Ma sai programmare in Java? Altrimenti non vai da nessuna parte. In caso contrario è come se ci stessi chiedendo di farti il programma gratis.
 
  • Mi piace
Reazioni: Mursey

Gabbanis

Nuovo Utente
101
2
Ma sai programmare in Java? Altrimenti non vai da nessuna parte. In caso contrario è come se ci stessi chiedendo di farti il programma gratis.
No non vi sto chiedendo del codice... sto chiedendo delle idee su cosa ci potrei mettere dentro essendo che a parte una funzione che calcola per esempio le porzioni (cioè per esempio la persona inserisce gli ingredienti e le quantità e poi in base a una semplice operazione mi calcola le porzioni per il nuovo numero di persone per cui vuole farle) e altre due tre cose non so cosa metterci dentro per questo chiedevo non so delle possibili funzioni classi, oppure cosa potrebbe fare il programma per iniziare a fare qualcosa da solo e metterlo giù e come suddividerlo
 

pabloski

Utente Èlite
2,868
916
No non vi sto chiedendo del codice... sto chiedendo delle idee su cosa ci potrei mettere dentro

Capisco. E' che il messaggio precedente era generico e soprattutto questa parte

come potrei fare la parte per aggiungere la foto alla ricetta

faceva pensare ad un problema di conoscenza del linguaggio e delle tecniche di programmazione.

Comunque, per un ricettario credo non ci voglia molto altro, oltre ad una foto, la ricetta con tutti gli ingredienti necessari, il metodo di preparazione e di cottura. E addirittura il calcolo delle porzioni è un extra che non ho visto molto spesso in programmi simili. Un altro extra è un sistema di ricerca complesso, capace di cercare ricette che hanno determinati ingredienti o hanno determinati valori nutrizionali.

Per le classi, ovviamente una classe Ricetta ( che contiene foto, ingredienti e relative quantità ). Potresti usare una classe Ingrediente, in modo da rendere più facile la ricerca di cui sopra. Una classe MotorediRicerca.

Il problema sarebbe come organizzare la ricerca in base ai valori nutrizionali.

Potresti eliminare tutte quelle classi, tranne Ricetta, usando la codifica JSON delle ricette. In modo da poter pure implementare la ricerca con relativa facilità.

Sulla foto non vedo il problema. Potresti follemente aggiungere al JSON ( o ad un attributo della classe Ricerca ) una codifica BASE64 della foto stessa, oppure salvare le foto come file e inserire invece il nome del file relativo. Ovviamente la visualizzazione va fatta usando le classi del GUI toolkit che andrai ad usare.
 

Gabbanis

Nuovo Utente
101
2
Capisco. E' che il messaggio precedente era generico e soprattutto questa parte



faceva pensare ad un problema di conoscenza del linguaggio e delle tecniche di programmazione.

Comunque, per un ricettario credo non ci voglia molto altro, oltre ad una foto, la ricetta con tutti gli ingredienti necessari, il metodo di preparazione e di cottura. E addirittura il calcolo delle porzioni è un extra che non ho visto molto spesso in programmi simili. Un altro extra è un sistema di ricerca complesso, capace di cercare ricette che hanno determinati ingredienti o hanno determinati valori nutrizionali.

Per le classi, ovviamente una classe Ricetta ( che contiene foto, ingredienti e relative quantità ). Potresti usare una classe Ingrediente, in modo da rendere più facile la ricerca di cui sopra. Una classe MotorediRicerca.

Il problema sarebbe come organizzare la ricerca in base ai valori nutrizionali.

Potresti eliminare tutte quelle classi, tranne Ricetta, usando la codifica JSON delle ricette. In modo da poter pure implementare la ricerca con relativa facilità.

Sulla foto non vedo il problema. Potresti follemente aggiungere al JSON ( o ad un attributo della classe Ricerca ) una codifica BASE64 della foto stessa, oppure salvare le foto come file e inserire invece il nome del file relativo. Ovviamente la visualizzazione va fatta usando le classi del GUI toolkit che andrai ad usare.

allora io lo ho pensata cosi con un diagram box:

Classi:
Ingredienti che sarà un arraylist;
Ricettario un altro arraylist a cui verrà aggiunta ogni ricetta;
Ricetta classe che ci permetterà di fare lo stampo dei nostri oggetti ricetta;
classeTipo : dove verrano specificati se sono primi,secondi,dessert,drink

la Classe main (ricetta) conterrà i seguenti valori :
  1. nomeRicetta stringa
  2. nome e cognome creatore cosi da avere più ricette uguali ma di differenti cuochi stringa
  3. identificativo un numero di 5 cifre intero che mi permette nel caso abbiano nome e cognome uguale di avere l univocità
  4. quantità che ci indicherà per quante persone è quella ricetta
  5. ingredienti 1 che saranno presenti nella array list (insieme di stringhe credo)
  6. ingredienti 2 che contengono le quantità per poi fare il calcolo delle quantità per più porzioni in intero
  7. classetipo enumerativo cosi da permettere una ricerca)
  8. il path della foto stringa
  9. giudizio un numero da 1 a 5
funzioni (presenti nei file ricerche nei file delle arraylist):
  1. i vari controlli per vedere se è già presente una ricetta con quel creatore ,controllare se la foto e presente ,
  2. un controllo per lo svolgimento il quale deve contenere almeno una decina di caratteri
  3. controllo del giudizio
  4. Preparazione per un totale di porzioni,
  5. le varie ricerche all'interno delle arraylist che ci stamperanno il nome di tutte le ricette in base alla ricerca (per tipo,per creatore,semplicemente per nome,valutazione ecc)
  6. quelle per la modifica delle arraylist
  7. e quelle per aggiungere o cancellare gli ingredienti all'interno

  • Secondo te cosa posso cambiare?
  • l'arraylist degli ingredienti la devo mettere nella classe ricette o è meglio fare una classe a parte/come devo gestirla?
 

Andretti60

Utente Èlite
6,440
5,091
Non usare collezioni interne (che sono temporanee), questo e' un lavoro da fare con un piccolo database. Prima progetta le tavole del database, poi penserai a che classi usare.
Non hai bisogno di un database sofisticato, nel tuo caso un semplice database embedded va benissimo, sono gratuiti, non hanno bisogno di un server, sono semplice da usare, facile da fare backup.
Per Java ti suggerisco di dare una occhiata a H2, HSQLDB, e naturalmente Apache Derby, che hanno tutti driver nativi.
 

Gabbanis

Nuovo Utente
101
2
Non usare collezioni interne (che sono temporanee), questo e' un lavoro da fare con un piccolo database. Prima progetta le tavole del database, poi penserai a che classi usare.
Non hai bisogno di un database sofisticato, nel tuo caso un semplice database embedded va benissimo, sono gratuiti, non hanno bisogno di un server, sono semplice da usare, facile da fare backup.
Per Java ti suggerisco di dare una occhiata a H2, HSQLDB, e naturalmente Apache Derby, che hanno tutti driver nativi.
Il problema è che a scuola database non ne ho ancora fatto un programmazione (solo su carta) e quindi non saprei come implementarlo e nemmeno come fare le richieste
:muro::muro:
:muro:
 

pabloski

Utente Èlite
2,868
916
Il problema è che a scuola database non ne ho ancora fatto un programmazione (solo su carta) e quindi non saprei come implementarlo e nemmeno come fare le richieste
:muro::muro:
:muro:

Vabbè ma non è obbligatorio. Puoi realizzare un programma senza il supporto di un database. Ovviamente non è chiaro dove e come andresti a salvare quei dati.

Ma almeno la struttura la puoi impostare. Ti consiglio di provare a realizzarlo. Poi man mano i problemi verranno a galla e capirai perchè e cosa modificare.
 

Gabbanis

Nuovo Utente
101
2
Vabbè ma non è obbligatorio. Puoi realizzare un programma senza il supporto di un database. Ovviamente non è chiaro dove e come andresti a salvare quei dati.

Ma almeno la struttura la puoi impostare. Ti consiglio di provare a realizzarlo. Poi man mano i problemi verranno a galla e capirai perchè e cosa modificare.
Ma almeno come lo ho impostato va bene?
 

Andretti60

Utente Èlite
6,440
5,091
Il problema è che a scuola database non ne ho ancora fatto ...
Capisco, ma cio' che hai richiesto e' un esempio classico di una applicazione da implementare con un database. Credimi. Non sai quante volte ho rimpianto di non avere iniziato un programma usando SUBITO un database.

E' comunque una bellissima opportunita' per imparare, meglio iniziare dal piccolo. Trovi infiniti tutorial in rete, fai una semplice richiesta google, probabilmente ci sono tutorial anche in italiano.
Inizia con imparare cosa sia un database, quali tipi esistano. Impara la differenza tra un server/client e un embedded. Poi impara un minimo di SQL (structured query language), che e' il linguaggio di interfaccia con il database. In pratica devi imparare ben pochi concetti
  1. cosa sia un database
  2. la scelta di un database a seconda della applicazione
  3. installare un database (nel caso di client/server)
  4. un minimo di SQL
  5. come progettare le tavole di un database
  6. come aggiungere/cancellare/modificare dati
  7. come cercare dati
Collezioni e liste vanno bene per gestrire dati "interni", ma tu vuoi qualcosa che possa poi essere salvato in qulche maniera, poi riletto e modificato. Puoi farlo da solo salvando i dati in un file, ma poi devi gestire tutto tu, e se in futuro vuoi cambiare il formato (e ti assicuro succede nel 100% dei casi) ti ritrovi con problemi. Con il database non devi fare praticamente nulla, le ricerche sono tutte fatte automaticamente con una espressione SELECT quando leggi il database, infatti non lo devi leggere tutto, ma soltanto quello che ti interessa.
 

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili