• Nenhum resultado encontrado

3.3 Ambiente de desenvolvimento

3.3.3 Zend framework 2

Uma vez garantidos os elementos b´asicos para a implementa¸c˜ao da aplica¸c˜ao web, foi instalada a Zend Framework 2 na sua vers˜ao 2.5.3.

Para facilitar a instala¸c˜ao e gest˜ao da framework (atualiza¸c˜oes, etc.), foi utilizado um gestor de dependˆencias para PHP — o Composer.

Visto que a Zend Framework 2 ´e modular foram utilizados alguns m´odulos desen- volvidos pela comunidade, entre os quais se destacam os seguintes:

• ZendDevelopperTools: m´odulo com diversas ferramentas para desenvolvimento de aplica¸c˜oes, permitindo debugging, trace a base de dados, entre outros. Foi desenvolvido pela Zend Framework e pode ser transferido no GitHub (https://github.com/zendframework/ZendDeveloperTools);

• ZfTool: m´odulo que permite a gest˜ao dos m´odulos existentes na aplica¸c˜ao. De- senvolvido pela Zend Framework, podendo ser transferido no GitHub (https:// github.com/zendframework/ZFTool);

• ZfcUser: m´odulo para registo e autentica¸c˜ao de utilizadores. Este tem suporte para verifica¸c˜ao atrav´es de CAPTCHA, autentica¸c˜ao via plugins (Facebook, Google, LDAP), podendo ser transferido no GitHUB (https://github.com/ ZF-Commons/ZfcUser);

• BjyAuthorize: este m´odulo permite uma utiliza¸c˜ao simplificada das Acl na Zend Framework 2, podendo assim ter uma maior facilidade nos controlos das Black Lists ou das White Lists. Este permite igualmente a integra¸c˜ao com o m´odulo ZfcUser, podendo ser transferido no GitHUB (https://github.com/ bjyoungblood/BjyAuthorize);

• EdpModuleLayouts: este permite facilitar a gest˜ao de layouts, podendo indicar diferentes layouts para os diversos m´odulos existentes, podendo ser transferido no GitHUB (https://github.com/EvanDotPro/EdpModuleLayouts);

3.3. AMBIENTE DE DESENVOLVIMENTO 65

A utiliza¸c˜ao de m´odulos criados pela comunidade permite alguma facilidade no de- senvolvimento das fun¸c˜oes gerais ou comuns (registo, autentica¸c˜ao, permiss˜oes, etc.) numa aplica¸c˜ao web, sendo que existiu a necessidade de adapta¸c˜ao destes mesmos m´odulos `a realidade da aplica¸c˜ao em quest˜ao.

Foi decidido criar diversos m´odulos para todas as funcionalidades da aplica¸c˜ao, per- mitindo assim a possibilidade de remover ou acrescentar m´odulos `a aplica¸c˜ao de- pendendo da necessidade ou objetivo. Os m´odulos foram divididos por tipos de funcionalidades dentro do contexto da aplica¸c˜ao, sendo eles:

• Application: m´odulo presente no Skeleton da Zend Framework 2, tendo sido alterado para a gest˜ao de logs da aplica¸c˜ao, autentica¸c˜ao e navega¸c˜ao;

• School: gest˜ao de Escolas, incluindo as funcionalidades de “Create, Read, Up- date, Delete”—CRUD. A listagem das Escolas existentes, permite uma vi- sualiza¸c˜ao de acordo com os parˆametros introduzidos pelo utilizador. Sendo assim, este poder´a adicionar ou remover campos de visualiza¸c˜ao, tais como: a data de cria¸c˜ao, morada, email, estado, entre outros; a listagem permite tamb´em uma pesquisa de texto livre em todos os campos presentes na visua- liza¸c˜ao. A listagem cont´em uma pagina¸c˜ao, permitindo uma maior facilidade na visualiza¸c˜ao das Escolas.

• SchoolUser: m´odulo para gest˜ao dos utilizadores da aplica¸c˜ao, incluindo igual- mente as funcionalidades de CRUD. A visualiza¸c˜ao dos utilizadores permite as mesmas op¸c˜oes do m´odulo anterior, podendo visualizar os utilizadores ou filtr´a-los por tipos (Administrador, Professor, Aluno), dependendo das suas permiss˜oes de acesso. A cria¸c˜ao de novos utilizadores poder´a estar depen- dente de outros, seguindo uma hierarquia (por exemplo, no caso de um Encar- regado de Educa¸c˜ao, este s´o poder´a ser adicionado se for poss´ıvel atribuir-lhe um aluno j´a existente na plataforma). A listagem permite tamb´em uma pes- quisa de texto livre em todos os campos presentes na visualiza¸c˜ao. A listagem cont´em uma pagina¸c˜ao permitindo uma maior facilidade na visualiza¸c˜ao das Escolas.

• SchoolClasses: gest˜ao de turmas. Este m´odulo permite a gest˜ao das diversas turmas que um ano de escolaridade pode conter. O utilizador, com as devi- das permiss˜oes, poder´a adicionar, atualizar e remover alunos e docentes. O utilizador poder´a visualizar todas as turmas criadas para cada ano de escola- ridade ou, no caso de um diretor de turma, visualizar os dados relativos `a sua turma, tal como a suas respetivas disciplinas, entre outros. Este m´odulo per- mitir´a igualmente a gest˜ao dos poss´ıveis grupos de uma turma. As listagens apresentadas permitem diversas a¸c˜oes de filtragem e pesquisa.

• SchoolCourse: m´odulo de gest˜ao de disciplinas. Este permitir´a a gest˜ao das disciplinas (CRUD), tal como a cria¸c˜ao de novas disciplinas e relacionamento dos seus conte´udos (exerc´ıcios, bibliografia, etc.).

• SchoolExercise: m´odulo de gest˜ao de exerc´ıcios, permitindo as funcionalidade de CRUD. Este m´odulo permitir´a uma visualiza¸c˜ao de todos os exerc´ıcios, filtrados por disciplina, grau de dificuldade e anos de escolaridade.

• SchoolResults: m´odulo para a apresenta¸c˜ao dos resultados da escola. Permite a visualiza¸c˜ao de diferentes gr´aficos de resultados, podendo estes ser agrupados por turma, grupos, disciplinas tipos de exerc´ıcio, entre outros. Os gr´aficos apresentados s˜ao dinˆamicos, permitindo a visualiza¸c˜ao de diversos dados em tempo real.

4

Testes e Resultados

4.1

Testes

A plataforma foi testada com dados gerados artificialmente, n˜ao tendo sido poss´ıvel, nesta fase, o seu teste em cen´ario real de escola. Para o efeito cri´amos um agru- pamento de escolas, fict´ıcio, de nome “Agrupamento Um” e neste agrupamento seis escolas: um Jardim de Infˆancia, “Jardim1”; duas escolas do 1o Ciclo do En-

sino B´asico (CEB), “1CEB1” e “1CEB2”; uma escola do 2o Ciclo do Ensino B´asico,

“2CEB”; uma escola do 3o Ciclo do Ensino B´asico, “3CEB”; e uma escola do Ensino

Secund´ario, “Secund´ario”. Foram tamb´em gerados docentes, diretores de turma, gestores, conselho executivo, departamentos, etc..

Para cada uma das escolas foram criadas as respetivas turmas, de acordo com os anos letivos que podem suportar. Para o Jardim de Infˆancia foi criada uma turma com vinte alunos, sendo os nomes dos alunos dados por “Jardim Aluno 1” a “Jardim Aluno 20”. Do mesmo modo, para cada um dos quatro anos de escolaridade das escolas do 1o CEB foi criada uma turma com vinte alunos cada uma, correspondendo

a um total de oito turmas e cento e sessenta alunos. Procedeu-se de forma an´aloga para as restantes escolas e anos de escolaridade.

Assim, no total, foram criadas 19 turmas e 430 alunos, porque para as escolas do 2o

CEB foram criadas duas turmas por ano letivo, para tornar vi´avel a apresenta¸c˜ao e compara¸c˜ao de resultados de alunos de turmas diferentes mas do mesmo ano de escolaridade. Para o 2o CEB, 3o CEB e Secund´ario foram usados 25 alunos por

turma. A tabela 4.1 apresenta estes dados em resumo.

Ciclo de Ensino N. turmas N. alunos Jardim de Infˆancia 1 20 1o CEB 8 160 2o CEB 4 100 3o CEB 3 75 Secund´ario 3 75 Totais 19 430

Tabela 4.1– Resumo dos totais de turmas e alunos por ano letivo.

Para cada turma foi criado um diretor de turma e para cada aluno o respetivo encarregado de educa¸c˜ao. Foram tamb´em gerados os respetivos endere¸cos de email fict´ıcios. Contudo, em algumas situa¸c˜oes, foram usados endere¸cos de email reais, para ser poss´ıvel realizar alguns dos testes de valida¸c˜ao.

Para cada turma foram criadas algumas disciplinas, ficando estas a cargo dos respe- tivos docentes, e para cada disciplina foram gerados conjuntos de exerc´ıcios, testes, apontamentos, bibliografia e links. Depois, para cada um dos exerc´ıcios e testes foram geradas classifica¸c˜oes (notas) e geradas as classifica¸c˜oes finais.

Para as turmas do 1o CEB foram tamb´em criados diferentes grupos de alunos, de

acordo com o apresentado na tabela 4.2. Foram tamb´em criadas algumas reuni˜oes.

Como se pode depreender do exposto acima, procuramos criar um conjunto de teste que replicasse o mais fielmente poss´ıvel o ambiente real de um agrupamento de escolas.

Na pr´oxima sec¸c˜ao apresentaremos a forma como a plataforma reagiu, bem como os dados gerados pelas diferentes ferramentas integradas nesta plataforma.

Documentos relacionados