Ferramentas CASE Ferramentas CASE (do inglês C omputeromputer-A ided S oftware oftware E ngineering ngineering ) é uma classificação que abrange todas ferramentas baseadas em computadores que auxiliam atividades de engenharia de software, 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 desenvolvimento de 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. 1.
F r o n t E n d o u U p p e r C A S E : apóia apóia
as etapas iniciais de criação dos sistemas: as fases de planejamento, análise e projeto do programa ou aplicação. 2. B a c k E n d o u L o w e r C A S E: dão apoio à parte física, isto é, a codificação testes e E: manutenção da aplicação. 3. I-CASE classifica os produtos que cobrem todo o ciclo de vida I-CASE ou Integrated CASE: classifica 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 por funcionalidade Controlo de Versão CVS,, Subversion CVS Subversion,, Git Git,, Mercurial Mercurial,, Bazaar , StarTeam Borland Borland,, Rational Clearcase, Clearcase, entre outros. Gerência de projetos Microsoft Project, dotProject dotProject,, Xplanner , Google Code
Edição Microsoft Word, Word, JBuilder , Wiki Wiki,, Open Office, Office, Eclipse Eclipse,, NetBeans NetBeans,, Rational Rose, Rose, Astah Community, ArgoUML Community, ArgoUML,, Star UML Ferramentas de prototipagem Adobe PageMaker , NetBeans NetBeans,, JBuilder , Delphi Delphi,,Visual Basic, 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, cunit (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 Planeiamento 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 Treinamento para utilização
Requisitos de ferramentas CASE A captura dos requisitos do sistema verifica os usuários de ferramentas CASE, que são os desenvolvedores.[necessário esclarecer ] Os membros de equipes de marketing também auxiliam no processo, pelo fato de se tratar de um produto dirigido ao mercado. Onde o processo da fase de requisitos faz uma análise do mercado, analisa a documentação de ferramentas similares que já existem, faz-se testes sobre as ferramentas que já estão no mercado, e se elabora questionários (respondidos pelos desenvolvedores e pelo pessoal de marketing).
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
Modelagem de dados
Banco de Dados Arquitetura de dados
Administração de dados
Ligações externas Xcase da RESolution Silverrun da Grandite Open ModelSphere - Ferramenta livre Astah Community Star UML Ferramentas CASE 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á.
Vantagens do CASE Entre as vantagens do uso de ferramentas CASE, podem ser citadas:
maior qualidade dos produtos finais: as ferramentas CASE diminuem a probabilidade de erros, uma vez que podem ajudar no controle de consistência dos dados em um ADS; também proporcionam maior eficácia dos produtos, ao auxiliarem as fases de Análise e Teste do produto pelo usuário; produtividade: ao ajudar na realização de tarefas e até mesmo ao realizar algumas automaticamente, as ferramentas contribuem para uma maior agilidade no desenvolvimento de software, isto é, mais produtos em menos tempo; eliminação de trabalho monótono: as ferramentas CASE podem realizar algumas tarefas cansativas para os desenvolvedores, tais como procurar informações e desenhar símbolos de um diagrama, as quais são mais sucetíveis ao erro; mais tempo para a tomada de decisão: em conseqüência de as ferramentas realizarem certas atividades pelas pessoas, estas ficam liberadas para outras tarefas, geralmente mais nobres, que exigem tomada de decisão e criatividade, ao invés de tarefas repetitivas; flexibilidade para mudanças: as ferramentas permitem que sejam mudados dados e diagramas de maneira mais rápida e fácil, o que ajuda o desenvolvedor no trabalho de tentar satisfazer o usuário;
menos programação: as ferramentas eliminam muito do trabalho de programação, deixando mais tempo para que a equipe técnica se preocupe com a Análise do Sistema, que é onde se define como solucionar o problema do usuário; melhor documentação: por armazenarem dados e diagramas, as ferramentas também contribuem para uma melhor documentação do sistema, agilizando relatórios, busca de informações e alterações; manutenção mais fácil e ágil: por conseqüência do item anterior, é possível ter mais informações sobre o software na hora de realizar sua manutenção (correção, atualização ou expansão).
RAD/JAD Desenvolvimento Rápido de Aplicações (RAD): É o processo de criar sistemas aptos a funcionar em um espaço muito curto de tempo. Ele utiliza programação visual e outras ferramentas para desenvolver interfaces gráficas de usuário, prototipagem interativa de elemento de sistemas essenciais, automação da geração de códigos-fonte para programas e colaboração mais estreita entre os usuários finais e os especialistas em sistemas de informação.
Joint Application Design (JAD): Joint Application Design (JAD) é utilizado para acelerar o projeto de sistemas. Guiados por um líder de reunião, usuários e analistas projetam o sistema juntos, em sessões de grupo estruturadas. JAD utiliza a criatividade e o trabalho em equipe de dinâmica de grupo para definir o ponto de vista dos usuários sobre o sistema, desde os objetivos e aplicações do sistema até a geração de telas e projetos de relatórios. A aplicação JAD permite a criação, em menos tempo, de sistemas mais eficazes.