Upload
internet
View
123
Download
0
Embed Size (px)
Citation preview
Contratos de Operação
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.
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.
Contratos de Operação Operações do sistema e a interface do sistema
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
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).
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
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
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
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
Desenvolva os contratos para as operações:
a)Obter Filme
b)Gravar Filme
Exercícios