Testo

Transcript

Testo
Prova scritta del 13 Settembre 2007
1
Prova scritta del 13 Settembre 2007
In una banca, un cliente può possedere uno o più conti correnti (CC). Ogni conto ha un suo numero univoco.
E’ possibile che al cliente venga concesso un fido. Il fido ha una soglia massima, personalizzata da cliente a
cliente. Il fido può essere utilizzato da qualunque CC del cliente, ma col vincolo che non venga sforata la soglia.
Le transazioni che porterebbero a sforare la soglia non sono consentite.1
Di ogni CC viene tenuta traccia della data di apertura. Sul conto corrente sono possibili le due operazioni
di deposito e prelievo. Per ogni operazione viene tenuta traccia della data, dell’importo, del saldo (successivo
all’operazione). Ad ogni operazione viene stampata la contabile corrispondente, che riporta anche il saldo.
Inoltre sono anche possibili: (a) la lettura del saldo di un CC; (b) la lettera degli ultimi 4 movimenti (oltre
al saldo finale deve essere presentato anche il saldo a partire dal quale applicano i 4 movimenti).
Un cliente può aver contratto un mutuo (non più di uno). Relativamente al mutuo il sistema tiene traccia
della data di concessione, del capitale mutuato, del numero totale di rate in cui il mutuo verrà estinto, del valore
della rata mensile, del numero di rate pagate. La rata viene pagata a fine mese, prelevando sempre da uno
specifico CC del cliente.
1. Utilizzando StarUML:
• Si costruisca il modello UML del dominio applicativo, evidenziando gli attributi delle classi.
• Si tracci il diagramma di sequenza relativo a un deposito di e Euro sul conto corrente cc1 del cliente
X e al bonifico di d < e Euro sul conto corrente numero cc2 di Y.
• Si tracci il diagramma di sequenza relativo alla scadenza di una rata del mutuo del cliente X; il mutuo
è collegato al conto cc1 del cliente.
• Si generino i template delle classi.
2. Utilizzando Eclipse: importare le classi generate da StarUML e costruire il programma, che consenta le
funzionalità di cui sopra. In particolare: 2
(a) Popolare il modello in questo modo:
• Cliente Rossi: CC n 100 aperto in data 1 con 14.000 Euro.
• Cliente Neri: CC n 200 aperto in data 1 con 10.000 Euro; CC n 333 aperto in data 5 con 4000
Euro; fido di 3000 concesso in data 3. Mutuo di 100.000 Euro concesso in data 4, collegato al
CC n 200, numero totale rate 180, importo rata 900 Euro, 32 rate pagate alla data 1,
(b) A partire dal modello cosı̀ popolato, si eseguano le seguenti azioni (ordinate per data):
• In data 12: prelievo di 4000 Euro dal CC n 200 di Neri.
• In data 14: prelievo di 3000 Euro dal CC n 333 di Neri.
• In data 18: deposito 1.000 sul CC n 333 di Neri e bonifico di 5.500 dal medesimo al CC n 100 di
Rossi. Stampa dell’estratto conto (con ultimi 4 movimenti) del conto trassato.
• In data 31: Pagamento rata mutuo Neri. Stampa estratto conto CC n 200 (con ultimi 4
movimenti).
• In data 62: Pagamento rata mutuo Neri. Stampa estratto conto CC n 200 (con ultimi 4
movimenti).
• In data 70: prelievo di 6000 Euro dal CC n 200 di Neri e stampa estratto conto (con ultimi 4
movimenti).
Chi completa correttamente tutti i punti precedenti prende 30 e lode.
1 Ad esempio, se il fido è pari a 1000, la soglia verrebbe sforata se a causa di un’operazione di prelievo la somma dei saldi di tutti
i conti del cliente risultasse negativa per più di 1000.
2 Per semplicità, nello sviluppare i programmi si facciano queste semplificazioni: i clienti vengono individuati con il solo cognome,
le date vengono rappresentate con numeri interi.