SlideShare uma empresa Scribd logo
1 de 32
Baixar para ler offline
A Influência dos testes unitários
automatizados na qualidade
dos softwares desenvolvidos
Por : Edison Moreira,
Luis Octavio Godoy e
Michel David
Orientação : Prof. Hamilton Athanazio
UNICARIOCA – Ciência da Computação
Objetivos da Apresentação
 Mostrar a vital importância de testes nos
componentes do software durante todo
seu ciclo de vida, para a qualidade do
software desenvolvido
Agenda
 Panorama Conceitual
 Demonstrações da Prova de Conceito
 Conclusões
Monografia
Objetivo
 Demonstrar a influência dos testes unitários
automatizados na melhoria da qualidade dos softwares
desenvolvidos
“Atualmente as organizações desenvolvedoras de software
não tratam o processo de testes como um verdadeiro
processo,ou seja, não existe uma gestão formal do
mesmo, por isso as atividades de testes são confundidas
com o próprio processo de desenvolvimento. Sendo
assim, os custos para se identificar e corrigir as falhas
podem ser 50 a 100 vezes maiores do que se fossem
realizadas logo após a sua inclusão no software. “
Emerson Rios e Trayahù Moreira
Justificativa
Metodologia de Trabalho
I – Revisão da Literatura
II – Pesquisa e Análise dos modelos a serem
seguidos
III – Especificação do Sistema SCT
IV – Análise e Definição das ferramentas a serem
utilizadas
V – Prova de Conceito
VI - Método de Automação dos Testes junto com o
Desenvolvimento
VII – Conclusão
“o ramo da Engenharia relacionado a aplicação prática
no projeto e na construção de programas e na
documentação necessária para construir, manter e
operar estes programas”.
Barry Boehm (1990)
Engenharia de software
“os engenheiros de software utilizam o seu
conhecimento sobre computadores e a
computação para ajudar a resolver problemas”
Pfleeger (2001)
Engenharia de
Software
Análise de
Sistemas
Projeto
Codificaçào
Teste
Manutenção
Ciclo de Vida de um Sistema
“existe uma dificuldade em garantir
compatibilidade entre as fases de análise e
de projeto e, posteriormente, do projeto para
a implementação”
Melo, Ana Cristina
Orientação a Objetos
Justificativa
Linguagens Tradicionais Orientadas a Objeto
Função A
Função B
Função C
Função D
Dados
Dados X
Função X
Dados Y
Função Y
Dados Z
Função Z
Objeto X Objeto Y
Objeto Z
Para entendimento, modelagem e desenvolvimento do
sistema devem ser trabalhadas as seguintes visões e
respectivos diagramas :
I) Estrutural – que é suportada pelos diagramas de classes,
de componentes, de implantação e de objetos, que
registram os estados da classe e seus relacionamentos.
Os relacionamentos podem ser de associações, herança
(generalização e especialização), dependência ou
refinamentos.
UML
II) Dinâmica – que é suportada pelos diagramas de
atividades, diagramas de estado, seqüência e
colaboração.
III) Comportamental (“Behavorial”) - que é representado
pelos Diagramas e Descrição de Casos de Uso.
Norma 12207 – Ciclo de Vida do Software
CMMI - Modelo Integrado de Maturidade de Capacidade
Spice
SPICE
XP – Extreme Programming
Conceitos
Simplificação do processo de desenvolvimento
Integração dos processos de testes e de desenvolvimento
Desenvolvimento e liberação rápida de requisitos
Model-View-Controller MVC
É um Padrão de Projeto
Características principais
 Isolamento das camadas
 Facilidade de mudança
Diagrama de Componentes
SCT
Sistema Colaborativo de Tradução
Objetivo
Ser uma ferramenta de trabalho em grupo
colaborativo que ofereça apoio ao processo
de tradução entre idiomas existentes ou que
estejam em construção.
Diagrama de casos de uso
Ferramentas Utilizadas
 Ambiente de Desenvolvimento Eclipse versão 3.1
 Ambiente de Testes Junit
 Ferramenta de automatização ANT
 Ferramenta de Modelagem UML JUDE TAKE
 Linguagem de desenvolvimento JAVA versão 1.5
 Linguagem XML
 SGBDR MySql versão 4.1
 FrameWork STRUTs
 FrameWork Hibernate 2.0
 Servidor de Aplicação Web Apache Tomcat
Procedimento
 Uso do método assertEquals, disponível
no JUNIT, para comparação de entrada de
dados com a informação de um objeto na
camada de persistência
Prova de Conceito
Testes Unitários
Junit
 Estão disponíveis as interfaces: uma para texto
(junit.textui.TestRunner), uma para AWT
(junit.awtui.TestRunner) e uma para Swing
(junit.swingui.TestRunner)
 Para se testar uma classe específica, basta criar uma classe
que deve ser herdeira da classe junit.framework.TestCase
 O JUnit cria as classes de testes. Estas contêm um ou mais
métodos para testes, podendo ser organizados de forma
hierárquica, para que o sistema seja testado em partes
separadas (testes unitários), algumas integradas ou todas de
uma só vez.
 Ele permite escrever testes que retenham seu valor ao longo
do tempo, ou seja, que possam ser reutilizáveis, o que
implementa a automatização dos mesmos.
Resultado de Teste correto no JUNIT
Testes de Infra-estrutura
Prova de Conceito
Diagrama de Componentes
Struts (MVC)  Hibernate
Procedimento
 Criação de classe de teste para inclusão
de dados no banco de dados
 Ferramentas
Ant
Struts
Hibernate
Struts
 Ambiente baseado no MVC
 Principais funcionalidades utilizadas no SCT
 Mapeamento dos métodos
 Funcionalidades da Classe Action
Hibernate
 “Framework” para
implementar a
persistência dos objetos
Hibernate  Principais Componentes
 Mapeamento Objeto/Relacional
 É uma descrição XML (Extended Markup Language) que
mapeia o modelo de objetos no modelo relacional
(tabelas)
 Preserva no SGBDR as características dos objetos (por
exemplo :atributos multivalorados, coleções de objetos)
 Linguagem para consulta HQL
Disponibiliza acesso natural as associações
Semelhante ao SQL
 API (pacotes org.hibernate e org.hibernate.cfg)
 Principais interfaces
 Configuration, Session Factory, Session, Transaction
e Query
Modelo Proposto para Integração dos Processos de Desenvolvimento e Testes
P
L
A
N
E
JA
M
E
N
T
O
Modelo Proposto para Integração dos Processos de Desenvolvimento e Testes
Gerência dos Requisitos
Especificação
Teste
Iteração 1
Iteração 2
Entrega
Desenho Lógico
e
Especificação
Desenvolvimento
Construção
Implementação
Entrega
P
L
A
N
E
J
A
M
E
N
T
O
P
L
A
N
E
J
A
M
E
N
T
O
Conclusão
 os pré-requisitos para um bom funcionamento dos testes
automatizados são :
 Implementação dos ambientes
 Configuração correta dos inúmeros parâmetros
 Pelas limitações e pela complexidade e esforço houve
necessidade de diminuir o escopo, reduzindo a prova conceitual
para testes unitários;
 A UML atendeu a necessidade de especificação conjunta
das Classes de Negócio e de Testes;
Conclusão
 É viável e necessária a integração dos
processos de desenvolvimento e de testes
 Pesquisa, estudo, instalação e configuração dos ambientes
foram muito trabalhosos, porém mostraram que a curva de
aprendizado é mais rápida
 Implantados o núcleo da Infra-estrutura e a automatização
dos testes, aumentam a produtividade dos profissionais e a
qualidade do software
 Os ambientes Struts e Hibernate facilitam e agilizam o
desenvolvimento de software
 As ferramentas JUnit e ANT usadas juntas automatizam os
testes, reduzindo o re-trabalho dos desenvolvedores
Agradecimentos
Orientador Hamilton Athanazio
Coordenador Manuel Martins
Conjunto de professores, funcionários e alunos dos Cursos
de Ciência de Computação e Tecnologia da Informação

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Apresentação da UML
Apresentação da UMLApresentação da UML
Apresentação da UML
 
Apostila uml
Apostila umlApostila uml
Apostila uml
 
Padrões de Projeto de Software
Padrões de Projeto de SoftwarePadrões de Projeto de Software
Padrões de Projeto de Software
 
Java programação orientada a objetos
Java   programação orientada a objetosJava   programação orientada a objetos
Java programação orientada a objetos
 
Modelando Sistemas com UML
Modelando Sistemas com UMLModelando Sistemas com UML
Modelando Sistemas com UML
 
Diagrama classes
Diagrama classesDiagrama classes
Diagrama classes
 
UML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesUML - Criando Diagramas Eficientes
UML - Criando Diagramas Eficientes
 
Artigo Padrões J2EE: Um exemplo de uso
Artigo Padrões J2EE: Um exemplo de usoArtigo Padrões J2EE: Um exemplo de uso
Artigo Padrões J2EE: Um exemplo de uso
 
Padrões de Projeto
Padrões de ProjetoPadrões de Projeto
Padrões de Projeto
 
Mvc
MvcMvc
Mvc
 
Apostila de algoritmo e programação
Apostila de algoritmo e programaçãoApostila de algoritmo e programação
Apostila de algoritmo e programação
 
Introdução à linguagem UML
Introdução à linguagem UMLIntrodução à linguagem UML
Introdução à linguagem UML
 
Aula 4 -_metodologia_e_tecnicas_de_analise_oo
Aula 4 -_metodologia_e_tecnicas_de_analise_ooAula 4 -_metodologia_e_tecnicas_de_analise_oo
Aula 4 -_metodologia_e_tecnicas_de_analise_oo
 
Seminário flyweight
Seminário flyweightSeminário flyweight
Seminário flyweight
 
UML
UMLUML
UML
 
Apostila de uml
Apostila de umlApostila de uml
Apostila de uml
 
Engenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UMLEngenharia de Software II - Atividade: Diagramas da UML
Engenharia de Software II - Atividade: Diagramas da UML
 
Implementing Product Line Variabilities
Implementing Product Line VariabilitiesImplementing Product Line Variabilities
Implementing Product Line Variabilities
 
Sld 4
Sld 4Sld 4
Sld 4
 
Aula 1 - Revisão UML
Aula 1 - Revisão UMLAula 1 - Revisão UML
Aula 1 - Revisão UML
 

Semelhante a Importância do Teste Unitário na Qualidade do Software

Processo Unificado(RUP)
Processo Unificado(RUP)Processo Unificado(RUP)
Processo Unificado(RUP)elliando dias
 
Um Protótipo Web do Módulo de Planejamento de Avaliações de Linha de Produto ...
Um Protótipo Web do Módulo de Planejamento de Avaliações de Linha de Produto ...Um Protótipo Web do Módulo de Planejamento de Avaliações de Linha de Produto ...
Um Protótipo Web do Módulo de Planejamento de Avaliações de Linha de Produto ...Edson Oliveira Junior
 
Introdução à Engenharia de Software (parte II)
Introdução à Engenharia de Software (parte II)Introdução à Engenharia de Software (parte II)
Introdução à Engenharia de Software (parte II)Nécio de Lima Veras
 
Apresentação tcc - Leticia Moretti e Rafael Azevedo
Apresentação tcc - Leticia Moretti e Rafael AzevedoApresentação tcc - Leticia Moretti e Rafael Azevedo
Apresentação tcc - Leticia Moretti e Rafael Azevedolemorettiribeiro
 
Apresentacao Testes de Unidade
Apresentacao Testes de UnidadeApresentacao Testes de Unidade
Apresentacao Testes de UnidadeAline Ferreira
 
ybr789try
ybr789tryybr789try
ybr789tryteste
 
Testes de software
Testes de softwareTestes de software
Testes de softwareteste
 
UM ESTUDO SOBRE GERENCIAMENTO DE VARIABLIDADES EM LINHAS DE PROCESSO DE SOFTWARE
UM ESTUDO SOBRE GERENCIAMENTO DE VARIABLIDADES EM LINHAS DE PROCESSO DE SOFTWAREUM ESTUDO SOBRE GERENCIAMENTO DE VARIABLIDADES EM LINHAS DE PROCESSO DE SOFTWARE
UM ESTUDO SOBRE GERENCIAMENTO DE VARIABLIDADES EM LINHAS DE PROCESSO DE SOFTWAREEdson Oliveira Junior
 
Projeto de Sistemas - Aula005
Projeto de Sistemas - Aula005Projeto de Sistemas - Aula005
Projeto de Sistemas - Aula005Cláudio Amaral
 
Cloud Computing e Integração Contínua com o Windows Azure
Cloud Computing e Integração Contínua com o Windows AzureCloud Computing e Integração Contínua com o Windows Azure
Cloud Computing e Integração Contínua com o Windows AzureGrupo de Testes Carioca
 
Algoritmos e-programacao-apostila-completa
Algoritmos e-programacao-apostila-completaAlgoritmos e-programacao-apostila-completa
Algoritmos e-programacao-apostila-completaAssis Alcantara
 
Desenvolvimento do Módulo de Planejamento do Ambiente Experimental SystEM-Env...
Desenvolvimento do Módulo de Planejamento do Ambiente Experimental SystEM-Env...Desenvolvimento do Módulo de Planejamento do Ambiente Experimental SystEM-Env...
Desenvolvimento do Módulo de Planejamento do Ambiente Experimental SystEM-Env...Edson Oliveira Junior
 
Test-Driven Development (TDD) utilizando o framework xUnit.net
Test-Driven Development (TDD) utilizando o framework xUnit.netTest-Driven Development (TDD) utilizando o framework xUnit.net
Test-Driven Development (TDD) utilizando o framework xUnit.netRenato Groff
 
Integração de Tecnologias
Integração de TecnologiasIntegração de Tecnologias
Integração de Tecnologiaselliando dias
 
Processo Unificado de Desenvolvimento de Software
Processo Unificado de Desenvolvimento de SoftwareProcesso Unificado de Desenvolvimento de Software
Processo Unificado de Desenvolvimento de Softwareelliando dias
 

Semelhante a Importância do Teste Unitário na Qualidade do Software (20)

Processo Unificado(RUP)
Processo Unificado(RUP)Processo Unificado(RUP)
Processo Unificado(RUP)
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 
Um Protótipo Web do Módulo de Planejamento de Avaliações de Linha de Produto ...
Um Protótipo Web do Módulo de Planejamento de Avaliações de Linha de Produto ...Um Protótipo Web do Módulo de Planejamento de Avaliações de Linha de Produto ...
Um Protótipo Web do Módulo de Planejamento de Avaliações de Linha de Produto ...
 
Uml
UmlUml
Uml
 
Introdução à Engenharia de Software (parte II)
Introdução à Engenharia de Software (parte II)Introdução à Engenharia de Software (parte II)
Introdução à Engenharia de Software (parte II)
 
Apresentação tcc - Leticia Moretti e Rafael Azevedo
Apresentação tcc - Leticia Moretti e Rafael AzevedoApresentação tcc - Leticia Moretti e Rafael Azevedo
Apresentação tcc - Leticia Moretti e Rafael Azevedo
 
Testes de Software.ppt
Testes de Software.pptTestes de Software.ppt
Testes de Software.ppt
 
Apresentacao Testes de Unidade
Apresentacao Testes de UnidadeApresentacao Testes de Unidade
Apresentacao Testes de Unidade
 
ybr789try
ybr789tryybr789try
ybr789try
 
Testes de software
Testes de softwareTestes de software
Testes de software
 
Artigo c#
Artigo c#Artigo c#
Artigo c#
 
UM ESTUDO SOBRE GERENCIAMENTO DE VARIABLIDADES EM LINHAS DE PROCESSO DE SOFTWARE
UM ESTUDO SOBRE GERENCIAMENTO DE VARIABLIDADES EM LINHAS DE PROCESSO DE SOFTWAREUM ESTUDO SOBRE GERENCIAMENTO DE VARIABLIDADES EM LINHAS DE PROCESSO DE SOFTWARE
UM ESTUDO SOBRE GERENCIAMENTO DE VARIABLIDADES EM LINHAS DE PROCESSO DE SOFTWARE
 
Projeto de Sistemas - Aula005
Projeto de Sistemas - Aula005Projeto de Sistemas - Aula005
Projeto de Sistemas - Aula005
 
Cloud Computing e Integração Contínua com o Windows Azure
Cloud Computing e Integração Contínua com o Windows AzureCloud Computing e Integração Contínua com o Windows Azure
Cloud Computing e Integração Contínua com o Windows Azure
 
Algoritmos e-programacao-apostila-completa
Algoritmos e-programacao-apostila-completaAlgoritmos e-programacao-apostila-completa
Algoritmos e-programacao-apostila-completa
 
Desenvolvimento do Módulo de Planejamento do Ambiente Experimental SystEM-Env...
Desenvolvimento do Módulo de Planejamento do Ambiente Experimental SystEM-Env...Desenvolvimento do Módulo de Planejamento do Ambiente Experimental SystEM-Env...
Desenvolvimento do Módulo de Planejamento do Ambiente Experimental SystEM-Env...
 
Test-Driven Development (TDD) utilizando o framework xUnit.net
Test-Driven Development (TDD) utilizando o framework xUnit.netTest-Driven Development (TDD) utilizando o framework xUnit.net
Test-Driven Development (TDD) utilizando o framework xUnit.net
 
Framework Miolo
Framework MioloFramework Miolo
Framework Miolo
 
Integração de Tecnologias
Integração de TecnologiasIntegração de Tecnologias
Integração de Tecnologias
 
Processo Unificado de Desenvolvimento de Software
Processo Unificado de Desenvolvimento de SoftwareProcesso Unificado de Desenvolvimento de Software
Processo Unificado de Desenvolvimento de Software
 

Importância do Teste Unitário na Qualidade do Software

  • 1. A Influência dos testes unitários automatizados na qualidade dos softwares desenvolvidos Por : Edison Moreira, Luis Octavio Godoy e Michel David Orientação : Prof. Hamilton Athanazio UNICARIOCA – Ciência da Computação
  • 2. Objetivos da Apresentação  Mostrar a vital importância de testes nos componentes do software durante todo seu ciclo de vida, para a qualidade do software desenvolvido Agenda  Panorama Conceitual  Demonstrações da Prova de Conceito  Conclusões
  • 3. Monografia Objetivo  Demonstrar a influência dos testes unitários automatizados na melhoria da qualidade dos softwares desenvolvidos “Atualmente as organizações desenvolvedoras de software não tratam o processo de testes como um verdadeiro processo,ou seja, não existe uma gestão formal do mesmo, por isso as atividades de testes são confundidas com o próprio processo de desenvolvimento. Sendo assim, os custos para se identificar e corrigir as falhas podem ser 50 a 100 vezes maiores do que se fossem realizadas logo após a sua inclusão no software. “ Emerson Rios e Trayahù Moreira Justificativa
  • 4. Metodologia de Trabalho I – Revisão da Literatura II – Pesquisa e Análise dos modelos a serem seguidos III – Especificação do Sistema SCT IV – Análise e Definição das ferramentas a serem utilizadas V – Prova de Conceito VI - Método de Automação dos Testes junto com o Desenvolvimento VII – Conclusão
  • 5. “o ramo da Engenharia relacionado a aplicação prática no projeto e na construção de programas e na documentação necessária para construir, manter e operar estes programas”. Barry Boehm (1990) Engenharia de software “os engenheiros de software utilizam o seu conhecimento sobre computadores e a computação para ajudar a resolver problemas” Pfleeger (2001)
  • 7. “existe uma dificuldade em garantir compatibilidade entre as fases de análise e de projeto e, posteriormente, do projeto para a implementação” Melo, Ana Cristina Orientação a Objetos Justificativa
  • 8. Linguagens Tradicionais Orientadas a Objeto Função A Função B Função C Função D Dados Dados X Função X Dados Y Função Y Dados Z Função Z Objeto X Objeto Y Objeto Z
  • 9. Para entendimento, modelagem e desenvolvimento do sistema devem ser trabalhadas as seguintes visões e respectivos diagramas : I) Estrutural – que é suportada pelos diagramas de classes, de componentes, de implantação e de objetos, que registram os estados da classe e seus relacionamentos. Os relacionamentos podem ser de associações, herança (generalização e especialização), dependência ou refinamentos. UML II) Dinâmica – que é suportada pelos diagramas de atividades, diagramas de estado, seqüência e colaboração. III) Comportamental (“Behavorial”) - que é representado pelos Diagramas e Descrição de Casos de Uso.
  • 10. Norma 12207 – Ciclo de Vida do Software
  • 11. CMMI - Modelo Integrado de Maturidade de Capacidade
  • 13. XP – Extreme Programming Conceitos Simplificação do processo de desenvolvimento Integração dos processos de testes e de desenvolvimento Desenvolvimento e liberação rápida de requisitos
  • 14. Model-View-Controller MVC É um Padrão de Projeto Características principais  Isolamento das camadas  Facilidade de mudança Diagrama de Componentes
  • 15. SCT Sistema Colaborativo de Tradução Objetivo Ser uma ferramenta de trabalho em grupo colaborativo que ofereça apoio ao processo de tradução entre idiomas existentes ou que estejam em construção.
  • 17.
  • 18. Ferramentas Utilizadas  Ambiente de Desenvolvimento Eclipse versão 3.1  Ambiente de Testes Junit  Ferramenta de automatização ANT  Ferramenta de Modelagem UML JUDE TAKE  Linguagem de desenvolvimento JAVA versão 1.5  Linguagem XML  SGBDR MySql versão 4.1  FrameWork STRUTs  FrameWork Hibernate 2.0  Servidor de Aplicação Web Apache Tomcat
  • 19. Procedimento  Uso do método assertEquals, disponível no JUNIT, para comparação de entrada de dados com a informação de um objeto na camada de persistência Prova de Conceito Testes Unitários
  • 20. Junit  Estão disponíveis as interfaces: uma para texto (junit.textui.TestRunner), uma para AWT (junit.awtui.TestRunner) e uma para Swing (junit.swingui.TestRunner)  Para se testar uma classe específica, basta criar uma classe que deve ser herdeira da classe junit.framework.TestCase  O JUnit cria as classes de testes. Estas contêm um ou mais métodos para testes, podendo ser organizados de forma hierárquica, para que o sistema seja testado em partes separadas (testes unitários), algumas integradas ou todas de uma só vez.  Ele permite escrever testes que retenham seu valor ao longo do tempo, ou seja, que possam ser reutilizáveis, o que implementa a automatização dos mesmos.
  • 21.
  • 22. Resultado de Teste correto no JUNIT
  • 24. Diagrama de Componentes Struts (MVC)  Hibernate
  • 25. Procedimento  Criação de classe de teste para inclusão de dados no banco de dados  Ferramentas Ant Struts Hibernate
  • 26. Struts  Ambiente baseado no MVC  Principais funcionalidades utilizadas no SCT  Mapeamento dos métodos  Funcionalidades da Classe Action
  • 27. Hibernate  “Framework” para implementar a persistência dos objetos
  • 28. Hibernate  Principais Componentes  Mapeamento Objeto/Relacional  É uma descrição XML (Extended Markup Language) que mapeia o modelo de objetos no modelo relacional (tabelas)  Preserva no SGBDR as características dos objetos (por exemplo :atributos multivalorados, coleções de objetos)  Linguagem para consulta HQL Disponibiliza acesso natural as associações Semelhante ao SQL  API (pacotes org.hibernate e org.hibernate.cfg)  Principais interfaces  Configuration, Session Factory, Session, Transaction e Query
  • 29. Modelo Proposto para Integração dos Processos de Desenvolvimento e Testes P L A N E JA M E N T O Modelo Proposto para Integração dos Processos de Desenvolvimento e Testes Gerência dos Requisitos Especificação Teste Iteração 1 Iteração 2 Entrega Desenho Lógico e Especificação Desenvolvimento Construção Implementação Entrega P L A N E J A M E N T O P L A N E J A M E N T O
  • 30. Conclusão  os pré-requisitos para um bom funcionamento dos testes automatizados são :  Implementação dos ambientes  Configuração correta dos inúmeros parâmetros  Pelas limitações e pela complexidade e esforço houve necessidade de diminuir o escopo, reduzindo a prova conceitual para testes unitários;  A UML atendeu a necessidade de especificação conjunta das Classes de Negócio e de Testes;
  • 31. Conclusão  É viável e necessária a integração dos processos de desenvolvimento e de testes  Pesquisa, estudo, instalação e configuração dos ambientes foram muito trabalhosos, porém mostraram que a curva de aprendizado é mais rápida  Implantados o núcleo da Infra-estrutura e a automatização dos testes, aumentam a produtividade dos profissionais e a qualidade do software  Os ambientes Struts e Hibernate facilitam e agilizam o desenvolvimento de software  As ferramentas JUnit e ANT usadas juntas automatizam os testes, reduzindo o re-trabalho dos desenvolvedores
  • 32. Agradecimentos Orientador Hamilton Athanazio Coordenador Manuel Martins Conjunto de professores, funcionários e alunos dos Cursos de Ciência de Computação e Tecnologia da Informação