Desenvolvimento de uma Técnica de Inspeção de Diagrama de ... · Desenvolvimento de uma Técnica...

32
Desenvolvimento de uma Técnica de Inspeção de Diagrama de Estados com apoio dos Diagramas de Atividades descrevendo os Casos de Uso do Software Karen Miyuki Nakazato Guilherme Horta Travassos {kmn, ght}@cos.ufrj.br

Transcript of Desenvolvimento de uma Técnica de Inspeção de Diagrama de ... · Desenvolvimento de uma Técnica...

Page 1: Desenvolvimento de uma Técnica de Inspeção de Diagrama de ... · Desenvolvimento de uma Técnica de Inspeção ... modelos de fluxos de atividades em projeto de software? • Activity

Desenvolvimento de uma Técnica de Inspeção de Diagrama de Estados com apoio dos

Diagramas de Atividades descrevendo os Casos de Uso do Software

Karen Miyuki Nakazato

Guilherme Horta Travassos

{kmn, ght}@cos.ufrj.br

Page 2: Desenvolvimento de uma Técnica de Inspeção de Diagrama de ... · Desenvolvimento de uma Técnica de Inspeção ... modelos de fluxos de atividades em projeto de software? • Activity

2

Agenda

• Contextualização

• quasi-Revisão Sistemática

• Técnica Shiô

• Estudos Experimentais

• Análise dos dados

• Conclusão

Page 3: Desenvolvimento de uma Técnica de Inspeção de Diagrama de ... · Desenvolvimento de uma Técnica de Inspeção ... modelos de fluxos de atividades em projeto de software? • Activity

3

Contextualização

• Uso de diagramas UML para apoiar a atividade de projeto de um software.

– Especificação de casos de uso através de diagramas de atividades (Massolar, 2011)

• Necessidade de garantir que os requisitos especificados condizem com os modelos gerados.

• Diferentes técnicas de inspeção:

– Ad-hoc;

– Checklists;

– Técnicas de leitura.

Page 4: Desenvolvimento de uma Técnica de Inspeção de Diagrama de ... · Desenvolvimento de uma Técnica de Inspeção ... modelos de fluxos de atividades em projeto de software? • Activity

4

Contextualização

• Técnicas de inspeção para diagramas UML:

– OORTs (Travassos et al., 1999);

– OORTs/ProDeS (Marucci et al., 2002);

– ActCheck (de Mello, 2011).

• Necessidade de garantir que os demais diagramas UML estão consistentes e corretos em relação ao diagramas de atividades (casos de uso).

Page 5: Desenvolvimento de uma Técnica de Inspeção de Diagrama de ... · Desenvolvimento de uma Técnica de Inspeção ... modelos de fluxos de atividades em projeto de software? • Activity

5

Processo de Verificação - Nível D – Resultados Esperados

• VER 1. Produtos de trabalho a serem verificados são identificados;

• VER 2. Uma estratégia de verificação é desenvolvida e implementada, estabelecendo cronograma, revisores envolvidos, métodos para verificação e qualquer material a ser utilizado na verificação;

• VER 3. Critérios e procedimentos para verificação dos produtos de trabalho a serem verificados são identificados e um ambiente para verificação é estabelecido;

• VER 4. Atividades de verificação, incluindo testes e revisões por pares, são executadas;

• VER 5. Defeitos são identificados e registrados;

• VER 6. Resultados de atividades de verificação são analisados e disponibilizados para as partes interessadas.

Page 6: Desenvolvimento de uma Técnica de Inspeção de Diagrama de ... · Desenvolvimento de uma Técnica de Inspeção ... modelos de fluxos de atividades em projeto de software? • Activity

6

quasi-Revisão Sistemática

• Questão Principal: Quais são as técnicas de inspeção aplicáveis aos modelos de fluxos de atividades em projeto de software?

• Activity Diagram Inspection on Requirements Specification (de Mello et al., 2010)

• An Inspection Approach for Conceptual Models in Notations Derived from UML: A Case Study (Tanriöver e Bilgen,2007)

• Obstacles to Comprehension in Usage Based Reading (Cooper et al., 2007)

• Resultado: carência de técnicas de inspeção entre diagramas de fluxos de atividades;

Page 7: Desenvolvimento de uma Técnica de Inspeção de Diagrama de ... · Desenvolvimento de uma Técnica de Inspeção ... modelos de fluxos de atividades em projeto de software? • Activity

7

Técnica Shiô

*Shiô significa sal em japonês. Os japoneses utilizam o sal para proteção (viagens, dohyō).

Page 8: Desenvolvimento de uma Técnica de Inspeção de Diagrama de ... · Desenvolvimento de uma Técnica de Inspeção ... modelos de fluxos de atividades em projeto de software? • Activity

8

Premissas para utilização de Shiô

• Requisitos e casos de uso estão previamente inspecionados;

• Diagramas de atividades modelados com UseCaseAgent;

• Diagramas de atividades estão inspecionados (ActCheck);

• Demais diagramas UML representam o mesmo sistema.

Page 9: Desenvolvimento de uma Técnica de Inspeção de Diagrama de ... · Desenvolvimento de uma Técnica de Inspeção ... modelos de fluxos de atividades em projeto de software? • Activity

9

Page 10: Desenvolvimento de uma Técnica de Inspeção de Diagrama de ... · Desenvolvimento de uma Técnica de Inspeção ... modelos de fluxos de atividades em projeto de software? • Activity

10

Exemplo da Técnica Shiô

Page 11: Desenvolvimento de uma Técnica de Inspeção de Diagrama de ... · Desenvolvimento de uma Técnica de Inspeção ... modelos de fluxos de atividades em projeto de software? • Activity

11

Exemplo da Técnica Shiô

Page 12: Desenvolvimento de uma Técnica de Inspeção de Diagrama de ... · Desenvolvimento de uma Técnica de Inspeção ... modelos de fluxos de atividades em projeto de software? • Activity

12

Técnica Shiô – Primeiro Passo

Page 13: Desenvolvimento de uma Técnica de Inspeção de Diagrama de ... · Desenvolvimento de uma Técnica de Inspeção ... modelos de fluxos de atividades em projeto de software? • Activity

13

Técnica Shiô – Primeiro Passo

Page 14: Desenvolvimento de uma Técnica de Inspeção de Diagrama de ... · Desenvolvimento de uma Técnica de Inspeção ... modelos de fluxos de atividades em projeto de software? • Activity

14

Técnica Shiô – Segundo Passo

Page 15: Desenvolvimento de uma Técnica de Inspeção de Diagrama de ... · Desenvolvimento de uma Técnica de Inspeção ... modelos de fluxos de atividades em projeto de software? • Activity

15

Técnica Shiô – Terceiro Passo

Page 16: Desenvolvimento de uma Técnica de Inspeção de Diagrama de ... · Desenvolvimento de uma Técnica de Inspeção ... modelos de fluxos de atividades em projeto de software? • Activity

16

Técnica Shiô – Terceiro Passo

Page 17: Desenvolvimento de uma Técnica de Inspeção de Diagrama de ... · Desenvolvimento de uma Técnica de Inspeção ... modelos de fluxos de atividades em projeto de software? • Activity

17

Técnica Shiô – Quarto Passo

Page 18: Desenvolvimento de uma Técnica de Inspeção de Diagrama de ... · Desenvolvimento de uma Técnica de Inspeção ... modelos de fluxos de atividades em projeto de software? • Activity

18

Técnica Shiô – Quarto Passo

Page 19: Desenvolvimento de uma Técnica de Inspeção de Diagrama de ... · Desenvolvimento de uma Técnica de Inspeção ... modelos de fluxos de atividades em projeto de software? • Activity

19

Técnica Shiô – Quinto Passo

• Conhecimento prévio do domínio;

• Similar à inspeção ad-hoc: – Transições omissas?

– Conceito diferente do conhecimento do inspetor?

– Sequência de transições e estados representam a classe/objeto?

Page 20: Desenvolvimento de uma Técnica de Inspeção de Diagrama de ... · Desenvolvimento de uma Técnica de Inspeção ... modelos de fluxos de atividades em projeto de software? • Activity

20

1º Estudo Experimental

• Pós graduação (Ad-hoc) e Graduação (Shiô)

Analisar A inspeção utilizando as técnicas Shiô e ad-hoc.

Com o propósito de Caracterizar

Com respeito ao Desempenho das técnicas na detecção de defeitos (eficácia e eficiência)

Do ponto de vista do Pesquisador

No contexto de Alunos de graduação na disciplina de Engenharia de Software Orientado a Objeto da UFRJ e alunos da Pós Graduação na disciplina de Engenharia de Software Experimental do PESC/COPPE/UFRJ, utilizando modelos reais de um projeto de um sistema de informação Web.

Rodada 1 Rodada 2

Grupo 1 Conta Movimento

Grupo 2 Movimento Conta

Page 21: Desenvolvimento de uma Técnica de Inspeção de Diagrama de ... · Desenvolvimento de uma Técnica de Inspeção ... modelos de fluxos de atividades em projeto de software? • Activity

21

UFRJ – Pós Graduação

• Inspeção ad-hoc

• 9 participantes

• Treinamento de aproximadamente 1h.

• Prazo de 2 dias

• Baseline de defeitos

• Outlier = não encontrou nenhum defeito.

• Conta

– 8 defeitos

– 3 outliers

• Movimento

– 14 defeitos

– 1 outlier

Page 22: Desenvolvimento de uma Técnica de Inspeção de Diagrama de ... · Desenvolvimento de uma Técnica de Inspeção ... modelos de fluxos de atividades em projeto de software? • Activity

22

UFRJ – Pós Graduação

Conta

Movimento

Defeito Média Desvio Padrão

Rodada 1 3,25 1,258

Rodada 2 4 NA

Tempo Média Desvio Padrão

Rodada 1 36 13,46

Rodada 2 61 NA

Defeito Média Desvio Padrão

Rodada 1 4,33 3,21

Rodada 2 4,6 0,547

Tempo Média Desvio Padrão

Rodada 1 113 24,06

Rodada 2 64 13,26

Page 23: Desenvolvimento de uma Técnica de Inspeção de Diagrama de ... · Desenvolvimento de uma Técnica de Inspeção ... modelos de fluxos de atividades em projeto de software? • Activity

23

UFRJ - Graduação

• Técnica Shiô

• 26 participantes

• Treinamento de aproximadamente 1h.

• Prazo de 2 dias

• Conta – 11 defeitos

– 20 responderam

– 11 outliers (9 inspetores válidos)

• Movimento – 16 defeitos

– 20 responderam

– 9 outliers (11 inspetores válidos)

Page 24: Desenvolvimento de uma Técnica de Inspeção de Diagrama de ... · Desenvolvimento de uma Técnica de Inspeção ... modelos de fluxos de atividades em projeto de software? • Activity

24

UFRJ – Graduação

Conta

Movimento

Defeito Média Desvio Padrão

Rodada 1 3,5 2,38

Rodada 2 5,4 1,94

Tempo Média Desvio Padrão

Rodada 1 103,5 57,28

Rodada 2 112,2 66,82

Defeito Média Desvio Padrão

Rodada 1 6,16 4,99

Rodada 2 2,6 1,34

Tempo Média Desvio Padrão

Rodada 1 206,66 18,95

Rodada 2 138,2 68,56

Page 25: Desenvolvimento de uma Técnica de Inspeção de Diagrama de ... · Desenvolvimento de uma Técnica de Inspeção ... modelos de fluxos de atividades em projeto de software? • Activity

25

Análise Preliminar dos Dados

Conta Movimento

Page 26: Desenvolvimento de uma Técnica de Inspeção de Diagrama de ... · Desenvolvimento de uma Técnica de Inspeção ... modelos de fluxos de atividades em projeto de software? • Activity

26

Adversidades no Estudo

• Grande número de cópias;

• Troca de modelos;

• Grande quantidade de falsos positivos;

• Regras de negócio desconsideradas;

– Regras de negócio separadas dos modelos

Page 27: Desenvolvimento de uma Técnica de Inspeção de Diagrama de ... · Desenvolvimento de uma Técnica de Inspeção ... modelos de fluxos de atividades em projeto de software? • Activity

27

2º Estudo Experimental

• 16 participantes no início

• Adversidades:

– Troca de modelos entre grupos;

– Grupos desbalanceados; 10 Conta

• 1ª Rodada: 11 inspeções (3 outliers)

– 4 participaram do estudo 1 Movimento

• Cópias

• Envio apenas do relatório de discrepância

Rodada 1 (Ad-hoc) Rodada 2 (Shiô)

Grupo 1 Conta Movimento

Grupo 2 Movimento Conta

Page 28: Desenvolvimento de uma Técnica de Inspeção de Diagrama de ... · Desenvolvimento de uma Técnica de Inspeção ... modelos de fluxos de atividades em projeto de software? • Activity

28

Questionário de Avaliação

• 1º Estudo

– 20 participantes

– 7 responderam

• 1 cópia

• 2º Estudo

– 4 participantes

– 1 respondeu

𝑛 = 𝑁 −

1𝜀0

𝑁 +1𝜀0

Grau de confiabilidade de 31,81%

• Maioria não seguiu a técnica por considerarem um certo grau de dificuldade

• Técnica auxiliou pouco

• Possível uso no futuro

• Treinamento adequado

• Modelo de Contas mais fácil

Page 29: Desenvolvimento de uma Técnica de Inspeção de Diagrama de ... · Desenvolvimento de uma Técnica de Inspeção ... modelos de fluxos de atividades em projeto de software? • Activity

29

Análise qualitativa dos inspetores

• Maior experiência

– Inspeção de UCs

– Inspeção em DAs

– Inspeção em DEs

– Inspeção de outros diagramas UML

• Menos experiência

– Gerência de sistemas

– Desenvolvimento de sistemas

Page 30: Desenvolvimento de uma Técnica de Inspeção de Diagrama de ... · Desenvolvimento de uma Técnica de Inspeção ... modelos de fluxos de atividades em projeto de software? • Activity

30

Ameaças à Validade e Conclusão

Ameças à Validade

• Aderência à técnica;

• Eventos externos;

• Medição do tempo nas inspeções;

• Problema em identificar cores;

• Estudo não pode ser generalizado.

Conclusão

• Técnica Shiô encontra defeitos;

• Despende muito tempo;

• Técnica Shiô encontra defeitos que ad-hoc não encontra;

Inspetores mais experientes

Técnica Shiô

Melhor rendimento

Trabalhos Futuros • Ferramenta e outros

estudos.

Page 31: Desenvolvimento de uma Técnica de Inspeção de Diagrama de ... · Desenvolvimento de uma Técnica de Inspeção ... modelos de fluxos de atividades em projeto de software? • Activity

31

Referências Bibliográficas Cooper, D. J. A., Von Konsky, B. R., Robey, M. C., McMeekin, D. A. (2007). “Obstacles to Comprehension in

Usage Based Reading”, 18th Australian Software Engineering Conference (ASWEC´07), Abril, Melbourne, Vic, pp. 233-244.

de Mello, R. M. (2011). “Técnica para Inspeção de Diagramas de Atividade”, Dissertação de Mestrado, Programa de Engenharia de Sistemas e Computação, COPPE/UFRJ, Rio de Janeiro, RJ, Brasil.

de Mello, R. M., Pereira, W. M., Travassos, G. H. (2010). “Activity Diagram Inspection on Requirements Specification”, XIV Simpósio Brasileiro de Engenharia de Software, Salvador, Bahia, Brasil, pp. 168-177.

Gardner, M.J; Altman, D. G . (1989). “Statistics with Confidence: confidence intervals and statistical guidelines”, . London: BMJ Publishing Group.

Marucci, R. A., Fabri, S., Maldonado, J. C., Travassos, G. H. (2002). “OORTs/ProDeS: Definição de Técnicas de Leitura para um Processo de Software Orientado a Objetos”, In: Simpósio Brasileiro de Qualidade de Software, Gramado, Rio Grande do Sul.

Massolar, J. (2011). “Uma Abordagem para Especificação de Requisitos Dirigida por Modelos Integrada ao Controle da Qualidade de Aplicações Web”, Tese de Doutorado, Programa de Engenharia de Sistemas e Computação, COPPE/UFRJ

Tanriöver, Ö., Bilgen, S. (2007). “An Inspection Approach for Conceptual Models in Notations Derived from UML: A Case Study”, ISCIS 2007: 22nd International International Symposium on Computer and Information Sciences, Setembro, Ankara, Istambul, pp. 1-6.

Travassos, G. H. Shull, F. Fredericks, M. Basili, V. R. (1999). “Detecting Defects in Object-Oriented Designs: Using Reading Techniques to Increase Software Quality”, Proc. 14th International Conference on Object Oriented Programming Systems, Languages & Applications (OOPSLA´99), New York, NY, USA, pp. 47-56.

Page 32: Desenvolvimento de uma Técnica de Inspeção de Diagrama de ... · Desenvolvimento de uma Técnica de Inspeção ... modelos de fluxos de atividades em projeto de software? • Activity

Desenvolvimento de uma Técnica de Inspeção de Diagrama de Estados com apoio dos

Diagramas de Atividades descrevendo os Casos de Uso do Software

Karen Miyuki Nakazato

Guilherme Horta Travassos