En la programación modular se utilizan diversas métricas de paquetes de software . Robert Cecil Martin las mencionó en su libro de 2002, *Desarrollo ágil de software: principios, patrones y prácticas* .
El término paquete de software en este contexto se refiere a un grupo de clases relacionadas en la programación orientada a objetos .
- Número de clases e interfaces: El número de clases concretas y abstractas (e interfaces) en el paquete es un indicador de la extensibilidad del mismo.
- Acoplamientos aferentes (Ca): El número de clases en otros paquetes que dependen de clases dentro del paquete es un indicador de la responsabilidad del paquete. Los acoplamientos aferentes envían señales hacia el interior.
- Acoplamientos eferentes (Ce): El número de clases en otros paquetes de las que dependen las clases de un paquete es un indicador de la dependencia del paquete respecto a las externalidades . Los acoplamientos eferentes envían señales hacia el exterior.
- Abstracción (A): Relación entre el número de clases abstractas (e interfaces) en el paquete analizado y el número total de clases en dicho paquete. El rango de esta métrica es de 0 a 1, donde A=0 indica un paquete completamente concreto y A=1 indica un paquete completamente abstracto.
- Inestabilidad (I): Relación entre el acoplamiento eferente (Ce) y el acoplamiento total (Ce + Ca), de modo que I = Ce / (Ce + Ca). Esta métrica indica la resistencia del paquete a los cambios. Su rango va de 0 a 1, donde I=0 indica un paquete completamente estable e I=1 un paquete completamente inestable.
- Distancia a la secuencia principal (D): La distancia perpendicular de un paquete a la línea idealizada A + I = 1. D se calcula como D = | A + I - 1 |. Esta métrica indica el equilibrio del paquete entre abstracción y estabilidad. Un paquete situado justo sobre la secuencia principal presenta un equilibrio óptimo entre abstracción y estabilidad. Los paquetes ideales son completamente abstractos y estables (I=0, A=1) o completamente concretos e inestables (I=1, A=0). El rango de esta métrica va de 0 a 1, donde D=0 indica un paquete coincidente con la secuencia principal y D=1 indica un paquete lo más alejado posible de ella.
- Ciclos de dependencia de paquetes: Se informan los ciclos de dependencia de paquetes junto con las rutas jerárquicas de los paquetes que participan en dichos ciclos.
Véase también
- Principio de inversión de dependencias : un método para reducir el acoplamiento (Martin 2002:127).
Referencias
- Robert Cecil Martin (2002). Desarrollo ágil de software: principios, patrones y prácticas . Pearson Education. ISBN 0-13-597444-5.
Enlaces externos
- El tutorial de Métricas OO explica las métricas de paquetes con ejemplos, pero el índice de inestabilidad es incorrecto; véase la página 262 de *Martin's Agile Software Development: Principles, Patterns and Practices*. Pearson Education. ISBN 0-13-597444-5.
Categorías :
- Métricas de software
- Programación orientada a objetos