martes, 31 de julio de 2012

Capitulo 3 del libro System Architecture in Practice CASO Avionics.


Nos parece que el caso de estudio que se expone en el capítulo 3 del libro, es un buen ejemplo para  poder estudiar y analizar con detalles  las principales estructuras arquitectónicas aplicadas  a una problemática real que en este caso es relacionada con  el área de la aviación.

Las personas que se involucraron en  el desarrollo del software A-7E utilizaron una táctica muy buena  a nuestro parecer, ya que  desmenuzaron y analizaron el problema planteado desde tres partes fundamentales. La primera de ellas fue descomponer el problema en módulos, luego analizaron los usos y sus procesos. Estas 3 estructuras se complementan entre sí pare entregar una imagen  completa de cómo funciona el sistema, sus principales módulos, interacciones, funciones y  escalabilidad. Para esto se basaron en estrategias utilizadas en la ingeniería de software para obtener óptimos resultados en plazos establecidos.

Entre los principales requisitos exigidos para desarrollar el software,   fueron los siguientes:

  • Ayudar al piloto con la navegación, control de armas  del avión así como  ubicación exacta de objetivos a distancia.

  • El software debe alimentarse de las lecturas de  los sensores del avión para entregar una información entendible al piloto en la cabina.
  • Debe poseer un diseño modular, para que en futuros cambios, sea  fácil realizarlo sin comprometer a todo el sistema.

Este equipo de desarrolladores equilibraban su tiempo entre la invención de nuevos métodos de ingeniería de software, el  conocimiento en el campo de la aviación, documentación de los procesos llevados a cabo y producción del software.

Aunque ya han pasado muchos años desde que se aplico esta forma de enfrentar un problema relacionado con el desarrollo de una aplicación de esta magnitud, creemos que estos señores fueron  pioneros y sentaron  las bases de la arquitectura de software,  al poder definir subconjuntos de forma rápida y sencilla para organizar y diagramar el sistema. Otra parte interesante fue la fase de ejecución del  software, en el cual inicialmente se implemento un pequeño subconjunto de la aplicación y verificar su óptimo funcionamiento, para luego implementarle subconjuntos más grandes  y así poder obtener el sistema en su totalidad.


Creemos que para realizar una buena arquitectura de software se tiene que pensar en dividir el trabajo en unidades  más pequeñas o módulos y analizar cómo van a interactuar,  Una de las más grandes, es poder brindar una arquitectura correcta para solucionar el problema que se está desarrollando. Esto conlleva a definir y documentar la misma, asegurándose que este en relación con el sistema que se desea, y a la vez que sea la mejor forma de brindar soporte y evolución del mismo.

Otro tipo de responsabilidad es la de asegurarse que todas las personas involucradas estén  utilizando la arquitectura proporcionada y que el desarrollo del proyecto marche bien. Esto  es para poder resolver cualquier tipo de inquietud  que surja, que esté relacionada con la  selección de herramientas en cada uno de los ambientes de desarrollo.  Uno de los factores positivos de las responsabilidades, es resolver conflictos y a la vez ayudar a generar acuerdos, manteniendo una moral en el grupo que abarca a los designados a la arquitectura




Fuentes:

No hay comentarios:

Publicar un comentario