Implementação e Testes
Equipe Allan Diego Silva Lima Cleviton Vinícius Fonseca Monteiro Fernando Abner Di Cavalcanti Garcez Fernando Henrique Calheiros Lopes Guilherme Kely de Melo Oliveira Henrique Borges Alencar Siqueira Henrique Santos Ferreira Igor Roberto Lopes Marques Jobson Ronan Jeronimo da Silva Leandro Mitsuo Fujishima Renato Viana Ferreira Saulo Andrade Pessoa
Roteiro Processo de Desenvolvimento Implementação Testes Tecnologias Ferramentas Requisitos Implementados Testes Casos de Teste Métricas
Processo de Desenvolvimento F.A.S.T :: características (1/2) Design iterativo incremental “Se é simples, faça. Se não é...desenhemos:” Testes funcionais Unitários e Automatizados Corretude do código quase sempre garantida
Processo de Desenvolvimento F.A.S.T :: características (2/2) Documentação Técnica Escrita após a finalização da iteração Amplamente favorecida por ferramentas de engenharia reversa Objetivo: manutenção do software “Programação n-ária” Individual, em pares, trios, quartetos, quintetos… “n-etos” “Mais que ágil, é FAST”
Implementação Relembrando o Monitrolling Visão abstrata Comunicação
Tecnologias Plataforma de desenvolvimento Tecnologias Auxiliares Java SE Tecnologias Auxiliares SWT (Camada de Apresentação) Java RMI (Camada de Distribuição) ActiveMQ – JMS (MOM) Hibernate (Camada de Dados) SpringFramework (IOC e AOP) Jasper (Relatórios) JFreeChart (Gráficos) JUnit (Testes) XML (Meta-Dados)
Ferramentas (1/2) Eclipse 3.1 + Plugins Edição de relatórios Visual Editor Spring IDE Edição de relatórios IReport Edição de Imagens PhotoShop CS
Ferramentas (2/2) Criação do Help Diagramas UML e Engenharia reversa DreamWeaver MX 2004 Diagramas UML e Engenharia reversa MagicDraw 9.5 + Together CE Documentação BeanDoc (Hacked)
Requisitos do Sistema (1/4) 100% dos Requisitos Implementados Suporte a monitoramento de muitos veiculos Cadastros (1/2) Veículos Motoristas Viagens Multas Abastecimentos
Requisitos do Sistema (2/4) Cadastros (Cont.) Prestadoras de serviço Utilização de Serviços Revisões Alertas Alertas disparados Usuários
Requisitos do Sistema (3/4) Gráficos Relatórios
Requisitos do Sistema (4/4) Requisitos adicionais Suporte a comunicação via porta serial e USB Gráfico em tempo real Novos skins para o monitoramento em tempo real
Testes
Testes Tipos de Testes Realizados: Testes Unitários Testes de Integração Testes de Falhas Testes de Usabilidade
Testes de Carga Casos de Testes (1/4) Objetivo Configuração Mensurar a quantidade de veículos e GUI’s suportados Configuração Módulos executando em máquinas distintas Metodologia Iniciado com 50 veículos e com incremento de 10 Com um número fixo de veículos iniciar o incremento de GUI’s Número inicial de GUI’s 5 e incremento de 1
Testes de Carga Casos de Testes (2/4) Objetivo Configuração Mensurar a quantidade de veículos Configuração Módulos executando em uma única máquina Metodologia Iniciado com 10 veículos e com incremento de 5 Número fixo de GUI’s simultâneas 1
Testes de Carga Casos de Testes (3/4) Objetivo Configuração Mensurar a quantidade de veículos suportados Configuração Módulos de Serviço e GDI em uma mesma máquina GUI’s em máquinas distintas Metodologia Iniciado com 20 veículos e com incremento de 5 Número fixo de GUI’s simultâneas 5
Testes de Carga Casos de Testes (4/4) Objetivo Configuração Mensurar a quantidade de veículos suportados Configuração Módulos de GDI e GUI em uma mesma máquina Módulo de Serviço em máquina distinta Metodologia Iniciado com 30 veículos e com incremento de 5 Número fixo de GUI’s simultâneas 1
Testes Observações Remodelagem do Simulador Número de Instruções por Segundo
Métricas de implementação Primeira Iteração Segunda Iteração Pacotes 44 56 Linhas de código 7481 25977 Classes 79 274 Métodos 502 1816 Variáveis de classe 277 1192
Métricas de Testes Unitários Primeira Iteração Segunda Iteração Pacotes 5 16 Linhas de código 1457 3088 Classes 22 64
Sugestões? Duvidas?