GESTIÓN DE SUCESOS INESPERADOS EN LOS … · ciudad, a través de una solución tecnológica web,...
Transcript of GESTIÓN DE SUCESOS INESPERADOS EN LOS … · ciudad, a través de una solución tecnológica web,...
GESTIÓN DE SUCESOS INESPERADOS EN LOS ESPACIOS DE
VIDA DE LA COMUNIDAD PARA LA CIUDAD DE AMBATO.
Ing. Freddy Baño Naranjo
Ing. Holguer Sanchez Barreno
Ambato – Ecuador
2015
TITULO
GESTIÓN DE SUCESOS INESPERADOS EN LOS ESPACIOS DE VIDA DE LA
COMUNIDAD PARA LA CIUDAD DE AMBATO
Resumen
La investigación comprende la gestión de incidencias de los espacios de vida de la
ciudad, a través de una solución tecnológica web, desplegable en dispositivos móviles,
diseñada para apoyar la calidad de vida y asistir a los habitantes de la ciudad de
Ambato.
Para el presente proyecto se parte del hecho en que la tecnología posibilita la
participación de la ciudadanía en la gestión de los bienes que forman parte de los
espacios de vida, como son parques, redondeles, alumbrado público entre otros.
La dificultad en la comunicación causada principalmente por el aislamiento de
información en cada organismo de gestión de bienes y servicios básicos, provoca que
los usuarios no conozcan sobre el proceso de denuncia o si bien su petición fue
acogida por el organismo de control o el estado actual de cada requerimiento.
Como alternativa de solución se planteó una aplicación para dispositivos móviles que
permita generar denuncias de los incidentes en los espacios de vida de la comunidad.
La aplicación cuenta con referencia miento geo localizado, lo que facilitara la ubicación
de los incidentes, a más de ello su sección de administración permitirá variar el estado
de los incidentes y el seguimiento del mismo por parte del usuario que la denuncio.
Palabras Clave: Android, Aplicación Web, Espacios de vida, Dispositivos móviles,
Sucesos inesperados.
Introducción.
Las pequeñas y medianas empresas eligen optimizar los recursos por medio de la
implementación del sistema de automatización de procesos de gestión, ya que dichos
sistemas son efectivos y aportan beneficios para las instituciones. El sistema obtendrá
información real de los sucesos que se presenten en los espacios de vida permitiendo
el seguimiento e información a los distintos estamentos que tienen la competencias
sobre dichos sucesos en la cuidad de Ambato. Por lo que el constante adelanto
tecnológico y científico exige a las instituciones adoptar nuevas formas de procesar la
información mediante mecanismos de acceso múltiple o medios modernos como los
dispositivos móviles, que hacen que la información se traslade en el menor tiempo
posible, hacia su destino en cualquier instante acceso a información al alcance de las
manos.
Con el uso de tecnología móvil, el sistema tiene la ventaja de realizar la actualización
y consulta de información en tiempo real, hacia la base de datos del sistema de forma
directa, lo cual agiliza las actividades de los sucesos que pueden ocasionarse
permitiendo a los usuarios reportarlos en tiempos mínimos.
La aplicación web se encarga de la parte funcional del sistema mediante la integración
de la lógica del negocio, ingreso de datos a la base de datos, consultas generación de
reportes, incidencias, sucesos, estados, seguimiento en línea, creación de usuarios, y
toda la administración del sistema.
Sistemas de Información
Un sistema de información es un conjunto de elementos que interactúan entre sí con
el fin de apoyar las actividades de una empresa o negocio. Dichos elementos se
constituyen por el equipo computacional, el hardware necesario para que el sistema
de información pueda operar. El recurso humano que interactúa con el sistema de
Apache Server
PostgreSQL
Logica de negocio
PETICION
RESPUESTA
RED
información, el cual está formado por las personas que utilizan el sistema. (Peralta M.
, 2013).
En este marco general, la ingeniería informática se ocupa de los sistemas de
información automatizados que procesan información utilizada en la gestión de una
organización y que combinan componentes de toma de decisiones y de tratamiento de
transacciones de dichas organizaciones. Así en los límites establecidos para el sistema
de información los decisores deberán ser capaces de aprovechar los datos que entran
en el sistema a través del procesamiento de transacciones y las decisiones resultantes
deberán implementarse a través del subsiguiente tratamiento de transacciones.
(Peralta M., 2013).
Arquitectura Cliente Servidor.
Desde el punto de vista funcional, se puede definir la computación cliente/servidor
como una arquitectura distribuida que permite a los usuarios finales obtener acceso a
la información en forma transparente aún en entornos multiplataforma. (Selaya, 2012).
En el modelo cliente servidor, el cliente envía un mensaje solicitando un determinado
servicio a un servidor (hace una petición), y este envía uno o varios mensajes con la
respuesta (provee el servicio) (ver figura 1). En un sistema distribuido cada máquina
puede cumplir el rol de servidor para algunas tareas y el rol de cliente para otras. Dicha
arquitectura permite distribuir físicamente los procesos y los datos en forma más
eficiente lo que en computación distribuida afecta directamente el tráfico de la red,
reduciéndolo grandemente. (Peralta A. , 2011).
Figura: 1 Modelo cliente servidor
Fuente: (Peralta A. , 2011)
Se puede dar la combinación de un cliente que interactúa con el usuario, y un servidor
que interactúa con los recursos compartidos. El proceso del cliente proporciona la
interfaz entre el usuario y el resto del sistema. El proceso del servidor actúa como un
motor de software que maneja recursos compartidos tales como bases de datos,
impresoras, módems.
Herramientas de Desarrollo
Html5
HTML5 (HyperText Markup Language, versión 5) es la quinta revisión importante del
lenguaje básico de la World Wide Web, el HTML. HTML5 especifica dos variantes de
sintaxis para HTML: un «clásico» HTML (text/html), la variante conocida como HTML5
y una variante XHTML conocida como sintaxis XHTML5 que deberá ser servida como
XML.1.2 Esta es la primera vez que HTML y XHTML se han desarrollado en paralelo.
(html5, 2014)
Al no ser reconocido en viejas versiones de navegadores por sus nuevas etiquetas, se
recomienda al usuario común actualizar a la versión más nueva, para poder disfrutar
de todo el potencial que provee HTML5. (html5, 2014)
MySql
MySql, es un gestor de almacenamiento de todo tipo de información que la ordena de
forma estructurada para su posterior tratamiento y recuperación por parte de los
usuarios. (MySQL, 2011)
Gestor de base de datos: Una base de datos es un conjunto de datos y un gestor
de base de datos es una aplicación capaz de manejar este conjunto de datos
de manera eficiente y cómoda.
Base de datos relacional: Una base de datos relacional es un conjunto de datos
que están almacenados en tablas entre las cuales se establecen unas
relaciones para manejar los datos de una forma eficiente y segura. Para usar y
gestionar una base de datos relacional se usa el lenguaje estándar de
programación SQL.
Open Source: El código fuente de MySQL se puede descargar y está accesible
a cualquiera, por otra parte, usa la licencia GPL para aplicaciones no
comerciales.
Es una base de datos muy rápida, segura y fácil de usar. Gracias a la colaboración de
muchos usuarios, la base de datos se ha ido mejorando optimizándose en velocidad.
Por eso es una de las bases de datos más usadas en Internet. MySql se caracteriza
por ser un potente motor de almacenamiento y de gran compatibilidad con lenguajes
de código abierto fundamentalmente con PHP. (MySQL, 2011)
El principal objetivo de MySQL es velocidad y robustez.
Soporta gran cantidad de tipos de datos para las columnas.
Gran portabilidad entre sistemas, puede trabajar en distintas plataformas y
sistemas operativos.
Cada base de datos cuenta con 3 archivos: Uno de estructura, uno de datos y
uno de índice, soporta hasta 32 índices por tabla.
Aprovecha la potencia de sistemas multiproceso, gracias a su implementación
multihilo.
Flexible sistema de contraseñas (passwords) y gestión de usuarios, con un muy
buen nivel de seguridad en los datos.
El servidor soporta mensajes de error en distintas lenguas (Ayala, 2013)
Ventajas
Velocidad al realizar las operaciones, lo que le hace uno de los gestores con
mejor rendimiento.
Bajo costo en requerimientos para la elaboración de bases de datos, ya que
debido a su bajo consumo puede ser ejecutado en una máquina con escasos
recursos sin ningún problema.
Facilidad de configuración e instalación.
Soporta gran variedad de Sistemas Operativos
Baja probabilidad de corromper datos, incluso si los errores no se producen en
el propio gestor, sino en el sistema en el que está.
Conectividad y seguridad (MySQL, 2011)
Lenguaje de programación PHP
La plataforma de desarrollo web PHP (Hypertext Pre-processor) es el nombre de un
lenguaje de programación muy potente que, junto con html, permite crear sitios web
dinámicos. Php se instala en el servidor y funciona con versiones de Apache, Microsoft
IIS, Netscape Enterprise Server y otros.
La forma de usar php es insertando código php dentro del código html de un sitio web.
Cuando un cliente (cualquier persona en la web) visita la página web que contiene éste
código, el servidor lo ejecuta y el cliente sólo recibe el resultado. Su ejecución, es por
tanto en el servidor, a diferencia de otros lenguajes de programación que se ejecutan
en el navegador. Puede ser ejecutado en la mayoría de los sistemas operativos
(Windows, Mac OS, Linux, Unix).
Al ser un lenguaje libre, dispone de una gran cantidad de características ideal
para la creación de páginas web dinámicas.
Soporte para una gran cantidad de bases de datos PostgreSQL, MysSQL,
SybasemSQL, Informix entre otras.
Gracias a su integración con varias bibliotecas externas, permite generar
documentos en PDF.
PHP goza de la ayuda de un gran grupo de programadores, permitiendo que
los fallos de funcionamiento se encuentren y reparen rápidamente.
El código se pone al día continuamente con mejoras y extensiones de lenguaje
para ampliar las capacidades de PHP
Con PHP se puede hacer cualquier cosa que podemos realizar con un script
CGI, como el procesamiento de información en formularios, foros de discusión,
manipulación de cookies y páginas dinámicas.
Arquitectura MVC
El patrón de diseño (de software) MVC se encarga de separar la lógica de negocio de
la interfaz de usuario y es el más utilizado en aplicaciones web, frameworks, entre
otros, ya que facilita la funcionalidad, mantenibilidad, y escalabilidad del sistema, de
forma cómoda y sencilla, a la vez que ayuda no mezclar diferentes funciones de la
aplicación en el mismo código, el conocido “código espagueti”. (Bahit, 2013)
MVC divide las aplicaciones en tres niveles de abstracción:
1. Modelo: es la lógica de negocios. Es decir las clases y métodos que se
comunican directamente con la base de datos.
2. Vista: es la encargada de mostrar la información al usuario, de forma gráfica y
legible.
3. Controlador: el intermediario entre la vista y el modelo, se encarga de
controlar las interacciones del usuario en la vista, pide los datos al modelo y
los devuelve de nuevo a la vista para que esta los muestre al usuario. Es decir
las llamadas a clases y métodos, y los datos recibidos de formularios. (Bahit,
2013).
Figura: 2
Funcionamiento del patrón modelo-vista-controlador
Fuente: (Bahit, 2013)
jQuery
JQuery es una biblioteca de JavaScript, creada inicialmente por John Resig, que
permite simplificar la manera de interactuar con los documentos HTML, manipular el
árbol DOM, manejar eventos, desarrollar animaciones y agregar interacción con la
técnica AJAX a páginas web. Fue presentada el 14 de enero de 2006 en el BarCamp
NYC. jQuery es la biblioteca de JavaScript más utilizada.
Query es software libre y de código abierto, posee un doble licenciamiento bajo la
Licencia MIT y la Licencia Pública General de GNU v2, permitiendo su uso en
proyectos libres y privados. jQuery, al igual que otras bibliotecas, ofrece una serie de
funcionalidades basadas en JavaScript que de otra manera requerirían de mucho más
código, es decir, con las funciones propias de esta biblioteca se logran grandes
resultados en menos tiempo y espacio. (Cochran, 2012)
jQuery mobil
JQuery Mobile es un marco de trabajo magnífico para escribir las aplicaciones web
móviles. Construido encima del popular jQuery y de la interfaz del usuario jQuery,
jQuery Mobile es un marco de trabajo efectivo y unificado para escribir aplicaciones
web móvil. Con jQuery Mobile puede garantizar una apariencia y un comportamiento
consistente a través de las diferentes plataformas móviles. Las características básicas
de jQuery Mobile incluyen:
Simplicidad y flexibilidad general
Su marco de trabajo es simple de usar. Puede:
Desarrollar páginas utilizando principalmente marcas con un mínimo o sin
JavaScript.
Utilizar JavaScript avanzado y eventos.
Utilizar un solo documento HTML con varias páginas incluidas.
Separar su aplicación en varias páginas.
Mejoras progresivas y degradación natural
Mientras que jQuery Mobile nivela los últimos HTML5, CSS 3 y JavaScript, no todos
los dispositivos móviles cuentan con esa compatibilidad. La filosofía de jQuery Mobile
consiste en ser compatible tanto con dispositivos de alta gama como con dispositivos
menos poderosos, como los que no tienen compatibilidad con JavaScript, y aun así
proporcionar la mejor experiencia posible. (Garcia, 2011)
Las características básicas de jQuery Mobile incluyen:
Simplicidad: El framework es simple de usar se puede desarrollar páginas
utilizando principalmente el marcado con escaso código JavaScript.
Mejora progresiva: Mientras jQuery Mobile aprovecha las últimas tecnologías
de HTML5, CSS3 y JavaScript, no todos los dispositivos móviles brindan este
soporte. La filosofía de jQuery Mobile es soportar tanto la gama alta de los
dispositivos, como aquellos que no soportan grandes funcionalidades. Se trata
de proveer la mejor experiencia posible.
Accesibilidad: jQuery Mobile ha sido diseñado pensando en la accesibilidad.
Brinda soporte a las aplicaciones de internet enriquecidas y accesibles
“Accessible Rich Internet Applications” (WAI-ARIA) para ayudar a hacer páginas
web más accesibles a los visitantes con discapacidad que usen tecnologías de
asistencia.
Tamaño pequeño: El tamaño total de jQuery Mobile framework es relativamente
pequeño. Unos 12kb de la biblioteca JavaScript, 6kb de CSS y algunos íconos.
Tematización: El framework también proporciona un sistema de temas que
ofrece una aplicación a estilos propios. El marco de trabajo de jQuery incluye
todos los componentes de la interfaz del usuario necesarios para desarrollar
aplicaciones móviles y sitios web móviles completos: páginas, diálogos, barras
de herramientas, diferentes tipos de listas de elementos, una variedad de
elementos de formato, botones y demás.
La herramienta jQuery Mobile permiten el acceso a las instalaciones claves, incluidas,
acción y manipulación del modelo del objeto del documento HTML y XML (DOM);
manipulación de eventos; comunicación con el servidor a través de Ajax; y animación
y efectos de imagen para las páginas web. (Garcia, 2011)
PhoneGap
PhoneGap, framework OpenSource adquirido recientemente por Adobe, permite crear
aplicaciones en un código estándar HTML 5 capaz de ser ejecutado nativamente en
los diferentes sistemas operativos móviles del mercado. PhoneGap cubre el diseño de
interfaces de usuario mediante HTML y CSS.
A la vez que encapsula las características nativas de los terminales móviles
haciéndolas accesibles por JavaScript. La filosofía se deriva en unificar el desarrollo
para los distintos terminales móviles, abstrayendo al desarrollador de la programación
nativa específica para cada uno de ellos. (Hispano, 2012)
Figura: 3 Aplicación con PhoneGap
Fuente: (Hispano, 2012)
PhoneGap permite controlar los siguientes elementos de hardware incluidos en la
mayoría de dispositivos móviles smartphone, se pueden elegir cualquier entorno de
desarrollo propias de cada plataforma que soportan, para el proyecto propuesto de
determinado como lenguaje de desarrollo PHP, Jqueri Móvil, (Hispano, 2012).
PhoneGap maneja API que permiten tener acceso a elementos como el acelerómetro,
la cámara, los contactos en el dispositivo, la red, el almacenamiento, las notificaciones,
etc. Estas API se conectan al sistema operativo usando el código nativo del sistema
huésped a través de una interfaz de funciones foráneas en Javascript. PhoneGap
permite el desarrollo ya sea ejecutando las aplicaciones en el navegador web, sin tener
que utilizar un simulador dedicado a esta tarea, y brinda la posibilidad de soportar
funciones sobre frameworks como Sencha Touch o JQuery Mobile. (Zárate, 2013)
Espacios de vida
Definición
Se llama espacio de vida o espacio de convivencia, al lugar donde cualquier persona
tiene el derecho a circular, en paz y armonía, donde el paso no puede ser restringido
por criterios de propiedad privada, y excepcionalmente por reserva gubernamental.
Por lo tanto, espacio de vida es aquel espacio de propiedad pública, dominio y uso
público.
En el aspecto legal, podemos decir que el espacio de vida moderno proviene de la
separación formal entre la propiedad privada urbana y la propiedad pública. Tal
separación normalmente implica reservar desde el planeamiento, suelo libre de
construcciones (excepto equipamientos colectivos y servicios públicos) para usos
sociales característicos de la vida urbana (esparcimiento, actos colectivos, transporte,
actividades culturales y a veces comerciales, etc.).
Desde una aproximación jurídica, podemos definirlo como un espacio sometido a una
regulación específica por parte de la administración pública, propietaria o que posee
la facultad de dominio del suelo, que garantiza su accesibilidad a todos los ciudadanos
y fija las condiciones de su utilización y de instalación de actividades. (Borja, 2014)
Métodos y Herramientas
El presente proyecto se enmarca en investigación aplicada, ya que automatiza
procesos para determinar la gestión de incidencia de los espacios de vida, se aplicó la
metodología cuantitativa y cualitativa con el uso de estadística, técnicas e instrumentos
propios de la investigación científica lo que permitio determinar e idear una solución a
la problemática existente.
Tipo de Investigación
El tipo de investigación aplicada permitió una reseña, rasgos, cualidades y atributos
de la automatización de procesos que se dan en los espacios de vida que permiten el
desarrollo y construcción de una solución web acorde a los requerimientos de la
institución.
La investigación bibliográfica permitió evidenciar conceptos y definiciones
relacionadas con el objeto de estudio que son los procesos y gestión de los espacios
de vida, servicios, permitiendo determinar variables e indicadores necesarias para el
diagnóstico situacional del mismo.
Resultados
Metodología de Desarrollo de Software
Para la implementación de la solución al problema planteado se utilizo la metodología
XP (eXtreme Programing), a través de la cual se contempla los requisitos del sistema
necesarios obtenidos mediante la observación y en base a la experticia de los
proponentes, considerando esto como especificaciones del cliente. Las fases de
desarrollo serán:
1ª Fase: Planificación del proyecto.
2ª Fase: Diseño.
3ª Fase: Codificación
4ª Fase: Pruebas.
Lista de riesgos
En el desarrollo del sistema propuesto se evalúan las interacciones del sistema que se
documentan y clasifican según su dimensión de mayor a menor riesgo de desarrollo.
En el desarrollo y ejecución del proyecto está asociado implícitamente un riesgo que
está marcado por acciones que generalmente involucran cambios que se describen a
continuación.
FECHA VERSIÓN DESCRIPCIÓN AUTOR
07-01-2015 1.0 Riesgos de la
fase de inicio
Holguer
Sánchez
Freddy Baño
ID Riesgo Expresión Probabilidad
RI-01 Error de estimación del
presupuesto
Alto 7
RI-02 Políticas de gestión Bajo 2
RI-03 Tiempos de entrega versión
.01
Medio 6
RI-04 Error de levantamiento de
requerimientos
Alto 8
RI-05 Equipo de desarrollo sin
experiencia
Alto 6
RI-06 Falta de Comunicación con el
equipo de desarrollo e
involucrados
Medio 5
RI-07 Desconocimiento en el
manejo de herramientas de
desarrollo
Alto 7
Tabla 1: Lista de riesgos del proyecto
Fuente: Autores
Requerimientos Funcionales
La aplicación debe manejar un esquema de seguridad mediante autentificación
de usuario
El acceso de la aplicación está limitada según el rol determinado para cada
usuario.
El sistema manejara tipos de usuarios definidos por la gerencia de la empresa.
La aplicación maneja una arquitectura cliente servidor
Aplicación se debe ejecutar en entorno web y aplicación móvil
La aplicación cliente se ejecutará en un browser
El desarrollo se lo realizará mediante (Modelo-Vista-Controlador)
Arquitectura tres capas (Datos-lógica de negocio- presentación)
Diseño modular (Front-end -Back - end)
La aplicación debe cumplir con los requisitos definidos por la institución y el
desarrollador
La aplicación web debe ejecutarse independientemente de la plataforma.
La aplicación móvil está orientada para Android
La solución emplaza los procesos manuales mediante la automatización de la
gestión académica.
La ejecución de la aplicación debe garantizar una ejecución bajo el esquema 7-
24-365, con un estimado de recuperación de 02%
Requisitos no funcionales
Seguridad.- La información del sistema VitalGeo será administrada y gestionada
únicamente por el Administrador.
Fiabilidad.- Se trabajara con un margen de 95% de soporte a fallos, con esto se indica
que el sistema tiene mínimo porcentaje de fallos y por lo tanto se garantiza su fiabilidad.
Disponibilidad.- El sistema se ejecuta independientemente de la plataforma bajo el
esquema 7/24/365.
Portabilidad.- La aplicación web no es portable ya que está desarrollada con
herramientas de servidor libres y versiones específicas para la aplicación informática
propuesta.
Propósito
El documento tiene como finalidad determinar los requisitos del proyecto para el
desarrollo de un sistema acorde a las necesidades y requerimientos determinados.
Alcance
Aplicación web para gestión de sucesos inesperados en los espacios de vida de la
ciudad de Ambato sobre dispositivos móviles en una arquitectura multiplataforma.
Vista general del producto
Está considerada una vista de las funciones del sistema de alto nivel de las
interacciones del sistema con la aplicación.
A continuación se define las vistas del producto y de la interacción entre los
componentes y módulos de la aplicación en base al modelo de desarrollo propuesto
MVC
FLUJO DE TAREAS MVC
USUARIO WEB
Index.php
Aplicación request
controlador
acciones
plantilla librerias
vista
helpers
modelosPDO
PHP Data ObjectCIModelBase
MYSQL
Figura: 4.- Vista general del producto
Fuente: Los Autores
Restricciones de la Aplicación
La solución informática tiene las siguientes restricciones que se deben tomar en cuenta
y considerar en la implantación del sistema
Metodología de desarrollo XP
Gestor de base de datos MySql
Programación .PHP
Framework PhoneGap, Jqueri Movil
Servidor de aplicaciones Apache
Explorador optimizado Mozilla
No contempla almacenamiento distribuido
Rasgos de calidad del sistema
La solución informática está definida en las buenas prácticas de la metodología de
programación extrema Xp.
XP incorpora el desarrollo ágil en base a fases de construcción de la aplicación con
parámetros de calidad propios de ingeniería de sofware.
Diseño y arquitectura del sistema
Definición de los procesos
Considerando que los habitantes requieren notificar sobre las incidencias que se
presentan en los espacios de vida se define el proceso de la siguiente forma:
REQUEST
VISTAS
CONTROLADOR
6
1
2
5 4 3
MODELO
USUARIO
INICIO
VERIFICAR
USURIO
SI/NO
GEOCIUDADNO
GESTION DE USUARIOS
ROLES DE USUARIOS
PANEL DE CONTROL GESTION DE EVENTOS
TIPO DE EVENTO
SEGUIMIENTO
EVENTOS USUARIO
COMENTARIOS
SEGUIMIENTO
EVENTO USUARIOS OBRAS
AVANCE OBRA
ENCARGADO
ISTITUCIÓN
FIN
Figura: 5.- Definición del proceso
Fuente: Los Autores
Modelo de Desarrollo
Al tratarse de una aplicación web la arquitectura que maneja es cliente servidor tres
capas en cuanto a la arquitectura de programación está orientada bajo el modelo-Vista
– Controlador (MVC) MODELO: Presenta la información que maneja el sistema (Lógica
del negocio). VISTA: Realiza la trasformación del modelo en una página web que
interactúa con el usuario. CONTROLADOR: Procesa la información mediante
interacciones del usuario y realiza los cambios requeridos para el modelo en la vista.
Gráfico: 64 Modelo de desarrollo de la aplicación
Fuente: Los Autores
uc Primary Use Cases
VitalGeo
Gestión de Ev entos
Admisitrador
Descripción lógica del acceso de
los usuarios al sistema VitalGeo
Gestión de Usuarios
Ev entos de Usuario Usuario
Usuario Móv il
Roles de Usuario
Tipo de Ev ento
Seguimiento
Encargado
Institución
Obra Av ance Obra
Comentarios
«invokes»
«invokes»
«invokes»
«invokes»
«invokes»
«invokes»
Definición de los Diagramas de Casos de Uso
Los casos de uso permiten una secuencia de transacciones que desarrolla el sistema
en base a una respuesta o evento que inicia los usuarios sobre el sistema.
Figura: 7 .- Diagrama de casos de uso
Fuente: Los Autores
Modelo de Base de Datos
La base de datos está desarrollada con la herramienta Data Architec V.16 que facilita
la construcción del modelo de datos asociados a los casos de uso de la aplicación.
Figura: 8.- Modelo de base de datos
Fuente: Los Autores
PRESENTACIONLÒGICA DEL
NEGOCIOBDD
SERVICIOSICareGiving
Conector
ICommunications
IReservation
PRESENTACION
MOVIL
User
DINFRAANDROID
SERV APLICACION
SERV BDD
CLIENTE
WEB
CLIENTE
MÒVIL
INTERNET
Modelo de Componentes
La figura muestra la intención del modelo de desarrollo con cada uno de los
componentes y capas que la aplicación comprende tres capas.
Figura: 9.- Modelo de componentes
Fuente: Los Autores
Modelo de Despliegue de la Aplicación
Desde el punto de vista del cliente el diagrama muestra la funcionalidad física con
cada uno de los servidores que la aplicación comprende.
Figura: 10.- 5 Modelo de despliegue de la aplicación
Fuente: Los Autores
Fase de Construcción
En la fase de construcción provee de una versión inicial del sistema de gestión de
incidencias de los espacios de vida que describe una visión global del desarrollo de la
aplicación. La metodología de desarrollo que guia la construcción extrema XP, que
permite el detalle de cada una de las fases del proceso de construcción del sistema.
Funcionamiento de la aplicación
Características del producto.
USUARIOS
o USUARIOS: Permite la creación de los usuarios de la
aplicación posee controles estándar (Agregar – editar –
eliminar)
o Roles/Privilegios: maneja los roles de los usuarios los
mismos que se asignan los privilegios a los módulos y
secciones de los mismos de forma interna
PANEL DE
CONTROL
NACIONALIDAD: Permite configurar los parámetros para
generar los eventos.
TIPO IDENTIFICACIÓN: Permite presentar el tipo de
documento con el que realizara los eventos los usuarios:
TIPO INSTITUCIÓN: Permite generar la incidencia a la
institución que corresponda.
TIPO DE EVENTO: Permite establecer los tipos de
eventos que maneja el sistema según la incidencia.
En el módulo y secciones de los mismos se manejan
controles estándar (Agregar – editar –eliminar )
MIS EVENTOS: permite visualizar los eventos creados por
el usuario dentro del sistema
MIS EVENTOS En el módulo y secciones de los mismos se manejan
controles estándar (Agregar – editar –eliminar )
GESTIÓN
EVENTOS
EVENTOS: permite el seguimiento de los eventos,
asignación de obras personal encargado e institución a la
que fue dirigida la incidencia
En el módulo y secciones de los mismos se manejan
controles estándar (Agregar – editar –eliminar )
APLICACIÓN
MÓVIL
POSICIONAR PUNTOS GPS. Permite crear nuevo evento
con imágenes desde el teléfono
Sincronización de evento con imágenes al servidor
principal
En el módulo y secciones de los mismos se manejan
controles estándar (Agregar – editar –eliminar )
APK VITALGEO Permite la descarga de la aplicación móvil
REPORTES
Reportes: Permite generar los reportes y salidas de
información en formato digital o impreso
Tabla 2: Características del producto
Fuente: Los Autores
Requisitos del Sistema
Número de requisito RF1
Nombre de requisito Login
Tipo Requisito Restricción
Fuente del requisito Administrador del sistema
Prioridad del requisito
Alta/Esencial
Deseado Baja
Número de requisito RF2
Nombre de requisito Usuarios
Tipo Requisito Restricción
Fuente del requisito Administrador del sistema
Prioridad del requisito Alta/Esencial Deseado Baja
Número de requisito RF3
Nombre de requisito Panel de control:
Tipo Requisito Restricción
Fuente del requisito Administrador del sistema
Prioridad del requisito Alta/Esencial Deseado Baja
Número de requisito RF4
Nombre de requisito Tipo de identificación:
Tipo Requisito Restricción
Fuente del requisito Administrador del sistema
Prioridad del requisito Alta/Esencial Deseado Baja
Tabla 3: Requisitos del sistema
Fuente: Los Autores
Por motivos de espacio no se despliega los demás Requisitos Funcionales.
Codificación de la aplicación
Figura:11 Ingreso al sistema - web
Fuente: Los Autores
Figura: 12: Gestión de eventos - web
Fuente: Los Autores
Figura:13 Clase controlador inicio
Fuente: Holguer Sánchez
<?php class inicio extends CI_Controller{ public function index(){ } public function validausuario(){} public function cerrarsesion(){ } public function miseventos(){ } public function getEvento(){ } public function registro(){ } public function guardarcomentario(){ } }
Suposiciones y Restricciones
Las restricciones respecto al diseño, desarrollo e implementación del sistema de
gestión de incidencias de los espacios de vida de la cuidad de Ambato.
Metodología de desarrollo XP
Arquitectura cliente servidor 3 capas
Integración a dispositivos móviles a través de PhoneGap.
class System
CI_Controller
inicio
+ cerrarsesion() : var
+ getEvento() : var
+ guardarcomentario() : var
+ index() : var
+ miseventos() : var
+ registro() : var
+ validausuario() : var
Framework de desarrollo CodeIngniter.
Interfaz clientes Bootstrap y jQuery Mobile
Gestor de base de datos MySql v 5
Acceso a la aplicación mediante browser
Implementación y Pruebas
Objetivo
Desarrollar los escenarios operacionales de las pruebas necesarias con la finalidad de
verificar el funcionamiento, despliegue carga de datos y transacciones necesarias que
el sistema debe realizar y soportar.
Estrategias de aplicación de las pruebas
Contemplan el procedimiento de ejecución de las pruebas, consideraciones de
carácter técnico operacionales de cada uno de las funciones de la aplicación.
Pruebas Funcionales.
COMPONENT
E
REGISTRAR
USUARIOS
REQUISITO CDU02-RF02
AUTOR Holguer Sánchez REVISADO
POR
ING. Freddy Baño
ORD FECH
A
RAZÓN DE
DESARROLLO O
CAMBIO
RUTA PROYECTO
DINFRAAND
ROID
VE
R.
1 01/11/
2014
Versión inicial del
proyecto
S C:/xampp/htd
ocs
ACCESO
USUARIO
1.0
2 03/11/
2014
Creación tablas en
la bdd
S C:/xampp/htd
ocs
1.0
3 05/11/
2014
Definición de roles
en la estructura de
la bdd
S C:/xampp/htd
ocs
1.0
4 07/11/
2014
Pruebas
funcionales
S Pruebas.imb.
msp.ec/
1.0
Tabla 5: Pruebas funcionales
Fuente: Los Autores
3.1.1. Pruebas de interfaz
Objetivo: Navegabilidad entre los objetos de prueba que reflejen la
funcionabilidad del mismo.
Los controles de formularios botones, íconos, filtros deben
estar estandarizados según requerimientos de formularios
Descripción de la
prueba:
La verificación de las interfaces según la acción realizada,
despliegue la información y comportamientos requeridos.
Técnicas Los usuarios que interactúan con el sistema ejecutan las
actividades a estos encaminados por el sistema para
comprobar el funcionamiento del mismo.
Criterio de
completitud
Se establece un período de pruebas, en el que los errores
detectados no sean clasificados como críticos para el sistema.
Consideraciones
especiales
Se debe establecer el mecanismo de comunicación entre los
usuarios y los desarrolladores para que los errores que se
detecten puedan ser solucionados.
Tabla 6: Pruebas de interfaz
Fuente: Los Usuarios
3.1.2. Pruebas de sistema
Objetivo: Permite la navegación y funcionamiento del sistema
mediante transacciones desde la interfaz a la BD y
viceversa procesando y recuperando la información
requerida por los usuarios
Técnica: Ejecute cada caso de uso, flujo básico o función utilizando
datos válidos e inválidos, para verificar que:
1. Los resultados esperados ocurren cuando se utiliza un
dato válido.
2. Los mensajes de error o de advertencia aparecen en el
momento adecuado, cuando se utiliza un dato inválido.
3. Cada regla de negocios es aplicada adecuadamente.
Criterio de
completitud
1. Todas las pruebas planeadas han sido ejecutadas.
2. Todos los defectos que se identificaron han sido tenidos
en cuenta.
Consideraciones
especiales
Considerar aspectos que impactan la implementación y
ejecución de las pruebas del Sistema
Tabla 7: Pruebas de sistema
Fuente: Los usuarios
3.1.3. Pruebas de integración de datos
Objetivo: Asegurar la integridad de datos
Técnica: 1. Registrar datos con tipos válidos.
2. Registrar datos en entidad que tengan relación con
otras.
3. Revisar el esquema de base de datos para
asegurarse que los datos se han guardado
satisfactoriamente y de acuerdo a los estándares
definidos.
Criterio de completitud 1. Todos los métodos de acceso y procesos de la Base
de datos funcionan como fueron diseñados.
Consideraciones
especiales
4. Se debe utilizar un conjunto pequeño de datos para
incrementar la visibilidad de cualquier evento anormal o
inesperado.
5. Los datos de pruebas deberían ser reales y de uso
común.
Tabla 8: Pruebas de datos
Fuente: Los usuarios
Conclusiones
Los espacios de vida son un factor importante para la convivencia dentro de la
comunidad, su mantenimiento, difusión y control es imperativo tanto para la
población en general como para las autoridades y medios de comunicación.
La tecnología móvil ha evolucionado en gran magnitud a través de las
telecomunicaciones acercándonos más a los proveedores de servicios o
medios de comunicaciones ya sea para hacer consultas, denuncias y en
algunos casos tramites, por lo acotado anteriormente VitalGeo será una
herramienta importante para la comunidad ambateña.
Los resultados obtenidos luego de implantar el sistema usuarios fueron
inmejorables en cuanto a su utilización ya que su interfaz muestra un entorno
amigable, sencillo y de fácil manipulación, apoyando de su respectivo manual
de usuario y técnico.
Finalmente en el desarrollo de este proyecto se aplica de manera correcta las
metodologías de desarrollo de software y las normativas de documentación de
software.
Referencias
Ayala, J. M. (15 de Diciembre de 2013). MYSQL. Obtenido de
http://www.gridmorelos.uaem.mx/~mcruz//cursos/miic/MySQL.pdf
Bahit, E. (2013). POO y MVC en PHP. Español: Creative Commons Atribución.
Borja, J. (24 de Octubre de 2014). Revolución urbana y derechos ciudadanos.
Obtenido de http://es.wikipedia.org/wiki/Espacio_p%C3%BAblico
Cochran, D. (12 de Noviembre de 2012). Bootstrap. Obtenido de
http://es.wikipedia.org/wiki/Twitter_Bootstrap
Garcia, C. (4 de Febreo de 2011). Introducción a jQuery Mobile. Obtenido de
http://www.baluart.net/articulo/introduccion-a-jquery-mobile
Hispano, J. (9 de Febreo de 2012). Diseñando aplicaciones multi-plataforma en HTML
con PhoneGap. Obtenido de
http://www.javahispano.org/android/2012/2/9/diseando-aplicaciones-multi-
plataforma-en-html-con-phonegap.html
html5. (2014). HTML5. Obtenido de http://es.wikipedia.org/wiki/HTML5
MASadelante. (s.f.). masadelante.com. Recuperado el 12 de Septiembre de 2012, de
http://www.masadelante.com/faqs/php
MySQL, R. (2011). MySQL 5.0 Reference Manual. Obtenido de downloads.mysql:
http://downloads.mysql.com/docs/refman-5.0-es.pdf
Peralta, A. (2011). Sistemas de información.
Peralta, M. (Abril de 2013). Sistemas de gestion . Obtenido de
http://www.monografias.com/trabajos7/sisinf/sisinf.shtml
Universidad Nacional , d. (2012). Estatuto de Espacio Público. Obtenido de Estatuto
de Espacio Público:
http://www.idea.palmira.unal.edu.co/paginas/proyectos/paginas/cartilla/10.pdf
Zárate, I. O. (31 de Enero de 2013). Una docena de razones para utilizar PhoneGap
en el desarrollo de aplicaciones para dispositivos móviles. Obtenido de
http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=660