Una breve discusión sobre la tecnología de evaluación de proyectos de software
Resumen: Debido a la particularidad de los productos de software, la evaluación de proyectos de software es difícil y la precisión de los resultados de la evaluación es pobre. Para resolver este problema, se han desarrollado muchas técnicas diferentes de evaluación de proyectos de software. Este artículo explica brevemente las ideas principales y las ventajas y desventajas de diversas técnicas de estimación. En particular, se presenta en detalle la tecnología de estimación de puntos de función y su método de aplicación se ilustra con ejemplos.
Palabras clave: estimación de escala; estimación de costos; aplicación de muestra
Número de clasificación de biblioteca china: TP311.5.
La evaluación de proyectos de software siempre ha sido un asunto complejo. Debido a la complejidad del software en sí, la falta de experiencia histórica, la falta de herramientas de estimación y algunos errores humanos, las estimaciones de los proyectos de software a menudo están lejos de la situación real. Por lo tanto, los errores de estimación figuran como una de las cuatro razones principales por las que fracasan los proyectos de software. Por lo tanto, esto también demuestra lo importante que es evaluar correctamente los proyectos de software.
En la gestión de proyectos de software, una estimación es una predicción de la duración o el coste del proyecto. Por tanto, una estimación es una predicción del futuro. Desde aquí podemos ver, ¿cuál es el punto clave de estimación? ¿Estimación de la carga de trabajo? ¿aún? ¿Estimación de costos? Y en el proceso de estimación de los dos, ¿en la mayoría de los casos uno es indispensable? ¿Tamaño del software? Para esta condición, este artículo divide la estimación de software en dos tipos: la primera es la estimación de la escala del proyecto de software y la segunda es convertir la escala estimada en una estimación de la carga de trabajo o una estimación de costos. En la actualidad, la tecnología de estimación de escala se usa ampliamente, como la tecnología de estimación de línea de código y la tecnología de estimación de punto de función, así como la tecnología de estimación de costos ampliamente utilizada, como la tecnología de estimación del modelo de algoritmo COCOMO;
Además de las técnicas anteriores, existen varias técnicas de estimación que se pueden utilizar para estimar la escala y también se pueden aplicar directamente para estimar la carga de trabajo o el costo, como el método de estimación Delphi, el método de estimación por analogía y la estimación PERT. método, etc A diferencia de las técnicas enumeradas anteriormente, estas técnicas de estimación son más específicas de línea y tienen fórmulas y procedimientos de cálculo específicos. Estas técnicas son sólo una idea, estimada en base a temas seleccionados. El siguiente artículo presentará brevemente varias técnicas de estimación mencionadas anteriormente y se centrará en las técnicas de estimación de puntos de función a través de ejemplos específicos.
1 Introducción a la tecnología de estimación
1.1 Tecnología de estimación de líneas de código. LOC se refiere a todas las líneas de código fuente ejecutables, incluidas declaraciones de lenguaje de control de trabajos (JCL) entregables, definiciones de datos, declaraciones de tipos de datos, declaraciones de equivalencia, declaraciones de formato de entrada/salida, etc. [1] La tecnología de estimación de líneas de código estima principalmente el tamaño del software, es decir, utiliza esta tecnología para estimar cuántas líneas de código hay en el proyecto de software a desarrollar. Generalmente, por conveniencia, se utiliza la unidad grande de miles de líneas de código (KLOC) para representar la escala del proyecto de software a desarrollar. Este método es más adecuado para empresas con experiencia acumulada y modelos de desarrollo estables. Si se trata de una empresa de nueva creación, habrá un gran error al utilizar esta técnica de estimación, aumentando el riesgo de fracaso del proyecto.
1.2 Tecnología de estimación de puntos de función. El método de puntos de función es un método probado, pero su costo de aplicación es alto y el esfuerzo de estimación también es grande. El resultado final de la tecnología de estimación de puntos de función es la escala, o se deben conocer los datos de productividad del proyecto para obtener la carga de trabajo real. La tecnología de estimación de puntos de función divide las funciones del sistema en cinco tipos: entrada, salida, consulta, archivo externo y archivo interno. Entre ellos, la entrada es un proceso básico de procesamiento de datos de afuera hacia adentro donde los datos cruzan los límites del sistema. La fuente de datos puede ser una interfaz/interfaz de entrada persona-computadora u otro sistema de aplicación; la salida es un proceso de procesamiento de datos básico en el que los datos exportados cruzan los límites del sistema, de internos a externos. Estos datos de salida pueden generar informes o archivos de salida enviados a otros sistemas externos; la consulta es un proceso de procesamiento de datos básico, excluyendo los datos derivados y el mantenimiento de datos, incluidos los archivos internos que existen dentro de los límites del sistema y son un conjunto de datos relacionados; pueden ser identificados por los usuarios; los archivos externos existen fuera de los límites del sistema y son un conjunto de datos relacionados lógicamente que pueden ser identificados por los usuarios. Los pasos generales para la estimación utilizando tecnología de estimación de puntos de función son los siguientes:
(1) Mediante el análisis de la demanda, clasifique las funciones del sistema según los cinco tipos anteriores.
(2) Analice la complejidad de cada elemento funcional, que se puede dividir aproximadamente en tres tipos: general, simple y complejo. Cada tipo corresponde a un valor de peso, como se muestra en la Tabla 1.
(3) Con base en el valor de peso complejo de cada elemento funcional, encuentre la suma ponderada de cada elemento funcional, que es el punto de función no ajustado (UFC).
(4) Analizar la complejidad técnica del sistema. La estimación del punto de función divide los factores técnicos que influyen relacionados con el sistema en 14 grupos (representados por Ai), cada grupo se divide en 6 niveles y los pesos. El rango de 0 a 5 varía. Calcule el coeficiente de complejidad técnica (TCF) según los resultados del análisis y la fórmula, es decir, TCF = 0,65 + 0,01 (SUM (Ai)).
(La multiplicación de UFC y TCF es un punto funcional.
1.3 Modelo de algoritmo COCOMO. El modelo Cocomo es una serie de modelos jerárquicos de estimación de costos de software, que incluye tres submodelos: básico modelo, modelo intermedio y modelo detallado utilizan la misma fórmula de cálculo, es decir, E = asb? horno de arco eléctrico [2] donde e es la carga de trabajo mensual manual s es el tamaño del programa en KLOC; factor de ajuste de la carga de trabajo, es 1 en el modelo básico y se determina en función de los factores de costo en el modelo intermedio y el modelo detallado a y B son factores que cambian con el modelo de desarrollo, donde el modelo de desarrollo se divide en tres tipos: orgánico. , semiseparado e integrado.
El modelo de algoritmo de Cocomo es un método de estimación preciso y fácil de usar. Si el proyecto no tiene suficientes datos históricos, será difícil determinar los factores y coeficientes de ajuste. , lo que aumenta la dificultad de la estimación. Sin embargo, una vez establecido el modelo, la carga de trabajo y el ciclo del proyecto se pueden obtener a través del modelo Cocomo.
1.4 Técnica de estimación de Delphi. También se llama técnica de estimación experta, que la realiza una persona que se considera experta en la tarea, y gran parte del proceso de estimación se basa en un proceso de razonamiento poco claro e irrepetible, es decir, en la intuición. , el grado de conocimiento y comprensión del proyecto por parte de los expertos en esta tecnología es el enfoque y la dificultad de esta tecnología. Su calidad afecta directamente la precisión de los resultados de la estimación.
El proceso de estimación de la técnica de estimación Delphi. no tiene un método o fórmula de cálculo claro como la técnica de estimación de puntos de función o el modelo de algoritmo COCOMO, que estará relacionado con el proyecto a estimar. La información se envía a expertos, quienes luego se encargan de recopilarla y luego enviarla. Se envía a expertos para su estimación. Después de repetirlo varias veces, se obtiene un resultado de estimación, lo que indica que es solo una idea, por lo que puede usarse para estimar costos, riesgos, etc. Además de estimar la escala, es una estimación. Objetos seleccionados.
1.5 ¿Tecnología de estimación por simulación? Como sugiere el nombre, los resultados de la estimación se obtienen comparándolos con proyectos similares anteriores (como el campo de aplicación, el entorno, la complejidad, etc.). es un método de estimación aproximado, y la exactitud de los resultados de su estimación depende de la integridad y exactitud de los datos históricos del proyecto. Las técnicas de estimación análogas son similares a la técnica de estimación Delphi y se utilizan no sólo para la estimación del tamaño sino también para la estimación del costo y el esfuerzo. 1.6 Tecnología de estimación PERT. La tecnología de estimación PERT, también conocida como tecnología de estimación de evaluación de planes, estima varias entidades (como escala, costo, período de construcción, etc.). )Tres situaciones diferentes: resultados de estimación optimistas, resultados de estimación más probables y resultados de estimación pesimistas. Luego se calculan estos tres resultados para obtener la escala y la desviación estándar deseadas. Esta técnica de estimación se puede utilizar para estimar tanto el tamaño como el período de construcción. En comparación, los resultados de estimación de la tecnología PERT son más precisos que los de la tecnología de estimación analógica.
2 Ejemplos de aplicación de la tecnología de estimación de puntos de función
Supongamos un sistema de gestión de empleados Después del análisis de la demanda, se sabe que el sistema contiene las siguientes funciones:
(1) Mantenimiento de información de empleados: agregar empleados, modificar información de empleados, consultar información de empleados;
(2) Mantenimiento de información de departamentos: agregar departamentos, modificar información de departamentos;
(3) Salario Estadísticas: cuente los salarios anuales de los empleados e imprima el resultado.
Entre ellos, agregar archivos de empleados al sistema utilizará la información básica del empleado: identificación del empleado (control de etiquetas), nombre, sexo, edad, matrimonio, identificación del departamento educación: nombre de la escuela, especialización, antecedentes educativos; . La información del departamento se utilizará para el mantenimiento del departamento: ID del departamento (control de etiquetas) y nombre del departamento. La información salarial de los empleados es proporcionada por otro sistema financiero. La información salarial total incluye información básica de los empleados: identificación del empleado (control de etiquetas), nombre, nombre del departamento, información salarial: nivel salarial y monto del salario;
De acuerdo con los pasos de estimación de la tecnología de estimación de puntos funcionales, primero calcule los puntos funcionales no ajustados, es decir, la suma ponderada de varios elementos funcionales, los tipos y pesos complejos de los seis elementos funcionales del sistema de análisis. se muestran en la Tabla 2:
Supongamos que las 14 complicaciones técnicas de este proyecto son? ¿Tiene algún impacto? , es decir, los valores de peso son todos 2, entonces el punto de función de este proyecto es: ¿FP = 45? (0,65+0,01?14?2)=41,85. Si sabe qué idioma utiliza el proyecto, puede convertir la cantidad de puntos de función en líneas de código.
3Conclusión
Este artículo presenta brevemente varias técnicas de evaluación de proyectos de software actualmente populares. Este artículo se centra en presentar la tecnología de estimación de puntos de función y demuestra su método de aplicación a través de ejemplos. A través de la descripción de este artículo, se puede ver que cada técnica de estimación de proyectos tiene sus propias ventajas y desventajas. Si desea obtener resultados de estimación más precisos, no puede confiar solo en una técnica de estimación, sino que debe utilizar una variedad de técnicas de estimación de manera integral para obtener información más completa y resultados más precisos. También existen algunas herramientas de estimación automatizadas basadas en estas técnicas de estimación. Creo que a través del desarrollo continuo se resolverá el problema de la difícil estimación de costos de proyectos de software.
Materiales de referencia:
Zhu Shaomin. Gestión de proyectos de software[M]. Beijing: Prensa de la Universidad de Tsinghua, 2009-11.
[2] Qin Zheng et al. Gestión de proyectos de software [M] Beijing: Tsinghua University Press, 2004.
[3] Li, He Mei, Shubagdi, Wang Qing. Métodos y aplicaciones de estimación de costos de software [J].
[4] David Consulting Group, Manual de práctica de conteo de puntos de función, versión 4.2.1, enero de 2005,
[5] Liu Qian. La práctica de métodos de evaluación de proyectos de software en desarrollo ágil. Red de gestión de China, 2010-06-18.
Acerca de los autores: Wang Ying, mujer, estudiante de posgrado, especialidad en ingeniería de software; Jiang, hombre, estudiante de maestría, especialidad en ingeniería de software.
Haga clic en la página siguiente para obtener más detalles> & gt& gtMuestra de tecnología de software