Modelagem Visual
A Prática de Modelagem Visual é o uso de notações de design gráficas e textuais, semanticamente ricas, para capturar designs de software.
Relacionamentos
Elementos Relacionados
Descrição Principal

Imagem da Modelagem Visual

A modelagem visual aumenta o nível de abstração

O que É Modelagem Visual?

A modelagem visual é o uso de notações de design gráficas e textuais, semanticamente ricas, para capturar designs de software. Uma notação, como a UML, permite que o nível de abstração seja aumentado, enquanto mantém sintaxe e semântica rígidas. Dessa maneira, a comunicação na equipe de design melhora, à medida que o design é formado e revisado, permitindo ao leitor raciocinar sobre ele e fornecendo uma base não ambígua para a implementação.

Porque Modelamos?

Um modelo é uma visualização simplificada de um sistema.  Ele mostra os elementos essenciais do sistema de uma perspectiva específica e oculta os detalhesnão essenciais.  Modelo podem ajudar das seguintes maneiras:

Ajudando na Compreensão de Sistemas Complexos

A importância dos modelos aumenta à medida que os sistemas se tornam mais complexos.  Por exemplo, uma casinha de cachorro pode ser construída sem um projeto.  No entanto, à medida que evoluímos para casas e, depois, para arranha-céus, a necessidade de um projeto torna-se evidente.

De modo semelhante, um pequeno aplicativo, construído por uma pessoa em alguns dias, pode ser facilmente compreendido em sua totalidade.  No entanto, um sistema de e-commerce com dezenas de milhares de SLOCs (Source Lines of Code), ou um sistema de controle de tráfego aéreo com centenas de milhares de SLOCs, já não pode ser facilmente compreendido por uma única pessoa.  A construção de modelos permite a um desenvolvedor se concentrar no quadro global, entender como os componentes interagem e identificar falhas fatais. 

 Alguns exemplos de  modelos são:

  • Casos de Uso para especificar comportamento de forma não ambígua
  • Diagramas de Classes e Diagramas de Modelo de Dados para capturar design
  • Diagramas de Transição de Estado para modelar comportamento dinâmico

A modelagem é importante, pois ajuda a equipe a visualizar, construir e documentar a estrutura e o comportamento do sistema, sem se perder na complexidade.

Explorando e Comparando as Alternativas de Design a um Baixo Custo

Modelos simples podem ser criados e modificados a um baixo custo para explorar alternativas de design.  Idéias inovadoras podem ser capturadas e revisadas por outros desenvolvedores antes de investir em um desenvolvimento de código caro.  Quando ligada ao desenvolvimento iterativo, a modelagem visual ajuda os desenvolvedores a avaliar mudanças de design e a comunicar essas mudanças a toda a equipe de desenvolvimento.

Formando uma Fundação para Implementação

Atualmente, muitos projetos empregam linguagens de programação orientadas a objetos para obter sistemas reutilizáveis, tolerantes a mudanças e estáveis. Para obter essas vantagens, é ainda mais importante usar tecnologia de objetos em design. O RUP (Rational Unified Process) produz um modelo de design orientado a objetos que é a base para a implementação.

Com o suporte de ferramenta apropriadas, um modelo de design pode ser utilizado para gerar um conjunto inicial de código para implementação.  Isto é referenciado como "engenharia de avanço" ou "geração de códigos".  Os modelos de design também podem ser aperfeiçoados para incluir informações suficientes para construir o sistema.

A engenharia reversa também pode ser aplicada para gerar modelos de design a partir de implementações existentes.  Isso pode ser utilizado para avaliar implementações existentes.  

"Engenharia de Round trip" combina técnicas de engenharia reversa e de avanço,para assegurar design e código consistentes. Combinada com um processo iterativo e as ferramentas corretas, a engenharia round-trip permite que o design e o código sejam sincronizados durante cada iteração.

Capturando Requisitos com Precisão

Antes de construir um sistema, é essencial capturar os requisitos.  A especificação dos requisitos utilizando um modelo preciso e não ambíguo ajuda a assegurar que todos os investidores entendam e concordem com os requisitos.  

Um modelo que separa o comportamento externo do sistema da implementação o ajuda a se concentrar no uso pretendido do sistema, sem ficar perdido nos detalhes de implementação.

Comunicando Decisões Sem Ambigüidade

O RUP utiliza a UML (Unified Modeling Language), uma notação consistente que pode ser aplicada à engenharia de sistemas e à engenharia de negócios.   Uma notação padrão serve funções a seguir (consulte [BOO95]):

  • "Serve como uma linguagem para comunicar decisões que não são óbvias ou que não podem ser deduzidas a partir do próprio código."
  • "Fornece semântica rica o suficiente para capturar todas as decisões estratégicas e táticas importantes."
  • "Oferece uma forma concreta o suficiente para que as pessoas raciocinem e para que as ferramentas sejam manipuladas."

A UML representa a convergência da boa prática em modelagem de software em todo o segmento de mercado de tecnologia de objetos. Para obter informações adicionais sobre a UML, visite nosso Web site em http://www-306.ibm.com/software/rational/uml/.