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
Agenda Contextualização quasi-revisão Sistemática Técnica Shiô Estudos Experimentais Análise dos dados Conclusão 2
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. 3
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). 4
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. 5
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; 6
Técnica Shiô *Shiô significa sal em japonês. Os japoneses utilizam o sal para proteção (viagens, dohyō). 7
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. 8
9
Exemplo da Técnica Shiô 10
Exemplo da Técnica Shiô 11
Técnica Shiô Primeiro Passo 12
Técnica Shiô Primeiro Passo 13
Técnica Shiô Segundo Passo 14
Técnica Shiô Terceiro Passo 15
Técnica Shiô Terceiro Passo 16
Técnica Shiô Quarto Passo 17
Técnica Shiô Quarto Passo 18
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? 19
1º Estudo Experimental Analisar Com o propósito de Com respeito ao Do ponto de vista do No contexto de A inspeção utilizando as técnicas Shiô e ad-hoc. Caracterizar Desempenho das técnicas na detecção de defeitos (eficácia e eficiência) Pesquisador 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. Pós graduação (Ad-hoc) e Graduação (Shiô) Rodada 1 Rodada 2 Grupo 1 Conta Movimento Grupo 2 Movimento Conta 20
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 21
UFRJ Pós Graduação Conta Defeito Média Desvio Padrão Rodada 1 3,25 1,258 Rodada 2 4 NA Movimento 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 36 13,46 Rodada 2 61 NA Tempo Média Desvio Padrão Rodada 1 113 24,06 Rodada 2 64 13,26 22
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) 23
UFRJ Graduação Conta Defeito Média Desvio Padrão Rodada 1 3,5 2,38 Rodada 2 5,4 1,94 Movimento 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 103,5 57,28 Rodada 2 112,2 66,82 Tempo Média Desvio Padrão Rodada 1 206,66 18,95 Rodada 2 138,2 68,56 24
Análise Preliminar dos Dados Conta Movimento 25
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 26
2º Estudo Experimental 16 participantes no início Rodada 1 (Ad-hoc) Rodada 2 (Shiô) Grupo 1 Conta Movimento Grupo 2 Movimento Conta 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 27
Questionário de Avaliação 1º Estudo 20 participantes 7 responderam 1 cópia 2º Estudo 4 participantes 1 respondeu N 1 ε n = 0 N + 1 ε 0 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 Grau de confiabilidade de 31,81% 28
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 29
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. Trabalhos Futuros Ferramenta e outros estudos. 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 30
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. 31
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