You are on page 1of 12

POLITECNICO DI BARI

FACOLT DI INGEGNERIA CORSO DI LAUREA MAGISTRALE IN INGEGNERIA INFORMATICA


TEMA DANNO in

INGEGNERIA DEL SOFTWARE

PARTE SECONDA: SOLUZIONE ARCHITETTURALE SISTEMA DI SIMULAZIONE


Docente: Prof. Ing. Marina Mongiello

Studenti: Donato Barone Marco Suma

ANNO ACCADEMICO 2011/2012

SISTEMA DI SIMULAZIONE DINVESTIMENTO

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

<<Execution Environment>> <<artifact>> SchemaDB

Fig.1. Diagramma di Deployment.

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:

Fig. 2. Struttura della soluzione di una Shared Repository.

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.

Application object Object-Oriented Application


Is passed to/from

Database table
Is passed to/from

Database Access Layer

Relational database

Fig. 3. Struttura della soluzione di un Database Access Layer.

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>>

Acquisizione dati in tempo reale


<<Accesso autenticato>>

<<system>>

Sistema investimento Broker User

<<subsystem>>

Amministrazione
<<subsystem>>

Visualizzatore profilo pubblico broker

<<subsystem>> <<subsystem>>

Accesso pagina personale broker

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, );

Uno strumento di modifica delle proprie informazioni personali,

visibili al pubblico.

<<component>>

Strumento di analisi situazione finanziaria

<<component>>

Strumento di gestione patrimonio virtuale

<<component>> <<component>>

Profilo personale broker Broker

Strumento di scelta forme di investimento

<<component>>

Strumento di gestione dati personali

Fig.5. Diagramma delle componenti specifico al componente esterno Broker.

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>>

Visualizzatore profilo pubblico broker


<<component>>

DBMS

Cliente non autenticato

<<subsystem>>

Visualizzatore classifica

<<schema>>

<<schema>>

Schema informazioni broker

Schema operazioni finanziarie effettuate

Fig.6. Diagramma delle componenti specifico al ClienteNonAutenticato

Prototipo del sistema


Il sito accessibile da chiunque; la registrazione sar consentita esclusivamente ai broker iscritti allAlbo ufficiale per i quali sar prevista unapposita sezione personale contenente le proprie informazioni e una classifica pubblica riguardante i broker iscritti ed i risultati conseguiti. Una volta effettuato il login, il broker potr scegliere diverse operazioni da effettuare, che vanno dalla possibilit di consultare le informazioni dellazienda quotata in borsa (vedi prototipo Fig.7) alla possibilit di monitorare/acquistare/vendere azioni (vedi Fig.8) o altre forme di investimento.

Fig.7 Prototipo della visualizzazione di una finestra informativa.

10

Fig.8 Prototipo di una visualizzazione riassuntiva delle azioni.

La classifica proposta allutente sar analoga a quella riportata in Fig.9:

Fig.9. Prototipo della classifica consultabile dallutente.

11

You might also like