Você está na página 1de 24

Relatório Projeto Interdisciplinar/Introdução à Programação

Licenciatura Engenharia e Gestão Industrial

Turma 1DC _ Grupo 1 Docente/Orientador


1190968 _ Pedro Rocha Álvaro Teixeira, (ACT)
1190375 _ André Monteiro Maria João Raposo, (MRP)
1190647 _ Gustavo Ferreira
Unidade Curricular
IPROG e PRIN1

Data: junho/2020
Resumo

Este projeto teve como principal objetivo, para além de programar uma aplicação auxiliar
para a gestão de cinemas, aplicar e aprofundar os nossos conhecimentos da unidade curricular
de Introdução à Programação.
Tendo sido proposta a realização de um programa capaz de gerir um cinema como um
todo, inicialmente sentimos a necessidade de planear as nossas atividades em grupo através de
um diagrama de Gantt. Consequentemente, foi ideal delinear quais eventualmente seriam as
funções desta aplicação, desde as fundamentais até às secundárias. Posteriormente, de modo a
concretizar o planeado, recorremos aos conteúdos lecionados nas aulas e a pesquisa online.
Em suma, a realização deste trabalho tornou-nos mais competentes ao trabalhar com o
Excel, principalmente com o VBA, o que poderá ser crítico no futuro em ambiente laboral.

Palavras-chave

Excel | Visual Basics for Applications | Gantt | Cinemas | Gestão

Junho 2020 II
Índice

Resumo .......................................................................................................................................... II
Palavras-chave ............................................................................................................................... II
Índice ............................................................................................................................................. III
Índice de quadros, figuras, abreviaturas ....................................................................................... III
1. Introdução .............................................................................................................................. 1
2. Enquadramento Teórico ........................................................................................................ 3
3. Planeamento do Projeto e Trabalho em Equipa .................................................................... 4
4. Programa Desenvolvido ......................................................................................................... 6
5. Apresentação dos Resultados .............................................................................................. 18
5.1. Discussão dos Resultados................................................................................................. 19
6. Conclusão ............................................................................................................................. 20

Índice de quadros, figuras, abreviaturas

Figura 1- Primeira versão do diagrama de Gantt ........................................................................... 5


Figura 2- Segunda versão do diagrama de Gantt ........................................................................... 5
Figura 3- Login ................................................................................................................................ 6
Figura 4- Userform Menu ............................................................................................................... 6
Figura 5- Userform Principal .......................................................................................................... 7
Figura 6- Userform Adicionar ......................................................................................................... 8
Figura 7- Userform Editar ............................................................................................................... 9
Figura 8- Userform Remover .......................................................................................................... 9
Figura 9- Userform Principal Sessões ........................................................................................... 10
Figura 10- Userform Adicionar Sessões ....................................................................................... 11
Figura 11- Userform Remover Sessões ........................................................................................ 12
Figura 12- Userform Menu Preçário ............................................................................................ 13
Figura 13- Userform Principal Preçário ........................................................................................ 13
Figura 14- Userform Adicionar Produto ....................................................................................... 14
Figura 15- Userform Editar Produto ............................................................................................. 15
Figura 16- Userform Menu Estatística ......................................................................................... 16
Figura 17- Userform Principal Estatística ..................................................................................... 16

Junho 2020 III


1. Introdução

No âmbito da unidade curricular de Introdução à Programação e de Projeto


Interdisciplinar I, foi-nos proposta a elaboração de uma aplicação informática de auxílio à
gestão de cinemas. Para além da complexa realização deste programa, que nos ajudou a
consolidar e a aprofundar o nosso conhecimento sobre a unidade curricular de IPROG,
também vivenciamos novas experiências sobre o trabalho em equipa, onde encaramos
diversas dificuldades, muitas delas fruto dos tempos excecionais de distanciamento que
vivemos. Desde fatores mentais a problemas técnicos, sentimos a necessidade de nos
adaptar a esta nova realidade de teletrabalho.

A principal dificuldade em termos de aspetos mentais foi, sem dúvida, a


desmotivação, que na nossa opinião foi ultrapassada devido à união do grupo e à liderança
partilhada entre todos. Porém, outros fatores também atravessaram o nosso caminho tais
como a ansiedade, o stress e o medo generalizado.

Contudo, tivemos o infortúnio de encarar problemas a um nível mais técnico, tendo


assim problemas desde a realização do programa até transtornos na comunicação entre o
grupo. O principal contratempo foi, de facto, a impossibilidade de partilha de trabalho.
Numa primeira fase apostamos em enviar o código escrito para o membro detentor do
documento, mas isto revelou-se pouco prático, principalmente a longo-prazo.
Consequentemente, ponderamos partilhar um novo documento alterado sempre que um
membro do grupo tivesse modificado algo, mas este método também se revelou confuso.
Por fim, adotámos o método de partilha de documento, onde foi possível o trabalho em
conjunto dos três elementos em apenas um ficheiro. Apesar de termos adotado este
método, devido a ser a melhor opção e ter sido recomendado pelo docente, este
apresentou alguns problemas tais como a demora ao guardar informação, impossibilidade
de dois membros trabalharem no programador simultaneamente, dados perdidos quando
eram efetuadas alterações em simultâneo, quando principalmente um dos membros
estivesse no programador, VBA.

Junho 2020 1
Apesar destas dificuldades, visamos o objetivo final que era programar uma
aplicação auxiliar à gestão de cinemas. Numa fase inicial, o grupo organizou as principais
ideias de quais seriam as funções principais deste programa. Assim, delineamos um
diagrama de Gantt com prazos estipulados para cada função distinta, o que permitiu um
melhor controlo do progresso do trabalho.

Com o planeamento concluído, demos início à concretização do programa,


começando por adicionar dados fulcrais no que toca a cinemas, tais como filmes, sessões,
centros comerciais, funcionários e muitos outros. Porém, como a principal função da
aplicação é auxiliar a gestão de vários cinemas, introduzimos as opções de adicionar e
remover informação das bases de dados já definidas. Desta forma, programamos também
a opção de visualizar dados já existentes. Contudo, estas opções de edição de dados
aplicam-se a todos os dados fulcrais referidos anteriormente e assim, organizamos por
temas, sendo este método de organização mais objetivo e acessível para o utilizador do
programa. Para finalizar, dedicamos também uma parte do programa à análise dos dados
existentes para o utilizador, como por exemplo, qual o centro comercial com mais
funcionários ou qual o funcionário com mais horas de trabalho.

Em suma, o processo da realização desta aplicação não foi o mais fácil devido às
constantes advertências e à complexidade das mesmas, mas o grupo sente que beneficiou
com a realização do mesmo, visto que este abrangeu os nossos conhecimentos sobre a
unidade curricular e melhorou as nossas práticas em equipa.

Junho 2020 2
2. Enquadramento Teórico

Para a elaboração deste trabalho utilizamos a aplicação da Microsoft Excel. Esta


plataforma serviu para a construção da nossa base de dados que posteriormente foi
utilizada para a programação e para que toda a aplicação funcionasse de forma eficiente.
Através do link abaixo teremos uma ideia global de como o Excel funciona e quais as suas
principais funcionalidades:
-OpenOregon. “Overview of Microsoft Excel”. Acedido em 06/06/2020 e disponível em:
https://openoregon.pressbooks.pub/beginningexcel/chapter/1-1-overview-of-microsoft-excel/

Para além da ferramenta genérica do Excel utilizamos uma mais específica


denominada de Visual Basics For Applications que está associada ao separador
“Programador” do Excel. Com esta ferramenta foi possível a execução da programação de
toda a aplicação e, para além disso, de a tornar visível para o utilizador. Através do link
abaixo conseguimos ter uma ideia genérica das funcionalidades desta ferramenta:
-Microsoft Docs. “Microsoft Graph Visual Basic Reference Overview”. Acedido a 05/06/2020
e disponível em:
https://docs.microsoft.com/pt-pt/previous-versions/office/developer/office-2010/ff835247(v=office.14)

De forma a tornar a nossa aplicação mais realista percebemos que necessitávamos


de um logotipo e, desta forma, utilizamos uma aplicação de edição de imagens vetoriais de
nome Illustrator CC 2019. Assim, para além de a tornarmos mais realista, esta aplicação
ainda apresenta uma componente mais dinâmica e ilustrativa. Através do link abaixo é
possível perceber como esta aplicação funciona através de alguns vídeos tutoriais e de
imagens ilustrativas.
-Adobe Blog. “Introducing Illustrator CC 2019” Acedido a 05/06/2020 e disponível em:
https://theblog.adobe.com/illustrator-cc-2019-release-blog/

Por fim, e não menos importante, salientamos uma importante ferramenta de


gestão software GanttProject que serve para elaborar de forma eficiente o planeamento de
todo este trabalho. Posto isto, delegamos funções por todos os membros do grupo e ainda

Junho 2020 3
pudemos ter uma ideia temporal e calórica da quantidade de foco que devíamos executar
numa determinada tarefa.
-GanttProject. Acedido a 05/06/2020 e disponível em: https://www.ganttproject.biz/

3. Planeamento do Projeto e Trabalho em Equipa

De facto, o planeamento do projeto revelou-se essencial em fases mais avançadas


do mesmo, de forma ao grupo não perder o rumo do que foi delineado inicialmente. Antes
de iniciar o projeto em si, o grupo investiu algum tempo na construção de um diagrama de
Gantt, onde conjugou dois dos fatores essenciais para a finalização do projeto: objetivos a
concretizar e controlo do tempo.
Desta forma, o grupo optou por estabelecer inicialmente o tempo proposto para
cada grande grupo de atividades e, só após isso, estabeleceu cada atividade específica.
Assim, o diagrama foi dividido em nove grandes grupos: Leitura e análise do enunciado,
definição de ideias base, distribuição de tarefas de programação, programação, reunião
ponto de situação global, elaboração do relatório, apresentação oral. De seguida o grupo
estabeleceu quais funções específicas da aplicação.
A posteriori à realização do trabalho, o grupo sentiu que o desvio do planeamento
inicial foi mínimo, sendo que as únicas inconformidades com o mesmo foram apenas de
datas na realização do programa (Atividade Programação), onde algumas atividades foram
realizadas em menos tempo do que o previsto, e outras em mais, sendo que a ordem das
mesmas também sofreu alterações. Fora isto, a equipa sentiu a necessidade de realizar
acabamentos finais, quer de estética, quer de verificação da total funcionalidade do
programa.

Junho 2020 4
Figura 1- Primeira versão do diagrama de Gantt

Figura 2- Segunda versão do diagrama de Gantt

Contudo, o planeamento seria insignificante sem um bom trabalho de equipa. No


geral, a equipa acredita que colaborou de forma eficiente, apesar das dificuldades
recorrentes, que foram ultrapassadas pela boa gestão emocional e cronológica do grupo.
Neste projeto, uma boa gestão cronológica revelou-se essencial, principalmente na reta
final, devido ao problema da incapacidade de trabalho simultâneo no documento
partilhado. Assim, o grupo sentiu a necessidade de adaptar horários nas suas rotinas de
modo a maximizar o trabalho diário.
Embora, como foi explicito anteriormente, as dificuldades técnicas não foram as
únicas recorrentes. Deste modo, o grupo percebeu que gerir de forma emocional ia ser
crucial de forma a visar problemas como a desmotivação, ansiedade e o stress. De facto, a
nível individual, a equipa concorda que os restantes membros contribuíram para a boa
colaboração e trabalho eficaz, interligado com uma relação saudável no grupo.
Em suma, a equipa sente que colaborou de forma muito boa, tendo contribuído para
um encaro das dificuldades exímio, o que levou também a um desvio pouco significante do
planeamento inicial.

Junho 2020 5
4. Programa Desenvolvido

Após a leitura e interpretação do enunciado, o grupo decidiu criar uma interface


simples e bastante intuitiva para facilitar e melhorar a experiência do utilizador.

Figura 3- Login

Para isto, se a introdução de um utilizador e da palavra passe corresponderem


corretamente, na folha “Login”, é iniciado um formulário (Userform ou form) denominado
“Menu”. A palavra passe encontra-se protegida, sendo todos os caracteres visíveis como
“*”. Ao clicar no CommandButton “Ver”, estes transformam-se no código introduzido.

Figura 4- Userform Menu

Junho 2020 6
O Menu apresenta ao utilizador as várias áreas que o programa abrange, desde
alterar as opções de login (Utilizadores), a fazer a gestão de informação (Centros
Comerciais, Filmes, Sessões, Funcionários, Preçário) e até a estatística de alguns dados
numéricos (Estatística). Também oferece a opção de voltar ao login (Fechar).

Figura 5- Userform Principal

De forma a manter a aplicação desenvolvida consistente, todos os formulários


foram feitos usando uma estrutura semelhante, assim como apresentando as mesmas
funções. Apesar de pequenas variações no tipo de informação, os forms “Funcionários”,
“Centros Comerciais”, “Utilizadores” e “Filmes” são idênticos.
Para explicar o funcionamento destes forms, usando como exemplo o form
Funcionários, este apresenta numa página inicial uma Listbox com o nome de todos os
funcionários e, após ser escolhido um dos elementos dessa Listbox, todas as Textbox com a
informação do mesmo são preenchidas de forma automática. Após isto, se desejado, outro
elemento da mesma Listbox pode ser escolhido e instantaneamente as informações serão
alteradas. No canto inferior esquerdo deste tipo de forms estão presentes 3
CommandButton com as funcionalidades de adicionar um novo funcionário, editar as
informações do mesmo e remover todas as informações deste, respetivamente. Do lado
oposto do form encontra-se o CommandButton “Voltar”, que regressa ao form anterior,
neste caso o Menu.

Junho 2020 7
Figura 6- Userform Adicionar

Ao clicar no CommandButton “Adicionar” este abre um novo formulário com


inúmeras Textbox por preencher, cada uma com uma Label para informar o utilizador sobre
os dados que é suposto introduzir nestes campos. Dados como o NIF e o número de telefone
estão sujeitos a uma validação de dados. Esta abre uma Inputbox caso o número introduzido
não tenha nove algarismos e continua a validar enquanto o novo número não satisfaça as
condições ou a opção “Cancelar” não seja selecionada. Em informações como Sexo, Centro
Comercial e Funções, a informação pode ser introduzida usando uma Combobox, que revela
as várias opções com as quais o campo pode ser preenchido.
As alterações só são gravadas após ser pressionado o CommandButton “Guardar
Alterações” e todos os campos estarem devidamente preenchidos. Caso contrário uma
Msgbox irá aparecer com a mensagem “Não pode guardar alterações com campos vazios”.
A qualquer momento durante preenchimento das informações deste form é
possível fechar a janela utilizando CommandButton “Cancelar”. As alterações não serão
guardadas.

Junho 2020 8
Figura 7- Userform Editar

No form “Editar Funcionário” o utilizador é apresentado com uma Listbox,


preenchida com todos os funcionários introduzidos no sistema, e deve selecionar o nome
daquele cujo pretende editar. Após um ser selecionado, os campos são preenchidos com as
informações deste e o utilizador pode escrever nas Textbox que pretende modificar,
alterando os dados.
Uma validação será novamente feita para o NIF e para o número de telefone e os
campos associados a uma ComboBox só podem ser preenchidos com os valores das
mesmas. As alterações serão gravadas após um clique no CommandButton “Gravar
Alterações”, após todos os campos estarem devidamente preenchidos.

Figura 8- Userform Remover

Junho 2020 9
Por fim, temos o form que remove todas informações de um funcionário,
removendo-o da base de dados. Este apresenta ao utilizador uma Listbox com todos os
nomes dos funcionários existentes e para ser removido deve ser selecionado e
posteriormente assinalado o CheckButton “Tem a certeza?” como verdadeiro e por fim
acionado o CommandButton “Guardar Alterações” para concluir a ação. É possível a cada
momento cancelar, através do CommandButton “Cancelar”.

A análise e tratamento dos dados das sessões obrigou a uma nova aproximação e a
repensar o método de introdução da informação na base de dados, assim como a remoção
das mesmos.

Figura 9- Userform Principal Sessões

No programa as sessões estão divididas por mês, por dia da semana e por filme.
Dentro de cada mês podemos ter os horários das sessões de segunda a sexta, sábado e
domingos e feriados. Cada um destes períodos tem espaço para 11 filmes e cada filme tem
espaço para 11 sessões.
Ao selecionar um mês de Janeiro a Dezembro na ComboBox “Mês” e um período da
semana (segunda a sexta, sábado, domingo e feriados) na ComboBox “Período da Semana”
e de seguida clicar no CommandButton “Aplicar”, a Listbox “Filmes” é preenchida com os
filmes que têm sessão para esse mês e para esse dia da semana. Ao escolher um dos filmes

Junho 2020 10
a Listbox “Sessões” fica preenchida com as várias sessões que esse filme tem, no período
de tempo escolhido anteriormente. As TextBox que se encontram no form vão atualizando
fornecendo informações sobre as sessões escolhidas. Clicar no CommandButton “Voltar”
leva o utilizador ao form anterior, enquanto que o “Adicionar” e o “Remover” abrem novos
forms para facilitar estas ações.

Figura 10- Userform Adicionar Sessões

O form Adicionar Sessão é um pouco diferente dos anteriores. Na ComboBox “Filme”


devemos selecionar o filme ao qual queremos adicionar uma nova sessão e depois na
ComboBox “Mês” e “Período da Semana” o período ao qual queremos adicionar essa
sessão. Ao ativar o CommandButton “Aplicar” a Listbox “Sessões já existentes” irá ser
preenchida com as sessões que esse filme já tem no período de tempo já escolhido.
A ComboBox “Horário da nova sessão” disponibiliza todos os horários disponíveis
para o início de uma nova sessão. Começam as 10:30 e, com um espaçamento de 10 min,
perlongam-se até à 01:00. Se todos os requisitos estiverem preenchidos e se o utilizador
pressionar o CommandButton “Guardar Alterações”, a sessão será adicionada à lista de
sessões e ordenada automaticamente.

Junho 2020 11
Alguns aspetos a ter em conta, relativamente a adicionar sessões:
-É possível adicionar sessões, para um determinado período de tempo, a um filme
que não conste da lista de filmes para esse mesmo período, apenas se existir o espaço
necessário. Caso contrário irá aparecer uma MsgBox com a mensagem “Não existem salas
suficientes para adicionar um novo filme”.
-Se o utilizador tentar adicionar uma nova sessão a um filme que já tenha o número
máximo de sessões surgirá uma MsgBox com a mensagem “Este filme tem o limite máximo
de sessões permitidas.”. Para adicionar a pretendida é necessário remover outra.

Figura 11- Userform Remover Sessões

O form para a remoção de sessões da base de dados é relativamente semelhante ao


adicionar. Na ComboBox “Filme para remover sessões” o utilizador deve escolher o filme ao
qual pretende remover sessões e nas ComboBox “Mês” e “Período da semana” para
quando. Ao clicar no CommandButton “Aplicar”, a Listbox “Sessões” irá revelar as sessões
que esse filme tem para o período escolhido. Ao selecionar um destes valores, ele será
transportado para a Textbox “Sessões a Remover”. Se o CheckButton estiver assinalado e o
CommandButton “Eliminar” for pressionado, a sessão será removida da lista e esta
reorganizada de forma a manter a ordem cronológica das sessões. Esta ação pode ser
repetida até não existir nenhum valor na lista. Carregar no CommandButton “Cancelar” irá
levar o utilizador ao form anterior.

Junho 2020 12
O programa permite também a distinção de cinemas entre UCI e NOS, dividindo os
preçários dos dois tipos de cinemas.

Figura 12- Userform Menu Preçário

Ao clicar no CommandButton “NOS” o preçário dos cinemas NOS será aberto. Ao


clicar no CommandButton “UCI” o preçário dos cinemas UCI será aberto. Ao clicar no
CommandButton “Voltar” o utilizador voltará ao form Menu.

Figura 13- Userform Principal Preçário

De forma semelhante aos forms previamente apresentados, e usando o form do


preçário da NOS como exemplo, este apresenta uma Listbox com os vários produtos
disponíveis. Ao selecionar um deles as Textbox serão preenchidas com as informações do
mesmo. No canto inferior direito o utilizador pode encontrar três CommandButton com o

Junho 2020 13
propósito de adicionar, editar e remover produtos. No canto inferior direito o
CommandButton “Voltar” que leva o utilizador ao form Menu Preçário.

Figura 14- Userform Adicionar Produto

O CommandButton “Adicionar” do form Preçário NOS inicia o form acima


apresentado. Este é bastante semelhante ao previamente explicado, mas adiciona um
Frame com dois OptionButton. Caso o OptionButton “Tem Promoção” seja selecionado, o
valor que se encontra na Textbox “% do desconto” será guardado. Se estiver selecionado
“Não tem promoção”, é indiferente o valor que se encontre na Textbox referida porque este
não irá ser guardado. O CommandButton “Guardar Alterações” irá guardar os dados se
estiverem corretamente preenchidos e o “Cancelar” irá retornar ao campo anterior,
eliminado o progresso.

Junho 2020 14
Figura 15- Userform Editar Produto

Para editar é semelhante ao explicado anteriormente. É possível adicionar desconto


a um produto que não o tivesse, assim como caso contrário. É também possível editar o
nome do produto, assim como alterar a percentagem do desconto e o preço do mesmo.
A remoção de um produto decorre de forma semelhante ao explicado
anteriormente.

Junho 2020 15
A última área que o programa abrange é a análise estatística de alguns dos dados
numéricos inseridos pelo utilizador, de forma a facilitar a gestão de centros comerciais, de
filmes, de funcionários e de produtos.

Figura 16- Userform Menu Estatística

Ao clicar no CommandButton “Estatística” no form Menu, o form Menu Estatística é


aberto. Cada um dos CommandButton acima apresentados levam o utilizador para áreas
diferentes da análise estatística.

Figura 17- Userform Principal Estatística

Junho 2020 16
A Listbox “Selecione o tipo de dado que pretende procurar:” apresenta ao utilizador
os tipos de dados que estão disponíveis à análise estatística, dentro de um determinado
form. A Listbox “Sendo:” apresenta as várias comparações que podem ser feitas e, após ser
pressionado o CommandButton “Procurar”, a seguinte informação será revelada:
-Maior ou Menor: irá surgir uma Msgbox apresentando, neste caso, o Centro
Comercial cujo valor do item procurado é maior/menor;
-Igual a: irá surgir uma Inputbox com os valores existentes na base de dados e o
utilizador deverá introduzir aquele que procura. Após isto, irá aparecer uma Msgbox com o
ou os vários Centros Comerciais onde este valor se verifica;
-Maior que ou Menor que: irá surgir uma Inputbox onde o utilizador deverá
introduzir um valor. Após confirmar, irá aparecer uma Msgbox com todos os Centros
Comerciais, neste caso, cujo valor do dado é maior/menor ao introduzido.

Neste caso em específico, form Estatística dos Centros Comerciais, existe o dado
“Tipo de Cinema”. Após este ser selecionado e o utilizador executar a ação de procurar, um
menu com as opções NOS, UCI e Voltar irá abrir. Dependendo do tipo de cinema
selecionado, o programa irá mostrar uma Msgbox com uma lista de todos os cinemas que
fazem parte desta categoria.

Junho 2020 17
5. Apresentação dos Resultados

A aplicação desenvolvida é consistente e bastante prática, no ponto de vista do


utilizador. A interface simples e intuitiva faz com que o este não se perca a gerir no meio de
tanta informação. Para além disto, o facto de existir um login inicial torna toda esta
aplicação mais segura e, o logotipo inicial, dá uma melhoria no aspeto visual bastante
significativa. Um outro ponto forte da Cinema Manager é o facto de existir estatística.
Através desta funcionalidade, o gestor tem toda a sua função mais facilitada, uma vez que
consegue comparar qualquer parâmetro existente na base de dados como número de salas,
vencimento de funcionários, etc. e, uma vez selecionado esse parâmetro, compará-lo
através de elementos de comparação como maior, menor, igual, maior que ou menor que.
Relativamente a termos mais ligados à programação, o grupo programou os
diferentes Userform e toda aplicação de forma eficiente e de maneira a que não existissem
erros (debugs) ou falhas, como por exemplo guardar as alterações sem que se tenha escrito
nada nas Textbox. Desta forma, o gestor sente-se mais confortável na utilização da
aplicação, uma vez que, para executar alguma função da aplicação isto só será possível se
todos os campos estiverem devidamente preenchidos. Acrescentando à aplicação, na zona
das sessões, esta ainda apresenta uma ordenação automática quando se adiciona uma
nova. Posto isto, o gestor terá uma noção temporal de todas as sessões ordenadas de um
certo dia, facilitando em muito o seu trabalho. Ainda na parte das sessões, o facto de a
aplicação poder geri-las mensalmente e de 3 diferentes formas (segunda a sexta, sábados
e domingos e feriados) aumenta em muito o poder de gestão do utilizador. Facilmente
poderá articular qualquer sessão em qualquer dia do ano e assim gerir de uma forma
eficiente.
Como em qualquer aplicação nem tudo é perfeito, esta apresenta algumas
pequenas falhas. A primeira, e mais relevante, está relacionada com o tempo de sessão de
um filme. O facto de se adicionar uma nova sessão sem se ter em conta o tempo desse filme
mais o tempo de limpeza dessa sala, faz com que esta funcionalidade esteja incompleta.
Para além disso, e ainda na zona das sessões, não existe uma associação das sessões de um
certo filme a uma sala de um determinado centro comercial. Apenas existem sessões

Junho 2020 18
associadas a um filme e um centro comercial com um certo número de salas. Finalizando, e
ainda nas sessões, se eliminarmos um filme na zona de filmes esta “informação” não é
atualizada na folha das sessões fazendo com que um filme eliminado recentemente ainda
esteja nas sessões de uma determinada época do ano.
Concluindo, nesta aplicação salientam-se aspetos como simplicidade, interação com
o utilizador e automatização, facilitando o mais possível o trabalho de gerir cinemas. Por
outro lado, como o tempo para a programação da mesma não foi o ideal, aspetos como a
associação de diferentes conteúdos, como filmes e sessões, ficaram incompletos, mas ainda
assim funcionais. Aspetos que podem ser melhorados numa atualização futura.

5.1. Discussão dos Resultados

Apesar de estarmos satisfeitos com o resultado do programa no geral, o grupo sente


que há alguns aspetos que poderiam ter sido melhorados e que, sem dúvida alguma, seriam
repensados se o projeto voltasse a uma fase inicial.
O primeiro problema que foi bastante prejudicial para o grupo foi a organização das
sessões. A equipa procurou a validação das sessões de forma a que uma sessão só pudesse
ser adicionada se esta não coincidisse com a seguinte, ou seja, só quando o tempo da
duração de filme somado ao tempo da limpeza da sala tivesse ocorrido na sua totalidade.
Porém, esta funcionalidade revelou-se muito mais complexa do que o previsto e, ao
contrário de todas as restantes funções, decidimos deixar este problema de parte até a uma
fase mais final. Após várias tentativas o grupo decidiu unanimemente que esta
funcionalidade seria removida.
Outra funcionalidade que o grupo idealizou incorporar foi a edição de gráficos na
parte da estatística, de modo a tornar a leitura dos dados mais apelativa. Sabíamos que
incorporar este aspeto no nosso programa não seria fácil e que iria ser necessária muita
pesquisa sobre o tema. Contudo, após uma pesquisa inconclusiva, o grupo decidiu
abandonar esta ideia devido à falta de informação disponível na internet.
Por fim, o grupo ponderou adicionar à secção da estatística a hipótese de procurar
dados através de palavras, tais como atores em filmes, nomes de funcionários e cidade do

Junho 2020 19
centro comercial, por exemplo. Contudo, o grupo achou esta hipótese de concretização
improvável devido à falta de tempo, preferindo assim focar nas funções mais essenciais do
programa.

6. Conclusão

Em suma, o grupo sentiu que, efetivamente, este projeto melhorou e diversificou os


nossos conhecimentos da unidade curricular de Introdução à Programação e aprimorou o
nosso trabalho em equipa, duas capacidades que podem vir a ser cruciais num futuro
contexto laboral.
Desde o planeamento até aos acabamentos finais do programa, o grupo mostrou-
se coeso e com uma boa capacidade de comunicação e trabalho em conjunto, tendo sido
essa a chave para o sucesso deste trabalho.
Como em qualquer elaboração de um trabalho, imprevistos e problemas ocorrem,
e este não foi exceção. Em primeiro lugar, e um dos problemas que o grupo teve de lidar
constantemente, foi a gestão do tempo e do foco em cada tarefa. O facto de não termos
conhecimentos prévios e necessários para a elaboração imediata do trabalho, fez com que
a inicialização da elaboração da aplicação fosse adiada e, consequentemente, também
todas as tarefas prioritárias (caminho crítico). Desta forma, teve de existir um esforço a
nível de gestão de tempo de forma a cumprir todos os prazos estipulados.
Passando para a aplicação em si, adotou-se uma interface simples, mas intuitiva de
maneira a facilitar a utilização da mesma e o modo como o utilizador é capaz de gerir
cinemas. Qualquer aspeto relacionado com os cinemas está presente nesta aplicação,
desde os centros comerciais e as suas respetivas cidades até ao preço de um pequeno
produto com uma determinada promoção.
Salientamos funcionalidades muito favoráveis nesta aplicação: a zona da estatística,
que é capaz de comparar os parâmetros que o utilizador determina e, assim, ter uma noção
mais objetiva dos valores pretendidos. Para além disso, a automatização da ordenação das

Junho 2020 20
sessões por ordem cronológica e o preenchimento obrigatório de qualquer campo vazio faz
com que esta aplicação execute de uma forma bastante eficiente. Contudo, também
apresenta algumas pequenas falhas, como o facto de não ter em conta a duração de um
filme mais o tempo de limpeza ou a associação de parâmetros como filmes e sessões.
Por fim, destacamos que, através da elaboração desta aplicação, o grupo criou uma
forte ligação emocional, melhorou em aspetos como o trabalho em equipa, gestão de
tempo e a toma de decisões não programadas e, para além disso, aplicou a maioria dos
conceitos lecionados na unidade curricular de Introdução à Programação.

Junho 2020 21

Você também pode gostar