Sistema Web para Gerenciamento do Processo de Estágio Supervisionado na POLI-UPE - PDF
Sistema Web para Gerenciamento do Processo de Estágio Supervisionado na POLI-UPE
Download "Sistema Web para Gerenciamento do Processo de Estágio Supervisionado na POLI-UPE"
Igor Avelar Camelo
1 i ESCOLA POLITÉCNICA Sistema Web para Gerenciamento do Processo de Estágio Supervisionado na POLI-UPE Trabalho de Conclusão de Curso Engenharia da Computação Pollyanna Mendonça Barros Orientador: Prof. Márcio Lopes Cornélio Recife, junho de 2008
2 ESCOLA POLITÉCNICA ii Sistema Web para Gerenciamento do Processo de Estágio Supervisionado na POLI-UPE Trabalho de Conclusão de Curso Engenharia da Computação Este Projeto é apresentado como requisito parcial para obtenção do diploma de Bacharel em Engenharia da Computação pela Escola Politécnica de Pernambuco Universidade de Pernambuco. Pollyanna Mendonça Barros Orientador: Prof. Márcio Lopes Cornélio Recife, junho de 2008
3 iii Pollyanna Mendonça Barros Sistema Web para Gerenciamento do Processo de Estágio Supervisionado na POLI-UPE
4 iv Resumo A finalidade deste trabalho é o desenvolvimento de um sistema para facilitar o gerenciamento das tarefas realizadas no decorrer do processo de estágio supervisionado dos alunos da Escola Politécnica de Pernambuco, que atualmente é realizado de forma manual, limitando a participação ativa das partes interessadas no processo, e dificultando o armazenamento dos documentos produzidos durante o processo. O produto deste trabalho oferece uma série de melhorias no processo de estágio que trarão benefícios para todas as partes envolvidas. Diminuição da carga de trabalho principalmente para o coordenador de estágio supervisionado; maior participação dos alunos no processo; acompanhamento ao longo do estágio mais eficaz por parte dos professores orientadores junto aos alunos por eles orientados; fácil comunicação entre as pessoas envolvidas no processo; garantia de segurança dos dados.
5 v Abstract The purpose of this work is the development of a system to facilitate the management of tasks carried out during the process of supervised students of the Escola Politécnica de Pernambuco, which is currently carried out manually, limiting the active participation of stakeholders in the process, and undermining the storage of documents produced during the process. The product of this work offers a number of improvements in the process of training that will bring benefits to all parties involved. Decrease in workload mainly to the coordinator of supervised; greater participation of students in the process; monitoring over stage more effectively by teachers with guiding the students they targeted; easy communication between those involved in the process; assurance data security.
6 vi Sumário Índice de Figuras Índice de Tabelas Tabela de Símbolos e Siglas viii ix x 1 Introdução Objetivos Estrutura do Documento 14 2 Material e Método Tecnologias PHP HTML/CSS Smarty Ambiente de Desenvolvimento Zend Studio for Eclipse MySQL Servidor HTTP Ferramentas CASE Processo de Desenvolvimento RUP Processo adaptado 20 3 O Sistema de Gerenciamento de Estágio Escopo Positivo e Negativo Requisitos Modelagem do Banco de Dados Arquitetura MVC 27
7 vii Arquitetura do Sistema Iterações Testes de Validação Módulos do Sistema Módulo Aluno Módulo Professor Orientador Módulo Coordenador de Estágio Supervisionado 38 4 Conclusões e Trabalhos Futuros Contribuições Trabalhos Futuros 42
8 viii Índice de Figuras Figura 1. Estrutura do processo RUP Figura 2. Diagrama de Casos de Uso Figura 3. Diagrama da mudança de status do estágio Figura 4. Modelo Entidade-relacional Figura 5. Diagrama de pacotes da visão lógica Figura 6. Diagrama de sequencia do caso de uso Solicitar Orientação Figura 7. Campo para seleção de curso Figura 8. Formulário para solicitação de orientação Figura 9. Tela para entrega de programa de estágio Figura 10. Tela de autenticação do usuário Figura 11. Tela para elaboração de relatório mensal Figura 12. Tela para entrega de relatório final de estágio Figura 13. Tela para seleção de aluno para confirmação de solicitação de orientação Figura 14. Tela para confirmação de solicitação de orientação Figura 15. Tela para seleção de aluno para apresentar parecer relatório mensal Figura 16. Tela para seleção de relatório para apresentar parecer relatório mensal Figura 17. Tela para apresentar parecer de relatório mensal Figura 18. Tela para seleção de aluno para avaliação de relatório final Figura 19. Tela para avaliação de relatório final Figura 20. Tela para seleção do aluno para confirmação de cadastro Figura 21. Tela para confirmação de cadastro do aluno Figura 22. Tela para cadastro de professor... 40
9 ix Índice de Tabelas Tabela 1. Iterações... 30
10 x Tabela de Símbolos e Siglas POLI Escola Politécnica de Pernambuco PHP Hypertext Preprocessor HTML HyperText Markup Language CSS Cascading Style Sheets HTTP Hypertext Transfer Protocol RUP Rational Unified Process MVC Model-View-Controller
11 xi Agradecimentos Gostaria de agradecer primeiramente a Deus, que me deu força, sabedoria e determinação para que eu conseguisse concluir esta etapa tão importante na minha vida. Agradeço aos meus pais (Gregório e Francisca) por todo o apoio, carinho, dedicação, paciência e pela estrutura emocional e financeira proporcionada. Aos meus amigos da faculdade Thaysa, Murilo, Paulo César Oliveira, Paulo César, Vanessa, Fred por todo apoio, companheirismo, amizade, pela ajuda nos estudos e nas indicações de estágios. A todos os professores do Departamento de Ciências e Computação (DSC) pela dedicação. Gostaria de agradecer em particular ao professor e amigo Márcio Cornélio, pelos ótimos conselhos, pela dedicação, pela paciência e compreensão.
12 12 Capítulo 1 Introdução Na Escola Politécnica de Pernambuco (POLI), instituição da Universidade de Pernambuco (UPE), são matriculados por semestre um número significativo de alunos na disciplina Estágio Supervisionado. Administrar esse número de alunos é uma tarefa árdua e torna-se quase impossível gerar boas estatísticas e informações relevantes, sobre os dados armazenados. Da forma como é realizado o controle de estágios supervisionados, não existe fácil acesso aos dados pelas partes interessadas (alunos, orientadores, coordenadores...), a carga de trabalho do coordenador da divisão de estágios é elevada, o que possibilita o surgimento de erros. O estágio supervisionado corresponde a um período de atividades práticas do aluno numa empresa. Neste período o aluno estará sob supervisão de um profissional de nível superior da empresa, que dará apoio técnico e prático, o aluno receberá orientação de um professor da Escola, oferecendo apoio técnico e teórico e também será acompanhado pelo Coordenador de Estágio Supervisionado do seu curso. Este estágio tem por objetivo principal complementar na prática, a formação profissional do aluno, colocando-o em contato direto com o futuro mercado de trabalho, fazendo com que a sua inserção no meio profissional seja realizada de forma orientada. O processo de estágio supervisionado dentro da Escola Politécnica de Pernambuco é dividido em três etapas: matrícula e legalização do estágio; realização e acompanhamento do estágio e conclusão do estágio. Em cada uma das etapas são gerados alguns documentos, realizar o controle da entrega e a manutenção dos mesmos são tarefas difíceis de serem realizadas. No capítulo 3 deste trabalho as etapas do processo serão descritas com mais detalhes. O processo de estágio supervisionado gera uma série de informações que precisam ser tratadas adequadamente, fazendo-se necessária a utilização de um sistema de informação.
13 13 Sistema de informação é uma série de elementos ou componentes inter-relacionados que coletam (entrada), manipulam e armazenam (processo), disseminam (saída) os dados e informações e fornecem um mecanismo de feedback [1]. O sistema de informação baseado em computador (CBIS computer-based information system) é composto de software, hardware, banco de dados, pessoas, telecomunicação, para que possam manipular informações coletadas e em seguida processá-las. O uso de um sistema web para gerenciamento do processo de estágio, pode trazer uma série de benefícios para a instituição, visto que um sistema de informação baseado em computador proporciona: maior segurança, melhor serviço, menos erros, aperfeiçoamento das comunicações, maior eficiência, maior produtividade, administração mais eficiente, carga de trabalho reduzida, maior e melhor controle sobre as operações, controle do fluxo de informação entre outros benefícios. 1.1 Objetivos Este trabalho tem como principal objetivo desenvolver um sistema para aprimorar o gerenciamento do processo de estágio supervisionado nos diversos cursos da POLI-UPE. São metas para este trabalho fazer levantamento dos requisitos, definir o projeto e implementar os módulos com funcionalidades para alunos, professores orientadores e coordenador de estágio supervisionado 1. O escopo do projeto contempla diversas funcionalidades, entre elas: Solicitação de orientação: aluno solicita orientação de algum dos professores do seu curso. Confirmação de solicitação de orientação: professor orientador confirma solicitação de orinetação de algum aluno. Confirmar cadastra de aluno: coordenador do curso confirma cadastro de algum aluno. Elaborar relatório mensal: aluno elabora relatórios mensais. Parecer relatório mensal: professor elabora parecer sobre o relalório mensal de seu aluno. Entrega eletrônica de documentos. 1 O papel do que aqui chamamos Coordenador de Estágio Supervisionado poderá, nos diversos cursos, ser desempenhado pelo Coordenador do Curso.
14 Cadastro de professor. ESCOLA POLITÉCNICA Estrutura do Documento O trabalho está estruturado da seguinte maneira. No capítulo 2, Material e Método, são apresentadas as tecnologias, o ambiente de desenvolvimento e o processo de desenvolvimento utilizados para a construção do Sistema Web para Gerenciamento do Processo de Estágio Supervisionado na POLI-UPE. O capítulo 3, O Sistema de Gerenciamento de Estágio, tem como objetivo apresentar a visão geral do sistema, descrever o escopo positivo e negativo do mesmo, expor os requisitos do sistema, os módulos do sistema, a modelagem de banco de dados e a arquitetura definida para o sistema será exposta detalhadamente. Também são descritos o processo de implementação e de validação do Sistema Web para Gerenciamento do Processo de Estágio Supervisionado na POLI- UPE. E por fim no Capítulo 5, Conclusões e Trabalhos Futuros, são apresentadas as conclusões do trabalho e as sugestões de trabalhos futuros.
15 15 Capítulo 2 Material e Método Neste capítulo descrevemos as tecnologias, o ambiente de desenvolvimento e o processo de desenvolvimento utilizados para a construção do Sistema Web para Gerenciamento do Processo de Estágio Supervisionado na POLI-UPE. 2.1 Tecnologias Para o completo desenvolvimento do sistema, foram utilizadas as tecnologias descritas nesta seção PHP PHP (Hypertext Preprocessor) [2] é uma linguagem de programação de domínio específico, seu escopo se limita ao desenvolvimento de aplicações web. O código PHP fica embutido no código HTML. PHP tem como objetivo principal implementar soluções web simples, eficientes e velozes. Na versão 5.0 do PHP foi introduzido um modelo de orientação a objeto, possibilitando a utilização dos conceitos de orientação a objeto no desenvolvimento do sistema. São características da linguagem PHP: velocidade, a comunicação com o banco de dados é bastante rápida; robustez, a linguagem ofereceu todos os recursos necessários para o completo desenvolvimento do sistema; sintaxe semelhante à linguagem C/C++ e Pearl. Com PHP é possível escolher entre utilizar programação estrutural ou programação orientada a objeto. A linguagem fornece suporte a um grande número de sistemas de gerenciamento de banco de dados: Oracle, Sybase, PostgreSQL, InterBase, MySQL, SQLite, MSSQL, Firebird, etc. Diversos são os protocolos suportados pelo PHP: Internet Message Access Protocol (IMAP),
16 16 Simple Network Management Protocol (SNMP), Network News Transfer Protocol (NNTP), Post Office Protocol (POP3), Hypertext Transfer Protocol (HTTP). Ao programar em PHP pode ser utilizada a maioria dos servidores web atuais, abrangendo Apache [11], Microsoft Internet Information Server [3], Netscape and iplanet Servers [4][5] HTML/CSS HyperText Markup Language (HTML) [7] é uma linguagem de marcação utilizada para o desenvolvimento de páginas web. Os documentos do tipo HTML podem ser interpretados por todos os tipos de navegadores. As interfaces com o usuário do sistema foram desenvolvidas na linguagem HTML. A formatação das páginas web do sistema foi implementada usando a linguagem CSS. Cascading Style Sheets (CSS) [6] é uma linguagem para estilos que define a aparência de documentos do tipo HTML ou XML, controlando fontes, cores, margens, linhas, alturas, larguras, imagens de fundo. A linguagem tem como principal vantagem fornecer a separação entre o formato e o conteúdo de um documento, é possível definir toda a formatação de todas as páginas web de um site de uma vez através de um documento CSS. Navegadores Opera, Internet Explorer 7 e Mozilla Firefox são suportados pela linguagem CSS Smarty Smarty [8] é um sistema de templates para PHP. O objetivo do projeto Smarty é fornecer uma separação da lógica do negócio e da lógica da apresentação de um sistema. O sistema de templates tem como diferencial possuir um sistema próprio de compilação de templates. O Smarty lê os arquivos de templates e cria scripts PHP a partir deles. Uma vez criados, eles são executados sem ser necessário compilar novamente o template. As características do Smarty são: rapidez, eficiência, linguagem extremamente extensível, suporte de caching embutido, fontes de templates arbitrários, possui funções de manipulação de cache customizadas, e etc.
17 2.2 Ambiente de Desenvolvimento ESCOLA POLITÉCNICA 17 Nesta seção são descritas a ferramentas que em conjunto formam o ambiente de desenvolvimento do projeto do Sistema Web para Gerenciamento do Processo de Estágio Supervisionado na POLI- UPE Zend Studio for Eclipse Zend Studio for Eclipse [9] é um ambiente de desenvolvimento integrado desenvolvido pela Zend para o pleno desenvolvimento na linguagem PHP. Trata-se de uma ferramenta baseada no IDE (Integrated Development Environment) Eclipse, reunindo a funcionalidade da IDE Zend Studio com algumas funcionalidades existentes no Eclipse. O Zend Studio for Eclipse é formado por um conjunto abrangente de recursos, entre eles: suporte a PHP4 e PHP5, coloração da sintaxe, assistente de código, integração com CVS/SVN, templates, detecção de erro em tempo real, bookmarks, busca de elementos php, geração de getters e setters, integração com controle de versões, refactoring, PHPUnit Testing, suporte a FTP e SFTP MySQL MySQL [10] é uma sistema de gerenciamento de banco de dados que possui como características: rapidez; facilidade de instalação, de uso e de administração; confiabilidade, consistente, alto desempenho, open source, portabilidade. Por possuir todas essas característica, o MySQL é um sistema gerenciador de banco de dados mais popular na atualidade. O MySQL possui uma série de recursos básicos e avançados: stored procedures, views, triggers, consistência de tipos, information schema, integridade referencial, conexão segura entre cliente e servidor com SSL, controle de acesso por domínio, servidor embutido Servidor HTTP O Servido Apache [11] é um software livre que faz parte da Apache Software Foundation. Devido a esta característica, tornou-se possível o seu melhoramento, visto que uma série de voluntários localizados no mundo todo tem trabalhado no seu aprimoramento. Na atualidade, o Servidor Apache é o servidor web mais utilizado no mundo.
18 18 O servidor fornece serviços HTTP (Hypertext Transfer Protocol) em sincronia com os atuais padrões HTTP. E está disponível em versões para os sistemas Windows, Novell Netware, OS/2 e diversos outros do padrão POSIX (Unix, Linux, FreeBSD, etc). A versão utilizada no projeto fornece diversos recursos: Smart Filtering, Improved Caching, AJP Proxy, Proxy Load Balancing, Graceful Shutdown support, Large File Support, the Event MPM, and refactored Authentication/Authorization. XAMPP [12] é um software livre que foi desenvolvido para facilitar a instalação de um conjunto de ferramentas: Servidor Apache, MySQL, PHP e Perl. Atualmente existem quatro distribuições do XAMPP, para os seguintes sistemas operacionais: Microsoft Windows, GNU/Linux, Solaris, e MacOS X. Foi utilizada a distribuição para o sistema operacional Microsoft Windows Ferramentas CASE As ferramentas CASE (Computer-Aided Software Engineering) utilizadas para auxiliar na modelagem do sistema foram: DBDesigner e JUDE. DBDesigner [13] é um editor visual utilizado para a criação, modelagem, desenvolvimento e manutenção de banco de dados. O DBDesigner é um software livre distribuído pela licença GPL. O software é bastante utilizado com o banco de dados MySQL, porém também suporta outros bancos de dados, como: Oracle, MS SQL Server, SQLite. JUDE (Java and UML Developer Environment) [14] é uma ferramenta gratuita para modelagem de software. 2.3 Processo de Desenvolvimento O processo a ser utilizado para o desenvolvimento do software será baseado no RUP, processo iterativo e incremental dirigido a caso de uso. Serão abordados alguns dos fluxos de processo do RUP, sendo contemplados os fluxos de: requisitos, análise e projeto, implementação e ambiente RUP O Rational Unified Process (RUP) [15] é um processo de engenharia de software, desenvolvido e mantido pela Rational Software. Ele provê uma abordagem baseada em disciplinas para atribuir tarefas e responsabilidades dentro de uma organização de desenvolvimento. Seu objetivo é
19 19 garantir a produção de software de qualidade que satisfaça as necessidades de seus usuários finais dentro do orçamento e prazo previstos. A estrutura do processo pode ser adaptada e estendida para compor as necessidades de uma organização que o esteja adotando. A estrutura do processo, que pode ser vista na Figura 1, é formada por duas dimensões: o eixo horizontal representando o tempo e o aspecto dinâmico do processo, como ele é ordenado por meio de ciclos, fases, iterações e marcos; e, o eixo vertical representando o aspecto estático do processo, sua descrição em termos de componentes de processo, atividades, fluxos essenciais, artefatos e trabalhadores. Figura 1. Estrutura do processo RUP. O processo propõe a produção de software de qualidade, através da aplicação de melhores práticas, são elas: desenvolvimento iterativo, o trabalho de desenvolvimento é dividido em iterações, e em cada uma destas iterações, são realizadas atividades que geram novos artefatos ou atualizações de artefatos existentes; gerenciamento de requisitos, existe grande preocupação em descobrir as necessidades dos envolvidos pela identificação e especificação do que ele necessita e identificando aquilo que deve ser mudado, por isso são realizadas análises e correções dos requisitos; arquitetura baseada em componentes, possibilita a criação de um sistema que é facilmente extensível, de fácil compreensão e promove a reusabilidade de software; modelagem e
20 20 a UML (Unified Modeling Language), possibilita a obtenção de uma visão geral; desenvolvimento orientado por caso de uso; e suporte a ferramentas Processo adaptado Uma adaptação na estrutura do processo RUP foi realizada, para construção de um processo que foi utilizado no desenvolvimento do sistema web para gerenciamento do processo de estágio supervisionado na POLI-UPE. A seguir serão descritas as atividades realizadas no decorrer do processo, sendo estas divididas nos fluxos: requisitos, análise e design, implementação e ambiente. O fluxo de requisitos O fluxo de requisitos é composto por algumas atividades: analisar o problema, compreender as necessidades dos envolvidos, definir o sistema, refinar a definição do sistema. Analisar o problema, nesta atividade, são identificadas primeiramente as partes envolvidas, é muito importante para que ocorra o entendimento completo do problema a ser resolvido. É nesta atividade que são identificados os limites e restrições do sistema. Todas as informações coletadas nesta etapa são registradas no documento de visão. A atividade compreender as necessidades dos envolvidos é marcada pelo levantamento dos requisitos do sistema junto aos envolvidos no projeto, tendo como finalidade entender quais são suas reais necessidades. As solicitações dos envolvidos servirão de base para a produção das especificações de casos de uso do sistema. Nesta etapa é produzido o artefato diagrama de casos de uso. Definir o sistema, nesta atividade o diagrama de casos de uso é refinado e os casos de uso começam a serem descritos. Os casos de uso são descritos na atividade refinar a definição do sistema, o fluxo de eventos de cada caso de uso é detalhado. É nesta etapa que o protótipo da interface com o usuário é modelado e criado, levando em conta os fatores humanos para que exista harmonia no diálogo entre o usuário e o programa. Os artefatos produzidos durante o fluxo de requisitos são: o documento de visão, as especificações de caso de uso e o diagrama de casos de uso. As ferramentas utilizadas serão o Microsoft Word, para elaboração dos documentos de visão e das especificações de caso de uso; e o JUDE, para elaboração do diagrama do modelo de casos de uso. A documentação dos requisitos deverá estar 80% definida antes do início da etapa de implementação.
21 21 Os documentos de requisitos gerados inicialmente serão posteriormente alterados para atender as necessidades dos interessados, realizar o controle destas alterações também faz parte das atividades do fluxo de requisitos. O fluxo de análise e projeto As atividades desempenhadas no fluxo de análise e projeto são: definir uma arquitetura candidata e projetar banco de dados. As atividades análise arquitetônica e análise de caso de uso são realizadas durante a etapa definir uma arquitetura candidata. A finalidade desta etapa é criar um esboço inicial da arquitetura do sistema, identificar as classes de análise dos casos de uso significativos em termos de arquitetura e atualizar as realizações de caso de uso com as interações das classes de análise. Na atividade projetar banco de dados, o banco de dados que atenderá aos requisitos do sistema e a estrutura apropriada para armazenar as classes são projetados. São definidos mecanismos e estratégias para armazenamento e restauração dos dados persistentes, de forma que sejam atendidos os critérios de desempenho do sistema. Neste fluxo são produzidos artefatos: documento de arquitetura de software e do modelo entidade relacional. As ferramentas utilizadas serão o Microsoft Word, para elaboração do documento de arquitetura de software; e o DBDesign, para elaboração do modelo entidaderelacionamento. O fluxo de implementação Neste fluxo será realizada a atividade de codificação, nesta etapa o projeto será traduzido numa forma legível por máquina. O desenvolvimento será realizado em iterações, uma iteração para cada módulo do sistema. À medida que o sistema for sendo desenvolvido, em paralelo o mesmo será testado, nesta etapa o teste será realizado de forma não sistemática. O processo de realização de testes deve se concentrar nos aspectos funcionais, realizando testes para descobrir erros e garantir a boa execução das funcionalidades do sistema. Deverão ser corrigidos os defeitos encontrados no código e em seguida, o código é revisado para avaliar a qualidade. O fluxo de ambiente O objetivo das atividades dessa disciplina é oferecer o ambiente de desenvolvimento de software que dará suporte à equipe de desenvolvimento.
22 22 O ambiente de desenvolvimento de um projeto de desenvolvimento de software é o termo usado para todos os itens de que o projeto precisa para desenvolver o sistema, como, por exemplo: ferramentas, diretrizes, processo, templates e infra-estrutura. Para a realização do desenvolvimento do Sistema Web para Gerenciamento do Processo de Estágio Supervisionado na POLI-UPE, todos os fluxos e suas atividades, anteriormente descritos, foram executados.
23 23 Capítulo 3 O Sistema de Gerenciamento de Estágio Este capítulo tem como objetivo descrever em detalhes o sistema desenvolvido neste trabalho, primeiramente dando uma visão geral do sistema, delineando o escopo positivo e negativo do mesmo, em seguida são abordados os requisitos, os módulos do sistema, a modelagem de banco de dados e a arquitetura definida para o sistema será exposta detalhadamente. Também são descritos o processo de implementação e de validação do Sistema Web para Gerenciamento do Processo de Estágio Supervisionado na POLI-UPE. 3.1 Escopo Positivo e Negativo O processo estágio supervisionado realizado na Escola Politécnica de Pernambuco (POLI) é aádividido em três partes: matrícula e legalização do estágio; realização e acompanhamento do estágio; e, conclusão do estágio. Para a realização da matrícula e legalização da disciplina estágio supervisionado é exigida a entrega documentos, são eles: contrato, programa de estágio, solicitação de professor orientador, cópia do diploma do supervisor na empresa e formulário de estágio. Após a entrega de todos os documentos anteriormente citados, o estágio estará legalizado e procederá para a segunda fase do processo. Durante a fase de realização, é desejável que o aluno se reúna com o seu professor orientador quinzenalmente, devendo ser gerados seis relatórios mensais. Na etapa de conclusão do estágio, o aluno deverá entregar um trabalho final, o supervisor na empresa e o professor orientador deverão avaliar o estágio do aluno e também são
24 24 exigidos alguns documentos para a sua efetivação, entre eles: declaração de estágio e relatório final. No decurso do processo estágio supervisionado é gerado grande número de documentos, e realizar o controle da entrega e a manutenção dos mesmos são tarefas difíceis de serem realizadas. Este trabalho tem como objetivo produzir um sistema para a realização do processo de estágio supervisionado na Escola Politécnica de Pernambuco. O sistema suportará atividades pertencentes ao processo, entre estas atividades estão: cadastro dos alunos da instituição na disciplina estágio supervisionado, solicitação de orientação por parte dos alunos, elaboração de relatórios mensais acerca do estágio, entrega dos documentos programa de estágio e relatório final, avaliação do trabalho final realizada pelo professor orientador. Além de outra atividade que não pertence ao processo atual, mas que dará suporte ao mesmo: cadastro de professores. Os alunos matriculados na disciplina estágio supervisionado, os professores orientadores e os coordenadores dos cursos da instituição são os usuários do sistema, cada um deles exerce uma papel diferente, com funcionalidades específicas. O sistema produzido neste trabalho foi modelado de forma que os coordenadores de estágio de cada curso da Escola Politécnica de Pernambuco possam gerenciar os estágios supervisionados de seus alunos de maneira independente e de modo que não haja sobrecarga de trabalho para os coordenadores de estágio e professores orientadores. Não faz parte do escopo do projeto o controle eletrônico dos documentos: contrato, cópia do diploma do supervisor na empresa e declaração de estágio. 3.2 Requisitos A primeira atividade definida no processo adotado para o desenvolvimento do sistema descrito neste trabalho é identificar as partes envolvidas no sistema, o resultado desta atividade relevou como sendo partes envolvidas os alunos matriculados na disciplina estágio supervisionado, os professores orientadores e os coordenadores de estágio supervisionado dos cursos da instituição. Após a identificação das partes envolvidas no sistema, a atividade realizar levantamento de requisitos, segunda atividade do processo de desenvolvimento, é cumprida. Para a efetivação desta atividade foi necessária a colaboração do coordenador de estágio supervisionado do Departamento de Sistemas e Computação (DSC). O documento Manual de Estágio Supervisionado da POLI [16] também foi utilizado para a realização desta atividade.
25 25 Os requisitos funcionais do sistema foram descritos após a realização das atividades anteriormente citadas. Os requisitos foram divididos em módulos, em cada um desses módulos foram definidos os casos de uso, que descrevem o que acontece internamente no sistema, para cada usuário do sistema, totalizando três módulos: módulo aluno, módulo professor orientador e módulo coordenador de estágio supervisionado. Os casos de uso do sistema são nove no total: confirmar cadastro aluno, cadastrar professor, confirmar solicitação de orientação, apresentar parecer relatório mensal, avaliar relatório final, solicitar orientação, elaborar relatório mensal, entrega eletrônica de relatório final, entrega eletrônica de programa de estágio. O caso de uso Confirmar Cadastro de Aluno faz parte do módulo coordenador de estágio supervisionado, o mesmo visa descrever o processo de confirmação de uma nova solicitação de cadastro de aluno. O caso de uso Solicitar Orientação faz parte do módulo aluno, o mesmo visa descrever o processo de solicitação de professor orientador. Na seção Apêndice, são encontradas as especificações de caso de uso de todos os casos de uso do sistema. Figura 2. Diagrama de Casos de Uso
26 26 Para controle das atividades do sistema, são atribuídos status para o estágio ao final de cada execução das funcionalidades oferecidas pelo sistema. A Figura 3 mostra como ocorre a mudança do status do estágio no decorrer das atividades. Figura 3. Diagrama da mudança de status do estágio 3.3 Modelagem do Banco de Dados O sistema de gerenciamento de banco de dados utilizado para a criação do banco de dados do Sistema Web para Gerenciamento do Processo de Estágio Supervisionado na POLI-UPE foi o MySQL. O banco de dados desenvolvido é composto por oito tabelas, as entidades principais são: aluno, professor e estágio. Um aluno realiza um único estágio. Um professor pode orientar mais de um aluno. Os professores e os alunos possuem login e senha para acesso ao sistema. Os atributos de cada tabela e os relacionamentos existentes entre as tabelas podem ser vistos no modelo entidade-relacionamento (Figura 4).
27 27 Figura 4. Modelo Entidade-relacional 3.4 Arquitetura Para o desenvolvimento do Sistema Web para Gerenciamento do Processo de Estágio Supervisionado na POLI-UPE, foi utilizado o padrão arquitetural Model-View-Controller (MVC) MVC MVC [17] é um padrão de arquitetura de software que tem como objetivo separar dados ou lógica de negócios (Model) da interface do usuário (View) e do fluxo da aplicação (Control), de modo que seja possível permitir que uma mesma lógica de negócios possa ser acessada e visualizada através de várias interfaces. O modelo possui algumas desvantagens: exige uma quantidade maior de tempo para analisar e modelar o sistema, não é recomendado para aplicações pequenas
28 3.4.2 Arquitetura do Sistema ESCOLA POLITÉCNICA 28 A arquitetura lógica do sistema está representada no diagrama de pacotes (Figura 5) [18]. O sistema possui três pacotes, o pacote View que contém as páginas HTML de interface com o usuário, o pacote Controller que contém as classes que processam e respondem a eventos, geralmente ações do usuário, e invocam alterações no Model e o pacote Model contém as classes da camada de negócio e as classes que fazem comunicação com o banco de dados do sistema. Figura 5. Diagrama de pacotes da visão lógica A Figura 6 ilustra o fluxo do caso de uso Solicitar Orientação. O aluno interage com o sistema através da interface gráfica do sistema, inserindo os dados do estágio, o método solicitarorientacao da classe SolicitarOrientacaoController é chamado, e em seguida o método cadastrardados da classe EstágioDAO é chamado, inserindo os dados no bando de dados do sistema.
29 29 Figura 6. Diagrama de sequencia do caso de uso Solicitar Orientação 3.5 Iterações O desenvolvimento do sistema produzido foi realizado utilizando o processo iterativo e incremental dirigido a caso de uso, que foi descrito na seção 2.3. Foi decidido que o sistema seria desenvolvido em três iterações, uma iteração para cada módulo do sistema: módulo aluno, módulo professor orientador e módulo coordenador de estágio supervisionado (Tabela 1). O desenvolvimento ocorreu na ordem descrita na Tabela 1. O ator que dá inicio ao processo de estágio é o aluno, este fato foi utilizado como critério para ordenação dos módulos para o desenvolvimento do sistema.
30 Tabela 1. Iterações Iteração Módulo Casos de Uso ESCOLA POLITÉCNICA 30 1 a Iteração Módulo Aluno Solicitar Orientação Entrega Eletrônica de Programa de Estágio Elaborar Relatório Mensal Entrega Eletrônica de Relatório Final 2 a Iteração Módulo Professor Orientador Confirmar Solicitação de Orientação 3 a Iteração Módulo Coordenador de Estágio Supervisionado Apresentar Parecer Relatório Mensal Avaliar Relatório Final Confirmar Cadastro de Aluno Cadastrar Professor 3.6 Testes de Validação Ao final de cada iteração, o sistema foi testado. Os testes realizados foram concentrados nos aspectos funcionais. Após o término da codificação dos casos de uso da cada iteração, o sistema foi testado, e pode ser verificado que o mesmo atendia a todos os requisitos funcionais. Alguns pequenos erros foram encontrados, e posteriormente corrigidos. No decorrer do desenvolvimento do sistema, foi necessário realizar algumas mudanças nos requisitos, foram adicionados novos casos de uso, e algumas funcionalidades sofreram modificações. Ao final do desenvolvimento foram realizadas baterias de testes focadas nos aspectos funcionais do sistema, que cobriram todos os módulos do sistema, para garantir a boa execução das funcionalidades do sistema. Alguns erros foram descobertos e devidamente retificados. 3.7 Módulos do Sistema O sistema desenvolvido foi dividido em três módulos: módulo aluno, módulo professor orientador e módulo coordenador de estágio supervisionado.
31 3.7.1 Módulo Aluno ESCOLA POLITÉCNICA 31 O módulo aluno é composto por quatro funcionalidades: solicitar orientação, entrega eletrônica de programa de estágio, elaborar relatório mensal e entrega eletrônica de relatório final de estágio. No sistema, o início do processo de estágio supervisionado é marcado pela solicitação de orientação do aluno matriculado na disciplina estágio supervisionado, sendo responsabilidade do aluno realizar o cadastro das informações necessárias para a efetivação da matrícula na disciplina. O sistema foi modelado desta forma, pois na análise chegou-se à conclusão de que desta maneira o trabalho despendido no processo seria melhor distribuído. Visto que os coordenadores de estágio supervisionado dos cursos da POLI são responsáveis por outras atividades, a tarefa de cadastrar cada aluno geraria grande trabalho para os coordenadores. A funcionalidade solicitar orientação tem como ator o aluno matriculado na disciplina estágio supervisionado. O fluxo para a realização desta funcionalidade se inicia pelo acesso do aluno ao sistema, para acesso a esta funcionalidade, não é requerida autenticação de senha, o acesso é livre. Na tela inicial do sistema existe um campo onde o aluno deverá selecionar o curso ao qual ele pertence, este campo pode ser visto na Figura 7. Após a seleção do curso o sistema exibirá a tela Solicitar Orientação, vista na Figura 8, onde o aluno preencherá os campos com os dados necessários para a realização da matrícula na disciplina, são eles: dados do aluno, dados do estágio, dados da empresa. Deverá também selecionar o professor orientador dentre os professores do curso. Ao selecionar o botão enviar solicitação, os dados inseridos serão armazenados no banco de dados do sistema e o estágio assumirá o status pendente. Figura 7. Campo para seleção de curso. Logo após a efetivação da solicitação de orientação, o sistema exibirá a tela para entrega eletrônica de programa de estágio supervisionado (Figura 9), onde o aluno deverá realizar o upload do documento programa de estágio supervisionado e em seguida selecionar o botão enviar arquivo. O sistema realizará uma rotina que enviará um para o professor orientador anteriormente selecionado na funcionalidade solicitar orientação, alertando-o sobre a nova
32 32 solicitação realizada, neste existe um link para acesso aos dados cadastrados pelo aluno no momento da solicitação de orientação. Após a realização desta funcionalidade estará concluída a primeira etapa do processo de estágio supervisionado. Figura 8. Formulário para solicitação de orientação Figura 9. Tela para entrega de programa de estágio Fazem parte deste módulo mais duas outras funcionalidades, que têm como pré-condição, o aluno estar autenticado. Para obter a autenticação, o aluno deverá informar login e senha pessoais corretos nos campos apropriados da tela de autenticação do usuário (Figura 10). Ao acessar o sistema via login e senha, o sistema exibirá um menu com as funcionalidades elaborar relatório mensal e entrega de relatório final.
33 33 Faz parte do processo de estágio a elaboração relatórios mensais, o sistema oferece uma funcionalidade que atende a esta atividade, a funcionalidade elaborar relatório mensal. Ao selecionar a funcionalidade o aluno poderá elaborar um relatório sobre o andamento do estágio, o sistema exibe uma tela onde o aluno fará uma breve descrição sobre as atividades por ele exercidas no referido período (Figura 11). Ao terminar o relatório o aluno deverá selecionar o botão enviar relatório, em seguida o sistema armazenará os dados do relatório: data, número do relatório e descrição das atividades, alterará o status do estágio para em dia com relatório para confirmação e por fim enviará um para o professor orientador do aluno em questão, alertando-o sobre o novo relatório mensal, neste contará um link para acesso aos dados do novo relatório mensal. Figura 10. Tela de autenticação do usuário Figura 11. Tela para elaboração de relatório mensal A última funcionalidade do módulo aluno é a funcionalidade para entrega do relatório mensal. Ao selecionar esta funcionalidade, o sistema exibirá uma tela onde será possível o aluno realizar o upload do relatório final de estágio, devendo o mesmo informar o título do trabalho. Ao final desta atividade o sistema executará uma rotina para armazenamento do relatório, outra
34 34 rotina que modificará o status do estágio para em dia com avaliação pendente e uma última que enviará um para o professor orientador do aluno em questão, com um link para acesso a tela de avaliação do relatório final do aluno. Figura 12. Tela para entrega de relatório final de estágio Módulo Professor Orientador O módulo professor orientador é composto por três funcionalidades, são elas: confirmar solicitação de orientação, apresentar parecer relatório mensal e avaliar relatório final. Os professores orientadores são responsáveis pela monitoração das atividades realizadas pelos alunos por eles orientados, o sistema oferece funcionalidades que suportam as necessidades dos mesmos. Os professores só terão acesso aos dados dos alunos por eles orientados. Para ter acesso às funcionalidades deste módulo, o ator tem que ser um professor e estar autenticado. Para obter a autenticação, o professor deverá informar login e senha pessoais corretos nos campos apropriados da tela de autenticação do usuário. Confirmar solicitação de orientação é uma das atividades de responsabilidade dos professores orientadores da instituição. O acesso a esta funcionalidade pode ocorrer de duas formas distintas: acesso direto ao sistema, ou acesso por meio de um link enviado por ao professor no momento em que o aluno realiza a operação solicitar orientação. Na primeira forma, o professor seleciona a opção de menu referente à funcionalidade confirmar solicitação de orientação, em seguida o sistema exibe uma tela para seleção do aluno (Figura 13), nesta tela conterá uma lista dos alunos com status de estágio pendente, o professor deverá escolher um entre os alunos para confirmar a solicitação de orientação, dando continuidade o sistema exibe uma tela contendo os dados do estágio e o programa de estágio inseridos pelo aluno no momento da solicitação de orientação, tela pode ser vista na Figura 14, para que o professor possa avaliar a solicitação. Ao termino da confirmação, o sistema alterará o status do estágio para orientação confirmada e enviará um para o coordenador de estágio supervisionado do curso ao qual o
35 35 aluno pertence, alertando-o sobre a nova solicitação confirmada para posterior confirmação de cadastro de aluno. Na segunda forma, o professor selecionará o link e o sistema exibe a tela exposta na Figura 14. Figura 13. Tela para seleção de aluno para confirmação de solicitação de orientação É tarefa do professor orientador realizar acompanhamento das atividades realizadas pelo aluno no período de duração do estágio. Esta tarefa é suportada pelo sistema através da funcionalidade apresentar parecer relatório final. A funcionalidade proporciona ao professor visualizar os relatórios mensais elaborados por seus alunos e fornece um campo apropriado para o professor apresentar parecer sobre cada relatório a ele enviado. O fluxo da funcionalidade pode ocorrer de duas maneiras: acesso direto ao site, ou por meio de link enviado ao professor orientador no momento em que o aluno realiza a operação Elaborar Relatório Mensal.
36 36 Figura 14. Tela para confirmação de solicitação de orientação O acesso a funcionalidade Apresentar Parecer Relatório Mensal diretamente do site ocorre da seguinte forma: o professor seleciona a opção de menu referente à funcionalidade em questão, posteriormente o sistema apresenta uma tela com uma lista de alunos com status de estágio em dia com relatório para confirmação, vista na Figura 15, o professor seleciona o aluno desejado, em seguida o sistema apresenta uma lista contendo os relatórios que ainda não foram confirmados, exposta na Figura 16, o relatório desejado deve ser selecionado pelo professor, o sistema exibe uma tela com os dados do relatório escolhido e com o campo Parecer do Orientador em branco para ser preenchido pelo professor, exibida na Figura 17. Ao selecionar o botão enviar parecer, uma rotina do sistema, que armazena o parecer no banco de dados do sistema, é ativada, outra rotina envia um para o aluno cujo relatório foi analisado com um documento do tipo pdf do relatório em anexo e por fim outra rotina atualiza o status do estágio
37 37 para em dia. Ao acessar a funcionalidade via link enviado por ao professor, o mesmo selecionará o link e o sistema exibirá a tela exposta na Figura 17. Figura 15. Tela para seleção de aluno para apresentar parecer relatório mensal Figura 16. Tela para seleção de relatório para apresentar parecer relatório mensal Figura 17. Tela para apresentar parecer de relatório mensal