I
UNIVERSIDAD NACIONAL DE SAN CRISTÓBAL DE
HUAMANGA FACULTAD DE INGENIERÍA DE MINAS
GEOLOGÍA Y CIVIL ESCUELA PROFESIONAL DE
INGENIERÍA DE SISTEMAS
SOFTWARE GEOGRÁFICO QUE DESCRIBE LA
ACTIVIDAD DELICTIVA, CIUDAD DE AYACUCHO, 2017
Tesis para optar el Título Profesional de:
INGENIERO DE SISTEMAS
Presentado por:
Bach. Junior Grover Flores Martínez
AYACUCHO – PERÚ
I
DEDICATORIA
A mis padres, por ser el pilar fundamental en mi formación personal y profesional; por su apoyo incondicional perfectamente mantenido a través del tiempo.
A mis hermanos, por apoyarme en todo momento y ser parte de mis logros.
II
AGRADECIMIENTO
A la Universidad Nacional San Cristóbal de Huamanga, por brindarme sus conocimientos y permitirme conocer a buenos catedráticos y amigos.
33 3
CONTENIDO
DEDICATORIA ... I AGRADECIMIENTO ...II CONTENIDO ... III RESUMEN ... V INTRODUCCIÓN... VI
CAPÍTULO I
PLANTEAMIENTO DE LA INVESTIGACIÓN
1.1 DIAGNÓSTICO Y ENUNCIADO DEL PROBLEMA ... 1
1.2 FORMULACIÓN DEL PROBLEMA DE INVESTIGACIÓN ... 4
PROBLEMA GENERAL ... 4
PROBLEMAS ESPECÍFICOS ... 4
1.3 OBJETIVOS DE LA INVESTIGACIÓN... 4
1.4 JUSTIFICACIÓN Y DELIMITACIÓN DE LA INVESTIGACIÓN... 5
CAPÍTULO II REVISIÓN DE LA LITERATURA 2.1. ANTECEDENTES DE LA INVESTIGACIÓN ... 7
2.2. MARCO TEÓRICO ... 8
2.2.1. ACTIVIDAD DELICTIVA ... 8
2.2.2. MAPA DEL DELITO ... 10
2.2.3. PUNTO CALIENTE ... 11
2.2.4. SISTEMA DE INFORMACIÓN GEOGRÁFICA ... 11
2.2.5. PROGRAMACIÓN EXTREMA ... 13
2.2.6. PROGRAMACIÓN ORIENTADA A OBJETOS ... 25
2.2.7. TECNOLÓGICAS DE INTERNET ... 26
CAPÍTULO III METODOLOGÍA DE LA INVESTIGACIÓN 3.1 TIPO DE INVESTIGACIÓN ... 29
3.2 NIVEL DE INVESTIGACIÓN ... 29
3.3 DISEÑO DE INVESTIGACIÓN... 29
3.4 POBLACIÓN Y MUESTRA DE LA INVESTIGACIÓN ... 29
3.4.1 POBLACIÓN ... 29
4
3.5 VARIABLES E INDICADORES DE LA INVESTIGACIÓN ... 30
3.5.1 DEFINICIÓN CONCEPTUAL DE LAS VARIABLES ... 30
3.5.2 DEFINICIÓN OPERACIONAL DE LAS VARIABLES ... 30
3.6 OPERACIONALIZACIÓN DE LA VARIABLE ... 31
3.7 TÉCNICA E INSTRUMENTO PARA RECOLECTAR INFORMACIÓN ... 31
3.7.1 TÉCNICA PARA RECOLECTAR INFORMACIÓN ... 31
3.7.2 INSTRUMENTO PARA RECOLECTAR INFORMACIÓN ... 31
3.8 HERRAMIENTA PARA EL TRATAMIENTO DE DATOS E INFORMACIÓN .. 31
3.9 TÉCNICAS PARA APLICAR PROGRAMACIÓN EXTREMA... 40
CAPÍTULO IV ANÁLISIS Y RESULTADOS DE LA INVESTIGACIÓN 4.1 ARTEFACTOS DE SOFTWARE APLICANDO PROGRAMACIÓN EXTREMA 43 4.1.1 FASE DE EXPLORACIÓN ... 43
4.1.2 FASE DE PLANIFICACIÓN ... 61
4.1.3 FASE DE ITERACIÓN ... 62
CAPÍTULO V CONCLUSIONES Y RECOMENDACIONES 5.1 CONCLUSIONES ... 158
5.2 RECOMENDACIONES ... 159
5
RESUMEN
La inseguridad ciudadana es un problema social que durante años aqueja a los peruanos. La ciudad de Ayacucho no es ajena a este problema, ya que presenta un elevado índice de inseguridad ciudadana, las encuestas realizadas por la INEI posicionan a la ciudad de Ayacucho como una de las ciudades más peligrosas del Perú al contar con diversos puntos críticos en donde la probabilidad de ocurrencia de un incidente delictivo es mayor al promedio. En la presente tesis se construyó un medio que describe la actividad delictiva y los muestra en un mapa del delito, del mismo modo, muestra estadísticas sobre la tipicidad, antijuridicidad y la culpabilidad del delito.
El objetivo fue desarrollar un software geográfico para describir la actividad delictiva en la ciudad de Ayacucho, el estudio se desarrolló con los registros de incidentes delictivos de los distritos de Jesús Nazareno y Carmen Alto del año 2017. El tipo de investigación es descriptivo, retrospectivo, longitudinal y observacional.
En la investigación, se utilizó la metodología de Programación Extrema (XP) que presenta un ciclo de vida iterativo e incremental y los pasos necesarios para el desarrollo del software geográfico, se utilizó la georreferenciación para registrar y manipular datos espaciales, posteriormente, se mostró los resultados en un mapa del delito de la ciudad de Ayacucho.
Finalmente, se describió la tipicidad presentando el mapa del delito del distrito de Jesús Nazareno y Carmen Alto del año 2017, del mismo modo, se mostró los tipos de delito representados en la nube de delitos de ambos distritos; por otro lado, la frecuencia de ocurrencia en los diferentes sectores y durante los días de la semana muestran el comportamiento de la antijuridicidad y la culpabilidad de ambos distritos.
Palabras claves: Actividad Delictiva, Tipicidad, Antijuridicidad, Culpabilidad, Mapa
6
INTRODUCCIÓN
La actividad delictiva se presenta como una conducta típica, antijurídica y culpable que se adecua al presupuesto jurídico de una ley penal, dicha actividad representa un problema para la seguridad ciudadana que afecta a la sociedad. La utilización de un software geográfico ofrece la posibilidad de visualizar mejor el comportamiento delictivo de un área geográfico, ayudando a tomar decisiones de forma rápida, exacta y estratégica; dichas acciones permiten el alcance de la convivencia pacífica, la erradicación de la actividad delictiva y la utilización pacífica de las vías y espacios públicos, que son algunos de los objetivos de la Ley del Sistema Nacional de Seguridad Ciudadana (ley n° 27933).
Actualmente, la información que manejan los distritos de Jesús Nazareno y Carmen Alto respecto a la actividad delictiva no son exactas y representativas, por tal motivo, las estrategias que se toman para enfrentar la inseguridad ciudadana no son del todo efectivas. En ese sentido, se plantea una solución geográfica que describa la actividad delictiva de los distritos de Jesús Nazareno y Carmen Alto, ofreciendo de forma rápida, exacta, visual y oportuna la información de los incidentes delictivos.
Mis valores como la responsabilidad social, con respecto a los problemas en mi entorno, me motivaron a la elección del tema a investigar, el aportar con una solución tecnológica que permita representar de forma adecuada la actividad delictiva en la ciudad de Ayacucho, dará oportunidad a que las autoridades responsables puedan optar por estrategias más acertadas al momento de abordar este problema social.
Los objetivos específicos son: a) Describir la tipicidad presentando el mapa delictivo y los tipos de delito, b) Describir la antijuridicidad presentando por sectores sus frecuencias y periodos de ocurrencia y c) Describir la culpabilidad presentando por sectores sus
1
CAPÍTULO I PLANTEAMIENTO DE LA
INVESTIGACIÓN
1.1 DIAGNÓSTICO Y ENUNCIADO DEL PROBLEMA
La inseguridad ciudadana es un problema recurrente que forma parte de la convivencia cotidiana de los ciudadanos de Ayacucho, según la encuesta nacional de programas presupuéstales de los años 2016-2017 (INEI), se afirma que la ciudad de Ayacucho, cuenta con un 37.8% de víctimas de algún hecho delictivo, lo cual es elevado, considerando que a nivel nacional el promedio de víctimas de algún hecho delictivo es de 30.2%, también para los años 2016 al 2017 la ciudad de Ayacucho tuvo un aumento del 2.2%, mientras que a nivel nacional se tuvo un descenso del 1.7%.
Figura 1.1
Ciudadanos de 15 y más años de edad, víctimas de algún hecho delictivo
2
Adicionalmente a lo dicho, en los últimos años los distritos metropolitanos de la ciudad de Ayacucho reportaron un aumento en la actividad delictiva, principalmente en la violencia familiar, robos y hurtos, lesiones contra la vida, el cuerpo y la salud y casos de disuasión de personas libando alcohol en la vía pública.
De las indagaciones se ha observado que, la sub gerencia de seguridad ciudadana del distrito de San Juan Bautista (SGSC - SJB) en su plan local de seguridad ciudadana (2018), reportó, que el principal problema que afronta el distrito es la violencia familia, con 158 casos en el año 2017, de estos casos se aprecia que el género femenino es el más vulnerable a las agresiones producto de la violencia familiar.
Gráfico 1.1
Porcentaje de víctimas de violencia familiar por género
6%
Femenino
Masculino
94%
Según el plan local de seguridad ciudadana, distrito de San Juan bautista (2018).
El segundo problema que afronta el distrito de San Juan Bautista, son las grescas callejeras, con un total de 110 casos en el año 2017, estos casos se presentan en su mayoría por el alto consumo de bebidas alcohólicas entre jóvenes y adultos; el tercer problema que afronta el distrito de San Juan Bautista, es la disuasión de personas libando alcohol en la vía pública, con un total de 112 casos registrados, plan local de seguridad ciudadana del distrito de San Juan Bautista (2018).
3
un promedio de 8 casos por año, los casos registrados mantienen el mismo comportamiento victimilógico que el distrito de San Juan Bautista, con relación a las causas y circunstancias que conllevan la violencia familiar.
Gráfico 1.2
Violencia familiar registrada en los años 2014, 2015 y 2016
100
80
60
40
20
0
2014 2015 2016
Según el plan local de seguridad ciudadana, distrito de Carmen Alto (2018)
Por otra parte, el delito que por tercer año consecutivo se ubica en el segundo, de acuerdo al registro de faltas y ocurrencias de la sub gerencia se seguridad ciudadana del distrito de Carmen Alto, son las lesiones contra la vida, el cuerpo y la salud con un total de 78 casos registrados en el año 2016. En este rubro se encuentran las peleas y las grescas que suscitan los fines de semana como consecuencias del alto consumo de bebidas alcohólicas en los recreos, bares cantinas y discotecas, el hurto es el tercer tipo de delito que más predomina en el registro del personal de serenazgo, sumando un total de 49 casos en el año 2016 y con un comportamiento ascendente en relación a los años anteriores.
Gráfico 1.3
Lesiones contra la vida, el cuerpo y la salud en los años 2014, 2015 y 2016
100
80
60
40
20
0
2014 2015 2016
4
En ese sentido, el comportamiento delictivo de los distritos de San Juan Bautista, Carmen Alto, Jesús Nazareno, Andrés Avelino Cáceres Dorregaray tienen el mismo comportamiento, a diferencia del distrito de Ayacucho, el principal problemas que afronta el distrito son los elevados índices delictivos con relación a robos y hurtos en la zona céntrica de la ciudad, la violencia familiar, infantil y alcoholismo se presentan con mayor frecuencia en los Asentamientos Humanos, Asociaciones y Barrios colindantes con los distritos aledaños, mientras que las grescas callejeras se presentan en todo el distrito, plan local de seguridad ciudadana del distrito de Ayacucho, (2018).
En este contexto y ante el aumento de los actos delictivos en la ciudad de Ayacucho, nace una problemática relacionada con la gestión de información en materia delictiva, a fin de crear un mapa del delito que describa de forma clara y oportuna los incidentes delictivos de la ciudad de Ayacucho. Todo ello con la intención de brindar un mejor servicio a la comunidad, pues el tamaño y la población de los gobiernos locales son grandes en relación a la cantidad de recursos logísticos y operativos que poseen.
1.2 FORMULACIÓN DEL PROBLEMA DE INVESTIGACIÓN
1.2.1. PROBLEMA GENERAL
¿Cómo es la actividad delictiva en la ciudad de Ayacucho, 2017?
1.2.2. PROBLEMAS ESPECÍFICOS
a) ¿Cómo es la tipicidad, antijuridicidad y culpabilidad?
1.3 OBJETIVOS DE LA INVESTIGACIÓN
1.3.1. OBJETIVO GENERAL
Desarrollar un Software Geográfico mediante técnicas e instrumentos; programación extrema, georreferenciación, base de datos espacial, programación orientada a objetos, tecnologías de internet, con la finalidad de describir la actividad delictiva en la ciudad de Ayacucho, 2017.
1.3.2. OBJETIVOS ESPECÍFICOS
a) Describir la tipicidad presentando el mapa del delito y los tipos de delito.
5
c) Describir la culpabilidad presentando por sectores sus frecuencias y periodos de ocurrencia.
1.4 JUSTIFICACIÓN Y DELIMITACIÓN DE LA INVESTIGACIÓN
1.4.1. IMPORTANCIA DEL TEMA
A. IMPORTANCIA TÉCNICA
La investigación tendrá como producto un mapa del delito, que podrá ser utilizado por las autoridades locales, como; policías, fiscales, jueces, bomberos y serenazgo como una herramienta fundamental para la descripción del comportamiento delictivo y patrones delincuenciales, permitiendo mejorar su presencia en los lugares y momentos necesarios. Así mismo, la investigación dispondrá de un modelo de desarrollo de un Sistema de Información Geográfico (GIS) para los estudiantes de ingeniería de sistemas, criminólogos e investigadores interesados.
B. IMPORTANCIA ECONÓMICA
Al contar con un entendimiento claro sobre los actos delictivos presentes en la ciudad de Ayacucho, la investigación tendrá como resultado un mapa del delito actualizado, en tiempo real, las autoridades descritas líneas antes, podrán reducir el tiempo y costo a la hora de tomar decisiones sobre el uso de recursos logísticos y operativos disponibles, dicha información permitirá mejorar el servicio sobre la seguridad ciudadana de los gobiernos locales.
C. IMPORTANCIA SOCIAL
Finalmente, la propuesta de desarrollar un “software geográfico que describe la actividad delictiva, ciudad de Ayacucho, 2017”, permitirá establecer una cooperación entre los diferentes gobiernos locales, instituciones de la administración pública, sin distinción del nivel de desarrollo tecnológico de estas; utilizar más fácilmente estándares abiertos y aplicaciones tecnológicas de distinta generación. Contar con estadísticas de criminalidad en tiempo real, permitirá comprender mejor el comportamiento delictivo de la ciudad de Ayacucho, de esta manera, las autoridades locales podrán mejorar la presencia de los servicios de seguridad ciudadana, estas medidas repercutirán de forma positiva en la población de Ayacucho, logrando mejorar la percepción del trabajo que realizan los agentes
6 1.4.2. JUSTIFICACIÓN
La presente investigación es de gran importancia para los gobiernos locales, ya que la lucha contra la inseguridad ciudadana es de interés social y económico. Por tal motivo, es necesario contar con mecanismos que ayuden a comprender y dimensionar mejor el problema, en tal medida, el mapa del delito, permite expresar en cifras la relación entre los delitos y el lugar donde son cometidos, permitiendo direccionar los recursos humanos y logísticos hacia las zonas más afectadas, así como, desplegar propuestas preventivas; para el uso de los gobiernos locales y la población en general.
1.4.3. DELIMITACIÓN
7
CAPÍTULO II
REVISIÓN DE LA LITERATURA
2.1. ANTECEDENTES DE LA INVESTIGACIÓN
En la tesis para optar el grado de Magíster en Ciencia Política y Gobierno con mención en Gestión Pública y Políticas Públicas denominado “Uso de tecnologías para sistematización de la información sobre el crimen (usos, problemas de georreferencia y demás)”, de la Universidad Pontificia la Católica del Perú, se concluyó que el uso de las tecnologías de georreferenciación en las comisarías del Cercado de Lima es delicado, algunas comisarías emplean las herramientas gratuitas de Internet, para la elaboración y la actualización de mapas del delito, pero, en otros casos, aun se sigue empleando solo mapas impresos. Por otro lado, la Policía Nacional del Perú (PNP) no cuenta con un sistema único de información georreferenciado ni de plataformas similares para registrar la actividad delictiva del Cercado de Lima, dificultando la obtención y manejo de datos delictivos georreferenciados y la construcción de mapas del delito. La presencia de un sistema con información en materia delictiva es de gran utilidad para el diagnóstico y diseño de políticas públicas de seguridad ciudadana (Mora, 2015).
En la investigación “El mapa del crimen. Herramientas geográficas para policías y criminólogos” realizada en la ciudad de Málaga, se concluye que es posible prevenir la delincuencia en las ciudades con una buena gestión y planificación de las labores policiales, el patrullaje y la seguridad ciudadana. Para poder llegar a tales aseveraciones, fue necesario introducir sobre el plano de la ciudad de Málaga los datos recogidos de las encuestas de victimación, las llamadas telefónicas realizadas a la Policía Nacional y Local, así como las denuncias presentadas en la Policía Nacional (actividad delictiva) y las actuaciones de la Policía Local. Además, se introdujeron la tasa de desempleo y el censo de la ciudad de Málaga por secciones. Junto a estos datos, los autores utilizaron un Sistema de información Geográfica (SIG.), consiguiendo un mapa del delito exacto y variado (Stangeland y Garrido, 2004)
8
Kimball”, de la Universidad Nacional Mayor de San Marcos, concluye que los sistemas de soporte a la toma de decisiones son una necesidad no solo para organizaciones con fines de lucro como empresas sino también para organizaciones del estado como la Policía, el Serenazgo, bomberos, etc., a través del desarrollo de una solución en Inteligencia de Negocios que tiene como fuente principal la actividad delictiva presente en las incidencias registradas, se logró identificar las zonas más peligrosas del distrito de Villa El Salvador; las cuales deberían de tener mayor vigilancia y atención por las autoridades.
Para Jaulis y Vilcarromero (2015), en sus tesis para optar el título profesional de Ingeniero de Computación y Sistemas denominado “Sistema de predicción de hechos delictivos para la mejora del proceso de prevención del delito en el distrito de la Molina utilizando minería de datos”, de la Universidad de San Martín de Porres, concluye que la información de la actividad delictiva unificada y consolidada de las tres comisarías del distrito permitieron agilizar el proceso de prevención de delitos, del mismo modo permite simplificar las actividades a los efectivos policiales a tomar mejores decisiones con respecto a las zonas donde podría ocurrir un hecho delictivo, esto gracias a la implementación del sistema de predicción.
2.2. MARCO TEÓRICO
2.2.1. ACTIVIDAD DELICTIVA
Según Mezger (1955), El delito es una acción antijurídica, pero, al mismo tiempo, típicamente antijurídica, la decisión de si una determinada conducta incide en la parcela de derecho penal resulta de la consideración de que, como fundamento de la exigencia penal del Estado, no es bastante cualquier acción antijurídica, sino que es preciso una antijurídica tipificada y culpable.
Según Roxin (1997), el delito es toda acción (manifestación de la personalidad), típica (“nullum crimen”), antijurídica (soluciones sociales de conflictos), culpable (necesidad de pena, más cuestiones preventivas) y que cumple otros eventuales presupuestos de punibilidad
9
jurídico (antijurídica) y que, por serle exigible al autor que actuase de otra manera en esa circunstancia, le es reprochable (culpable).
A. TIPICIDAD
Para Rodríguez, Ugaz, Gamero y Schönbohm (2012), la tipicidad es una formula abstracta para señalar una conducta cuyo desvalor la hace acreedora de una pena, por lo general está constituido por todos aquellos elementos que caracterizan a una acción humana (antijuridicidad y culpabilidad) contraviniente a una normal, dicha acción es considerada como típica cuando es prohibida por el ordenamiento jurídico penal.
Según Muñoz y García (2002), la tipicidad es la adecuación del acto humano voluntario ejecutado por el sujeto a la figura descrita por la ley como delito. Es el encaje del acto humano voluntario al tipo penal. Si se adecua es indicio de que es delito, si la adecuación no es completa no hay delito.
Para Peña (2010), la tipicidad es una figura que crea el legislador para hacer una valoración de determinada conducta delictiva, se puede decir que es una descripción abstracta de la conducta prohibida, que tiene por función la individualización de las conductas humanas penalmente relevantes.
B. ANTIJURIDICIDAD
Según Muñoz y García (2002, p341), “la antijuridicidad expresa la contradicción entre la acción realizada y las exigencias del ordenamiento jurídico”.
Según Barja (2004), la antijuridicidad es el acto voluntario típico que contraviene el presupuesto de la norma penal, lesionando o poniendo en peligro bienes e intereses tutelados por el derecho. La antijuridicidad es un juicio impersonal objetivo sobre la contradicción existente entre el hecho y el ordenamiento jurídico.
Según Peña (2010), la antijuridicidad es la contradicción de la realización del tipo de norma prohibida, es un juicio de valor objetivo, en tanto se pronuncia sobre la conducta típica.
C. CULPABILIDAD
10
antijurídica, la culpabilidad es la reprochabilidad de la conducta de una persona imputable y responsable, que pudiendo haberse conducido de otra manera no lo hizo, por lo cual es merecedor de una pena.
Para Roxin (1997), la acción típica y antijurídica ha de ser culpable, poniéndose responsable de ella al autor. Para ello es presupuesto la imputabilidad o capacidad de culpabilidad y la ausencia de causas de exculpación.
Para Portocarrero (2017), la culpabilidad es la conducta que se debe reprochar jurídicamente al sujeto por no haber hecho lo que debía hacer, cuando sabía que estaba haciendo algo distinto de lo obligado por el mandato o lo prohibido por Ley. Las condiciones dentro de las que actuó u omitió son consideradas por el derecho suficientes para permitirle optar entre cumplir el mandato o violarlo.
2.2.2. MAPA DEL DELITO
Según Pervesi (2007), el mapa del delito consiste en geo-referenciar los hechos delictivos, obteniendo una visualización geográfica que contempla no solo la distancia entre hechos, sino también el equipamiento urbano (bancos, comercios, plazas, etc) y entre las demarcaciones territoriales como comisarias, barrios, zonas marginales, etc.
Del mismo modo para Behar y Lucilli (2003), sugieren que la elaboración del mapa del delito debe verse como un proceso continuo y sistemático, ya que los delitos no se distribuyen al azar ni de forma uniforme sobre la geografía urbana, sino que se localizan o concentran en determinadas zonas y momentos. Estos puntos críticos de la delincuencia se pueden examinar en un mapa y, posteriormente analizar las causas que generan estas concentraciones, los mapas delictivos tienen distintas unidades de análisis; puntos, líneas, áreas y grillas.
Para Vázquez y Soto (2013), El mapa delictivo, principalmente, sirve para ayudar al personal operativo y administrativo en el diagnostico situacional en la que se encuentra respecto a la seguridad ciudadana, la evaluación de la misma, la formulación de políticas nuevas o reformular las nuevas políticas existentes para la prevención de los hechos delictivos y constantemente monitorización de estos, también ayuda a la gestión policial, que comprende
11 2.2.3. PUNTO CALIENTE
Según Vozmediano (2011), el punto caliente es un área que supera el número medio de eventos delictivos, donde el riesgo de ser víctima de un delito es superior a la media.
Del mismo modo Ruiz (2012), una zona caliente representa un área localizada que contiene una gran porción del volumen total de incidentes delictivos de toda esa región, es un área que presenta un nivel de delitos o desorden más elevado que el promedio.
Pero para Sherman (1995), los puntos calientes son lugares pequeños en los que la incidencia del delito es tan frecuente que es muy predecible, por lo menos durante un período de 1 año.
2.2.4. SISTEMA DE INFORMACIÓN GEOGRÁFICA
Según la INEGI (2014), un Sistema de información geográfico es un conjunto de herramientas diseñadas para obtener, almacenar, recuperar y desplegar datos espaciales del mundo real. Conjunto de mapas, de la misma porción del territorio, donde un lugar concreto tiene la misma localización (las mismas coordenadas) en todos los mapas.
Un sistema de información geográfico (GIS) es un conjunto de herramientas para unir, almacenar y presentar datos espaciales sobre el mundo que nos rodea (Burrough, 1986).
A GEORREFERENCIACIÓN
Según ARCGIS, La georreferenciación es el uso de coordenadas de mapa para asignar una ubicación espacial a entidades cartográficas. Todos los elementos de una capa de mapa tienen una ubicación geográfica y una extensión específicas que permiten situarlos en la superficie de la Tierra. La capacidad de localizar de manera precisa las entidades geográficas es fundamental tanto en la representación cartográfica como en sistema de información geográfico.
12
B SISTEMA GESTOR DE BASE DE DATOS GEOGRÁFICAS
Para ESRI (1998), una base de datos espacial o geográfica, es una colección de datos organizados de tal manera que sirvan efectivamente para una o varias aplicaciones GIS (sistema de información geográfica). Esta base de datos comprende la asociación entre sus dos principales componentes: datos espaciales y atributos o datos no espaciales.
Según Haithcoat et al (2001), una base de datos espaciales es una colección de datos referenciados espacialmente que actúan como un modelo de la realidad, en el sentido de que representa una serie o aproximación de fenómenos. Esos fenómenos seleccionados son representados en forma digital. La representación digital se puede referir al pasado, presente o futuro.
C WELL KNOWN TEXT (WKT)
Es una codificación o sintaxis en formato ASCII estandarizada diseñada para describir objetos espaciales expresados de forma vectorial. Los objetos que es capaz de describir el formato WKT son los siguientes: puntos, multipuntos, líneas, multilíneas, polígonos, multipolígonos. Su especificación ha sido promovida por un organismo internacional Open Geospatial Consortium (OGC), siendo su sintaxis muy fácil de utilizar, de forma que su uso se encuentra muy generalizado en la industria geo informática (ARCGIS).
Figura N° 2.1
Geometrías primitivas WKT.
13 2.2.5. PROGRAMACIÓN EXTREMA
Programación extrema (XP), es una metodología ágil para el desarrollo de software y consiste básicamente en ajustarse estrictamente a una serie de reglas que se centran en las necesidades del cliente para lograr un producto de buena calidad en poco tiempo, centrada en potenciar las relaciones interpersonales como clave para el éxito del desarrollo de software (Borja, 2013).
Es una metodología ligera de desarrollo de aplicaciones que se basa en la simplicidad, la comunicación y la realimentación del código desarrollado, teniendo como objetivo la satisfacción del cliente, potenciar el trabajo en grupo y minimizar el riesgo actuando sobre las variables del proyecto: costo, tiempo, calidad, alcance (Meléndez, Gaitán y Pérez, 2016, p.26).
A VALORES XP
A.1. SIMPLICIDAD
La programación extrema, como metodología ágil, apuesta a la sencillez, en su máxima expresión. Sencillez en el diseño, en el código, en los procesos, etc. La sencillez es esencial para que todos puedan entender el código, y se trata de mejorar mediante recodificaciones continuas (Joskowicz, 2008, p.16).
“La simplicidad ayuda a que los desarrolladores de software encuentren soluciones más simples a problemas, según el cliente lo estipula. Los desarrolladores también crean características en el diseño que pudieran ayudar a resolver problemas en un futuro” (Borja, 2013).
A.2. COMUNICACIÓN
Prevalece en todas las prácticas de Extreme Programming. Comunicación cara a cara es la mejor forma de comunicación, entre los desarrolladores y el cliente. Método muy ágil. Gracias a esto el equipo esta pude realizar cambios que al cliente no le gustaron (Borja, 2013).
14
cara a cara, entre desarrolladores, gerentes y el cliente es el medio básico de comunicación. Una buena comunicación tiene que estar presente durante todo el proyecto (Joskowicz, 2008, p.16).
A.3. CORAJE
Cuando se encuentran problemas serios en el diseño, o en cualquier otro aspecto, se debe tener el coraje suficiente como para encarar su solución, sin importar que tan difícil sea. Si es necesario cambiar completamente parte del código, hay que hacerlo, sin importar cuanto tiempo se ha invertido previamente en el mismo (Joskowicz, 2008, p.16).
Muchas de las prácticas implican valentía. Una de ellas es siempre diseñar y programar para hoy y no para mañana. Esto es un esfuerzo para evitar empantanarse en el diseño y requerir demasiado tiempo y trabajo para implementar todo lo demás del proyecto. La valentía le permite a los desarrolladores que se sientan cómodos con reconstruir su código cuando sea necesario. Esto significa revisar el sistema existente y modificarlo si con ello los cambios futuros se implementaran más fácilmente (Bustamante y Rodríguez, 2014, p.06).
A.4. RETROALIMENTACIÓN
La retroalimentación debe funcionar en forma permanente. El cliente debe brindar retroalimentación de las funciones desarrolladas, de manera de poder tomar sus comentarios para la próxima iteración, y para comprender, cada vez más, sus necesidades. Los resultados de las pruebas unitarias son también una retroalimentación permanente que tienen los desarrolladores acerca de la calidad de su trabajo (Joskowicz, 2008, p.16).
A.5. RESPETO
El equipo debe trabajar como uno, sin hacer decisiones repentinas. Extreme Programming promueve el trabajo del equipo. Cada integrante del proyecto (cliente, desarrolladores, etc.) forman parte integral del equipo encargado de desarrollar software de calidad. El equipo debe trabajar como uno, sin hacer decisiones repentinas (Borja, 2013).
B ROLES PROGRAMACIÓN EXTREMA
B.1. PROGRAMADOR
15 miembros del equipo (Borja, 2013).
Es el responsable de implementar las historias de usuario por el cliente. Además, estima el tiempo de desarrollo de cada historia de usuario para que el cliente pueda asignarle prioridad dentro de la iteración. Cada iteración incorpora nueva funcionalidad de acuerdo a las prioridades establecidas por el cliente. El programador también es responsable de diseñar y ejecutar los test de unidad del código que ha implementado o modificado (Meléndez, et al., 2016, p.31)
B.2. CLIENTE
Determina la funcionalidad que se pretende en cada iteración y define las prioridades de implementación según el valor de negocio que aporta cada historia. El Cliente también es responsable de diseñar y ejecutar los test de aceptación (Meléndez, et al., 2016, p.31).
El cliente escribe las historias de usuario y las pruebas funcionales para validar su implementación. Además, asigna la prioridad a las historias de usuario y decide cuáles se implementan en cada iteración centrándose en aportar mayor valor al negocio. El cliente es sólo uno dentro del proyecto, pero puede corresponder a un interlocutor que está representando a varias personas que se verán afectadas por el sistema (Borja, 2013).
B.3. ENCARGADO DE PRUEBAS (TESTER)
Es el Encargado de ejecutar las pruebas regularmente, difunde los resultados dentro del equipo y es también el responsable de las herramientas de soporte para pruebas (Meléndez, et al., 2016, p.31).
El encargado de pruebas ayuda al cliente a escribir las pruebas funcionales. Ejecuta las pruebas regularmente, difunde los resultados en el equipo y es responsable de las herramientas de soporte para pruebas (Borja, 2013).
B.4. ENCARGADO DE SEGUIMIENTO (TRACKER)
16
alcanzables con las restricciones de tiempo y recursos presentes (Borja, 2013).
Una de las tareas más importante del tracker, consiste en seguir la evolución de las estimaciones realizadas por los programadores y compararlas con el tiempo real de desarrollo. De esta forma, puede brindar información estadística en lo que refiere a la calidad de las estimaciones para que puedan ser mejoradas (Meléndez, et al., 2016, p.32).
B.5. ENTRENADOR (COACH)
Es responsable del proceso en general. Se encarga de iniciar y de guiar a las personas del equipo en poner en marcha cada una de las prácticas de la metodología XP (Meléndez, et al., 2016, p.32).
Es responsable del proceso global. Es necesario que conozca a fondo el proceso XP para proveer guías a los miembros del equipo de forma que se apliquen las prácticas XP y se siga el proceso correctamente (Borja, 2013).
B.6. CONSULTOR
Es un miembro externo del equipo con un conocimiento específico en algún tema necesario para el proyecto. Guía al equipo para resolver un problema específico (Borja, 2013).
B.7. GESTOR (BIG BOSS)
Es el vínculo entre clientes y programadores, ayuda a que el equipo trabaje efectivamente creando las condiciones adecuadas. Su labor esencial es de coordinación (Borja, 2013).
Experto en tecnología y labores de gestión. Construye el plantel del equipo, obtiene los recursos necesarios y maneja los problemas que se generan. Administra a su vez las reuniones (planes de iteración, agenda de compromisos, etc.). Su labor fundamental es de coordinación (Meléndez, et al., 2016, p.32).
C CICLO DE VIDA DE UN PROYECTO XP
17 Figura N° 2.2
Ciclo de vida de programación extrema.
Según Microsoft (2014).
C.1. EXPLORACIÓN
En esta fase, los clientes plantean a grandes rasgos las historias de usuario que son de interés para la primera entrega del producto. Al mismo tiempo el equipo de desarrollo se familiariza con las herramientas, tecnologías y prácticas que se utilizarán en el proyecto. Se prueba la tecnología y se exploran las posibilidades de la arquitectura del sistema construyendo un prototipo. La fase de exploración toma de pocas semanas a pocos meses, dependiendo del tamaño y familiaridad que tengan los programadores con la tecnología (Borja, 2013).
En esta fase, el cliente define lo que necesita mediante la redacción de sencillas “historias de usuarios”. Los programadores estiman los tiempos de desarrollo en base a esta información. Debe quedar claro que las estimaciones realizadas en esta fase son primarias (ya que estarán basadas en datos de muy alto nivel), y podrían variar cuando se analicen más en detalle en cada iteración (Joskowicz, 2008, p.08).
C.2. PLANIFICACIÓN
18
grupales de planificación. El resultado de esta fase es un Plan de Entregas, o “Release Plan” (Joskowicz, 2008, p.09).
En esta fase el cliente establece la prioridad de cada historia de usuario, y correspondientemente, los programadores realizan una estimación del esfuerzo necesario de cada una de ellas. Se toman acuerdos sobre el contenido de la primera entrega y se determina un cronograma en conjunto con el cliente. Una entrega debería obtenerse en no más de tres meses. Esta fase dura unos pocos días (Borja, 2013).
C.3. ITERACIONES
Esta fase incluye varias iteraciones sobre el sistema antes de ser entregado. El Plan de Entrega está compuesto por iteraciones de no más de tres semanas. En la primera iteración se puede intentar establecer una arquitectura del sistema que pueda ser utilizada durante el resto del proyecto. Esto se logra escogiendo las historias que fuercen la creación de esta arquitectura, sin embargo, esto no siempre es posible ya que es el cliente quien decide qué historias se implementarán en cada iteración (para maximizar el valor de negocio). Al final de la última iteración el sistema estará listo para entrar en producción (Borja, 2013).
Figura N° 2.3 Planificación de iteración.
Según Borja (2013).
C.4. PRODUCCIÓN
19
tomar decisiones sobre la inclusión de nuevas características a la versión actual, debido a cambios durante esta fase (Borja, 2013).
Si bien al final de cada iteración se entregan módulos funcionales y sin errores, puede ser deseable por parte del cliente no poner el sistema en producción hasta tanto no se tenga la funcionalidad completa. En esta fase no se realizan más desarrollos funcionales, pero pueden ser necesarias tareas de ajuste “fine tuning” (Joskowicz, 2008, p.09).
C.5. MANTENIMIENTO
Mientras la primera versión se encuentra en producción, el proyecto XP debe mantener el sistema en funcionamiento al mismo tiempo que desarrolla nuevas iteraciones. Para realizar esto se requiere de tareas de soporte para el cliente. De esta forma, la velocidad de desarrollo puede bajar después de la puesta del sistema en producción. La fase de mantenimiento puede requerir nuevo personal dentro del equipo y cambios en su estructura (Borja, 2013).
C.6. MUERTE DEL PROYECTO
Es cuando el cliente no tiene más historias para ser incluidas en el sistema. Esto requiere que se satisfagan las necesidades del cliente en otros aspectos como rendimiento y confiabilidad del sistema. Se genera la documentación final del sistema y no se realizan más cambios en la arquitectura. La muerte del proyecto también ocurre cuando el sistema no genera los beneficios esperados por el cliente o cuando no hay presupuesto para mantenerlo (Borja, 2013).
D REGLAS Y PRACTICAS
D.1. PLANIFICACIÓN
La metodología XP plantea la planificación como un dialogo continuo entre las partes involucradas en el proyecto, incluyendo al cliente, a los programadores y a los coordinadores o gerentes. El proyecto comienza recopilando “Historias de usuarios”, las que sustituyen a los tradicionales “casos de uso”. Una vez obtenidas las “historias de usuarios”, los programadores evalúan rápidamente el tiempo de desarrollo de cada una (Borja, 2013).
HISTORIAS DE USUARIO
20
software. Se trata de tarjetas de papel en las cuales el cliente describe brevemente las características que el sistema debe poseer, sean requisitos funcionales o no funcionales (Borja, 2013).
PLAN DE ENTREGAS (“RELÉASE PLAN”)
El cronograma de entregas establece qué historias de usuario serán agrupadas para conformar una entrega, y el orden de las mismas. Este cronograma será el resultado de una reunión entre todos los actores del proyecto: cliente, desarrolladores, gerentes, etc. (Borja, 2013).
PLAN DE ITERACIONES (“ITERATION PLAN”)
Las historias de usuarios seleccionadas para cada entrega son desarrolladas y probadas en un ciclo de iteración, de acuerdo al orden prestablecido. Al comienzo de cada ciclo, se realiza una reunión de planificación de la iteración. Cada historia de usuario se traduce en tareas específicas de programación. Así mismo, para cada historia de usuario se establecen las pruebas de aceptación (Joskowicz, 2008, p.11).
REUNIONES DIARIAS DE SEGUIMIENTO (“STAND-UP MEETING”)
El objetivo de tener reuniones diarias es mantener la comunicación entre el equipo, y compartir problemas y soluciones. En la mayoría de estas reuniones, gran parte de los participantes simplemente escuchan, sin tener mucho que aportar. Para no quitar tiempo innecesario del equipo, se sugiere realizar estas reuniones en círculo y de pie (Joskowicz, 2008, p.11).
D.2. DISEÑO
La metodología XP hace especial énfasis en los diseños simples y claros. Los conceptos más importantes de diseño en esta metodología son los siguientes:
SIMPLICIDAD
Un diseño simple se implementa más rápidamente que uno complejo. Por ello XP propone implementar el diseño más simple posible que funcione. Se sugiere nunca adelantar la implementación de funcionalidades que no correspondan a la iteración en la que se esté
21 SOLUCIONES “SPIKE”
Cuando aparecen problemas técnicos, o cuando es difícil de estimar el tiempo para implementar una historia de usuario, pueden utilizarse pequeños programas de prueba (llamados “spike”), para explorar diferentes soluciones. Estos programas son únicamente para probar o evaluar una solución, y suelen ser desechados luego de su evaluación (Joskowicz, 2008, p.11).
RECODIFICACIÓN
La recodificación (“refactoring”) consiste en escribir nuevamente parte del código de un programa, sin cambiar su funcionalidad, a los efectos de hacerlo más simple, conciso y/o entendible. Muchas veces, al terminar de escribir un código de programa, pensamos que, si lo comenzáramos de nuevo, lo hubiéramos hecho en forma diferente, más clara y eficientemente (Borja, 2013).
METÁFORAS
Una “metáfora” es algo que todos entienden, sin necesidad de mayores explicaciones. La metodología XP sugiere utilizar este concepto como una manera sencilla de explicar el propósito del proyecto, y guiar la estructura y arquitectura del mismo. Por ejemplo, puede ser una guía para la nomenclatura de los métodos y las clases utilizadas en el diseño del código. Tener nombres claros, que no requieran de mayores explicaciones, redunda en un ahorro de tiempo (Joskowicz, 2008, p.11).
D.3. DESARROLLO
DISPONIBILIDAD DEL CLIENTE
Uno de los requerimientos de XP es tener al cliente disponible durante todo el proyecto. No solamente como apoyo a los desarrolladores, sino formando parte del grupo. El involucramiento del cliente es fundamental para que pueda desarrollarse un proyecto con la metodología XP. Al comienzo del proyecto, el cliente debe proporcionar las historias de usuarios (Borja, 2013).
USO DE ESTÁNDARES
Si bien esto no es una idea nueva, XP promueve la programación basada en estándares, de manera que sea fácilmente entendible por todo el equipo, y que facilite la recodificación
22
PROGRAMACIÓN DIRIGIDA POR LAS PRUEBAS (“TEST-DRIVEN
PROGRAMMING”)
En las metodologías tradicionales, la fase de pruebas, incluyendo la definición de los tests, es usualmente realizada sobre el final del proyecto, o sobre el final del desarrollo de cada módulo. La metodología XP propone un modelo inverso, en el que, lo primero que se escribe son los test que el sistema debe pasar. Luego, el desarrollo debe ser el mínimo necesario para pasar las pruebas previamente definidas (Joskowicz, 2008, p.13).
PROGRAMACIÓN EN PARES
XP propone que se desarrolle en pares de programadores, ambos trabajando juntos en un mismo ordenador. Si bien parece que ésta práctica duplica el tiempo asignado al proyecto (y por ende, los costos en recursos humanos), al trabajar en pares se minimizan los errores y se logran mejores diseños, compensando la inversión en horas. El producto obtenido es por lo general de mejor calidad que cuando el desarrollo se realiza por programadores individuales (Borja, 2013).
INTEGRACIONES PERMANENTES
Todos los desarrolladores necesitan trabajar siempre con la “última versión”. Realizar cambios o mejoras sobre versiones antiguas causan graves problemas, y retrasan al proyecto. Es por eso que XP promueve publicar lo antes posible las nuevas versiones, aunque no sean las últimas, siempre que estén libres de errores. Idealmente, todos los días deben existir nuevas versiones publicadas. Para evitar errores, solo una pareja de desarrolladores puede integrar su código a la vez (Joskowicz, 2008, p.14).
PROPIEDAD COLECTIVA DEL CÓDIGO
En un proyecto XP, todo el equipo puede contribuir con nuevas ideas que apliquen a cualquier parte del proyecto. Asimismo, cualquier pareja de programadores puede cambiar el código que sea necesario para corregir problemas, agregar funciones o recodificar. En otras metodologías, este concepto puede parecer extraño. Muchas veces se asume que, si hay algo de propiedad colectiva, la responsabilidad también es colectiva. Y que “todos sean responsables”, muchas veces significa que “nadie es responsable” (Borja, 2013).
RITMO SOSTENIDO
23
importante no es si se trabajan, 35, 40 o 42 horas por semana. El concepto que se desea establecer con esta práctica es el de planificar el trabajo de manera de mantener un ritmo constante y razonable, sin sobrecargar al equipo (Joskowicz, 2008, p.14).
D.4. PRUEBAS UNITARIAS
Las pruebas unitarias son una de las piedras angulares de XP. Todos los módulos deben de pasar las pruebas unitarias antes de ser liberados o publicados. Las pruebas deben ser definidas antes de realizar el código “Test-driven programming” (Borja, 2013).
DETECCIÓN Y CORRECCIÓN DE ERRORES
Cuando se encuentra un error (“bug”), éste debe ser corregido inmediatamente, y se deben tener precauciones para que errores similares no vuelvan a ocurrir. Asimismo, se generan nuevas pruebas para verificar que el error haya sido resuelto (Joskowicz, 2008, p.15).
PRUEBAS DE ACEPTACIÓN
Las pruebas de aceptación son creadas en base a las historias de usuarios, en cada ciclo de la iteración del desarrollo. El cliente debe especificar uno o diversos escenarios para comprobar que una historia de usuario ha sido correctamente implementada (Joskowicz, 2008, p.15).
E ARTEFACTOS XP
E.1. HISTORIAS DE USUARIO
24 Figura N° 2.4
Plantilla de historia de usuario
Según Hanatek (2010).
E.2. TAREAS DE INGENIERÍA (TASK CARD)
Ferreira, E. (citado por Meléndez, et al., 2016) menciona que una historia de usuario se descompone en varias tareas de ingeniería, las cuales describen las actividades que se realizarán en cada historia de usuario, así mismo las tareas de ingeniería se vinculan más al desarrollador, ya que permite tener un acercamiento con el código (p.28).
Figura N° 2.5
Plantilla de tarea de ingeniería.
Según Hanatek (2010).
E.3. TARJETAS CRC (CLASE-RESPONSABILIDAD-COLABORADORES)
25
Nombre de la Clase, Responsabilidades y Colaboradores (Meléndez, et al., 2016, p.30).
Figura N° 2.6 Plantilla de tarjetas CRC.
Según Hanatek (2010).
E.4. PRUEBAS DE ACEPTACIÓN
Las pruebas de aceptación son creadas en base a las historias de usuarios, en cada ciclo de la iteración del desarrollo. El cliente debe especificar uno o diversos escenarios para comprobar que una historia de usuario ha sido correctamente implementada (Joskowicz, 2008, p.15)
2.2.6. PROGRAMACIÓN ORIENTADA A OBJETOS
Durán, Gutiérrez y Pimentel (2007), mencionan que en la programación orientada a objetos el elemento básico de trabajo es el objeto. Un objeto se puede considerar como una representación de un objeto real (por ejemplo, una manzana) o aun no siendo tan real podemos hacernos una idea de que es un elemento existente con ciertas propiedades (por ejemplo, una línea en un dibujo o el estado meteorológico) (p.80)
La orientación a objetos puede describirse como el conjunto de disciplinas que desarrollan y modelan software para facilitar la construcción de sistema complejos a partir de componentes más sencillos. Su atractivo radica en que proporciona conceptos y herramientas con los cuales se modela y representa el mundo tan fielmente como sea posible (Osorio, 2008, p.35).
26
La programación orientada a objetos se define como un paradigma que permite realizar una abstracción de la realidad, que se puede implementar en una aplicación de software con el fin de resolver problemas mediante el uso de un lenguaje de programación. El paradigma de orientación a objetos comprende una gran cantidad de conceptos que permite el desarrollo de aplicaciones robustas (Flórez, 2012).
2.2.7. TECNOLÓGICAS DE INTERNET
Internet, también llamado autopista de información, designa un conjunto de redes informáticas relacionadas entre sí, para permitir que los usuarios puedan comunicarse entre sí; es una red abierta. Su principio básico es la trasmisión de datos de manera fiable entre ordenadores (Colección Esencial, 2011).
Luján (2001), asevera que contrario a otros servicios online, que se controlan de forma centralizada, la Internet posee un diseño descentralizado. Dado que cada ordenador (host) en la Internet es independiente. Los operadores pueden elegir qué servicio usar y qué servicios locales proporcionar.
Cafassi (1998) asevera que Internet es una tecnología. Sin embargo, no es la acepción más correcta y su consecuencia se ven a la hora de analizar las implicaciones sociales que conlleva su uso.
A APLICACIÓN WEB
Para Luján (2001), una aplicación web es un tipo especial de aplicación cliente / servidor, donde el cliente (el navegador, explorador o visualizador) como el servidor (el servidor web) y el protocolo mediante el que se comunican (HTTP) están estandarizados y no han de ser creados por el programador de aplicaciones.
Una aplicación web generalmente se compone de los siguientes elementos: a) Recursos estáticos: paginas HTML, imágenes, sonidos, hojas de estilo, etc., b) Recursos dinámicos: servlets, JSP, Java Bean, c) Librerías de clases y d) Descriptor de despliegue para definir los parámetros de funcionamiento de la aplicación en el servidor (Groussard, 2010).
B PROTOCOLO
27
encolada, de un manuscrito importante con notas sobre su contenido>>” (Antonio, 2001).
Según Gutiérrez y Tena (2003), un protocolo es un conjunto definido de etapas, que implica a dos o más partes, designado para realizar una tarea específica.
C HTTP
Luján (2001), el protocolo forma parte de la familia de protocolos de comunicación TCP / IP, que son los empleados en internet. Permiten la conexión de sistemas heterogéneos, facilitando el intercambio de información ente distintos ordenadores.
“El protocolo de transferencia de hipertexto es un sencillo protocolo cliente–servidor que articula los intercambios de información entre los clientes Web y los servidores HTTP” (Romero, 1997, p. 203).
Para Kroenke (2003), hay dos características importantes en ese protocolo: a) Orientado a peticiones, pues los servidores HTTP esperan peticiones para realizar alguna acción y generar una respuesta y b) No mantienen un estado, ya que reciben una pregunta, la procesan y luego olvidan cuál cliente la formuló.
D TRANSMISSION CONTROL PROTOCOL (TCP)
Según Colección Esencial (2011), este protocolo, descompone el mensaje en paquetes y asegura la fiabilidad de la transmisión. Cuando los paquetes llegan a su destino, se agrupan automáticamente para formar un único mensaje, idéntico al original.
TCP utiliza mensajes IP para lograr una transferencia de datos libre de errores. Ambos establecen un diálogo con otro sistema a base de enviar servicios de mensajes IP (Romero, 1997, p.22).
E INTERNET PROTOCOL (IP)
En el protocolo de internet, cada equipo posee una sola dirección única en la red a la que pertenece y cada red posee una dirección única en internet. Por lo tanto, cada ordenador tiene asignado un nombre y un número IP, y en algunos casos un nombre de dominio
28
“IP es capaz de enviar mensajes de pequeño tamaño (denominado datagrama) entre dos ordenadores conectados en red. No ofrece garantías de que los mensajes alcancen su destino, debido a los posibles fallos de las redes de comunicaciones.” (Romero, 1997, p.20).
F ARQUITECTURA EN TRES CAPAS
Para Sommerville (2005), asevera que, en esta arquitectura, la presentación, el procesamiento de la aplicación y la gestión de los datos son procesos lógicamente separados que se ejecutan obre procesadores diferentes.
29
CAPÍTULO III
METODOLOGÍA DE LA INVESTIGACIÓN
3.1 TIPO DE INVESTIGACIÓN
La investigación es del tipo observacional, porque no existe intervención en los incidentes delictivos, solo se observa su comportamiento.
La investigación es del tipo retrospectiva, porque se analizan y estudian los registros de incidentes delictivos ocurridos en el pasado, los registros fueron recopilados por personas ajenas a la investigación.
La investigación es longitudinal, porque se hace mediciones repetidas sobre la variable de estudio, todos los incidentes delictivos durante el 2017.
Finalmente, la investigación es del tipo descriptiva, por ser una investigación de una sola variable de interés y tener como fin el describir parámetros en la población de estudio.
3.2 NIVEL DE INVESTIGACIÓN
La investigación es de nivel descriptiva, porque busca describir la actividad delictiva en una circunstancia temporal (2017) y geográfica (distrito de Jesús Nazareno y Carmen Alto) obteniendo como resultado el mapa del delito.
3.3 DISEÑO DE INVESTIGACIÓN
Se recolectaron los datos mediante el análisis de los documentos que se tiene los registros de la actividad delictiva en los distritos de Jesús Nazareno y Carmen Alto, los datos recolectados pertenecen a los incidentes u ocurrencias de los meses de enero a diciembre del 2017, estos datos se procesaran mediante la estadística descriptiva presentándolos en mapas, gráficos y cuadros.
3.4 POBLACIÓN Y MUESTRA DE LA INVESTIGACIÓN
3.4.1 POBLACIÓN
30 año 2017.
3.4.2 MUESTRA
No existe muestra, se ha realizado es un censo, porque se estudió todos los incidentes delictivos registrados en los distritos de Jesús Nazareno y Carmen Alto de la ciudad de Ayacucho.
3.5 VARIABLES E INDICADORES DE LA INVESTIGACIÓN
3.5.1 DEFINICIÓN CONCEPTUAL DE LAS VARIABLES
VARIABLE DE INTERÉS
ACTIVIDAD DELICTIVA
La actividad delictiva es una conducta típica, antijurídica y culpable que se adecua al presupuesto jurídico de una ley penal, en donde solo una acción u omisión puede ser típica, sólo una acción u omisión típica puede ser antijurídica y sólo una acción u omisión antijurídica puede ser culpable.
INDICADORES DE LA VARIABLE DE INTERÉS
TIPICIDAD
La tipicidad es la verificación de si una actividad realizada coincide con lo descrito en la ley penal, todo acto humano para considerarse como delito debe adecuarse al tipo penal.
ANTIJURIDICIDAD
La antijuridicidad es el acto voluntario típico que contraviene el presupuesto de la norma penal, lesionando o poniendo en peligro bienes e intereses tutelados por el derecho, es un juicio de valor objetivo, en tanto se pronuncia sobre la conducta típica.
CULPABILIDAD
La culpabilidad es la reprochabilidad jurídica de la conducta típica y antijurídica de una persona imputable, por no haber hecho lo que debía hacer, cuando sabía que estaba haciendo algo distinto de lo obligado por el mandato o lo prohibido por ley.
3.5.2 DEFINICIÓN OPERACIONAL DE LAS VARIABLES
VARIABLE DE INTERÉS
31
INDICADORES DE LA VARIABLE DE INTERÉS
X1: Tipicidad X2: Antijuridicidad X3: Culpabilidad
3.6 OPERACIONALIZACIÓN DE LA VARIABLE
Se muestra en el anexo 1.
3.7 TÉCNICA E INSTRUMENTO PARA RECOLECTAR INFORMACIÓN
3.7.1 TÉCNICA PARA RECOLECTAR INFORMACIÓN
Se aplicó la técnica de análisis documental a los registros de los incidentes ocurridos en los distritos de Jesús Nazareno y Carmen Alto.
3.7.2 INSTRUMENTO PARA RECOLECTAR INFORMACIÓN
Se usó el instrumento de registro para levantar los datos de los incidentes u ocurrencias, el instrumento se muestra en el anexo 2.
3.8 HERRAMIENTA PARA EL TRATAMIENTO DE DATOS E
INFORMACIÓN
Las herramientas tecnológicas que se utilizaron fueron seleccionadas de acuerdo a los requerimientos del sistema geográfico, también, se consideró si la herramienta era open source y su capacidad multiplataforma.
Tabla N° 3.1
Herramientas para el tratamiento de datos e información
SOFTWARE FABRICANTE DESCRIPCIÓN
Kde Neon 5.15 KDE
neon.kde.org
KDE neon es una distribución Linux y un sistema operativo derivado de Ubuntu, pero centrado en el desarrollo de software para la comunidad de código abierto KDE.
www.redhat.com/ rhel/
siglas RHEL es una distribución comercial de GNU/Linux desarrollada por Red Hat. Es la versión comercial basada en Fedora que a su vez está basada en el anterior Red Hat Linux, de forma similar a como SUSE Enterprise (SUSE Linux Enterprise Desktop y SLE Server) lo es respecto de OpenSUSE o Mandriva Corporate respecto de Mandriva Linux One.
Pycharm JetBrains Pycharm es un entorno de desarrollo integrado (IDE) utilizado específicamente para la programación en el lenguaje Python. Está desarrollado por la compañía checa JetBrains. Proporciona análisis de código, un depurador gráfico, un comprobador de unidades integrado, integración con sistemas de control de versiones y es compatible con el desarrollo web con Django.
WebStorm JetBrains WebStorm es un entorno de desarrollo integrado (IDE) utilizado en la programación de computadoras, específicamente para los lenguajes de JavaScript y frameworks derivados de NodeJs. Está desarrollado por la compañía checa JetBrains. Proporciona análisis de código, un depurador gráfico, un comprobador de unidades integrado, integración con sistemas de control de versiones y es compatible con el desarrollo web con Angular, Angularjs, React y React Native.
Visual Studio Code
Microsoft Visual Studio Code (vscode) es un editor de código fuente desarrollado por Microsoft para Windows, Linux y macOS. Incluye soporte para la depuración, control integrado de Git, resaltado de sintaxis, finalización inteligente de código, fragmentos y refactorización de código. Es gratuito y de código abierto, aunque la descarga oficial está bajo software propietario.
DBaver Open-source DBeaver es un cliente SQL y una herramienta de
community administración de base de datos. Para las bases de datos relacionales, utiliza la API de JDBC para interactuar con las bases de datos a través de un controlador JDBC. Para otras bases de datos (NoSQL) utiliza controladores de base de datos propietarios. Proporciona una arquitectura de complementos (basada en la arquitectura de complementos de Eclipse) que permite a los usuarios modificar gran parte del comportamiento de la aplicación para proporcionar funcionalidades o funciones específicas de la base de datos que son independientes de la base de datos. Esta es una aplicación de escritorio escrita en Java y basada en la plataforma Eclipse.
Dia Proyecto GNU Dia es una aplicación informática de propósito general para la creación de diagramas, creada originalmente por Alexander Larsson, y desarrollada como parte del proyecto GNOME. Está concebido de forma modular, con diferentes paquetes de formas para diferentes necesidades.
Postman Postdot
Technologies Pvt. Ltd.
Postman es un ApiTest, es un de software que implica probar las interfazs de programación de aplicaciones (API) directamente y como parte de las pruebas de integración para determinar si cumplen con las expectativas de funcionalidad, confiabilidad, rendimiento y seguridad. Como las API carecen de una GUI, las pruebas de API se realizan en la capa de mensajes.
Amazon EC2 Amazon Amazon Elastic Compute Cloud (Amazon EC2) es una parte central de la plataforma de cómputo en la nube de la empresa Amazon.com denominada Amazon Web Services (AWS). EC2 permite a los usuarios alquilar computadores virtuales en los cuales pueden ejecutar sus propias aplicaciones. Este tipo de servicio supone un cambio en el modelo informático al proporcionar capacidad informática con tamaño modificable en la nube, pagando por la capacidad utilizada. En lugar de comprar o alquilar un determinado procesador para utilizarlo varios meses o años, en EC2 se alquila la capacidad por horas.
Amazon S3 Amazon Amazon S3 o Amazon Simple Storage Service es un "servicio de almacenamiento simple" ofrecido por Amazon Web Services (AWS) que proporciona almacenamiento de objetos a través de una interfaz de servicio web. Amazon S3 usa la misma infraestructura de almacenamiento escalable que Amazon.com utiliza para ejecutar su red global de comercio electrónico. Amazon S3 puede emplearse para almacenar cualquier tipo de objeto que permita usos como almacenamiento para aplicaciones de Internet, respaldo y recuperación, recuperación de desastres, archivos de datos, lagos de datos para análisis y almacenamiento en la nube híbrida. Amazon RDS Amazon El servicio de base de datos relacional de Amazon (o
Amazon RDS) es un servicio de base de datos relacional distribuido por Amazon Web Services (AWS). Es un servicio web que se ejecuta "en la nube" diseñado para simplificar la configuración, el funcionamiento y el escalamiento de una base de datos relacional para su uso en aplicaciones. Los procesos de administración, como parchear el software de la base de datos, realizar copias
de seguridad de las bases de datos y habilitar la recuperación en un momento dado se administran automáticamente. Los recursos de cálculo y almacenamiento de escala pueden realizarse mediante una sola llamada a la API, ya que AWS no ofrece una conexión ssh a instancias de RDS.
Amazon Elastic Beanstalk
Amazon AWS Elastic Beanstalk es un PaaS (Plataforma como Servicio) servicio de Amazon Web Services que permite crear aplicaciones y desplegarlas a un conjunto definido de Servicios de AWS, incluyendo Amazon EC2, Amazon S3, Amazon Simple Notification Service (SNS), Amazon CloudWatch, auto escalamiento, y balanceador de carga elásticos.
PostgreSQL PostgreSQL Global Development Group
PostgreSQL es un sistema de gestión de bases de datos relacional orientado a objetos y de código abierto, publicado bajo la licencia PostgreSQL, similar a la BSD o la MIT.
Como muchos otros proyectos de código abierto, el desarrollo de PostgreSQL no es manejado por una empresa o persona, sino que es dirigido por una comunidad de desarrolladores que trabajan de forma desinteresada, altruista, libre o apoyados por organizaciones comerciales. Dicha comunidad es denominada el PGDG (PostgreSQL Global Development Group)
PostGis Refractions Research
PostGIS convierte al sistema de administración de bases de datos PostgreSQL en una base de datos espacial mediante la adición de tres características: tipos de datos espaciales, índices espaciales y funciones que operan sobre ellos. Debido a que está construido sobre PostgreSQL, PostGIS hereda automáticamente las
características de las bases de datos empresariales, así como los estándares abiertos que implementan un Sistema de Información Geográfica dentro del motor de base de datos.
Apache Apache Software Foundation
El servidor HTTP Apache es un servidor web HTTP de código abierto, para plataformas Unix (BSD, GNU/Linux, etc.), Microsoft Windows, Macintosh y otras, que implementa el protocolo HTTP/1.1 y la noción de sitio virtual según la normativa RFC 2616.
Python 3.6 Python Software Foundation
Python es un lenguaje de programación interpretado cuya filosofía hace hincapié en una sintaxis que favorezca un código legible.
Se trata de un lenguaje de programación multiparadigma, ya que soporta orientación a objetos, programación imperativa y, en menor medida, programación funcional. Es un lenguaje interpretado, usa tipado dinámico y es multiplataforma.
Django Django Software Foundation
Django es un framework de desarrollo web de código abierto, escrito en Python, que respeta el patrón de diseño conocido como Modelo–vista–template. Fue desarrollado en origen para gestionar varias páginas orientadas a noticias de la World Company de Lawrence, Kansas, y fue liberada al público bajo una licencia BSD en julio de 2005. En junio de 2008 fue anunciado que la recién formada Django Software Foundation se haría cargo de Django en el futuro.
Geo Django Django Software Foundation
GeoDjango es un módulo contribuido por Django que lo transforma en un sistema geográfico web a gran escala. El objetivo de GeoDjango es que sea lo más fácil posible crear aplicaciones web basadas en información geográfica, como los servicios basados en la ubicación. Sus características incluyen:
Los campos de la plantilla de Django para OGC objetos geométricos rz datos raster.
Extensiones de Django ORM para consultas y manipulaciones de datos espaciales.
Las interfaces de Python están ligeramente vinculadas y son de alto nivel para operaciones geométricas de SIG y matrices, y para la manipulación de datos en varios formatos.
Django Rest Framework
Tom Christie. Django REST framework (DRF) es una de las apps de tercero más usadas en Django para la liberación de una API REST.
Recientemente se ha liberado la versión 3 de esta librería soportada principalmente por Tom Christie. Esta versión incluye muchas novedades y suponen un salto de calidad y de madurez en la herramienta.
GeoJson geojson.org GeoJSON Es un formato estándar abierto diseñado para representar elementos geográficos sencillos, junto con sus atributos no espaciales, basado en JavaScript Object Notation (JSON). El formato es ampliamente utilizado en aplicaciones de cartografía en entornos web al permitir el intercambio de datos de manera rápida, ligera y sencilla.
JavaScript Netscape
Communications Corp
JavaScript es un lenguaje de programación interpretado, dialecto del estándar ECMAScript. Se define como orientado a objetos, basado en prototipos, imperativo, débilmente tipado y dinámico.
Se utiliza principalmente en su forma del lado del cliente (client-side), implementado como parte de un navegador web permitiendo mejoras en la interfaz de usuario y páginas web dinámicas.
ECMAScript 6 Sun
Microsystems,
ECMAScript es una especificación de lenguaje de programación publicada por ECMA International. El