Seções iMasters
UML

Ferramentas CASE

Olá leitores, como vão? No artigo
da semana passada apresentei o diagrama de classes. Foram publicados
quatro artigos com a finalidade de introduzir os principais conceitos
da UML. O objetivo deste artigo é falar um pouco sobre
ferramentas CASE.

Antes de iniciar, acho importante apresentar o conceito “Triângulo
para o sucesso”. Este conceito pertence a Terry Quatrani,
autora do livro: Modelagem Visual com Rational Rose 2000 e UML.

Segundo Terry, para um projeto bem sucedido é
necessário conhecer bem três coisas: Notação,
Processo e Ferramenta
. Você pode saber uma notação,
mas se não souber usar (Processar), terá
falha; Você pode ter um ótimo processo, mas se não
souber comunicar (Notação), terá
falha e finalmente se não souber documentar seu trabalho
(Ferramenta), terá falha.Nos artigos anteriores
apresentei a notação, depois desta breve introdução
vamos falar sobre ferramentas.

O que são Ferramentas CASE?

A sigla CASE significa “Computer-Aided
Software Engineering”
. Traduzindo para um bom português:
Engenharia de Software Auxiliada
por Computador
”.

Uma ferramenta CASE é um aplicativo que
auxilia os profissionais envolvidos na tarefa de produzir sistemas.
O tipo de “ajuda” que a ferramenta fornece, depende
exclusivamente da proposta do fabricante. Por este motivo, as
ferramentas se dividem em três categorias. São elas:

01. Lower
CASE – ferramentas de codificação (front-end);
02. Upper CASE –
ferramentas de análise, projeto e implementação;
03. Integrated CASE
– união de Upper e Lower CASE.

Um dos componentes indispensáveis de uma ferramenta CASE
é a modelagem visual, ou seja, a possibilidade de representar,
através de modelos gráficos, o que está sendo
definido. No nosso caso, análise orientada a objetos através
da UML.

Como escolher a ferramenta?

Antes de iniciar este tópico, gostaria de
esclarecer que, a abordagem deste artigo é puramente técnica.
Não vamos levar em consideração os fatores:
Preço e Licença. Também não vou comparar
as principais ferramentas do mercado. Entendo que esta decisão
deve ficar a critério do leitor, depois de realizar muita
pesquisa no mercado.

O primeiro passo é saber qual será
o uso da ferramenta na sua empresa. Isto é, ferramenta
para codificação ou ferramenta para análise.
Como existem inúmeras tarefas no desenvolvimento e várias
ferramentas no mercado, responder esta pergunta não será
uma atividade fácil.

Outro fator importante é que a ferramenta
deve ser aderente ao conceitos (análise estruturada ou
orientação a objetos, por exemplo) de trabalho na
sua empresa.Como estes conceitos e técnicas evoluem no
tempo. È importante que a ferramenta escolhida suporte
várias técnicas ou esteja preparada para evoluir
(UPGRADE).

Vale a pena lembrar que, as perguntas abaixo
são muito importantes na escolha da ferramenta:

01. O time de desenvolvimento
está preparado tecnicamente para trabalhar com ferramentas
case?
02. Preciso capacitar os recursos de minha empresa?
03. A metodologia de desenvolvimento em minha
empresa está “amadurecida”?

Na prática, as ferramentas existentes no
mercado possuem as características colocadas acima, destaco
os seguintes pontos:

– Desenvolvidas sobre uma arquitetura inteligente
(customizável);
– Possuem "facilitadores" para auxiliar nas tarefas
repetitivas;
– Verificação da consistência através
de regras específicas;
– Geração de relatórios para acompanhamento
do trabalho;
– Interfaces com outros aplicativos de desenvolvimento.

Em resumo, as ferramentas CASE automatizam uma
grande variedade de tarefas: Geração
de documentação,Testes, Engenharia Reversa,
Geração de código, Geração
de Relatórios entre outras atividades. Por este motivo,
também são conhecidas como “Ferramentas de
Produtividade”.

Escolher a melhor ferramenta não é
uma tarefa simples. Cada empresa tem necessidades e problemas
específicos a serem resolvidos.

O que eu sugiro?

“Uma ferramenta CASE não é
a solução para todos os problemas da organização.
A organização deve ter certeza de estar pronta para
a nova ferramenta. Desta forma uma ferramenta só deveria
ser selecionada após a definição do processo
de desenvolvimento, dos métodos e de ter sido utilizada
num projeto piloto.” (Reid).

Visite o site de algumas ferramentas importantes
no mercado. Você poderá encontrar detalhes e características
que atendam a sua empresa.

Rational
Rose

System Architect
Enterprise
Architect

Microsoft VISIO

Na próxima semana, vou apresentar um “check-list”
para auxiliar a construção de use cases. Boa semana
a todos.

Comente também

21 Comentários

Vinícius Eduardo Ferreira dos Santos Silva

Olá João,

Parabéns pelo artigo, muito bom.
Quanto às ferramentas, gostaria de sugerir o Jude <http://jude.esm.jp/&gt; como ferramenta CASE, pois tenho utilizado a mesma em meus projetos e obtendo boa produtividade após tentar com o Rational Rose e com o Enterprise Architect. Vale ressaltar que minha área de atuação são projetos web de pequeno e médio porte. Talvez para projetos mais complexos o Rose e o EA sejam os mais indicados.

Guto Almeida

Para quem usa linux, existe uma ferramenta case que eu considero muito boa, é o “dia”.

Alex divino

legal seu artigo, e esta me ajudando muito na fase de projeto final na facu. olha eu gostaria de indicar o orquidea, é uma ferramenta legal e free http://www.umlnapratica.com.br/orquidea/orquidea.php

Rober

Venho pesquisando por longo tempo, a melhor utilidade entre as ferramentas case. Durante muito tempo, fiquei utilizando ferramentas paralelas, uma vez que não havia ainda encontrado alguma que abordasse bem todas as fases necessárias a uma boa e completa documentação. Utilizei por muito tempo o Rose. Ferramenta de excelente qualidade técnica voltada aos diagramas. Como não é uma escolha muito barata, envolvi-me com uma ferramenta gratuita, o JUDE. É também uma ótima ferramenta quando condideramos novamente os diagramas apenas. Durante os últimos 2 meses, encontrei uma ferramenta case que creio ser a melhor de todas que já utilizei até então. É o PowerDesigner, desenvolvido pela Sybase. É a ferramenta mais completa. Aborda todas as fases de uma documentação completa, possibilitando inclusive a customização de modo a atender filosofias de processos e mesmo metodologias específicas de cada empresa. Aborda desde a fase de requisitos à todos os outros diagramas contemplados pela UML. Vale conferir!
Aplicação: http://download.sybase.com/eval/pd111eval/PowerDesigner111_Eval.exe
Documentação:
http://download.sybase.com/eval/pd111eval/PowerDesigner111_Doc.exe

André Gomes

Já passei por muitas ferramentas, mas jamais encontrei outra que se aproxime do Sybase PowerDesigner. É até injusto considerá-lo somente uma ferramenta, quando em muitas empresas ele dita o próprio processo de desenvolvimento de software. Não se baseia somente na UML (que, aliás, suporta completamente), mas também em diversos outros modelos e métodos.

Leonardo S. Sales

Estou gostando muito destas materias! Gostaria de saber se existe alguma ferramenta CASE que gere codigo em JAVA e que seja FREE?

Leandro

Aí Leonardo,
vc pode baixar o Eclipse e logo após basixar o plugin Omondo. Nele vc faz os diagramas de classes e logo após é possível gerar os códigos em Java.
Boa sorte.

detonets

case design studio, muito bom, é em portugues e tem DFD, fluxo, tem tudo de uml, mer, entre outros.

detonets

case design studio, muito bom, é em portugues e tem DFD, fluxo, tem tudo de uml, mer, entre outros.

detonets

case design studio, muito bom, é em portugues e tem DFD, fluxo, tem tudo de uml, mer, entre outros.

Aline Buccelli

alguém usou a ferramenta da Compuware jah? o magic draw integrado com o steel trace e optimalJ?? Aline

Nicolas Lozano Silva

Pessoal, me interessei muito nessa ferramenta que vocês sitaram. Até hoje não tinha ouvido falar. (PowerDesign) Porém estou para falar de uma ferramenta que eu tenho usado há algum tempo e tem me auxiliando tanto em relação à UML como outras coisas necessárias para uma boa documentação. É o Visual Paradigm da Sun Mycrosystem. Além de poder importar seus projetos ROSE, RATIONAL, VISIO, ETC existentes, o VP também facilita no desenvolvimento devido suas ferramentas (INSTANT GENERATOR e INSTANT REVERSE) fazendo ligação entre a documentação VP e liguagens como JAVA, PHP, DELPHI, PERL, C++, entre outro.
Espero ter sido útil. E vou aproveitar para ler um pouco mais sobre o PowerDesign.

Thiago Felipe Mattos

João, bom dia.
No item 1, você citou que a categorização por Lower Case e parece ter estabelecido uma equiparação com Front-End, conforme a cópia do trecho abaixo:

“01. Lower CASE – ferramentas de codificação (front-end);”

Não seria Lower Case e Back-End?
Fiz algumas pesquisas que confrontaram com essa linha, por isso do meu questionamento.

Obrigado.

Atc,
Thiago.

Parabéns pelo artigo. Bem esclarecedor… Grato!

Olá, estou engressando nas ferramentas CASE e gostaria de algumas indicações de materiais para entender melhor em visão geral e até mesmo se aprofunda na area de projetos mecânicos.
Gostei do artigo.
att +

Sugiro verificarem a ferramenta bouml, muito boa.

Acho que seria Lower Case (Back-end)

Valeu…..

Construtor de Frameworks

Geração de código? gerar os getters e setters e a classe? … façam um favor pra mim … ignorem isso … porque é MUITO POUCO … e daí toda a complexidade por trás disso? vocês todos parem de babar com essas inutilidades inventadas por empresas que não sabem o que estão fazendo … porque não desenvolvem uma ferramenta CASE nacional ?? …. ou melhor (C)onstrução de (A)plicações (A)uxiliada por (F)erramenta … CAAF …ou algo assim … parem de engolir tudo que o outro país lá de cima inventa e ainda ficam achando que “é muito bom” … fala sério … todos fora da realidade … isso sim!! … tenho dito

Marcio do Lago

Parabéns pelo artigo !!! Já tive oportunidade de trabalhar com uma ferramenta de porte com estas características, o Genexus. O grande desafio da empresa que usa é manter-se fiel ao projeto original, sempre voltando ao protótipo para a geração das aplicações. Deparei-me uma vez em uma empresa com uma equipe que passou a manipular os fontes gerados, ou seja, perderam a origem, estava um caos.

Marcio do Lago !

oda

parabens ai parceiro mto bom o artigo, eu ate peguei para dar uma olhada para apresentar o meu aki sobre o asunto. abraço

Robson Cartes

Olá, ótimo artigo! Ajudou-me bastante. Primeiramente devo dizer que eu já tinha uma ideia de qual ferramenta case eu deveria usar, ou melhor dizendo, meu professor de Engenharia de Software sugeriu utilizar em nossos projetos STAR UM ou ARGO UML (ambos são Open Source). Inicialmente eu irei testar os dois. Além disso, no meu caso especificamente posso utilizar o Visio 2010. Seja como for Modelagem em UML é bem interessante, há tempo que eu gostaria de aprender!

Qual a sua opinião?