Download
contratos n.
Skip this Video
Loading SlideShow in 5 Seconds..
Contratos PowerPoint Presentation

Contratos

189 Views Download Presentation
Download Presentation

Contratos

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Contratos Modelagem Funcional

  2. 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

  3. Contrato • Dentro da modelagem funcional, Contratos especificam somente as operações • Consultas / Relatórios são próprios de especificação de interface

  4. Artefatos Necessários aos Contratos • Modelo conceitual • Diagramas de seqüência

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

  6. 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

  7. 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

  8. 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

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

  10. Exemplos de Contrato • Estudo de Caso • Um sistema de terminal de vendas em um supermercado  Sistema TV • Detalhado no livro de Larman

  11. Modelo Conceitual do Sistema TV

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

  13. Contrato para a Operação IniciarVenda() Contrato C1: IniciarVenda() Referências cruzadas:Caso de Uso Processar Vendas Pré-condições - Um objeto TV e um objeto Caixa existem - A associação TV É operado por Caixa existe Pó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

  14. Contrato para a Operação EntrarItem() Contrato C2: EntrarItem(IDItem, quantidade) Referências cruzadas:Caso de Uso Processar Vendas Pré-condições - Um objeto Venda criado Pó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

  15. 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 criado Pós-condições - v.completa := verdade

  16. Contrato para a Operação FazerPagto() Contrato C4: FazerPagto() Referências cruzadas:Caso de Uso Processar Vendas Pré-condições - Um objeto vVenda, e objetos lvLinha de Venda criados Pó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

  17. 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 Venda Completa Data Tempo

  18. 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