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