martes, 21 de agosto de 2012

Chapter 5. Achieving Qualities


5.1 Introduccing Tactics

En todo proyecto que desee desarrollar ya sea a nivel de software, o de cualquier otra area, siempre habra que utilizar tacticas a la hora de enfrentar las condiciones que nos exige tal proyecto.

Por eso es importante utilizar tacticas de diseño, las cuales son una decision que influye en el control de una respuesta de un atributo de calidad del proyecto. Las tacticas en el area de la arquitectura de software son decisiones que aseguran el logro de la funcionalidad del sistema en su totalidad.

Al hacer uso de una buena tactica puede que se le de beneficio a  un atributo de calidad en particular pero tambien puede que se afecte otro  atributo de calidad, como se indica en el ejemplo del libro si se queiere añadir mas disponibilidad al sistema se tendra que recrurrir a la redundancia lo cual sacrificaria el rendimiento al tener dicha redundancia.

Como se puede observar a veces tales decisiones generan conflicto entre si y habra que  elegir la que mejor le  convenga al sistema. Tambien se pueden ver que los requerimientos del sistema entran en tal conflicto como por ejemplo se pueden elevar los costos del presupuesto pronosticado si se modifica un atributo de calidad, asi como tambien el teimpo de entrega.

En conclusión creemos que una buena arquitectura es  aquella en la cual se combina tacticas que no permitan al sistema satisfacer todas sus necesidades.





5.2 Availability Tactics


Las tácticas de disponibilidad son las que nos llevan a la detección y prevención de fallos y a su recuperación. En la parte de detección de fallos es importante saber como detectarlos en un sistema distribuido que no es fácil ya que tenemos recursos compartidos, debemos hacerlos de una forma que no ocupemos mucho ancho de banda y su procesamiento sea de poco consumo, otra forma es una interrupción de comunicación.



En la parte de recuperación de errores debe ser lo mas rápida posibles y es adaptable o utilizable de acuerdo a la arquitectura planteada o el caso especifico donde se presente los fallos, en esta parte de recuperación generalmente se tiene redundancia de datos, comunicaciones, información e inclusive de mensajes, como también es super importante tener una bueno y constante sincronizacion del sistema.

Por ultimo la prevención de fallos la cual es una tarea importante y una de las mas complicadas, tratar de que un sistema no tenga fallos es muy complicado, así su porcentaje sea menos de 1%, un sistema siempre aparecerá con un fallo que tal vez nunca pensaríamos que llegara a pasar, algunas medidas son reinicio de sistema para evitar fallos, perdidas de memoria y/o datos, otras recurren a revisar las transacciones y volver a enviar donde fallo y hacer seguimientos de los mismos.


No hay comentarios:

Publicar un comentario