miércoles, 17 de octubre de 2012

Métricas de Software


 

La ingeniería del software, necesita de métricas e indicadores para poder especificar, predecir, evaluar y analizar distintos atributos y características de los productos, procesos entre otros que participan en el desarrollo y mantenimiento del software.
La aplicación de un enfoque cuantificable al desarrollo, operación y mantenimiento del software es una tarea compleja que requiere disciplina, estudio y conocimiento de las métricas e indicadores adecuados para los distintos objetivos de medición y evaluación, con el fin de garantizar calidad.

                               METRICAS DE SOFTWARE

 En el campo de la ingeniería del software una métrica es cualquier medida o conjunto de medidas destinadas a conocer o estimar el tamaño u otra característica de un software o un sistema de información, generalmente para realizar comparativas o para la planificación de proyectos de desarrollo. Un ejemplo ampliamente usado es la llamada métrica de punto función.
   La métrica del punto función: es un método utilizado en ingeniería del software para medir el tamaño del software. Fue definida por Allan Albrecht, de IBM, en 1979 y pretende medir la funcionalidad entregada al usuario independientemente de la tecnología utilizada para la construcción y explotación del software, y también ser útil en cualquiera de las fases de vida del software, desde el diseño inicial hasta la implementación y mantenimiento.
      A veces en vez de hablar de métrica se usa el término “Indicadores” del software. Algunos ingenieros lo usan como sinónimos mientras que otros les atribuyen significados distintos.
     Algunas métricas o indicadores pueden ser:
·      Índice de productividad = tamaño / esfuerzo = líneas de código generado / horas trabajadas
·      Tasa de defectos = defectos / tamaño = número de errores / líneas de código generadas.

Métricas de Proceso y Proyecto, Hay cuatro razones para medir: Caracterizar, Evaluar, Predecir y Mejorar.

• Medida: Valor asignado a un atributo de una entidad mediante una medición. Ejemplo: 35.000 líneas de código
• Medición: Es el acto de determinar una medida. Ejemplo: Ana será la encargada de medir las LDC de cada módulo del sistema.
 • Métrica: Medida cuantitativa del grado en que un sistema, componente o proceso posee un atributo dado. Incluye el método de medición. Ejemplo: La productividad de este proyecto fue de 500 líneas (LDC/persona-mes)
 • Indicador: Es una métrica o combinación de métricas que proporcionan una visión profunda del proceso de software. Ejemplo: La productividad media de nuestra empresa es de 500 (LDC/pm).
 Las métricas nos ayudan a entender tanto el proceso técnico que se utiliza para desarrollar un producto, como el propio producto. El proceso para intentar mejorarlo y el producto para intentar aumentar su calidad.

La medición de software se clasifica en dos categorías.
·         Medidas directas del proceso de software (Costo, esfuerzo) y del producto (Líneas de código producidas, rapidez de ejecución y efectos reportados.)
·         Medidas indirectas del producto que incluyen funcionalidad, calidad, complejidad, eficiencia, confiabilidad, facilidad de mantenimiento, y muchas otras habilidades.

                         TIPOS DE MÉTRICAS:

Métricas orientadas al tamaño:

      Proceden de la normalización de las medidas de calidad o productividad considerando el tamaño del software que se ha producido

• Las métricas orientadas al tamaño se aceptan universalmente como la mejor forma de medir el tamaño del proceso.
 Métricas orientadas a la función: Se emplean como un valor de normalización una medida de la funcionalidad que entrega la aplicación.
       Métricas orientadas a objetos:   No proporcionan suficiente granularidad para la planificación y los ajustes de esfuerzo.
     Métricas orientadas a casos de uso: El caso de uso se define en etapas tempranas del proceso de software, lo que permite emplearlo en la estimación antes de iniciar las actividades significativas de modelado construcción.
   Métricas de proyectos de ingeniería Web: El objetivo de los proyectos de ingeniería Web es construir una aplicación Web que proporcione una combinación de contenido y funcionalidad al usuario final.
Entre las medidas que se recopilan existen las siguientes:
        • Número de páginas web estáticas.
        • Número de páginas web dinámicas.
        • Número de vínculos internos de la página.
      Número de objetos de datos persistentes.
      • Número de sistemas externos en interfaz.
      Número de objetos de contenido estático.
      • Número de objetos de contenido dinámico.
      • Número de funciones ejecutables.

La meta primordial de la ingeniería del software es producir un sistema, aplicación o producto de alta calidad dentro de un marco temporal que satisfaga una necesidad del mercado.

Medición de la calidad:
• Corrección
• Facilidad de mantenimiento
• Integridad
• Facilidad de uso
 

Métricas para organizaciones pequeñas: Un enfoque de sentido común respecto a la implementación de cualquier actividad relacionada con el proceso de software es mantenerlo simple, personalizado para satisfacer las necesidades locales y asegurarse de que valor agregar.
Mantenerlo simple: consiste en enfocarse no sobre las mediciones sino más bien sobre los resultados. Entrevistar al grupo de software para definir un objetivo sencillo que requiere mejora.
  Una organización pequeña puede seleccionar el siguiente conjunto de medidas:
·         Tiempo transcurrido desde el momento en que se hizo una solicitud hasta que la evaluación este completa.
·          Esfuerzo para realizar la evaluación.
·          Tiempo transcurrido desde que se completa la evaluación hasta la asignación del pedido de cambio del personal.
·         Esfuerzo requerido para hacer el cambio.
·         Tiempo requerido para hacer el cambio.
·         Errores descubiertos durante el trabajo para hacer el cambio.
            ·         Defectos descubiertos después de que el cambio es liberado a la base de clientes.

 
LA ISO 9001 EN RELACIÓN AL SOFTWARE

La ISO 9001: es una normativa de cumplimiento opcional para el aseguramiento de la calidad en las empresas. Esta norma trata de definir los procesos que se siguen dentro de la empresa para estandarizarlos y controlarlos. Es de carácter genérico. El cumplimiento de la norma ISO 9001 no garantiza que se esté controlando que la calidad del producto final sea buena. Simplemente garantiza que la empresa ha adoptado una organización definida y controlada.

CMMI: son las siglas de un modelo utilizado en el ámbito de la informática para evaluar si una empresa mantiene ciertos niveles de calidad en relación al software.

Una empresa que quiera acreditarse como cumplidora del modelo CMMI habrá de pasar una evaluación.  Cuando se implanta un sistema de calidad como CMMI, se usan las métricas para comprobar que se producen cambios reales en el software que produce la empresa.

 
                    METRICAS PARA ESTABLECER UN PUNTO DE VENTA

Establecimiento de un programa de métricas de software:
Está dirigido por metas según el SEI (SOFTWARE ENGINEERING INSTITUTE) y define los siguientes pasos:
·         Identificar los objetivos de la empresa.
·          Identificar lo que se quiere conocer o aprender.
·          Identificar los sub objetivos
·          Identificar las entidades y atributos relacionados con los objetivos secundarios.
·          Formalizar los objetivos de la medición.
·          Identificar preguntas cuantificables y los indicadores relacionados que se emplearan como apoyo para lograr los objetivos de sus mediciones.  
·         Identificar los elementos de datos que se recopilaran para construir los indicadores que ayudaran a responder las preguntas.  
·         Definir las medidas que se emplearan y hacer que estas definiciones sean operativas.  
·         Identificar las acciones que se tomaran para implementar las medidas.
·         Prepara un plan para implementar las medidas.

 Al trabajar como equipo, la ingeniería del software y los gestores del negocio pueden confeccionar una lista de metas priorizadas del negocio.
·         Mejorar la satisfacción de los clientes con los productos.
·          Hacer que los productos sean más fáciles de usar.
·          Reducir el tiempo que toma poner un producto en el mercado.
·          Simplificar el soporte para los productos.
·          Mejora la obtención global de utilidades.

   El personal de software desarrolla un conjunto de preguntas relacionadas con características cuantitativas por ejemplo, tamaño, costo, tiempo de desarrollo, estas preguntas se derivan de sub objetivos relacionadas con las entidades y actividades realizadas como parte del proceso del software.
   Para esto se puede derivar la siguiente lista de preguntas: ¿la solicitud del cambio del cliente contiene la información requerida para evaluar adecuadamente el cambio y luego implementarlo en una forma oportuna? ¿Cuán grande es el registro de petición de cambio? ¿El tiempo de respuesta para fijar los bugs es aceptable con base en as necesidades del cliente? ¿Se sigue el proceso de control de cambios? ¿Los cambios de alta prioridad se implementan en forma oportuna?
 En base a la pregunta se puede deducir el sub-objetivo:
·         Mejorará el desempeño del proceso de gestión de cambio.
·         Se identifican entidades y atributos del proceso de software.

    Según el SEI en esencia se aplica un proceso de refinamiento paso a paso en el que los objetivos se refinan en preguntas que posteriormente se refinan en entidades y atributos que entonces se refinan en métricas.


                    CONCLUSION

     Hemos dicho que las métricas servían en informática para hacer mediciones del software. Cuando se implanta un sistema se usan las métricas para comprobar que se producen cambios reales en el software que produce la empresa. Cuando el cliente nos da una especificación de requisitos del software (ERS) se procede a cuantificar el tamaño y complejidad de lo que nos piden para poder hacer un presupuesto. La técnica más utilizada para estimar el tamaño es la técnica del punto función, una técnica que trata de enumerar las consultas, datos, informes, etc. que van a ser necesarios para obtener el producto terminado.
    Las métricas nos permiten saber, el número o importancia de los errores que se detectan en los test o correspondientes a reclamaciones recibidas del cliente. Si en cada proyecto medimos el grado de error con el tiempo tendremos un histórico que nos irá diciendo si vamos mejorando o no. También nos servirá para realizar predicciones sobre cómo el volumen de errores y tiempo de corrección que será necesario en nuevos proyectos antes de la fase de pruebas del mismo.
                               

 

1 comentario:

  1. Tips for Improving Your Training with Titanium Athletics
    ford escape titanium 2021 › TIP-IN-TIP-IN-TIP-IN-TIP-IN-TIP › TIP-IN-TIP-IN-TIP-IN-TIP · Use the weights for this workout. titanium quartz meaning · titanium hair Use weights to improve strength, conditioning and endurance. · Make a range of repetitions titanium necklace to improve trekz titanium pairing

    ResponderEliminar