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

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

Linha de Produtos de Software de controle de Bilhetes Eletrônicos de Transporte (LPS-BET) Paula M. Donegan Universidade de São Paulo.

Apresentações semelhantes


Apresentação em tema: "Linha de Produtos de Software de controle de Bilhetes Eletrônicos de Transporte (LPS-BET) Paula M. Donegan Universidade de São Paulo."— Transcrição da apresentação:

1 Linha de Produtos de Software de controle de Bilhetes Eletrônicos de Transporte (LPS-BET) Paula M. Donegan Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação

2 Seminários Avançados em Engenharia de Software – 2o./ Tópicos LPS-BET Arquitetura Detalhamento dos Componentes Implementação da LPS-BET Demo

3 Seminários Avançados em Engenharia de Software – 2o./ LPS-BET Controle de Bilhetes Eletrônicos para Transporte municipal Gerência de dados de passageiros, cartões, linhas, ônibus e viagens Validador no ônibus lê um cartão e se comunica com o sistema central para debitar a passagem Pode haver um sistema de integração de ônibus para o passageiro pagar uma única passagem fazendo várias viagens Análise de 3 sistemas BET: Fortaleza (CE) São Carlos (SP) Campo Grande (MS)

4 Seminários Avançados em Engenharia de Software – 2o./2007 4

5 5 Diagrama de Features da LPS-BET

6 Seminários Avançados em Engenharia de Software – 2o./ Features Adicionais dos sistemas BET FortalezaCampo GrandeSão Carlos Acesso Adicional Autent. Passageiro Forma de Integração - Terminal Forma de Integração - Terminal - Integração * Tempo * Linha de Integração * Número de Viagens de Integração Forma de Integração - Integração * Tempo * Linha de Integração Pagamento de Cartão Restrição de Cartões - Número de Cartões Restrição de Cartões - Combinação de Cartões Empresas Usuárias Limite de Viagens

7 Seminários Avançados em Engenharia de Software – 2o./ Arquitetura Geral da LPS-BET

8 Seminários Avançados em Engenharia de Software – 2o./ Componentes do BET Componentes de Negócio Componentes de Sistema

9 Seminários Avançados em Engenharia de Software – 2o./ Componentes de Sistema

10 Seminários Avançados em Engenharia de Software – 2o./ Classes da LPS-BET

11 Seminários Avançados em Engenharia de Software – 2o./ Classes da LPS-BET

12 Seminários Avançados em Engenharia de Software – 2o./

13 Seminários Avançados em Engenharia de Software – 2o./ Componentes e Interfaces

14 Seminários Avançados em Engenharia de Software – 2o./ Especificação de Interfaces

15 Seminários Avançados em Engenharia de Software – 2o./ Especificação das Interfaces

16 Implementação da LPS-BET

17 Seminários Avançados em Engenharia de Software – 2o./ Plataforma de Implementação Java (linguagem de programação) Eclipse (ambiente de desenvolvimento) AspectJ (programação orientada a aspectos) Hibernate (persistência) Spring (injeção de dependência e inversão de controle) Maven HTML + Velocity + Javascript + Spring Web MVC PostgreSQL (banco de dados)

18 Seminários Avançados em Engenharia de Software – 2o./

19 Seminários Avançados em Engenharia de Software – 2o./ Elementos da Arquitetura na Prática Cliente Ônibus..\java\lps\bet\basico\onibus Servidor do Ônibus..\java\lps\bet\basico\controlValidadorServidor Componentes de Sistema:..\java\lps\bet\basico\controlarCorrida..\java\lps\bet\basico\controlarViagem Interface de Usuario..\webapp\WEB-INF\html Servidor Web..\java\lps\bet\basico\web Domínio BET (Componentes de Negócio)..\java\lps\bet\basico\linhaMgr..\java\lps\bet\basico\cartaoMgr..\java\lps\bet\basico\passageiroMgr..\java\lps\bet\basico\viacaoMgr..\java\lps\bet\basico\funcionarioMgr Persistência DAOs dos componentes de negócio do domínio BET..\java\lps\bet\basico\tiposDados..\resources\hibernate-mappings Banco de Dados

20 Seminários Avançados em Engenharia de Software – 2o./

21 Seminários Avançados em Engenharia de Software – 2o./ Spring Beans Interfaces requeridas Nome do Componente Principal classe do componente Componentes das interfaces

22 Seminários Avançados em Engenharia de Software – 2o./ Previsto:Resultado: Estrutura dos Componentes

23 Seminários Avançados em Engenharia de Software – 2o./ Previsto:Resultado: Estrutura dos Componentes

24 Seminários Avançados em Engenharia de Software – 2o./ Previsto: Estrutura dos Componentes

25 Seminários Avançados em Engenharia de Software – 2o./ Resultado (I): Estrutura dos Componentes

26 Seminários Avançados em Engenharia de Software – 2o./ Resultado (II): Estrutura dos Componentes

27 Seminários Avançados em Engenharia de Software – 2o./ Comunicação entre Ônibus e Servidor Ônibus-context.xml: BET-servlet.xml:

28 Seminários Avançados em Engenharia de Software – 2o./ Comunicação entre Ônibus e Servidor

29 Seminários Avançados em Engenharia de Software – 2o./ Persistência – DAO (Data Access Object)

30 Seminários Avançados em Engenharia de Software – 2o./ Persistência - Classe

31 Seminários Avançados em Engenharia de Software – 2o./ Persistência – Mapeamento

32 Seminários Avançados em Engenharia de Software – 2o./ Banco de Dados

33 Variabilidades na LPS-BET

34 Seminários Avançados em Engenharia de Software – 2o./ Feature: Terminal Parte do diagrama de features Parte do modelo de classes Nova classe requerida

35 Seminários Avançados em Engenharia de Software – 2o./ Sem acesso interno à implementação dos componentes desenvolvidos LinhaMgr é reusado sem alteração Versão de Fortaleza: Componente composto LinhaTerminalMgr Componente Caixa Preta

36 Seminários Avançados em Engenharia de Software – 2o./ Componente Caixa Branca

37 Seminários Avançados em Engenharia de Software – 2o./ Parte do diagrama de features Pontos de variação nas classes TipoPassageiro e Pagamento Cartão Alterando atributos e operações dessas classes (não necessário inserir uma nova classe no modelo) Feature: Pagamento Cartão

38 Seminários Avançados em Engenharia de Software – 2o./ Componente Caixa-Preta Parte do modelo de classes Ambas as classes permanecem em um componente pois possuem o mesmo interesse e são sempre usadas juntas Novos atributos requeridos

39 Seminários Avançados em Engenharia de Software – 2o./ CartaoMgr é reusado sem alteração Versão de Fortaleza: Componente composto CartaoPgtoCartaoMgr Features: Pagamento Cartão

40 Seminários Avançados em Engenharia de Software – 2o./ Componente Caixa-Branca

41 Seminários Avançados em Engenharia de Software – 2o./ Componentes e Interfaces Versão de Fortaleza:

42 Seminários Avançados em Engenharia de Software – 2o./ Preparação do ambiente - Ferramentas 1.PostgreSQL (http://www.postgresql.org/download/) Instalar o PostgreSQL 2.Eclipse (http://www.eclipse.org/downloads/) 3.Maven2 (http://maven.apache.org/download.html) 4.Plugin do Maven para o Eclipse Eclipse: Help -> Software Updates -> Find and Install -> New Remote Site URL: 5.Tortoise SVN (http://tortoisesvn.net/downloads)

43 Seminários Avançados em Engenharia de Software – 2o./ Preparação do ambiente – Projeto BET (I) 1.Acessar o repositório com seu login google (http://code.google.com/p/bet/)(http://code.google.com/p/bet/) 1.Clicar no seu nome em Project Member, verificar o seu username 2.Clicar na aba Settings, verificar a sua senha 2.Criar um diretório local no seu computador para o projeto Exemplo -> C:\svn 3.Clicar no botão da direita e escolher a opção SVN Checkout URL of repository: https://bet.googlecode.com/svn/https://bet.googlecode.com/svn/ 4.Preencher os dados do membro do projeto no repositório google na janela que aparece após o passo 3 (username e password) 5.A última versão do projeto será baixada do repositório Acessar o diretório no explorer do windows e verificar se está com uma marca verde, que significa que o diretório está sincronizado com o repositório 6.Acessar o diretório pelo DOS Entra em trunk e depois em bet Se estiver usando o exemplo, estará em C:\svn\trunk\bet 7.Colocar o comando maven: mvn eclipse:clean 8.Colocar o comando maven: mvn eclipse:eclipse Todas as dependências existentes no POM.xml que não forem encontradas no repositório local do maven serão baixadas pela web

44 Seminários Avançados em Engenharia de Software – 2o./ Preparação do ambiente – Projeto BET (II) 9.Importar o projeto no eclipse: File -> Import -> Existing Projects into Workspace -> Select root directory Selecionar o diretório local em que o projeto se encontra, até a parte bet No exemplo seria C:\svn\trunk\bet 10.Habilitar o Maven no projeto: Clicar com o botão da direita sobre o projeto bet Opção: Maven2 -> Enable As dependências declaradas no POM.xml serão reconhecidas pelo Eclipse 11.Criar o Banco de Dados BET no PostgreSQL Usar o script de backup do banco de dados disponibilizado no repositório google do projeto para criar o banco de dados bet O arquivo filter.properties encontra-se configurado com username = root e password = root, manter essas informações consistentes 12.Para rodar o servidor, deve-se ir no diretório do projeto e usar o comando maven mvn jetty:run O diretório no exemplo seria o C:\svn\trunk\bet Starting scanner at internal of 10 seconds (rodando com sucesso) Para rodar o cliente do ônibus, deve-se executar a classe ValidadorGUI do componente GUI. Para rodar a parte web, usar

45 Seminários Avançados em Engenharia de Software – 2o./ Material Didático Maven: Better Build With Maven Spring: htmlhttp://www.springframework.org/docs/reference/index. html Professional Java Development with the Spring Framework TortoiseSVN Tutorial: ers/svntutorial/http://www.mind.ilstu.edu/research/robots/iris4/develop ers/svntutorial/

46 Seminários Avançados em Engenharia de Software – 2o./ DEMO

47 FIM Dúvidas? Paula Donegan: msn: google-talk:


Carregar ppt "Linha de Produtos de Software de controle de Bilhetes Eletrônicos de Transporte (LPS-BET) Paula M. Donegan Universidade de São Paulo."

Apresentações semelhantes


Anúncios Google