Contratos

18
Contratos Modelagem Funcional

description

Contratos. Modelagem Funcional. Modelagem Funcional. Especificação das funções externas  isto é, a cargo dos atores  do sistema Operações Diagrama de Sequência de Operações Consultas / Relatórios. Contrato. Dentro da modelagem funcional, Contratos especificam somente as operações - PowerPoint PPT Presentation

Transcript of Contratos

Page 1: Contratos

Contratos

Modelagem Funcional

Page 2: Contratos

Modelagem Funcional

Especificação das funções externas isto é, a cargo dos atores do sistema Operações

Diagrama de Sequência de Operações Consultas / Relatórios

Page 3: Contratos

Contrato

Dentro da modelagem funcional, Contratos especificam somente as operações

Consultas / Relatórios são próprios de especificação de interface

Page 4: Contratos

Artefatos Necessários aos Contratos

Modelo conceitual Diagramas de seqüência

Page 5: Contratos

É Tempo de Recordar as Dependências entre Artefatos de Análise ...

Docum ento deRequisitos

O rganização d osRequisitos

Caso s deUso

Consultas /Relatórios

M anutenção deEntidades

M odeloConceitualPrelim inar

Casos d eUso Expandidos

Diagram as deSequência

M odeloConceitual

C ontratosDic ionário deDados

Page 6: Contratos

Elementos de um Contrato de Operação

Identificação Referências Cruzadas

Casos de uso onde a operação aparece Pré-condições Pós-condições

Page 7: Contratos

Pré-condições Definem o que deve ser verdadeiro na

estrutura da informação armazenada para que uma operação possa ser executada Certos objetos devem existir (ou não existir!) Certas associações entre objetos devem existir

(ou não existir!) As pré-condições não serão testadas durante

a execução da operação Algum mecanismo externo deverá garantir as

pré-condições antes de executar a operação

Page 8: Contratos

Pós-condições

Estabelecem como o estado do sistema deve mudar, em função da execução da operação Criação / destruição de objetos Criação / destruição de associações entre

objetos Mudança de estado de objetos

Page 9: Contratos

Template de um ContratoOperação: Nome e parâmetros[Referências cruzadas]: Use cases em que a operação pode ocorrerPré-condições: Hipóteses acerca do estado do sistema ou dos objetos do modelo do domínio, antes da execução da operaçãoPós-condições: O estado dos objetos do modelo do domínio, depois que a operação foi realizada

Page 10: Contratos

Exemplos de Contrato

Estudo de Caso Um sistema de terminal de vendas em um

supermercado Sistema TV Detalhado no livro de Larman

Page 11: Contratos

Modelo Conceitual do Sistema TV

Page 12: Contratos

Diagrama de Sequência para o Caso de Uso Processar Vendas

Page 13: Contratos

Contrato para a Operação IniciarVenda()Contrato C1: IniciarVenda()Referências cruzadas: Caso de Uso Processar VendasPré-condições - Um objeto TV e um objeto Caixa existem - A associação TV É operado por Caixa existePós-condições - Uma instância v de Venda foi cria - v foi associada segundo Venda Registrada em

TV - v.data := data - v.tempo := tempo

Page 14: Contratos

Contrato para a Operação EntrarItem()

Contrato C2: EntrarItem(IDItem, quantidade)Referências cruzadas: Caso de Uso Processar VendasPré-condições - Um objeto Venda criadoPós-condições - Uma instância lv de Linha de Venda foi criada - lv foi associada segundo Contida em, Registra venda de, Descrita por - lv.idItem := IDItem - lv.quantidade := quantidade

Page 15: Contratos

Contrato para a Operação TerminarVenda()

Contrato C3: TerminarVenda()

Referências cruzadas: Caso de Uso

Processar Vendas

Pré-condições - Um objeto v de Venda criadoPós-condições - v.completa := verdade

Page 16: Contratos

Contrato para a Operação FazerPagto()Contrato C4: FazerPagto()

Referências cruzadas: Caso de Uso Processar

VendasPré-condições - Um objeto v Venda, e objetos lv

Linha de Venda criadosPós-condições - uma instância p de Pagto foi criada - p foi associada a v segundo Paga - p.valor := valor - v foi associada segundo É arquivada

por

Page 17: Contratos

Contratos São Também um Meio de Validar / Refinar Modelos

Conceituais Estudo de Caso

O atributo completa da entidade Venda só foi descoberto durante a especificação do contrato C3

VendaCompletaDataTempo

Page 18: Contratos

Preparando-se para a Mini-prova #6

Estudo de caso: o seu projeto! Casos de Uso expandidos Modelo do domínio detalhado Diagramas de Sequência para cada caso de uso

Especificar os contratos de cada uma das operações dos diagramas de sequência

Refinar / validar o modelo do domínio