Ferramentas CASE (do inglês Computer-Aided Software Engineering) é uma classificação que abrange todas as ferramentas baseadas em computadores que auxiliam atividades de engenharia de software, desde análise de requisitos e modelagem até programação e testes. Podem ser consideradas como ferramentas automatizadas que tem como objetivo auxiliar o desenvolvedor de sistemas em uma ou várias etapas do ciclo de vida do desenvolvimento de um software.
Categorização
Não há um padrão definido para a categorização das CASE, no entanto os termos abaixo são os que melhor o identificam.
- Front End ou Upper CASE: apoia as etapas iniciais de criação dos sistemas: as fases de planejamento, análise e projeto do programa ou aplicação.
- Back End ou Lower CASE: dão apoio à parte física, isto é, a codificação, testes e manutenção da aplicação.
- I-CASE ou Integrated CASE: classifica os produtos que cobrem todo o ciclo de vida do software, desde os requisitos do sistema até o controle final da qualidade.
Os ambientes de desenvolvimento integrado (IDEs) têm maior destaque e suportam:
- Editor
- Compilador
- Debug
- Geração de código
- Ferramentas de modelagem
- Deploy
- Testes automatizados Yrla
- Refatoração
Classificação
- Controle de Versão
- CVS, Subversion, Git, Mercurial, Bazaar, StarTeam Borland, Rational Clearcase, entre outros.
- Gerência de projetos
- Microsoft Project, dotProject, Xplanner, Google Code
- Edição
- Microsoft Word, JBuilder, Wiki, Open Office, Eclipse, NetBeans, Rational Rose, Astah, ArgoUML, Star UML
- Ferramentas de prototipagem
- Adobe PageMaker, NetBeans, JBuilder, Delphi,Visual Basic, Lazarus
- Suporte a programação
- Compiladores - JDK
Banco de Dados – Oracle, MySQL, Postgres
Teste - JUnit
Automação de tarefas - Apache Ant, Apache Maven
- Análise de programas
- Analisadores estáticos - HPROF
- Teste
- JUnit (unitários)
- Depuração
- Sistemas interativos de depuração
- Geração de código
- Transformica, Unitech CodeFSW, JEE Spider
- Documentação
- Editores de texto (Ex: Microsoft Word, OpenOffice)
Geradores de documentos (Ex: Javadoc)
Editores de texto colaborativo (Ex: wiki)
- Reengenharia
- Sistemas de reestruturação de programas
- Ferramentas Integradas
- Agrupam diversas funcionalidades
- Ferramentas de Métricas
- Costar, USC-COCOMO, Calico
- Ferramentas de Planejamento
- Foundation
Objetivos
- Melhoria da qualidade de software
- Aumento da produtividade no processo de software
Vantagens do uso de ferramentas CASE
- Qualidade no produto final
- Produtividade
- Agilizar o tempo para tomada de decisão
- Menor quantidade de códigos de programação
- Melhoria e redução de custos na manutenção
- Agilidade no retrabalho do software
- Maior facilidade para desenvolvimento
Desvantagens do uso de ferramentas CASE
- Incompatibilidade de ferramentas
- Formação para utilização
Seleção e avaliação de ferramentas CASE
Avaliação
Processos nos quais vários aspectos de uma ferramenta CASE são medidos, considerando-se critérios definidos. Os resultados são armazenados para uso posterior. Avaliar ferramentas CASE é muito mais que simplesmente comparar preços e condições de pagamento.
Se não há familiaridade com nenhuma é preciso definir e estudar essa metodologia antes mesmo de comprar ferramentas.
Uma forma bastante comum para o processo de avaliação é a utilização de questionários que buscam abranger todas as características de ferramentas CASE.
Seleção
Processo nos quais os dados de uma ou mais avaliações de ferramentas são ponderados e comparados, considerando-se critérios definidos, para determinar se uma ou mais ferramentas podem ser recomendadas para a adoção.
A proposta do processo de seleção é identificar a ferramenta CASE mais adequada entre as candidatas e certificar-se que a ferramenta recomendada atende aos requisitos originais dos usuários.
Pode iniciar quando os relatórios de avaliação estiverem concluídos. Um algoritmo de seleção deve ser definido e aplicado aos resultados da avaliação.
Norma ISO/IEC 14102
Esta norma trata da seleção e avaliação de ferramentas CASE, e cobre parcial ou todo o ciclo de vida da engenharia de software. Estabelece processos e atividades a serem aplicadas na avaliação de ferramentas e na seleção da ferramenta mais apropriada dentre diversas candidatas. Estes processos são genéricos e as organizações devem adaptá-los de acordo com suas necessidades.
Ver também
Ligações externas
- Xcase da RESolution
- Silverrun da Grandite
- Open ModelSphere - Ferramenta livre
- Astah Community
- Star UML
- Ferramentas CASE
- Ferramentas CASE UML
- Ágeis Ferramentas CASE
Referências
- WEINRICH, Jair e GRAHL, Everaldo, Software de apoio a avaliação e seleção de ferramentas case baseado na norma ISO/IEC 14102, Artigo SEMINCO 1999 FURB-Universidade Regional de Blumenau
- SILVA, Manoel e ROCHA, Thayssa, PROJETO DE UMA FERRAMENTA CASE UTILIZANDO A NOTAÇÃO DA UML E A METODOLOGIA DE COAD & YOURDON, 1998, CESUPA Belém do Pará.