viernes, 13 de septiembre de 2013

METRICAS EN EL DESARROLLO DE SOFTWARE

MÉTRICAS DE SOFTWARE

Una métrica es una medida efectuada sobre los programas, documentación, su desarrollo y mantenimiento, o sobre algún aspecto del sistema en desarrollo o del proceso empleado que permite, previa comparación con unos valores (medidas) de referencia, obtener conclusiones sobre el aspecto medido con el fin de adoptar las decisiones necesarias.

VENTAJAS DEL USO DE MÉTRICAS:
·         Determinar la calidad del producto.
·         Evaluar la productividad de los desarrolladores.
·         Conocimiento cuantitativo de las características del proceso y del producto.
·         Se podrán realizar comparaciones con otros proyectos.
·         Se podrá mejorar el producto ya que las métricas sirven para detectar defectos.

CARACTERÍSTICAS:
·         Exactas
·         Precisas: No se debe perder información en los redondeos ya que la información se desvirtúa.
·         Consistentes: Una medición de un atributo debe dar el mismo valor independientemente de la medición.
·         Comparables: Para ello, debe estar normalizada.

TIPOS DE MÉTRICAS DE SOFTWARE:

  Métricas de tamaño: Los programas se escriben en lenguajes muy distintos y con propósitos muy diferentes, usando técnicas y métodos dispares, pero con una característica común: tienen un tamaño.
Este tamaño se determina habitualmente tomando como referencia el programa en código fuente. El tamaño es una medida empleada fundamentalmente por tres razones: es fácil de obtener una vez que el programa ha sido completado, es uno de los factores más importantes en los métodos de desarrollo, y la productividad se expresa tradicionalmente con el tamaño del código. La medida de tamaño más usada es la cantidad de líneas de código que se representa como Ss, y se mide en LOC (Lines Of Code, líneas de código).  Para programas grandes es más adecuado el uso de KLOC (miles de líneas de código) representadas como S.


  Métricas de estructuras de control:
La estructura lógica de un programa es el mecanismo que le permite realizar las distintas funciones para las que fue construido. La estructura lógica del programa representa los algoritmos empleados en su diseño y procesa los datos. La estructura de un algoritmo se representa perfectamente con las gráficas denominadas diagramas de flujo. Son muchos los métodos de medición del software que se basan en estos diagramas.

El flujo de control en un programa es habitualmente secuencial, aunque puede ser interrumpido en ciertas ocasiones: 
  En una decisión, se divide en dos nuevas líneas de flujo que responden a la evaluación de una condición determinada.
  Un salto hacia atrás devuelve el flujo de control a una instrucción que ya ha sido ejecutada. Normalmente son la base de los bucles.
  Una transferencia de control a una rutina o procedimiento externo, hace que el flujo discurra por un camino externo al programa.

La métrica denominada cuenta de decisión (DE) mide la cantidad de veces que ocurren situaciones como las mencionadas en primer y segundo lugar. Esto es, cuenta el número de instrucciones de decisión y bucles condicionales. A la hora de contar decisiones debe tenerse en cuenta los casos en que estas son compuestas, en esta situaciones DE cuenta predicados más que instrucciones en sí, por lo que las situaciones en las que se usan los operadores AND y OR incrementan en más de uno el valor de DE (algo similar ocurre con instrucciones del tipo CASE).

  Métricas compuestas:
Las medidas descritas hasta ahora miden una única magnitud para darle sentido como una característica del software. Sin embargo, ocurre con frecuencia que para describir una determinada cualidad del software es preciso componer (construir un par) de medidas simples.

  Métricas de esfuerzo:
El número real de horas y minutos que invierte un programador, es enorme, sin embargo hay una medida que destaca por su universalidad: la personames o meses -hombre. Por otra parte, aunque el esfuerzo es muy importante, en realidad la más importante métrica del esfuerzo es el coste.
La importancia de la medida del esfuerzo y coste responde más a necesidades de tipo administrativo y de gestión que estrictamente técnicas.
Otro elemento importante al trabajar a escala reducida es el tiempo de comprensión y aprendizaje que el programador requiere para comprender los requerimientos, el diseño, o cualquier documento previo a la codificación. Aprender a manejar las herramientas y lenguajes, conocer los interfaces, la metodología empleada, etc. Supone retrasos importantes en proyectos unipersonales.


  Métricas de calidad y fiabilidad:
El estudio de la calidad y fiabilidad tiene una importancia cada vez mayor en el mundo de la Ingeniería del Software. No sólo se trata de obtener sistemas desarrollados correctamente, de acuerdo a los requerimientos y a los estándares establecidos, sino que se pretenda conseguir programas fáciles de mantener y, lo que es más importante, sistemas fiables en tareas críticas.

La prueba del software se encarga de someter un programa a una revisión de todos los estados posible por los que puede atravesar en algún momento de su vida útil. Los tres objetivos que dirigen la prueba del software son:
  La prueba es un proceso de ejecución de un programa con la  intención de descubrir un error.
  Un buen caso de prueba es aquel que tiene una alta probabilidad de mostrar un error no descubierto hasta entonces.
  Una prueba tiene éxito si descubre un error no detectado hasta entonces. Sin embargo, la característica más destacable de la prueba del software es que la prueba no puede asegurar la ausencia de defectos: sólo puede demostrar que existen defectos en el software.


  Métricas de diseño:
Eficiencia: el esfuerzo de implementación puede reducirse.
Reducción de errores: los planes de prueba se simplifican notablemente.

Reducción del esfuerzo de mantenimiento: la división en módulos favorece que las distintas funciones las lleven a cabo módulos diferenciados.

NOTA: Esta información fue tomada de la página http://www.slideshare.net/1richard1/metricas-ingenieria-de-software

Ana Catalina Rodríguez Jaramillo

No hay comentarios:

Publicar un comentario