Presentación
Universidad Dominicana O & M
Maestría en ing. De sistemas Mención gerencial.
Trabajo Final POO y Base de datos.
Análisis y Diseño de un Sistema de Registro de Visitas en la Contraloría General
de la República.
Por:
Juan Emilio Tavares - 4-EISP-1-005
Vanessa Damián Ramírez - 12-SISP-1-003
Wearlin de la Cruz - 14-EISP-1-001
Martin G. Flores D. - 14-EISP-1-003
Ramón D. González -13-SISP-1-003
Facilitador:
Lenin Herrera
Santo Domingo, Rep. Dom.
Índice
Introducción
Actualmente las empresas e instituciones requieren de un mejor control para el ingreso de
personas que visitan sus instalaciones. El presente trabajo tiene por objetivo analizar y diseñar un
sistema de registro de visitas a ser utilizado en la Contraloría General de la Republica, el mismo
proporcionara la base para poder desarrollar la aplicación, la cual permitirá a la institución el
registro y control de todos los visitantes que ingresen y salan de las instalaciones, también
permitirá el registro de equipos en caso de que el visitante tenga alguno al momento de su visita.
Este proyecto abarca lo relacionado al planteamiento del problema y objetivos generales y
específicos del mismo, también incluye información sobre su alcance, abordamos lo
concerniente a los requerimientos o requisitos funcionales y no funcionales del mismo,
detallando lo que se necesita para su desarrollo. En el diagrama de caso de uso describimos los
pasos o actividades que se llevan a cabo para realizar el proceso del registro de visitas. El
diagrama de secuencia explica la interacción entre los objetos del sistema. Otros aspectos
presentados en este trabajo son el diagrama de clase, el cual describe la estructura del sistema de
registro de visitas mostrando sus clases, el diagrama de objetos utilizado para mostrar la
estructura de los datos y las interacciones que existen entre los diferentes objetos del sistema, el
diagrama de flujo en este se muestran paso a paso el proceso que se hace para el registro de un
visitante.
En el diseño del sistema, mostramos las diferentes interfaces que tendrá la aplicación, con sus
componentes.
El modelado de datos de este proyecto incluye un diccionario de datos y las tablas con sus
respectivos campos a ser usados en el desarrollo del sistema, también presentamos el diagrama o
modelo de entidad relación.
Por ultimo en la parte de estimaciones, hacemos una predicción de las variables asociadas a
nuestro proyecto con cierto grado de certezas, estas nos permitirá hacer un estimado de los costes
y tiempo que se tomara desarrollar el proyecto.
Planteamiento del problema
El registro de visitas en la Contraloría General de la Republica es llevado de manera manual,
lo que imposibilita elaborar un reporte de las personas que han visitado la institución de manera
rápida y precisa. Además de que conlleva un gasto en materiales gastables. Por tal motivo se
hace necesario desarrollar el análisis y diseño de un sistema de registro visitas que permita
automatizar los procesos.
Elaboración de objetivos
Objetivo general.
Desarrollar el análisis y diseño de un sistema de registros de visitas en la Contraloría General
de la Republica, aplicando aspectos relacionados la Programación Orientada a Objetos y de Base
de Datos, necesarios para desarrollo de nuestro proyecto de forma satisfactoria.
Objetivos específicos
1. Diseñar un sistema para la mejora los procesos de registro de visitas.
2. Definir la estructura de datos del sistema.
3. Identificar los procesos involucrados en el desarrollo del análisis y diseño.
Alcance del proyecto
Este proyecto solo abarca la fase de análisis y diseño del sistema de registro de visitas. El
sistema contara con un área de mantenimiento que será utilizada por el administrador, en el cual
se crearan los usuarios y accesos al sistema, así como también alimentar las marcas y modelos de
equipos que lleven consigo los visitantes al momento de su ingreso.
El sistema permitirá el ingreso de los datos de los visitantes, llevara el control de todos los
accesos (passpoint) a los diferentes departamentos, guardara un registro de todas las visitas
realizadas, detallando la fecha, hora, nombre del visitante, destino, motivo de su visita y
referencia sobre entrada de equipos. Se podrán hacer consultas de personas que hayan visitado la
institución, y al momento de la salida del visitante el sistema permitirá registrar la fecha, hora de
salida del mismo, si lleva algún equipo y el motivo por el cual lo lleva.
Análisis del sistema
Plataforma tecnológica
El sistema deberá ser desarrollado en PHP, y utilizara PostgreSQL como motor para
desarrollar la base de datos. Deberá poderse usarse en cualquier pc que tenga el sistema
operativo desde la versión Windows XP SP3 en adelante, y con cualquier navegador web.
Equipos (hardware) del sistema (infraestructura)
En cuanto a la infraestructura de hardware, tenemos los siguientes aspectos:
Instalación en pc que tenga como mínimo 2 Gb de RAM, 100 Gb HDD y procesador
Pentium Dual Core 2.8 Ghz.
Ambiente de trabajo con buena temperatura.
Sistema de alimentación eléctrica ininterrumpida para los quipos.
Uso de un servidor para el manejo de la aplicación.
Velocidad de conexión a internet.
Restricciones de usuarios.
El administrador del sistema será la persona responsable de la creación de usuarios,
asignación de roles, y del registro de los equipos, marcas y modelos
Solo las recepcionistas de turno podrán acceder al sistema, y para ello tendrán un usuario y
contraseña. Los usuarios no podrán hacer ningún tipo de cambios en la parte lógica y diseño del
sistema.
Perfiles de los usuarios del sistema
Conocimiento básico en el manejo de Windows.
Conocimiento básico en el manejo del software de aplicación.
Conocimiento básico en el manejo de navegadores.
Requisitos o requerimientos del sistema
A continuación, detallamos los requisitos funcionales y los no funcionales que deberán ser
satisfechos por el sistema.
Requisitos Funcionales:
Identificado Descripción del requisito
r del
requisito
RF-001 El sistema debe permitir el registro de los datos de ubicación y responsable de
cada visita.
RF-002 La aplicación admitirá que la ubicación y responsable de la visita, puedan ser
modificados.
RF-003 El sistema debe permitir un registro de las visitas realizadas durante el día, con
el objetivo de poder realizar futuras consultas, en caso de ser necesario.
RF-004 Se podrán visualizar el estado de una visita, con lo cual podremos confirmar si
está en proceso o ha concluido la misma.
RF-005 El usuario del sistema podrá consultar si una persona posee un visitante en un
determinado momento o si está presente en un departamento.
RF-007 En el sistema cada usuario que se encuentre registrado, deberá tener un
determinado perfil, acorde a las funciones que vaya a realizar el mismo.
Requisitos no funcionales:
Identificador Descripción del requisito
del requisito
RNF-01 La interfaz del sistema deberá ser implementada como una aplicación WEB.
RNF-002 Cada usuario que intente acceder al sistema de registro de visitas, deberá
introducir en la página de bienvenida, sus credenciales correspondientes (código
de usuario-tarjeta y contraseña), siendo esta validada por el sistema,
proveyéndole acceso o dándole un mensaje para que introduzca nuevamente los
datos.
RNF-003 El software, deberá poseer una interfaz gráfica muy sencilla y amigable, con el
objetivo de que el usuario pueda tener un aprendizaje y manejo en poco tiempo
de la misma aplicación, con lo que nos basaremos en menús, listas desplegables,
ventanas, y los llamados botones de acción.
RNF-004 La aplicación deberá ser diseñada según la arquitectura cliente/servidor.
RNF-005 El sistema debe contemplar lo que son los servicios de red, para establecer
comunicación entre los diferentes clientes, servidor web y el manejador de base
de datos a usar.
RNF-006 El sistema de registro de visitas deberá ser desarrollado en el manejador de base
de datos PostgreSQL.
Diagrama caso de uso
Casos de Uso (Actores)
Caso de uso: Sistema De Registro de Visitas
Actores Caso de uso asociado
Administrador Registro de Usuarios, Registro de Roles, Mantenimiento de
Equipos, Mantenimiento de tipo de equipo, Mantenimiento de
Marcas, Mantenimiento Modelo
Registrar entrada de visitante, Marca de equipo, Salida de
Recepcionista de turno Visitante, Registrar Salida de equipo, Verificar PassPoint,
Administrador
Narrativa 1
1- El administrador acceder al sistema.
2- Da clic en la pestaña de mantenimiento.
3- Dar clic opción de Roles.
4- Registra roles del sistema para usuarios.
5- Salva.
6- Clic opción de usuarios.
7- Registra usuario y define roles del usuario dentro del sistema.
8- Salva.
9- Clic opción Mantenimiento de tipo de equipo.
10- Registra tipos de equipos en el sistema.
11- Salva.
12- Clic opción Mantenimiento de Marcas.
13- Registra marcas de equipos.
14- Salva.
15- Clic opción Mantenimiento de Modelos.
16- Registra modelos de equipos.
17- Salva.
18- Clic opción Mantenimiento de equipos.
19- Registra los equipos (relación tipo de equipo, marcas, modelos).
Recepcionista
Narrativa 2
1- Visitante llega a recepción.
2- La recepcionista recibe visitante.
3- Confirmar la persona o depto. que desea visitar.
4- Registra la entrada.
5- Si tiene equipo procede a registrarlo junto al registro de visita.
6- El Visitante regresa de su visita y recepcionista registra la salida.
7- Si tiene equipo y sale con este, procede a registrar salida de equipo.
Narrativa 3
1- El visitante va a salir de la institución con un equipo.
2- Llega a recepción.
3- La recepcionista recibe al visitante.
4- Accede al sistema
5- Toma datos del equipo a salir.
6- Registra datos del equipo.
7- Salva.
Narrativa 4
1- El visitante llega la institución con un equipo.
2- Llega a recepción.
3- La recepcionista recibe al visitante.
4- Accede al sistema.
5- Toma datos del equipo a entrar.
6- Registra datos del equipo.
7- Salva.
Diagrama caso de uso
Diagrama de secuencia
Diagrama de clase
Diagrama de actividades
Diagrama de objetos
Diagrama entidad relación
Diagrama del sistema
Modelo de datos o esquema contextual del sistema
El sistema constara de las siguientes interfaces:
Inicio de Sesión: Destinada para acceder al sistema, esta solicitara un nombre de usuario más
una contraseña. Este formulario tendrá un botón aceptar.
Menú Principal: Esta interfaz tendrá un menú con las siguientes opciones: inicio, mantenimiento,
procesos, consultas, reportes, salir.
Inicio: Esta vista tendrá un dibujo dando la bienvenida al sistema. Sera la interfaz principal al acceder al
mismo.
Mantenimiento: Este desplegara un sub-menú con las siguientes opciones, las cuales serán utilizadas
solo por el administrador del sistema: Usuarios, roles, marcas, modelo, tipo de equipo, equipo,
departamentos y empleados.
Usuarios: Por medio de esta interfaz, el administrador podrá crear los usuarios que utilizaran el sistema,
especificando el código, nombre, rol y contraseña inicial. Contará con los botones guardar y eliminar.
Diseño del sistema
Interfaz Inicio de Sesión
Interfaz Menú Principal
Interfaz Inicio
Interfaz Mantenimiento
Interfaz de Usuario
Modelo de datos
Diccionario de datos y tablas
Tabla Campo Tipo Descripción
MUSUARIOS ID_USUAR Varchar Código de usuario
NOM_USUAR Varchar Nombre de
usuario
Clase de usuario
PSW_USUAR Varchar
PSW_INTFA
Integer Intentos fallidos
Código de rol de
ID_ROL Integer usuario en sistema
(Tabla MRoles)
Estado lógico del
ESTADO Integer registro en la tabla
(1=activo, 2=nulo
o borrado)
MROLES Código de papel o
ID_ROL Integer rol en el sistema
para usuarios.
DESC_ROLES Varchar Descripción de rol
Estado lógico del
ESTADO Integer registro en la tabla
(1=activo, 2=nulo
o borrado)
MMARCA ID_MARCA Integer Código de marca
de equipos
DESC_MARCA Varchar Descripción marca
equipos
Estado lógico del
ESTADO Integer registro en la tabla
(1=activo, 2=nulo
o borrado)
ID_MODELO Integer Código de modelo
MMODELO equipo
DESC_MODELO Varchar
ESTADO Integer Estado lógico del
registro en la tabla
(1=activo, 2=nulo
o borrado)
MTIPOEQUIPO ID_TIPO Integer Código tipo
equipo
DESC_TIPO Varchar Descripción tipo
equipo
Estado lógico del
ESTADO Integer registro en la tabla
(1=activo, 2=nulo
o borrado)
ID_EQUIPO Integer Código de equipo
ID_TIPO Integer Código tipo
equipo (Tabla
MTipoEquipo)
ID_MARCA Integer Código de marca
de equipo (Tabla
MMarca)
ID_MODELO Integer Código de modelo
equipo (Tabla
Modelo)
MEQUIPO Estado lógico del
ESTADO Integer registro en la tabla
(1=activo, 2=nulo
o borrado)
MTIPIDENT ID_TIPIDENT Integer Código tipo
identificación
DESC_TIPIDENT Varchar Descripción tipo
identificación
Estado lógico del
ESTADO Integer registro en la tabla
(1=activo, 2=nulo
o borrado)
TVISITAS ID_VISITANT Integer Cedula Visitante
Código de control
ID_CTLREG Integer de registro para
indicar si es una
visita o si es una
salida de equipo
ID_TIPIDENT Integer Código tipo
identificación
(Tabla
MTIPIDENT)
NOM_VISITAN Varchar Nombre de
visitante
FEC_ENTRADA Date Fecha de entrada
HOR_ENTRADA Time Hora de entrada
FEC_SALIDA Date Fecha de salida
HOR_SALIDA
Time Hora de salida
ID_EQUIPO Integer
Código de equipo
(Tabla Equipos)
ID_USUAR Varchar Código de usuario
(Tabla
MUsuarios)
ID_EMPLEADO Integer Código de
empleado visitado
STA_VISITA Integer Estatus de la visita
(1=vigente,
2=cerrada)
Estado lógico del
ESTADO Integer registro en la tabla
(1=activo, 2=nulo
o borrado)
ID_DEPART Integer
MDEPARTAMENTO Código
S departamento
NOM_DEPART Varchar Nombre de
departamento
Estado lógico del
ESTADO Integer registro en la tabla
(1=activo, 2=nulo
o borrado)
MEMPLEADOS ID_EMPLEADO Integer Código de
empleado
NOM_EMPLEADO Varchar Nombre de
Empleado
Código
ID_DEPART Integer departamento al
que pertenece
(Tabla
Mdepartamentos)
Código del puesto
ID_PUESTO Integer o posición que
ocupa el empleado
NUM_CARNET Integer Número del
Carnet
Estado lógico del
ESTADO Integer registro en la tabla
(1=activo, 2=nulo
o borrado)
MPOSICIONES ID_PUESTO Integer Código del puesto
o posición para
empleados
NOM_PUESTO Varchar Nombre del
puesto
Estado lógico del
ESTADO Integer registro en la tabla
(1=activo, 2=nulo
o borrado)
MCONTROL Código de control
ID_CTLREG Integer de registro para
indicar si es una
visita o si es una
salida de equipo
NOM_CTLREG Varchar Descripción de
control de registro
Estado lógico del
ESTADO Integer registro en la tabla
(1=activo, 2=nulo
o borrado)
Modelo entidad relación
Cuadro de entidad de relación de Campos/Tablas.
Campo Entidad Padre Entidad Hijo
ID_Rol MRoles MUsuarios
ID_TIPO MTipoEquipo MEquipo
ID_MARCA Mmarca MEquipo
ID_TIPIDENT Mtipident Tvisitas
ID_USUAR MUsuarios Tvisitas
ID_EQUIPO MEquipo Tvisitas
ID_EMPLEADO MEmpleados Tvisitas
ID_DEPART Mdepartamentos MEmpleados
ID_PUESTO Mposiciones MEmpleados
ID_MODELO Mmodelo MEquipo
Estimación de costos
Cálculo de Puntos de Casos de Uso sin Ajustar (UUCP)
UUCP = UAW + UUCW
Donde:
UUCP: Puntos de Casos de Uso sin ajustar
UAW: Factor de Peso de los Actores sin ajustar
UUCW: Factor de Peso de los Casos de Uso sin ajustar
Factor de peso de los actores sin ajustar (UAW).
Tipo de Descripción Factor de Número de Resultad
actor peso actores o
simple Otro sistema con una API 1 0 0
definida
promedio Otro sistema interactuando con 2 0 0
algún protocolo (TCP) o una
persona interactuando a través
de una interfaz en modo texto
complejo Una persona interactuando a 3 2 6
través de una interfaz gráfica
de usuario
Total 6
UAW=6
Factor de peso en los casos de uso sin ajustar (UUCW).
Tipo de Descripción Factor de Número de Resultad
caso de peso caso de Uso o
uso
simple 1-3 Transacciones 5 4 20
promedio 4-7 transacciones 10 11 110
complejo Mayores de 7 transacciones 15 3 45
Total 175
UUCW = 175
Calculando
UUCP = UAW + UUCW
UUCP = 6 + 175
UUCP = 181
Cálculo de Puntos de Casos de Uso ajustados
UCP = UUCP x TCF x EF
Donde:
UCP: Puntos de Casos de Uso ajustados
UUCP: Puntos de Casos de Uso sin ajustar
TCF: Factor de complejidad técnica
EF: Factor de ambiente
Factor de complejidad técnica (TCF)
Número de Descripción Peso Valor Factor Comentario
factor
T1 Sistema Distribuido 2 1 2 La Aplicación prepara datos
para que el usuario final los
procese en otra CPU.
T2 Tiempo de respuesta 1 1 1 Requisitos de desempeño
fueron establecidos y
revisados por el usuario, pero
ninguna acción especial fue
necesaria
T3 Eficiencia por el 1 2 2 Funcionales apropiadas y
usuario proporcionada para un
aplicación que ayuda a la
eficiencia del usuario final
para el mejor funcionamiento
del sistema.
T4 Proceso interno 1 2 1 Procesamiento especial de
complejo auditoría y/o procesamiento
especial de seguridad,
Procesamiento lógico
extensivo
T5 Reusabilidad 1 0 0 No presenta código
reutilizable
T6 Facilidad de 0.5 1 0.5 Por ser un sistema Web la
instalación complejidad de instalación es
mínima.
T7 Facilidad de uso 0.5 5 2.5 El sistema debe ser fácil de
usar, aunque se encuentra
dirigido a personas ajenas al
centro además.
T8 Portabilidad 2 0 0 El usuario no ha solicitado
considerar la necesidad de
instalar la aplicación en más
de una plataforma
T9 Facilidad de cambio 1 5 5 Datos de control son
mantenidos en tablas que
pueden ser actualizadas por el
usuario a través de procesos
online e iterativos, y las
modificaciones son
efectivizadas inmediatamente.
T10 Concurrencia 1 1 1 Son esperados accesos
simultáneos esporádicamente.
T11 Objetivos especiales de 1 2 2 Fue considerada en el
seguridad proyecto del sistema, la
necesidad de control de
seguridad y la aplicación fue
proyectada para que solamente
usuarios autorizados puedan
acceder.
T12 Acceso directo a 1 0 0 La aplicación es accesible a
terceras partes cualquier usuario.
T13 Facilidades especiales 1 1 1 La necesidad de capacitación
de entrenamiento a especial, fue llevada en
usuarios finales consideración en el
proyecto del sistema.
Total 18
Facto
r
Tfactor=18
Calculando:
TCF = 0.6 + (0.01 * TFactor)
TCF=0.6+(0.01*18)
TCF=0.6+.18
TCF=0.78
Factor ambiente (EF)
Número del factor Descripción Peso Valor Factor
E1 Familiaridad con el modelo del proyecto 1.5 3 4.5
usado.
E2 Experiencia en la aplicación 0.5 3 1.5
E3 Experiencia OO. 1 3 3
E4 Capacidad del analista líder. 0.5 3 1.5
E5 Motivación. 1 5 5
E6 Estabilidad de los requerimientos. 2 3 6
E7 Personal media jornada. -1 3 -3
E8 Dificultad en lenguaje de programación. -1 0 0
Total 23
EF=1.4 – 0.03*∑(Peso x Valor asignado)
EF = 1.4 – (0.03 * 23)
EF = 1.4-0.69
EF=0.71
Cálculo de los Puntos de Casos de Uso Ajustados:
UCP=UUCP*TCF*EF
UCP=181*0.78*0.71
UCP=100.24
Cálculo del esfuerzo
E = UCP*CF
Dónde:
E: esfuerzo estimado en horas-hombre.
UCP: Puntos de casos de uso ajustados.
CF: Factor de conversión (20 horas-hombre por defecto).
E = 100.24 * 20
E = 2004.8 Horas
Tomando en cuenta que los Analista trabajan 8 horas al días y 20 días al mes.
Calcular el tiempo de desarrollo:
Tiempo = HORAS x 1 día x 1 mes
3 Analista 8 horas 20 días
Tiempo = 2004.08 x 1 x 1
3 8 20
Tiempo = 4.2 meses (4 meses y 2 semanas)
Conclusión
El desarrollo del proyecto consistió en el análisis y diseño de un sistema de registro de visitas
en la Contraloría General de la Republica para automatizar el proceso de registro y control de
visitantes.
Para fortalecer la seguridad dentro de esta institución es importante contar con un sistema en
el cual se puedan registrar todos los individuos que visitan diariamente a esta entidad, tal sistema
permitirá tener un mayor control de la entrada y salida de visitantes, así como también el registro
de entrada y salida equipos. Un módulo de este sistema guardara un historial que podrá ser
consultado en todo momento, también se podrán imprimir reportes.
Para su desarrollo fue necesario la definición del problema, delimitar el alcance del
proyecto, establecer los objetivos, análisis, diseño y aspectos de modelado de base de datos.
Para la elaboración de los diferentes diagramas consultamos algunos referentes sobre su
elaboración, al igual que para la estimación de costos.
En base a este análisis y diseño, el programador contara con las pautas necesarias para el
desarrollo del sistema de registro de visitas, tomando en cuenta los aspectos mencionados en este
proyecto.
Bibliografía
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]