Baixe o app para aproveitar ainda mais
Prévia do material em texto
FAGNE TOLENTINO REGES SISTACF – SISTEMA DE APLICAÇÃO DE TESTE DE APTIDÃO E CONDICIONAMENTO FÍSICO Taguatinga, DF 2016 FAGNE TOLENTINO REGES SISTACF – SISTEMA DE APLICAÇÃO DE TESTE DE APTIDÃO E CONDICIONAMENTO FÍSICO Trabalho de Conclusão de Curso apresentado à banca examinadora do Centro Universitário Estácio de Brasília, como um dos requisitos para a obtenção do grau de Bacharel em Sistemas de Informação. Orientador: Prof. Esp. João Paulo Pimentel. Taguatinga, DF 2016 Reges, Fagne Tolentino SISTACF – Sistema de Aplicação de Teste e Aptidão e Condicionamento Físico / Fagne Tolentino Reges. – 2016. 59 f. il. Orientador: João Paulo Pimentel. Trabalho de Conclusão de Curso (Graduação) – Centro Universitário Estácio de Brasília, Bacharelado em Sistemas de Informação, Brasília, BR-DF, 2016. 1. Teste Físico Militar. 2. Aplicativo Mobile. 3. TACF. 4. Android. I. Pimentel, João Paulo, orientador. II Título. FAGNE TOLENTINO REGES SISTACF – SISTEMA DE APLICAÇÃO DE TESTE DE APTIDÃO E CONDICIONAMENTO FÍSICO Trabalho de Conclusão de Curso aprovado como requisito parcial para obtenção de grau de Bacharel em Sistemas de Informação pelo Centro Universitário Estácio de Brasília. Banca examinadora: Taguatinga-DF, 04 de junho de 2016. Prof. Esp. João Paulo Pimentel (Orientador) Centro Universitário Estácio de Brasília Presidente Prof. MSc. Welder Maurício de Souza Centro Universitário Estácio de Brasília 1º Examinador Prof. Esp. André Luis Gomes Pompas Centro Universitário Estácio de Brasília 2º Examinador DEDICATÓRIA Dedico a Deus pelo cuidado para comigo, pela força que me deste durante todo o curso. A minha amada esposa Daiane, a qual eu conhecera no meu período de calouro neste curso, e desde então temos caminhado juntos. Aos meus pais que me ensinaram a ser um homem honrado e com dignidade. Aos meus tios, Mário e Aparecida que me conduziram ao caminho de encontro à verdade e à vida. AGRADECIMENTOS Agradeço a todos os professores deste curso, por me conduzirem ao conhecimento de maneira sábia e perspicaz, e por terem sidos compreensivos em minhas ausências. A minha esposa pela paciência, carinho e amor manifestos durante todo período em que estive ausente. Aos meus pais e familiares que me amam. A toda equipe do CINDACTA I, a qual gostaria de destacar o pessoal das subdivisões NAV e TTI, pela colaboração durante todo meu curso, em especial a seção TNAN. Agradeço ainda ao meu amigo Marcos por, durante todo o período em que trabalhamos juntos na TNAN, serviu-me de exemplo, tanto pessoal quanto profissional. “Nenhum médico é capaz de curar a cegueira da mente” (Textos Judaicos) RESUMO Este projeto consiste no desenvolvimento de um aplicativo para dispositivos móveis, que possuam o sistema operacional Android, tendo como objetivo, a criação de uma ferramenta que auxilie os aplicadores do Teste de Aptidão e Condicionamento Físico (TACF) no desempenho de suas funções. O aplicativo foi proposto com a finalidade de inovar o atual teste, ao introduzir no âmbito do Primeiro Centro Integrado de Defesa Aérea e Controle de Tráfego Aéreo (CINDACTA I), o conceito de mobilidade, do acesso à informação de maneira rápida, e o tratamento mais eficaz dos dados oriundos de tal avaliação. Tal solução foi concebida da necessidade de um sistema que permitisse, ao aplicador, obter as informações pessoais a respeito dos avaliados, de maneira rápida e consistente, persistindo assim tais informações em um banco de dados, proporcionando maior manutenibilidade e maleabilidade destas. Por conseguinte, permitindo de maneira eficaz a redução do tempo entre avaliação e resultado. Palavras-chave: Android. Smartphone. Teste Físico. Mobilidade ABSTRACT This project comprises an application for mobile devices that have the Android Operating System,which is a tool that helps out the examiners of the Teste de Aptidão e Condicionamento Físico - TACF with their job. The application was proposed in order to innovate the current TACF by introducing, in the scope of Primeiro Centro Integrado de Defesa Aérea e Controle de Tráfego Aéreo – CINDACTA I, the concept of mobility, quick access to information, and a more effective data treatment obtained from the tests. Such solution was conceived by the need of a system that could allow applicators to quickly and consistently obtain personal informations from the applicants as well as saving all the data into a database, providing greater flexibility and maintainability, therefore allowing the decrease of the time between the data collect and results. Keywords: Android. Smartphone. Physical test. Mobility LISTA DE ILUSTRAÇÕES Figura 1: Arquitetura Android .................................................................................................. 21 Figura 2: T-Mobile G1 ............................................................................................................. 22 Figura 3: Distribuição Das Plataformas Android (Platform Versions) .................................... 23 Figura 4: Ide Android Studio .................................................................................................... 24 Figura 5: Logomarca Do Astah ................................................................................................ 26 Figura 6: Diagrama De Caso De Uso ....................................................................................... 29 Figura 7: Diagrama De Classes ................................................................................................ 33 Figura 8: Diagrama De Sequencia - Cadastrar Militar ............................................................. 40 Figura 9: Diagrama De Caso De Uso - Manter Avaliação ....................................................... 41 Figura 10: Diagrama De Sequencia – Emitir Dados ................................................................ 41 Figura 11: Diagrama De Estado ............................................................................................... 42 Figura 12: Mer Lógico .............................................................................................................. 43 Figura 13: Tela De Apresentação (Splash Screen) ................................................................... 46 Figura 14: Tela Principal Do Aplicativo .................................................................................. 47 Figura 15: Tela De Informações Sobre O Aplicativo ............................................................... 48 Figura 16: Menu Lateral........................................................................................................... 49 Figura 17: Tela De Cadastro - 1º Fase ...................................................................................... 50 Figura 18: Tela De Cadastro - 2º Fase ...................................................................................... 51 Figura 19: Tela De Detalhes Da Ficha Do Avaliado ................................................................ 52 Figura 20: Mensagem De Alteração Da Data ........................................................................... 53 Figura 21: Mensagem De Confirmação De Exclusão ............................................................. 53 Figura 22: Mensagem De Compartilhamento .......................................................................... 54 Figura 23: Mensagem De Confirmação De Saída .................................................................... 54 Figura 24: Tela Sobre O Autor ................................................................................................. 54 Figura 25: Lista Do Dia Atual .................................................................................................. 55 . LISTA DE TABELAS Tabela 1: Cronograma Previsto. ............................................................................................... 18 Tabela 2: Cronograma Realizado. ............................................................................................ 18 Tabela 3: Recursos Utilizados - Hardware ............................................................................... 19 Tabela 4: Recursos Utilizados - Software ................................................................................ 19 Tabela 5: Recursos Utilizados - Humanos ............................................................................... 19 Tabela 6: What Is Api Level? ................................................................................................... 22 Tabela 7: Caso De Uso - Cadastrar Militar .............................................................................. 30 Tabela 8: Caso De Uso - Configurar Parâmetros ..................................................................... 30 Tabela 9: Caso De Uso – Manter Avaliação. ........................................................................... 31 Tabela 10: Caso De Uso - Emitir Resultado ............................................................................ 32 Tabela 11: Classe Mainactivity ................................................................................................ 33 Tabela 12: Classe Cadastrofragment ........................................................................................ 34 Tabela 13: Classe Configuracoesactivity ................................................................................. 35 Tabela 14: Classe Pessoa .......................................................................................................... 36 Tabela 15: Classse Pessoasfragment ........................................................................................ 37 Tabela 16: Classe Pessoafragment ........................................................................................... 39 Tabela 17: Especificação Da Tabela Militar ............................................................................ 44 Tabela 18: Especificação Da Tabela Ficha............................................................................... 45 LISTA DE ABREVIATURAS E SIGLAS API Interface de Programação de Aplicação CINDACTA I Primeiro Centro Integrado De Defesa Aérea e Controle de Tráfego Aéreo HTML HyperText Markup Language ou Linguagem de Marcação de Hipertexto IDE Integrated Development Environment ou Ambiente de Desenvolvimento Integrado Java Linguagem de Programação Orientada a Objeto NAV Subdivisão de Navegação e Infraestrutura do CINDACTA I SISTACF Sistema de Aplicação de TACF TACF Teste de Aptidão e Condicionamento Físico. TNAN Seção de Auxílios à Navegação Aérea do CINDACTA I TTI Subdivisão de Tecnologia da Informação do CINDACTA I UML Unified Modeling Language ou Linguagem de Modelagem Unificada W3C World Wide Web Consortium SUMÁRIO 1 INTRODUÇÃO ................................................................................................................ 15 1.1 Apresentação .............................................................................................................. 15 1.2 Formulação do Problema ........................................................................................... 15 1.3 Justificativa ................................................................................................................ 16 1.4 Objetivos .................................................................................................................... 16 1.4.1 Objetivo Geral .................................................................................................... 16 1.4.2 Objetivos Específicos ......................................................................................... 16 1.5 Definição do Escopo .................................................................................................. 17 1.6 O Mercado ................................................................................................................. 17 1.7 Metodologia ............................................................................................................... 17 1.8 Cronograma ............................................................................................................... 18 1.8.1 Previsto ............................................................................................................... 18 1.8.2 Realizado ............................................................................................................ 18 1.9 Recursos Utilizados ................................................................................................... 19 1.9.1 Hardware ............................................................................................................ 19 1.9.2 Software .............................................................................................................. 19 1.9.3 Humanos ............................................................................................................. 19 2 FERRAMENTAS E TECNOLOGIAS UTILIZADAS .................................................... 20 2.1 Android ...................................................................................................................... 20 2.1.1 O Sistema Operacional Android ......................................................................... 20 2.1.2 Arquitetura do Sistema Operacional Android .................................................... 20 2.1.3 Plataforma (Versão do Android)......................................................................... 21 2.2 IDE Android Studio ................................................................................................... 23 2.2.1 Android Software Development Kit (SDK) ......................................................... 24 2.3 Banco de Dados SQLite ............................................................................................. 25 2.4 Astah Professional ..................................................................................................... 25 2.5 Java ............................................................................................................................ 26 2.5.1 Java Development Kit (JDK) .............................................................................. 262.6 XML ........................................................................................................................... 27 2.7 UML ........................................................................................................................... 27 3 O DESENVOLVIMENTO ............................................................................................... 28 3.1 Análise de Requisitos ................................................................................................. 28 3.1.1 Funcionais ........................................................................................................... 28 3.1.2 Não Funcionais ................................................................................................... 28 3.2 Caso de Uso ............................................................................................................... 29 3.2.1 Visão Geral do Caso de Uso ............................................................................... 29 3.2.2 Diagrama de Caso de Uso .................................................................................. 29 3.2.3 Especificação dos Casos de Uso ......................................................................... 30 3.3 Diagrama de Projeto .................................................................................................. 33 3.3.1 Especificação das Classes ................................................................................... 33 3.4 Diagramas de Sequência ............................................................................................ 40 3.4.1 Diagrama de Sequência Cadastrar Militar .......................................................... 40 3.4.2 Diagrama de Sequência Manter Avaliação ........................................................ 41 3.4.3 Diagrama de Sequência Emitir Dados ................................................................ 41 3.5 Diagrama de Estado ................................................................................................... 42 3.6 MER – Modelo Entidade Relacionamento ................................................................ 43 3.6.1 Modelo Conceitual ............................................................................................. 43 3.6.2 Modelo Físico ..................................................................................................... 43 3.6.3 Especificações das Tabelas ................................................................................. 44 3.7 Interface Visual do Sistema ....................................................................................... 46 3.7.1 Tela de Apresentação do Aplicativo (Splash Screen) ........................................ 46 3.7.2 Tela Principal do Aplicativo ............................................................................... 47 3.7.3 Tela de Informações Sobre o Aplicativo ............................................................ 48 3.7.4 Tela do Menu Lateral ......................................................................................... 49 3.7.5 Tela de Cadastro ................................................................................................. 50 3.7.6 Tela de Detalhes da Ficha do Avaliado .............................................................. 52 3.7.7 Telas de Confirmação ......................................................................................... 53 3.7.8 Tela de informações: Sobre o Autor ................................................................... 54 3.7.9 Tela Dia Atual .................................................................................................... 55 4 CONCLUSÃO E TRABALHOS FUTUROS .................................................................. 56 4.1 Conclusão ................................................................................................................... 56 4.2 Trabalhos Futuros ...................................................................................................... 57 5 BIBLIOGRAFIA .............................................................................................................. 58 15 1 INTRODUÇÃO A informação se tornou o principal ativo de qualquer empresa, seja ela de pequeno, médio ou grande porte. A tomada de decisão não é feita sem consulta a uma base confiável de informações. Essa, por sua vez, se modifica a cada instante, sendo necessária sua manutenção constantemente para que não haja deterioração de seu valor. Pensando nisto, é proposto neste trabalho um aplicativo para auxiliar os aplicadores de teste físico no exercício de suas funções, aumentando o desempenho de suas atividades na execução do Teste de Aptidão e Condicionamento Físico (TACF) para militares, propondo uma melhora no que diz respeito ao tratamento dos dados obtidos e da disponibilização mais eficaz das informações oriunda de tal teste. 1.1 Apresentação O presente projeto visa desenvolver um aplicativo, com base no sistema operacional Android, nomeado SISTACF (Sistema de Aplicação de TACF) voltado para dispositivos com o sistema operacional Android, o qual atenderá aos aplicadores de teste físico auxiliando-os de maneira prática a organização e aplicação de tal teste, gerenciando o número de avaliados, a contagem individual do desempenho de cada um, e a emissão de um relatório geral por e- mail, contendo todos os dados da avaliação de cada militar. 1.2 Formulação do Problema Com a evolução tecnológica o mundo tem se tornado cada vez mais exigente quanto ao tempo de resposta da informação. O Teste de Aptidão e Condicionamento Físico (TACF), hoje no Primeiro Centro Integrado de Defesa Aérea e Controle do Tráfego Aéreo (CINDACTA I, órgão do Comando da Aeronáutica), tem sido muito moroso, devido à metodologia empregada para tal avaliação. Tal teste consiste das seguintes avaliações: Avaliação do percentual de gordura; Avaliação da flexibilidade; Avaliação da resistência muscular dos membros superiores; Avaliação da resistência muscular dos flexores do tronco; Avaliação da potência anaeróbica; 16 Avaliação da capacidade natatória; e Avaliação da potência aeróbica máxima. Atualmente os dados obtidos, de cada militar, são armazenados em uma folha de preenchimento, e estas ao final do TACF são encaminhadas a um setor onde os dados são tratados. Todos os cálculos referentes ao desempenho e condicionamento físico de cada militar vão para uma planilha eletrônica, que após o término da aplicação do TACF, a todos os militares do CINDACTA I, são disponibilizados por meios eletrônicos para visualização parcial do resultado. O período entre testes e resultados tem apresentado constantes retardos, devido o meio empregado para o tratamento dos dados. Muitas das vezes, fichas são perdidas neste interstício. Também por serem tratados manualmente, eventualmente ocorrem erros devido a falhas humanas. O projeto em questão visa sanar os problemas acima elencados, oferecendo uma ferramenta de fácil manuseio, em um ambiente portável e móvel. 1.3 Justificativa Apresentar uma forma segura, ágil, fácil e portátil para gerenciar a aplicação do TACF, diminuindo a demora dos resultados e, consequentemente, o dispêndio de tempo nesta tarefa, assim também por ir de encontro aos objetivos de praticidade, mobilidade e baixo custo, devido à redução do tempo gasto na aplicação de tal teste e da possibilidade de atender uma maior demanda de avaliados. 1.4 Objetivos 1.4.1 Objetivo Geral Disponibilizar um aplicativo, baseado no sistema operacional Android, para auxiliar no gerenciamento e controle da aplicação do TACFno âmbito da Força Aérea Brasileira. 1.4.2 Objetivos Específicos Realizar o estudo da arquitetura do Sistema Operacional Android. Realizar o levantamento das ferramentas e tecnologias necessárias para o desenvolvimento do aplicativo. Fazer o levantamento dos requisitos a serem implementados no aplicativo. 17 Desenvolver a documentação necessária para a construção do aplicativo. Realizar a integração dos módulos do aplicativo. 1.5 Definição do Escopo O foco do presente projeto é o aumento do desempenho da aplicação do TACF, fazendo o uso da tecnologia para o desenvolvimento de um aplicativo mobile, que gerencie funções básicas de organização, aplicação e manipulação dos dados, oriundos do Teste de Aptidão e Condicionamento Físico de militares, no âmbito da Força Aérea Brasileira. O aplicativo não inclui base para as avaliações da: potência anaeróbica e capacidade natatória, por serem avaliações dispensadas aos militares do CINDACTA I. O SISTACF tem como finalidade atender as funções de manter os militares avaliados, controlar a lista da ordem de aplicação do teste, gerenciar as etapas de aplicação, armazenar os dados obtidos e emitir um relatório final contendo os dados da avaliação. 1.6 O Mercado Através de uma ferramenta tecnologia a aplicação é voltada para o Teste de Aptidão e Condicionamento Físico dos militares da Força Aérea Brasileira, com aplicação inicial no CINDACTA I. 1.7 Metodologia Objetivando a sua realização, o presente projeto conta com pesquisa bibliográfica e em internet, desenvolvimento em programação na linguagem Java, ferramentas associadas à plataforma Android como a IDE Android Studio, SQLite e outros recursos de apoio como a Linguagem Unificada de Modelagem (UML) e o Astah. Neste projeto serão utilizadas as técnicas de prototipagem, já que esse tipo de desenvolvimento se adequa bem á finalidade do projeto. 18 1.8 Cronograma 1.8.1 Previsto Tabela 1: Cronograma Previsto. Etapas MAR/2016 ABR/2016 MAIO/2016 JUN/2016 1ª 2ª 3ª 4ª 1ª 2ª 3ª 4ª 1ª 2ª 3ª 4ª 1ª 2ª 3ª Escolha do tema Leitura/Estudo Elaboração do pré- projeto Levantamento de Requisitos Documentação do Sistema Projeto de Banco de Dados Codificação Teste Revisão Apresentação Fonte: Pesquisa de Campo (2016) 1.8.2 Realizado Tabela 2: Cronograma Realizado. Etapas MAR/2016 ABR/2016 MAIO/2016 JUN/2016 1ª 2ª 3ª 4ª 1ª 2ª 3ª 4ª 1ª 2ª 3ª 4ª 1ª 2ª 3ª Escolha do tema Leitura/Estudo X X X Elaboração do pré- projeto Levantamento de Requisitos X X Documentação do Sistema Projeto de Banco de Dados Codificação X Teste Revisão Apresentação Fonte: Pesquisa de Campo (2016) 19 1.9 Recursos Utilizados 1.9.1 Hardware Tabela 3: Recursos utilizados - hardware Hardwares Valor 1 Notebook R$ 2400,00 1 Smartphone R$ 600,00 Fonte: Pesquisa de Campo (2016) 1.9.2 Software Tabela 4: Recursos utilizados - Software Softwares Valor Sistema Operacional Android Livre Banco de Dados SQLite Livre IDE Android Studio Livre Android SDK Livre Astah Professional $ 299 Java Livre Java Development Kit (JDK) Livre XML (eXtensible Markup Language) Livre UML (Unified Modeling Language) Livre Fonte: Pesquisa de Campo (2016) 1.9.3 Humanos Tabela 5: Recursos utilizados - humanos Nome Fagne Tolentino Reges Fonte: Pesquisa de Campo (2016) 20 2 FERRAMENTAS E TECNOLOGIAS UTILIZADAS 2.1 Android 2.1.1 O Sistema Operacional Android O Android é uma plataforma para dispositivos móveis, que inclui um Sistema Operacional, middleware e aplicações chave. O Sistema Operacional móvel do Google, Android, é atualmente o líder mundial deste segmento e o mais utilizado no mundo segundo Lecheta (2015, p. 25), e se encontra disponível para diversas plataformas, como smartphones, tablets, TV (Google TV), relógios (Android Wear), óculos (Google Glass) e carros (Android Auto). O Android tem demonstrado ser um excelente sistema operacional móvel, prova disto são os mais de 190 países a qual tem marcado presença, e o número cada vez mais crescente de usuário deste sistema. Cerca de um milhão de novos usuários ligam seus dispositivos pela primeira vez diariamente, destaca o site Developer (2016). 2.1.2 Arquitetura do Sistema Operacional Android Segundo o prof. Helder (2016), do Centro Universitário Estácio da Bahia, o Android é baseado no Kernel 2.6 do Linux. A memória, os processos, threads, segurança de arquivos e pastas são gerenciado pelo Linux, além de redes e drives. Para cada aplicativo no Android é disparado um novo processo, uns podem ficar em segundos planos outros visíveis para o usuário. “Diversos processos podem ser executados simultaneamente, e o Kernel do sistema operacional é responsável por realizar todo o controle de memória” (LECHETA, 2015, p. 28). O Android é uma plataforma livre e open source (código aberto) para aplicações móveis. Possui uma camada de abstração chamada HAL (Hardware Abstraction Layer), o que favorece os fornecedores de hardware, por definir uma interface padrão de acesso aos recursos de hardware. Como a construção de suas aplicações se da em Java, seria necessário a este sistema operacional a máquina virtual Java (JVM) para executar os bytecode, mas o que temos é outra máquina virtual chamada Dalvik, que é uma versão mais otimizada da primeira. Os arquivos .class após compilados são convertidos para o formato .dex (Dalvik Execultable). Esta máquina virtual foi descontinuada, e a partir do Android 4.4 (KitKat) foi criada a máquina virtual ART (Android Runtime) como substituta, que se tornou o padrão para o Android 5.0 e superiores. 21 Na camada Native Libraries do Android temos as bibliotecas nativas a deste sistema, tais como a biblioteca C/C++, Audio Manager, Media Framework, funções para gráfico e para acesso ao banco de dados SQLite. E por ultimo temos a camada de aplicação (Applications), onde encontramos todos os aplicativos que são executados sobre este sistema operacional. A figura 1 a seguir ilustra a organização das camadas do sistema operacional Android. Figura 1: Arquitetura Android Fonte: Source (2016) 2.1.3 Plataforma (Versão do Android) Desde que o Android, versão 1.0, foi lançado em 2007 com o famoso T-Mobile G1, sua plataforma tem evoluído constantemente, e a cada versão, mais novidade. Cada versão do Android é apelidada carinhosamente com o nome de uma sobremesa, o que acaba gerando grande expectativa e especulação no mercado na tentativa de antevir qual será o nome de sua próxima versão a ser lançada (LECHETA, 2015, p. 32). 22 Figura 2: T-Mobile G1 Fonte: Pockethacks (2016) No Android cada versão do sistema operacional é conhecida como plataforma. A tabela a seguir lista as plataformas existente do Android no momento da elaboração deste trabalho. Tabela 6: What is API Level? Versão da Plataforma API Level Código da Versão Android 1.0 1 Android 1.1 2 Android 1.5 3 Cupcake Android 1.6 4 Donut Android 2.0 5 Android 2.0.1 6 Android 2.1 7 Eclair Android 2.2 8 Froyo Android 2.3 9 Gingerbread Android 2.3.310 Android 3.0 11 Honeycomb Android 3.1 12 Android 3.2 13 Android 4.0 14 Ice Cream Sandwich Android 4.0.3 15 Android 4.1 16 Jelly Bean Android 4.2 17 Jelly Bean Android 4.3 18 Jelly Bean Android 4.4 19 KitKat Android 4.4W 20 KitKat para wearables Android 5.0 21 Lollipop Android 5.1 22 Lollipop MR1 Android 6.0 23 Marshmallow Fonte: Adaptado do site Developer (2016) 23 A figura 3 mostra os dados sobre o número de dispositivos que executam uma determinada versão da plataforma Android superior à versão 2.2, que representam um total individual de aproximadamente 0.1%. Estes dados foram recolhidos pelo Google Play, durante um período de 7 dias que terminou no dia 4 de abril de 2016 e divulgado no site Developer (2016). Figura 3: Distribuição das plataformas Android (Platform Versions) Fonte: Developer (2016) Conforme divulgado pelo site Developer (2016), as versões Gingerbread e Ice Cream Sandwich juntas representam um percentual de 4,8% de dispositivos com uma destas plataformas instalada, a versão do Android Jelly Bean representam um percentual de 21,3%, a versão KitKat um percentual de 33,4%, a Lollipop um percentual de 35,8% e a mais recente versão do Android (Marshmallow) apenas 4,6%. Diante destes números (99,9% no total) a versão do Android Gingerbread (API 9) foi adotada como requisito mínimo para o funcionamento do SISTACF, o que culmina no aumento da usabilidade deste aplicativo. 2.2 IDE Android Studio O Android Studio é o IDE oficial de desenvolvimento para Android. Ele é baseado no IntelliJ IDEA da JetBrains. Substitui a IDE Eclipse, utilizada para o desenvolvimento Android antes de seu lançamento em 2013 pela Google. Lancheta (2015, p. 45) destaca cinco diferenças importantes desta nova IDE, se comparada ao Eclipse: 1. Editor visual mais fluido e com mais opções. 24 2. Sistema de build mais moderno baseado com Gradle (gradle.org) 3. Diversas utilidades e facilidades ao desenvolver para Android, sendo muito integrado ao Android SDK. 4. Templates de projetos para smartphones, tablets, relógios etc. 5. Atualizações e melhorias Frequentes. No Android Studio é possível uma visualização prévia das telas (Activityes) da aplicação em desenvolvimento, o que facilita muito a programação, além de ser um IDE com um editor de código amigável, o que possibilita uma produtividade. Na figura 5 é exibida a tela de dowload do Android Studio. Figura 4: IDE Android Studio Fonte: Developer (2016) 2.2.1 Android Software Development Kit (SDK) O Android SDK é um Kit de Desenvolvimento de Software utilizado para desenvolver aplicações no Android, ferramentas utilitárias e uma API (Interface de Programação de Aplicação) completa da linguagem Java, que já vem junto com a IDE Android Studio (LECHETA, 2015, p. 42). O Android SDK possui um emulador de dispositivo móvel que roda virtualmente no computador. O Android Virtual Device (AVD) simula a configuração de um smartphone, tablet, Wear ou TV com exatamente a mesma plataforma do sistema operacional, resolução, tela e outras configurações. Este emulador facilita muito o desenvolvimento de aplicativos Android, proporcionando ao desenvolvedor um ambiente virtual idêntico ao dispositivo para o qual está voltada sua aplicação. 25 2.3 Banco de Dados SQLite O SQLite, segundo o site Sqlite(2016) é o banco de dados mais amplamente implementado do mundo, estando presente nos dispositivos Android, em todos os dispositivos iPhone e IOS em cada Mac, no Windows 10, no navegador Google Chrome, e inúmeras outras aplicações. O SQLite é “pequeno, rápido e confiável” (SQLITE, 2016), não necessita de servidor para ser implantado, além de ser um produto open source (código aberto), é multi-plataforma, podendo ser copiado entre os sistemas 32 ou 64 bits e até mesmo entre as arquiteturas big- endian e little-endian. Funciona muito bem em dispositivos de pouca memória como celulares, tablets, PDAs e MP3 Players. Segundo Helder (2016), “uma das características importante deste banco de dados é a performance, pois ele é compacto e direcionado para aplicativos embarcados”, o que o torna muito utilizado em aplicações voltadas para o sistema operacional Android. Além disso: “Dentre o seus recursos e benefícios estão as transações atômicas, consistentes, isoladas e duráveis (ACID), as configurações ZERO, dados armazenados em um simples arquivo multi-plataforma, é autocontido, o que quer dizer sem dependências externas, portável para Linux, MacOS e outros” (MENDES & SANTANA, 2012, p.23). 2.4 Astah Professional Astah é um software utilizado para a modelagem UML (Unified Modeling Language), que é uma linguagem padrão para modelagem orientada a objetos. Este programa oferece praticidade e simplicidade na elaboração de diagramas, através de sua grandiosidade de recursos oferecidos aos gestores, analistas, testadores e desenvolvedores de projetos orientados a objetos. Este programa oferece vários recursos aos seus usuários, dentre eles no site Astah (2016) se destacam as seguintes funcionalidades, voltadas à modelagem orientada a objeto, para o desenvolvimento de software: Diagramas de Casos de Usos. Diagrama de Classes. Diagrama de Sequencia Diagrama de Atividades. Modelagem Entidade Relacionamento. Diagrama de Fluxo de Dados. A figura 6 mostra a logomarca software Astah. 26 2.5 Java Java é uma linguagem de programação orientada a objeto, lançada pela Sun Microsystems em 1995. Segundo Sebesta (2011, p. 114) o Java surgiu da necessidade de uma linguagem de programação confiável para dispositivos eletrônicos embarcados, como forno de micro-ondas e sistemas interativos de TV. O projeto inicial desta linguagem foi guiado pelo objetivo fundamental de fornecer simplicidade e confiabilidade maiores do que a linguagem C++, predecessora do Java. Conforme Deitel & Deitel (2010, p.7),“programas Java consistem em partes chamadas classes. As classes incluem partes chamadas métodos que realizam tarefas e retornam informações quando as tarefas são concluídas”. O desenvolvedor Java tira proveito das ricas coleções de classes existente nas bibliotecas de classe Java, também conhecidas como Java API (Interface de Programação de Aplicação), o que torna essa linguagem de programação preferida de muitos programadores, além de ser uma linguagem expressiva e de fácil escrita. De acordo com o site do Java (2016), mais de 3 bilhões de telefones celulares executam o Java, e mais de 9 milhões de desenvolvedores estão espalhados pelo mundo, o que torna esta linguagem atém de popular, um padrão global para o desenvolvimento e distribuição de aplicações móveis e incorporadas. Java é a linguagem de programação adotada pelo Android, o que a torna indispensável para o desenvolvimento da aplicação proposta neste trabalho. 2.5.1 Java Development Kit (JDK) O JDK é um kit de desenvolvimento Java fornecido gratuitamente pela empresa Sun Microsystems. Esse kit possui todas as classes disponíveis na API Standard, “constitui um conjunto de programas que engloba compilador, máquina virtual e utilitários” (CARBONERI, 2012, p. 25). Tal kit possui o necessário para o desenvolvimento de aplicações em Java. Figura 5: Logomarca do Astah Fonte: Astah (2016) 27 2.6 XML A eXtensible Markup Language (XML), é uma linguagem de marcação desenvolvida pela W3C, projetada para armazenar e transportar dados, foi construída para solucionar as limitações do HTML. Segundo o site Oficinadanet(2016) o XML “é um subtipo de SGML (Standard GeneralizedMarkup Language, ou Linguagem Padronizada de Marcação Genérica) capaz de descrever diversos tipos de dados. Seu propósito principal é a facilidade de compartilhamento de informações através da Internet”. O Android utiliza a linguagem XML para a criação das interfaces gráficas dos aplicativos, por isso faz-se necessário conhecer e utilizar os princípios básicos e a estrutura dessa linguagem. 2.7 UML Segundo Ventavoli (2014, p. 189) a Unifiied Modeling Language (UML) ou Linguagem de Modelagem Unificada, “é uma linguagem gráfica para visualização, especificação, construção e documentação de um sistema computacional”, que oferece uma padronização para escrita de um sistema. A UML é uma linguagem de modelagem visual, não uma linguagem de programação, que facilita a visualização da comunicação entre objetos. Segundo Deitel & Deitel (2010, p. 16) a UML atualmente é o esquema de representação gráfica mais amplamente utilizada para modelar sistemas orientados a objetos. Essa linguagem é ideal para modelar sistemas de informação, pois é aplicável a qualquer projeto, independente do seu tamanho, o que a trona muito útil na padronização de desenvolvimento e entendimento do problema, além da documentação completa, precisa e detalhada de todo o desenvolvimento do projeto. A utilização da UML auxiliará no desenvolvimento do aplicativo SISTACF, e sua documentação servirá de base para posterior manutenção e expansão. 28 3 O DESENVOLVIMENTO 3.1 Análise de Requisitos 3.1.1 Funcionais O aplicativo deve possibilitar aos usuários, o cadastro, a alteração e a exclusão de avaliados, que estejam envolvidos na aplicação do teste físico. O aplicativo deverá possibilitar aos usuários a visualização da lista de avaliados e da ficha individual de avaliação do militar selecionado, e ao mudar para outro avaliado deverá ser salvo, no bando de dados, as alterações realizadas. O aplicativo deverá possibilitar aos usuários a emissão dos dados da avaliação de cada militar individualmente, e salvar em seu bando de dados este resultado, para posteriores consultas. O aplicativo deverá possibilitar aos usuários a exportação dos dados finais por e-mail. 3.1.2 Não Funcionais 3.1.2.1 Requisitos de Performance. O aplicativo, ao ser inicializado, deverá exibir a tela de apresentação e em seguida a tela de configuração dos parâmetros da avaliação, com o tempo máximo de 2 segundo para a exibição desta. 3.1.2.2 Requisitos de Portabilidade. O aplicativo deve ser compatível com tablets e smartphones, independente da marca, que possuam o sistema operacional Android, com a versão 2.3 (API Level 9, Gingerbread) ou superior. 3.1.2.3 Requisitos de Usabilidade A utilização do aplicativo deverá de fácil aprendizagem, de maneira que o manual a ser disponibilizado seja apenas o necessário para o entendimento inicial de sua aplicação e manuseio. 29 3.1.2.4 Requisitos de Implementação Para a implementação deste aplicativo, deverá ser observado as orientações dos padrões DAO (Data Access Object), para aplicativos mobiles, a estruturação do projeto em camadas MVC (modelo, visão e controle) além da utilização da linguagem de programação Java e do banco de dados SQLite 3.2 Caso de Uso 3.2.1 Visão Geral do Caso de Uso Os diagramas de Casos de Uso a seguir, descrevem o relacionamento entre o ator e as funcionalidades do aplicativo. Neste cenário há somente um ator, o usuário, que interage com o aplicativo. 3.2.2 Diagrama de Caso de Uso Figura 6: Diagrama de Caso de Uso Fonte: Pesquisa de Campo (2016) 30 3.2.3 Especificação dos Casos de Uso 3.2.3.1 Caso de Uso Cadastrar Militar Tabela 7: Caso de Uso - Cadastrar Militar CASO DE USO Cadastrar Militar Este caso de uso permite o cadastro dos militares por parte dos editores ATORES NOME DO ATOR DESCRIÇÃO AVALIADOR Responsável pela edição/cadastro FLUXO PRINCIPAL AÇÕES DOS ATORES AÇÕES DO SISTEMA 1. Seleciona a opção cadastrar militar no menu flutuante ou no botão FAB. 3.Clica no botão novo 5.Preenche os campos com os dados do militar e pressiona em salvar. 2. Direcionar para página de cadastro. 4.Mostra a ficha para cadastro. 6.Grava no bando de dados as informações do novo avaliado, e retorna uma mensagem de confirmação. Após isto o sistema volta para a tela principal FLUXOS ALTERNATIVOS AÇÕES DOS ATORES AÇÕES DO SISTEMA 1.O usuário seleciona a opção salvar, na tela de cadastro, más não deixa algum campo obrigatório vazio 2.O sistema não grava os dados no banco, e retorna uma mensagem de erro, informando que há dados incompletos 1.O usuário clica no botão voltar 1.O sistema não grava os dados no banco de dados. PRÉ-CONDIÇÕES O ator deve estar logado. Fonte: Pesquisa de Campo (2016) 3.2.3.2 Caso de Uso Configurar Parâmetros Tabela 8: Caso de Uso - Configurar Parâmetros CASO DE USO Configura Parâmetros Este caso de uso permite configurar o sistema, informando qual será selecionada para dar início à avaliação. ATORES NOME DO ATOR DESCRIÇÃO AVALIADOR Responsável pela edição/cadastro FLUXO PRINCIPAL AÇÕES DOS ATORES AÇÕES DO SISTEMA 31 1. No menu flutuante clicar no menu Parâmetros. 3.O usuário seleciona a opção de múltiplas views. 2.O sistema vai para a tela de configurações de parâmetros onde é apresentado a seleção de parâmetros. 4.O sistema ao recriar a tela muda a tela principal de acordo com a opção selecionada. FLUXOS ALTERNATIVOS AÇÕES DOS ATORES AÇÕES DO SISTEMA 1.O usuário após acessar a tela de configurações clica no botão voltar 2.O sistema retorna para a rela principal. PRÉ-CONDIÇÕES O ator deve estar logado Fonte: Pesquisa de Campo (2016) 3.2.3.3 Manter Avaliação Tabela 9: Caso de Uso – Manter Avaliação. CASO DE USO Manter Avaliação. Este caso de uso permite a manutenção da avaliação de cada militar, através da manutenção da ficha individual de cada um. ATORES NOME DO ATOR DESCRIÇÃO AVALIADOR Responsável pela edição/cadastro/configuração FLUXO PRINCIPAL AÇÕES DOS ATORES AÇÕES DO SISTEMA 1.O usuário na tela principal seleciona totós os militares que farão a aplicação no dia, e clica em mudar a data para o dia atual 3.O usuário pode alterar a data sugerida ou clicar em atualizar 5.O usuário rola a tela principal para a tab “dia atual” onde será mostrado tosos os militares que realização o teste no dia, e clica no militar para preencher a ficha. 7.O usuário clica em atualizar e preenche os campos e clica em gravar. 8.O usuário clica em voltar. 2.O sistema mostra uma mensagem contendo a data atual, e solicita uma confirmação ou alteração da data. 4.O sistema altera a data de aplicação de todas as pessoas selecionadas. 6.O sistema mostra todos os detalhes do avaliado. E também todos os campos editáveis. 8.O sistema salva os dados no bando de dados. 8.O sistema volta tela principal. 1.O usuário na tela principal ou na tela de detalhes do militar, clica na opção deletar ou compartilhar. 3.O usuário confirma a ação. 2.O sistema exibe uma mensagem de confirmação da ação para prosseguir. 4.O sistema deleta todos os militares selecionados ou compartilha os dados através dos aplicativos disponíveis no aparelho FLUXOS ALTERNATIVOS 32 AÇÕES DOS ATORES AÇÕES DO SISTEMA 1.O usuário após acessar a tela de detalhes, , ou na opção de deletar ou compartilhar, do militar selecionado clica em voltar. 2. O sistemaretorna para a rela principal. PRÉ-CONDIÇÕES O ator deve acessar o sistema com senha. Fonte: Pesquisa de Campo (2016) 3.2.3.4 Caso de uso Emitir Resultado Tabela 10: Caso de Uso - Emitir Resultado CASO DE USO Emitir Resultado Este caso de uso permite a exportação dos dados da avaliação por e-mail, ou sua visualização na tela do dispositivo. ATORES NOME DO ATOR DESCRIÇÃO AVALIADOR Responsável pela visualização/exportação dos resultados FLUXO PRINCIPAL AÇÕES DOS ATORES AÇÕES DO SISTEMA 1.Na tela principal o avaliador seleciona o(s) militar(res) que tenhas terminado a avaliação, e clica em compartilhar. 3. O usuário seleciona a aplicativo de compartilhamento que melhor lhe agrade prossegue a ação de compartilhamento. 2.O sistema aciona os aplicativo de compartilhamento disponíveis no aparelho. 4.O aplicativo selecionado faz o envio do resultado, e volta para a tela principal. 1.Em qualquer tab o usuário seleciona o militar em avaliação para ver os detalhes de sua ficha. 3.O usuário clica em compartilhar. 5. O usuário seleciona a aplicativo de compartilhamento que melhor lhe agrade prossegue a ação de compartilhamento. 2.O sistema mostra os detalhes do militar. 4.O sistema aciona os aplicativo de compartilhamento disponíveis no aparelho 6. O aplicativo selecionado faz o envio do resultado, e volta para a tela principal. FLUXOS ALTERNATIVOS AÇÕES DOS ATORES AÇÕES DO SISTEMA 1.O usuário após acessar a tela da primeira fase clica em voltar. 2.O sistema retorna para a rela principal. 1.O usuário após a validação do e-mail, clica em enviar. 4.O usuário seleciona enviar novamente 3.O sistema detecta falta de conectividade com a internet, e pergunta ao usuário se deseja tentar enviar novamente, ou voltar para a tela principal. 5.O sistema tenta enviar novamente. 33 1.O usuário após a validação do e-mail, clica em enviar. 4.O usuário seleciona voltar 3.O sistema detecta falta de conectividade com a internet, e pergunta ao usuário se deseja tentar enviar novamente, ou voltar para a tela principal. 5.O sistema volta para a tela principal. PRÉ-CONDIÇÕES O ator deve estar logado. Fonte: Pesquisa de Campo (2016) 3.3 Diagrama de Projeto Figura 7: Diagrama de Classes Fonte: Pesquisa de Campo (2016) 3.3.1 Especificação das Classes 3.3.1.1 Classe MainActivity Tabela 11: Classe MainActivity NOME DA CLASSE MainActivity ESPECIALIZAÇÃO DA CLASSE Descrição da Classe: Classe Responsável por gerenciar o login no sistema e também responsável por gerenciar a tela inicial, a partir de onde todas outras telas são instanciadas e gerenciadas CARACTERÍSTICAS Ator Persistente Abstrata 34 ATRIBUTOS ID VS NOME DE ATRIBUTO DESCRIÇÃO TIPO MÉTODOS VS NOME DO MÉTODO PARÂMETROS TIPO DE RETORNO DESCRIÇÃO # onCreate savedInstanceState void Este método é responsável por instanciar a activity principal e configurar o seu layout, juntamente com o menu lateral deslizante, bem como o tratamento de evento de toque, e também responsável por buscar e mostrar a lista de pessoas. + onCreateOptionsMenu menu Menu Método que infla o menu na barra superior das telas + onOptionsItemSelected item MenuItem Método que faz o tratamento e evento de clique do menu selecionado, + setupViewPagerTabs void Método que configura as Tabs e o efeito de movimento lateral da tela principal. DOMÍNIOS NOME DO ATRIBUTO VALORES Obs.: Id – Chave identificadora Vs – Visibilidade ( + Pública – Privada # Protegida) Fonte: Pesquisa de Campo (2016) 3.3.1.2 Classe CadastroFragment Tabela 12: Classe CadastroFragment NOME DA CLASSE CadastroFragment ESPECIALIZAÇÃO DA CLASSE Descrição da Classe: Classe responsável por criar o layout da tela de cadastro por gerenciar o cadastro, a autenticação dos valores preenchido no formulário e registro no banco de dados do novo militar incluso. CARACTERÍSTICAS Ator Persistente Abstrata ATRIBUTOS 35 ID VS NOME DE ATRIBUTO DESCRIÇÃO TIPO MÉTODOS VS NOME DO MÉTODO PARÂMETROS TIPO DE RETORNO DESCRIÇÃO # onCreate savedInstanceState void Método responsável por inflar o layout da tela, juntamente com os menus. + onCreateView inflater , container, savedInstanceState. View Método responsável por gerenciar as subclasses para efetuar o cadastro da nova pessoa. - inputValidate nome_completo, nome, sId, sSaram, sexo, idade. boolean Valida os dados de entrada DOMÍNIOS NOME DO ATRIBUTO VALORES Obs.: Id – Chave identificadora Vs – Visibilidade ( + Pública – Privada # Protegida) Fonte: Pesquisa de Campo (2016) 3.3.1.3 Classe ConfiguracoesAcitity Tabela 13: Classe ConfiguracoesActivity NOME DA CLASSE ConfiguracoesAcitity ESPECIALIZAÇÃO DA CLASSE Descrição da Classe: Classe responsável por gerenciar as configurações internas ao aplicativo CARACTERÍSTICAS Ator Persistente Abstrata ATRIBUTOS ID VS NOME DE ATRIBUTO DESCRIÇÃO TIPO MÉTODOS VS NOME DO MÉTODO PARÂMETROS TIPO DE RETORNO DESCRIÇÃO 36 # onCreate savedInstanceState void Método responsável por inflar a tela de configurações, e informar ao sistema operacional as novas mudanças, bem como fazer o beckup dos registros. DOMÍNIOS NOME DO ATRIBUTO VALORES Obs.: Id – Chave identificadora Vs – Visibilidade ( + Pública – Privada # Protegida) Fonte: Pesquisa de Campo (2016) 3.3.1.4 Classe Pessoa Tabela 14: Classe Pessoa NOME DA CLASSE Pessoa ESPECIALIZAÇÃO DA CLASSE Descrição da Classe: Classe responsável por armazenar os dados pessoais e da ficha do militar CARACTERÍSTICAS Ator Persistente Abstrata ATRIBUTOS ID VS NOME DE ATRIBUTO DESCRIÇÃO TIPO x + id_key Código identificador da classe int + id Número de identidade da pessoa int + idade Idade da pessoa String + posto Posto ou graduação do militar String + nome Nome de Guerra do militar String + urlFoto Endereço da foto do militar String + selected Informa se o militar está selecionado ou não Boolean + nome_completo Nome completo do militar String + dia Data da realização do teste físico Date + om Nome da Organização militar String + setor Setor de trabalho do militar String + saram Número de ordem do militar Int + sexo Sexo do militar String + fc_repouso Frequência cardíaca do militar int + peso Pessoa do militar int + Estatura Altura do militar int + cintura Medida da circunferência da cintura do militar int + quadril Medida da circunferência do quadril int + braco_dir Circunferência do braço direito int 37 + abdome Circunferência do abdome int + antebraco_dir Circunferência do antebraço direito int + flx_test1 Teste de flexão número 1 int + flx_test2 Teste de flexão número 1 int + flx_test3 Teste de flexão número 1 int + flx_test4 Teste de flexão número 1 int + flx_test5 Teste de flexão número 1 int + abdominal Número de repetições do exercício abdominal int + flexão Número de repetições do exercício da flexão int + corrida Distância percorrida em km int + treinado Armazeno a informação se o militar está treinado boolean MÉTODOS VS NOME DO MÉTODOPARÂMETROS TIPO DE RETORNO DESCRIÇÃO # toString String Método responsável por passar todos os atributos da classe. DOMÍNIOS NOME DO ATRIBUTO VALORES Obs.: Id – Chave identificadora Vs – Visibilidade ( + Pública – Privada # Protegida) Fonte: Pesquisa de Campo (2016) 3.3.1.5 Classe PessoasFeragment Tabela 15: Classse PessoasFragment NOME DA CLASSE PessoasFragment ESPECIALIZAÇÃO DA CLASSE Descrição da Classe: Classe responsável pela maior parte de aplicações do app. Responsável por instanciar as Tabs com a lista de militares conforme a data de aplicação , e também pelo tratamento de eventos de toque nos menus da barra superior da view. CARACTERÍSTICAS Ator Persistente Abstrata ATRIBUTOS ID VS NOME DE ATRIBUTO DESCRIÇÃO TIPO x data Data da aplicação ou a data atual int MÉTODOS VS NOME DO MÉTODO PARÂMETROS TIPO DE RETORNO DESCRIÇÃO 38 + newInstance data PessoasFrag ment Método responsável por instanciar cada pessoa que fará o teste físico, conforme a data de aplicação, retorna uma lista do tipo PessoasFragment + onCreate savedInstanceStat e void Método que cria a view e infla o layout dela + onCreateView nflater , container, savedInstanceStat e. view Método para configurar a view a ser criada + onActivityCreated savedInstanceStat e Void Método que é chamado após a criação do layout, faz o tratamento de toque nos menus. - taskPessoas pullToRefresh void Infla a relação das pessoas no bando e infla a view com o padrão ViewHolder. - OnRefreshListener OnRefreshLi stener Método para fazer o tratamento de evento de refresh da tela - onClickPessoa PessoaOnCli ckListener Método que faz o tratamento de evento de toque, quando uma pessoa da lista é selecionada - getSelectedPessoas List<Pessoa > Método chamado pelo anterior para retornar a lista de pessoas quanto se tratar de seleção múltipla - getActionModeCallbac k Callback Método para mostrar os menus na barra superior quando um militar é selecionado - updateActionModeTitle void Método que atualiza a barra superior com a quantidade de militares selecionado - updateShareIntent selectedPessoas void Método que trata do compartilhamento das pessoas selecionadas + onDestroy void Destrói a instância do fragment + onBustAtualizarListaPe ssoas refresh void Acionado quando o sistema recebe uma mensagem pelo Bus para atualizar a lista 39 DOMÍNIOS NOME DO ATRIBUTO VALORES Obs.: Id – Chave identificadora Vs – Visibilidade ( + Pública – Privada # Protegida) Fonte: Pesquisa de Campo (2016) 3.3.1.6 Classe PessoasFeragment Tabela 16: Classe PessoaFragment NOME DA CLASSE ESPECIALIZAÇÃO DA CLASSE Descrição da Classe: Classe responsável gerenciar a exibição dos detalhes da pessoa selecionada, bem como a manutenção do preenchimento da ficha de avaliação CARACTERÍSTICAS Ator Persistente Abstrata ATRIBUTOS ID VS NOME DE ATRIBUTO DESCRIÇÃO TIPO MÉTODOS VS NOME DO MÉTODO PARÂMETROS TIPO DE RETORNO DESCRIÇÃO + onCreate savedInstanceState Void Método responsável por criar a classe e carregar os parâmetros passados via Intent + onCreateView inflater, container, savedInstanceState, view View Método responsável por inflar o layout com os detalhes da ficha da pessoa + onViewCreated inflater, container, savedInstanceState, view View Chamado após o método anterior para acessar os atributos do layout. - setPic mCurrentPhotoPath View Método de busca e impressão da foto do militar selecionado - corrigriOrientacao bipmap Bipmap Corrige a orientação da foto, antes de imprimi-la na tela - onCreateOptionsMenu menu Menu Método que infla o menu na barra superior das telas + onOptionsItemSelected item MenuItem Método que faz o tratamento e evento de clique do menu selecionado, 40 DOMÍNIOS NOME DO ATRIBUTO VALORES Obs.: Id – Chave identificadora Vs – Visibilidade ( + Pública – Privada # Protegida) Fonte: Pesquisa de Campo (2016) 3.4 Diagramas de Sequência 3.4.1 Diagrama de Sequência Cadastrar Militar Figura 8: Diagrama de Sequencia - Cadastrar Militar Fonte: Pesquisa de Campo (2016) 41 3.4.2 Diagrama de Sequência Manter Avaliação Figura 9: Diagrama de Caso de Uso - Manter Avaliação Fonte: Pesquisa de Campo (2016) 3.4.3 Diagrama de Sequência Emitir Dados Figura 10: Diagrama de Sequencia – Emitir Dados Fonte: Pesquisa de Campo (2016) 42 3.5 Diagrama de Estado Figura 11: Diagrama de Estado Fonte: Pesquisa de Campo (2016) 43 3.6 MER – Modelo Entidade Relacionamento 3.6.1 Modelo Conceitual Figura 12: MER Lógico Fonte: Pesquisa de Campo (2016) 3.6.2 Modelo Físico ----------------------------------------------------------------------------------------------------------------- CREATE DATABASE SISTACF; ----------------------------------------------------------------------------------------------------------------- CREATE TABLE IF NOT EXISTS TABELA_MILITAR( id_key INTEGER PRIMARY KEY AUTOINCREMENT, id INT, saram INT, nome TEXT, nome_completo TEXT, dia DATE, urlFoto TEXT, sexo CHAR, posto TEXT, idade INT) ; ----------------------------------------------------------------------------------------------------------------- CREATE TABLE IF NOT EXISTS TABELA_FICHA( id_ficha INTEGER PRIMARY KEY AUTOINCREMENT, FOREIGN KEY(id_key) REFERENCES ARTIST(TABELA_MILITAR), data DATE,om TEXT, setor TEXT, fc_repouso INT, peso INT, estatura INT, cintura INT, quadril INT, braco_dir INT, abdome INT, antebraco_dir INT, flx_test1 INT, flx_test2 INT, flx_test3 INT, flx_test4 INT, flx_test5 INT, abdominal INT, flexao INT, corrida INT, treinado BOOLEAN); ----------------------------------------------------------------------------------------------------------------- 44 3.6.3 Especificações das Tabelas 3.6.3.1 Tabela Militar Tabela responsável em armazenar todas as informações referentes ao Militar. Tabela 17: Especificação da Tabela Militar MILITAR CHAVE PRIMÁRIA / ESTRANGEIRA ATRIBUTOS PK FK TABELA DE REFERÊNCIA Id_key X ATRIBUTOS TIPO TAM. ÍNDICE NOT NULL MÁSCAR A DESCRIÇÃO Id Int 6 X Número da identidade do COMAER Saram Int 7 X Número de ordem do Militar Nome text 30 X Nome de guerra do Militar Nome_completo text 40 X Nome completo do Militar DIA date X dd/mm/aaaa Data da aplicação do TACF url_foto text 200 X Encereço Local onde esrá salvo a foto do Militar Sexo char 1 X Armazena o sexo do Militar Posto text 5 X Posot ou Graduação do Militar Idade int 2 X Data de nascimento do Militar Fonte: Pesquisa de Campo (2016) 3.6.3.2 Tabela Ficha Tabela responsável por armazenar os dados coletados da avaliação do TACF. 45 Tabela 18: Especificação da Tabela Ficha FICHA CHAVE PRIMÁRIA / ESTRANGEIRA ATRIBUTOS PK FK TABELA DE REFERÊNCIA Id_ficha X Id_key X Militar ATRIBUTOS TIPO TAM. ÍNDICE NOT NULL MÁSCAR A DESCRIÇÃO Data Date -- X dd/mm/aaaa Data da aplicação do TACF Om text 20 Nome da organização militar ao qual o avaliado pertenceSetor text Local de trabalho do Militar Fc_repouso int 3 Número de batimentos cardíacos do militar Estatura int 3 Altura do militar Cintura int 3 Circunferência da cintura do militar Quadril int 3 Circunferência do quadril do militar braco_dir int 3 Circunferência do braço do militar Abdome int 3 Circunferência do abdome do militar Antebraço_dir int 3 Circunferência do antebraço do militar Flx_test1 int 1 Exercício de flexão corporal nº 1 Flx_test2 int 1 Exercício de flexão corporal nº 2 Flx_test3 int 1 Exercício de flexão corporal nº 3 Flx_test4 int 1 Exercício de flexão corporal nº 4 Flx_test5 int 1 Exercício de flexão corporal nº 5 46 Abdominal int 3 Número de repetições Flexão int 3 Número de repetições Corrida int 4 Distância percorrida Treinado Boolean -- Guarda a informação a respeito do treinamento do militar Fonte: Pesquisa de Campo (2016) 3.7 Interface Visual do Sistema 3.7.1 Tela de Apresentação do Aplicativo (Splash Screen) Ao acessar o aplicativo é exibida a tela de apresentação com o nome do aplicativo, uma logo e o nome do desenvolvedor. Figura 13: Tela de Apresentação (Splash Screen) Fonte: Pesquisa de Campo (2016) 47 3.7.2 Tela Principal do Aplicativo Após a inicialização do aplicativo, é mostrada a tela principal da aplicação, onde é disponibilizada a lista de todos os avaliados e a lista dos avaliados para o dia atual (a data corrente). Nesta tela é possível realizar a alteração da data da aplicação, excluir avaliados, compartilhar resultados e obter informações sobre o aplicativo. Figura 14: Tela Principal do Aplicativo Fonte: Pesquisa de Campo (2016) 48 3.7.3 Tela de Informações Sobre o Aplicativo Na tela principal do aplicativo, ao clicar no menu Sobre, ou no botão direito do aplicativo, é mostrado a tela de informações sobre o aplicativo. O link “Referência Bibliográfica” abre a página web no endereço <www.livroandroid.com.br> e o link Suporte, dispara um e-mail para o desenvolvedor do aplicativo, a fim de relatar erros Figura 15: Tela de informações sobre o Aplicativo Fonte: Pesquisa de campo (2016) 49 3.7.4 Tela do Menu Lateral Na tela principal da aplicação ao clicar no ícone do Menu Lateral, este é exibido, disponibilizando ao usuário as seguintes funcionalidades: Todos os Dias: permite ao usuário a visualização da lista contendo todos os avaliados. Dia Atual: permite ao usuário a visualização da lista dos avaliados selecionados para a data corrente; Cadastrar Militar: permite ao usuário cadastrar um novo avaliado; Sobre o Autor: permite ao usuário obter informações sobre o autor da aplicação e; Configurações: permite ao usuário acessar a tela de configurações. Figura 16: Menu Lateral Fonte: Pesquisa de Campo (2016) 50 3.7.5 Tela de Cadastro O selecionar “Cadastrar Militar” no Menu Lateral, ou clicar no Botão Flutuante da Tela Principal, é exibida a tela de cadastro, onde é possibilitado ao usuário o cadastro de um novo avaliado. O cadastro é dividido em duas fases, na primeira são preenchidos os dados pessoais do novo avaliado e na segunda tela é escolhida a foto pra o novo usuário. Figura 17: Tela de Cadastro - 1º Fase Fonte: Pesquisa de Campo (2016) 51 Figura 18: Tela de Cadastro - 2º Fase Fonte: Pesquisa de Campo (2016) 52 3.7.6 Tela de Detalhes da Ficha do Avaliado Ao selecionar um militar, em uma das listas de avaliados, é exibida a tela de detalhes da ficha do avaliado, onde é possível preenchimento dos dados referentes à avaliação. Nesta tela também é possibilitado ao usuário: alteração da data da avaliação, a exclusão do usuário e o compartilhamento dos dados da ficha do avaliado. Figura 19: Tela de Detalhes da Ficha do Avaliado Fonte: Pesquisa de Campo (2016) 53 3.7.7 Telas de Confirmação Ao clicar no ícone de alteração na Barra de Contexto, em qualquer uma das telas que o disponibilize, é exibida uma mensagem para a alteração da data. Ao preencher o campo, o usuário clica em atualizar para confirmar alteração ou clica no botão voltar para abortar a alteração. Figura 20: Mensagem de Alteração da Data Fonte: Pesquisa de Campo (2016) Conforme o idem anterior, ao clicar no ícone de exclusão de avaliado é exibida uma mensagem de confirmação da ação, onde o usuário escolhe sim para confirmar a decisão ou não para abortar a ação. Figura 21: Mensagem de Confirmação de Exclusão Fonte: Pesquisa de Campo (2016) 54 Tem se também a mensagem de compartilhamento, que é exibida quando o usuário clica no ícone de compartilhamento. Na mensagem serão exibidos os aplicativos de compartilhamento de texto disponíveis no aparelho onde o aplicativo encontra-se instalado. Cabe ao usuário escolher o que melhor lhe convém. Figura 22: Mensagem de Compartilhamento Fonte: Pesquisa de Campo (2016) Obs.: Como a figura acima foi obtida através do emulador (AVD), o resultado é bem diferente do comum em aparelhos normais, onde normalmente aparecem como opção para compartilhamento os aplicativos Bloetooth e o Gmail Por último tem-se a mensagem de confirmação de saída, que é exibida quando o usuário estando na tela principal, clica no botão voltar. Ao confirmar o aplicativo é encerrado, caso o usuário não queira encerrar o aplicativo basta selecionar a opção “não” para permanecer com a aplicação ativa. Figura 23: Mensagem de Confirmação de Saída Fonte: Pesquisa de Campo(2016) 3.7.8 Tela de informações: Sobre o Autor Ao selecionar a opção Sobre o Autor no Menu Lateral é exibido o perfil do autor no Google+, onde é possível obter informações sobre ou entrar em contato com este. Figura 24: Tela Sobre o Autor Fonte: Pesquisa de Campo (2016) 55 3.7.9 Tela Dia Atual Ao selecionar a opção Dia Atual no Menu Lateral é exibida uma tela contendo a lista de todos os avaliados com a avaliação marcada pra a data corrente. Figura 25: Lista do Dia Atual Fonte: Pesquisa de Campo (2016) 56 4 CONCLUSÃO E TRABALHOS FUTUROS 4.1 Conclusão Como a informação tem se tornado o principal ativo para qualquer empresa, independente do tamanho que possua, o seu valor passa a apresentar maior significância, conforme aumento da sensibilidade das respostas recorrentes de alterações nas bases de dados que alimentam suas fontes de informações. A busca por meios mais eficientes de aquisição, tratamento e disponibilização de informações, tem levado as empresas da atualidade a repensarem a abordagem aos seus processos de negócio, na busca por inovações tecnológicas que as auxilie em suas tarefas do cotidiano, facilitando assim tais processos e, por conseguinte, o aumento de sua eficácia. Com o surgimento dos dispositivos móveis, o ambiente de negócios vem sendo influenciado cada vez mais pelas facilidades apresentadas por estes dispositivos. A cada dia, um sistema que antes operava somente em plataformas web, surge a necessidade de sua operação também em dispositivos móveis, devido à portabilidade e às facilidades de usos apresentadas por tais. Com isto, a informação passa a estar disponível a qualquer momento e em qualquer lugar, que se julgue necessário. É neste contexto que surgira a necessidade do desenvolvimento de um sistema móvel para o agendamento, aplicação e emissão de resultados concernentes à aplicaçãodo Teste de Aptidão e Condicionamento Físico, voltados ao âmbito militar no contexto da Força Aérea Brasileira. Além da inovação apresentada por tal trabalho, a novidade de um sistema móvel voltado à aplicação do TACF ajudará a realçar sua importância no meio militar e no estímulo à prática da educação física por partes deste. O SISTAC oferecerá aos aplicadores de Teste Físico, maior agilidade no processo de avaliação, resultado decorrente das inovações tecnológicas proposta por este trabalho, assim também como promoverá melhorias na aquisição das informações a respeitos dos avaliados, na manutenção e na persistência dos dados oriundos de tal Teste, como consequência da redução do tempo entre avaliação e resultado, o que promoverá maior efetividade para todo o processo de aplicação deste. Tem-se, portanto, que os objetivos elencados neste trabalho foram atendidos de maneira eficaz e consistente, e que as melhorias aqui apresentadas influenciarão positivamente no cotidiano de cada envolvido nas aplicações dos Testes de Aptidão e Condicionamento Físico, subsequentes à implantação de deste Sistema. 57 4.2 Trabalhos Futuros Apesar dos objetivos proposto neste trabalho terem sido alcançados conforme o planejado, o escopo aqui tratado deverá ser explorado após sua implantação e lançamento no CINDACTA I. Possivelmente será necessário ouvir novamente aos usuários a fim de promover melhorias e a correção de eventuais falhas que vier ocorrer. O SISTACF deverá acompanhar a dinamicidade e as mudanças nas normas regulamentais do TACF. A documentação gerada neste trabalho auxiliará na manutenção, no desenvolvimento de novas funcionalidades e no processo de melhoria contínua desta aplicação. 58 5 BIBLIOGRAFIA ASTAH. Astah Release Notes. Disponível em: <http://astah.net/release-notes>. Acessado em: 07 mar. 2016. CARBONERI. Carlos E. Z. Aplicativo Para Acompanhamento de Produção de Concreto em Dispositivo com Sistema Operacional Android. Taguatinga, DF: 2012. 67f. Trabalho de Conclusão de Curso (Bacharelado em Sistemas de Informação) – Faculdade De Ciências Sociais e Tecnológicas – FACITEC. DEITEL, Paul J. ; DEITEL, Harvey. Java Como Programar. 8. ed. São Paulo: Pearson Prentice Hall, 2010. DEVELOPER. Android The Word’s Most Popular Mobile Platform. Disponível em: <http://developer.android.com/intl/pt-br/about/android.html>. Acesso em: 06 mar. 2016. ___________. Android Studio. Disponível em: <http://developer.android.com/sdk>. Acesso em: 06 mar. 2016. ___________. What is API Level? Disponível em: <http://developer.android.com/intl/pt- br/guide/topics/manifest/uses-sdk-element.html>. Acesso em: 11 mar. 2016 ___________. Platform Versions. Disponível em: <http://developer.android.com/intl/pt- br/about/dashboards/index.html>. Acesso em 30 abr. 2016. HELDER, Guimarães A. Desenvolvendo Aplicativos Para a Plataforma Google Android: uma abordagem didática. 1. ed. Salvador, BA: Edição do autor, 2016. E-book. Disponível em: <https://sites.google.com/site/helderaragao/>. Acesso em: 06 mar. 2016. JAVA. Obtenha Informações Sobre a Tecnologia Java. Disponível em: <https://www.java.com/pt_BR/about/#top>. Acesso em 12 mar. 2016. LECHETA, Ricardo R. Google Android: aprenda a criar aplicações para dispositivos móveis com o Android SDK. 5. ed. São Paulo: Novatec, 2015. 59 MENDES, Leonardo P.; SANTANA, Marcos Paulo M. Aplicativo Para Gerenciamento de Partidas de Futebol em Dispositivos Com Sistema Operacional Android. Taguatinga, DF: 2012. 66f. Trabalho de Conclusão de Curso (Bacharelado em Sistemas de Informação) – Faculdade De Ciências Sociais e Tecnológicas – FACITEC. OFICINADANET. Apostila: XML descrição Disponível em: <https://www.oficinadanet.com.br/apostilas/190/xml>. Acesso em: 12 mar. 2016. POCKETHACKS. T-Mobile G1. Disponível em:<http://pockethacks.com/wp- content/uploads/2011/01/t-mobile-g1-android-2.3.jpg>. Acesso em: 10 mar. 2016 SEBESTA, Robert W. Conceitos de Linguagem de Programação. 9. ed. Porto Alegre: Bookman, 2011. SOURCE. Welcome To the Android Open Source Project. Disponível em: <http://source.android.com/>. Acesso em 06 mar. 2016. SQLITE. About SQLite. Disponível em: <http://www.sqlite.org/about.html>. Acesso em: 06 mar. 2016. VENTAVOLI, Fabíola M. A. Introdução a UML. 1. ed. Mococa: livro eletrônico: E-book, 2014. Disponível em: <http://www.amazon.com.br/gp/product/B00PX71A7C?keywords=uml&qid=1457817719&r ef_=sr_1_2_twi_kin_1&sr=8-2> Acesso em: 12 mar 2016.
Compartilhar