21
Josep Unyó Batlles Enginyeria tècnica informàtica de gestió 15 de Juny de 2015 Disseny i implementació de la base de dades d'un sistema de gestió de carteres d'inversió automatitzat Manel Rella Ruiz Tutor

Disseny i implementació de la base de dades d'un sistema ...openaccess.uoc.edu/webapps/o2/bitstream/10609/42724... · Arquitectura Client Lleuger/ Servidor pesat Terminis imposats

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Disseny i implementació de la base de dades d'un sistema ...openaccess.uoc.edu/webapps/o2/bitstream/10609/42724... · Arquitectura Client Lleuger/ Servidor pesat Terminis imposats

Josep Unyó BatllesEnginyeria tècnica informàtica de gestió15 de Juny de 2015

Disseny i implementació de la base de

dades d'un sistema de gestió de carteres d'inversió automatitzat

Manel Rella RuizTutor

Page 2: Disseny i implementació de la base de dades d'un sistema ...openaccess.uoc.edu/webapps/o2/bitstream/10609/42724... · Arquitectura Client Lleuger/ Servidor pesat Terminis imposats

● Requeriments inicials● Anàlisi prèvia● Planificació del projecte● Anàlisi dels requisits● Disseny conceptual● Disseny lògic● Disseny físic● Programació● Proves● Seguretat● Millores futures● Conclusions

ÍNDEX

ESPECIFICACIÓ DEL SISTEMA

ESPECIFICACIÓ DELS REQUISITS

ESPECIFICACIÓ DEL DISSENY

PROGRAMARI

Page 3: Disseny i implementació de la base de dades d'un sistema ...openaccess.uoc.edu/webapps/o2/bitstream/10609/42724... · Arquitectura Client Lleuger/ Servidor pesat Terminis imposats

REQUERIMENTS INICIALS

● BD amb dos parts diferenciades:● Mòdul operacional (TRANSACCIONAL)● Mòdul estadístic (DWH)

● S'implementaran processos ABM● S'implementaran consultes

● Cost constant de les consultes a DWH● Els procediments retornaran paràmetre de

sortida● S'implementaran tractament d'excepcions● Registre d'execució dels procediments

Adaptada a les necessitats d'un broker.

Page 4: Disseny i implementació de la base de dades d'un sistema ...openaccess.uoc.edu/webapps/o2/bitstream/10609/42724... · Arquitectura Client Lleuger/ Servidor pesat Terminis imposats

ESPECIFICACIÓ DEL SISTEMA

Entorn maquinari

Xarxa

Distribució del processamentClient/servidor

ab/cde

Arquitectura Client Lleuger/Servidor pesat

Terminis imposats

Recursos

Riscos

ANÀLISI PRÈVIA

Planificació

Page 5: Disseny i implementació de la base de dades d'un sistema ...openaccess.uoc.edu/webapps/o2/bitstream/10609/42724... · Arquitectura Client Lleuger/ Servidor pesat Terminis imposats

ESPECIFICACIÓ DEL SISTEMA

Previst

Real

CONTROL DESVIACIONSPLANIFICACIÓ

PLANIFICACIÓ

Page 6: Disseny i implementació de la base de dades d'un sistema ...openaccess.uoc.edu/webapps/o2/bitstream/10609/42724... · Arquitectura Client Lleuger/ Servidor pesat Terminis imposats

●Requisits de negoci● Dades de clients● Dades d'accions● Ordres de compra/venda● Cartera de clients● Històrics

ESPECIFICACIÓ REQUISITS

Anàlisi de requisits Què ha de fer?

Col·laboració estreta amb el client

● Requisits funcionals● Procediments ABM● Actualització preus● Consultes operatives● Consultes estadístiques

Page 7: Disseny i implementació de la base de dades d'un sistema ...openaccess.uoc.edu/webapps/o2/bitstream/10609/42724... · Arquitectura Client Lleuger/ Servidor pesat Terminis imposats

ESPECIFICACIÓ DISSENY

Com s'implementarà?

Independent de la plataforma

Esquema conceptual d'alt nivell:ESQUEMA CONCEPTUAL

MODEL ESTÀTIC MODEL DINÀMIC

Descriu l’estructura d'entitats i objectes

Descriu les interaccions i els actors

Anàlisi d'entitats Anàlisi de casos d'ús

Page 8: Disseny i implementació de la base de dades d'un sistema ...openaccess.uoc.edu/webapps/o2/bitstream/10609/42724... · Arquitectura Client Lleuger/ Servidor pesat Terminis imposats

ESPECIFICACIÓ DISSENY

DIAGRAMA CONCEPTUAL Mòdul operacional

Model estàtic Model dinàmic

Page 9: Disseny i implementació de la base de dades d'un sistema ...openaccess.uoc.edu/webapps/o2/bitstream/10609/42724... · Arquitectura Client Lleuger/ Servidor pesat Terminis imposats

ESPECIFICACIÓ DISSENY

TAULES DE DIMENSIONSTAULES DE FETS

CUB MULTIDIMENSIONAL

DIAGRAMA CONCEPTUAL Mòdul estadístic

Model estàtic Model dinàmic

Page 10: Disseny i implementació de la base de dades d'un sistema ...openaccess.uoc.edu/webapps/o2/bitstream/10609/42724... · Arquitectura Client Lleuger/ Servidor pesat Terminis imposats

ESPECIFICACIÓ DISSENY

Model dinàmic

DIAGRAMA CONCEPTUAL Mòdul de control

Model estàtic Model dinàmic

Page 11: Disseny i implementació de la base de dades d'un sistema ...openaccess.uoc.edu/webapps/o2/bitstream/10609/42724... · Arquitectura Client Lleuger/ Servidor pesat Terminis imposats

ESPECIFICACIÓ DISSENY

Dependent de la plataforma: Model

relacional

ESQUEMA LÒGIC

Conjunt de relacionsClaus primàriesClaus alternativesClaus foranesAtributs no nuls

Definim

ESQUEMA CONCEPTUAL

Mòdul operacional

Page 12: Disseny i implementació de la base de dades d'un sistema ...openaccess.uoc.edu/webapps/o2/bitstream/10609/42724... · Arquitectura Client Lleuger/ Servidor pesat Terminis imposats

ESPECIFICACIÓ DISSENY

ESQUEMA LÒGIC

Dependent del SGBD concret: Oracle 11g R2 XE

ESQUEMA FÍSIC

Arquitectura 3 nivells

Definim

Espais virtualsUsuarisTaulesSeqüènciesÍndexsPermisos

Page 13: Disseny i implementació de la base de dades d'un sistema ...openaccess.uoc.edu/webapps/o2/bitstream/10609/42724... · Arquitectura Client Lleuger/ Servidor pesat Terminis imposats

ESPECIFICACIÓ DISSENY

TABLESPACESDATAFILE '/home/vmpep/Documents/tfc/bd_tfc/TFC_DADES_01.dbf' SIZE 50MAUTOEXTEND ON NEXT 500K MAXSIZE 200MBLOCKSIZE 8KEXTENT MANAGEMENT LOCAL AUTOALLOCATESEGMENT SPACE MANAGEMENT AUTO;

OLTP: RECOMANAT 2kB a 8kB vsOLAP: RECOMANAT 16kB a 32KBBLOCKSIZE

EXTENT MANAGEMENT

LOCAL AUTOALLOCATE vsLOCAL UNIFORM SIZE xxK

SEGMENT SPACE MANAGEMENT

AUTO vsMANUAL

DADES OPERACIONALSDADES ESTADÍSTIQUESÍNDEXTEMPORAL

EV definits

Page 14: Disseny i implementació de la base de dades d'un sistema ...openaccess.uoc.edu/webapps/o2/bitstream/10609/42724... · Arquitectura Client Lleuger/ Servidor pesat Terminis imposats

ESPECIFICACIÓ DISSENY

CampsTipus de dadesRestriccions PK, FKRestriccions NOT NULLRestriccions UNIQUERestriccions CHECKTablespace

Definim

No definim.PCTFREE / PCTUSED DEFAULT

DIAGRAMA ER TAULES ORACLE

Mòdul operacional

Mòdul estadístic

Page 15: Disseny i implementació de la base de dades d'un sistema ...openaccess.uoc.edu/webapps/o2/bitstream/10609/42724... · Arquitectura Client Lleuger/ Servidor pesat Terminis imposats

IMPLEMENTACIÓ

PROCEDIMENTSpkg_control.sqlpkg_dwh.sqlpkg_cartera.sqlpkg_ordres.sqlpkg_accions.sqlpkg_clients.sqlpkg_consultes.sqlpkg_consultes_DWH.sqlpkg_utils.sql

DISPARADORS

Definim els procediments i funcions aprofitant les estructures de paquets

Cada paquet agrupa funcionalitats relacionades

Taules d'auditoria

Manteniment automàtic

HISTÒRIC ACCIONSHISTÒRIC CARTERA

TAULA DIMENSIÓ CLIENTSTAULA DIMENSIÓ ACCIONS

Page 16: Disseny i implementació de la base de dades d'un sistema ...openaccess.uoc.edu/webapps/o2/bitstream/10609/42724... · Arquitectura Client Lleuger/ Servidor pesat Terminis imposats

IMPLEMENTACIÓ

PROVES

Es planifiquen les proves per detectar el major nombre d'errors possibles.

Errors propis del sistema valors duplicats, registres no trobats, etcErrors de l'aplicació poques accions disponibles, acció no vendible, etc

Test procedimentsUnicitat ORA-00001Valor null ORA-01400registre inexistent ORA-01403personalitzat

DEPURACIÓ DELS ERRORS

Es criden els diferents procediments, passant paràmetres incorrectes, i capturant l'error esperat.

QUALITAT PRODUCTE

Page 17: Disseny i implementació de la base de dades d'un sistema ...openaccess.uoc.edu/webapps/o2/bitstream/10609/42724... · Arquitectura Client Lleuger/ Servidor pesat Terminis imposats

IMPLEMENTACIÓ

ANÀLISI COSTOS DE LES CONSULTES

Es defineix un índex per complir el requisit de cost constant

CREATE INDEX TF_CARTERAVALORS_IDXON TF_CARTERAVALORS (IDTEMPS DESC)TABLESPACE TFC_IDX;

Page 18: Disseny i implementació de la base de dades d'un sistema ...openaccess.uoc.edu/webapps/o2/bitstream/10609/42724... · Arquitectura Client Lleuger/ Servidor pesat Terminis imposats

IMPLEMENTACIÓ

ANÀLISI COSTOS DE LES CONSULTES

Es defineix un índex per complir el requisit de cost constant

CREATE INDEX TF_ACCIOMESNEGOCIADA_IDXON TF_ACCIOMESNEGOCIADA (IDTEMPS DESC)TABLESPACE TFC_IDX;

Page 19: Disseny i implementació de la base de dades d'un sistema ...openaccess.uoc.edu/webapps/o2/bitstream/10609/42724... · Arquitectura Client Lleuger/ Servidor pesat Terminis imposats

IMPLEMENTACIÓ

SEGURETAT

Tipus de dades

Principis generals de protecció de dades

Llei de protecció de dades de caràcter

personal

Nivell mitjà: ● Dades de caràcter personal● Dades de caràcter financer

Document de seguretat

● Fine-grained access control● Vistes parametritzades● Virtual Private Database (VPD)

Els clients només han de poder accedir a les seves dades

Page 20: Disseny i implementació de la base de dades d'un sistema ...openaccess.uoc.edu/webapps/o2/bitstream/10609/42724... · Arquitectura Client Lleuger/ Servidor pesat Terminis imposats

MILLORES PENDENTS

● AJUST FI DELS TABLESPACES: BLOCKSIZE, EXTENTS, SEGMENTS

● AJUST FI DEL RATIO EMPLENAT DE TAULES: PCTFREE, PCTUSED

● VALORAR NOUS INDEX, SI MILLOREN COST DE CONSULTES

● IMPLEMENTACIÓ DE LA SEGURETAT DE LES DADES

● MODIFICACIÓ TAULES PER ALTRES PRODUCTES FINANCERS

● MODIFICACIÓ DELS PROCEDIMENTS DE

CONSULTA PER TAL QUE RETORNIN REGISTRES COMPLERTS, I NO NOMÉS IMPRESIONS PER PANTALLA

Page 21: Disseny i implementació de la base de dades d'un sistema ...openaccess.uoc.edu/webapps/o2/bitstream/10609/42724... · Arquitectura Client Lleuger/ Servidor pesat Terminis imposats

CONCLUSIONS

● ÉS MOLT IMPORTANT FER UNA RECOLLIDA DE REQUISITS TANT COMPLERTA COM ES PUGUI, JA QUE DETERMINA L'ÈXIT DEL PROJECTE.

● CAL UNA PLANIFICACIÓ DETALLADA DE LES TASQUES. I DURANT EL

TRANSCURS DEL PROJECTE FER UN SEGUIMENT DE L'EVOLUCIÓ, JA QUE PERMET CORREGIR LES DESVIACIONS A TEMPS.

● ÉS ESENCIAL FER L'ESPECIFICACIÓ DEL DISSENY MOLT COMPLERTA, I BEN DOCUMENTADA. ÈS LA GARANTIA DE L'ÈXIT DEL DESENVOLUPAMENT.

● UN PLANTEIG ENCERTAT DE LES PROVES PERMET DETECTAR ERRORS DE PROGRAMACIO NO VOLGUTS I DEPURAR EL CODI. ASSEGURA LA QUALITAT DEL PRODUCTE.

● HE ADQUIRIT UNA VISIÓ CLARA DE LES FUNCIONS I RESPONSABILITATS D'UN DBA.

● M'HA APORTAT EXPERÌENCIA PRÀCTICA EN ASPECTES TRANSVERSALS DE LA GESTIÓ DE PROJECTES