Começando com UML

Imagem para Começando com UML

It managementPostado em  4 min de leitura

A UML(Unified Modelling Language) é a linguagem para modelagem de dados orientado a objetos, para a especificação, construção, visualização e documentação de um software em desenvolvimento. Se formou na junção de 3 mentes responsáveis por métodos de modelagem orientada a objeto: Grady Booch, James Rumbaugh e Ivar Jacobson. A linguagem UML foi adotada em 1997 pela OMG (Object Management Group), que define e ratifica padrões na área de Orientação a Objetos.

O desejo da criação da UML, começou em outubro de 1994, com Booch e Rumbaugh na Rational Software Corporation, que foi adquirida pela IBM em 20 de fevereiro de 2003. Em outubro de 1995, unificaram os métodos Booch e OMT, tendo o seu primeiro esboço da versão 0.8 do Unified Process (Processo Unificado). Um pouco mais tarde com a associando de Jacobson, em junho de 1996, a versão 0.9 da UML, foi lançada com a incorporação do método OOSE.

  • Booch – Grady Booch - Booch definiu a noção de que um sistema é analisado a partir de um número de visões, onde cada visão é descrita por um número de modelos e diagramas. O Método de Booch trazia uma simbologia complexa de ser desenhada a mão, continha também o processo pelo qual sistemas são analisados por macro e micro visões.
  • OMT(Object Modelling Technique) – James Rumbaugh - A técnica de Modelagem de Objetos é especialmente voltado para o teste dos modelos, baseado nas especificações da análise de requisitos do sistema. O modelo total do sistema baseado no método OMT é composto pela junção dos modelos de objetos, funcional e use-cases.
  • OOSE(Object-Oriented Software Engineering) – Ivar Jacobson - O método é a visão de Jacobson de um método orientado a objetos. Baseado na utilização de use-cases, que definem os requisitos iniciais do sistema, vistos por um ator externo.

Conceito da orientação a objetos

Para utilizar a UML, é necessário conhecer o conceito da orientação a objetos e entender sobre: objetos, classes, abstração, encapsulamento, herança, comunicação com mensagens, métodos de organização e polimorfismo.

  • Objetos - É um substantivo que pode ser abstrato ou real, sobre o qual armazenamos dados e operações que manipulam os dados, como uma pessoa, um carro e etc.
  • Classes - É uma coleção de objetos que podem ser descritos com os mesmos atributos e as mesmas operações
  • Abstração - Focaliza a visão externa de um objeto, separando - a em comportamento, descrito pela interface dos métodos da classe e implementação, composta pelas variáveis de instancia e corpo dos métodos.
  • Encapsulamento - Esconde dos usuários de um objeto, os detalhes da implementação interna. Os usuários compreendem quais operações podem ser solicitadas de um objeto, mas não conhecem os detalhes de como a operação é executada.
  • Herança - É o mecanismo de compartilhamento automático de métodos e dados entre classes, subclasses.
  • Polimorfismo - Permite que o programa trate uniformemente objetos que pertencem a classe diferentes, isto é, o programa envia a mesma mensagem a objetos de diferentes classe resultando um comportamento diferente. Existem alguns tipos de Polimorfismo: paramétrico, de inclusão, por overloading e por coerção.
    • Paramétrico - quando uma função funciona uniformemente sobre uma gama de tipos.
    • De inclusão - através do mecanismo de herança de objeto pode pertencer a um número infinito de classes, aplicação do princípio de substituição.
    • Por overloading - mesmo nome de variável utilizado para denotar diferentes funções. É o contexto que decide que função utilizar.
    • Por coerção - operação semântica é utilizada para converter argumento para tipo necessário.

Diagramas

Apenas vou listar os tipos de diagramas, que aos poucos irei criando um artigo para cada diagrama. :)

Diagramas de Estrutura (estático)

  • Diagrama de Classe
  • Diagrama de Objeto
  • Diagrama de Pacotes
  • Diagrama de Componentes
  • Diagrama de Implantação
  • Diagrama de Estrutura Composta
  • Diagrama de Perfis

Diagramas de Comportamento(dinâmico)

  • Diagrama de Caso de Uso
  • Diagrama de Atividade
  • Diagrama de Máquina de Estados
  • Diagramas de Interação
    • Diagrama de Sequência
    • Diagrama de Comunicação
    • Diagrama de Tempo
    • Diagrama de Interação Geral

Versões da UML

A versão atual é a UML 2.5.

Conclusão

Essa foi uma rápida introdução a UML. Terá uma série de artigos, explicando sobre cada diagrama e mais atualizações sobre o assunto.