fbpx
Skip to main content
  1. franciov
  2. Ingegneria Informatica - Triennale
  3. Mercoledì, 04 Febbraio 2004
  4.  Subscribe via email
Il professore ha detto che BISOGNA usare "swing" per una banca con 6 conto correnti.... confermate?

Un'interfaccia grafica presuppone una programmazione ad eventi?

Per quanto riguarda l'implementazione, bisogna applicare una relazione "un produttore" - "6 consumatori"!! Credo che si dovranno usare i semafori.

Scrivete qui dubbi, domande, ma anche risposte, affermazioni e traguardi raggiunti nello svolgimento del progetto!!

...diamoci una mano...
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
chi è swing?
:?:
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
":2p66zq2f]chi è swing?
:?:


Una famiglia di classi per la progettazione ed il disegno di interfaccie grafiche (GUI).
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
Ma l'ha detto lui che i contocorrenti devono essere 6? Perché qui http://www.iasi.rm.cnr.it/~adp/tests_2004/test2_2004.ps appare tutto molto più generico...
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
In aula, prima di mettere le specifiche del progetto in rete, ha detto: "Come secondo esonero mi fate una bella banca che gestice conto-correnti... non è difficile... alla fine è una relazione produttori consumatori". Poi ha aggiunto: "Facciamo che ci stanno... mmm... 6 conto-correnti!!! Sono troppi?? Però questa volta usate SWING!!".
Più o meno sono le testuali parole, se non ricordo male!!!
Certo... implementare una banca con un numero variabile n di conto-correnti diventa un tantino complicato.... o no? Bisognerebbe creare un database, ma non ho la minima intenzione di farlo!!
Certo che se sono fissi è un'altra cosa..... mumble... mumble....

Vabé.... come avete intenzione di raffigurare la banca ed i clienti?? è questo il mio problema: l'interfaccia grafica!! Come faccio a raffigurare lo scambio di informazioni (prelievi etc.) tra banca e cliente? Avete qualche idea a riguardo? ...scarseggio di fantasia in questo periodo... HELP!! :)
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
Vabé.... come avete intenzione di raffigurare la banca ed i clienti?? è questo il mio problema: l'interfaccia grafica!! Come faccio a raffigurare lo scambio di informazioni (prelievi etc.) tra banca e cliente?


Ma nelle specifiche lui dice "Il dialogo col sistema deve avvenire tramite un'interfaccia grafica"... a me sembra di capire che voglia una semplice finestra di dialogo con tanti pulsanti quante sono le operazioni da fare.. o no? Non credo che si riferisca ad una "simulazione" in cui si vedono n persone entrare ed uscire dalla banca compiendo operazioni... Anche perché in 10 giorni non è proprio possibile riuscire a completarlo!!!
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
Non intendevo creare un gioco 3D sparatutto della serie "rapina le banche"!! Avevo in mente solo pallini e freccette! :D

Cmq forse hai ragione tu!!! Una finestra con tanti bottoni quante sono le operazioni che si possono compiere... tipo "identificati" (tra le i conto-correnti), "deposita", "preleva", "guarda il tuo conto"!! Qualcun'altra?

Ma... in questo modo, come faccio a far vedere che funziona il "problema della moglie che preleva soldi"? cioé... se la moglie di questo tizio preleva tutti soldi nello stesso momento in cui lui sta prelevando... bisogna mettere un lock e un semaforo!!
Però con un'interfaccia grafica, come quella descritta sopra, le operazioni si svolgono una alla volta!!
Capito qual'è il problema?

Forse sarebbe meglio far prelevare e depositare denaro in maniera RANDOM da ogni cliente della banca (usando i threads)! Intendo di randomizzare l'ID del conto-corrente, l'azione da svolgere (depositare o prelevare) e la quantità di denaro! In questo modo si mostrerebbe anche il problema della "moglie" descritto in precedenza!! Poi si dovrebbe implementare un interfaccia grafica "a dialoghi"!
Non sarebbe meglio?

(Molto simile al problema dei 5 filosofi)
Correggetemi se sbaglio o se avete idee migliori!
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
beati voi che sapete bene dove mettere le mani. per quanto mi riguarda mi devo prendere un libro di java e studiarmelo per intero! auguri
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
Ho delle perplessità sul testo del progetto... spero mi possiate aiutare!

Allora.. ogni titolare di un conto-corrente bancario deve poter:
1) versare denaro,
2) prelevare denaro,
3) richiedere il saldo,
4) richiedere l'estratto conto delle ultime n operazioni fatte.

Ora... la mutua esclusione quando deve prevederla?
Mi spiego meglio:
- un solo titolare alla volta può fare un'operazione QUALSIASI?
- oppure un solo titolare alla volta può fare QUELLA DETERMINATA operazione, mentre un altro ne fa una diversa?

cioé... è l'accesso alla banca che deve essere unico? oppure è l'accesso ad un determinato "ufficio"(versamenti,prelievi,saldi,estratti conto) che deve essere unico?

grazie a chi mi darà una mano.
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
Non saprei...in effetti le specifiche non sono troppo chiare.
Comunque credo che sia meglio fornire un mutex sull'intero conto, e non sull'operazione: se io verso e tu prelevi sullo stesso conto, le operazioni sono diverse, ma ci possono essere collisioni lo stesso...spero di essermi fatto capire.

La cosa che non mi è chiara è un'altra: la mutua esclusione quando viene utilizzata?
Il prog. deve essere in grado di aprire più contocorrenti insieme, o ancora, più istanze dello stesso contocorrente, per dimostrare il funzionamento corretto su operazioni in parallelo oppure facciamo a fiducia?

L'interfaccia grafica come/quanto la state curando?

Come va presentato questo progetto? Copia cartacea del codice pure questo?

Ciao ;)
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
La cosa che non mi è chiara è un'altra: la mutua esclusione quando viene utilizzata?
Il prog. deve essere in grado di aprire più contocorrenti insieme, o ancora, più istanze dello stesso contocorrente, per dimostrare il funzionamento corretto su operazioni in parallelo oppure facciamo a fiducia?


Le specifiche non sono molto chiare neanche su questo. Io mi sa che faccio partire tutti i threads insieme e li faccio lavorare in maniera casuale, senza input! E quindi lavorerà uno solo alla volta? Gli altri aspettano? boh... mi puzza!!!

L'interfaccia grafica come/quanto la state curando?


Io sto usando i componenti Swing come ha detto il prof. Poi ci metto anche qualche evento di mouse (pulsante START). Poi qualche immagine, pallini e scritte etc. Ci sto provando.

Come va presentato questo progetto? Copia cartacea del codice pure questo?


Copia cartacea credo, con molte prove di esecuzione.


Cmq potrebbe succedere che Topolino sta prelevando 50euro dal suo conto, mentre Pippo sta richiedendo il saldo del proprio conto.
In questo caso deve far accedere sempre uno alla volta?

A proposito, come avete intenzione di salvarle le informazioni?
in un array multidimensionale? in una serie di array? in un ArrayList? in un file?
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
Appunto...non si capisce quando serve la mutua esclusione...bah.
Poi se gli fai una domanda se stranisce e dice "pensate solo all'esonero"...scrivi bene le specifiche allora!

Per il discorso di Pippo e Topolino...era proprio quello che volevo dire nel post precedente: è l'oggetto contocorrente che va acceduto in mutua esclusione, e non il singolo metodo, almeno secondo me.

Penso di salvare i dati su file, in modo che possano essere acceduti anche in seguito. Questa almeno è l'intenzione. :?

Speriamo bene...e soprattutto speriamo che contino qualcosa sti progetti, che secondo me ce sta a fa na sola grossa come na casa...
Non vorrei che ce sta a fa perde le ore e poi li guarda 30 secondi, anche se sospetto che sarà così.

Ciao :)
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
Sicuramente conterà molto di più lo scritto.

Mmm... mettere i dati su un file è abbastanza complicato e lungo!! Per ora li metto su:
1) un array normale con i vari saldi
2) un ArrayList con dentro le ultime operazioni fatte, rappresentate in qualche modo.
mmm... l'estratto conto è la cosa + difficile da realizzare.... insieme all'interfaccia grafica!!

Se avrò tempo, metterò anch'io i dati su file.
mmm... dici che se metto tutto random (operazioni e cifre) è troppo "maccheronico"? dici che il professore vuole che l'utente possa dialogare col sistema scegliendo, ad esempio, di [color=darkred]versare 300€[/color]?
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
Ma le dispense del Petto (quelle sulla concorrenza) si trovano in libreria?
Ah, un'altra cosa: tempo fa aveva detto che avrebbe specificato esattamente cosa studiare per l'esame e cosa invece lasciar perdere... sapete qualcosa di più?
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
La tua affermazione presuppone che ci dirà di tralasciare qualche argomento...ma visto il personaggio non credo ;)
Scherzi a parte...l'avevo sentita pure io sta cosa, ma sul sito non c'è ancora niente...boh.

Le dispense sono ancora una "beta" ;) quindi suppongo che in libreria non ci sono.
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
Ho avuto un'ideuzza...
Siccome le specifiche dell'esercizio dicono:"Il titolare di un conto corrente DEVE POTER ....... richiedere l'estratto conto delle ultime n operazioni", ho pensato (bene?) di NON memorizzare tutte le operazioni svolte, ma di mandare semplicemente in output la frase: "Topolino sta richiedendo il suo estratto conto", mentre tutti gli altri:
- o stanno senza far niente
- o stanno aspettando Topolino faccia una notifyAll().
Naturalmente è tutto randomizzato.
L'importante è la mutua esclusione (e la grafica), no?!

Che ne pensi Nash?
Che ne pensate?
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
Non so se ho capito bene, però non mi sembra che voglia l'estratto conto delle ultime n operazioni, ma semplicemente la lista delle ultime n operazioni...ne più e ne meno quello che succede con un bancomat normale quando chiedi la lista movimenti.

Cmq, rispondendo al tuo post precedente: penso che l'utente debba poter dialogare col sistema e versare/prelevare una somma a sua scelta, ma quello non dovrebbe creare molti problemi, tanto cmq i metodi sono gli stessi, sia per il discorso random sia per situazioni normali.

Certo che delle specifiche più chiare avrebbero evitato molte ambiguità...
Io ancora non ho chiarissimo se e in che modo eventualmente mostrare il funzionamento della mutua esclusione...
In che modo la stai implementando? Peterson?

PS: Qualcuno per caso ha idea di come sarà strutturato lo scritto?
Vado a dormì va :P Ciaoo ;)
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
Io ancora non ho chiarissimo se e in che modo eventualmente mostrare il funzionamento della mutua esclusione...
In che modo la stai implementando? Peterson?


Io ho usato un semplicissimo monitor con dentro tutte le operazione che che uno può fare (versamento, prelievo etc.)!! Naturalmente i metodi sono sincronizzati, ma in questo caso non basta: occorre mettere una wait() in ogni metodo, che viene ripetuta fiché la banca non diviene libera. Poiché l'accesso è unico, per fare ciò basta una variabile booleana e un metodo che rilascia la risorsa, modificando la variabile boolena e chiamando una notify().

Nash... se riuscito a creare un'interfaccia grafica di dialogo con l'utente, che salvi tutto su un file? A me manca solo quella, perché per il resto funziona tutto benissimo, però ogni azione è casuale!!!
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
Scusa ma così non fai in modo che l'insieme dei contocorrenti sia acceduto in mutex?
Non dovrebbe essere possibile operare (in teoria) su contocorrenti diversi in maniera concorrente? Alla fine se lavoriamo su conti diversi perchè bloccare tutta la banca?
Che dici? Si può fare una cosa del genere?

La grafica ancora non la guardo :(
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
Non dovrebbe essere possibile operare (in teoria) su contocorrenti diversi in maniera concorrente? Alla fine se lavoriamo su conti diversi perchè bloccare tutta la banca?
Che dici? Si può fare una cosa del genere?


E' la cosa che ti avevo chiesto all'inizio!! Però se ognuno accede solo al suo conto, il mutex non entra mai in azione!!

Io invece vedrei la banca, come un file che, quando lo si sta modificando, non lo si può leggere.. e bisogna aspettare. In questo caso però, devo consentire ai metodi "richiediEstrattoConto" e "richiediSaldo" di agire contemporanenamente??

Sbaglio in qualche cosa?

cmq credo che lascerò tutto random... non ho molto tempo.. devo anche studiare per gli esami!!
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
Si in effetti, visto che non ci sono operazioni da un conto all'altro, ma solo operazioni sul singolo conto, il mutex non entra mai in funzione...quindi l'unica soluzione sembra essere quella che dici tu.
Solo che non è strano bloccare tutta la banca per accedere ad un solo conto?
Oddio come so ambigue ste specifiche però...

Mi togli una curiosità? Qual'è la classe che hai reso Runnable ?
Comment
There are no comments made yet.
  • Page :
  • 1
  • 2
  • 3


There are no replies made for this post yet.
Be one of the first to reply to this post!