Principal Sumário Prefácio Transparências Respostas para os Exercícios Projetos Links


Loja Virtual - Nível Conceitual

Descrição

Este exemplo ilustra o nível conceitual de uma loja virtual modelada.

Explicações

Existem várias aplicações de comércio eletrônico, tais como biblioteca digital, livraria virtual e sites de leilão. A diferença entre elas são sua natureza e as respectivas regras de negócio. Algumas destas regras são simples, como por exemplo: um item não deve ser vendido para mais de um consumidor. Por outro lado, existem regras específicas à aplicação, como permitir ou não a reserva de um item, prover controle de estoque, ou definir prioridades para transações executadas concorrentemente. A metodologia proposta no livro, uma extensão da metodologia CAFE, consiste de uma técnica para se aplicar verificação de modelos no projeto de sistemas de comércio eletrônico. A metodologia CAFE explica como especificar um sistema de comércio eletrônico e consideramos que o projetista deve conhecer alguma linguagem formal, tal como NuSMV, para construir seu modelo. Nossa metodologia é incremental e dividida em 4 níveis. É relevante ressaltar que esta organização foi adotada com o intuito de simplificar a especificação do projeto, mas o projetista pode adotar outra organização, conforme julgar mais adequado ao seu projeto. O primeiro nível, definido como conceitual, engloba as regras de negócio e a definição do sistema de comércio eletrônico a ser projetado. Quanto mais detalhes o projetista especificar, mais fácil deverá ser aplicar a metodologia e alcançar bons resultados no processo de verificação. O segundo nível, denominado aplicação, modela o ciclo de vida do item a ser comercializado, identificando os tipos de operações (definidas como ações) que são executadas sobre ele e que alteram seu estado. O terceiro deles, conhecido como funcional, modela os serviços providos pelo sistema e introduz o conceito de múltiplos itens. O último nível contempla os componentes do sistema de comércio eletrônico. Ele complementa o escopo da aplicação, modelando sua arquitetura, razão pela qual denomina-se nível arquitetural.

Nível Conceitual

Da mesma forma que modelos de comércio tradicionais, o objeto central do comércio eletrônico é o produto comercializado. Para cada produto comercializado, há um ou mais itens, que são instâncias de produto. Cada item é caracterizado por um grafo que descreve seu ciclo de vida, ou seja, os estados pelos quais um item pode passar. Exemplos de estados são disponível, reservado ou vendido. O domínio de um item são os estados nos quais o item pode estar. As entidades ativas que participam da aplicação de comércio eletrônico são chamadas agentes. Exemplos de agentes são os clientes de uma loja e seus vendedores. Os agentes executam ações que modificam o estado de um item, ou seja, ações são transições no grafo de ciclo de vida do item. Alocar um item ou comprá-lo são exemplos de ações. Serviços são seqüências de ações que atuam sobre produtos. Enquanto ações tratam de itens específicos e executam tarefas simples (como por exemplo alocar um item), serviços tratam do produto como um todo e de transações completas. Por exemplo, um serviço pode ser comprar um exemplar de um livro específico. Este serviço pode ser decomposto nas ações: pagar o livro, despachar o livro, e atualizar o estoque. Formalmente, caracteriza-se uma aplicação de comércio eletrônico por uma tupla $<P, I, D, Ag, Ac, S>$ onde $P$ é o conjunto de produtos da aplicação, $I$ o conjunto de itens comercializados, $D$ os domínios possíveis para os itens (seus ciclos de vida), $Ag$ o conjunto de agentes, $Ac$ o conjunto de ações, e $S$ o conjunto de serviços. Produtos são conjuntos de itens, ou seja, $i \in I$ significa que $i \in p, p \in P$. Os produtos particionam os itens, ou seja, todo item pertence a um e somente um produto. Formalmente, $I = \bigcup_{\forall p \in P} p$ e $p_i \cap p_j = \emptyset$ para $i \not= j$. Domínios são associados a itens, ou seja, cada item $i$ tem como domínio, $D_i$. Dois itens do mesmo produto têm o mesmo domínio, ou seja, para todos os itens $i,j \in I$, existe um produto $p$ tal que se $i \in p$ e $j \in p$, então $D_i = D_j$. Apresentaremos o estudo de caso de uma aplicação muito popular em comércio eletrônico: uma loja virtual. O objetivo é demonstrar como a metodologia proposta pode ser utilizada no projeto de sistemas mais confiáveis. Esta aplicação é um exemplo típico de comércio eletrônico onde está presente a maioria dos aspectos que tornam difícil o projeto desses sistemas, tais como múltiplos agentes competindo por produtos, múltiplos itens, entre outros. Utilizou-se o verificador de modelos SMV para aplicação da metodologia neste estudo de caso. Conforme definido na metodologia, o nível conceitual detalha as exigências de um sistema de comércio eletrônico. Listamos algumas das regras de negócios identificadas no nosso estudo de caso:
  • Se um item está indisponível e for disponibilizado, no momento seguinte deverá estar disponível;
  • Se um item está disponível e for reservado, no momento seguinte deverá estar reservado;
  • Se um item está reservado e for cancelada sua reserva, então ele deverá estar disponível no momento seguinte;
  • Se um item está reservado e sua compra for confirmada, então deverá estar vendido no momento seguinte;
  • O estoque de um produto tem que ser sempre positivo;
  • Se o estoque for positivo, pelo menos um item deve estar disponível;
  • Se o estoque for nulo, então o produto não pode estar disponível;
  • As ações de Reservar e Cancelar Reserva devem ser atômicas;
  • Se existirem agentes executando concorrentemente, as ações devem ser isoladas.
Todas as regras de negócio devem ser satisfeitas nos níveis seguintes da metodologia para que a correção do sistema de comércio eletrônico seja confirmada.

Níveis subsequentes

Para visualizar os exemplos dos níveis subsequentes da metodologia, basta acessar os links a seguir: Voltar

Última atualização:
2002-11-25