UNIVERSIDADE FEDERAL DA PARAÍBA
CENTRO DE CIÊNCIAS EXATAS E DA NATUREZA
DEPARTAMENTO DE INFORMÁTICA
Sistema de Controle
de Passagens
Bruno J. Dias de Oliveira
10621363
João Pessoa, PB 17 de setembro de 2008
Índice
1. Introdução
1.1.Proposta geral 1.2.Escopo do Sistema
1.3.Visão geral do documento
2. Descrição do Software
2.1.Perspectiva do Software 2.2.Principais funcionalidades 2.3.Inovações 2.4.Perfil do usuário 2.5.Restrições e limitações 2.6.Dependências3. Material de Apoio
3.1.Questionário4. Visão de Caso de Uso
4.1.Diagrama de Casos de Uso 4.2.Diagramas de Atividades
4.2.1. Cadastrar Cliente 4.2.2. Cadastrar Motorista 4.2.3. Cadastrar Ônibus
4.2.4. Gerar Passagem 4.2.5. Cancelar Passagem 4.2.6. Consultar Passagem 4.2.7. Imprimir Passagem
5. Identificação de Requisitos
5.1.Requisitos Funcionais 5.2.Requisitos Não-Funcionais6. Especificação do modelo essencial da aplicação a desenvolver
6.1.Modelo de dados
7. Projeto de Prototipação
7.1.Tela Inicial 7.2.Cadastro de Cliente 7.3.Cadastro de Motorista 7.4.Cadastro de Ônibus 7.5.Gerar Passagem 7.6.Cancelar Passagem 7.7.Consultar Passagem 7.8.Imprimir Passagem1. Introdução
1.1. Proposta geral
Este documento destina-se a registrar e detalhar a especificação de requisitos do sistema de controle de passagens, como projeto final da disciplina de Especificação de Requisitos de Software do curso de Ciências da Computação da Universidade Federal da Paraíba.
1.2. Escopo do Sistema
O Sistema de Controle de Passagem terá funcionalidades que agilizarão e darão maior controle à venda das passagens. O sistema gerenciará a lotação dos ônibus, quantidade de passagens vendidas pra estudantes e idosos, também ficarão disponíveis informações sobre as viagens, como o ônibus, motorista, horários e destino. Uma das principais melhorias do sistema será na emissão das passagens. A emissão será mais prática, mais detalhada.
1.3. Visão geral do documento
Esse documento tem o objetivo de servir como um artefato que norteará as próximas fases do projeto.
Com uma breve introdução sobre o projeto, seguido de uma descrição do software e um levantamento dos desejos do cliente, a partir desse momento são utilizadas ferramentas de modelação de requisitos, para se ter uma visão ainda abstrata do que será preciso fazer para se chegar ao produto final. Depois disso é explicitado todos os requisitos funcionais e não-funcionais, a modelagem de dados e por fim um protótipo inicial do projeto.
2. Descrição do Software
2.1. Perspectiva do Software
O objetivo pretendido com a implementação do Sistema de Controle de Passagens é o de tornar o trabalho mais ágil, fácil, prático e eficiente e o tratamento das informações mais seguro e confiável.
Desenvolvido para automatizar o processo de venda de passagens e controle da frota e de funcionários, também será inserido um programa de fidelidade como mais um meio de publicidade para conquistar os clientes.
2.2. Principais funcionalidades
Os dados relativos a ônibus, viagens e motoristas com suas devidas escalas serão devidamente implantados no banco de dados. Será disponibilizada uma função para o cadastro de passageiros. Assim que o cliente comprar a passagem, o funcionário realiza o seu cadastro, imprimindo na passagem os dados do ônibus e do cliente.
A qualquer momento poderão ser feitas consultas mediante senha do administrador. Pode-se consultar a relação dos clientes em viagem com seus respectivos dados como, por exemplo, o ônibus de embarque, horário e destino.
O sistema disponibiliza a geração periódica de relatórios de ônibus em suas rotas, que conterão: código da passagem, CPF do cliente e código de viagens. As consultas poderão ser realizadas por um, dois ou três dos campos mencionados acima em seus respectivos depósitos.
Caso ocorra o cancelamento da viagem, a empresa devolve o dinheiro da passagem ou faz um novo agendamento, de acordo com a vontade do cliente. Caso ocorra o
cancelamento da passagem, a empresa devolve 80% do valor da passagem. Vale salientar que o cancelamento da passagem poderá ser feito até uma hora antes do embarque do ônibus.
2.3. Inovações
As passagens poderão ser compradas à vista, no cartão de crédito ou cartão fidelidade. Caso seja usado o cartão fidelidade, o cliente terá 10% de desconto. Haverá gratuidade na passagem para os deficientes físicos e duas poltronas para idosos, mediante comprovação. O sistema também disponibilizará 10 poltronas para estudantes (50% de desconto) e 50% de desconto para idosos.
2.4. Perfil do usuário
O software atenderá aos funcionários que interagem com os clientes nas vendas de passagens, O funcionário deverá fazer cadastro, consultas, venda de passagens, impressão de relatórios.
2.5. Restrições e limitações
Esse sistema será desenvolvido para plataforma Desktop e não será possível disponibilizado para o uso na web. Logo, se houver a necessidade de migrar para um Webservice, haverá muita dificuldade no reuso do código implementado.
2.6. Dependências
o Java – Trata-se de uma tecnologia que engloba o desenvolvimento do software na linguagem Java e da sua execução na Máquina Virtual Java. Esta simula uma camada situante entre o usuário, ou programador, e o Sistema Operacional, permitindo que o mesmo código binário executável rode em qualquer SO sem que seja necessária qualquer adaptação ou recompilação do código fonte. Isso permite que se tenha uma extrema portabilidade do software, podendo ele funcionar em máquinas que fortuitamente não possa usar o Linux como sistema principal.
A linguagem Java é orientada a objetos, paradigma este que se adapta bem às necessidades de modelagem das entidades, suas características e funcionalidades.
Além das vantagens em confiabilidade, portabilidade, a tecnologia Java é gratuita.
o MySQL – A escolha do Banco de Dados MySQL se deve pela sua performance, alta confiabilidade e facilidade de uso e por ser código aberto e livre. Por ser aberto, contribui tanto para a redução dos custos quanto para a manutenção do sistema.
o Linux - Sistema operacional gratuito, aberto; de robustez, segurança e confiabilidade sem igual, permite controle de sessão num ambiente multiusuário e multitarefa. Permite ao administrador que apenas os processos necessários sejam inicializados e executados, além de qualquer adaptação a
ponto de conseguir-se o melhor consumo/qualidade de recursos possível. Possui uma vasta comunidade on-line que disponibiliza atualizações de segurança e de funcionalidades. Com ambiente gráfico amigável e de fácil utilização, permite que se tenha boa produtividade com um pequeno custo de treinamento.
o iReport – É um framework de elaboração de relatórios do JasperReports e gera os relatórios em formato .pdf
3. Material de Apoio
3.1. Conversa com o cliente
1) Quais as funcionalidades mínimas que o sistema deve ter? Cadastro dos
passageiros, cadastro dos ônibus, motoristas e funcionários, impressão dos dados na passagem, geração de relatórios diversos, consultas diversas, cancelamento de passagem e/ou viagem.
2) Quais os dados que o sistema deverá armazenar? Nome do usuário, CPF ou RG,
origem, destino, poltrona, linha, data, horário, dados dos motoristas e funcionários.
3) Em que linguagem você gostaria que o sistema fosse implementado? Java e o
banco de dados MySQL.
4) Qual o sistema operacional de sua preferência? Linux ou outro gratuito.
5) Qual o perfil do usuário final? O administrador deverá fazer cadastro, consultas,
venda de passagens, impressão de relatórios. O funcionário poderá fazer cadastro de passageiros e a venda de passagens.
6) A empresa pretende usar cartão fidelidade? Sim.
7) A empresa gostaria que o sistema suportasse funcionalidades web? Não.
8) Em caso de cancelamento, quais medidas o sistema deverá tomar?
Cancelamento de viagem: devolução do dinheiro da passagem para o cliente ou novo agendamento; cancelamento da passagem: a passagem poderá ser cancelada até uma hora antes do embarque.
9) Quais descontos e gratuidades o sistema poderá oferecer? Gratuidade (idosos):
duas passagens por ônibus; 50% de desconto para os idosos; 10% de desconto para os clientes que possuem o cartão fidelidade; em caso de viagem intermunicipal: desconto de 50% para os estudantes (10 poltronas).
10)Qual o objetivo esperado na implementação do sistema? Segurança,
confiabilidade, agilidade, praticidade e eficiência tanto para os funcionários da empresa quanto para os clientes.
4. Visão de Casos de Uso
Esta seção trata dos casos de uso do sistema. Serão apresentados o diagrama de casos de uso e o detalhamento dos mesmos, utilizando-se diagramas de atividade. Teremos o seguinte ator:
Funcionário: acesso as funcionalidades do sistema;
4.1. Diagrama de Casos de Uso
Esse diagrama servirá como forma de contrato entre o cliente (Empresa) e o desenvolvedor.
4.2. Diagramas de Atividades
Esses diagramas iram detalhar os casos de uso do sistema. Mostrando como cada função se comporta.
4.2.7. Imprimir Passagem
5. Identificação de Requisitos
5.1. Requisitos Funcionais
RF_01: <Cadastro de cliente> verifica pelo CPF se é possível cadastrá-lo, de acordo com o resultado insere ou não os dados no banco.
RF_02: <Cadastro de Motorista> verifica pelo CPF se é possível cadastrá-lo, de acordo com o resultado insere ou não os dados no banco.
RF_03: <Cadastro de Ônibus> verifica pelo placa se é possível cadastrá-lo, de acordo com o resultado insere ou não os dados no banco.
RF_04: <Geração de Passagem> Inseri no banco de dados as informações para gerar a passagem de acordo com verificações feitas com horários disponíveis.
RF_05: <Cancelamento de Passagem> O sistema irá verificar se o cliente tem passagem disponível pelo CPF, em seguida irá remover do banco.
RF_06: <Consulta de Passagem> Consultas, podendo-se verificar a relação dos clientes em viagem com seus respectivos dados;
RF_07: <Impressão de Passagem> A partir do CPF do cliente é verificado se ele tem alguma passagem a ser imprimida, de acordo com o resultado imprimi ou não o bilhete.
RF_08: <Consulta de Cliente> A partir do CPF do cliente é verificado os dados dele.
RF_09: <Alterar dados do Cliente> A partir da consulta dos dados do cliente, o Funcionário seleciona o que deve ser alterado e confirma a mudança de dados.
RF_10: <Consulta de Ônibus> A partir da placa do ônibus é verificado os dados do mesmo.
RF_11: <Consulta de Motorista> A partir do CPF do motorista é verificado os dados dele.
RF_12: <Alterar dados do Motorista> A partir da consulta dos dados do motorista, o Funcionário seleciona o que deve ser alterado e confirma a mudança de dados.
5.2. Requisitos Não – Funcionais
RNF_01: <Seguro> O software terá funções de proteção ao banco de dados para não acontecer invasões de terceiros.
RNF_02: <Confiabilidade>É necessário que o sistema demonstre consistência e integridade na fase de testes para maior satisfação do cliente
RNF_03: <Usabilidade> O sistema deve ser intuitivo para o usuário, com o objetivo de diminuir as possibilidades de mal uso do software.
6. Visão Arquitetural
6.1. Arquitetura do Sistema
O desenvolvimento do diagrama de componente se deu para visualizar melhor os componentes encontrados no sistema e para identificar o relacionamento entre eles.
A arquitetura do sistema será baseada no modelo em três camadas, também conhecido como MVC. Este modelo propõe a separação do sistema em três camadas diferenciadas, de modo a obter uma visão melhor do sistema e melhorar o reuso dos componentes do mesmo.
Os componentes presentes na GUI são responsáveis em receber os dados enviados pelos usuários, e enviá-los ao componente de ajuste de query. O ajuste de query captura esses dados e os ajusta para se adequar à interface requerida pelo sistema, através do componente de serviços. Após isso, o componente de banco de dados armazena os dados enviados em uma base para atualizações ou impressões de dados futuras.
6.2. Modelo de dados
7. Projeto de Prototipação
Para a prototipação, optei por utilizar o NetBeans por se tratar de um ambiente de design rápido, por hora será uma interface somente para se ter uma idéia geral do sistema, podendo ser mudada ao longo das fases de modelagem.
7.2. Cadastro de Clientes
7.4. Cadastro de Ônibus
7.6. Cancelar Passagens