Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Gruppo Alpha
Andrea Martelli
Emanuele Mottola
Roberto Paolillo
Corso di laurea in Ingegneria Informatica Specialistica
Anno Accademico 2007/2008
Indice
1 Introduzione......................................................................................................................................2
2 Casi d'uso e attività...........................................................................................................................3
2.1 Introduzione..............................................................................................................................3
2.2 Attori.........................................................................................................................................5
2.2.1 Guest..................................................................................................................................5
2.2.2 Utente base .......................................................................................................................5
2.2.3 Amministratore ................................................................................................................5
2.2.4 Utente avanzato.................................................................................................................5
2.2.5 DB ContiPortafogli .........................................................................................................6
2.2.6 Fornitore dati di borsa ......................................................................................................6
2.2.7 DB Titoli...........................................................................................................................6
2.2.8 Demone di aggiornamento................................................................................................6
2.3 Casi d'uso .................................................................................................................................7
2.3.1 Login ................................................................................................................................7
2.3.2 Aprire conto .....................................................................................................................8
2.3.3 Visualizzare quotazione titolo/valuta ...............................................................................9
2.3.4 Visualizzare listino .........................................................................................................11
2.3.5 Visualizzare per indice ...................................................................................................12
2.3.6 Visualizzare listino AZ .................................................................................................12
2.3.7 Cercare titolo ..................................................................................................................12
2.3.8 Definire titoli per indice .................................................................................................14
2.3.9 Aggiornare orari mercati ................................................................................................15
2.3.10 Aggiornare elenco titoli ................................................................................................17
2.3.11 Visualizzare saldo e movimenti conto ..........................................................................18
2.3.12 Visualizzare portafoglio ................................................................................................19
2.3.13 Inserire ordine di acquisto titolo/valuta ........................................................................21
2.3.14 Inserire ordine di vendita titolo/valuta ..........................................................................23
2.3.15 Cancellare ordine ..........................................................................................................24
2.3.16 Visualizzare riepilogo ordini ........................................................................................25
2.3.17 Ottenere quotazione ......................................................................................................26
2.3.18 Aggiornare portafoglio .................................................................................................28
2.3.19 Aggiornare conto ..........................................................................................................30
2.3.20 Ottenere dati storici ......................................................................................................31
Documento di Analisi – Gruppo Alpha 1
2.3.21 Gestire portafoglio virtuale ..........................................................................................32
2.3.22 Visualizzare analisi tecnica ..........................................................................................34
2.3.23 Aggregare dati storici ...................................................................................................35
2.3.24 Aggiornare quotazioni ..................................................................................................36
2.3.25 Eseguire ordini acquisto/vendita ..................................................................................37
3 Classi..............................................................................................................................................39
3.1 Introduzione............................................................................................................................39
3.2 Dettaglio delle classi...............................................................................................................42
3.2.1 Utente..............................................................................................................................42
3.2.2 Ordine..............................................................................................................................42
3.2.3 Movimento......................................................................................................................43
3.2.4 Conto...............................................................................................................................43
3.2.5 Portafoglio.......................................................................................................................44
3.2.6 Titolo...............................................................................................................................44
3.2.7 Quotazione......................................................................................................................44
3.2.8 Compravendita................................................................................................................45
3.2.9 Indice...............................................................................................................................45
3.2.10 Mercato..........................................................................................................................45
3.2.11 Segmento.......................................................................................................................46
3.2.12 Calendario festivi...........................................................................................................46
3.2.13 Andamento....................................................................................................................46
3.2.14 Grafico...........................................................................................................................46
3.2.15 Indicatore.......................................................................................................................47
1 Introduzione
Documento di Analisi – Gruppo Alpha 2
2 Casi d'uso e attività
2.1 Introduzione
Di seguito è riportata la vista d'insieme dei casi d'uso. Gli attori che interagiscono col sistema
possono essere suddivisi essenzialmente in due categorie: quelli che rappresentano categorie di utenti
umani, interpretabili come clients del sistema, quelli che si occupano della gestione dei dati (fornitore e
DBMS) e quelli che, in maniera del tutto autonoma, svolgono operazioni di routine utili al funzionamento del
sistema.
Particolare attenzione è stata posta sul punto di vista dell'utente, che in base al suo livello di
esperienza e dei privilegi d'accesso, potrà usufruire di funzionalità più o meno avanzate. La suddivisione di
compiti tra DB Titoli e DB Utenti è meramente concettuale ed è stata utilizzata per rendere più chiaro e
leggibile il diagramma.
Di seguito è riportata la vista d'insieme dei casi d'uso, come sintesi delle funzionalità e del
comportamento dinamico del sistema. Inoltre per ogni caso d'uso sono forniti:
● descrizione testuale;
● diagramma delle attività;
Il diagramma illustra la sequenza di passi e condizioni che specificano tutti gli scenari e le possibili
varianti del caso d'uso. Per ognuno, inoltre, vengono esplicitate le modalità concrete con cui gli utilizzatori o
le parti del sistema interagiscono con esso.
Documento di Analisi – Gruppo Alpha 3
Documento di Analisi – Gruppo Alpha 4
2.2 Attori
2.2.1 Guest
Generalizza: Amministratore, Utente base
E' l'utente generico che si connette al sistema. Esso non ha effettuato il login e pertanto le azioni disponibili
sono limitate alla visualizzazione o ricerca dei titoli azionari e delle valute. L'utente Guest può inoltre aprire
un conto presso il sistema, ossia iscriversi ed acquisire le credenziali per il login. Se l'utente Guest non
ancora loggato possiede un account presso il sistema, può effettuare il login ed accedere così al proprio
portafoglio ed usufruire di ulteriori funzionalità.
2.2.2 Utente base
Specializza: Guest
Rappresenta la categoria degli utenti più comuni del sistema di trading on line. Specializza l’utente Guest e
individua, in particolare, un generico utente registrato al sistema che abbia effettuato l’operazione di login.
Possiede un conto, ed oltre alle operazioni di consultazione, tipiche di Guest, è pertanto abilitato alla
contrattazione nei mercati azionati e nel mercato valutario.
Le operazioni consentite a questa fascia di utenti sono l’inserimento e la cancellazione di ordini di acquisto e
vendita di titoli azionati o valute, la visualizzazione di report riepilogativi sugli ordini effettuati, la
visualizzazione del portafoglio personale e dello stato del conto, costituito dal saldo e dalla cronologia delle
ultime transazioni.
2.2.3 Amministratore
Specializza: Guest
L'amministratore specializza l'utente guest ed è unico. L'utente amministratore si occupa del mantenimento,
miglioramento e dell'aggiornamento del sistema. Può intervenire quindi sulla struttura e contenuto dei vari
DB. Le sue funzionalità principali sono di definire i titoli per indice, aggiornare gli orari dei mercati e l'elenco
dei titoli. E' predisposto inoltre a ricevere eventuali errori sul malfunzionamento del sistema, in particolare
quelli riguardanti il demone di aggiornamento, il timer e la connessione con il Fornitore dati borsa.
L'amministratore può eliminare degli account nel DB ContiPortafogli.
2.2.4 Utente avanzato
Specializza: Utente base
Questo attore specializza l'Utente base. Questa distinzione ricalca, sia pur se in scala assai ridotta, la
valutazione del profilo di rischio effettata dagli operatori finanziari ai suoi clienti, così come definita dalla
direttiva MIFID (Market in Financial Instruments Directive) che differenzia i clienti al dettaglio, professionali e
le controparti qualificate. Inoltre una simile classificazione è prevista anche dalle normative italiane di
trasparenza bancaria (PattiChiari). In questo caso la valutazione è basata sulla esperienza finanziaria, sulla
situazione finanziaria, sulla propensione al rischio e sugli obiettivi di investimento. All'interno del sistema,
l'attribuzione dello status di utente avanzato avviene da parte dell'amministratore. Oltre alle funzioni previste
per l'utente di base, un utente avanzato può utilizzare gli strumenti di analisi tecnica e di portafoglio virtuale
effettuando operazioni di acquisto e vendite simulate.
Documento di Analisi – Gruppo Alpha 5
2.2.5 DB ContiPortafogli
E' una parte del database che contiene:
● l'elenco degli utenti, con rispettivi dati personali, password e privilegi d'accesso, stabiliti in fase di
registrazione. Questi dati sono in buona parte modificabili anche dopo la registrazione;
● i portafogli degli utenti, ovvero la lista dei titoli posseduti da ciascuno, e degli ordini;
● i "portafogli virtuali", ovvero un elenco di titoli sotto osservazione. Questa funzionalità è disponibile
solo per gli utenti avanzati;
● i conti degli utenti.
Molte delle operazioni riguardanti questa sezione del database hanno carattere transazionale, ma sono
eseguite con frequenza minore rispetto a quelle che interessano la sezione "titoli" del DB. Le transazioni più
frequenti saranno la verifica della soddisfacibilità degli ordini e gli eventuali conseguenti aggiornamenti di
portafogli e conti.
2.2.6 Fornitore dati di borsa
E' un servizio WEB in grado di restituire le quotazioni aggiornate relative a un determinato titolo (azione o
valuta). Molti di questi servizi forniscono un flusso di dati continuo ma ritardato rispetto allo svolgimento reale
delle operazioni nei mercati di un certo numero di minuti. Questo implica che è necessario tenere conto di
questa componente di ritardo, ad esempio memorizzando sia dell'orario di ricezione del dato che dell'orario a
cui il dato fa riferimento.
Il meccanismo utilizzato per l'ottenimento dei dati è di tipo PULL. Essi vengono restituiti dal fornitore a
seguito di una specifica richiesta correttamente costruita (wellformed).
2.2.7 DB Titoli
E' una parte del database che contiene:
● l'elenco dei mercati e dei segmenti, nonché i loro orari di apertura. La modifica di questi dati avviene
manualmente da parte dell'amministratore;
● l'elenco dei titoli con il codice identificativo, utile per l'identificazione da parte del fornitore dei dati di
borsa;
● le quotazioni intraday, inserite durante l'aggiornamento delle quotazioni periodiche innescate dal
demone di aggiornamento;
● le quotazioni aggregate, che si formano attraverso l'aggregazione dei dati storici eseguita
periodicamente dal demone di aggiornamento;
Su di essa vengono effettuate moltissime operazioni di lettura e scrittura, raramente a carattere
transazionale. Deve essere dunque ottimizzato per gestire una gran mole di dati e processare un alto
numero di richieste.
2.2.8 Demone di aggiornamento
Il demone di aggiornamento gestisce una serie di timer che controllano l'esecuzione periodica ad intervalli
regolari di una serie di attività del sistema. Prima tra tutte e l'attività di aggiornamento delle quotazioni, che si
collega al fornitore dati di borsa, richiede le quotazioni aggiornate per tutti i titoli, le interpreta attraverso un
parser e le inserisce nel DB Titoli. Altra attività fondamentale conseguente all'aggiornamento è quella di
esecuzione degli ordini di acquisto e vendita, effettuata nel momento in cui le quotazioni sono inferiori o
superiori al prezzo impostato al momento dell'inserimento dell'ordine. Effettua inoltre un controllo periodico
sulla presenza di ordini inevasi scaduti, cancellandoli dal sistema. Al livello pratico è un modulo software in
esecuzione continua con riavvio automatico in caso di crash, logging e reporting degli errori
all'amministratore.
Documento di Analisi – Gruppo Alpha 6
2.3 Casi d'uso
2.3.1 Login
Descrizione: inserimento delle proprie credenziali per accedere al proprio conto.
Precondizioni: connessione internet funzionante, sito web attivo e raggiungibile via internet.
Postcondizioni per il successo: le credenziali inserite sono corrette, si raggiunge la pagina iniziale relativa
all'utente
Postcondizioni per il fallimento: viene restituito un messaggio di errore.
Evento innescante: Un utente non ancora loggato sceglie di effettuare il login dalla pagina iniziale del
sistema
Attore primario: Guest
Scenario di base Login
1. L'utente si connette col browser al sistema tramite l'indirizzo del sito
2. Il sistema fornisce la pagina iniziale
3. L'utente sceglie di effettuare il login
4. Il sistema, se non già presente, instaura la connessione al DB ContiPortafogli
5. Il sistema fornisce i form da riempire
6. L'utente inserisce le proprie credenziali
7. Il sistema interroga il DB, individua l'utente e verifica i dati immessi
8. Il sistema fornisce la pagina iniziale dell'utente
Scenario alternativo 1 – Utente non esistente e/o password sbagliata
7. Il sistema non trova un utente corrispondente ai dati immessi
8. Viene restituito un messaggio di errore.
Scenario alternativo 2 Errore nella connessione al database DB Contiportafogli
4. Il sistema ritenta la connessione al DB un numero prestabilito di volte
5. Se non ha successo, viene restituito un messaggio di errore invitando a riprovare più tardi
Scenario alternativo 3 Errore nell'interrogazione del database DB Contiportafogli
7. Si verifica un errore nel prelievo dei dati dal DB
8. Viene restituito un messaggio di errore, invitando a riprovare più tardi
Priorità di sviluppo: mediobassa
Frequenza prevista di esecuzione: >50 al giorno
Diagramma di attività:
Documento di Analisi – Gruppo Alpha 7
2.3.2 Aprire conto
Descrizione: connettersi al sito, registrare un nuovo account
Precondizioni: connessione internet funzionante, sito web attivo e raggiungibile via internet
Postcondizioni per il successo: l'utente crea un nuovo account e può effettuare il primo login.
Postcondizioni per il fallimento: viene restituito un messaggio di errore.
Evento innescante: L'utente non loggato decide di registrarsi presso il sistema.
Attore primario: Guest
Scenario di base Aprire conto
1. L'utente si connette al sistema tramite l'indirizzo del sito
2. Il sistema fornisce la pagina iniziale
3. L'utente sceglie di effettuare la registrazione
4. Il sistema, se non già presente, instaura la connessione al DB ContiPortafogli
5. Il sistema fornisce i form da riempire
6. L'utente inserisce nome utente, password e altre informazioni sul conto con cui intende accedere
al sistema
7. Il sistema registra il nuovo utente nel database e dà conferma dell'avvenuta registrazione
Scenario alternativo 1– Dati immessi non validi
7. Viene restituito un messaggio di errore
8. Il sistema ripropone l'inserimento dei dati
Scenario alternativo 2 Errore nella connessione al DB Contiportafogli
Documento di Analisi – Gruppo Alpha 8
4. Il sistema ritenta la connessione al DB un numero prestabilito di volte
5. Se non ha successo, viene restituito un messaggio di errore invitando a riprovare più tardi
Scenario alternativo 3 Errore nella scrittura del DB Contiportafogli
7. Si verifica un errore nella scrittura dei dati nel DB
8. Viene restituito un messaggio di errore, invitando a riprovare più tardi
Priorità di sviluppo: bassa
Frequenza prevista di esecuzione: <10 volte al giorno
Diagramma di attività:
2.3.3 Visualizzare quotazione titolo/valuta
Descrizione: visualizzare un titolo azionario o la quotazione di una valuta scegliendo tra quelli disponibili per
indice o per borsa
Precondizioni: connessione internet funzionante, sito web attivo e raggiungibile via internet
Postcondizioni per il successo: vengono visualizzate le informazioni richieste.
Postcondizioni per il fallimento: viene restituito un messaggio di errore.
Documento di Analisi – Gruppo Alpha 9
Evento innescante: l'utente chiede di visualizzare la quotazione di un titolo o di una valuta.
Attore primario: Guest
Include il caso d'uso: Ottenere quotazione
Esteso da: Visualizzare listino (extension point: richiesta listino)
Scenario di base Visualizzare quotazione titolo/valuta
1. L'utente sceglie un titolo o una valuta da visualizzare
2. <<include>> Ottenere quotazione
3. Il sistema fornisce l'ultima quotazione disponibile del titolo o della valuta
Scenario alternativo Errore in Ottenere quotazione
3. Se Ottenere quotazione fallisce, viene restituito un messaggio di errore invitando a riprovare più
tardi
Priorità di sviluppo: medioalta
Frequenza prevista di esecuzione: >1000 volte al giorno
Diagramma di attività:
Documento di Analisi – Gruppo Alpha 10
2.3.4 Visualizzare listino
Descrizione: visualizzare il listino dei titoli azionari.
Precondizioni: connessione internet funzionante, sito web attivo e raggiungibile via internet.
Postcondizioni per il successo: vengono visualizzate le informazioni richieste.
Postcondizioni per il fallimento: viene restituito un messaggio di errore.
Evento innescante: l'utente chiede di visualizzare il listino dei titoli azionari o il riepilogo dei principali tassi di
cambio.
Attore primario: Guest
Estende il caso d'uso: Visualizzare quotazione/titolo valuta
Scenario di base Visualizzare listino
1. L'utente sceglie di visualizzare il listino dei titoli azionari
2. <<include>> Ottenere quotazione: per ogni quotazione del listino, viene recuperata l'ultima
quotazione disponibile
3. Il sistema fornisce il listino dei titolo
Scenario alternativo Errore in Ottenere quotazione
3. Se Ottenere quotazione fallisce, viene restituito un messaggio di errore invitando a riprovare più
tardi
Priorità di sviluppo: medioalta
Frequenza prevista di esecuzione: >500 volte al giorno
Diagramma di attività:
Documento di Analisi – Gruppo Alpha 11
2.3.5 Visualizzare per indice
Descrizione: visualizzare il listino dei titoli azionari in base all'indice di riferimento
Precondizioni: connessione internet funzionante, sito web attivo e raggiungibile via internet.
Postcondizioni per il successo: vengono visualizzate le informazioni richieste.
Postcondizioni per il fallimento: viene restituito un messaggio di errore.
Evento innescante: l'utente chiede di visualizzare il listino dei titoli azionari afferenti a un dato indice
Attore primario: Guest
Specializza il caso d'uso: Visualizzare listino
Scenario di base Visualizzare per indice
1. L'utente sceglie di visualizzare il listino dei titoli azionari in base all'indice di riferimento
2. Il sistema fornisce l'elenco degli indici
3. L'utente seleziona l'indice di riferimento
4. <<include>> Ottenere quotazione: ultima quotazione per ogni titolo appartentente all'indice scelto
5. Il sistema presenta il listino richiesto all'utente
Scenario alternativo Errore in Ottenere quotazione
4. Se Ottenere quotazione fallisce, viene restituito un messaggio di errore invitando a riprovare più
tardi
Priorità di sviluppo: media
Frequenza prevista di esecuzione: >250 volte al giorno
2.3.6 Visualizzare listino AZ
Descrizione: visualizzare il listino dei titoli azionari di un determinato mercato in ordine alfabetico
Precondizioni: connessione internet funzionante, sito web attivo e raggiungibile via internet.
Postcondizioni per il successo: vengono visualizzate le informazioni richieste.
Postcondizioni per il fallimento: viene restituito un messaggio di errore.
Evento innescante: l'utente chiede di visualizzare il listino dei titoli azionari in ordine alfabetico
Attore primario: Guest
Specializza il caso d'uso: Visualizzare listino
Scenario di base Visualizzare listino AZ
1. L'utente sceglie di visualizzare il listino dei titoli azionari in ordine alfabetico
2. Il sistema fornisce l'elenco dei mercati disponibili
3. L'utente sceglie il mercato di interesse
4. <<include>> Ottenere quotazione: vengono ottenute le ultime quotazioni di ogni titolo
appartenente al mercato scelto e ordinate alfabeticamente
5. Il sistema presenta il listino all'utente
Scenario alternativo Errore in Ottenere quotazione
4. Se Ottenere quotazione fallisce, viene restituito un messaggio di errore invitando a riprovare più
tardi
Priorità di sviluppo: media
Frequenza prevista di esecuzione: >250 volte al giorno
2.3.7 Cercare titolo
Descrizione: cercare un titolo azionario tra quelli disponibili
Precondizioni: connessione internet funzionante, sito web attivo e raggiungibile via internet
Documento di Analisi – Gruppo Alpha 12
Postcondizioni per il successo: viene visualizzato l'elenco dei titoli che contengono la stringa cercata.
Postcondizioni per il fallimento: viene restituito un messaggio di nessun titolo trovato.
Evento innescante: l'utente chiede di cercare un titolo azionario nel DB.
Attore primario: Guest
Scenario di base Cercare titolo
1. L'utente sceglie di cercare un titolo azionario ed immette la stringa di ricerca
2. Il sistema, se non già presente, instaura la connessione al DB Titoli
3. Il sistema interroga il DB e fornisce i titoli che contengono la data stringa
Scenario alternativo 1 Nessun titolo trovato
3. Il sistema non trova nessun titolo corrispondente alla stringa cercata
4. Viene mostrato un opportuno messaggio invitando a cambiare la stringa di ricerca
Scenario alternativo 2 Errore nella connessione al DB Titoli
3. Il sistema ritenta la connessione al DB un numero prestabilito di volte
4. Se non ha successo, viene restituito un messaggio di errore invitando a riprovare più tardi
Priorità di sviluppo: media
Frequenza prevista di esecuzione: >50 volte al giorno
Diagramma di attività:
Documento di Analisi – Gruppo Alpha 13
2.3.8 Definire titoli per indice
Descrizione: L'amministratore definisce quali tra i titoli presenti nel DB, appartengono ad un determinato
indice.
Precondizioni: l'utente ha effettuato con successo il login come amministratore.
Postcondizioni per il successo: viene modificato l'elenco dei titoli che appartengono all'indice in
considerazione.
Postcondizioni per il fallimento: viene restituito un messaggio di errore, il DB rimane invariato.
Evento innescante: l'utente amministratore sceglie di definire i titoli che appartengono ad un indice.
Attore primario: Amministratore
Scenario di base Definire titoli per indice
1. L'amministratore sceglie la funzione di modifica dei titoli per indice
2. Il sistema, se non già presente, instaura la connessione al DB Titoli
3. Il sistema interroga il DB e fornisce l'elenco dei titoli disponibili
4. L'amministratore, a partire dall'elenco di tutti i titoli, seleziona titolo per titolo a quale indice
associarli
5. Il sistema aggiorna il DB
Scenario alternativo 1 Errore nella connessione al DB Titoli
3. Il sistema ritenta la connessione al DB un numero prestabilito di volte
4. Se non ha successo, viene restituito un messaggio di errore invitando a riprovare più tardi
Scenario alternativo 2 Errore nella scrittura del DB Titoli
5. Si verifica un errore nella scrittura dei dati nel DB
6. Viene restituito un messaggio di errore, invitando a riprovare più tardi
Priorità di sviluppo: bassa
Frequenza prevista di esecuzione: <5 volte al giorno
Diagramma di attività:
Documento di Analisi – Gruppo Alpha 14
2.3.9 Aggiornare orari mercati
Descrizione: L'amministratore aggiorna gli orari di apertura e chiusura dei mercati.
Precondizioni: l'utente ha effettuato con successo il login come amministratore.
Postcondizioni per il successo: viene modificato l'orario di apertura/chiusura dei mercati.
Postcondizioni per il fallimento: viene restituito un messaggio di errore, non vengono modificati gli orari.
Evento innescante: l'utente amministratore sceglie di aggiornare gli orari di apertura e chiusura dei mercati.
Attore primario: Amministratore
Scenario di base Aggiornare orari mercati
1. L'amministratore sceglie la funzione di aggiornamento degli orari dei mercati
Documento di Analisi – Gruppo Alpha 15
2. Il sistema, se non già presente, instaura la connessione al DB Titoli
3. Il sistema interroga il DB e fornisce l'elenco dei mercati
4. L'amministratore seleziona il mercato da aggiornare
5. Il sistema interroga il DB e fornisce gli orari di apertura e chiusura del mercato selezionato e il
form per la loro modifica
6. L'amministratore inserisce i nuovi orari
7. Il sistema aggiorna il DB
Scenario alternativo 1 Errore nella connessione al DB Titoli
3. Il sistema ritenta la connessione al DB un numero prestabilito di volte
4. Se non ha successo, viene restituito un messaggio di errore invitando a riprovare più tardi
Scenario alternativo 2 Errore nella scrittura del DB Titoli
7. Si verifica un errore nella scrittura dei dati nel DB
8. Non viene modificata la configurazione del demone di aggiornamento
9. Viene restituito un messaggio di errore invitando a riprovare più tardi
Priorità di sviluppo: bassa
Frequenza prevista di esecuzione: <5 volte al giorno
Diagramma di attivià:
Documento di Analisi – Gruppo Alpha 16
2.3.10 Aggiornare elenco titoli
Descrizione: L'amministratore aggiorna i titoli presenti nel DB Titoli
Precondizioni: l'utente ha effettuato con successo il login come amministratore.
Postcondizioni per il successo: viene modificato l'elenco dei titoli
Postcondizioni per il fallimento: viene restituito un messaggio di errore, il DB rimane invariato
Evento innescante: l'utente amministratore sceglie aggiornare l'elenco dei titoli
Attore primario: Amministratore
Scenario di base Aggiornare elenco titoli
1. L'amministratore sceglie la funzione di aggiornamento dei titoli
2. Il sistema, se non già presente, instaura la connessione al DB Titoli
3. Il sistema interroga il DB e fornisce l'elenco dei titoli
4. L'amministratore seleziona il titolo da aggiornare
5. Il sistema interroga il DB e fornisce il dettaglio del titolo selezionato
6. L'amministratore aggiorna il titolo o inserisce i dati del nuovo titolo
7. Il sistema aggiorna il DB
Variante Inserire un nuovo titolo
1a. L'amministratore sceglie la funzione di inserire di un nuovo titolo
2a. Il sistema, se non già presente, instaura la connessione al DB Titoli
3a. Il sistema propone i form per l'inserimento di un nuovo titolo
4a. L'amministratore inserisce i dati del nuovo titolo
5a. Il sistema aggiorna il DB e da conferma dell'avvenuto inserimento
Scenario alternativo 1 Errore nella connessione al DB Titoli
3. Il sistema ritenta la connessione al DB un numero prestabilito di volte
4. Se non ha successo, viene restituito un messaggio di errore invitando a riprovare più tardi
Scenario alternativo 2 Errore nella scrittura del DB Titoli
7. Si verifica un errore nella scrittura dei dati nel DB
8. Viene restituito un messaggio di errore, invitando a riprovare più tardi
Scenario alternativo 3 – Dati immessi non validi
7. Viene restituito un messaggio di errore
8. Il sistema ripropone l'inserimento dei dati
Scenario alternativo 4 – Nuovo titolo non valido
5a. Viene restituito un messaggio di errore
6a. Il sistema ripropone l'inserimento dei dati
Priorità di sviluppo: bassa
Frequenza prevista di esecuzione: <5 volte al giorno
Diagramma di attivià:
Documento di Analisi – Gruppo Alpha 17
2.3.11 Visualizzare saldo e movimenti conto
Descrizione: visualizzazione del saldo attuale di un utente registrato e della cronologia dei movimenti da lui
effettuati, intesi come acquisti o cessioni di titoli e valute, o eventuali depositi e prelievi
Precondizioni: l’utente ha effettuato correttamente il login al sistema, ed appartiene pertanto agli utenti
registrati
Postcondizioni per successo: i dati del conto e gli ultimi movimenti vengono mostrati all’utente
Postcondizioni per fallimento: l’utente visualizza un’opportuna pagina di errore
Evento innescante: richiesta da parte dell’utente del saldo e/o della cronologia dei movimenti.
Documento di Analisi – Gruppo Alpha 18
Attore primario: Utente base
Scenario base
1. L’utente richiede di visualizzare la pagina riepilogativa del suo conto
2. Il sistema instaura la connessione con il database degli utenti
3. Il sistema preleva i dati relativi al conto dell’utente dal database
4. Il report riepilogativo viene creato e mostrato all’utente
Scenario alternativo I – errore nella connessione al database
2. Il sistema non è in grado di effettuare la connessione al database
3. L’utente riceve notifica dell’avvenuto errore e viene invitato a riprovare più tardi
Scenario alternativo II – errore nell’interrogazione del database
3. Si verifica un errore in fase di ottenimento dati dal database (il conto non risulta più valido,
esistente, o la richiesta è malformata)
4. L’utente riceve notifica del problema e viene invitato a riprovare più tardi
Priorità di sviluppo: mediobassa
Frequenza prevista di esecuzione: circa 2 volte al giorno per ogni utente
Diagramma di attivià:
2.3.12 Visualizzare portafoglio
Descrizione: visualizzazione del portafoglio titoli o del portafoglio valute di un utente registrato. All’utente
viene presentato l’elenco dei titoli (o delle valute) in suo possesso, ciascuno con relativo prezzo di acquisto,
valore attuale e variazione percentuale e assoluta tra i due. Inoltre viene visualizzato l’elenco degli ordini di
acquisto o vendita “pendenti”, cioè non ancora effettuati dal sistema.
Precondizioni: l’utente deve aver effettuato correttamente il login.
Postcondizioni per successo: il portafoglio viene mostrato all’utente.
Postcondizioni per fallimento: l’utente visualizza una pagina di notifica degli eventuali errori, oppure il
Documento di Analisi – Gruppo Alpha 19
portafoglio viene visualizzato in maniera parziale.
Evento innescante: un utente registrato richiede la visione del suo portafoglio.
Attore primario: Utente base
Include il caso d’uso: Ottieni quotazione
Scenario base – portafoglio titoli
1. L’utente chiede di visualizzare il suo portafoglio titoli
2. Il sistema instaura la connessione col database
3. Il DB restituisce i dati sui titoli posseduti dall’utente
4. Il DB restituisce i dati sugli ordini ancora inevasi inseriti dall’utente
5. <<include>> Ottieni quotazione: per ogni titolo, il sistema interroga il database delle quotazioni e
ne ottiene il valore attuale
6. Il sistema calcola le variazioni tra valori d’acquisto e valori attuali
7. I dati sono presentati all’utente in modo organico
Variante – portafoglio valute
1a. L’utente chiede di visualizzare il suo portafoglio valute
3a. Il DB restituisce i dati sulle valute possedute dall’utente
5a. <<include>> Ottieni quotazione: per ogni valuta, il sistema interroga il database delle quotazioni
e ne ottiene il tasso di cambio attuale rispetto alla valuta dell’utente
Scenario alternativo I – errore nella connessione al database
2. Il sistema non è in grado di instaurare la connessione col DB
3. L’utente riceve notifica dell’avvenuto errore
Scenario alternativo II – utente non riconosciuto correttamente
3.Si verifica un problema nell’interrogazione del DB (errore del DBMS, richiesta non valida)
4.L’utente riceve notifica dell’avvenuto errore
Scenario alternativo III – impossibile ottenere valori attuali
5. Non è possibile ottenere il valore attuale del titolo o della valuta
6. L’utente visualizzerà nel portafoglio soltanto i valori di acquisto
Scenario alternativo IV – titolo non più esistente
5. Un titolo del portafoglio risulta non essere più esistente
6. L’utente visualizza il valore di acquisto del titolo in questione e un avviso circa la sua cessata
disponibilità. In caso di vendita del titolo, questa avverrà a prezzo pari a zero
Priorità di sviluppo: media
Frequenza prevista di esecuzione: circa 10 volte al giorno per ogni utente
Diagramma di attivià:
Documento di Analisi – Gruppo Alpha 20
2.3.13 Inserire ordine di acquisto titolo/valuta
Descrizione: inserimento da parte dell’utente di un ordine di acquisto di un titolo azionario o di una valuta
straniera. Nel caso dei titoli azionari l’utente può specificare, per un titolo presente in listino, la quantità da
acquistare, il prezzo massimo a cui intende acquistare, ed eventualmente la scadenza dell’ordine. L’ordine
viene quindi inserito nel portafoglio dell’utente come “pendente”, e preso in consegna dal gestore degli ordini.
Nel caso di acquisto di valuta, invece, l’utente specifica solo la quantità, e l’ordine viene inserito nel sistema.
Precondizioni: l’utente deve aver effettuato il login; il titolo o la valuta richieste devono essere tra quelli
presenti in listino.
Postcondizioni per successo: l’ordine di acquisto è stato inserito nel sistema.
Postcondizioni per fallimento: l’ordine non viene inserito nel sistema e l’utente riceve una notifica di
errore.
Evento innescante: richiesta di inserimento dell'ordine di acquisto da parte dell'utente.
Attore primario: Utente base
Include il caso d’uso: Aggiornare portafoglio
Scenario base – acquisto azione
1.Selezionato un titolo azionario, l’utente chiede di inserire un ordine di acquisto
2.L’utente inserisce i dati relativi all’ordine:
a. Quantità
b. Prezzo massimo
c. Scadenza (può essere immediata)
Documento di Analisi – Gruppo Alpha 21
3.L’utente conferma l’operazione
4.<<include>> Aggiornare portafoglio: l’ordine viene inserito come “pendente” nel portafoglio
dell’utente
5.L’utente riceve notifica dell’avvenuto inserimento dell’ordine
Variante – acquisto valuta
1a. Selezionata una valuta straniera, l’utente chiede di inserire un ordine di acquisto
2a. L’utente inserisce i dati relativi all’ordine:
a. Quantità
Scenario alternativo I dati mancanti
2.L’utente dimentica di inserire uno o più dati indispensabili sull’ordine.
3.L’utente riceve notifica dell’errore e viene invitato a inserire i valori mancanti
Scenario alternativo II errore nell'aggiornamento
4.Errore nell’aggiornamento del portafoglio
5.L’utente riceve notifica dell’errore e l’ordine non viene inserito nel sistema
Scenario alternativo III annullamento dell'utente
3.L'utente non conferma l'operazione
4.L'operazione è annullata e l'utente visualizza la home page
Priorità di sviluppo: medioalta
Frequenza prevista di esecuzione: circa 10 volte al giorno per utenti base, molto di più per traders avanzati
Diagramma di attivià:
Documento di Analisi – Gruppo Alpha 22
2.3.14 Inserire ordine di vendita titolo/valuta
Descrizione: inserimento da parte dell’utente di un ordine di vendita di un titolo azionario o di una valuta
straniera. Nel caso dei titoli azionari l’utente può specificare, per un titolo presente in listino, la quantità da
acquistare, il prezzo minimo a cui intende vendere, ed eventualmente la scadenza dell’ordine. L’ordine viene
quindi inserito nel portafoglio dell’utente come “pendente”, e preso in consegna dal gestore degli ordini. Nel
caso di vendita di valuta, invece, l’utente specifica solo la quantità, e l’ordine viene inserito nel sistema.
Precondizioni: l’utente deve aver effettuato il login; il titolo o la valuta richieste devono essere tra quelli
presenti nel portafoglio titoli/azioni dell'utente stesso.
Postcondizioni per successo: l’ordine di vendita è stato inserito nel sistema.
Postcondizioni per fallimento: l’ordine non viene inserito nel sistema e l’utente riceve una notifica di
errore.
Evento innescante: richiesta di inserimento dell'ordine di vendita da parte dell'utente.
Attore primario: Utente base
Include il caso d’uso: Aggiornare portafoglio
Scenario base – vendita azione
1. Selezionato un titolo azionario presente nel portafoglio, l’utente chiede di inserire un ordine di
vendita
2. L’utente inserisce i dati relativi all’ordine:
a. Quantità
b. Prezzo minimo
c. Scadenza (può essere immediata)
3. L’utente conferma l’operazione
4. <<include>> Aggiornare portafoglio: l’ordine viene inserito come “pendente” nel portafoglio
dell’utente
5. L’utente riceve notifica dell’avvenuto inserimento dell’ordine
Variante – vendita valuta
1a. Selezionata una valuta presente nel suo portafoglio, l’utente chiede di inserire un ordine di
vendita.
2a. L’utente inserisce i dati relativi all’ordine:
a. Quantità
Scenario alternativo I dati mancanti
2. L’utente dimentica di inserire uno o più dati indispensabili sull’ordine.
3. L’utente riceve notifica dell’errore e viene invitato a inserire i valori mancanti
Scenario alternativo II errore nell'aggiornamento
4.Errore nell’aggiornamento del portafoglio
5.L’utente riceve notifica dell’errore e l’ordine non viene inserito nel sistema
Scenario alternativo III annullamento dell'utente
3.L'utente non conferma l'operazione
4.L'operazione è annullata e l'utente visualizza la home page
Priorità di sviluppo: medioalta
Frequenza prevista di esecuzione: circa 10 volte al giorno per utenti base, molto di più per traders avanzati
Diagramma di attivià:
Documento di Analisi – Gruppo Alpha 23
2.3.15 Cancellare ordine
Descrizione: cancellazione di un ordine precedentemente inserito dall'utente e non ancora eseguito dal
gestore degli ordini per il mancato verificarsi delle condizioni di soddisfacibilità o per la scadenza del termine
temporale massimo.
Precondizioni: l'utente deve aver effettuato il login, il portafoglio dell'utente contiene almeno un ordine non
ancora eseguito.
Postcondizioni per successo: l'ordine viene cancellato.
Postcondizioni per fallimento: nessun ordine viene cancellato
Evento innescante: Richiesta di cancellazione di un ordine pendente da parte dell'utente
Attore primario: Utente base
Include il caso d’uso: Aggiornare portafoglio
Scenario base
1. L'utente seleziona uno degli ordini pendenti presenti nel suo portafoglio e ne richiede la
cancellazione
2. Se non presente, si instaura la connessione col database
3. L'utente conferma l'operazione
Documento di Analisi – Gruppo Alpha 24
4. <<include>> Aggiornare portafoglio: l'ordine viene cancellato dal portafoglio
5. L'utente riceve notifica della corretta esecuzione dell'operazione
Scenario alternativo I non è possibile effettuare la connessione al database
2. Si riprova per un determinato numero di volte
3. Se i tentativi falliscono, si avvisa l'utente con un appropriato messaggio d'errore
Scenario alternativo II l'utente annulla l'operazione
3. L'operazione non viene effettuata
4. L'utente visualizza nuovamente il suo portafoglio con la lista degli ordini pendenti
Scenario alternativo III errore nell'aggiornamento del portafoglio
4. Si verifica un problema nell'aggiornamento del portafoglio utente
5. L'operazione viene annullata e viene restituito un appropriato messaggio d'errore
Priorità di sviluppo: mediobassa
Frequenza prevista di esecuzione: poche volte al giorno per utenti avanzati, presumibilmente molto
raramente per utenti base.
Diagramma di attivià:
2.3.16 Visualizzare riepilogo ordini
Descrizione: visualizzazione degli ordini precedentemente inseriti dall'utente, e quindi presenti nel
portafoglio, ma non ancora eseguiti dal sistema per il mancato verificiarsi delle condizioni di soddisfacibilità.
Precondizioni: l'utente deve aver effettuato il login.
Documento di Analisi – Gruppo Alpha 25
Postcondizioni per successo: l'utente visualizza il report riassuntivo dello stato dei suoi ordini.
Postcondizioni per fallimento: l'utente visualizza un messaggio d'errore.
Evento innescante: l'utente chiede di visualizzare l'elenco degli ordini non ancora evasi dal sistema
Attore primario: Utente base
Scenario base
1. L'utente richiede il riepilogo degli ordini da lui inseriti
2. Si instaura, se assente, la connessione al database
3. Il sistema mostra all'utente l'elenco degli ordini (di acquisto/vendita di titoli/valute) che il sistema ha
preso in carico ma non ha ancora eseguito
Scenario alternativo I non è possibile effettuare la connessione al database
2. Si riprova per un determinato numero di volte
3. Se i tentativi falliscono, si avvisa l'utente con un appropriato messaggio d'errore
Scenario alternativo II problema dell'interrogazione del database
3. Il sistema non trova i dati dell'utente
4. L'utente viene avvisato dell'errore e invitato a riprovare più tardi
Priorità di sviluppo: mediobassa
Frequenza prevista di esecuzione: poche volte al giorno per ogni utente
Diagramma di attivià:
2.3.17 Ottenere quotazione
Descrizione: costituisce le funzionalità di interfaccia tra il database delle quotazioni ed il resto del sistema.
Restituisce l'ultima quotazione disponibile relativa ad un determinato titolo o valuta, di cui è disponibile il
codice identificativo. Eventualmente possono essere restituiti altri dati, come il volume scambiato o l'orario a
cui si riferisce l'ultima quotazione.
Precondizioni: il sistema di trading è in funzione.
Postcondizioni per successo: i dati richiesti vengono ottenuti e restituiti al caso d'uso chiamante.
Documento di Analisi – Gruppo Alpha 26
Postcondizioni per fallimento: viene restituito un codice d'errore con relative informazioni.
Evento innescante: richiesta da parte di un altro caso d'uso in cui è incluso. Gli utenti, anche per ragioni di
sicurezza, non possono accedere direttamente a questa funzionalità, che non restituisce un output
visualizzabile.
Attore primario: DB Titoli.
Esteso da: Ottenere dati storici (punto di estensione: viene richiesto un set di quotazioni in un intervallo
temporale specificato, piuttosto che l'ultima disponibile)
Incluso da: Visualizzare portafoglio, Gestisci portafoglio virtuale, Visualizzare quotazione titolo/valuta
Scenario base ottenere quotazione istantanea azione
1. Viene ricevuta la richiesta per un titolo azionario
2. Se non presente, si instaura la connessione con il database
3. Si verifica l'esistenza del codice fornito e il mercato a cui appartiene
4. Si ottengono gli orari di apertura del mercato
5. Si verifica che l'orario attuale è all'interno dell'orario di apertura del mercato
6. Si verifica che la differenza tra orario attuale e orario dell'ultima quotazione è inferiore ad un limite
stabilito, che garantisce che il dato sia aggiornato e che dunque il demone di aggiornamento sta
funzionando
7. Si restituiscono la quotazione ed altri dati, qualora richiesti
Variante ottenere quotazione istantanea valuta
1. Viene ricevuta la richiesta per un tasso di cambio tra due valute
2. Se non presente, si instaura la connessione con il database
3. Si verifica l'esistenza del codice identificativo fornito
4. Si restituiscono il tasso di cambio e altri dati aggiuntivi, qualora richiesti
Scenario alternativo I orario attuale al di fuori dall'orario di apertura del mercato
7a. Si restituiscono il prezzo di riferimento (di fine giornata) e altri dati, se richiesti
Scenario alternativo II quotazione non aggiornata
7. Viene avvertito l'amministratore del possibile malfunzionamento del demone di aggiornamento
8. Viene restituito un codice d'errore opportuno
Scenario alternativo III non è possibile effettuare la connessione al database
2. La connessione viene ritentata un numero prestabilito di volte
3. Se non ha successo, si restituisce un codice d'errore opportuno
Scenario alternativo IV codice non trovato o errore nell'interrogazione
3. Errore nell'interrogazione del database: la richiesta è malformata o il titolo non più esistente
4. La richiesta non può essere soddisfatta e viene restituito un messaggio d'errore
Priorità di sviluppo: alta
Frequenza prevista di esecuzione: centinaia per ogni ciclo di aggiornamento del database delle quotazioni
Note: massima ottimizzazione richiesta
Diagramma di attivià:
Documento di Analisi – Gruppo Alpha 27
2.3.18 Aggiornare portafoglio
Descrizione: Il portafoglio consiste essenzialmente in un elenco di titoli con associato il valore di acquisto ed
altre informazioni, suddivisi in "posseduti" e "ordini" (quelli per cui è stata ordinata la vendita o l'acquisto). La
procedura riceve in input le informazioni sul titolo (o valuta) da trattare e sull'azione da compiere, e si occupa
di aggiungerlo o eliminarlo dall'elenco dei titoli posseduti o in attesa. Quando un titolo entra o esce
dall'elenco di quelli posseduti, viene aggiornato il conto dell'utente, calcolando guadagni o perdite.
Precondizioni: lo stato del portafoglio di un utente è cambiato in seguito all'inserimento, alla cancellazione
o all'esecuzione di ordini; il titolo/valuta in questione appartiene a quelli contrattabili dall'utente.
Postcondizioni per successo: il portafoglio dell'utente è stato aggiornato conformemente alle sue richieste
o allo stato di esecuzione degli ordini. Se necessario, anche il conto corrispondente è stato aggiornato.
Postcondizioni per fallimento: viene restituito un opportuno codice d'errore con relative informazioni o, a
seconda dei casi, il problema viene notificato all'amministratore.
Evento innescante: richiesto da un altro caso d'uso da cui è incluso
Attore primario: DB ContiPortafogli
Incluso da: Inserire ordine acquisto titoli/valute, Inserire ordine vendita titoli/valute, Cancellare ordine
Documento di Analisi – Gruppo Alpha 28
Include: Aggiornare conto
Variante I aggiunta ordine
1.Vengono ricevuti gli estremi dell'ordine (tipo: acquisto/vendita, titolo, prezzo, scadenza)
2.Se non presente, si instaura la connessione al database
3.Le informazioni sul titolo/valuta in questione vengono inserite nella lista degli ordini in sospeso
Variante II cancellazione ordine
1. Viene ricevuto il codice identificativo dell'ordine da rimuovere
2. Se non presente, si instaura la connessione al database
3. L'ordine corrispondente viene rimosso dal portafoglio
Scenario alternativo cancellazione ordine
1. Il codice dell'ordine è errato / ordine non trovato
2. Viene resituito un codice d'errore
Variante III aggiornamento esecuzione ordine d'acquisto
1. Vengono ricevuti dal gestore degli ordini i dati sull'ordine appena eseguito (identificativo ordine,
quantità, prezzo)
2. Se non presente, si instaura la connessione al database
3. <<include>> Aggiornare conto: il conto dell'utente viene aggiornato sottraendo un valore pari a
(q.tà acquistata)*(prezzo d'acquisto)
4. L'ordine d'acquisto pendente viene aggiornato sottraendo la quantità acquistata alla quantità totale
richiesta
5. Se le due quantità coincidono, l'ordine pendente, ora completamente evaso, viene cancellato
6. Il titolo, con la quantità acquistata e il prezzo, viene aggiunto alla lista dei titoli posseduti
Variante IV aggiornamento esecuzione ordine di vendita
1. Vengono ricevuti dal gestore degli ordini i dati sull'ordine appena eseguito (identificativo ordine,
quantità, prezzo)
2. Se non presente, si instaura la connessione al database
3. <<include>> Aggiornare conto: il conto dell'utente viene aggiornato aggiungendo un valore pari a
(q.tà ceduta)*(prezzo di vendita)
4. L'ordine di vendita pendente viene aggiornato sottraendo la quantità venduta alla quantità totale
da vendere
5. Se le due quantità coincidono, l'ordine pendente, ora completamente evaso, viene cancellato
6. La quantità posseduta del titolo corrispondente viene aggiornata
7. Se questa quantità è pari a quella totale, il titolo viene cancellato dal portafoglio
Scenario alternativo I errore nella connessione al database
2. La connessione viene ritentata un numero prestabilito di volte
3. Se non ha successo, viene restituito un messaggio d'errore
Scenario alternativo II parametri della richiesta non riconosciuti
1. Viene restituito un codice d'errore con relative informazioni
Scenario alternativo III errore nell'aggiornamento del conto
3. L'operazione viene annullata e il portafoglio non viene modificato
4. Viene restituito un codice d'errore con relative informazioni
Priorità di sviluppo: alta
Frequenza prevista di esecuzione: molto alta, fino a decine di volte al giorno per utente
Diagramma di attivià:
Documento di Analisi – Gruppo Alpha 29
2.3.19 Aggiornare conto
Descrizione: il caso d'uso viene attivato in seguito all'esecuzione di un ordine da parte del gestore degli
ordini, che ne ha già verificato la sua fattibilità economica. In seguito a questo evento, viene aggiornato il
portafoglio e conseguentemente il conto dell'utente, accreditando o addebitando i guadagni o le perdite
dovute alle varie transazioni.
Precondizioni: il conto corrisponde ad un utente registrato del sistema; l'utente corrispondente ha inserito
in precedenza almeno un ordine;
Postcondizioni per successo: il conto dell'utente risulta aggiornato
Postcondizioni per fallimento: viene restituito un messaggio d'errore e il conto rimane nel suo stato
precedente
Evento innescante: realizzazione di una transazione economica per un utente (acquisto o vendita
titoli/valute, depositi, prelievi)
Attore primario: DB ContiPortafogli
Incluso da: Aggiornare portafoglio
Scenario base
1.Vengono ricevuti gli estremi dell'conto e l'importo (positivo o negativo) da considerare
2.Se non presente, si instaura la connessione con il database
3.L'importo viene sommato (o sottratto) al saldo dell'utente e vengono aggiornate eventuali
informazioni ausiliarie (log delle transazioni, ecc..)
Scenario alternativo I impossibile collegarsi al database
Documento di Analisi – Gruppo Alpha 30
2. Si ritenta la connessione per un numero predefinito di volte
3. Se non ha successo, viene restituito un messaggio d'errore
Scenario alternativo II errore nell'aggiornamento del database
3. Viene restituito un opportuno codice d'errore e viene annullata la transazione
Priorità di sviluppo: media
Frequenza prevista di esecuzione: medioalta, fino a decine di volte al giorno per utente
Diagramma di attivià:
2.3.20 Ottenere dati storici
Descrizione: ottenere dal database e restituire le quotazioni giornaliere relative all'andamento di un titolo (di
cui è disponibile il codice identificativo) in uno specificato intervallo temporale. Una quotazione giornaliera
comprende i dati: prezzo di apertura (open), prezzo massimo (high) , prezzo minimo (low), prezzo di
chiusura (close) e volume.
Precondizioni: l'intervallo temporale specificato deve essere valido
Postcondizioni per il successo: i dati richiesti vengono correttamente ottenuti e restituiti.
Postcondizioni per il fallimento: viene restituito un codice di errore con relative informazioni.
Evento innescante: è attivato, quando necessario, dal caso d'uso "Analisi tecnica" al fine di disegnare i
grafici necessari ed effettuare elaborazioni numeriche su serie storiche.
Attore primario: DB Titoli
Estende: Ottenere quotazione
Incluso da: Visualizzare analisi tecnica
Scenario di base ottenere dati storici
1. se non già presente, si instaura la connessione al database
2. si interroga il DB Titoli per verificare l'esistenza del codice fornito e il mercato a cui appartiene
3. si verifica la validità dell'intervallo temporale
4. si interroga il DB Titoli sulle quotazioni del titolo nel periodo specificato, ordinate cronologicamente
5. si restituiscono i dati ottenuti strutturati in modo adeguato
Documento di Analisi – Gruppo Alpha 31
Variante non sono disponibili quotazioni per l'intero periodo
5a. si restituiscono i dati disponibili e il periodo temporale effettivo a cui fanno riferimento
Scenario alternativo – intervallo temporale non valido
1. viene restituito un codice d'errore opportuno. Il caso d'uso che include questo è responsabile per
la visualizzazione del messaggio d'errore all'utente e per la richiesta di inserire un intervallo
temporale corretto.
Scenario alternativo non è possibile effettuare connessione al database
1. la connessione viene ritentata un numero prestabilito di volte
2. se non ha successo, si restituisce un codice di errore opportuno
Scenario alternativo il titolo relativo al codice fornito non è stato trovato
1. si restituisce un codice di errore opportuno
Priorità di sviluppo: media
Frequenza prevista di esecuzione: > 20 volte al giorno. Funzionalità richiesta da utenti avanzati
Diagramma di attivià:
2.3.21 Gestire portafoglio virtuale
Descrizione: aggiunta e cancellazione di un titolo all'interno di un portafoglio virtuale, utile sia allo scopo di
tenere sotto osservazione un insieme di titoli "preferiti" sia di simulare operazioni di acquisto e vendita per
valutare l'efficacia delle proprie previsioni senza acquistare realmente i titoli e quindi senza movimentare il
proprio conto corrente. All'utente viene presentata una tabella riassuntiva molto simile a quella del caso
d'uso "Visualizzare portafoglio". L'acquisto e la vendita simulate sono gestite in modo elementari: sono
possibili solo operazioni sull'intera quantità posseduta e "al meglio", ovvero senza poter definire un prezzo
massimo d'acquisto / minimo di vendita.
Precondizioni: l'utente deve essere di livello avanzato e deve avere effettuato correttamente il login
Postcondizioni per il successo: il portafoglio virtuale viene mostrato all'utente / l'ordine di acquisto o
Documento di Analisi – Gruppo Alpha 32
vendita simulato viene correttamente eseguito
Postcondizioni per il fallimento: nessuna
Evento innescante: richiesta da parte dell'utente avanzato
Attore primario: Utente avanzato
Include: Ottienere quotazione
Scenario di base visualizzare portafoglio virtuale
1. se non già presente, si instaura la connessione al database
2. si interroga il DB ContiPortafogli relativamente ai titoli presenti nel portafoglio virtuale
3. <<include>> Ottieni quotazione: per ogni titolo, il sistema interroga il DB Titoli sull'ultima
quotazione disponibile
4. il sistema calcola le variazioni tra valori d’acquisto e valori attuali
Scenario alternativo acquisto simulato
1. l'utente seleziona il titolo da acquistare e ne inserisce la quantità
2. il DB Titoli verifica l'esistenza del titolo
3. il titolo viene aggiunto nel DB ContiPortafogli, associato al portafoglio virtuale dell'utente
Variante il titolo non è stato trovato o non esistono quotazioni ad esso relative
3a. viene restituito un opportuno codice di errore
Scenario alternativo vendita simulata
1. l'utente seleziona il titolo da vendere
2. il DB Titoli verifica faccia parte del portafoglio virtuale dell'utente
3. il titolo viene rimosso dal DB ContiPortafogli, associato al portafoglio virtuale dell'utente
Variante il titolo non fa parte del portafoglio virtuale dell'utente
3a. viene restituito un opportuno codice di errore
Scenario alternativo non è possibile effettuare connessione al database
1. la connessione viene ritentata un numero prestabilito di volte
2. se non ha successo, si restituisce un codice di errore opportuno
Priorità di sviluppo: bassa
Frequenza prevista di esecuzione: < 10 volte al giorno
Diagramma di attivià:
Documento di Analisi – Gruppo Alpha 33
2.3.22 Visualizzare analisi tecnica
Descrizione: l'utente seleziona un titolo e un intervallo temporale. Il sistema ottiene così dal DB Titoli i dati
storici e ne effettua una serie di elaborazioni, visualizzando informazioni grafiche e numeriche quali:
grafici lineari, candlestick e a barre
rappresentazione di indicatori di trend come trendlines, supporti e resistenze
medie mobili semplici (MMS), esponenziali (MME) e ponderate (MMP)
indicatori quali piste cicliche, bande di Bollinger, Difference of Average (DOA)
Precondizioni: l'utente deve essere di livello avanzato e deve avere effettuato correttamente il login
Postcondizioni per il successo: i grafici e gli indicatori sono correttamente presentati all'utente
Postcondizioni per il fallimento: viene visualizzato un messaggio di errore
Evento innescante: richiesta da parte di un utente
Attore primario: Utente avanzato
Include: Ottieni dati storici
Scenario di base visualizzare analisi tecnica
1. se non già presente, si instaura la connessione al database
2. si interroga il DB Titoli e si verifica l'esistenza del titolo selezionato
3. <<include>> Ottieni dati storici: per ogni titolo, il sistema interroga il DB Titoli e ottiene le
quotazioni per il periodo selezionato
4. viene visualizzato il grafico predefinito (lineare)
5. l'utente sceglie il tipo di analisi da effettuare
6. viene visualizzato il risultato dell'elaborazione
Variante il tipo di analisi non è possibile per il periodo selezionato
6a. viene visualizzato un messaggio d'errore e invitato l'utente a modificare il periodo con un
opportuno suggerimento
Variante il titolo non è stato trovato o non esistono quotazioni ad esso relative
Documento di Analisi – Gruppo Alpha 34
3a. viene restituito un opportuno codice di errore
Scenario alternativo non è possibile effettuare connessione al database
1. la connessione viene ritentata un numero prestabilito di volte
2. se non ha successo, si restituisce un codice di errore opportuno
Priorità di sviluppo: mediobassa
Frequenza prevista di esecuzione: > 20 volte al giorno
Diagramma di attivià:
2.3.23 Aggregare dati storici
Descrizione: al fine di ottimizzare le risorse del database, fortemente sollecitate dalla quantità di quotazioni
inserite periodicamente nel sistema, i dati relativi ad esse vengono aggregati a fine giornata borsistica
secondo le seguenti regole:
le quotazioni intraday vengono eliminate, e sostituite dai prezzi di apertura, chiusura (riferimento), minimo e
massimo della giornata, ottenuti dal fornitore di dati borsa
le quotazioni giornaliere vengono aggregate settimanalmente in quotazioni mensili, mediante media
ponderata sui volumi
Precondizioni: il mercato borsistico per cui s'effettua l'aggregazione deve essere chiuso, il fornitore dati
borsa deve essere disponibile e deve poter resituire la quotazione di fine giornata per ogni titolo
Postcondizioni per il successo: la tabella delle quotazioni intraday deve tornare giornalmente vuota,
quella delle quotazioni giornaliere deve tornare vuota il primo giorno di ogni mese.
Postcondizioni per il fallimento: le condizioni per il successo non si verificano
Evento innescante: la funzionalità viene attivata periodicamente da due timer (a scadenza giornaliera e
mensile) innescati e controllati dal demone di aggiornamento.
Attore primario: DB Titoli
Scenario di base aggregare dati storici
1. se non già presente, si instaura la connessione al database
2. si ottengono gli orari di apertura del mercato
3. si verifica che l'orario attuale non sia all'interno dell'orario di apertura del mercato
4. si richiede al fornitore dati borsa la quotazione di fine giornata per ogni titolo
5. si inserisce nella tabella delle quotazioni giornaliere
6. si verifica se il giorno corrente è quello di fine mese. Se è così, per ogni titolo:
Documento di Analisi – Gruppo Alpha 35
6.1 si calcola la media ponderata sui volumi
6.2 si inserisce il dato aggregato nelle quotazioni mensili
6.3 si svuota la tabella delle quotazioni giornaliere
Scenario alternativo il mercato è ancora aperto al momento dell'aggregazione
3. il timer è mal configurato. Si informa l'amministratore del sistema dell'errore
Scenario alternativo non è possibile effettuare connessione al database
1. la connessione viene ritentata un numero prestabilito di volte
2. se non ha successo, si restituisce un codice di errore opportuno
Priorità di sviluppo: media
Frequenza prevista di esecuzione: 1 volta al giorno + 1 volta al mese
Diagramma di attivià:
2.3.24 Aggiornare quotazioni
Descrizione: le quotazioni dei titoli sono accessibili mediante il fornitore dati di borsa. Per garantire migliori
prestazioni ed evitare un sovraccarico di richieste a questo servizio, si utilizza una sorta di "cache"
rappresentata dal DB Titoli che contiene le quotazioni di tutti i titoli trattati ottenuti dal fornitore con cadenza
periodica, settata a livello di parametri del sistema e fissata a 15min come default. I dati vengono ottenuti
mediante un parser dei messaggi di risposta ottenuti che funge da interfaccia tra il sistema e il fornitore.
Precondizioni: il mercato borsistico per cui s'effettua l'aggregazione deve essere aperto, il fornitore dati
borsa deve essere disponibile e deve poter restituire la quotazione istantanea per ogni titolo
Postcondizioni per il successo: un nuovo record per ogni titolo deve essere aggiunto nella tabella delle
quotazioni intraday
Postcondizioni per il fallimento: nessun nuovo record inserito
Evento innescante: la funzionalità viene attivata periodicamente da un timer innescato e controllato dal
Demone di Aggiornamento.
Documento di Analisi – Gruppo Alpha 36
Attore primario: Fornitore dati borsa
Scenario di base aggiornare quotazioni
1. se non già presente, si instaura la connessione al database
2. si richiede al fornitore dati borsa la quotazione istantanea per ogni titolo
3. si inserisce la quotazione nella tabella delle quotazioni intraday
Scenario alternativo il mercato è chiuso al momento dell'aggiornamento
1. il timer potrebbe essere mal configurato. Si informa l'amministratore del sistema del possibile
errore
2. si ottiene e inserisce nel DB Titoli la quotazione giornaliera
Scenario alternativo non è possibile effettuare connessione al database
1. la connessione viene ritentata un numero prestabilito di volte
2. se non ha successo, si restituisce un codice di errore opportuno
Scenario alternativo non è possibile contattare il fornitore dati borsa o ottenere quotazioni
aggiornate
1. si informa l'amministratore del sistema dell'errore
Priorità di sviluppo: molto alta
Frequenza prevista di esecuzione: estremamente alta: > 4 volte ogni ora per ogni titolo. Massima
ottimizzazione richiesta
Diagramma di attivià:
2.3.25 Eseguire ordini acquisto/vendita
Descrizione: a intervalli regolari, in linea di principio coincidenti con l'aggiornamento dati borsa e quindi con
l'ottenimento di nuove quotazioni intraday, viene verificato se è possibile soddisfare gli ordini pendenti di
acquisto e vendita. Nell'eseguire gli ordini di acquisto, viene verificato se sul conto ci sono i fondi necessari a
completare l'operazione.
Oltre a verificare le condizioni di prezzo minimo e massimo, viene controllato che l'ordine pendente non sia
giunto a scadenza. In quest'ultimo caso l'ordine viene rimosso.
Precondizioni: l'utente deve aver effettuato correttamente il login, deve avere ordini pendenti e fondi
sufficienti in caso di ordine di acquisto
Documento di Analisi – Gruppo Alpha 37
Postcondizioni per il successo: gli ordini vengono evasi, rimossi o rimangono in attesa
Postcondizioni per il fallimento: viene visualizzato un messaggio di errore
Evento innescante: timer periodico del demone di aggiornamento. L'utente o altri casi d'uso non possono
richiamare direttamente questa funzionalità
Attore primario: Demone di aggiornamento
Include: Aggiornare portafoglio
Scenario di base verificare ordini pendenti
1. se non già presente, si instaura la connessione al database
2. per ogni utente si ottiene l'elenco degli ordini pendenti
3. se l'elenco non è vuoto, per ogni ordine:
3.1 si verifica che l'ordine sia ancora valido (non scaduto)
3.2 si verifica che le condizioni di acquisto/vendita siano rispettate
3.3. <<include>> Aggiornare portafoglio si effettua l'ordine
3.4 si da conferma all'utente con una mail dell'avvenuta esecuzione dell'ordine
Variante eseguire ordine d'acquisto
3.2a si verifica che il prezzo di acquisto stabilito sia minore o uguale alla quotazione corrente
3.3a si calcola l'importo totale richiesto per l'operazione
3.4a si verifica che l'importo sia disponibile sul conto corrente
Variante eseguire ordine di vendita
3.2b si verifica che il prezzo di vendita stabilito sia maggiore o uguale alla quotazione
corrente
Scenario alternativo ordine corrente scaduto
1. l'ordine viene cancellato
2. si informa l'utente con una mail che non è stato possibile effettuare l'ordine d'acquisto nei tempi
previsti
Scenario alternativo disponibilità del conto non sufficiente ad effettuare operazione di acquisto
1. l'ordine viene cancellato
2. si informa l'utente con una mail che i fondi sul conto corrente sono esauriti
Scenario alternativo non è possibile effettuare connessione al database
1. la connessione viene ritentata un numero prestabilito di volte
2. se non ha successo, si restituisce un codice di errore opportuno
Priorità di sviluppo: medioalta
Frequenza prevista di esecuzione: pari (o superiore) alla frequenza di aggiornamento titoli
Diagramma di attivià:
Documento di Analisi – Gruppo Alpha 38
Documento di Analisi – Gruppo Alpha 39
3 Classi
3.1 Introduzione
In questa sezione del documento prendiamo in esame una vista strutturale statica del sistema,
descritta mediante il diagramma delle classi, che fornisce una rappresentazione d'insieme delle entità
principali, delle loro proprietà e delle relazioni che le collegano.
Nello specifico, quindi, il seguente diagramma illustra le classi entity, che compongono il modello
statico del sistema nel rispetto del pattern architetturale MVC (Model View Controller). La descrizione delle
singole classi si limita all'elencazione dei loro principali attributi, mentre il dettaglio dei metodi (così come le
classi boundary e control) viene rimandato alla fase di progettazione.
Di seguito sono riportate le note esplicative per una più agevole comprensione delle classi più
importanti.
Documento di Analisi – Gruppo Alpha 40
Documento di Analisi – Gruppo Alpha 41
3.2 Dettaglio delle classi
3.2.1 Utente
3.2.1.1 Attributo “Tipo”
Descrizione: contiene una informazione che individua la tipologia a cui appartiene l'utente.
Possibili valori:
● Guest
● Amministratore
● Utente base
● Utente avanzato
vedi casi d'uso per spiegazioni dettagliate.
Scelte progettuali: sì è deciso di evitare la generalizzazione della classe Utente, poiché le
differenze tra le classi figlie sono minime (almeno in questa fase, in cui è necessario definire i soli
attributi).
3.2.1.2 Associazioni con “Ordine”, “Conto” e “Portafoglio”.
Scelte progettuali: per tutte e tre le associazioni si realizzano delle relazioni parziali. Infatti per un
utente (Guest ad esempio) non è detto che esista un Conto associato, così neanche un Ordine o
un Portafoglio.
3.2.2 Ordine
3.2.2.1 Attributo “Tipo”
Descrizione: contiene una informazione che individua il tipo di ordine in questione
Documento di Analisi – Gruppo Alpha 42
Possibili valori:
● Acquisto al meglio
● Acquisto con prezzo massimo (stoporder)
● Vendita al meglio
● Vendita a guadagno minimo (takeprofit)
● Vendita a perdita massima (stoploss)
3.2.2.2 Attributo “Stato”
Descrizione: contiene un dato che individua lo stato dell'ordine
Possibili valori:
● Da concordare: indica che l’ordine è stato ricevuto dal sistema e che deve essere
accordato per l’immissione sul mercato
● Immesso: indica che l’ordine è stato inviato con successo sul mercato.
● Eseguito: quando il contratto (di acquisto o vendita) è stato concluso nel mercato.
● Eseguito parziale: indica che l’ordine è stato eseguito solo in parte e che sul mercato
rimane la parte rimanente in attesa di essere eseguita.
● Rifiutato: l’ordine è stato rifiutato dal broker online, di solito perché non soddisfa i requisiti
richiesti (quantità, disponibilità fondi).
● Revocato: l’ordine è stato cancellato dall’utente.
● Scaduto: l’ordine ha raggiunto il termine di validità senza essere stato eseguito e quindi è
stato rimosso dal mercato.
3.2.3 Movimento
3.2.3.1 Attributo “Data Valuta”
Descrizione: giorno a partire dal quale l'importo di un operazione è effettivamente disponibile. Può
essere differente dall'attributo data, che indica la data di contabilizzazione dell'operazione stessa.
Questa discrepanza genera problemi per quanto riguarda il calcolo degli interessi e la valutazione
di scoperto sul conto corrente.
3.2.3.2 Associazione con “Compravendita”
Descrizione: una compravendita di titoli (azioni o valute) deve necessariamente generare un
movimento finanziario sul conto corrente. Questa è tuttavia una associazione parziale, in quanto un
movimento può non essere associato ad una compravendita di titoli, ma ad una operazione di
Documento di Analisi – Gruppo Alpha 43
diversa natura (prelevamento, versamento, addebito ritenute fiscali, bonifici ecc.)
3.2.4 Conto
3.2.4.1 Attributo “Regime fiscale”
Descrizione: valore che individua se il regime fiscale con cui opera il conto corrente, secondo la
normativa vigente sulla tassazione delle rendite finanziarie del 1998 (la cosiddetta "Riforma sul
Capital Gain"). La scelta, effettuata dall'utente in fase di apertura del conto corrente, implica il
calcolo e l'applicazione o meno della ritenuta fiscale del 12,50% sulle rendite da compravendita di
azioni e valuta.
Possibili valori:
● Regime ordinario (dichiarativo): il sistema non applicherà nessuna ritenuta. L'utente
provvederà autonomamente a inserire la rendita nella propria dichiarazione dei redditi.
● Regime amministrato: il sistema applicherà la ritenuta fiscale del 12,50%
3.2.4.2 Attributo “Valuta di riferimento”
Descrizione: indica la valuta in cui è tenuto il conto corrente. Influenza su valori visualizzati in tutti i
movimenti, nonché il controvalore corrispondente ad una certa quotazione di una valuta.
3.2.4.3 Attributi derivati
Il saldo è un attributo derivato che si ottiene mediante somma di tutti gli importi dei movimenti in
dare e differenza con la somma di tutti gli importi in avere.
3.2.4.4 Associazione con “Movimento”
Scelte progettuali: si suppone la relazione di tipo completa, ovvero ad ogni conto corrisponde
almeno uno (o più) movimenti. Questo perché la costituzione del conto avviene con un versamento
iniziale e dunque c'è sempre almeno un movimento.
3.2.5 Portafoglio
Nota: la classe portafoglio e le sue classi derivate non hanno attributi specifici. Tuttavia la
Documento di Analisi – Gruppo Alpha 44
generalizzazione è giustificata dal numero di metodi che verranno ad essa associati e
opportunamente ridefiniti nelle classi figlie.
3.2.5.1 Associazione con “Utente”
Descrizione: l'associazione è di tipo parziale. Non necessariamente un utente avrà associati dei
portafogli (ad esempio per l'utente guest) così come non necessariamente ne avrà associati 3 (ad
esempio l'utente base non può utilizzare il portafoglio virtuale).Dunque possono essere associati
ad ogni utente da 0 a 3 portafogli.
3.2.6 Titolo
Descrizione: è la classe centrale di tutto il sistema. Contiene informazioni descrittive su un titolo
(azione o valuta) come il nome e il codice di riferimento. Inoltre, attraverso le sue associazioni,
contiene dei riferimenti al segmento (e quindi al mercato) a cui appartiene nonché all'ultima
quotazione per esso disponibile.
3.2.6.1 Aggregazione di “Quotazione”
Scelte progettuali: si è scelto di definire l'associazione tra classe Titolo e quella Quotazione come
una aggregazione mediante il ruolo “è la più recente disponibile”. Dunque in Titolo a livello
implementativo sarà riportato un attributo di nome UltimaQuotazione, di tipo Quotazione. Si è posta
in essere questa scelta poiché le quotazioni più vecchie, non associate al titolo come
UltimaQuotazione, continuano ad esistere come quotazioni storiche.
3.2.7 Quotazione
Documento di Analisi – Gruppo Alpha 45
Descrizione: rappresenta il prezzo di un titolo (azione o valuta) ottenuta attraverso il fornitore dati
borsa e archiviata nel DB Titoli (vedi casi d'uso)
Scelte progettuali: si è scelto di effettuare le seguenti generalizzazioni:
● Quotazione → Quotazione Azione / Quotazione Valuta
in quanto la quotazione di una azione contiene un numero assai superiore di attributi,
irrilevanti per la quotazione di una valuta (espressa dal solo tasso di cambio, equivalente
del prezzo di una azione)
● Quotazione Azione → Quotazione di fine giornata
in quanto rispetto alle quotazioni intraday per quelle di fine giornata si aggiungono due
attributi, prezzo di apertura e prezzo di chiusura. Questa generalizzazione è utile durante
l'elaborazione di certi andamenti (grafici o indicatori) che non possono essere calcolati in
intraday ma richiedono necessariamente le quotazioni di fine giornata (un grafico
candlestick ad esempio)
3.2.7.1 Attributi di “Quotazione Azione”
Prezzo il prezzo di riferimento (intraday o di fine giornata) a cui una azione viene negoziata. A fine
giornata diventa “prezzo ufficiale” ovvero media ponderata dei prezzi registrati durante
una seduta borsistica tenuto conto dei rispettivi volumi di negoziazione.
DenaroLivello di prezzo a cui i compratori di un titolo sono disposti ad acquistare dai venditori. In
inglese bid.
Lettera Livello di prezzo a cui i venditori di un titolo sono disposti a vendere ai compratori. In
inglese ask.
Min Il più basso livello di prezzo registrato nell'intervallo.
Max Il più alto livello di prezzo registrato nell'intervallo.
Volumi Numero di negoziazioni effettuate espresso in quantità di titoli nell'intervallo.
3.2.7.2 Attributi di “Quotazione di fine giornata”
Apertura Prezzo unico stabilito al termine della fase d’asta iniziale che apre le contrattazioni
quotidiane in Borsa.
Chiusura Ultimo prezzo di giornata. In inglese “Closing Sale”.
Riferimento Prezzo di tendenza della seduta borsistica, è in media ponderata dell’ultimo 10% di
contrattazioni in termini di volumi.
3.2.8 Compravendita
Descrizione: è una classe associativa tra Titolo e Descrizione. Contiene informazioni sull'avvenuto
acquisto o vendita di un titolo (azione o valuta) come data, ora, importo (totale) e quantità
acquistata.
Documento di Analisi – Gruppo Alpha 46
3.2.8.1 Associazione con “Quotazione valuta”
Descrizione: durante l'acquisto di un titolo quotato in un mercato avente valuta di riferimento
differente da quella associata al conto, è necessario memorizzare il tasso di cambio in vigore al
momento dell'acquisto, in modo da poter calcolare i profitti realizzati al netto delle variazioni del
tasso di cambio.
Scelte progettuali: l'associazione è di tipo parziale, in quanto ad una quotazione valuta non
corrisponde necessariamente una compravendita (mentre è vero il contrario).
3.2.9 Indice
Descrizione: rappresenta un insieme di titoli su cui è applicata una certa formula per ricavare un
indicatore di riferimento.
Scelte progettuali: è una relazione di tipo parziale, in quanto non necessariamente un titolo fa
parte di un indice. Tuttavia è di tipo moltiamolti, visto che un titolo può far parte di più indici e,
ovviamente, un indice è composto da più titoli.
3.2.9.1 Attributi derivati
Il valore di riferimento dell'indice, espresso in forma percentuale o assoluta, è un attibuto derivato
ottenuto attraverso un metodo che sarà dettagliato in fase di progetto e che applica una certa
formula all'elenco dei titoli facenti parte dell'indice.
3.2.10 Mercato
Descrizione: rappresenta una sottodivisione di una sede borsisitica nel mondo. Ad esempio l'MTA
di Piazza Affari di Milano, lo Small Cap Market del NASDAQ di New York ecc.
3.2.10.1 Composizione di “Segmento”
Ogni mercato è solitamente composto da più segmenti in cui i titoli vengono raggruppati a seconda
di determinati criteri (quasi sempre la capitalizzazione delle imprese). Ad esempio, per quanto
riguarda l'MTA di Piazza Affari, ci sono i segmenti Blue Chip, Star e Standard (classe 1 e 2).
Questa suddivisione è necessaria perché ogni mercato ha degli orari di contrattazione e di after
hour differenti.
Documento di Analisi – Gruppo Alpha 47
3.2.11 Segmento
Descrizione: ciascuna delle parti da cui è composto un mercato. Solitamente la suddivisione dei
titoli in segmenti è dettata dalla dimensione (in termini di capitalizzazione) delle imprese.
3.2.11.1 Attributo “Calendario Standard”
Descrizione: è una struttura che mantiene informazioni relative agli orari di apertura del segmento
nei vari giorni della settimana. Per alcuni giorni particolari, ad esempio le fesitività, potrebbero
essere previste delle chiusure straordinarie. La rappresentazione di queste eccezioni viene
derogata alla classe “Calendario festivi”.
3.2.12 Calendario festivi
Descrizione: è una struttura che mantiene informazioni sui giorni di chiusura di un certo segmento.
3.2.12.1 Attributi “ora inizio” e “ora fine”
Descrizione: talvolta la chiusura della borsa interessa solo una certa parte della giornata. Per
questo motivo i due orari specificano esattamente da che ora a che ora il segmento rimarrà chiuso.
3.2.13 Andamento
Descrizione: rappresenta un raggruppamento di quotazioni, in un certo periodo temporale, che
costituiscono l'insieme di dati su cui si basa il calcolo di un indicatore o la visualizzazione di un
grafico.
Documento di Analisi – Gruppo Alpha 48
3.2.14 Grafico
Descrizione: è la visualizzazione grafica di un andamento, ovvero di una serie di quotazioni riferite
ad un certo periodo.
3.2.14.1 Associazione ricorsiva
Scelte progettuali: la visualizzazione grafica dell'andamento di un titolo può essere confrontata
con il grafico di un altro titolo. Per questo motivo viene prevista una associazione ricorsive tra
grafici mostrati contemporaneamente in una stessa visualizzazione.
3.2.14.2 Attributo “tipo”
Descrizione: indica il tipo di grafico visualizzato tra i tipi possibili implementati.
Possibili valori: in prima battuta si prevede saranno implementati grafici di tipo:
● lineare
● candlestick
● a barre
3.2.15 Indicatore
3.2.15.1 Attributo “tipo”
Descrizione: indica il tipo di indicatore calcolato ed eventuualmente visualizzato.
Possibili valori: in prima battuta si prevede saranno implementati indicatori di tipo:
● trendlines
● supporti e resistenze
Documento di Analisi – Gruppo Alpha 49
● medie mobili semplici (MMS), esponenziali (MME) e ponderate (MMP)
● piste cicliche
● bande di Bollinger
● Difference of Average (DOA)
Documento di Analisi – Gruppo Alpha 50