Unified Modeling Language UML - PowerPoint PPT Presentation

1 / 83
About This Presentation
Title:

Unified Modeling Language UML

Description:

Title: No Slide Title Author: Craig Larman Last modified by: Emerson Silas D ria Created Date: 2/27/2000 3:39:37 PM Document presentation format – PowerPoint PPT presentation

Number of Views:61
Avg rating:3.0/5.0
Slides: 84
Provided by: CraigL73
Category:

less

Transcript and Presenter's Notes

Title: Unified Modeling Language UML


1
Unified Modeling LanguageUML
  • Notações Básicas
  • Referência UML Resource Center

2
Introduçã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.

3
Modelo 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

4
Blocos 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.

5
Itens
  • 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)

6
Itens
  • 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
7
Itens
  • Itens Comportamentais partes dinâmica (verbos)

8
Itens
  • Itens de Agrupamento partes organizacionais dos
    modelos da UML (pacotes)
  • Itens de Anotações partes explicativas dos
    modelos da UML (notas)

9
Relacionamentos
  • Existem 4 tipos de relacionamentos na UML
  • Dependência
  • Associação
  • Generalização
  • Realização

10
Relacionamentos
  • 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.
11
Relacionamentos
  • 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).

12
Relacionamentos
  • Associação

13
Relacionamentos
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.
  • Associação

14
Relacionamentos
  • Associação Existem outros tipos de adornos a
    serem aplicados às associações (ex classe de
    associação).

15
Relacionamentos
  • Outro exemplo de classe de associação

16
Relacionamentos
  • 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
17
Relacionamentos
  • 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.

18
Extensibilidade
  • 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

19
Extensibilidade
estereótipo
valor atribuído
add runs in O(1) time
restrição
20
ExtensibilidadeEstereó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.

21
ExtensibilidadeEstereótipos - Exemplos
22
ExtensibilidadeEstereótipos - Exemplos
23
ExtensibilidadeValores 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

24
ExtensibilidadeValores atribuídos - Exemplos
25
ExtensibilidadeRestriçõ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( )
26
ExtensibilidadeRestrições - Exemplos
27
Diagramas
  • 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

28
Diagrama de Classes
ou
1

ItensPedido quantidade IncluirItemPedido(...) Ca
lcularTotal(...)
EmpresaCliente
29
Diagrama 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

30
Diagrama 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

31
Exemplos
32
Exemplos
33
Diagramas
  • 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

34
Diagrama de Objetos
35
Diagrama de Objetos
36
Diagramas
  • 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

37
Diagrama de Casos de Uso
38
Diagrama de Casos de Uso
  • Casos de Uso podem ser organizados pela
    especificação de relacionamentos de
  • Generalização
  • Inclusão ltltincludegtgt
  • Extensão ltltextendgtgt

39
Diagrama de Casos de UsoGeneralização entre
Atores
  • Grupos gerais de atores especializados,
    utilizando o relacionamento de generalização.

40
Diagrama de Casos de UsoGeneralização entre
Atores
  • Outra forma de representar a generalização.

41
Diagrama 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.

42
Diagrama 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.

43
Diagrama de Casos de UsoExemplo de Inclusão
Sacar Dinheiro
ltltincludegtgt
Validar Usuário
Digitalizar Retina
Checar Senha
44
Diagrama 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.

45
Diagrama de Casos de UsoExemplos de Extensão
Cliente
Cadastrar Cliente
Cadastrar Venda
ltltextendgtgt
46
Exemplos
47
Exemplos
48
Exemplos
49
Diagramas
  • 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

50
Diagramas 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

51
Diagramas 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

52
Diagrama de Seqüência
  • Ilustra a ordenação temporal das mensagens

53
Diagrama 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.

54
Diagrama de Seqüência
cCliente
p Assistente de Planejamento
Agente Viagem
ltltcreategtgt
definir_Itinerário(i)
estabelecer_rota( )
rota
ltltdestroygtgt
X
notificar( )
55
Diagramas
  • 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

56
Diagrama 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
57
Diagrama 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

58
Diagrama 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

59
Diagrama 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.

60
Diagramas
  • 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

61
Diagrama 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.

62
Diagrama 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.

63
Diagrama 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.

64
Diagrama 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.

65
Diagrama de Estados Exemplo Subestados
seqüenciais
66
Diagrama de Estados Exemplo Subestados
concorrentes
67
Diagrama de EstadosModelando uma classe item
bibliográfico
68
Diagrama de Estados Exemplos
69
Diagramas
  • 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

70
Diagrama 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

71
Diagrama 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.

72
Diagrama 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
73
Raia de natação
74
Diagramas
  • 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

75
Diagrama 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.

76
Diagrama de Componentes
  • Um componente é uma parte física do sistema.
    Muitas vezes um componente mostra um arquivo
    específico do sistema.

77
Diagrama de ComponentesUsos Comuns -
Código-fonte do Sistema
78
Diagrama de ComponentesUsos Comuns Versão
Executável
79
Diagramas
  • 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

80
Diagrama 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.

81
Diagrama de Implantação
82
Diagramas
  • 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?

83
Bibliografia
  • 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.
Write a Comment
User Comments (0)
About PowerShow.com