Factores externos de la calidad del software (II)
Continuando con la revisión de los factores externos de calidad del software propuestos por Bertrand Meyer en su libro Construcción de Software Orientado a Objetos, definiremos en este post los dos siguientes: Extensibilidad y reutilización.
- Extensibilidad
La extensibilidad es la facilidad de adaptar los productos de software a cambios en la especificación o funcionalidad. El problema real de la extensibilidad es la escala, es decir, no es lo mismo hacer cambios en un software pequeño que en una gran aplicación. La extensibilidad es una propiedad cuya relevencia es mayor en estos grandes sistemas de software. De ahí estos dos principios esenciales para mejorar la extensibilidad:
- Simplicidad del diseño: Una arquitectura de software simple siempre será más sencilla de modificar que una compleja
- Descentralización: Con este principio se busca que los cambios afecten a pequeñas partes del software. Si los módulos de los que consta una aplicación son autónomos, es lógico pensar que un cambio simple afecte a uno solo de ellos o a un número muy bajo.
- Reutilización
Los sistemas de software a menudo siguen patrones similares. Es aconsejable y deseable aprovechar esa similitud para evitar tener que estar siempre resolviendo o programando las mismas soluciones. Dicho esto, la reutilización se define como la capacidad de los elementos de software para construir muchas aplicaciones diferentes.
La reutilización es importante a la hora de mejorar otros aspectos de la calidad del software, ya que la reutilización de software nos haces posible dedicar más tiempo a mejorar aspectos como la corrección o la robustez.