Arquitectura del software

Solo disponible en BuenasTareas
  • Páginas : 32 (7977 palabras )
  • Descarga(s) : 0
  • Publicado : 18 de marzo de 2010
Leer documento completo
Vista previa del texto
Factores en la calidad del software

[pic]
Por una parte, se consideran cualidades tales como la velocidad o la facilidad de uso, cuya presencia o ausencia en un producto de software puede ser detectada por sus usuarios. Estas propiedades pueden ser denominadas factores de calidad externos.

Otras cualidades aplicables a un producto de software, como la Modularidad o legibilidad son factoresinternos, perceptibles sólo por profesionales de la informática que tienen acceso al código fuente.

En última instancia, sólo importan los factores externos. Si se una un navegador Web o se vive cerca de una planta nuclear controlada por computadora, importa poco que el software sea legible o modular si los gráficos tardan años en cargarse o si la introducción de datos erróneos hace explotarla planta.La clave para obtener los factores externos radica en los internos: para que los usuarios disfruten de las cualidades visibles, los diseñadores y los implementados deben aplicar técnicas internas que aseguren las cualidades ocultas.

1. Una Revisión de los factores externos:

1.1 Corrección
La corrección es la cualidad principal. Si un sistema no hace lo que se supone que debe hacer,poco importan el resto de consideraciones que hagamos sobre él – si es rápido, si tiene una bonita interfaz de usuario. Pero esto es más fácil de decir que de lograr. Incluso el primer paso hacia la corrección es ya difícil: debemos ser capaces de especificar los requisitos del sistema de una forma precisa, lo que es en sí una ardua tarea.
Los métodos que aseguran la corrección son usualmentecondicionales. Un sistema de software importante, incluso uno pequeño según los estándares de hoy, implica a tantas áreas que sería imposible garantizar su corrección manejando todas las componentes y propiedades en un solo nivel. En cambio, es necesaria una solución multinivel, en la que cada nivel confía en la corrección de los inferiores:

Hardware ----> Sistema Operativo----> Compilador ---->Sistema de Aplicación

En la solución condicional de la corrección, sólo hay que preocuparse en garantizar que cada nivel sea correcto bajo el supuesto de que los niveles inferiores son correctos.

.2 Robustez

La robustez complementa la corrección. La corrección tiene que ver con el comportamiento de un sistema en los casos previstos por su especificación; la robustez caracteriza lo quesucede fuera de tal especificación.

La robustez es por naturaleza una noción más difusa que la corrección. Puesto que tiene que ver aquí con casos no previstos por la especificación, no es posible decir, como con la corrección, que el sistema debería “realizar sus tareas” en tal caso; donde las tareas son conocidas, el caso excepcional formaría parte de la especificación y regresaríamos al terrenode la corrección.

Siempre habrá casos que la especificación no contemple explícitamente. El papel del requisito de robustez es asegurar que si tal caso surgiese el sistema no causará eventos catastróficos; debería producir mensajes de error apropiados, terminar su ejecución limpiamente en lo posible.

1.3 Extensibilidad

El software se supone que es soft (blando), y realmente lo es en unprincipio; nada es más fácil de cambiar que un programa si se tiene acceso a su código fuente.
El problema de extensibilidad es un problema de escala. Para programas pequeños realizar cambios no es normalmente una tarea difícil; pero a medida que el software crece comienza a ser cada vez más difícil de adaptar. La extensibilidad es necesaria porque en la base de todo software encontramos algúnfenómeno humano y de ahí su volatilidad.
El cambio es omnipresente en el desarrollo del software: cambios en los requisitos, de nuestra comprensión de los requisitos, de los algoritmos, de la representación de los datos, de las técnicas de implementación. Ofrecer soporte para los cambios es un objetivo básico de la tecnología de objetos.
Aunque muchas de las técnicas que mejoran la extensibilidad...
tracking img