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 Requisitos Casos de Uso Diagrama de Features Modelo Conceitual Arquitetura da LPS-BET Componentes e Interfaces Especificação de Interfaces Composição de Componentes

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./ Processo de Desenvolvimento Começar com a análise de domínio Então existem 2 alternativas: 1) Elaborar o projeto do domínio inteiro e implementar em seguida (em uma versão ou em vários incrementos) 2) Projetar e implementar a LPS em uma versão apenas com as características básicas e então incrementar o projeto e a implementação com subgrupos de variabilidades opcionais e alternativas

5 Seminários Avançados em Engenharia de Software – 2o./ Incrementos de LPSs Incrementos verticais e horizontais Incrementos Horizontais Subgrupo de características (features) que atendem a uma aplicação específica mas que não contém necessariamente todas as variabilidades de cada característica incluída

6 Seminários Avançados em Engenharia de Software – 2o./ Incrementos de LPSs Incrementos verticais e horizontais Incrementos Verticais Implementam todas as variabilidades de um subgrupo de características escolhidas, mas que não necessariamente produzem uma aplicação específica

7 Seminários Avançados em Engenharia de Software – 2o./ Desenvolvimento da LPS-BET Consideramos importante ter um aplicação completa inicialmente: Opção de usar ciclos iterativos horizontais gerando uma aplicação em cada incremento Iteração 1 Apenas com as características do núcleo (Versão 1) Iteração 2 Versão 1 + características e variabilidades da aplicação de Fortaleza Iteração 3 Versão 2 + características e variabilidades da aplicação de Campo Grande Iteração 4 Versão 3 + características e variabilidades da aplicação de São Carlos Iteração 5 Versão 4 + todas as variabilidades + geração automática com um Gerador de Aplicação

8 Seminários Avançados em Engenharia de Software – 2o./ Requisitos Requisitos do sistema BET de Fortaleza Requisitos do sistema BET de Campo Grande Requisitos do sistema BET de São Carlos

9 Seminários Avançados em Engenharia de Software – 2o./ Comparação de Requisitos São CarlosFortalezaCampo Grande Leitoras em ônibus (F1)Leitoras em ônibus e em terminais (F1) Integração temporal (F4)Não há integração temporal (F4)Integração temporal (F4) Tempo para integração: 90 minutos (F4) Tempo para integração: 60 minutos (F4) Sem restrição para quantidade de viagens de integração temporal (F4) Única integração temporal da viagem (F4) Não há terminais A entrada do ônibus em um terminal é feita por uma porta que dá acesso diretamente ao interior do ônibus, sem passar pela catraca (F5) Valor máximo de carga no cartão dependendo da categoria do cartão (F7) Não há valor máximo de carga para os cartões Desconto para alguns tipos de passageiros (F8) Desconto para alguns tipos de passageiros (F8, F9, F13) Desconto para alguns tipos de passageiros (F10, F11) Valor do desconto segue as seguintes categorias de passageiros: A) estudantes e B) empregados doméstica(o)s têm desconto de 50% sobre o valor da passagem; C) trabalhadores registrados têm 30% de desconto (F8) O vale-transporte operacional e gratuidade fornecem 100% de desconto (F8 e F9) A carteira de estudante permite o pagamento manual com 50% de desconto (F13) O cartão estudantil fornece 50% de desconto (F10) O cartão gratuidade fornece 100% de desconto (F11)

10 Seminários Avançados em Engenharia de Software – 2o./ Casos de Uso - Resumido

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

12 Seminários Avançados em Engenharia de Software – 2o./ Rastreabilidade SubsistemaCasos de UsoSão CarlosFortalezaCampo Grande Gerência Gerenciar Cartão F1, F4F1F1, F3, F4 Gerenciar Linha F12F17F18 Gerenciar Linha de Integração F4, F13-F4, F19 Gerenciar Terminal -F1, F5F1 Gerenciar Ônibus F12F1 Gerenciar Validador F1, F2 Gerenciar Corrida F12F17F18 Aquisição e Carga de Cartão Adquirir Cartão F9, F14F7, F8, F9, F10, F12, F13F8, F9, F10, F11, F12 Carregar Cartão F7F11F7, F13 Verificar Pagamento do Cartão -F10- Verificar Tipo de Passageiro F8F7, F8, F9, F10F8 Verificar Limite de Viagens F7, F8-- Viagem Realizar Viagem F1, F2, F6, F16F1, F2, F5, F19F1, F2, F4, F5, F6, F22 Ler Cartão F1 Verificar Situação do Cartão F2, F3F2, F3, F4F2, F3 Verificar Integração F4, F5- Verificar Quantidade de Viagens de Integração --F4, F20 Registrar Corrida F12, F15, F16F12, F18, F19F19, F21, F22

13 Seminários Avançados em Engenharia de Software – 2o./ Candidatos a Componentes Aspectuais Caso de Uso Tipo de Requisito Motivo Gerenciar CartãoFuncional Incluído por 3 casos de uso (dois deles são núcleo) Gerenciar Limite ViagensFuncional Incluído por 2 casos de uso, mas depende do sistema da LPS (1 deles é opcional) Gerenciar Tipo PassageiroFuncional Incluído por 2 casos de uso, mas depende do sistema da LPS (1 é opcional) Gerenciar Política DescontoFuncionalIncluído por 2 casos de uso (os dois são núcleo) Verificar Tipo PassageiroFuncionalIncluído por 2 casos de uso (os dois são núcleo) Verificar Situação do CartãoFuncionalIncluído por 2 casos de uso (os dois são núcleo) Autenticar UsuárioNão-FuncionalEstende 3 casos de uso (os três são opcionais) Ler CartãoFuncionalIncluído por 2 casos de uso (os dois são núcleo) Gerenciar Linha de Integração FuncionalEstende 2 casos de uso (um deles é opcional)

14 Seminários Avançados em Engenharia de Software – 2o./ Diagrama de Features Comuns

15 Seminários Avançados em Engenharia de Software – 2o./ Diagrama de Features da LPS-BET

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

17 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

18 Seminários Avançados em Engenharia de Software – 2o./ Diagrama de Seqüência de Sistema - Realizar Viagem

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

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

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

22 Seminários Avançados em Engenharia de Software – 2o./ Diagrama de Comunicação Parcial Realizar Viagem

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

24 Seminários Avançados em Engenharia de Software – 2o./ Diagrama de Estados do subsistema do Ônibus

25 Seminários Avançados em Engenharia de Software – 2o./ Decisões de Projeto para Features da LPS Como decisões de projeto são influenciadas por: Decisões tomadas relacionadas ao processo adotado de desenvolvimento da LPS Tipo do componente (caixa preta ou caixa branca) Forma de composição (manual ou automatizado) Features (características) Formas de Integração: usa novas classes Pagamento Cartão: usa subclasses (com novos atributos e métodos)

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

27 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 Feature: Terminal

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

29 Seminários Avançados em Engenharia de Software – 2o./ LinhaTerminalMgr desenvolvido para Fortaleza é reusado Versão de Campo Grande: Componente composto LinhaTerminalIntegraçãoMgr Feature: Linha de Integração

30 Seminários Avançados em Engenharia de Software – 2o./ LinhaMgr é reusado LinhaIntegradaMgr desenvolvido para Campo Grande é reusado Versão de São Carlos: Componente composto LinhaIntegraçãoMgr Feature: Linha de Integração

31 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

32 Seminários Avançados em Engenharia de Software – 2o./ Feature: Pagamento Cartão Opção 1: Usar classes parametrizadas Opção 2: Usar classes com pontos de variação e separar a feature Pagamento Cartão em um novo componente chamado PagamentoMgr Separação de interesses e componentes caixa- preta

33 Seminários Avançados em Engenharia de Software – 2o./ Feature: Pagamento Cartão 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

34 Seminários Avançados em Engenharia de Software – 2o./ Feature: Pagamento Cartão

35 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

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

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

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

39 Seminários Avançados em Engenharia de Software – 2o./ Usando um Gerador de Código Lista de features: esboço inicial da AML Componentes Caixa-Preta: Gerador age como um configurador Começa com a arquitetura básica e substitui/inclui componentes necessários e gera glue-code para composição de componentes Componentes Caixa-Branca: Gerador realiza mudanças dentro de cada componente gerando classes adicionais e modificando outros elementos dentro desses componentes O gerador fica bem mais complexo e atua como um compositor

40 Seminários Avançados em Engenharia de Software – 2o./ Usando um Gerador de Código (II) Automatizar o processo de composição influencia no projeto e no momento da introdução da automação na LPS Se automação é usada a partir da primeira versão Influencia no projeto de novas versões da LPS Cada nova iteração horizontal requer retrabalho considerável no gerador Pretendemos usar o Gerador de Aplicação Configurável Captor desenvolvido pelo noso grupo de pesquisa

41 FIM Dúvidas? Paula Donegan:


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