contratos de operação. introdução descrevem modificações detalhadas em objetos em um modelo de...
TRANSCRIPT
![Page 1: Contratos de Operação. Introdução Descrevem modificações detalhadas em objetos em um modelo de domínio fazendo uso de uma pré e pós-condições; Podem](https://reader036.vdocuments.pub/reader036/viewer/2022081420/552fc103497959413d8bea4f/html5/thumbnails/1.jpg)
Contratos de Operação
![Page 2: Contratos de Operação. Introdução Descrevem modificações detalhadas em objetos em um modelo de domínio fazendo uso de uma pré e pós-condições; Podem](https://reader036.vdocuments.pub/reader036/viewer/2022081420/552fc103497959413d8bea4f/html5/thumbnails/2.jpg)
![Page 3: Contratos de Operação. Introdução Descrevem modificações detalhadas em objetos em um modelo de domínio fazendo uso de uma pré e pós-condições; Podem](https://reader036.vdocuments.pub/reader036/viewer/2022081420/552fc103497959413d8bea4f/html5/thumbnails/3.jpg)
Contratos de OperaçãoIntrodução
Descrevem modificações detalhadas em objetos em um modelo de domínio fazendo uso de uma pré e pós-condições;Podem ser considerados parte do Modelo de Casos de Uso do PU;Fornecem mais detalhes de análise sobre o efeito das operações do sistema implicito nos casos de uso.
![Page 4: Contratos de Operação. Introdução Descrevem modificações detalhadas em objetos em um modelo de domínio fazendo uso de uma pré e pós-condições; Podem](https://reader036.vdocuments.pub/reader036/viewer/2022081420/552fc103497959413d8bea4f/html5/thumbnails/4.jpg)
Contratos de Operação
Definição e ObjetivoOs contratos para operações podem
ajudar a definir o comportamento do sistema; eles descrevem os resultados da execução de operações do sistema em termos de mudança de estado nos objetos do domínio.
![Page 5: Contratos de Operação. Introdução Descrevem modificações detalhadas em objetos em um modelo de domínio fazendo uso de uma pré e pós-condições; Podem](https://reader036.vdocuments.pub/reader036/viewer/2022081420/552fc103497959413d8bea4f/html5/thumbnails/5.jpg)
Contratos de Operação Operações do sistema e a interface do sistema
![Page 6: Contratos de Operação. Introdução Descrevem modificações detalhadas em objetos em um modelo de domínio fazendo uso de uma pré e pós-condições; Podem](https://reader036.vdocuments.pub/reader036/viewer/2022081420/552fc103497959413d8bea4f/html5/thumbnails/6.jpg)
Seções do Contrato
O esquema a seguir mostra uma descrição de cada seção em um contrato:
•Operação:Nome da operação e parâmetros.•Referências Cruzadas:(opcional) Casos de uso nos quais esta operação pode ocorrer.•Pré-Condições:Hipóteses dignas de nota sobre o estado do sistema ou de objetos no Modelo de Domínio antes da execução da operação. Essas hipóteses não serão testadas na lógica da operação, pressupondo-se que sejam verdadeiras. São hipóteses não triviais que o leitor deveria saber que foram formuladas.•Pós-Condições:- o estado dos objetos no Modelo de Domínio, concluída a operação.
Contratos
![Page 7: Contratos de Operação. Introdução Descrevem modificações detalhadas em objetos em um modelo de domínio fazendo uso de uma pré e pós-condições; Podem](https://reader036.vdocuments.pub/reader036/viewer/2022081420/552fc103497959413d8bea4f/html5/thumbnails/7.jpg)
Contratos – ExemploContrato : entrarItem
Operação: entrarItem( itemID: itemID, quantidade:inteiro)
Referências Cruzadas: Casos de Uso: Processar Venda
Pré-Condições: Existe uma venda em andamento.
Pós-Condições: - Foi criada uma instância liv da linhaDeItemDeVenda (criação de instância ).- liv foi associada com a Venda corrente (associação formada).- liv.quantidade tornou-se quantidade (modificação de atributo).- liv foi associada com uma EspecificaçãoDeProduto, com base na correspondência de um itemID (associação formada).
![Page 8: Contratos de Operação. Introdução Descrevem modificações detalhadas em objetos em um modelo de domínio fazendo uso de uma pré e pós-condições; Podem](https://reader036.vdocuments.pub/reader036/viewer/2022081420/552fc103497959413d8bea4f/html5/thumbnails/8.jpg)
Pós-condiçõesAs pós-condições descrevem mudanças no
objeto no Modelo de Domínio. Mudanças de estado no Modelo de Domínio incluem instâncias criadas, associações formadas ou desfeitas e atributos mudados.
Uma vantagem das pós-condições Se forem usados contratos, como
devem ser as pós-condições completas?
Escrever contratos leva a atualizações no Modelo de Domínio
Quando os Contratos São Úteis? Contratos X Casos de Uso?
Contratos
![Page 9: Contratos de Operação. Introdução Descrevem modificações detalhadas em objetos em um modelo de domínio fazendo uso de uma pré e pós-condições; Podem](https://reader036.vdocuments.pub/reader036/viewer/2022081420/552fc103497959413d8bea4f/html5/thumbnails/9.jpg)
Conselho para a redação de contratos
Contratos, Operações e a UML■ Contratos na UML: especificações de operação
■ Contratos de operações expressos com a OCL
■ Contratos em projeto por contrato
■ Suporte de linguagem de programação para contratos
Contratos de Operações no PU ■ Fases:
- Concepção
- Elaboração
Contratos
![Page 10: Contratos de Operação. Introdução Descrevem modificações detalhadas em objetos em um modelo de domínio fazendo uso de uma pré e pós-condições; Podem](https://reader036.vdocuments.pub/reader036/viewer/2022081420/552fc103497959413d8bea4f/html5/thumbnails/10.jpg)
![Page 11: Contratos de Operação. Introdução Descrevem modificações detalhadas em objetos em um modelo de domínio fazendo uso de uma pré e pós-condições; Podem](https://reader036.vdocuments.pub/reader036/viewer/2022081420/552fc103497959413d8bea4f/html5/thumbnails/11.jpg)
ConclusãoOs contratos devem ser utilizados quando o
sistema necessita de especificações mais complexas, onde os casos de uso não atendem a necessidade. Os contratos descrevem o comportamento do sistema em termos de mudança de estado para objetos no Modelo de Domínio, após a execução de uma operação.Quando a equipe de desenvolvimento escreve um contrato para cada caso de uso isso diz que os casos de uso foram mal feitos e isso acarreta em documentação desnecessária.
Contratos
![Page 12: Contratos de Operação. Introdução Descrevem modificações detalhadas em objetos em um modelo de domínio fazendo uso de uma pré e pós-condições; Podem](https://reader036.vdocuments.pub/reader036/viewer/2022081420/552fc103497959413d8bea4f/html5/thumbnails/12.jpg)
1) Quando os contratos não devem ser utilizados?
2) Qual a diferença entre operação e método?
3) O que são as pós condições de uma operação?
4) Em que situações utilizamos os contratos?
5) Qual a função dos contratos?
6) Quais as seções do contrato?
Revisão
![Page 13: Contratos de Operação. Introdução Descrevem modificações detalhadas em objetos em um modelo de domínio fazendo uso de uma pré e pós-condições; Podem](https://reader036.vdocuments.pub/reader036/viewer/2022081420/552fc103497959413d8bea4f/html5/thumbnails/13.jpg)
Desenvolva os contratos para as operações:
a)Obter Filme
b)Gravar Filme
Exercícios