Title: Unified Modeling Language UML
1Unified Modeling LanguageUML
- Notações Básicas
- Referência UML Resource Center
2Introdução
- A UML é uma linguagem gráfica para visualização,
especificação, construção e documentação de
artefatos que façam uso de sistemas complexos de
software. - Adequada para modelar sistemas de informação
corporativos distribuÃdos aplicações baseadas em
WEB e até sistemas complexos embutidos de tempo
real.
3Modelo Conceitual da UML
- Para compreender a UML é preciso formar um modelo
conceitual da linguagem e isso pressupõe aprender
três elementos principais - Blocos de construção básicos
- Regras que determinam como esses blocos poderão
ser combinados - Mecanismos comuns aplicados na UML
4Blocos de Construção
- O vocabulário da UML abrange 3 tipos de blocos de
construção - Itens
- Relacionamentos e
- Diagramas
- Os itens são abstrações, os relacionamentos
reúnem esses itens os diagramas agrupam coleções
interessantes de itens.
5Itens
- Existem 4 tipos de itens na UML
- Itens Estruturais partes mais estática do modelo
(substantivos) - Itens Comportamentais partes dinâmica (verbos)
- Itens de Agrupamento partes organizacionais dos
modelos da UML (pacotes) - Itens de Anotações partes explicativas dos
modelos da UML (notas)
6Itens
- Itens Estruturais partes mais estática do modelo
(substantivos)
Digitalizar Retina
Window
origin size open() close() move() display()
Cadeia de Responsabilidade
Window
origin size
ISpelling
7Itens
- Itens Comportamentais partes dinâmica (verbos)
8Itens
- Itens de Agrupamento partes organizacionais dos
modelos da UML (pacotes) - Itens de Anotações partes explicativas dos
modelos da UML (notas)
9Relacionamentos
- Existem 4 tipos de relacionamentos na UML
- Dependência
- Associação
- Generalização
- Realização
10Relacionamentos
- Dependência é um relacionamento semântico entre
dois itens, em que uma modificação em um item
poderá afetar a semântica de outro item
Dependência (Agenda de Cursos depende de Curso)
Curso
Quando excluir um Curso, retirar da agenda.
11Relacionamentos
- Associação é um relacionamento estrutural que
especifica que os objetos de um item estão
conectados a objetos de um outro item. Existem
quatro tipos básicos de adornos a serem aplicados
às associações (nome, papel, multiplicidade,
agregação).
12Relacionamentos
13Relacionamentos
Composição relacionamento forte do tipo é parte
de . A composição entre um elemento (o todo) e
outros elementos (as partes) indica que as
partes só podem pertencer ao todo e são criadas
e destruÃdas com ele.
14Relacionamentos
- Associação Existem outros tipos de adornos a
serem aplicados às associações (ex classe de
associação).
15Relacionamentos
- Outro exemplo de classe de associação
16Relacionamentos
- Generalização é um relacionamento de
especialização/generalização, nos quais os
objetos dos elementos especializados (filhos) são
substituÃveis por objetos do elemento
generalizado (pais).
generalização
17Relacionamentos
- Realização É um relacionamento semântico entre
classificadores, em que um classificador
especifica um contrato que outro classificador
garante executar. É utilizado no contexto de
interfaces e no contexto de colaborações em casos
de usos.
18Extensibilidade
- A UML oferece três mecanismos para a extensão da
sintaxe e da semântica da linguagem, são eles - Estereótipos
- Valores atribuÃdos
- Restrições
19Extensibilidade
estereótipo
valor atribuÃdo
add runs in O(1) time
restrição
20ExtensibilidadeEstereótipos
- Um estereótipo é um mecanismo de extensão
introduzido pela UML, que permite que o usuário
estenda o meta-modelo para suprir necessidades
que não encontram-se definidas entre os elementos
dos diagramas. - A apresentação geral de um estereótipo é o nome
do estereótipo colocado entre os sÃmbolos ltlt
gtgt. - Um estereótipo geralmente é aplicado a classes,
relacionamentos de dependência, atributos e
operações. - Exemplo ltltabstractgtgt aplicado a uma classe
indica que a classe não pode ter objetos, é uma
classe que nunca deve ser instanciada.
21ExtensibilidadeEstereótipos - Exemplos
22ExtensibilidadeEstereótipos - Exemplos
23ExtensibilidadeValores atribuÃdos
- Valor atribuÃdo permite atribuir um tipo
particular de propriedade a um ou vários blocos
de construção. - valor atribuÃdo valor
- Exemplo
- valor gt 100 exemplo de uma pré-condição para
a execução de um método
24ExtensibilidadeValores atribuÃdos - Exemplos
25ExtensibilidadeRestrições
- Restrição é uma relação semântica entre
elementos do modelo. Especifica condições ou
proposições que devem ser mantidas verdadeiras - Uma restrição é mostrada como uma cadeia entre
chaves
Fila
ordenado
adicionar( )
remover( )
26ExtensibilidadeRestrições - Exemplos
27Diagramas
- Um diagrama é uma apresentação gráfica de um
conjunto de elementos com objetivo de visualizar
um sistema sob diferentes perspectivas.
- Diagrama de Classes
- Diagrama de Objetos
- Diagrama de Casos de Uso
- Diagrama de Seqüência
- Diagrama de Colaboração
- Diagrama de Estados
- Diagrama de Atividades
- Diagrama de Componentes
- Diagrama de Implantação
28Diagrama de Classes
ou
1
ItensPedido quantidade IncluirItemPedido(...) Ca
lcularTotal(...)
EmpresaCliente
29Diagrama de Classes
- A sintaxe padrão de um atributo é
- visibilidade nome tipo valor_inicial
- string de propriedade
- onde visibilidade é
- visibilidade pública
- visibilidade protegida
- - visibilidade privada
30Diagrama de Classes
- A sintaxe da operação é
- visibilidade nome (lista_parâmetros)
- tipo_do_retorno string de propriedade
- na qual lista_parâmetros é um lista de parâmetros
formais separados por vÃrgula, cada um
especificado segundo sintaxe nome tipo
valor_padrão
31Exemplos
32Exemplos
33Diagramas
- Um diagrama é uma apresentação gráfica de um
conjunto de elementos com objetivo de visualizar
um sistema sob diferentes perspectivas.
- Diagrama de Classes?
- Diagrama de Objetos
- Diagrama de Casos de Uso
- Diagrama de Seqüência
- Diagrama de Colaboração
- Diagrama de Estados
- Diagrama de Atividade
- Diagrama de Componentes
- Diagrama de Implantação
34Diagrama de Objetos
35Diagrama de Objetos
36Diagramas
- Um diagrama é uma apresentação gráfica de um
conjunto de elementos com objetivo de visualizar
um sistema sob diferentes perspectivas.
- Diagrama de Classes?
- Diagrama de Objetos?
- Diagrama de Casos de Uso
- Diagrama de Seqüência
- Diagrama de Colaboração
- Diagrama de Estados
- Diagrama de Atividade
- Diagrama de Componentes
- Diagrama de Implantação
37Diagrama de Casos de Uso
38Diagrama de Casos de Uso
- Casos de Uso podem ser organizados pela
especificação de relacionamentos de - Generalização
- Inclusão ltltincludegtgt
- Extensão ltltextendgtgt
39Diagrama de Casos de UsoGeneralização entre
Atores
- Grupos gerais de atores especializados,
utilizando o relacionamento de generalização.
40Diagrama de Casos de UsoGeneralização entre
Atores
- Outra forma de representar a generalização.
41Diagrama de Casos de UsoGeneralização entre
Casos de Uso
- O caso de uso filho herda o comportamento e o
significado do caso de uso pai.
42Diagrama de Casos de UsoInclusão
- Um relacionamento include de um caso de uso A
para um caso de uso B indica que uma instância de
A inclui o comportamento especificado por B. - Esse tipo de associação é útil para evitar a
repetição de um fluxo de eventos várias vezes. - Essa associação é mostrada com um relacionamento
de dependência e acrescentando o estereótipo ltlt
includegtgt.
43Diagrama de Casos de UsoExemplo de Inclusão
Sacar Dinheiro
ltltincludegtgt
Validar Usuário
Digitalizar Retina
Checar Senha
44Diagrama de Casos de UsoExtensão
- Um relacionamento extends de um caso de uso A
para um caso de uso B indica que uma instância de
B pode usar o comportamento especificado por A. - É um tipo de associação usada para a modelagem da
parte de um caso de uso que é opcional (não é
obrigatório) para o sistema ou uma parte do caso
de uso que só é executada sob determinadas
condições. - Essa associação é mostrada com um relacionamento
de dependência e acrescentando o estereótipo ltlt
extendgtgt.
45Diagrama de Casos de UsoExemplos de Extensão
Cliente
Cadastrar Cliente
Cadastrar Venda
ltltextendgtgt
46Exemplos
47Exemplos
48Exemplos
49Diagramas
- Um diagrama é uma apresentação gráfica de um
conjunto de elementos com objetivo de visualizar
um sistema sob diferentes perspectivas.
- Diagrama de Classes?
- Diagrama de Objetos?
- Diagrama de Casos de Uso?
- Diagrama de Seqüência
- Diagrama de Colaboração
- Diagrama de Estados
- Diagrama de Atividade
- Diagrama de Componentes
- Diagrama de Implantação
50Diagramas de Interação
- Um DI mostra uma interação formada por um
conjunto de objetos e seus relacionamentos,
incluindo mensagens que podem ser trocadas entre
eles - Um Diagrama de Seqüência é um DI que dá ênfase Ã
ordenação temporal das mensagens - Um Diagrama de Colaboração é um DI que dá ênfase
à organização estrutural dos objetos que enviam e
recebem mensagens
51Diagramas de Interação
- Os Diagramas de Seqüências têm duas
caracterÃsticas que os diferenciam dos diagramas
de colaboração - Existe linha de vida do objeto
- Existe o foco de controle
- Os Diagramas de Colaboração têm duas
caracterÃsticas que os diferenciam dos diagramas
de seqüência - Existe o caminho
- Existe o número de seqüência
52Diagrama de Seqüência
- Ilustra a ordenação temporal das mensagens
53Diagrama de Seqüência Tipos de Mensagens
- Simples não descreve detalhes da mensagem por
não ser importante neste momento ou por não se
saber os pormenores da comunicação. - SÃncrona mensagem para chamada de operação, a
próxima mensagem só é executada quando esta for
concluÃda. - AssÃncrona serve para envio de mensagem sem
nenhuma espera, ou seja, a próxima mensagem pode
ser executada antes que esta termine.
54Diagrama de Seqüência
cCliente
p Assistente de Planejamento
Agente Viagem
ltltcreategtgt
definir_Itinerário(i)
estabelecer_rota( )
rota
ltltdestroygtgt
X
notificar( )
55Diagramas
- Um diagrama é uma apresentação gráfica de um
conjunto de elementos com objetivo de visualizar
um sistema sob diferentes perspectivas.
- Diagrama de Classes?
- Diagrama de Objetos?
- Diagrama de Casos de Uso?
- Diagrama de Seqüência?
- Diagrama de Colaboração
- Diagrama de Estados
- Diagrama de Atividade
- Diagrama de Componentes
- Diagrama de Implantação
56Diagrama de Colaboração
- Ilustra organização estrutural dos objetos que
enviam e recebem mensagens
tobter_total( )
Venda
1para cadaivnext( )
2stobter_subtotal( )
ivItemVenda
ivItemVenda
ordem da mensagem
2.1pobter_preço( )
EspecificaçãoProduto
57Diagrama de Colaboração
- Sintaxe da Mensagem
- número_seqüênciapré-condição
iteraçãovalor_retornoassinatura - número_seqüência ordem na qual a mensagem será
executada. - pré-condição pré-condição para a execução do
método. - iteração execução iterativa da mensagem ex.
1.1x1..10façaAlgo() - valor_retorno variável que receberá o valor
retornado pela mensagem - assinatura chamada do método com os seus devidos
argumentos
58Diagrama de Colaboração
- Objetos criados durante a execução podem ser
designados pelo estereótipo ltlt new gtgt - Objetos destruÃdos durante a execução podem ser
designados por ltlt destroyed gtgt - Objetos criados e destruÃdos durante a execução
podem ser designados por ltlt transient gtgt
59Diagrama de Colaboração
- Existem algumas ações padrão em UML
- Call Invoca uma operação em um objetos, o
objeto poderá enviar uma mensagem a si mesmo,
resultando em uma chamada local de uma operação - Return Retorna um valor para quem o solicitou
- Send Envia um sinal para um objeto
- Create Cria um objeto
- Destroy Destrói um objeto, o objetos poderá se
destruir.
60Diagramas
- Um diagrama é uma apresentação gráfica de um
conjunto de elementos com objetivo de visualizar
um sistema sob diferentes perspectivas.
- Diagrama de Classes?
- Diagrama de Objetos?
- Diagrama de Casos de Uso?
- Diagrama de Seqüência?
- Diagrama de Colaboração?
- Diagrama de Estados
- Diagrama de Atividade
- Diagrama de Componentes
- Diagrama de Implantação
61Diagrama de Estados
- Um diagrama de estado representa o ciclo de vida
de um objeto. Para isso ele mostra os estados que
um objeto pode ter, como os eventos afetam estes
estados e como o objeto reage a estes eventos. - Um estado é uma condição ou situação na vida de
um objeto durante a qual ele satisfaz alguma
condição, executa alguma atividade ou espera
algum evento. - Um evento é uma especificação de uma ocorrência
significativa que tem uma localização no tempo e
no espaço. No contexto de DE é uma ocorrência de
um estÃmulo capaz de ativar uma transição de
estados.
62Diagrama de Estados
- Uma transição é um relacionamento entre dois
estados, indicando que um objeto no primeiro
estado realizará certas ações e entrará no
segundo estado quando um evento especificado
ocorrer e as condições especificadas estiverem
satisfeitas. - Uma atividade é uma execução não-atômica em
andamento em uma máquina de estados. - Uma ação é uma computação atômica executável que
resulta e uma alteração do estado do modelo ou no
retorno de um valor.
63Diagrama de Estados
- A sintaxe do rótulo de uma transição é
- EventoDeAtivação(Parâmetros)CondiçãoDeProteção/A
ção - EventoDeAtivação O evento cuja recepção pelo
objeto no estado de origem faz com que a
transição possa ser escolhida para ser ativada,
desde de que a CondiçãoDeProteção seja
satisfeita - Ação Uma computação atômica executável que
poderá agir diretamente no objeto ao qual a
máquina pertence e indiretamente em outros
objetos que são visÃveis ao objeto.
64Diagrama de Estados
- Um estado pode ser refinado em subestados
concorrentes (ortogonais) usando relacionamentos
ou em subestados seqüenciais (disjuntos
mutuamente exclusivos) usando relacionamentos. - Um dado estado pode ser refinado em apenas uma
das duas formas. Estes subestados podem ser
novamente refinados, de uma forma ou de outra.
65Diagrama de Estados Exemplo Subestados
seqüenciais
66Diagrama de Estados Exemplo Subestados
concorrentes
67Diagrama de EstadosModelando uma classe item
bibliográfico
68Diagrama de Estados Exemplos
69Diagramas
- Um diagrama é uma apresentação gráfica de um
conjunto de elementos com objetivo de visualizar
um sistema sob diferentes perspectivas.
- Diagrama de Classes?
- Diagrama de Objetos?
- Diagrama de Casos de Uso?
- Diagrama de Seqüência?
- Diagrama de Colaboração?
- Diagrama de Estados?
- Diagrama de Atividade
- Diagrama de Componentes
- Diagrama de Implantação
70Diagrama de Atividade
- Um DA é um caso especial de uma máquina de
estados, em que todos ou a maioria dos estados
são estados de atividades e em que todas ou a
maioria das transições são ativadas pela
conclusão de atividades no estado de origem - Estado de Atividade Execução de atividade com
evento implÃcito na sua terminação para ativar a
transição de saÃda - Estado de Espera/Ação Computações atômicas
executáveis, pode ocorrer evento externo mas o
trabalho não é interrompido. - Enquanto um DI observa os objetos que trocam
mensagens, um DA observa as operações passadas
entre os objetos
71Diagrama de Atividade
- Um DA representa o estado de execução do método,
ou seja, o estado do objeto que executa o método,
em contrapartida aos DI.
72Diagrama de Atividade
selecionar local
contratar arquiteto
estado inicial
desenvolver plano
orçar plano
rejeitado
ramificação seqüencial
senão
bifurcação concorrente
fazer trabalho local
fazer trabalho em outros setores
união concorrente
concluir construção
estado final
73Raia de natação
74Diagramas
- Um diagrama é uma apresentação gráfica de um
conjunto de elementos com objetivo de visualizar
um sistema sob diferentes perspectivas.
- Diagrama de Classes?
- Diagrama de Objetos?
- Diagrama de Casos de Uso?
- Diagrama de Seqüência?
- Diagrama de Colaboração?
- Diagrama de Estados?
- Diagrama de Atividade?
- Diagrama de Componentes
- Diagrama de Implantação
75Diagrama de Componentes
- Os Diagramas de Componentes são um dos dois tipos
de diagramas disponÃveis para a modelagem de
aspectos fÃsicos de sistemas orientados a objetos
(modelagem arquitetural), ele mostra a
organização e as dependências existentes entre um
conjunto de componentes. - São empregados para a modelagem da visão estática
de implementação do sistema, que envolve a
modelagem de itens fÃsicos que residem em um nó,
como executáveis, bibliotecas, tabelas, arquivos
e documentos.
76Diagrama de Componentes
- Um componente é uma parte fÃsica do sistema.
Muitas vezes um componente mostra um arquivo
especÃfico do sistema.
77Diagrama de ComponentesUsos Comuns -
Código-fonte do Sistema
78Diagrama de ComponentesUsos Comuns Versão
Executável
79Diagramas
- Um diagrama é uma apresentação gráfica de um
conjunto de elementos com objetivo de visualizar
um sistema sob diferentes perspectivas.
- Diagrama de Classes?
- Diagrama de Objetos?
- Diagrama de Casos de Uso?
- Diagrama de Seqüência?
- Diagrama de Colaboração?
- Diagrama de Estados?
- Diagrama de Atividade?
- Diagrama de Componentes?
- Diagrama de Implantação
80Diagrama de Implantação
- Os Diagramas de Implantação são um dos dois tipos
de diagramas disponÃveis para a modelagem de
aspectos fÃsicos de sistemas orientados a objetos
(modelagem arquitetural), ele mostra a
configuração dos nós de processamento em tempo de
execução e os componentes que nele existem. - Eles são empregados para a modelagem da visão
estática da implantação do sistema. Na maior
parte, isso envolve a modelagem da topologia do
hardware em que o sistema é executado.
81Diagrama de Implantação
82Diagramas
- Um diagrama é uma apresentação gráfica de um
conjunto de elementos com objetivo de visualizar
um sistema sob diferentes perspectivas.
- Diagrama de Classes?
- Diagrama de Objetos?
- Diagrama de Casos de Uso?
- Diagrama de Seqüência?
- Diagrama de Colaboração?
- Diagrama de Estados?
- Diagrama de Atividade?
- Diagrama de Componentes?
- Diagrama de Implantação?
83Bibliografia
- Booch, Grady Rumbaugh, James. UML Guia do
Usuário Rio de Janeiro, Campus, 2000. - Furlan, José Davi. Modelagem de Objetos através
da UML São Paulo, Makron Books, 1998. - Larman, Graig Utilizando UML e Padrões Porto
Alegre, Bookman, 2000.