# Ferramentas de Modelagem

Como parte dos requisitos do sistema e da atividade de projetos, o sistema precisa ser modelado como um conjunto de componentes e de relações entre esses componentes. Frequentemente a modelagem de software usa algum tipo de notação gráfica e são apoiados pelo uso de ferramentas case. Modelagem de softwares normalmente implica a construção de modelos gráficos que simbolizam os artefatos de software utilizados e seus inter-relacionamentos. Uma forma comum de modelagem de programas procedurais (não orientados a objeto) é através de fluxogramas, enquanto que a modelagem de programas orientados a objeto normalmente usam a UML (Linguagem de Modelagem Unificada) a qual os fabricantes líderes de modelagem estão dando suporte. Na criação de sistemas com qualidade é necessário a utilização de uma boa metodologia para a modelagem tanto do software, como de seu banco de dados. Algumas ferramentas já auxiliam na automação da escrita de código e na implementação da estrutura dos bancos de dados. Os banco de dados são modelados através do modelo de Entidade Relacionamento.O principal objetivo é facilitar o projeto de banco de dados, possibilitando especificar a estrutura geral do banco de dados. Funciona para modelos conceituais relacionais, objeto-relacionais ou orientado a objetos. As ferramentas de modelagem, surgiram para facilitar a criação dos modelos, as mais avançadas permitem a geração de uma parte do código-fonte do software a partir do modelo e até a geração do banco de dados a partir do modelo de entidade relacionamento.

## Ferramentas para Modelagem de Software

Ver: Ferramenta UML
IBM Rational RequisitePro: Um produto integrado poderoso de fácil utilização para gerenciamento de requisitos e de referência de utilização que promove melhor comunicação, aprimora o trabalho em equipe e reduz o risco do projeto. Inclui ferramentas de gerenciamento de requisitos, de modelagem dos negócios e de modelagem de dados.
JUDE (Atual ASTAH) ou Java and UML Developer Environment: É 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. O JUDE não possui um apelo gráfico tão bom quanto o Poseidon, ou tantas funcionalidades como Rational Rose. Sua performance impressiona, principalmente tratando-se de uma ferramenta 100% Java/Swing, dismistificando que Swing é lento.
Umbrello UML: Umbrello UML é um programa de modelagem UML (LINUX). Permite criar diagramas de software e outros sistemas em um formato padrão.É uma ferramenta open-source.
Poseidon para UML: É a ferramenta de modelagem de sistemas da empresa alemã Gentleware AG. O Poseidon é uma evolução da ferramenta de código-aberto ArgoUML que com mais de 350.000 instalações está entre as ferramentas de modelagem mais conhecidas. Seu principal foco está na facilidade de uso que a torna simples de aprender e usar. O Poseidon é oferecido nas seguintes opções para atender as necessidades de cada tipo diferente de usuário:
* Edição Comunitária, gratuita;
* Edição Padrão;
* Edição Profissional.
Microsoft Visual Modeler: O Visual Modeler disponibiliza ferramentas para projeto e implementação de aplicações de componentes. Através da combinação de técnicas de projeto de componentes com as ferramentas visuais, ele é integrado ao Visual Studio e fornece as seguintes propriedades:
* Reutilização
* Integração entre Visual Basic e o sistema de gerenciamento de base de dados do Visual FoxPro
* Suporte para arquitetura multitier
* Novos assistentes de conexão do Visual Modeler para usuários do Visual FoxPro 5.0
Padrões de suporte para o Visual Modeler: O Visual Modeler suporta um sub-conjunto da UML. Desenvolvido pela Rational e adotado pela Microsoft e outros líderes na indústria, a UML define uma linguagem gráfica para descrever vários componentes de um sistema de software. Suporte para Modelagem permite níveis mais altos de interoperabilidade.
Eclipse Sirius: é um projeto de software de código aberto da Fundação Eclipse . Essa tecnologia permite que os usuários criem modelos gráficos personalizados aproveitando as tecnologias de Modelagem do Eclipse, incluindo EMF e GMF . O ambiente de trabalho de modelagem criado é composto de um conjunto de editores do Eclipse (diagramas, tabelas e árvores) que permitem que os usuários criem, editem e visualizem modelos EMF.

## Ferramentas para Modelagem de Banco de Dados

DBDesigner: Editor visual para criação de banco de dados mySQL que integra criação, modelagem, desenvolvimento e manutenção dos bancos em um ambiente simples e agradável. Comparável com produtos como Oracle's Designer, IBM's Relational Rose, CA Erwin. O DBDesigner é OpenSource distribuído sobre a licença GPL. Algumas características do DBDesigner:
* É um software livre, licenciado sob a GPL;
* É multi-plataforma;
* Além de ser imbatível no uso com o MySQL, também oferece suporte a outros bancos, como Oracle, *MS SQL Server, SQLite, e outros que suportem acesso via ODBC;
* Permite engenharia reversa, gerando o modelo a partir das tabelas do BD;
* Faz a sincronia no BD das alterações realizadas no DER;
* A interface com o usuário é muito bem elaborada, tornando o seu uso bastante simples;
* Salva os arquivos em XML;
* Importa modelos gerados no ERWin (XML);
* Gera relatórios em HTML;
Pode ser expandido através do uso de plugins; É muito bem documentado; O suporte realizado através do fórum do site do DBDesigner é excelente.
IBExpert: O IB Expert é um poderoso gerenciador de banco de dados que permite realizar todas as tarefas necessárias para o suporte e manutenção do banco tanto local como remotamente. Com ele é possível administrar o banco criando tabelas, modificando campos, índices, executando scripts SQL e outras funções. O IB Expert realiza a geração do modelo de entidade relacionamento para bancos de dados Interbase e Firebird.