jueves, 5 de junio de 2014

Modelo "4 + 1" Vistas para Arquitectura de Software

Philippe Kruchten propuso este modelo para describir la arquitectura de sistemas de software el cual se dio a conocer a través de un articulo publicado en 1995 y a continuación se hace un resumen del mismo. 

Inicialmente hay que resaltar que el modelo 4+1 va de la mano con el estándar IEEE 1471-2000 que incluye las prácticas recomendadas para la descripción de arquitecturas en sistemas de software, basándose en diferentes puntos de vista.  

Las cuatro vistas que incluye el modelo son:





1. Vista lógica

Soporta principalmente los requerimientos funcionales, que se traduce en los servicios que el sistema debería ofrecer a sus usuarios finales. 

Notación 


Estilo: Para la vista lógica se usa un estilo orientado a objetos. La principal guía es mantener un modelo de objetos sencillo y coherente a través de todo el sistema, evitando la prematura especialización de clases y mecanismos.

2. Vista de procesos: Incluye aspectos no funcionales como el desempeño y la disponibilidad del sistema. Se direcciona a la concurrencia y la distribución la integridad del sistema y la tolerancia a fallos. También específica que sub-proceso o hilo de control ejecuta cada operación de cada clase identificada en la vista lógica.

Notación



Estilo: Muchos estilos pueden ser usados en la vista de procesos como: tubos y filtros, cliente / servidor con sus diferentes variantes, etc.

4. Vista de desarrollo: Describe la organización estática del software en su ambiente de desarrollo.

Notación



Estilo: Se recomienda definir 4 a 6 capas de subsistemas.

3. Vista Física: Describe el mapeo del Software en el hardware y cómo esta distribuido.



Los diseñadores de software pueden organizar la descripción de sus decisiones de arquitectura en estas
cuatro vistas, y luego ilustrarlas con un conjunto reducido de casos de uso o escenarios, los cuales constituyen la quinta vista. La arqutitectura evoluciona parcialmente a partir de estos escenarios.



Cliente Web Proyecto Estación Metereológica

Para elaborar la aplicación Web que realiza consulta de datos actuales e históricos de la estación meteorológica se usó el framework de desarrollo .NET  con lenguaje de programación VB.
A continuación presentamos una breve descripción de la estructura del proyecto Web:
1. En la siguiente imagen mostramos la estructura del proyecto, el cual se manejo en visual Studio 2013:
imEstructuraProyectoWeb
2. Para poder realizar la carga de información fué necesario consumir un servicio que nos proveía la información de la última lectura de un sensor específico así como las últimas diez (10) klecturas realizadas por el mismo (Histórico). Adicional a est, también se incorporó al proyecto una librería de mapas (GMaps) para poder visualizar la ubicación geográfica en la que se realizaba la lectura, en la siguiente imagen se puede observar dentro de las referencias del proyecto la de la librería de mapas y la referencia al servicio Web:
imReferenciasDllProyectoWeb
3. Una vez se tenía la referencia al servicio se procedió a realizar dos métodos que de acuerdo al valor del parámetro “parIdtipoSensor” cargaba la información de la última lectura (CargarInfoMeteoXTipoSensor) o las últimas diez lecturas (CargarHistoricoXSensor), como se muestra en la imagen:
imMetodosAccesoServicioProyectoWeb
4. Finalmente, una vez finalizado el proceso de desarrollo y pruebas se concluyó la aplicación.
Esta puede ser accedida en la siguiente dirección: http://intranet1.imglatam.com/wMeteoUdin/wInicio.aspx
imAplicacionweb
Autores: Erika Parra, Julian Osorio, Andrés Briceño, William Guerrero

Arquitectura Sistema Accidentalidad

Tomando como base los ejercicios realizados en clase, se inicia el diseño de la arquitectura del sistema. inicialmente se muestra la vista Lógica con los principales componentes del mismo de la siguiente manera


Se incluyen los componentes relacionados con la consulta y calculo del nivel de riesgo en tramos viales hechas desde un dispositivo Android. Posteriormente se estará completando el diagrama y modificando de acuerdo con los alcances del proyecto.

miércoles, 4 de junio de 2014

Proyecto Estación Meteorológica Requerimientos inicales

Dentro del desarrollo de la asignatura Informática 1, se ha solicitado el desarrollo de un sistema de registro y consulta de datos meteorológicos. El cliente principal (Ingeniero Paulo Coronado), emitió los requerimientos a cumplir, y el objetivo principal es generar una arquitectura adecuada que cumpla con los mismos y posteriormente el desarrollo del sistema.
A continuación se enuncian los requerimientos generales definidos el día 10 de abril:
  • Capturar datos meteorológicos desde dos sensores  (Barómetro, termómetro, Luxómetro, etc ...)
  • Persistir los datos meteorológicos capturados y asociarlos a una estación con su respectiva localización geográfica.
  • Permitir la consulta de los datos históricos registrados por una estación y mostrar al usuario final la localización de dicha estación. Esta consulta se debe poder realizar a través de un cliente Web (Navegadores) y de una aplicación Android.
  • Proyectar datos de acuerdo con los históricos registrados.
  • La interfaz de usuario se debe adaptar al dispositivo en el que se despliega la información.
Estos requerimientos obedecen a lo esquematizado de la siguiente manera:
IMG_20140410_211935_2
Algunos aspectos y conceptos a tener en cuenta en el desarrollo del sistema de acuerdo a lo solicitado:
  • Conversión análoga / digital de los sensores y aparatos de la estación
  • Servicios Web
  • Definición de arquitecturas para los componentes e integración de las mismas
  • División del trabajo
Se dividió el equipo en grupos de trabajo para enfocarse en los sub-sistemas involucrados así:
  • Equipo 1: Automatización. Sensores y captura de datos meteorológicos.
  • Equipo 2: Replicación. Recepción de datos y almacenamiento
  • Equipo 3: Cliente Web. Mostrar las lecturas y la localización de la estación en pantalla.
  • Equipo 4: Cliente Android

Metodogía SCRUM

Dentro de la planificación del proyecto se ha establecido como primera opción el uso de SCRUM cómo metodología de desarrollo. En este sentido se ha elaborado una presentación en un vídeo para explicar (y entender), de mejor manera dicha metodología. Se incluye en el video también aspectos de la ISO 42010, como base para generar la arquitectura general del sistema que se esta diseñando.


Se realizará próximamente una evaluación de otra metodología ágil como es XP. DE la que se generará una presentación. De estos análisis se seleccionará la que se va a usar en el desarrollo del proyecto.

Investigaciones de la seguridad víal en Colombia

El fondo de Prevención Vial organizó en marzo de 2013 el Encuentro Nacional de Investigadores en Seguridad Vial. Como objetivos se encontraban acercar a los centros de investigación, entidades públicas y privadas que trabajan es seguridad vial, para lograr una cooperación, así como difundir las investigaciones que se han desarrollado en seguridad vial para el 2013. En este evento se presentó el documento Inventario de las Investigaciones en Seguridad Vial en Colombia. De dicho ejercicio se rescatan  valiosos datos para el marco de nuestro proyecto, se extraen algunos apartes, que se enuncian a continuación, relacionados con nuestros objetivos y el marco del proyecto.

En el inventario se obtuvieron 108 investigaciones y/o resúmenes de investigaciones. 22 se dejaron de lado por no relacionarse directamente con la temática de seguridad vial. Por que se tomaron 86 trabajos para analizar en profundidad.

En el inventario se realiza la clasificación de las investigaciones sobre seguridad vial en Colombia:

  • Enfocadas en la infraestructura
  • Enfocadas en las normas de Seguridad Vial y su cumplimiento
  • Enfocadas en la en la educación y capacitación de los conductores
  • Enfocadas en la seguridad vial desde la perspectiva de las políticas públicas y el entorno institucional
  • Enfocadas en las características de seguridad de los vehículos
  • De descripción y/o análisis de la accidentalidad vial 
  • Enfocadas en las lesiones y la mortalidad como consecuencia de los accidentes en la vía
  • Que abordan más de una de las categorías temáticas
  • Según la población de objeto de análisis
Enfoque de los estudios sobre seguridad Vial. Fuente: Fondo de Prevención vial.

Dado que nuestro proyecto, está enfocado en la caracterización dinámica de tramos viales (infraestructura) para la generación de alertas, utilizando un conjunto de datos fijos y dinámicos involucrados en la posibilidad de la ocurrencia de un accidente (Análisis de la accidentalidad vial), inicialmente creemos que los objetivos se enmarcan dentro de esas dos categorías temáticas.

Por otro lado este inventario realiza una clasificación de las investigaciones de acuerdo con las metodologías utilizadas, así:
  • Análisis cuantitativo a partir de datos de fuentes secundarias
  • Información primaria
  • Investigaciones aplicadas
  • Desarrollo de metodología de evaluación de riesgo
  • Estudio de caso
  • Revisiones bibliográficas
Desde este punto de vista el proyecto tiene estipulado el uso de datos de fuentes secundarias, como históricos de accidentalidad y calificación de tramos viales desde el punto de vista de la infraestructura, pero también la generación de un modelo dinámico que tome como base la estadística y la probabilidad para la calificación de dichos tramos. Es nuestra tarea definir claramente el alcance y en cual de estas clasificaciones se podría incluir el proyecto.

El documento de inventario se puede encontrar aquí.

A continuación debemos realizar la revisión de las instituciones y revisar los proyectos más a fondo para verificar ejercicios similares al propuesto a que contribuyan bien sea con datos o metodologías que nos puedan aportar.