A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Contratos Modelagem Funcional.

Apresentações semelhantes


Apresentação em tema: "Contratos Modelagem Funcional."— Transcrição da apresentação:

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 v Venda, e objetos lv Linha 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


Carregar ppt "Contratos Modelagem Funcional."

Apresentações semelhantes


Anúncios Google