leer wikipedia con nuevo diseño

Métrica de software


Una métrica de software es un estándar de medida del grado en que un sistema o proceso de software posee alguna propiedad. [1] [2] Incluso si una métrica no es una medida (las métricas son funciones, mientras que las medidas son los números obtenidos mediante la aplicación de métricas), a menudo los dos términos se utilizan como sinónimos. Dado que las mediciones cuantitativas son esenciales en todas las ciencias, existe un esfuerzo continuo por parte de la informáticaprofesionales y teóricos para aportar enfoques similares al desarrollo de software. El objetivo es obtener mediciones objetivas, reproducibles y cuantificables, que pueden tener numerosas aplicaciones valiosas en la planificación de programas y presupuestos, estimación de costos, garantía de calidad, pruebas, depuración de software, optimización del rendimiento del software y asignaciones óptimas de tareas de personal.

Medidas de software habituales

Las medidas de software comunes incluyen:

  • Métrica de software ABC
  • Cuadro de mando integral
  • Errores por línea de código
  • Cobertura de código
  • Cohesión
  • Densidad de comentarios [3]
  • Componentes de software connascent
  • Modelo de costo constructivo
  • Acoplamiento
  • Complejidad ciclomática ( complejidad de McCabe)
  • Densidad de complejidad ciclomática [4] [5]
  • Densidad de defectos: defectos encontrados en un componente.
  • Defecto potencial: número esperado de defectos en un componente en particular.
  • Tasa de eliminación de defectos
  • DSQI (índice de calidad de la estructura del diseño)
  • Puntos de función y puntos de función automatizados, un estándar del Grupo de gestión de objetos [6]
  • Complejidad de Halstead
  • Longitud de la ruta de instrucción
  • Índice de mantenibilidad
  • Número de líneas de código
  • Tiempo de ejecución del programa
  • Tiempo de carga del programa
  • Tamaño del programa (binario)
  • Puntos de micro función ponderados
  • Medidas de características de calidad automatizadas CISQ
  • Tiempo de ciclo (software)
  • Rendimiento de primera pasada
  • Probabilidad de compromiso correctivo [7]

Limitaciones

Como el desarrollo de software es un proceso complejo, con una gran variación tanto en las metodologías como en los objetivos, es difícil definir o medir las cualidades y cantidades del software y determinar una métrica de medición válida y concurrente, especialmente cuando se hace tal predicción antes del diseño detallado. Otra fuente de dificultad y debate es determinar qué métricas son importantes y qué significan. [8] [9] Por lo tanto, la utilidad práctica de las mediciones de software se ha limitado a los siguientes dominios:

  • Planificación
  • Dimensionamiento del software
  • Complejidad de programación
  • Estimación del esfuerzo de desarrollo de software
  • Calidad del software

Una medición específica puede apuntar a uno o más de los aspectos anteriores, o al equilibrio entre ellos, por ejemplo, como un indicador de la motivación del equipo o el desempeño del proyecto.

Además, las métricas varían entre el código de programa estático y dinámico, así como para el software orientado a objetos (sistemas). [10] [11]

Aceptación y opinión pública

Algunos profesionales del desarrollo de software señalan que las mediciones simplistas pueden causar más daño que bien. [12] Otros han notado que las métricas se han convertido en una parte integral del proceso de desarrollo de software. [8] El impacto de la medición en la psicología del programador ha generado preocupación por los efectos dañinos en el rendimiento debido al estrés, la ansiedad por el rendimiento y los intentos de engañar a las métricas, mientras que otros encuentran que tiene un impacto positivo en el valor de los desarrolladores hacia su propio trabajo y los previene. siendo infravalorado. Algunos argumentan que la definición de muchas metodologías de medición es imprecisa y, en consecuencia, a menudo no está claro cómo las herramientas para calcularlas llegan a un resultado particular, [13] mientras que otros argumentan que la cuantificación imperfecta es mejor que ninguna (“No se puede controlar lo que no se puede medir ”). [14] La evidencia muestra que las métricas de software están siendo ampliamente utilizadas por agencias gubernamentales, el ejército de los Estados Unidos, la NASA, [15] consultores de TI, instituciones académicas [16] y software de estimación de desarrollo comercial y académico .

Otras lecturas

  • J. Smith, Introducción a la programación lineal , Acme Press, 2010. Un texto introductorio.
  • Reijo M.Savola, Calidad de métricas y medidas de seguridad, Computers & Security, Volumen 37, septiembre de 2013, páginas 78-90. [17]

Ver también

  • Métrica de pregunta de objetivo
  • Lista de herramientas para el análisis de código estático
  • Clasificación de defectos ortogonales
  • Ingeniería de software
  • Métricas de paquetes de software

Referencias

  1. ^ Fenton, Norman E. (2014). Métricas de software: un enfoque riguroso y práctico . James Bieman (3ª ed.). Boca Raton, FL. ISBN 978-1-4398-3823-5. OCLC  834978252 .
  2. ^ Timóteo, Aline Lopes; Álvaro, Re; Almeida, Eduardo Santana De; De, Silvio Romero; Meira, Lemos. Métricas de software: una encuesta . CiteSeerX  10.1.1.544.2164 .
  3. ^ "Umbrales métricos de información descriptiva (DI)" . Centro de Ingeniería de Software Terrestre . Archivado desde el original el 6 de julio de 2011 . Consultado el 19 de octubre de 2010 .
  4. ^ Gill, GK; Kemerer, CF (diciembre de 1991). "Densidad de complejidad ciclomática y productividad de mantenimiento de software" . Transacciones IEEE sobre ingeniería de software . 17 (12): 1284-1288. doi : 10.1109 / 32.106988 . ISSN  1939-3520 .
  5. ^ "mantenibilidad - ¿Tiene sentido calcular la complejidad ciclomática / relación de líneas de código?" . Intercambio de pila de ingeniería de software . Consultado el 1 de marzo de 2021 .
  6. ^ "OMG adopta la especificación de punto de función automatizada" . Omg.org. 2013-01-17 . Consultado el 19 de mayo de 2013 .
  7. ^ Amit, Idan; Feitelson, Dror G. (21 de julio de 2020). "La métrica de calidad del código de probabilidad de compromiso correctivo". arXiv : 2007.10912 [ cs.SE ].
  8. ^ a b Binstock, Andrew. "Vigilancia de la integración: utilizar métricas de forma eficaz" . Tiempos SD . BZ Media . Consultado el 19 de octubre de 2010 .
  9. ^ Kolawa, Adam. "Cuándo, por qué y cómo: análisis de código" . El proyecto de código . Consultado el 14 de febrero de 2021 .
  10. ^ Gosain, Anjana; Sharma, Ganga (2015). Mandal, JK; Satapathy, Suresh Chandra; Kumar Sanyal, Manas; Sarkar, Partha Pratim; Mukhopadhyay, Anirban (eds.). "Métricas de software dinámico para software orientado a objetos: una revisión" . Diseño de Sistemas de Información y Aplicaciones Inteligentes . Avances en Computación y Sistemas Inteligentes. Nueva Delhi: Springer India. 340 : 579–589. doi : 10.1007 / 978-81-322-2247-7_59 . ISBN 978-81-322-2247-7.
  11. ^ S, Parvinder Singh; Singh, Gurdev. Métricas dinámicas para polimorfismo en sistemas orientados a objetos . CiteSeerX  10.1.1.193.4307 .
  12. ^ Kaner, Dr. Cem, Ingeniero de software Métricas: ¿Qué miden y cómo lo sabemos? , CiteSeerX  10.1.1.1.2542
  13. ^ Lincke, Rüdiger; Lundberg, Jonas; Löwe, Welf (2008), "Comparación de herramientas de métricas de software" (PDF) , Simposio internacional sobre pruebas y análisis de software 2008 , págs. 131–142
  14. ^ DeMarco, Tom (1982). Control de Proyectos de Software: Gestión, Medición y Estimación . ISBN 0-13-171711-1.
  15. ^ "Grupo de trabajo de planificación e informes de métricas de la NASA (MPARWG)" . Earthdata.nasa.gov. Archivado desde el original el 22 de octubre de 2011 . Consultado el 19 de mayo de 2013 .
  16. ^ "Centro de Ingeniería de Sistemas y Software de la USC" . Sunset.usc.edu . Consultado el 19 de mayo de 2013 .
  17. ^ Savola, Reijo M. (1 de septiembre de 2013). "Calidad de métricas y medidas de seguridad" . Computadoras y seguridad . 37 : 78–90. doi : 10.1016 / j.cose.2013.05.002 . ISSN  0167-4048 .

enlaces externos

  • Métricas de software (SQA.net)
  • Métricas de ingeniería de software: qué miden y cómo sabemos
  • Estándar de la NASA NASA-STD-8739.8 (Garantía de software y estándar de seguridad del software)
  • HIS Source Code Metrics ( desactualizado pero para referencia ; relacionado ver AUTOSAR )
  • HIS Source Code Metrics versión 1.3.1 01.04.2008 ( desactualizado pero para referencia ; relacionado ver AUTOSAR )
  • Un marco para métricas de código fuente
  • https://swehb.nasa.gov/display/SWEHBVB/Metrics+-+Software+Metrics+Report
  • Definiciones de métricas de SonarQube
  • Métricas de software orientado a objetos (2010)

This page is based on a Wikipedia article Text is available under the CC BY-SA 4.0 license; additional terms may apply. Images, videos and audio are available under their respective licenses.


  • Terms of Use
  • Privacy Policy