Carregar apresentação
A apresentação está carregando. Por favor, espere
1
PERSPECTIVA CONCEITUAL
DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 1ª PARTE DIAGRAMA CLASSE, ATRIBUTO E OPERAÇÃO ASSOCIAÇÃO CLASSE ASSOCIATIVA AGREGAÇÃO E COMPOSIÇÃO RESTRIÇÕES ELABORANDO O DIAGRAMA
7
Diagrama de Classes (com perspectiva conceitual)
Cliente Pedido código numPedido CPF dataEmissão nome nomePresenteado [0..1] endereço 1 1 faz -> 1..* 1..* endereçoEntrega telefone [0..1] dataCancelamento [0..1] [0..1] status 1 1 Fatura 0..* 0..* 1..* 1..* numFatura dataEmissão Item pedido dataVencimento valorPago [0..1] quantidadePedida dataPagamento [0..1] 0..* 0..* 1..* 1..* preçoCobrado dataPedidoCancelamento [0..1] dataCancelamento [0..1] status 0..* 0..* 1 1 Item faturado quantFaturada Livro isbn { Se uma fatura atende a um título pedido, necessariamente os itens descrição pedidos ligados à fatura devem ser quantEstoque do pedido ao qual a fatura está preço relacionada } prazoMédioEntrega
13
Cliente Pedido código numPedido CPF dataEmissão nome nomePresenteado [0..1] endereço faz -> 1 1..* endereçoEntrega telefone [0..1] dataCancelamento [0..1] [0..1] status
17
Papéis:
19
quantFaturada ?? Fatura numFatura dataEmissão Item pedido
dataVencimento valorPago [0..1] quantidadePedida dataPagamento [0..1] preçoCobrado 0..* 1..* dataPedidoCancelamento[0..1] dataCancelamento [0..1] status
20
Classe associativa Fatura numFatura dataEmissão Item pedido
dataVencimento valorPago [0..1] quantidadePedida dataPagamento [0..1] preçoCobrado 0..* 0..* 1..* 1..* dataPedidoCancelamento [0..1] dataCancelamento [0..1] status Item faturado Classe associativa quantFaturada
25
Agregação: Departamento TODO 1 disciplina Parte
26
Composição: Pedido numPedido dataEmissão nomePresenteado [0..1]
endereçoEntrega dataCancelamento [0..1] status 1..* Item pedido quantidadePedida preçoCobrado
28
Exemplo de restrição ou:
Produto Venda id id descrição forma pagamento preço custo data preço venda 0..1 0..1 comissão 1..* 1..* 0..* 0..* {ou} Serviço Item id quant descrição 0..* 0..* 0..1 0..1 preço
29
Exemplo de restrição subconjunto:
30
Exemplo de restrição relacionada a associações:
Cliente Pedido código numPedido CPF dataEmissão nome nomePresenteado [0..1] endereço faz -> 1 1 1..* 1..* endereçoEntrega telefone [0..1] dataCancelamento [0..1] [0..1] status 1 1 Fatura 0..* 0..* 1..* 1..* numFatura dataEmissão Item pedido dataVencimento valorPago [0..1] quantidadePedida dataPagamento [0..1] 0..* 0..* 1..* 1..* preçoCobrado dataPedidoCancelamento [0..1] dataCancelamento [0..1] status 0..* 0..* 1 1 Item faturado quantFaturada Livro isbn { Se uma fatura atende a um título pedido, necessariamente os itens descrição pedidos ligados à fatura devem ser quantEstoque do pedido ao qual a fatura está preço relacionada } prazoMédioEntrega
31
PERSPECTIVA CONCEITUAL
DIAGRAMA DE CLASSES PERSPECTIVA CONCEITUAL 2ª PARTE DICAS DEPENDÊNCIAS AVANÇADO AGREGAÇÃO ATRIBUTOS E ASSOCIAÇÕES DERIVADAS ASSOCIAÇÃO TERNÁRIA GENERALIZAÇÃO ORGANIZAÇÃO DAS CLASSES EM PACOTES ELABORANDO O DIAGRAMA ERROS COMUNS
32
DICAS Foco: aspecto estático do sistema
Não prejudicar a leitura com minimalismos Generalizações: evitar mais do que 5 níveis Nome para cada diagrama Evitar linhas cruzadas Elementos semânticos semelhantes próximos fisicamente Pode-se usar notações visuais que chamem a atenção É possível usar mais que um relacionamento, mas tentar evitar
33
DEPENDÊNCIAS AVANÇADO
Tipos Definidos pela UML Bind: origem instancia o destino Derive: Origem computada através do destino (ex. Idade -> Data de Nascimento) Friend: Origem recebe visibilidade especial no destino InstanceOf Instantiate Powertype Refine Use
35
Atributo derivado Nota
36
Associação derivada Pedido numPedido dataEmissão
nomePresenteado [0..1] endereçoEntrega dataCancelamento [0..1] 1..* status <- faz Cliente 1 1..* código CPF Item pedido nome quantidadePedida endereço preçoCobrado telefone [0..1] / quantAtendida [0..1] 0..* 0..* /escolhe 1 Livro isbn 1..* título Associação derivada descrição quantEstoque preço prazoMédioEntrega
44
Pagamento Consulta data prevista data hora data pagamento sintomas valor cobrado diagnóstico 1 1 1 1 valor pago medicamentos Convênio Pagamento Particular Pagamento por Convênio 0..* 0..* 1 1 nome tipo número associado telefone número cheque data cobrança número banco
46
Restrição
48
Discriminador
50
Exercicio: Modele os Relacionamentos
Usar classes e associações para definir o glossário do sistema “Jogo de Futebol” descrito de seguida: “O jogo de futebol é realizado por duas equipes de jogadores. Cada equipe é composta por 11 jogadores, com diferentes funções: o goleiro, zagueiros, médios, atacantes, e pontas de lança. O ponta de lança é um atacante especial por ter especiais características de goleador... O jogo é realizado num campo com medidas regulamentares (em comprimento e largura), tem duas balizas, cada qual em extremos opostos do campo. Ganha o jogo a equipe que marcar mais gols (i.e., colocar a bola) na baliza do adversário. No jogo apenas existe uma única bola, que apresenta características (peso, diâmetro, …) regulamentares... O jogo de futebol é mediado por uma equipe de 3 árbitros, em que um é o árbitro principal, e os outros dois são árbitros auxiliares…”
52
Controle de pedidos Controle de livros
54
(from Controle de Livros)
Cliente Pedido código numPedido CPF dataEmissão nome nomePresenteado [0..1] endereço 1 1 faz -> 1..* 1..* endereçoEntrega telefone [0..1] dataCancelamento [0..1] [0..1] status 1 1 Fatura 0..* 0..* 1..* 1..* numFatura dataEmissão Item pedido dataVencimento valorPago [0..1] quantidadePedida dataPagamento [0..1] 0..* 0..* 1..* 1..* preçoCobrado dataPedidoCancelamento [0..1] dataCancelamento [0..1] Nome do package status 0..* 0..* 1 1 Item faturado Livro (from Controle de Livros) quantFaturada isbn { Se uma fatura atende a um título pedido, necessariamente os itens descrição pedidos ligados à fatura devem ser quantEstoque do pedido ao qual a fatura está preço relacionada } prazoMédioEntrega
59
DIAGRAMA DE ESTADOS DIAGRAMA ESTADO TRANSIÇÃO ENTRE ESTADOS
60
I. DIAGRAMA DE ESTADOS Um diagrama de estados é uma das formas de se visualizar uma máquina de estados Máquinas de Estado permitem a modelagem de aspectos dinâmicos de um sistema Máquinas de estado também podem ser vistas através de Diagramas de Atividades Diagrama de Estados enfatizam os estados dos objetos e as transições entre estes estados enquanto o Diagrama de Atividades enfatiza o fluxo de controle de uma atividade para outra
61
Em um Diagrama de Estado são descritos os estados de um objeto ao longo de sua vida.
A modelagem dos estados de um objeto descreve a ordem que o objeto pode responder a eventos, desde a sua criação até a sua destruição. Há muitas possibilidades de se utilizar um Diagrama de Estados. Na etapa de Análise, por exemplo, ele pode ser útil para observarmos a mudança de estados ao longo de toda a vida do objeto a partir dos eventos e dos casos de uso que foram descritos. Exemplo: Diagrama de Estados representando um objeto Pedido.
62
Cliente faz pedido Cliente solicita cancelamento de pedido Funcionário fatura pedido Pedido criado Pedido cancelado [ foram enviados todos os livros ] Funcionário fatura pedido[ não foram enviados todos os livros ] Gerente avalia cancelamento de fatura [ canceladas todas as faturas ] Funcionário fatura pedido [ não foram enviados todos os livros ] Pedido parcialmente atendido Cliente solicita cancelamento de fatura Gerente avalia Funcionário fatura pedido cancelamento de fatura [ foram enviados todos os livros ] [ há faturas a serem Gerente avalia avaliadas ] cancelamento de fatura Pedido com solicitação de cancelamento de fatura [ há livros a enviar ] Cliente solicita cancelamento de fatura Pedido totalmente atendido Gerente avalia cancelamento de fatura [ foram enviados todos os livros e há fatura não paga ] Cliente paga fatura[ todas as faturas foram pagas ] Gerente avalia cancelamento de fatura[ o cancelamento é aprovado, foram enviados todos os livros e já tinham sido pagas as demais faturas ] Pedido fechado
63
II. ESTADO Estado: representa uma situação na vida de um objeto durante a qual o objeto satisfaz alguma condição, realiza alguma atividade ou aguarda um evento. Exemplo: Pedido criado Este estado corresponde a uma situação em que o pedido foi feito por um cliente mas ainda não foi atendido.
64
Estado inicial e final: são dois estados especiais
Estado inicial: indica o local de início da máquina de estado Estado final: indica que a execução da máquina de estado foi concluída
65
Partes que compõem um estado:
Nome Ações de Entrada e Saída Transições Internas Subestados Eventos Adiados
66
Estado: representa uma situação na vida de um objeto durante a qual o objeto satisfaz alguma condição, realiza alguma atividade ou aguarda um evento. Exemplo: Pedido criado Este estado corresponde a uma situação em que o pedido foi feito por um cliente mas ainda não foi atendido.
67
III. Eventos Tipos de Eventos: Externos: sistema e atores
Internos: objetos no interior do sistema
68
III. Eventos
69
IV. TRANSIÇÃO É um relacionamento entre dois estados, indicando que um objeto passará de um estado origem ao estado destino quando um certo evento ocorrer e as condições especificadas forem satisfeitas.
70
Componentes da transição:
Estado de origem: é o estado atingido pela transição. Estado de destino: é o estado que estará ativo após a conclusão da transição. Evento de ativação: é a ocorrência de um estímulo capaz de ativar uma transição de estado. Estado de origem Evento de ativação Estado de destino
71
Condição de proteção: é representada por uma expressão booleana entre colchetes, colocada depois do evento, que é avaliada quando a transição é iniciada. Se a expressão for avaliada como falsa a transição não será iniciada.
74
ESTADOS HIERÁRQUICOS
75
ESTADOS DE HISTÓRICO
76
Exemplo Fuga Persegue Espera Ataque Atacado Morre Vida < 30%
Dist (player) < 10m Dist (player) < 4m Dist (player) > 10m Vida < 30% Fuga Persegue Dist (player) > 4m Vida < 30% Levou tiro Espera Ataque Levou tiro Atacado Vida <= 0 Morre
77
DIAGRAMA DE ATIVIDADES
ATIVIDADE, TRANSIÇÃO, PONTO DE DECISÃO, BARRA DE SINCRONIZAÇÃO E RAIAS (SWIMLANE)
83
Diferença em relação aos estados
85
- Podem haver pontos de decisão encadeados?
- Podem ocorrer loops
87
Diferença dos pontos de decisão e barra de sincronização?
90
DIAGRAMA DE SEQÜÊNCIA DIAGRAMA DE SEQÜÊNCIA
NOTAÇÕES DO DIAGRAMA DE SEQÜÊNCIA DIAGRAMA DE SEQÜÊNCIA COM PERSPECTIVA CONCEITUAL
91
Diagrama de colaboração: ênfase a organização estrutural dos objetos que enviam e recebem mensagens
92
Exemplo de Diagrama de Seqüência:
100
Engenharia de Projetos
101
Documentos de especificacao de Projetos
- Projeto Arquitetural - Projeto de Interface - Projeto de dados - Projeto de componentes - Projeto de implantacao
102
PROJETO DE ARQUITETURA
103
Quatro passos elementares
-Representação do contexto -Abstrações de mais alto nível através de arquétipos -Componentes identificados e representados no contexto de arquitetura - Instanciações especificas de arquitetura
104
Atividades Estruturacao do sistema Modelagem de controle
Decomposicao modular
105
ESTRUTURACAO DO SISTEMA (divisao em subsistemas)
DIAGRAMA DE CASO DE USO REAL PROJETO DE INTERFACE DIAGRAMA DE CLASSES ELABORANDO O DIAGRAMA DE CLASSES
106
Tipos Arquitetura centrada em dados (grande fluxo de dados entre subsistemas) Arquitetura Cliente / Servidor (componentes: cliente, servidor, redes) Arquitetura em camadas ou Maquinas Abstratas Arquitetura de chamada e retorno Arquitetura orientada a objetos Depósito de dados Subsistema 1 Subsistema 2 Subsistema 3
107
Padroes Arquiteturais
Concorrencia Persistencia (dados subsistem depois de criados) Distribuicao (ex.: uso de broker - intermediario, CORBA)
108
Diagrama Arquitetural de Contexto
Subordinadores Subordinados Sistema no nivel de pares Atores
109
Modelagem de Controle Controle centralizado: um subsistema possui responsabilidade geral (ex. Main() ) Controle baseado em eventos: resposta a eventos externos
110
Decomposicao em Modulos
Modelo orientado a objetos Modelo de fluxo de dados (ex. Unix: duto e filtro) Filtro
111
Arquétipos Classe ou Padrão que representa uma abstração central critica para o projeto de arquitetura para sistema alvo. (classes abstratas, blocos construtivos, modelagem abstrata parcial)
112
Exercício Desenvolva para o projeto de um simulador de submarinos da PETROBRAS os seguintes projetos de arquitetura: - Diagrama de Classes -Tipos de Arquitetura a serem usados - Padrões de Arquitetura em relação a Concorrência, Persistência e Distribuição [descreva na forma de requisitos de sistema]
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.