DIAGRAMAS DE COLABORAÇÃO
Por: Jose.Nascimento • 7/2/2018 • 1.423 Palavras (6 Páginas) • 421 Visualizações
...
-
informarPassagemVeículo()
Operação: informarPassagemVeículo
Referências Cruzadas: Caso de Uso: Entrar da Autopista e Sair da Autopista
Pré-Condições: Um veículo na área de pedágio de entrada ou de saída teve seu Gizmo identificado pelo Sensor de Gizmo. O Gizmo estava habilitado no Sistema e o proprietário era adimplente.
Pós-Condições:
- cancela.aberta tornou-se false
- semaforo.luzVerdeLigada tornou-se false
- semaforo.luzVermelhaLigada tornou-se true
- Cenário de sucesso principal
[pic 3]
Comentários:
O controlador é responsável por acionar um objeto da classe “APSaída”, que por sua vez é responsável por acionar a cancela, apagar a luz verde e acender a luz vermelha do semáforo (Padrão Especialista). Optamos por tais escolhas visando, principalmente, manter o acoplamento fraco e a coesão alta.
-
adicionarProprietátio(dadosPropriet)
Operação: adicionarProprietário
Parâmetros: nomeBanco, cpf, endr, nomeAcesso, senha, agencia, conta, dataDebito, carteiraHab Referências Cruzadas: Caso de Uso: Comprar Gizmo
Pré-Condições: Nenhuma.
Pós-Condições:
- Foi criada uma instância prop do Proprietário.
- prop foi associada à Concessionária.
- prop foi associada ao Banco cujo nome é nomeBanco.
- prop.cpf, prop.endereço, prop.nomeDeAcesso, prop.senha, prop.agencia, prop.conta, prop.dataDebito e prop.carteiraHabilitacao receberam os respectivos valores: cpf, endr, nomeAcesso, senha, agencia, conta, dataDebito e carteiraHab.
- prop.adimplente recebeu true.
- Cenário de sucesso principal
[pic 4]
Comentários:
Neste diagrama, o controlador é responsável por criar um objeto da classe ”Proprietário” (Padrão Criador) e conhecer a coleção de bancos para realização da busca dos bancos conveniados à concessionária. A classe “Proprietário“ é responsável pela criação de uma senha padrão que será modificada pelo proprietário (Padrão Especialista).
-
adicionarVeículo(placa, numeroDeEixos)
Operação: adicionarVeículo
Parâmetros: placa, numeroDeEixos
Referências Cruzadas: Caso de Uso: Comprar Gizmo
Pré-Condições: o proprietário do veículo já foi criado (ou : existe uma compra em andamento).
Pós-Condições:
- Foi criada uma instância vei do Veículo.
- Vei foi associado ao Proprietário.
- vei.placa e vei.numeroDeEixos receberam os respectivos valores: placa e numeroDeEixos.
- Cenário de sucesso principal
[pic 5]
- Fluxo Alternativo
- O Sistema informa ao Atendente que o veículo já existe no Sistema e cancela a operação.
Comentários:
Neste diagrama, o controlador é responsável por conhecer a coleção de veículos para realizar a busca por um dado veículo. Caso este não exista, um objeto da classe “Veículo” é criado (Padrão Criador) e associado ao seu proprietário (Padrão Especialista).
-
adicionarGizmo(codigo, modelo)
Operação: adicionarGizmo
Parâmetros: codigo, modelo
Referências Cruzadas: Caso de Uso: Comprar Gizmo
Pré-Condições: Um Proprietário registrado tem um veículo registrado no sistema.
Pós-Condições:
- Se for o primeiro gizmo adquirido nesta compra então:
- foi criada uma instância c de Compra.
- c foi associada a prop e ao atendente autenticado no momento.
- Para cada gizmo adquirido (giz) foi criada uma instancia ic de ItemDaCompra e ic foi associada à compra c e a giz.
- ic.valorPago recebeu o valor individual pago pelo gizmo
- giz.ativado recebeu true.
- Cenário de sucesso principal
[pic 6]
- Fluxos alternativos:
- O Proprietário informa ao Atendente que já possui um cadastro no Sistema.
[pic 7]
- O Sistema informa ao Atendente que o Proprietário já existe no Sistema.
[pic 8]
- O Proprietário informa ao Atendente que possui um ou mais veículos cadastrados no sistema.
[pic 9]
Comentários:
Ao projetarmos esta parte do sistema, nos deparamos com uma questão muito importante: em nenhum momento, nem nos DSSs nem nos Contratos de Operações, um gizmo é associado a um veículo, apenas a um proprietário. Deste modo, todos os outros diagramas deixariam de funcionar. Por este motivo, vamos assumir que esta associação ocorre no momento da compra, e que há um loop entre as operações 3 e 4 do DSS. Além disso, utilizamos o Padrão Controlador para evitar alto acoplamento,
...