Diseño e Implementación de un
Sistema Web Para el Monitoreo
de Faros y Boyas
KAREN PIOTROWSKI
TUTOR ACADÉMICO: PROF. EDNA RUCKHAUS
TUTOR INDUSTRIAL: LIC. ZORELLY GONZÁLEZ
Agenda de la
presentación
I. Introducción
II. Objetivos
III. Alterinfo
IV. Conceptos teóricos
V. Herramientas
VI. Metodología
VII. Desarrollo
VIII. Video demostrativo
IX. Conclusiones
X. Preguntas
I. Introducción
• Las boyas meteorológicas:
• Delimitan áreas.
• Ayudan en la navegación.
• Permiten monitorear zonas costeras y
oceánicas.
• En Venezuela no se tiene:
• Un sistema de recolección y consulta de
datos meteorológicos.
• Registro de datos meteorológicos marítimos.
• Estudios climáticos del territorio marítimo.
I. Introducción
• Es por esto que surge la necesidad de
un sistema que permita:
• Recolección y almacenamiento de datos
meteorológicos.
• Despliegue de datos en una interfaz.
• Monitoreo de boyas a través de un mapa.
II. Objetivos de la pasantía
Desarrollo de una aplicación web para el Sistema de Monitoreo de Faros y
Boyas, que permita almacenar datos recibidos por boyas meteorológicas,
visualizar las boyas sobre un mapa y consultar gráficas de estadísticas de una
boya para una fecha determinada.
Objetivo general:
II. Objetivos de la pasantía
Objetivos específicos:
Diseño e implementación de la base de datos
Diseño e implementación de la interfaz de usuario
Generación de gráficas de estadísticas
II. Objetivos de la pasantía
Objetivos específicos:
Procesamiento automático de archivos de datos
Módulo administrativo
Envío de notificaciones al operador de las boyas
III. Alterinfo
 Desarrollo de proyectos y servicios tecnológicos.
 Experiencia en:
• Automatización y control industrial.
• Electrónica de potencia.
• Integración de sistemas.
• Seguridad informática.
• Firmas electrónicas.
III. Alterinfo
Dirección General
Dirección de
Gestión
Administrativa
Mercadeo Ventas
Dirección de Gestión
Comercial
Operaciones Mercadeo Ventas
Dirección de
Gestión Técnica
Proyectos Servicios
IV. Conceptos
teóricos
1. Arquitectura MVC
2. Convenciones sobre
configuraciones
3. Listas de Control de
Acceso
4. Particionamiento de
tablas
5. Índices
6. Diseño web
Responsive
7. Diseño de interfaz Flat
1. Arquitectura MVC
2. Convenciones sobre
configuraciones
3. Listas de Control de
Acceso
4. Particionamiento de
tablas
5. Índices
6. Diseño web
Responsive
7. Diseño de interfaz Flat
Modelo
Vista Controlador
1. Arquitectura MVC
2. Convenciones sobre
configuraciones
3. Listas de Control de
Acceso
4. Particionamiento de
tablas
5. Índices
6. Diseño web
Responsive
7. Diseño de interfaz Flat
Paradigma de diseño de software
Busca reducir la cantidad de decisiones que deben
tomar los desarrolladores
Con esto se gana simplicidad sin perder flexibilidad
1. Arquitectura MVC
2. Convenciones sobre
configuraciones
3. Listas de Control de
Acceso
4. Particionamiento de
tablas
5. Índices
6. Diseño web
Responsive
7. Diseño de interfaz Flat
Paradigma de diseño de software
Busca reducir la cantidad de decisiones que deben
tomar los desarrolladores
Con esto se gana simplicidad sin perder flexibilidad
Access Request Objects (AROs)
• Objetos solicitantes
Access Control Objects (ACOs)
• Objetos solicitados
1. Arquitectura MVC
2. Convenciones sobre
configuraciones
3. Listas de Control de
Acceso
4. Particionamiento de
tablas
5. Índices
6. Diseño web
Responsive
7. Diseño de interfaz Flat
 División física de una tabla lógica en
fragmentos físicos disjuntos más pequeños
 Beneficios:
◦ Mejor desempeño de ciertas consultas.
◦ La mayoría de los registros accedidos con
mayor frecuencia se encuentran en una
única partición o en unas pocas
particiones.
◦ Las inserciones o eliminaciones en bulk
pueden realizarse simplemente agregando
o eliminando una partición.
1. Arquitectura MVC
2. Convenciones sobre
configuraciones
3. Listas de Control de
Acceso
4. Particionamiento de
tablas
5. Índices
6. Diseño web
Responsive
7. Diseño de interfaz Flat
 Estructuras de acceso auxiliares
 Aceleran la obtención de registros
 Brindan formas alternativas para
acceder a los registros
 No afectan la ubicación física de los
datos primarios en el disco
1. Arquitectura MVC
2. Convenciones sobre
configuraciones
3. Listas de Control de
Acceso
4. Particionamiento de
tablas
5. Índices
6. Diseño web
Responsive
7. Diseño de interfaz Flat
1. Arquitectura MVC
2. Convenciones sobre
configuraciones
3. Listas de Control de
Acceso
4. Particionamiento de
tablas
5. Índices
6. Diseño web
Responsive
7. Diseño de interfaz Flat
V. Herramientas utilizadas
VI. Metodología
• Metodología de desarrollo de Software
• Orientada a Objetos
• Provee un plan específico para cada fase
• Evitar el desperdicio de recursos
• Reducir costos inesperados
RUP
Inicio Elaboración Construcción Transición
VII. Desarrollo
del proyecto
Fases:
1. Inicio
2. Elaboración
3. Construcción
• Estudio de antecedentes.
• Identificación de los usuarios del sistema.
• Captura de requerimientos.
•Identificación de los casos de uso.
• Diagrama de casos de uso.
Fases:
1. Inicio
2. Elaboración
3. Construcción
• Estudio sobre otros sistemas en el mercado
• Buscar características similares
• Mejor perspectiva sobre cómo debería de
estructurarse este sistema
• Reforzar la importancia de la creación de este
sistema
Fases:
1. Inicio
2. Elaboración
3. Construcción
Investigación previa
Usuario de la Armada
Usuario Temporal
Administrador
Fases:
1. Inicio
2. Elaboración
3. Construcción
Usuarios del sistema
Fases:
1. Inicio
2. Elaboración
3. Construcción
• Selección de las herramientas
• Diseño de la base de datos
• Especificación de los CU
• Diagrama de clases
• Arquitectura del sistema
• Prototipo no funcional
Fases:
1. Inicio
2. Elaboración
◦ Diagrama ERE
◦ Arquitectura
3. Construcción
Buoyerrors
States
Types
Buoys
Users
GroupsAros
Acos
Months
Parameters
Buoyerrors Types
Buoys
Users
GroupsAros
Acos
Fases:
1. Inicio
2. Elaboración
◦ Diagrama ERE
◦ Arquitectura
3. Construcción
PostgreSQL
Modelo
Controlador
Vista
Dispatcher
Cliente
Command
(StatesShell)
Tasks
(AddStateTask)
Cron Jobs
Console
CakePHP
Linux
• Configuraciones iniciales y creación de la base de datos
• Generación de una estructura inicial del mismo
• Login, logout y CRUD para el usuario administrador
• Script para el particionamiento de la tabla de estados
• Integración de estilo a la interfaz de usuario
• Implementación de cada uno de los casos de uso
• Las tres capas de la arquitectura MVC
Fases:
1. Inicio
2. Elaboración
3. Construcción
a) Implementación
b) Pruebas
c) Documentación
¿En qué consistió esta etapa?
• Particionar la tabla de estados por rangos de un mes
• Documentación oficial de PostgreSQL
1. Creación de la tabla
2. Función que crea las particiones y los índices (Por ID de la
boya y por fecha)
3. Función que indica en qué partición deben insertarse los
nuevos registros
4. Trigger que ejecuta la función anterior luego de cada
inserción
Fases:
1. Inicio
2. Elaboración
3. Construcción
a) Implementación
b) Pruebas
c) Documentación
Particionamiento de tablas
Fases:
1. Inicio
2. Elaboración
3. Construcción
a) Implementación
b) Pruebas
c) Documentación
Interfaz de usuario
Fases:
1. Inicio
2. Elaboración
3. Construcción
a) Implementación
b) Pruebas
c) Documentación
Interfaz de usuario
Fases:
1. Inicio
2. Elaboración
3. Construcción
a) Implementación
b) Pruebas
c) Documentación
Mapa con boyas
Fases:
1. Inicio
2. Elaboración
3. Construcción
a) Implementación
b) Pruebas
c) Documentación
Mapa con boyas
• Almacenamiento de los datos
recibidos por las boyas.
• Archivos de texto
• Gnome Schedule -> Cron Jobs
• Es ejecutado por el Sistema Operativo
automáticamente en intervalos de una
hora
Fases:
1. Inicio
2. Elaboración
3. Construcción
a) Implementación
b) Pruebas
c) Documentación
Procesamiento de archivos
Fases:
1. Inicio
2. Elaboración
3. Construcción
a) Implementación
b) Pruebas
c) Documentación
• Sólo es enviado un correo
• Solicitud de actualización de boyas.
• Desplazamiento de boyas
Notificaciones
• Códigos recibidos desde las boyas
• No comprometen la veracidad de los datos
• Se asocian a los estados de las boyas
Alertas
• Códigos que indican que la boya presenta
fallas
• Los datos pueden no ser válidos
• Los archivos son descartados
Errores
Fases:
1. Inicio
2. Elaboración
3. Construcción
a) Implementación
b) Pruebas
c) Documentación
Gráficas de estadísticas
Por día
Por mes
Fases:
1. Inicio
2. Elaboración
3. Construcción
a) Implementación
b) Pruebas
c) Documentación
• Una clase de prueba para cada modelo
• PHPUnit
• Proceso iterativo
Pruebas
unitarias
• Datos de 150 boyas para 5 años
• Script de generación de datos aleatorios
• Más de 6 millones de registros
Pruebas
de estrés
• Recursividad en las consultas
• Tener los estados más recientes de las boyas
a la mano
• Creación de índices en las particiones
Correcciones
Documentación del código fuente
• Durante toda la etapa de implementación
• Asegurar la mantenibilidad
Manuales
• Manual de instalación y configuración
• Manual de administrador o desarrollador
• Manual de usuario
Fases:
1. Inicio
2. Elaboración
3. Construcción
a) Implementación
b) Pruebas
c) Documentación
XIII. Video demostrativo
Presentacion defensa(1)
IX. Conclusiones y recomendaciones
• Diseño e implementación de un sistema web para el monitoreo de
boyas
• Cambios en la perspectiva, nuevos requerimientos y maneras de
mejorar el rendimiento.
Trabajos futuros
• Zonificación de las boyas
• Caracterización de los datos
• Base de datos histórica
¿Preguntas?
¡Gracias por su atención!
Anexos
DIAGRAMA DE CASOS DE USO
DIAGRAMA DE CLASES
REQUERIMIENTOS DEL SISTEMA
Casos de uso
Casos de uso
Diagrama
de clases

Más contenido relacionado

PDF
Study: The Future of VR, AR and Self-Driving Cars
PPT
Softonic Labs - Web Escalable
PPTX
Ingeniería del Software: Nuestro producto debe funcionar
PDF
TesisCSP.pdf
DOC
Modelo componentes
PPT
Unidad ii
PPT
arquitectura web para el uso de servicios.ppt
PDF
Arquitectura_de_microservicios.pdf
Study: The Future of VR, AR and Self-Driving Cars
Softonic Labs - Web Escalable
Ingeniería del Software: Nuestro producto debe funcionar
TesisCSP.pdf
Modelo componentes
Unidad ii
arquitectura web para el uso de servicios.ppt
Arquitectura_de_microservicios.pdf

Similar a Presentacion defensa(1) (20)

PDF
Tipos de Modelos y Metodologías Orientado a Objetos
PDF
Optimización de aplicaciones web con base de datos NoSQL In-Memory
PDF
Microservicios - RabbitMQ
PPTX
Ciclo de vida de un SI y BD
PPTX
Ciclo de vida y bases de datos
PDF
Proyecto web
PDF
Construcción de Aplicaciones de Avanzada con Geo-Distribución
PDF
Tesis 1 sistemas
DOC
Sistemas distribuidos
PDF
NavarroOrtizBrayanDaniel2018 (1).pdf
PDF
Tesis loGIS Beta
PPT
1127082.ppt
PPTX
Arquitectura multicapa
PDF
LI Desarrollo de aplicaciones distribuidas
DOC
Metodologia para el proyecto
DOC
PPT
Presentacion Capaintermedia
PDF
Metodologías de desarrollo orientado a objetos
PDF
202204-Modernizando aplicaciones legacy
Tipos de Modelos y Metodologías Orientado a Objetos
Optimización de aplicaciones web con base de datos NoSQL In-Memory
Microservicios - RabbitMQ
Ciclo de vida de un SI y BD
Ciclo de vida y bases de datos
Proyecto web
Construcción de Aplicaciones de Avanzada con Geo-Distribución
Tesis 1 sistemas
Sistemas distribuidos
NavarroOrtizBrayanDaniel2018 (1).pdf
Tesis loGIS Beta
1127082.ppt
Arquitectura multicapa
LI Desarrollo de aplicaciones distribuidas
Metodologia para el proyecto
Presentacion Capaintermedia
Metodologías de desarrollo orientado a objetos
202204-Modernizando aplicaciones legacy
Publicidad

Presentacion defensa(1)

  • 1. Diseño e Implementación de un Sistema Web Para el Monitoreo de Faros y Boyas KAREN PIOTROWSKI TUTOR ACADÉMICO: PROF. EDNA RUCKHAUS TUTOR INDUSTRIAL: LIC. ZORELLY GONZÁLEZ
  • 2. Agenda de la presentación I. Introducción II. Objetivos III. Alterinfo IV. Conceptos teóricos V. Herramientas VI. Metodología VII. Desarrollo VIII. Video demostrativo IX. Conclusiones X. Preguntas
  • 3. I. Introducción • Las boyas meteorológicas: • Delimitan áreas. • Ayudan en la navegación. • Permiten monitorear zonas costeras y oceánicas. • En Venezuela no se tiene: • Un sistema de recolección y consulta de datos meteorológicos. • Registro de datos meteorológicos marítimos. • Estudios climáticos del territorio marítimo.
  • 4. I. Introducción • Es por esto que surge la necesidad de un sistema que permita: • Recolección y almacenamiento de datos meteorológicos. • Despliegue de datos en una interfaz. • Monitoreo de boyas a través de un mapa.
  • 5. II. Objetivos de la pasantía Desarrollo de una aplicación web para el Sistema de Monitoreo de Faros y Boyas, que permita almacenar datos recibidos por boyas meteorológicas, visualizar las boyas sobre un mapa y consultar gráficas de estadísticas de una boya para una fecha determinada. Objetivo general:
  • 6. II. Objetivos de la pasantía Objetivos específicos: Diseño e implementación de la base de datos Diseño e implementación de la interfaz de usuario Generación de gráficas de estadísticas
  • 7. II. Objetivos de la pasantía Objetivos específicos: Procesamiento automático de archivos de datos Módulo administrativo Envío de notificaciones al operador de las boyas
  • 8. III. Alterinfo  Desarrollo de proyectos y servicios tecnológicos.  Experiencia en: • Automatización y control industrial. • Electrónica de potencia. • Integración de sistemas. • Seguridad informática. • Firmas electrónicas.
  • 9. III. Alterinfo Dirección General Dirección de Gestión Administrativa Mercadeo Ventas Dirección de Gestión Comercial Operaciones Mercadeo Ventas Dirección de Gestión Técnica Proyectos Servicios
  • 10. IV. Conceptos teóricos 1. Arquitectura MVC 2. Convenciones sobre configuraciones 3. Listas de Control de Acceso 4. Particionamiento de tablas 5. Índices 6. Diseño web Responsive 7. Diseño de interfaz Flat
  • 11. 1. Arquitectura MVC 2. Convenciones sobre configuraciones 3. Listas de Control de Acceso 4. Particionamiento de tablas 5. Índices 6. Diseño web Responsive 7. Diseño de interfaz Flat Modelo Vista Controlador
  • 12. 1. Arquitectura MVC 2. Convenciones sobre configuraciones 3. Listas de Control de Acceso 4. Particionamiento de tablas 5. Índices 6. Diseño web Responsive 7. Diseño de interfaz Flat Paradigma de diseño de software Busca reducir la cantidad de decisiones que deben tomar los desarrolladores Con esto se gana simplicidad sin perder flexibilidad
  • 13. 1. Arquitectura MVC 2. Convenciones sobre configuraciones 3. Listas de Control de Acceso 4. Particionamiento de tablas 5. Índices 6. Diseño web Responsive 7. Diseño de interfaz Flat Paradigma de diseño de software Busca reducir la cantidad de decisiones que deben tomar los desarrolladores Con esto se gana simplicidad sin perder flexibilidad Access Request Objects (AROs) • Objetos solicitantes Access Control Objects (ACOs) • Objetos solicitados
  • 14. 1. Arquitectura MVC 2. Convenciones sobre configuraciones 3. Listas de Control de Acceso 4. Particionamiento de tablas 5. Índices 6. Diseño web Responsive 7. Diseño de interfaz Flat  División física de una tabla lógica en fragmentos físicos disjuntos más pequeños  Beneficios: ◦ Mejor desempeño de ciertas consultas. ◦ La mayoría de los registros accedidos con mayor frecuencia se encuentran en una única partición o en unas pocas particiones. ◦ Las inserciones o eliminaciones en bulk pueden realizarse simplemente agregando o eliminando una partición.
  • 15. 1. Arquitectura MVC 2. Convenciones sobre configuraciones 3. Listas de Control de Acceso 4. Particionamiento de tablas 5. Índices 6. Diseño web Responsive 7. Diseño de interfaz Flat  Estructuras de acceso auxiliares  Aceleran la obtención de registros  Brindan formas alternativas para acceder a los registros  No afectan la ubicación física de los datos primarios en el disco
  • 16. 1. Arquitectura MVC 2. Convenciones sobre configuraciones 3. Listas de Control de Acceso 4. Particionamiento de tablas 5. Índices 6. Diseño web Responsive 7. Diseño de interfaz Flat
  • 17. 1. Arquitectura MVC 2. Convenciones sobre configuraciones 3. Listas de Control de Acceso 4. Particionamiento de tablas 5. Índices 6. Diseño web Responsive 7. Diseño de interfaz Flat
  • 19. VI. Metodología • Metodología de desarrollo de Software • Orientada a Objetos • Provee un plan específico para cada fase • Evitar el desperdicio de recursos • Reducir costos inesperados RUP Inicio Elaboración Construcción Transición
  • 20. VII. Desarrollo del proyecto Fases: 1. Inicio 2. Elaboración 3. Construcción
  • 21. • Estudio de antecedentes. • Identificación de los usuarios del sistema. • Captura de requerimientos. •Identificación de los casos de uso. • Diagrama de casos de uso. Fases: 1. Inicio 2. Elaboración 3. Construcción
  • 22. • Estudio sobre otros sistemas en el mercado • Buscar características similares • Mejor perspectiva sobre cómo debería de estructurarse este sistema • Reforzar la importancia de la creación de este sistema Fases: 1. Inicio 2. Elaboración 3. Construcción Investigación previa
  • 23. Usuario de la Armada Usuario Temporal Administrador Fases: 1. Inicio 2. Elaboración 3. Construcción Usuarios del sistema
  • 24. Fases: 1. Inicio 2. Elaboración 3. Construcción • Selección de las herramientas • Diseño de la base de datos • Especificación de los CU • Diagrama de clases • Arquitectura del sistema • Prototipo no funcional
  • 25. Fases: 1. Inicio 2. Elaboración ◦ Diagrama ERE ◦ Arquitectura 3. Construcción Buoyerrors States Types Buoys Users GroupsAros Acos Months Parameters Buoyerrors Types Buoys Users GroupsAros Acos
  • 26. Fases: 1. Inicio 2. Elaboración ◦ Diagrama ERE ◦ Arquitectura 3. Construcción PostgreSQL Modelo Controlador Vista Dispatcher Cliente Command (StatesShell) Tasks (AddStateTask) Cron Jobs Console CakePHP Linux
  • 27. • Configuraciones iniciales y creación de la base de datos • Generación de una estructura inicial del mismo • Login, logout y CRUD para el usuario administrador • Script para el particionamiento de la tabla de estados • Integración de estilo a la interfaz de usuario • Implementación de cada uno de los casos de uso • Las tres capas de la arquitectura MVC Fases: 1. Inicio 2. Elaboración 3. Construcción a) Implementación b) Pruebas c) Documentación ¿En qué consistió esta etapa?
  • 28. • Particionar la tabla de estados por rangos de un mes • Documentación oficial de PostgreSQL 1. Creación de la tabla 2. Función que crea las particiones y los índices (Por ID de la boya y por fecha) 3. Función que indica en qué partición deben insertarse los nuevos registros 4. Trigger que ejecuta la función anterior luego de cada inserción Fases: 1. Inicio 2. Elaboración 3. Construcción a) Implementación b) Pruebas c) Documentación Particionamiento de tablas
  • 29. Fases: 1. Inicio 2. Elaboración 3. Construcción a) Implementación b) Pruebas c) Documentación Interfaz de usuario
  • 30. Fases: 1. Inicio 2. Elaboración 3. Construcción a) Implementación b) Pruebas c) Documentación Interfaz de usuario
  • 31. Fases: 1. Inicio 2. Elaboración 3. Construcción a) Implementación b) Pruebas c) Documentación Mapa con boyas
  • 32. Fases: 1. Inicio 2. Elaboración 3. Construcción a) Implementación b) Pruebas c) Documentación Mapa con boyas
  • 33. • Almacenamiento de los datos recibidos por las boyas. • Archivos de texto • Gnome Schedule -> Cron Jobs • Es ejecutado por el Sistema Operativo automáticamente en intervalos de una hora Fases: 1. Inicio 2. Elaboración 3. Construcción a) Implementación b) Pruebas c) Documentación Procesamiento de archivos
  • 34. Fases: 1. Inicio 2. Elaboración 3. Construcción a) Implementación b) Pruebas c) Documentación • Sólo es enviado un correo • Solicitud de actualización de boyas. • Desplazamiento de boyas Notificaciones • Códigos recibidos desde las boyas • No comprometen la veracidad de los datos • Se asocian a los estados de las boyas Alertas • Códigos que indican que la boya presenta fallas • Los datos pueden no ser válidos • Los archivos son descartados Errores
  • 35. Fases: 1. Inicio 2. Elaboración 3. Construcción a) Implementación b) Pruebas c) Documentación Gráficas de estadísticas Por día Por mes
  • 36. Fases: 1. Inicio 2. Elaboración 3. Construcción a) Implementación b) Pruebas c) Documentación • Una clase de prueba para cada modelo • PHPUnit • Proceso iterativo Pruebas unitarias • Datos de 150 boyas para 5 años • Script de generación de datos aleatorios • Más de 6 millones de registros Pruebas de estrés • Recursividad en las consultas • Tener los estados más recientes de las boyas a la mano • Creación de índices en las particiones Correcciones
  • 37. Documentación del código fuente • Durante toda la etapa de implementación • Asegurar la mantenibilidad Manuales • Manual de instalación y configuración • Manual de administrador o desarrollador • Manual de usuario Fases: 1. Inicio 2. Elaboración 3. Construcción a) Implementación b) Pruebas c) Documentación
  • 40. IX. Conclusiones y recomendaciones • Diseño e implementación de un sistema web para el monitoreo de boyas • Cambios en la perspectiva, nuevos requerimientos y maneras de mejorar el rendimiento. Trabajos futuros • Zonificación de las boyas • Caracterización de los datos • Base de datos histórica
  • 42. Anexos DIAGRAMA DE CASOS DE USO DIAGRAMA DE CLASES REQUERIMIENTOS DEL SISTEMA