UNIVERSIDADE DO SUL DE SANTA CATARINA ALEXSANDRO VALDEZ ROSPIDE CAPRA MIRATAN LEHMKUHL DA SILVA FERRAMENTA WEB DE APOIO AO TRABALHO DE CONCLUSÃO DE CURSO Palhoça 2014 ALEXSANDRO VALDEZ ROSPIDE CAPRA MIRATAN LEHMKUHL DA SILVA FERRAMENTA WEB DE APOIO AO TRABALHO DE CONCLUSÃO DE CURSO Trabalho de Conclusão de Curso apresentado ao Curso de Graduação em Sistemas de Informação da Universidade do Sul de Santa Catarina, como requisito parcial à obtenção do título de Bacharel em Sistemas de Informação. Orientador: Profª. Daniella Vieira, MEng. Palhoça 2014 ALEXSANDRO VALDEZ ROSPIDE CAPRA MIRATAN LEHMKUHL DA SILVA FERRAMENTA WEB DE APOIO AO TRABALHO DE CONCLUSÃO DE CURSO Este Trabalho de Conclusão de Curso foi julgado adequado à obtenção do título de Bacharel em Sistemas de Informação e aprovado em sua forma final pelo Curso de Graduação em Sistemas de Informação da Universidade do Sul de Santa Catarina. Dedico este trabalho à minha mãe, a maior responsável pela minha formação acadêmica e que sempre esteve presente nos momentos decisivos da minha vida. Alexsandro Valdez Rospide Capra Dedico este trabalho à minha mãe, que apoioume desde o início na decisão pela graduação em Sistemas de Informação e é a maior responsável por mais esta conquista. Miratan Lehmkuhl da Silva AGRADECIMENTOS Alexandro Valdez Rospide Capra agradece a: Agradeço a Deus pela saúde e força de vontade ao longo desta caminhada. À minha Noiva Barbara Gasperin companheira de todas as horas, que em muitos momentos realizou seus afazeres e os meus, para que eu me dedicasse integralmente a este trabalho. Ao meu sogro, Rogerio Gasperin e à minha sogra Susana Gasperin, que respeitaram meus momentos de ausência e sempre me motivaram e apoiaram para que eu desse o meu melhor. Ao Dr. Vinicius Ramos pela orientação na primeira etapa do projeto e a MEng. Daniella Vieira pela orientação na segunda etapa do projeto. À Drª, Maria Inés Castiñera, professora e coordenadora da cadeira de TCC I e II pelas orientações, por sempre escutar nossos desabafos e com sabedoria soube botar nossos pés no chão. Mas principalmente pelo companheirismo durante esta etapa tão importante. Ao professor Ivo Zimmermann pela colaboração na correção ortográfica e gramatical que foi de fundamental importância na valorização desta obra. A todos os professores que tiveram sua parcela na construção da nossa formação acadêmica. Ao colega e amigo Miratan Lehmkuhl pela parceria neste trabalho tão importante. Aos familiares e amigos de modo geral pela compreensão e apoio. Miratan Lehmkuhl da Silva agradece a: Agradeço aos meus amigos de trabalho que foram muito importantes não só pela colaboração na superação de algumas dificuldades encontradas durante o desenvolvimento. Mas por terem motivado, respeitado e apoiado de todas as formas. Ao Dr. Vinicius Ramos pela orientação na primeira etapa do projeto e a MEng. Daniella Vieira pela orientação na segunda etapa do projeto. À Drª, Maria Inés Castiñera, professora e coordenadora da cadeira de TCC I e II pelas orientações. Ao colega e amigo Alexandro Rospide pela parceria neste trabalho tão importante. Aos familiares e amigos que entenderam minha ausência durante este ciclo. “Computadores são como bicicletas para nossas mentes.” (Steve Jobs, 1955 – 2011). RESUMO Diversos cursos de graduação encerram seu ciclo com um Trabalho de Conclusão de Curso, o qual tem como objetivo em incentivar os alunos no estudo de problemas locais, regionais ou nacionais, buscando apontar possíveis soluções no sentido de integrar universidade e sociedade. Neste contexto o Trabalho de Conclusão de Curso do curso de Sistemas de Informação da Universidade do Sul de Santa Catarina foi escolhido como base para o desenvolvimento da Ferramenta Web de Apoio ao Trabalho de Conclusão de Curso. Ao longo da construção do trabalho de conclusão de curso é gerado uma grande quantidade de material, no seu processo ocorrem inúmeras reuniões entre os participantes, também são feitas anotações sobre cada nova versão do trabalho, bem como durante a própria construção do conhecimento. O registro dessas informações serve para dar suporte os acadêmicos na elaboração do projeto e auxiliar no caminho até os objetivos pretendidos. O sistema proposto por esta monografia é uma ferramenta para auxiliar a elaboração dos Trabalho de Conclusão de Curso, disponibilizando recursos tecnológicos para o apoio a integração, comunicação e compartilhamento de arquivos no decorrer do desenvolvimento. Foi desenvolvida uma ferramenta web implementada na linguagem JAVA, utilizando banco de dados MySQL. A metodologia adotada para o desenvolvimento do sistema foi a AMDD – Agile modeling Driven Development, que ressalta a agilidade do desenvolvimento com base nas necessidades de uma pequena equipe de desenvolvimento. O sistema foi validado de forma satisfatória por dois tipos de usuários, usuários do meio acadêmico e fora do meio acadêmico, totalizando 10 usuários. Os resultados da validação do sistema, a ferramenta proposta mostrou seu potencial e seus benefícios no auxílio da comunicação e no gerenciamento dos arquivos gerados durante a construção do conhecimento. Palavras-chave: Trabalho de Conclusão de Curso. Ferramenta Web. Agile Model Driven Development. ABSTRACT, RÉSUMÉ OU RESUMEN Several graduate courses contain their cycle with a course conclusion work, which is to encourage students in the study of local, regional or national problems, seeking to identify possible solutions to integrate university and society. In this case the course conclusion work of Information Systems, University of Southern Santa Catarina – UNISUL, was chosen as the basis for the development of the Support Web Tool to course conclusion work. Throughout the construction of the course conclusion work is generated a large amount of material, in the process occur numerous meetings between the participants, are also made notes on each new version of the work, as well as during the actual construction of knowledge. The record of this information serves to support the students in the project design and assist in route to the intended goals. The system proposed by this paper is a tool to assist the development of the course conclusion work, providing technology to support the integration, communication and file sharing during the development. A web tool implemented in Java language, using MySQL database was developed the methodology adopted for the development of the system was the AMDD -. Agile modeling Driven Development, which emphasizes the development agility based on the needs of a small development team. The system was validated satisfactorily by two types of users, academia and users outside of academia, totaling 10 members. System validation results, the proposed tool has shown its potential and its benefits in helping the communication and management of files generated during the construction of knowledge. Keywords: Course conclusion work. Web tool. Agile Model Driven Deveopment. LISTA DE ILUSTRAÇÕES Figura 1- Esquema geral dos aspectos de suporte a grupos ..................................................... 25 Figura 2 - Diagrama de controle de versão local. ..................................................................... 35 Figura 3- Diagrama de controle de versão centralizado. .......................................................... 36 Figura 4 - Diagrama de controle de versão distribuído ............................................................ 37 Figura 5 - O ciclo de vida AMDD: Modelagem de atividades durante todo o ciclo de vida de um projeto. ................................................................................................................................ 39 Figura 6 – Gerenciamento de requisitos ................................................................................... 40 Figura 7 – Tipos de pesquisa .................................................................................................... 42 Figura 8 – Proposta da solução ................................................................................................. 45 Figura 9 – Requisitos funcionais .............................................................................................. 50 Figura 10 – Requisitos não funcionais ..................................................................................... 52 Figura 11 – Diagrama de casos de uso ..................................................................................... 54 Figura 12 –Tela Cadastro de usuário ........................................................................................ 55 Figura 13 - Tela de efetuar login. ............................................................................................. 56 Figura 14 - Tela novo projeto. .................................................................................................. 57 Figura 15 - Tela upload download de versões .......................................................................... 58 Figura 16 – Tela meus projetos. ............................................................................................... 59 Figura 17 – Tela projeto. .......................................................................................................... 60 Figura 18 - Atores do sistema ................................................................................................... 61 Figura 19 – Modelo de entidade e relacionamento................................................................... 62 Figura 20 – Ferramentas utilizadas........................................................................................... 64 Figura 21 – Meus projetos ........................................................................................................ 70 Figura 22 - Projeto .................................................................................................................... 71 Figura 23 – Permissões ............................................................................................................. 72 Figura 24 – Upload de arquivos ............................................................................................... 72 LISTA DE QUADROS Quadro 1 - Classificação da pesquisa ....................................................................................... 43 Quadro 2 - Descrição do ator administrador ............................................................................ 61 Quadro 3 - Descrição do ator usuário líder do projeto ............................................................. 61 Quadro 4 - Descrição do ator usuário integrante do projeto..................................................... 61 Quadro 5 - Cronograma de atividades ...................................................................................... 87 Quadro 6 - UC01 Cadastro de usuário...................................................................................... 91 Quadro 7 - UC02 Efetuar login ................................................................................................ 92 Quadro 8 - UC03 Novo projeto. ............................................................................................... 93 Quadro 9 - UC04 Upload de versões ........................................................................................ 94 Quadro 10 - UC05 Meus projetos............................................................................................. 95 Quadro 11 - UC08 Projeto ........................................................................................................ 96 LISTA DE GRÁFICOS Gráfico 1 – Desempenho do sistema ........................................................................................ 74 Gráfico 2 – Usabilidade do sistema .......................................................................................... 74 Gráfico 3 - Comunicação do sistema........................................................................................ 75 Gráfico 4 - Gestão de arquivos do sistema ............................................................................... 76 Gráfico 5 - Processo do sistema ............................................................................................... 76 Gráfico 6 - Aplicabilidade do sistema ...................................................................................... 77 Gráfico 7 - Satisfação do usuário em relação ao sistema ......................................................... 78 LISTA DE SIGLAS AM – Agile Modeling AMDD – Agile Model Driven Development AUP – Agile Unified Process AVA – Ambiente Virtual de Aprendizagem CSCL – Computer Suported Collaborative Learning CSCW – Computer-supported Collaborative Work CVCS – Centralized Version Control System DVCS – Distributed Version Control System FDD – Feature Driven Development LDB - Lei de Diretrizes e Bases da Educação LMS – Learning Management System MB – Mega Bytes MDD – Model Driven Development RCS – Revision Control System SGBD – Sistema de Gerenciamento de Banco de Dados TIC – Tecnologia da Informação e Comunicação UCDD – Use Case Driven Development VCS – Version Control System SUMÁRIO 1 INTRODUÇÃO ............................................................................................................................. 15 1.1 PROBLEMA.................................................................................................................................16 1.2 OBJETIVOS .................................................................................................................................17 1.2.1 Objetivo Geral ..........................................................................................................................17 1.2.2 Objetivos Específicos ...............................................................................................................18 1.3 JUSTIFICATIVA .........................................................................................................................18 1.4 ESTRUTURA DA MONOGRAFIA ............................................................................................19 2 REVISÃO BIBLIOGRÁFICA ..................................................................................................... 21 2.1 AMBIENTE DIGITAL DE APRENDIZAGEM ..........................................................................21 2.1.1 Integração de Tecnologias na Educação ................................................................................23 2.1.2 Groupware .................................................................................................................................24 2.1.3 Moodle – Modular Object-Oriented Dynamic Learning Environment ..................................26 2.2 APRENDIZAGEM COLABORATIVA ......................................................................................28 2.2.1 Base Histórica do Computer Suported Collaborative Learning (CSCL)...............................28 2.2.2 Aprendizagem colaborativa com suporte computacional ....................................................30 2.2.3 Ambientes de Aprendizagem Colaborativa Apoiados por Computadores .........................32 2.2.4 Edmodo .....................................................................................................................................33 2.3 SISTEMA DE CONTROLE DE VERSÃO .................................................................................34 2.3.1 Sistemas de Controle de Versão Locais..................................................................................34 2.3.2 Sistemas de Controle de Versão Centralizados .....................................................................35 2.3.3 Sistemas de Controle de Versão Distribuídos........................................................................36 2.4 AGILE MODEL DRIVEN DEVELOPMENT ................................................................................37 2.5 CICLO DE VIDA AMDD ............................................................................................................38 3 MÉTODO DE PESQUISA ........................................................................................................... 41 3.1 CARACTERIZAÇÃO DO TIPO DE PESQUISA. ......................................................................41 3.2 ETAPAS METODOLÓGICAS ....................................................................................................43 3.3 PROPOSTA DA SOLUÇÃO .......................................................................................................44 3.4 DELIMITAÇÕES .........................................................................................................................46 4 MODELAGEM DO SISTEMA ................................................................................................... 47 4.1 MODELO ATUAL DO DESENVOLVIMENTO DE MONOGRAFIAS ...................................47 4.2 REQUISITOS ...............................................................................................................................49 4.2.1 Requisitos Funcionais ..............................................................................................................49 4.2.2 Requisitos Não-Funcionais ......................................................................................................52 4.3 DIAGRAMA DE CASO DE USO ...............................................................................................53 4.3.1 UC01 – Cadastro de usuário ...................................................................................................55 4.3.2 UC02 – Efetuar Login..............................................................................................................56 4.3.3 UC03 – Novo Projeto ...............................................................................................................56 4.3.4 UC04 – Upload de versões de arquivos ..................................................................................57 4.3.5 UC05 – Meus Projetos .............................................................................................................58 4.3.6 UC06 – Projeto .........................................................................................................................59 4.3.7 Identificação dos atores do sistema ........................................................................................60 4.4 MODELO DE ENTIDADE E RELACIONAMENTO ................................................................62 4.5 CONSIDERAÇÕES FINAIS DA MODELAGEM ......................................................................63 5 DESENVOLVIMENTO DO SISTEMA ..................................................................................... 64 5.1 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.2 5.3 5.3.1 5.3.2 5.3.3 5.3.4 5.4 5.5 6 AMBIENTES DE DESENVOLVIMENTO .................................................................................64 Draw.io ......................................................................................................................................65 DbDesigner ...............................................................................................................................65 MySQL ......................................................................................................................................66 Apache Tomcat ........................................................................................................................66 Suíte de Ferramentas Spring ..................................................................................................67 Java ...........................................................................................................................................67 Balsamiq Mockups ..................................................................................................................68 HISTÓRICO DE DESENVOLVIMENTO ..................................................................................68 APRESENTAÇÃO DO SISTEMA ..............................................................................................70 Meus Projetos ...........................................................................................................................70 Projeto .......................................................................................................................................70 Permissões.................................................................................................................................71 Upload e Download de Arquivos .............................................................................................72 VALIDAÇÃO DO SISTEMA ......................................................................................................73 CONSIDERAÇÕES FINAIS DO DESENVOLVIMENTO ........................................................79 CONCLUSÕES E TRABALHOS FUTUROS............................................................................ 80 APÊNDICES........................................................................................................................................ 86 APÊNDICE A – CRONOGRAMA .................................................................................................... 87 APENDICE B - QUESTIONÁRIO DE VALIDAÇÃO DO SISTEMA ......................................... 89 APENDICE C – DOCUMENTAÇÃO DE CASOS DE USO .......................................................... 91 ANEXOS .............................................................................................................................................. 97 ANEXO A – REGULAMENTO PARA A ELABORAÇÃO DO TRABALHO DE CONCLUSÃO DE CURSO DE SISTEMAS DA INFORMAÇÃO .......................................................................... 98 15 1 INTRODUÇÃO O projeto pedagógico do curso de Sistemas de Informação tem o intuito de definir normas visando sintonizar os acadêmicos com as demandas atuais do mercado de trabalho. Neste contexto, no curso de sistemas da informação existe a disciplina de Trabalho de Conclusão de Curso (TCC). A qual é responsável por auxiliar o aluno na construção de sua monografia de conclusão de curso. O TCC é desenvolvido em duas etapas subsequentes, correspondente a dois semestres letivos realizados nas disciplinas de TCC em Sistemas de Informação I e de TCC em Sistemas de Informação II. Como resultado das disciplinas deve-se produzir um trabalho técnico-cientifico. Neste processo de construção, na primeira etapa, definem-se: o orientador; a problemática e o tema; os objetivos do trabalho; a justificativa para realização do projeto; revisão da literatura; e, a metodologia da pesquisa que será aplicada em segunda etapa do projeto. Já na segunda etapa da disciplina, o acadêmico deverá realizar o projeto conforme a metodologia técnico-científica escolhida. Na conclusão do projeto, o TCC deve ser avaliado por pelo menos dois avaliadores, além do próprio orientador. Por fim, o trabalho é defendido pelos autores em solenidade aberta ao público e com participação da banca avaliadora. Durante o desenvolvimento do TCC há interações constantes entre os alunos, o orientador e o coordenador das disciplinas. Estas interações podem ser feitas através de meios de comunicação digitais, ou de reuniões presenciais com o intuito de cumprir a agenda das sessões de orientação. Nem sempre estes encontros são possíveis de serem realizados presencialmente, por isso ocorrem com maior frequência por meio digital através de e-mails, comunicadores instantâneos ou também por vídeo conferência. A comunicação entre os envolvidos durante as reuniões realizadas serve para alinhamento e acompanhamento do progresso da construção da monografia. Os registros das reuniões servem para aprimorar o projeto, visando atingir o objetivo proposto. Neste aspecto observa-se que a tecnologia contribui para a condução destas interações. 16 A tecnologia exerce um papel essencial tanto na comunicação e armazenamento dos dados, das informações e dos conhecimentos como na integração dos tomadores de decisão. Exerce também enorme potencial para o compartilhamento do conhecimento. De qualquer parte do mundo, o tomador de decisão pode acessar a experiência passada de outras pessoas e aprender com elas (JOHNSON, 1997 apud ANGELONI, 2003). Também, durante o andamento das disciplinas ocorrem as fases de entrega do projeto nas quais o orientador e o coordenador avaliam e fazem colocações sobre inconsistências, possíveis ajustes e implementações. Estas interações visam promover o ciclo de melhoria contínua dos acadêmicos. Levando em consideração a constante troca de informações para a elaboração dos capítulos da monografia, a comunicação direta e clara aproxima e facilita a construção do conhecimento. Para tal existem os ambientes digitais de aprendizagem que são ferramentas capazes de auxiliar a comunicação, inclusive controlando os arquivos gerados com as colocações realizadas durante o andamento do projeto. Ambientes digitais de aprendizagem são sistemas computacionais disponíveis na internet, destinados ao suporte de atividades mediadas pelas tecnologias de informação e comunicação. Permitem integrar múltiplas mídias, linguagens e recursos, apresentar informações de maneira organizada, desenvolver interações entre pessoas e objetos de conhecimento, elaborar e socializar produções tendo em vista atingir determinados objetivos. As atividades se desenvolvem no tempo, ritmo de trabalho e espaço em que cada participante se localiza, de acordo com uma intencionalidade explícita e um planejamento prévio (CAMPOS, 1998 apud ALMEIDA, 2003). Diante do exposto, o objetivo deste trabalho de conclusão de curso é desenvolver um sistema web para atender a disciplina de TCC que seja aplicável ao curso de Sistemas de Informação, visando auxiliar os atores envolvidos no processo de elaboração das monografias. Assim, espera-se proporcionar uma melhoria na interação entre os envolvidos no processo, diminuindo o tempo de resposta entre as atividades e aprimorando o compartilhamento de informações. 1.1 PROBLEMA 17 Durante a escolha do tema constatou-se que não havia disponível uma ferramenta capaz de auxiliar os acadêmicos na construção da monografia. Além disso, havia uma dificuldade de manter o histórico das interações entre os acadêmicos e o orientador. O controle dos arquivos gerados era feito de forma individual e o registro do feedback para os autores muitas vezes se perdia frente a tantas interações. Esta dificuldade também foi identificada em outros cursos de graduação, os quais também utilizam o mesmo processo de construção do TCC. Contudo, diante do escopo este projeto limitou-se em analisar o contexto do curso de Sistemas de Informação. Este trabalho propõe o desenvolvimento de uma aplicação web para uso na disciplina de Trabalho de Conclusão de Cursos do curso de Sistemas de Informação da UNISUL – Universidade do Sul de Santa Catarina. A ferramenta proposta visa a auxiliar na elaboração dos projetos de conclusão de curso, oferecendo recursos que apoiam a integração, e promovem a interação entre alunos e orientadores. Portanto, formulou-se a questão que norteia esta pesquisa: “É possível que uma Ferramenta Web de Acompanhamento e Versionamento de Trabalhos Acadêmicos auxilie os envolvidos no processo de elaboração da pesquisa nas disciplinas de Trabalho de Conclusão de Curso? ” 1.2 OBJETIVOS A seguir, são apresentados o objetivo geral e os objetivos específicos deste trabalho. 1.2.1 Objetivo Geral O objetivo geral deste trabalho é desenvolver um sistema Web que permita contribuir no processo de comunicação entre os integrantes, e oferecer um modo de gerenciar os arquivos produzidos durante o TCC do curso de Sistemas de Informação da Universidade do Sul de Santa Catarina. 18 1.2.2 Objetivos Específicos Para alcançar o objetivo geral, têm-se os seguintes objetivos específicos: a) Identificar os requisitos para o desenvolvimento de uma ferramenta de auxílio ao processo de construção de projeto de conclusão de curso; b) Desenvolver uma aplicação Web capaz de, auxiliar os atores no processo de comunicação, de gerenciamento de arquivos e comentários do TCC de Sistemas de Informação. c) Disponibilizar e apontar a contribuição da ferramenta web de apoio ao trabalho de conclusão de curso através de um questionário aplicado à usuários selecionados dentro do que se propõe o presente trabalho. 1.3 JUSTIFICATIVA De acordo com Tapscott, 1995, citado por Freitas 2003, é possível notar uma constante evolução tecnológica sobre os ambientes pessoais de trabalho, tornando-os cada vez mais informatizados e disponíveis no tempo e ambiente de cada ator, com fluxo de informação e comunicação constantes. De modo ágil e fácil, possibilitam um melhor aproveitamento, quanto ao tempo investido e a maneira de execução das tarefas a fim de proporcionar a melhoria dos processos. Nesta nova sociedade, a TI pode proporcionar um diferencial nas organizações que souberem utilizá-la de forma adequada, sendo um recurso que elas têm para competir e continuar operando em seus mercados. A TI está sendo aplicada a todos os aspectos de um negócio, desde a produção de um bem ou serviço até a sua comercialização e distribuição (TAPSCOTT, 1995, apud FREITAS, 2003). Diante destes diferenciais proporcionados pela evolução da TI, o ambiente acadêmico também é beneficiado com fenômenos tecnológicos que estão fazendo cada vez mais parte do dia a dia de alunos e professores como por exemplo, a ferramenta Moodle, vem sendo utilizado como ferramenta de Learning Management Systems e está traduzido em mais de 100 idiomas. O uso de tecnologias busca facilitar a assimilação do conteúdo de forma 19 integrada dentro de uma plataforma capaz de auxiliar na comunicação entre os atores envolvidos. Para Mercado (1999 apud FUGIMOTO, 2010) "As novas modalidades de uso do computador na educação apontam para o uso desta tecnologia como ferramenta educacional de complementação, de aperfeiçoamento e de possível mudança na qualidade de ensino." O ambiente virtual de ensino e aprendizagem poderá constituir-se em instrumento potencializador dos processos interativos de aprendizagem, criação e compartilhamento de conhecimento, independente do perfil do usuário. Nessa direção, o foco está centrado na criação e no uso de tecnologias avançadas que priorizem e, de certa forma, minimizem as dificuldades que ainda permeiam o acesso, a navegação e a comunicação entre usuários (RIBAS, 2007. p. 64). Também constatou-se que no curso de Sistemas de Informação não havia disponível uma ferramenta capaz de auxiliar os acadêmicos na construção da monografia, exigindo dos acadêmicos uma maior atenção para armazenar o histórico de interações entre os acadêmicos e o orientador, bem como o controle dos arquivos gerados. Por isso, justifica-se a importância do presente trabalho em desenvolver um ambiente Web com foco no auxílio dos atores no processo de construção e avaliação de projeto de conclusão de curso, visando à melhora na qualidade de ensino. 1.4 ESTRUTURA DA MONOGRAFIA O trabalho está organizado conforme segue: Consta no capítulo 1 da Introdução: a descrição do problema, objetivos (gerais e específicos), justificativa e solução proposta como trabalho. No capítulo 2 da Revisão Bibliográfica: São apresentados conceitos de ambientes digitais de aprendizagem, aprendizagem colaborativa, sistemas de controle de versões e a metodologia de desenvolvimento Agile Model Driven Development. No capítulo 3 do Método de Pesquisa: é apresentado o tipo de pesquisa a ser desenvolvido, as atividades a serem realizadas, a proposta da solução e as delimitações. Consta no capítulo 4 de Modelagem do Sistema: As etapas da modelagem do sistema por meio da metodologia de desenvolvimento ágil AMDD, bem como os artefatos gerados durante a modelagem. 20 Já no capitulo 5 de Desenvolvimento do Sistema: São apresentadas as ferramentas tecnológicas utilizadas, algumas considerações sobre o desenvolvimento, o sistema implementado e a avaliação do mesmo. Por fim no capítulo 6 de Conclusões e trabalhos futuros: São apresentados as considerações finais sobre o desenvolvimento do sistema e as ações futuras de continuidade para a ampliação do mesmo. 21 2 REVISÃO BIBLIOGRÁFICA Para tratar o problema de pesquisa, busca-se apresentar os principais conceitos e abordagens teóricas relacionadas ao escopo deste trabalho, Inicia-se apresentando uma abordagem sobre os ambientes digitais de aprendizagem e suas evoluções em seguida apresenta-se o contexto da aprendizagem colaborativa após, é abordado sobre sistemas de controle de versão e, por fim, detalha-se a metodologia de desenvolvimento Agile Model Driven Development – AMDD, que foi utilizada para o desenvolvimento do sistema que este projeto propõe . Para Silva e Menezes (2001), uma das etapas mais importantes de um projeto de pesquisa é a revisão bibliográfica, tendo em vista que esta a fundamentação teórica que será adotada para tratar o tema e o problema da pesquisa que fará a estruturação conceitual e dará sustentação ao desenvolvimento do projeto. 2.1 AMBIENTE DIGITAL DE APRENDIZAGEM Ambientes digitais de aprendizagem (ADA) são compostos por sistemas computacionais acessíveis por meio da internet que permitem a expansão do processo de ensino-aprendizagem, no qual, por mediação de tecnologias, a informação pode ser apresentada de várias formas. (VASCONCELOS et al, 2013). Devido à rapidez na emissão e distribuição de conteúdos por extenso, relação com informações, recursos e pessoas, nota-se uma tendência ao emprego da Tecnologia da Informação e Comunicação (TIC) como suporte na realização de atividades à distância, variando em termos de modalidades e temas de estudo ou cursos regulares, no contexto dos sistemas de ensino, tendo estrutura dos recursos telemáticos. (SILVA, 2003). O homem, na constante busca do conhecimento de sua natureza, de seus processos de adaptação e sobrevivência, e também do conforto ou da segurança, vem a cada dia buscando novas formas de aprender, novas metodologias e novos processos fundamentados em novos paradigmas da ciência. Esse desafio está apoiado no uso de novas tecnologias e de representações do seu meio (VALENTINI, 2005). Assim, os ambientes digitais de aprendizagem, apoiados no uso das novas tecnologias, possibilitam que os locais de aprendizagens possam ser as casas, os escritórios, as 22 salas de aulas, entre outros. Diante disso, vivencia-se um período em que as barreiras de tempo e de espaço diminuem com o exercício das tecnologias, e tornam mais ágeis as interações entre os atores. (VALENTINI, 2005) Com base em Sartori e Roesler (2005), o material online é vantajoso em relação ao material impresso visto que o primeiro possibilita uma atualização imediata, acarretando um olhar contínuo no desenvolvimento do planejado, ocasionando dessa maneira possíveis correções imediatas. No entanto, nem sempre o professor tem condições de identificar instantaneamente os aspectos que afloram no processo de desenvolvimento dos estudantes e, passando algum tempo, perde-se exatamente o que ocorreu. A recuperação e análise dos registros digitais de desenvolvimento dos alunos permitem ao professor mapear o caminho epistemológico, identificando dificuldades, demandas e produções, favorecendo a aplicação de mediações específicas, de acordo com as necessidades do aluno, seu ritmo de trabalho, propensão de aprendizagem e características particulares do próprio aluno, que o impulsiona a ultrapassar as próprias dificuldades, atingindo novos estágios de desenvolvimento (CAVELLUCCI; VALENTE, 2007 apud ALMEIDA, 2007). De igual modo, os registros digitais possibilitam ao aluno processos de auto avaliação através da identificação de equívocos e descobertas, a revisão de processos e a reformulação de produções, assim como a criação de um espaço relacional de aceitação e convite aos pares para a participação no desenvolvimento de produções colaborativas (ALMEIDA, 2007). Isso demonstra a capacidade do uso da TIC no âmbito educacional, em que os recursos se caracterizam como uma nova modalidade de comunicação que permite romper com a linearidade e a unidirecionalidade entre emissor e receptor, a limitação espaçotemporal, e potencializam a comunicação multidirecional, promovendo, dessa forma, o suporte aos diversos níveis de relacionamentos entre pessoas, desde simples interações a processos complexos de cooperação. A seguir serão descritas algumas ferramentas que compõem os ambientes digitais de aprendizagem, também será abordado a utilização de tecnologias em software e em hardware voltado ao suporte aos diversos níveis de relacionamento entre pessoas e por fim apresenta-se um exemplo de um ambiente digital de aprendizagem. 23 2.1.1 Integração de Tecnologias na Educação Existem diversos tipos de ferramentas, síncronas e assíncronas que são capazes de compor um ADA. As síncronas são aquelas a que os atores estão conectados no ambiente simultaneamente, e as assíncronas são o oposto, e os atores interagem em momentos diferentes (CORRÊA, 2007). Entre as ferramentas comumente utilizadas em ambiente digitais de aprendizagem, verificam-se as seguintes: chats (Internet Relay Chat) oportunizam a discussão entre duas ou mais pessoas concomitantemente, sendo realizada por softwares específicos ou ser integrado em páginas Web (GONZALEZ, 2005); os fóruns que, segundo Pereira e Giani (2009), permitem a comunicação online através de mensagens que são colocadas no fórum durante um determinado período de tempo. Nesta, portanto, os atores não precisam estar presentes ao mesmo tempo durante o processo; listas de discussões, ferramenta assíncrona de comunicação, interação e cooperação, podendo utilizá-la na consumação de conversas individuais, não moderadas, ou conversas em grupo, moderadas ou não (CORRÊA, 2007); o portfólio compõe todos os trabalhos realizados pelo estudante durante um determinado período estabelecido. Utiliza-se esse recurso ferramental na análise da evolução do(s) aluno(s). Tal aplicação é acessível e/ou comentada apenas pelo tutor ou qualquer outro ator, tudo dependendo de como o sistema foi programado (CORRÊA, 2007); controles de e-mails que, de acordo com Pimentel (2006), é "indicado para enviar e receber arquivos anexados às mensagens, esclarecer dúvidas, dar sugestões etc.". As ferramentas acima expostas são as mais comuns de serem encontradas em um ADA na busca de torná-lo confortável e dinâmico, possibilitando vários recursos aos usuários a fim de promover a interatividade. As possibilidades de aprendizagem colaborativa surgem como uma resposta à tradicional estrutura estática da internet, baseada em poucos emissores e muitos receptores, começando a adotar uma nova plataforma na qual as aplicações e seus recursos se tornam fáceis de usar e permitem que haja muitos emissores, muitos receptores e uma quantidade significativa de intercâmbios e cooperações. (BARROS, 2003) 24 2.1.2 Groupware Groupware engloba aplicações que facilitam tanto o encontro e comunicação de indivíduos como o apoio a atividades complexas, por exemplo a realização de reuniões ou a construção de produtos em conjunto. Segundo Freitas Júnior (2003, p. 81), os sistemas de groupware “permitem que as pessoas trabalhem de forma cooperativa e colaborativa, compartilhando dados e informações em tempo real, de modo a criar o conhecimento coletivo associado ao negócio”. Resumidamente, groupware é a tecnologia em software e hardware voltada para dar suporte aos diversos níveis de relacionamento entre pessoas, engloba as aplicações que facilitem tanto o encontro e comunicação entre indivíduos, como o apoio a atividades complexas, como, por exemplo, reunir os colegas para fazer um grupo de estudos. Uma tecnologia computacional que auxilie grupos na realização de suas tarefas, em diversos contextos de colaboração e comprometimento, oferecendo níveis distintos de comunicação, colaboração, coordenação e percepção de suas atividades, de acordo com as necessidades e objetivos de interação de cada grupo (ARAÚJO, 2000, apud CAMPOS, 2003). Além de propiciar maior liberdade na forma de expressar a informação, acrescentando valor a interação e a participação entre os atores, contribui para obtenção de um objetivo comum. Atividades em grupos, como: reuniões, troca de informações, gerência de tempo e compromissos, discussões, treinamento e aprendizagem, são todas capazes de serem realizadas com suporte computacional. Uma das primeiras classificações sugeridas na literatura aborda as aplicações cooperativas do ponto de vista de duas dimensões: tempo e espaço (ELLIS, 1991 apud CAMPOS, 2003). Segundo essa classificação, atores interagindo no mesmo local (face a face) ou geograficamente disseminados (distribuídos). Sistemas de coautoria têm o objetivo de oferecer um espaço de trabalho compartilhado em que os participantes podem visualizar o objeto sendo construído e manipulá-lo simultaneamente. A coordenação nesses sistemas é priorizada para oferecer recursos que auxiliem os participantes a trabalhar sobre o objeto em construção sem obstruir ou destruir as contribuições alheias. (CAMPOS, 2003). 25 Campos (2003) afirma que o principal objetivo de uma aplicação cooperativa está em oferecer compartilhamento a um determinado espaço de trabalho. O mesmo autor afirma ainda que quatro elementos são responsáveis por disponibilizar compartilhamento em espaços de trabalho: comunicação, coordenação, memória de grupo e percepção, assim apresentado na figura 1. Figura 1- Esquema geral dos aspectos de suporte a grupos Fonte: Campos (2003). - Coordenação: o trabalho cooperativo frequentemente requer a gerência de dependências entre atividades em grupo e individuais, além do acompanhamento de seus progressos. O processo de coordenação tem esse acompanhamento como objetivo principal. - Comunicação: a comunicação entre os membros de um grupo depende da existência de técnicas ou canais de comunicação que permitam que os atores troquem informações diretamente. Essa comunicação direta pode ser formal ou informal. Os canais de comunicação estabelecem recursos para a realização de interações síncronas ou assíncronas, remotas ou distribuídas. - Memória do grupo: durante o trabalho num projeto de cooperação, os participantes compartilham não só documentos e produtos gerados durante as interações, como também ideias e pensamentos acerca do trabalho sendo produzido. A memória de grupo é o registro completo do processo de interação entre o grupo, incluindo as comunicações e tarefas realizadas, bem como os produtos gerados e seus históricos. 26 - Percepção: pode ser definida como o entendimento das atividades realizadas pelos outros membros do grupo. Os participantes de um grupo de trabalho devem ser capazes de perceber e contextualizar o andamento de uma determinada tarefa e as contribuições geradas por cada indivíduo ao longo de sua realização. Com os mecanismos de percepção, é possível para um membro do grupo visualizar em qual contexto seu trabalho e o dos outros membros do grupo está inserido. Sob o ponto de vista adotado por Campos (2003), ao analisar a figura 1 pode-se perceber características pedagógicas que um ambiente digital de aprendizagem deve conter, como, por exemplo, um usuário responsável por coordenar o grupo na construção do conhecimento, bem como o próprio ambiente, a comunicação deve ser fácil entre os usuários, possibilitando exposição do conhecimento de forma clara, a memória do grupo pode ser associada ao histórico da troca de mensagens ou também a um fórum, a percepção está ligada à forma de como a informação será exibida, sendo um fator crucial para um ambiente digital de aprendizagem. 2.1.3 Moodle – Modular Object-Oriented Dynamic Learning Environment Para Dall'Oglio (2013),"Moodle é um sistema de gerenciamento de cursos ou ambiente digital de aprendizagem de distribuição gratuita que ajuda os educadores a criar comunidades de aprendizagem online [...]". O Moodle (Modular Object-Oriented Dynamic Learning Environment) é um ambiente virtual de aprendizagem (AVA) a distância, regido pela GLP e desenvolvido inicialmente pelo australiano Martin Douglas em 1999. Foi desenvolvido sob a teoria construtivista social, a qual defende a construção de ideias e conhecimentos em grupos sociais de forma colaborativa, uns para com os outros, criando assim uma cultura de compartilhamento de significados. (ALENCAR, 2011) O desenvolvimento do sistema de gerenciamento de aprendizagem (LMS) Moodle está sendo realizado em plataforma aberta, ou seja, é um software gratuito que pode ser baixado, utilizado e modificado por qualquer usuário. Toda e qualquer instituição que utiliza o Moodle está contribuindo de alguma forma para o seu crescimento, seja na divulgação, identificar problemas e até mesmo implementar novas funcionalidades. Conforme Grupo A (1997) o Moodle segue a ideia base de outros LMS existentes no mercado, como por exemplo o Blackboard, que além das ferramentas LMS também oferece serviços aos usuários. 27 De acordo com Alencar (2011), a vasta gama de ferramentas e a possibilidade de customizar o ambiente virtual de aprendizagem permite ao professor gerenciar um curso a distância, provendo o planejamento, implementação e gestão do aprendizado à distância, permitindo inclusive o uso em cursos semipresenciais ou para a publicação de materiais que complementem os recursos presenciais. Disponibiliza aos alunos e professores um espaço de aprendizagem com técnica dinâmica, a qual possibilita a cooperação mútua dos participantes, a troca de compartilhamento de materiais, retificação de tarefas, avaliação e registro de notas (ALENCAR, 2011). A ferramenta possui recursos limitados quanto a perfis de acesso diferenciados, controle de versões dos documentos, bem como comentários e discussões relacionados com o desenvolvimento do conteúdo. Diante disso, diferencia-se da atual proposta. Há de se reconhecer algumas dificuldades que precisam ser supridas, como a falta de socialização entre o corpo docente e o aluno devido a separação física, as respostas às dúvidas são mais lentas, as orientações e correções das atividades são mais complexas e a evasão escolar é mais significativa para a EAD do que a Educação Presencial, porque o esforço para se manter a atenção do aluno é maior. [...] Buscase de certa forma, uma ferramenta mais eficaz, que possibilite uma interatividade maior entre os alunos-alunos, alunos-professores e professores-professores. (NODARI et al., 2010). Os ambientes digitais de aprendizagem possibilitam a integração da tecnologia na educação. Assim através das ferramentas tecnológicas engloba-se as necessidades estudantis em um único ambiente. Esta integração possibilita a construção o conhecimento de forma conjunta, permite aos estudantes adquirir experiência enquanto o trabalho é desenvolvido e não somente após sua conclusão. A ação de construir o conhecimento em conjunto é chamada de aprendizagem colaborativa, sendo tratado com mais profundidade na próxima seção. 28 2.2 APRENDIZAGEM COLABORATIVA Atualmente está cada vez mais comum na sociedade a realização de trabalhos na forma colaborativa por intermédio de ferramentas e recursos capazes de auxiliar e facilitar a comunicação, integração e interação dos atores envolvidos neste processo. Segundo Tijiboy (1999), o termo colaboração é a "interação de um indivíduo com outro, existindo ajuda mútua e unilateral". O trabalho combinado em um projeto onde atuam diversos colaboradores, sob uma boa gerência, possui um resultado melhor do que se o projeto fosse realizado individualmente, isto porque as ideias sofrem um processo de depuração, por meio de críticas e sugestões (TUROFF, 1982). 2.2.1 Base Histórica do Computer Suported Collaborative Learning (CSCL) Segundo Sthal (2006), três projetos preliminares foram os precursores naquilo que posteriormente ascenderia como a área que compreende a Computer Suported Collaborative Learning – CSCL. Todos exploram o uso da tecnologia com o intento de melhorar a aprendizagem relacionada à literatura. São Eles: Projeto Electronic Networks for Instruction (ENFI) 1985, da Universidade Gaulladet, situada em Washington, D.C. - produziu alguns dos primeiros exemplos de programas para composição literária com suporte computacional ou “CSC Writing”. Aalunos da universidade Gaulladet são surdos ou têm pouca audição. O objetivo desse projeto foi engajar os alunos em escrever de duas novas maneiras: introduzi-los à ideia de escrever, mentalizando uma voz e escrever tendo uma audiência em mente. Projeto Computer Supported International Learning Environments (CSILE) 1993, da Universidade de Toronto – Posteriormente esse projeto foi chamado de Knowledge Forum. Nesse projeto foram desenvolvidas tecnologias e pedagogias para tornar as salas de aula em comunidades de construção de conhecimento e possibilitava aos alunos arquivarem os textos produzidos assim como na literatura escolar tradicional. Projeto Fifh Dimension 1986, da Universidade de San Diego, Califórnia – propõe um sistema integrado de atividades baseadas no computador, 29 selecionadas para aumentar a habilidade de leitura e de resolução de problemas dos alunos. Todos esses projetos compartilham o objetivo de orientar a educação à construção de significado. Todos os três usaram computadores e tecnologias da informação como recursos para atingir esse objetivo e introduziram novas formas de atividade social na instrução, desse modo, eles fundaram as bases para a subsequente ascensão da CSCL. Koshmann (1996a), apud Sthal (2006), compararam a área de CSCL com as iniciativas anteriores do uso de computadores na educação e puderam identificar a seguinte sequência histórica de iniciativas: Instrução assistida por computador: foi uma abordagem behaviorista, comportamental, que dominou os primeiros anos das aplicações computacionais educacionais, iniciadas nos anos 1960. Nessa visão, a aprendizagem confundia-se com a memorização de fatos e apresentados aos alunos numa sequência lógica através de repetições e práticas computadorizadas. Sistemas tutores inteligentes: Eram baseados numa filosofia cognitivista que analisa a aprendizagem de cada aluno através de modelos mentais e de representações mentais potencialmente equivocadas. Rejeitaram a visão behaviorista de que poderia haver um suporte à aprendizagem sem levar em conta como os alunos representam e processam o conhecimento. Considerada particularmente promissora, nos anos 1970, essa abordagem criou modelos computacionais do entendimento dos alunos e, então, respondeu às suas ações com base em ocorrências de erros típicos identificados nos modelos. Logo: esforços nos anos 1980, exemplificados pelo ensino da linguagem de programação Logo, foram uma tentativa construtivista, cuja argumentação se baseava no fato de que os alunos deveriam construir o seu conhecimento por eles mesmos. Essa abordagem ofereceu ambientes estimulantes para alunos explorarem e descobrirem o poder do raciocínio, como ilustrado nos elementos de programação: funções, sub-rotinas, loops, variáveis, recursão. CSCL: Durante a metade dos anos 1990, as abordagens CSCL começaram a explorar como computadores poderiam agrupar os alunos para aprender colaborativamente em pequenos grupos e em comunidades de aprendizagem. 30 As iniciativas motivadas pelo construtivismo social e teorias de diálogo, buscaram oferecer e dar suporte, para que, juntos, os alunos construíssem conhecimento compartilhado. 2.2.2 Aprendizagem colaborativa com suporte computacional De um modo geral, a aprendizagem colaborativa com suporte computacional, é um ramo emergente das ciências da aprendizagem que estuda como as pessoas podem aprender em grupo com o auxílio do computador (Sthal, 2006). Na busca pelo saber, criam-se tecnologias as quais modificam a forma de aprender através do uso das mesmas. Nesse sentido cresce a demanda por sistemas que deem suporte à formas de educação on-line. De acordo com Hardin e Ziebarth (1995 apud Campos, 2003), a aprendizagem, baseada na internet, deve aproveitar o que há de melhor nas redes de computadores – a possibilidade de comunicação e cooperação entre as partes. A definição de aprendizagem colaborativa é baseada diretamente nos conceitos de aprender e colaborar. Segundo Michaelis (1998), o significado de aprender vem do latim apprehendere que significa ficar sabendo, reter na memória ou tomar conhecimento e colaborar do latim collaborare significa trabalhar com, trabalhar em comum na mesma obra, cooperar para a realização de qualquer coisa, ou seja, cooperar para tomar conhecimento. Para Campos (2013), a aprendizagem colaborativa é uma técnica ou proposta pedagógica na qual estudantes se ajudam no processo de aprendizagem, atuando como parceiros entre si, e o professor com o objetivo de adquirir conhecimento sobre um dado objeto. A CSCL ampara a construção do conhecimento, proporcionando a cooperação como apoio ao processo de aprendizagem, enfatiza a participação ativa e a interação tanto dos alunos como dos professores. Essa aproximação proporciona ao aprendiz uma base de apoio para o desenvolvimento de suas atividades, sendo a comunidade uma das principais fontes de apoio. De acordo com Barros (1994 apud CAMPOS, 2003), pode-se identificar seis elementos importantes na definição do campo de aprendizagem colaborativa: 1. aprendizagem é um processo inerentemente individual, não-coletivo, que é influenciado por uma variedade de fatores externos, incluindo as interações em grupo e interpessoais; 31 2. as interações em grupo e interpessoais envolvem o uso da linguagem (um processo social) na reorganização e na modificação dos entendimentos e das estruturas de conhecimento individuais, e, portanto, a aprendizagem é simultaneamente um fenômeno privado e social; 3. aprender cooperativamente implica a troca entre pares, a interação entre iguais e o intercâmbio de papéis, de forma que diferentes membros de um grupo ou comunidade podem assumir diferentes papéis (aprendiz, professor, pesquisador de informação, facilitador) em momentos diferentes, dependendo da necessidade; 4. a cooperação envolve sinergia e assume que de alguma maneira “o todo é maior do que a soma das partes individuais”, de modo que aprender, desenvolvendo cooperativamente um trabalho, pode produzir ganhos superiores à aprendizagem solitária; 5. nem todas as tentativas de aprender cooperativamente serão bem sucedidas, já que, sob certas circunstancias, pode levar à perda do processo, falta de iniciativa, mal-entendidos, conflitos, e descrédito: os benefícios potenciais não são sempre alcançados; 6. aprendizagem cooperativa não significa necessariamente aprender em um grupo, mas o contrário implica a possibilidade de poder contar com outras pessoas para apoiar sua aprendizagem e dar retorno, se e quando necessário, no contexto de um ambiente não-competitivo. Com base nessas definições apresentadas pode-se a perspectiva da aprendizagem colaborativa, em que existem os atores envolvidos na construção do conhecimento, que são os alunos e os professores, juntos formam um grupo que, através de um objetivo em comum, constroem o conhecimento interagindo uns com os outros de uma maneira em que todos possam compartilhar o que já foi aprendido. Aprender em um processo colaborativo é planejar; desenvolver ações; receber, selecionar e enviar informações; estabelecer conexões; refletir sobre o processo em desenvolvimento em conjunto com os pares; desenvolver a inter aprendizagem, a competência de resolver problemas em grupo e a autonomia em relação à busca e ao fazer por si mesmo(SILVA, 2000 apud ALMEIDA, 2005). 32 A aprendizagem colaborativa destaca a participação ativa e a interação entre alunos e professores. O conhecimento é adquirido através da construção social, nesse sentido, o processo educativo é favorecido pela participação social em ambientes que proporcionem a interação, a colaboração e a avaliação. Ambientes de aprendizagem auxiliam na partilha do conhecimento através de possibilidades, favorecendo o crescimento do grupo, provendo a participação dinâmica e a definição de objetivos comuns ao grupo, como pretende propor o presente projeto. Tecnologias colaborativas permitem a construção de formas comuns de ver, agir, conhecer, ou seja, são ferramentas que habilitam indivíduos a se engajarem conjuntamente na atividade de produção do conhecimento compartilhado (CAMPOS, 2003). Harasim (1997, apud QUEIROZ, 2007), evidencia algumas características ligadas à prática pedagógica de aprendizagem colaborativa: "Os processos de conversação, múltiplas perspectivas e argumentação que ocorrem nos grupos de aprendizagem colaborativa podem explicar porque é que este modelo de aprendizagem promove um maior desenvolvimento cognitivo do que é realizado em trabalho individual pelos mesmo indivíduos". 2.2.3 Ambientes de Aprendizagem Colaborativa Apoiados por Computadores A realização de trabalhos utilizando a metodologia colaborativa está cada vez mais comum na sociedade. Esse crescimento se dá pelo fato de que as habilidades individuais necessitam ser complementadas para produzir resultados mais completos, com maior qualidade em menor tempo. Segundo Campos (2003), o suporte dado por computadores à aprendizagem cooperativa tem como objetivo dinamizar esse processo por meio de sistemas que implementam um ambiente de cooperação que tem papel ativo na análise e controle dessa. As tecnologias colaborativas permitem a construção de formas comuns de ver, agir e conhecer, são ambientes que habilitam indivíduos a se engajarem na atividade de produção de conhecimento, compartilhando. A integração entre a educação e a tecnologia está envolvida diretamente na construção e implementação de ambientes de CSCL, portanto, o conjunto de características de um ambiente irá determinar a sua aplicação e eficácia. 33 Campos (2003) afirma que há duas áreas de pesquisa que norteiam o estudo dos ambientes de suporte à implementação de técnicas de aprendizagem colaborativa, são elas: trabalho cooperativo, apoiado por computadores: discute tecnologias e mecanismos de suporte à interação e colaboração; aprendizagem cooperativa, apoiada por computadores: relaciona as questões educacionais e pedagógicas na construção e implementação de ambientes computacionais para suporte aos processos de aprendizagem em grupo. O Computer-Supported Cooperative Work (CSCW) também é chamado de uma área de pesquisa que estuda o uso de sistemas colaborativos, ou seja, tecnologia computacional para apoio ao trabalho de grupos de indivíduos por meio de aplicações groupware. A diferença entre CSCW e Computer-Supported Colaborative Learning (CSCL) é que o CSCW é uma área de estudos que tem foco em técnicas de comunicação empregadas para prover suporte à cooperação, principalmente em negócios; enquanto que CSCL é uma subtarefa de CSCW, em que o trabalho é a educação e, portanto, tem foco naquilo que está sendo comunicado, visando a tornar a aprendizagem mais efetiva. (CAMPOS, 2003). 2.2.4 Edmodo O ambiente de aprendizagem Edmodo, ou rede social de aprendizagem, permite ao educador criar um ambiente virtual restrito, no qual os alunos, professores e também os pais interagem em um ambiente privado e seguro. O ambiente possibilita a hipertextualidade, devido a sua tecnologia, baseada em Web 2.0, em que os usuários podem interagir e compartilhar recursos educacionais, como fotos, músicas, textos e vídeos. (PURGLY 2013), dessa forma, favorecendo a participação, comunicação, compartilhamento e colaboração entre usuários, permitindo o desenvolvimento do processo de produção de conhecimento dinâmico e atrativo para os alunos. "Nosso objetivo é ajudar educadores a aproveitar o poder das mídias sociais para customizar a sala de aula para cada estudante", conforme Edmodo em seu site sobre sua missão. Portanto, o ambiente Edmodo possibilita ao aluno interagir de forma dinâmica e construir um espaço virtual com informações e posicionamentos reflexivos sobre 34 conhecimentos que são pertinentes a eles. Os alunos podem selecionar o que acreditam ser importante sobre um dado conteúdo e, a partir deste momento, estabelecem relações com outras informações acerca do assunto, ilustrando suas opiniões e construções de conhecimento através de suas publicações, envolvendo texto, imagem ou vídeo. Purgly (2013), evidencia alguns pontos negativos encontrados pelos professores durante o uso da ferramenta, tais como: falta de mensagens instantâneas ou de comunicação síncrona (enquanto os usuários estão online), e limitações quanto a disponibilidade do ambiente virtual (no caso de um usuário não ter computador na sua residência o ambiente não irá servir o aluno fora da escola). 2.3 SISTEMA DE CONTROLE DE VERSÃO Trata-se de um sistema que fixa as mudanças realizadas em um arquivo ou um conjunto de arquivos ao longo do tempo, possibilitando o resgate de versões específicas (CHACON, 2009). A partir disso, torna-se possível gerenciar histórico, alterações e versões simultâneas diferentes de um mesmo projeto, trazendo, dessa forma, maior organização e controle sobre o mesmo, permitindo que duas ou mais pessoas trabalhem no mesmo projeto simultaneamente, ampliando a produtividade e auxiliando o gerenciamento de conflitos introduzidos pelas mudanças. Segundo Asklund et. al. (2001, apud SILVA, 2005)" a propriedade mais importante de uma versão é a imutabilidade, pois quando uma versão é congelada, seu conteúdo não pode ser modificado, tornando necessária a criação de uma nova versão". As versões devem ser controladas a partir de ferramentas, que têm a função de armazená-las de maneira que seja possível a construção e correção, a partir destas versões, sem alterá-las, porém efetuando a criação de outras novas versões (SOMMERVILLE, 2003 apud SILVA, 2005). 2.3.1 Sistemas de Controle de Versão Locais O Sistema de Controle de Revisão (Review Control System - RCS) foi uma das mais populares Ferramentas de Controle de Versões (Version Control System - VCS). Basicamente ela tem como função manter conjuntos de patches, isto é, os pacotes de atualizações entre cada mudança em um formato especial. Alguns programadores 35 desenvolveram VCS's locais que armazenavam todas as alterações dos arquivos sob controle de revisão, demonstrado na figura 2. (CHACON, 2009). Figura 2 - Diagrama de controle de versão local. Fonte: Chacon (2009). Tradução dos autores. 2.3.2 Sistemas de Controle de Versão Centralizados A partir da necessidade de trabalhar em conjunto com desenvolvedores ligados na construção do mesmo projeto, desenvolveu-se o Sistema de Controle de Versão Centralizado (CVCS), possuindo um único servidor central e possibilitando o resgate dos arquivos por vários usuários, conforme evidencia a figura 3 de CHACON, 2009. 36 Figura 3- Diagrama de controle de versão centralizado. Fonte: Chacon (2009). Tradução dos autores. Entretanto, imagina-se a seguinte situação, na qual o servidor fique indisponível por determinado período de tempo acarretando, dessa forma, a não possibilidade do trabalho em conjunto ou o armazenamento de novas versões dos arquivos. (CHACON, 2009). O controle de versão centralizado mostrou-se capaz de atender o que o presente projeto propunha a desenvolver, por isso foi utilizado como base para o desenvolvimento das funcionalidades de gerenciamento de arquivos. O sistema será um centralizador dos arquivos gerados durante o desenvolvimento do projeto, com o objetivo de organiza-los e torna-los disponíveis a todos os integrantes do projeto, permitindo-os efetuar o upload ou o download destes arquivos em qualquer momento e lugar. 2.3.3 Sistemas de Controle de Versão Distribuídos Com a utilização de Sistemas de Controle de Versão Distribuídos, os usuários não fazem apenas cópias das últimas versões dos arquivos. Com uso do DVCS, os usuários passam a ter cópias completas do repositório. Portanto, caso ocorra falha no servidor, qualquer um dos repositórios dos usuários pode ser copiado de volta ao servidor para restaurá- 37 lo. Como representa a figura 4, a seguir, cada checkout, é, na prática, um backup completo de todos os dados (CHACON, 2009). Figura 4 - Diagrama de controle de versão distribuído Fonte: Chacon (2009). Tradução dos autores. Na próxima etapa, busca-se descrever a metodologia de desenvolvimento utilizada na construção da ferramenta proposta por esta monografia. 2.4 AGILE MODEL DRIVEN DEVELOPMENT As metodologias ágeis juntamente com sua modelagem flexível auxiliam desde projetos de desenvolvimento de software até projetos industriais, por exemplo, o modelo de produção enxuta da Toyota que é uma forma ágil de produção, evitando o desperdício. De acordo com Beck et al. (2001) várias metodologias existem mas somente em 2001 que um grupo formado por Kent Beck e mais dezesseis renomados desenvolvedores assinaram o manifesto para desenvolvimento ágil de software. Este documento consolida a fusão das boas práticas de desenvolvimento com o foco em resultado. A engenharia de software ágil combina filosofia com um conjunto de princípios de desenvolvimento. A filosofia defende a satisfação do cliente e a entrega de incremental prévio; equipes de projetos pequenas e altamente motivadas; métodos informais; artefatos de engenharia de software mínimos e, acima de tudo, 38 simplicidade no desenvolvimento geral. Os princípios de desenvolvimento priorizam a entrega mais que a análise e projeto (embora essas atividades não sejam desencorajadas); também priorizam a comunicação ativa e contínua entre desenvolvedores e clientes. (PRESSMAN, 2011) Contempla Ambler (2007), líder do desenvolvimento ágil da IBM, Agile Model Drive Development (AMDD), conforme está implícito no próprio nome, é a versão ágil do Model Driven Development (MDD). MDD é uma abordagem para o desenvolvimento de software ao qual os modelos extensivos são criados antes do código fonte ser escrito. Com o MDD o objetivo é a criação de modelos abrangentes e, em seguida, gerar o software a partir desses modelos. O objetivo principal é descrever como os desenvolvedores e interessados podem trabalhar de forma cooperativa para criar modelos que são bons o suficiente. A possibilidade de realizar pouca modelagem e partir para a codificação, do ponto de vista do design, faz com que a AMDD diferencia-se do desenvolvimento tradicional, neste sendo necessário modelar primeiro e programar depois. Já na modelagem AMDD, voltar para a modelagem assim que necessário é algo comum para a resolução de uma problemática emergente além de contar com uma estratégia fundamental para a expansão do desenvolvimento ágil de software para equipes de pequeno e médio porte. Conforme Ambler (2012), “AMDD é diferente de técnicas como a Feature Driven Development (FDD) ou no Use case Driven Development (UCDD) estilos de EUP e Agile Unified Process (AUP) na medida em que não especifica o tipo de modelo(s) para serem criados”. Toda AMDD sugere que você aplique o artefato certo, mas a metodologia não insiste em qual artefato usar. Por exemplo FDD insiste que funcionalidades são a sua exigência principal dentre os artefatos, enquanto UCDD insiste que sejam os casos de uso. AMDD funciona bem tanto com um uma abordagem UCDD ou FDD porque as mensagens são similares, todas as três abordagens estão dizendo que são uma boa ideia a modelagem antes da programação.. 2.5 CICLO DE VIDA AMDD A AMDD é uma metodologia ágil devido a sua flexibilidade, ao invés de criar modelos extensivos antes de escrever o código fonte do sistema, são criados modelos suficientes apenas para nortear o desenvolvimento e caso necessário é flexível o suficiente 39 para retornar a etapa de modelagem e redirecionar o desenvolvimento, atendendo com totalidade pequenas equipes de desenvolvimento. Seu ciclo de vida é baseado em iterações de previsão divididas por iterações de desenvolvimento. A figura 5 apresenta estas iterações de maneira macro, evidenciando seu ciclo de vida. Figura 5 - O ciclo de vida AMDD: Modelagem de atividades durante todo o ciclo de vida de um projeto. Fonte: Ambler, (2007). Tradução dos autores. Cada caixa representa uma atividade de desenvolvimento, a primeira caixa representa a iteração 0 a qual é composta por duas atividades, previsão inicial de requisitos e previsão inicial da arquitetura, são passos padrões antes de começar o desenvolvimento utilizando AMDD. No início de cada iteração de desenvolvimento a equipe deve planejar o trabalho que será realizado na iteração. Equipes ágeis implementam os requisitos por ordem de prioridade de acordo com a figura 6, cria-se uma pilha com as iterações do projeto, a tarefa com maior prioridade ficará no topo da pilha junto de sua modelagem detalhada, já a com menor prioridade embaixo junto de sua macro modelagem, a ordem pode ser alterada 40 conforme o desenvolvimento do projeto, o andamento é garantido com o planejamento de cada iteração a ser feita. Figura 6 – Gerenciamento de requisitos Fonte: Ambler, (2014). Tradução dos autores. A segunda caixa, iteração 1: Desenvolvimento, é composto por iterações de modelagem, Storming de Modelagem e Teste dirigido ao desenvolvimento, estas ações podem ser realizadas a qualquer momento do projeto, pode-se utilizar um papel e uma caneta para desenhar a modelagem e logo em seguida escrever códigos até que esteja concluído o desenvolvimento da modelagem. De acordo com Ambler (2007), as sessões de Storming de modelagem não devem demorar mais do que 15 a 20 minutos, caso contrário, não estará de acordo com a AMDD. O método Agile Modeling (AM) define um conjunto de valores, princípios e práticas que descrevem como otimizar seus esforços de modelagem e documentação. (AMBLER, 2007). Ao analisar a figura 6, não faz sentido ter pessoas alocadas apenas para a modelagem no time de desenvolvimento. Para Ambler (2012), o que o time de desenvolvimento precisa é de um profissional generalista com qualidades aplicáveis durante todo o ciclo do projeto capaz de modelar e programar quando necessário. O próximo capítulo apresenta o método de pesquisa, o qual aborda como o trabalho foi conduzido e explorado através dos tipos de pesquisa definidos. 41 3 MÉTODO DE PESQUISA Neste capítulo apresentam-se os métodos de pesquisa utilizados para o desenvolvimento do presente trabalho, abordam-se as características do tipo de pesquisa, etapas metodológicas, a proposta da solução e ainda as delimitações da pesquisa Nas palavras de Acevedo e Nohara (2009, apud RAABER, 2010), a metodologia ou método científico é o capítulo que irá abordar o estudo científico, tendo como objetivo explicar como o trabalho foi conduzido e explorado pelo autor, permitindo que o mesmo seja avaliado, replicado ou contestado por outros pesquisadores. Método científico é o conjunto de processos ou operações mentais que se devem empregar na investigação. É a linha de raciocínio adotada no processo de pesquisa. Os métodos que fornecem as bases lógicas à investigação são: dedutivo, indutivo, hipotético-dedutivo, dialético e fenomenológico. (GIL,1999; LAKATOS; MARCONI, 1993, apud SILVA,2001). Assim, descreve-se a seguir a caracterização do tipo de pesquisa que definem e propõem o melhor entendimento do método da pesquisa. 3.1 CARACTERIZAÇÃO DO TIPO DE PESQUISA. Na afirmação de Lopes (2005), "toda a pesquisa científica apoia-se necessariamente na definição do tema, ou do objetivo, continuando na coleta e sistematização dos dados colhidos". Cabe ressaltar que este trabalho tem como objetivo aplicar as teorias vistas através da pesquisa bibliográfica para proporcionar respostas aos problemas propostos no Capítulo 1. Os autores pesquisados, durante a construção do presente trabalho, foram de grande auxílio para a definição e estruturação das ideias principais a serem realizadas. Nesse contexto, a fundamentação teórica, Capítulo 2 deste trabalho, foi estruturada com base em livros, artigos e, também, em materiais disponíveis na internet. Na concepção de Silva e Menezes (2001), existem diferentes formas de classificar uma pesquisa. As formas clássicas de classificações dependem dos seguintes fatores: da natureza, da abordagem do problema, dos seus objetivos e dos procedimentos técnicos. A Figura 7 apresenta os tipos de pesquisas. 42 Figura 7 – Tipos de pesquisa Fonte: JUNG (2003). Quanto a natureza, a pesquisa pode ser básica ou aplicada. Parafraseando Silva e Menezes (2001), a pesquisa básica tem como objetivo gerar conhecimentos novos úteis para o avanço da ciência sem aplicação prática prevista, e a pesquisa aplicada gera conhecimentos para aplicação prática dirigidos à solução de problemas específicos. Dessa forma, a pesquisa aplicada se enquadra com o propósito deste trabalho. Aborda Jung (2003) sobre o tipo de pesquisa quanto aos objetivos, que se podem subdividir os objetivos em três tipos de pesquisa: ● Pesquisa Exploratória: tem por finalidade a descoberta de práticas ou diretrizes que precisam ser modificadas e obtenção de alternativas ao conhecimento cientifico existente. Tem por objetivo principal a descoberta de novos princípios para substituírem as atuais teorias e leis científicas; ● Pesquisa Descritiva: tem por finalidade observar, registrar e analisar os fenômenos sem, entretanto entrar no mérito do seu conteúdo. Visa a descrever determinadas características de populações ou fenômenos ou o estabelecimento de relações entre variáveis. Basicamente, consiste na coleta de dados através de um levantamento. ● Pesquisa Explicativa: visa a identificar os fatores que contribuem para a ocorrência dos fenômenos. Explica o "porquê das coisas". Nas ciências naturais 43 exige a utilização de métodos experimentais e, nas ciências sociais, o método observacional. De acordo com o conteúdo exposto, a pesquisa exploratória permite traçar um melhor caminho até os objetivos propostos, portanto, fará parte da metodologia de pesquisa deste trabalho. Em relação ao tipo de pesquisa quanto os procedimentos, Gil (1991, apud SILVA; MENEZES, 2001) e Jung (2003) afirmam sobre a Pesquisa Bibliográfica que: quando elaborada a partir de material já publicado, constituído, principalmente, de livros, artigos de periódicos e, atualmente, com material disponibilizado na Internet. Para fundamentar e permitir o desenvolvimento de uma Ferramenta Web de Acompanhamento e Versionamento de Trabalhos Acadêmicos capaz de auxiliar na construção do conhecimento, foram definidas as seguintes metodologias de pesquisa, conforme explica o quadro abaixo: Quadro 1 - Classificação da pesquisa Classificação da Pesquisa Categoria Quanto a Natureza Pesquisa Aplicada Quanto aos Objetivos Pesquisa Exploratória Fonte: Elaboração dos autores, 2014 Tendo definido a classificação da pesquisa, a seção, a seguir, apresenta as etapas metodológicas e a metodologia de modelagem que será aplicada para atingir os objetivos deste trabalho. 3.2 ETAPAS METODOLÓGICAS Este trabalho fez o uso do universo da pesquisa aplicada. Foi necessário buscar conhecimentos teóricos e analisar as ferramentas existentes no mercado como, por exemplo o Moodle, para o levantamento dos requisitos do sistema, em conjunto com o entendimento das reais necessidades da matéria de Trabalho de Conclusão de Curso. Desta forma, este trabalho pretende desenvolver, a partir da pesquisa realizada bibliograficamente, um sistema para auxiliar os envolvidos no processo de elaboração da pesquisa. 44 Para a construção e desenvolvimento da ferramenta, precisou-se estudar e fazer uso do AMDD que ressalta a agilidade do desenvolvimento com base nas necessidades de uma pequena equipe de desenvolvimento. O AMDD, devido a sua flexibilidade, permite criar modelos suficientes apenas para nortear o desenvolvimento e caso necessário é flexível o suficiente para retornar a etapa de modelagem e redirecionar o desenvolvimento. 3.3 PROPOSTA DA SOLUÇÃO Este trabalho tem como proposta o desenvolvimento de um sistema para auxiliar os envolvidos no processo de elaboração da pesquisa na disciplina de TCC. O sistema pretende ajudar na melhoria da comunicação de seus usuários, na elaboração do projeto, no controle de versões dos arquivos, e consequentemente na aprendizagem colaborativa dos autores envolvidos na construção da monografia. A figura a seguir representa a Ferramenta Web de Apoio ao Trabalho de Conclusão de Curso a ser desenvolvida. 45 Figura 8 – Proposta da solução Fonte: Elaboração dos Autores, 2014 Para um melhor entendimento da Figura 8, esta detalha-se nos itens subsequentes: ● View: ponto de partida dos atores para a interação com a Ferramenta Web de Apoio ao Trabalho de Conclusão de Curso. Nesta camada o usuário interage diretamente através de páginas JSP (JavaServer Pages), das entradas realizadas, a partir da existência de sincronismo com o servidor da aplicação, contextualizam as informações; ● Controller: contempla as funcionalidades e regras de negócio do sistema. Não sendo visível ao usuário como a camada de aplicação. Nela serão tratadas as requisições e entradas de informações feitas pelo usuário na camada anterior, tratando-as com a lógica de como o sistema trabalha. Utiliza-se nessa camada a funcionalidade dos Controllers, que permitem responder a quaisquer tipos de requisições. Em resumo, é a controladora que executa uma regra de negócio (model) e repassa a informação para a visualização (view); 46 ● Model: é utilizado para manipular informações de forma mais detalhada. Recebe as requisições da camada de negócio e seus métodos construídos na linguagem Java. É o modelo que tem acesso a toda e qualquer informação sendo essa vinda do banco de dados, sendo definido para esse projeto o MySQL, disponibilizado em uma infraestrutura servidora por meio da internet. Todas essas camadas atuando em conjunto numa única aplicação modelada e desenvolvida para fim de disponibilizar os recursos propostos nos capítulos anteriores, formam a Ferramenta Web de Acompanhamento e Versionamento de Trabalhos Acadêmicos. 3.4 DELIMITAÇÕES A ferramenta desenvolvida terá como objetivo o auxílio da matéria de Trabalho de Conclusão de Curso, buscando facilitar, organizar e disponibilizar os trabalhos acadêmicos. O sistema a ser desenvolvido terá como base sistemas já existentes no mercado, como por exemplo, Moodle. Diante disso, existem algumas delimitações, apresentadas logo a seguir como: o sistema não terá sincronização local de arquivos; não possibilitará a edição online dos documentos; não haverá a possibilidade de atribuir notas aos trabalhos acadêmicos através da ferramenta; o sistema não permite a criação de segmentos para agrupar pessoas com características comuns. Há apenas a possibilidade de criar grupos para realização de trabalhos; o sistema não irá armazenar os arquivos definitivamente. 47 4 MODELAGEM DO SISTEMA Segundo Falbo (2005), um processo de desenvolvimento "pode ser visto como o conjunto de atividades, métodos, práticas e transformações que guiam pessoas na produção de software". 4.1 MODELO ATUAL DO DESENVOLVIMENTO DE MONOGRAFIAS A equipe pedagógica da Universidade do Sul de Santa Catarina – UNISUL, unidade Pedra Branca, Grande Florianópolis, elaborou o Projeto Pedagógico do Curso de Sistemas de Informação. Nele constam informações pertinentes ao curso em sua totalidade, desde o contexto que está inserido, a organização curricular até as condições necessárias para o funcionamento do mesmo. Consta também no Apêndice 2 do Projeto Pedagógico, informações referentes a estrutura das disciplinas do Trabalho de Conclusão de Curso I e II, quanto as responsabilidades do professor orientador, do aluno, do professor coordenador da disciplina, também critérios de avaliação e critérios para a formação da banca examinadora. A partir do projeto pedagógico a coordenação do curso de Sistemas de informação preparou um regulamento para a elaboração do Trabalho de Conclusão de Curso (em sua totalidade no apêndice B deste trabalho), com o intuito de padronizar seu desenvolvimento, nortear os acadêmicos em sua jornada e principalmente afirmar as competências das partes envolvidas. A obtenção do Grau de Bacharel em Sistemas de Informação requer o cumprimento das exigências do regulamento em questão. O trabalho de conclusão de curso só poderá ser iniciado após a escolha do tema, do Orientador e após a aprovação da Proposta de Trabalho pelo Orientador e Coordenação da disciplina. O coordenador da disciplina é encarregado de auxiliar os estudantes na confecção e na organização das monografias, segundo as normas vigentes da Associação Brasileira de Normas Técnicas (ABNT). O Trabalho de Conclusão de Curso é executado em duas etapas subsequentes, correspondente a dois semestres letivos, no contexto das disciplinas TCC em Sistemas de Informação I e TCC em Sistemas de Informação II, oferecidas nos dois últimos semestres do curso. 48 Na disciplina de Trabalho de Conclusão de Curso I, define-se o tema e um orientador, prepara-se uma proposta para o projeto sob a supervisão do orientador escolhido. Assim que o tema esteja definido, inicia-se a pesquisa de referências bibliográficas e desenvolvimento das etapas impostas através do cronograma da disciplina, que estipula as datas para entrega e as divisões dos conteúdos para correção e avaliação, visando o feedback para o acadêmico por parte do coordenador. Esse podendo, através das etapas, fazer colocações úteis sobre erros, inconsistências e possíveis ajustes. Além disso, o projeto deve apresentar a revisão bibliográfica da literatura de acordo com a área escolhida e também a metodologia da pesquisa, que será utilizada para embasar a segunda etapa do projeto. Ao final apresenta-se um relatório contendo o tema proposto, o problema que norteará o trabalho, os objetivos e uma justificativa para firmar a realização do projeto. Na segunda etapa, na disciplina de Trabalho de Conclusão de Curso II, continuase com a documentação do projeto, condicionado ao modelo de projeto escolhido segue-se na sequência com a modelagem da proposta conforme a metodologia de desenvolvimento definida, desenvolve-se a aplicação prática com base na modelagem ou realiza-se uma pesquisa científica conforme definido na primeira etapa, descreve-se o cenário em que o problema está inserido, então apresenta-se o processo de desenvolvimento e por fim os resultados obtidos, ou seja, a apresentação do sistema, caso a proposta tenha por objetivos o desenvolvimento de uma ferramenta. Ao final do projeto, este deve ser avaliado por, pelo menos, dois avaliadores, além do próprio orientador. Logo em seguida, o trabalho deve ser defendido pelos autores em solenidade aberta ao público e com participação dos avaliadores. Durante a elaboração do projeto que ocorre nas cadeiras de Trabalho de Conclusão de Curso I e II, há inúmeras interações entre os alunos, orientador e coordenador da disciplina devido à extensão do projeto às correções das entregas e também às dúvidas que surgem durante a construção do conhecimento. Através das interações, as etapas de entrega, os ciclos de correções, revisões e feedback do orientador e do coordenador da disciplina, são criados documentos com tais registros, ou seja, arquivos que contém informações importantes para os acadêmicos, a partir destas informações que a construção do conhecimento irá proporcionar a todos os envolvidos a obtenção dos resultados esperados. Estas interações podem ser feitas através de qualquer meio de interação, seja ela por meio presencial ou digital. 49 Essa comunicação faz-se necessária também no processo de escrita colaborativa executada pelos autores, gerando versões que são enviadas aos orientadores. Cada versão enviada à correção retorna para os alunos com um feedback. Ao relacionar todos os atores, nesse processo, a comunicação torna-se ainda mais complexa e, portanto, ela deve ser mais precisa e facilitadora do entendimento e da organização dos alunos quanto aos comentários dos orientadores. A comunicação deve ser um fator multiplicador de oportunidades, buscando aproximar e facilitar a troca de informações. O registro das comunicações e o controle destes arquivos permitem aos acadêmicos agregar todo o valor que foi criado durante as interações ao projeto, cabe aos acadêmicos gerenciar e controlar tais informações. Visando auxiliar os atores envolvidos no processo de elaboração do Trabalho de Conclusão de Curso, bem como melhorar a comunicação entre as partes envolvidas no processo, diminuir o tempo de resposta entre as atividades, melhorar o compartilhamento e organização dos arquivos do trabalho no processo e também propor uma aplicação Web como ferramenta para a disciplina, tem-se o objetivo deste trabalho. 4.2 REQUISITOS Esta etapa corresponde a compreensão do problema aplicado ao desenvolvimento do software, tendo como principal objetivo o entendimento dos usuários e desenvolvedores. Requisito é uma condição ou capacidade que deve ser alcançada ou possuída por um sistema ou componente deste para satisfazer um contrato, padrão, especificação ou outros documentos formalmente impostos. (MACIASZEK, 2000, apud BEZERRA 2002). Ainda de acordo com Bezerra (2002), os requisitos podem ser definidos em duas categorias: requisitos funcionais e requisitos não funcionais. Apresentados a seguir. 4.2.1 Requisitos Funcionais Os requisitos funcionais definem as funcionalidades do sistema, ou seja, o conjunto de funcionalidades que deverá fazer parte do sistema. (BEZERRA, 2002). 50 Sendo assim, os requisitos funcionais têm como propósito abordar as funcionalidades de: Figura 9 – Requisitos funcionais Fonte: Elaboração dos Autores (2014). RF01 - Acesso ao sistema o O sistema deverá permitir o acesso através de login e senha. RF02 - Cadastro de usuários o O sistema deverá possibilitar a inclusão e alteração no Cadastro de Usuários. 51 RF03 – Convidar usuários para o projeto o O sistema deverá possibilitar ao usuário habilitar outros usuários para participarem do projeto. RF04 – Permissões de usuários o O sistema deverá permitir a escolha de permissões para os usuários colaboradores dos projetos. RF05 – Cadastro de projeto o O sistema deverá permitir o cadastro, exclusão e alteração dos projetos. RF06 - Upload/download de arquivo o O sistema deverá prover funcionalidade que permita o upload/download de arquivos. RF07 - Comentários nas versões dos trabalhos o O sistema deverá prover funcionalidade que permita a adição de comentários nos trabalhos. RF10 - Versionamento de arquivos o O sistema deverá permitir o controle das versões dos arquivos adicionados pelo usuário ao sistema. RF11 - Acompanhamento do projeto o O sistema deverá permitir o acompanhamento (view) da construção dos trabalhos. 52 4.2.2 Requisitos Não-Funcionais Os requisitos não-funcionais declaram as características de qualidade que o sistema deve possuir e que estão relacionadas às suas funcionalidades, ou seja, os requisitos não-funcionais estão ligados diretamente aos funcionais, impondo limites e delimitando especificações quanto às funcionalidades. (BEZERRA, 2002). São declaradas nestes requisitos, as características referentes à qualidade do sistema, com relação às suas funcionalidades, apontando as restrições sobre serviços ou funções oferecidas pelo sistema. Então, o sistema possui os seguintes requisitos não-funcionais: Figura 10 – Requisitos não funcionais Fonte: Elaboração dos Autores (2014). ● RNF01 – Limite de tamanho para upload de arquivos o O sistema terá capacidade máxima na armazenagem por arquivo de 200MB, não tendo limite no número de arquivos. Sugere-se que ao atingir o limite máximo de armazenagem o usuário faça o 53 download dos arquivos mais antigos, deixando somente a versão mais recente, disponibilizado assim o espaço para novas inserções. ● RNF02 - Compatibilidade com navegadores o O sistema deverá funcionar nos principais navegadores atuais que são: Firefox, Safari e Google Chrome. ● RFN03 – Informações Pessoais o O sistema não permitirá que as informações pessoais dos usuários sejam exibidas publicamente. ● RFN04 – Manutenabilidade o O sistema será produzido em camadas facilitando possíveis atualizações de versão. ● RFN05 – Banco de Dados o O banco de dados a ser utilizado será o MySQL 6.1. ● RFN06 – Linguagem de programação o A linguagem de programação utilizada será Java (por ser orientada a objetos e baseada no uso de Controllers e model and view). ● RFN07 – Desempenho das consultas o As consultas devem ter um tempo de resposta rápido, por ser um sistema web. ● RFN08 – Idioma base do sistema será a língua portuguesa o Todas as informações exibidas nas telas do sistema serão feitas em português. 4.3 DIAGRAMA DE CASO DE USO 54 Os casos de uso representam uma parte importante da modelagem. Servem para descrever as interações típicas entre os usuários de um sistema e o próprio sistema, fornecendo uma narrativa de como o sistema é utilizado. Por representar uma visão externa do sistema, o diagrama de casos de uso é uma ferramenta valiosa para auxiliar o entendimento dos requisitos funcionais de um sistema. Na compreensão de Bezerra (2002), caso de uso (do inglês use case) é a especificação de uma sequência de interações entre um sistema e os agentes externos que utilizam esse sistema. Um caso de uso deve definir o uso de uma parte da funcionalidade de um sistema, sem revelar a estrutura e o comportamento interno desse sistema. Durante o desenvolvimento deste projeto, os casos de uso foram modelados para atender os requisitos, mostrando uma visão de como será o sistema e suas funcionalidades. Na figura a seguir estão representados o diagrama de casos de uso e a prototipação das telas. Figura 11 – Diagrama de casos de uso Fonte: Elaboração dos Autores (2014). Com a modelagem dos casos de uso concluída a próxima etapa é descrevê-los, com o objetivo de clarear o seu propósito e também garantir de que tal funcionalidade atenda às necessidades levantadas na modelagem. A descrição do caso de uso demonstra a sua importância para o sistema como um todo, uma vez que, identifica de maneira textual o seu fluxo de funcionamento, suas restrições e interações ou dependências de outros casos de uso. A descrição é composta pelas seguintes informações: nome, identificador, pré-condições, fluxo básico, fluxo alternativo, condições e pós condições. Pode-se visualizar a descrição dos casos de uso no anexo B 55 As informações que compõem a descrição do caso de uso possibilitam a visualização de como será sua interface, possibilitando a construção de um protótipo. Este protótipo é apenas uma ideia inicial de como será a interface final do sistema. Auxilia também na pré-visualização de como será o fluxo principal do usuário dentro do sistema, o que possibilita ao desenvolvedor realizar alterações antes mesmo de codificar a interface, influenciando diretamente na experiência do usuário em relação ao sistema. A seguir encontra-se as prototipações das telas de acordo com os casos de uso modelados no projeto 4.3.1 UC01 – Cadastro de usuário O caso de uso UC01 - Cadastro de Usuário é a primeira interação do usuário com o sistema, é a interface que o aluno irá criar seu usuário na ferramenta para então poder usufruir de suas funcionalidades com totalidade. A partir da descrição do caso de uso criou-se o protótipo da interface visando elucidar suas funcionalidades e características. Este protótipo pode ser visualizado na figura 12. Figura 12 –Tela Cadastro de usuário Fonte: Elaboração dos Autores (2014). 56 4.3.2 UC02 – Efetuar Login O caso de uso UC02 - Efetuar Login demonstra como o usuário irá acessar o sistema, sendo esta a única porta de entrada do sistema. A figura 13 representa o protótipo da interface do caso de uso. Figura 13 - Tela de efetuar login. Fonte: Elaboração dos Autores (2014). 4.3.3 UC03 – Novo Projeto O caso de uso apresenta as funcionalidades referente ao projeto que será inserido no sistema, contendo todas as informações. Também é a interface que será realizado o convite a outros usuários para participar do projeto. 57 O protótipo da interface do caso de uso UC03 - Novo Projeto pode ser visualizado na figura 14, demonstrando as características descritas acima. Figura 14 - Tela novo projeto. Fonte: Elaboração dos Autores (2014). 4.3.4 UC04 – Upload de versões de arquivos O caso de uso UC04 - Upload de Versões de Arquivos descreve como o usuário irá interagir com o sistema em relação aos arquivos do projeto. Esta funcionalidade permite ao usuário realizar o upload de novas versões do projeto. A organização dos arquivos se dá pela ordem do arquivo mais antigo primeiro e o mais novo por último, o que possibilita visualizar de maneira rápida e intuitiva a versão mais nova. Também permite ao usuário realizar o download de versões anteriores, caso necessário fazer alguma verificação ou simplesmente por questões de backup. A figura 15 demonstra o protótipo da interface de upload/download de arquivos, a ideia principal deste protótipo de tela é demonstrar que todos os arquivos estão agrupados em um único lugar, permitindo ao usuário visualizar seu processo de construção do conhecimento. 58 Figura 15 - Tela upload download de versões Fonte: Elaboração dos Autores (2014). 4.3.5 UC05 – Meus Projetos O caso de uso UC05 - Meus Projetos é onde o usuário pode visualizar todos os seus projetos e também os projetos dos quais participa, agrupados em uma única seção da ferramenta permitem que o usuário visualize e navegue entre os projetos de maneira rápida e fácil. A partir do caso de uso UC05 - Meus Projetos gerou-se o protótipo da interface. E nela em que o usuário irá navegar entre os projetos que estão em andamento. Trata-se de uma interface simples, porém considera-se uma das mais importantes do sistema, podendo ser visualizada na figura 16. 59 Figura 16 – Tela meus projetos. Fonte: Elaboração dos Autores (2014). 4.3.6 UC06 – Projeto O caso de uso UC06 - Projeto é a funcionalidade em que o usuário irá gerenciar seu projeto, através do acesso direto a informações básicas (como: assunto, palavras chave, data de entrega e descrição do projeto) e também informações avançadas (como: versões dos arquivos e a visualização dos integrantes do projeto. Possibilitando um gerenciamento amplo, com o controle de acesso das versões dos arquivos. A comunicação assíncrona referente ao projeto também pode ser visualizada nesta funcionalidade. Este tipo de comunicação auxilia no aproveitamento do tempo e auxilia os usuários na construção do conhecimento, pois todas as mensagens ficam registradas para consulta posterior. A partir do caso de uso UC06 gerou-se o protótipo da interface, é composta por todas as informações pertinentes ao projeto, a qual proporciona uma visão sistêmica do projeto em si. A disposição das informações foi definida para melhorar a experiência do usuário em relação ao projeto, exibindo o título, descrição, e data de entrega como primeira informação que o usuário irá visualizar, em seguida uma lista com todos os integrantes. 60 Abaixo encontra-se a seção de comentários e ao lado uma lista para o gerenciamento dos arquivos do projeto. Esta interface apresenta o projeto em sua totalidade, o protótipo desta interface pode ser visualizado na figura 17. Figura 17 – Tela projeto. Fonte: Elaboração dos Autores (2014). 4.3.7 Identificação dos atores do sistema Segundo Blaha (2006), um ator representa um conjunto coerente de papéis que os usuários de casos de uso desempenham quando interagem com esses casos de uso. Tipicamente, um ator representa o papel que um ser humano ou um dispositivo de hardware desempenha no sistema. 61 Para o sistema proposto os seguintes atores foram definidos, conforme figura 18. Em seguida, nos quadros 1, 2 e 3 são descritos os atores através de uma definição e suas permissões de acesso. Figura 18 - Atores do sistema Fonte: Elaboração dos Autores (2014). Quadro 2 - Descrição do ator administrador Ator Definição Permissões de Acesso Administrador O administrador será o responsável por realizar backup da base de dados. Também terá acesso a todas as funcionalidades do sistema, bem como realizar a manutenção de do mesmo. Terá acesso a todas as funcionalidades do sistema. Fonte: Elaborado pelo autor, 2014. Quadro 3 - Descrição do ator usuário líder do projeto Usuário Ator Líder do projeto Tipo O usuário líder do projeto define quem irá Definição fazer parte do projeto, bem como suas permissões. Terá acesso a todas as permissões de acesso Permissões de Acesso referentes ao projeto. Fonte: Elaborado pelo autor, 2014. Quadro 4 - Descrição do ator usuário integrante do projeto Usuário Ator Integrante do projeto Tipo O usuário integrante do projeto terá acesso às Definição funcionalidades de acordo com as permissões dadas pelo Líder do projeto. Permissões de Acesso Terá acesso a todas as funcionalidades 62 referentes ao projeto, mas de acordo com suas permissões poderá realizar o download e upload de arquivos, ou não. Fonte: Elaborado pelo autor, 2014. 4.4 MODELO DE ENTIDADE E RELACIONAMENTO O modelo de entidade e relacionamento é um modelo abstrato cuja finalidade é representar um modelo de dados de implementação. Ele resulta no esquema do banco de dados usado pelo SGBD. A figura, a seguir descreve as entidades, seus atributos e os relacionamentos existentes entre as entidades no sistema: Figura 19 – Modelo de entidade e relacionamento Fonte: Elaboração dos Autores (2014). 63 4.5 CONSIDERAÇÕES FINAIS DA MODELAGEM A modelagem possibilitou uma visualização mais ampla do sistema. Auxiliando a esclarecer o rumo a ser tomado quanto ao desenvolvimento. Observou-se o quão imprescindível é para um sistema o uso de uma metodologia de desenvolvimento de software adequada ao seu tamanho e propósito. A AMDD, metodologia de modelagem e desenvolvimento selecionada cumpriu seu papel a modelagem ocorreu de forma ágil e os diagramas criados foram essenciais ao desenvolvimento, que será o próximo passo deste projeto. 64 5 DESENVOLVIMENTO DO SISTEMA Neste capítulo, serão apresentadas as tecnologias que foram empregadas na criação do sistema, as ferramentas utilizadas, e as etapas de desenvolvimento. Na sequência, apresenta-se também o sistema proposto juntamente com as principais telas de interface, demonstrando como foi realizada a validação do sistema. Por fim, os objetivos alcançados e as considerações finais sobre o desenvolvimento do sistema. 5.1 AMBIENTES DE DESENVOLVIMENTO Com relação ao ambiente de desenvolvimento, foram utilizadas ferramentas de banco de dados MySQL, juntamente com o servidor Apache Tomcat que permite a comunicação através da Web. As ferramentas draw.io e DbDesigner foram utilizadas para modelar o sistema segundo a metodologia AMDD. A linguagem de programação Java para Web juntamente com a suíte de ferramentas de desenvolvimento Spring foram utilizadas com o objetivo de manusear o código fonte do sistema em questão. Para elaborar a prototipação das telas foi utilizado o Balsamiq Mockups. A figura 20 ilustra o descrito acima. Figura 20 – Ferramentas utilizadas Fonte: Criação Própria. Elaborada pelos autores, 2014. 65 A arquitetura definida tem por objetivo trazer ao projeto boas práticas de escrita de código fonte, como por exemplo, auxiliar na reutilização de códigos e diminuir impactos na expansão do sistema. Com base em Martin (2009), a lógica deve ser direta para dificultar o encobrimento de bugs, as dependências mínimas para facilitar a manutenção, o tratamento de erros completo de acordo com uma estratégia clara e o desempenho próximo do eficiente de modo a não incitar as pessoas a tornarem o código confuso. Ao analisar a arquitetura como um todo, percebe-se que as ferramentas comunicam-se de maneira direta e sem complicações, o que possibilita desenvolver o sistema com maior aproveitamento dos benefícios que elas oferecem em conjunto. Em seguida apresentam-se as ferramentas utilizadas no desenvolvimento do sistema que a presente monografia propõe. 5.1.1 Draw.io O Draw.io é um editor de diagramas gratuito e online, desenvolvido para trabalhar em conjunto com o computador local ou diretamente com o Google Drive contendo recursos de colaboração em tempo real. Pode ser acessado através do site www.draw.io, a modelagem pode ser desenvolvida sem a necessidade de instalar nenhum programa no computador, totalmente web. A ferramenta Draw.io contribuiu para a elaboração do diagrama de casos de uso e na identificação dos atores do sistema. Por ser uma ferramenta gratuita e com grande usabilidade atendeu as necessidades de modelagem para o presente projeto. 5.1.2 DbDesigner O DbDesigner é uma ferramenta de código livre que permite a modelagem do banco de dados. Possui a vantagem de gerar códigos MySQL, bem como oferece suporte para outros bancos de dados. 66 Esta ferramenta permite a construção de bancos de dados com uma interface intuitiva e um ambiente de fácil utilização, o qual se tem uma representação visual das tabelas e dos relacionamentos do banco. Adequou-se com perfeição à metodologia de desenvolvimento proposta neste projeto, pois permitiu aos desenvolvedores a visualização da estrutura do banco de dados de maneira que facilitasse a construção dos relacionamentos no código do sistema. 5.1.3 MySQL De acordo com Soares (2001), uma forma de armazenar e gerenciar dados é através de um gerenciador como o MySQL. Esta é uma ferramenta gratuita e fácil de ser utilizada e gerenciada. Disponibiliza comandos para manipulação dos dados, permitindo de forma portável a gerência para qualquer outro sistema operacional. Possui compatibilidade com a linguagem Java e seu processamento é de baixa exigência. O MySQL é considerado seguro em termos de conectividade, por este motivo foi escolhido como base de dados para o sistema web em questão. 5.1.4 Apache Tomcat Segundo D'Avila (2009), Tomcat é um servidor web, que permite a execução de aplicações Java para Web. É um software livre e de código aberto, possui um projeto de desenvolvimento independente sendo considerado eficiente e robusto, assim permite o uso em um ambiente de produção. O Apache Tomcat é uma implementação open source das tecnologias Servlets Java e Java Server Pages, sendo que sua especificação é definida pela Java Comunity Process (APACHE, 2012). Desta forma possibilitou disponibilizar o sistema na internet e ainda suportar a demanda de usuários simultâneos, assim atendeu as expectativas de um servidor web para o projeto. 67 5.1.5 Suíte de Ferramentas Spring O Spring Framework (plataforma) baseada em código aberto que contém controle sobre a plataforma Java. O núcleo desta plataforma pode ser utilizado por qualquer aplicação Java, mas existem extensões para construção de aplicações web com base na plataforma Java EE. Embora a plataforma não imponha nenhum modelo específico de programação, tornou-se popular na comunidade Java como uma alternativa de substituição do modelo Enterprise JavaBean (EJB). Esta ferramenta foi utilizada para desenvolver o código Java Web do presente projeto. 5.1.6 Java Segundo Deitel (2001), Java é uma linguagem que atrai pelo fato de ser totalmente orientada a objeto, tem evoluído muito nestes últimos tempos pois está em constante atualização e vem sendo muito utilizada para criação de páginas web de forma dinâmica e interativa. O mesmo autor afirma ainda que, é recomendado utilizar a biblioteca de classes e métodos ao invés de escrever as próprias versões obtendo um ganho em desempenho significativo. A linguagem Java possui funcionalidades significativas. Por ser orientada a objetos permite a reutilização de código, como por exemplo, partes do código do cadastro do usuário foram reutilizados no código do cadastro de projetos. Possui tratamento de exceções, possibilitando a manipulação de erros de execução de forma organizada, por exemplo, validação do usuário antes de realizar o login. O Garbage Collector é executado automaticamente, recuperando recursos de memória de objetos que não estão mais sendo utilizados. Estas e outras funcionalidades facilitam o desenvolvimento de sistemas robustos com Java (O’ NEIL, 1999). A aplicação foi baseada em Controllers que são uma tecnologia que insere recursos no servidor web, permitindo ao programador Java utilizá-los como uma camada de controle entre o servidor e o navegador. Estes Controllers permitem desenvolver uma aplicação robusta e ao mesmo tempo leve em desempenho. Com a utilização da metodologia modelo e visualização, do inglês model and view, os usuários tem contato apenas com a interface. O trabalho pesado que 68 é buscar a informação ou leva-la até a base de dados fica por trás da visualização por conta do modelo. Java é uma linguagem de programação, e com ela é possível desenvolver sistemas que são independentes de plataforma ou sistema operacional, e que são executados em uma grande variedade de ambientes de hardware e software (O’ NEIL, 1999). 5.1.7 Balsamiq Mockups Balsamiq Mockups é um software proprietário de prototipação de tela criado pela Balsamiq Studios. Trata-se de uma aplicação robusta que contém vários elementos de interface de usuário “desenhados a mão”, tanto para modelagem de interfaces de aplicativos Desktop, Web, até aplicativos para smartphone. Isso permite que protótipos de tela sejam produzidos de forma limpa e profissional, mantendo a aparência de como se tivessem sidas desenhadas a mão (WOOLDRIDGE, 2010). O Balsamiq Mockups possui 75 componentes de tela prontos para desenhar os mais variados tipos de tela, sendo que os mesmos têm a aparência de terem sido desenhados à mão de forma proposital, para que o usuário não fique preso a algum tipo de tema ou cor em específico, e também para evitar que este pense que existe código desenvolvido por trás da tela e que o sistema está praticamente pronto (BALSAMQ STUDIOS, 2010). Além da licença que é desktop com todas as funcionalidades, o Balsamiq Mockups pode ser utilizado na forma de demonstração diretamente no site do produto, a qual atendeu as necessidades do presente projeto, sendo que as interfaces projetadas podem ser exportadas em formato PNG ou XML para futuras alterações. 5.2 HISTÓRICO DE DESENVOLVIMENTO Um grande desafio encontrado durante a fase de desenvolvimento refere-se a busca e configuração das tecnologias adotadas na implementação da ferramenta. Com a escolha da criação do projeto com Maven trouxe a configuração do Project Object Model (POM), tarefa na qual dificuldades fizeram-se presentes, não só pela organização, mas também pela preocupação com a escolha das propriedades e características do projeto. A partir da realização de pesquisas em fóruns, comunidades e sites relacionados a área de 69 desenvolvimento de aplicações web, e pelo contato com profissionais que já atuam na área e detêm forte conhecimento, houve a possibilidade de superar a dificuldade e seguir adiante na construção. Aspectos relacionados a atualidade do recurso, seu desempenho ser mais eficiente e a flexibilidade de seu uso foram fundamentais na escolha das melhores formas (tecnologias) para chegar ao resultado esperado sem que houvesse a necessidade de replicar muitas vezes as mesmas linhas de código. Durante o período de desenvolvimento a busca por melhores tecnologias para chegar ao resultado esperado, considerando aspectos importantes como a atualidade do recurso, seu desempenho ser mais favorável e a possível flexibilidade de seu uso, para que não houvesse a necessidade de replicar muitas vezes as mesmas linhas de códigos. O uso do Bootstrap para a aplicação foi referente a parte estética, com a utilização de Controllers com o jQuery Ajax para a comunicação da camada de interface com a servidora e com o JPA para persistir objetos. No momento da comunicação entre UI e camada de controle foi necessário a busca de conteúdos que auxiliassem, principalmente para resolução do envio e o recebimento das informações. Neste momento a solução adotada tornou-se clara, passou a ser o envio e recebimento através de JavaScript Object Notation. Gerar uma aplicação rápida, com o código fonte estruturado e com visual moderno foi base para nortear a progressão da ferramenta permitindo seu crescimento sem maiores impactos. O compartilhamento de projetos, ou seja, o controle de permissões não estava funcionando de maneira correta, não sendo possível determinar os usuários e suas permissões naquele projeto. Para solucionar este problema, foi necessário alterar na interface o modo que são habilitadas ou desabilitadas as permissões e as entidades e seus relacionamentos na parte servidora resultando em uma reestruturação da base de dados. Próximo da finalização da ferramenta, o gerenciamento de arquivos mostrou-se mais complicado do que o esperado, levando um tempo considerável do desenvolvimento. Para solucionar os problemas com o upload e download de arquivos fez-se necessário utilizar tecnologias direcionadas para a manipulação de arquivos, como a classe Commons Multi part Resolver, provendo métodos necessários para o upload e o download de arquivos. Todos os problemas encontrados de certa forma contribuíram para o resultado final, aumentando assim o conhecimento nas tecnologias utilizadas e possibilitando a construção de uma ferramenta acima do que imaginava-se possível de ser elaborada pelos autores. 70 5.3 APRESENTAÇÃO DO SISTEMA O sistema proposto foi desenvolvido com base na modelagem elaborada. Nos itens elencados a seguir, é possível visualizar as principais telas da interface e o fluxo de funcionamento do sistema. 5.3.1 Meus Projetos A tela possibilita o usuário visualizar a lista com todos os projetos criados por ele, bem como os projetos que foi convidado a fazer parte. De acordo com o UC 05 - Meus Projetos apresenta-se um conteúdo específico fazendo que o usuário localize-se de maneira mais eficiente ao utilizar a ferramenta. Figura 21 – Meus projetos Fonte: Elaboração dos Autores (2014). 5.3.2 Projeto A tela de visualização do projeto possibilita uma visão panorâmica do projeto, com o intuito de mostrar o projeto como um todo. De acordo com o UC 06 - Projeto permitese aos usuários visualizar de maneira intuitiva a evolução da construção do conhecimento mostrando os arquivos anexados ao projeto e a possibilidade de leitura dos comentários elaborados pelos utilizadores. 71 Figura 22 - Projeto Fonte: Elaboração dos Autores (2014). 5.3.3 Permissões Na interface de controle de permissões do projeto, o sistema exibe uma lista com todos os usuários cadastrados no sistema. Possibilita a seleção do usuário e suas permissões para o projeto em questão. Buscou-se de várias maneiras a implementação na parte relacionada as permissões dos projetos e esta foi uma preocupação emergente, pois não havia sido bem definida no escopo inicial do projeto. 72 Figura 23 – Permissões Fonte: Elaboração dos Autores (2014). 5.3.4 Upload e Download de Arquivos Na interface de upload e download os arquivos ficam disponíveis para todos os colaboradores, permitindo aos usuários a utilização dos arquivos criados durante o desenvolvimento do projeto. O caso de uso UC 04 - Upload/Download de Arquivos tornou-se a parte mais complexa de todo o desenvolvimento elaborado pelos autores. Figura 24 – Upload de arquivos Fonte: Elaboração dos Autores (2014). 73 5.4 VALIDAÇÃO DO SISTEMA A validação do sistema ocorreu em duas etapas. A primeira ocorreu durante o desenvolvimento da ferramenta, sendo esta validada pelos próprios desenvolvedores. Já a segunda etapa foi realizada por usuários convidados. Na primeira etapa, a avaliação aconteceu durante o desenvolvimento do sistema por necessidade de realizar testes nas funcionalidades implementadas e para validação da usabilidade do mesmo. Com isso o sistema apresentou-se capaz de auxiliar os desenvolvedores na comunicação e na organização dos arquivos, a interface do projeto foi bastante prática para a visualização do projeto, agrupando todas as informações em uma única tela, organizadas e de fácil visualização. Na segunda etapa o sistema foi validado e avaliado por 10 usuários em potencial (escolhidos de forma aleatória) que foram convidados a testá-lo e avaliá-lo através de um questionário. Esta validação ocorreu dentro do próprio sistema, através de uma página Web que continha o questionário em si. Elaborou-se este questionário com o intuito de avaliar as características do sistema, como usabilidade, desempenho, comunicação, controle de arquivos e gerenciamento, ao final possibilita ao convidado registrar críticas ou sugestões. O questionário de validação do sistema consiste em duas partes. A primeira com o objetivo de identificar o usuário através de perguntas sobre faixa etária, profissão, curso, disciplina e instituição de ensino. A segunda parte trata da percepção do sistema estando estruturada em forma de afirmações, as quais deverão ser analisadas conforme a experiência do convidado. Estas afirmações se referem as características do sistema e foram avaliadas entre 5 alternativas: discordo totalmente, discordo parcialmente, indiferente, concordo parcialmente ou concordo totalmente. Sendo que o convidado poderia escolher somente uma alternativa para cada afirmação. O questionário pode ser visualizado no Apêndice C. A primeira seção de perguntas do questionário envolveu o desempenho do sistema. O gráfico 1 apresenta a avaliação deste contexto de acordo com as alternativas de respostas possíveis. 74 Gráfico 1 – Desempenho do sistema Desempenho do Sistema 90% 10% O sistema responde rapidamente aos meus comandos 100% Encontro rapidamente as informações que procuro no sistema Concordo totalmente Concordo parcialmente Discordo parcialmente Discordo totalmente Indiferente Fonte: Elaboração dos autores, 2014 Ao analisar os dados do gráfico 1, verifica-se que a maioria dos usuários que participaram da validação considerou o desempenho do sistema adequado. O gráfico 2 apresenta os resultados da validação referentes à usabilidade do sistema. Gráfico 2 – Usabilidade do sistema Usabilidade do Sistema 80% 20% Considero descomplicado criar um novo usuário Consigo facilmente criar um novo projeto Consigo adicionar integrantes no projeto sem dificuldade 10% Adiciono comentários ao projeto de forma descomplicada 10% Concordo totalmente Concordo parcialmente Discordo parcialmente Discordo totalmente Fonte: Elaboração dos autores, 2014 90% 10% 40% 50% 90% Indiferente 75 Analisando-se os resultados apresentados no gráfico 2, observa-se que a maioria dos usuários considerou a usabilidade do sistema relevante. O gráfico 3 apresenta os dados quanto ao quesito comunicação do sistema. Gráfico 3 - Comunicação do sistema Comunicação do Sistema 100% Visualizo as informações facilmente Considero descomplicado utilizar o Fórum 10% 70% 20% 30% A comunicação entre acadêmico e orientador é simples A comunicação entre os integrantes do projeto é simples Concordo totalmente Concordo parcialmente Discordo parcialmente Discordo totalmente 50% 20% 40% 60% Indiferente Fonte: Elaboração dos autores, 2014 De acordo com os resultados apresentados n gráfico 3, a maioria dos usuários considerou positivo o quesito comunicação do sistema. O gráfico 4 apresenta a avaliação referente as perguntas sobre o manejo de arquivos do sistema. 76 Gráfico 4 - Gestão de arquivos do sistema Gestão de Arquivos do Sistema 20% 20% Consigo disponibilizar os arquivos do trabalho para todos os integrantes Consigo visualizar os arquivos existentes 80% 20% Posso controlar facilmente as versões dos arquivos. Consigo realizar Upload e Download de arquivos sem dificuldade 60% 90% 10% 10% Concordo totalmente Concordo parcialmente Discordo parcialmente Discordo totalmente 60% 30% Indiferente Fonte: Elaboração dos autores, 2014 De acordo com os resultados apresentados no gráfico 4, a maioria dos usuários avaliou a gestão de arquivos de fácil interação. A tabela 5 apresenta os resultados referentes ao processo que o usuário deve percorrer no sistema. Gráfico 5 - Processo do sistema Processo do Sistema 70% 30% Este sistema oferece todas as informações necessárias para eu gerenciar meu projeto Concordo totalmente Concordo parcialmente Discordo parcialmente Discordo totalmente Fonte: Elaboração dos autores, 2014 Indiferente 77 De acordo com os resultados apresentados no gráfico 5, a maioria dos usuários considerou o processo que as informações necessárias para gerenciar o projeto constam no sistema. O gráfico 6 apresenta a validação referente a aplicabilidade do sistema, neste caso se o sistema avaliado poderia ser útil para outros projetos. Gráfico 6 - Aplicabilidade do sistema Aplicabilidade do sistema 80% 20% Com certeza este sistema seria útil para outros projetos acadêmicos Concordo totalmente Concordo parcialmente Discordo parcialmente Discordo totalmente Indiferente Fonte: Elaboração dos autores, 2014 De acordo com os resultados do gráfico 6, não existiram respostas 1, 2 e 3. Todos os usuários responderam entre as alternativas 4 e 5, facilmente se presume que o sistema seria útil aos usuários para outros projetos. O gráfico 7 apresenta a validação referente a satisfação do usuário quanto ao sistema de modo geral. 78 Gráfico 7 - Satisfação do usuário em relação ao sistema Satisfação do usuário em relação ao sistema 70% 20% Eu recomendaria a outros colegas 10% 90% 10% De forma geral, estou satisfeito com o sistema Concordo totalmente Concordo parcialmente Discordo parcialmente Discordo totalmente Indiferente Fonte: Elaboração dos autores, 2014 O gráfico 7 demonstra que, de forma geral, que o Web TCC foi considerado como um sistema bom, facilmente recomendado para outros colegas e com grande satisfação dos usuários. Na sua totalidade, os resultados apresentados demonstram que o sistema Web TCC foi bem aceito pelos usuários, pois 90% dos usuários ficaram satisfeitos com o sistema principalmente pelas funcionalidades implementadas que auxiliam na comunicação e no versionamento dos arquivos gerados durante o desenvolvimento do projeto, das quais se destacam: Adicionar arquivos maiores que 100 MB ao projeto. Compartilhar o projeto com quantos usuários for necessário. Manter os arquivos armazenados em um servidor online. Possibilitar a interação direta com o orientador e os acadêmicos. Manter o histórico da construção do conhecimento. Durante a avaliação do sistema os usuários registraram seus comentários, críticas e sugestões. Algumas foram: Trabalhar mais a parte de interação com o usuário; 79 Houve erro ao salvar o projeto sem data de conclusão (tratar as informações requeridas); Envio de e-mails; Adicionar campo para identificar a versão do arquivo; Realmente é uma ferramenta de grande auxilio para os acadêmicos, devido a correria do dia a dia e os compromissos que dificultam que todos os integrantes possam se reunir para discutir sobre o projeto; 5.5 Adicionar campo de busca. CONSIDERAÇÕES FINAIS DO DESENVOLVIMENTO Nesta etapa, após a conclusão do desenvolvimento do sistema, foi possível observar todas as suas funcionalidades e como o mesmo se comporta diante do usuário final, a partir dos resultados obtidos através do questionário foi possível evidenciar a aplicação do sistema, visualiza-lo como um todo e também identificar possíveis melhorias que ao ser implementadas irá tornar o sistema melhor e mais robusto no que se propõe. Com estas observações, foi possível obter as conclusões referentes a proposta inicial deste projeto. 80 6 CONCLUSÕES E TRABALHOS FUTUROS O presente Trabalho de Conclusão de Curso teve por objetivo desenvolver um sistema web para auxiliar os acadêmicos na comunicação e no controle das versões dos arquivos gerados durante as disciplinas de Trabalho de Conclusão de Curso I e II. Até pouco tempo atrás, a comunicação entre os integrantes do projeto era feita de maneira informal (sem registro) e os arquivos gerados durante as disciplinas eram organizados sem controle individual. Hoje essa comunicação pode ser feita através de um sistema web, que por meio de ferramentas tecnológicas é capaz de diminuir distancias e organizar os arquivos gerados durante a construção do conhecimento. Através da aplicação da metodologia AMDD, obteve-se maior entendimento sobre as necessidades e formas de uso do sistema. Com os protótipos iniciais das telas foi possível entender melhor as definições dos requisitos e dos casos de uso. Os requisitos propostos inicialmente foram implementados seguindo o padrão de desenvolvimento escolhido. As funcionalidades propostas inicialmente foram atendidas e durante a validação o sistema apresentou um bom desempenho. Houve um aumento na produtividade, pois o acesso às informações, é feito de forma online e organizada. Antes era preciso consultar anotações feitas em papel ou até mesmo na própria monografia, quando impressa. Os resultados práticos obtidos pelos testes auxiliaram no desenvolvimento do Trabalho de Conclusão de Curso. A ferramenta foi desenvolvida para ser acessada através de qualquer browser web, não havendo a necessidade de instalação de software nos computadores. A aplicação proposta oferece aos usuários a possibilidade de acesso ao projeto e aos arquivos a partir de qualquer computador conectado à internet. As sugestões de melhorias realizadas pelos usuários serão implementadas em ações futuras, em uma nova etapa de desenvolvimento do sistema. Outros destaques são apresentados para serem analisados e desenvolvidos como trabalhos futuros: ● Possibilidade de exclusão/alteração de comentários e arquivos; ● Módulo de envio de e-mail, para enviar notificações de comentários, arquivos adicionados ou atualizado, quando um novo usuário é adicionado ao projeto, 81 confirmação de cadastro de usuário e enviar um alerta sobre o prazo do projeto para todos os integrantes; ● Blind Review; ● Adicionar validação ReCaptcha na interface de cadastro de usuário; ● Fórum para todos os usuários cadastrados; ● Relatórios estatísticos sobre o projeto; ● Agenda; ● Módulo para organização; ● Sincronização de arquivos locais; ● Editar documentos online; ● Compatibilidade com dispositivos móveis. O desenvolvimento deste trabalho de conclusão de curso, assim como a construção desta ferramenta Web, proporcionaram grande aprendizado para os autores. Sendo assim, pode-se considerar que tanto os objetivos propostos por este trabalho quanto os objetivos do curso de Sistemas de Informação, foram alcançados. 82 REFERÊNCIAS AIRES, C.J.; LOPES, R.G. de F. Gestão na educação a distância. AIRES, C.J.; LOPES, R.G. de F.Educação superior a distância: comunidade de trabalho e aprendizagem em rede (CTAR). Disponível em:< http://www.fe.unb.br/catedraunescoead/areas/menu/publicacoes/livros-publicados-pelacatedra/educacao-superior-a-distancia/livro-educacao-superior-a-distancia-comunidade-detrabalho-e-aprendizagem-em-rede-ctar >. Acesso em: 05 abr.2014. ALENCAR, Andréia de Souza. O Moodle como Ferramenta Didática. Minas Gerais, 2011. Disponível em: <http://ueadsl.textolivre.pro.br/2011.2/papers/upload/57.pdf>. Acesso em: 08 maio 2014. ALMEIDA, Maria Elizabeth Bianconcini de. Educação a distância na internet: abordagens e contribuições dos ambientes digitais de aprendizagem. Educação e Pesquisa, São Paulo, v. 2, n. 29, p.327-340, 2003. Disponível em: <http://www.scielo.br/pdf/ep/v29n2/a10v29n2.pdf>. Acesso em: 30 mar 2014. ALMEIDA, Maria Elizabeth Bianconcini de. Integração das Tecnologias na Educação. Brasília: Posigraf , 2005. ALMEIDA, Maria Elizabeth Bianconcini de. Tecnologias digitais na educação: o futuro é hoje. Disponível em: < http://etic2008.files.wordpress.com/2008/11/pucspmariaelizabeth.pdf >. Acesso em: 02 maio de 2014. AMBLER, Scott, W. Agile Model Driven Development. Xootic Magazine, Holanda, 2007. Disponível em: < http://www.xootic.nl/magazine/feb-2007/ambler.pdf>. Acesso em: 18 maio de 2014. AMBLER, Scott W. Agile Drive Development (AMDD): the key to scaling agile software development. Disponivel em: < http://www.agilemodeling.com/essays/amdd.htm> . Acesso em 20 jun 2014. ANGELONI, Maria Terezinha. Elementos intervenientes na tomada de decisão. Ci. Inf., Brasília , v. 32, n. 1, Apr. 2003 . Available from <http://www.scielo.br/scielo.php?script=sci_arttext&pid=S010019652003000100002&lng=en&nrm=iso>. Acesso em 23 agosto 2014. APACHE. The Apache Software Foundation. 2012. Disponível em: <www.apache.org/>. Acesso em: 14 set. 2014. APRENDER. In:MICHAELIS. Moderno dicionário da língua portuguesa - 2. ed. 1998. BALSAMIQ STUDIOS. Balsamiq Mockups. Disponível em: <http://www.balsamiq.com/products/mockups>. Acesso em: 14 set. 2014. 83 BARROS, E. Software Educacional: Critérios a serem levados em conta no processo pedagógico. Revista Brasileira de Tecnologia Educacional – Anos XXX/XXXI, nº 159/160, 2003. BECK, Kent et al. Manifesto Ágil. Disponível em: < http://manifestoagil.com.br/>. Acesso em 22 de Maio de 2014. BEZERRA, E. Princípios de análise e projeto de sistemas com UML. Rio de Janeiro: Campus, 2002. BONA, Cristina. Avaliação de processos de software: um estudo de caso em XP e ICONIX. 2002. 100 f. Dissertação (Mestrado em Engenharia de Produção) - Universidade Federal de Santa Catarina, Florianópolis , 2002. CAMPOS, Fernanda. Cooperação e Aprendizagem On-line. Rio de Janeiro: DP&A, 2003. CHACON, Scott. Pro Git. Disponível em: https://github.s3.amazonaws.com/media/progit.en.pdf. Acesso em 08 de Maio de 2014. DALL'OGLIO, Marcel. Aplicativo Android para o Ambiente Univates Virtual. Lajeado, 2013. Disponível em: <https://www.univates.br/bdu/bitstream/10737/382/1/Marcel Dall'Oglio.pdf>. Acesso em: 08 maio 2014. D'ÁVILA, Márcio. Tutorial Tomcat - Instalação e ConfiguraçãoBásica. 2009. Disponível em: <http://www.scribd.com/doc/39166790/Tutorial-Tomcat-Instalacao-e-Configuracao>. Acesso em: 14 set. 2014. DEITEL, H. M. e DEITEL, P. J. Java Como Programar. Trad. Edson Furnakiewicz, 3. ed. Porto Alegre: Editora Bookman, 2001. FALBO, Ricardo de Almeida. Engenharia de Software. UFES - Universidade Federal do Espírito Santo, Espírito Santo, 2005. FREITAS, Henrique; RECH, Ionara. Problemas e ações na adoção de novas tecnologias de informação. Rev. adm. contemp. Curitiba, v. 7, n. 1, mar. 2003 . Disponível em <http://www.scielo.br/scielo.php?script=sci_arttext&pid=S141565552003000100007&lng=pt&nrm=iso>. Acesso em 06 abr. 2014. FUMIGOTO, Sonia Maria Andreto. O Computador na sala de aula: o professor de educação básica e sua prática pedagógica. Maringá, 2010. Disponível em: <http://www.ppe.uem.br/dissertacoes/2010_sonia_fugimoto.pdf>. Acesso em: 09 abr. 2014. GIL, Antonio Carlos. Como Elaborar Projetos de Pesquisa. São Paulo: Atlas, 2002. GONDIM, Sonia. A face oculta do parecerista: discussões éticas sobre o processo de avaliação de mérito de trabalhos científicos. O&s, Salvador, v. 31, n. 1, jan. 2004. Disponível em: <http://www.portalseer.ufba.br/index.php/revistaoes/article/viewFile/10714/7667>. Acesso em: 02 maio 2014. 84 GRUPO A. Blackboard. < http://blackboard.grupoa.com.br/ >. Acesso em: 11/10/2014. GRUPO ABRIL, Revista Exame. <http://exame.abril.com.br/carreira/noticias/quem-sao-osprofissionais-mais-raros-no-brasil-e-por-que>. Acesso em: 26/10/2014. JENAL, Sabineet al. O processo de revisão por pares: uma revisão integrativa de literatura. Acta paul. enferm., São Paulo , v. 25, n. 5, 2012 . Disponível em <http://www.scielo.br/scielo.php?script=sci_arttext&pid=S010321002012000500024&lng=pt&nrm=iso>. Acesso em: 02 maio 2014. JUNG. Carlos Fernando. Metodologia Científica: ênfase em pesquisa tecnológica. 4ª. Edição revisada e ampliada. 2003. Disponível em: <http://www.unisc.br/portal/upload/com_arquivo/metodologia_cientifica....pdf>. Acesso em 17maio 2014. LEITE, Cristiane Luiza Köb et al (2005). A aprendizagem colaborativa na educação à distância on-line. Universidade Católica do Paraná. Disponível em: <https://docs.google.com/document/d/18WiI2yy-T1wGjiy9SQ8KVHnkto0hQdl2MeAOP71k4Y/edit.> Acesso em: 05 de Maio 2014. LOPEZ, Maria Immacolata Vassallo de. Pesquisa em Comunicação. São Paulo: Ed. Loyola, 8ª Ed, 2005. MARTIN, Robert C. Código Limpo: Habilidades Práticas do Agile Software. São Paulo: Bookman, 2009. MICHAELIS: Moderno dicionário da língua portuguesa - 2. ed. / 1998 NODARI, Douglas et al. Tecnologias na EAD e o Ambiente Virtual de Aprendizagem Moodle. 2010. Disponível em: <http://www.planetaeducacao.com.br/portal/artigo.asp?artigo=1866>. Acesso em: 18 ago. 2014. O’ NEIL, Joseph. Teach Yourself Java. USA: McGraw-Hill, 1999. PURGLY, Jorge. História do Edmodo. 2010. <http://purgly.blogspot.com.br/2013/10/historia-do-edmodo.html>. Acesso em: 08/05/2014. QUEIROZ, Cecília Telma Alves Pontes de; MOITA, Filomena Maria Gonçalves da Silva Cordeiro. Educação e as TIC’s: Uma aprendizagem colaborativa. 22. ed. Campina Grande - Natal, 2007. Disponível em: <http://www.ead.uepb.edu.br/ava/arquivos/cursos/geografia/fundamentos_socio_filosoficos_d a_educacao/Fasciculo_15.pdf >. Acesso em 03 de Maio de 2014. RIBAS, Vania. Ambiente Virtual de Aprendizagem Inclusivo. Florianópolis: Pandion, 2001. SARTORI, A. S.; ROESLER, J. Educação Superior a distância: gestão da aprendizagem e da produção de materiais didáticos impressos e on-line. Tubarão: Ed. Unisul, 2005. 85 SEMARH. Calculadora de Carbono. 2014. Disponível em: <http://www.semarh.goias.gov.br/site/calculadora/>. Acesso em: 03 nov. 2014. SILVA, Alberto M. R.; VIDEIRA, Carlos A. E. UML, Metodologias e Ferramentas Case. Lisboa: Centro Atlântico, 2001. SILVA, Edna Lucia da; MENEZES, Estera Musztak. Metodologia da pesquisa e elaboração de dissertação. 3 ed. Florianópolis: Laboratório de Ensino à Distância da UFSC, 2001. SILVA, Marco (Org.). Educação Online. São Paulo: Loyola, 2003. 512 p. SILVA, Sandra Regina Quadros Moraes da. Controle de versões: um apoio à edições colaborativa na Web. 2005. 86 f. Dissertação (Mestrado) - Curso de Ciências da Computação, Usp, São Carlos, 2005 SHARE, Smart. Impacto ambiental: Como as empresas podem economizar papel? 2014. Disponível em: <http://blog.smartshare.com.br/2014/10/29/impacto-ambiental-como-asempresas-podem-economizar-papel/>. Acesso em: 03 nov. 2014. SOARES, Walace, MySQL Conceitos e Aplicações. 1. ed. São Paulo:Editora. Érica, 2001. STAHL, Gerry. Aprendizagem Colaborativa com Suporte Computacional: Uma Perspectiva Histórica. Disponível em: <http://www.fe.unb.br/quem-equem/docentes/l/lucioteles/publicacoes-recomendadas/aprendizagem-colaborativa-comsuporte-computacional-uma-perspectiva-historica/view>. Acesso em 01 de Maio de 2014. TIJIBOY, Ana Vilma et al. Aprendizagem cooperativa em ambientes telemáticos. Informática na Educação: teoria & prática, Porto Alegre, v. 2, n. 1, p. 19-29, maio 1998. Disponível em: <http://seer.ufrgs.br/index.php/InfEducTeoriaPratica/article/view/6267/3735>. Acesso em: 23 ago. 2014. TUROFF, M.; HILTZ S.R., Computer Support for group versus individual Decisions. IEEE Transactions on Communications, USA, 1982 UNISUL. Curso de Ciências da Computação e Sistemas de Informação. Regulamento para a elaboração do trabalho de conclusão de curso (TCC). Universidade do Sul de Santa Catarina. Florianópolis, 2004. VALENTINI, Carla Beatriz; SOARES, Eliana Maria. Aprendizagem em ambientes virtuais: compartilhando ideias e construindo cenários. Caxias do Sul: Educs, 2005. VASCONCELOS, Maria Gorete Lucena, Góes, Fernanda dos Santos Nogueira, Fonseca, Luciana Mara Monti, Ribeiro, Laiane Medeiros, Scochi, Carmen Gracinda Silvan. Avaliação de um ambiente digital de aprendizagem pelo usuário. Acta Paulista de Enfermagem. Disponível em:<http://www.redalyc.org/articulo.oa?id=307026771008>. Acesso em 08 de Maio de 2014. WOOLDRIDGE, Dave. The Business of IPhone App Development: Making and Marketing Apps that Succeed. USA: Apress, 2010. 86 APÊNDICES 87 APÊNDICE A – Cronograma No quadro 4 encontra-se o cronograma de atividades proposto para o desenvolvimento do presente projeto, o “X” representa quando a atividade será realizada. Quadro 5 - Cronograma de atividades Cronograma de Fev Mar Abr Mai Jun Atividades 2014 Escolha do tema X X e do orientador Encontros com o X X X X orientador Pesquisa X X X Bibliográfica preliminar Leituras e X X X X X elaboração de resumos Elaboração do X X X Projeto Entrega do X projeto de pesquisa Revisão X bibliográfica complementar Redação da X X X Monografia Análise e X X levantamento de Requisitos Modelagem do X Sistema Configuração do Ambiente do Desenvolvimento Desenvolvimento – UC 01 – Cadastro de Usuário Desenvolvimento – UC 02 – Efetuar Login Desenvolvimento – UC 03 – Novo Projeto Jul Ago Set Out Nov Dez X X X X X X X X X X X X X X X X X 88 Desenvolvimento – UC 04 – Upload de Arquivos Desenvolvimento – UC 05 – Meus Projetos Desenvolvimento – UC 06- Projeto Testes do Desenvolvimento Avaliação 1 – Entrega do Cronograma Avaliação 2 – Correções Avaliador Externo Avaliação 3 – Entrega Impressa Avaliação 4 – Verificação do Desenvolvimento Avaliação 5 – Desenvolvimento da Proposta Avaliação 6 – Verificação norma ABNT Entrega da Monografia Entrega Final da Monografia Fonte: Elaboração dos Autores (2014). X X X X X X X X X X X X X X 89 APENDICE B - QUESTIONÁRIO DE VALIDAÇÃO DO SISTEMA Caso estudante, qual curso: ( ) Sistemas da ( ) Ciências Informação Computação da ( ) Outros: ______________ Está cursando a disciplina de Trabalho de Conclusão de Curso? ( ) Sim ( ) Não Agora, gostaríamos de saber sobre a sua percepção quanto ao sistema. Por favor, avalie o sistema WEB TCC analisando as afirmações abaixo, tendo como referência nas seguintes opções: 1 - Discordo totalmente 2 - Discordo parcialmente 3 - Indiferente 4 - Concordo parcialmente 5 - Concordo totalmente Considerações 1 Desempenho do sistema: O sistema responde rapidamente aos meus comandos (clicar em links, botões, opções de menu, etc). Encontro rapidamente as informações que procuro no sistema. Usabilidade: Considero descomplicado criar um novo usuário. Consigo facilmente criar um novo projeto. Consigo adicionar integrantes no projeto sem dificuldade. Adiciono comentários ao projeto de forma descomplicada. Comunicação: A comunicação entre os integrantes do projeto é simples. A comunicação entre acadêmico e orientador é simples. Considero descomplicado utilizar o Fórum. Visualizo as informações facilmente. Arquivos: Consigo disponibilizar os arquivos do trabalho para todos os integrantes. Posso controlar facilmente as versões dos arquivos. Consigo realizar Upload e Download de arquivos sem dificuldade. Consigo visualizar os arquivos existentes. Processo: 2 3 4 5 90 Este sistema oferece todas as informações necessárias para eu gerenciar meu projeto. Aplicabilidade: Com certeza este sistema seria útil para outros projetos acadêmicos. Em relação ao sistema Eu recomendaria a outros colegas. De forma geral, estou satisfeito com o sistema. Caso você tenha algum comentário, critica, e/ou sugestão sobre este sistema, registre-o neste espaço. 91 APENDICE C – DOCUMENTAÇÃO DE CASOS DE USO A seguir, é apresentada a documentação de cada Caso de Uso proposto para o sistema. Quadro 6 - UC01 Cadastro de usuário Nome: Cadastro de Usuário Identificador: UC01 Pré-condições 1. O caso de uso inicia quando o usuário deve acessa a Tela Cadastro de Usuário. Fluxo Básico 1. O usuário digita os dados referentes ao cadastro: 2. Usuário: texto, obrigatório; Senha: alfanumérico, obrigatório; Nome: texto, obrigatório; Data de Nascimento: data; País: texto; E-mail: alfanumérico, obrigatório; Universidade: texto, obrigatório; Curso: texto, obrigatório. 1. Usuário clica no botão “Criar Usuário” para submeter as informações do formulário ao sistema. 2. Sistema valida e persiste os dados no banco. 3. O sistema apresenta mensagem "Dados cadastrados com sucesso". Usuário clica no botão "Ok" e é redirecionado a Tela de Login. 4. Fluxo de Exceção 3.a. Se o sistema identificar que um campo obrigatório não foi preenchido, os seguintes passos são executados: 1. O sistema emite uma mensagem de “Campo não preenchido” ao lado do campo. 2. O sistema retorna para a etapa 2 do fluxo básico. Nome: Cadastro de Usuário Identificador: UC01 Pré-condições O caso de uso inicia quando o usuário deve acessa a Tela Cadastro de Usuário. 1. Fluxo Básico Fonte: Elaboração dos Autores (2014). 92 Quadro 7 - UC02 Efetuar login Nome: Efetuar Login Identificador: UC02 Pré-condições 2. O usuário deve ter uma conta já cadastrada no sistema de acordo com o UC01. Fluxo Básico 1. Usuário acessa a página de login do Sistema. Esta página quando carregada, deve ter inicialmente o campo “Usuário” com foco. 2. Usuário digita seu nome de usuário da ferramenta. 3. O usuário seleciona o campo "Senha" clicando sobre esse campo ou pressionando a tecla "Tab". 4. O usuário digita sua senha. 5. O usuário clica no botão "Login" e depois no botão "Enter" ou pressiona a tecla "Enter" diretamente. 6. O sistema valida a Senha para o Nome de Usuário especificado. 7. Usuário é direcionado para a página principal da ferramenta. Fluxo de Exceção 2.a. Caso o usuário não tenha uma conta, poderá acessar a página de cadastro de usuário através do botão “Cadastro de Usuário”, disposto no menu do sistema. 7.a. Caso a senha seja incorreta, o sistema deve indicar a seguinte mensagem “Usuário/Senha incorretos, favor digitar novamente.” E retornar a etapa 1. Fonte: Elaboração dos Autores (2014). 93 Quadro 8 - UC03 Novo projeto. Nome: Novo Projeto Identificador: UC03 Pré-condições 3. 1. O usuário deve estar cadastrado no sistema. Fluxo Básico 1. O usuário acessa a página Novo Projeto. 2. Informa os dados do projeto de acordo com a Tela Novo Projeto. 3. Usuário clica no botão "Salvar". 4. Sistema valida as informações. 5. O sistema apresenta mensagem "Projeto cadastrado com sucesso." 6. Usuário clica no botão "Ok" e é redirecionado a Tela Meus Projetos. Fluxo de Exceção No passo 4 do fluxo básico, se o sistema identificar que um campo obrigatório não foi preenchido, os seguintes passos são executados: 4. O sistema emite uma mensagem ao lado do campo de “Campo não preenchido”. 1. O sistema apresenta mensagem com o campo requerido e volta ao passo 2 do fluxo básico. Pós Condições 1. Após o usuário submeter o formulário o sistema deve atualizar o grid com os projetos do usuário. 2. Nome: Novo Projeto Identificador: UC03 1. Pré-condições 2. 1. O usuário deve estar cadastrado no sistema. Fonte: Elaboração dos Autores (2014). 94 Quadro 9 - UC04 Upload de versões Nome: Upload de Versões Identificador: UC04 Pré-condições 4. O usuário deve estar cadastrado no sistema de acordo com o UC01. 5. O projeto deve estar cadastrado no sistema de acordo com o UC03. Fluxo Básico 1. Usuário seleciona a função “Escolher arquivo". 2. Usuário informa o nome do arquivo. 3. Usuário insere comentários, referente ao documento que está inserindo ao sistema. 4. Usuário submete o formulário ao sistema clicando em “Salvar”. 5. O sistema salva o arquivo e atualiza o Grid com a versões dos arquivos do projeto. Fluxo de Exceção No passo 2 do fluxo básico, se o sistema identificar que um campo obrigatório não foi preenchido, os seguintes passos são executados: 1. O sistema emite uma mensagem ao lado do campo de “Campo não preenchido”. 2. O sistema retorna para o passo 2 do fluxo básico. Nome: Upload de Versões Identificador: UC04 Pré-condições O usuário deve estar cadastrado no sistema de acordo com o UC01. O projeto deve estar cadastrado no sistema de acordo com o UC03. 3. Fluxo Básico 4. Usuário seleciona a função “Escolher arquivo". Fonte: Elaboração dos Autores (2014). 95 Quadro 10 - UC05 Meus projetos Nome Relatórios Identificador: UC05 Pré-condições 1. O usuário deve estar cadastrado no sistema 2. O usuário deve fazer parte do projeto. Fluxo Básico 1. Usuário seleciona a Tela Meus Projetos no menu do sistema. 2. Sistema lista todos os projetos que o usuário tem acesso. 3. Usuário seleciona a exclusão do projeto já cadastrado no sistema. 4. Sistema verifica se o usuário tem permissão para excluir projeto. 5. O sistema exibe a mensagem “Confirmar exclusão do projeto e seus arquivos?". 6. Usuário clica no botão "Ok". 7. O sistema deleta todos os registros relacionados aquele projeto. 8. O sistema redireciona o usuário para a Tela Meus Projetos. 9. Fluxo Alternativo No passo 4 do fluxo básico caso usuário não tenha permissão de exclusão, os seguintes passos são executados: 1. O sistema exibe a mensagem "Você não tem permissão para excluir este projeto" durante 5 segundos. O sistema retorna para o passo 2 do fluxo básico. No passo 5 do fluxo básico, o usuário pode clicar no botão “Cancelar”, os seguintes passos são executados: 2. 1. O sistema retorna para o passo 2 do fluxo básico. 3. Nome Relatórios Identificador: UC05 Pré-condições O usuário deve estar cadastrado no sistema O usuário deve fazer parte do projeto. Fluxo Básico 10. Usuário seleciona a Tela Meus Projetos no menu do sistema. 2. Sistema lista todos os projetos que o usuário tem acesso. Fonte: Elaboração dos Autores (2014). 96 Quadro 11 - UC08 Projeto Nome Projeto Identificador: UC06 Pré-condições 1. O usuário deve estar cadastrado no sistema 2. O usuário deve fazer parte do projeto. Fluxo Básico 1. Usuário seleciona a função edição na Tela Meus Projetos. 2. Sistema redireciona o usuário para Tela Projeto. 3. Sistema verifica qual a permissão do usuário e habilita os recursos. 4. Usuário altera as informações do projeto e adiciona comentários. 5. O usuário clica no botão "Enviar". 6. Sistema persiste as informações. 7. O sistema apresenta a mensagem "Projeto atualizado com sucesso" durante 5 segundos. 7. O sistema carrega a Tela Projeto com as informações atualizadas. Fluxo Alternativo No passo 5 do fluxo básico, o usuário pode clicar no botão “Cancelar”, os seguintes passos são executados: 1. Sistema redireciona o usuário a Tela Meus Projetos. Fluxo de Exceção No passo 3 do fluxo básico, se o sistema identificar que o usuário não possui permissões de editar informação do projeto ou adicionar comentários: 1. O sistema exibe uma mensagem “Você não possui permissão para edição do projeto e inserção de comentários” durante 5 segundos. 2. Sistema redireciona o usuário a Tela Meus Projetos. Fonte: Elaboração dos Autores (2014). 97 ANEXOS 98 ANEXO A – Regulamento para a elaboração do trabalho de conclusão de curso de sistemas da informação UNISUL - UNIVERSIDADE DO SUL DE SANTA CATARINA Campus Grande Florianópolis CURSOS DE SISTEMAS DE INFORMAÇÃO E CIÊNCIA DA COMPUTAÇÃO REGULAMENTO PARA A ELABORAÇÃO DO TRABALHO DE CONCLUSÃO DE CURSO (TCC) CAPÍTULO I DAS DISPOSIÇÕES PRELIMINARES Art. 1º - O presente Regulamento se aplica à formação dos Bacharéis em Sistemas de Informação / Ciência da Computação. Parágrafo Único – a obtenção do grau de Bacharel em Sistemas de Informação/ Ciência da Computação requer o cumprimento das exigências deste Regulamento. Art. 2º - O tema do Trabalho de Conclusão de Curso deverá estar relacionado com a Computação, Sistemas de Informação, suas áreas afins e/ou de suas aplicações. CAPÍTULO II DOS OBJETIVOS Art. 3º - São objetivos do TCC: • Oportunizar ao acadêmico a iniciação à pesquisa; • Sistematizar o conhecimento adquirido no decorrer do curso tendo como base à articulação teórico-prática; • Incentivar os alunos no estudo de problemas locais, regionais e nacionais, buscando apontar possíveis soluções no sentido de integrar universidade e sociedade. • Subsidiar o processo de ensino, contribuindo para a realimentação dos conteúdos programáticos das disciplinas integrantes do currículo. 99 CAPÍTULO III DA MATRÍCULA, DO INÍCIO E DA CONCLUSÃO Art. 4º - O TCC poderá ser desenvolvido por no máximo dois alunos; Art. 5º - O trabalho de conclusão de Curso só poderá ser iniciado: • Após a escolha do tema e do Orientador; • Após aprovação da Proposta de Trabalho pelo Orientador e Coordenador da disciplina. Art. 6º - O TCC será desenvolvido em duas etapas subseqüentes, correspondentes a dois semestres letivos, no contexto das disciplinas Projeto de Conclusão de Curso (PCC) em Sistemas de Informação I e Projeto em Sistemas de Informação II (Projeto em Ciência da Computação I e II), oferecidas nos dois últimos semestres do curso. Art. 7º - Em cumprimento a etapa um, primeiro semestre, o aluno deverá matricular-se na disciplina de PCC I, na qual deverá definir o tema, escolher um orientador e preparar uma proposta para o TCC sob a supervisão do orientador escolhido. Espera-se no final da etapa1, como produto final, a apresentação de relatório contendo, no mínimo, apresentação do tema, problema, objetivos e justificativa, além de todo o embasamento teórico do TCC, incluindo a modelagem conceitual da aplicação prática a ser implementada ou projeto de pesquisa do estudo teórico/prático a ser desenvolvido. Art. 8º- Em cumprimento da etapa dois, segundo semestre, o aluno deverá desenvolver a aplicação prática/pesquisa já prevista na etapa um, completar a sua documentação conforme metodologia escolhida, e defender o TCC perante a banca examinadora. O produto final esperado desta etapa 100 inclui o relatório na sua forma final o qual constitui uma monografia com os resultados da aplicação teórica/prática. Art. 9º - A monografia correspondente, deverá ser entregue à Coordenação para distribuição à Banca Examinadora, conforme cronograma de eventos definido para o semestre letivo. CAPÍTULO IV DA ORGANIZAÇÃO Art. 10º - A administração global da elaboração dos Trabalhos de Conclusão de Curso será feita pelo Coordenador da Disciplina auxiliado pelos Orientadores designados. Art. 11º - Aos Orientadores de TCC será computada uma carga horária de 1 (uma) hora-aula semanal, por aluno orientando. Parágrafo Único – A Coordenação do Curso determinará semestralmente o número máximo de orientandos por professor orientador. Art. 12º - O Orientador deverá ser professor da Unisul, atuante na área de Sistemas de Informação, ou Computação, com no mínimo, Curso de Mestrado ou com qualificação reconhecida pela Coordenação do Curso. CAPÍTULO V DAS COMPETÊNCIAS Art. 13º - Compete ao Coordenador: I. Administrar e supervisionar de forma global a elaboração dos TCC de acordo com este Regulamento; II. Mediar as relações entre alunos e orientadores; III. Participação direta na avaliação de propostas de TCC; IV. Orientar os acadêmicos na escolha de professores orientadores; V. Determinar a estrutura e apresentação do TCC e submeter à aprovação do Colegiado 101 do Curso; VI. Informar a estrutura e apresentação do TCC ao Orientador; VII. Cumprir os procedimentos administrativos referentes à disciplina, perante a Secretaria de Ensino da UNISUL e a Coordenação do Curso; VIII.Manter contato com os Orientadores do TCC, visando o aprimoramento e solução de problemas relativos ao seu desenvolvimento; IX. Coordenar o processo de constituição de Bancas Examinadoras definindo um cronograma de apresentação dos TCC´s bem como coordenar as demais avaliações necessárias ao desenvolvimento dos trabalhos; X. Apresentar este Regulamento aos alunos e aos Orientadores de TCC; XI. Coordenar a apresentação dos TCC’s; XII. Gerenciar o Laboratório de Projetos e arquivar documentos referentes aos TCC’s. Art. 14º - Compete ao Orientador: I. Conduzir o desenvolvimento do TCC, ou seja, orientar, acompanhar e avaliar o desenvolvimento do trabalho em todas as suas fases; II. Participar na elaboração da Proposta de TCC em conjunto com o orientando, assim como a sua aprovação junto ao Coordenador da Disciplina; III.Orientar e revisar o trabalho escrito; IV.Orientar o aluno em todas as suas dificuldades; V. Acompanhar o desenvolvimento dos projetos conforme metodologia estabelecida pelo Coordenador da Disciplina junto ao Colegiado; VI. Se informar, acatar (fazer o aluno seguir essa metodologia) e, quando necessário, participar da elaboração/estabelecimento da metodologia proposta VII. Contactar o Coordenador para solucionar possíveis dificuldades para o bom andamento do trabalho; VIII. Participar de seminários e integrar as bancas de avaliação relativos aos projetos 102 sob sua orientação; IX. Disponibilizar uma hora-aula semanal para cada aluno orientado a fim de realizar as atividades de orientação (sendo que a incompatibilidade de horários entre alunos e orientador impossibilitará essa orientação); X. Avaliar o trabalho final e aprovar ou não o envio de cópias para a banca examinadora. Ao conceder esta aprovação o Professor Orientador estará avalizando o trabalho realizado pelo acadêmico. XI. Garantir a correção de eventuais alterações solicitadas pela banca examinadora, quando da apresentação final, relativas ao projeto sob sua orientação. Art. 15º - Espera-se que o aluno considere o PCC como um trabalho de suma importância e que ajudará a compor sua carta de apresentação profissional ao mercado de trabalho. Compete ao aluno: I.Escolher o tema, conforme artigo 2º deste Regulamento; II.Escolher o Orientador; conforme artigo 11º deste Regulamento; III.Elaborar uma proposta de trabalho, desenvolver essa proposta e a monografia, sob a supervisão do Orientador, com critérios de ética e autenticidade, respeitando, no uso de citações, as normas autorais e da ABNT; IV.apresentar, no prazo determinado pela Coordenação do Curso, o trabalho escrito, dentro dos padrões exigidos. V.Cumprir as normas deste Regulamento; VI.Participar de reuniões e outras atividades para as quais for convocado pelo Orientador ou pelo Coordenador da Disciplina; VII.Respeitar o cronograma de trabalho de acordo com o plano aprovado pelo Orientador; VIII.Respeitar o horário de atendimento estabelecido com o Orientador, justificando eventuais ausências e confirmando orientações recebidas. 103 CAPÍTULO VI DA AVALIAÇÃO Art. 16º - A avaliação do TCC será feita por etapas de desenvolvimento, em conformidade com os artigos 6º, 7º e 8º, assim constituída: I.Na Disciplina Projeto em Sistemas de Informação I serão realizadas pelo menos duas avaliações: a primeira abrangerá a revisão bibliográfica sobre o assunto do TCC e a segunda à modelagem conceitual da aplicação prática, compondo ao final da disciplina um documento único. II.Na Disciplina de Projeto em Sistemas de Informação II o TCC será apresentado para uma Banca Examinadora que fará a avaliação final. III.Parágrafo Único - Só poderá participar da apresentação pública, o aluno que obtiver aprovação preliminar do trabalho, pelo respectivo Orientador e Coordenador da disciplina. Art. 17º - A avaliação será feita numericamente em escala de 0 (zero) a 10 (dez). Será considerado aprovado, o aluno que obtiver média 7 (sete), no mínimo. Art. 18º - O trabalho será avaliado em função de: · observância das normas de apresentação de trabalhos técnico-científicos e metodologia em conformidade com as normas atuais da ABNT; · assiduidade aos encontros com o orientador; · Linguagem, clareza e objetividade do texto escrito; · boa fundamentação teórica e pesquisa bibliográfica adequada; · lógica da apresentação dos conteúdos (ordenação interna do conteúdo do trabalho); · cumprimento dos objetivos descritos na monografia; · criatividade, ideias inovadoras, capacidade de argumentação, pertinência e/ou relação com temas relacionados à temática do curso. CAPÍTULO VII DAS DISPOSIÇÕES GERAIS E TRANSITÓRIAS 104 Art. 19º - A estrutura e apresentação do Trabalho de Conclusão de Curso deverá seguir as orientações aprovadas pelo Colegiado de Curso; Art. 20º - Na apresentação pública, o aluno terá pelo menos 25 (vinte e cinco) minutos para exposição do Trabalho de Conclusão de Curso. Parágrafo Único - A apresentação pública será organizada pela Coordenação das disciplinas, com definição de cronograma e nomeação de bancas. Art. 21º - A Banca Examinadora, nomeada pela Coordenação das disciplinas, deverá ser composta por, pelo menos, três profissionais. Art. 22º - Após a aprovação final do trabalho de conclusão de curso pela Banca Examinadora, o aluno entregará a Coordenação da disciplina um exemplar da monografia com as correções sugeridas pela banca e aprovadas pelo orientador no meio (impresso ou magnético) solicitado. Art. 23º - Os casos omissos serão analisados e resolvidos pelo Colegiado de Curso, ouvidas as partes envolvidas. Art. 24º - Este Regulamento entrará em vigor a partir de 20/09/2004.