E-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Uma Metodologia para Verificação de Modelos de Sistemas de Comércio.

Slides:



Advertisements
Apresentações semelhantes
MOtivação Atender clientes com eficiência e rapidez .
Advertisements

Gerenciamento de Projetos
Introdução a Algoritmos
Requisitos de Software
ISO Processos do Ciclo de Vida do Software
Introdução à Programação uma Abordagem Funcional Programação I Prof.ª Claudia Boeres CT VII - Sala 32 Departamento de Informática Centro.
Modelagem Organizacional
O Processo Praxis 3.0 Processos de Software 25/03/2017
Sistema Gerenciador de Ocorrências
SISTEMAS DE INFORMAÇÃO
Engenharia de Software
Rational Unified Process(RUP)
Engenharia de Software Professor Sandro de Paiva Carvalho.
FACULDADE DOS GUARARAPES
Faculdade de Ciências Sociais de Aplicadas de Petrolina – FACAPE
Faculdade de Ciências Sociais e Aplicadas de Petrolina – FACAPE
Professora: Aline Vasconcelos
Professor: Rogério Lopes Disciplina: Engenharia de Software II Fortium Sistemas da Informação Engenharia de Software II.
Análise e Projeto de Sistemas
TIPOS DE TESTES APLICÁVEIS E NÃO APLICÁVEIS AO PROJETO
TSDD Teste de segurança durante o desenvolvimento.
Visão Geral do Desenvolvimento de Sistemas e Papéis no Desenvolvimento de Software Marcely Dias
Engenharia de Software
Planejamento e Execução da Auditoria
Estudo de Caso: Técnicas de Teste como parte do Ciclo de Desenvolvimento de Software Aline Pacheco Patric Ribeiro Diego Kreutz.
Tecnologias de Linguagens para Banco de Dados
Prof.Alfredo Parteli Gomes
Fundamentos de Engenharia de SW
Processos de Desenvolvimento de Software – Parte 2
Prof. Kelly E. Medeiros Bacharel em Sistemas de Informação
Algoritmos 1º Semestre Materia: Informática Profº: Cristiano.
Business Intelligence:
Análise e Projeto de Sistemas
Engenharia de Software
Gerência de Configuração - GC
Software engineering, the software process and their support M.M. Lehman Apresentadora: Tarciana Dias da Silva.
Processo de Aquisição Adilson de Almeida Cezar Meriguetti
O Processo de desenvolvimento de software
Introdução à Engenharia de Software
Teste de Software Conceitos iniciais.
Bruno Silva Desenvolvido a partir de
ANÁLISE ESTRUTURADA DE SISTEMAS
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
Campus de Caraguatatuba Aula 2: Introdução a Tecnologia de BD
Engenharia de Software
RUP - Cap. 4 – Processo Centrado na Arquitetura
Engenharia de Software
METODOLOGIA, MÉTODOS E FERRAMENTAS
Laboratório de Programação
Processos do Design 27/09.
Modelagem de Processos de Negócio
Requisitos de Software
Planejamento e Gerência de Projeto Plácido Antonio de Souza Neto
Integração de Ferramentas CASE
IEEE Melhores Práticas para Descrições de Projeto de Software (DPS)
Gestão de projetos de Software GTI-16
Engenharia de Software
Desenvolvimento Global de Software Mestrado de Informática / UFPB Francilene Procópio Garcia, D.Sc. Configuração do Processo - Parte.
E-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory A Model Checking Methodology for E-commerce Systems Adriano Machado.
Engenharia de Software
Análise e Projeto de Sistemas Orientado a Objetos Profa. Ana Karina Barbosa.
Professora Michelle Luz
RUP – Rational Unified Process Márcia Seabra Cabral Prof. Augusto Sampaio Centro de Informática - UFPE.
Apresentação Leonardo Brussolo de Paula
PROJETO SPICE ISO Integrantes: Erickson Balzaneli
1 Projeto Piloto Conclusão em Agenda Projeto Piloto –Descrição –Execução da aplicação –Implementação de requisitos funcionais e não- funcionais.
Processos de Software Ludimila Monjardim Casagrande 1º Semestre Desenvolvimento e Qualidade.
Aplicação de Métodos Formais no Desenvolvimento de Sistemas Multimídia Distribuídos Cláudia Araújo Ribeiro UFPE Junho/2000.
TESTES DE SOFTWARE – AULA 1 Prof. Me. Ronnison Reges Vidal
Modelagem de Banco de Dados: Conceitos
Transcrição da apresentação:

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Uma Metodologia para Verificação de Modelos de Sistemas de Comércio Eletrônico Adriano Machado Pereira Orientador: Wagner Meira Jr. Co-orientador: Sérgio Campos 28 de Agosto de 2002

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Introdução Comércio eletrônico (C.E.)Comércio eletrônico –Popularização; –Usuários web mais exigentes; –Serviços cada vez mais complexos; –Difícil projeto. Processo de concepção de sistemas de comércio eletrônico: maioria das abordagens são ad-hocsistemas de comércio eletrônico –Sistemas menos confiáveis; –Alto custo. 2

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Introdução Garantir a corretude de sistemas de comercio eletrônico: –Tarefa não trivial; –Testes e Simulações são pouco eficientes. Qual a solução? 3

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Metodologia CAFE Níveis: –ConceitualConceitual –AplicaçãoAplicação –FuncionalFuncional –Execução ou ArquiteturalExecuçãoArquitetural 4

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Metodologia CAFE CAFE EntidadesItens Ciclo de Vida Ações Agentes Serviços Produtos Requisitos Funcionais Estratégia de Armazenamento Arquitetura Ambiente de Execução Modelo de Execução Ferramentas

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Metodologia CAFE Direcionada para concepção de sistemas de comércio eletrônico. –Por que não adotá-la simplesmente? Quem projeta os sistemas? Quem produz os equipamentos de informática? Ser humano não é perfeito! 6

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Motivação Erros existentes nos sites são empecilhos para um maior crescimento do comércio eletrônico, pois podem trazer prejuízos para os usuários web, site ou ambos, dependendo de sua natureza; Processos de engenharia de software voltados para sistemas genéricos (RUP, Praxis); Ausência de metodologia (grau de formalidade) específica para sistemas onde há comercialização de bens. 7

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Objetivo Elaborar uma metodologia que utiliza métodos formais, mais especificamente verificação de modelos, para projetar sistemas de comércio eletrônico e verificar automaticamente se suas regras de negócio são satisfeitas; Validar a metodologia através de estudos de caso de comércio eletrônico. 8

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Verificação de Modelos em Sistemas De Comércio Eletrônico Regras de negócio Modelo formal de sistemas de comércio eletrônico –Propriedades Completeza Transitividade Suporte Transacional do Servidor de Transação (Atomicidade, Consistência, Isolamento) 9

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory A Metodologia Formal-CAFE Baseada na metodologia CAFE de especificação de sistemas de comércio eletrônico; Estende a CAFE definindo método que possibilita a verificação de modelos de sistemas de comércio eletrônico; Incremental e dividida em 4 níveis. 10

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory A Metodologia Formal-CAFE CAFE Espec.Formal Verif.Formal Model.FormalRegrasDeNegócio Espec.Formal Verif.Formal Model.Formal Espec.Formal Verif.Formal Model.Formal Sistema Correto 11

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory A Metodologia Formal-CAFE Conceitual: –Tupla: ; –Regras de negócio; –Quanto mais detalhado for, melhor! Explicação dos níveis e acompanhamento através de um estudo de caso de uma Loja Virtual. 12

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Estudo de Caso – Loja Virtual Nível Conceitual Produto: livro; Itens: são unidades deste livro; Domínio: não disponível, disponível, reservado, vendido, excluído; Agentes: comprador e vendedor; Ações: –Comprador: Navegar, Reservar, Cancelar Reserva, Comprar –Vendedor: Disponibilizar, Excluir, Alterar Serviços: Efetuar reserva, Excluir produto, etc. 13

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Estudo de Caso – Loja Virtual Nível Conceitual Regras de negócio: –Se um item está indisponível e a ação Disponibilizar é executada sobre ele, então o item deverá estar disponível no estado seguinte. –Se o item está reservado para um comprador e este executa a ação comprar, então o estado seguinte deste item será vendido. 14

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Estudo de Caso – Loja Virtual Nível Conceitual Regras de negócios: –Reservar um item e cancelar a reserva de outro item do mesmo produto devem ser serviços atômicos. –Se o estoque é positivo, então deve necessariamente existir pelo menos um item no estado disponível. –Etc. 15

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory A Metodologia Formal-CAFE Aplicação: 16

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory A Metodologia Formal-CAFE Aplicação: –ciclo de vida do bem comercializado (item); 17

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Estudo de Caso – Loja Virtual Nível Aplicação Propriedade de Completeza –EF (item1.estado = Indisponível) –EF (item1.estado = Excluído) 18 item comprador vendedor – –EF (comprador.ação = Reservar) – –EF (comprador.ação = Comprar) – –EF (vendedor.ação = Disponibilizar) – –EF (vendedor.ação = Excluir)

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory A Metodologia Formal-CAFE Funcional: –Serviços providos pelo sistema; –Múltiplos agentes; –Múltiplos itens. 19

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Estudo de Caso – Loja Virtual Nível Funcional Propriedade de Transitividade –AG (estado = Indisponível & serviço = Disponibilizar)  AX (estado = Disponível) –AG (estado = Disponível & serviço = Excluir)  AX (estado = Excluído) –AG (estado = Reservado & serviço = Comprar)  AX (estado = Vendido) 20

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Estudo de Caso – Loja Virtual Nível Funcional Propriedades Transacionais –Atomicidade: Ex: Se um item está disponível e um comprador tenta reservá-lo, o item deverá estar reservado no próximo estado e o estoque alterado ou então o estado deve ser mantido. 21 AG ((estado = Disponível & serviço = Reservar & estoque = v)  AX ((estado = Disponível & estoque = v) | (estado = Reservado & estoque = v – 1)))

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Estudo de Caso – Loja Virtual Nível Funcional Propriedades Transacionais –Isolamento: Ex: Se existirem dois compradores, um reservando um item e outro cancelando a reserva de outro item do mesmo produto, o estoque do produto deve ser mantido consistente. 22 AG ((serviço_comprador1 = Reservar & serviço_comprador2 = Cancelar Reserva & estoque = v)  AX (estoque = v))

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Estudo de Caso – Loja Virtual Nível Funcional Propriedades Transacionais –Consistência: Ex: o estoque de um determinado produto nunca deve ser negativo. 23 AG !(estoque < 0) AG ((estoque > 0)  (estado_produto = Disponível)) Ex: Se o estoque é positivo, então deve existir pelo menos um item disponível.

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Estudo de Caso – Loja Virtual Nível Funcional Atomicidade e Isolamento evitam inconsistência no sistema Erro grave detectado: violação da propriedade de isolamento, que ocasionou que um mesmo item de um produto fosse vendido duas vezes. Solução: mecanismo de exclusão mútua no processo de reserva de itens. 24

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Estudo de Caso – Loja Virtual Nível Funcional Erro detectado: next (sessão_usuário) := case... sessão_usuário = seleção de produto & serviço comprador = Reservar & next(produto disponível = 1) : carrinho de compras; sessão_usuário = seleção de produto & serviço comprador = Reservar & next(produto disponível = 0) : erro (“produto indisponível”);... 1: sessão_usuário; esac; next (em_uso) := case... em_uso = 0 & serviço comprador 1 = Reservar & serviço comprador 2 = Reservar & estoque > 0 & estoque <= 2 : {1,2}; em_uso = 1 & serviço comprador 1 = Cancelar Reserva : 0; em_uso = 1 & serviço comprador 1 = Comprar : 0; em_uso = 2 & serviço comprador 2 = Cancelar Reserva : 0; em_uso = 2 & serviço comprador 2 = Comprar : 0;... 1: em_uso; esac; Resultado: – – Quando um comprador solicitar a reserva de um item, caso a variável em_uso contenha a identificação de outro comprador, então a adição do item ao seu carrinho de compras não é efetuada.

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory A Metodologia Formal-CAFE – – Execução ou Arquitetural: – – Componentes do sistema; – – Interações do usuário. 26

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Estudo de Caso – Loja Virtual Nível Execução / Arquitetural Verificação de todas as propriedades verificadas nos níveis antecedentes. Novas especificações para verificar o correto funcionamento dos componentes da arquitetura do sistema. 71 especificações verificadas. Modelo completo: mais de estados, com mais de estados alcançáveis. 27

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Conclusão A aplicação de verificação de modelos em comércio eletrônico tem se mostrado promissora; Área pouco explorada; Processo de verificação em sistemas de software não é trivial, porém a definição de uma metodologia para tal é necessária e tende a atrair pessoas para a área. 28

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Contribuições Definição uma metodologia que possibilite: –Identificar antecipadamente erros no projeto; –Projetar sistemas de comércio eletrônico mais confiáveis e robustos. Oportunidade de estender o trabalho a outras áreas de aplicação; Demonstração que a aplicação de técnicas formais pode ser útil e promissora. 29

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Publicações ICFEM’02 –“A Formal Methodology to Specify e-Commerce Systems” Artigo WMF’2002 –“Uma Metodologia para Verificação de Modelos de Sistemas de Comércio Eletrônico” Artigo ICECR-5 –“Formal-CAFE Methodology: an E-commerce System's Case Study” 30

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Trabalhos Futuros Definição de padrões para especificação formal de regras de negócio de comércio eletrônico (CE); Definição de padrões para construção do modelo formal proposto pela metodologia; Definição de uma linguagem formal para construção de sistemas de CE; Aplicação da metodologia em outras áreas, tais como comércio eletrônico móvel e telecomunicações. 31

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory

Grau de Formalidade: Nível 0 Nenhum uso de métodos formais; Corresponde a prática padrão, na qual a verificação é um processo manual de revisão e inspeção aplicada a documentos escritos em linguagem natural; A validação é baseada em testes.

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Grau de Formalidade: Nível 1 Uso de conceitos e notações da matemática discreta; Substitui-se a linguagem natural utilizada na por notações e conceitos da lógica e matemática discreta.

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Grau de Formalidade: Nível 2 Uso de Linguagens de especificação formal; Ferramenta de suporte automático limitado, como um analisador, um verificador de tipos ou apenas capacidade de prova de teoremas;

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Grau de Formalidade: Nível 3 Uso de Linguagens de especificação formal mais completas; Ambiente de suporte amplo, incluindo prova de teoremas automática e verificadores de provas; Verificação de modelos: totalmente automática.

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory CAFE: Conceitual Define quais são as entidades que caracterizam um serviço de comercio eletrônico; Entidades: base para elaboração dos níveis subseqüentes.

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory CAFE: Aplicação São instanciados os possíveis valores para cada entidade; Descrito o funcionamento da aplicação sob a perspectiva do itens que estão sendo comercializados.

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory CAFE: Funcional Descrição dos serviços providos pelo servidor de transação; Especificação da estratégia de implementação dos serviços; Estratégia de armazenamento.

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory CAFE: Execução Determina como a aplicação vai ser implementada: –Arquitetura do sistema; –Tecnologias a serem adotadas. Complementa o processo de concepção do servidor de comercio eletrônico.

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Arquitetura Típica

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Comércio eletrônico Conjunto de técnicas e tecnologias computacionais utilizadas para realizar ou facilitar transações comerciais de bens e serviços.

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Sistemas de comércio eletrônico Arquitetura típica: –Servidor WWW; –Servidor de transações; –Banco de dados. Requisitos –Gerenciamento do estado da aplicação; –Suporte transacional; –Segurança; –Desempenho.

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Métodos Formais Consiste basicamente no uso de técnicas matemáticas para auxiliar na documentação, especificação, projeto, análise e certificação de sistemas de computação. Exemplo: –provadores de teoremas; –matemática discreta; –verificação de modelos.

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Métodos Formais Benefícios –Capacidade de fornecer especificações precisas e não ambíguas; –Possibilidade de verificar especificações iniciais do projeto, onde normalmente não há outra forma de validação; –Mudanças na especificação podem ser realizadas de maneira mais confiável.

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Grau de formalidade Nível 00 Nível 11 Nível 22 Nível 33 –Verificação de modelos (model checking)

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Verificação de Modelos Exploração exaustiva de todas as possibilidades de comportamento de um sistema. Processo de Verificação de Modelos: –Modelagem formal;Modelagem formal –Especificação formal;Especificação formal –Verificação formal.Verificação formal SMV e NuSMV

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Verificação de Modelos Modelagem formal: –consiste em converter as características do projeto para uma linguagem formal compatível com a ferramenta de verificação que pretende-se utilizar. –Como isso é feito? –Qual a representação utilizada?

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Modelagem Formal

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Ação comprador 1 = reservar Ação comprador 1 = reservar Ação comprador 2 = navegar Ação comprador 2 = navegar Ação vendedor = disponibilizar Ação vendedor = disponibilizar Estado item 1 (L1) = disponível Estado item 1 (L1) = disponível Estado item 2 (L2) = alocado Estado item 2 (L2) = alocado Estoque do Livro 1 = 1 Estoque do Livro 1 = 1 Modelagem Formal

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Estoque do Livro 1 < 0 Estoque do Livro 1 < 0 Modelagem Formal

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Especificação Formal Em minha aplicação modelada, existe alguma situação onde o estoque negativo? Em minha aplicação modelada, existe alguma situação onde o estoque é negativo? Lógica Temporal Fórmulas CTL EG (estoque < 0)

e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Verificação Formal Em minha aplicação modelada, existe alguma situação onde o estoque negativo? Em minha aplicação modelada, existe alguma situação onde o estoque é negativo? Lógica Temporal Fórmulas CTL EG (estoque < 0) Não