SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
INSTITUTO TECNOLOGICO DE MORELIA
DEPARTAMENTO DE SISTEMAS Y COMPUTACION
INGENIERÍA EN SISTEMAS COMPUTACIONALES
PPRROOYYEECCTTOO DDEE IINNGGEENNIIEERRIIAA DDEE SSOOFFTTWWAARREE IIII ((PPaarrttee 33))
SSIISSTTEEMMAA DDEE VVOOTTAACCIIÓÓNN EELLEECCTTOORRAALL EENN EELL EESSTTAADDOO DDEE
MMIICCHHOOAACCÁÁNN AA TTRRAAVVÉÉSS DDEE IINNTTEERRNNEETT UUSSAANNDDOO LLAA
MMEETTOODDOOLLOOGGÍÍAA OOMMTT
Elaborado por:
Víctor Manuel Chávez Gaona #Control: 99120839
Juan Carlos Olivares Rojas #Control: 99120871
Morelia, Michoacán a 27 de Mayo de 2003
Sistema de Votación Electrónica usando metodología OMT
Ingeniería de Software II
Como se sabe OMT tiene tres modelos a seguir:
1. Modelado de Objetos.
2. Modelado Dinámico.
3. Modelado Funcional.
MODELADOS DE OBJETOS
Los pasos para construir este modelo son:
Identificar los objetos y las clases.
De los requerimientos obtenidos por la Ingeniería de requerimientos de nuestro
proyecto obtuvimos las siguientes clases de objetos:
De estas clases alternativas, hay que seleccionar las correctas, de acuerdo a la
metodología OMT debemos quitar:
No hay clases redundantes.
No hay clases irrelevantes.
Clases vagas:
No hay clases que sean atributos
Clases que parecen operaciones:
Voto Servidor Cliente Usuario Portal Red
Planilla
electrónica
Base de
Datos
Seguridad Resultados
Concurrencia Mantenimiento Administración
Página
Web
Sincronización Respaldo Ayuda
Sistema
Cliente Mantenimiento Administración Sistema
Concurrencia Sincronización
Estas dos clases son operaciones de la
clase Servidor
Sistema de Votación Electrónica usando metodología OMT
Ingeniería de Software II
Clases que son rol:
Por lo que las clases ya refinadas de nuestro sistema son las siguientes:
Preparar un diccionario de datos.
De las clases obtenidas en el ejemplo anterior se prepara el diccionario de datos,
que es una descripción de lo que hace un objeto, sus alcances, atributos.
CLASE DESCRIPCIÓN
Voto Es la estructura de datos que indica al sistema la información
acerca de la opción de voto por la cual el votante voto. Esta
contiene al ID (identificador) del votante y opción del voto. El voto
se realiza cuando el usuario selecciona la opción de voto desde la
planilla electrónica y este voto va a llegar al servidor para su
procesamiento.
Servidor Es el encargado de realizar todos los procesos dentro del sistema,
como son el conteo de votos, manejo de sincronización y
concurrencia de procesos, validaciones; debe tener entre sus
propiedades un identificador de servidor, un reloj para uso de
sincronización de procesos. El servidor recibe un voto y las salidas
la manda a los módulos de seguridad, respaldo y base de datos.
Votante Es la persona que hace uso del sistema. Entre sus características
están las de tener una clave de elector y una clave única de acceso
al sistema. El votante es quien interactúa con la planilla electrónica,
el portal y las páginas Web. Además tiene una estructura de control
que indica que operaciones puede realizar sobre el sistema. El
votante es quien selecciona entre las distintas opciones de voto,
recibe la ayuda en línea del sistema e interactúa con el portal y
página Web del mismo.
Portal Es en sí la interfaz de usuario del sistema (cliente). Desde aquí el
votante puede votar en línea, pedir ayuda en línea, recibir
Se cambio de nombre a la clase
para que fuera más descriptivaUsuario Votante
Voto Servidor Votante Portal Red
Planilla
electrónica
Base de
Datos
ResultadosPágina
Web
Respaldo
Ayuda
Seguridad
Sistema de Votación Electrónica usando metodología OMT
Ingeniería de Software II
información y resultados del sistema. Entre los atributos del portal
esta la forma en que puede ser visualizado por el votante (diseño).
Red Es la infraestructura de comunicación que enlaza a todo el sistema.
Entre sus objetivos se encuentra estar revisando periódicamente el
buen funcionamiento de la red (revisar tráfico de la red). Esta
interactúa con los servidores proporcionándoles la información a
procesar así como a los votantes proporcionándoles los resultados
de las operaciones.
Planilla
electrónica
Es el formulario electrónico mediante el cual el votante introduce su
opción de voto, la planilla la captura y la envía al procesador para
su procesamiento.
Base de
datos
Es la entidad encargada de proporcionar información al sistema
acerca de los votantes y su voto. Para ello se realizan operaciones
de inserción, consulta, borrado y modificación de los datos
existentes en el sistema. La base de datos interactúa con la planilla
electrónica para identificar al usuario, también interactúa con el
servidor al recibir resultados de las votaciones y con el respaldo
para ser tolerante a fallas.
Seguridad Se encarga de mantener la integridad del sistema para evitar fallas
de consistencia en el mismo, para ello se necesita la
autentificación de usuarios y de procesos, la protección de los
datos usando criptografía, restringiendo el acceso a operaciones
privilegiadas del sistema. Esta parte se relaciona con el objeto voto
al encriptarlo, con los servidores al desencriptarlo y con la planilla
electrónica para autentificar al usuario.
Resultados Se encarga de proporcionar información al usuario acerca de los
procesos del sistema, como pueden ser los resultados de las
votaciones usando diferentes criterios de búsqueda, la información
se muestra mediante el uso de tablas y gráficos. Se relaciona con
el votante a través del portal y con los servidores quienes proveen
la información.
Pagina Web Es la encargada de visualizar información externa al sistema
(vínculos). Interactúa con el portal y con el votante quién es quien
recibe la información de la página Web.
Respaldo Este se encarga de hacer una copia de la información contenida en
la base de datos en un determinado tiempo para evitar la pérdida
de información dentro del sistema. Este se relaciona con el servidor
y con la base de datos.
Ayuda Se encarga de brindar información al votante de los aspectos del
sistema así como aclarar sus dudas más frecuentes relacionadas a
este, interactúa con el portal y con el votante.
Aquí quitamos la clase red ya que vimos que no corresponde exactamente con
nuestro problema, a esto se le llama visualizado por el usuario.
Identificar las asociaciones entre objetos (incluyendo agregaciones).
Sistema de Votación Electrónica usando metodología OMT
Ingeniería de Software II
Para realizar este paso es necesario realizar locuciones verbales para poder sacar
las asociaciones entre objetos.
Locuciones verbales:
ASOCIACION CARDINALIDAD
El voto se realiza en la planilla electrónica ▲ 1:1
El voto es procesado en el servidor. ■ n:1
El servidor recibe votos. 1:n
El servidor se comunica a seguridad. 1:1
El servidor se comunica a respaldo. 1:1
El servidor se comunica a base de datos. 1:1
El votante selecciona una de las opciones de voto. 1:1
El votante interactúa con el portal. n:n /
El votante interactúa con las páginas Web. n:n /
El votante accede a información de la ayuda n:1
El portal muestra información al votante.
El votante accede al portal.
n:1
El portal interactúa con el votante. 1:n /
La red proporciona información para procesar a los servidores. 1:n *
La red proporciona resultados de operaciones a los votantes. 1:n *
La planilla captura el voto del votante. ▲ 1:1
La planilla envía voto al servidor. ■ n:1
La base de datos interactúa con el servidor. 1:1 /
La base de datos interactúa con el respaldo. 1:1 /
La seguridad encripta voto. 1:n
La seguridad autentifica usuarios. 1:n
La seguridad desencripta voto. 1:n
Resultados muestra información al votante. n:m
Resultados recibe información del servidor. 1:1
Página Web visualiza información externa al votante. n:m
Respaldo se comunica con el servidor. 1:1
Respaldo se comunica con la base de datos. 1:1
La ayuda brinda información complementaria al votante. 1:n
Aparte de las locuciones que sacamos a través del diccionario de datos existen
aquellas que se dan a entender a través de otras y que llamaremos Locuciones
verbales implícitas:
ASOCIACIÓN CARDINALIDAD
La base de datos contiene votantes. 1:n
El servidor esta formado por varios servidores. 1:n
Los votantes tienen una clave secreta. 1:1
Sistema de Votación Electrónica usando metodología OMT
Ingeniería de Software II
Otro tipo de relaciones son aquellas que surgen con el Dominio del problema:
ASOCIACIÓN CARDINALIDAD
El portal se conecta con el servidor 1:1
Los servidores se sincronizan entre sí. m:n -
La base de datos debe tener acceso concurrente 1:n -
De las locuciones anteriores debemos eliminar las que no sirvan, para ello
debemos verificar lo siguiente:
Si hay atributos relaciones como por ejemplo las relaciones de la clase red (*).
Si hay atributos irrelevantes o de implementación como son: Los servidores se
sincronizan entre sí y la base de datos debe tener acceso concurrente (-).
Si hay atributos acciones: El portal interactúa con el votante; El votante interactúa
con el portal; El votante interactúa con la página Web (/).
No hay atributos ternarios.
Si hay clases derivadas revisar ▲ y ■.
No hay asociaciones de nombre incorrecto.
No hay nombres de rol.
Por el momento no hay asociaciones cualificadas.
Al estar revisando las asociaciones entre los diversos objetos del sistema se noto
que nos hicieron falta asociaciones, las cuales son Asociaciones inexistentes:
ASOCIACIONES CARDINALIDAD
El portal accede a la planilla electrónica. 1:1
El portal accede a página Web. 1:n
El portal accede a resultados. 1:1
El portal accede a ayuda. 1:n
Primer diagrama del modelo de objetos de nuestro sistema:
Sistema de Votación Electrónica usando metodología OMT
Ingeniería de Software II
Identificar atributos de objetos y enlace.
El primer paso es identificar los atributos de cada una de las clases, para ello
usaremos nuestro diccionario de datos:
CLASE ATRIBUTOS
Voto. ID votante, opción voto.
Servidor. ID servidor, reloj.
Votante. Clave elector, clave única, derechos.
Portal. Diseño, contenido.
Planilla
electrónica.
Opción.
Base de datos. ID base de datos, ID tabla, ID registro.
Seguridad. ID algoritmo.
Resultados. Hora
Página Web. Links (enlaces o vínculos).
Respaldo. Tiempo respaldo, ID respaldo.
Ayuda. Tipo de ayuda, consulta.
Con esta información el siguiente paso es eliminar atributos y optimizar los que se
encuentran de la siguiente forma:
No hay atributos que sean objetos.
Los atributos que son cualificadotes son los siguientes:
Votante Portal Planilla
Accede a Accede a
Opción
Se realiza
Voto
Clave
Ayuda
Accede a
Página
Web
Resultados Seguridad
Muestra a
Autentifica
Accede a
Accede a
Accede a
Encripta
Desencripta
Respaldo
Muestra a
Servidor
Se conecta a
Se comunica
con
Base de
datos
Se comunica con
Se comunica
con
Se comunica con
Se comunica
con
Se procesa
Selecciona
Contiene
Sistema de Votación Electrónica usando metodología OMT
Ingeniería de Software II
Opción (planilla electrónica).
Clave única (votante).
ID servidor (servidor).
ID base de datos, ID tabla e ID registro (Base de datos).
ID algoritmo (seguridad).
ID respaldo (respaldo).
No hay atributos que sean nombres.
No hay identificadores.
No hay atributos de enlace.
Atributos que son Valores internos son: Tiempo de respaldo en la clase respaldo.
No hay detalles finos.
No hay atributos discordantes.
El diagrama de objetos agregando los atributos de los objetos queda de la
siguiente manera:
Sistema de Votación Electrónica usando metodología OMT
Ingeniería de Software II
Organizar y simplificar las clases de objetos empleando la herencia.
De nuestras clases podemos ver que se puede hacer una generalización de la
misma simplificando nuestro modelo de objetos de la siguiente forma:
SUPERCLASE SUBCLASE REFINAMIENTO
Portal
Planilla
Resultados
Página Web
Cliente Web
Ayuda
Ascendente
Servidor maestroServidor
Servidor espejo
Descendente
Votante
Derechos
Portal
Diseño
Contenido
Clave
Elector
Clave
Única
Accede a
Página
Web
Link
Accede a
Muestra a
Muestra a
Ayuda
Tipo de ayuda
Consulta
Accede a
Resultados
Hora
Muestra a
Accede a
Planilla
Electrónica
Derechos
Accede a
Opción
Selecciona
Voto
ID votante
Opción voto
Seguridad
ID algoritmo
Se realiza Se procesa en
Se autentifica
Encripta
Desencripta
Se comunica con
Servidor
Reloj
ID servidor
Se conecta a Se comunica con
Respaldo
ID respaldo
Se comunica con
Base de
datos
ID tabla
ID Base de datos
ID registro
Se comunica con
Se comunica con
Contiene
Sistema de Votación Electrónica usando metodología OMT
Ingeniería de Software II
Servidor secundario
Base de datos padrón
electoralBase de datos
Base de datos votación
Diagrama de objetos con herencia:
Votante
Derechos
Cliente
Web
Diseño
Contenido
Link
Hora
Portal
Clave
elector
Clave
elector
Página
Web
Ayuda
Tipo de ayuda
Consulta
Accede a
Accede a
Resultados Planilla
Opción
Accede a
Accede a
Selecciona
Voto
ID votante
Opción voto
Se realiza
Servidor
Reloj
Se conecta a
Accede a
Se comunica con
Se procesa en
Servidor
Reloj
Servidor
Reloj
Servidor
Reloj
Respaldo
ID respaldo
Se comunica con
Base de
datos
ID tabla
ID registro
ID servidor
Seguridad
ID algoritmo
Se autentifica
Desencripta
Encripta
Se comunica con
Se comunica con
Se comunica con
Padrón Votación
Contiene
Se envíaID base de datos
Sistema de Votación Electrónica usando metodología OMT
Ingeniería de Software II
Verificar que existen las vías de acceso adecuadas para las probables
consultas.
Al comprobar las vías de acceso entre los objetos de nuestro diagrama de
modelado de objetos, se noto que sobran las siguientes asociaciones:
La base de datos se comunica con el servidor (por que al hacer herencia es
solamente la base de datos votación la que única y exclusivamente se comunica
con el servidor).
Iterar y refinar el modelo
Repitiendo nuevamente el modelado de objetos tratamos de refinar el diagrama de
objetos y descubrimos que se elimina las clases respaldo y seguridad ya que son
en realidad operaciones de la clase servidor, nuestro diagrama de objetos final es
el siguiente:
Sistema de Votación Electrónica usando metodología OMT
Ingeniería de Software II
Agrupar las clases en módulos
Este paso consiste en únicamente en estructurar el diagrama de tal forma que en
un área determina se encuentre juntos, afortunadamente y de forma implícita
nuestro diagrama ya cubre con este requerimiento por lo que este paso no se
hace.
MODELADO DE OBJETOS
El modelado dinámico tiene que ver con el comportamiento de los objetos, es decir
la transición de estados a partir de sucesos, el proceso es el siguiente:
Se preparan escenarios de secuencias típicas de interacción.
VOTANTE
Derechos
Clave
electoral
Clave
única
CLIENTE
WEB
Diseño
Contenido
Link
Hora
PORTAL
PÁGINA
WEB
AYUDA
Tipo ayuda
Consulta
RESULTADOS PLANILLA
Accede a
Accede a
Selecciona opción
Accede a
Accede a
Accede a
Opción
SERVIDOR
Reloj
Se comunica conSe conecta con
Se autentifica
VOTO
ID votante
Opción voto
Se realiza
SERVIDOR
MAESTRO
SERVIDOR
ESPEJO
Se copia
SERVIDOR
ESPEJO
Se copia
BASE DE
DATOS
ID tabla
ID registro
Se comunica con
ID servidor
PADRÓN VOTACIÓN
Se comunica con
Contiene
Se procesa en
ID base de datos
Sistema de Votación Electrónica usando metodología OMT
Ingeniería de Software II
Para la preparación de escenarios hay dos tipos, los escenarios normales donde
la interacción de los objetos es precisa y los escenarios especiales donde existen
errores generalmente, los ESCENARIOS NORMALES de nuestro sistema son:
Escenario #1
El votante introduce la URL (o dirección IP) del sistema y accede al portal.
El portal muestra todas las opciones y características del sistema al votante.
El votante selecciona la opción votar por lo que el portal lo lleva hasta la dirección
de la planilla electrónica.
La planilla electrónica muestra las opciones de voto al votante.
El votante elige su opción de voto.
La planilla electrónica pide la autentificación del votante.
El votante introduce su clave del padrón electoral y su clave única y estas son
enviadas hasta el servidor.
El servidor encripta/desencripta el voto del votante y se comunica con la base de
datos del padrón electoral.
La base de datos del padrón electoral da el visto bueno de que el usuario esta en
su base al servidor.
El servidor procesa el voto y se comunica con la base de datos votación para
registrar el voto en el sistema.
La base de datos envía al servidor la indicación de que el registro fue dado de alta
y pide a la clase votante quite su derecho a voto en esa opción.
El servidor se comunica con el objeto resultados el cual procesa las estadísticas.
El objeto resultados muestra la información al votante.
Escenario #2
El votante introduce la URL (o dirección IP) del sistema y accede al portal.
El portal muestra todas las opciones y características del sistema al votante.
El votante selecciona la opción Páginas Web por lo que el portal lo lleva hasta la
dirección de las Páginas Web (Vínculos).
La página Web muestra al votante todos los enlaces (vínculos) que posee.
El votante elige un vínculo (Link).
La Página Web muestra al votante el vínculo seleccionado.
Escenario #3
El votante introduce la URL (o dirección IP) del sistema y accede al portal.
El portal muestra todas las opciones y características del sistema al votante.
El votante selecciona la opción Ayuda por lo que el portal lo lleva hasta la
dirección de la Ayuda (en línea).
La ayuda muestra al votante todos los tipos (criterios) de ayuda que puede
realizar.
El votante introduce una duda que el objeto Ayuda tratará de resolver.
La Ayuda muestra al Votante la solución a su duda.
Sistema de Votación Electrónica usando metodología OMT
Ingeniería de Software II
Escenario #4
El votante introduce la URL (o dirección IP) del sistema y accede al portal.
El portal muestra todas las opciones y características del sistema al votante.
El votante selecciona la opción Resultados (estadísticas) por lo que el portal lo
lleva hasta la dirección de los resultados.
El objeto resultado muestra al votante todos los tipos (criterios) de estadísticas que
puede realizar.
El votante selecciona un tipo de estadísticas a visualizar.
El objeto resultado muestra al Votante la información disponible de su consulta.
Los ESCENARIOS ESPECIALES son:
Escenario #1
El votante introduce la URL (o dirección IP) del sistema y si esta está correcta
accede al portal, de lo contrario el navegador mostrara un mensaje de error.
El portal muestra todas las opciones y características del sistema al votante, en
caso de falla el portal muestra un mensaje de error al Votante.
El votante selecciona la opción votar por lo que el portal lo lleva hasta la dirección
de la planilla electrónica, en caso de falla se muestra un mensaje de error al
votante.
La planilla electrónica muestra las opciones de voto al votante, en caso de fracaso
se vuelve a mostrar un mensaje de error.
El votante elige su opción de voto.
La planilla electrónica pide la autentificación del votante, en caso de que hubiera
un error este es mostrado al votante.
El votante introduce su clave del padrón electoral y su clave única y estas son
enviadas hasta el servidor, las claves se encriptan.
El servidor desencripta el voto del votante y se comunica con la base de datos del
padrón electoral, en caso de error se muestra un mensaje de error.
La base de datos del padrón electoral da el visto bueno de que el usuario esta en
su base al servidor, de lo contrario pide al Votante vuelva a intentar escribir sus
claves por que pudo haberse dado el caso de escribirlas mal.
En caso de que se de el visto bueno, El servidor procesa el voto y se comunica
con la base de datos votación para registrar el voto en el sistema, en caso de no
darse el visto bueno el servidor reintentará la petición nuevamente en un ciclo de 5
veces, de seguir fracasando se “tira la toalla” y se le notifica al usuario de error en
la base de datos.
La base de datos envía al servidor la indicación de que el registro fue dado de alta
y pide a la clase votante quite su derecho a voto en esa opción, en caso de
fracaso en la transacción, la base de datos reintenta de nuevo un total de 5 veces
o hasta que se tenga éxito, de lo contrario vuelve a mostrar un mensaje de error al
Votante.
El servidor se comunica con el objeto resultados el cual procesa las estadísticas.
Sistema de Votación Electrónica usando metodología OMT
Ingeniería de Software II
El objeto resultados muestra la información al votante en caso de éxito, de otra
forma muestra un mensaje de error durante el procesamiento de las estadísticas.
Escenario #2
El votante introduce la URL (o dirección IP) del sistema y accede al portal, en caso
de fracaso muestra mensaje de error.
El portal muestra todas las opciones y características del sistema al votante, en
caso de alguna anomalía se muestra al votante un mensaje de error.
El votante selecciona la opción Páginas Web por lo que el portal lo lleva hasta la
dirección de las Páginas Web (Vínculos) o en su defecto visualiza el error.
La página Web muestra al votante todos los enlaces (vínculos) que posee, en
caso de error se muestra el respectivo mensaje.
El votante elige un vínculo (Link).
La Página Web muestra al votante el vínculo seleccionado o en un mal caso
muestra la descripción del error que acaba de ocurrir.
Escenario #3
El votante introduce la URL (o dirección IP) del sistema y accede al portal en caso
de que la URL sea correcta de lo contrario marcará un error.
El portal muestra todas las opciones y características del sistema al votante en su
forma normal pudiendo mostrar un mensaje de error al no poder mostrarlas.
El votante selecciona la opción Ayuda por lo que el portal lo lleva hasta la
dirección de la Ayuda (en línea) si ocurriera algún error este será mostrado al
votante.
La ayuda muestra al votante todos los tipos (criterios) de ayuda que puede realizar
o marcará un error si este ocurriese.
El votante introduce una duda que el objeto Ayuda tratará de resolver.
La Ayuda muestra al Votante la solución a su duda en el caso de que haya podido
resolverla, de lo contrario mostrará al votante que no pudo contestar a su inquietud
y pedirá al usuario mandar un mensaje especializado para aclarar sus dudas.
Escenario #4
El votante introduce la URL (o dirección IP) del sistema y accede al portal si esta
correcta de lo contrario lo mandará a la URL seleccionada.
El portal muestra todas las opciones y características del sistema al votante en
caso de éxito, en caso de fracaso mostrará un mensaje de error al Votante.
El votante selecciona la opción Resultados (estadísticas) por lo que el portal lo
lleva hasta la dirección de los resultados, si llegara a ocurrir algún error este será
notificado de inmediato al usuario.
El objeto resultado muestra al votante todos los tipos (criterios) de estadísticas que
puede realizar, si no puede mostrarlos mostrará un mensaje de error.
El votante selecciona un tipo de estadísticas a visualizar.
El objeto resultado muestra al Votante la información disponible de su consulta en
caso de verla y de tener los privilegios necesarios, en caso de no tener los
Sistema de Votación Electrónica usando metodología OMT
Ingeniería de Software II
privilegios se mostrará un mensaje al usuario de que la opción de resultados
estará disponible hasta la hora marcada por la ley.
Se identifican sucesos que actúen entre objetos.
Para poder identificar sucesos entre objetos es necesario revisar los formatos de
interfaz del sistema, los cuales son los siguientes:
Se prepara un seguimiento de sucesos para cada escenario.
Opciones
del
sistema
Pantalla
Activa
PORTAL PLANILLA ELECTRÓNICA
Partido
Logo
Candidato
n
Partido
Logo
Candidato
1
Cargo de elección
Voto
.
.
.
Votar Borrar
AYUDA
Opciones de ayuda
Criterio 1
.
.
.
Criterio 2
Duda:
Resolver Borrar
AUTENTIFIFICACIÓN
Introduce tus claves:
Única:
Secreta:
*****
**********
Entrar Borrar
RESULTADOS
Tabla Gráficos
Ver Estadísticas
Sistema de Votación Electrónica usando metodología OMT
Ingeniería de Software II
Con el formato de interfaz del pasado punto es posible ya definir los sucesos que
actúan sobre cada escenario por lo que se puede realizar este SEGUIMIENTO DE
SUCESOS quedando como sigue:
Escenario #1 parte 1
Escenario #1 parte 2
El seguimiento de sucesos del escenario anterior tuvo que ser dividido en dos por
su tamaño, ya que de otra forma sería casi ilegible.
Escenario #2
VOTANTE PORTAL PLANILLA
ELECTRÓNICA
SERVIDOR
Introduce URL
Muestra opciones
del sistema
Selecciona opción votar
Muestra la planilla electrónica
Introduce Voto
Pide autentificación
Introduce clave única y clave secreta
Retener Voto
.
.
.
.
.
.
Después de la
parte 2
SERVIDOR BASE DE DATOS
PADRON ELECTORAL
BASE DE DATOS
VOTACIÓN
RESULTADOS
Verificar claves del votante
Usuario encontrado
Registrar Voto
Registro dado de alta
Procesar estadísticas
Mostrar resultados al votante
Sistema de Votación Electrónica usando metodología OMT
Ingeniería de Software II
Escenario #3
Escenario #4
Con los diagramas de sucesos obtenidos anteriormente se prosigue a crear para
cada uno de ellos su correspondiente DIAGRAMA DE FLUJOS DE SUCESOS
para cada escenario quedando como sigue:
Escenario #1
VOTANTE
Introduce URL
Muestra opciones del portal
Selecciona Resultados (estadísticas)
Muestra criterios de búsqueda
Selecciona tipo de estadística
Muestra estadística seleccionada
PORTAL RESULTADOS
VOTANTE
Introduce URL
Muestra opciones del portal
Selecciona Ayuda
Muestra criterios de ayuda
Introduce criterio de ayuda
Muestra resultado de su duda
PORTAL AYUDA
VOTANTE
Introduce URL
Muestra opciones del portal
Selecciona página Web
Muestra vínculos
Selecciona un vínculo
Muestra página Web del vínculo
PORTAL PÁGINA
WEB
Sistema de Votación Electrónica usando metodología OMT
Ingeniería de Software II
Escenario #2
Escenario #3
Escenario #4
VOTANTE PORTAL
Introduce URL
Muestra opciones
AYUDA
Selecciona Ayuda,
Introduce criterio de ayuda
Muestra tipos de ayuda,
Muestra resultados de su duda
VOTANTE PORTAL
Introduce URL
Muestra opciones
PLANILLA
ELECTRÓNICA
Selecciona votar,
voto
Introduce claves
Muestra planilla,
pide autentificación
SERVIDOR
BASE DE DATOS
PADRÓN ELECTORAL
BASE DE
DATOS
VOTACIÓN
Autentificar usuario
Usuario válido
Registrar voto
Voto dado de alta
RESULTADOSProcesar estadísticas
Mostrar resultados
VOTANTE PORTAL
Introduce URL
Muestra opciones
PÁGINA
WEB
Selecciona página Web,
selecciona vínculo
Muestra vínculos, muestra
página Web del vínculo
Sistema de Votación Electrónica usando metodología OMT
Ingeniería de Software II
Se construye un diagrama de estados.
El diagrama de estados se hace con clases cuyo comportamiento dinámico no es
trivial, por lo que de nuestras clases de objetos debemos seleccionarlas las
correctas: Voto, Votante, Portal, Página Web, Planilla Electrónica, Resultados,
Base de datos, Base de datos de Padrón Electoral, Base de datos de Votación,
Servidor, Servidor Maestro, Servidor Espejo, Servidor Secundario, Ayuda.
Para las clases que quedaron se construye su respectivo DIAGRAMA DE
ESTADOS, quedando de la siguiente manera:
Diagrama de estados de la clase portal
Diagrama de estados de la clase Planilla electrónica
VOTANTE PORTAL
Introduce URL
Muestra opciones
RESULTADOS
Selecciona resultados,
Tipos de estadísticas
Muestra criterios de búsqueda,
Muestra resultados de estadísticas
PANTALLA PRINCIPAL
Hacer: Visualizar pantalla
principal; escoger opción
del usuario
Entrada al portal
Hacer: ir
a opción
Opción válida Éxito
Opción procesada
Falla
OPCIÓN INVÁLIDA
Hacer: Mostrar
mensaje de error;
capturar confirmación
del votante
Salir
Salida del
sistema
Continuar
Opción inválida o
no disponible
Sistema de Votación Electrónica usando metodología OMT
Ingeniería de Software II
Diagrama de estados de la clase Servidor
Se comparan los sucesos intercambiados entre objetos para verificar la
congruencia.
En esta parte se verifica que haya congruencia en la correspondencia ente
objetos, haciendo nuestro análisis previo determinamos que todos los sucesos son
congruentes por lo que no hay nada por eliminar.
DISEÑO DE OBJETOS
En esta parte de la metodología OMT lo que se debe realizar es describir las
operaciones que realiza cada objeto y el cómo las hace (algoritmos). Las
operaciones de las clases son:
CLASE OPERACIONES
Votante Quitar derechos
Cliente Web Desplegar información
PANTALLA PRINCIPAL
Hacer: Mostrar Opción de
Planilla electrónica
Hacer:
mostrar
planilla
Opción
Entrar a la planilla
Éxito
PLANILLA
Hacer: Mostrar
planilla.
OPCION INVÁLIDA
Hacer: Mostrar
pantalla de error;
capturar confirmación
del votante
Voto Hacer:
procesar
voto
Error, sin
derechos
Falla en la transacción
Éxito
Mensaje de éxito
Salir Salida del sistema
Continuar
ESPERANDO
Hacer:
Procesar
voto; manejar
concurrencia
FALLA VOTO
Hacer:
Mostrar error;
Capturar
confirmación
del votante
Voto
Reintentar
Voto
Hacer: Registrar
en base de datos
votación
Voto procesado
con éxito
Falla
Éxito
Hacer:
Procesar
estadística
Tirar la toalla
Mostrar mensaje de
error al usuario
Falla
Mostrar resultados
Sistema de Votación Electrónica usando metodología OMT
Ingeniería de Software II
Portal Conectar con el servidor
Enlazar con Paginas Web, Ayuda, Resultados y Planilla
Electrónica.
Página Web
Ayuda Capturar tipo de ayuda
Resolver consulta (duda) del votante.
Resultado
Planilla electrónica Capturar Voto del votante
Base de Datos Altas, Bajas, Consultas, Modificaciones y Respaldo de la
información.
Comunicarse con el servidor
Base de datos de
Padrón Electoral
Verificar existencia del usuario
Base de datos de
Votación
Servidor Sincronizar servidores.
Manejar concurrencia.
Procesar votos.
Comunicarse con la base de datos.
Encriptar y desencriptar la información
Servidor Maestro Distribuir trabajo entre servidores.
Coordinar procesamiento global
Servidor Espejo Pedir respaldo de la base de datos.
Levantarse en caso de que el servidor maestro se caiga.
Servidor secundario Procesar resultados e información pesada.
Voto
Estas operaciones se agregan a nuestro diagrama de objetos quedando de la
siguiente manera:
Sistema de Votación Electrónica usando metodología OMT
Ingeniería de Software II
VOTANTE
Derechos
Quitar
CLIENTE
WEB
Diseño
Contenido
Link
Hora
Quitar
Clave
electoral
Clave
única
PORTAL
Conectar
Enlazar
RESULTADOS
AYUDA
Tipo ayuda
Consulta
Capturar
Resolver
PÁGINA
WEB
Accede a
Accede a
Accede a
Selecciona opción
Accede a
PLANILLA
Capturar
Opción
Accede a
SERVIDOR
Reloj
Sincronizar
Manejar
Procesar
Comunicarse
Encriptar
Desencriptar
Se conecta con
Se comunica
con
Se autentifica
BASE DE
DATOS
ID tabla
ID registro
Insertar
Eliminar
Consultar
Borrar
Respaldar
Comunicar
VOTO
ID votante
Opción voto
Se realiza
PADRON
Verificar
VOTACIÓN
Se comunica
con
Se comunica
con
Contiene
ID base de
datos
ID servidor
SERVIDOR
MAESTRO
Distribuir
Coordinar
SERVIDOR
MAESTRO
Distribuir
Coordinar
SERVIDOR
MAESTRO
Distribuir
Coordinar
Se copia a
Se copia a
Se procesa en

Más contenido relacionado

Destacado

Maestros EnseñEn Apensar
Maestros EnseñEn ApensarMaestros EnseñEn Apensar
Maestros EnseñEn ApensarEuler
 
L'ile maurice
L'ile mauriceL'ile maurice
L'ile mauricelyago
 
Profesiones Del Cine
Profesiones Del CineProfesiones Del Cine
Profesiones Del Cinemirima
 
Elsotano
ElsotanoElsotano
Elsotanodiablo2
 
Noves tècniques per a reduïr el fracàs escolar
Noves tècniques per a reduïr el fracàs escolarNoves tècniques per a reduïr el fracàs escolar
Noves tècniques per a reduïr el fracàs escolarPERE MARQUES
 
Biodiversity wetlandsfre
Biodiversity wetlandsfreBiodiversity wetlandsfre
Biodiversity wetlandsfredadouchehalim
 
Introduccion evaluacion mexico pisa 2012 rruiz
Introduccion evaluacion mexico pisa 2012 rruizIntroduccion evaluacion mexico pisa 2012 rruiz
Introduccion evaluacion mexico pisa 2012 rruizEuler
 
trv6 en buenos aires
trv6 en buenos airestrv6 en buenos aires
trv6 en buenos airesfapowerteam
 
Impressionnistes
ImpressionnistesImpressionnistes
Impressionnisteslyago
 
Pandora
PandoraPandora
PandoraNolita
 
Soluciones Informáticas para Unidades, Redes y Sistemas de Información Docume...
Soluciones Informáticas para Unidades, Redes y Sistemas de Información Docume...Soluciones Informáticas para Unidades, Redes y Sistemas de Información Docume...
Soluciones Informáticas para Unidades, Redes y Sistemas de Información Docume...lfg_pc
 
Poele Cera P1 par Eric Lamidieu
Poele Cera P1 par Eric LamidieuPoele Cera P1 par Eric Lamidieu
Poele Cera P1 par Eric LamidieuEric LAMIDIEU
 
Geomar cours tecto_plaque
Geomar cours tecto_plaqueGeomar cours tecto_plaque
Geomar cours tecto_plaquedrntaibi
 

Destacado (20)

Maestros EnseñEn Apensar
Maestros EnseñEn ApensarMaestros EnseñEn Apensar
Maestros EnseñEn Apensar
 
L'ile maurice
L'ile mauriceL'ile maurice
L'ile maurice
 
Profesiones Del Cine
Profesiones Del CineProfesiones Del Cine
Profesiones Del Cine
 
Elsotano
ElsotanoElsotano
Elsotano
 
Noves tècniques per a reduïr el fracàs escolar
Noves tècniques per a reduïr el fracàs escolarNoves tècniques per a reduïr el fracàs escolar
Noves tècniques per a reduïr el fracàs escolar
 
Biodiversity wetlandsfre
Biodiversity wetlandsfreBiodiversity wetlandsfre
Biodiversity wetlandsfre
 
Introduccion evaluacion mexico pisa 2012 rruiz
Introduccion evaluacion mexico pisa 2012 rruizIntroduccion evaluacion mexico pisa 2012 rruiz
Introduccion evaluacion mexico pisa 2012 rruiz
 
trv6 en buenos aires
trv6 en buenos airestrv6 en buenos aires
trv6 en buenos aires
 
Conferencia Creatividad CampañAs Electorales
Conferencia Creatividad CampañAs ElectoralesConferencia Creatividad CampañAs Electorales
Conferencia Creatividad CampañAs Electorales
 
Cercle chromatique
Cercle chromatiqueCercle chromatique
Cercle chromatique
 
Comunidad OOoES
Comunidad OOoESComunidad OOoES
Comunidad OOoES
 
Impressionnistes
ImpressionnistesImpressionnistes
Impressionnistes
 
Pandora
PandoraPandora
Pandora
 
Soluciones Informáticas para Unidades, Redes y Sistemas de Información Docume...
Soluciones Informáticas para Unidades, Redes y Sistemas de Información Docume...Soluciones Informáticas para Unidades, Redes y Sistemas de Información Docume...
Soluciones Informáticas para Unidades, Redes y Sistemas de Información Docume...
 
Corse
CorseCorse
Corse
 
Poele Cera P1 par Eric Lamidieu
Poele Cera P1 par Eric LamidieuPoele Cera P1 par Eric Lamidieu
Poele Cera P1 par Eric Lamidieu
 
Ethiques
EthiquesEthiques
Ethiques
 
Presentation khoury-fdl-original
Presentation   khoury-fdl-originalPresentation   khoury-fdl-original
Presentation khoury-fdl-original
 
la papa de los blogs
la papa de los blogsla papa de los blogs
la papa de los blogs
 
Geomar cours tecto_plaque
Geomar cours tecto_plaqueGeomar cours tecto_plaque
Geomar cours tecto_plaque
 

Similar a Sistema de Votación Electrónica usando metodología OMT

Aplicaciones Informaticas
Aplicaciones InformaticasAplicaciones Informaticas
Aplicaciones Informaticascharizar12
 
Aplicaciones Informaticas
Aplicaciones InformaticasAplicaciones Informaticas
Aplicaciones Informaticascharizar12
 
APLICACIONES INFORMATICAS
APLICACIONES INFORMATICASAPLICACIONES INFORMATICAS
APLICACIONES INFORMATICASsjmng04
 
Diseño de entraday_salida
Diseño de entraday_salidaDiseño de entraday_salida
Diseño de entraday_salidaJorge Garcia
 
Propuesta Siisv
Propuesta SiisvPropuesta Siisv
Propuesta Siisvfory40
 
análisis y diseño orientado a objetos
análisis y diseño orientado a objetosanálisis y diseño orientado a objetos
análisis y diseño orientado a objetosAngelGutierrez164
 
Sobre el voto chimbo (0.0)
Sobre el voto chimbo (0.0)Sobre el voto chimbo (0.0)
Sobre el voto chimbo (0.0)Mario Torre
 
Sistemas de informacion computarizados
Sistemas de informacion computarizadosSistemas de informacion computarizados
Sistemas de informacion computarizadoscgviviana
 
FIBRA OPTICA
FIBRA OPTICAFIBRA OPTICA
FIBRA OPTICAVASQES
 
REDES LAN
REDES LANREDES LAN
REDES LANVASQES
 
Trabajo sistemas
Trabajo sistemasTrabajo sistemas
Trabajo sistemasExen Hawer
 
Sistemas informáticos
Sistemas informáticosSistemas informáticos
Sistemas informáticosbirgeferegotti
 
Fundamentos de analisis y desarrollo de sistemas
Fundamentos  de analisis y desarrollo de sistemasFundamentos  de analisis y desarrollo de sistemas
Fundamentos de analisis y desarrollo de sistemaskellygomezj
 
Fundamentos de Analisis y Desarrollo de Sistemas
Fundamentos  de Analisis y Desarrollo de SistemasFundamentos  de Analisis y Desarrollo de Sistemas
Fundamentos de Analisis y Desarrollo de Sistemaskellygomezj
 
Presentacion de larry unidad 2
Presentacion de larry unidad 2Presentacion de larry unidad 2
Presentacion de larry unidad 2jackie_18
 
Anáilisis de requerimientos y DFD
Anáilisis de requerimientos y DFDAnáilisis de requerimientos y DFD
Anáilisis de requerimientos y DFDAngela Inciarte
 

Similar a Sistema de Votación Electrónica usando metodología OMT (20)

Aplicaciones Informaticas
Aplicaciones InformaticasAplicaciones Informaticas
Aplicaciones Informaticas
 
Aplicaciones Informaticas
Aplicaciones InformaticasAplicaciones Informaticas
Aplicaciones Informaticas
 
Fibra Optica
Fibra OpticaFibra Optica
Fibra Optica
 
APLICACIONES INFORMATICAS
APLICACIONES INFORMATICASAPLICACIONES INFORMATICAS
APLICACIONES INFORMATICAS
 
Diseño de entraday_salida
Diseño de entraday_salidaDiseño de entraday_salida
Diseño de entraday_salida
 
Propuesta Siisv
Propuesta SiisvPropuesta Siisv
Propuesta Siisv
 
Fundamentos De Los Si
Fundamentos De Los SiFundamentos De Los Si
Fundamentos De Los Si
 
análisis y diseño orientado a objetos
análisis y diseño orientado a objetosanálisis y diseño orientado a objetos
análisis y diseño orientado a objetos
 
Sobre el voto chimbo (0.0)
Sobre el voto chimbo (0.0)Sobre el voto chimbo (0.0)
Sobre el voto chimbo (0.0)
 
Sistemas de informacion computarizados
Sistemas de informacion computarizadosSistemas de informacion computarizados
Sistemas de informacion computarizados
 
FIBRA OPTICA
FIBRA OPTICAFIBRA OPTICA
FIBRA OPTICA
 
REDES LAN
REDES LANREDES LAN
REDES LAN
 
Trabajo sistemas
Trabajo sistemasTrabajo sistemas
Trabajo sistemas
 
Sistemas informáticos
Sistemas informáticosSistemas informáticos
Sistemas informáticos
 
Fundamentos de analisis y desarrollo de sistemas
Fundamentos  de analisis y desarrollo de sistemasFundamentos  de analisis y desarrollo de sistemas
Fundamentos de analisis y desarrollo de sistemas
 
Fundamentos de Analisis y Desarrollo de Sistemas
Fundamentos  de Analisis y Desarrollo de SistemasFundamentos  de Analisis y Desarrollo de Sistemas
Fundamentos de Analisis y Desarrollo de Sistemas
 
Presentacion de larry unidad 2
Presentacion de larry unidad 2Presentacion de larry unidad 2
Presentacion de larry unidad 2
 
Fundamento teorico
Fundamento teoricoFundamento teorico
Fundamento teorico
 
Anáilisis de requerimientos y DFD
Anáilisis de requerimientos y DFDAnáilisis de requerimientos y DFD
Anáilisis de requerimientos y DFD
 
Herramiento del Análisis de Estructurado
Herramiento del Análisis de EstructuradoHerramiento del Análisis de Estructurado
Herramiento del Análisis de Estructurado
 

Más de Juan Carlos Olivares Rojas

Analítica de Datos usando Single Board Computers
Analítica de Datos usando Single Board ComputersAnalítica de Datos usando Single Board Computers
Analítica de Datos usando Single Board ComputersJuan Carlos Olivares Rojas
 
Analitica de Datos en Dispositivos de Internet de las Cosas
Analitica de Datos en Dispositivos de Internet de las CosasAnalitica de Datos en Dispositivos de Internet de las Cosas
Analitica de Datos en Dispositivos de Internet de las CosasJuan Carlos Olivares Rojas
 
A Comparative Assessment of Cryptography Algorithms for Data Analytic Applica...
A Comparative Assessment of Cryptography Algorithms for Data Analytic Applica...A Comparative Assessment of Cryptography Algorithms for Data Analytic Applica...
A Comparative Assessment of Cryptography Algorithms for Data Analytic Applica...Juan Carlos Olivares Rojas
 
Propuesta de Flexibilidad Curricular en el Tecnológico Nacional de México
Propuesta de Flexibilidad Curricular en el Tecnológico Nacional de MéxicoPropuesta de Flexibilidad Curricular en el Tecnológico Nacional de México
Propuesta de Flexibilidad Curricular en el Tecnológico Nacional de MéxicoJuan Carlos Olivares Rojas
 
Analítica de Datos en Simulador de Redes para Sistemas de Medición Inteligente
Analítica de Datos en Simulador de Redes para Sistemas de Medición InteligenteAnalítica de Datos en Simulador de Redes para Sistemas de Medición Inteligente
Analítica de Datos en Simulador de Redes para Sistemas de Medición InteligenteJuan Carlos Olivares Rojas
 
Propuesta de Mercado Eléctrico Minorista Transactivo en México
Propuesta de Mercado Eléctrico Minorista Transactivo en MéxicoPropuesta de Mercado Eléctrico Minorista Transactivo en México
Propuesta de Mercado Eléctrico Minorista Transactivo en MéxicoJuan Carlos Olivares Rojas
 
Cyber Security on Transactions in Smart Metering Systems usign Blockchain
Cyber Security on Transactions in Smart Metering Systems usign BlockchainCyber Security on Transactions in Smart Metering Systems usign Blockchain
Cyber Security on Transactions in Smart Metering Systems usign BlockchainJuan Carlos Olivares Rojas
 
A Survey on Smart Metering Systems using Blockchain for E-mobility
A Survey on Smart Metering Systems using Blockchain for E-mobilityA Survey on Smart Metering Systems using Blockchain for E-mobility
A Survey on Smart Metering Systems using Blockchain for E-mobilityJuan Carlos Olivares Rojas
 
Detección de Movimiento usando Medidores Inteligentes
Detección de Movimiento usando Medidores Inteligentes Detección de Movimiento usando Medidores Inteligentes
Detección de Movimiento usando Medidores Inteligentes Juan Carlos Olivares Rojas
 
A Survey on Smart Metering Systems using Human-Computer Interaction
A Survey on Smart Metering Systems using Human-Computer InteractionA Survey on Smart Metering Systems using Human-Computer Interaction
A Survey on Smart Metering Systems using Human-Computer InteractionJuan Carlos Olivares Rojas
 
Machine Learnign Model for the Detection of Electricity Energy Fraud Using an...
Machine Learnign Model for the Detection of Electricity Energy Fraud Using an...Machine Learnign Model for the Detection of Electricity Energy Fraud Using an...
Machine Learnign Model for the Detection of Electricity Energy Fraud Using an...Juan Carlos Olivares Rojas
 
Forecasting Electricity Consumption Using Weather Data in Edge-Fog-Cloud Data...
Forecasting Electricity Consumption Using Weather Data in Edge-Fog-Cloud Data...Forecasting Electricity Consumption Using Weather Data in Edge-Fog-Cloud Data...
Forecasting Electricity Consumption Using Weather Data in Edge-Fog-Cloud Data...Juan Carlos Olivares Rojas
 
Aplicacion de Tecnicas de UX en el Desarrollo de un Portal de un Sistema de M...
Aplicacion de Tecnicas de UX en el Desarrollo de un Portal de un Sistema de M...Aplicacion de Tecnicas de UX en el Desarrollo de un Portal de un Sistema de M...
Aplicacion de Tecnicas de UX en el Desarrollo de un Portal de un Sistema de M...Juan Carlos Olivares Rojas
 
Internet de las Cosas en Redes Eléctricas Inteligentes
Internet de las Cosas en Redes Eléctricas InteligentesInternet de las Cosas en Redes Eléctricas Inteligentes
Internet de las Cosas en Redes Eléctricas InteligentesJuan Carlos Olivares Rojas
 
Optimización de la Eficiencia Energética en los Hogares utilizando una Arquit...
Optimización de la Eficiencia Energética en los Hogares utilizando una Arquit...Optimización de la Eficiencia Energética en los Hogares utilizando una Arquit...
Optimización de la Eficiencia Energética en los Hogares utilizando una Arquit...Juan Carlos Olivares Rojas
 
Ciber Seguridad en Redes Eléctricas Inteligentes
Ciber Seguridad en Redes Eléctricas InteligentesCiber Seguridad en Redes Eléctricas Inteligentes
Ciber Seguridad en Redes Eléctricas InteligentesJuan Carlos Olivares Rojas
 
Estudio de Vulnerabilidad de Protocolos y Redes de Comunicación para Medidore...
Estudio de Vulnerabilidad de Protocolos y Redes de Comunicación para Medidore...Estudio de Vulnerabilidad de Protocolos y Redes de Comunicación para Medidore...
Estudio de Vulnerabilidad de Protocolos y Redes de Comunicación para Medidore...Juan Carlos Olivares Rojas
 

Más de Juan Carlos Olivares Rojas (20)

Ieee itmsb20
Ieee itmsb20Ieee itmsb20
Ieee itmsb20
 
Ropec20neural stick
Ropec20neural stickRopec20neural stick
Ropec20neural stick
 
Analítica de Datos usando Single Board Computers
Analítica de Datos usando Single Board ComputersAnalítica de Datos usando Single Board Computers
Analítica de Datos usando Single Board Computers
 
Analitica de Datos en Dispositivos de Internet de las Cosas
Analitica de Datos en Dispositivos de Internet de las CosasAnalitica de Datos en Dispositivos de Internet de las Cosas
Analitica de Datos en Dispositivos de Internet de las Cosas
 
A Comparative Assessment of Cryptography Algorithms for Data Analytic Applica...
A Comparative Assessment of Cryptography Algorithms for Data Analytic Applica...A Comparative Assessment of Cryptography Algorithms for Data Analytic Applica...
A Comparative Assessment of Cryptography Algorithms for Data Analytic Applica...
 
Propuesta de Flexibilidad Curricular en el Tecnológico Nacional de México
Propuesta de Flexibilidad Curricular en el Tecnológico Nacional de MéxicoPropuesta de Flexibilidad Curricular en el Tecnológico Nacional de México
Propuesta de Flexibilidad Curricular en el Tecnológico Nacional de México
 
Analítica de Datos en Simulador de Redes para Sistemas de Medición Inteligente
Analítica de Datos en Simulador de Redes para Sistemas de Medición InteligenteAnalítica de Datos en Simulador de Redes para Sistemas de Medición Inteligente
Analítica de Datos en Simulador de Redes para Sistemas de Medición Inteligente
 
Propuesta de Mercado Eléctrico Minorista Transactivo en México
Propuesta de Mercado Eléctrico Minorista Transactivo en MéxicoPropuesta de Mercado Eléctrico Minorista Transactivo en México
Propuesta de Mercado Eléctrico Minorista Transactivo en México
 
Cyber Security on Transactions in Smart Metering Systems usign Blockchain
Cyber Security on Transactions in Smart Metering Systems usign BlockchainCyber Security on Transactions in Smart Metering Systems usign Blockchain
Cyber Security on Transactions in Smart Metering Systems usign Blockchain
 
A Survey on Smart Metering Systems using Blockchain for E-mobility
A Survey on Smart Metering Systems using Blockchain for E-mobilityA Survey on Smart Metering Systems using Blockchain for E-mobility
A Survey on Smart Metering Systems using Blockchain for E-mobility
 
Detección de Movimiento usando Medidores Inteligentes
Detección de Movimiento usando Medidores Inteligentes Detección de Movimiento usando Medidores Inteligentes
Detección de Movimiento usando Medidores Inteligentes
 
A Survey on Smart Metering Systems using Human-Computer Interaction
A Survey on Smart Metering Systems using Human-Computer InteractionA Survey on Smart Metering Systems using Human-Computer Interaction
A Survey on Smart Metering Systems using Human-Computer Interaction
 
Machine Learnign Model for the Detection of Electricity Energy Fraud Using an...
Machine Learnign Model for the Detection of Electricity Energy Fraud Using an...Machine Learnign Model for the Detection of Electricity Energy Fraud Using an...
Machine Learnign Model for the Detection of Electricity Energy Fraud Using an...
 
Forecasting Electricity Consumption Using Weather Data in Edge-Fog-Cloud Data...
Forecasting Electricity Consumption Using Weather Data in Edge-Fog-Cloud Data...Forecasting Electricity Consumption Using Weather Data in Edge-Fog-Cloud Data...
Forecasting Electricity Consumption Using Weather Data in Edge-Fog-Cloud Data...
 
Aplicacion de Tecnicas de UX en el Desarrollo de un Portal de un Sistema de M...
Aplicacion de Tecnicas de UX en el Desarrollo de un Portal de un Sistema de M...Aplicacion de Tecnicas de UX en el Desarrollo de un Portal de un Sistema de M...
Aplicacion de Tecnicas de UX en el Desarrollo de un Portal de un Sistema de M...
 
Internet de las Cosas en Redes Eléctricas Inteligentes
Internet de las Cosas en Redes Eléctricas InteligentesInternet de las Cosas en Redes Eléctricas Inteligentes
Internet de las Cosas en Redes Eléctricas Inteligentes
 
Estrategias didacticas
Estrategias didacticasEstrategias didacticas
Estrategias didacticas
 
Optimización de la Eficiencia Energética en los Hogares utilizando una Arquit...
Optimización de la Eficiencia Energética en los Hogares utilizando una Arquit...Optimización de la Eficiencia Energética en los Hogares utilizando una Arquit...
Optimización de la Eficiencia Energética en los Hogares utilizando una Arquit...
 
Ciber Seguridad en Redes Eléctricas Inteligentes
Ciber Seguridad en Redes Eléctricas InteligentesCiber Seguridad en Redes Eléctricas Inteligentes
Ciber Seguridad en Redes Eléctricas Inteligentes
 
Estudio de Vulnerabilidad de Protocolos y Redes de Comunicación para Medidore...
Estudio de Vulnerabilidad de Protocolos y Redes de Comunicación para Medidore...Estudio de Vulnerabilidad de Protocolos y Redes de Comunicación para Medidore...
Estudio de Vulnerabilidad de Protocolos y Redes de Comunicación para Medidore...
 

Sistema de Votación Electrónica usando metodología OMT

  • 1. INSTITUTO TECNOLOGICO DE MORELIA DEPARTAMENTO DE SISTEMAS Y COMPUTACION INGENIERÍA EN SISTEMAS COMPUTACIONALES PPRROOYYEECCTTOO DDEE IINNGGEENNIIEERRIIAA DDEE SSOOFFTTWWAARREE IIII ((PPaarrttee 33)) SSIISSTTEEMMAA DDEE VVOOTTAACCIIÓÓNN EELLEECCTTOORRAALL EENN EELL EESSTTAADDOO DDEE MMIICCHHOOAACCÁÁNN AA TTRRAAVVÉÉSS DDEE IINNTTEERRNNEETT UUSSAANNDDOO LLAA MMEETTOODDOOLLOOGGÍÍAA OOMMTT Elaborado por: Víctor Manuel Chávez Gaona #Control: 99120839 Juan Carlos Olivares Rojas #Control: 99120871 Morelia, Michoacán a 27 de Mayo de 2003
  • 2. Sistema de Votación Electrónica usando metodología OMT Ingeniería de Software II Como se sabe OMT tiene tres modelos a seguir: 1. Modelado de Objetos. 2. Modelado Dinámico. 3. Modelado Funcional. MODELADOS DE OBJETOS Los pasos para construir este modelo son: Identificar los objetos y las clases. De los requerimientos obtenidos por la Ingeniería de requerimientos de nuestro proyecto obtuvimos las siguientes clases de objetos: De estas clases alternativas, hay que seleccionar las correctas, de acuerdo a la metodología OMT debemos quitar: No hay clases redundantes. No hay clases irrelevantes. Clases vagas: No hay clases que sean atributos Clases que parecen operaciones: Voto Servidor Cliente Usuario Portal Red Planilla electrónica Base de Datos Seguridad Resultados Concurrencia Mantenimiento Administración Página Web Sincronización Respaldo Ayuda Sistema Cliente Mantenimiento Administración Sistema Concurrencia Sincronización Estas dos clases son operaciones de la clase Servidor
  • 3. Sistema de Votación Electrónica usando metodología OMT Ingeniería de Software II Clases que son rol: Por lo que las clases ya refinadas de nuestro sistema son las siguientes: Preparar un diccionario de datos. De las clases obtenidas en el ejemplo anterior se prepara el diccionario de datos, que es una descripción de lo que hace un objeto, sus alcances, atributos. CLASE DESCRIPCIÓN Voto Es la estructura de datos que indica al sistema la información acerca de la opción de voto por la cual el votante voto. Esta contiene al ID (identificador) del votante y opción del voto. El voto se realiza cuando el usuario selecciona la opción de voto desde la planilla electrónica y este voto va a llegar al servidor para su procesamiento. Servidor Es el encargado de realizar todos los procesos dentro del sistema, como son el conteo de votos, manejo de sincronización y concurrencia de procesos, validaciones; debe tener entre sus propiedades un identificador de servidor, un reloj para uso de sincronización de procesos. El servidor recibe un voto y las salidas la manda a los módulos de seguridad, respaldo y base de datos. Votante Es la persona que hace uso del sistema. Entre sus características están las de tener una clave de elector y una clave única de acceso al sistema. El votante es quien interactúa con la planilla electrónica, el portal y las páginas Web. Además tiene una estructura de control que indica que operaciones puede realizar sobre el sistema. El votante es quien selecciona entre las distintas opciones de voto, recibe la ayuda en línea del sistema e interactúa con el portal y página Web del mismo. Portal Es en sí la interfaz de usuario del sistema (cliente). Desde aquí el votante puede votar en línea, pedir ayuda en línea, recibir Se cambio de nombre a la clase para que fuera más descriptivaUsuario Votante Voto Servidor Votante Portal Red Planilla electrónica Base de Datos ResultadosPágina Web Respaldo Ayuda Seguridad
  • 4. Sistema de Votación Electrónica usando metodología OMT Ingeniería de Software II información y resultados del sistema. Entre los atributos del portal esta la forma en que puede ser visualizado por el votante (diseño). Red Es la infraestructura de comunicación que enlaza a todo el sistema. Entre sus objetivos se encuentra estar revisando periódicamente el buen funcionamiento de la red (revisar tráfico de la red). Esta interactúa con los servidores proporcionándoles la información a procesar así como a los votantes proporcionándoles los resultados de las operaciones. Planilla electrónica Es el formulario electrónico mediante el cual el votante introduce su opción de voto, la planilla la captura y la envía al procesador para su procesamiento. Base de datos Es la entidad encargada de proporcionar información al sistema acerca de los votantes y su voto. Para ello se realizan operaciones de inserción, consulta, borrado y modificación de los datos existentes en el sistema. La base de datos interactúa con la planilla electrónica para identificar al usuario, también interactúa con el servidor al recibir resultados de las votaciones y con el respaldo para ser tolerante a fallas. Seguridad Se encarga de mantener la integridad del sistema para evitar fallas de consistencia en el mismo, para ello se necesita la autentificación de usuarios y de procesos, la protección de los datos usando criptografía, restringiendo el acceso a operaciones privilegiadas del sistema. Esta parte se relaciona con el objeto voto al encriptarlo, con los servidores al desencriptarlo y con la planilla electrónica para autentificar al usuario. Resultados Se encarga de proporcionar información al usuario acerca de los procesos del sistema, como pueden ser los resultados de las votaciones usando diferentes criterios de búsqueda, la información se muestra mediante el uso de tablas y gráficos. Se relaciona con el votante a través del portal y con los servidores quienes proveen la información. Pagina Web Es la encargada de visualizar información externa al sistema (vínculos). Interactúa con el portal y con el votante quién es quien recibe la información de la página Web. Respaldo Este se encarga de hacer una copia de la información contenida en la base de datos en un determinado tiempo para evitar la pérdida de información dentro del sistema. Este se relaciona con el servidor y con la base de datos. Ayuda Se encarga de brindar información al votante de los aspectos del sistema así como aclarar sus dudas más frecuentes relacionadas a este, interactúa con el portal y con el votante. Aquí quitamos la clase red ya que vimos que no corresponde exactamente con nuestro problema, a esto se le llama visualizado por el usuario. Identificar las asociaciones entre objetos (incluyendo agregaciones).
  • 5. Sistema de Votación Electrónica usando metodología OMT Ingeniería de Software II Para realizar este paso es necesario realizar locuciones verbales para poder sacar las asociaciones entre objetos. Locuciones verbales: ASOCIACION CARDINALIDAD El voto se realiza en la planilla electrónica ▲ 1:1 El voto es procesado en el servidor. ■ n:1 El servidor recibe votos. 1:n El servidor se comunica a seguridad. 1:1 El servidor se comunica a respaldo. 1:1 El servidor se comunica a base de datos. 1:1 El votante selecciona una de las opciones de voto. 1:1 El votante interactúa con el portal. n:n / El votante interactúa con las páginas Web. n:n / El votante accede a información de la ayuda n:1 El portal muestra información al votante. El votante accede al portal. n:1 El portal interactúa con el votante. 1:n / La red proporciona información para procesar a los servidores. 1:n * La red proporciona resultados de operaciones a los votantes. 1:n * La planilla captura el voto del votante. ▲ 1:1 La planilla envía voto al servidor. ■ n:1 La base de datos interactúa con el servidor. 1:1 / La base de datos interactúa con el respaldo. 1:1 / La seguridad encripta voto. 1:n La seguridad autentifica usuarios. 1:n La seguridad desencripta voto. 1:n Resultados muestra información al votante. n:m Resultados recibe información del servidor. 1:1 Página Web visualiza información externa al votante. n:m Respaldo se comunica con el servidor. 1:1 Respaldo se comunica con la base de datos. 1:1 La ayuda brinda información complementaria al votante. 1:n Aparte de las locuciones que sacamos a través del diccionario de datos existen aquellas que se dan a entender a través de otras y que llamaremos Locuciones verbales implícitas: ASOCIACIÓN CARDINALIDAD La base de datos contiene votantes. 1:n El servidor esta formado por varios servidores. 1:n Los votantes tienen una clave secreta. 1:1
  • 6. Sistema de Votación Electrónica usando metodología OMT Ingeniería de Software II Otro tipo de relaciones son aquellas que surgen con el Dominio del problema: ASOCIACIÓN CARDINALIDAD El portal se conecta con el servidor 1:1 Los servidores se sincronizan entre sí. m:n - La base de datos debe tener acceso concurrente 1:n - De las locuciones anteriores debemos eliminar las que no sirvan, para ello debemos verificar lo siguiente: Si hay atributos relaciones como por ejemplo las relaciones de la clase red (*). Si hay atributos irrelevantes o de implementación como son: Los servidores se sincronizan entre sí y la base de datos debe tener acceso concurrente (-). Si hay atributos acciones: El portal interactúa con el votante; El votante interactúa con el portal; El votante interactúa con la página Web (/). No hay atributos ternarios. Si hay clases derivadas revisar ▲ y ■. No hay asociaciones de nombre incorrecto. No hay nombres de rol. Por el momento no hay asociaciones cualificadas. Al estar revisando las asociaciones entre los diversos objetos del sistema se noto que nos hicieron falta asociaciones, las cuales son Asociaciones inexistentes: ASOCIACIONES CARDINALIDAD El portal accede a la planilla electrónica. 1:1 El portal accede a página Web. 1:n El portal accede a resultados. 1:1 El portal accede a ayuda. 1:n Primer diagrama del modelo de objetos de nuestro sistema:
  • 7. Sistema de Votación Electrónica usando metodología OMT Ingeniería de Software II Identificar atributos de objetos y enlace. El primer paso es identificar los atributos de cada una de las clases, para ello usaremos nuestro diccionario de datos: CLASE ATRIBUTOS Voto. ID votante, opción voto. Servidor. ID servidor, reloj. Votante. Clave elector, clave única, derechos. Portal. Diseño, contenido. Planilla electrónica. Opción. Base de datos. ID base de datos, ID tabla, ID registro. Seguridad. ID algoritmo. Resultados. Hora Página Web. Links (enlaces o vínculos). Respaldo. Tiempo respaldo, ID respaldo. Ayuda. Tipo de ayuda, consulta. Con esta información el siguiente paso es eliminar atributos y optimizar los que se encuentran de la siguiente forma: No hay atributos que sean objetos. Los atributos que son cualificadotes son los siguientes: Votante Portal Planilla Accede a Accede a Opción Se realiza Voto Clave Ayuda Accede a Página Web Resultados Seguridad Muestra a Autentifica Accede a Accede a Accede a Encripta Desencripta Respaldo Muestra a Servidor Se conecta a Se comunica con Base de datos Se comunica con Se comunica con Se comunica con Se comunica con Se procesa Selecciona Contiene
  • 8. Sistema de Votación Electrónica usando metodología OMT Ingeniería de Software II Opción (planilla electrónica). Clave única (votante). ID servidor (servidor). ID base de datos, ID tabla e ID registro (Base de datos). ID algoritmo (seguridad). ID respaldo (respaldo). No hay atributos que sean nombres. No hay identificadores. No hay atributos de enlace. Atributos que son Valores internos son: Tiempo de respaldo en la clase respaldo. No hay detalles finos. No hay atributos discordantes. El diagrama de objetos agregando los atributos de los objetos queda de la siguiente manera:
  • 9. Sistema de Votación Electrónica usando metodología OMT Ingeniería de Software II Organizar y simplificar las clases de objetos empleando la herencia. De nuestras clases podemos ver que se puede hacer una generalización de la misma simplificando nuestro modelo de objetos de la siguiente forma: SUPERCLASE SUBCLASE REFINAMIENTO Portal Planilla Resultados Página Web Cliente Web Ayuda Ascendente Servidor maestroServidor Servidor espejo Descendente Votante Derechos Portal Diseño Contenido Clave Elector Clave Única Accede a Página Web Link Accede a Muestra a Muestra a Ayuda Tipo de ayuda Consulta Accede a Resultados Hora Muestra a Accede a Planilla Electrónica Derechos Accede a Opción Selecciona Voto ID votante Opción voto Seguridad ID algoritmo Se realiza Se procesa en Se autentifica Encripta Desencripta Se comunica con Servidor Reloj ID servidor Se conecta a Se comunica con Respaldo ID respaldo Se comunica con Base de datos ID tabla ID Base de datos ID registro Se comunica con Se comunica con Contiene
  • 10. Sistema de Votación Electrónica usando metodología OMT Ingeniería de Software II Servidor secundario Base de datos padrón electoralBase de datos Base de datos votación Diagrama de objetos con herencia: Votante Derechos Cliente Web Diseño Contenido Link Hora Portal Clave elector Clave elector Página Web Ayuda Tipo de ayuda Consulta Accede a Accede a Resultados Planilla Opción Accede a Accede a Selecciona Voto ID votante Opción voto Se realiza Servidor Reloj Se conecta a Accede a Se comunica con Se procesa en Servidor Reloj Servidor Reloj Servidor Reloj Respaldo ID respaldo Se comunica con Base de datos ID tabla ID registro ID servidor Seguridad ID algoritmo Se autentifica Desencripta Encripta Se comunica con Se comunica con Se comunica con Padrón Votación Contiene Se envíaID base de datos
  • 11. Sistema de Votación Electrónica usando metodología OMT Ingeniería de Software II Verificar que existen las vías de acceso adecuadas para las probables consultas. Al comprobar las vías de acceso entre los objetos de nuestro diagrama de modelado de objetos, se noto que sobran las siguientes asociaciones: La base de datos se comunica con el servidor (por que al hacer herencia es solamente la base de datos votación la que única y exclusivamente se comunica con el servidor). Iterar y refinar el modelo Repitiendo nuevamente el modelado de objetos tratamos de refinar el diagrama de objetos y descubrimos que se elimina las clases respaldo y seguridad ya que son en realidad operaciones de la clase servidor, nuestro diagrama de objetos final es el siguiente:
  • 12. Sistema de Votación Electrónica usando metodología OMT Ingeniería de Software II Agrupar las clases en módulos Este paso consiste en únicamente en estructurar el diagrama de tal forma que en un área determina se encuentre juntos, afortunadamente y de forma implícita nuestro diagrama ya cubre con este requerimiento por lo que este paso no se hace. MODELADO DE OBJETOS El modelado dinámico tiene que ver con el comportamiento de los objetos, es decir la transición de estados a partir de sucesos, el proceso es el siguiente: Se preparan escenarios de secuencias típicas de interacción. VOTANTE Derechos Clave electoral Clave única CLIENTE WEB Diseño Contenido Link Hora PORTAL PÁGINA WEB AYUDA Tipo ayuda Consulta RESULTADOS PLANILLA Accede a Accede a Selecciona opción Accede a Accede a Accede a Opción SERVIDOR Reloj Se comunica conSe conecta con Se autentifica VOTO ID votante Opción voto Se realiza SERVIDOR MAESTRO SERVIDOR ESPEJO Se copia SERVIDOR ESPEJO Se copia BASE DE DATOS ID tabla ID registro Se comunica con ID servidor PADRÓN VOTACIÓN Se comunica con Contiene Se procesa en ID base de datos
  • 13. Sistema de Votación Electrónica usando metodología OMT Ingeniería de Software II Para la preparación de escenarios hay dos tipos, los escenarios normales donde la interacción de los objetos es precisa y los escenarios especiales donde existen errores generalmente, los ESCENARIOS NORMALES de nuestro sistema son: Escenario #1 El votante introduce la URL (o dirección IP) del sistema y accede al portal. El portal muestra todas las opciones y características del sistema al votante. El votante selecciona la opción votar por lo que el portal lo lleva hasta la dirección de la planilla electrónica. La planilla electrónica muestra las opciones de voto al votante. El votante elige su opción de voto. La planilla electrónica pide la autentificación del votante. El votante introduce su clave del padrón electoral y su clave única y estas son enviadas hasta el servidor. El servidor encripta/desencripta el voto del votante y se comunica con la base de datos del padrón electoral. La base de datos del padrón electoral da el visto bueno de que el usuario esta en su base al servidor. El servidor procesa el voto y se comunica con la base de datos votación para registrar el voto en el sistema. La base de datos envía al servidor la indicación de que el registro fue dado de alta y pide a la clase votante quite su derecho a voto en esa opción. El servidor se comunica con el objeto resultados el cual procesa las estadísticas. El objeto resultados muestra la información al votante. Escenario #2 El votante introduce la URL (o dirección IP) del sistema y accede al portal. El portal muestra todas las opciones y características del sistema al votante. El votante selecciona la opción Páginas Web por lo que el portal lo lleva hasta la dirección de las Páginas Web (Vínculos). La página Web muestra al votante todos los enlaces (vínculos) que posee. El votante elige un vínculo (Link). La Página Web muestra al votante el vínculo seleccionado. Escenario #3 El votante introduce la URL (o dirección IP) del sistema y accede al portal. El portal muestra todas las opciones y características del sistema al votante. El votante selecciona la opción Ayuda por lo que el portal lo lleva hasta la dirección de la Ayuda (en línea). La ayuda muestra al votante todos los tipos (criterios) de ayuda que puede realizar. El votante introduce una duda que el objeto Ayuda tratará de resolver. La Ayuda muestra al Votante la solución a su duda.
  • 14. Sistema de Votación Electrónica usando metodología OMT Ingeniería de Software II Escenario #4 El votante introduce la URL (o dirección IP) del sistema y accede al portal. El portal muestra todas las opciones y características del sistema al votante. El votante selecciona la opción Resultados (estadísticas) por lo que el portal lo lleva hasta la dirección de los resultados. El objeto resultado muestra al votante todos los tipos (criterios) de estadísticas que puede realizar. El votante selecciona un tipo de estadísticas a visualizar. El objeto resultado muestra al Votante la información disponible de su consulta. Los ESCENARIOS ESPECIALES son: Escenario #1 El votante introduce la URL (o dirección IP) del sistema y si esta está correcta accede al portal, de lo contrario el navegador mostrara un mensaje de error. El portal muestra todas las opciones y características del sistema al votante, en caso de falla el portal muestra un mensaje de error al Votante. El votante selecciona la opción votar por lo que el portal lo lleva hasta la dirección de la planilla electrónica, en caso de falla se muestra un mensaje de error al votante. La planilla electrónica muestra las opciones de voto al votante, en caso de fracaso se vuelve a mostrar un mensaje de error. El votante elige su opción de voto. La planilla electrónica pide la autentificación del votante, en caso de que hubiera un error este es mostrado al votante. El votante introduce su clave del padrón electoral y su clave única y estas son enviadas hasta el servidor, las claves se encriptan. El servidor desencripta el voto del votante y se comunica con la base de datos del padrón electoral, en caso de error se muestra un mensaje de error. La base de datos del padrón electoral da el visto bueno de que el usuario esta en su base al servidor, de lo contrario pide al Votante vuelva a intentar escribir sus claves por que pudo haberse dado el caso de escribirlas mal. En caso de que se de el visto bueno, El servidor procesa el voto y se comunica con la base de datos votación para registrar el voto en el sistema, en caso de no darse el visto bueno el servidor reintentará la petición nuevamente en un ciclo de 5 veces, de seguir fracasando se “tira la toalla” y se le notifica al usuario de error en la base de datos. La base de datos envía al servidor la indicación de que el registro fue dado de alta y pide a la clase votante quite su derecho a voto en esa opción, en caso de fracaso en la transacción, la base de datos reintenta de nuevo un total de 5 veces o hasta que se tenga éxito, de lo contrario vuelve a mostrar un mensaje de error al Votante. El servidor se comunica con el objeto resultados el cual procesa las estadísticas.
  • 15. Sistema de Votación Electrónica usando metodología OMT Ingeniería de Software II El objeto resultados muestra la información al votante en caso de éxito, de otra forma muestra un mensaje de error durante el procesamiento de las estadísticas. Escenario #2 El votante introduce la URL (o dirección IP) del sistema y accede al portal, en caso de fracaso muestra mensaje de error. El portal muestra todas las opciones y características del sistema al votante, en caso de alguna anomalía se muestra al votante un mensaje de error. El votante selecciona la opción Páginas Web por lo que el portal lo lleva hasta la dirección de las Páginas Web (Vínculos) o en su defecto visualiza el error. La página Web muestra al votante todos los enlaces (vínculos) que posee, en caso de error se muestra el respectivo mensaje. El votante elige un vínculo (Link). La Página Web muestra al votante el vínculo seleccionado o en un mal caso muestra la descripción del error que acaba de ocurrir. Escenario #3 El votante introduce la URL (o dirección IP) del sistema y accede al portal en caso de que la URL sea correcta de lo contrario marcará un error. El portal muestra todas las opciones y características del sistema al votante en su forma normal pudiendo mostrar un mensaje de error al no poder mostrarlas. El votante selecciona la opción Ayuda por lo que el portal lo lleva hasta la dirección de la Ayuda (en línea) si ocurriera algún error este será mostrado al votante. La ayuda muestra al votante todos los tipos (criterios) de ayuda que puede realizar o marcará un error si este ocurriese. El votante introduce una duda que el objeto Ayuda tratará de resolver. La Ayuda muestra al Votante la solución a su duda en el caso de que haya podido resolverla, de lo contrario mostrará al votante que no pudo contestar a su inquietud y pedirá al usuario mandar un mensaje especializado para aclarar sus dudas. Escenario #4 El votante introduce la URL (o dirección IP) del sistema y accede al portal si esta correcta de lo contrario lo mandará a la URL seleccionada. El portal muestra todas las opciones y características del sistema al votante en caso de éxito, en caso de fracaso mostrará un mensaje de error al Votante. El votante selecciona la opción Resultados (estadísticas) por lo que el portal lo lleva hasta la dirección de los resultados, si llegara a ocurrir algún error este será notificado de inmediato al usuario. El objeto resultado muestra al votante todos los tipos (criterios) de estadísticas que puede realizar, si no puede mostrarlos mostrará un mensaje de error. El votante selecciona un tipo de estadísticas a visualizar. El objeto resultado muestra al Votante la información disponible de su consulta en caso de verla y de tener los privilegios necesarios, en caso de no tener los
  • 16. Sistema de Votación Electrónica usando metodología OMT Ingeniería de Software II privilegios se mostrará un mensaje al usuario de que la opción de resultados estará disponible hasta la hora marcada por la ley. Se identifican sucesos que actúen entre objetos. Para poder identificar sucesos entre objetos es necesario revisar los formatos de interfaz del sistema, los cuales son los siguientes: Se prepara un seguimiento de sucesos para cada escenario. Opciones del sistema Pantalla Activa PORTAL PLANILLA ELECTRÓNICA Partido Logo Candidato n Partido Logo Candidato 1 Cargo de elección Voto . . . Votar Borrar AYUDA Opciones de ayuda Criterio 1 . . . Criterio 2 Duda: Resolver Borrar AUTENTIFIFICACIÓN Introduce tus claves: Única: Secreta: ***** ********** Entrar Borrar RESULTADOS Tabla Gráficos Ver Estadísticas
  • 17. Sistema de Votación Electrónica usando metodología OMT Ingeniería de Software II Con el formato de interfaz del pasado punto es posible ya definir los sucesos que actúan sobre cada escenario por lo que se puede realizar este SEGUIMIENTO DE SUCESOS quedando como sigue: Escenario #1 parte 1 Escenario #1 parte 2 El seguimiento de sucesos del escenario anterior tuvo que ser dividido en dos por su tamaño, ya que de otra forma sería casi ilegible. Escenario #2 VOTANTE PORTAL PLANILLA ELECTRÓNICA SERVIDOR Introduce URL Muestra opciones del sistema Selecciona opción votar Muestra la planilla electrónica Introduce Voto Pide autentificación Introduce clave única y clave secreta Retener Voto . . . . . . Después de la parte 2 SERVIDOR BASE DE DATOS PADRON ELECTORAL BASE DE DATOS VOTACIÓN RESULTADOS Verificar claves del votante Usuario encontrado Registrar Voto Registro dado de alta Procesar estadísticas Mostrar resultados al votante
  • 18. Sistema de Votación Electrónica usando metodología OMT Ingeniería de Software II Escenario #3 Escenario #4 Con los diagramas de sucesos obtenidos anteriormente se prosigue a crear para cada uno de ellos su correspondiente DIAGRAMA DE FLUJOS DE SUCESOS para cada escenario quedando como sigue: Escenario #1 VOTANTE Introduce URL Muestra opciones del portal Selecciona Resultados (estadísticas) Muestra criterios de búsqueda Selecciona tipo de estadística Muestra estadística seleccionada PORTAL RESULTADOS VOTANTE Introduce URL Muestra opciones del portal Selecciona Ayuda Muestra criterios de ayuda Introduce criterio de ayuda Muestra resultado de su duda PORTAL AYUDA VOTANTE Introduce URL Muestra opciones del portal Selecciona página Web Muestra vínculos Selecciona un vínculo Muestra página Web del vínculo PORTAL PÁGINA WEB
  • 19. Sistema de Votación Electrónica usando metodología OMT Ingeniería de Software II Escenario #2 Escenario #3 Escenario #4 VOTANTE PORTAL Introduce URL Muestra opciones AYUDA Selecciona Ayuda, Introduce criterio de ayuda Muestra tipos de ayuda, Muestra resultados de su duda VOTANTE PORTAL Introduce URL Muestra opciones PLANILLA ELECTRÓNICA Selecciona votar, voto Introduce claves Muestra planilla, pide autentificación SERVIDOR BASE DE DATOS PADRÓN ELECTORAL BASE DE DATOS VOTACIÓN Autentificar usuario Usuario válido Registrar voto Voto dado de alta RESULTADOSProcesar estadísticas Mostrar resultados VOTANTE PORTAL Introduce URL Muestra opciones PÁGINA WEB Selecciona página Web, selecciona vínculo Muestra vínculos, muestra página Web del vínculo
  • 20. Sistema de Votación Electrónica usando metodología OMT Ingeniería de Software II Se construye un diagrama de estados. El diagrama de estados se hace con clases cuyo comportamiento dinámico no es trivial, por lo que de nuestras clases de objetos debemos seleccionarlas las correctas: Voto, Votante, Portal, Página Web, Planilla Electrónica, Resultados, Base de datos, Base de datos de Padrón Electoral, Base de datos de Votación, Servidor, Servidor Maestro, Servidor Espejo, Servidor Secundario, Ayuda. Para las clases que quedaron se construye su respectivo DIAGRAMA DE ESTADOS, quedando de la siguiente manera: Diagrama de estados de la clase portal Diagrama de estados de la clase Planilla electrónica VOTANTE PORTAL Introduce URL Muestra opciones RESULTADOS Selecciona resultados, Tipos de estadísticas Muestra criterios de búsqueda, Muestra resultados de estadísticas PANTALLA PRINCIPAL Hacer: Visualizar pantalla principal; escoger opción del usuario Entrada al portal Hacer: ir a opción Opción válida Éxito Opción procesada Falla OPCIÓN INVÁLIDA Hacer: Mostrar mensaje de error; capturar confirmación del votante Salir Salida del sistema Continuar Opción inválida o no disponible
  • 21. Sistema de Votación Electrónica usando metodología OMT Ingeniería de Software II Diagrama de estados de la clase Servidor Se comparan los sucesos intercambiados entre objetos para verificar la congruencia. En esta parte se verifica que haya congruencia en la correspondencia ente objetos, haciendo nuestro análisis previo determinamos que todos los sucesos son congruentes por lo que no hay nada por eliminar. DISEÑO DE OBJETOS En esta parte de la metodología OMT lo que se debe realizar es describir las operaciones que realiza cada objeto y el cómo las hace (algoritmos). Las operaciones de las clases son: CLASE OPERACIONES Votante Quitar derechos Cliente Web Desplegar información PANTALLA PRINCIPAL Hacer: Mostrar Opción de Planilla electrónica Hacer: mostrar planilla Opción Entrar a la planilla Éxito PLANILLA Hacer: Mostrar planilla. OPCION INVÁLIDA Hacer: Mostrar pantalla de error; capturar confirmación del votante Voto Hacer: procesar voto Error, sin derechos Falla en la transacción Éxito Mensaje de éxito Salir Salida del sistema Continuar ESPERANDO Hacer: Procesar voto; manejar concurrencia FALLA VOTO Hacer: Mostrar error; Capturar confirmación del votante Voto Reintentar Voto Hacer: Registrar en base de datos votación Voto procesado con éxito Falla Éxito Hacer: Procesar estadística Tirar la toalla Mostrar mensaje de error al usuario Falla Mostrar resultados
  • 22. Sistema de Votación Electrónica usando metodología OMT Ingeniería de Software II Portal Conectar con el servidor Enlazar con Paginas Web, Ayuda, Resultados y Planilla Electrónica. Página Web Ayuda Capturar tipo de ayuda Resolver consulta (duda) del votante. Resultado Planilla electrónica Capturar Voto del votante Base de Datos Altas, Bajas, Consultas, Modificaciones y Respaldo de la información. Comunicarse con el servidor Base de datos de Padrón Electoral Verificar existencia del usuario Base de datos de Votación Servidor Sincronizar servidores. Manejar concurrencia. Procesar votos. Comunicarse con la base de datos. Encriptar y desencriptar la información Servidor Maestro Distribuir trabajo entre servidores. Coordinar procesamiento global Servidor Espejo Pedir respaldo de la base de datos. Levantarse en caso de que el servidor maestro se caiga. Servidor secundario Procesar resultados e información pesada. Voto Estas operaciones se agregan a nuestro diagrama de objetos quedando de la siguiente manera:
  • 23. Sistema de Votación Electrónica usando metodología OMT Ingeniería de Software II VOTANTE Derechos Quitar CLIENTE WEB Diseño Contenido Link Hora Quitar Clave electoral Clave única PORTAL Conectar Enlazar RESULTADOS AYUDA Tipo ayuda Consulta Capturar Resolver PÁGINA WEB Accede a Accede a Accede a Selecciona opción Accede a PLANILLA Capturar Opción Accede a SERVIDOR Reloj Sincronizar Manejar Procesar Comunicarse Encriptar Desencriptar Se conecta con Se comunica con Se autentifica BASE DE DATOS ID tabla ID registro Insertar Eliminar Consultar Borrar Respaldar Comunicar VOTO ID votante Opción voto Se realiza PADRON Verificar VOTACIÓN Se comunica con Se comunica con Contiene ID base de datos ID servidor SERVIDOR MAESTRO Distribuir Coordinar SERVIDOR MAESTRO Distribuir Coordinar SERVIDOR MAESTRO Distribuir Coordinar Se copia a Se copia a Se procesa en