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

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

Universidade de São Paulo

Apresentações semelhantes


Apresentação em tema: "Universidade de São Paulo"— Transcrição da apresentação:

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

2 Tópicos LPS-BET Arquitetura Detalhamento dos Componentes
Implementação da LPS-BET Demo

3 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

5 Diagrama de Features da LPS-BET

6 Features Adicionais dos sistemas BET
Fortaleza Campo Grande São Carlos Acesso Adicional Autent. Passageiro Forma de Integração - Terminal - Integração * Tempo * Linha de Integração * Número de Viagens de Integração Pagamento de Cartão Restrição de Cartões - Número de Cartões - Combinação de Cartões Empresas Usuárias Limite de Viagens

7 Arquitetura Geral da LPS-BET

8 Componentes do BET Componentes de Negócio Componentes de Sistema

9 Componentes de Sistema

10 Classes da LPS-BET

11 Classes da LPS-BET

12

13 Componentes e Interfaces

14 Especificação de Interfaces

15 Especificação das Interfaces

16 Implementação da LPS-BET

17 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

19 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

21 Spring Beans Nome do Componente Principal classe do componente
Interfaces requeridas Componentes das interfaces

22 Estrutura dos Componentes
Previsto: Resultado:

23 Estrutura dos Componentes
Previsto: Resultado:

24 Estrutura dos Componentes
Previsto:

25 Estrutura dos Componentes
Resultado (I):

26 Estrutura dos Componentes
Resultado (II):

27 Comunicação entre Ônibus e Servidor
Ônibus-context.xml: BET-servlet.xml: Spring HTTP Invokers: mecanismo padrão de serialização do Java

28 Comunicação entre Ônibus e Servidor

29 Persistência – DAO (Data Access Object)

30 Persistência - Classe

31 Persistência – Mapeamento

32 Banco de Dados

33 Variabilidades na LPS-BET

34 Feature: Terminal Nova classe requerida Parte do diagrama de features
Parte do modelo de classes Devo colocar texto nas figuras do exemplo? Nova classe requerida

35 Componente Caixa Preta
Sem acesso interno à implementação dos componentes desenvolvidos LinhaMgr é reusado sem alteração Versão de Fortaleza: Componente composto LinhaTerminalMgr

36 Componente Caixa Branca

37 Feature: Pagamento Cartão
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)

38 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 Features: Pagamento Cartão
CartaoMgr é reusado sem alteração Versão de Fortaleza: Componente composto CartaoPgtoCartaoMgr

40 Componente Caixa-Branca

41 Componentes e Interfaces
Versão de Fortaleza:

42 Preparação do ambiente - Ferramentas
PostgreSQL ( Instalar o PostgreSQL Eclipse ( Maven2 ( Plugin do Maven para o Eclipse Eclipse: Help -> Software Updates -> Find and Install -> New Remote Site URL: Tortoise SVN (

43 Preparação do ambiente – Projeto BET (I)
Acessar o repositório com seu login google ( Clicar no seu nome em Project Member, verificar o seu “username” Clicar na aba Settings, verificar a sua senha Criar um diretório local no seu computador para o projeto Exemplo -> “C:\svn” Clicar no botão da direita e escolher a opção “SVN Checkout” URL of repository: Preencher os dados do membro do projeto no repositório google na janela que aparece após o passo 3 (username e password) 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 Acessar o diretório pelo DOS Entra em “trunk” e depois em “bet” Se estiver usando o exemplo, estará em “C:\svn\trunk\bet” Colocar o comando maven: mvn eclipse:clean 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 Preparação do ambiente – Projeto BET (II)
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” 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 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 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 Material Didático Maven: Spring: TortoiseSVN Tutorial:
“Better Build With Maven” Spring: “Professional Java Development with the Spring Framework” TortoiseSVN Tutorial:

46 DEMO

47 FIM Dúvidas? Paula Donegan: donegan@icmc.usp.br
msn: google-talk:


Carregar ppt "Universidade de São Paulo"

Apresentações semelhantes


Anúncios Google