Baixe o app para aproveitar ainda mais
Prévia do material em texto
UNIP INTERATIVA Projeto Integrado Multidisciplinar Cursos Superiores de Tecnologia DESENVOLVIMENTO DE SOFTWARE Sistema de Venda de Passagens Belém/Pa 2017 � UNIP INTERATIVA Projeto Integrado Multidisciplinar Cursos Superiores de Tecnologia DESENVOLVIMENTO DE SOFTWARE Sistema de Venda de Passagens Messias Carvalho dos Santos PA1624892 Curso: Análise e Desenvolvimento de Sistemas Semestre: 02 Belém/PA 2017 � Resumo Este projeto tem por objetivo o desenvolvimento de um sistema de venda de passagens de ônibus. O sistema foi desenvolvimento na linguagem de programação C com a utilização da ferramenta DEV C++,Ferramento de aprendizado durante o curso no laboratorio da Faculdade Utilizando os conhecimentos e técnicas adquiridos neste semestre.Com o conhecimento adquirido, Foi criado o projeto designado pela Universidade. O projeto acompanha funções modularizadas para futuras manutenções mais simples e comentários para facilitar o entendimento do codigo. � Abstract The objective of this project is the development of a ticket sales system By bus. The system was developed in the programming language C with the From the DEV C ++ tool, Learning tool during the non-laboratory course of the Faculty Using the knowledge and techniques acquired this semester. The project comes with Modular Functions for future simpler maintenance and commentary to make it easier to understand the code. � Sumário Introdução………………………………………………………………………… 6 1 – Dos Requisitos………………………………………………………………... 7 2 – Do Modelo de Desenvolvimento……………………………………………... 7 2.1 – Do Protótipo…………………………………………………………………7 2.2 – Da Modelagem………………………………………………………………9 3 – Da Implementação das Funcionalidades………………………………………10 3.1 – Da Implementação dos Veículos……………………………………………. 10 3.2 – Da Implementação das Vendas……………………………………………... 12 3.3 – Da Implementação do Fluxo de Caixa……………...……………………… 13 Conclusão……………………………………………………………………...…. 14 Referências……………………………………………………………………….. 15 � Introdução O sistema desenvolvido neste projeto é capaz de emitir um ticket contendo informações como data e horário da viagem, número da poltrona, número do ônibus e destino, duas passagens gratuitas para idosos e 50% de desconto para estudantes.O sistema não possuirá o erro de venda de uma mesma poltrona para mais de um passageiro e terá exibição de movimentação do caixa. O texto, detalhará o processo de desenvolvimento dos requisitos através do sistema e das soluções aplicadas para atender o projeto designado. � 1 – Dos Requisitos O sistema desenvolvido deverá administrar as vendas de passagens de ônibus. O sistema terá uma tabela de tarifação com o valor das passagen.com isso, obterá funçãopara compras de passagens com até 50% de descontoo mesmo permitirá até duas passagens com gratuidade de 100% para idosos. Ao finalizar a venda, será emitida um ticket contendo informações sobre sua solicitação em prol de sua passagem,não sendo permitida a venda da mesma poltrona para demais passageiros. Não será vendido mais lugares do que os permitidos no veículo. fará gestão do caixa, armazenando todas as movimentações do dia e o saldo do fechamento. 2 – Do Modelo de Desenvolvimento Tendo métodos ágeis, no sentido iniciar com a escrita do código e de focar no funcionamento, mais do que na documentação. O desenvolvimento também se deu de forma incremental, passando por nova modelagem, codificação e testes. Para sua construção ,foi definido os menus e opções necessários. Tendo desenvolvido as principais telas a serem exibidas . 2.1 – Do protótipo O prototipo terá 3 opções de destinos: São Paulo, Curitiba e Belo Horizonte., opção para o fluxo de caixa. E a função de saida do sistema. O projeto terá uma função chamada exibirMenuPrincipal() que é chamada pela função main(). Ficando da seguinte forma: Bem vindo ao sistema de vendas de passagens da Brasil Passagens Menu Principal 1 - Vender passagem para Sao Paulo 2 - Vender passagem para Curitiba 3 - Vender passagem para Belo Horizonte 4 - Gestao do Caixa 9 - Sair Selecione uma opcao: O menu secundário será exibido apos ter sido selecionad alguma opção. Exibirá na tela uma representação das poltronas do ônibus. exibindo o número das poltronas e sua ocupação. A ocupação seria indicada pelo caracteres '-', 'I', 'C' e 'E' que representam respectivamente, uma poltrona vazia, uma poltrona ocupada por gratuidade, uma poltrona ocupada comumente e uma poltrona por um estudante. Serão exibidas 4 poltronas por linha, representando as duas poltronas do lado esquerdo e as duas poltronas do lado direito. Será exibido o destino, os valores das passagens. Podendo Digitar o numero da poltrona a ser vendida ou Digitando (1) para retornar ao menu principal veja a representação. Exibindo Assentos Disponiveis para Curitiba 01| - | 02| - | 03| - | 04| - | 05| - | 06| - | 07| - | 08| - | 09| - | 10| - | 11| - | 12| - | 13| - | 14| - | 15| - | 16| - | 17| - | 18| - | 19| - | 20| - | 21| - | 22| - | 23| - | 24| - | 25| - | 26| - | 27| - | 28| - | 29| - | 30| - | 31| - | 32| - | 33| - | 34| - | 35| - | 36| - | 37| - | 38| - | 39| - | 40| - | 41| - | 42| - | 43| - | 44| - | 45| - | 46| - | 47| - | 48| - | O valor da passagem comum eh de R$60.00 Estudantes pagam R$30.00 Idosos pagam R$0.00 (maximo de 2 por veiculo) Digite o numero do assento a ser vendido ou (1) para voltar: Os menus paresentados finalizam a programação para a inciação da próxima etapa. A proxima etapa será desenvolvida a opção do fluxo de caixa e da emissão do ticket. A representação do fluxo de caixa com todas as transações realizadas durante a execução do sistema. Também é exibido o saldo de todas as transações efetudas. Os valores são exibidos com o símbolo da moeda e com duas casas decimais. Movimentacao do Caixa R$27.50 R$55.00 R$22.50 R$45.00 R$30.00 R$60.00 O saldo no caixa eh de R$240.00 Press any key to continue . . . Na próxima página seguirá o codigo do ticket. Serão impressos: o local de destino, a data e o horário da partida, o número do ônibus e o número da poltrona. ************************************************ Comprovante de Compra de Passagem ************************************************ Destino Curitiba Partida as 14:30 do dia 16/12/2015 Onibus numero: 4433 Poltrona: 26 Press any key to continue . . . 2.2 – Da Modelagem O Professor nos ensinou a utilizar o método de descrição narrativa com o Portugol e VisualG em laboratório, denominando-o como “Pseudocódigo”. Facilitando o entendimento do codigo para desenvolvedores e Coordenadores sem o conhecimento adequado para com o código. A Seguir, a lógica do menu principal e secundário com Descrição narrativa: Caso o usuário selecione a opção 1: Exiba a tela de venda do veículo que irá à São Paulo Caso o usuário selecione a opção 2: Exiba a tela de venda do veículo que irá à Curitiba Caso o usuário selecione a opção 3: Exiba a tela de venda do veículo que irá à Belo Horizonte Caso o usuário selecione a opção 4: Exiba o fluxo de caixa Caso o usuário selecione a opção 9: Permite a saída do loop que mantém o menu Abaixo segue a descrição narrativa do algoritmo elaborado para executar essas tarefas. qual veículo foi selecionado no menu anterior e então exibir suas informações ao usuário. Depois será solicitado ao usuário que selecione uma poltrona e o tipo de passagem, efetuando-se as verificações de disponibilidade. Após a confirmação da venda, emitir um ticket, registrar a transação e indicarao sistema que a poltrona se encontra ocupada. Exibir as informações do veículo selecionado Exibir a tabela dos assentos do veículo selecionado Exibir os valores para todos os tipos de passagens Solicitar ao usuário que selecione uma poltrona Verificar se é uma poltrona válida – Se não for – exibir mensagem Verificar se a poltrona está vazia - Se não estiver – exibir mensagem Solicitar ao usuário que informe o tipo de passagem Se a passagem for de idoso, verificar disponibilidade – Se não, exibe msg Remover um dos lugares disponíveis para idosos Preencher a tabela de assentos do veículo com o caractere adequado Registrar a transação de acordo com o valor da passagem Imprimir Ticket Retornar ao menu de vendas 3 – Da Implementação das Funcionalidades A sua implementação obteve um erro de çoop em que segue a baixo e resultado de Sua Correção. int solicitarInt(){ int valorDigitado; while (scanf("%d", &valorDigitado)!=1){ esvaziarBufferEntrada(); printf("Digite um numero: "); } return valorDigitado; } void esvaziarBufferEntrada(){ char c; while((c = getchar()) != '\n' && c != EOF); } Outra correção de erro nos dá a portabilidade do sistemapara usuarios Linux e windows com a função limparTela() veja a seguir: void limparTela(){ #ifdef linux system ("clear"); #elif defined WIN32 system ("cls"); #else printf("\e[H\e[2J"); #endif } A partir deste momento o sistema se tornou portável. É possível compilá-lo e executálo com sucesso em sistemas Windows e Linux. 3.1 - Da Implementação dos Veículos Dado o processo de criação de uma estrutura com a representação do veículo e suas inforçãoçoes ao sistema. Facilitando a adição de vários veículos com destinos, datas e horários diferentes. Assim, foi criado o struct de nome “veiculo” que contém as informações de: Destino, Valor da Passagem, Data da Partida, Hora da Partida, Número do Veículo, Poltronas Disponíveis para Gratuidade de Idosos e um vetor, com 48 posições, representando todas as poltronas do ônibus. struct veiculo{ char tabelaPoltronas[QUANTIDADE_POLTRONAS]; int idososDisponiveis; float valorPassagemComum; char destino[15]; char dataPartida[15]; char horaPartida[15]; int numeroVeiculo; }; O vetor tabelaPoltronas[] foi criado para facilitar a administração das poltronas e exibir para o usuário a ocupação do veículo. vetor do tipo caractere, com constantes que representam cada tipo de ocupação possível. O caractere 'I' assento ocupado por idoso,. O caractere 'E' ocupado por estudante. O caractere 'C' ocupado para passagens comuns.o caractere '-' representa um assento vago. Para mudar este caractere 'X', basta substituir o valor da respectiva constante. Criado “Veiculo” referindo-se à estrutura “veiculo” e três variáveis deste tipo. A baixo segue o codigo para as passagens a São Paulo, Curitiba e Belo Horizonte. Com suas respectivas variáveis veiculoSP, veiculoCTB e veiculoBH respectivamente. /* Cria objetos do tipo struct veiculo para cada um dos veículos para o qual será disponibilizada a venda de passagens */ typedef struct veiculo Veiculo; Veiculo veiculoSP, veiculoCTB, veiculoBH; /*função inicializarVeiculos(). Com informações dos veículos. Exemplo com veiculo com destino à São Paulo. Os demais fazer isso com os demais veiculos para o funcionamento do Sistema. */ void inicializarVeiculos(){ //incializa as informações do veículo com destino à São Paulo strcpy(veiculoSP.destino, "Sao Paulo"); strcpy(veiculoSP.dataPartida, "15/12/2015"); strcpy(veiculoSP.horaPartida, "11:20"); veiculoSP.numeroVeiculo = 7700; veiculoSP.valorPassagemComum = 45.0; veiculoSP.idososDisponiveis=2; inicializarPoltronas(&veiculoSP); } /*O vetor dos veiculos será inicializado com a função inicializarPoltronas(). Inicializa a tabela de poltronas do veiculo. */ void inicializarPoltronas(Veiculo *pVeiculo){ int cont; for(cont=0; cont<QUANTIDADE_POLTRONAS; cont++){ pVeiculo->tabelaPoltronas[cont] = ASSENTO_VAGO; } } 3.2 – Da Implementação das Vendas /* Exibe na tela o comprovante de compra da passagem */ void imprimirTicket(int numPoltrona, Veiculo *pVeiculo){ limparTela(); printf("*************************************\n"); printf("* Comprovante de Compra de Passagem *\n"); printf("*************************************\n"); printf("Destino %s\n\n", pVeiculo->destino); printf("Partida as %s do dia %s\n\n", pVeiculo->horaPartida, pVeiculo->dataPartida); printf("Onibus numero: %d Poltrona: %02d\n\n", pVeiculo->numeroVeiculo, numPoltrona); pausar(); } A o proximo menu segue uma representação das poltronas do veículo e sua ocupação. void exibirAssentos(Veiculo *pVeiculo){ int numPoltrona; for(numPoltrona=0; numPoltrona<QUANTIDADE_POLTRONAS; numPoltrona++){ //Quebra uma linha a cada quatro poltronas if (numPoltrona % 4 == 0){ printf("\n"); } //Exibe o número da poltrona e um character representando sua ocupação printf("%02d| %c | ", numPoltrona+1, pVeiculo->tabelaPoltronas[numPoltrona]); }} /* Calcula e retorna o valor da passagem de estudante para a passagem solicitada */ float getValorEstudante(Veiculo *pVeiculo){ return pVeiculo->valorPassagemComum/2; } /* Calcula e retorna o valor da passagem de idoso para a passagem*/ float getValorIdoso(Veiculo *pVeiculo){ return 0.0; } 3.3 – Da implementação do Registro do Fluxo de Caixa A funcionalidade de registro do fluxo de caixa. Utilizado estrutura de lista ligada desta forma fica descartada a possibilidade de utilização de um vetor ou matriz estáticos. Estrutura Criada com o nome “transacao” contendo o valor da transação e um ponteiro para a próxima transação da lista.. struct transacao{ float valor; //char descricao[]; struct transacao *proximaTransacao; }; /* listaTransacoes do tipo Transacao que armazenará as operações efetuadas, garantindo o controle do caixa */ typedef struct transacao Transacao; Transacao* listaTransacoes; void registrarTransacao(float num){ listaTransacoes = inserirTransacao(listaTransacoes, num); } /*Função para inserir transações no relatório de caixa. Não deve ser chamada diretamente.*/ Transacao* inserirTransacao (Transacao *pLista, float num){ Transacao* nova_Transacao = (Transacao*)malloc(sizeof(Transacao)); nova_Transacao->valor = num; nova_Transacao->proximaTransacao = pLista; } O registro do fluxo de caixa foi desenvolvido com os conhecimentos adquiridos no laboratorio Com o Professor da disciplina de Linguagem e Técnicas de Programação. Todo o registro se dá através das funções inicializarTransacoes(), inserirTransacao(), registrarTransacao, imprimeTansacoes() e da estrutura “transacao”. A impressão de todo o fluxo de caixa pode ser realizada através do menu principal. /* Imprime o relatório do caixa e o saldo existente */ void imprimeTransacoes (Transacao *pLista){ float total = 0.0; Transacao* aux; limparTela(); printf("Movimentacao do Caixa\n\n"); for (aux = pLista; aux !=NULL; aux = aux->proximaTransacao){ printf ("R$%.2f\n", aux->valor); total += aux->valor; } printf("\nO saldo no caixa eh de R$%.2f\n\n", total); pausar(); } Conclusão Com o conhecimento adquirido em sala de aula, conseguimos desenvolver um sistema simples porém completo, onde nos possibilita a criar projetos de sistemas para pequenas e grandes empresas, todas as ferramentas e métodos foram suficientes para o desenvolvimento do mesmo, porém nao o executamos de forma comun, mais executamos os metodos e conhecimentos com técnicas adquiridas com o Professor da Disciplina de Linguagem e Técnicas de Programação e com o professor Carlos Sampaio de Engenharia desoftware, matéria e técnicas fundamentais para o desenvolvimento do projeto. O sistema com sua versão final nao possui problemas de incompatibilidade de sistemas e nao possui erros de sintaxe na sua execução. � Referências: UNIP – UNIVERSIDADE PAULISTA. Engenharia de Software I. Belém, 2017. UNIP – UNIVERSIDADE PAULISTA. Linguagem e Técnicas de Programação. Belém, 2017. MANZANO, José Augusto N. G.; OLIVEIRA, Jayr Figueiredo de. Algoritmos: Lógica para Desenvolvimento de Programação de Computadores. 21ª edição. São Paulo: Érica, 2008. DEITEL, Paul; DEITEL, Harvey. Java: Como Programar. 8ª edição. São Paulo: Pearson, 2011. DEITEL, Paul; DEITEL, Harvey. C: Como Programar. 6ª edição. São Paulo: Pearson, 2011. � UNIP INTERATIVA Projeto Integrado Multidisciplinar Cursos Superiores de Tecnologia PROJETO DE REDES Belém/Pa 2017 � UNIP INTERATIVA Projeto Integrado Multidisciplinar Cursos Superiores de Tecnologia PROJETO DE REDES Messias Carvalho dos Santos PA1624892 Curso: Análise e Desenvolvimento de Sistemas Semestre: 02 Belém/PA 2017 � Resumo O desenvolvimento do projeto está,nos disponibilizando um uso para varios tipos de impresas no mesmo ramo ou outrem.seu objetivo é claro em administrar sua rede com facilidade e com suporte a sua qualidade por mais de 20 anos no mercado . Dessa forma foi adaptado ao Pedido do Projeto Integrado Multidisciplinar. � Abstract The development of the project is, making us use for several types of printed in the same branch or others. Its objective is clear in administering its network with ease and with its quality support for more than 20 years in the market. In this way it was adapted to the Multidisciplinary Integrated Project Request. � Sumário 1 Montar uma rede local………………………………………………………………………...22 2 Plano de endereçamento………………………………………………………………………...22 3 Rede de acesso à Internet/Topologia………………………………………………………………………...22 4 Ativos de Rede………………………………………………………………………...22 5 Roteador Wireless D-Link DIR-615………………………………………………………………………...22 6 Switch Gerenciável de 16 Portas TL-SG3216………………………………………………………………………...22 7 Switch Gerenciável de 48 Portas SG 5200 MR………………………………………………………………………...22 8 Firewall DFL-2560 D-Link ………………………………………………………………………...22 9 Servidor PowerEdge T320 ………………………………………………………………………...23 10 Materiais………………………………………………………………………...23 11 Materiais de Serviço………………………………………………………………………...23 12 POLÍTICA ÉTICA………………………………………………………………………...24 Conclusão………………………………………………………………………...25 Referência………………………………………………………………………...26 Introdução A empresa “Fusion FX” atua na área de pesquisa de mercado e necessita da implantação de uma nova base de operações para o município de Belém. A empresa precisa de um projeto físico/lógico para a implantação de uma rede de dados para, ao menos, 50 posições de atendimento (PA) ativo/passivo para a execução de suas operações. Com um servidor de aplicação e um servidor de Banco de Dados. Independentemente da plataforma operacional utilizada, que será de escolha da empresa contendo os Requisitos do Projeto Integrado Multidisciplinar. 1. Montar uma rede local O projeto terá duas redes, criando um organização hierárquica. A primeira e principal rede atenderá o departamento de TI e o setor Administrativo / Gerência. Já a segunda rede atendera todo o call center. A rede principal, 192.168.100.0, utilizará máscara de sub-rede 255.255.255.240, o que disponibiliza 15 hosts por segmento. O primeiro segmento atenderá o departamento de TI, já o segundo, o departamento Administrativo / Gerência. A rede secundária, 192.168.101.0, utilizará máscara de sub-rede 255.255.255.224, o que disponibiliza 35 hosts por segmento. 2. Plano de endereçamento O departamento de TI utilizará 5 pontos, dos 15 disponíveis, restando 9 para uso futuro.No departamento Administrativo / Gerência, serão utilizados 6 pontos, dos 15 disponíveis, restando 8 para uso futuro, o que permitirá um crescimento de 133% a 180%.serão utilizados 30 pontos, do total de 35 disponíveis para cada. Restará 5 pontos em cada para uso futuro, o que permite um crescimento de até 25% . 3. Rede de acesso à Internet/Topologia Foi estimada a necessidade de uma conexão com velocidade de 120 Mbps o tipo de rede de acesso escolhida (ISP-Internet Service Provider) da Operadora (NET). O diferencial para a definição do ISP foi o potencial de disponibilidade do serviço e a qualidade do produto e serviços fornecidos. 4. Ativos de Rede TL-R402M é um roteador ethernet para compartilhamento de internet banda-larga (DSL ou Cabo) 5. Roteador Wireless D-Link DIR-615 O DIR-615 é um roteador ideal para o desenvolvimento do projeto, facil configuração e instalação em local escolhido. 6. Switch Gerenciável de 16 Portas TL-SG3216 O switch gigabit de gerenciamento básico L2 JetStreamTM TL-SG3216 fornece 16 portas 10/100/1000 Mbps 7. Switch Gerenciável de 48 Portas SG 5200 MR O SG 5200 MR reúne em um único equipamento 52 portas Ethernet, que resultam em um backplane de 104 Gbps 8. Firewall DFL-2560 D-Link O Firewall DFL-2560 D-Link é uma poderosa solução de segurança que foi projetado para proteger grandes empresas, universidades e organizações uma ampla gama de ameaças na rede. 9. Servidor PowerEdge T320 O PowerEdge T320 foi desenvolvido com base na tecnologia de última geração da família de produtos do processador Intel® Xeon® E5-2400 com opções da família de produtos do processador Intel® Xeon® E5-1410 ou a família de produtos do processador Intel Pentium® 1400. 10. Materiais � Rack Piso 20x600 peça 01 Mini rack 5x370 peça 01 Mini rack 5x370 peça 01 Cabo Furukawa cat6 caixa de 305m 30 Patch Panel 24 portas cat6 peça 04 - - 15 Conector rj-45macho cat6 peça 16 Patch cord cat6 2,5m 1000 Cabeamento Estruturado Configurar Servidor de Aplicações Configurar Servidor de Dados Configurar Servidor DHCP 12 Configurar Periféricos Identificação Ativo/Passivos de Rede 1 11. Materiais de Serviço Alicate de Crimpagem HT-210C HT-3140 Punch down para RJ 45 com lâmina HT-14B PUNCH DOWN HT-3140 HT-332 Decapador para cabo coaxial de 4, 6, 8 e 12 milímetros Decapador para cabo coaxial HT- 332 Cable Test Testador de cabos coaxial e de par trançado. 12. POLÍTICA ÉTICA Excelência com simplicidade; Satisfação do cliente; Integridade com todos os públicos; A conduta da empresa deve refletir os mais altos padrões de ética; A comunicação deve ser clara e precisa; O relacionamento com clientes e colaboradores deve ser transparente e baseado na responsabilidade e confiança entre as partes. Atualização tecnológica permanente; Absoluto cumprimento dos requisitos de contrato; Ética e respeito ao distribuidor e usuário; Buscar a satisfação dos clientes, através do atendimento aos requisitos; Ao mercado é oferecido uma solução estruturada de pesquisa, na qual toda uma gama de experiência em busca da melhor resposta à necessidade de pesquisa do cliente, é empregada. Conforme as seguintes etapas: Compreensão do problema; Levantamento dos dados; Análise das Informações; Apresentação das Informações; Acompanhamento e oferta de suporte; Conclusão O sucesso de uma empresa não depende, exclusivamente, da qualidade de seus produtos e serviços para ser considerada bem sucedida. o sucesso está ligado à credibilidade e ao compromisso com a ética. A fim de trabalhar com padrões morais e éticos cada vez mais elevados, este material foi preparado em sala deaula e laboratorial com o Professor Alexandre da turma de Analise e desenvolvimento de Sistemas e do Professor Carlos Sampaio de Engenharia de Software.. � Referência Os livros a seguir foram encontrados na biblioteca da unip com cadastro no sistema como comprovação. TORRES, G. Redes de computadores: curso completo. 3. ed. Rio de Janeiro: Axcel Books, 2001. TANENBAUM, A. S. Redes de computadores. 4. ed. Rio de Janeiro: Campus, 2003. KUROSE, J. F.; ROSS, K. R. Redes de computadores e a internet: uma abordagem top- down. 3. ed. São Paulo: Pearson, 2006.
Compartilhar