|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Mar 2006
Messaggi: 2216
|
[Java]programma per agenzia viaggi
ciao a tutti, sto iniziando questo progetto come consegna per il corso di studio che seguo. però neanche ho iniziato che già mi sono bloccato, non ho idea di come iniziare a lavorarci sopra cioè di quali passi debba fare per la progettazione dell'applicazione ancora prima di scrivere una singola riga di codice. anche leggendo in giro per il web non sono riuscito a trovare niente che illustri "le linee guida" di come approcciarsi ad un progetto simile
__________________
Mobo: Asus Sabertooth990fx Rev2.0 | Cpu: FX 8350 @4.8ghz 1.49v / H100i | Ram: 2x8gb DDR3 2400 Corsair Vengeance Pro | Vga: XFX GTR 480 8gb | Alimentatore: XFX ProSeries XXB Bronze 850w | Case: Homemade (click) | HDD: Seagate barracuda 7200.14 1Tb | SSD: Crucial mx300 750Gb | Monitor: Iiyama xb2374hds-1 ; AOC g2460pf | Input: G300/G11/G13 | Profilo battle.net: Roni#2789 |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Finalmente un po' di metodologia.
Il primo passo è capire come funziona un'agenzia di viaggi. Io non ne ho la più pallida idea ma come qualsiasi attività umana organizzata essa è riassumubile in un corposo insieme di procedimenti. I procedimenti sono sequenze ordinate di atti: capita questo, poi questo, poi quest'altro, poi quest'altro ancora e lì si finisce. I procedimenti possono essere collegati nel senso che l'ultimo atto di uno è la condizione perchè possa essere compiuto il primo atto di un altro. Dunque si tratta di individuare questi procedimenti, gli atti di cui sono composti e l'ordine in cui devono accadere e di determinare quali procedimenti siano collegati tra loro. Questa descrizione schematica diventa il tuo sistema di riferimento. Dal sistema di riferimento passi al modello di sistema cioè trasformi l'insieme di procedimenti in una descrizione funzionale alla simulazione dell'attività tramite un calcolatore. Significa che gli elementi coinvolti nella descrizione procedimentale di cui sopra cessano di essere "reali" e si trasformano in entità computabili: il cliente non è più la persona fisica che entra dalla porta ma sarà il tal record nella qual strato di persistenza. Il registro delle destinazioni diventerà il form di un'interfaccia utente. E così via. Col modello di sistema passi alla traduzione in codice e ottieni il tuo programma. Materialmente procedi in questo modo. Analisi del sistema di riferimento 1. Studia il fenomeno agenzia di viaggi 2. Piglia un foglio di carta (possibilmente elettronico) e redigi un elenco di nomi ciascuno dei quali individua uno dei procedimenti che hai osservato nel fenomeno 3. Per ogni nome dell'elenco precedente delinei la successione di attività che compongono quel procedimento. 4. Scrivi quali procedimenti sono collegati a quali altri esaminando i primi e gli ultimi atti di ciascun procedimento: se uno richiede che esista un cliente allora sarà collegato a quello che registra un cliente, se uno richiede che esista una destinazione allora sarà collegato a quello che registra una destinazione e così via. Definizione del modello di sistema Per ogni elemento che è agente o oggetto di un'attività nella successioni di atti che costituisce un procedimento, fornisci una definizione in termini di attribuzioni di caratteristiche o comportamenti: x è o fa qualcosa, y è o fa qualcos'altro. Ti occupi inoltre di introdurre tutte quelle definizioni non strettamente necessarie alla rappresentazione del fenomeno ma richieste affinchè questo sia simulabile con un pc e che sono variamente correlate al concetto di input/output - acquisizione e rappresentazione delle informazioni più gestione della persistenza degli stessi. Traduzione in codice - aka programmazione. Traduci il modello di sistema in codice e ottieni il tuo programma. Con ogni probabilità ti romperai le scatole arrivato ai due quinti della storia ma a quel punto dovresti aver già "capito l'antìfona" e passerai direttamente al codice. Non che sia una cosa bella da fare ma lo facciamo tutti perché le procedure sono una palla eccezionale.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
Questa me la segno! [END OT]
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Mar 2006
Messaggi: 2216
|
ti ringrazio PGI, per la risposta molto esplicativa e per la tua previsione al riguardo
per fortuna però ho tra le mani un progetto un po più "guidato" con meno libertà lasciata al programmatore rispetto a quella da te descritta, questo è quanto . come potrai vedere le funzionalità da implementare sono ridotte rispetto alla realtà, ma c'è comunque un bel po da fare. il primo passo "pratico" sul quale mi sono bloccato è quello di traduzione delle varie funzionalità/aspetti, da implementare, in un mero schema di gerarchia delle classi. così da avere un quadro generale. ps. ho letto in giro qualcosa sui design pattern, dovrei forse andarmeli a vedere?
__________________
Mobo: Asus Sabertooth990fx Rev2.0 | Cpu: FX 8350 @4.8ghz 1.49v / H100i | Ram: 2x8gb DDR3 2400 Corsair Vengeance Pro | Vga: XFX GTR 480 8gb | Alimentatore: XFX ProSeries XXB Bronze 850w | Case: Homemade (click) | HDD: Seagate barracuda 7200.14 1Tb | SSD: Crucial mx300 750Gb | Monitor: Iiyama xb2374hds-1 ; AOC g2460pf | Input: G300/G11/G13 | Profilo battle.net: Roni#2789 |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Da quella traccia direi che puoi considerarti "un po' meno libero" quando è un po' meno libero un galeotto in isolamento, legato al letto. E narcotizzato.
Puoi partire dalla gerarchia ma dovresti partire dal basso, dagli individui in vita, per poi scoprire chi fossero i genitori e i genitori dei genitori e così via. E per quanto riguarda i viventi hai il problema di un progettista con la passione per l'enigmistica. Prova ad iniziare con la descrizione (cioè la classe) del PacchettoVacanze. Come sia fatto lo deduci dal formato del file (nome, indirizzo, N recapiti telefonici ed N settimane). Probabilmente ti servirà una classe collegata per il tipo di dato "Settimana" (con un nome sperabilmente più significativo), più che altro perchè è più complessa del tipo di oggetti di cui è parte. Una volta che hai per le mani il pacchetto vacanze dovresti iniziare ad intuire quali "metodi" dovrebbe avere affinchè sia possibile mettergli le mani addosso nei termini richiesti dall'esercizio. Dovrai creare dei pacchetti vacanze dunque nomi, indirizzi e recapiti dovranno essere mutabili (cioè avrai dei setter). Non che questa della mutabilità sia una questione strettamente necessaria ma non andiamo in zone a luci rosse. Oppure potresti partire dall'interfaccia utente (testuale o grafica è uguale). Per le applicazioni CRUD le interfacce utente sono praticamente la trasposizione visiva della struttura dei dati e dei loro manipolatori: da una segue di necessità l'altra e viceversa.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: May 2008
Città: Mondragone
Messaggi: 316
|
Salve...anche io mi ritrovo a gestire lo stesso progetto, solo che io faccio parte dell'altro canale di studio xD Sinceramente ho riscontrato problemi nella gestione delle settimane, inizialmente volevo fare una classi nidificata però poi c'ho ripensato...cosa consigliate di fare voi?
__________________
Ho concluso trattative con Dariosicilia(x2) - Vipera3000(x3) - Superezzonico - 8310 - Jonny32 - totore86 - Spale0 - Dubmehard - keimat - fabioss87 - frax289 - LkNuke - Crashland - alix79 - Valos - Pirlano - nonnopollo - Antgri27 - emnlmn - domthewizard Trattative concluse NEGATIVAMENTE/PACCO NON ARRIVATO/OGGETTO NON CORRISPONDENTE A DESCRIZIONE con Sassisassi |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:28.




















