desenvolvimento de uma técnica de inspeção de diagrama de ... · desenvolvimento de uma técnica...
TRANSCRIPT
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
2
Agenda
• Contextualização
• quasi-Revisão Sistemática
• Técnica Shiô
• Estudos Experimentais
• Análise dos dados
• Conclusão
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.
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).
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.
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;
7
Técnica Shiô
*Shiô significa sal em japonês. Os japoneses utilizam o sal para proteção (viagens, dohyō).
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.
9
10
Exemplo da Técnica Shiô
11
Exemplo da Técnica Shiô
12
Técnica Shiô – Primeiro Passo
13
Técnica Shiô – Primeiro Passo
14
Técnica Shiô – Segundo Passo
15
Técnica Shiô – Terceiro Passo
16
Técnica Shiô – Terceiro Passo
17
Técnica Shiô – Quarto Passo
18
Técnica Shiô – Quarto Passo
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?
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
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
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
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)
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
25
Análise Preliminar dos Dados
Conta Movimento
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
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
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
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
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.
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.
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