contratos de operação. introdução descrevem modificações detalhadas em objetos em um modelo de...
TRANSCRIPT
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