SlideShare una empresa de Scribd logo
1 de 21
CURSO DE POSGRADO
Inspección de Software
Técnicas de lectura
Darío Macchi
DOCENTE
Técnicas de lectura
abril de 2013
P. 2Inspección de software
Visión General
Variabilidad de resultados de procesos de revisión son independientes
del proceso utilizado [Land et al., 1997], [Porter and Johnson, 1997], [Votta, 1993].
• ¿De qué depende?
abril de 2013
P. 3Inspección de software
Para que las necesitamos:
• Durante nuestra formación aprendemos a escribir artefactos pero no a
leerlos ni analizarlos [Basili et al., 1996].
• Capturan el conocimiento obtenido de buenas prácticas en detección
de defectos [Melo & Shull, 2001].
• Independizar resultados de habilidades del revisor.
Definición:
Serie de pasos cuyo propósito es lograr un entendimiento profundo
del artefacto revisado [Laitenberger & DeBaud, 2000].
Visión General
Beneficios:
• Aumentan la eficacia y eficiencia de los revisores en la detección de
defectos [Melo & Shull, 2001]
• Minimizan la influencia del revisor
(estándar de análisis de artefactos)
• Organizan la lectura y sirven de guía para el revisor
• Minimizan interrupciones (revisiones espontáneas)
• Muchas de ellas pueden adaptarse a cada equipo de
trabajo.
abril de 2013
P. 4Inspección de software
Técnicas
• Ad-hoc
• Checklist based reading (CBR)
• Stepwise abstraction
• OO code
• Use Case Reading (UCR) (McMeekin, 2005)
• Abstraction-Driven Reading (ADR)
• Traceability-Based Reading (TBR)
• Usage based reading (UBR)
• Perspective based reading (PBR)
abril de 2013
P. 5Inspección de software
Ad-hoc Reading (AHR)
• Depende de la habilidad, conocimiento y experiencia
para detectar defectos.
• Simple pero considerada como muy efectiva [McMeekin, 2005].
• Libertad (expertos) vs. falta de proceso (inexpertos).
Aplicable a:
• cualquier artefacto
abril de 2013
P. 6Inspección de software
Checklist Based Reading (CBR)
• Estándar usado en la industria [Laitenberger and DeBaud, 2000]
• La primera técnica recomendada por Fagan [Fagan, 1976].
• Describe “qué” buscar y no “cómo” encontrarlo [Laitenberger, 2000].
Heurísticas para creación/mantenimiento de checklists:
[A survey of software inspection checklists, Brykczynski, 1999]
• Deben ser actualizadas regularmente (incentiva lectura y uso).
• Deben ser de una página de largo.
• Deben escribirse de tal forma que la respuesta “no” indique un defecto.
• Los items no deben ser vagos/ambiguos.
• No se deben usar cuando otros métodos sean más eficientes.
Aplicable a:
• cualquier artefacto
abril de 2013
P. 7Inspección de software
Checklist Based Reading (CBR)
abril de 2013
P. 8Inspección de software
Checklist Based Reading (CBR)
abril de 2013
P. 9Inspección de software
Stepwise abstraction
• Introducido por la comunidad Cleanroom.
• Propuesta para casos en que CBR era inadecuado.
• Procedimiento:
– Consiste en leer una secuencia de sentencias y abstraer su
funcionalidad.
– Luego se continúa “hacia afuera” abstrayendo la funcionalidad del
siguiente bloque.
– Finaliza cuando se “deduce” la funcionalidad del conjunto
(requerimiento)
Aplicable a:
• Código
abril de 2013
P. 10Inspección de software
Stepwise Abstraction
Ejercicio
(20 mins.)
abril de 2013
P. 11Inspección de software
abril de 2013
P. 12Inspección de software
Use Case Reading (UCR)
• Busca asegurar que cada objeto es capaz de responder
de forma correcta a todos los posibles escenarios.
• Procedimiento:
– Elaborar escenarios a partir de los casos de uso basados en
precondiciones, criterios de entrada y salida, etc..
• Escenarios se “corren” en diagramas de secuencia.
– Cuando se llama a la clase inspeccionada en el diagrama, se cambia de
artefacto y se baja al código de dicha clase.
– Se verifica que el comportamiento de la clase y el estado posterior al
llamado sea el esperado.
Se aplica a:
• Código (OOP), aunque involucra artefactos de diseño.
abril de 2013
P. 13Inspección de software
Abstraction-Driven Reading (ADR)
• Busca obtener especificaciones abstractas de código en
lenguaje natural.
• Procedimiento:
– Se analiza el acoplamiento entre las clases de un sistema.
– Las de menor acoplamiento se analizan primero.
• Se analiza el acoplamiento entre los métodos.
• Los de menor acoplamiento se analizan primero.
• Se realiza una abstracción en lenguaje natural y luego se comienza a subir
el nivel de abstracción.
– Al escribir abstracciones se van escribiendo defectos detectados.
Se aplica a:
• Código (OOP)
abril de 2013
P. 14Inspección de software
Abstraction-Driven Reading (ADR)
abril de 2013
P. 15Inspección de software
Ejemplo [Dunsmore, 2001]
Traceability-Based Reading (TBR)
• Busca que los documentos de diseño sean claros y
libres de ambigüedad [Travassos, 1999].
• Documentos deben ser leídos:
• “horizontalmente” para asegurar la consistencia de los mismos.
• Diagrama de clases vs. descripción de clases
• Diagramas de secuencia vs. diagramas de estado
• “verticalmente” para asegurar que correctitud y completitud respecto
a requerimientos funcionales.
• Descripción de clases vs. requerimientos
• Diagramas de secuencia vs. casos de uso
Aplicable a:
• Artefactos de diseño de alto nivel (OOP)
abril de 2013
P. 16Inspección de software
Usage Based Reading (UBR)
• Se enfoca en la calidad del producto desde la perspectiva del
usuario.
• Defectos con más impacto negativo según percepción de
calidad del usuario.
• Se priorizan los casos de uso por percepción.
• Procedimiento:
– Una vez priorizados los casos de uso se elaboran escenarios (como en
UCR).
– Se desarrolla el escenario desde los requerimientos hasta el artefacto en
revisión.
– Defectos detectados no son tratados como iguales.
Aplicable a:
• Cualquier artefacto
abril de 2013
P. 17Inspección de software
Usage Based Reading (UBR)
Ejemplo sobre documento de diseño:
1. Se elige el caso de uso de mayor prioridad.
2. Se “corre” el caso de uso en el documento de diseño identificando
posibles defectos.
3. Se continúa con el procedimiento hasta agotar el tiempo o los
casos de uso relacionados con el documento de diseño.
abril de 2013
P. 18Inspección de software
Perspective Based Reading (PBR)
• Busca que la lectura se realiza desde la perspectiva de
distintos stakeholders [Basili et al., 1996], [Laitenberger and DeBaud, 1997].
• No existe una definición monolítica de calidad.
• Procedimiento:
– Se determinan las perspectivas de lectura (roles).
– Se elaboran escenarios para cada perspectiva (reutilizables).
– Se realiza la lectura siguiendo el escenario.
Aplicable a:
• Cualquier artefacto
abril de 2013
P. 19Inspección de software
Perspective Based Reading (PBR)
Ejercicio
(30 mins.)
abril de 2013
P. 20Inspección de software
Referencias
[Basili et al, 1996] Basili, V., Green, S., Laitenberger, O., Lanubile, F., Shull, F., Sorumgard, S., and Zelkowitz, M. (1996). The
Empirical Investigation of Perspective-based Reading. Journal of Empirical Software Engi- neering, 2(1):133–164.
[Basili et al., 1996] Basili, VR, Scott Green, & Oliver Laitenberger. 1996. “The empirical investigation of perspective-based
reading”. Empirical Software …
[Brykczynski, 1999] Brykczynski, Bill. 1999. “A survey of software inspection checklists”. ACM SIGSOFT Software Engineering
Notes 24(1)
(Dunsmore, 2001) Dunsmore, A. 2001. “An Empirical Investigation of Three Reading Techniques for Object-Oriented Code
Inspection”. : 1–44.
[Laitenberger & DeBaud, 1997] Laitenberger, O. and DeBaud, J.-M. (1997). Perspective-based Reading of Code Documents at
Robert Bosch GmbH. Information and Software Technology, 39:781–791.
[Laitenberger & DeBaud, 2000] Laitenberger, Oliver, & Jean Marc DeBaud. 2000. “An Encompassing Life-Cycle Centric Survey of
Software Inspection”. Journal of Systems and Software 50(1): 5–31.
[Laitenberger, 2000] Laitenberger, Oliver. 2000. “Cost-effective Detection of Software Defects through Perspective-based
Inspections”.
[McMeekin, 2005] McMeekin, David Andrew. 2005. “A Comparison of Code Inspection Techniques.”.
[Melo & Shull, 2001] Melo, Walcélio, & Forrest Shull. 2001. Software Review Guidelines.
[Oladele, 2010] Oladele, Rufus O. 2010. “Reading Techniques for Software Inspection: Review and Analysis”. Journal of Institute
of Mathematics & Computer Sciences (Computer Science Series) 21(2): 199–209.
[Travassos et al., 1999] Travassos, Guilherme Horta et al. 1999. “Detecting Defects in Object Oriented Designs?: Using Reading
Techniques to Increase Software Quality.” In Conference on Object-Oriented Programming, Systems, Languages, and
Applications (OOPSLA),
[Wong, 2006) Wong, Yuk Kuen. 2006. Modern Software Review?: Techniques and Technologies.
abril de 2013
P. 21Inspección de software

Más contenido relacionado

Similar a Técnicas de lectura para revisiones de software

ELEMENTOS DE LA CONFIGURACION DE SOFTWARE.ppt
ELEMENTOS DE LA CONFIGURACION DE SOFTWARE.pptELEMENTOS DE LA CONFIGURACION DE SOFTWARE.ppt
ELEMENTOS DE LA CONFIGURACION DE SOFTWARE.ppt
Marko Zapata
 
Actividad remedial_Maria_Albarran
Actividad remedial_Maria_AlbarranActividad remedial_Maria_Albarran
Actividad remedial_Maria_Albarran
Marijoalbarranb
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
mat3matik
 
Ingeniería%20de%20 software[1], maryy
Ingeniería%20de%20 software[1], maryyIngeniería%20de%20 software[1], maryy
Ingeniería%20de%20 software[1], maryy
nelly
 

Similar a Técnicas de lectura para revisiones de software (20)

Ciclo de Vida y roles
Ciclo de Vida y roles Ciclo de Vida y roles
Ciclo de Vida y roles
 
unidad 4..
unidad 4..unidad 4..
unidad 4..
 
Modelos de Procesos de Software
Modelos de Procesos de SoftwareModelos de Procesos de Software
Modelos de Procesos de Software
 
ELEMENTOS DE LA CONFIGURACION DE SOFTWARE.ppt
ELEMENTOS DE LA CONFIGURACION DE SOFTWARE.pptELEMENTOS DE LA CONFIGURACION DE SOFTWARE.ppt
ELEMENTOS DE LA CONFIGURACION DE SOFTWARE.ppt
 
Ingeniería de software - definiciones
Ingeniería de software - definicionesIngeniería de software - definiciones
Ingeniería de software - definiciones
 
P1 Presentación del curso Sesión 1.pdf
P1 Presentación del curso Sesión 1.pdfP1 Presentación del curso Sesión 1.pdf
P1 Presentación del curso Sesión 1.pdf
 
Actividad remedial_Maria_Albarran
Actividad remedial_Maria_AlbarranActividad remedial_Maria_Albarran
Actividad remedial_Maria_Albarran
 
Unidad 4
Unidad 4Unidad 4
Unidad 4
 
Examen omar
Examen omarExamen omar
Examen omar
 
Ensayo sobre la calidad de software
Ensayo sobre la calidad de softwareEnsayo sobre la calidad de software
Ensayo sobre la calidad de software
 
Ensayo sobre la calidad de software
Ensayo sobre la calidad de softwareEnsayo sobre la calidad de software
Ensayo sobre la calidad de software
 
Ensayo sobre la calidad de software
Ensayo sobre la calidad de softwareEnsayo sobre la calidad de software
Ensayo sobre la calidad de software
 
Clase 11
Clase 11Clase 11
Clase 11
 
Calidad del producto software en la programación en pareja con y sin apoyo de...
Calidad del producto software en la programación en pareja con y sin apoyo de...Calidad del producto software en la programación en pareja con y sin apoyo de...
Calidad del producto software en la programación en pareja con y sin apoyo de...
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetos
 
Mod 6.2 introducción al análisis
Mod 6.2 introducción al análisisMod 6.2 introducción al análisis
Mod 6.2 introducción al análisis
 
01 Presentacion curso ingeniería de software
01 Presentacion curso ingeniería de software01 Presentacion curso ingeniería de software
01 Presentacion curso ingeniería de software
 
Tarea 1 Reconocimiento
Tarea 1 ReconocimientoTarea 1 Reconocimiento
Tarea 1 Reconocimiento
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
Ingeniería%20de%20 software[1], maryy
Ingeniería%20de%20 software[1], maryyIngeniería%20de%20 software[1], maryy
Ingeniería%20de%20 software[1], maryy
 

Último

6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
Wilian24
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
jlorentemartos
 

Último (20)

Los dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la VerdadLos dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la Verdad
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
Novena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan EudesNovena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan Eudes
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdf
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.pptFUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
Linea del tiempo - Filosofos Cristianos.docx
Linea del tiempo - Filosofos Cristianos.docxLinea del tiempo - Filosofos Cristianos.docx
Linea del tiempo - Filosofos Cristianos.docx
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 

Técnicas de lectura para revisiones de software

  • 1. CURSO DE POSGRADO Inspección de Software Técnicas de lectura Darío Macchi DOCENTE
  • 2. Técnicas de lectura abril de 2013 P. 2Inspección de software
  • 3. Visión General Variabilidad de resultados de procesos de revisión son independientes del proceso utilizado [Land et al., 1997], [Porter and Johnson, 1997], [Votta, 1993]. • ¿De qué depende? abril de 2013 P. 3Inspección de software Para que las necesitamos: • Durante nuestra formación aprendemos a escribir artefactos pero no a leerlos ni analizarlos [Basili et al., 1996]. • Capturan el conocimiento obtenido de buenas prácticas en detección de defectos [Melo & Shull, 2001]. • Independizar resultados de habilidades del revisor. Definición: Serie de pasos cuyo propósito es lograr un entendimiento profundo del artefacto revisado [Laitenberger & DeBaud, 2000].
  • 4. Visión General Beneficios: • Aumentan la eficacia y eficiencia de los revisores en la detección de defectos [Melo & Shull, 2001] • Minimizan la influencia del revisor (estándar de análisis de artefactos) • Organizan la lectura y sirven de guía para el revisor • Minimizan interrupciones (revisiones espontáneas) • Muchas de ellas pueden adaptarse a cada equipo de trabajo. abril de 2013 P. 4Inspección de software
  • 5. Técnicas • Ad-hoc • Checklist based reading (CBR) • Stepwise abstraction • OO code • Use Case Reading (UCR) (McMeekin, 2005) • Abstraction-Driven Reading (ADR) • Traceability-Based Reading (TBR) • Usage based reading (UBR) • Perspective based reading (PBR) abril de 2013 P. 5Inspección de software
  • 6. Ad-hoc Reading (AHR) • Depende de la habilidad, conocimiento y experiencia para detectar defectos. • Simple pero considerada como muy efectiva [McMeekin, 2005]. • Libertad (expertos) vs. falta de proceso (inexpertos). Aplicable a: • cualquier artefacto abril de 2013 P. 6Inspección de software
  • 7. Checklist Based Reading (CBR) • Estándar usado en la industria [Laitenberger and DeBaud, 2000] • La primera técnica recomendada por Fagan [Fagan, 1976]. • Describe “qué” buscar y no “cómo” encontrarlo [Laitenberger, 2000]. Heurísticas para creación/mantenimiento de checklists: [A survey of software inspection checklists, Brykczynski, 1999] • Deben ser actualizadas regularmente (incentiva lectura y uso). • Deben ser de una página de largo. • Deben escribirse de tal forma que la respuesta “no” indique un defecto. • Los items no deben ser vagos/ambiguos. • No se deben usar cuando otros métodos sean más eficientes. Aplicable a: • cualquier artefacto abril de 2013 P. 7Inspección de software
  • 8. Checklist Based Reading (CBR) abril de 2013 P. 8Inspección de software
  • 9. Checklist Based Reading (CBR) abril de 2013 P. 9Inspección de software
  • 10. Stepwise abstraction • Introducido por la comunidad Cleanroom. • Propuesta para casos en que CBR era inadecuado. • Procedimiento: – Consiste en leer una secuencia de sentencias y abstraer su funcionalidad. – Luego se continúa “hacia afuera” abstrayendo la funcionalidad del siguiente bloque. – Finaliza cuando se “deduce” la funcionalidad del conjunto (requerimiento) Aplicable a: • Código abril de 2013 P. 10Inspección de software
  • 11. Stepwise Abstraction Ejercicio (20 mins.) abril de 2013 P. 11Inspección de software
  • 12. abril de 2013 P. 12Inspección de software
  • 13. Use Case Reading (UCR) • Busca asegurar que cada objeto es capaz de responder de forma correcta a todos los posibles escenarios. • Procedimiento: – Elaborar escenarios a partir de los casos de uso basados en precondiciones, criterios de entrada y salida, etc.. • Escenarios se “corren” en diagramas de secuencia. – Cuando se llama a la clase inspeccionada en el diagrama, se cambia de artefacto y se baja al código de dicha clase. – Se verifica que el comportamiento de la clase y el estado posterior al llamado sea el esperado. Se aplica a: • Código (OOP), aunque involucra artefactos de diseño. abril de 2013 P. 13Inspección de software
  • 14. Abstraction-Driven Reading (ADR) • Busca obtener especificaciones abstractas de código en lenguaje natural. • Procedimiento: – Se analiza el acoplamiento entre las clases de un sistema. – Las de menor acoplamiento se analizan primero. • Se analiza el acoplamiento entre los métodos. • Los de menor acoplamiento se analizan primero. • Se realiza una abstracción en lenguaje natural y luego se comienza a subir el nivel de abstracción. – Al escribir abstracciones se van escribiendo defectos detectados. Se aplica a: • Código (OOP) abril de 2013 P. 14Inspección de software
  • 15. Abstraction-Driven Reading (ADR) abril de 2013 P. 15Inspección de software Ejemplo [Dunsmore, 2001]
  • 16. Traceability-Based Reading (TBR) • Busca que los documentos de diseño sean claros y libres de ambigüedad [Travassos, 1999]. • Documentos deben ser leídos: • “horizontalmente” para asegurar la consistencia de los mismos. • Diagrama de clases vs. descripción de clases • Diagramas de secuencia vs. diagramas de estado • “verticalmente” para asegurar que correctitud y completitud respecto a requerimientos funcionales. • Descripción de clases vs. requerimientos • Diagramas de secuencia vs. casos de uso Aplicable a: • Artefactos de diseño de alto nivel (OOP) abril de 2013 P. 16Inspección de software
  • 17. Usage Based Reading (UBR) • Se enfoca en la calidad del producto desde la perspectiva del usuario. • Defectos con más impacto negativo según percepción de calidad del usuario. • Se priorizan los casos de uso por percepción. • Procedimiento: – Una vez priorizados los casos de uso se elaboran escenarios (como en UCR). – Se desarrolla el escenario desde los requerimientos hasta el artefacto en revisión. – Defectos detectados no son tratados como iguales. Aplicable a: • Cualquier artefacto abril de 2013 P. 17Inspección de software
  • 18. Usage Based Reading (UBR) Ejemplo sobre documento de diseño: 1. Se elige el caso de uso de mayor prioridad. 2. Se “corre” el caso de uso en el documento de diseño identificando posibles defectos. 3. Se continúa con el procedimiento hasta agotar el tiempo o los casos de uso relacionados con el documento de diseño. abril de 2013 P. 18Inspección de software
  • 19. Perspective Based Reading (PBR) • Busca que la lectura se realiza desde la perspectiva de distintos stakeholders [Basili et al., 1996], [Laitenberger and DeBaud, 1997]. • No existe una definición monolítica de calidad. • Procedimiento: – Se determinan las perspectivas de lectura (roles). – Se elaboran escenarios para cada perspectiva (reutilizables). – Se realiza la lectura siguiendo el escenario. Aplicable a: • Cualquier artefacto abril de 2013 P. 19Inspección de software
  • 20. Perspective Based Reading (PBR) Ejercicio (30 mins.) abril de 2013 P. 20Inspección de software
  • 21. Referencias [Basili et al, 1996] Basili, V., Green, S., Laitenberger, O., Lanubile, F., Shull, F., Sorumgard, S., and Zelkowitz, M. (1996). The Empirical Investigation of Perspective-based Reading. Journal of Empirical Software Engi- neering, 2(1):133–164. [Basili et al., 1996] Basili, VR, Scott Green, & Oliver Laitenberger. 1996. “The empirical investigation of perspective-based reading”. Empirical Software … [Brykczynski, 1999] Brykczynski, Bill. 1999. “A survey of software inspection checklists”. ACM SIGSOFT Software Engineering Notes 24(1) (Dunsmore, 2001) Dunsmore, A. 2001. “An Empirical Investigation of Three Reading Techniques for Object-Oriented Code Inspection”. : 1–44. [Laitenberger & DeBaud, 1997] Laitenberger, O. and DeBaud, J.-M. (1997). Perspective-based Reading of Code Documents at Robert Bosch GmbH. Information and Software Technology, 39:781–791. [Laitenberger & DeBaud, 2000] Laitenberger, Oliver, & Jean Marc DeBaud. 2000. “An Encompassing Life-Cycle Centric Survey of Software Inspection”. Journal of Systems and Software 50(1): 5–31. [Laitenberger, 2000] Laitenberger, Oliver. 2000. “Cost-effective Detection of Software Defects through Perspective-based Inspections”. [McMeekin, 2005] McMeekin, David Andrew. 2005. “A Comparison of Code Inspection Techniques.”. [Melo & Shull, 2001] Melo, Walcélio, & Forrest Shull. 2001. Software Review Guidelines. [Oladele, 2010] Oladele, Rufus O. 2010. “Reading Techniques for Software Inspection: Review and Analysis”. Journal of Institute of Mathematics & Computer Sciences (Computer Science Series) 21(2): 199–209. [Travassos et al., 1999] Travassos, Guilherme Horta et al. 1999. “Detecting Defects in Object Oriented Designs?: Using Reading Techniques to Increase Software Quality.” In Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), [Wong, 2006) Wong, Yuk Kuen. 2006. Modern Software Review?: Techniques and Technologies. abril de 2013 P. 21Inspección de software