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