PANDA Portal de Armazenamento em Nuvem Dedicado ao Aluno



Documentos relacionados
ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource Rev: 02

Programação para Dispositivos Móveis

Engenharia de Software III

Orientação a Objetos

MANUAL DO ALUNO PARA NAVEGAR NO AMBIENTE VIRTUAL DE APRENDIZAGEM - AVA

Microsoft Access XP Módulo Um

ROTEIRO PARA TREINAMENTO DO SAGRES DIÁRIO Guia do Docente

API's e Aplicações para Android

MANUAL DO GERENCIADOR ESCOLAR WEB

INTRODUÇÃO 2 ACESSO AO SIGTECWEB 3 TEMPO DE CONEXÃO 5 NAVEGAÇÃO 7 BARRA DE AÇÕES 7 COMPORTAMENTO DOS BOTÕES 7 FILTROS PARA PESQUISA 8

Aplicação Prática de Lua para Web

02 - Usando o SiteMaster - Informações importantes

MINISTÉRIO DO DESENVOLVIMENTO AGRÁRIO SUBSECRETARIA DE PLANEJAMENTO, ORÇAMENTO E ADMINISTRAÇÃO COORDENAÇÃO-GERAL DE MODERNIZAÇÃO E INFORMÁTICA

Portal Sindical. Manual Operacional Empresas/Escritórios

Tutorial Plone 4. Manutenção de Sites. Universidade Federal de São Carlos Departamento de Sistemas Web Todos os direitos reservados

O Windows 7 é um sistema operacional desenvolvido pela Microsoft.

1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2.

Manual UNICURITIBA VIRTUAL para Professores

Plano de Gerenciamento do Projeto

Manual do Visualizador NF e KEY BEST

SISTEMA DE E-LEARNING. efaculdade MANUAL DO ALUNO

Histórico de Revisão Data Versão Descrição Autor

Operador de Computador. Informática Básica

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:

Construtor de sites SoftPixel GUIA RÁPIDO - 1 -

MANUAL DE UTILIZAÇÃO

Programação para Android. Aula 06: Activity, menus e action bar

Bem- Vindo ao manual de instruções do ECO Editor de COnteúdo.

Manual do usuário. v1.0

Trabalho Interdisciplinar. MS Project

DMS Documento de Modelagem de Sistema. Versão: 1.4

Manual do Sistema "Vida Controle de Contatos" Editorial Brazil Informatica

Histórico da Revisão. Data Versão Descrição Autor

MANUAL DA SECRETARIA

Manual Administrador - Mídia System

Guia de Demonstração MeusPets

Desenvolvendo Websites com PHP

Guia Prático de Acesso

Noções de. Microsoft SQL Server. Microsoft SQL Server

Registro e Acompanhamento de Chamados

UNIVERSIDADE FEDERAL DO PARANÁ. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o.

1ª PARTE DIÁRIOS ELETRÔNICOS

Engenharia de Requisitos Estudo de Caso

SUMÁRIO Acesso ao sistema... 2 Atendente... 3

O GEM é um software 100% Web, ou seja, você poderá acessar de qualquer local através da Internet.

DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN

Sumário. Tutorial: Editor de Exercícios Online para o professor

MANUAL DE UTILIZAÇÃO DO SISTEMA GLPI

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL

SUAP Módulo Protocolo Manual do Usuário DTI DIRETORIA DE TECNOLOGIA DA INFORMAÇÃO SEÇÃO DE PROJETOS, SISTEMAS E PROCESSOS DE NEGÓCIO

Aula 01 - Formatações prontas e condicionais. Aula 01 - Formatações prontas e condicionais. Sumário. Formatar como Tabela

SMS Corporativo Manual do Usuário

DESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID

Google Drive. Passos. Configurando o Google Drive

Personalizações do mysuite

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano

FCT Faculdade de Ciências e Tecnologia Serviço Técnico de Informática STI SGCD Sistema Gerenciador de Conteúdos Dinâmicos

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

Tema UFPel 2.0 WP Institucional Guia de Opções de Personalização

SISTEMA DE GERENCIAMENTO DE PROJETOS - REDMINE MANUAL DE USO

Sistema de Gestão de Recursos de Aprendizagem

Manual da Turma Virtual: MATERIAIS. Para acessar a turma virtual com o perfil Docente, siga o caminho indicado abaixo:

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

Manual de Utilização

Notas de Aula 05: Aplicação de um caso de uso

Aula 1: Noção Básica e Criação de Tabelas.

MANUAL DO PVP SUMÁRIO

Gerenciador de Congressos de Iniciação Científica Manual de Instruções

Sistema de Controle de Solicitação de Desenvolvimento

Portal do Senac: Área Exclusiva para Alunos Manual de Navegação e Operação

Sistemas Operacionais

Manual Geral do OASIS

Banco de Dados I Introdução

Status. Barra de Título. Barra de Menu. Barra de. Ferramentas Padrão. Caixa de nomes. Barra de. Ferramentas de Formatação. Indicadores de Coluna

O Windows 7 é um sistema operacional desenvolvido pela Microsoft.

ANDRÉ APARECIDO DA SILVA APOSTILA BÁSICA SOBRE O POWERPOINT 2007

Entendendo como funciona o NAT

Treinamento GVcollege Módulo Acadêmico - Pedagógico

EIMOBILE INSTITUIÇÕES DE ENSINO MOBILE

Modelagemde Software Orientadaa Objetos com UML

Sistema de Gerenciamento Remoto

Manual Portal Ambipar

Software automatizado para controle de consultas da clínica de fisioterapia

CONFIGURAÇÃO DE REDE SISTEMA IDEAGRI - FAQ CONCEITOS GERAIS

MANUAL DE UTILIZAÇÃO SISTEMA DE CADASTRO INTRANET

ANEXO III. PROJETO DE LONGA DURAÇÃO

Manual de Utilização do Zimbra

UM NOVO CONCEITO EM HOSPEDAGEM DE DOMÍNIO

MANUAL DE SUPORTE. Controle de Suporte. Este manual descreve as funcionalidades do controle de suporte.

UNIVERSIDADE FEDERAL DE GOIÁS CERCOMP (CENTRO DE RECURSOS COMPUTACIONAIS) TUTORIAL DE USO DO WEBMAIL - UFG

Manual do Painel Administrativo

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO

MANUAL DO ALUNO PARA NAVEGAR NO AMBIENTE VIRTUAL DE APRENDIZAGEM - AVA

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

Banco de Dados. Microsoft Access

Iniciação à Informática

Introdução a Informática - 1º semestre AULA 02 Prof. André Moraes

Transcrição:

INSTITUTO FEDERAL DO PARANÁ Campus Paranaguá Caroline dos Santos Gomes Eduardo Pacheco Carreiro Braga PANDA Portal de Armazenamento em Nuvem Dedicado ao Aluno Paranaguá 2013

Caroline dos Santos Gomes Eduardo Pacheco Carrero Braga PANDA Portal de Armazenamento em Nuvem Dedicado ao Aluno Trabalho de Conclusão de Curso apresentado ao Curso Técnico de Informática do Instituto Federal do Paraná Campus Paranaguá, como requisito parcial de avaliação. Orientador: Gil Eduardo de Andrade Paranaguá 2013

AGRADECIMENTOS Primeiramente a Deus, por nos proporcionar e nos dar condições de viver grandes experiências como esta, nos dando mais conhecimento e responsabilidade. A todos que participaram do processo de criação deste trabalho, que nos apoiaram e ajudaram, mesmo que indiretamente, a concluir este projeto. Aos familiares e amigos que estiveram sempre presentes em nossa vida, e nos deram um propósito, nos incentivando a dar o melhor de nós para ultrapassar mais esta etapa. A turma Informática 2011, que nos acompanhou desde então, e se tornou uma grande família que iremos levar em nossos corações para sempre, e ter a satisfação de lembrar cada momento que vivemos juntos, cada risada e cada sofrido bimestre. Ao núcleo de docentes do IFPR Campus Paranaguá, por fazer de nós cidadãos diferenciados, por se doar inteiramente a nós, tendo como único objetivo o nosso sucesso. Dedicamos a vocês total reconhecimento, de todo aprendizado que nos foi passado, e das pessoas que nos tornamos hoje. E, sobretudo, ao amigo (a) e meu (minha) companheiro (a) de trabalho de conclusão de curso, por cada etapa que conquistamos, pelo aprendizado que adquirimos juntos, a experiência do trabalho em grupo, pela paciência, união e determinação, em busca de uma única finalidade. Com certeza, não poderia ser qualquer outra pessoa além de nós.

RESUMO Os sistemas organizacionais que os colégios usam para a divulgação de notas acarretam em constrangimento por parte dos alunos, e serviço sobrado da parte dos funcionários, principalmente se estes optarem por seguir prazos propostos. Muitas vezes, a pessoa responsável em publicar os editais terá que refazer o seu trabalho, para substituir ou colocar informações que faltaram anteriormente. O PANDA tem como proposito eliminar todas as versões de editais de conceitos, publicando estes virtualmente para acesso via smartphone. Para poder acessar as informações, o aluno precisará obter em seu smartphone o PANDA App, ligado remotamente ao PANDA Web, sistema onde ocorre a inserção das informações. Isso permite que as alterações sejam feitas a qualquer momento por docentes e funcionários cadastrados no sistema Web. Palavras-chave: Informatização. Dispositivos Móveis. Instituição de ensino.

ABSTRACT The Organizational systems that schools use to disclosure of notes cause embarrassment on the part of students, and double service for employees, especially if they choose to follow proposed deadlines. Often, the person responsible to publish the notices will have to redo your work, to replace or put information that previously lacked. The PANDA purpose is to remove all versions of notices of notes, publishing these virtually for access via smartphone. To access the information, the student will need to get on your smartphone the PANDA App, remotely connected to the PANDA Web, system that entering the information. Therefore, the changes may be made at any time by faculty and staff registered in the system Web. Keywords: Informatization. Mobile Devices. Educational institution.

LISTA DE SIGLAS PANDA PHP JVM UI APP XML CSS HTML MVC Portar de Armazenamento em Nuvem Dedicado ao Aluno Personal Home Page Java Virtual Machine User Interface Aplicativo Extensible Markup Language Cascading Style Sheets Hiper Text Markup Language Model, View, Control.

LISTA DE FIGURAS Figura 1 - Ciclo de Vida de Activity... 13 Figura 2 - Exemplo Intent... 15 Figura 3 ViewGroup... 16 Figura 4 - Diagrama de Caso de Uso App... 20 Figura 5 - Diagrama de Caso de Uso PHP... 21 Figura 6 Representação... 23 Figura 7 - Diagrama de Classes PHP... 24 Figura 8 - Diagrama de Classes App... 25 Figura 9 - Diagrama de Sequencia App... 27 Figura 10 - Diagrama de Sequencia PHP... 28 Figura 11 - Modelo Conceitual... 30 Figura 12 - Modelo Relacional... 32

SUMÁRIO 1 INTRODUÇÃO... 8 1.1 Motivação... 8 1.2 Desafios... 8 1.3 Objetivos... 9 1.4 Contribuições Esperadas... 9 2 Fundamentação Teórica... 11 2.1 Introdução ao Android... 11 2.1.1 Classe R... 11 2.1.2 Activity... 11 2.1.3 Intent... 14 2.1.4 Interface Gráfica... 15 2.1.5 Banco de Dados... 16 2.1.6 Web Service... 17 2.2 Breve comentário sobre PHP... 17 2.2.1 HTML e Orientação a Objetos... 18 3 METODOLOGIA... 19 3.1 Modelagem do Sistema... 19 3.1.1 Diagrama de Caso de Uso... 19 3.1.2 Diagrama de Classes... 23 3.1.3 Diagrama de Sequencia... 26 3.2 Modelagem do Banco de Dados... 29 3.2.1 Modelo Conceitual... 29 3.2.2 Modelo Relacional... 31 4 TESTES E VALIDAÇÕES... 33 5 CONCLUSÃO... 37 REFERÊNCIAS... 38

8 1 INTRODUÇÃO O Portal de Armazenamento em Nuvem Dedicado ao Aluno - PANDA - surge com a proposta de integrar a tecnologia móvel dos smartphones ao mundo acadêmico. Analisando detalhadamente, percebe-se que o acesso às informações curriculares, em sua maioria, é feita de forma precária, ou nem mesmo chega a acontecer, visto que não existem meios tecnológicos que permitam que isso ocorra. Sendo assim, o principal foco do sistema é facilitar o acesso a essas informações de maneira pratica, disponibilizando as mesmas em um servidor web para acesso via aplicativo Android. 1.1 Motivação Com o alto alcance, a nível social, dos dispositivos móveis através da plataforma Android, a procura de aplicativos faz com que desenvolvedores apostem nesse mercado. Associar a tecnologia dos smartphones ao mundo acadêmico se torna uma escolha inovadora, pois pode resolver problemas enfrentados atualmente. 1.2 Desafios Os principais desafios encontrados no PANDA são: - Realizar uma pesquisa aprofundada sobre uma plataforma tecnológica(android) não ministrada no curso para criar o projeto PANDA. - Utilizar de forma otimizada todas as ferramentas disponíveis na plataforma Android: Itents. - Integrar as tecnologias PHP e Java (Android) permitindo que a atualização remota dos dados funcione adequadamente. - Criar um sistema acessível e de fácil manipulação, permitindo a utilização intuitiva de todo o aplicativo.

9 1.3 Objetivos Os objetivos do sistema proposto são: - Desenvolver um software que tenha como função: dispor notas, horários, frequência, nome, e-mail e horários de atendimento dos professores, via aplicativo Android. - Administrar os dados pessoais dos alunos através do desenvolvimento de um sistema em linguagem PHP. Fará parte do aplicativo: alterações, exclusões e inserções desses dados. Estas tarefas ficarão disponíveis apenas para funcionários da instituição cadastrados. - Desenvolver um aplicativo para plataforma Android que possibilite a comunicação usuário-smartphone-sistema web em tempo real, com objetivo de comunicar os alunos cadastrados sobre horário de aula, lembretes de prova e trabalhos. Isso se torna possível, pelo fato de cada aluno possuir uma conta com login e senha. 1.4 Contribuições Esperadas Com a integração do PANDA em instituições de ensino a ineficiência não mais será recorrente, pois hoje, a demanda tecnológica faz com que problemas sejam resolvidos mais rapidamente. Com o uso de um software dedicado a tarefas acadêmicas, almeja-se minimizar as dificuldades encontradas ao procurar por informações acadêmicas do dia-a-dia. Portanto, o aluno poderá ter acesso em seu smartphone seus dados curriculares, tendo controle de suas informações. O PANDA economizará o tempo gasto pelos alunos para obter estas informações, pois com ele, seus dados serão atualizados simultaneamente. Privará os desentendimentos que podem acontecer ao procurar uma informação, como não receber a informação que procurava, ou até correr o risco de finalizar sua procura sem uma resposta definida. O aplicativo tem como proposta também economizar papeis que serão desnecessários ao serem expostos nos murais, que são usados

hoje para a disponibilização de relatos institucionais. 10

11 2 FUNDAMENTAÇÃO TEÓRICA 2.1 Introdução ao Android A plataforma Android é um produto da empresa Open Handset Alliance, voltada ao mercado de telefonia. Foi a primeira a desenvolver uma plataforma gratuita, livre e completa. Para estimular a inovação, o Google patrocinou duas séries do "Android Developer Challenges," onde milhões de dólares foram investidos. Hoje conta-se com mais de 50% dos smartphones contendo o sistema Android. O sistema operacional Android é baseado no kernel 2.6 do Linux, que é responsável pelo gerenciamento de memória dos processos que são executados simultaneamente. Ele controla a memória livre com privilégios de execução, podendo encerrar processos para liberar memória, e posteriormente retomar a atividade, se for possível e necessário. A Java Virtual Machine (JVM) trabalha com a interpretação dos códigos, permitindo a execução do programa. Entretanto a plataforma Android usa uma maquina virtual específica denominada Dalvik, mesmo utilizando a linguagem Java. 2.1.1 Classe R A classe R é gerada automaticamente pelo Eclipse assim que o projeto é criado, e nunca deverá ser alterada, pois leva em si constantes, e outros recursos para o programa. É atualizada sempre que há uma mudança no programa. 2.1.2 Activity Ao desenvolver uma aplicação para Android, devemos estar familiarizados com

12 alguns conceitos básicos relacionados à sua estrutura. Entre eles, podemos mencionar dois elementos essenciais para toda aplicação: as Activitys e os Intents. Uma Activity é umas das classes mais importantes, sendo responsável pela interface, ou seja, interação com o usuário. Para cada tela da aplicação, necessariamente será declarado uma classe Activity. As Activitys funcionam em pilha, sendo assim, sempre uma janela irá sobrepor a outra até ser a que está executando seja interrompida e destruída. A Figura 1 representa os possíveis ciclos de uma Activity. A enumeração não segue uma ordem de ocorrência.

13 Figura 1 - Ciclo de Vida de Activity 1. Acontece, por exemplo, quando o usuário pressionou num ícone de aplicação. 2. O método oncreate() é responsável por criar as views¹ do programa, e liga-los ao método setcontentview². ¹ view são componentes gráficos (botões, checkbox...). ² setcontentview faz a ligação entre a Activity (janela) e a view.

14 3. O método onstart () serve para preparar a janela que será mostrada ao usuário. 4. O método onresume() atualizará a pilha, tonando a Activity a janela principal. 5. A Activity está disponível para usuário, e pronta para qualquer interação. 6. O método onpause() será utilizado quando houver uma atividade inesperada no celular, como uma chamada, será posto no topo da pilha a Activity de ligações e a Activity que estava sendo utilizada ficará em segundo plano até encerrar a ligação. Então, será chamado o método onresume() novamente. 7. Ao sair de uma aplicação, é chamado o método onstop(), e a Activity não está mais disponível ao usuário, geralmente acontece quando outra Activity é iniciada. 8. O método onrestart() só é chamado por Activitys que estão em segundo plano, fazendo com que seja chamado o método onstart(), e a Activity irá se sobrepor as outras outra vez. 9. Após ficar certo tempo inativa, a Activity é destruída automaticamente pelo método ondestroy(), junto com a aplicação. Importante advertir que a Activity é apenas a tela exibida, sem nenhum layout. Geralmente, para adicionarmos conteúdo nas Activitys, devemos utilizar os arquivos específicos para definir a aparência (XML de layout do Android), nos quais se definem todos os elementos visuais, tais como botões e imagens. 2.1.3 Intent Intent é uma mensagem que sempre é enviada ao sistema operacional a fim de executar qualquer tarefa. Isto é, a Intent manda a mensagem, o sistema operacional irá interpretar esta mensagem e executará o que está sendo pedido, como: abrir uma Activity, abrir uma nova aplicação, ligar para determinado número, abrir o browser, entre outras coisas. Para entender melhor, iremos mostrar como exemplo a figura 2, onde é feita a chamada de uma Activity.

15 Figura 2 - Exemplo Intent Na primeira linha observamos que ao iniciar uma Intent, o construtor recebe a Activity que queremos executar. Ao chamar o método startactivity(it), a mensagem é enviada ao sistema operacional, que ele interpretará mais ou menos dessa forma: Minha intenção/ vontade é abrir a Tela. Intents trabalham em quase todo processo funcional do Android. Para toda ação exercida sobre o smartphone, será gerado uma Intent, que se comunicará com o sistema operacional, possivelmente resultando numa reação que seria, por exemplo, a Activity de uma nova aplicação na tela. 2.1.4 Interface Gráfica A plataforma Android oferece uma coleção de ferramentas de suporte a representação e construção de componentes de interfaces gráficas (UI User Interface), assim como um conjunto pré-definidos de componentes. O Android usa componentes gerenciadores de layout parecidos com o Java. Pode ser manipulado em forma de grade, ou por coordenadas x e y. O que é muito usual é utilizar estilos CSS. Funciona como um código genético da aparência do programa, e deixa o trabalho mais organizado por separar interface de função. Quando pensamos em interface gráfica de um aplicativo Android devemos ter em mente o que significa View e ViewGroup. Ambos representam qualquer componente visual que você visualizar na tela do aparelho. A View é classe-mãe dos componentes gráficos, responsável por desenhar estes na tela, a classe básica para widgets, que são usados para criar componentes de UI interativos (botões, caixas de texto, etc.). ViewGroup é a classe-mãe dos gerenciados de layout. São containers invisíveis que contém Views (ou outros ViewGroups, como na figura 3) e definem as propriedades desse layout. Este é responsável por organizar os componentes visuais, e a ordenação deles na tela. Por exemplo:

16 AbsoluteLayout: possibilita posicionar os componentes fornecendo as coordenadas x e y. RelativeLayout: Permite alocar os componentes com posições relativas de outro componente, que a ViewGroup interpretará como "ao lado deste componente já existente" ou "em baixo", entre outros. TableLayout: Organização em forma de tabela. Figura 3 ViewGroup 2.1.5 Banco de Dados É muito raro encontrarmos um aplicativo para dispositivos móveis que não façam uso de qualquer forma de persistência de dados. Isso acontece porque todas as vezes que o aplicativo é fechado, os dados que lá estavam iriam ser perdidos caso não fossem armazenados. O banco de dados é onde será guardado todo e qualquer tipo de informação do sistema. É organizado em linhas e colunas, especificando as características da informação, chamadas de tabelas. O Android tem a integração com o SQLite, que é recomendado por sua simplicidade de realização de determinadas tarefas, exigindo pouca manutenção, com seu foco não sendo em tarefas exijam muito acesso ao banco de dados, e dispositivos de sistema embarcado entram nesse quesito, pois é de baixo custo computacional e não possui funções complexas.

17 O SQLite permite a interação de mais que uma linguagem de programação, permitindo que o PANDA realize tarefas inteiramente seguras em questão a base de dados, e ao trafego dessas informações. 2.1.6 Web Service Web Service é uma solução utilizada na interação entre sistemas e na comunicação entre aplicações diferentes. Com esta tecnologia é possível que novas aplicações possam compartilhar dados com aquelas que já existem e que sistemas desenvolvidos em plataformas diferentes sejam compatíveis. Para que possam se comunicar, toda forma de conversação se dá através da linguagem XML. São bastante utilizados pela segurança da informação que transmite, sendo hoje o principal método usado mundialmente na internet, além do XML, é o HTTP.. 2.2 Breve comentário sobre PHP Criado por Rasmus Lerdorf em 1995, o PHP é uma linguagem open source usada originalmente apenas para o desenvolvimento de aplicações capazes de gerar conteúdo dinâmico no mundo da internet. A interação entre a linguagem e o usuário é feita pelo HTML, que é responsável pela parte gráfica da pagina Web. É multiplataforma, portanto aceita diversos sistemas operacionais, dentre eles os mais usados como Windows e Linux. Sua interação com grande quantidade de banco de dados é uma das características da linguagem. Atrelando sua simplicidade e rapidez o PHP tornou-se uma excelente escolhe para quem quer desenvolver tanto em linguagem estrutural como orientada a objetos. O PHP tem emprego muito abrangente. A escolha de uma única linguagem oficial para se trabalhar com um projeto muitas vezes não se torna viável devido a inúmeras linguagens diferentes. O PHP trabalha muito bem, concomitantemente a

18 outras linguagens de programação, é recorrente os programadores buscarem o PHP para solucionar alguns problemas. Seu campo de atuação se torna grande por ter dedicação ao mundo web, e por ser muito flexível as tarefas desejadas. 2.2.1 HTML e Orientação a Objetos PHP e HTML possuem muita interação: PHP pode trabalhar em meio ao HTML, e o HTML pode passar informações para o PHP. Fazendo a ponte entre o usuário e o servidor, o HTML passa todos os dados através de caixas de texto, listas de opções, botões, entre outros. As duas linguagens estão entrelaçadas no código fonte, sendo que o HTML não interfere na execução do PHP, dando flexibilidade ao programador de desenvolver múltiplas tarefas no PHP, e decidir o que/como será visualizado pelo usuário através do HTML. Trabalhar com PHP de forma estruturada é um caminho utilizado por muitos desenvolvedores que aproveitam a forma sintetizada e simples do PHP. A orientação a objetos foi agregada ao PHP em sua terceira versão (1998) e foi sendo aprimorado até então. A Utilização dos objetos possibilitou que os dados não fossem mais como simples valores, mas um conjunto fixo de vários atributos que constituem um objeto. A orientação objetos do PHP deixa evidente a separação MVC, que será explicado logo à frente.

19 3 METODOLOGIA A metodologia proposta tem como objetivo especificar como o sistema será desenvolvido, tendo como ferramentas o estudo e elaboração de diagramas sobre a modelagem do sistema, utilizados como referência durante toda a etapa de desenvolvimento. São usados para transpor um programa orientado a objetos, em formato de esquemas, de forma que fiquem visíveis as ações do programa, qual a relação entre as atividades realizadas pelo usuário e pelo sistema. Também serão definidos e apresentados todos os recursos computacionais necessários, tais como: linguagens de programação, linguagem de consulta estruturada (sql) entre outros. 3.1 Modelagem do Sistema A modelagem do sistema é uma etapa importante no processo de desenvolvimento e definição do escopo do software. A diagramação ajuda a compreender como o sistema deverá ser elaborado, e será usado por longo de todo desenvolvimento do projeto, por isso os diagramas são elaborados antes, para servir como principal referencia de qual caminho seguir, e conforme a evolução do projeto eles poderão ser alterados. 3.1.1 Diagrama de Caso de Uso O diagrama de caso de uso descreve a funcionalidade proposta para um novo sistema que será projetado. Ele descreve quais são as possíveis ações do ator, no caso o usuário, sobre o sistema e qual será a resposta a este. O diagrama representado na figura 4 mostra quais são as etapas do ator para consultar suas notas via aplicativo.

20 Figura 4 - Diagrama de Caso de Uso App Caso de Uso: Ator Principal: Ator Secundário: Resumo: Pré-Condições: Ações do Ator 1. Login 4. Menu Conceitos 6. Menu Horários App (Aplicativo Android) Aluno Aplicativo Descreve as tarefas dispostas no App Cadastro do Aluno Ações do App 2. Validar senha 3. Abrir no menu principal do Aluno 5. Mostrar Conceitos referentes ao aluno 7. Mostrar Horários referente a Turma que o aluno pertence Esse diagrama representa apenas a interação do usuário e o aplicativo Android. O ator Aluno, que é o ator principal, ao logar no sistema, terá as opções: Acessar Horários de Aula e Acessar Conceitos no aplicativo. Serão retornadas apenas as informações relacionadas a esse determinado aluno, isto é, ao acessar os Horários de Aula, o sistema mostrará ao usuário apenas os horários que estão relacionados a turma a que o aluno pertence. Já ao acessar Conceitos, será disponibilizado apenas os conceitos do usuário logado.

21 A figura 5 mostra como poderá transcorrer a operação do servidor php, ligado remotamente ao banco de dados e ao aplicativo Android. Figura 5 - Diagrama de Caso de Uso PHP Caso de Uso: Ator Principal: Ator Secundário: Resumo: Pré-Condições: Ações do Ator 1. Login 4. Menu Funcionário 5. Novo Funcionário 6. Fornecer dados 9. Alterar informações do Funcionário Panda Web (Sistema Web) Funcionário Sistema Web Descreve as possíveis ações do Funcionário Cadastro do Funcionário Ações do Sistema Web 2. Validar senha 3. Abrir no menu principal do Panda Web 7. Verificar dados e duplicidade 8. Cadastrar novo Funcionário no banco de dados

22 10. Fornecer novas informações 12. Menu Turma 13. Nova Turma 14. Fornecer informações da Turma 17. Alterar informações da Turma 18. Fornecer novas informações 20. Inserir Notas da Turma 21. Fornecer Nota por Aluno 23. Inserir Horário da Turma 24. Fornecer dados 26. Menu Aluno 27. Novo Aluno 28. Fornecer dados 32. Alterar informações do Aluno 33. Fornecer novas informações 35. Acessar Menu Matérias 36. Nova Matéria 37. Fornecer dados 39. Alterar Informações de Matéria 11. Atualizar dados no banco de dados 15. Verificar dados e duplicidade 16. Cadastrar Turma no banco de dados 19. Atualizar dados no banco de dados 22. Atualizar dados no banco de dados 25. Atualizar dados no banco de dados 29. Verificar dados e duplicidade 30. Criar vínculo com Turma 31. Cadastrar Aluno no banco de dados 34. Atualizar dados no banco de dados 38. Cadastrar Matéria no banco de dados 40. Atualizar dados no banco de dados O termo Manter é usado para representar três funções: Inserir, Editar e Excluir, porém o PANDA não terá a função Excluir por questões de segurança de dados. O programa em PHP terá como foco apenas o gerenciamento do banco de dados do sistema.

23 3.1.2 Diagrama de Classes O Diagrama de Classes serve para representar as classes mais importantes do sistema. Servirá como suporte para implementação dessas classes, e também para as classes gerenciadoras e as janelas. O diagrama de classes descreve os vários tipos de objetos no sistema e o relacionamento entre eles, e esse está mais intimo para o programador. O diagrama de classes ajuda a compreender a relação entre os objetos, os tipos de atributos, e seus métodos. Figura 6 Representação A figura 6 mostra a representação do Astah, programa utilizado para a criação dos diagramas. A distinção dos estilos é importante para a estruturação do programa, seguindo o modelo MVC Model, View e Controller (que podemos traduzir superficialmente como na figura, Modelo de Classe, Interface e Controle, não aprofundando a fundamentação do MVC).

Figura 7 - Diagrama de Classes PHP 24

Figura 8 - Diagrama de Classes App 25

26 3.1.3 Diagrama de Sequencia O Diagrama de Sequencia mostrará de forma sequencial os processos resultantes de uma ação do ator, que como já foi dito, é o usuário. Esse diagrama, de forma mais clara, é a junção do diagrama de caso de uso e do diagrama de classes, onde são representados na figura 9 e 10 a seguir os atores e ações feitas sobre o sistema, e como o sistema reagirá, dando a resposta ao usuário. Importante ressaltar que esse tipo de diagrama enfatiza o tempo de sequencia, e representa o comportamento de uma classe ao decorrer desse tempo.

Figura 9 - Diagrama de Sequencia App 27

Figura 10 - Diagrama de Sequencia PHP 28

29 3.2 Modelagem do Banco de Dados A Modelagem do Banco de Dados é a etapa do desenvolvimento do sistema onde são definidas todas as tabelas (entidades) e relações (relacionamentos) para que seja possível especificar como os dados serão armazenados no SGBD. Tendo embasamento nos modelos Modelo Conceitual e Modelo Relacional para criação das tabelas, evitamos que haja duplicação, desvio, ou perda de dados. 3.2.1 Modelo Conceitual O Modelo Conceitual é um diagrama em blocos que demonstra todas as relações entre as entidades, suas especializações, seus atributos e autorrelações. Entidades são tabelas com dados criadas para armazenar somente objetos que tenha o formato dessa tabela. Por exemplo, se uma tabela 'Pessoa', tem como atributo 'Idade' ele não pode armazenar mais dados além da idade da pessoa. Assim funciona igualmente em relações entre entidades. A figura 11 representa como serão organizadas as tabelas e seus atributos. Esclarecendo que a entidade Funcionário não terá relação com nenhuma outra entidade por ser apenas o gerenciador das outras tabelas.

Figura 11 - Modelo Conceitual 30

31 O atributo conceito será fruto da relação de Aluno, Matéria e Bimestre. E cada relação diferente, terá um único resultado. 3.2.2 Modelo Relacional O modelo Relacional deriva do modelo conceitual, por isso há muita semelhança entre os dois. Comparando os diagramas 11 e 12, há muita analogia entre as tabelas, atributos e relações, porém o proposito do modelo relacional é representar as especificações, a realidade de como são organizados os elementos no banco dados.

Figura 12 - Modelo Relacional 32

33 4 TESTES E VALIDAÇÕES O funcionário, ao logar com sua conta no PANDA Web, encontrará 4 opções de menu: Aluno, Turmas, Funcionário, e Matérias. Todos estes menus dão acesso a inserções e alterações de informações. Página inicial Panda Web: Após Login, o funcionário terá acesso ao menu principal de tarefas:

34 Ao acessar o menu Aluno, o funcionário de depara com a pagina de buscas, podendo buscar alunos por Nome, Matricula e Todos, que seria a relação de todos os alunos cadastrados no sistema. Ao acessar o menu Turmas o sistema mostrará a relação de todas as turmas cadastradas e dará acesso a inclusão e alteração dos conceitos e horários, além de incluir novo curso e nova turma. Dentro do menu notas, além do funcionário inserir as notas isoladamente por aluno, ele também poderá gerar um relatório de notas a partir da turma, contendo os alunos, as matérias e a nota.

35 O menu funcionário segue da mesma forma que o menu Aluno, tendo acesso a todos os funcionário cadastrados e podendo inserir e alterar as informações no sistema. E por fim, o menu Matérias, que conta a relação de todas as aulas, o professor que leciona esta materia, a turma a que pertence essa aula, e o horario. No PANDA App se depara com dois menus, que darão acesso a Notas e Conceitos, como no PANDA Web. A forma de vizualização do dados é em forma de

36 lista para melhor vizualização. Lembrando que o Aluno não pode mudar nenhuma informação.

37 5 CONCLUSÃO Através deste estudo, buscamos maneiras para sanar os problemas encontrados e cumprir os objetivos propostos, e concluímos que, para melhor funcionamento, usar duas plataformas diferentes, o Android, para smartphones e o PHP para sistemas web, seria a melhor escolha. O Android, por seu grande crescimento de popularidade e trazendo para a realidade de muitos jovens que agora podem usar da tecnologia para utilidades diárias e o PHP por sua simplicidade, leveza e rapidez. Um dos grandes desafios foi elaborar a pesquisa e entender um pouco do funcionamento de um aplicativo Android, desde o seu gerenciamento de dados, de janelas (Activity) até a representação gráfica. Seguindo a proposta inicial, obedecemos ao cronograma e prazos de entrega. Como citado nos objetivos, tínhamos em mente dispor varias tarefas no PANDA App. Algumas dessas tarefas nos tomariam um tempo maior e maior dedicação, abrindo as portas para projetos futuros, seguidos por nós, ou por outros alunos do IFPR. Com a implantação do PANDA nas instituições de ensino, o acesso as notas é rápido, o controle de turmas é simples, deixando de lado as planilhas do Excel e murais com papel colado. Hoje, o Panda poderia ser inserido em qualquer instituição de ensino, sobretudo, sob aprimoramento periódico, ajustando-se a cada estabelecimento, em busca do progresso, assim o PANDA App poderá ser acessado por qualquer aluno, basta apenas pedir junto a secretaria ou órgão responsável pelo serviço o seu login e senha.

38 REFERÊNCIAS LECHETA, R. R. Google Android: Aprenda a criar aplicações para dispositivos móveis com o Android SDK. 2ª Edição. Editora Novatec, 2010. 608 p. SILVA, M. L.; PEREIRA, L. C. O. Android para desenvolvedores. 2ª Edição. Editora Brasport, 2012. 233 p. DALL OGLIO, P. PHP: Programando com Orientação a Objetos. 2ª Edição. Editora Novatec, 2009. 574 p. Desenvolvendo para Android. Disponível em: <http://www.mestreandroid.com.br/desenvolvendo-para-android-introducao/> Acesso em: 11 abr. 2013 Diagramas de Caso de Uso. Disponível em: <http://www.dsc.ufcg.edu.br/~sampaio/cursos/2007.1/graduacao/si- II/Uml/diagramas/usecases/usecases.htm> Acesso em: 25 abr. 2013 Estudando Android. Disponível em: <http://javarockexception.wordpress.com/2012/03/12/estudando-android-ciclo-devida-activity/> Acesso em: 20 abr. 2013 Estudando Android. Disponível em: <http://javarockexception.wordpress.com/2012/03/12/estudando-android-ciclo-devida-activity/> Acesso em: 20 jun. 2013 Introdução ao Desenvolvimento Android. Disponível em: <http://www.ibm.com/developerworks/br/library/os-android-devel/> Acesso em: 18 abr. 2013 Razões para Desenvolver Aplicações Android. Disponível em: <http://etinet.com/blog/celular/razoes-desenvolver-android/> Acesso em: 11 abr. 2013 UML. Disponível em: <http://www.infoescola.com/engenharia-de-software/uml/> Acesso em: 23 mai. 2013 SQLite - O Pequeno Notável. Disponível em: <http://www.devmedia.com.br/sqlite-opequeno-notavel/7249> Acesso em: 05 set. 2013

39 SQLite um banco de dados pequeno e eficiente. Disponível em: <http://blog.welrbraga.eti.br/?p=81> Acesso em: 05 set. 2013 Android: Activity e interação entre Activities. Disponivel em: <http://techne.cesar.org.br/android-activity-e-interacao-entre-activities/> Acesso em: 20 set. 2013 Android: Interface com o Usuário. Disponível em: <http://awproxy1.dca.fee.unicamp.br/media/attachments/courseea998mc9331s201 2/MainPage/na01.pdf> Acesso em: 20 set. 2013 Introdução ao PHP. Disponivel em: <http://www.apostilando.com/download.php?cod=2535&categoria=php> Acesso em: 18 out. 2013.