Informe de análisis de medición de cmmi
Palabras clave: CMMI; medición de software; capacidad de proceso de software; umbrales de medición
Introducción
El propósito de la medición de software es proporcionar implementación de proyecto para proyecto. gestión La visibilidad total permite al director del proyecto conocer la desviación entre el progreso real del proyecto y el plan del proyecto, de modo que se puedan tomar medidas correctivas para garantizar el buen progreso del proyecto. Un proceso eficaz de medición de software promueve la mejora de las capacidades de los procesos de software de una organización. Las métricas de software son métodos de análisis y expresión cuantitativa de las características del software. Las métricas de software se pueden dividir en métricas de productos de software y métricas de procesos de software. La medición de productos de software (expresión cuantitativa y análisis de las características del producto de software) es una medición independiente del proceso de producción del producto. La medición del proceso de software (expresión cuantitativa y análisis de las características del proceso de software) proporciona a los gerentes información sobre el estado y una base de orientación para el proceso de producción del producto.
Los elementos de medición de productos software son elementos de calidad, estándares de evaluación y elementos de medición. Las métricas de los procesos de software se analizan aquí principalmente a través de métricas de demanda, métricas de escala, métricas de progreso, métricas de carga de trabajo, métricas de gestión de riesgos y métricas de control de calidad.
1 Indicadores de producto de software de arquitectura de tres niveles
1.1 Factor de calidad
La calidad del software se puede dividir en seis elementos, que son las características básicas del software. Funcionalidad: el grado en que las funciones implementadas por el software satisfacen las necesidades del usuario. Confiabilidad: el grado en que el software puede mantener su nivel de rendimiento en un tiempo y condiciones específicos. Facilidad de uso: para un software, el usuario necesita aprender y operar; y preparar El grado de esfuerzo invertido en ingresar y comprender la salida. Eficiencia: bajo condiciones específicas, la efectividad del software en el uso de recursos informáticos (incluido el tiempo) para lograr una determinada función. Mantenibilidad: modificar el software para satisfacer las necesidades del usuario y los cambios ambientales; o la cantidad de esfuerzo requerido para errores de software. Portabilidad: La facilidad con la que el software se puede transferir de un sistema o entorno informático a otro.
1.2 Criterios de evaluación
Los criterios de evaluación incluyen: precisión, robustez, seguridad, efectividad de la comunicación, efectividad del procesamiento, efectividad del equipo, operatividad, capacitación e integridad, consistencia, trazabilidad, visibilidad, hardware. independencia del sistema, independencia del sistema de software, escalabilidad, versatilidad, modularidad, claridad, autodescripción, simplicidad, estructura e integridad de la documentación del producto.
1.3 Elementos Métricos
Los elementos de medición de cada etapa se formulan de acuerdo con las siete etapas de análisis de requisitos de software, diseño general, diseño detallado, implementación, pruebas de ensamblaje, pruebas de confirmación y mantenimiento. .
2 Medición de procesos de software basada en CMMI
Desde la perspectiva de una empresa de software, la medición de software consiste en medir varios elementos en el ciclo de vida del software a través de varias métricas para proporcionar a los gerentes de proyectos varias La información importante sobre el proyecto también es la base para las actividades de evaluación de software.
SEI de la Universidad Carnegie Mellon propuso el siguiente diagrama de arquitectura del proceso de medición de software:
Figura 1 Arquitectura del proceso de medición de software
Analicemos la arquitectura anterior.
La planificación del proceso de medición implica dos actividades, una es confirmar el alcance y la otra es definir los pasos procesales. Confirmar alcance: Definir el tamaño de los requisitos de medición para definir un proceso de medición adecuado a las necesidades propias de la empresa. Debido a que es necesario gastar mano de obra limitada, recursos materiales y otros recursos en todo el proceso de medición, los resultados irrealmente grandes, completos o insuficientes para reflejar los resultados reales afectarán la confiabilidad del proceso de medición y las capacidades de desarrollo de la empresa. Definir pasos procesales: Luego de determinar el alcance, definir los pasos del proceso de operación y medición y documentarlos por escrito. El trabajo principal incluye definir métricas completas, consistentes y procesables; definir métodos de recopilación de datos y cómo registrarlos y guardarlos; y definir tecnologías relevantes que puedan analizar datos de medición para que los usuarios puedan obtener resultados sustanciales basados en datos de medición.
La implementación del proceso incluye dos actividades, una es la recopilación de datos y la otra es el análisis de datos. Recopilación de datos: los datos se recopilan, registran y almacenan de acuerdo con operaciones de medición definidas. Además, los datos deben verificarse adecuadamente para confirmar su validez; Al realizar esta actividad, se debe tener en cuenta que los datos reales requeridos para diferentes proyectos o actividades son diferentes, por lo que el seguimiento del estado de la actividad es muy importante. Análisis de datos: incluye análisis de datos, preparación de informes, envío de informes y revisión para garantizar que el informe sea lo suficientemente preciso. Es posible que sea necesario repetir estos procedimientos porque es posible que el informe no brinde asistencia útil al usuario o que el usuario no comprenda el contenido del informe. En ambos casos, se debe dar retroalimentación y reiniciar el proceso de medición para el análisis de datos.
La mejora de procesos sólo incluye un aspecto de la actividad, es decir, la optimización del proceso. Proceso de optimización: se utiliza para mejorar dinámicamente los procesos y garantizar un enfoque estructurado para sintetizar y manejar múltiples cuestiones involucradas en la mejora de procesos.
Además, la actividad debe evaluar el proceso de medición en sí, y los usuarios del informe deben proporcionar comentarios sobre la validez de los datos. Esta retroalimentación puede provenir de otras actividades, pero generalmente se integrará en una nueva ronda del ciclo de vida del proceso de medición para proporcionar una nueva confirmación y definición del proceso de medición.
En el proyecto de implementación, una vez iniciado el proyecto, comienza oficialmente el trabajo de medición del proyecto. Durante la etapa de planificación del proyecto, el director del proyecto debe formular un plan de medición correspondiente basado en las características del proyecto y formular una estrategia para la recopilación de datos de medición y el análisis y control cuantitativos. Durante el proceso de implementación del proyecto, los miembros relevantes del proyecto recopilan diversos datos de medición de acuerdo con ciclos preestablecidos y completan formularios de registro de medición de software relevantes. La persona a cargo de la medición utiliza métodos apropiados para comparar y analizar los datos de medición a nivel del proyecto según la tabla de medición del proyecto y elaborar un informe de análisis de medición. Tome acciones correctivas cuando sea necesario, como revisar los planes del proyecto y realizar la capacitación relevante. Al final del proyecto, la persona a cargo de metrología y el personal relevante deben verificar las regulaciones de metrología y documentos relacionados, los datos recopilados por metrología, los resultados de los análisis y los informes, y luego colocarlos en la base de datos de metrología correspondiente.
Determinar elementos de medición basados en las condiciones reales del proyecto de software. Si presta más atención al progreso, la carga de trabajo y la calidad del proyecto, puede establecer que la desviación del progreso del proyecto no exceda el 25 %, la desviación de la carga de trabajo del proyecto no exceda el 20 % y la tasa de reparación de defectos no sea inferior al 90 % como medida. objetivos.
2.1 Medición de Requisitos
La estabilidad de los requisitos afecta en gran medida la escala, la carga de trabajo y el progreso del proyecto. La demanda inestable traerá impactos negativos, como una reducción de la calidad del producto de software, aumento de los costos del proyecto, retrasos en el progreso del proyecto, etc. La estabilidad del seguimiento y análisis de los requisitos puede reflejar la capacidad de los miembros del proyecto para gestionar y controlar los requisitos de software. En la actualidad, el análisis y el control de la demanda de los proyectos de software nacionales son relativamente débiles. Los desarrolladores han redoblado sus esfuerzos, pero la satisfacción de los usuarios sigue siendo insatisfactoria. Por lo tanto, es necesario medir y gestionar eficazmente los requisitos del proyecto.
Los elementos de medición de la demanda incluyen principalmente: el número total de demandas originales, el número de demandas nuevas en esta etapa, el número de demandas eliminadas en esta etapa y el número de demandas modificadas en esta etapa.
El número de cambios de demanda en esta etapa, el número total de cambios de demanda en esta etapa, el número total de cambios de demanda al final del proyecto, el número total de cambios de demanda al final del proyecto, la proporción de cambios en la demanda, la tasa de realización de la demanda, etc.
Los cambios en la demanda pueden conducir directamente a un aumento de escala, retrasos en el cronograma, aumento de costos y retrabajos. Los miembros del proyecto deben medir periódicamente los cambios en los requisitos (incluyendo agregar, modificar y eliminar requisitos) y los cambios en los requisitos totales, controlar los cambios en los requisitos y tomar las acciones apropiadas. La Figura 2 muestra la estabilidad de la demanda. Las dos líneas de puntos representan los cambios en la demanda total y el número de cambios en la demanda durante el proceso de monitoreo. Supongamos que la revisión de la línea base de requisitos ocurre durante el tercer período de monitoreo del proyecto. Se puede ver en la figura que después de la revisión de los requisitos, la demanda total por cuarta vez y el número de cambios de demanda por cuarta, quinta y sexta vez. aumentó significativamente, la demanda se estabilizó después de la séptima vez. Esto muestra que después de la revisión de la línea base de la demanda, la demanda permanece inestable durante mucho tiempo. Puede haber las siguientes razones: (1) Necesidad
El texto original de este artículo es insuficiente, mal entendido, ambiguo, incompleto e incorrecto. (2) Las necesidades del cliente cambian con frecuencia. Solución: al realizar una investigación de la demanda, explore a fondo las necesidades del cliente y confírmelas. Para requisitos que cambian con frecuencia, es posible que los miembros del proyecto deban tomar medidas como reasignar recursos y reestimar el tamaño, el esfuerzo y el cronograma.
Figura 2 Gráfico de tendencias de cambio de demanda
2.2 Medición de escala
La escala es la medición básica del proyecto, el factor más básico para determinar el costo del software. proyecto y el trabajo de estimación La base para los indicadores de evaluación del proyecto, como la cantidad y el cronograma, la productividad del cálculo y la densidad de defectos. La estimación, el seguimiento y el control efectivos de la escala no sólo permitirán que el proyecto avance sin problemas de acuerdo con el plan predeterminado, sino que también garantizarán la realización de los objetivos de ganancias de la organización.
Monitorea la desviación entre el tamaño real y el tamaño estimado. Si es necesario, reestimar el esfuerzo y el progreso.
En la etapa de hito (como la etapa de demanda, etapa de diseño), cuando ocurren cambios importantes en la demanda, o al resumir la situación del proyecto, el gerente del proyecto debe analizar la tasa de cambio de escala y monitorear la desviación de la escala efectiva del producto.
Si la tasa de cambio de escala está dentro de los límites de control superior e inferior, los resultados de la medición son aceptables.
Si la tasa de cambio de escala excede los límites de control superior e inferior, analice la causa y tome las medidas adecuadas.
Los elementos de medición incluyen principalmente: tamaño estimado del proyecto, tamaño real del proyecto, tasa de cambio de escala, costo estimado del proyecto, costo real del proyecto, líneas de código reutilizables, etc. Puede elegir según la situación real.
2.3 Medición del Progreso
Asegurar el progreso de los proyectos de software es la clave para controlar los costos del proyecto y lograr la satisfacción del usuario. Los proyectos de software son propensos a tener problemas a medida que avanzan. La gestión cuantitativa y transparente del progreso del proyecto puede detectar retrasos en el progreso lo antes posible y realizar los ajustes correspondientes rápidamente. Los elementos de medición específicos incluyen: progreso estimado del proyecto, progreso real del proyecto, desviación del progreso, número total de días planificados para los hitos, número total de días reales para los hitos, número total de días para las diferencias de hitos, número total de días planificados para el proyecto, total días reales para el proyecto y número total de días para las diferencias del proyecto. Si la desviación del progreso excede el límite de control, analice las razones, tome medidas y realice un seguimiento del progreso hasta que esté bajo control.
2.4 Medición de la carga de trabajo
El propósito del seguimiento de la carga de trabajo es evaluar si la mano de obra del proyecto es suficiente y si la carga de trabajo asignada a cada etapa es adecuada.
La estimación y el control correctos de la carga de trabajo ayudarán a asignar los recursos humanos adecuados al proyecto y controlar los costos del proyecto. Al resumir estadísticamente la proporción de la carga de trabajo de cada etapa y actividad en la carga de trabajo total, y compararla con la proporción planificada, se pueden encontrar desviaciones en la implementación del proyecto. Resumir la experiencia y las lecciones ayudará a formar gradualmente las características de un equipo de desarrollo adecuado para; empresas de software. combinación óptima de cargas de trabajo.
El método específico de medición de la carga de trabajo es determinar los elementos de medición básicos de la medición de la carga de trabajo, y el personal relevante selecciona los elementos de medición básicos para completar el registro de trabajo y, en un momento determinado, los elementos de medición básicos. se cuentan y se calculan las medidas derivadas relacionadas. Los elementos de medición relevantes incluyen: carga de trabajo total de cada actividad, carga de trabajo total de cada fase, distribución de la carga de trabajo de cada actividad, distribución de la carga de trabajo de cada fase, carga de trabajo (total) estimada del proyecto, carga de trabajo real (total) del proyecto, desviación de la carga de trabajo, etc.
Figura 3 Gráfico de análisis de la carga de trabajo de retrabajo
Análisis: a partir de los datos y los gráficos, la carga de trabajo de retrabajo es aproximadamente del 16%, lo que está dentro del rango normal. No se supera el umbral.
2.5 Indicadores de gestión de riesgos
Identificar y medir riesgos, y contar el número de riesgos identificados y riesgos que se convierten en problemas futuros del proyecto. Los elementos de medición de riesgos incluyen principalmente: el número de riesgos identificados en esta etapa, el número de riesgos convertidos en problemas en esta etapa, el número total de riesgos identificados por el proyecto y el número total de riesgos convertidos en problemas por el proyecto.
La gestión de riesgos consiste en identificar problemas potenciales del proyecto, formulando así planes de gestión para hacer frente a estos problemas durante el ciclo de vida del proyecto y reducir el impacto y la probabilidad de problemas potenciales. Las métricas de riesgo proporcionarán datos de referencia para la gestión de riesgos en proyectos futuros.
Figura 4 Gráfico de tendencias de problemas y riesgos del proyecto
2.6 Indicadores de garantía de calidad
A través de las estadísticas de elementos no calificados en el proceso de garantía de calidad del software, los miembros del proyecto pueden ser entendido El grado de cumplimiento de las especificaciones del proceso de desarrollo de software, previniendo defectos y mejorando el proceso. Al contar la carga de trabajo de las actividades de garantía de calidad, se pueden acumular datos sobre la carga de trabajo de las actividades de apoyo al proyecto.
Figura 5 Gráfico de tendencia de resolución de no conformidades
Los elementos de medición incluyen principalmente: carga de trabajo de las actividades de control de calidad, número total de no conformidades, número de no conformidades por diversos problemas, nuevas no conformidades. -conformidades Número de elementos, número de no conformidades resueltas, número de no conformidades actualmente no resueltas, tasa de resolución de no conformidades, retraso en la resolución de no conformidades, carga de trabajo para resolver no conformidades, carga de trabajo para adaptar el conjunto de procesos estándar de la organización .
3 Resultados prácticos
Cómo mejorar la calidad del software siempre ha sido una dirección de investigación importante en el campo de la ingeniería de software. La gestión cuantitativa basada en métricas es actualmente uno de los métodos de garantía de calidad más eficaces, y muchas empresas de software nacionales también están realizando investigaciones y prácticas en esta área. Este modelo de análisis de medición se ha utilizado en múltiples aplicaciones de proyectos específicos y ha pasado la revisión de expertos de SEI y la revisión formal de CMMI3. Este artículo realiza una exploración y práctica sobre la mejora de procesos de software y el análisis de medición de software, y describe prácticas específicas basadas en proyectos de software específicos. Tiene cierta importancia práctica para la aplicación futura del análisis de medición de software y la mejora de los procesos de software de mi país.
4 Conclusión
En el siguiente paso del trabajo, es necesario fortalecer la construcción y aplicación de bibliotecas de medición de software (como bibliotecas de medición de software de seguridad de aplicaciones de gobierno electrónico), y Insistir en utilizar el análisis de medición del software como un mecanismo eficaz a largo plazo para garantizar el desarrollo ordenado y saludable del proceso de software.