1 / 18

Contratos

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

ivria
Download Presentation

Contratos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

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

More Related