Professional Documents
Culture Documents
Il progetto richiesto prevede la possibilit, in maniera telematica e virtuale, di realizzare una simulazione di un sistema di investimento, consultando informazioni circa le societ quotate in borsa, analizzando landamento azionistico e valutando varie possibilit di investimento: Fondi (comuni, immobiliari, dinvestimento), Obbligazioni, BTP, BOT, ABS, e altro ancora. In altri termini, si vuole offrire la possibilit di prendere scelte virtuali sulla base di parametri reali, con lobiettivo di incrementare le conoscenze e le capacit personali. Il sistema sicuramente rivolto a gente esperta in materia, quali broker, ma non esclusa in futuro la possibilit di renderlo utilizzabile a chiunque; per il momento il software utilizzabile dal broker e visionabile dal cliente generico La finalit del nostro sistema quella di poter creare una classifica di broker, attraverso la quale gli stessi pubblicizzano la propria immagine e le proprie qualit, cosicch il consumatore possa in un qualsiasi momento contattare il broker virtualmente migliore traendo le informazioni dal suo profilo. Dal punto di vista dei requisiti, soffermandoci su quelli non funzionali che costituiscono le scelte architetturali, dovranno essere garantiti: - Affidabilit: verranno previsti meccanismi di alimentazione
supplementari e di backup per garantire il funzionamento del software 24/24 h; - Sicurezza dei dati sensibili: dovranno essere previsti dei meccanismi di protezione dei dati personali dei broker memorizzati allinterno del database;
- Robustezza: il sistema dovr essere caratterizzato da tempi di risposta veloci e dovr implementare un meccanismo di recovery efficiente e rapido; - Portabilit: sar utile modularizzare il software in modo da consentire aggiunta di feature future ; - Garanzia della correttezza dei parametri dinvestimento: si implementeranno delle interfacce per consentire lacquisizione compatibile dei dati da sistemi esterni; - Aggiornamenti in tempo reale: la suddetta interfaccia dovr mantenere i dati sempre aggiornati medianti meccanismi di trigger; - Meccanismi di autenticazione: laccesso al sistema dovr essere autenticato mediante username e password sia per i broker che per lamministratore; laccesso sar pubblico per il cliente generico; - Facilit di utilizzo: linterfacciamento con lutente dovr essere userfriendly e permettere anche ai meno esperti di poter accedere alle funzionalit del software in maniera semplice, veloce e intuitiva; Larchitettura particolarmente adatta allo sviluppo del suddetto sistema di tipo client/server, in quanto la capacit di fornire contemporaneamente servizi a pi utenze intrinseca nella logica di questa architettura. Per garantire unelaborazione rapida e per adempiere alla gran mole di richieste si ritiene necessario ridondare i server.
Modelling architetturale
A livello di Deployment riteniamo opportuna la scelta di un architettura C/S a 4 livelli, come mostrato in fig. 1:
Extern System
<<artifact>> Dati reali della borsa
Generic client
<<artifact>> Browser
BROKER
Application Server
<<artifact>> Virtual Manager System
Web Server
<<artifact>> Front End Investment System
Database Server
Nel Diagramma di Deployment viene visualizzata la struttura fisica del sistema, e come essa interagisce con il lato software. Larchitettura che si attaglia meglio alla realizzazione di questo sistema il modello clientserver; in particolare, vista la complessit, stata scelta una struttura nlayered, per suddividere il carico computazionale su diverse macchine server; avremo quindi: Un generico client, schematizzabile mediante un qualunque browser,
che richiede il servizio; Un web server che si occuper della gestione delle richieste client e
del loro forwarding; inoltre fornisce i meccanismi di autenticazione (mediante il protocollo Digest Access Authentication), accedendo al Database Server; Un application server che rappresenta il nucleo del sistema, ossia
lapplicativo che permette di simulare il sistema dinvestimento finanziario; Un Extern system, la cui mansione quella di fornire i dati reali della
borsa (indici azioni, parametri finanziari, valori di borsa, informazioni relative alle aziende); sar quindi necessario interagire con questo sistema esterno mediante delle interfacce apposite; Un Database server, che implementa un DBMS, contenente i dati
degli account (informazioni personali, operazioni effettuate, capitale disponibile) della classifica, e dei risultati statistici. Analizzando la tipologia dellarchitettura e del tipo di servizio da offrire, si ritiene opportuno implementare un software middleware, il broker, il quale funger da intermediario per la comunicazione tra lapplicazione e il sistema esterno dal quale acquisire i dati reali.
Per la gestione dei dati tra i vari moduli stato utilizzato il pattern architetturale Shared Repository grazie al quale possibile mantenere tutti i dati in un repository centrale condiviso dagli altri componenti. Nel nostro caso la struttura dati utilizzata quella del database e quindi si parler di Shared Database. La scelta guidata dalla necessit di avere dati sincronizzati. In fig. 2 viene mostrata la struttura della soluzione:
Per evitare problematiche di accoppiamento e di interfacciamento fra la base di dati e lapplicativo che accede alla stessa si prevede lutilizzo del pattern architetturale Database Access Layer. In questo modo viene introdotto uno strato intermedio che funger da interfaccia e quindi tradurr le operazioni CRUD (Create-Read-Update-Delete) in istruzioni SQL. In Fig. 3 riportiamo uno schema del prototipo di funzionamento del DAL.
Database table
Is passed to/from
Relational database
Nel diagramma delle componenti riportato in Fig.4, possibile notare la struttura di alto livello del sistema dinvestimento; il componente centrale raffigurato dal sistema dinvestimento stesso, il quale interagisce direttamente con lattore esterno broker (rappresentato dallo stickman); il componente centrale implementa un meccanismo di inclusione per i sottosistemi necessari alla Visualizzazione del profilo pubblico del broker, alla visualizzazione della classifica, alla gestione della pagina personale e alla sezione amministrativa dei dati, la quale viene gestita dallattore esterno Administrator. Inoltre previsto un meccanismo di sincronizzazione in real timing dei parametri reali della borsa mediante lutilizzo del componente esterno acquisizione dati in tempo reale. Il
cliente non autenticato (utente generico) pu interagire con il sistema mediante i componenti visualizzatore profilo pubblico broker e
<<extern>>
<<system>>
<<subsystem>>
Amministrazione
<<subsystem>>
<<subsystem>> <<subsystem>>
Visualizzatore classifica
Cliente non autenticato
visualizzatore classifica.
Fig. 4. Diagramma delle componenti generico.
Lattore broker (fig.5), successivamente allautenticazione avvenuta con successo, interagisce direttamente con il componente profilo personale broker che, come gi accennato, conterr: Uno strumento di analisi finanziaria per la valutazione delle
operazioni da effettuare; Uno strumento di gestione del patrimonio virtuale, attraverso il quale
possibile visionare il proprio capitale investito, i guadagni/perdite, e altri parametri economici personali; Uno strumento di acquisto/vendita di varie forme di investimento
(azioni, obbligazioni, );
visibili al pubblico.
<<component>>
<<component>>
<<component>> <<component>>
<<component>>
Il cliente non autenticato (Fig. 6) potr interagire esclusivamente con i seguenti sottosistemi: visualizzatore profilo pubblico broker e
visualizzatore classifica. Questi sottosistemi richiedono un utilizzo del DBMS per poter accedere ai componenti Schema informazioni broker e Schema operazioni finanziarie effettuate, mediante i quali si accede ai dati memorizzati nel database. Attraverso il visualizzatore di classifica il cliente potr monitorare la classifica settimanale dei movimenti effettuati dai broker; selezionato un determinato broker, attraverso il visualizzatore del profilo pubblico si avranno a disposizione le informazioni necessarie per contattarlo.
<<subsystem>>
DBMS
<<subsystem>>
Visualizzatore classifica
<<schema>>
<<schema>>
10
11