stringtranslate.com

Métrica de software

En ingeniería y desarrollo de software , una métrica de software es un estándar de medida de un grado en el que un sistema o proceso de software posee alguna propiedad. [1] [2] Incluso si una métrica no es una medición (las métricas son funciones, mientras que las mediciones son los números obtenidos por 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 los profesionales y teóricos de la informática 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 cronogramas y presupuestos, la estimación de costos, el control de calidad, las pruebas, la depuración de software , la optimización del rendimiento del software y la asignación óptima de tareas al personal.

Medidas de software habituales

Las mediciones de software más comunes incluyen:

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 dicha predicción antes del diseño detallado. Otra fuente de dificultad y debate es determinar qué métricas importan y qué significan. [8] [9] Por lo tanto, la utilidad práctica de las mediciones de software se ha limitado a los siguientes dominios:

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 del desempeño del proyecto. [10] 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). [11] [12]

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. [13] 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 inquietudes por los efectos nocivos para 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 evita que sean infravalorados. 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, [14] mientras que otros argumentan que la cuantificación imperfecta es mejor que ninguna ("No puedes controlar lo que no puedes medir"). [15] La evidencia muestra que las métricas de software están siendo ampliamente utilizadas por agencias gubernamentales, el ejército de EE. UU., la NASA, [16] consultores de TI, instituciones académicas, [17] y software de estimación de desarrollo comercial y académico .

Lectura adicional

Véase también

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  .{{cite book}}: CS1 maint: location missing publisher (link)
  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)". Land Software Engineering Centre . 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". IEEE Transactions on Software Engineering . 17 (12): 1284–1288. doi :10.1109/32.106988. ISSN  1939-3520.
  5. ^ "mantenibilidad - ¿Tiene sentido calcular la relación complejidad ciclomática/líneas de código?". Software Engineering Stack Exchange . Consultado el 1 de marzo de 2021 .
  6. ^ "OMG adopta la especificación de puntos de función automatizada". Omg.org. 17 de enero de 2013. 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 confirmación correctiva". arXiv : 2007.10912 [cs.SE].
  8. ^ ab Binstock, Andrew (marzo de 2010). "Integration Watch: Using metrics effectiveness" (Vigilancia de la integración: uso eficaz de las métricas). SD Times . BZ Media . Consultado el 19 de octubre de 2010 .
  9. ^ Kolawa, Adam (7 de agosto de 2008). "Cuándo, por qué y cómo: análisis de código". The Code Project . Consultado el 14 de febrero de 2021 .
  10. ^ Mike, John. "Métricas esenciales para estrategias de respuesta a incidentes eficaces" . Consultado el 18 de julio de 2021 .
  11. ^ Gosain, Anjana; Sharma, Ganga (2015). "Métricas de software dinámicas para software orientado a objetos: una revisión". En Mandal, JK; Satapathy, Suresh Chandra; Kumar Sanyal, Manas; Sarkar, Partha Pratim; Mukhopadhyay, Anirban (eds.). Diseño de sistemas de información y aplicaciones inteligentes . Avances en sistemas inteligentes y computación. Vol. 340. Nueva Delhi: Springer India. págs. 579–589. doi :10.1007/978-81-322-2247-7_59. ISBN 978-81-322-2247-7.
  12. ^ S, Parvinder Singh; Singh, Gurdev. Métricas dinámicas para polimorfismo en sistemas orientados a objetos . CiteSeerX 10.1.1.193.4307 . 
  13. ^ Kaner, Dr. Cem (2004), Métricas de ingeniería de software: ¿Qué miden y cómo lo sabemos ?, CiteSeerX 10.1.1.1.2542 
  14. ^ 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
  15. ^ DeMarco, Tom (1982). Control de proyectos de software: gestión, medición y estimación . Yourdon Press. ISBN 0-13-171711-1.
  16. ^ "Grupo de trabajo de planificación y presentación de informes sobre 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 .
  17. ^ "Centro de sistemas e ingeniería de software de la USC". Sunset.usc.edu . Consultado el 19 de mayo de 2013 .
  18. ^ Savola, Reijo M. (1 de septiembre de 2013). "Calidad de las métricas y mediciones de seguridad". Computers & Security . 37 : 78–90. doi :10.1016/j.cose.2013.05.002. ISSN  0167-4048.

Enlaces externos