FERRAMENTA PARA ANÁLISE DE IMPACTO BASEADO EM RASTREABILIDADE DE SOFTWARE COM ABORDAGEM ESTÁTICA TIAGO AUGUSTO DE ANDRADE ORIENTADOR: PROF. DR. ELIAS CANHADAS GENVIGIR CORNÉLIO PROCÓPIO 2011 1 ROTEIRO Introdução Módulos do Projeto Modelo Proposto Análise de Impacto Justificativa e Objetivos Desenvolvimento do Projeto Cronograma Executado Referências 2 INTRODUÇÃO Projeto de Iniciação Científica Oriundo de um Projeto de Iniciação Científica aprovado pelo edital PROPPG2010 da UTFPR; Ferramenta Desenvolvimento de uma ferramenta para análise de impacto baseado em rastreabilidade de software com abordagem estática; Projeto Composto por dez módulos que se complementam; Participação de alunos de graduação da UTFPR; 3 MÓDULOS DO PROJETO Ferramenta para Rastreabilidade de Artefatos Controle de Acesso Segurança Gerenciador de Projetos Criação e Recuperação de Projetos Controle de Artefatos Controle de Matrizes Registro de Design Rationale Controle de Métricas Análise de Impacto Gerenciador de Documentos 4 MODELO PROPOSTO Modelo para análise de impacto baseado em rastreabilidade de artefatos Controle de solicitações de mudanças Análise de impacto baseado em rastreabilidade Análise dos impactos diretos e indiretos Técnica de rastreabilidade com abordagem estática Busca em matrizes de rastreabilidade Apresentação dos resultados da análise de impacto Relatórios das informações do sistema 5 ANÁLISE DE IMPACTO Através da análise de impacto é possível: Determinar as potenciais conseqüências e os artefatos que podem estar envolvidos em uma mudança; Estimar o que será necessário modificar caso uma mudança seja implementada; Identificar os impactos diretos e indiretos; Auxiliar no planejamento e estimativa de custos antes da realização da mudança. 6 ANÁLISE DE IMPACTO (SPEM) 7 TIPOS DE IMPACTO Impacto direto Impacto de primeiro nível. Impacto indireto É quando o objeto afetado está relacionado com o conjunto de dependências. 8 TIPOS DE ABORDAGEM Análise Estática Identifica dependência estrutural entidades analisando artefatos. entre as Análise Dinâmica Surgiu da necessidade de identificar impactos baseando-se no comportamento do sistema. Análise Híbrida Combinação entre a análise da estrutura e dos rastros de execução do sistema. 9 TÉCNICAS DE ANÁLISE Análise de impacto baseado em rastreabilidade. Matrizes de rastreabilidade (horizontal e vertical). Análise de impacto baseado em dependência. Identifica as relações entre as variáveis, lógica, módulos, etc dentro de arquitetura de software ou código. Análise de impacto experimental. Através de discussões informais e julgamento de engenharia individual. 10 JUSTIFICATIVA É um processo muito complexo e custoso (DICK, 2005). Manutenção de software tem sido reconhecida como a fase mais cara e difícil no ciclo de vida do software (LI, 1995). Gerenciar cuidadosamente mudanças pode prover um sistema com melhor utilidade, com custo e tempo aceitáveis (GENVIGIR, 2009). O esforço e o custo de manutenção do mesmo foi estimado em freqüência superior a 50% do ciclo de vida total (TURVER, 1994). Para a maioria dos grandes sistemas de software é uma mão de obra intensiva, muitas vezes o processo é manual (TURVER, 1994). 11 OBJETIVOS (i) representar a análise de impacto de um software de maneira simples e prática; (ii) realizar uma análise de impacto na qual o ator escolherá qual artefato deseja analisar; (iii) permitir visualizar quais artefatos seriam impactados; (iv) todos os artefatos que estejam associados ao artefato escolhido deverão ser apresentados. 12 REQUISITOS FUNCIONAIS 13 FERRAMENTAS E TECNOLOGIAS JSP (Java Server Pages); PostegreSQL; AJAX; Glassfish; CSS; JavaScript; UML; TortoiseSVN; 14 ARQUITETURA Arquitetura em três camadas: 1. Apresentação 2. Negócio 3. Persistência 15 METODOLOGIA A metodologia de desenvolvimento utilizada para o projeto foi baseada no processo UP (Unified Process) ou Processo Unificado (Interativo e incremental). 16 CRONOGRAMA EXECUTADO 17 FASE DE CONSTRUÇÃO 18 DIAGRAMA DE CASO DE USO 19 DER 20 DIAGRAMA DE CLASSES 21 DEMONSTRAÇÃO DA SOLUÇÃO 22 REFERÊNCIAS DICK, J.. Design Traceability. IEEE Software, 2005, p. 14-16. GENVIGIR, E. C. Um modelo para rastreabilidade de requisitos de software baseado em generalização de elos e atributos. 2009. 203p. Dissertação (Doutorado em Computação Aplicada) – Instituto Nacional de Pesquisas Espaciais, São José dos Campos, 2009. INCOSE Education & Research Technical Committee. Directory of Systems Engineering Academic Programs. 2004. Disponível em: <http://www.incose.org/educationcareers/academicprogramdirectory.aspx>. Acesso em: 30 maio 2011. LI, W., HENRY, S.. An Empirical Study of Maintenance Activities in Two Object-oriented Systems. Journal of Software Maintenance, Research and Practice, Volume 7, 1995, p.131-147. TURVER, R. J., MUNRO, M.. An early impact analysis technique for software maintenance. The Journal of Software Maintenance, Research and Practice, 1994. 23