Imagem de Boas Práticas: Modelar Visualmente (UML)

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

Tópicos

O que É Modelagem Visual? Para o início da página

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.

Por que Modelamos? Para o início da página

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

Auxiliando na Compreensão de Sistemas Complexos Para o início da página

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 Alternativas de Design a um Baixo Custo Para o início da página

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 Base para Implementação Para o início da página

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 Rational Unified Process (RUP) 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 é chamado de "engenharia avançada" ou "geração de código".  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.  

A "engenharia round trip" combina as técnicas de engenharia avançada e reversa 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 Para o início da página

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 Para o início da página

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 as 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 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.



Rational Unified Process   2003.06.15