stringtranslate.com

Inspección Fagan

Una inspección de Fagan es un proceso que intenta encontrar defectos en documentos (como el código fuente o especificaciones formales) durante varias fases del proceso de desarrollo de software . Lleva el nombre de Michael Fagan, a quien se le atribuye la invención de las inspecciones formales de software .

La inspección de Fagan define [ cita requerida ] un proceso como una determinada actividad con criterios de entrada y salida preespecificados . En cada proceso para el cual se especifican criterios de entrada y salida, las inspecciones de Fagan se pueden utilizar para validar si la salida del proceso cumple con los criterios de salida especificados para el proceso. La inspección de Fagan utiliza un método de revisión grupal para evaluar el resultado de un proceso determinado. [ cita necesaria ]

Ejemplos

Ejemplos de actividades para las que se puede utilizar la inspección Fagan son:

Uso

El proceso de desarrollo de software es una aplicación típica de la inspección Fagan. Como los costos de remediar un defecto son entre 10 y 100 veces menores en las primeras operaciones en comparación con corregir un defecto en la fase de mantenimiento, [1] es esencial encontrar los defectos lo más cerca posible del punto de inserción. Esto se hace inspeccionando el resultado de cada operación y comparándolo con los requisitos de resultado, o criterios de salida , de esa operación.

Criterios

Los criterios de ingreso son los criterios o requisitos que se deben cumplir para ingresar a un proceso específico. [2] Por ejemplo, para las inspecciones de Fagan, los documentos de alto y bajo nivel deben cumplir con criterios de entrada específicos antes de que puedan usarse para un proceso de inspección formal.

Los criterios de salida son los criterios o requisitos que se deben cumplir para completar un proceso específico. Por ejemplo, para las inspecciones de Fagan, el documento de bajo nivel debe cumplir con criterios de salida específicos (como se especifica en el documento de alto nivel) antes de que el proceso de desarrollo pueda pasar a la siguiente fase.

Los criterios de salida se especifican en un documento de alto nivel, que luego se utiliza como estándar con el que se compara el resultado de la operación (documento de bajo nivel) durante la inspección. Cualquier falla del documento de bajo nivel para satisfacer los requisitos de alto nivel especificados en el documento de alto nivel se denomina defectos [2] (y puede clasificarse además como defectos mayores o menores ). Los defectos menores no amenazan el correcto funcionamiento del software, pero pueden ser pequeños errores como errores ortográficos o una ubicación poco estética de los controles en una interfaz gráfica de usuario .

Operaciones típicas

Una inspección típica de Fagan consta de las siguientes operaciones: [2]

Modelo básico de inspección Fagan

Hacer un seguimiento

En la fase de seguimiento de una inspección Fagan, se deben verificar los defectos solucionados en la fase de retrabajo. El moderador suele ser responsable de verificar el retrabajo. A veces se puede aceptar un trabajo arreglado sin ser verificado, como cuando el defecto era trivial. En casos no triviales, el equipo de inspección (no sólo el moderador) realiza una nueva inspección completa. En esta fase todos los participantes coinciden en que los defectos se abordan adecuadamente.

Si la verificación falla, regrese al proceso de reelaboración.

Roles

El proceso de inspección normalmente lo realizan miembros del mismo equipo que está implementando el proyecto. Los participantes cumplen diferentes roles dentro del proceso de inspección: [3] [4]

Beneficios y resultados

Al utilizar inspecciones, la cantidad de errores en el producto final puede disminuir significativamente, creando un producto de mayor calidad. En el futuro, el equipo incluso podrá evitar errores, ya que las sesiones de inspección les brindarán información sobre los errores cometidos con más frecuencia tanto en el diseño como en la codificación, lo que permitirá evitar errores en la raíz de su aparición. Al mejorar continuamente el proceso de inspección, estos conocimientos se pueden utilizar aún más. [2]

Junto con los beneficios cualitativos mencionados anteriormente, se pueden lograr importantes "mejoras de costos", ya que evitar y detectar errores reducirá la cantidad de recursos necesarios para la depuración en fases posteriores del proyecto.

En la práctica, grandes corporaciones como IBM han informado de resultados muy positivos, [ cita necesaria ] , lo que indica que se pueden encontrar entre el 80% y el 90% de los defectos y se pueden alcanzar ahorros de recursos de hasta el 25%. [2]

Mejoras

Aunque se ha demostrado que el método de inspección de Fagan es muy eficaz, varios investigadores han sugerido mejoras. M. Genuchten [5] por ejemplo ha estado investigando el uso de un sistema de reuniones electrónicas (EMS) para mejorar la productividad de las reuniones con resultados positivos [6].

Otros investigadores proponen el uso de software que mantiene una base de datos de errores detectados y escanea automáticamente el código del programa en busca de estos errores comunes. [7] Esto nuevamente debería resultar en una mejora de la productividad.

Referencias

  1. ^ ab Fagan, ME (1976). "Inspecciones de diseño y código para reducir errores en el desarrollo de programas". Revista de sistemas IBM . 15 (3): 182–211. doi :10.1147/sj.153.0182. ISSN  0018-8670.
  2. ^ abcde Fagan, Michael E (2001) [1986]. "Avances en Inspecciones de Software". Pioneros y sus contribuciones a la ingeniería de software . págs. 335–360. doi :10.1007/978-3-642-48354-7_14. ISBN 978-3-540-42290-7.
  3. ^ YO, Fagan (1976). "Inspecciones de Diseño y Código para reducir errores en el desarrollo de programas" (PDF) . Revista de sistemas IBM . 15 (3): 182–211. doi :10.1147/sj.153.0182.
  4. ^ Eickelmann, NS; Ruffolo, F; Baik, J; Anant, A (2003). "Un estudio empírico de la modificación del proceso de inspección de Fagan y los principales efectos resultantes y los efectos de interacción entre los defectos encontrados, el esfuerzo requerido, la tasa de preparación e inspección, el número de miembros del equipo y la calidad del primer paso del producto". 27º Taller anual de ingeniería de software Goddard/IEEE de la NASA, 2002. Actas . pag. 58.doi : 10.1109 /SEW.2002.1199450. ISBN 978-0-7695-1855-8. S2CID  114935466.
  5. ^ https://ieeexplore.ieee.org/author/37621969200 [ URL básica ]
  6. ^ Genuchten, M; Cornelissen, W; Van Dijk, C (invierno de 1997-1998). "Apoyo a las Inspecciones con un Sistema de Reuniones Electrónicas". Revista de sistemas de información de gestión . 14 (3): 165-179. doi :10.1080/07421222.1997.11518179.
  7. ^ Doolan, EP (febrero de 1992). "Experiencia con el método de inspección de Fagan". Software: práctica y experiencia . 22 (2): 173–182. doi : 10.1002/spe.4380220205. S2CID  942973.

Ron Radice, Inspecciones de software de alta calidad y bajo costo, Paradoxicon Publishing (21 de septiembre de 2001)