Carregar apresentação
A apresentação está carregando. Por favor, espere
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)
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
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)
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
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:
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.