Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tutor:
_______________________________
_______________________________
_______________________________
_____________________________
Firma de Tutor
_____________________________
Firma del Jurado
3
AGRADECIMIENTOS
A todas las personas que participaron e hicieron posible este proyecto. Muchas
gracias por su apoyo, conocimientos y enseñanzas, a la maestra Sonia Alexandra
Pinzón Núñez.
4
DEDICATORIAS
Dedico este proyecto a Dios, a los que me apoyaron en algún momento y lo siguen haciendo
desde la distancia, a mis padres quienes son testigos de mis triunfos y mis derrotas, por ultimo
una dedicación especial a estas esas personas que creyeron en mí y me dieron la oportunidad
de hacer lo que verán más adelante.
Dedico este proyecto a Dios, a mis amigos que han estado a mi lado, me han ayudado y
alentado a lo largo de esta carrera y por ultimo a mi familia por el apoyo que siempre me han
dado.
5
TABLA DE CONTENIDO
Pág.
7
4.2. DIAGRAMAS DE COLABORACIÓN ....................................................................... 66
4.3. DIAGRAMAS DE ACTIVIDAD................................................................................. 67
4.4. DIAGRAMAS DE ANÁLISIS.................................................................................... 68
5. FASE DE DISEÑO ........................................................................................................ 69
5.1. LISTA DE CLASES ................................................................................................. 69
5.1.1. Lista de clases aplicación web ............................................................................. 69
5.1.1.1. Lista de clases aplicación móvil ........................................................................ 70
5.1.2. Responsabilidad de clases .................................................................................. 71
5.1.2.1. Responsabilidad de clases aplicación web....................................................... 71
5.1.3. Modelo de interfaz ............................................................................................... 74
5.1.3.1 Modelo de Interfaz Modulo de registro y acceso ............................................... 74
1.1.3.2 Modelo de Interfaz módulo de huecos .......................................................... 75
5.1.3.3 Modelo de Interfaz módulo de usuarios ............................................................ 78
5.1.3.4 Modelo de Interfaz módulo de reportes ............................................................. 79
5.1.4. Mapa de navegación............................................................................................ 80
5.1.4.1. Mapa de navegación aplicación web ................................................................ 80
5.1.5. Modelo de clases ................................................................................................. 83
5.1.5.1. Modelo de clases aplicación web ..................................................................... 83
5.1.5.2. Modelo de clases aplicación móvil ................................................................... 84
5.1.6. Modelo relacional ................................................................................................. 85
5.1.7. DICCIONARIO DE DATOS .................................................................................. 86
6. FASE DE IMPLEMENTACIÓN...................................................................................... 89
6.1. DIAGRAMA DEL SISTEMA .................................................................................... 90
6.2. DIAGRAMA DE COMPONENTES .......................................................................... 92
6.3. DIAGRAMA DE PAQUETES................................................................................... 93
6.4. DIAGRAMA DE DESPLIEGUE ............................................................................... 94
7. FASE DE PRUEBAS..................................................................................................... 95
7.1 PRUEBAS DE SISTEMA DE INTERACCIÓN ............................................................ 95
RECOMENDACIONES ...................................................................................................... 100
CONCLUSIONES ............................................................................................................... 101
BIBLIOGRAFIA .................................................................................................................. 102
REFERENCIAS .................................................................................................................. 104
INFOGRAFIA ..................................................................................................................... 105
ANEXOS ............................................................................................................................ 106
8
LISTA DE ILUSTRACIONES
9
LISTA DE TABLAS
11
RESUMEN
12
ABSTRACT
The development of a distributed application for the reporting of road gaps based on global
positioning coordinates, allows users to notify and see the different gaps (holes) that other
users have previously reported can also access this information in real time, and from
anywhere, giving users the opportunity to interact with the system to prevent traffic accidents
or mechanical damage.
The system models were developed with the Enterprise Architec 10 tool.
HUECAPP, is developed in a set of programming languages, and is compatible with sqlserver,
which is the database engine used for our project. The RUP (Rational Unified Process)
methodology is used, why the time, goals and goals required are used.
13
INTRODUCCION
14
1. FASE DE PLANEACION, DEFINICION Y ORGANIZACIÓN
1.1. TITULO
1.2. TEMA
1.3.1. Descripción
Los problemas con el estado de las carreteras que se construyen también involucra
al parque automotor de la ciudad, como ejemplo se puede ver automóviles de tráfico
pesado circulando de manera constante y masiva por vías en las que solo pueden ir
vehículos medianos y pequeños, con el tiempo estos vehículos pesados fracturan la
capa asfáltica provocando que los huecos existentes aumenten su tamaño.
El otro factor se centra en el poco mantenimiento de las vías que trae como
consecuencia la formación de huecos y cráteres que son potencialmente peligrosos
para los automotores (Carros, motocicletas) causantes de accidentes de tránsito que
cobran la vida de cientos de personas al año, un total de 31.050 accidentes de
15
tránsito, dejando 13.921 lesionados y 172 fallecidos, de estas cifras el 20% se deben
a problemas de infraestructura solo en el año 2015.
Los trabajos de mantenimiento que realizan las empresas de servicios públicos tales
como el agua, el gas o la telefonía obligan a romper las calles en buen estado
mientras se realizan las labores de mantenimiento estas empresas se encargan de
la logística y desvíos para no afectar el tráfico, pero después al momento de dejar la
calle en las condiciones óptimas, no utilizan los materiales óptimos y en la mayoría
de los casos no pavimentan los huecos causados por sus trabajos.
Las estadísticas emitidas por el IDU en el año 2015 donde en solo la malla vial
principal hay un total de 9.305 huecos sin diferenciar su categoría, de los cuales 2.829
son huecos de categoría 1 (huecos inferiores a 0.5 m).
Además, el aumento de huecos en la ciudad lleva a que los automotores sufran daños
en su estructura mecánica causando que las personas se queden varadas en las
calles a la espera de ayuda, ya que en ocasiones estos daños impiden que los
automóviles puedan seguir su marcha. Como consecuencia de esto los tiempos de
movilidad en la ciudad aumentan.
¿Cómo reportar los huecos de la malla vial por medio de una aplicación distribuida
basada en coordenadas de posicionamiento global?
1.4. OBJETIVOS
Diseñar y desarrollar un módulo de gestión que por medio de un mapa unido al GPS
en la aplicación móvil me permita reportar, modificar y eliminar huecos.
16
1.5. JUSTIFICACION
Las calles de Bogotá han tenido por mucho tiempo la problemática de los huecos en
su malla vial, lo que provoca que los automotores que transitan por esta se dañen o
tengan algún tipo de accidente, además que por culpa de estos huecos el conductor
y/o pasajeros pierden tiempo en sus trayectos.
Por otra parte, la aplicación HUECOSMED no permite ver los huecos que otros
usuarios han registrado, tampoco es confiable ya que permite denunciar un hueco
en cualquier parte, sin ninguna restricción, tampoco cuenta con un manejo de perfiles
ni de autenticación perdiendo fiabilidad acercad e quien realizo la denuncia del hueco
y no permitiendo la interacción de datos entre los usuarios.
La aplicación permitirá prevenir que ocurra accidentes en la vía, esto debido a que
al enviar una notificación de alerta cuando se esté cerca de un hueco el usuario
tendrá la opción de esquivar el hueco o escoger otra opción de vía.
1.6. ALCANCES
Para tener un reporte, una estadística más realista ya que el número de huecos en la
ciudad es una cifra inestable será desarrollada una aplicación distribuida como
prototipo la cual será implementada en el barrio San Francisco de la localidad 19 en
Ciudad Bolívar, la cual brindara servicios desde una base de datos a una aplicación
web diseñada para trabajar en un navegador y una en una aplicación para el sistema
operativo Android (api nivel 23).esta aplicación no se encuentra soportada por
ninguna entidad pública ni privada, es un prototipo lanzado por iniciativa propia de los
integrantes que participan en este trabajo de grado y realizado con fines académicos
bajo la modalidad de monografía.
17
En comparación a sus predecesores este proyecto cuenta con un GPS que permitirá
la ubicación en tiempo real a los usuarios que usen la aplicación y conocer de primera
mano la ubicación de los huecos, otro nuevo factor en el desarrollo del proyecto es la
implementación de Android nativo. Teniendo en cuenta de que la idea debe ser
factible, mantenible, sostenible y eficaz en todos los aspectos, se desarrollara bajo el
lenguaje de programación java en el móvil, por el lado del servidor se utilizara
ASP.NET todo esto bajo la persistencia del motor para base de datos SQLSERVER,
por último, en el móvil la persistencia se manejara con la base de datos local SQLite.
Módulo de Reportes
1.7. DELIMITACIONES
Dado que la información mostrada por la aplicación respecto a los huecos se basa
en la información suministrada por los usuarios, esta puede llegar a ser inexacta,
incompleta o no actualizada si se tiene en cuenta que es una red geo social y que
no hay un filtro que se encargue de confirmar la veracidad de los datos.
Las características esenciales de los dispositivos con los cuales se debe hacer uso
de la aplicación distribuida, deberán poseer la mayoría de las tecnologías utilizadas
dentro del desarrollo del sistema.
b. Características mínimas del teléfono móvil, para que se pueda dar uso a la
aplicación distribuida:
La aplicación está dirigida a usuarios que cuenten con automotores tales como carros
o motos y también transeúntes. Pretende que los usuarios reporten la ubicación de
los huecos que se encuentran en la malla vial, los huecos ya reportados con
anterioridad pueden ser visualizados por otros usuarios. Cabe resaltar que la
19
aplicación permitirá clasificar los huecos según su tamaño y por ultimo permitirá
cambiar el estado de los huecos a arreglado si el hueco fue tapado.
20
La aplicación anteriormente citada tiene inconvenientes en el caso de HUECOSMED
permite reportar un hueco sin necesidad de crear un perfil y no muestra los huecos
que están reportados en el mapa. En URBANISMO EN LINEA Y ELHUECO permiten
reportar el hueco y visualizar en el mapa los huecos reportados, pero no generan
notificaciones si el usuario se acerca a un hueco además estas aplicaciones están
fuera de servicio.
Por ultimo esta WAZE la cual tiene para múltiples reportes viales y no es específica
para los huecos por lo que a simple vista en el mapa se puede confundir un reporte
de un hueco con otros reportes de peligro esto debido a que todos los reportes de
peligro tienen el mismo icono en el mapa, otro inconveniente que tiene es que al
reportar un hueco no especifica el tipo de hueco y este reporte se elimina y
desaparece del mapa después de un lapso corto de tiempo.
Las redes geosociales es un tipo de red social que incluye funcionalidades
relacionadas con la georeferenciación, tales como la geocodificación o la
geoetiquetación, Ellas permiten a sus usuarios una dinámica social adicional a la que
existe en otras redes sociales, como la interacción basada en el lugar donde se
encuentran.
La georeferenciación se puede dar en las redes sociales gracias a localización de la
dirección IP, la trilateración de un hotspot (zona de cobertura wifi), la localización del
teléfono móvil o incluso la información enviada por el propio usuario al respecto.
(Semana, 2014)
APLICACIÓN DISTRIBUIDA:
MULTIPLATAFORMA:
Multiplataforma es un atributo conferido a programas informáticos o métodos y
conceptos de cómputo que son implementados e interoperan en múltiples
plataformas informáticas. Las plataformas de software pueden ser un sistema
operativo o entorno de programación, aunque más comúnmente se trata de una
combinación de ambos
Para que el software pueda ser considerado multiplataforma, debe ser capaz de
funcionar en más de una arquitectura de ordenador o sistema operativo. Esto puede
ser una tarea que consume tiempo, ya que los diferentes sistemas operativos tienen
diferentes interfaces de programación de aplicaciones o API. (EcuRed, 2016).
21
APLICACIÓN WEB:
Son aquellas herramientas que los usuarios pueden utilizar accediendo a un servidor
web a través de Internet o de una intranet mediante un navegador. En otras palabras,
es una aplicación software que se codifica en un lenguaje soportado por los
navegadores web en la que se confía la ejecución al navegador.
Es importante mencionar que una página Web puede contener elementos que
permiten una comunicación activa entre el usuario y la información. Esto permite que
el usuario acceda a los datos de modo interactivo, gracias a que la página responderá
a cada una de sus acciones, como por ejemplo rellenar y enviar formularios, participar
en juegos diversos y acceder a gestores de base de datos de todo tipo (LUJÁN
MORA, 2001).
APLICACIÓN MÓVIL:
MVC:
22
Interacción de los componentes.
Aunque se pueden encontrar diferentes implementaciones de MVC, el flujo de control
que se sigue generalmente es el siguiente:
1. El usuario interactúa con la interfaz de usuario de alguna forma (por ejemplo, el usuario
pulsa un botón, enlace, etc.)
2. El controlador recibe (por parte de los objetos de la interfaz-vista) la notificación de la
acción solicitada por el usuario. El controlador gestiona el evento que llega,
frecuentemente a través de un gestor de eventos (handler) o callback.
3. El controlador accede al modelo, actualizándolo, posiblemente modificándolo de forma
adecuada a la acción solicitada por el usuario (por ejemplo, el controlador actualiza el
carro de la compra del usuario). Los controladores complejos están a menudo
estructurados usando un patrón de comando que encapsula las acciones y simplifica
su extensión.
4. El controlador delega a los objetos de la vista la tarea de desplegar la interfaz de
usuario. La vista obtiene sus datos del modelo para generar la interfaz apropiada para
el usuario donde se reflejan
Los cambios en el modelo (por ejemplo, produce un listado del contenido del carro
de la compra). El modelo no debe tener conocimiento directo sobre la vista. Sin
embargo, se podría utilizar el patrón Observador para proveer cierta in-dirección entre
el modelo y la vista, permitiendo al modelo notificar a los interesados de cualquier
cambio. Un objeto vista puede registrarse con el modelo y esperar a los cambios,
pero aun así el modelo en sí mismo sigue sin saber nada de la vista. Este uso del
patrón Observador no es posible en las aplicaciones Web puesto que las clases de
la vista están desconectadas del modelo y del controlador. En general el controlador
no pasa objetos de dominio (el modelo) a la vista, aunque puede dar la orden a la
vista para que se actualice. Nota: En algunas implementaciones la vista no tiene
acceso directo al modelo, dejando que el controlador envíe los datos del modelo a la
vista. Por ejemplo, en el MVC usado por Apple en su framework Cocoa. Suele citarse
como Modelo-Interface-Control, una variación del MVC más puro.
5. La interfaz de usuario espera nuevas interacciones del usuario, comenzando el ciclo
nuevamente....
SQLSERVER:
SQL Server es un sistema de gestión de bases de datos relacionales (RDBMS) de
Microsoft que está diseñado para el entorno empresarial. SQL Server se ejecuta en
T-SQL (Transact -SQL), un conjunto de extensiones de programación de Sybase y
Microsoft que añaden varias características a SQL estándar, incluyendo control de
transacciones, excepción y manejo de errores, procesamiento fila, así como variables
declaradas. (Rouse, 2016).
ASP.NET:
Es un modelo de desarrollo Web unificado que incluye los servicios necesarios para
crear aplicaciones Web empresariales con el código mínimo. ASP.NET forma parte
de .NET Framework y al codificar las aplicaciones ASP.NET tiene acceso a las clases
en .NET Framework. El código de las aplicaciones puede escribirse en cualquier
lenguaje compatible con el Common Language Runtime (CLR), entre ellos Microsoft
Visual Basic, C#, JScript .NET y J#. Estos lenguajes permiten desarrollar aplicaciones
23
ASP.NET que se benefician del Common Language Runtime, seguridad de tipos,
herencia, etc. (microsoft, Información general sobre ASP.NET, 2007)
SDK:
C#:
SERVICIOS WEB:
Existen múltiples definiciones sobre lo que son los Servicios Web, lo que muestra su
complejidad a la hora de dar una adecuada definición que englobe todo lo que son e
implican. Una posible sería hablar de ellos como un conjunto de aplicaciones o de
tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o
tecnologías intercambian datos entre sí con el objetivo de ofrecer unos servicios. Los
proveedores ofrecen sus servicios como procedimientos remotos y los usuarios
solicitan un servicio llamando a estos procedimientos a través de la Web.
Estos servicios proporcionan mecanismos de comunicación estándares entre
diferentes aplicaciones, que interactúan entre sí para presentar información dinámica
24
al usuario. Para proporcionar interoperabilidad y extensibilidad entre estas
aplicaciones, y que al mismo tiempo sea posible su combinación para realizar
operaciones complejas, es necesaria una arquitectura de referencia estándar.
(España, 2016).
La arquitectura es una vista del diseño completo con las características más
importantes resaltadas, dejando de lado los detalles. La arquitectura como los casos
de uso, deben evolucionar en paralelo. A medida que los casos de uso se especifican
25
y maduran, se descubre más de la arquitectura. Esto, a su vez, lleva a la maduración
de más casos de uso.
26
: .
Ilustración 1 fases RUP Fuente: Tomado del libro: El Proceso de desarrollo Unificado del Software
(Consultado: 22/Marzo/2016)
En la siguiente tabla se explican cada una de las fases de la metodología RUP con
sus respectivas actividades que se requieren y se desarrollar la aplicación.
27
que trabajan sus Modelo de casos de uso.
usuarios.
Modelo del
dominio: Captura
los tipos más
importantes de
objetos en el
contexto del
sistema. Los
objetos del
dominio
representan las
"cosas" que
existen o los
eventos que
suceden.
Modelo del
negocio:
Describimos los
procesos en
términos de casos
de uso y actores
de nuestro
sistema.
Durante el análisis Las actividades que se
analizamos los requisitos desarrollan es esta fase
que se describieron en la son:
Diagramas de
captura de requisitos, secuencia.
ANALISIS refinándolos y Diagramas de
reestructurándolos. colaboración.
Con esto se consigue Diagramas de
mayor comprensión de actividad
Diagramas de
los requisitos y una
estado.
descripción de los Modelo del análisis.
mismos que sea fácil de Clase del análisis
manejar y que le ayude al
desarrollador estructurar
el sistema entero.
28
Durante el diseño Lista inicial de objetos.
modelamos el sistema y Responsabilidades.
encontramos su forma Modelo del diseño.
Modelo objeto
para que soporte todos
DISEÑO relacional.
los requisitos, incluyendo Diccionario de datos.
los requisitos No Modelo de despliegue.
funcionales y otras Descripción de la
restricciones. arquitectura.
Durante la Modelo de
implementación implementación:
IMPLEMENTACIÓN empezamos con el Componente
resultado del diseño e Interfaz
implementamos el
sistema en términos de
componentes, es decir,
ficheros de código fuente,
scripts, ejecutables y
similares.
En esta fase verificamos Modelo de pruebas.
el resultado de la Evaluación de prueba.
implementación Pruebas individuales.
PRUEBAS Pruebas del sistema.
probando cada
construcción, incluyendo
tanto construcciones
internas como
intermedias, así como las
versiones finales del
sistema.
Fuente: Elaboración propia y Formulación propia
1.9. FACTIBILIDAD
Las herramientas utilizadas en el desarrollo del sistema han sido adquiridas por los
desarrolladores, algunas de forma libre, las cuales se mencionan a continuación:
29
Se emplea el sistema operativo Windows 10 para el desarrollo de la aplicación
web y Ubuntu 16.04 para el desarrollo de la aplicación móvil.
Se emplea IIS Express, la versión gratuita del servidor web IIS.
Se emplea la versión libre de SQLSERVER, SQLSERVER Express como sistema
de gestor de bases de datos.
Se emplea un entorno de desarrollo libre Visual Studio Express el cual tiene
licencia freeware (software gratis).
Framework .NET 3.5 o superior.
Se emplea el SDK para desarrollo en la versión Android el API 23 (Marshmallow),
el cual su descarga es gratuita.
Base de datos SQL relacional administrada como servicio, de tipo base de datos
única, de nivel básica con 2 GB que incluye almacenamiento por BD.
APP Service para aplicaciones web en la nube, de nivel básico con vCPU de 1.5
GB de RAM y 10 GB de Storage.
El software estará diseñado para operar bajo un sistema operativo Linux o
Windows, que provee un servicio web.
Para poder utilizar el aplicativo se necesita de un computador con pocas
especificaciones ya que uno de los alcances de este proyecto es que desde
cualquier lugar con una conexiona a internet y un ordenador uno pueda acceder
a la aplicación de forma remota.
Nombre Funciones
Director de Tesis Responsable de supervisar y asesorar la elaboración del
proyecto.
Analistas y Validación de requisitos, especificación, y captura de datos,
Desarrolladores interactuando con el grupo de trabajo de la universidad,
mediante entrevistas, y documentación que ellos suministren.
Elaboración del modelo de análisis y diseño.
Planear, diseñar y evaluar las pruebas.
Fuente: Elaboración propia y Formulación propia
30
1.9.3. Factibilidad Económica
A continuación, se muestra una tabla con los recursos físicos que se utilizaron para
la realización del proyecto.
31
1.9.3.2. Recursos de Software
A continuación, se muestra una tabla con los recursos de software que se utilizaron
para la realización del proyecto.
32
Tabla 5 Recursos de software en la implementación de la aplicación por un año.
5 IVA El desarrollo de un - - - - -
software está
exento del
Impuesto al Valor
Agregado (IVA).
TOTAL 2´196.156,4$
Fuente: Elaboración propia y Formulación propia
33
1.9.3.3. Recursos de Humanos
34
1.1.1.1. Presupuesto
RECURSOS VALOR
Recursos Físicos $ 4.500.000
Recursos Humanos $35. 056.000
Recursos de Software $0.0
TOTAL $39.556.000
Fuente: Elaboración propia y Formulación propia
RECURSOS VALOR
Recursos Físicos $0
Recursos Humanos $21’120.000
Recursos de Software $2’196.156,4
TOTAL $ 23’316.156,4
Fuente: Elaboración propia y Formulación propia
En este sentido no hay problema debido a que las herramientas que se van a utilizar
tienen licencia de software libre.
Además, al ser Huecapp una aplicación que almacenara los datos de los usuarios que
se registran para hacer uso del prototipo, se debe garantizar el cumplimiento de la ley
estatutaria 1581 del 2012 donde se dictan las suposiciones generales de protección
de datos personales. Esta norma establece obligaciones para todas las empresas, sin
excepción alguna, así como para personas naturales que utilicen datos personales
para fines comerciales, entre otros.
“Artículo 1°. Objeto. La presente ley tiene por objeto desarrollar el derecho
constitucional que tienen todas las personas a conocer, actualizar y rectificar las
informaciones que se hayan recogido sobre ellas en bases de datos o archivos, y los
demás derechos, libertades y garantías constitucionales a que se refiere el artículo 15
de la Constitución Política; así como el derecho a la información consagrado en el
artículo 20 de la misma.” (Certicámara, 2013).
35
1.10 Cronograma de Actividades.
Modulo Descripción
Módulo de registro y acceso Este módulo permite a los usuarios
registrarse para poder interactuar
con el sistema, además de
autentificar para poder acceder
como un usuario del sistema y así
poder ver, crear y modificar huecos.
Módulo de huecos En este módulo un usuario
independientemente del rol podrá
crear, modificar y ver la información
de un hueco, poder ver los huecos
que el usuario ha creado o
modificado, además si se tiene el rol
administrador se podrá eliminar
huecos
Módulo de administración de En este módulo el usuario
roles autenticado con el rol de
administrador podrá ver y cambiar el
rol que tenga otro usuario.
Módulo de reportes En este módulo el usuario
autenticado podrá generar reportes
del historial de huecos que ha
creado o modificado, así mismo un
usuario autenticado con el rol de
administrador podrá generar
reportes generales del historial de
los huecos e historial de huecos por
usuario.
Fuente: Elaboración propia y Formulación propia
Ini ci o i ni ci ar
sesi ón
Ingresar usuario y
contraseña
Datos
val i dos
NO
SI
Buscar usuario y
contraseña
NO
Exi ste
usuari o
comparar contraseña
la
NO
contraseña
es l a del
usuari o
Iniciar sesión
SI
Fi nal
Inicio registrar
usuario
Datos
validos
SI
NO
Crear usuario
Final
Inicio registrar
hueco
Iniciar sesión
Datos
NO
correctos
SI
Datos
validos
NO
SI
Crear hueco
Final
Inicio
consultar
hueco
Iniciar sesión
NO
Datos
correctos
SI
Seleccionar hueco
Final
Inicio
editar
hueco
Iniciar sesión
Datos
correctos
NO
SI
Seleccionar hueco
NO
Datos
validos
SI
Editar hueco
Final
Inicio
eliminar
hueco
Iniciar sesión
NO
Datos
correctos
SI
Seleccionar hueco
Eliminar hueco
Final
Opción v er mapa
Final
Iniciar sesión
NO
Datos
correctos
SI
Seleccionar usuario
Seleccionar rol
SI
El usuario ya
tiene
asignado ese
rol
NO
cambiar de rol
Final
Inicio generar
reportes de
usuario
NO Generar
reportes
generales
SI
NO Descargar
reporte
SI
Cargar reporte
Final
Inicio generar
reportes
generales
NO Generar
reportes
generales
SI
NO Descargar
reporte
SI
Cargar reporte
Final
Por otra parte, el usuario se relaciona con la clase estado del usuario, rol y
tipo identificación, la primera especifica el estado que este usuario tiene
actualmente, la segunda especifica el rol que el usuario tendrá en el sistema
y el último especifica qué tipo de identificación tiene el usuario asociado.
1 1
1
Rol
Tipo_Identificacion
Tipo_Hueco
CONCEPTO DESCRIPCION
HUECO VIAL Pequeño desnivel en el suelo o en el pavimento,
producido por la pérdida o hundimiento de la capa
superficial.
3.1.1 Encuesta
Nombre de requerimiento RF 09
Funcionalidad El sistema móvil notificara a los
usuarios cuando un hueco se
encuentre cerca de su ubicación.
Especificación
Entrada Notificar sobre existencia de hueco al
usuario.
Proceso El sistema buscara en el listado de
huecos existentes cual se encuentra
más cerca y lo notificara siempre y
cuando el usuario este ubicado cerca
del mismo.
Salida Notificar la existencia un hueco cercano
Fuente: Elaboración propia y Formulación propia
Se analiza las funciones del sistema y los actores que hacen uso de ellas y
según estas funcionalidades se crea una lista preliminar de casos de uso.
Sistema Huecapp
Generar reportes
generales
Registrar hueco
Consultar hueco
Editar hueco
Usuario Administrador
Web Usuario Web
Eliminar hueco
Modificar rol
usuario
Registrar usuario
Usuario Mov il
Iniciar sesión
Registrar hueco
«include»
Consultar hueco
Editar hueco
Registrar usuario
Generar reportes de
usuario «include»
«include»
Consultar hueco
Usuario Web
«extend»
Editar hueco
«extend»
Ver mapa huecos
Registrar usuario
Registrar usuario
Modificar rol
usuario
«include»
Generar reportes de
usuario
«include»
Iniciar sesión
«include»
Generar reportes
generales «include»
«include»
Registrar hueco
«include»
«extend»
Editar hueco
«extend»
Ver mapa huecos
«extend»
Eliminar hueco
DESCRIPCION
Permite al actor consultar el dato de un hueco
PRECONDICIÓN
El usuario debe encontrarse logueado.
Esta fase es el flujo de trabajo que brinda una vista abstracta del sistema ya que
en la misma se definirá que hará el sistema y cuál es el alcance del mismo.
sd Diagrama de secuencia
Login(usuario)
Find(usuario);
return
usuario()
RedirectToLocal(returnUrl)
1. Seleccionar editar
hueco() 2. Edit(id)
----------------------------> Vista: ---------> Vista: Edit.cshtml
ActionMapaHueco.cshtml
Usuario Administrador
Web
3. BuscarHistorial()
4. selecionarHueco()
<-------------------
<----------------
hueco historial_hueco
7. editarhueco()
<--------------------
5. View(hueco)
6. Edit(hueco)
8. View(hueco)
Gestion de huecos,
creacion , edicion,
Pagina web Huecapp
Usuario Web detalles e historial
Gestion de roles y
usuarios, gestion de
Usuario Administrador Pagina web Huecapp huecos,
Web configuraciones y
reportes historial Base de datos
huecos
Capa Modelo
AspNetRoles.cs
AspNetUsers.cs
estado_usuario.cs
historial_hueco.cs
hueco.cs
tipo_hueco.cs
tipo_identificacion.cs
usuario.cs
AspNetRoles.cs
AspNetUsers.cs
estado_usuario.cs
historial_hueco.cs
CreacionHueco.cs
SuperUsuario.cs
Fuente: Elaboración propia y Formulación propia
Capa Controlador
AccountController.cs
CreacionHuecosController.cs
estado_usuarioController.cs
HomeController.cs
huecoAPIController.cs
huecoesController.cs
HuecosApiController.cs
huecoServicioApiController.cs
ManageController.cs
tipo_huecoController.cs
tipo_identificacionController.cs
usuarioapiController.cs
usuarioRepController.cs
usuariosApiController.cs
usuariosController.cs
UsuariosRolesController.cs
Fuente: Elaboración propia y Formulación propia
Capa Servicios
huecoServicioApi.cs
huecoApi.cs
usuarioApi.cs
Fuente: Elaboración propia y Formulación propia
Capa Modelo
Bump
User
BumpOperations
UserOperatios
HuecAppHandler
ConstantSQL
JSONHttpClient
Fuente: Elaboración propia y Formulación propia
Capa controlador
AppCompatPreferenceActivity
LoginActivity
MainActivity
RegisterActivity
SettingActivity
RecycleViewAdapter
CustomClusterRenderer
CustomInfoViewAdapter
MyItemCluster
BumpFragment
ConfirmFragment
MenuAFragmen
MenuBFragmen
MenuCFragmen
Fuente: Elaboración propia y Formulación propia
Capa Modelo
Clase Operación
AspNetRoles.cs Iniciar sesión
AspNetUsers.cs Iniciar sesión
usuario.cs Iniciar sesión
estado_usuario.cs Iniciar sesión
tipo_identificacion.cs Iniciar sesión
SuperUsuario.cs Iniciar sesión
AspNetRoles.cs registrarse
AspNetUsers.cs registrarse
usuario.cs registrarse
estado_usuario.cs registrarse
tipo_identificacion.cs registrarse
SuperUsuario.cs registrarse
hueco.cs Crear hueco
historial_hueco.cs Crear hueco
tipo_hueco.cs Crear hueco
CreacionHueco.cs Crear hueco
usuario.cs Crear hueco
hueco.cs Editar hueco
historial_hueco.cs Editar hueco
tipo_hueco.cs Editar hueco
CreacionHueco.cs Editar hueco
usuario.cs Editar hueco
hueco.cs Eliminar hueco
historial_hueco.cs Eliminar hueco
tipo_hueco.cs Eliminar hueco
CreacionHueco.cs Eliminar hueco
usuario.cs Eliminar hueco
hueco.cs Ver mapa huecos
historial_hueco.cs Ver mapa huecos
tipo_hueco.cs Ver mapa huecos
CreacionHueco.cs Ver mapa huecos
usuario.cs Ver mapa huecos
hueco.cs
Detalles hueco
historial_hueco.cs Detalle hueco
tipo_hueco.cs Detalle hueco
CreacionHueco.cs Detalle hueco
usuario.cs Detalle hueco
AspNetRoles.cs Agregar rol
AspNetUsers.cs Agregar rol
usuario.cs Agregar rol
estado_usuario.cs Agregar rol
tipo_identificacion.cs Agregar rol
SuperUsuario.cs Agregar rol
AspNetRoles.cs Detalles de usuarios
AspNetUsers.cs Detalles de usuarios
usuario.cs Detalles de usuarios
estado_usuario.cs Detalles de usuarios
tipo_identificacion.cs Detalles de usuarios
SuperUsuario.cs Detalles de usuarios
estado_usuario.cs Configuración estado usuario
tipo_identificacion.cs Configuración tipo identificación
tipo_hueco.cs Configuración tipo hueco
Fuente: Elaboración propia y Formulación propia
Tabla 38 Lista de responsabilidad de clases aplicación web capa controlador
Capa Controlador
Clase Responsabilidad
AccountController.cs Iniciar sesión
HomeController.cs Iniciar sesión
AccountController.cs Registrarse
HomeController.cs Registrarse
CreacionHuecosController.cs Crear hueco
CreacionHuecosController.cs Editar hueco
CreacionHuecosController.cs Eliminar hueco
CreacionHuecosController.cs Detalle hueco
estado_usuarioController.cs Configuración estado usuario
huecoAPIController.cs Ver mapa huecos
ManageController.cs Manejo de controllers
tipo_identificacionController.cs Configuración tipo id
tipo_huecoController.cs Configuración tipo hueco
usuarioRepController.cs Creación de reportes
usuariosApiController Agregar rol usuarios
usuariosApiController Detalles de usuarios
UsuariosRolesController.cs Agregar rol usuarios
UsuariosRolesController.cs Iniciar sesión
Fuente: Elaboración propia y Formulación propia
Capa Servicios
Clase Responsabilidad
huecoServicioApi.cs Crear hueco
huecoServicioApi.cs Editar hueco
huecoServicioApi.cs Lista de huecos
usuarioApi.cs Registrar usuario
usuarioApi.cs Actualizar usuario
usuarioApi.cs Actualizar contraseña
huecoApi.cs Ver mapa huecos
huecoApi.cs Buscar usuario
Acerca de
Mapa
«navigate»
«navigate»
«redirect» «redirect»
Iniciar sesion
Registrarse
TipoHueco
Estado Usuario
Acerca de
«navigate» «navigate»
Tipo identificacion
Configuracion
«navigate»
Usuarios y roles
«navigate»
Listado de Usuarios
«navigate» «navigate»
Usuarios «navigate»
Inicio Mapa
«navigate» «navigate»
Huecos
«navigate»
«redirect» «navigate»
«redirect» «redirect»
«redirect»
Acerca de
Mapa
«navigate»
«navigate»
«navigate» «navigate»
«navigate»
Mis Huecos
«redirect» «navigate» «navigate»
Tabla: estado_usuario
Tabla: tipo_hueco
Tabla: tipo_identificacion
Tabla 43 Hueco
Tabla: usuario
Tabla 44 Usuario
Tabla: historial_hueco
Modulos
Cliente w eb
Internet Information
Módulo de reportes Serv ices (ISS)
Interfaz w eb Serv idor de base de datos
Módulo de
administración de SQL Serv er
roles Management
Cliente mov il
WEB API
Módulo de huecos
aplicacion
Android
Módulo de registro
y acceso
deployment Huecapp
Ordenador
«solicitud de accion»
Correcciones 1. Ninguna
Errores 2. Ninguna
Correcciones 2. Ninguna
Correcciones 3. Ninguna
Correcciones 4. Ninguna
Correcciones 5. Ninguna
En la etapa final de este proyecto, se puede decir que se ha cumplido con el tiempo
establecido y además se ha conseguido desarrollar una Aplicación distribuida que
reporta huecos viales basado en coordenadas de posicionamiento global.
Tecnologías como Entity Framework facilitaron el desarrollo del sistema web ya que
permite el desarrollo de aplicaciones orientadas a objetos, pese a esto surgieron
problemas con la utilización de esta tecnología puesto obligaba a crear dos clases
de vista HuecoAPI y usuarioAPI que implementan los modelos del hueco y el
usuario para los servicios creados del Web API.
Oros Cabello Juan Carlos, Diseño de páginas web interactivas con javascript
y css, Cuarta edición, Editorial alfa omega, 2004.
ANEXOS