TFC. Gestió d' Assegurances - L'Oberta en Obert:...
Transcript of TFC. Gestió d' Assegurances - L'Oberta en Obert:...
TFC. Gestió d' Assegurances Juan Luis Chávez Lobato - ITIG
Consultor - Joan Vicent Orenga Serisuelo
Gener de 2013
TFC. Gestió d' Assegurances
2
Projecte J2EE
Des de l’any 2004 que em vaig submergir al llenguatge de programació Java, han passat
gairebé 10 anys on he anat aprenent de les diferents tecnologies que s’han presentat.
J2EE forma part del meu món laboral, i és per això que vaig decidir realitzar el treball final de
carrera en aquest àrea tècnica. Cal destacar també altres motius com la facilitat de treballar
amb una tecnologia openSource amb un suport contrastat i documentat.
El principal objectiu ha estat el disseny e implementació de un sistema robust, portable,
usable i senzill, centrat en el negoci de les asseguradores i els peritatges.
Agraïments a les meves persones més properes pel suport diari. Sense ells, no hagués estat
possible. Pel que fa a l’entorn laboral, també agrair les dos empreses que m’han donat
l’oportunitat de formar-me com a professional, Setting Consultoria S.L., INDRA Sistemas.
Finalment també voldria mostrar els meus agraïments al Centre d’Estudis Politècnic (CEP) i al
seu personal docent, ja que van ser les persones que em van introduir al món informàtic.
Juan Luis Chávez Lobato
2 de Gener de 2013
TFC. Gestió d' Assegurances
3
Í N D E X
1. Gestió d’Assegurances ...................................................................................................... 5
2. Planificació del projecte ..................................................................................................... 6
3. Arquitectura del sistema .................................................................................................... 7
3.1. Estructura del projecte AndroMDA ............................................................................... 8
4. Model físic del sistema ...................................................................................................... 9
4.1. Catàleg d’actors ............................................................................................................. 9
4.2. Model de domini ........................................................................................................... 9
4.3. Diagrama de casos d’ús ............................................................................................... 11
4.4. Home ........................................................................................................................... 12
4.5. UC-001-El meu perfil ................................................................................................... 12
4.6. Usuaris ......................................................................................................................... 13
4.6.1. UC-002-Cercar usuaris ............................................................................................. 13
4.6.2. UC-003-Crear nou usuari ......................................................................................... 14
4.6.3. UC-004-Modificar un usuari .................................................................................... 16
4.7. Asseguradores ............................................................................................................. 17
4.7.1. UC-005-Cercar asseguradores ................................................................................. 17
4.7.2. UC-006-Crear una asseguradora ............................................................................. 18
4.7.3. UC-007-Modificar una asseguradora ...................................................................... 19
4.8. Clients .......................................................................................................................... 20
4.8.1. UC-008-Cercar clients .............................................................................................. 20
4.8.2. UC-009-Crear un nou client ..................................................................................... 21
4.8.3. UC-010-Modificar un client ..................................................................................... 22
4.8.4. UC-011-Consultar un client ..................................................................................... 23
4.9. Tipus de sinistre........................................................................................................... 24
4.9.1. UC-012-Cercar tipus de sinistres ............................................................................. 25
4.9.2. UC-013-Crear un nou tipus de sinistre .................................................................... 26
TFC. Gestió d' Assegurances
4
4.9.3. UC-014-Modificar un tipus de sinistres ................................................................... 26
4.10. Parts......................................................................................................................... 27
4.10.1. UC-015-Cercar un part de sinistre ........................................................................... 28
4.10.2. UC-016-Crear un nou part de sinistre ..................................................................... 29
4.10.3. UC-017-Modificar un part de sinistre ...................................................................... 31
4.10.4. UC-018-Tancar un part de sinistre .......................................................................... 32
4.10.5. UC-019-Imprimir un part de sinistre ....................................................................... 33
4.10.6. UC-020-Imprimir una factura .................................................................................. 34
4.10.7. UC-021-Consultar una factura ................................................................................. 35
5. Model físic de dades ........................................................................................................ 36
5.1. Diagrama entitat relació .............................................................................................. 36
5.2. TB_USER ...................................................................................................................... 36
5.3. TB_ROLE ...................................................................................................................... 37
5.4. TB_OPERATION ........................................................................................................... 37
5.5. TB_OPERATIONS_ROLE ............................................................................................... 37
5.6. TB_ROLES_USERS ........................................................................................................ 38
5.7. TB_CLIENT ................................................................................................................... 38
5.8. TB_ASSEGURADORA .................................................................................................... 38
5.9. TB_TIPUS_SINISTRE ..................................................................................................... 38
5.10. TB_PART .................................................................................................................. 39
5.11. TB_FACTURA ........................................................................................................... 39
6. Canvis sobre el disseny inicial ........................................................................................ 40
7. Instal·lació - Requisits ...................................................................................................... 41
7.1. Instal·lació Java ............................................................................................................ 41
7.2. Base de dades MySQL ................................................................................................. 41
7.3. Servidor d’aplicacions Apache Tomcat ....................................................................... 42
8. Esquema de la entrega final ........................................................................................... 45
9. Estudi de costos ............................................................................................................... 46
10. Conclusions ................................................................................................................... 48
11. Bibliografia ..................................................................................................................... 49
TFC. Gestió d' Assegurances
5
1. Gestió d’Assegurances
Gestió d’Assegurances neix l’any 2003 com a necessitat d’informatitzar un negoci dedicat al
peritatge de sinistres. L’empresa Piñol Peritacions S.L. necessita entrar els parts que realitza
amb les diferents companyies per poder facturar mensualment.
Una primera versió es va realitzar fent servir Microsoft Access, formularis, reports, i codi VBA.
A finals del 2006 es veu que aquest sistema queda limitat pel creixement de Piñol Peritacions, i
la necessitat de treballar amb diversos usuaris concurrents. Es va realitzar una reenginyeria i es
va desenvolupar una aplicació J2EE fent servir la primera versió d’Struts, Hibernate i JSP’s. Com
a gestor de base de dades es va fer servir MySQL.
Aprofitant la necessitat de realitzar un projecte J2EE per realitzar el treball de fi de carrera, a
finals de 2012, primers de 2013, neix la darrera versió del sistema de gestió d’assegurances.
Una nova versió molt més vistosa basada en HTML5, Ajax, Bootstrap, on es ús de les noves
versions d’Spring, Hibernate i Struts. El gestor de BBDD es manté en MySQL.
Donada l’homogeneïtat de moltes funcionalitats, s’ha fet servir AndroMDA per modelar i
generar codi J2EE en les tecnologies mencionades anteriorment.
Considerant el volum del producte, i els terminis d’entrega, es va optar per desenvolupar
només els principals mòduls que permeten el treball diari. Posteriorment, es poden
implementar mòduls d’extracció de dades estadístiques, informes e intercanvi de dades amb
asseguradores.
La forma de treballar ha estat seguint el cicle de vida clàssic o en cascada, on a partir d’una
sèrie de requeriments, es van llistar els casos d’ús, es van quantificar en hores, i es van
planificar per arribar a la data d’entrega.
TFC. Gestió d' Assegurances
6
2. Planificació del projecte
A continuació es detalla la planificació sencera del projecte, dividida per les quatre fites o PACs
de les quals es composa.
En total són uns 110 dies de feina aproximàdament.
TFC. Gestió d' Assegurances
7
3. Arquitectura del sistema
El nucli de l’arquitectura del projecte, serà a partir de la tecnologia AndroMDA
(http://www.andromda.org/docs/index.html) basada en la generació de codi a partir de UML.
A partir del disseny dels casos d’ús, es transformaran en codi Java amb un plugin de maven2
per androMDA.
El codi generat farà servir Struts per implementar el patró MVC, Spring (per inversió de
control) al negoci, Hibernate com a gestor de persistència, i Acegi Security per garantir la
seguretat de l’aplicació.
Pel que fa a la capa de presentació, es farà servir el framework JQuery per manegar javascript
de forma molt més dinàmica, combinat amb BootStrap (framework d’estils gratuït de twitter)
per donar un efecte visual més vistós.
Finalment, pel que fa al sistema gestor de bases de dades, es farà servir un MySQL.
TFC. Gestió d' Assegurances
8
3.1. Estructura del projecte AndroMDA
El projecte es divideix en quatre mòduls: MDA, COMMON, CORE i WEB
TFC. Gestió d' Assegurances
9
4. Model físic del sistema
4.1. Catàleg d’actors El sistema està format per tres perfils diferents. L’administrador del sistema, els peritadors, i
els facturadors.
- ADMIN. Aquest rol és l’encarregat de la seguretat i administració d’usuaris del sistema
- PERIT. Aquest rol és l’encarregat de gestionar asseguradores, tipus de sinistres, clients
i parts
- FACTURACIO. Aquest rol s’encarrega de gestionar les factures.
4.2. Model de domini
El subsistema de seguretat es compon de les següents classes i relacions
TFC. Gestió d' Assegurances
10
Pel que fa al nucli del negoci, les classes i relacions són les següents
TFC. Gestió d' Assegurances
11
4.3. Diagrama de casos d’ús
Gestió d’asseguradores Gestió de clients
Gestió de tipus de sinistre Gestió d’usuaris
Gestió de parts Home / El meu perfil
TFC. Gestió d' Assegurances
12
4.4. Home Aquesta serà la pantalla d’accés al sistema, on l’usuari haurà d’introduir el seu identificador i la
seva paraula de pas.
En funció del rol de l’usuari, es carregarà un menú amb les opcions disponibles, i una opció de
‘El meu perfil’, disponible per tots els usuaris.
4.5. UC-001-El meu perfil
4.5.1. Definició funcional
Qualsevol usuari logat a l’aplicació, té a la seva disposició una opció per modificar les seves
dades. Les dades que podrà modificar seran, el seu password, nom, cognoms i adreça. Excepte
l’adreça electrònica, tots els camps són obligatoris.
4.5.2. Diagrama d’activitat i interfície gràfica
TFC. Gestió d' Assegurances
13
4.6. Usuaris
Aquest és el diagrama de classes que intervenen en el subsistema d’usuaris. Són els
controladors per transferir dades de pantalla, i el servei amb les operacions disponibles.
El servei serà l’encarregat de, a partir dels VO, fer una transformació en les classes del domini, i
realitzar l’acció contra la base de dades.
4.6.1. UC-002-Cercar usuaris
4.6.1.1. Definició funcional
La funcionalitat de cerca d’usuaris, permet cercar un usuari del sistema, únicament a usuaris
amb el rol ADMIN.
Els criteris de cerca d’un usuari seran el seu login i rol. El login serà una cerca parcial per
contingut, i el rol serà exacte ja que el seleccionarem d’una llista.
El resultat de la cerca presentarà una llista amb els següents atributs de l’usuari: login, nom i
cognoms.
TFC. Gestió d' Assegurances
14
4.6.1.2. Diagrama d’activitat i interfície gràfica
4.6.2. UC-003-Crear nou usuari
4.6.2.1. Definició funcional
Només els usuaris amb rol ADMIN poden crear nous usuaris al sistema.
Des del cas d’ús de la cerca d’usuaris, pitjant el botó ‘Nou usuari’ s’obre una finestra modal per
fer l’alta. Els camps que haurem d’omplir seran els següents:
- Login: Identificador alfanumèric de l’usuari al sistema. És únic i obligatori. (Es dona
d’alta amb el password = login. Posteriorment cada usuari pot canvir-lo)
- Nom: Nom de l’usuari. És obligatori.
- Cognom 1: Primer cognom de l’usuari. És obligatori.
TFC. Gestió d' Assegurances
15
- Cognom 2: Segon cognom de l’usuari. És obligatori.
- Adreça: Adreça de correu electrònica. És un camp opcional
- Rol: Desplegable amb les tres possibles rols del sistema: ADMIN, PERIT, FACTURACIO
Per defecte el flag d’actiu sempre està seleccionat, per tant a l’alta no el mostrem. S’entén que
sempre volem donar un usuari d’alta per accedir al sistema. Si el volem desactivar, el farem al
cas d’ús de modificació.
4.6.2.2. Diagrama d’activitat i interfície gràfica
TFC. Gestió d' Assegurances
16
4.6.3. UC-004-Modificar un usuari
4.6.3.1. Definició funcional
Només els usuaris amb el rol ADMIN podran modificar una sèrie de dades d’un usuari.
Les dades que pot modificar són el nom, cognoms, l’adreça el rol, i l’indicador d’actiu (Si
desactivem aquest indicador, l’usuari es trobarà de baixa i no podrà accedir al sistema).
Des del cas d’ús de la cerca d’usuaris, un cop feta la cerca, seleccionant un usuari, i pitjant el
botó ‘Modificar’ s’obre una finestra modal per fer la modificació.
El login o userId és un camp únic no modificable. El password només el pot modificar l’usuari
des del seu perfil propi.
4.6.3.2. Diagrama d’activitat i interfície gràfica
TFC. Gestió d' Assegurances
17
4.7. Asseguradores
4.7.1. UC-005-Cercar asseguradores
4.7.1.1. Definició funcional
La cerca d’asseguradores és una funcionalitat exclusivament per usuaris amb rol PERIT. És una
de les opcions de la gestió de mestres.
Únicament tenim un criteri de cerca, pel camp nom de l’asseguradora. La cerca serà del tipus
parcial per contingut.
El resultat presentarà una llista amb les asseguradores que compleixen el criteri de cerca. Es
presentaran tres columnes, el nom de l’asseguradora, la seva descripció i un camp indicador de
si està activa o no, ja que no esborrem mai físicament del sistema, són baixes lògiques.
4.7.1.2. Diagrama d’activitat i interfície gràfica
TFC. Gestió d' Assegurances
18
4.7.2. UC-006-Crear una asseguradora
4.7.2.1. Definició funcional
Per crear una nova asseguradora, de la mateixa forma que al cas anterior, només ho podrem
fer amb un usuari amb rol PERIT.
Des de la cerca d’usuaris anterior, disposem d’un botó ‘Nova asseguradora’. Aquest botó
obrirà una finestra modal, on haurem d’introduir l’únic camp d’aquesta entitat, el seu nom.
Per defecte el flag d’activa sempre està seleccionat, per tant a l’alta no el mostrem.
4.7.2.2. Diagrama d’activitat i interfície gràfica
TFC. Gestió d' Assegurances
19
4.7.3. UC-007-Modificar una asseguradora
4.7.3.1. Definició funcional
Per modificar una asseguradora existent al sistema, caldrà accedir amb un usuari amb el rol
PERIT.
Des del cas d’ús de la cerca d’asseguradores, un cop feta la cerca, seleccionant una
asseguradora, i pitjant el botó ‘Modificar’ s’obre una finestra modal per fer la modificació.
Les dades que podem modificar en aquesta entitat són el seu nom, la seva descripció i
l’indicador d’activa (Si desactivem l’indicador, l’asseguradora no sortirà als desplegables de
l’aplicació. És podrà tornar a activar en qualsevol moment)
4.7.3.2. Diagrama d’activitat i interfície gràfica
TFC. Gestió d' Assegurances
20
4.8. Clients
4.8.1. UC-008-Cercar clients
4.8.1.1. Definició funcional
La cerca de clients és una funcionalitat exclusivament per usuaris amb el rol PERIT.
Per cercar un client farem servir un criteri amb els següents camps:
- DNI. Cerca exacta
- Nom del client. Cerca parcial per contingut
- Primer cognom del client. Cerca parcial per contingut.
- Segon cognom del client. Cerca parcial per contingut.
El resultat presentarà una llista amb les columnes més identificatives del client, el seu DNI,
nom, cognoms i l’indicador de si es troba actiu o no.
TFC. Gestió d' Assegurances
21
4.8.1.2. Diagrama d’activitat i interfície gràfica
4.8.2. UC-009-Crear un nou client
4.8.2.1. Definició funcional
Per crear un nou client, de la mateixa forma que a la cerca, només ho podrem fer amb un
usuari amb el rol PERIT.
Des de la cerca de clients, disposem d'un botó 'Nou client'. Aquest botó obrirà una finestra
modal on haurem d'introduir els següents camps:
- DNI del client. Camp obligatori
- Nom del client. Camp obligatori
- Primer cognom del client. Camp obligatori
- Segon cognom del client. Camp obligatori
- Adreça electrònica.
- Telèfon de contacte.
- Data de naixement.
Per defecte el flag d’actiu sempre està seleccionat, per tant a l’alta no el mostrem.
TFC. Gestió d' Assegurances
22
4.8.2.2. Diagrama d’activitat i interfície gràfica
4.8.3. UC-010-Modificar un client
4.8.3.1. Definició funcional
Per modificar un client existent al sistema, caldrà accedir amb un usuari amb el rol PERIT.
Des del cas d’ús de la cerca de clients, un cop feta la cerca, seleccionant un client, i pitjant el
botó 'Modificar' s'obre una finestra modal per fer la modificació.
Podem modificar qualsevol dada d'un client, i l'indicador d’actiu (Si desactivem l’indicador, el
client no sortirà als desplegables de l'aplicació. És podrà tornar a activar en qualsevol moment)
TFC. Gestió d' Assegurances
23
4.8.3.2. Diagrama d’activitat i interfície gràfica
4.8.4. UC-011-Consultar un client
4.8.4.1. Definició funcional
Per consultar un client existent al sistema, caldrà accedir amb un usuari amb el rol PERIT.
Des del cas d’ús de la cerca de clients, un cop feta la cerca, seleccionant un client, i pitjant el
botó 'Consultar' s'obre una finestra modal amb totes les dades del client.
TFC. Gestió d' Assegurances
24
4.8.4.2. Diagrama d’activitat i interfície gràfica
4.9. Tipus de sinistre
TFC. Gestió d' Assegurances
25
4.9.1. UC-012-Cercar tipus de sinistres
4.9.1.1. Definició funcional
La cerca de tipus de sinistre és una funcionalitat exclusivament per usuaris amb el rol PERIT.
Únicament tenim un criteri de cerca, pel camp nom del tipus de sinistre. La cerca serà del tipus
parcial per contingut.
El resultat presentarà una llista amb els tipus de sinistre que compleixen el criteri de cerca. Es
presentaran dues columnes, el nom del tipus de sinistre, i un camp indicador de si està actiu o
no, ja que no esborrem mai físicament del sistema, són baixes lògiques.
4.9.1.2. Diagrama d’activitat i interfície gràfica
TFC. Gestió d' Assegurances
26
4.9.2. UC-013-Crear un nou tipus de sinistre
4.9.2.1. Definició funcional
Per crear un nou tipus de sinistre, de la mateixa forma que a la cerca, només ho podrem fer
amb un usuari amb el rol PERIT.
Des de la cerca de clients, disposem d'un botó 'Nou tipus sinistre'. Aquest botó obrirà una
finestra modal on haurem d'introduir l’únic camp d’aquesta entitat, el seu nom. Per defecte el
flag d’activa sempre està seleccionat, per tant a l’alta no el mostrem.
4.9.2.2. Diagrama d’activitat i interfície gràfica
4.9.3. UC-014-Modificar un tipus de sinistres
4.9.3.1. Definició funcional
Per modificar un tipus de sinistre existent al sistema, caldrà accedir amb un usuari amb el rol
PERIT.
Des del cas d’ús de la cerca de clients, un cop feta la cerca, seleccionant un client, i pitjant el
botó 'Modificar' s'obre una finestra modal per fer la modificació.
Les úniques dades que podem modificar en aquesta entitat són el seu nom, i l’indicador
d'actiu(Si desactivem l’indicador, tipus de sinistre no sortirà als desplegables de l’aplicació. És
podrà tornar a activar en qualsevol moment)
TFC. Gestió d' Assegurances
27
4.9.3.2. Diagrama d’activitat i interfície gràfica
4.10. Parts
TFC. Gestió d' Assegurances
28
4.10.1. UC-015-Cercar un part de sinistre
4.10.1.1. Definició funcional
La cerca de parts és una funcionalitat exclusivament per usuaris amb el rol PERIT.
Per cercar un part farem servir un criteri amb els següents camps:
- Codi part. Cerca exacta. Identificador intern de la companyia per numerar els parts.
- Asseguradora. Cerca exacta. Es selecciona d'un desplegable d'assegurades actives.
- Client. Cerca exacta. Es selecciona d'un desplegable de clients actius.
- Tipus de Sinistre. Cerca exacta. Es selecciona d'un desplegable de tipus de sinistres
actius.
- Data del sinistre. Cerca exacta.
- Obert. Indicador de si el part el tenim obert o facturat.
El resultat presentarà una llista amb les columnes més identificatives del part, el seu codi, data
del sinistre, la base imposable, el percentatge d’IVA aplicat i l’indicador de si està obert o no.
4.10.1.2. Diagrama d’activitat i interfície gràfica
TFC. Gestió d' Assegurances
29
4.10.2. UC-016-Crear un nou part de sinistre
4.10.2.1. Definició funcional
Per crear un nou part, de la mateixa forma que a la cerca, només ho podrem fer amb un usuari
amb el rol PERIT.
Des de la cerca de parts, disposem d'un botó 'Nou part'. Aquest botó obrirà una finestra modal
on haurem d'introduir els següents camps:
- Asseguradora. Camp seleccionable obligatori.
- Tipus de sinistre. Camp seleccionable obligatori.
- Client. Camp seleccionable obligatori.
- Base imposable. Camp obligatori.
- Percentatge IVA. Camp obligatori.
- Data del sinistre. Camp obligatori.
- Pòlissa. Camp obligatori.
- Observacions. Camp opcional.
Per defecte el flag d’obert sempre està seleccionat, per tant a l’alta no el mostrem.
TFC. Gestió d' Assegurances
30
4.10.2.2. Diagrama d’activitat i interfície gràfica
TFC. Gestió d' Assegurances
31
4.10.3. UC-017-Modificar un part de sinistre
4.10.3.1. Definició funcional
Per modificar un part existent al sistema, caldrà accedir amb un usuari amb el rol PERIT.
Des del cas d’ús de la cerca de parts, un cop feta la cerca, seleccionant un part, i pitjant el botó
'Modificar' s'obre una finestra modal per fer la modificació. Només podrem modificar parts
que estiguin oberts, si ja estan facturats només els podrem consultar.
Podem modificar qualsevol dada d'un part.
4.10.3.2. Diagrama d’activitat i interfície gràfica
TFC. Gestió d' Assegurances
32
4.10.4. UC-018-Tancar un part de sinistre
4.10.4.1. Definició funcional
Per tancar un part existent al sistema, caldrà accedir amb un usuari amb el rol PERIT.
Des del cas d’ús de la cerca de parts, un cop feta la cerca, seleccionant un part, i pitjant el botó
'Tancar' s'obre una finestra modal de confirmació per tancar el part. Evidentment, només
podrem tancar parts que estiguin oberts. Un cop tancats es crearà la factura pertinent del
part.
4.10.4.2. Diagrama d’activitat i interfície gràfica
TFC. Gestió d' Assegurances
33
4.10.5. UC-019-Imprimir un part de sinistre
4.10.5.1. Definició funcional
Per imprimir un part existent al sistema, caldrà accedir amb un usuari amb el rol PERIT.
Des del cas d’ús de la cerca de parts, un cop feta la cerca, seleccionant un part, i pitjant el botó
'Imprimir' es descarregarà un PDF resultat de la impressió del part.
4.10.5.2. Diagrama d’activitat i interfície gràfica
TFC. Gestió d' Assegurances
34
4.10.6. UC-020-Imprimir una factura
4.10.6.1. Definició funcional
Per imprimir un factura existent al sistema, caldrà accedir amb un usuari amb el rol
FACTURACIO.
Des del cas d’ús de la cerca de parts, un cop feta la cerca, seleccionant un part ja tancat, i
pitjant el botó 'Imprimir' es descarregarà un PDF resultat de la impressió de la factura.
4.10.6.2. Diagrama d’activitat i interfície gràfica
TFC. Gestió d' Assegurances
35
4.10.7. UC-021-Consultar una factura
4.10.7.1. Definició funcional
Per consultar un factura existent al sistema, caldrà accedir amb un usuari amb el rol
FACTURACIO.
Des del cas d’ús de la cerca de parts, un cop feta la cerca, seleccionant un part ja tancat, i
pitjant el botó 'Consultar' s'obre una finestra modal amb totes les dades de la factura.
4.10.7.2. Diagrama d’activitat i interfície gràfica
TFC. Gestió d' Assegurances
36
5. Model físic de dades
5.1. Diagrama entitat relació
5.2. TB_USER
TFC. Gestió d' Assegurances
37
5.3. TB_ROLE
5.4. TB_OPERATION
5.5. TB_OPERATIONS_ROLE
TFC. Gestió d' Assegurances
38
5.6. TB_ROLES_USERS
5.7. TB_CLIENT
5.8. TB_ASSEGURADORA
5.9. TB_TIPUS_SINISTRE
TFC. Gestió d' Assegurances
39
5.10. TB_PART
5.11. TB_FACTURA
TFC. Gestió d' Assegurances
40
6. Canvis sobre el disseny inicial
S’han agrupat dos funcionalitats o casos d’ús en un. El motiu ha estat que eren pràcticament
iguals. Es tracta de la cerca de factures. Des de la cerca de parts de sinistres he habilitat dos
botons per imprimir la factura del part y veure la factura del part. Si la factura encara no ha
estat generada, surt un missatge informatiu.
També s’ha considerat el rol, si el rol és peritador, només pot realitzar les operacions de
peritador, i si el rol és de facturador només les de facturació.
Un usuari amb rol peritador podria fer:
En el cas de Modificar, i tancar, només li permet amb parts Obert=true. En cas contrari surt un
missatge.
Pel contrari, la mateixa pantalla amb un rol facturació, veuria la mateixa llista però amb les
opcions següents:
En el cas de veure la factura, només li permet si el camp Obert=false. En cas contrari surt un
missatge.
TFC. Gestió d' Assegurances
41
7. Instal·lació - Requisits
7.1. Instal·lació Java
El primer que cal fer és baixar la versió de Java 1.5
http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-
downloads-javase5-419410.html
Caldrà cercar el nostre sistema operatiu, i fer la instal·lació.
Per verificar que la tenim instal·lada correctament obrirem un terminal i farem un:
‘java –version’
Si tot va bé veurem la versió instal·lada.
Si baixem la versió portable caldrà fer una nova variable d’entorn al sistema JAVA_HOME
apuntant al directori on tenim la versió de Java.
7.2. Base de dades MySQL
Es necessari disposar de la base de dades MySql. Es pot descarregar l’instal·lable de
http://dev.mysql.com/downloads/mysql/
Un cop descarregat i durant la instal·lació, cal crear un usuari administrador per poder accedir-
hi. En el meu cas he creat l’usuari ROOT amb contrasenya en blanc. La resta de paràmetres, es
poden deixar per defecte.
Amb el client que es vulgui, caldrà connectar-se, i crear un base dades amb el nom:
‘tfc-project’
Un cop tenim el servidor MySQL en marxa i la base de dades ‘tfc-project’, caldrà executar els
scripts que es lliuren per crear la base de dades e inserir un mínim de dades (Scripts.sql)
L’Script genera un usuari per cada rol:
Usuari Password ROL
admin admin ROLE_ADMIN perit perit ROLE_PERIT factu factu ROLE_FACTURACIO
TFC. Gestió d' Assegurances
42
7.3. Servidor d’aplicacions Apache Tomcat
El següent pas serà descarregar el servidor d’aplicacions Apache Tomcat 6. El podem trobar a:
http://tomcat.apache.org/download-60.cgi
Anem a realitzar un mínima configuració:
1- Definir la variable d’entorn de sistema CATALINA_HOME
En el meu cas el Tomcat el tinc a D:\UOC\TFC\apache-tomcat-6.0.36
2- Copiar el connector de mysql lliurat a la entrega (mysql-connector-java-5.0.8-bin.jar)
al directori lib del tomcat
TFC. Gestió d' Assegurances
43
3- Copiar el war lliurat (tfc-project.war) al directori webapps del tomcat.
4- Definirem el DataSource. Per fer això caldrà editar el fitxer server.xml que trobem al
directori conf del tomcat
Just després de l’entrada <Host name... creem l’entrada <Context>
És molt important respectar la propietat name = “jdbc/tfc-project”
TFC. Gestió d' Assegurances
44
5- Finalment, iniciarem el servidor d’aplicacions, executant startup.bat del directori bin
del tomcat
Si tot ha anat correctament, podrem accedir a l’aplicació amb la URL:
http://localhost:8080/tfc-project/login/login-form.jsp
TFC. Gestió d' Assegurances
45
8. Esquema de la entrega final
Per una banda, s’entrega de forma convencional al RAC UOC, un fitxer comprimit que comprèn
el document de memòria i la presentació corresponent a la PAC4, el document es diu
jlchavez_PAC4.zip:
- Jlchavez_memoria.pdf Memòria del projecte
- Jlchavez_presentació.pdf Presentació del projecte
Finalment, es torna a entregar el mateix que a la PAC3. Codi font, fitxers de configuració,
scripts, i WAR de la versió definitiva.
Es lliura a l’espai compartit del DropBox
En aquesta carpeta es lliura un exemple de configuració del server.xml i el connector jdcb del mysql.
- mysql-connector-java-5.0.8-bin.jar - server.xml
Es lliuren els fonts de tots els mòduls. Cada mòdul es composa de la carpeta src i target. La carpeta target és el font que AndroMDA genera, i la carpeta src són les meves implementacions. El mòdul mda conté els fonts d’AndroMDA
JavaDoc dels fonts del projecte
Fitxer script.sql per crear la base de dades i les dades mínimes
Fitxer tfc-project.war que es copiarà al webapps del tomcat
Memòria del projecte
Presentació del projecte
TFC. Gestió d' Assegurances
46
9. Estudi de costos
Per realitzar un estudi del cost aproximat del projecte he fet servir l’eina COCOMO II.
Amb aquesta eina, he dividit el projecte en tres blocs o mòduls, i per cada mòdul he fet un
estudi als punts de funció introduint els paràmetres següents:
Seguretat. Gestió d’usuaris i login/logout
Mestres Gestió d’asseguradores / Clients / Tipus de Sinistre
Parts Gestió de parts / Factures
TFC. Gestió d' Assegurances
47
Obtenint el següent resultat de 27,642 recursos/mes. Suposem que un mes es composa de
160 hores laborals,
553 hores. Prenent com a referència un sou de 25€/h =
13.825€.
Segons l’apartat 2 (Planificació del projecte), sortien 110 dies aproximats,. Tenint en compte
que no podem dedicar una jornada completa, suposem jornades de 5 hores, 110*5 = 550
hores, que ja és més o menys el que ens diu COCOMO II
Per tant, podem concloure que el projecte el quantifiquem en 550 hores d’esforç, i uns
13.825€
TFC. Gestió d' Assegurances
48
10. Conclusions
El projecte s’ha dut a terme en els terminis especificats en la planificació, i per tant s’han
assolit completament els requeriments inicials, elaborant un producte final de qualitat i que
s’adapta 100% a les necessitats de Peritacions Pinyol.
Tot i sempre treballar al món J2EE, he volgut aprofitar el projecte per donar un pas més, i per
això vaig decidir fer servir AJAX, i un estil de presentació totalment actual com és HTML5 basat
en JQuery y Bootstap from Twitter. La corba d’aprenentatge ha estat molt gran al principi,
però un cop format en com fer les crides AJAX, i familiaritzat amb els estils de Bootstrap, el
desenvolupament ha estat molt actiu i dinàmic.
Ha estat un experiència enriquidora fer un producte de principi a fi, i del qual veuré el seu ús
diari a l’empresa Peritacions Pinyol. L’esforç ha merescut la pena.
TFC. Gestió d' Assegurances
49
11. Bibliografia
- Web oficial d’Apache Tomcat http://tomcat.apache.org/
- Web oficial de SUN http://www.oracle.com/es/index.html
- Web de MySQL i recursos per desenvolupadors http://www.mysql.com/
http://dev.mysql.com/
- Web de JQuery http://jquery.com/
- Model de presentació Bootstrap http://twitter.github.com/bootstrap/
- Web oficial del projecte AndroMDA http://www.andromda.org/docs/index.html
- Eclipse IDE http://www.eclipse.org/
- Web de Maven2 http://maven.apache.org/
- Projecte Spring http://www.springsource.org/
- Projecte Struts http://struts.apache.org/
- Projecte Hibernate http://www.hibernate.org/
- Webs d’AJAX
o http://api.jquery.com/jQuery.ajax/
o http://www.w3schools.com/ajax/default.asp
o http://www.ajaxya.com.ar/
- Model COCOMO II http://csse.usc.edu/csse/research/COCOMOII/cocomo_main.html
- Wikipedia http://es.wikipedia.org/
- Projecte iTextPDF http://itextpdf.com/