Buscar

Desafio Profissiona lII 2017

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

UNIVERSIDADE ANHANGUERA – FACNET
UNIDADE POLO BRASILIA
CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE
SISTEMAS
DISCIPLINAS: DIREITO E LEGISLAÇÃO, FUNDAMENTOS DA ANÁLISE ORIENTADA A OBJETOS, MATEMÁTICA PARA INFORMÁTICA, PROGRAMAÇÃO ESTRUTURADA II, SISTEMA DE BANCO DE DADOS.
DESAFIO PROFISSIONAL
 VINICIUS NOLÊTO DE SOUSA - RA: 8501494614
 MATHEUS DANIEL DA SILVA - RA: 6177704526
 JONATAS ALEXANDRE M. FARIAS - RA: 5013494562
 HUGO AERCIO COELHO SILVA - RA: 5015616367
Tutor: Washington
BRASILIA, 27 DE MAIO DE 2017
RESUMO
A Lótus soluções e tecnologia (LST) é uma empresa reconhecida no mercado nacional pelo seu know-how com desenvolvimento de projetos, tecnologias e soluções computacionais.
A LST fechou um contrato com uma transportadora para desenvolvimento de uma solução que integre o sistema de informação e o hardware, para monitorar os veículos, nas viagens de transporte de cargas. Em função da demanda de desenvolvimento de soluções.
Este desafio procura integrar conhecimentos teóricos e práticos para o desenvolvimento de software, atividades de requisitos e modelagem de dados, técnicas de programação e lógica matemática para implementação das funcionalidades.
INTRODUÇÃO
Iremos apresentar um projeto em técnicas de fundamentos de coleta de dados e análise de sistema em uma organização.
Esse projeto demonstra a viabilidade real de construção de um sistema de informação dentro da organização estudada.
Esta etapa irá frisar um projeto de organização e, solucionar um problema existente da empresa.
Mostrando suas principais características de base tecnológica conforme escopo de um sistema de atuação em mercado e negócio dentro da organização.
O trabalho a seguir irá mostrar um pouco mais o desenvolvimento do projeto proposto.
OBJETIVOS DO PROJETO
O objetivo desse desafio é realizar um levantamento de requisitos de sistema e definir um processo de desenvolvimento e monitoramento de uma transportadora para que integre o sistema de informação e o hardware da organização.
Para a elaboração deste desafio, pretende-se aplicar algumas das técnicas e métodos definidos para um desenvolvimento de sistema software. Com objetivo de desenvolver um sistema de rastreamento de grandes frotas de veículos, que poderão se beneficiar de uma especificação mais adequada a essa aplicação. 
DESCRIÇÃO DO PROJETO
O sistema implementado pela organização fará a comunicação por dois modelos, via satélite e via GPRS. O sistema irá proporcionar funcionalidades de cadastros no mínimo: tipos de carga, país estado, cidade, rota, ponto de controle, motorista, veículo e viagem
O sistema permitirá a criação da rota que o veículo deve seguir, caso o motorista desvia da rota, o equipamento deverá enviar uma mensagem para a central, informando “Veículo fora da rota”.
O sistema irá possuir monitoramento e controle com envio de mensagem para a central: 
Autenticação de motorista;
Localização (Latitude e Longitude) do veículo;
Motor ligado sem movimento;
Controle de entrega;
Velocidade do veículo (a velocidade máxima permitida que cada veículo trafegue, de acordo com a sua carga);
Pontos de controle (esses pontos são marcações na rota, que o veículo deverá passar durante a viagem);
Botão de pânico (neste caso, quando o veículo é roubado, o motorista pode pressionar o botão de pânico, mandando um aviso de roubo para a central);
REQUISISTOS DO PROJETO
As principais funcionalidades que o sistema deve oferecer são:
Requisito funcionais
Atualização remota dos programas e configurações do sistema e base deve estar prevista no sistema (001);
O sistema deve fornecer função para a extração remota de logs das operações realizadas por uma base ou sistema (002);
O sistema de monitoramento deve informar ao sistema quando não receber a passagem de um veículo por uma base, localizada entre duas outras que reportam a passagem deste veículo (isto pode indicar que a base está inoperante). Ao receber este aviso, o sistema deverá emitir um alerta de base com suspeita de problemas (003);
No servidor central devem existir relatórios para análise e aprovação dos testes dos equipamentos produzidos (004);
O servidor central deve disponibilizar aos usuários, relatórios, que forneçam o maior número de informações sobre o sistema em utilização (005);
Nas localidades onde for possível, a comunicação entre as bases e o servidor central deve ser feita através de uma conexão GPRS (006);
A troca de informações entre os sistemas dos clientes e usuários deve ser feita através da web (internet)(007);
O protocolo utilizado para troca de informações entre os sistemas deve ser o XML, e os dados devem estar criptografados (008);
O servidor central deve enviar avisos aos demais sistemas, as alterações no cadastro de bases (009);
O servidor central deve enviar avisos aos demais sistemas, quando uma base apresentar problemas de comunicação, assim como quando ela voltar a sua operação normal (010);
Ao conectar a uma base, o sistema deve informar dados sobre o (destino do veículo, estimativa de tempo, tipo de produto transportado) (011);
As bases devem ser identificadas nos sistemas por um número de identificação único. Todas as informações sobre eles devem conter este número (012);
No sistema de monitoramento e dos usuários, as funções de acompanhamento, relatórios e consultas devem ser associadas aos veículos e as viagens. O usuário não precisará utilizar a identificação do sistema em suas operações diárias (013);
O sistema da empresa deve permitir o cadastro diário da rota de cada veículo, assim como os horários previstos de chegada em cada ponto (014);
Os sistemas de monitoramento e de usuários devem fornecer a possibilidade de consultar o andamento de uma viagem em um relatório (015);
O sistema do usuário e da empresa deve emitir uma alerta sempre que receber tiver uma rota pré-definida em curso via satélite ou GRPS (016)
RESTRIÇOES DO PROJETO
Os itens abaixo descrevem as principais premissas ou restrições que o sistema deve obedecer, justamente com a razão e os critérios que devem ser seguidos em cada caso:
Deverá haver um equipamento de pequeno porte, a ser instalado nos veículos que serão monitorados pelo sistema.
A tecnologia utilizada para a troca de informações entre o equipamento instalado no veículo e a demais parte do sistema deverá ser economicamente viável.
Se algum dos equipamentos do sistema utilizar comunicação por radiofrequência ou por telefonia celular, estes deverão ser homologados e certificados pela Anatel.
Deverá existir um servidor central (computador) instalado no CPD da empresa que desenvolverá o sistema, e conectado à rede internet 24 horas por dia. Este servidor receberá as informações dos pontos instalados ao logo das rodovias, e deverá disponibilizá-las também via internet aos clientes e usuários do sistema.
O hardware dos equipamentos instalados nos veículos e nas rodovias deverá ter pouca memória para gravação de programas e dados.
O software dos equipamentos a serem instalados nos veículos e nas rodovias deverá ser desenvolvido na linguagem c.
O software do servidor central deverá ser desenvolvido na linguagem java.
ORGANIZAÇÃO DO PROJETO
Participantes do projeto classificado por nomes e funções;
Lotus soluções – gerenciamentos do Software
Vinicius Nolêto – levantamento de Requisito
Matheus Daniel – codificação e implementação 
Jonatas Alexandre – Teste e Documentação
METODOLOGIA DO PROJETO
O sistema será composto por conjunto de equipamentos de hardware e software, a estrutura geral deste sistema será formada por: equipamentos instalados nos veículos denominados (base) e um servidor central.
A operação interligada das diversas partes do sistema possibilitará aos clientes e usuários, o recebimento de dados confiáveise precisos sobre as viagens executadas por um ou mais veículo de sua frota.
Para implantação do sistema é necessário o uso de ferramentas que possibilitam a transformação de u Para implantação do sistema é necessário o uso de ferramentas que possibilitam a transformação de um problema em solução. Entre elas os software de desenvolvimento para o (SGBD). Software será aplicado na codificação (Delphi), desenvolvido pela Borland, teremos auxilio da ferramenta Netbeans desenvolvido pela comunidade java da (Microsoft).
O VB.net oferece suporte diferente SGBD, tais como Oracle 10g, o SQL Server e DB2 da IBM, e os suporte comercial MySql e o PostgreSQL. Esta linguagem permite a codificação das funções que manipulam informações na base de dados, diretamente na camada do servidor (banco de dados), o levantam de requisitos apresentado e levantados da empresa são os requisitos levantados de hardware são requisitos de negocio para o sistema de implementação. A diagramação apresenta desempenho do sistema, através do DFD e do DER.
DIAGRAMA DE CASO DE USO
DIAGRAMA DE CLASSE
PROGRAMAÇÃO ESTRUTURADA AUTENTICAÇÃO DO MOTORISTA
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
struct Autenticação do Motorista
 Struct cadastro
{
    char CPF[200];
    char telefone[200];
    char nome[200];
    char endereco[200];
    char data[200];
    int vazio,cod;
    struct pedido Usuário;
   
}log[200];
//AQUI DECLARO AS FUNÇÕES A SEREM USADAS
int verifica_pos(void);
int verifica_cod( int cod );
int opt;
void cadastroP(int cod,int pos);
void list();
void cadastroIntinerario();
void consultaCod (void);
void excluirUsuário (void);
int main(void){ //INICIO DO MAIN
    int i,Opcao,OpcaoCliente,posicao,retorno;
    int codaux;
    do
    {
        printf("1 - Cadastrar Novo Usuário\n");
        printf("2 - Usuário\n");
        printf("3 - Alterar Usuário\n");
        printf("4 - Excluir Usuário\n");
        printf("5 - Cadastrar itinerário\n");
        printf("6 - Alterar \n");
        printf("7 - Excluir itinerário\n");
        printf("8 - Sair\n");
        printf(" Selecione uma opção por favor: ");
        scanf("%d", &Opção);
        getchar();
        if (Opção == 1)
        {
            printf("Voce selecionou a opcao 1 - Cadastrar Novo Usuário\n");
            posicao=verifica_pos();
                if ( posição != -1 )
                {
                    printf("\nentre com um código de 1 a 200 para seu cadastro: \n");
                    scanf("%d",&codaux);fflush(stdin);
                    retorno = verifica_cod( codaux );
                    if ( retorno == 1 )
                        cadastroP( codaux, posicao );
                    else{
                        printf("\nCodigo ja existente ou invalido pressione enter para voltar ao menu principal\n");
                        getchar();
                        system("cls");
                        main();
                    }
                }
                else
                    printf("\nNao e possivel realizar mais cadastros!\n");
                break;
 
        }
        else if (Opcao == 2)
        {
            system("cls");
            do{
            printf("Voce selecionou a opcao 2 - Clientes\n\n");
            printf("1 - Pesquisar Usuário por codigo\n");
            printf("2 - Listar todos os Usuário\n");
            printf("3 - Voltar ao menu principal\n");
            printf("Selecione uma opção por favor: ");
            scanf("%d", &Opcao Usuário);
            getchar();
                 if(OpcaoUsuário == 1){
                    consultaCod();
                }
                else if(OpcaoCliente == 2){
                    list();
                }
                else if(OpcaoCliente == 3){
                    printf("Voce selecionou voltar ao menu principal, pressione ENTER para continuar");
                    getchar();
                    system("cls");
                }
                else
                    printf("Opcao Invalida\n\n");
    }while(OpcaoUsuário =!3 || OpcaoUsuário > 3 || OpcaoUsuário < 0 || OpcaoUsuário == 0);
        }
        else if (Opcao == 3)
        {
            printf("Voce selecionou a opção 3 - Alterar usuário\n");
        }
        else if (Opcao == 4)
        {
            printf("Voce selecionou a opção 4 - Excluir Usuário\n");
            excluirUsuario();
        }
        else if (Opcao == 5)
        } // FIM DO MAIN
void list(){ // Lista os usuarios cadastrados.
    int i,j;   
    for(i=0;i<200;i++){
        if(log[i].cod!=NULL){
            printf("\nCodigo: %d \nNome: %s\nCPF: %s\nEndereco: %s\nTelefone: %s\n\n", log[i].cod,log[i].nome,log[i].CPF,log[i].endereco,log[i].telefone);
    }
}
    printf("Pressione enter para volta ao menu principal");
    getchar();
    system("cls");
} //FIM DO LIST
void cadastroP(int cod, int pos){ //Cadastro das pessoas
    int i;
    do{
    pos = verifica_pos();
    log[pos].cod = cod;
        printf("\nDigite seu nome: ");
        gets(log[pos].nome);
        printf("\nDigite seu CPF: ");
        gets(log[pos].CPF);
        printf("\nDigite seu Endereco: ");
        gets(log[pos].endereco);
        printf("\nDigite seu Telefone: ");
        gets(log[pos].telefone);
        log[pos].vazio = 1;
        //printf("\nDigite enter para efetuar novo cadastro ou qualquer outra tecla para volar ao menu principal");
        //scanf("%d", &opt);
        opt ==1;
        getchar();   
    }while(opt==1);
    system("cls");
    main();
} // FIM DO CADASTRO DE PESSOAS
int verifica_pos( void ) //VERIFICADOR DA POSIÇÃO
{
    int cont = 0;
    while ( cont <= 200 )
    {
        if ( log[cont].vazio == 0 )
            return(cont);
        cont++;
    }
    return(-1);
} // FIM DO VERIFICADOR
int verifica_cod( int cod ) // VERIFICADOR DE CÓDIGO
{
    int cont = 0;
    while ( cont <= 200 )
    {
        if ( log[cont].cod == cod )
            return(0);
        cont++;
    }
    return(1);
} // FIM DO VERIFICADOR
}
	
RESULTADO
A cada nova iteração do projeto foi possível perceber os benefícios da modelagem orientada a objeto. Os diagramas e modelos serviram como guia para edição de novas funcionalidades e alterações. Os padrões de projetos agilizaram a implementação, ao evitar que erro comum relacionado à utilização da tecnologia fosse cometido.
Nos teste realizados, as previsões e medidas de tempo bem satisfatórias. A margem de erro mínima equivale ao intervalo de transmissão dos aparelhos de rastreamento e esteve dentro do esperado, embora alguma situação anormal ainda não puder ser solucionada. Quando veículo desvia de seu itinerário anormal ainda não puderam ser solucionadas.
O sistema consegue detectar as condições anormais, mas isto não acontece de imediatos, gerando informações incorretas. Partindo do principio do que estas situações não ocorrem com frequência, pode-se dizer que o sistema oferece um bom grau de confiabilidade.
O teste de análise da operação também fora satisfatório, foi possível levantar todo trajeto realizado por um veículo de origem e destino com êxito. Uma funcionalidade a ser destacada é a adição de uma nova itinerário monitorada pelo sistema. Atualmente existem diversas ferramentas, aplicativos e componentes que auxiliam o processo de desenvolvimento de um software. Uma seleção correta desses artefatos, adequados às necessidades do projeto, pode reduzir consideravelmente o esforço de desenvolvimento, facilitando a organização e documentação.
CONCLUSÃO
O sistema finalizado atendeu aos requisitos de projeto com um desempenho satisfatório. Contudo, no decorrer do projeto algumas funcionalidades adicionais e melhorias foram sendo identificadas, mas não foram implementadas, evitando que o escopo e o cronograma do projeto fosse muito estendidos.
Em relação às funçõesde análise oferecidas pelo sistema, algumas melhorias podem ser desenvolvidas. A engenharia de software permitiu colocar em prática o planejamento e a organização do projeto ao longo do desenvolvimento, foi possível perceber a eficácia de interações de realização de teste foi extremamente importante para validação dos requisitos. O aprendizado dos modelos UML foi muito importante, pois permite criar especificações de alto nível.
Para concluir, além do conhecimento teórico e prático adquirido, a capacidade de enfrentar obstáculos sem desistir foi uma experiência a ser tirada como exemplo. Os momentos difíceis serviram de oportunidade para se aprender mais em busca de soluções e para mostrar a importância da dedicação e organização em nosso dia-a-dia.
BIBLIOGRAFIA

Outros materiais

Materiais relacionados

Perguntas relacionadas

Perguntas Recentes