escola básica e secundária de salvaterra de magos...

19
Escola Básica e Secundária de Salvaterra de Magos RELATÓRIO CRÍTICO Prova de Aptidão Profissional Fernando Manuel Moreira Lopes Nº8 Tiago Alexandre Moreira Andrade Nº15 Curso Profissional Gestão e Programação de Sistemas Informáticos 12º H Salvaterra de Magos Julho de 2018

Upload: haxuyen

Post on 16-Dec-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Escola Básica e Secundária de Salvaterra de Magos

RELATÓRIO CRÍTICO

Prova de Aptidão Profissional

Fernando Manuel Moreira Lopes Nº8

Tiago Alexandre Moreira Andrade Nº15

Curso Profissional Gestão e Programação de Sistemas Informáticos

12º H

Salvaterra de Magos

Julho de 2018

Escola Básica e Secundária de Salvaterra de Magos

Fernando Manuel Moreira Lopes Nº8

Tiago Alexandre Moreira Andrade Nº15

Curso Profissional Gestão e Programação de Sistemas Informáticos

12º H

DigiReservas

SUMÁRIO

Relatório das atividades do Projeto

DigiReservas, desenvolvido como requisito parcial

dos módulos curriculares, supervisionado pelos

Professores Sónia Santos, António Andrade e José

Nunes, no curso Profissional Técnico de Gestão e

Programação de Sistemas Informáticos

Salvaterra de Magos

Julho de 2018

Escola Básica e Secundária de Salvaterra de Magos

Agradecimentos

Queremos agradecer a todos os professores que nos apoiaram e/ou ajudaram,

especialmente ao professor José Nunes que foi o professor mais envolvido neste projeto.

Agradecimentos especiais também ao Chefe de equipa da Lusosoft Diocleciano por

todas as pequenas e grandes ajudam e ao Pedro Gaspar da equipa da Lusosoft.

Escola Básica e Secundária de Salvaterra de Magos

Índice

1. Resumo ……………………………………………………………..……Pagina1

2. Introdução…………………………………………………………...……Pagina2

2.1. Introdução ……………………………………………………….Pagina3

3. Desenvolvimento...…………………………………………………….…Pagina4

3.1. Desenvolvimento ……….…………………………………….…Pagina5

3.2. Desenvolvimento.……………………..……………………….…Pagina6

3.3. Desenvolvimento...…………………………………………….…Pagina7

3.4. Desenvolvimento...…………………………………………….…Pagina8

3.5. Desenvolvimento…………………………...………………….…Pagina9

3.6. Desenvolvimento……………………………..…………………Pagina10

3.7. Desenvolvimento………………………………….………….…Pagina11

3.8. Desenvolvimento…………………………..……………………Pagina12

3.9. Desenvolvimento…………….……………………………….…Pagina13

4. Conclusão………………………………………………………………. Pagina14

5. Bibliografia…………………………………………………………….. Pagina15

Escola Básica e Secundária de Salvaterra de Magos

Resumo

O DigiReservas foi pedido pelo professor da biblioteca para melhorar e organização da

biblioteca

DigiReservas é uma aplicação que serve para reservar os computadores e os filmes da

biblioteca sem ser necessário ir a biblioteca para poder saber se pode reservar para

aquele dia ou para aquelas horas.

O administrador poderá aceitar ou recusar os pedidos de reserva (tanto as dos

computador como as dos filmes).

1

Escola Básica e Secundária de Salvaterra de Magos

Introdução

A Prova de Aptidão Profissional desenvolvida foi intitulada de DigiRegistos.

Esta aplicação consiste em reservar computadores e filmes da biblioteca sem precisar de

ir ao local para o reserva-los.

A concepção desta prova envolveu o uso de muitas das valências adquiridas nos três

anos de formação do Curso Profissional Gestão e Programação de Sistemas

Informáticos.

Os recursos e as condições necessárias para a criação desta prova foram leccionadas

pela Escola de Salvaterra de Magos. O projeto foi criado via asp.net webforms com

framework 4.5, utiliza recursos de javascript e css a um nível básico, e c# a um nível

intermédio, foi necessário também um template como base do design do programa.

Necessitou na maior parte os conhecimentos adquiridos da disciplina de programação,

como a conexão entre base de dados e projeto (programa criado) e as bases da

linguagem de programação de c# que serviu para a programação do lado do servidor.

Foi escolhido Asp.Net pela utilização de uma linguagem de programação que já nos era

familiar do lado do servidor.

A conexão de base de dados foi feita com recurso a MySql.

Foi testado em diversos browsers, especialmente o Google chrome e Microsoft edge.

Foi do nosso melhor interesse então tentar utilizar um design gráfico que fosse

suportado por ambos.

O projeto também tem algum suporte em internet explorer e outros browsers que podem

acabar por não suportar alguns dos recursos que foram utilizados.

2

Escola Básica e Secundária de Salvaterra de Magos

Como ideia inicial do projeto foi proposto as funcionalidades mais básicas de reservar a

biblioteca para que estes dados sejam guardados de uma forma limpa e de fácil acesso.

Foi mais tarde resolvido como uma necessidade de que a biblioteca seja previamente

avisada da necessidade da sua utilização. Foi nos pedido pelo professor representante da

biblioteca da escola básica e secundaria de Salvaterra de magos que a mesma

funcionalidade fosse aplicada no caso dos filmes.

A necessidade de ser um site surgi-o quando visionamos que os professores deveriam

conseguir avisar a biblioteca da necessidade da sua utilização de uma forma rápida e

que a resposta para o pedido fosse feito sem a necessidade de planear a hora e data.

O projecto começou por finais de fevereiro, sofrendo diversas alterações ao longo do

seu desenvolvimento, no entanto foi possível manter a ideia original do que planejamos

fazer, além de algumas coisas extra que vieram para beneficiar a ideia original ou pelo

menos o projecto num todo.

3

Escola Básica e Secundária de Salvaterra de Magos

Desenvolvimento

O projeto começou pela necessidade de uma ideia para a Prova de aptidão Profissional.

Nós tivemos alguns problemas na decisão da ideia do projeto pelo que acabamos por

pedir ideias ao professor de programação José Nunes. O professor representante da

biblioteca escolar tinha pedido por algo que pudesse utilizar para registar a utilização da

biblioteca, e foi essa a ideia original, algo para registar a frequência com que os

professores utilizavam a biblioteca. Foi somente necessário falar um pouco para

decidirmos os detalhes antes da ideia original mudar.

Acabamos por decidir que seria um site que pudesse ser utilizado a partir de qualquer

sala da escola e que pudesse ser verificado a qualquer altura por parte do administrador

os pedidos enviados a biblioteca.

Planeamento de tarefas

O planeamento das funcionalidades disponíveis para cada utilizador foi definido assim

que resolvemos fazer de esta ideia a nossa Pap. A divisão de tarefas foi resolvida em

código de programação de funcionalidades (Fernando Lopes) e código de design (Tiago

Andrade), enquanto outras tarefas como a criação de base de dados ou o relatório foram

também definidos entre ambos os elementos do grupo. No entanto também tentamos

apoiar as áreas que não nos eram designadas.

Base de dados

A base de dados é constituída por 6 tabelas, cada uma com o seu objetivo.

“filmes” e “generos" existem para depois serem combinados em “filmegenero” visto

que um filme pode ter vários generos, no entanto o contrario não se aplica.

A tabela “professores” é utilizada para utilizar a funcionalidades de contas como

“login” e “sign up”. Também é usado para a diferenciação entre administrador e

utilizador comum.

4

Escola Básica e Secundária de Salvaterra de Magos

“reservas” e “reservasfilme” são utilizados para registar os pedidos feitos pelos

professores e para bloquear horas ocupadas.

Programação

Depois de fazer o planeamento de tarefas e criar a base de dados começamos a

desenvolver a programação.

Começámos por criar um novo projeto asp.net webforms, framework versão 4.5. Já

vinha com algumas coisas como um template muito básico e um site master. No início

existiam muitas dúvidas, existiam coisas que nunca haviam sido leccionadas e não era

possível usar somente c#. Inicialmente foi decidido estudar as linguagens de

programação necessárias para o desenvolvimento conforme a necessidade aparecesse. A

mais estudada acabou por ser javascript pois foi necessário usar o client side em

diversas ocasiões. A criação das páginas começou como como uma forma de perceber

como funcionava o site master. Ao perceber os seus benefícios utilizamos o site master

já existente a nosso favor e modificamos o seu code behind para o beneficio do projeto.

As mudanças efectuadas ao site master inicialmente foram básicas mas necessárias para

a sua utilização coerente no nosso projeto.

5

Escola Básica e Secundária de Salvaterra de Magos

Foi decidido necessário facilitar as ações de MySql e por isso foi criado uma class de c#

com procedimentos para as diversas ações de MySql, o que facilitou imenso o trabalho

e adicionou o beneficio de pudermos mudar a conexão de MySql em todo o programa

ao mudar uma simples linha.

A funcionalidade de login foi a primeira criada, algo necessário visto que somente

administradores podem adicionar novos utilizadores ambos administradores ou

professores. Foi utilizado o controlador “asp:login” para facilitar a programação e

design.

Assim que a funcionalidade login ficou operacional, começamos a criar a pagina

designada para que o professor possa reservar a biblioteca. Primeiro utilizamos um

controlador de asp.net designado para calendários, o “asp:calendar”. Provou se uma

grande desilusão ao início pela falta de opções gráficas, mas provou ser uma mais-valia

pelos seus eventos. Aqui foi perdido mais tempo do que qualquer outra página pois os

conhecimentos que tínhamos na altura sobre o asp.net e sobre o seu lifecycle eram

quase inexistentes. Com alguma utilização de javascript em server side no evento render

6

Escola Básica e Secundária de Salvaterra de Magos

do calendário podemos por cores a certos dias para os diferenciar, conseguimos também

forçar o utilizador a utilizar somente o dia atual ou dias futuros, permitindo assim que

os dados introduzidos pelo utilizador fossem mais coerentes e que não fosse necessário

tanta validação da nossa parte. Os eventos permitiam diversas outras funcionalidades tal

como garantir que o dia selecionado quando a página abre ou faz refresh é o dia atual.

Na mesma página foi também necessário utilizar uma maneira de selecionar as horas em

que o professor necessitava de reservar a biblioteca. Nessa caso uma coleção de divs

bem posicionados fez o trabalho. Os divs dividiam se entre si, de um lado as horas, do

outro, a habilidade de tocar e selecionar o mesmo a “célula”. O objetivo era reproduzir o

efeito que o Outlook faz na sua agenda, o que provou necessitar de uma quantidade

absurda de javascript para o case de eventos. Chamar funções de javascript pelo server

side também foi uma habilidade necessária para garantir que a colecção de divs se

mantinha coerente. Foi feito mais tarde a validação de horas, o pensamento foi feito da

seguinte forma, todas as horas que já estavam ocupadas precisavam usar uma cor que

representava o mesmo (vermelho foi a cor escolhida para testes), aproveitamos para

garantir que as horas que já tinham passado caso o dia selecionado fosse o dia de hoje

não fossem selecionáveis usando o mesmo método.

7

Escola Básica e Secundária de Salvaterra de Magos

Para introduzir as informações adicionais construímos um div invisível que só aparecia

quando o professor acaba de decidir o dia e hora em que necessita da biblioteca. Nada

de especial foi feito aqui excepto pelo facto de que ao aparecer, este div tem uma

animação “fade in” feita em Css.

O utilizador tem também a possibilidade de reservar um filme para alguma altura do

dia, o método utilizado para este foi mais rudimentar na introdução de dados, mas muito

mais apelativo no que toca a mostrar a lista de filmes selecionável. Usamos uma

“asp:listview” e um “asp:datapager” para uma forma apelativa de ver a lista disponível

de filmes. Também foi adicionado a opção de consulta para procurar por um filme em

específico, ou por um género de filme. Ao selecionar um filme, um pequeno formulário

aparece debaixo da lista com as informações necessárias para reservar o filme.

8

Escola Básica e Secundária de Salvaterra de Magos

Depois de selecionado:

Depois de todas as páginas designadas ao professor, começamos a trabalhar na parte do

administrador. O administrador pode adicionar filmes, uma ação básica em todos os

sentidos, pode também ver e aceitar ou rejeitar os pedidos feitos para ambas as reservas

de filmes como as da biblioteca. Como segurança (e visto que somente os professores é

que precisam de conta), o administrador é o único capaz de introduzir um professor ou

um administrador.

9

Escola Básica e Secundária de Salvaterra de Magos

No entanto todo o design da página teve de mudar drasticamente como nos foi

aconselhado/pedido pelo professor José Nunos. Todas a mudanças transformaram o

projeto completamente na parte gráfica. O design transformou se em algo mais robusto,

10

Escola Básica e Secundária de Salvaterra de Magos

e em especial mais apelativo ao utilizador. Mudamos o template para um que

encontramos online e modificamos ao nosso gosto. Criamos alguns Css files para

transformar os controladores e diversificamos as cores. Adicionamos algumas

animações aos botões e em seguida um modal para uso futuro.

O site master acabou completamente mudado sem contar com alguma da programação

do server para modificar entre professor e administrador. Foi adicionado também um

aba de lado para selecionar entre os links atribuídos aquele tipo de utilizador ao invés de

no topo da página alem de que o login foi completamente modificado.

O calendário foi modificado para um estilo com cores mais frias, enquanto a coleção de

divs foi trocada pelo modal. O código foi modificado para poder adicionar o modal pois

não podíamos manter o div escondido. Em vez disso adicionamos uma página em que o

professor é redirecionado ao escolher o dia e horas. Sem contar com isso, tudo foi

aproveitado do antigo código e design.

11

Escola Básica e Secundária de Salvaterra de Magos

A possibilidade de reservar filmes não foi modificada no que toca a funcionalidades

mas o design foi transformado para algo que fizesse sentido no design usado. A listview

foi mudada para aderir ao background do design, dando uma aparência mais simples.

Além disso ouve pequenas alterações no seu design.

No caso do administrador foi mudado tanto design que acabou por ser melhor desistir

mais de metade do design e código pelo que acabou por ser desperdiçado muito tempo

12

Escola Básica e Secundária de Salvaterra de Magos

de trabalho.

A funcionalidade de adicionar professores deu problemas com o novo site master pelo

que apenas algum código foi reutilizado, depois de ajeitar o design o código

desperdiçado foi usado como referencia para o novo código. Foi no entanto uma boa

altura para verificar as validações.

A verificação de reservas da biblioteca/reservas de filmes foi reutilizado na parte do

código, e assim foi possível ainda poupar algum tempo para as suas validações e para o

seu design. No entanto foi aproveitado o tempo para identificar alguns problemas com o

código e corrigi-los.

13

Escola Básica e Secundária de Salvaterra de Magos

Conclusão

Fomos surpreendidos pela quantidade de problemas que nos foram introduzidos visto

que não estávamos preparados para o que o asp.net seria. Houve problemas que se

resolveram sozinhos sem conseguirmos chegar a perceber qual foi o problema em si, e

inicialmente existia imensa confusão com tipos de programação client side e server side.

No entanto com algum estudo das novas linguagens de programação e com muita

paciência, conseguimos completar algumas das tarefas que queríamos.

Sentimo-nos com mais experiencia depois deste projeto que foi feito com imenso stress

depois de um tempo. No entanto o asp.net tem imensas coisas complicadas que

acabaram por se meter no caminho o que nos atrasou imenso visto que não tínhamos

qualquer experiencia no que toca ao mesmo. Foi uma aventura muito desgastante.

14

Escola Básica e Secundária de Salvaterra de Magos

Referências bibliográficas

Somente sites, W3Schools e stack overflow.

15