Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Ingeniera Tcnica en Informtica de Gestin Marzo Junio 2006 Ingeniera de Software Csar Zambudio Jimnez Juan Jos Cuadrado Gallego
VotoDigital
Autor Consultor
Dedicatoria y agradecimientos Es bien sabido que el estudio de una nueva tecnologa conlleva xitos y frustraciones a lo largo del perodo de aprendizaje. Estos xitos y frustraciones se traducen en constantes cambios de humor en la persona que acomete el reto. Dedico lo que ha significado este trabajo para m, en tiempo y esfuerzo, a las personas que lo han soportado y comprendido, en especial mis padres por la paciencia para acabar mis estudios.
Pgina 2 de 201
NDICE
1. Introduccin ................................................................................................................13 1.1. Descripcin del TFC ............................................................................................14 1.2. Objetivos generales ..............................................................................................15 1.2.1 Objetivos del TFC ..........................................................................................15 1.2.2 Objetivos especficos del TFC .......................................................................15 2. Especificacin y anlisis de requerimientos................................................................17 2.1. Introduccin .........................................................................................................17 2.2. Descripcin y funcionalidades .............................................................................19 2.2.1. Proceso de la votacin...................................................................................19 2.2.2. Identificacin de subsistemas........................................................................19 2.2.3. Subsistema Elecciones ..................................................................................20 2.2.3.1. Electores .................................................................................................20 2.2.3.2. Candidatos..............................................................................................21 2.2.3.3. Partidos...................................................................................................22 2.2.3.4. Comarcas ................................................................................................23 2.2.3.5. Municipios..............................................................................................24 2.2.3.6. Centros ...................................................................................................24 2.2.3.7. Mesas electorales....................................................................................25 2.2.3.8. Escrutinio ...............................................................................................27 2.2.4. Subsistema Contrasea .................................................................................28 2.2.4.1. Identificacin..........................................................................................28 2.2.4.2. Obtencin de contraseas.......................................................................28 2.2.5. Subsistema Votantes ......................................................................................29 2.2.5.1. Identificacin..........................................................................................29 2.2.5.2. Votacin .................................................................................................29 2.2.6. Resumen esquemtico ...................................................................................30 2.2.7. Recursos necesarios.......................................................................................31 2.2.8. Otras opciones ...............................................................................................32 2.2.8.1. Extensibilidad de VotoDigital ................................................................32 2.2.8.2. Cdigos de barras ...................................................................................33 2.2.8.3. Pantalla tctil ..........................................................................................33 2.2.8.4. Resultados estadsticos...........................................................................33 2.3. Diagramas Casos de Uso......................................................................................34 2.3.1. Diagramas de casos de uso del modelo de negocio ......................................35 2.3.2. Requisitos ......................................................................................................39 2.3.3. Diagrama de entidades ..................................................................................42 2.3.4. Descripcin de los casos de uso ....................................................................43 2.3.4.1. Caso de uso Gestin de los Electores ..................................................43 2.3.4.2. Caso de uso Gestin de los Candidatos...............................................44 2.3.4.3. Caso de uso Gestin Mesa Electoral ...................................................45 2.3.4.4. Caso de uso Gestin Centros .............................................................46 2.3.4.5. Caso de uso Gestin Municipios .........................................................47 2.3.4.6. Caso de uso Gestin Comarcas ...........................................................48 2.3.4.7. Caso de uso Gestin Partidos..............................................................49 2.3.4.8. Caso de uso Gestin Tratamiento Escrutinio ......................................50
Anlisis y Diseo de un sistema de votacin VotoDigital Csar Zambudio Jimnez
Pgina 3 de 201
2.3.4.9. Caso de uso Gestin Participacin .....................................................51 2.3.4.10. Caso de uso Identificacin y cierre mesa ..........................................52 2.3.4.11. Caso de uso Identificar Elector ........................................................53 2.3.4.12. Caso de uso Levantar Acta ................................................................54 2.3.4.13. Caso de uso Comprobar contrasea .................................................55 2.3.4.14. Caso de uso Emitir Voto ....................................................................56 2.3.5. Diagramas de Colaboracin ..........................................................................57 2.3.5.1. Introducir al Elector (Votante) ...............................................................57 2.3.5.2. Modificar el elector (Votante)................................................................58 2.3.5.3. Borrar el elector (Votante) .....................................................................59 2.3.5.4. Consultar el elector (Votante) ................................................................60 2.3.5.5. Introducir Candidato ..............................................................................60 2.3.5.6. Modificar Candidato .............................................................................61 2.3.5.7. Borrar Candidato ....................................................................................61 2.3.5.8. Consultar Candidato...............................................................................62 2.3.5.9. Introducir Mesa Electoral.......................................................................62 2.3.5.10. Modificar Mesa Electoral.....................................................................63 2.3.5.11. Borrar Mesa Electoral ..........................................................................63 2.3.5.12. Consultar Mesa Electoral .....................................................................64 2.3.5.13. Introducir Centro ..................................................................................64 2.3.5.14. Modificar Centro ..................................................................................65 2.3.5.15. Borrar Centro........................................................................................65 2.3.5.16. Consultar Centro ..................................................................................66 2.3.5.17. Introducir Municipio ............................................................................66 2.3.5.18. Modificar Municipio ............................................................................67 2.3.5.19. Borrar Municipio..................................................................................67 2.3.5.20. Consultar Municipio.............................................................................68 2.3.5.21. Introducir Comarca ..............................................................................68 2.3.5.22. Modificar Comarca ..............................................................................69 2.3.5.23. Borrar Comarca ....................................................................................69 2.3.5.24. Consultar Comarca ...............................................................................70 2.3.5.25. Introducir Partido .................................................................................70 2.3.5.26. Modificar Partido .................................................................................71 2.3.5.27. Borrar Partido .......................................................................................71 2.3.5.28. Consultar Partido..................................................................................72 2.3.5.29. Clculo del escrutinio...........................................................................72 2.3.5.30. Estadsticas del escrutinio ....................................................................73 2.3.5.31. Clculo de la participacin ...................................................................73 2.3.5.32. Identificacin y apertura de la mesa.....................................................74 2.3.5.33. Cierre de la mesa ..................................................................................75 2.3.5.34. Identificar elector .................................................................................76 2.3.5.35. Incluir incidencia..................................................................................76 2.3.5.36. Comprobar contrasea..........................................................................77 2.3.5.37. Emitir Voto...........................................................................................77 2.4. Paquetes del sistema.............................................................................................78 2.4.1. Definicin de paquetes del sistema ...............................................................79 2.5. Definicin de la arquitectura del Sistema ............................................................80 2.5.1. Arquitectura RMI ..........................................................................................81 3. Diseo..........................................................................................................................83
Anlisis y Diseo de un sistema de votacin VotoDigital Csar Zambudio Jimnez
Pgina 4 de 201
3.1. Definicin de subsistemas ....................................................................................83 3.1.1. Representacin grfica de los subsistemas....................................................83 3.1.2. Diseo de los subsistemas .............................................................................85 3.2. Diagramas UML...................................................................................................87 3.2.1. Diagrama de jerarquas (clases) ....................................................................87 3.2.2. Diagrama de clases........................................................................................89 3.2.3. Diagrama de estados......................................................................................91 3.2.3.1. Introducir al Elector (Votante) ...............................................................91 3.2.3.2. Modificar el elector (Votante)................................................................92 3.2.3.3. Borrar el elector (Votante) .....................................................................93 3.2.3.4. Consultar el elector (Votante) ................................................................94 3.2.3.5. Introducir Candidato ..............................................................................95 3.2.3.6. Modificar Candidato .............................................................................96 3.2.3.7. Borrar Candidato ....................................................................................97 3.2.3.8. Consultar Candidato...............................................................................98 3.2.3.9. Introducir Mesa Electoral.......................................................................99 3.2.3.10. Modificar Mesa Electoral...................................................................100 3.2.3.11. Borrar Mesa Electoral ........................................................................101 3.2.3.12. Consultar Mesa Electoral ...................................................................102 3.2.3.13. Introducir Centro ................................................................................103 3.2.3.14. Modificar Centro ................................................................................104 3.2.3.15. Borrar Centro......................................................................................105 3.2.3.16. Consultar Centro ................................................................................106 3.2.3.17. Introducir Municipio ..........................................................................107 3.2.3.18. Modificar Municipio ..........................................................................108 3.2.3.19. Borrar Municipio................................................................................109 3.2.3.20. Consultar Municipio...........................................................................110 3.2.3.21. Introducir Comarca ............................................................................111 3.2.3.22. Modificar Comarca ............................................................................112 3.2.3.23. Borrar Comarca ..................................................................................113 3.2.3.24. Consultar Comarca .............................................................................114 3.2.3.25. Introducir Partido ...............................................................................115 3.2.3.26. Modificar Partido ...............................................................................116 3.2.3.27. Borrar Partido .....................................................................................117 3.2.3.28. Consultar Partido................................................................................118 3.2.3.29. Clculo del escrutinio.........................................................................119 3.2.3.30. Estadsticas del escrutinio ..................................................................120 3.2.3.31. Clculo de la participacin .................................................................121 3.2.3.32. Identificar elector ...............................................................................122 3.2.3.33. Comprobar contrasea........................................................................123 3.2.3.34. Emitir Voto.........................................................................................124 3.2.4. Diagramas de secuencias.............................................................................125 3.2.4.1. Introducir al Elector (Votante) .............................................................125 3.2.4.2. Modificar el elector (Votante)..............................................................125 3.2.4.3. Borrar el elector (Votante) ...................................................................126 3.2.4.4. Consultar el elector (Votante) ..............................................................126 3.2.4.5. Introducir Candidato ............................................................................127 3.2.4.6. Modificar Candidato ...........................................................................127 3.2.4.7. Borrar Candidato ..................................................................................128
Anlisis y Diseo de un sistema de votacin VotoDigital Csar Zambudio Jimnez
Pgina 5 de 201
3.2.4.8. Consultar Candidato.............................................................................128 3.2.4.9. Introducir Mesa Electoral.....................................................................129 3.2.4.10. Modificar Mesa Electoral...................................................................129 3.2.4.11. Borrar Mesa Electoral ........................................................................130 3.2.4.12. Consultar Mesa Electoral ...................................................................130 3.2.4.13. Introducir Centro ................................................................................131 3.2.4.14. Modificar Centro ................................................................................131 3.2.4.15. Borrar Centro......................................................................................132 3.2.4.16. Consultar Centro ................................................................................132 3.2.4.17. Introducir Municipio ..........................................................................133 3.2.4.18. Modificar Municipio ..........................................................................133 3.2.4.19. Borrar Municipio................................................................................134 3.2.4.20. Consultar Municipio...........................................................................134 3.2.4.21. Introducir Comarca ............................................................................135 3.2.4.22. Modificar Comarca ............................................................................135 3.2.4.23. Borrar Comarca ..................................................................................136 3.2.4.24. Consultar Comarca .............................................................................136 3.2.4.25. Introducir Partido ...............................................................................137 3.2.4.26. Modificar Partido ...............................................................................137 3.2.4.27. Borrar Partido .....................................................................................138 3.2.4.28. Consultar Partido................................................................................138 3.2.4.29. Clculo del escrutinio.........................................................................139 3.2.4.30. Clculo de la participacin .................................................................139 3.2.4.31. Identificacin y apertura de la mesa...................................................140 3.2.4.32. Cierre de la mesa ................................................................................140 3.2.4.33. Identificar elector ...............................................................................141 3.2.4.34. Comprobar contrasea........................................................................141 3.2.4.37. Emitir Voto.........................................................................................142 3.2.5. Diagrama de persistencia ............................................................................143 3.2.6. Diagrama ER ...............................................................................................145 3.2.7. Diseo de la interfaz de usuario ..................................................................149 3.2.7.1. Qu es el GUI? ...................................................................................149 3.2.7.2. Diseo de la interfaz de usuario de VotoDigital ..................................151 3.3. Observaciones para la implementacin..............................................................182 3.3.1. Reutilizacin................................................................................................182 3.3.2. Tratamiento de excepciones ........................................................................184 3.3.3. Fichas CRC .................................................................................................186 4. Referencias consultadas ............................................................................................189 4.1. Referencias consultadas en Internet ...................................................................189 4.2. Referencias consultadas en Libros .....................................................................190 5. Anexos.......................................................................................................................191 5.1 Anexo I. Planificacin, hitos y temporarizacin .................................................191 5.1.1 Identificacin de hitos ..................................................................................191 5.1.2 Descomposicin estructural de actividades (WBS) .....................................192 5.1.3 Estimacin temporal.....................................................................................193 5.1.4 Planificacin temporal..................................................................................194 5.2 Anexo II. Medios materiales ...............................................................................198 5.3 Anexo III. Glosarios ............................................................................................199 5.3.1 Glosario ........................................................................................................199
Anlisis y Diseo de un sistema de votacin VotoDigital Csar Zambudio Jimnez
Pgina 6 de 201
Pgina 7 de 201
ndice de tablas
Tabla 1. Caso de uso Gestin de electores ......................................................................43 Tabla 2. Caso de uso Gestin de candidatos ...................................................................44 Tabla 3. Caso de uso Gestin Mesa Electoral .................................................................45 Tabla 4. Caso de uso Gestin Centro ..............................................................................46 Tabla 5. Caso de uso Gestin Municipios.......................................................................47 Tabla 6. Caso de uso Gestin Comarcas .........................................................................48 Tabla 7. Caso de uso Gestin Partidos............................................................................49 Tabla 8. Caso de uso Gestin Tratamiento Escrutinio ....................................................50 Tabla 9. Caso de uso Gestin Participacin....................................................................51 Tabla 10. Caso de uso Identificacin y cierre mesa........................................................52 Tabla 11. Caso de uso Identificar elector ........................................................................53 Tabla12. Caso de uso Levantar el acta ............................................................................54 Tabla 13. Caso de uso Comprobar contrasea ................................................................55 Tabla 14. Caso de uso Emitir Voto .................................................................................56 Tabla 15. Ejemplo de ficha CRC I ................................................................................186 Tabla 16. Ejemplo de ficha CRC II...............................................................................187 Tabla 17. Ficha CRC Persona....................................................................................187 Tabla 18. Ficha CRC Elector.....................................................................................187 Tabla 19. Ficha CRC Candidato................................................................................188 Tabla 20. Ficha CRC Contrasenia .............................................................................188 Tabla 21. Ficha CRC Excepcin ...............................................................................188 Tabla 22. Hitos y entregas PEC ....................................................................................192 Tabla 23. Descomposicin estructural de actividades ..................................................192 Tabla 24. Medios a utilizar............................................................................................198
Pgina 8 de 201
ndice de ilustraciones
Ilustracin 1. UML..........................................................................................................18 Ilustracin 2. Aplicacin Voto Digital ...........................................................................20 Ilustracin 3. Ejemplo de estructura................................................................................32 Ilustracin 4. Diagrama modelo de negocio (Comisin) ................................................35 Ilustracin 5. Diagrama modelo de negocio (Mesa Electoral)........................................36 Ilustracin 6. Diagrama modelo de negocio (Votante) ...................................................36 Ilustracin 7. Diagrama de colaboracin (Comisin) .....................................................37 Ilustracin 8. Diagrama de colaboracin (Mesa Electoral).............................................38 Ilustracin 9. Diagrama de colaboracin (Votante) ........................................................38 Ilustracin 10. Casos de uso de requisitos (Comisin) ...................................................40 Ilustracin 11. Casos de uso de requisitos (Mesa Electoral)...........................................41 Ilustracin 12. Casos de uso de requisitos (Votantes).....................................................41 Ilustracin 13. Diagrama de entidades. ...........................................................................42 Ilustracin 14. Diagrama de colaboracin: Introduccin Elector ...................................57 Ilustracin 15. Diagrama de colaboracin: Modificar Elector ........................................58 Ilustracin 16. Diagrama de colaboracin: Borrar Elector .............................................59 Ilustracin 17. Diagrama de colaboracin: Consultar Elector ........................................60 Ilustracin 18. Diagrama de colaboracin: Introduccin Partido ...................................60 Ilustracin 19. Diagrama de colaboracin: Modificar Candidato ...................................61 Ilustracin 20. Diagrama de colaboracin: Borrar Candidato.........................................61 Ilustracin 21. Diagrama de colaboracin: Consulta Candidato.....................................62 Ilustracin 22. Diagrama de colaboracin: Introducir Mesa Electoral ...........................62 Ilustracin 23. Diagrama de colaboracin: Modificar Mesa Electoral ...........................63 Ilustracin 24. Diagrama de colaboracin: Borrar Mesa Electoral .................................63 Ilustracin 25. Diagrama de colaboracin: Consultar Mesa Electoral............................64 Ilustracin 26. Diagrama de colaboracin: Introducir Centro.........................................64 Ilustracin 27. Diagrama de colaboracin: Modificar Centro.........................................65 Ilustracin 28. Diagrama de colaboracin: Borrar Centro ..............................................65 Ilustracin 29. Diagrama de colaboracin: Consultar Centro .........................................66 Ilustracin 30. Diagrama de colaboracin: Introducir Municipio...................................66 Ilustracin 31. Diagrama de colaboracin: Modificar Municipio...................................67 Ilustracin 32. Diagrama de colaboracin: Borrar Municipio ........................................67 Ilustracin 33. Diagrama de colaboracin: Consultar Municipio. ..................................68 Ilustracin 34. Diagrama de colaboracin: Introducir Comarca .....................................68 Ilustracin 35. Diagrama de colaboracin: Modificar Comarca .....................................69 Ilustracin 36. Diagrama de colaboracin: Borrar Comarca...........................................69 Ilustracin 37. Diagrama de colaboracin: Consultar Comarca .....................................70 Ilustracin 38. Diagrama de colaboracin: Introducir Partido ........................................70 Ilustracin 39. Diagrama de colaboracin: Modificar Partido ........................................71 Ilustracin 40. Diagrama de colaboracin: Borrar Partido .............................................71 Ilustracin 41. Diagrama de colaboracin: Consultar Partido ........................................72 Ilustracin 42. Diagrama de colaboracin: Clculo del escrutinio .................................72 Ilustracin 43. Diagrama de colaboracin: Estadsticas del escrutinio ...........................73 Ilustracin 44. Diagrama de colaboracin: Clculo de la participacin .........................73 Ilustracin 45. Diagrama de colaboracin: Identificacin y apertura de la mesa ...........74
Anlisis y Diseo de un sistema de votacin VotoDigital Csar Zambudio Jimnez
Pgina 9 de 201
Ilustracin 46. Diagrama de colaboracin: Cierre de mesa ............................................75 Ilustracin 47. Diagrama de colaboracin: Identificar elector. .......................................76 Ilustracin 48. Diagrama de colaboracin: Incluir incidencia ........................................76 Ilustracin 49. Diagrama de colaboracin: Comprobar contrasea. ...............................77 Ilustracin 50. Diagrama de colaboracin: Emitir Voto .................................................77 Ilustracin 51. Definicin de paquetes del sistema. ........................................................79 Ilustracin 52. Arquitectura RMI ....................................................................................81 Ilustracin 53. Grafico de subsistemas............................................................................84 Ilustracin 54. Diagrama de jerarquas I .........................................................................87 Ilustracin 55. Diagrama de jerarquas II........................................................................88 Ilustracin 56. Diagrama de jerarquas III ......................................................................88 Ilustracin 57. Diagrama de clases..................................................................................90 Ilustracin 58. Diagrama de estados: Introduccin Elector ............................................91 Ilustracin 59. Diagrama de estados: Modificar Elector.................................................92 Ilustracin 60. Diagrama de estados: Borrar Elector ......................................................93 Ilustracin 61. Diagrama de estados: Consultar Elector .................................................94 Ilustracin 62. Diagrama de estados: Introduccin Candidato .......................................95 Ilustracin 63. Diagrama de estados: Modificar Candidato............................................96 Ilustracin 64. Diagrama de estados: Borrar Candidato .................................................97 Ilustracin 65. Diagrama de estados: Consulta Candidato..............................................98 Ilustracin 66. Diagrama de estados: Introducir Mesa Electoral ....................................99 Ilustracin 67. Diagrama de estados: Modificar Mesa Electoral ..................................100 Ilustracin 68. Diagrama de estados: Borrar Mesa Electoral........................................101 Ilustracin 68. Diagrama de estados: Consultar Mesa Electoral...................................102 Ilustracin 69. Diagrama de estados: Introducir Centro ...............................................103 Ilustracin 70. Diagrama de estados: Modificar Centro. ..............................................104 Ilustracin 71. Diagrama de estados: Borrar Centro .....................................................105 Ilustracin 72. Diagrama de estados: Consultar Centro................................................106 Ilustracin 73. Diagrama de estados: Introducir Municipio..........................................107 Ilustracin 74. Diagrama de estados: Modificar Municipio..........................................108 Ilustracin 75. Diagrama de estados: Borrar Municipio ...............................................109 Ilustracin 76. Diagrama de estados: Consultar Municipio. .........................................110 Ilustracin 77. Diagrama de estados: Introducir Comarca ............................................111 Ilustracin 78. Diagrama de estados: Modificar Comarca ............................................112 Ilustracin 79. Diagrama de estados: Borrar Comarca .................................................113 Ilustracin 80. Diagrama de estados: Consultar Comarca ............................................114 Ilustracin 81. Diagrama de estados: Introducir Partido...............................................115 Ilustracin 82. Diagrama de estados: Modificar Partido...............................................116 Ilustracin 83. Diagrama de estados: Borrar Partido ....................................................117 Ilustracin 84. Diagrama de estados: Consultar Partido ...............................................118 Ilustracin 85. Diagrama de estados: Clculo del escrutinio ........................................119 Ilustracin 86. Diagrama de estados: Estadsticas del escrutinio..................................120 Ilustracin 87. Diagrama de estados: Clculo de la participacin ................................121 Ilustracin 88. Diagrama de estados: Identificar elector...............................................122 Ilustracin 89. Diagrama de estados: Comprobar contrasea. ......................................123 Ilustracin 90. Diagrama de estados: Emitir Voto ........................................................124 Ilustracin 91. Diagrama de secuencia: Introduccin Elector.......................................125 Ilustracin 92. Diagrama de secuencia: Modificar Elector ...........................................125 Ilustracin 93. Diagrama de secuencia: Borrar Elector.................................................126
Anlisis y Diseo de un sistema de votacin VotoDigital Csar Zambudio Jimnez
Pgina 10 de 201
Ilustracin 94. Diagrama de secuencia: Consultar Elector ...........................................126 Ilustracin 95. Diagrama de secuencia: Introduccin Partido.......................................127 Ilustracin 96. Diagrama de secuencia: Modificar Candidato ......................................127 Ilustracin 97. Diagrama de secuencia: Borrar Candidato............................................128 Ilustracin 98. Diagrama de secuencia: Consulta Candidato ........................................128 Ilustracin 99. Diagrama de secuencia: Introducir Mesa Electoral ..............................129 Ilustracin 100. Diagrama de secuencia: Modificar Mesa Electoral ............................129 Ilustracin 101. Diagrama de secuencia: Borrar Mesa Electoral ..................................130 Ilustracin 102. Diagrama de secuencia: Consultar Mesa Electoral .............................130 Ilustracin 103. Diagrama de secuencia: Introducir Centro..........................................131 Ilustracin 104. Diagrama de secuencia: Modificar Centro..........................................131 Ilustracin 105. Diagrama de secuencia: Borrar Centro ...............................................132 Ilustracin 106. Diagrama de secuencia: Consultar Centro ..........................................132 Ilustracin 107. Diagrama de secuencia: Introducir Municipio....................................133 Ilustracin 108. Diagrama de secuencia: Modificar Municipio....................................133 Ilustracin 109. Diagrama de secuencia: Borrar Municipio .........................................134 Ilustracin 110. Diagrama de secuencia: Consultar Municipio. ...................................134 Ilustracin 111. Diagrama de secuencia: Introducir Comarca ......................................135 Ilustracin 112. Diagrama de colaboracin: Modificar Comarca .................................135 Ilustracin 113. Diagrama de secuencia: Borrar Comarca............................................136 Ilustracin 114. Diagrama de secuencia: Consultar Comarca.......................................136 Ilustracin 115. Diagrama de secuencia: Introducir Partido .........................................137 Ilustracin 116. Diagrama de secuencia: Modificar Partido .........................................137 Ilustracin 117. Diagrama de secuencia: Borrar Partido...............................................138 Ilustracin 118. Diagrama de colaboracin: Consultar Partido ....................................138 Ilustracin 119. Diagrama de secuencia: Clculo del escrutinio ..................................139 Ilustracin 120. Diagrama de secuencia: Clculo de la participacin...........................139 Ilustracin 121. Diagrama de secuencia: Identificacin y apertura de la mesa ............140 Ilustracin 122. Diagrama de secuencia: Cierre de mesa..............................................140 Ilustracin 123. Diagrama de secuencia: Identificar elector. ........................................141 Ilustracin 124. Diagrama de secuencia: Comprobar contrasea. ................................141 Ilustracin 125. Diagrama de secuencia: Emitir Voto ..................................................142 Ilustracin 126. Diagrama de persistencia ....................................................................144 Ilustracin 127. Diagrama ER.......................................................................................146 Ilustracin 128. Pantalla Identificacin .....................................................................151 Ilustracin 129. Pantalla Men Comisin .................................................................151 Ilustracin 130. Pantalla Men Comisin (Archivo).................................................152 Ilustracin 131. Pantalla Men Comisin (Calcular) ................................................152 Ilustracin 132. Pantalla Men Comisin (Candidato) .............................................153 Ilustracin 133. Pantalla Men Comisin (Elector) ..................................................153 Ilustracin 134. Pantalla Men Comisin (Geogrfico)............................................154 Ilustracin 135. Pantalla Men Comisin (Geogrfico > Centro).............................154 Ilustracin 136. Pantalla Men Comisin (Geogrfico > Comarca) .........................155 Ilustracin 137. Pantalla Men Comisin (Geogrfico > Mesa)...............................155 Ilustracin 138. Pantalla Men Comisin (Geogrfico > Municipio).......................156 Ilustracin 139. Pantalla Men Comisin (Miembros) .............................................156 Ilustracin 140. Pantalla Men Comisin (Partido) ..................................................157 Ilustracin 141. Pantalla Men Comisin (Ayuda) ...................................................157 Ilustracin 142. Pantalla Estadsticas ........................................................................158
Anlisis y Diseo de un sistema de votacin VotoDigital Csar Zambudio Jimnez
Pgina 11 de 201
Ilustracin 143. Pantalla Participacin ......................................................................159 Ilustracin 144. Pantalla Nuevo Candidato ...............................................................159 Ilustracin 145. Pantalla Consulta Candidato............................................................160 Ilustracin 146. Pantalla Editar Candidato ................................................................160 Ilustracin 147. Pantalla Borrar Candidato ...............................................................161 Ilustracin 148. Pantalla Nuevo Elector ....................................................................161 Ilustracin 149. Pantalla Consultar Elector ...............................................................162 Ilustracin 150. Pantalla Editar Elector .....................................................................163 Ilustracin 151. Pantalla Borrar Elector ....................................................................163 Ilustracin 152. Pantalla Nuevo Centro.....................................................................164 Ilustracin 153. Pantalla Consular Centro .................................................................164 Ilustracin 154. Pantalla Editar Centro......................................................................165 Ilustracin 155. Pantalla Borrar Centro .....................................................................165 Ilustracin 156. Pantalla Nueva Comarca .................................................................166 Ilustracin 157. Pantalla Consulta Comarca..............................................................166 Ilustracin 158. Pantalla Editar Comarca ..................................................................167 Ilustracin 159. Pantalla Borrar Comarca .................................................................167 Ilustracin 160. Pantalla Nueva Mesa .......................................................................168 Ilustracin 161. Pantalla Consulta Mesa ...................................................................169 Ilustracin 162. Pantalla Editar Mesa........................................................................170 Ilustracin 163. Pantalla Borrar Mesa .......................................................................170 Ilustracin 164. Pantalla Nuevo Municipio ...............................................................171 Ilustracin 165. Pantalla Consultar Municipio ..........................................................171 Ilustracin 166. Pantalla Editar Municipio................................................................172 Ilustracin 167. Pantalla Borrar Municipio ...............................................................172 Ilustracin 168. Pantalla Nuevo Miembro Comisin ................................................173 Ilustracin 169. Pantalla Consultar Miembro Comisin ...........................................173 Ilustracin 170. Pantalla Editar Miembro Comisin .................................................174 Ilustracin 171. Pantalla Borrar Miembro Comisin ................................................174 Ilustracin 172. Pantalla Nuevo Partido ....................................................................175 Ilustracin 173. Pantalla Consultar Partido ...............................................................175 Ilustracin 174. Pantalla Editar Partido .....................................................................176 Ilustracin 175. Pantalla Borrar Partido ....................................................................176 Ilustracin 176. Identificacin de usuario (presidente mesa)........................................177 Ilustracin 177. Pantalla Mesa Electoral ...................................................................177 Ilustracin 179. Pantalla Lista Electores ...................................................................178 Ilustracin 180. Pantalla Crear Contrasea ...............................................................178 Ilustracin 181. Pantalla Identificar elector...............................................................179 Ilustracin 182. Pantalla Votacin (Principal)...........................................................179 Ilustracin 183. Pantalla Consulta Lista Candidatos .................................................180 Ilustracin 184. Pantalla Votar ..................................................................................180 Ilustracin 185. Pantalla Error...................................................................................181 Ilustracin 186. Tratamiento de Excepciones ...............................................................185 Ilustracin 187. Estimacin temporal de las tareas. ......................................................193 Ilustracin 188. Grafico Gantt.......................................................................................195 Ilustracin 189. Diagrama de red (1) ............................................................................196 Ilustracin 190. Diagrama de red (2) ............................................................................197
Pgina 12 de 201
1. Introduccin
Despus de varios semestres estudiando Ingeniera Tcnica de Informtica de Gestin, el presente trabajo final de carrera TFC significa la finalizacin de dichos estudios, as como la completacin de la formacin acadmica universitaria a nivel personal en la Universidad Oberta de Catalua. El presente trabajo puede servir para mejorar el sistema de voto actual, tanto a nivel autonmico como nacional y, a su vez, utilizar nuevas tecnologas de la informacin que tiene mucha importancia en los tiempos que se corren actualmente. Adems, doy por seguro que tarde o temprano que a la hora de votar tendremos que utilizar sistemas tecnolgicos que actualmente no existen en nuestro pas. A continuacin especificaremos el alcance y los objetivos de este TFC.
Pgina 13 de 201
Pgina 14 de 201
Pgina 15 de 201
o El diagrama de paquetes para indicar las relaciones entre los paquetes (subsistemas) y entre los paquetes y el sistema (paquete principal). o Definir la arquitectura de la aplicacin. Diseo: o Establecer la representacin grfica de los subsistemas y sus relaciones. o Obtener el diseo para cada subsistema (Diagramas en UML) o Reutilizacin o Diseo y jerarquas de excepciones o Diseo de la interfaz grfica de usuario del software VotoDigital.
Pgina 16 de 201
Pgina 17 de 201
UML, Mtodo o Lenguaje de Modelado? UML es un lenguaje para hacer modelos y es independiente de los mtodos de anlisis y diseo. Existen diferencias importantes entre un mtodo y un lenguaje de modelado. Un mtodo es una manera explcita de estructurar el pensamiento y las acciones de cada individuo. Adems, el mtodo le dice al usuario qu hacer, cmo hacerlo, cundo hacerlo y por qu hacerlo; mientras que el lenguaje de modelado carece de estas instrucciones. Los mtodos contienen modelos y esos modelos son utilizados para describir algo y comunicar los resultados del uso del mtodo. Un modelo es expresado en un lenguaje de modelado. Un lenguaje de modelado consiste de vistas, diagramas, elementos de modelo los smbolos utilizados en los modelos y un conjunto de mecanismos generales o reglas que indican cmo utilizar los elementos. Las reglas son sintcticas, semnticas y pragmticas.
Ilustracin 1. UML
Pgina 18 de 201
Pgina 19 de 201
2.2.3.1. Electores
Esta opcin permitir hacer las altas, bajas y modificaciones del electorado de los diferentes datos necesarios como electores, candidatos, centros, mesas electorales.
Pgina 20 de 201
Altas de electores Esta opcin permitir la introduccin del nmero del DNI. Si ya est en el sistema, se indicar esta circunstancia y se permitir un nuevo intento. En caso de que el DNI no conste todava en el sistema, se permitir la introduccin de los otros datos: nombre y apellidos. Tambin se deber introducir el cdigo de la mesa de votacin que le corresponde (este cdigo determina una mesa de un centro de votacin determinado). Si no existiera, se indicar esta circunstancia. Los datos se tomarn del censo electoral. Bajas de electores Esta opcin permitir eliminar a un elector de la base de datos (por diferentes motivos, como prdida de la nacionalidad, muerte, etc.). Se solicitar su nmero del DNI y, si no estuviera en la base de datos, se indicar esta circunstancia. En caso de estar, se mostrar el resto de los datos del elector y se pedir confirmacin para borrarlos. Modificaciones de electores Esta opcin permitir modificar datos de los electores bien porque se haya cometido algn error en la introduccin de datos, bien porque hayan cambiado los datos desde el momento en que se introdujeron (cambio de domicilio y, por lo tanto, de mesa electoral, cambio de nombre, etc.). Se solicitar el nmero del DNI y, si no estuviera en la base de datos, se indicar esta circunstancia. En caso de estar, se mostrar el resto de los datos del elector que se podrn modificar. Una vez hechas las modificaciones ser necesario apretar un botn para hacerlas efectivas. Si el cdigo del centro de votacin no se encuentra, se indicar esta circunstancia y se esperar a la introduccin de un cdigo correcto para aceptar las modificaciones.
2.2.3.2. Candidatos
Esta opcin permitir hacer las altas, bajas y modificaciones de los candidatos. Todo candidato, como elector que es, est adscrito a una mesa determinada y, por lo tanto, a una circunscripcin. Este hecho nos permitir computar el nmero de candidatos por circunscripciones. Altas de candidatos Para dar de alta a un candidato, es preciso que se haya dado de alta previamente como elector. Se solicitar el nmero del DNI y si no estuviera en la base de datos como elector o bien estuviera como elector y tambin como candidato, se indicarn estas circunstancias. En caso contrario, se mostrarn sus datos como elector y se permitir la seleccin del partido al que pertenece y el nmero de orden o posicin del candidato dentro de la lista de su partido. Si el
Pgina 21 de 201
nmero de posicin ya estuviera ocupado por otro candidato, se hara notar esta circunstancia. Bajas de candidatos Esta opcin permitir eliminar a un candidato como tal de la base de datos. Se solicitar el nmero del DNI y, si no estuviera en la base de datos, o estuviera pero slo como elector, se indicarn estas circunstancias. En caso contrario, se mostrarn todos sus datos y se pedir confirmacin para borrarlos. Modificaciones de candidatos Esta opcin permitir modificar el partido poltico al que pertenece el candidato por si se hubiera introducido mal, si el candidato hubiera decidido cambiar de partido, etc. Se solicitar el nmero del DNI y, si no estuviera en la base de datos o bien estuviera como elector pero no como candidato, se indicarn estas circunstancias. En caso contrario se mostrarn todos los datos del candidato y se permitir cambiar el partido al que pertenece. Una vez modificado, ser necesario pulsar un botn para hacer efectivos los cambios.
2.2.3.3. Partidos
Esta opcin permitir hacer las altas, bajas y modificaciones de los partidos. Se hace de forma similar a los candidatos.
Altas de partidos Para dar de alta a un partido. Se solicitar el nmero del cdigo y si estuviera en la base de datos, se indicarn estas circunstancias. En caso contrario, se introducirn sus datos como siglas y nombre. Si el nombre coincide con otro partido se avisar dicha circunstancia.
Bajas de candidatos Esta opcin permitir eliminar a un partido como tal de la base de datos. Se solicitar el cdigo y, si no estuviera en la base de datos, se indicarn estas circunstancias. En caso contrario, se mostrarn todos sus datos y se pedir confirmacin para borrarlos.
Pgina 22 de 201
Modificaciones de candidatos Esta opcin permitir modificar el cdigo del partido o la sigla o el nombre por si se hubiera introducido mal. Se solicitar el cdigo o el nombre del partido y, si no estuviera en la base de datos, se indicarn estas circunstancias. En caso contrario se mostrarn todos los datos del candidato y se permitir cambiar los atributos. Una vez modificado, ser necesario pulsar un botn para hacer efectivos los cambios.
2.2.3.4. Comarcas
Esta opcin permitir hacer las altas, bajas y modificaciones de las comarcas. Se hace de forma similar a los partidos.
Altas de comarcas Para dar de alta a una comarca. Se solicitar el nmero del cdigo y si estuviera en la base de datos, se indicarn estas circunstancias. En caso contrario, se introducirn sus datos como el cdigo y nombre. Si el nombre coincide con otra comarca se avisar dicha circunstancia.
Bajas de comarcas Esta opcin permitir eliminar a una comarca como tal de la base de datos. Se solicitar el cdigo y, si no estuviera en la base de datos, se indicarn estas circunstancias. En caso contrario, se mostrarn todos sus datos y se pedir confirmacin para borrarlos.
Modificaciones de comarcas Esta opcin permitir modificar el cdigo de la comarca o el nombre por si se hubiera introducido mal. Se solicitar el cdigo de la comarca del partido y, si no estuviera en la base de datos, se indicarn estas circunstancias. En caso contrario se mostrarn todos los datos de la comarca y se permitir cambiar los atributos. Una vez modificado, ser necesario pulsar un botn para hacer efectivos los cambios.
Pgina 23 de 201
2.2.3.5. Municipios
Esta opcin permitir hacer las altas, bajas y modificaciones de los municipios. Se hace de forma similar a las comarcas, pero todo municipio debe pertenecer a una comarca. Altas de municipios Para dar de alta a un municipio. Se solicitar el nmero del cdigo y si estuviera en la base de datos, se indicarn estas circunstancias. En caso contrario, se introducirn sus datos como el cdigo y nombre, as como el cdigo de la comarca al que pertenecen. Si el nombre coincide con otra comarca se avisar dicha circunstancia.
Bajas de municipios Esta opcin permitir eliminar a un municipio como tal de la base de datos. Se solicitar el cdigo y, si no estuviera en la base de datos, se indicarn estas circunstancias. En caso contrario, se mostrarn todos sus datos y se pedir confirmacin para borrarlos.
Modificaciones de municipios Esta opcin permitir modificar el cdigo de la comarca al que pertenece o el nombre por si se hubiera introducido mal. Se solicitar el cdigo del municipio del partido y, si no estuviera en la base de datos, se indicarn estas circunstancias. En caso contrario se mostrarn todos los datos del municipio y se permitir cambiar los atributos. Una vez modificado, ser necesario pulsar un botn para hacer efectivos los cambios.
2.2.3.6. Centros
Esta opcin permitir hacer las altas, bajas y modificaciones de los centros de votaciones. Altas de los centros Esta opcin permitir la introduccin del cdigo del centro de votaciones. Si este cdigo ya estuviera en la base de datos, se indicar esta circunstancia. En
Pgina 24 de 201
caso contrario, se permitir introducir el resto de los datos, a saber: direccin, distrito postal, poblacin y provincia donde est el centro.
Bajas de los centros Esta opcin permitir eliminar un centro de votacin de la base de datos. Se solicitar el cdigo del centro y, si no est en la base de datos, se indicar esta circunstancia. En caso de que est, se mostrar el resto de los datos y se pedir confirmacin para borrarlos.
Modificaciones de los centros Esta opcin permitir modificar los datos de los centros de votacin. Se solicitar el cdigo del centro y, si no estuviera en la base de datos, se indicar esta circunstancia. En caso de que est, se mostrar el resto de los datos y se permitir modificarlo. Una vez modificado, ser necesario pulsar un botn para hacer efectivos los cambios.
Modificacin de las mesas electorales Esta opcin permitir el cambio de alguno de los componentes de la mesa porque haya acreditado que el da de las elecciones no puede cumplir con la funcin asignada segn los casos que prev la ley.
Cierre del programa Habr una opcin para cerrar el programa de manera independiente. Es decir, por causas tcnicas, de seguridad o cualquier otra se podr cerrar el programa de alguna cabina, de manera que quede inutilizada. Para hacerlo, ser necesario que el programa de la mesa est activo. Al acabar el proceso de votacin, se proceder al cierre de la mesa, que ir acompaado del proceso de
Anlisis y Diseo de un sistema de votacin VotoDigital Csar Zambudio Jimnez
Pgina 25 de 201
escrutinio y envo de los votos a la central y de la impresin del acta correspondiente en la que se recogern los resultados electorales de la mesa y todas las incidencias que se hayan producido durante el proceso de votacin. Al acceder a esta opcin, se pedir el DNI y la contrasea del responsable del centro. En caso de no ser vlido o transcurrido cierto periodo de tiempo, se abortar la operacin. As, el responsable del centro cierra el programa manualmente. Tendr la opcin de prolongar este proceso por causas justificadas o interrumpirlo si as se decide por razones de seguridad, entre otras. Deber constar en el acta como incidencia cualquier modificacin del horario de apertura y cierre, y habr que explicitar las causas de dicha modificacin.
Impresin del acta En el mismo proceso de cierre de la mesa se imprimir el acta correspondiente en la que aparecern, adems de los datos identificativos de la mesa y sus componentes, el resultado del recuento de votos de la mesa de manera automtica y las incidencias que se hayan producido durante el proceso de votaciones y que el responsable de la mesa ha ido introduciendo.
Envo de los votos a la Central Electoral Una vez cerrada la mesa, los resultados ya recontados se enviarn automticamente a la Central Electoral, lo que facilitar la transmisin de la informacin. Ser necesario prever la manera de poder revisar los resultados y atender las reclamaciones.
Creacin de archivos histricos Hay que considerar la posibilidad de ampliar las funcionalidades del programa en una prxima versin con la generacin de archivos histricos en los que se guarden los resultados de las diferentes mesas y que permitan hacer consultas, extraer informacin interesante y hacer estudios estadsticos comparativos.
Pgina 26 de 201
2.2.3.8. Escrutinio
Esta opcin permitir hacer un seguimiento del proceso de escrutinio. Se ofrecern diferentes tipos de estadsticas: porcentaje de electores hombres y mujeres, resultados por partido, resultados por candidatura, resultados por mesa, resultados por centro, resultados por ciudad y provincia y comparacin con histricos de otras elecciones. Se podrn obtener listados diferentes en varios formatos: texto, HTML, por pantalla, por impresora, etc.
Participacin por centros Esta opcin mostrar una lista de los centros con los datos absolutos de participacin hasta el momento y el porcentaje que eso representa en cada uno.
Participacin total Esta opcin mostrar el total de electores que han votado y el porcentaje que representa del total.
Escrutinio total Esta opcin presentar la lista de los candidatos, las siglas del partido al que pertenecen, el nmero absoluto de votos que han recibido hasta el momento en todos los centros y el porcentaje que eso representa del total de votos.
Pgina 27 de 201
2.2.4.1. Identificacin
El terminal de la mesa se deber identificar. Es decir, se tendr que introducir el DNI del presidente de la mesa.
Pgina 28 de 201
2.2.5.1. Identificacin
Esta opcin servir para introducir los datos del centro de votacin (incluyendo el DNI y la contrasea del responsable). Se tendr que efectuar al poner en marcha el programa y ya no ser necesario reintroducirla mientras no se detenga el programa.
2.2.5.2. Votacin
Ser la opcin que permitir la accin de votar propiamente dicha. Consistir en una secuencia de dilogos que se ir repitiendo mientras haya electores que quieran votar. La secuencia es la siguiente: Introduccin de la contrasea Este dilogo pedir al votante que introduzca su contrasea. Si no la reconociera o ya se hubiera utilizado, no se le permitir acceder al dilogo siguiente y se le pedir que lo vuelva a intentar. Se permiten hacer hasta tres intentos, y una vez superado este lmite el sistema se bloquear y avisar a la mesa de la irregularidad.
Seleccin del candidato Una vez aceptada la contrasea, el sistema presentar un dilogo con los nombres de los candidatos y unas breves instrucciones. El votante deber seleccionar el nombre del candidato de los disponibles en una lista en la que estarn los candidatos nmero uno de cada partido y el nombre del partido al que pertenecen. Al elegir un candidato, se mostrar la lista de los otros candidatos del mismo partido. Se prev la posibilidad de votar en blanco. Todo elector, en cuanto se ha identificado ante la mesa con el DNI, por defecto hace un voto nulo que dejar de serlo si termina correctamente el proceso de votacin.
Pgina 29 de 201
Confirmacin de la seleccin Una vez seleccionada, aparecer un nuevo dilogo para que confirme que la opcin es la que quera. Se preguntar al votante si su seleccin es la que quera elegir. En el caso de pulsar el botn del S, la votacin se habr llevado a cabo. Si pulsa el botn del No, volver al dilogo de seleccin del candidato para volver a intentarlo.
Despedida Una vez efectuada la votacin, aparecer un dilogo en el que se confirmar al votante que su voto se ha registrado y se le agradecer su participacin. Permanecer un tiempo en la pantalla para que lo pueda leer y despus desaparecer para dar paso otra vez al dilogo de la Introduccin de la contrasea y continuar as con el votante siguiente.
Pgina 30 de 201
b) Se cierran los terminales de las mesas (envo de los votos al centro de votacin y confeccin del acta electoral de la mesa). 9. Escrutinio total. a) Si no se han cerrado todas las mesas, informar (terminales colgados). b) Lista de los candidatos con los votos recibidos. c) Lista de los centros con el nmero de votos emitidos.
Pgina 31 de 201
Pgina 32 de 201
Pgina 33 de 201
Pgina 34 de 201
Pgina 35 de 201
Pgina 36 de 201
Identificamos los objetos que utilizan los casos de uso anteriores mediante el diagrama de colaboracin. Diagrama de colaboracin de Comisin:
Pgina 37 de 201
Ilustracin 9. Diagrama de colaboracin (Votante) Anlisis y Diseo de un sistema de votacin VotoDigital Csar Zambudio Jimnez
Pgina 38 de 201
2.3.2. Requisitos
En este apartado vamos a definir los requisitos definiendo la identificacin de actores: Comisin electoral. Tiene seis papeles: o Gestionar a los electores. o Gestionar los partidos polticos. o Gestionar los candidatos. o Gestionar los centros. o Gestionar los municipios. o Gestionar las comarcas. o Gestionar las mesas electorales. o Tratar el escrutinio. o Tratar la participacin. La Comisin electoral se descompone en tres: o Miembro Mantenimiento (Gestin de candidatos, partidos, electores, mesas electorales, centros, municipios, comarcas y comisin). o Miembro Estadstico (Tratamiento de escrutinio y participacin). o Miembro Junta: Lo mismo que los miembros de mantenimiento y de comisin. Mesa Electoral. Tiene cuatro papeles: o Identificar la mesa. o Identificar a los votantes. o Gestionar las contraseas. o Enviar los votos escrutados. Votantes: Solo tienen un papel, votar como es obvio. A continuacin vemos los diagramas de casos de uso de los requisitos anteriormente especificados:
Pgina 39 de 201
Pgina 40 de 201
Pgina 41 de 201
Pgina 42 de 201
GESTIN DE LOS ELECTORES Identificador. 01 Prioridad [1...10]. 10 Resumen funcionalidad general Introduce, modifica, borra y/o consulta a un elector en la base de datos (BD). Papel dentro del trabajo de usuario Es uno de los principales casos de uso de la Comisin. Actores El miembro de la Junta y el miembro de mantenimiento. Precondicin El elector (Votante) no est en la base de datos en caso de creacin. El elector tiene que estar para el resto de las funciones.
Postcondicin El elector est incorporado en la base de datos en caso de creacin. En caso de modificacin, eliminacin y consulta, se efecta la operacin o se emite un mensaje explicativo de las razones por las que no se ha podido llevar a cabo. Descripcin En caso de creacin, la comisin introduce el DNI, el nombre y los apellidos del votante y el cdigo de la mesa del centro de votacin que le corresponde. Si el cdigo no estuviera, se indicar esta circunstancia. En el resto de las operaciones la comisin introducir el DNI para poder acceder al elector. Observaciones La oficina censal electoral proporcionar toda esta informacin.
Tabla 1. Caso de uso Gestin de electores
Pgina 43 de 201
GESTIN DE LOS CANDIDATOS Identificador. 02 Prioridad [1...10]. 10 Resumen funcionalidad general Introduce, modifica, borra y/o consulta a un candidato en la base de datos (BD). Papel dentro del trabajo de usuario Es uno de los principales casos de uso de la Comisin. Actores El miembro de la Junta y el miembro de mantenimiento. Precondicin El candidato no est en la base de datos en caso de creacin y el candidato tiene que estar para el resto de las funciones.
Postcondicin El candidato est incorporado en la base de datos en caso de creacin. En caso de modificacin, eliminacin y consulta, se efecta la operacin o se emite un mensaje explicativo de las razones por las que no se ha podido llevar a cabo. Descripcin En caso de creacin, la comisin introduce el DNI, el nombre y los apellidos del candidato y el cdigo del partido al que corresponde. Si el cdigo no estuviera, se indicar esta circunstancia. En el resto de las operaciones la comisin introducir el DNI para poder acceder al candidato. Observaciones La oficina censal electoral proporcionar toda esta informacin.
Tabla 2. Caso de uso Gestin de candidatos
Pgina 44 de 201
GESTIN MESA ELECTORAL Identificador. 03 Prioridad [1...10]. 10 Resumen funcionalidad general Introduce, modifica, borra y/o consulta a una mesa electoral en la base de datos (BD). Papel dentro del trabajo de usuario Es uno de los principales casos de uso de la Comisin. Actores El miembro de la Junta y el miembro de mantenimiento. Precondicin La mesa electoral no est en la base de datos en caso de creacin y la mesa electoral tiene que estar para el resto de las funciones.
Postcondicin La mesa electoral est incorporada en la base de datos en caso de creacin. En caso de modificacin, eliminacin y consulta, se efecta la operacin o se emite un mensaje explicativo de las razones por las que no se ha podido llevar a cabo. Descripcin En caso de creacin, la comisin introduce el cdigo, el centro al que pertenece. Si el centro no estuviera, se indicar esta circunstancia. En el resto de las operaciones la comisin introducir el cdigo para poder acceder al candidato. Observaciones La oficina censal electoral proporcionar toda esta informacin.
Tabla 3. Caso de uso Gestin Mesa Electoral
Pgina 45 de 201
GESTIN CENTROS Identificador. 04 Prioridad [1...10]. 10 Resumen funcionalidad general Introduce, modifica, borra y/o consulta a un centro en la base de datos (BD). Papel dentro del trabajo de usuario Es uno de los principales casos de uso de la Comisin. Actores El miembro de la Junta y el miembro de mantenimiento. Precondicin El centro no est en la base de datos en caso de creacin y el centro tiene que estar para el resto de las funciones.
Postcondicin El centro est incorporada en la base de datos en caso de creacin. En caso de modificacin, eliminacin y consulta, se efecta la operacin o se emite un mensaje explicativo de las razones por las que no se ha podido llevar a cabo. Descripcin En caso de creacin, la comisin introduce el cdigo, el municipio al que pertenece. Si el municipio no estuviera, se indicar esta circunstancia. En el resto de las operaciones la comisin introducir el cdigo para poder acceder al candidato. Observaciones La oficina censal electoral proporcionar toda esta informacin.
Tabla 4. Caso de uso Gestin Centro
Pgina 46 de 201
GESTIN MUNICIPIOS Identificador. 05 Prioridad [1...10]. 10 Resumen funcionalidad general Introduce, modifica, borra y/o consulta a un municipio en la base de datos (BD). Papel dentro del trabajo de usuario Es uno de los principales casos de uso de la Comisin. Actores El miembro de la Junta y el miembro de mantenimiento. Precondicin El municipio no est en la base de datos en caso de creacin y el municipio tiene que estar para el resto de las funciones.
Postcondicin El municipio est incorporada en la base de datos en caso de creacin. En caso de modificacin, eliminacin y consulta, se efecta la operacin o se emite un mensaje explicativo de las razones por las que no se ha podido llevar a cabo. Descripcin En caso de creacin, la comisin introduce el cdigo, la comarca al que pertenece. Si la comarca no estuviera, se indicar esta circunstancia. En el resto de las operaciones la comisin introducir el cdigo para poder acceder al candidato. Observaciones La oficina censal electoral proporcionar toda esta informacin.
Tabla 5. Caso de uso Gestin Municipios
Pgina 47 de 201
GESTIN COMARCAS Identificador. 06 Prioridad [1...10]. 10 Resumen funcionalidad general Introduce, modifica, borra y/o consulta a una comarca en la base de datos (BD). Papel dentro del trabajo de usuario Es uno de los principales casos de uso de la Comisin. Actores El miembro de la Junta y el miembro de mantenimiento. Precondicin La comarca no est en la base de datos en caso de creacin y la comarca tiene que estar para el resto de las funciones.
Postcondicin La comarca est incorporada en la base de datos en caso de creacin. En caso de modificacin, eliminacin y consulta, se efecta la operacin o se emite un mensaje explicativo de las razones por las que no se ha podido llevar a cabo. Descripcin En caso de creacin, la comisin introduce el cdigo. En el resto de las operaciones la comisin introducir el cdigo para poder acceder al candidato. Observaciones La oficina censal electoral proporcionar toda esta informacin.
Tabla 6. Caso de uso Gestin Comarcas
Pgina 48 de 201
GESTIN PARTIDOS Identificador. 07 Prioridad [1...10]. 10 Resumen funcionalidad general Introduce, modifica, borra y/o consulta a un partido en la base de datos (BD). Papel dentro del trabajo de usuario Es uno de los principales casos de uso de la Comisin. Actores El miembro de la Junta y el miembro de mantenimiento. Precondicin El partido no est en la base de datos en caso de creacin y el partido tiene que estar para el resto de las funciones.
Postcondicin El partido est incorporada en la base de datos en caso de creacin. En caso de modificacin, eliminacin y consulta, se efecta la operacin o se emite un mensaje explicativo de las razones por las que no se ha podido llevar a cabo. Descripcin En caso de creacin, la comisin introduce el cdigo, las siglas del partido. En el resto de las operaciones la comisin introducir el cdigo para poder acceder al candidato. Observaciones La oficina censal electoral proporcionar toda esta informacin.
Tabla 7. Caso de uso Gestin Partidos.
Pgina 49 de 201
GESTIN TRATAMIENTO ESCRUTINIO Identificador. 08 Prioridad [1...10]. 10 Resumen funcionalidad general Hace el recuento propiamente dicho segn diferentes opciones. Tambin estudia estadsticas. Papel dentro del trabajo de usuario Es una de los principales casos de uso de la Comisin. Actores El miembro Estadstico Precondicin Es necesario que el centro cuyo escrutinio se quiere hacer haya terminado el proceso de votacin, es decir, es necesario que el responsable haya cerrado la mesa.
Postcondicin Para el resto de las operaciones, se habrn efectuado o se habr emitido un mensaje explicativo con las razones por las que no se ha podido llevar a cabo. Descripcin Se hace un seguimiento del proceso de escrutinio. Se suman los resultados enviados por cada centro. Se consulta Voto y se recogen los datos que tienen asociados. Las estadsticas se calculan accediendo a la base de datos y recogiendo toda la informacin necesaria. Observaciones Importante: Siguiendo la normativa electoral, no se permite hacer ningn tipo de escrutinio hasta que no haya acabado completamente el proceso de votaciones y se hayan cerrado los centros de votacin a los electores.
Tabla 8. Caso de uso Gestin Tratamiento Escrutinio
Pgina 50 de 201
GESTIN PARTICIPACIN Identificador. 09 Prioridad [1...10]. 10 Resumen funcionalidad general Clculos de participacin. Papel dentro del trabajo de usuario Es uno de los principales casos de uso de la Comisin. Actores El miembro estadstico. Precondicin Ninguna. Postcondicin Se efecta o se emite un mensaje explicativo con las razones por las que no se ha podido llevar a cabo. Descripcin Se calcula la participacin segn las diferentes opciones que permite obtener porcentajes de participaciones parciales y/o totales, y tambin en diferentes lugares. Observaciones Se permite practicar participaciones parciales en el proceso de votacin para difundirlas si es preciso.
Tabla 9. Caso de uso Gestin Participacin
Pgina 51 de 201
IDENTIFICACIN Y CIERRE MESA Identificador. 10 Prioridad [1...10]. 10 Resumen funcionalidad general Identifica, abre y cierra el centro de votacin. Papel dentro del trabajo de usuario Es uno de los principales casos de uso de la Mesa Electoral Actores La Mesa Electoral Casos de uso Relacionados Crear el acta y enviar el escrutinio Precondicin La mesa tiene que estar en la base de datos. Para abrir la mesa, es necesario que el sistema no est abierto y, para cerrarla, es necesario que lo est. Postcondicin El centro est identificado. En caso de no poderse identificar, se deber emitir un mensaje informativo por pantalla detallando las razones por las que no se ha podido identificar. Al cerrar, el sistema queda cerrado y no admite ms votaciones y en este mismo momento es enva el escrutinio a la central. Descripcin El responsable de la mesa introduce su DNI, el Terminal lo identifica, le permite acceder a las otras funciones de la mesa y acepta los votos que le llegan de los terminales de las cabinas. Una vez que el responsable ha accedido a la funcin de cerrar la mesa mediante su DNI, no se admitirn ms votos en las cabinas. En el momento de cerrar, un proceso automtico enviara los votos que ha obtenido cada partido en aquella mesa de la central. Observaciones
Tabla 10. Caso de uso Identificacin y cierre mesa
Pgina 52 de 201
GESTIN MESA ELECTORAL Identificador. 11 Prioridad [1...10]. 10 Resumen funcionalidad general Se identifica el elector en el momento previo de emitir el voto Papel dentro del trabajo de usuario Una de las tareas principales de la mesa electoral. Actores La mesa electoral Precondicin El elector tiene que estar en la base de datos Postcondicin El elector ha sido identificado y se ha creado una contrasea que se le ha proporcionado. Descripcin El elector (votante) ensea su DNI para identificarse ante la mesa. La mesa introduce el nmero del DNI con el fin de identificarlo. En caso de identificacin positiva, se marca el DNI como identificado. Una vez identificado, se pone en marcha automticamente un proceso interno para generar una contrasea que se enva a la impresora y que se proporciona al elector en un papel cerrado similar al que utilizan los bancos para comunicar las contraseas de las tarjetas. Observaciones Una vez que el votante se ha identificado, el voto que le corresponde se le considera nulo hasta que no emita otro tipo de voto.
Tabla 11. Caso de uso Identificar elector
Pgina 53 de 201
Pgina 54 de 201
GESTIN COMPROBAR CONTRASEA Identificador. 13 Prioridad [1...10]. 10 Resumen funcionalidad general Introduce la contrasea en el Terminal de la cabina de votacin. Papel dentro del trabajo de usuario Una de las principales tareas del votante. Actores El votante. Precondicin El votante tiene que disponer de la contrasea y el Terminal preparado para recibirla.
Postcondicin El votante ha introducido la contrasea y se ha borrado de la base de datos local. Descripcin Si se acepta contrasea, el sistema responde con la pantalla siguiente dentro del proceso normal. En caso de no aceptarla, se presentar una pantalla de dialogo que informa del error y que invita a repetir el proceso. Si en un margen de tres intentos consecutivos no ha sido posible aceptar la contrasea, el Terminal no admitira mas entradas. Observaciones La contrasea se borra de la base de datos local una vez introducida. En caso de llegar a los tres intentos fallidos al introducirla, el presidente de la mesa evaluar el caso y devolver al sistema de la cabina afectada el proceso normal por medio de una combinacin de teclas.
Tabla 13. Caso de uso Comprobar contrasea
Pgina 55 de 201
EMITIR VOTO Identificador. 14 Prioridad [1...10]. 10 Resumen funcionalidad general Introduce el voto. Papel dentro del trabajo de usuario Es uno de los principales casos de uso del votante Actores El votante Precondicin El votante ha introducido la contrasea y esta es vlida.
Postcondicin El programa mostrar una ventana comunicando el xito del mismo y pasado un tiempo se cerrara para dar paso a otro votante. Descripcin El votante, si no se ha identificado (contrasea) con anterioridad, se mostrara una pantalla invitando al votante a introducir la contrasea. Si es correcto, saldr una ventana con los diferentes partidos, el votante slo votara a uno o elegir un voto nulo. Observaciones Es importante la introduccin de la contrasea con anterioridad.
Tabla 14. Caso de uso Emitir Voto
Pgina 56 de 201
Pgina 57 de 201
Pgina 58 de 201
Pgina 59 de 201
Pgina 60 de 201
Pgina 61 de 201
Pgina 62 de 201
Pgina 63 de 201
Pgina 64 de 201
Pgina 65 de 201
Pgina 66 de 201
Pgina 67 de 201
Pgina 68 de 201
Pgina 69 de 201
Pgina 70 de 201
Pgina 71 de 201
Pgina 72 de 201
Pgina 73 de 201
Pgina 74 de 201
Pgina 75 de 201
Pgina 76 de 201
Pgina 77 de 201
Pgina 78 de 201
En cada paquete se divide en otros menores, refirindonos al paquete CentralElectoral hay dos paquetes interiores que son la GestionBasica y el CalculoVotos. Mientras que el paquete CentrosElectorales tiene dos paquetes interiores totalmente diferentes ya que uno pertenece al subsistema de las Mesas Electorales (identificacin de los electores, creacin de contraseasetc.) y el otro es del subsistema de los electores cuya funcin es votar.
Pgina 79 de 201
Elementos principales Los elementos principales de la arquitectura cliente servidor son justamente el elemento llamado cliente y el otro elemento llamado servidor. Por ejemplo dentro de un ambiente multimedia, el elemento cliente seria el dispositivo que puede observar el vdeo, cuadros y texto, o reproduce el audio distribuido por el elemento servidor. Por otro lado el cliente tambin puede ser una computadora personal o una televisin inteligente que posea la capacidad de entender datos digitales. Dentro
Anlisis y Diseo de un sistema de votacin VotoDigital Csar Zambudio Jimnez
Pgina 80 de 201
de este caso el elemento servidor es el depositario del vdeo digital, audio, fotografas digitales y texto y los distribuye bajo demanda de ser una maquina que cuenta con la capacidad de almacenar los datos y ejecutar todo el software que brinda stos al cliente.
La primera capa es la de aplicacin y se corresponde con la implementacin real de las aplicaciones cliente y servidor. Aqu tienen lugar las llamadas a alto nivel para acceder y exportar objetos remotos. Cualquier aplicacin que quiera que sus mtodos estn disponibles para su acceso por clientes remotos debe declarar dichos mtodos en una interfaz que extienda java.rmi.Remote. Dicha interfaz se usa bsicamente para "marcar" un objeto como remotamente accesible. Una vez que los mtodos han sido implementados, el objeto debe ser exportado. Esto puede hacerse de forma implcita si el objeto extiende la clase UnicastRemoteObject (paquete java.rmi.server), o puede hacerse de forma explcita con una llamada al mtodo exportObject() del mismo paquete.
Pgina 81 de 201
La capa 2 es la capa proxy, o capa stub-skeleton. Esta capa es la que interacta directamente con la capa de aplicacin. Todas las llamadas a objetos remotos y acciones junto con sus parmetros y retorno de objetos tienen lugar en esta capa. La capa 3 es la de referencia remota, y es responsable del manejo de la parte semntica de las invocaciones remotas. Tambin es responsable de la gestin de la replicacin de objetos y realizacin de tareas especficas de la implementacin con los objetos remotos, como el establecimiento de las persistencias semnticas y estrategias adecuadas para la recuperacin de conexiones perdidas. En esta capa se espera una conexin de tipo stream (stream-oriented connection) desde la capa de transporte. La capa 4 es la de transporte. Es la responsable de realizar las conexiones necesarias y manejo del transporte de los datos de una mquina a otra. El protocolo de transporte subyacente para RMI es JRMP (Java Remote Method Protocol), que solamente es "comprendido" por programas Java. Toda aplicacin RMI normalmente se descompone en 2 partes: Un servidor, que crea algunos objetos remotos, crea referencias para hacerlos accesibles, y espera a que el cliente los invoque. Un cliente, que obtiene una referencia a objetos remotos en el servidor, y los invoca.
Pgina 82 de 201
3. Diseo
Despus de analizar los requisitos y la especificacin de VotoDigital, entramos ahora en la fase de diseo en donde se disea la aplicacin partiendo de los requisitos y anlisis anteriormente vistos. Esta parte es fundamental en el desarrollo de cualquier aplicacin compleja, ya que ayuda para su posterior implementacin y ahorra bastante tiempo.
Pgina 83 de 201
Votacin Elector, que es el subsistema encargado de registrar el voto. Lo ejecutan los electores desde las cabinas. Identifica la contrasea que introduce el elector, le muestra como opciones los partidos que se presentan en las elecciones y, una vez hecha la eleccin, enva el resultado a su mesa.
Pgina 84 de 201
Pgina 85 de 201
De la misma manera, los datos sobre los candidatos y sus partidos son proporcionados por el organismo apropiado. Est previsto que el sistema pueda acoger listas de candidatos por la unidad elemental. As, diferentes zonas electorales pueden tener listas de candidatos diferentes para un mismo partido. Un candidato, como elector que es, est asignado a una mesa en concreto y, por lo tanto, pertenece a un centro, municipio y comarca establecidos. La funcionalidad del software permite cambiar a los electores de mesa y, por lo tanto, tambin a los candidatos. De esta manera se puede asignar a un candidato a otras comarcas a voluntad. Durante los comicios, la actividad en las mesas es gestionada por unos responsables elegidos segn los criterios siguientes: Deben pertenecer a la lista de electores del municipio en cuestin. Deben tener un nivel de estudios mnimo de graduado escolar. Se hace una eleccin aleatoria entre los electores de un municipio, se descarta al que no cumpla el perfil pedido y se elige a otro de forma aleatoria hasta conseguir a los seis responsables necesarios en cada mesa. Esta informacin se utiliza para crear y gestionar las mesas en la base de datos de la central. Los almacenes de datos sobre los electores y los votos se mantienen separados y sin ningn tipo de conexin para que no se pueda relacionar nunca el voto con la persona que lo ha emitido. Dado que los votos llegan a la central desde las mesas ya sumados y clasificados por candidato de mesa, se hace imposible cualquier relacin elector-voto.
Pgina 86 de 201
Pgina 87 de 201
Pgina 88 de 201
Pgina 89 de 201
Pgina 92 de 201
Pgina 93 de 201
Pgina 94 de 201
Pgina 95 de 201
Pgina 96 de 201
Pgina 97 de 201
Pgina 98 de 201
Pgina 99 de 201
3.2.6. Diagrama ER
El modelo ER es uno de los enfoques de modelizacin de datos que ms se utiliza actualmente por su simplicidad y legibilidad. Su legibilidad se ve favorecida porque proporciona una notacin diagramtica muy comprensiva. Es una herramienta til tanto para ayudar al diseador a reflejar en un modelo conceptual los requisitos del mundo real de inters como para comunicarse con el usuario final sobre el modelo conceptual obtenido y, de este modo, poder verificar si satisface sus requisitos. El modelo ER resulta fcil de aprender y de utilizar en la mayora de las aplicaciones. Adems, existen herramientas informticas de ayuda al diseo (herramientas CASE, DIA entre otros) que utilizan alguna variante del modelo ER para hacer el diseo de los datos. El nombre completo del modelo ER es entity-relationship, y proviene del hecho de que los principales elementos que incluye son las entidades y las interrelaciones (entities y relationships). Traduciremos este nombre por entidadinterrelacin. El origen del modelo ER se encuentra en trabajos efectuados por Peter Chen en 1976. Posteriormente, muchos otros autores han descrito variantes y/o extensiones de este modelo. As pues, en la literatura se encuentran muchas formas diferentes del modelo ER que pueden variar simplemente en la notacin diagramtico o en algunos de los conceptos en que se basan para modelizar los datos. Cuando se quiere utilizar el modelo ER para comunicarse con el usuario, es recomendable emplear una variante del modelo que incluya slo sus elementos ms simples entidades, atributos e interrelaciones y, tal vez, algunas construcciones adicionales, como por ejemplo entidades dbiles y dependencias de existencia. stos eran los elementos incluidos en el modelo original propuesto por Chen. En cambio, para llevar a cabo la tarea de modelizar propiamente dicha, suele ser til usar un modelo ER ms completo que incluya construcciones ms avanzadas que extienden el modelo original. Segn la nocin de modelo de datos,un modelo de datos tiene en cuenta tres aspectos de los datos: la estructura, la manipulacin y la integridad. Sin embargo, el modelo ER habitualmente se utiliza para reflejar aspectos de la estructura de los datos y de su integridad, pero no de su manipulacin. A continuacin vemos el diagrama de ER para nuestro caso y la identificacin de atributos.
Descripcin de los atributos del diagrama ER IDENTIFICADOR codigo-identificador DNI (subclase de IDENTIFICADOR) codigo-identificador NIF (subclase de DNI) codigo-identificador, letra-nif PERSONA codigo-persona, nombre, apellido, direccin, sexo, fecha-nacimiento MIEMBRO-COMISION (subclase de PERSONA) codigo-persona, nivel-privilegio, contrasea, sueldo MIEMBRO-JUNTA (subclase de MIEMBRO-COMISION) codigo-persona MIEMBRO-MANTENIMIENTO (subclase de MIEMBRO-COMISION) codigo-persona MIEMBRO-ESTADISTICO (subclase de MIEMBRO-COMISION) codigo-persona ELECTOR (subclase de PERSONA) codigo-persona, nivel-estudios, identificado CANDIDATO (subclase de ELECTOR) (entidad dbil: codigo-persona identifica parcialmente el candidato, se identifica completamente con el partido) codigo-persona PARTIDO codigo-partido, siglas, nombre CONTRASENIA Contrasea ACTA codigo-acta, incidencias MESA (entidad dbil: codigo-mesa identifica la mesa parcialmente, se identifica completamente con el centro)
Anlisis y Diseo de un sistema de votacin VotoDigital Csar Zambudio Jimnez
codigo-mesa, codigo-presidente, codigo-vocal1, codigo-vocal2, codigopresidentesuplente, codigo-vocal1-suplente, codigo-vocal2-suplente CENTRO (entidad dbil: codigo-centro identifica parcialmente el centro, se identifica completamente con el municipio) codigo-centro, nombre-centro MUNICIPIO (entidad dbil: codigo-municipio identifica parcialmente el municipio, se identifica completamente con la comarca) codigo-municipio, nombre-municipio COMARCA (entidad dbil: codigo-comarca identifica parcialmente la comarca, se identifica completamente con la circunscripcin) codigo-comarca, nombre-comarca CIRCUNSCRIPCION codigo-circunscripcion, nombre-circunscripcion FECHA fecha
- Las interacciones se basarn en acciones fsicas sobre elementos de cdigo visual o auditivo (iconos, imgenes, mensajes...) antes que en selecciones de tipo men con sintaxis y rdenes. - Las operaciones sern rpidas, incrementales y reversibles, con efectos inmediatos. - Tratamiento del error bien cuidado y adecuado al nivel de usuario y contenidos trabajados. Ya que el elemento principal de este interfaz es la pantalla del ordenador, se tendr especial cuidado en su organizacin, combinando Informacin, elementos de interaccin y la informacin interactiva.
1.1.
1.2.
1.3.
1.4.
1.5.
1.6.
1.7.
1.8.
1.9.
Ilustracin 169. Pantalla Consultar Miembro Comisin Anlisis y Diseo de un sistema de votacin VotoDigital Csar Zambudio Jimnez
2. Aplicacin para los miembros del centro electoral 2.1. Identificacin para inicio sesin (presidente de la mesa)
2.2.
Pantalla principal
2.3.
2.4.
3.1.
Identificar Elector
3.2.
Pantalla principal
3.3.
3.4.
Votar (Elector)
Ilustracin 184. Pantalla Votar Anlisis y Diseo de un sistema de votacin VotoDigital Csar Zambudio Jimnez
4. Otras pantallas 4.1. Pantalla de error Para cualquier tipo de error la tratara el tratamiento de excepciones de la aplicacin, en el siguiente apartado veremos los tratamientos de excepciones.
3.3.1. Reutilizacin
La reutilizacin, uno de los aspectos ms importantes de la programacin orientada a objetos, es posible desde la fase de diseo. Desgraciadamente, hay mucha gente que restringe la reutilizacin al cdigo y, por lo tanto, la hace exclusiva de la fase de implementacin. La reutilizacin proporciona muchos beneficios, entre los cuales hay que destacar un coste ms bajo del desarrollo de software y la robustez que confiere al sistema, ya que los componentes suelen ser altamente comprobados. Tanto en la fase de diseo como en la de implementacin, la reutilizacin se puede llevar a cabo de diferentes formas: Reutilizacin de componentes existentes. La existencia de libreras de componentes (las desarrolladas por otros programadores, las del propio lenguaje o nuestras propias libreras) puede reducir de forma considerable nuestros esfuerzos. As, nuestro diseo puede incluir directamente componentes o jerarquas previamente desarrollados. Los hay de un carcter muy general, como podra ser un componente Persona del que heredaran otros actores del sistema, como Elector o Miembro. Reutilizacin mediante el uso de la herencia. La misma tecnologa OO, cuando se aplica correctamente, proporciona esta posibilidad. En este contexto utilizamos la herencia para derivar clases ms especficas a partir de otras de ms generales. Por ejemplo, podramos derivar Candidato de la clase Elector, ya que un candidato es elector. Reutilizacin mediante la reingeniera de componentes existentes. Teniendo en cuenta las particularidades del sistema que hay que desarrollar, no siempre es posible reutilizar componentes directamente en el sentido de que no satisfacen completamente la especificacin de nuestro sistema. Muchas veces, sin embargo, hay componentes que satisfacen la mayora de los requerimientos de nuestro sistema, lo que hace que se puedan reutilizar. Por este motivo hay que hacer previamente un proceso llamado reengineering para completar el componente con otras funcionalidades que le faltan o sobrecargar algunas. As, por ejemplo, se puede reutilizar el componente Date presente en libreras de casi todos los lenguajes OO, pero, si quisiramos funcionalidades como
Anlisis y Diseo de un sistema de votacin VotoDigital Csar Zambudio Jimnez
ultimoDiaDelMes o transformar un objeto Date en formato largo y en castellano (como, por ejemplo, sbado, 2 de marzo de 2002) tendramos que hacer un reengineering del componente Date.
Vista la importancia de la reutilizacin, los programadores y las empresas de desarrollo de software disean e implementan con el objetivo de reutilizar. Sin embargo, el diseo de componentes es una tarea difcil, ya que un componente tiene que estar diseado para un propsito general, sin pensar en ninguna aplicacin concreta. En los equipos de desarrollo de software OO se habla de evaluadores de la reutilizacin cuando se trata de miembros de equipo encargados de buscar componentes existentes que se pueden reutilizar y de productores cuando se trata de desarrolladores de nuevos componentes.
Clase Descripcin de la clase Tipo de clase Caractersticas de la clase Responsabilidades Nombre de la responsabilidad su descripcin
Nombre de la Clase Texto para describir la clase Dispositivo, propiedad, rol, acontecimiento, etc. Tangible (abstracta, concreta), atmica, etc. Colaboraciones/colaboradores Nombre de clase colaboradora.
Una ficha CRC se acompaa con la informacin de los atributos y mtodos de la clase en forma de un diagrama, como la que sigue:
Nombre de laClase Atributo1 Atributo2 Atributo3 . Metodo1() Metodo2() Metodo3()
Tabla 16. Ejemplo de ficha CRC II
Tipo de clase Caractersticas de la clase Responsabilidades Modela un objeto Persona con sus datos bsicos.
Persona Define las propiedades comunes de toda persona que interviene en el proceso electoral. Propiedad: clase principal Abstracta, compuesta Colaboraciones DNI, identificador
Clase Descripcin de la clase Tipo de clase Caractersticas de la clase Responsabilidades Crea un elector, lo destruye, lo modifica y lo consulta.
Elector hereda de Persona Crea un elector (votante). Hereda de Persona aadiendo otros datos. Propiedad: clase principal. Concreta, compuesta, persistente. Colaboraciones DNI, Mesa, PantallaContrasea, ExcepcionElector
Clase Descripcin de la clase Tipo de clase Caractersticas de la clase Responsabilidades Crea un candidato, lo destruye, lo modifica y lo consulta
Candidato hereda de Elector Crea un candidato Propiedad: clase principal Concreta, compuesta, persistente Colaboraciones Partido, PantallaContrasea, ExcepcionCandidato, ExcepcionElector
Clase Descripcin de la clase Tipo de clase Caractersticas de la clase Responsabilidades Crea una contrasea, lo destruye, lo modifica y la consulta
Contrasenia Crea una contrasea Propiedad: clase principaal Concreta, compuesta, persistente Colaboraciones PantallaContrasenia, ExcepcionContrasenia
Excepcion Clase que gestiona cualquier error externo o interno producido durante la ejecucin del programa. Propiedad: clase auxiliar. Concreta, compuesta Colaboraciones PantallaError
4. Referencias consultadas
4.1. Referencias consultadas en Internet
http://www.abcdatos.com/tutoriales/tutorial/l11177.html http://www.noestudies.com/proyectos.htm http://www.biblioteca.co.cr/pdf/unidad12-4.pdf http://cv.uoc.es/cdocent/N6ZRPY7V4LP9LETMO3BG.pdf http://sunwc.cepade.es/~jrivera/org_temas/metodos/metod_analisis/wbs.htm http://vototelematico.diatel.upm.es/articulos/voto_electronico%20JITEL.pdf http://vototelematico.diatel.upm.es/articulos/voto_electronico%20JITEL.pdf http://www.fi-b.unam.mx/pp/profesores/carlos/aydoo/uml.html http://es.tldp.org/Tutoriales/doc-modelado-sistemasUML/multiplehtml/c124.html http://www.creangel.com/uml/paquetes.php http://www.monografias.com/trabajos24/arquitectura-clienteservidor/arquitectura-cliente-servidor.shtml http://java.sun.com/products/jdk/rmi/ http://www.xtec.es/~cdorado/cdora1/esp/disseny.htm http://www.itba.edu.ar/capis/rtis/articulosdeloscuadernosetapaprevia/cao12.pdf
5. Anexos
5.1 Anexo I. Planificacin, hitos y temporarizacin
La planificacin se basa en las fechas de entrega de pec (pruebas de validacin continua) segn el calendario docente de la asignatura TFC. Se intenta conseguir un seguimiento durante el desarrollo del TFC, en el que en cada pec se entrega una parte del contenido del proyecto, previo acuerdo con el consultor Juan Jos Cuadrado Gallego. Durante el desarrollo no se sigue ningn mtodo, ya que solo disponemos de un medio para el desarrollo de la asignatura, es decir, solo la realizara una sola persona. Se elegir un sistema de iteracin de ciclo de vida en cascada por el simple motivo de posibles modificaciones en las tareas anteriores. A continuacin detallaremos los detalles de la planificacin como la definicin de hitos y pautas a seguir durante el desarrollo del TFC.
Hitos y entregas de pec PEC Realizacin PEC1 Entrega PEC 1 Realizacin PEC1 Entrega PEC 2 Realizacin PEC3 Fecha 6/3/2006 13/3/2006 13/3/2006 17/3/2006 21/4/2006 21/4/2006 24/4/2006 29/5/2006
Nivel 1
Descomposicin estructural de actividades Nivel 2 Buscar tema TFC Marcar objetivos Realizacin de hitos temporarizacin Descripcin sistema y proceso y
Pec 1 Planificacin
Pec 3 - Diseo
Entrega final
Identificacin subsistemas Descripcin y resumen funcionalidades Recursos necesarios Glosario de entidades y actores Casos de uso Diagrama de paquetes Definicin arquitectura Representacin grafica subsistemas Diagramas UML Reutilizacin Diseo y jerarquas de excepciones Diseo interfaz de usuario Revisin tareas realizadas Elaboracin de la memoria Elaboracin presentacin visual
Tabla 23. Descomposicin estructural de actividades Anlisis y Diseo de un sistema de votacin VotoDigital Csar Zambudio Jimnez
Hardware Software
Documentacin
Medios a utilizar Ordenador personal Modelado UML StarUML 5.0, Poseidon, Microsft Visio 2003, DIA Diseo GUI Visual Basic 6.0, Microsoft Visio Planificacin Microsoft Project Procesamiento de MS Word, Adobe Acrobat textos Biblioteca UOC, Internet
Tabla 24. Medios a utilizar
Voto: Derecho del elector que ejerce a favor de un partido y/o candidato. El recuento de un conjunto de votos forma un escrutinio .