sexta-feira, 29 de agosto de 2014

O que é Modelagem de Sistemas ?
A modelagem é uma das atividades da engenharia de software que proporcionam a implementação de um bom software. Os modelos são uma simplificação da realidade e são construídos para que o sistema que será desenvolvido seja melhor compreendido. Por meio destes modelos múltiplas visões do sistema podem ser obtidas. Por isso, uma linguagem de modelagem, tal como a UML, é essencial para a construção e o entendimento de bons modelos. Esse processo de modelagem de software é normalmente apoiado por ferramentas CASE. Atualmente, existe um grande número destas ferramentas no mercado e é difícil julgar quais delas apóiam melhor a UML. Com base nisto, a finalidade deste trabalho é de facilitar a modelagem de sistemas orientados a objetos usando a linguagem de modelagem UML. Para tanto, foram comparadas as ferramentas CASE de modelagem de software, Astah UML e Umbrello UML Modeller. A análise comparativa apresentada vai permitir que o desenvolvedor faça uma verificação e avaliação das suas principais características, facilitando, desse modo, a sua escolha.
Como funciona?
Os modelos são construídos para que o sistema que será desenvolvido seja melhor compreendido. Construir o modelo de um sistema não é uma tarefa fácil, vários aspectos devem ser considerados, como a organização da empresa, os processos, as informações existentes, os recursos envolvidos, dentre outros.
Por meio dos modelos, é possível obter diversas visões do sistema, dessa forma a complexidade do sistema é dividida facilitando sua compreensão e atuando como meio de comunicação entre os desenvolvedores do projeto. Deste modo, uma linguagem de modelagem padronizada, como a UML, é essencial para construção e entendimento de bons modelos.

Diagrama de Classes
O diagrama de classes é possivelmente o diagrama mais utilizado e um dos mais importantes da UML. Serve de apoio para a maioria dos demais diagramas (GUEDES, 2011).
É um diagrama que mostra um conjunto de classes, interfaces, e colaborações e seus relacionamentos. O diagrama de classes é utilizado na construção do modelo de classes desde o nível de análise até o nível de especificação. Segundo Bezerra (2007), esse é o diagrama da UML mais rico em termos de notação.
Um diagrama de classes ilustra as especificações para as classes de software e de interface de uma aplicação. Este diagrama mostra definições para entidades de software, e não conceitos do mundo real (LARMAN, 2007).
Produz a descrição mais próxima da estrutura do código de um programa, ou seja, mostra o conjunto de classes com seus atributos e métodos e os relacionamentos entre classes. Classes e relacionamentos constituem os elementos básicos do diagrama de classes (SILVA, 2007).
Introdução:
O uso de software de apoio à modelagem é muito importante por duas razões, uma porque os modelos começarão a ficar tão longos que a folha de papel ficará pequena, e a outra porque é uma ótima maneira de verificar as associações entre os modelos. Para isso é essencial avaliar os benefícios das ferramentas e suas limitações, para que problemas posteriores sejam evitados no processo de desenvolvimento.
Neste contexto, o propósito deste trabalho é de facilitar a modelagem de sistemas orientados a objetos usando a linguagem de modelagem UML. Para isso, foram comparadas as ferramentas CASE de modelagem de software, Astah UML e Umbrello UML Modeller. Dessa forma, foi possível demonstrar por meio dos resultados qual ferramenta é mais completa e adequada para cada aspecto.

Justificativa para escolha do tema: Possuir um bom modelo de software é a maneira mais eficiente de comunicação entre os desenvolvedores que trabalham no projeto e os seus clientes. Um bom modelo é extremamente importante para os projetos de software, pois ele dará uma visão geral que permitirá codificar o sistema da maneira certa na primeira vez.
O processo de criação de modelos é apoiado por ferramentas de modelagem de software, cujo principal objetivo é separar o projeto da codificação do sistema. Existem várias ferramentas de modelagem, algumas que suportam a UML e outras que apóiam uma metodologia particular que atende a um determinado tipo de projeto.

Visto que existe um grande número de ferramentas CASE no mercado e que seja necessário conhecer quais delas apóiam melhor a UML, a análise comparativa entre ferramentas oferecida por este trabalho vai permitir que o desenvolvedor faça uma verificação e avaliação das suas principais características, facilitando, desse modo, a sua escolha.
 ASTAH*
Astah* é uma ferramenta CASE que visa auxiliar o processo de modelagem de um sistema, é um editor de diagramas UML que incorpora outros recursos de acordo com a distribuição utilizada. É sucessora do JUDE, ferramenta que foi descontinuada em 2010. E assim como o Jude, esta ferramenta possui versões Community e Professional.
Com o Astah* é possível realizar uma modelagem de dados complexa. É uma IDE criada com Java e de uso fácil, apresenta os dados para o usuário de forma clara e ainda possuí a vantagem de seu layout ser bem intuitivo. É possível trabalhar com vários diagramas e depois de feita toda a modelagem exportar tudo para um arquivo Java, HTML ou exportar cada diagrama em forma de imagem. O Astah* é utilizado para fazer modelos UML dos artefatos desenvolvidos no decorrer do desenvolvimento do projeto.
Essa ferramenta possui uma versão gratuita, a ASTAH Community, e está disponível comercialmente em três versões distintas, ASTAH UML, ASTAH Professional e ASTAH SHARE, com suas determinadas funções e especialidades definidas cujas diferenças se situam ao nível das funcionalidades disponibilizadas. Existe ainda a distribuição Astah UML Pad que é uma versão gratuita para ser utilizada em iPad’s.
Para a realização deste trabalho foi utilizada a versão 6.5.1 da distribuição Astah UML, pois esta é uma versão específica para trabalhar com os diagramas da UML. A figura 5 exibe a tela inicial da ferramenta Astah UML.


·         Vantagens:Layout ser bem intuitivoQualidade 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

·         Treinamento para utilização

Nenhum comentário:

Postar um comentário