Departamento de Informática
Conference For You
C4U v. 0.13
Projecto Integrador – 2012/2013
Licenciatura em Engenharia Informática
Preparado por:
João Regateiro nº 28994
Miguel Silva nº 28508
Ricardo Monteiro nº 28734
Orientador: Professor Fernando Birra
Última modificação: 27 de Junho de 2013 Versão: 0.13
2
Agradecimentos
O primeiro agradecimento é dirigido a todos os docentes da cadeira de Projecto Integrador neste ano lectivo de 2012/2013, pois foi graças a eles que foi possível criar esta aplicação. Foram eles que lançaram o desafio, sempre à espera do melhor de cada um dos grupos que constituíram esta (última) edição de PI. Aos professores Fernando Birra, João Moura Pires, João Lourenço, Adriano Lopes e Ana Moreira, consultora desta edição, um grande bem-haja! Foi graças à equipa docente que foi possível melhorar a aplicação, desde o início até à sua versão final, devido às críticas sempre construtivas que permitiram ter uma visão diferente relativamente a um problema ou ideia de implementação.
De seguida, agradecer aos colegas da cadeira que esclareceram dúvidas e ajudaram a resolver alguns problemas que apareceram ao longo da implementação desta aplicação, em especial ao Grupo 14. De igual modo, um agradecimento a alguns alunos da passada edição de Projecto Integrador que não só auxiliaram com algumas (e sábias) sugestões, como tiveram a paciência para nos ouvir, muitas vezes, coisas sem grande sentido. Assim, António Silva, Fábio Soares, Fernando Branco, João Rato, estamos (quase) eternamente gratos!
Por fim, mas de modo algum menos importante, um agradecimento especial ao professor Fernando Birra, nosso orientador, pois ouviu algumas ideias não muito inteligentes, aconselhou e indicou caminhos alternativos àqueles que estavam a ser seguidos, nem sempre os melhores.
3
Índice
Histórico de versões ... 5
Lista de acrónimos ... 5
1. Introdução ... 6
2. Apresentação Geral do Sistema ... 7
2.1. Contexto ... 7 2.2. Descrição do problema ... 8 2.3. Proposta de solução ... 9 2.4. Restrições gerais ... 12 2.5. Pressupostos e dependências ... 13 3. Modelo de domínio ... 14 3.1. Dicionário de termos ... 14 3.2. Diagrama de classes ... 15
4. Arquitectura e Desenho do sistema ... 16
4.1. Arquitectura ... 16
4.2. Modelo de dados ... 20
5. Desenho e Interface ... 21
5.1. Filosofia Geral e Modalidades de Interacção ... 21
5.2. Aspectos Gerais da Interface Gráfica ... 22
5.3. Destaques ... 27
6. NFRs e Validação ... 33
6.1. NFRs ... 33
6.2. Testes ... 34
4
Índice de Figuras
Ilustração 1: Diagrama de blocos dos componentes principais do sistema. ... 10
Ilustração 2: Diagrama de classes da aplicação. ... 15
Ilustração 3: Diagrama de componentes do lado do cliente. ... 17
Ilustração 4: Diagrama de componentes do lado do servidor. ... 18
Ilustração 5: Diagrama de componentes do sistema completo. ... 19
Ilustração 6: Modelo de dados do sistema. ... 20
Ilustração 7: Barra de notificações no cimo e barra de horas no fundo. ... 21
Ilustração 8: Ecrã inicial de login na aplicação. ... 22
Ilustração 9: Ecrã da aplicação após o login. ... 23
Ilustração 10: Ecrã de registo na aplicação. ... 23
Ilustração 11: Lista com as conferências que podem ser adicionadas à aplicação. ... 24
Ilustração 12: Ecrã correspondente ao menu "Conference Manager". ... 25
Ilustração 13: Barra de menus que contém os menus principais. ... 26
Ilustração 14: Informação rápida acedida através de um bloco na agenda. ... 27
Ilustração 15: Ecrã que apresenta a informação completa de um evento. ... 28
Ilustração 16: Evento seleccionado. ... 29
Ilustração 178: Edição de uma nota. ... 30
Ilustração 18: Ecrã com inicial do menu "Notes". ... 30
Ilustração 19: Botão de eliminação de uma nota... 31
5
Histórico de versões
Versão Data Autor(es) Detalhes/Descrição
0.1 21-03-2013 28508;28734;28994 Startup do Projeto.
0.2 29-03-2013 28508;28734;28994 Adição de novas funcionalidades.
0.3 30-04-2013 28508;28734;28994 Arquitectura e Interface.
0.4 5-05-2013 28508;28734;28994 Melhoramentos no servidor e criação de
notas.
0.5 a 0.9 7-05-2013 a
31-5-2013 28508;28734;28994
Vários componentes novos, desde melhoramentos nas notas, agenda e na base de dados.
0.10 1-06-2013 28508;28734;28994 Criação do pacote final para download da
conferência.
0.11 10-06-2013 28508;28734;28994 Leitura dos dados da base de dados e
escrita de alguns na aplicação.
0.12 16-06-2013 28508;28734;28994 Melhoramentos na agenda, com a
inserção dos horários no calendário.
0.13 27-06-2013 28508;28734;28994
Versão actual, com selecção de eventos a assistir, feedback ao clicar num bloco na agenda e também melhoramentos no servidor.
Lista de acrónimos
C4U – Conference For You6
1. Introdução
Neste capítulo introdutório será abordado o contexto académico do relatório, o contexto tecnológico e científico do projecto, qual o objectivo do sistema criado e a estrutura do presente relatório.
Este documento tem como objectivo principal explicar o projecto desenvolvido no âmbito da cadeira de Projecto Integrador 2012/2013, na sua versão final, e mostrar os desenvolvimentos feitos ao longo do semestre, desde o protótipo inicial até à presente versão funcional.
O sistema criado tem como principal funcionalidade a gestão de eventos, nomeadamente sessões, tutoriais e workshops de uma conferência, embora esta aplicação possa ser utilizada em várias conferências das diferentes áreas científicas. Esta funcionalidade passa pala utilização de uma agenda inteligente, que permite a gestão dos diferentes eventos, e a utilização de alarmes e notificações que permitem avisar o utilizador da aplicação do início de um dos referidos eventos, assim como de eventuais atrasos ou de alterações de horários. Mais, esta aplicação permite ainda que o seu utilizador saiba de notícias relacionadas com a conferência actual, acessíveis através do menu da agenda. Tudo isto com o objectivo de o utilizador poder gerir o seu tempo disponível da melhor forma.
Relativamente à estrutura do presente documento, este está organizado em seis subcapítulos que mostram uma visão geral do projecto e a descrição do problema inicialmente colocado. Seguem-se a apresentação da proposta de solução criada, as restrições e os pressupostos e dependências. O modelo de domínio, que inclui o dicionário de termos e o diagrama de classes, é apresentado no capítulo seguinte, assim como a arquitectura e desenho do sistema, estes também num capítulo novo. No penúltimo capítulo é apresentado o desenho e a interface da aplicação criada, e no último, os requisitos não funcionais (NFRs) e as validações feitas ao longo do desenvolvimento do sistema.
7
2. Apresentação Geral do Sistema
Aqui é apresentada a visão geral deste sistema, nomeadamente o contexto, a descrição do problema inicialmente apresentado, a proposta de solução criada, as restrições principais do sistema, e os pressupostos e dependências tomados ao longo do desenvolvimento do presente projecto.
2.1. Contexto
Este relatório foi elaborado no contexto da cadeira de Projecto Integrador, edição de 2012-2013 da Licenciatura em Engenharia Informática da Faculdade de Ciências e Tecnologias da Universidade Nova de Lisboa, cadeira anual do segundo semestre, valendo 21 créditos ECTS. A orientação pedagógica deste projecto esteve a cargo do Professor Fernando Birra, e a regência por parte do Professor João Moura Pires, ambos do Departamento de Informática.
Relativamente ao sistema desenvolvido, esta solução está destinada a ser utilizada no âmbito de conferências, independentemente da sua área científica. Uma conferência é um evento associado a uma dessas áreas, realizada num local e período de tempo definido. Em virtude de existirem bastantes conferências ao longo do ano, pode ocorrer o caso de as mesmas poderem coincidir, ou seja, decorrerem nos mesmos dias e/ou horas. Cada conferência pode ser constituída por três diferentes tipos de eventos: sessões, onde são apresentados trabalhos desenvolvidos num determinado tópico de uma determinada área científica, apresentações essas que estão agrupadas por blocos de, por norma, três trabalhos; tutoriais, que são eventos onde são mostrados como se aplicam algumas técnicas desenvolvidas ou criadas; e
workshops, que são sessões com um tema muito específico, podendo este ser igual ou
diferente ao da conferência que está a decorrer, ou uma simples reunião de trabalho ou uma pequena apresentação de trabalhos.
8
2.2. Descrição do problema
No âmbito de uma conferência, o participante necessita de gerir o seu tempo da melhor forma possível, para que possa assistir às sessões, tutoriais e/ou
workshops que pretende. A qualquer momento o participante pode querer saber
que sessões, papers ou mesmo que autores está interessado, assim como quais destes já decidiu assistir mas já não se recorda. De igual modo, este pode necessitar de visualizar um calendário com a semana na qual a conferência se insere, novamente para gestão do seu tempo disponível, e, nessa situação, teria de carregar consigo uma agenda e, além disso, teria de escrever ou assinalar esses mesmos dias, assim como os eventos (sessões, tutoriais ou workshops) os quais vai assistir.
Um outro problema que se coloca durante uma conferência é o facto de os participantes nunca saberem o momento em que uma sessão vai começar (no caso de ser a primeira do dia), ou quando vai recomeçar (por exemplo, após um coffee-
-break), assim como não ter acesso a pequenas notícias que vão sendo divulgadas
ao longo dos diferentes dias que compõem a conferência. Similarmente, ocorre não se saber que uma determinada sessão está atrasada 5 minutos ou que a sala foi alterada e, para resolver essas situações, a organização dessa conferência teria de avisar todos os participantes relativamente a essas alterações.
Uma outra situação ainda no momento de uma conferência é como obter informação durante uma conferência, por exemplo, um participante que queira saber se a sessão que pretende assistir a seguir já começou, visto que a actual encontra-se um pouco atrasada. Também poderá estar interessado em assistir a um determinado autor naquela sessão em paralelo, mas este ainda não apresentou o seu trabalho. Além disso, o participante pode querer adicionalmente ler o artigo que o autor está a apresentar para ter uma melhor compreensão sobre o tema. Outra funcionalidade relacionada com esta é a possibilidade de o participante poder obter informações do autor que está a apresentar o trabalho neste momento, assim como de um autor de um outro trabalho qualquer que tenha sido ou vá ainda ser apresentado.
9
2.3. Proposta de solução
Para os problemas acima mencionados, foram criadas algumas soluções para os resolver. De entre essas, a mais importante é a agenda, que permite a gestão dos dias que compõem a conferência. Esta funcionalidade mostra ao utilizador da aplicação os tipos de eventos, sessão, tutorial ou workshop, assim como as horas de início e de fim dos mesmos. É ainda mostrado no ecrã, ao lado do calendário, uma pequena área que, caso o utilizador clique num dos slots das horas que compõem o calendário que contenha algum dos eventos, é apresentada uma pequena informação desse mesmo evento, nomeadamente o nome, a sala onde decorre, o que está a acontecer no momento (funcionalidade esta que permite ao utilizador ter conhecimento em tempo real do estado de um outro evento), e ainda a possibilidade de escrever uma nota sobre esse mesmo evento, adicioná-lo aos eventos nos quais pretende participar (uma caixa de selecção que ao ser clicada adiciona o evento ou, no caso de já estar seleccionado, retira-o do calendário). Esta área de informação permite que seja deslizada para baixo, mostrando outros eventos que decorram à mesma hora daquele que foi seleccionado inicialmente. Uma outra funcionalidade desta área de informações são os feeds de notícias que, de um modo muito simplificado, é o local onde são mostradas algumas notícias da conferência (por exemplo, uma sessão que mudou o horário).
Existe ainda a possibilidade de, em carregando num botão presente nessa área de informação, a janela expandir para a totalidade do ecrã, mostrando assim as informações completas do evento em causa, nomeadamente as já apresentadas anteriormente e ainda a listagem dos trabalhos a serem apresentados nesse evento. É também permitido ao utilizador deslizar nessa mesma janela para baixo, de modo semelhante à área anterior, visualizando assim todos os eventos que decorrem no dia (e não apenas na mesma hora). É também possível deslizar lateralmente nessa mesma janela, o que faz com que se mude para um outro dia da conferência mas do mesmo tipo de evento, isso é, se o utilizador estiver a visualizar uma sessão e deslizar lateralmente, irá ver um outro dia mas somente de sessões. Para que possa ver outro tipo de evento e utilizar as mesmas funções, o utilizador terá de voltar ao calendário e seleccionar um evento de tipo diferente.
10 Uma outra funcionalidade foi criada para resolver o problema de o utilizador não conseguir ter conhecimento do momento de início ou retoma de um evento (após um
coffee-break, por exemplo). Assim, foram criados pequenos alarmes com o objectivo
de avisarem o utilizador da aplicação que determinado evento está prestes a começar ou recomeçar. De modo semelhante, para informar o utilizador de que um evento está atrasado ou que a sala onde se iria realizar foi alterada, foram criadas notificações para resolver essas situações (além de, como referido anteriormente, estas informações aparecerem na área de informação presente na janela de calendário da aplicação).
Foi ainda criada a possibilidade de o utilizador poder ler os artigos que serão apresentados, ou já foram, num determinado evento, assim como poder consultar informações biográficas dos autores desses mesmos trabalhos, informações essas recolhidas na internet. Quer na janela em que é apresentado o trabalho a ser apresentado, quer na que mostra as informações dos diferentes autores, é sempre possível escrever uma nota.
Por fim, embora já tenha sido referida, foi criada a funcionalidade de escrever notas em vários momentos da utilização da aplicação – área de informações no calendário, janela com a informação completa do evento, janela com o trabalho a ser apresentado e janela com as informações dos autores. Estas notas são compostas por um título e pelo corpo, ou seja, a nota em si. É ainda possível que as notas sejam partilhadas por email, em que o título e o corpo da nota são o assunto e o corpo do email, respectivamente.
11 Para a implementação das soluções foi necessário recorrer ao uso de linguagens de programação, tanto para o lado do cliente como para o do servidor. Assim, foi usado:
Ruby on Rails, uma framework utilizada para a implementação do servidor em Ruby. Esta linguagem segue o modelo Model-View-Controller (MVC), o que permite a disponibilização de uma API REST – Application Programming
Interface Representational State Transfer – do sistema.
Android, utilizada para a implementação da aplicação em si. Esta linguagem é composta pelas linguagens Java, para as acções e tomadas de decisões, e XML, para guardar e ler dados. Neste sistema foi utilizada a versão 4 deste sistema operativo.
SQLite, utilizada na criação, actualização, consulta e remoção de dados da base de dados da aplicação no dispositivo no qual está instalada.
12
2.4. Restrições gerais
Para que a aplicação funcione em plenitude, é necessário um dispositivo cujo sistema operativo seja Android e a versão do mesmo terá que ser igual ou superior à 4. Além disso, é requerida uma ligação à internet via wi-fi, dependente do local onde se realiza a conferência e da cobertura da rede nas diferentes salas.
13
2.5. Pressupostos e dependências
Para que o utilizador da aplicação possa consultar os trabalhos apresentados nos eventos da conferência, pressupõem-se que estes foram fornecidos para esse efeito, tanto por parte dos autores como da parte da organização da conferência.
14
3. Modelo de domínio
Neste capítulo são apresentados o dicionário de termos do domínio do projecto e o diagrama de classes do mesmo.
3.1. Dicionário de termos
Agenda – Lista organizada dos dias em que a conferência decorre, com possibilidade
de visualizar as sessões que decorrem num determinado dia. Também conhecida como calendário da aplicação.
Coffee-break – Momento de descanso entre actividades de uma conferência, onde
ocorrem muitos contactos entre participantes.
Conferência – Encontro formal entre pessoas para divulgar trabalhos de alguns
participantes (que neste caso também são autores) sobre um determinado tema, com o objectivo de mostrar os seus conhecimentos na área e, possivelmente, encontrar outros participantes que se interessem pelo mesmo tema de modo a poderem, por exemplo, trabalhar em conjunto.
Poster – Imagem consideravelmente grande que dispõe informação sobre um tema.
Keynote – Convidado especial numa conferência para falar sobre um tema.
Sessão – Conjunto de apresentações agrupadas em blocos (slots). Um conjunto de
sessões compõe um dia da conferência.
Trabalho – Investigação detalhada realizada, pelos autores, aceite numa conferência
que irá ser apresentado num dos diferentes tipos de eventos.
Tutorial – Evento em que é mostrado como se aplicam algumas técnicas.
Workshop – Uma sessão com um tema específico, podendo ser diferente ou igual ao
da conferência que está a decorrer, uma reunião de trabalho ou uma pequena apresentação de trabalhos.
15
3.2. Diagrama de classes
16
4. Arquitectura e Desenho do sistema
4.1. Arquitectura
Para a implementação na totalidade do sistema, foi necessário subdividi-lo em dois subsistemas, cliente e servidor, em que ambos comunicam entre si.
No lado do subsistema cliente, este é a aplicação em si, isto é, aquilo a que o utilizador tem acesso e com que interage. Por sua vez, do lado do subsistema servidor, é aqui que estão guardados todos os dados necessários à correcta execução da aplicação no seu todo – sessões, tutoriais e wokshops e os seus respectivos horários de início e fim, sala, trabalhos a serem apresentados e os autores dos mesmos.
Estes sistemas comunicam entre si pois o subsistema cliente requer dados que só o subsistema servidor pode fornecer. Em mais detalhe, o lado do cliente comunica com o lado do servidor no momento de arranque da aplicação – nomeadamente quando é feito o login –, quando é feito o download de uma conferência para a aplicação – em que é descarregado um pacote com todas as informações acima mencionadas – e ainda quando são actualizados as notícias em tempo real, sendo que é feito um pedido ao servidor em intervalos regulares de tempo.
De seguida são apresentados os diagramas de componentes do lado do cliente, do lado do servidor e a integração de ambos.
17 Ilustração 3: Diagrama de componentes do lado do cliente.
18 Ilustração 4: Diagrama de componentes do lado do servidor.
19 Ilustração 5: Diagrama de componentes do sistema completo.
20
4.2. Modelo de dados
21
5. Desenho e Interface
Ao longo do desenvolvimento deste projecto, muitas decisões de desenho foram tomadas, sempre com o objectivo principal de que este fosse o mais intuitivo e visualmente agradável para o utilizador. Uma vez que a aplicação foi feita para dispositivos Android, foi necessário respeitar algumas interfaces e seus estilos que são próprios desse sistema operativo.
5.1. Filosofia Geral e Modalidades de Interacção
Como já referido, foi necessário respeitar a filosofia de interfaces do sistema operativo Android, nomeadamente os seus layouts específicos, por exemplo, a barra de notificações no cimo do ecrã ou a barra do fundo que contém a seta para voltar atrás, entre outros, assim como estilos de botões e outras estruturas gráficas. Portanto, se o utilizador da aplicação já estiver familiarizado com o sistema Android, não terá dificuldade em se adaptar ao funcionamento não da aplicação em si mas do seu envolvente.
22
5.2. Aspectos Gerais da Interface Gráfica
Ao implementar a interface gráfica foi tida em consideração a usabilidade da mesma por parte dos seus utilizadores. Esta interface teve então que ser desenhada de modo a que qualquer que seja o utilizador, este consiga rápida e facilmente perceber o seu funcionamento. No ecrã inicial da aplicação é mostrada a janela de login (aparece sempre esta ao iniciar), com duas abas na parte superior, em que a do login está seleccionada e ao lado está a de registo, onde é pedida a inserção do email e da palavra-passe, e sua confirmação.
23 Ilustração 10: Ecrã de registo na aplicação.
24 No canto superior direito da ilustração anterior está um ícone com o símbolo “+” que permite a adição de novas conferências à aplicação. Ao ser clicado, é presentado um ecrã com uma barra de pesquisa para serem inseridos os acrónimos das conferências a adicionar. Nota: no âmbito deste projecto foram apenas inseridas as conferências RE 2012 (completa) e RE 2013 (apenas ilustrativa), pelo que ao invés da barra de pesquisa, é mostrada uma lista com as conferências.
Ao ser feito um clique longo numa das conferências (neste caso, como já referido, na RE 2012), é feito o download do pacote que compõe a conferência e é apresentado o ecrã correspondente ao menu “Conference Manager” já com o logotipo da conferência escolhida. A partir deste momento, todos os dados da conferência estão disponíveis na aplicação prontos a serem consultados pelo utilizador.
25 Numa visão mais geral da aplicação, foi criado um menu que está sempre acessível do lado esquerdo do ecrã através de um deslizar da esquerda para a direita, para que o menu apareça, e da direita para a esquerda para que o menu desapareça. Assim, permite-se o acesso rápido aos menus: “Conference Manager”, acima apresentado, que é onde estão as conferências actualmente instaladas na aplicação e permite a adição de novas; “Agenda”, onde se encontra o calendário com os eventos da conferência que está seleccionada como sendo a actual, e é aqui que é possível aceder a todas as informações de cada evento de um determinado dia, numa determinada hora; “Notes”, que permite o acesso a todas as notas inseridas no âmbito desta aplicação, assim como a inserção de novas, a sua partilha por email, a pesquisa entre notas e também a sua eliminação – através de um clique longo que faz com que o botão de eliminar surja no ecrã; e ainda o menu “Photos” que, no futuro, permitirá que sejam visualizadas as fotografias que os vários participantes tiraram e partilharam na conferência em causa, votar numa fotografia e permitir que o utilizador da aplicação tire uma fotografia no momento e a partilhe com os outros utilizadores. Ilustração 12: Ecrã correspondente ao menu "Conference Manager".
26 Ilustração 13: Barra de menus que contém os menus principais.
27
5.3. Destaques
Ao implementar a interface gráfica foi tida em consideração a usabilidade da mesma por parte dos seus utilizadores. Esta interface teve então que ser desenhada de modo a que qualquer que seja o utilizador, este consiga rápida e facilmente perceber o seu funcionamento. Foi também tido em consideração o número de cliques necessários para realizar determinada acção/tarefa na aplicação. Um dos exemplos para este requisito é o facto de ao clicar num slot da agenda que contenha pelo menos um evento, uma breve informação é apresentada ao lado (ver ilustração 14) e, assim, o utilizador não tem que clicar uma segunda vez ou executar uma outra acção para poder consultar o nome, hora de início e de fim, a sala e o que está a decorrer no momento do evento seleccionado, e ainda poder escrever uma nota. No caso de pretender informação mais detalhada, aí sim terá de clicar para que apareçam esses mesmos detalhes no ecrã completo (ver ilustração 15). Nota: Não foi possível completar em tempo útil a inserção dos dados mencionados no ecrã com as informações completas do evento.
28 Voltando à agenda, aqui foi utilizado um código de cores para indicar ao utilizador quando um evento está seleccionado ou não, assim como quando é seleccionado para ser adicionado à agenda personalizada, ficando com a cor verde. Além dessa cor de selecção, foi também criada uma cor de feedback, isto é, quando o utilizador clica num dos blocos com eventos, a barra que indica a sua existência é pintada de roxo indicando o último seleccionado, mudando à medida que se vão clicando noutros blocos, isto no caso da ilustração anterior.
29 Um outro destaque vai para o sistema de notas presente na aplicação. Acedido através do menu correspondente na barra lateral, é apresentado um ecrã com a listas das notas existentes, caso existam, uma barra de pesquisa e a possibilidade de criar uma nova nota, através do botão presente no canto superior direito (ilustração 17). Ao clicar numa das notas, é imediatamente mostrada a edição da mesma, para que se possa alterar a nota (ilustração 18). Novamente na lista de notas, se for feito um longo clique numa, aparece o botão de eliminação da mesma (ilustração 19).
30 Ilustração 18: Ecrã com inicial do menu "Notes".
31 No ecrã de edição de uma nota, no canto superior direito está presente um botão de partilha de notas, através de email. O assunto do email é o título da nota e o seu conteúdo é o corpo da nota.
32 Ilustração 20: Ecrã de opção de partilha por email.
33
6. NFRs e Validação
Neste capítulo serão abordados os requisitos não-funcionais (NFRs) satisfeitos, assim como os testes que foram efectuados durante o desenvolvimento do projecto, tanto para os NFRs como para a aplicação em si – interfaces, usabilidade, desempenho, multi-acesso e persistência.
6.1. NFRs
Os requisitos não-funcionais escolhidos – usabilidade, desempenho, multi-acesso e persistência – foram satisfeitos da melhor forma possível. Numa breve explicação sobre os NFRs, estes quatro foram escolhidos devido ao facto de a usabilidade ser extremamente importante pois a aplicação tem de permitir que qualquer utilizador consiga utilizá-la sem dificuldade, independentemente das suas capacidades; o
desempenho é também bastante importante pois a aplicação tem de desempenhar as
tarefas que lhe são pedidas tanto por parte do utilizador como por parte do servidor; uma vez que esta aplicação é para ser utilizada por vários participantes de uma conferência, é aqui que o requisito multi-acesso é utilizado pois a aplicação, embora mais focado na parte do servidor, tem que permitir vários utilizadores em simultâneo; e ainda a persistência, pois é através deste requisito que é possível garantir que os dados são preservados ao longo do tempo.
34
6.2. Testes
Ao longo do desenvolvimento do projecto foram realizados alguns testes com possíveis utilizadores da aplicação (neste caso, os professores da cadeira de Projecto Integrador), e outras pessoas que nunca tinham sido confrontadas com a aplicação. Em ambos os casos, foi pedida a realização de algumas acções como, por exemplo, a consulta de eventos no calendário e de informações relativas a esses mesmos eventos, assim como a criação, partilha e pesquisa de notas.
35
Referências
MOREIRA, Ana, Slides de apoio à cadeira de Arquitectura de Software, FCT-UNL, 2012/2013.
ARAÚJO, João, Slides de apoio à cadeira de Engenharia de Software, FCT-UNL, 2011/2012.
PIRES, João Moura, Slides de apoio à cadeira de Projecto Integrador, FCT-UNL, 2012/2013.