Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TESIS
QUE PARA OBTENER EL TÍTULO DE
INGENIERO EN COMPUTACIÓN
P R E S E N T A
FLORES NICOLÁS MAURICIO
ASESOR:
OFICIO: FT5
Valle de Chalco, Méx. a 27/02/2017
PRESENTE.
Nombre Firma
ATENTAMENTE
C.c.p. Archivo
ICG/icg
Av. Hermenegildo Galeana No.3, Col. Ma. Isabel, Valle de Chalco, C.P. 56615, Edo. De México, Tel: (55) 59714940, 59787577 y 30921763 Ext. 115
Página: http://cux.uaemex.mx e-mail: titulación_cuchalco@uaemex.mx, icarrenog@uaemex.mx
Departamento de Titulación
Centro Universitario UAEM Valle de Chalco
__________________________
Mauricio Flores Nicolás
AGRADECIMIENTOS
Demasiadas son las personas que son parte de este logro, pero me gus-
tarı́a agradecer a la vida, por permitirme una segunda oportunidad de
seguir adelante y darme el privilegio de superarme después de la enfer-
medad que pase hace un tiempo, por lo que siempre me esforzaré al 100%.
— Papá y Mamá
IMPLEMENTACIÓN DE UN SISTEMA WEB-MOVIL PARA
AGILIZAR EL PROCESO DE CADENA DE CUSTODIA
CONTENIDO
RESUMEN 15
7
3 DESARROLLO DEL SISTEMA 41
3.1 ANÁLISIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.1.1 Requerimiento funcional . . . . . . . . . . . . . . . . . 42
3.1.2 Requerimiento no funcional . . . . . . . . . . . . . . . 44
3.1.3 Herramientas y tecnologı́as a usar . . . . . . . . . . . 44
3.2 DISEÑO DEL SISTEMA . . . . . . . . . . . . . . . . . . . . . 46
3.2.1 Modelo de la base de datos . . . . . . . . . . . . . . . 46
3.2.2 Modelo del WebService . . . . . . . . . . . . . . . . . . 47
3.2.3 Modelo de la aplicación Web . . . . . . . . . . . . . . 51
3.2.4 Modelo de la app móvil . . . . . . . . . . . . . . . . . 54
3.2.5 Propuesta de interfaces . . . . . . . . . . . . . . . . . . 54
3.3 CODIFICACIÓN . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4 EXPERIMENTACIÓN 75
4.1 PROPUESTA PARA EVALUAR EL SISTEMA . . . . . . . 76
4.2 PRESENTACIÓN . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.3 PRUEBAS TÉCNICAS . . . . . . . . . . . . . . . . . . . . . . 79
4.3.1 Acceso al sistema (Web) . . . . . . . . . . . . . . . . . 79
4.3.2 Registro de usuarios . . . . . . . . . . . . . . . . . . . 80
4.3.3 Supervisar usuarios . . . . . . . . . . . . . . . . . . . . 81
4.3.4 Acceso al sistema (Móvil) . . . . . . . . . . . . . . . . 82
4.3.5 Iniciar investigación . . . . . . . . . . . . . . . . . . . . 83
4.3.6 Capturar lectura de derechos al detenido . . . . . . . 84
4.3.7 Solicitar exámen médico . . . . . . . . . . . . . . . . . 87
4.3.8 Generar la bitácora de actuación . . . . . . . . . . . . 87
4.3.9 Subir archivos al servidor . . . . . . . . . . . . . . . . 91
4.3.10 Iniciar caso y carpeta de investigación . . . . . . . . . 92
4.3.11 Vinculación de registros Web / Móvil . . . . . . . . . 93
8
5 RESULTADOS 95
5.1 CONCLUSIÓN . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.2 RECOMENDACIONES Y TRABAJO A FUTURO . . . . . 97
BIBLIOGRAFÍA 98
GLOSARIO 102
ACRÓNIMOS 111
ANEXOS 115
9
LISTA DE FIGURAS
10
3.10 Clase de objeto de la operación “Eliminar catálogo” (Fuente
propia, 2016). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.11 Diagrama de clases de la app móvil (Fuente propia, 2016). . 54
3.12 Mock-ups de la interfaz Web (Fuente propia, 2016). . . . . . 55
3.13 Mock-ups de la interfaz móvil (Fuente propia, 2016). . . . . 56
11
5.3 Solicitud de dictamen médico, parte 2 (Fuente propia, 2016).117
5.4 Bitácora de actuación (Fuente propia, 2016). . . . . . . . . . 118
12
LISTA DE TABLAS
13
LISTA DE CÓDIGOS
14
RESUMEN
En el presente trabajo se llevó a cabo la Implementación de un Sistema
Web-Móvil para agilizar el proceso de Cadena de Custodia considerando
como base la información que se encuentra en la página oficial del Consejo
Nacional de Seguridad Pública, ası́ como de los diferentes formatos que
utiliza actualmente el cuerpo de policı́a en México.
15
CAPÍTULO 1
INTRODUCCIÓN A CADENA
DE CUSTODIA
16
1.1 ANTECEDENTES
Kam Fai Wong examinó los requisitos clave del e-Government y como
los servicios Web se pueden aplicar a este, también dió una idea general
de la infraestructura para el gobierno electrónico cuando aplica cuatro
modelos diferentes de servicios Web (Wong, 2006).
17
Mientras tanto, los expertos forenses, oficiales de policı́a y servidores
públicos se benefician con herramientas de manipulación de video forense
denominadas “inteligentes”, por ejemplo, con la detección de rostro, Bio-
metric Forensic Video tool (BioFoV), para realizar este tipo de análisis
extrayendo datos biométricos con el objetivo de encontrar novedades para
la investigación (Almeida et al., 2016).
18
extender el proyecto en cincuenta estaciones de policı́a de Chubut y a
todas las divisiones provinciales en un futuro (Debnath et al., 2010).
19
1.2 ¿QUÉ ES CADENA DE CUSTODIA?
La Cadena de Custodia se representa cómo un conjunto de actividades
“eslabonadas”, dirigidas a la correcta y adecuada preservación de los in-
dicios o elementos materiales probatorios, desde su descubrimiento en el
lugar de los hechos por parte de un oficial, hasta que la autoridad compe-
tente ordene su conclusión; según se trate de una denuncia, localización o
descubrimiento ó flagrancia ((Consejo Nacional del Poder Judicial), 2011).
20
1.3 JUSTIFICACIÓN
Actualmente existe un protocolo de actuación nombrado Primer Respon-
diente (PR) publicado en el Diario Oficial de la Federación el 18 de Junio
de 2008 el cual tiene como objetivo homologar los lineamientos de las au-
toridades policiacas en su actuación y de conformidad cómo se establece
en la Constitución Polı́tica de los Estados Unidos Mexicanos ((Consejo
Nacional de Seguridad Pública), 2008).
21
1.4 IMPORTANCIA DEL PROBLEMA
Un dı́a se realizó una reunión con un abogado experimentado en el área
penal, donde mencionó que actualmente en la documentación del registro
de cadena de custodia, el policı́a implicado o Primer respondiente captura
la información a mano, ocasionando que la mayorı́a de veces estos se mal-
traten, ensucien o simplemente no sean escritos correctamente conforme
a la información que se solicita, por lo tanto, ocupan un cuaderno de
apuntes para después transcribir la información a los formatos oficiales,
demorando el proceso.
¿Qué tan útil será un sistema informático que ayude a los oficiales y el
Ministerio Público a recolectar, almacenar y gestionar la información que
implica un caso de investigación en el proceso de Cadena de Custodia, uti-
lizando recursos tecnológicos como dispositivos móviles y sistemas Web?
22
1.5 OBJETIVOS
Desarrollar un sistema informático que registre los indicios o elementos
materiales probatorios de un caso, mediante el uso de tabletas electrónicas,
estos indicios posteriormente serán almacenadas y controladas como evi-
dencia en un ambiente Web, con el fin de incorporarlos de prueba en el
proceso penal.
• Redactar la tesis.
23
1.6 MARCO TEÓRICO
Para comenzar, las TIC como menciona (Roig et al., 2006), son una
herramienta cognitiva basada en una aplicación informática o cualquier
medio electrónico, por lo tanto la persona que tiene interacción con los
dispositivos facilitan actividades cómo conocimiento, ofreciendo soporte,
guiando y extendiendo los pensamientos de los usuarios. Actualmente
la tecnologı́a ha crecido considerablemente favoreciendo la mayorı́a de
las actividades humanas cómo, comunicarse instantáneamente, organizar
fechas importantes, capturar archivos multimedia (foto, video y audio),
conectarse a internet, entre otros, situados en un dispositivo de bolsillo.
24
áreas, por ejemplo, la biologı́a donde (Warwick, 2011) menciona cómo a
través de implantes y electrodos se puede crear una mente orgánica para
los robots, con el fin de proporcionar una mejora en la humanidad, dis-
minuyendo los efectos de ciertas enfermedades neuronales.
25
1.7 METODOLOGÍA
Recopilación de información: realizar una investigación documental de di-
versos programas informáticos que apoyen los procesos policiacos,
obteniendo un panorama general del tema a abordar.
Desarrollo del sistema: presentar los pasos del prototipo, problemas en-
contrados, sugerencias y pruebas técnicas.
26
En la Figura 1.1 se muestra un diagrama de bloques mostrando el flujo
que se seguirá a lo largo de la investigación.
Inicio de la
investigación
Recopilación de
información
Investigación del
Análisis y definición de
proceso de Cadena de
tecnologías a usar
Custodia
Formulación de
Experimentación
preguntas y respuestas
Interpretación de los
datos
27
CAPÍTULO 2
PROCESOS DE OPERACIÓN
EN LA CADENA DE CUSTODIA
28
En este capı́tulo se hará referencia al protocolo Primer Respondiente
publicado en el Diario Oficial de la Federación ((Consejo Nacional de Se-
guridad Pública), 2008), con el fin de tener conocimientos generales sobre
la Cadena de Custodia.
Policı́a con Capacidades para Procesar (PCP), servidor público que de-
sarrolla la observación, fijación, procesamiento, traslado y entrega
de los indicios a la autoridad competente.
29
2.2 MAPA DEL PROCEDIMIENTO
El procedimiento de operación se puede observar de forma gráfica en la
Figura 2.1 donde se aprecian las acciones que deben realizar las autori-
dades para entregar la documentación de la investigación, esto se detalla
a fondo en la sección 2.3 de la página 31.
Procedimiento
INICIO
SIMBOLOGÍA
CONOCIMIENTO DE La autoridad con funciones de seguridad
pública que localicen, descubran o les sean
aportados indicios/EMP actuará como Prime
1
Subprocesos
abstenerse de oler, tocar, probar u otra acción
Presencia de que ponga en riesgo su integridad
Hechos
la comisión
delictivos 1
1
Conector misma página
(relaciona dos actividades dentro de la misma página)
del hecho ¿Es posible
consumados No realizar la
opcionales
delictivo detención?
Identifica
1
Primer personas Informa al superior
respondiente implicadas con el
Primer
jerárquico la Subprocesos y actuaciones opcionales
(indica su posible ejecución en paralelo al flujo principal)
hecho respondiente
existencia de riesgos
y/o la necesidad de
apoyo
Se debe identificar y procurar que
se brinde atención a las personas
ubicadas dentro de los grupos
vulnerables, de conformidad con
la normatividad aplicable Intervención de Ministerio Público
¿Existen personas que
requieran protección, Si
auxilio y atención?
Existencia de Solicitud de Intervención de la Policía de Investigación
riesgos apoyo
PRESERVACIÓN
Intervención de Peritos
Canaliza a la
Primer
respondiente persona para su
atención
Superior Determina las
No jerárquico acciones a seguir
2 Se aproxima a la
Primer persona que esta
respondiente cometiendo el
Primer delito
respondiente Coordina el apoyo
USO DE LA FUERZA
Emplea el uso
Primer legítimo y
-Escrito
respondiente proporcional de la
-Fotográfico fuerza
-Videográfico
-Croquis simple
Primer Documenta el
respondiente lugar
Informa al
Primer
Personal
especializado respondiente las
actividades
realizadas
¿Con motivo del uso de la
Sí fuerza hay personas lesionadas
y/o fallecidas?
Fallecidos Lesionados
Realiza un
Primer recorrido perimetral
respondiente inicial para
determinar límites Valora la situación
Informe de Informe de
Avisa uso legítimo
y toma las uso legítimo
Primer Primer
respondiente inmediatamente al de la fuerza
respondiente medidas de la fuerza
MP necesarias para la
atención médica
Primer Identifica lugares
respondiente conexos
2 Detiene a la
Primer
respondiente persona
PRIORIZACIÓN Primer
respondiente
Realiza la
inspección al
detenido
Primer Informa al MP de
Informa al MP
para que envíe a
PROTECCIÓN
DEL SITIO
El conocimiento de derechos se
respondiente la priorización
Primer
Policía de realizará cuando el primer
respondiente considere que no existe
respondiente investigación con Le informa los IPH/Acta de riesgo alguno
Peritos / Policía Primer derechos que asisten detención
Se realizará con los recursos con capacidades respondiente a las personas en Registro de
disponibles, circunstancias detención lectura de
de tiempo y siempre para procesar derechos
privilegiando la seguridad
personal Recolecta y Registro de
Primer Cadena de
respondiente embala los custodia
El procesamiento se ajustará a las
indicios o EMP circunstancias especificas del hecho
Acta de
Asegura todos los inventario de
Primer Realiza el Primer objetos del aseguramiento
respondiente respondiente
acordonamiento detenido Registro de
Cadena de
Custodia
Si
¿Es posible
realizar la
entrevista?
No
¿Es posible realizar
inspección del lugar,
personas y/o vehículo?
Si TRASLADO PR/ personal
especializado
Traslado
+
ACCIONES PREVIAS A LA
¿Con motivo del acto de
No investigación se advierte la Sí
comisión de otro delito ?
PUESTA A DISPOSICIÓN
Certificado Elabora las actas
Elabora certificado Primer Anexos
Realiza la Perito Médico médico
respondiente policiales
1 médico
integración de los correspondientes
Primer IPH/Anexos
respondiente registros
correspondientes
IPH Registro de
Cadena de
Certificado Custodia
¿Arriba personal policial Primer Entrega física de la médico
No de investigación/ Perito /
Si respondiente persona al MP Acta de
Policía con capacidades Lectura de aseguramiento
para procesar al lugar? Derechos
PUESTA A DISPOSICIÓN
Traslada los
Primer indicios o EMP al Primer Entrega el lugar
respondiente respondiente Primer Recaba acuses
lugar que MP de intervención respondiente correspondiente
determine
¿Policía de investigación/
Peritos/ Policía con capacidades
No para procesar requiere apoyo Si
del PR para la preservación del
lugar de intervención?
Policía de
investigación/Perito/ Solicita al PR
Policía de
investigación/Perito/
Le indica al PR las
Policía con pormenores de sus Policía con actividades a
capacidades para capacidades para
procesar
actividades procesar realizar
Policía de
investigación/Perito/
Le indica retirarse
Policía con al primer
capacidades para
procesar respondiente
TRASLADO Traslado
+
FIN
Figura 2.1: Mapa del procedimiento del Primer Respondiente ((Consejo Na-
cional de Seguridad Pública), 2008).
30
2.3 DESCRIPCIÓN DEL PROCEDIMIENTO
2.3.1 Denuncia
31
2.2. Hechos delictivos consumados. Las actividades que sigue el PR
en esta situación son:
• Evaluación inicial.
32
– Recorrer perimetralmente el lugar de intervención:
Realizar un recorrido perimetral del lugar y/o hallazgo,
con el propósito de determinar los lı́mites e identificar
lugares conexos e indicios.
33
2.2.4. Inspecciones. Si se considera realizar la inspección del lugar,
personas o vehı́culos para impedir consecuencias ulteriores,
se llevan a cabo los actos de investigación necesarios. Aten-
diendo a cada caso, el PR podrá realizar cualquier otro acto
de investigación. Si con motivo del acto de investigación eje-
cutado por el PR, éste advierte la posible comisión de algún
otro delito, tendrá que realizar las acciones relacionadas con
la Flagrancia detalladas en la página 35.
34
el apoyo requerido, quedando bajo su coordinación. De
no requerirse el apoyo, también se deberá indicar al PR
que puede retirarse del lugar de intervención.
2.2.8. Traslado. En caso de que el Policı́a de Investigación, perito o
PCP, requiera el apoyo del PR para el traslado de indicios o
elementos materiales probatorios, éste deberá de trasladarlos
al lugar que le sea indicado. Cuando no exista en el lugar
de intervención, Policı́a de Investigación, perito o PCP, el
PR realizará el traslado de indicios o elementos materiales
probatorios al lugar que le indique el Ministerio Público.
2.3.3 Flagrancia
35
la comisión del delito y tenga en su poder instrumentos, obje-
tos, productos del delito o se cuente con información que ha-
gan presumir fundadamente que intervino en el mismo. En
este supuesto, se entenderá que la persona ha sido detenida
en flagrancia por señalamiento, siempre y cuando, inmediata-
mente después de cometer el delito, no se haya interrumpido su
búsqueda y/o localización: En cualquiera situación de flagran-
cia, el PR realiza las siguientes actividades:
36
o avisar al probable responsable de su actividad o acto
hostil.
37
• Aseguramiento: Asegura todos los objetos del detenido,
realizando el inventario y registro de los mismos.
Anverso REVERSO
38
2.2.3. Acciones previas a la puesta a disposición efectuadas por el
PR.
39
2.4 PUESTA A DISPOSICIÓN
Para realizar la puesta a disposición se consideran las siguientes activi-
dades:
40
CAPÍTULO 3
41
3.1 ANÁLISIS
42
3. El sistema deberá tener una app móvil en Android.
4.3. El sistema deberá contener los visores adecuados para que puedan
ser legibles los documentos que se suben a través de la tablet.
43
3.1.2 Requerimiento no funcional
• Servicio web.
• Tomcat.
• Servidor.
• Tablet.
• Java.
• Netbeans.
• Internet.
• Primefaces.
44
Nuevo IPH
<<extender>>
Archivos
multimedia
<<extender>>
Acceder al
Consultar
sistema
Primer Respondiente, <<extender>>
Perito ó PCP Tablet Documentos
Usuarios
<<extender>>
<<extender>> Catálogos
Crear
Archivos
<<extender>> multimedia
Acceder al
Consultar
Ministerio Público sistema
<<extender>>
Web Documentos
<<extender>>
Registros en la
base de datos
45
3.2 DISEÑO DEL SISTEMA
El papel del software informático ha sufrido un cambio significativo du-
rante un periodo de tiempo superior a 50 años. Existen enormes mejoras
en el rendimiento del hardware, profundos cambios de arquitecturas in-
formáticas, grandes aumentos de memoria y capacidad de almacenamiento
y una gran variedad de opciones de entrada y salida han conducido a sis-
temas más sofisticados y más complejos basados en computadora (Rogers,
2005).
46
Figura 3.2: Modelo de la base de datos (Fuente propia, 2016).
Para realizar el modelo del WebService se basará en 3 capas, las cuales son:
Entidad (capa que se comunica directamente con la base de datos), Per-
sistencia (la capa con los objetos que tienen la capacidad para guardar y
recuperarse desde un medio de almacenamiento, empleando la funcionali-
dad especı́fica para automatizar el proceso a partir de un mapeo) y el Web-
Service (la capa que tiene toda la lógica como el registro de un usuario,
consultar la información almacenada, entre otras), como se aprecia en la
Figura 3.3.
47
Capa de Entidad
dbCadenaCustodia
Figura 3.3: Capas para el desarrollo del WebService (Fuente propia, 2016).
Las capas tienen una retroalimentación entre ellas haciendo que sea
efectivo el flujo de información, ingresando y consultando, quizá no para
garantizar que siempre funcione pero si para que sea más fácil de apli-
carle mantenimiento cuando existan fallos ya que cada capa mostrará su
respectiva excepción cuando un error suceda, ası́ localizarlo y solucionarlo
eficazmente.
48
al detenido, por lo tanto al ser un mapeo directo de la base de datos en la
capa de Entidad se tienen que generar objetos de cada tabla para poder
manipularlos a través del lenguaje Java, el contenido de la capa se puede
apreciar en la Figura 3.4.
C:\Users\Mauricio\Documents\Persistence.ump (Content of project and all subpackages) Sat Nov 12 16:47:26 2016
pkg project
T T T Anexo10DAO
«interface» «namespace» «namespace» «namespace» «namespace» BaseDAO CriteriaUtil «namespace» (from com::ditamex::dao::integrate)
InterfaceDAO common integrate dao ditamex (from com::ditamex::dao::common) (from com::ditamex::dao::common) com
(from com::ditamex::dao::common) (from com::ditamex::dao) (from com::ditamex::dao) (from com::ditamex) (from com)
ConstanciasDAO ConTrazabilidad DAO ControlAccesoDAO ControlIntervencionDAO CorroboracionDAO CtoClasificacionVehiculo DAO CtoColoniaDAO CtoDelitoEspecificoDAO
(from com::ditamex::dao::integrate) (from com::ditamex::dao::integrate) (from com::ditamex::dao::integrate) (from com::ditamex::dao::integrate) (from com::ditamex::dao::integrate) (from com::ditamex::dao::integrate) (from com::ditamex::dao::integrate) (from com::ditamex::dao::integrate)
Traslad oBienesD AO Traslad oDAO UsuarioDAO VehiculoDAO VictimaOfendidoDAO AccionRealizadaDAO ActaInventarioDAO ActaNoticiaDAO
(from com::ditamex::dao::integrate) (from com::ditamex::dao::integrate) (from com::ditamex::dao::integrate) (from com::ditamex::dao::integrate) (from com::ditamex::dao::integrate) (from com::ditamex::dao::integrate) (from com::ditamex::dao::integrate) (from com::ditamex::dao::integrate)
ActuacionRespondienteDAO PuestaDisposicionDAO
(from com::ditamex::dao::integrate) (from com::ditamex::dao::integrate)
49
C:\Users\Mauricio\Documents\Persistence.ump (SequenceDiagram findUsuarioById) Sat Nov 12 16:48:33 2016
sd findUsuarioById(in idUsuario:int):Usuario
Usuario uo = null;
HibernateUtil.getSession()
HibernateUtil.beingTransaccion()
strict
[try]
1: HibernateUtil.getSession().createCriteria(Usuario.class)
[catch Exception
e]
e.printStackTrace()
4: e.printStackTrace()
HibernateUtil.rollbackTransaction()
[finally]
HibernateUtil.closeSession()
return uo
Figura 3.6: Clase de objeto de la operación “Trae usuario por Id” (Fuente
propia, 2016). ©1998-2016 Altova GmbH http://www.altova.com Registered to Elizabeth (ValueShore) Page 1
HibernateUtil.getSession().createCriteria(Usuario.class)
a:UsuarioDAO HibernateUtil.getSession() HibernateUtil.getSession().createCriteria(Usuario.class) HibernateUtil.getSession().createCriteria(Usuario.class) e
.add(Restrictions.eq("usuarioPlaca", user))
.add(Restrictions.eq("usuarioPlaca", user))
.add(Restrictions.eq("usuarioContrasenia",
password))
Usuario uo = null;
HibernateUtil.getSession()
HibernateUtil.beingTransaccion()
strict
[try]
1: HibernateUtil.getSession().createCriteria(Usuario.class)
[catch Exception e]
e.printStackTrace()
5: e.printStackTrace()
HibernateUtil.rollbackTransaction()
[finally]
HibernateUtil.closeSession()
return uo
50
C:\Users\Mauricio\Documents\WebService.ump (Content of project and all subpackages) Sat Nov
pkg project
«annotations» «annotations»
«namespace» AnexosWS CasoWS «namespace»
ditamex (from com::ditamex::webservices) (from com::ditamex::webservices) com
(from com)
ServiceLocator
(from com::ditamex::ws::common)
51
C:\Users\Mauricio\Documents\FrontEnd.ump (SequenceDiagram agregarEstado)
sd agregarEstado():void
ResponseMessage rm;
strict
[try]
1: getCtoEstadoNombre()
return ctoEstadoNombre
2: getCtoEstadoLatitud()
return ctoEstadoLatitud
3: getCtoEstadoLongitud()
return ctoEstadoLongitud
4: getCtoEstadoClave()
return ctoEstadoClave
5: createOrUpdateCtoEstado(activeToken,null,ctoEstado.getCtoEstado Nombre(),ctoEstado.getC toEstadoL ati tud(),ctoEstado.getCto Estad oLongitud (),cto Estad o.ge tCtoEstadoClave(),geolocalizacion)
ref
createOrUpdateCtoEstado(activeTo ken, null, ctoEstad o.getCtoEstad oNombre (), ctoEsta do.getCtoEsta doL atitud (), ctoEstado.getCtoEstadoL ong itud(), cto Estad o.g etCto Estad oC lave(), geoloca lizacion)
6: rm.getCode()
alt
[rm.getCode() != null]
switch(rm.getCode())
7: rm.getCode()
opt
[404]
break
[875]
break
[951]
updateEstadoDM()
10: updateEstadoDM()
ref
updateEstadoDM
11: getCtoEstadoNombre()
return ctoEstadoNombre
limpiarForm()
13: limpiarForm()
ref
limpiarForm
break
[952]
updateEstadoDM()
14: updateEstadoDM()
ref
updateEstadoDM1
15: getCtoEstadoNombre()
return ctoEstadoNombre
break
[default]
break
[catch Exception e]
FacesContext.getCurrentInstance().addMessage(null, msg)
limpiarForm()
19: limpiarForm()
ref
limpiarForm1
52
C:\Users\Mauricio\Documents\FrontEnd.ump (SequenceDiagram eliminarEstado)
sd eliminarEstado(in actionEvent:ActionEvent):void
1: dmCtoEstado.getRowData()
ResponseMessage rm;
strict
[try]
2: pCtoEstado.getIdCtoEstado()
3: eliminarCtoEstado(activeToken,pCtoEstado.getIdCtoEstado(),geolocalizacion)
ref
eliminarCtoEstado(activeToken, pCtoEstado.getIdCtoEstado(), geolocalizacion)
4: rm.getCode()
alt
[rm.getCode() !=
null]
switch(rm.getCode())
5: rm.getCode()
opt
[404]
break
[875]
break
[951]
updateEstadoDM()
8: updateEstadoDM()
ref
updateEstadoDM
9: pCtoEstado.getCtoEstadoNombre()
FacesContext.getCurrentInstance().addMessage(null, msg)
break
[default]
break
[catch Exception
e]
Utils.errorMsg(": Fatal error system: Contacta al administrador del sistema!!!")
FacesContext.getCurrentInstance().addMessage(null, msg)
53
3.2.4 Modelo de la app móvil
Como último paso para el modelado del sistema, se propone una serie
de mock-ups donde se muestran las principales funciones y el diseño de
interfaz de usuario que tendrá la versión final, en este caso el prototipo
del sistema.
54
Acceso a Cadena de Custodia Image
Image
Usuario: Inicio
Contraseña:
Usuario
Supervisar usuario
Investigación
Catálogos
Entidad Federativa
Nacionalidad
Salir
Image Image
Image Image
Inicio Registrar usuario Inicio Supervisar usuarios
Image consectetur adipiscing elit. consectetur adipiscing elit. consectetur adipiscing elit.
Investigación Apellido M Investigación
Lorem ipsum dolor sit amet, Lorem ipsum dolor sit amet, Lorem ipsum dolor sit amet,
consectetur adipiscing elit. consectetur adipiscing elit. consectetur adipiscing elit.
Registrar caso Placa Registrar caso
Lorem ipsum dolor sit amet, Lorem ipsum dolor sit amet, Lorem ipsum dolor sit amet,
Consultar caso Consultar caso
Expediente consectetur adipiscing elit. consectetur adipiscing elit. consectetur adipiscing elit.
Catálogos Catálogos Lorem ipsum dolor sit amet, Lorem ipsum dolor sit amet,
Institución Lorem ipsum dolor sit amet,
consectetur adipiscing elit. consectetur adipiscing elit. consectetur adipiscing elit.
Lorem ipsum dolor sit amet, Lorem ipsum dolor sit amet, Lorem ipsum dolor sit amet,
Salir Guardar Salir consectetur adipiscing elit. consectetur adipiscing elit. consectetur adipiscing elit.
Finalizando con otra serie de mock-ups para la app móvil, donde pare-
cido a las maquetas de la aplicación Web, en estas se aprecia cómo se
inicia la investigación, el seguimiento a través de los distintos formatos
que las autoridades tienen, ademas de presentar la captura de información
y la visualización de todos los registros que se crean en la tablet para ser
enviados al servidor, ver Figura 3.13.
55
Universidad UAEM Valle de Chalco - Lic. en Ingeniería en Computación Universidad UAEM Valle de Chalco - Lic. en Ingeniería en Computación
Rango: Administrador
Cadena de Custodia
Usuario: nombre de usuario ¿Esta seguro (a) que desea
Denuncia
iniciar una investigación con
Localización o Descubrimiento el supuesto “Dencuncia”?
Contraseña: contraseña
Flagrancia
Cancelar Aceptar
Entrar
Universidad UAEM Valle de Chalco - Lic. en Ingeniería en Computación Universidad UAEM Valle de Chalco - Lic. en Ingeniería en Computación
Acta de entrevista
Nombre del detenido:
Firma del detenido
Informe del uso de la fuerza El campo no puede ir vacío
Subir Archivos
Informe_Policial_Homologado.pdf
Informe Policial Homologado
Lect01Detenido.pdf
Lectura de derechos al detenido
Lect02Detenido.pdf
Lectura de derechos al detenido
CamVideo01.mp4
Archivo de video
CamFoto01.jpg
Archivo de imagen
CamVideo02.mp4
Archivo de video
CamFoto02.jpg
Archivo de imagen
56
3.3 CODIFICACIÓN
CHARACTER SET u t f 8 ;
2 USE ‘ uaemCcustodia ‘ ;
3
5 Table ‘ uaemCcustodia ‘ . ‘ U s u a r i o ‘
6
57
14 ‘ u s u a r i o M a t e r n o ‘ MEDIUMTEXT NULL,
15 ‘ u s u a r i o F o t o ‘ MEDIUMTEXT NULL,
16 ‘ u s u a r i o E x p e n d i e n t e ‘ MEDIUMTEXT NULL,
17 ‘ u s u a r i o C u i p ‘ MEDIUMTEXT NULL,
18 ‘ u s u a r i o P l a c a ‘ MEDIUMTEXT NULL,
19 ‘ u s u a r i o C o n t r a s e n i a ‘ MEDIUMTEXT NULL,
20 ‘ u s u a r i o P u e s t o ‘ MEDIUMTEXT NULL,
21 ‘ u s u a r i o C o r p 1 ‘ MEDIUMTEXT NULL,
22 ‘ u s u a r i o C o r p 2 ‘ MEDIUMTEXT NULL,
23 ‘ u s u a r i o L a s t A c c e s s ‘ MEDIUMTEXT NULL,
24 ‘ u s u a r i o P a s s S t a t u s ‘ TINYINT ( 1 ) NULL,
25 ‘ u s u a r i o L o g i n S t a t u s ‘ TINYINT ( 1 ) NULL,
26 ‘ u s u a r i o A c t i v i d a d ‘ MEDIUMTEXT NULL,
27 ‘ u s u a r i o L a t i t u d ‘ MEDIUMTEXT NULL,
28 ‘ u s u a r i o L o n g i t u d ‘ MEDIUMTEXT NULL,
29 ‘ u s u a r i o F e c h a A c t i v i d a d ‘ TIMESTAMP NULL DEFAULT -
CURRENT TIMESTAMP,
30 ‘ u s u a r i o T o k e n ‘ MEDIUMTEXT NULL,
31 ‘ u s u a r i o C r e a c i o n ‘ MEDIUMTEXT NULL,
32 PRIMARY KEY ( ‘ i d U s u a r i o ‘ )
33 );
1 USE ‘ uaemCcustodia ‘ ;
2
4 R e g i s t r o s para c a t a l o g o Estado
5
58
7 (NULL, ’ Mexico ’ , ’ 01 ’ ) ,
8 (NULL, ’ Baja C a l i f o r n i a Sur ’ , ’ 02 ’ ) ,
9 (NULL, ’ E s t a d o s / c o o r d e n a d a s ’ , ’ 03 ’ ) ;
10
11
12 R e g i s t r o s para l a t a b l a de U s u a r i o
13
‘ usuarioLoginStatus ‘ ,
17 ‘ usuarioActividad ‘ , ‘ usuarioLatitud ‘ , ‘ usuarioLongitud ‘ ) -
VALUES
18 ( NUll , 1 , 6 , 1 , ’ Mauricio ’ , ’ Flores ’ , ’ Nicolas ’ , ’/ -
r e s o u r c e s / images / p r o f i l e / f o t o 1 . jpg ’ , ’ exp m f l o r e s ’ , ’ -
cuiuaemex ’ , ’ m a u r i c i o f n ’ , ’ 247 -
aa72d949f6971d4d02ce59a453db3 ’ ,
19 ’ administrador ’ , ’ corporacion1 ’ , ’ corporacion2 ’ , ’ -
02 02 2016 1 2 : 0 0 : 0 0 ’ , t r u e , false , ’ Usuario r e g i s t r a d o ’ , -
” 19.27799685992845 ” , ” 99.65894794673659 ” ) ,
20 ( NUll , 1 , 6 , 1 , ’ Policia ’ , ’0 ’ , ’1 ’ , ’ / r e s o u r c e s / images / -
p r o f i l e / foto2 . jpg ’ , ’ exp p o l i 1 2 3 ’ , ’ cuipoli432 ’ , ’ poli123 -
’, ’ 0192023 a7bbd73250516f069df18b500 ’ ,
21 ’ policia ’ , ’ corporacion1 ’ , ’ corporacion2 ’ , ’ 02 02 2016 -
23 COMMIT;
59
Para las capas del desarrollo del WebService se muestra el código 3.3
donde se crea una copia de las tablas que se encuentran en la base de dato
creando sus respectivos objetos. También el código 3.4 muestra como se
realiza la llamada de esos objetos y se les asigna funciones, en este caso
el de traer los datos del usuario a partir de su identificador.
3 //====================================
4 // A t r i b u t o s
5 //====================================
6 private Integer idUsuario ;
7 p r i v a t e S t r i n g nombre ;
8
9 //====================================
10 // C o n s t r u c t o r e s
11 //====================================
12 public InfoAllUsers () {
13 }
14
20 //====================================
21 // E n c a p s u l a m i e n t o g e t t e r y s e t t e r
22 //====================================
23 public Integer getIdUsuario () {
24 return idUsuario ;
25 }
26
60
28 t h i s . idUsuario = idUsuario ;
29 }
30
31 p u b l i c S t r i n g getNombre ( ) {
32 r e t u r n nombre ;
33 }
34
35 p u b l i c v o i d setNombre ( S t r i n g nombre ) {
36 t h i s . nombre = nombre ;
37 }
38
43 }
1 /⇤ ⇤
2 ⇤
3 ⇤ @author M a u r i c i o
4 ⇤/
5 public c l a s s UsuarioDAO {
6
7 //====================================
8 // D e v o l v e r e l usuario s o l i c i t a n d o su i d e n t i f i c a d o r
9 //====================================
10 p u b l i c Usuario findUsuarioById ( i n t idUsuario ) {
11 U s u a r i o uo = n u l l ;
12 HibernateUtil . getSession () ;
13 HibernateUtil . beingTransaccion () ;
14 try {
15 uo = ( U s u a r i o ) H i b e r n a t e U t i l . g e t S e s s i o n ( ) . -
61
c r e a t e C r i t e r i a ( Usuario . c l a s s )
16 . add ( R e s t r i c t i o n s . eq ( ” i d U s u a r i o ” , i d U s u a r i o ) -
) . uniqueResult () ;
17 } catch ( Exception e ) {
18 e . printStackTrace () ;
19 HibernateUtil . rollbackTransaction () ;
20 } finally {
21 HibernateUtil . closeSession () ;
22 }
23 r e t u r n uo ;
24 }
25
26 }
Finalmente el código 3.5 muestra una operación que regresa todos los
usuarios registrados por lo que hace uso de los objetos creados en la capa
de Entidad y las funciones establecidas en la capa de Persistencia, de-
volviendo una lista con los valores solicitados.
1 /⇤ ⇤
2 ⇤
3 ⇤ @author M a u r i c i o
4 ⇤/
5 @WebService ( s e r v i c e N a m e = ”UsuarioWS” )
6 public c l a s s UsuarioWS {
7
8 //====================================
9 // L e e r t o d o s l o s usuarios
10 //====================================
11 /⇤ ⇤
12 ⇤ Web s e r v i c e operation
13 ⇤
62
14 ⇤ @param g e o l o c a l i z a c i o n
15 ⇤ @param s e s s i o n T o k e n
16 ⇤ @return
17 ⇤/
18 @WebMethod( operationName = ” t r a e r U s u a r i o s ” )
19 p u b l i c ResponseMessage t r a e r U s u a r i o s (
20 @WebParam( name = ” s e s s i o n T o k e n ” ) S t r i n g -
sessionToken ,
21 @WebParam( name = ” g e o l o c a l i z a c i o n ” ) -
Geolocalizacion geolocalizacion ) {
22 L i s t <I n f o A l l U s e r s > r e s u l t = new A r r a y L i s t < -
I n f o A l l U s e r s >() ;
23 Integer userId = 0;
24 boolean flag = false ;
25 ResponseMessage rm = n u l l ;
26 try {
27 u s e r I d = GetToken . checkToken ( s e s s i o n T o k e n ) ;
28 f l a g = true ;
29 } catch ( Exception e ) {
30 rm = new ResponseMessage ( 4 0 4 , n u l l , ” L l a v e -
63
executeQuery ( Queries . a l l U s e r s ) ;
43 UserActivity . activityById ( userId , ” -
S u p e r v i s i o n de u s u a r i o s ” , g e o l o c a l i z a c i o n . g e t L a t i t u d ( ) , -
g e o l o c a l i z a c i o n . getLongitud () ) ;
44 rm = new ResponseMessage ( 9 5 1 , result ) ;
45 } catch ( Exception e ) {
46 rm = new ResponseMessage ( 6 6 6 , n u l l , ” F a l l o : -
L e e r s u p e r v i s i o n de u s u a r i o ” , n u l l , null ) ;
47 }
48 }
49 r e t u r n rm ;
50 }
51
52 }
1 /⇤ ⇤
2 ⇤
3 ⇤ @author M a u r i c i o
4 ⇤/
5 @ManagedBean
6 @ViewScoped
7 public class SupervisionBean implements j a v a . i o . S e r i a l i z a b l e -
{
8
9 p r i v a t e DataModel dmUserControl ;
10 p r i v a t e L i s t <I n f o A l l U s e r s > l i s t A l l U s e r s ;
11 p r i v a t e I n f o A l l U s e r s H e l p e r dataUser ;
12 pri vate String activeToken ;
13 p r i v a t e MapModel modeloMapa ;
14 private static Geolocalizacion geolocalizacion ;
15
16 //====================================
64
17 // G e t t e r and S e t t e r
18 //====================================
19 p u b l i c L i s t <I n f o A l l U s e r s > g e t L i s t A l l U s e r s ( ) {
20 return listAllUsers ;
21 }
22
23 p u b l i c v o i d s e t L i s t A l l U s e r s ( L i s t <I n f o A l l U s e r s > -
listAllUsers ) {
24 this . listAllUsers = listAllUsers ;
25 }
26
27 //====================================
28 // C o n s t r u c t o r
29 //====================================
30 public SupervisionBean ( ) {
31 d a t a U s e r = new I n f o A l l U s e r s H e l p e r ( ) ;
32 activeToken = ( Str in g ) U t i l s . getDataObject ( ” -
tokenSession ”) ;
33 geolocalizacion = Utils . getGeolocalizacion () ;
34 updateSupervisorDM ( ) ;
35 }
36
37 }
65
1 <! T i t u l o de l a p a g i n a ! >
2 <h : form>
3 <p : breadCrumb>
4 <p : menuitem v a l u e=” I n i c i o ” outcome=” i n i c i o ” />
5 <p : menuitem v a l u e=” S u p e r v i s i o n de u s u a r i o s ” outcome= -
” c o n t r o l U s e r ” />
6 </p : breadCrumb>
7 <p : m e s s a g e s i d=” m e s s a g e s ” s h o w D e t a i l=” t r u e ” autoUpdate=” -
t r u e ” c l o s a b l e=” t r u e ” s e v e r i t y=” f a t a l ” />
8 </h : form>
9
! >
11 <d i v s t y l e=” width : 98%; t e x t align : l e f t ; margin : 2% 1% 2% -
1%; ” >
12 <p : d a t a T a b l e v a r=” c o n t r o l ” i d=” u s e r C o n t r o l ” v a l u e=” -
#{s u p e r v i s i o n B e a n . dmUserControl } ” rows=” 10 ”
13 p a g i n a t o r=” t r u e ” rowKey=”#{ c o n t r o l . -
i d U s u a r i o } ” s c r o l l a b l e=” t r u e ” l i v e S c r o l l =” t r u e ” -
s c r o l l R o w s=” 10 ”
14 emptyMessage=”No s e e n c u e n t r a ningun -
usuario”
15 p a g i n a t o r T e m p l a t e=” { CurrentPageReport } -
p l a c a }” >
21 <p : o u t p u t L a b e l v a l u e=”#{ c o n t r o l . p l a c a } ” />
22 </p : column>
23 <p : column h e a d e r T e x t=”Nombre c o m p l e t o ” s o r t B y=” -
66
#{ c o n t r o l . p a t e r n o } ” >
24 <p : o u t p u t L a b e l v a l u e=”#{ c o n t r o l . p a t e r n o } #{ -
c o n t r o l . materno } #{ c o n t r o l . nombre } ” />
25 </p : column>
26 <p : column h e a d e r T e x t=” A c t i v i d a d ” s o r t B y=”#{ -
c o n t r o l . a c t i v i d a d }” >
27 <p : o u t p u t L a b e l v a l u e=”#{ c o n t r o l . a c t i v i d a d } ” -
/>
28 </p : column>
29 <p : column h e a d e r T e x t=” Fecha de a c t i v i d a d ” s o r t B y -
=”#{ c o n t r o l . f e c h a A c t i v i d a d } ” >
30 <p : o u t p u t L a b e l v a l u e=”#{ u t i l s . -
s t r i n g T o D a t e F o r m a t ( c o n t r o l . f e c h a A c t i v i d a d ) } ” />
31 </p : column>
32 <p : column h e a d e r T e x t=” E s t a d o de c o n e x i o n ” s t y l e= -
” text align : c e n t e r ; ” s o r t B y=”#{ c o n t r o l . s t a t u s } ” >
33 <p : g r a p h i c I m a g e v a l u e=” / r e s o u r c e s / i m a g e s/#{ -
c o n t r o l . s t a t u s } . png” r e n d e r e d=” t r u e ”
34 width=” 25 ” h e i g h t=” 25 ” t i t l e -
=”#{ c o n t r o l . s t a t u s } ” />
35 </p : column>
36 </p : d a t a T a b l e>
37 </h : form>
38 </ d i v>
1 /⇤ ⇤
2 ⇤ C r e a t e d by M a u r i c i o F l o r e s on 9 / 1 8 / 1 6 .
3 ⇤/
4 public c l a s s MenuPrincipalFragment e x t e n d s Fragment {
5
67
8 p r i v a t e V i e w P r i n c i p a l vp = n u l l ;
9
10 //====================================
11 // I n i c i o de l a pantalla
12 //====================================
13 @Override
14 p u b l i c View onCreateView ( L a y o u t I n f l a t e r inflater , -
ViewGroup c o n t a i n e r , Bundle s a v e d I n s t a n c e S t a t e ) {
15 view = i n f l a t e r . i n f l a t e (R. l a y o u t . -
menu principal fragment , container , false ) ;
16 vp = new V i e w P r i n c i p a l ( view ) ;
17 initCacheUser () ;
18 refreshSppiner ( true ) ;
19
OnClickListener () {
21 @Override
22 p u b l i c v o i d o n C l i c k ( f i n a l View v ) {
23 s h o w A l e r t D i a l o g ( v , ” E s t a s s e g u r o ( a ) que -
d e s e a s c r e a r un numero de r e f e r e n c i a con e l s u p u e s t o -
Denuncia ” ,
24 ” Denuncia a c t i v a d a ” , ” Denuncia -
cancelada ” , 1) ;
25 }
26 }) ;
27
28 vp . i p h S e l e c t o r . s e t O n I t e m S e l e c t e d L i s t e n e r ( new -
AdapterView . O n I t e m S e l e c t e d L i s t e n e r ( ) {
29 @Override
30 p u b l i c v o i d o n I t e m S e l e c t e d ( AdapterView<?> p a r e n t -
getSelectedItem () . toString () ;
32 S t r i n g i p h C e n t r a l = ( ( MenuContentActiv ity ) -
68
getActivity () ) . getIphCentral () ;
33 MenuRespondienteFragment mrf = ( -
MenuRespondienteFragment ) g e t A c t i v i t y ( )
34 . getSupportFragmentManager ( )
35 . findFragmentByTag ( i p h C e n t r a l ) ;
36 Cache . g e t I n s t a n c e ( ) . g e t L r u ( ) . put ( ” iphKey ” , -
iphFolder ) ;
37 if ( ! i p h F o l d e r . e q u a l s ( ” Crear numero de -
referencia . . . ”) ) {
38 if ( ! i p h F o l d e r . e q u a l s ( ” Crear numero de -
referencia . . . ”) ) {
39 try {
40 String [ ] c f g = U t i l s . readTXTFile -
(” principalCfg . txt ” , iphFolder ) ;
41 if ( ! c f g [ 0 ] . e q u a l s ( ” No a p l i c a ” -
)) {
42 mrf . sendData ( i p h F o l d e r ) ;
43 refreshActionButton ( Integer . -
parseInt ( cfg [ 0 ] ) ) ;
44 }
45 } c a t c h ( E x c e p t i o n ex ) {
46 Log . v (TAG, ” Algo s a l i o mal en -
a c t u a l i z a r b o t o n e s de a c c i o n . . . ” ) ;
47 }
48 }
49 }
50 }
51 @Override
52 p u b l i c v o i d o n N o t h i n g S e l e c t e d ( AdapterView<?> -
parent ) {
53 }
54 }) ;
55
56 r e t u r n view ;
69
57 }
58
59 //====================================
60 // Generar l l a v e de i n v e s t i g a c i o n
61 //====================================
62 p r i v a t e S t r i n g generateIphNumber ( ) {
63 S t r i n g iphFolder = U t i l s . generateKey ;
64 Cache . g e t I n s t a n c e ( ) . g e t L r u ( ) . put ( ” iphKey ” , i p h F o l d e r -
);
65 File f i l e = new F i l e ( C o n f i g . g e t F o l d e r ( n u l l ) . g e t P a t h -
( ) , ” iphDataNumber . t x t ” ) ;
66 String separator = ” | ” ;
67 String l i s t = null ;
68 if (! f i l e . exists () ) {
69 try {
70 l i s t = ”1 ” + i p h F o l d e r ;
71 F i l e O u t p u t S t r e a m s t r e a m = new -
FileOutputStream ( f i l e ) ;
72 stream . w r i t e ( l i s t . getBytes ( ) ) ;
73 stream . c l o s e ( ) ;
74 } catch ( Exception e ) {
75 e . printStackTrace () ;
76 }
77 } else {
78 try {
79 String [ ] r e f e r e n c e = U t i l s . readTXTFile ( ” -
iphDataNumber . t x t ” , n u l l ) ;
80 i n t counter = r efe r en ce . length + 1;
81 l i s t = counter + ” ” + iphFolder ;
82 F i l e O u t p u t S t r e a m s t r e a m = new -
FileOutputStream ( f i l e , true ) ;
83 stream . w r i t e ( s e p a r a t o r . getBytes ( ) ) ;
84 stream . w r i t e ( l i s t . getBytes ( ) ) ;
85 stream . c l o s e ( ) ;
70
86 } catch ( Exception e ) {
87 e . printStackTrace () ;
88 }
89 }
90 return list ;
91 }
92
93 }
Al igual que la aplicación Web, en la app móvil se usan dos fases, la que
se encarga de la codificación y otra de la interface de usuario, por lo que el
código 3.8 muestra cómo obtener los valores ingresados por la tablet y los
valores proporcionados por el WebService, para posteriormente ser vistos
en el diseño de la app móvil, el cual esta escrito en lenguaje de marcado
extensible que usa Android para el diseño de interfaces, ver código 3.9.
13 <! Enxabezado , g e n e r a c i o n de i d e n t i f i c a d o r de -
investigacion e
71
14 i n f o r m a c i o n de u s u a r i o b a s i c a ! >
15 <L i n e a r L a y o u t
16 a n d r o i d : l a y o u t w i d t h=” m a t c h p a r e n t ”
17 a n d r o i d : l a y o u t h e i g h t=” w r a p c o n t e n t ”
18 a n d r o i d : f o c u s a b l e=” t r u e ”
19 a n d r o i d : f o c u s a b l e I n T o u c h M o d e=” t r u e ”
20 a n d r o i d : o r i e n t a t i o n=” v e r t i c a l ” >
21
22 <GridLayout
23 a n d r o i d : l a y o u t w i d t h=” m a t c h p a r e n t ”
24 a n d r o i d : l a y o u t h e i g h t=” w r a p c o n t e n t ”
25 a n d r o i d : o r i e n t a t i o n=” h o r i z o n t a l ” >
26
27 <L i n e a r L a y o u t
28 a n d r o i d : l a y o u t w i d t h=” w r a p c o n t e n t ”
29 a n d r o i d : l a y o u t h e i g h t=” w r a p c o n t e n t ”
30 a n d r o i d : o r i e n t a t i o n=” h o r i z o n t a l ” >
31 </ L i n e a r L a y o u t>
32
33 <L i n e a r L a y o u t
34 a n d r o i d : l a y o u t w i d t h=” w r a p c o n t e n t ”
35 a n d r o i d : l a y o u t h e i g h t=” w r a p c o n t e n t ”
36 a n d r o i d : o r i e n t a t i o n=” h o r i z o n t a l ”
37 a n d r o i d : l a y o u t g r a v i t y=” end ” >
38
39 <S p i n n e r
40 a n d r o i d : i d=”@+i d / -
spinnerMenu01NumIPHSelect ”
41 a n d r o i d : l a y o u t w i d t h=” 300 dp”
42 a n d r o i d : l a y o u t h e i g h t=” 35 dp”
43 a n d r o i d : l a y o u t g r a v i t y=” r i g h t ”
44 a n d r o i d : l a y o u t c e n t e r H o r i z o n t a l=” t r u e ”
45 a n d r o i d : t e x t A l i g n m e n t=” c e n t e r ” />
46
72
47 <Button
48 a n d r o i d : t e x t=”Nuevo”
49 a n d r o i d : l a y o u t w i d t h=” w r a p c o n t e n t ”
50 a n d r o i d : l a y o u t h e i g h t=” 35 dp”
51 a n d r o i d : t e x t S i z e=” 15 dp”
52 a n d r o i d : e n a b l e d=” f a l s e ”
53 a n d r o i d : l a y o u t g r a v i t y=” end ”
54 a n d r o i d : i d=”@+i d / btnMenu01Nuevo”
55 a n d r o i d : l a y o u t w e i g h t=” 1 ” />
56 </ L i n e a r L a y o u t>
57 </ GridLayout>
58 </ L i n e a r L a y o u t>
59
66 <L i n e a r L a y o u t
67 a n d r o i d : l a y o u t w i d t h=” w r a p c o n t e n t ”
68 a n d r o i d : l a y o u t h e i g h t=” w r a p c o n t e n t ”
69 a n d r o i d : l a y o u t g r a v i t y=” c e n t e r ”
70 a n d r o i d : o r i e n t a t i o n=” h o r i z o n t a l ” >
71
72 <Button
73 a n d r o i d : l a y o u t w i d t h=” w r a p c o n t e n t ”
74 a n d r o i d : l a y o u t h e i g h t=” w r a p c o n t e n t ”
75 a n d r o i d : l a y o u t g r a v i t y=” c e n t e r ”
76 a n d r o i d : i d=”@+i d / btnMenu01Denuncia ”
77 a n d r o i d : l a y o u t m a r g i n R i g h t=” 5dp”
78 a n d r o i d : b a c k g r o u n d=” @drawable / -
i c o n m e n u a c c i o n e s 0 3 1 2 8 p x ” />
79
73
80 <Button
81 a n d r o i d : l a y o u t w i d t h=” w r a p c o n t e n t ”
82 a n d r o i d : l a y o u t h e i g h t=” w r a p c o n t e n t ”
83 a n d r o i d : l a y o u t g r a v i t y=” c e n t e r ”
84 a n d r o i d : i d=”@+i d / b t n M e n u 0 1 L o c a l i z a c i o n ”
85 a n d r o i d : l a y o u t m a r g i n L e f t=” 5dp”
86 a n d r o i d : l a y o u t m a r g i n R i g h t=” 5dp”
87 a n d r o i d : b a c k g r o u n d=” @drawable / -
i c o n m e n u a c c i o n e s 0 1 1 2 8 p x ” />
88
89 <Button
90 a n d r o i d : l a y o u t w i d t h=” w r a p c o n t e n t ”
91 a n d r o i d : l a y o u t h e i g h t=” w r a p c o n t e n t ”
92 a n d r o i d : l a y o u t g r a v i t y=” c e n t e r ”
93 a n d r o i d : i d=”@+i d / b t n M e n u 0 1 F l a g r a n c i a ”
94 a n d r o i d : l a y o u t m a r g i n L e f t=” 5dp”
95 a n d r o i d : b a c k g r o u n d=” @drawable / -
i c o n m e n u a c c i o n e s 0 2 1 2 8 p x ” />
96 </ L i n e a r L a y o u t>
97
98 </ GridLayout>
99
74
CAPÍTULO 4
EXPERIMENTACIÓN
75
4.1 PROPUESTA PARA EVALUAR EL
SISTEMA
Para realizar la evaluación, previamente se presentó el proyecto junto
con una capacitación al personal que hará uso del sistema que se acaba
de desarrollar, comentando caracterı́sticas que se consideraron relevantes
desde el análisis del Capı́tulo 3.
(1)
Servidor de aplicación y medios
(2)
Internet
(3) (4)
Perito, PCP ó PR
(4.3)
(3.4)
(3.6) (4.2)
(3.5)
Evidencia(s) Detenido(s)
Víctima(s)
(2) Internet: Se hará uso del internet para comunicar las dos aplicaciones.
76
(3) Escenario: Lugar de intervención.
(3.3) Perito. PCP ó PR: Autoridad que llega al lugar de los hechos
para realizar la investigación utilizando el dispositivo móvil.
(3.4) Vı́ctima(s)
(3.6) Detenido(s)
77
4.2 PRESENTACIÓN
En la Tabla 4.1 se describe el itinerario para realizar las pruebas del
sistema.
78
4.3 PRUEBAS TÉCNICAS
Antes de realizar la evaluación del sistema se realizaron 30 iteraciones
para comprobar el funcionamiento y minimizar el nivel de error, con el
objetivo de obtener la verificación señalada en la sección 3.1.
79
4.3.2 Registro de usuarios
80
4.3.3 Supervisar usuarios
Resultado: Muestra una tabla con todos los usuarios registrados a ex-
cepción del administrador o encargado del sistema, con esta función
se podrá saber si el policı́a esta conectado o no, la ultima actividad
realizada seguido de la fecha, hora y ubicación, ver Figura 4.4.
81
4.3.4 Acceso al sistema (Móvil)
82
4.3.5 Iniciar investigación
83
4.3.6 Capturar lectura de derechos al detenido
84
(a) Menú de actas. (b) Solicitud de cantidad de detenidos.
85
(a) Registro de lectura de derechos al (b) Registro de lectura de derechos al
detenido (3/3) parte 1. detenido (3/3) parte 2.
86
4.3.7 Solicitar exámen médico
87
(a) Menú actas. (b) Solicitud de exámen médico (1/2).
88
(a) Menú reportes, con los documen-
tos PDF, archivos multimedia (foto y (b) Registro de bitácora de actuación
video). (1/1) parte 1.
89
saje que le notifica al usuario el registro y generación del formato
.pdf exitoso, ademas de deshabilitar el botón de la bitácora al ser so-
lamente uno por N detenidos y habilitar la función de subir archivos
al servidor.
90
4.3.9 Subir archivos al servidor
91
4.3.10 Iniciar caso y carpeta de investigación
92
4.3.11 Vinculación de registros Web / Móvil
93
(a) Vinculación de registros Móvil / Web me-
diante código de registro.
94
CAPÍTULO 5
RESULTADOS
95
5.1 CONCLUSIÓN
Desafortunadamente existieron diferentes dificultades para realizar prue-
bas en campo, por lo que se realizó la evaluación de manera funcional, aún
ası́, el sistema demuestra una significativa ayuda en procesos de Cadena
de Custodia; esto es apreciable al concluir los registros mediante la tablet,
pues solamente se precisa un código para que el Ministerio Público pueda
hacer uso de la información capturada por el policı́a PR, PCP ó Perito.
96
5.2 RECOMENDACIONES Y TRABAJO A
FUTURO
A lo largo de la investigación y el desarrollo del proyecto surgieron algu-
nas ideas que podrı́an ser consideradas en un futuro.
97
BIBLIOGRAFÍA
Agrawal, M., Rao, H., and Sanders, G. L. (1999). Mobile computing ter-
minals and law enforcement: an exploratory investigation of the buf-
falo police department. In Management of Engineering and Technol-
ogy, 1999. Technology and Innovation Management. PICMET’99.
Portland International Conference on, volume 1, pages 396–397.
IEEE.
Chen, K.-R. and Tsai, H.-J. (2011). Mobile fighting crime device based on
information technology by police cloud computing toward pervasive
investigations. In Multimedia Technology (ICMT), 2011 Interna-
tional Conference on, pages 2194–2197. IEEE.
98
(2011). Protocolo de la cadena de custodia.
http://pgr.gob.mx/Normatec/Documentos/PROTOCOLO [On-
line; accessed 10-September-2016].
de Paula, J., Gomes, R., Pereira, A. R., and Dahmer, A. (2004). Omega:
a brazilian case of supporting system to police investigation activities.
In Information and Communication Technologies: From Theory to
Applications, 2004. Proceedings. 2004 International Conference on,
pages 13–14. IEEE.
Debnath, N., Uzal, R., Montejano, G., and Riesco, D. (2010). Web app li-
cation to improve police management performance: A web applica-
tion to prepare police stations to face an iso 9001: 2008 certifica-
tion process and to improve watching activities of human rights. In
Information Technology: New Generations (ITNG), 2010 Seventh
International Conference on, pages 32–35. IEEE.
Meinel, T., Mueller, M., Ahmed, J., Yildiriman, R., Dunkel, M., Her-
wig, R., and Preissner, R. (2010). Soap/wsdl-based web services for
biomedicine: demonstrating the technique with the cancerresource.
In XII Mediterranean Conference on Medical and Biological Engi-
neering and Computing 2010, pages 835–838. Springer.
99
ference on Computer Science and Information Technology, pages
347–356. Springer.
Rad, H. A., Samsudin, K., Ramli, A., Tehrani, A. M. B., and Tavallaee,
M. (2009). Improving response time in traffic police infraction reg-
istration system. In Innovative Technologies in Intelligent Systems
and Industrial Applications, 2009. CITISIA 2009, pages 255–260.
IEEE.
Witteman, R., Meijer, A., Kechadi, M., and Le-Khac, N.-A. (2016). To-
ward a new tool to extract the evidence from a memory card of mobile
phones. In 2016 4th International Symposium on Digital Forensic
and Security (ISDFS), pages 143–147. IEEE.
100
Wong, Kam Fai; Tam, M. K. W. C. C. H. (2006). e-government - a web-
services framework. Journal of Information Privacy and Security,
2.
101
GLOSARIO
acordonamiento
actos de investigación
arquitectura cliente-servidor
arquitectura de software
102
cadena de custodia
canalizar
caso de uso
certificado médico
clase de objeto
103
detención
dictamen
documentación
e-commerce
e-Government
104
en los procesos internos de gobierno, ası́ como en la entrega de los
productos y servicios del Estado tanto a los ciudadanos como a la
industria. 17
embalaje
indicio
105
interfaz
internet
java
106
lugar conexo
lugar de intervención
netbeans
preservación
primefaces
107
primer respondiente
priorizar
propiedad emergente
Se hace evidente sólo hasta que se han integrado todos los compo-
nentes del sistema para crearlo. 109
puesta a disposición
recolección
requerimiento funcional
108
requerimiento no funcional
servicio web
servidor
sistema
Conjunto de entidades que trabajan para un fin común. 15, 18, 19,
21, 22, 29, 103
sistema distribuido
109
tablet
tomcat
traslado
validación
verificación
110
web
111
ACRÓNIMOS
BioFoV
EMP
GUI
IDE
IPH
112
ISO
OCL
PCP
PIC
PR
Primer Respondiente. 19, 21, 29, 31–40, 45, Glosario: primer re-
spondiente
RCC
RFID
113
SOAP
SQL
TIC
UML
WSDL
XML
114
ANEXOS
No. de Referencia
1-51201612-111657-
330349
al
Ciudad, municipio, Nezahualcóyotl
delegación:
i
Localidad: Ciudad
ic
Nezahualcóyotl
of
Fecha: Día Mes Año
11 12 2016
éz
Hora: 4:58 PM
id
Fundamento jurídico
Artículo 20 de la Constitución Política de los Estados Unidos Mexicanos y artículos 113 y 152 del Código Nacional
l
va
de Procedimientos Penales.
in
,s
1. Usted tiene derecho a saber el motivo de su detención. Por lo que se le informa:
2. Tiene derecho a guardar silencio.
ba
3. Tiene derecho a declarar, y en caso de hacerlo, lo hará asistido de su defensor ante la autoridad competente.
4. Tiene derecho a ser asistido por un defensor, si no quiere o no puede hacerlo, le será designado un defensor
ue
público.
5. Tiene derecho a hacer del conocimiento a un familiar o persona que desee, los hechos de su detención y el lugar de
pr
7. En caso de ser extranjero, tiene derecho a que el consulado de su país sea notificado de su detención.
8. Tiene derecho a un traductor o intérprete, el cual le será proporcionado por el Estado.
to
9. Tiene derecho a ser presentado ante el Ministerio Público o ante el Juez de control, según sea el caso,
inmediatamente después de ser detenido o aprehendido.
en
Nombre y firma del (la) detenido (a) Nombre y firma del actuante testigo
María Daniela González Fernando Rosas Flores
D
Nota: En caso de que el detenido se niegue o exista la imposibilidad para firmar, el actuante testigo asentará el
motivo en el lugar que corresponda la firma.
115
Dependencia/Institución: Policía Municipal
Solicitud de dictamen Entidad federativa: México
médico Ciudad, municipio,
delegación:
Nezahualcóyotl
l
Localidad: Ciudad
ia
Nezahualcóyotl
Fecha: Día Mes Año
ic
11 12 2016
of
Hora: 5:37 PM
éz
lid
va
in
,s
ba
ue
pr
de
to
en
um
oc
D
116
l
ia
ic
of
éz
lid
va
in
,s
ba
ue
pr
de
to
en
um
oc
D
117
l
ia
ic
118