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
ROTEIRO Introdução Justificativa Análise de Impacto Objetivos Escopo do Projeto Tecnologias e Ferramentas Utilizadas Arquitetura do Sistema Metodologia de Desenvolvimento Método de Pesquisa Cronograma
INTRODUÇÃO Através da análise de impacto é possível: Determinar as potenciais consequências de uma mudança. Estimar o que será necessário modificar caso uma mudança seja implementada.
JUSTIFICATIVA Gerenciar cuidadosamente mudanças pode prover um sistema com melhor utilidade, com custo e tempo aceitáveis (GENVIGIR, 2009). É 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). 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). Análise de impacto para a maioria dos grandes sistemas de software é uma mão de obra intensiva, muitas vezes o processo é manual (TURVER, 1994).
ANÁLISE DE IMPACTO
TIPOS DE IMPACTO Impacto direto Impacto de primeiro nível. Impacto indireto É quando o objeto afetado está relacionado com o conjunto de dependências.
TIPOS DE ABORDAGEM Análise Estática Identifica dependência estrutural entre as entidades analisando artefatos. 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.
TÉCNICAS Análise de impacto baseado em rastreabilidade. Matrizes de rastreabilidade. 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.
FERRAMENTAS Borland Caliber RM-™ Telelogic DOORS IBM Rational RequisitePro
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.
ESCOPO DO PROJETO Requisitos Categoria Controlar solicitações de mudanças no sistema Essencial Realizar análise de impacto baseada em rastreabilidade Utilizar a técnica de rastreabilidade com abordagem estática Buscas em matrizes de rastreabilidade Identificar impactos diretos e indiretos Apresentação dos resultados da análise de impacto Criar relatórios para as informações do sistema Desejável
FERRAMENTAS E TECNOLOGIAS JSP (Java Server Pages); PostegreSQL; AJAX; Glassfish; CSS; JavaScript; UML; TortoiseSVN;
ARQUITETURA Arquitetura em três camadas: 1. Apresentação 2. Negócio 3. Persistência
METODOLOGIA Ciclo de vida iterativo incremental. Atividades: Fases: Levantamento de Requisitos Análise de Requisitos Projeto Implementação Testes Implantação Fases: Concepção Elaboração Construção Transição
MÉTODO DE PESQUISA Esta pesquisa é: Teórico-bibliográfica Qualitativa Exploratória Principais Atividades: Identificação de fontes seguras Localização dessas fontes Compilação das informações (documentação) Etapas: Introdução ao tema: análise de impacto Levantar características, técnicas e formas de abordagem sobre a análise de impacto Comparar com tecnologias e ferramentas semelhantes existentes no mercado
CRONOGRAMA CRONOGRAMA jun/11 jul/11 ago/11 set/11 out/11 nov/11 dez/11 jun/11 jul/11 ago/11 set/11 out/11 nov/11 dez/11 Iteração 1 Iteração 2 Iteração 3 Iteração 4 Lev. de Requisitos Análise de Requisitos Projeto Implementação Testes Implantação/Integração Redação da Monografia
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.