Ferramentas CASE - Estudo e Usabilidade
Autor: Lívia Salles | Publicado: 2009-06-09T18:18:00-07:00

Lívia Salles - PUC Minas Guanhães1. Introdução1.1 Ferramentas CASEA sigla CASE significa “Computer-Aided Software Engineering”. Traduzindo para o português seria “Engenharia de Software Auxiliada por Computador”.O termo Ferramentas CASE abrange todas as ferramentas baseadas em computadores que auxiliam atividades de desenvolvimento de software, englobas desde análise de requisitos e modelagem até programação e testes. São consideradas ferramentas automatizadas que tem como objetivo auxiliar o desenvolvedor de sistemas em uma ou várias etapas do ciclo de desenvolvimento de software. As ferramentas CASE se dividem em três categorias. São elas: - Lower CASE: ferramentas de codificação (front-end);- Upper CASE: ferramentas de análise, projeto e implementação;-Integrated CASE: união de Upper e Lower CASE. O sistema computacional é composto de ferramentas que suportam a automação do ciclo de vida do software e permite o uso efetivo dos princípios e práticas gerais de engenharia de software cada prática dessas praticas devem ser apoiadas por ferramentas adequadas para garantir a viabilidade e produtividade da execução das tarefas.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.Elas podem ser classificadas de acordo com suas funcionalidades quanto:• Controle de Versão• Gerência de Projetos• Edição• Ferramentas de Prototipagem• Suporte a programação• Análise de programas• Teste• Depuração• Geração de Código• Documentação• Reengenharia• Ferramentas Integradas• Ferramentas de Métricas• Ferramentas de Planejamento1.1.1 Principais Vantagens• Qualidade final do produto• Maior produtividade• Rapidez na tomada de decisão• Menos programação• Redução de custos na manutenção• Agilidade no debug1.1.2 Desvantagens• Incompatibilidade de ferramentas• Custo alto por licença• Treinamento para utilizaçãoNeste trabalho serão especificadas algumas ferramentas utilizadas no apoio ao desenvolvimento de softwares. São ferramentas utilizadas tanto na Análise Essencial quanto na análise Orientada a Objetos (UML).2. Como escolher uma ferramenta CASEPrimeiramente deve-se saber para qual finalidade essa ferramenta será usada na empresa. será para codificação ou ferramenta para análise. Levando-se em conta que existem inúmeras tarefas no desenvolvimento e várias ferramentas no mercado, será uma atividade nada fácil decidir por uma ou outra..Outro ponto importante que deve ser considerado é se a ferramenta é aderente aos conceitos (análise estruturada ou orientação a objetos ou essencial) de trabalho na empresa. Estes conceitos e técnicas evoluem sempre evoluem com tempo, por isso é importante que a ferramenta escolhida tenha suporte para evolução ou esteja então seja preparada para evoluir também através pacotes de atualização.Para se escolher uma ferramenta CASE, devemos levar em consideração algumas perguntas como:• As pessoas que irão trabalhar no desenvolvimento estão preparadas tecnicamente para trabalhar com ferramentas case?• Preciso capacitar os recursos de minha empresa?• A metodologia de desenvolvimento em minha empresa está “amadurecida” o suficiente pra usar uma ferramenta CASE?Alguns pontos mais a serem considerados na escolha da ferramenta CASE são:• 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.As ferramentas CASE automatizam uma grande variedade de tarefas como a Geração de documentação,Testes, Engenharia Reversa , Geração de código, Geração de Relatórios entre outras atividades. Escolher a melhor como dito, não é uma tarefa simples. Cada empresa tem necessidades e problemas específicos a serem resolvidos, é preciso focar nisso e ver qual vai atender dentro nas condições financeiras da empresa.3. Alguns Modelos3.1 Rational RoseDesenvolvida por: Rational, posteriormente adquirida pela IBM.Rational Rose é uma solução para modelagem visual de software permitindo a criação, análise, projeto (design), visualização, modificação e manipulação de componentes. Tem a notação necessária que permite especificar e documentar a arquitetura do sistema.Disponibiliza nove diagramas de UML para fazer a modelagem, são eles:• Diagramas de Casos de Uso• Diagramas de Classe• Diagrama de Componentes• Diagrama de Desenvolvimento• Diagrama de Objetos• Diagrama de Seqüência• Diagrama de Colaboração• Diagrama de Estados• Diagrama de atividades O Rational Rose provê a notação necessária para especificar e documentar a arquitetura do sistema. A arquitetura lógica é capturada nos diagramas de classes, que contêm as classes e seus relacionamentos. A arquitetura de componentes é capturada nos diagramas de componentes, que estão focados na organização modular do sistema dentro do ambiente de desenvolvimento. A arquitetura de distribuição é capturada com os diagramas de distribuição, que mapeiam o software em nodos de processamento, mostrando a configuração de elementos com processamento em tempo de execução e seus processos de software.Permite também a construção de modelos de Dados com possibilidade de exportação para construção de BD ou realização de engenharia reversa de uma base de dados existente. Além de gerar o escopo de funções pra várias linguagens de programação.Site oficial: http://www-01.ibm.com/software/rational/ 3.2 JUDE (Java and UML Developers' Environment)Desenvolvida por: Massimo Zaniboni (em linguagem Java)JUDE é uma IDE para Modelagem de Dados criada com Java, de uso fácil e intuitivo, é uma das ferramentas grátis para UML mais poderosas disponíveis atualmente. Com características que não são encontradas nas outras ferramentas grátis, como adicionar métodos no diagrama de sequência e a alteração se refletir no diagrama de classes. Depois de feita toda a modelagem é possível exportar tudo para um arquivo Java, HTML ou exportar cada diagrama em forma de imagem. É possível trabalhar com vários diagramas, classes, caso de uso, desenvolvimento dentre outros. É possível criar alguns itens do diagrama de classes apenas clicando com o botão direto do mouse nos itens dos diagramas de casos de uso e selecionando a opção desejada.São 8 tipos diferentes de diagramas. • Diagrama de Classes• Diagrama de Casos de Uso• Diagrama de Estados• Diagrama de Atividades• Diagrama de Seqüência• Diagrama de Comunicação• Diagrama de Componentes• Diagrama de ImplantaçãoO Jude está disponível em duas versões, uma grátis (Community) e outra paga (Professional). Embora a versão Community seja gratuita, ela é capaz de realizar 90% das atividades que são realizadas no desenvolvimento de software.Site oficial: http://jude.change-vision.com/jude-web/index.html3.3 RUP (Processo Unificado da Rational)Desenvolvido por: Rational Software Corporation (posteriormente adquirida pela IBM)O RUP (Rational Unified Process) é um processo proprietário de Engenharia de software criado pela Rational Software Corporation, adquirida pela IBM.O RUP usa a abordagem da orientação a objetos em sua concepção e é projetado e documentado utilizando a notação UML (Unified Modeling Language). Por ser um processo considerado pesado, ele é mais usado em grandes projetos, mas ele pode ser adaptado para projetos de qualquer escala. O RUP é dividido em 4 fases:• Concepção: ênfase no escopo do sistema;• Elaboração: ênfase na arquitetura;• Construção: ênfase no desenvolvimento;• Transição: ênfase na implantação. Além de ser dividido em fases, o RUP é baseado em um conjunto de princípios de desenvolvimento de software e melhores práticas, por exemplo: 1. Desenvolvimento de software iterativo e Gerenciamento de requisitos2. Uso de arquitetura baseada em componente3. Modelagem visual de software4. Verificação da qualidade do software5. Controle de alteração no software A plataforma RUP inclui: • Ferramentas para configurar a RUP para as necessidades específicas de seu projeto.• Ferramentas para desenvolver seu próprio conhecimento interno em componentes de processo.• Ferramentas de implementação eficientes e personalizáveis baseadas na Web.• Uma comunidade online para trocar melhores práticas com colegas e líderes do segmento de mercado.Site oficial: http://www-01.ibm.com/software/rational/ 3.4 Visio ProjectDesenvolvido por: Visio Corporation (posteriormente adquirida pela Microsoft)O Visio é conhecido pela sua abundância de diagramas e gráficos. Faz-se de tudo com esse software desde planta baixa de casas até diagramas causa-efeito, passando pelos tradicionais fluxogramas e organogramas.O Visio é um aplicativo para usado para criar diagramas em ambiente Windows, ajudando os profissionais de TI e de negócios na elaboração de projetos e tomadas de decisão. Tem como principal ponto forte os diagramas técnicos e profissionais, com imagens vetoriais, que podem ser ampliados e manipulados com facilidade.Ele pode ser usado para desenhar vários tipos de diagramas, como: • Organogramas,• Fluxogramas,• Modelagem de dados (usando UML ou outra notação gráfica qualquer),• Diagramas de redes,• Plantas baixas, cartazes, etc. O Visio pode ser considerado um intermediário entre um programa de AutoCAD (especializado em desenho vetorial de alta precisão para engenharia) e um programa de desenho artístico. Sua flexibilidade, simplicidade de uso e qualidade das ferramentas o tornam uma ferramenta excelente para aplicações rápidas, rascunhos, e diagramas de uso pessoal ou profissional. Está disponível em duas versões: Standard e Professional.O Visio gera código fonte baseado no diagrama de classes. O teste efetuado gerou um simples esqueleto das classes, mas algo que já possibilita uma orientação dos desenvolvedores e mantém a padronização do time.Como parte integrante do MS-Office, os relatórios do Viso são todos integráveis com o Word e possuem parâmetros definidos. É disponibilizado um relatório estatístico exibindo desde o número de tabelas até a quantidade de índices no projeto.Site oficial: http://www.microsoft.com/office/visio/ 3.5 Open ModelSphereDesenvovido por: GranditeO Open ModelSphere é uma poderosa ferramenta de modelagem UML e processamento de dados. É uma ferramenta de modelagem livre, disponíveis como Open Source Software. Lançado sob a licença GPL (GNU Public License). Desenvolvido para ser independente de plataforma o Open ModelSphere foi criado como uma aplicação Java.Tendo sido desenvolvido como um software comercial por Grandite ao longo de vários anos. Ajuda a integrar a criação de fluxo de dados e diagramas de processos empresariais e de elaborar um fluxo de trabalho e logística da empresa. Você pode especificar recursos, operações, relacionamentos, custo calculado em tempo, dinheiro e esforço. Ele não se restringe a modelagem de processos de desenvolvimento e permite a criação de desenho técnico na aplicação desenvolvimento de sistemas. É possível dividir as arquiteturas e etapas dos processos de maneira mais detalhada. Estes itens poderão ser organizados e esquematizados de forma hierárquica, possibilitando a decomposição deles em subprocessos e, assim, facilitando a visualização de cada fase ao mesmo tempo em que permite uma visão geral do sistema. Possui ainda a vantagem de ser um sistema que permite a engenharia reversa, possibilitando uma visualização gráfica da arquitetura da base de dados e criação dos scripts SQL a partir de seu modelo. A ferramenta suporta, de uma forma genérica, todos os tipos de sistemas de gerenciamento de banco de dados, pois utiliza banco de dados relacional, o que facilita possíveis modificações futuras.Open ModelSphere está na versão 3.0. Pode ser deito download, usar, copiar e modificar de forma gratuita. O usuário pode fazer parte da comunidade, como um utilizador ou como um desenvolvedor.Site oficial: http://www.modelsphere.org/download.html 4. ConclusãoPode ser concluído, com o desenvolvimento deste trabalho, que existem diversas ferramentas que auxiliam no desenvolvimento de software, tanto para a Análise Essencial quanto para a Análise OO. Todas executam o que propõem, mas cada uma com sua especialidade, o que exige que o desenvolvedor saiba exatamente o que ele pretende representar, para assim atingir bem seu objetivo.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ém a utilização de ferramentas CASE não dispensam um bom profissional na área. É necessário alguém que entenda bem as regras de negócio para manipular bem e extrair o que cada uma dessas ferramentas tem de melhor.Referências BibliográficasYOURDON, Edward; ANÁLISE ESTRUTURADA MODERNA - Tradução Da 3ª Edição. Editora: Campus. 2002.SILVA Manoel ROCHA Thayssa PROJETO DE UMA FERRAMENTA CASE UTILIZANDO A NOTAÇÃO DA UML E A METODOLOGIA DE COAD &amp; YOURDON,1998,CESUPA Belém do Pará.PRESSMAN, Roger. Engenharia de Software. Editora Makron Books, 1995;Site official JUDE: Disponível em: http://jude.change-vision.com/jude-web/index.html Acessado em 30 de março de 2009Site official RATIONAL ROSE: Disponível em: http://www.01.ibm.com/software/rational/. Acessado em 30 de março de 2009Site official RUP: Disponível em: http://www-01.ibm.com/software/rational/. Acessado em 29 de março de 2009.Site official VISIO: Disponível em: http://office.microsoft.com/pt-br/visio/FX100487861046.aspx. Acessado em 30 de março de 2009Site official Open ModelSphere: Disponível em: http://www.modelsphere.org/download.html. Acessado em 01 de abril de 2009.