200 likes | 329 Views
Disseny i implementació de la base de dades d’un: Sistema de votació ciutadana a nivell Europeu a través d’Internet Juan Pedro Matallana García Enginyeria Tècnica Informàtica de Gestió Ismael Pérez Laguna Consultor de TFC 15 de Gener de 2012 Data Lliurament. Índex. Introducció
E N D
Disseny i implementació de la base de dades d’un: Sistema de votació ciutadana a nivell Europeu a través d’Internet Juan Pedro Matallana García Enginyeria Tècnica Informàtica de Gestió Ismael Pérez Laguna Consultor de TFC 15 de Gener de 2012 Data Lliurament
Índex • Introducció • Justificació i objectius • Planificació • Productes obtinguts • Disseny de la Base de Dades • Disseny conceptual • Disseny lògic • Disseny físic • Implementació del producte final • Pla de proves • Funcionals • Tractament d’errors • Pla de contingències • Anàlisi de recursos i econòmica • Conclusions
Introducció I • Justificació • Raons per les quals s’ha escollit aquesta disciplina: • Recorregut acadèmic orientat a la programació. • Obligar-me a aprofundir en la matèria. • Les BBDD són una eina fonamental dins la programació. • El mon de les BBDD em resulta personalment atractiu. • Raons que expliquen la necessitat d’un projecte com aquest: • Hi han electors que no poden accedir als col·legis. • Foment de la participació. • Afavorir la interacció ciutadana amb l’administració. • Disponibilitat immediata de resultats. • Estandarditzar la BD de l’administració. • Estalvi en el manteniment.
Introducció II • Objectiu • General, de tot TFC: • Consolidació dels coneixements adquirits durant la carrera. • Posar en pràctica les metodologies apreses. • Conèixer un SGBD de gran implantació comercial. • Assajar en la redacció de textos formals. • Específic, d’aquest projecte en particular: • Disseny d’una BD segons els requeriments de l’enunciat. • Traslladar aquest disseny a l’SGBD Oracle. • Redacció de la memòria del projecte. • Exposar amb una presentació el resultat final. • Funcional, d’aquesta BD: • Gravar, editar i esborrar dades relacionades amb les Votacions utilitzant procediments. • Generar estadístiques i llistats. • Documentar la feina feta.
Introducció III • Planificació • Fites orientades al lliurament de les PAC: • Treball en 4 etapes seguint el mètode en cascada. • Repartiment del temps en funció de les fites: • Productes resultants • Carpeta d’instal·lació amb scripts per la creació i inici de la BD. • Carpeta de desinstal·lació amb l’script per eliminar tot el projecte. • Carpeta de Joc de proves amb els tests de funcionament. • Arxiu amb la memòria a més de la presentació.
--- Creació de la taula Estat CREATETABLE ESTAT( codi VARCHAR2(4)CONSTRAINT PK_ESTAT PRIMARYKEY, nom VARCHAR2(50)CONSTRAINT NN_LOCALITAT_nom NOTNULL, CONSTRAINT UN_ESTAT UNIQUE(nom) ); Disseny • Disseny conceptual • Diagrama ER • Disseny lògic • Digrama Relacional • Disseny físic • Scripts de creació
Disseny I • Disseny conceptual • En base als requeriments del client localitzem les possibles entitats: • Determinem quins objectes tenen entitat pròpia: • Votació, Opció, Ciutadà, Cens, etc. • Seguint el mateix mètode es determinen quines seran les interrelacions: • S’indica quines interrelacions existeixen entre les entitats: • Cens <Assignat> Votació. • Es determina quin és seu el grau d’interrelació: • Cens[1..n]< Assignació (Data) >[1..m]Votació. • S’esbrina quins atributs corresponen a cada entitat i la clau que l’identifica: • Opció: • Codi, votació_títol, descripció, vots_absoluts, vots_relatius. • L’esquema general queda complert amb el diagrama ER:
Disseny II • Disseny lògic • Traducció d’entitats i interrelacions a relacions: • Cens [1..n]< Assignació (Data) > [1..m] Votació. • ASSIGNACIÓ(Cens.nom, Votacio.titol, data, votants, vots, participacio) • S’inclouen al model restriccions per garantir la coherència de les dades: • {CENS.nom} Clau forana fa referència a un Cens. • {VOTACIÓ.títol} Clau forana fa referència a una Votació. • {data} Valor per defecte: avui. • El diagrama relacional dona una visió global d’aquesta fase de disseny:
Disseny III • Disseny físic • He tingut en compte per la creació de les taules a l’SGBD Oracle 10: • Els arguments que l’han de definir. • El tipus de cadascun. • Restriccions d’integritat que els afecten directament. • Una taula ens serveix per avaluar la qualitat dels requeriments: • Es mostra com s’han construït i com funcionen tots els procediments: • Es mostra els paràmetres d’entrada i sortida de cadascun. • Les precondicions i les postcondicions per executar-los. • Funcionament intern pas a pas.
Implementació I • S’ha creat una codificació especial per les claus primàries: • Clau per les taules: País, Regió i Localitat: • Clau per les taules : Cens Estatal, Regional i Local: • Claus per la taula : Estadístiques Agrupades:
Estructura del Producte Final • Memòria.pdf • Presentació.pps • Producte • Desinstalacio • 00-Esborrar_Projecte.sql • Instalacio • 01-Creacio_Taules.sql • 02-Procediments.sql • 03-Introduccio_Dades.sql • Joc_Proves • 01-Proves_Alta_Correctes.sql • 02-Proves_Modificacio_Correctes.sql • 03-Proves_Votar_{VotacióTitol}_Correcte.sql • 04-Proves_Baixa correctes.sql • 05-Proves_Errors.sql • 06-Proves_Llistat_Correctes.sql Implementació II
Implementació III • Instal·lar • Es necessita dins l’Ordinador de treball: • L’Oracle: Ens serveix per crear i servir la BD. • L’SQL-Developer: Per gestionar-la. • El visor de pdf: Ens obrirà l’arxiu amb la Memòria. • El PowerPoint: Ens permetrà obrir la Presentació. • S’haurà de descomprimir a carpeta el contingut de l’arxiu *.zip: • El propi Windows és capaç de fer-ho. • Amb l’SQL-Developer executarem els scripts sobre la BD: • Prèviament haurem creat un usuari amb drets i connectat. • Obrirem en ordre els arxius *.sql amb els scripts de creació. • Es crearan les Taules, les seqüències i els disparadors. • Es crearan els Procediments. • Omplirem les primeres dades incloses als scripts inicials. • El projecte estarà llest per ser provat.
Implementació IV • Desinstal·lar • Amb l’SQL-Developer connectarem a l’usuari de la BD: • Necessitem el nom i contrasenya de l’usuari. • Obrirem l’script 00-Esborrar_Projecte.sql: • S’han de poder executar totes les comandes de l’arxiu. • En aquests moments podrem desinstal·lar l’Oracle si ens cal: • Per mitjà d'afegir i treure programari de Windows: • Localitzem les entrades d’Oracle. • Seleccionem eliminar. • Si volem podrem esborrar l’SQL-Developer: • Esborrant la seva carpeta hi ha prou. • En aquest moment el producte estarà completament esborrat.
Pla de proves I • Funcionals • Amb la introducció de les dades inicials provarem la base del disseny: INSERTINTO ESTAT SELECT 'DE', 'Alemania' FROMDUAL UNIONALL SELECT 'A', 'Austria' FROMDUAL; • Uns scripts d’execució automàtica posen a prova els procediments: DECLARE RSP VARCHAR2(200); BEGIN EXECUTE IMMEDIATE ‘PROCEDIMENT(a, b, RSP)’; END; / • Una taula ens mostrarà què es fa i quin és el resultat:
Pla de proves II • Tractament dels errors • S’hauran d’identificar quins són els errors que es poden produir: • Avaluació dels valors buits. • Avaluació dels valors inexistents. • Avaluació dels valors repetits • Avaluació dels valors no permesos. • S’executaran scripts amb proves automàtiques que els reprodueixen: DECLARE RSP VARCHAR2(200); BEGIN EXECUTE IMMEDIATE ‘PROCEDIMENT(a, b, RSP)’; END; / • Amb l’ajut d’una taula avaluarem els resultats:
Pla de contingències • Anàlisi de riscos • Es mostraran possibles situacions de risc: • Mal funcionament o ruptura del maquinari de treball. • Acompanyades de les accions previstes com a solució: • Aprofitaré la meva experiència de tècnic en maquinari. • Resultats de l’anàlisi • No totes les incidències es poden preveure: • El pla ha de ser obert. • Seguiment • La memòria portarà un registre d’incidents amb la solució real aplicada.
Anàlisi I • Anàlisi dels recursos • Serà necessari disposar d’eines de treball adients: • Maquinari: • 2 Pc sobretaula sincronitzats. • 1 Portàtil addicional. • 1 Disc dur USB de recolzament. • Xarxa Intranet amb sortida ADSL per Internet. • Programari: • Windows XP (Entorn virtual), amb Oracle 10 instal·lat. • Office 2003 PIME. • Project 2003. • Hem de tenir en compte les persones: • Director/a de projecte • Administratiu/va • Analista de BD • Programador de BD
Anàlisi II • Anàlisi Econòmic • Cost dels recursos humans: • Cost dels recursos tècnics: • Cost dels recursos materials:
Conclusions • S’han pogut complir tots els terminis de la programació • La previsió d’incidències a funcionat. • He aplicat els principis fonamentals apresos en la carrera: • Dividir els problemes grans en parts petites. • Analitzar-los de forma independent. • Dissenyar una solució. • Implementar-la i provar fins polir defectes. • El producte obtingut funciona • El resultat soluciona els requeriments del nostre client. • La solució proposada és rendible. • S’han complert les meves expectatives inicials • He pogut aprofundir el meu coneixement de gestió en BD. • He guanyat en seguretat i eficiència prenent decisions de disseny. • La meva valoració final és totalment positiva.
Fi de la presentació Gràcies per la seva atenció