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
Top Related