UML

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
Disambig grey.svg Nota: Para Engenharia de software, veja UML (desambiguação).
Wikitext.svg
Esta página ou seção precisa ser wikificada (desde maio de 2015).
Por favor ajude a formatar esta página de acordo com as diretrizes estabelecidas.
NoFonti.svg
Esta página ou secção cita fontes confiáveis e independentes, mas que não cobrem todo o conteúdo (desde abril de 2017).
Por favor, adicione mais referências inserindo-as no texto ou no rodapé. Material sem fontes poderá ser removido.—Encontre fontes: Google (notícias, livros e acadêmico)

A UML - Linguagem de Modelagem Unificada (do inglês, UML - Unified Modeling Language) é uma linguagem-padrão para a elaboração da estrutura de projetos de software. Ela poderá ser empregada para a visualização, a especificação, a construção e a documentação de artefatos que façam uso de sistemas complexos de software. Em outras palavras, na área de Engenharia de Software, a UML é uma linguagem de modelagem que permite representar um sistema de forma padronizada (com intuito de facilitar a compreensão pré-implementação). A UML é adequada para a modelagem de sistemas, cuja a abrangência poderá incluir sistemas de informação corporativos a serem distribuídos a aplicações baseadas na Web e até sistemas complexos embutidos de tempo real. É uma linguagem muito expressiva, abrangendo todas as visões necessárias ao desenvolvimento e implantação desses sistemas.[1]

A UML é adequada para modelagem de sistemas, cuja abrangência poderá incluir sistemas de informação corporativos a serem distribuídos a aplicações baseadas na Web e até sistemas complexos embutidos de tempo real.[2]

A UML (Unified Modeling Language) não é uma metodologia de desenvolvimento, o que significa que ela não diz para você o que fazer primeiro e em seguida ou como projetar seu sistema, mas ela lhe auxilia a visualizar seu desenho e a comunicação entre os objetos(e em certos casos a identificação dos processos).

Basicamente, a UML permite que desenvolvedores visualizem os produtos de seus trabalhos em diagramas padronizados. Junto com uma notação gráfica, a UML também especifica significados, isto é, semântica. É uma notação independente de processos, embora o RUP (Rational Unified Process) tenha sido especificamente desenvolvido utilizando a UML.

É importante distinguir entre um modelo UML e um diagrama[3] (ou conjunto de diagramas) de UML. O último é uma representação gráfica da informação do primeiro, mas o primeiro pode existir independentemente. O XMI (XML Metadata Interchange) na sua versão corrente disponibiliza troca de modelos mas não de diagramas.

Os objetivos da UML são: especificação, documentação, estruturação para sub-visualização e maior visualização lógica do desenvolvimento completo de um sistema de informação.

História da UML[editar | editar código-fonte]

Era uma vez um sistema UML que tinha origem na compilação das "melhores práticas de engenharia" que provaram ter sucesso na modelagem de sistemas grandes e complexos. Sucedeu aos conceitos de Booch, OMT (Rumbaugh) e OOSE (Jacobson) fundindo-os numa única linguagem de modelagem comum e largamente utilizada. A UML pretende ser a linguagem de modelagem padrão para modelar sistemas concorrentes e distribuídos.

A UML ainda não é um padrão da indústria, mas esse objetivo está a tomar forma sob os auspícios do Object Management Group (OMG). O OMG pediu informação acerca de metodologias orientadas a objetos que pudessem criar uma linguagem rigorosa de modelagem de software. Muitos líderes da indústria responderam na esperança de ajudar a criar o padrão.

Os esforços para a criação da UML tiveram início em outubro de 1994, quando Rumbaugh se juntou a Booch na Rational. Com o objetivo de unificar os métodos Booch e OMT, decorrido um ano de trabalho, foi lançado, em outubro de 1995, o esboço da versão 0.8 do Unified Process - Processo Unificado (como era conhecido). Nesta mesma época, Jacobson se associou à Rational e o escopo do projeto da UML foi expandido para incorporar o método OOSE. Nasceu então, em junho de 1996, a versão 0.9 da UML.

Finalmente em 2000, a UML foi aprovada como padrão pelo OMG (Object Management Group), um consórcio internacional de empresas que define e ratifica padrões na área de Orientação a Objetos.

Onde pode ser utilizada[4][editar | editar código-fonte]

A UML se destina principalmente a sistemas complexos de softwares. Tem sido empregada de maneira efetiva em domínios como os seguintes:

  • Sistemas de informações corporativos
  • Serviços bancários e financeiros
  • Telecomunicações
  • Transportes
  • Defesa/Espaço Aéreo
  • Vendas de Varejo
  • Eletrônica médica
  • Serviços distribuídos

Visão geral da UML[editar | editar código-fonte]

UML 2.2, conforme a OMG, possui 14 tipos de diagramas, divididos em duas grandes categorias: Estruturais (7 diagramas) e Comportamentais (7 diagramas). Sete tipos de diagramas representam informações estruturais, e os outros sete representam tipos gerais de comportamento, incluindo quatro em uma sub-categoria que representam diferentes aspectos de interação. Estes diagramas podem ser visualizados de forma hierárquica, como apresentado no padrão de diagrama de classes abaixo:

Adaptação da Figura A.5 da UML Superstructure Specification 2.5, feita com o InkScape sobre figura similar do verbete UML, em Inglês.

Diagramas da UML 2.5[editar | editar código-fonte]

Diagramas da UML 2.0 editar
Diagramas estruturais
Diagramas comportamentais ou dinâmicos

Diagramas estruturais[editar | editar código-fonte]

Os diagramas estruturais, tratam o aspecto estrutural tanto do ponto de vista do sistema quanto das classes. Existem para visualizar, especificar, construir e documentar os aspectos estáticos de um sistema, ou seja, a representação de seu esqueleto e estruturas “relativamente estáveis”. Os aspectos estáticos de um sistema de software abrangem a existência e a colocação de itens como classes, interfaces, colaborações, componentes. E é representado em 6 tipos, segue abaixo as descrições:

Diagramas de classes[editar | editar código-fonte]

O Diagrama de Classes é utilizado para fazer a representação de estruturas de classes de negócio, interfaces e outros sistemas e classes de controle. Além disso, o diagrama de classes é considerado o mais importante para a UML, pois serve de apoio para a maioria dos demais diagramas.

Diagramas de objetos[editar | editar código-fonte]

O diagrama de objetos representa os objetos de um diagrama de classes em um determinado instante de tempo, representando suas instâncias e seus relacionamentos, conforme definidos no diagrama de classes. Os objetos e suas instâncias demonstradas são utilizados para fazer a modelagem da visão estática do projeto de um sistema, a partir de situações da realidade ou de protótipos.

Diagramas de componentes[editar | editar código-fonte]

Este diagrama mostra os artefatos de que os componentes são feitos, como arquivos de código fonte, bibliotecas de programação ou tabelas de bancos de dados.

  • Modelar software baseado em componentes.
  • Indicar os componentes do software e seus relacionamentos.

Diagramas de implementação ou instalação[editar | editar código-fonte]

O diagrama de utilização, também denominado diagrama de implantação, consiste na organização do conjunto de elementos de um sistema para a sua execução.

  • Mostra o layout físico de um sistema, revelando quais partes do software são executadas em quais partes do hardware.
  • Enfoca a estrutura física sobre a qual o software irá ser implantado e executado em termos de hardware.
  • Define como as máquinas estarão conectadas e através de quais protocolos se comunicarão.
  • É útil quando o sistema a ser modelado for ser executado sobre múltiplas camadas.
  • Seus elementos são os nós e os caminhos de comunicação.

Diagramas de pacotes[editar | editar código-fonte]

Um diagrama de pacotes é composto de:

  • Pacotes
  • Relacionamentos entre pacotes.

O critério para definir os pacotes é subjetivo e depende da visão e das necessidades do projetista. Este deve definir uma certa semântica e colocar os elementos similares e que tendem a serem modificados em conjunto num mesmo pacote. Como também, pode-se usar os pacotes para mostrar a arquitetura do sistema.

Diagramas de estrutura composta[editar | editar código-fonte]

O Diagrama de Estrutura Composta é utilizado para modelar Colaborações. Uma colaboração descreve uma visão de um conjunto de entidades cooperativas interpretadas por instâncias que cooperam entre si para executar uma função específica. O termo estrutura desse diagrama refere-se a uma composição de elementos interconectados, representando instâncias de tempo de execução colaboram, por meio de vínculos de comunicação, para atingir algum objetivo comum. Esse diagrama também pode ser utilizado para definir a estrutura interna de um classificador.

Diagrama Comportamental[editar | editar código-fonte]

Utilizado para visualizar, especificar, construir e documentar aspectos dinâmicos de um devido sistema. Considerando aspectos dinâmicos de um sistema como representação das suas partes que passam por alteração, assim como aspectos dinâmicos de uma casa abrangem a passagem de pessoas pelos cômodos, e a circulação de ar, também os aspectos dinâmicos de um sistema de software envolve itens como fluxo de mensagem ao longo do tempo.

UML também permite a representação de um sistema de forma padronizada, para facilitar na compreensão, e ainda auxilia a comunicação entre os objetos, e a identificação de processos.

Existem cinco tipos de diagramas comportamentais

Diagrama de caso de uso;

  • Organiza os comportamentos do sistema. Um diagrama de caso de uso mostra um conjunto de casos de uso e atores (um tipo especial de classe) e seus relacionamentos. Aplique esses diagramas para ilustrar a visão estática do caso de uso de um sistema. Os diagramas de caso de uso são importantes principalmente para organização e modelagem dos comportamentos de um sistema.[5]

Diagrama de sequência;

  • Enfatiza a ordem temporal das mensagens. Um diagrama de sequência é um diagrama de interação que da ênfase à ordenação temporal de mensagens. Um diagrama de sequência mostra um conjunto de papéis e as mensagens enviadas e recebidas pelas instâncias que representam os papéis. Use os diagramas de sequência para ilustrar a visão dinâmica de um sistema.[5]

Diagrama de comunicação;

  • Enfatiza a organização estrutural de objetos que enviam e recebem mensagens. Um diagrama de comunicação é um diagrama de interação que da ênfase a organização estrutural dos objetos que enviam e recebem mensagens. Um diagrama de comunicação mostra um conjunto de papéis, as conexões existentes entre esses papéis e as mensagens enviadas e recebidas pelas instâncias que representam os papéis. Use os diagramas de comunicação para ilustrar a visão dinâmica de um sistema.[5]

Diagrama de estados;

  • Enfatiza o estado de mudança de um sistema orientado por eventos. Um diagrama de estados mostra uma máquina de estados, que consiste de estados, transições, eventos e atividades. Use o diagrama de estados para ilustrar a visão dinâmica de um sistema. Esses diagramas são importantes principalmente para fazer a modelagem do comportamento de uma interface, classe ou colaboração. Os diagramas de estados dão ênfase ao comportamento de um objeto, solicitado por eventos, que é de grande ajuda para a modelagem de sistemas reativos.[5]

Diagrama de Atividade;

  • Enfatiza o fluxo de controle de uma atividade para outra. Um diagrama de atividades mostra o fluxo de uma atividade para outro em um sistema. Uma atividade mostra um conjunto de atividades, o fluxo sequencial ou ramificado de uma atividade para outra e os objetos que realizam ou sofrem ações. Use os diagramas de atividades para ilustrar a visão dinâmica de um sistema. Esses diagramas são importantes principalmente para fazer a modelagem da função de um sistema. Os diagramas de atividade dão ênfase ao fluxo de controle na execução de um comportamento.[5]

Elementos[editar | editar código-fonte]

  • De estrutura:
    • Colaboração
  • De agrupamento:
    • Pacote
    • Modelo
  • Associação (bidirecional)
    • Subsistema
    • Framework
  • De anotação:
    • Notas

Ver também[editar | editar código-fonte]

Referências

  1. BOOCH, G; RUMBAUGH, J e JACOBSON, I: UML, Guia do Usuário: tradução; Fábio Freitas da Silva, Rio de Janeiro, Campus ,2012.
  2. BOOCH, G; RUMBAUGH, J e JACOBSON, I: UML, Guia do Usuário: tradução; Fábio Freitas da Silva, Rio de Janeiro, Campus ,2012.
  3. Diagramas são meios utilizados para a visualização dos blocos de construção da UML, utilizando representações gráficas de um conjunto de elementos que permitem visualizar o sistema sob diferentes perspectivas.
  4. BOOCH, G; RUMBAUGH, J e JACOBSON, I: UML, Guia do Usuário: tradução; Fábio Freitas da Silva, Rio de Janeiro, Campus ,2012.
  5. a b c d e UML - Guia do Usuário. Rio de Janeiro: ELSEVIER. 2012. pp. 105–107 

Ligações externas[editar | editar código-fonte]

Commons
O Commons possui imagens e outras mídias sobre UML

Introductory article for UML. Consultado em 7 de fevereiro de 2011