03b - Modelagem com UMLModelagem da estrutura dos sistemas [email protected] Grupo de...
Transcript of 03b - Modelagem com UMLModelagem da estrutura dos sistemas [email protected] Grupo de...
![Page 1: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/1.jpg)
Modelagem com UML
Fabio Perez Marzullo
IEEE Body of Knowledge on Services Computing
Sponsored by Technical Committee on Services Computing, IEEE Computer Society
![Page 4: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/4.jpg)
• representa uma função completa do sistema:
inclusão + alteração + remoção + consulta
=
manutenção
Manutenção = um único caso de uso.
Casos de Uso
![Page 6: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/6.jpg)
→ Condição de início do caso de uso.
→ O fluxo de ações do caso de uso.
→ Subfluxos do caso de uso.
→ Fluxos de tratamento de erro.
→ Variantes do fluxo de ações.
→ Documentos que descrevem todos os casos
de uso normalmente são longos!
Descrevendo Casos de Uso
![Page 7: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/7.jpg)
• Atores representam qualquer elemento que possa interagir com o sistema
• Atores não são parte do sistema, mas representam os elementos externos que interagem com o sistema
• Atores podem ser: – Pessoas.
– Outros sistemas.
– Equipamentos ligados ao sistema.
Atores
![Page 8: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/8.jpg)
Relação de uso:
� Diversos casos de uso compartilham o mesmo comportamento.
� O comportamento é fatorado em um caso de uso independente.
� O novo caso de uso é reutilizado pelos demais.
Relações entre Casos de Uso
Cliente
ServirAlmoço
ServirJantar
Fornecedor
AdquirSuprimentos
![Page 9: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/9.jpg)
Relação de extensão:
� Indica comportamento opcional ou dependente de condição.
� Complementos de um caso de uso.
Relações entre Casos de Uso
<<extends>><<extends>> <<extends>>
Servirjantar
Servirentrada
Jantarà luz de velas
Servirsobremesa
Cliente
![Page 10: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/10.jpg)
• Objetivo:
– Estereótipos são nomes especiais, utilizados para
descrever categorias de elementos em modelos
UML.
– Estereótipos são representados por nomes entre os
símbolos << e >>.
• Nos diagramas de casos de uso, os
estereótipos podem ser utilizados para nomear
as relações de uso e extensão.
Estereótipos
![Page 11: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/11.jpg)
� Associações de Casos de Uso
Conceitos Avançados
�Generalização
→ Casos de Uso
→ Atores
![Page 12: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/12.jpg)
Conceitos AvançadosGeneralização de Casos de Uso
VenderCarro de Passeio
VenderUtilitário
VenderCarro
Vendedor
![Page 13: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/13.jpg)
Conceitos AvançadosGeneralização de Casos de Uso
VenderEquipamento
AutorizarCrédito
Gerente
Vendedor
O Gerente também pode efetuar vendas
Tempo máximo de
resposta = 1 s
![Page 15: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/15.jpg)
Grupo de objetosGrupo de objetosPropriedades semelhantes.Propriedades semelhantes.
Mesmo comportamento.Mesmo comportamento.
Conceitos Básicos de OO
Classe
![Page 16: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/16.jpg)
• Em UML, uma classe é representada por um retângulo com três divisões:
�Nome da classe.
�Atributos.
�Métodos.
Nome
Atributos
Métodos
Classe
![Page 17: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/17.jpg)
• Em UML, objetos são representados por retângulos, e sua identidade aparece sublinhada:
Monitor LG, 19”,
Preto
Monitor Samsung,
22”, Touch of Color
Objetos
![Page 18: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/18.jpg)
Descobrir as classes de um sistema é a
parte mais complexa do desenvolvimento
orientado a objetos.
Descobrindo Classes
![Page 19: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/19.jpg)
O domínio da aplicação:– Uma boa classe captura um único conceito do
domínio da aplicação.
Características de uma Boa Classe
••DomDomíínio da Aplicanio da Aplicaççãoão
••DomDomíínio do Negnio do Negóóciocio
••RelacionamentosRelacionamentos
••PapPapééisis
••AtributosAtributos
••DomDomíínio da Arquiteturanio da Arquitetura
••InterfaceInterface
••BDBD
••ComunicaComunicaççãoão
••DomDomíínio Bnio Báásicosico
••SemânticoSemântico
••EstruturalEstrutural
••FundamentalFundamental
Domínio
![Page 20: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/20.jpg)
• Os atributos representam as características da
classe.
• Cada atributo representa um conceito atômico.
• Atributos compostos devem ser decompostos.
– Ex: Endereço = Rua, Número e Bairro.
• Três atributos de uma classe.
Atributos
![Page 21: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/21.jpg)
Exemplo: Instância da Classe VeExemplo: Instância da Classe Veíículo culo �� CarroCarro
PlacaPlaca
ChassiChassi
PotênciaPotência
Atributos - Exemplo
![Page 22: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/22.jpg)
• Em UML, os nomes dos atributos são apresentados no retângulo central do diagrama de classes:
Atributos
Representação de Atributos
![Page 23: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/23.jpg)
• A visibilidade de um atributo indica as classes (ou objetos) que podem consultar ou alterar seu valor:
– Visibilidade pública (símbolo +) • Qualquer classe pode acessar o atributo
– Visibilidade privativa (símbolo -) • Apenas objetos da classe acessam o atributo
– Visibilidade protegida (símbolo #) • Apenas objetos da classe e seus descendentes acessam o
atributo
Visibilidade
![Page 24: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/24.jpg)
• Quando um objeto possui outro objeto como atributo, dizemos que existe uma associação entre as classes dos objetos envolvidos.
Associações
![Page 25: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/25.jpg)
• Uma associação é representada por uma linha entre as duas classes.
• Uma associação é descrita pelas seguintes informações:
– nome (opcional);
– papel (opcional);
– cardinalidade.
Componentes e Associações
![Page 26: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/26.jpg)
Empresa Pessoa
Emprego
empregador empregado
* 1..*
Emprego
salário
Associações - Exemplo
![Page 27: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/27.jpg)
• A cardinalidade indica o número de objetos
participando em cada lado da associação:
� Indica o número mínimo e máximo de objetos.
� Se o máximo for igual ao mínimo, apresenta um
único número.
– Tipos comuns de cardinalidades:
Exatamente 1 objeto Zero ou mais objetos
Um ou mais objetos
Zero ou um objetos
5, 6, 7 ou 8 objetos
4, 5, 6, 7 ou 9 objetos
1, 0..*
1..*
0..1
5..8
4..7, 9
Significado Tipo
Cardinalidade
![Page 28: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/28.jpg)
Cardinalidade
Divisão FuncionárioAlocação
alocador alocado
1..* *
Alocação
data
subordinado
chefe
*
1
![Page 29: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/29.jpg)
• Para cada classe em uma associação:
– A associação é opcional?
• Limite mínimo de zero.
– A associação é obrigatória?
• Limite mínimo de um.
– Um único objeto deve ser associado?
• Limite máximo de zero.
– Diversos objetos podem ser associados?
• Limite máximo infinito ( * ).
Identificando a Cardinalidade
![Page 30: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/30.jpg)
• Uma agregação é um tipo especial de
associação, utilizado quando existe uma
relação de contedor-conteúdo entre as
classes.
– Exemplos:
� Um carro contém um motor
� Uma cidade contém bairros
Agregação
![Page 31: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/31.jpg)
Uma agregação é representada como uma associação com um “diamante”indicando a classe que contém.
Representação
![Page 32: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/32.jpg)
• Um auto-relacionamento ocorre quando uma
classe possui um objeto da mesma classe como
atributo, ou seja, quando uma classe possui
uma associação ou agregação consigo mesma.
Autorelacionamento
Funcionário
subordinado
chefe
*
1
![Page 33: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/33.jpg)
• Exemplo:
– Um circuito eletrônico é composto de diversos
circuitos eletrônicos mais simples.
Autorelacionamento de Agregação
Circuito Integrado
*
1
![Page 34: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/34.jpg)
Composição
� Agregação (por referência)
� Composição (por valor)
TODO PARTE
TODO PARTE
![Page 35: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/35.jpg)
• Métodos indicam comportamento e destacam:
� Operações que podem ser realizadas sobre o objeto.
� Operações que o objeto realiza no contexto do sistema.
• Visibilidade:
� Os métodos utilizam os mesmos modificadores de visibilidade utilizados nos atributos.
• Classificação de métodos: � Algoritmicamente simples.
� Algoritmicamente complexos.
Métodos
![Page 36: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/36.jpg)
Exemplo: Classe CarroExemplo: Classe Carro
Trocar MarchaTrocar Marcha
AcelerarAcelerar
AbastecerAbastecer
Métodos - Exemplo
![Page 37: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/37.jpg)
• Uma classe X depende de uma classe Y quando:
� Possui um atributo da classe Y.
� Executa algum método da classe Y.
� Algum de seus métodos possui uma variável local, parâmetro ou tipo de retorno da classe Y.
� A dependência é representa por uma seta pontilhada.
Dependência entre Classes
![Page 38: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/38.jpg)
• Em UML, a herança é
representada como uma
“seta vazada”:
�A seta aponta a superclasse.
�A herança não pode ter nome, papel de classe, navegação ou
cardinalidade.
Herança
![Page 40: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/40.jpg)
• A maioria dos modelos contém diversas
classes e como tal podem ser agrupadas em
pacotes.
� Um pacote é uma coleção lógica de classes
ou pacotes.
� O pacote é representado por uma pasta.
Pacotes
![Page 41: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/41.jpg)
• Dependência entre pacotes:
�Um pacote A depende de um pacote B quando ao
menos uma classe do pacote A depende de uma classe do pacote B.
Dependência entre Pacotes
![Page 44: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/44.jpg)
Fluxo principal do caso de uso.
Subfluxos do fluxo
principal.
Ramificações de um subfluxo do caso de uso.
Subfluxos demonstram operações que podem ser selecionadas pelo
usuário ou casos especiais de algumas operações.
Fluxos e Subfluxos
![Page 45: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/45.jpg)
• Um cenário é um caminho da raiz até uma folha da árvore de ramificações de um caso de uso.
Cenário
![Page 46: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/46.jpg)
Determinam os objetos responsáveis pela
realização de um cenário e as mensagens
que são trocadas entre eles.
O diagrama apresenta a ordem com que as mensagens são trocadas no tempo.
Diagramas de Sequência
![Page 47: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/47.jpg)
Um diagrama de sequências contém diversos objetos:
� Os objetos são alinhados no topo do diagrama.
� Suas linhas de vida descem em direção à base do diagrama.
Objetos
![Page 48: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/48.jpg)
Representação:
� Mensagens são representadas como setas
entre dois objetos.
� As setas devem conter nomes de métodos
do objeto destino.
Mensagens
![Page 49: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/49.jpg)
Retângulos na linha de vida de um
objeto:
� Representam o tempo em que um objeto está ativo na troca de
mensagens.
� Focos de controle são opcionais nos diagramas de sequência.
Foco de Controle
![Page 50: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/50.jpg)
Condição de mensagens: � A mensagem somente será emitida se a condição for
verdadeira.
� A condição é expressa entre colchetes antes do nome do método.
Complementos
![Page 51: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/51.jpg)
Repetição de Mensagems:
� A mensagem será emitida múltiplas vezes.
� Um asterisco é apresentado antes do nome do método.
Complementos
![Page 52: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/52.jpg)
� Automensagens são representadas por setas saindo
e retornando para o próprio objeto.
Automensagem
Objeto 1
Automensagem
Ocorre quando um objeto chama um método seu
para realizar parte do cenário:
![Page 54: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/54.jpg)
• Alternativa ao diagrama de sequência.
• Não apresenta a linha de tempo dos objetos.
→ Objetos representados por retângulos.
→ Mensagens representadas como setas entre os retângulos.
→ Mensagens são numeradas (sequência de tempo).
Diagramas de Colaboração
![Page 55: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/55.jpg)
Exemplo
Estadia
Chamada TelefonicacalculaPreco
Pedido de Servico
calculaPreco
calculaDiarias
![Page 57: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/57.jpg)
• Estes diagramas são utilizados por diversos
métodos de análise:
� Análise estruturada moderna.
� Análise essencial.
� Outros métodos de análise orientada a objetos.
• Componentes:
� Estado
� Transição
� Estado Inicial
� Estado Final
Diagramas de Estado
Estado
![Page 58: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/58.jpg)
• Representação UML
� Estado: representado por um retângulo de bordas
arredondadas.
� Transição: representada por uma seta entre os
estados.
Estados
![Page 59: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/59.jpg)
• Um diagrama de estados tem no mínimo dois estados:
�Estado Inicial: um objeto recém criado no sistema se encontra neste estado.
�Estado Final: estado final na cadeia de troca de estados do objeto. O objeto não poderá trocar de
estado após atingir seu estado final.
Em um diagrama de estados podem existir diversos
estados finais.
Estados Especiais
![Page 60: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/60.jpg)
• Uma transição pode estar associada a:
� Uma ação, que indica um método do objeto que seráexecutado quando a transição de estado se realizar.
� Uma condição, também conhecida como guarda, que indica quando a transição de estado deve ocorrer.
� Ambos são apresentados junto ao nome do evento na transição.
� Todos são opcionais.
Transições
Estado 1 Estado 2
Evento [condicao] / Ação
![Page 64: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/64.jpg)
• Apresenta os módulos físicos do software e suas relações;
• O software se torna um conjunto de unidades modulares e reutilizáveis;
• Podem representar uma classe, aplicações, subsistemas ou sistemas.
Diagrama de Componentes
![Page 65: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/65.jpg)
• Notação
– UML 1.4
– UML 2.0
<<componente>>
PedirServicoPedirServico
PedirServico
Diagrama de Componentes
![Page 66: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/66.jpg)
• Interfaces
– UML 1.4
– UML 2.0
PedirServico
PedirServico
ReceberPedidos
ControlarExecucao
ReceberPedidos
ControlarExecucao
+Avaliar()
+Cotar()
<<Interface>>
ReceberPedidoPedirServico
Diagrama de Componentes
![Page 68: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/68.jpg)
<<arquivo>>
ControlePedido.JARPedirServico
Servico
Delineamento
Operario
<<implementa>>
1..*
1..*
1..*
1..*
Diagrama de Componentes
<<realiza>>
<<realiza>>
<<realiza>>
![Page 69: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/69.jpg)
<<arquivo>>
ControlePedido.JAR
PedirServico
Servico
Delineamento
Operario
<<implementa>>
1..*
1
1
1..*ReceberPedidos
Diagrama de Componentes
![Page 71: 03b - Modelagem com UMLModelagem da estrutura dos sistemas fabio@mz-empresarial.com.br Grupo de objetos Propriedades semelhantes. Mesmo comportamento. ConceitosBásicosde OO Classe](https://reader036.fdocuments.in/reader036/viewer/2022071111/5fe77d42fbf543048f7b8ccc/html5/thumbnails/71.jpg)
Diagrama de Componentes
• Captura a topologia (ambiente) de hardware de
um sistema sobre a qual são executados os
componentes de software:
• Construído como parte da especificação da
arquitetura física.
• Objetivo:
• Especificar a distribuição de componentes.
• Identificar problemas de desempenho.