Sistema de Partilha de Informação Estudantil

74
INSTITUTO SUPERIOR DE CIÊNCIAS E TECNOLOGIA DE MOÇAMBIQUE Licenciatura em Engenharia Informática Relatório de Projecto de Licenciatura Sistema de Partilha de Informação Estudantil Felisberto António Manganhela Nº 132007244 Outubro, 2013

Transcript of Sistema de Partilha de Informação Estudantil

INSTITUTO SUPERIOR DE CIÊNCIAS E TECNOLOGIA DE MOÇAMBIQUE

Licenciatura em Engenharia Informática

Relatório de Projecto de Licenciatura

Sistema de Partilha de Informação Estudantil

Felisberto António Manganhela Nº 132007244

Outubro, 2013

INSTITUTO SUPERIOR DE CIÊNCIAS E TECNOLOGIA DE MOÇAMBIQUE

Licenciatura em Engenharia Informática

Relatório de Projecto de Licenciatura

Sistema de Partilha de Informação Estudantil

Supervisor: Dr. Vasco Ali Abudo

Discente: Felisberto António Manganhela Nº 132007244

Outubro, 2013

Dedico á Deus em primeiríssimo lugar e aos meus pais que contribuíram

incansavelmente para a realização deste sonho

DECLARAÇÃO DE HONRA

Eu, FELISBERTO ANTÓNIO MANGANHELA, declaro, por minha honra, que este

trabalho é resultado da minha própria investigação, sob orientação do meu supervisor, Dr.

Vasco Ali Abudo, e que não foi submetido a outro grau que não seja o de Licenciatura em

Engenharia Informática pelo Instituto Superior de Ciências e Tecnologia de Moçambique.

O Estudante,

__________________________________

O Supervisor,

___________________________________

Sistema de partilha de informação estudantil

Felisberto António Manganhela i

Agradecimentos

Em primeiro lugar agradecer a Deus por tudo quanto foi a minha caminhada ao longo

dos anos de faculdade, pela saúde e pela força que sempre tive para desafiar a escola que nem

sempre o sucesso se abria para o meu lado.

Um grande agradecimento vai para o Dr. Vasco Ali Abudo. A forma como orientou o

meu trabalho, as suas análises e as recomendações durante a elaboração do projecto

contribuíram para melhoria do mesmo.

Um especial agradecimento ao meu pai António Messaba Manganhela e minha mãe

Elisa Homwuana que contribuíram para a realização deste sonho.

Aos meus irmãos António Manganhela, David Manganhela, Celso Manganhela,

Cláudio Manganhela e Hélder Manganhela pela ajuda e incentivo.

A todos os meus colegas de faculdade e amigos, especialmente ao José Zanqueu,

Elton Tivane, Borgine Gurué e Edson Saete que me apoiaram nesta caminhada ao longo do

curso.

Por fim, gostaria de agradecer a todos que directa ou indirectamente contribuíram para

realização deste sonho.

Sistema de partilha de informação estudantil

Felisberto António Manganhela ii

Resumo

Durante muito tempo o homem sempre adquiriu formas diferentes de partilha ou troca

de informação, quer seja no seio familiar, no trabalho e até mesmo na comunidade estudantil

onde é notável o fluir da informação entre colegas de turma, de grupos, de mesmo e de

diferentes ano de escolaridade, de instituição de ensino diferentes, quem sabe e até de países

diferentes.

O sistema aqui proposto, vem responder a esta demanda na comunidade estudantil,

visto que, muitas vezes os estudantes sentem essa necessidade de partilhar a informação, e

olhando para aquilo que é a nossa realidade é possível perceber, mesmo com o avanço que se

verifica nas tecnologias de informação e comunicação que, são escassos os espaços

apropriados para isso.

Tendo em conta o objectivo geral deste trabalho, que é o desenvolvimento de um

sistema de estudos online no qual foi posto o nome de sistema de partilha de informação

estudantil que, irá permitir aos estudantes na partilha de conhecimentos e informações

académicas, é possível antever o quão valioso o sistema será e quão fácil será a troca de

informação entre estudantes. Como se sabe, vivemos uma era em que a internet substituiu

quase que todas as formas de correio tradicional, e, com o sistema online, o estudante poderá

aceder a qualquer momento, usando as diversas funcionalidades é claro, com algumas

restrições, basta que tenha acesso a internet, sem se importar com o lugar e nem a hora.

É importante salientar que é bastante considerado o princípio de disponibilidade, ou

seja, ter a informação em tempo real, aliás, esta foi sempre um propósito nas grandes

indústrias de softwares, e para grandes administradores de redes de comunicação no geral. Ao

compor o desenho do sistema em causa, não se fugiu desta regra, que é sem dúvida aquilo que

o utilizador final espera.

Sistema de partilha de informação estudantil

Felisberto António Manganhela iii

Índice

Agradecimentos .......................................................................................................................... i

Resumo ....................................................................................................................................... ii

Índice ........................................................................................................................................ iii

Índice de Figuras ....................................................................................................................... v

Índice de Tabelas ..................................................................................................................... vii

Notação e Glossário .................................................................................................................. ix

1 Introdução ......................................................................................................................... 1

1.1 Enquadramento e Objectivos .............................................................................................. 1

1.1.1 OBJECTIVO GERAL ..................................................................................................................... 2

1.1.2 OBJECTIVOS ESPECÍFICOS ....................................................................................................... 2

1.2 Apresentação do projecto .................................................................................................... 2

1.3 Metodologia de investigação ............................................................................................... 3

1.4 Tecnologias utilizadas .......................................................................................................... 4

1.5 Metodologia de desenvolvimento ........................................................................................ 4

1.6 Organização do relatório ..................................................................................................... 4

2 Contexto ............................................................................................................................. 6

2.1 Descrição das Tecnologias Utilizadas ................................................................................. 7

2.1.1 Framework Hibernate ...................................................................................................................... 7

2.1.2 JavaMail .......................................................................................................................................... 9

2.1.3 Framework Spring ........................................................................................................................... 9

2.1.4 ZK framework ............................................................................................................................... 11

2.1.5 Sistema de Gestão de Base de Dados (SGBD) Mysql ................................................................... 13

2.1.6 UML .............................................................................................................................................. 15

2.1.7 RUP(Rational Unified Process)..................................................................................................... 16

2.1.8 Análise e Desenho Orientados por Objectos ................................................................................. 17

Sistema de partilha de informação estudantil

Felisberto António Manganhela iv

3 Descrição Técnica ........................................................................................................... 18

3.1 Concepção ........................................................................................................................... 19

3.1.1 Descrição do Sistema .................................................................................................................... 19

3.1.2 Descrição dos Envolvidos e Utilizadores ...................................................................................... 20

3.1.3 Análise de Requisitos .................................................................................................................... 20

3.1.4 Plano de risco ................................................................................................................................ 22

3.2 Elaboração .......................................................................................................................... 22

3.2.1 Actores do Sistema ........................................................................................................................ 22

3.2.2 Modelo dos casos de uso ............................................................................................................... 23

3.2.3 Modelo de domínio ....................................................................................................................... 34

3.2.4 Diagrama de sequência .................................................................................................................. 35

3.2.5 Diagrama de Actividades .............................................................................................................. 36

3.3 Construção .......................................................................................................................... 38

3.3.1 Diagrama de Classes ..................................................................................................................... 39

3.3.2 Testes do Sistema .......................................................................................................................... 39

3.4 Transição: ........................................................................................................................... 40

3.4.1 Diagrama de distribuição .............................................................................................................. 40

3.4.2 Implementação do sistema ............................................................................................................ 40

3.4.3 Manual de Utilizador ..................................................................................................................... 40

4 Conclusões ....................................................................................................................... 41

4.1 Objectivos realizados ......................................................................................................... 42

4.2 Limitações e trabalho futuro ............................................................................................. 42

4.3 Apreciação final ................................................................................................................. 42

Bibliografia .............................................................................................................................. 43

Conteúdo em anexos ............................................................................................................... 45

Anexo 1. Manual de utilizador ....................................................................................................... 46

Anexo 2. Testes do sistema ............................................................................................................. 54

Sistema de partilha de informação estudantil

Felisberto António Manganhela v

Índice de Figuras

Figura 1– Arquitectura fundamental do Hibernate .................................................................... 8

Figura 2 – Arquitectura de Sistemas de E-mail .......................................................................... 9

Figura 3 – Arquitectura dos módulos do Spring ...................................................................... 11

Figura 4 – Arquitectura fundamental do ZK framework ......................................................... 13

Figura 5 – Visão lógica da arquitectura do servidor MySQL...................................................14

Figura 6 – Visão geral da Arquitectura UML .......................................................................... 16

Figura 7 – Visão geral da Arquitectura RUP ........................................................................... 17

Figura 8. Diagrama de casos de uso ......................................................................................... 24

Figura 9. Modelo de domínio ................................................................................................... 35

Figura 10. Diagrama de sequência Registar usuário ................................................................ 35

Figura 11. Diagrama de sequência Criar grupo ........................................................................ 36

Figura 12. Diagrama de sequência inserir elementos no grupo ............................................... 36

Figura 13. Diagrama de actividade Publicar pergunta ............................................................. 37

Figura 14. Diagrama de actividade Publicar comentário de uma pergunta ............................. 37

Figura 15. Diagrama de actividade Publicar comentário de material de estudo ...................... 38

Figura 16. Diagrama de Classes ............................................................................................... 39

Figura 17 Diagrama de Distribuição ........................................................................................ 40

Figura 18 – Tela de Login ........................................................................................................ 47

Figura 19 – Tela Registo de Estudante ..................................................................................... 47

Figura 20 – Tela Registo de Faculdade .................................................................................... 48

Figura 21 – Tela Registo de Curso ........................................................................................... 48

Figura 22 – Tela de publicação de material de estudo ............................................................. 49

Figura 23 – Tela de votação e denuncia de material de estudo ................................................ 50

Figura 24 – Tela de procura de materiais de estudo ................................................................. 50

Sistema de partilha de informação estudantil

Felisberto António Manganhela vi

Figura 25 – Tela de criação de grupo ....................................................................................... 51

Figura 26 – Tela de inserção de elementos num grupo ............................................................ 51

Figura 27 – Tela de publicação de comentários nos materiais de estudo ................................ 52

Figura 28 – Tela de publicação de comentários nas perguntas ................................................ 52

Figura 29 – Tela de Listagem de Material de estudo por critério ............................................ 53

Sistema de partilha de informação estudantil

Felisberto António Manganhela vii

Índice de Tabelas

Tabela 1. Utilizadores envolvidos no sistema .......................................................................... 20

Tabela 2. Plano de riscos .......................................................................................................... 22

Tabela 3. Login no sistema ...................................................................................................... 24

Tabela 4. Registar Estudante .................................................................................................... 25

Tabela 5. Registar Faculdade ................................................................................................... 25

Tabela 6. Registar Curso .......................................................................................................... 26

Tabela 7. Publicar material de estudo ...................................................................................... 27

Tabela 8. Denunciar material de estudo ................................................................................... 27

Tabela 9. Votar material de estudo ........................................................................................... 28

Tabela 10. Procurar material de estudo .................................................................................... 28

Tabela 11. Visualizar material de estudo ................................................................................. 29

Tabela 12. Publicar pergunta .................................................................................................... 29

Tabela 13. Criar grupo ............................................................................................................. 30

Tabela 14. Inserir elementos no grupo ..................................................................................... 31

Tabela 15. publicação de comentários dos matérias de estudo ................................................ 31

Tabela 16. publicação de comentários das perguntas .............................................................. 32

Tabela 17. Listar materiais de estudo por acessos ................................................................... 33

Tabela 18. Listar estudantes por números de materiais de estudo ........................................... 33

Tabela 19. Teste da classe Login ............................................................................................. 55

Tabela 20. Teste da classe Registo de usuário ......................................................................... 55

Tabela 21. Teste da classe Registo de curso ............................................................................ 56

Tabela 22. Teste da classe Registo de faculdade ..................................................................... 56

Tabela 23. Teste da classe Publicar material de estudo ........................................................... 57

Tabela 24. Teste da classe Publicar pergunta ........................................................................... 57

Sistema de partilha de informação estudantil

Felisberto António Manganhela viii

Tabela 25. Teste da classe Criar Grupo .................................................................................... 58

Tabela 26. Teste da classe Comentar Pergunta ........................................................................ 58

Tabela 27. Teste de defeito ...................................................................................................... 59

Tabela 28. Teste de Performance ............................................................................................. 60

Sistema de partilha de informação estudantil

Felisberto António Manganhela ix

Notação e Glossário

Upload Carregar ficheiros do computador do cliente para o servidor.

OOA Análise orientada a objectos

Download Baixar ficheiros do servidor para o computador do cliente

UML Unified Modeling Language, que em português significa Linguagem

de Modelagem Unificada, serve para modelação de projectos de

software

XML eXtensible Markup Language, é uma recomendação da W3C para

gerar linguagens de marcação para necessidades especiais.

API Application programming interface, em português interface de

programação de aplicações.

SMTP Simple Mail Transfer Protocol, (Protocolo de Transferência de

Correio Simples)

POP3 Post Office Protocol da terceira revisão da norma, é um protocolo

utilizado no acesso remoto a uma caixa de correio electrónico.

IMAP Internet Message Access Protocol, é um protocolo de gestão de

correio electrónico.

SGBD Sistema de gestão de base de dados.

OpenSource Código fonte aberto.

IoC Inversão de controle

JEE Java Platform, Enterprise Edition, ou do português Plataforma java,

Edição empresarial - é uma plataforma de programação para

servidores na linguagem de programação java

Ajax Javascript Assíncrono e XML - é o uso de metrológico de tecnologias

como javascript e XML, providas por navegadores para tornar a

pagina mais interactiva com o usuário

framework Conjunto de classes e interfaces que cooperam para resolver um tipo

específico de problema de software.

sistema de partilha de informação estudantil

Felisberto António Manganhela 1

1 Introdução

1.1 Enquadramento e Objectivos

Desde os tempos mais remotos, o homem teve sempre o espírito de partilha de

conhecimento ou de informação, tanto que os que foram considerados grandes génios, tiveram

a oportunidade de expor o seu conhecimento e ser partilhados por todos, os próprios cientistas

ainda que não fossem investigadores da mesma área de conhecimento, sentiam essa

necessidade de troca de ideias para conseguirem melhorias ou até mesmo perfeição nos seus

estudo.

Olhando para este ponto de vista, nos dias de hoje nota-se que no mundo estudantil

tem sido frequente entre estudantes criarem grupos de estudos fora do período de aulas

normais para partilha de conhecimentos, discussões sobre os vários assuntos tratados durante

as aulas nas várias disciplinas de estudo e até apresentação de dúvidas da matéria que não foi

entendida. Isso torna-se evidente e claro que só trás vantagens para as partes envolvidas

(estudantes), com isso, não é de negar que existam pessoas que preferencialmente o estudo

individual seja para eles melhor.

Há que perceber que esta partilha de informação é por vezes feita de forma

descentralizada, constituindo um impasse ao se tratar de aproveitamento da mesma por parte

de indivíduos que não fizeram parte deste grupo, no entanto, pelo facto de nalgumas vezes

este tipo de partilha de informação ser feita sem o uso das tecnologias de informação como

computadores, telemóveis ou outros dispositivos tecnológicos para armazenamento e consulta

de informação, recorre-se muitas vezes ao papel tornando difícil o processo de manipulação

dessa informação tais como a procura, organização, segurança, entre outros.

Foi olhando para estas situações todas que surge a necessidade de criação de um

espaço de partilha de conhecimento aproveitando-se das tecnologias de informação e

comunicação hoje emergentes em todo mundo. Daí que, o presente trabalho tem em vista criar

um sistema online de estudos o qual será designado partilha de informação estudantil, neste

espaço, os estudantes poderão partilhar os conhecimentos e informações através de publicação

de trabalhos por si desenvolvidos, e ainda colocar dúvidas de matérias não entendidas.

Sistema de partilha de informação estudantil

Felisberto António Manganhela 2

1.1.1 OBJECTIVO GERAL

Este projecto tem como objectivo geral o desenvolvimento de um sistema de estudos

online intitulado sistema de partilha de informação estudantil que irá permitir aos estudantes

na partilha de conhecimentos e informações académicas (materiais de estudos) e orientação de

estudos entre os membros do grupo.

1.1.2 OBJECTIVOS ESPECÍFICOS

São seguintes os objectivos específicos para o presente trabalho:

Descrever as tecnologias envolventes para o desenvolvimento do sistema;

Desenvolver o modelo de sistema de informação;

Desenvolver e implementar o sistema usando as várias tecnologias estudadas.

Disponibilizar o manual de utilizador de modo a permitir o uso do sistema por

qualquer pessoa, bastando para tal possuir conhecimentos básicos no uso de

computador

1.2 Apresentação do projecto

Este projecto foi pensado por forma a solucionar uma inquietação que estudantes e

docentes de vários níveis de ensino têm enfrentado durante o processo de ensino e

aprendizagem, temos se visto situações em que o docente deve fornecer um conjunto de

materiais de estudo e depara-se com a questão “como?”.

Muitas vezes para responder a esta questão um dos principais recursos são os e-mails

individuais ou colectivos, ou ainda pode usar um dos métodos arcaicos e caros no ponto de

ver, que é o da impressão e fornecimento dos ficheiros impressos aos estudantes.

Uma parte interessante deste projecto é que o sistema que foi pensado para garantir a

existência de um espaço onde, tanto os docentes como os estudantes poderão carregar

(upload) ficheiros de diferentes formatos para aquele espaço e permitir o acesso partilhado

entre os membros registados no sistema, estes, poderão também descarregar (download)

qualquer ficheiro, basta que tenha permissão para tal sempre que for necessário.

Sistema de partilha de informação estudantil

Felisberto António Manganhela 3

A partilha de informação entre estudantes e docentes, teve sempre um foco que é

melhorar o desempenho do estudante e criar o espírito de estudo tanto individual como em

grupos, mas como é bem sabido muitas vezes é usado o papel para tomada de notas e

apontamentos e pouco ajuda para o meio ambiente visto que, tanto é o desperdício de árvores

para o fabrico do papel e todo papel que não tenha utilidade a única forma que o Homem

acredita ser eficaz na destruição do papel é a incineração, por conseguinte a poluição do meio

ambiente, aí está um dos propósitos deste projecto, olhar para um meio ambiente saudável.

Sempre que um estudante não se faz presente no grupo de estudo, ele perde a

discussão e consequentemente a oportunidade de tomada de notas pessoais, logo, em termos

de informação ou conhecimento fica desactualizado. Se olharmos para um sistema online em

que a presença não é fundamental teríamos: o estudante a partilhar e discutir ideais onde quer

que esteja; menos gastos de papel e maior protecção das árvores e um meio ambiente

saudável.

1.3 Metodologia de investigação

Nesta secção, são apresentadas as metodologias a usar para o processo de estudo e

investigação.

Consulta bibliográfica do material necessário para o estudo;

Questionário, segundo Severino (1993), constitui um conjunto de questões

sistematicamente articuladas, que se destinam a levantar informações escritas

ou verbais por parte dos sujeitos pesquisados, com vista a conhecer a opinião

dos mesmos sobre os assuntos em estudo. Neste metodologia foram feitos

vários questionários de forma informal a diferentes grupos de pessoas dentre

eles, estudantes, docentes e colegas de trabalho para colher algumas opiniões

achadas convenientes.

Pesquisa em Sites relacionados, segundo Marconi; Lakatos (2003, p. 153), a

pesquisa é um procedimento formal, com método de pensamento reflexivo,

que requer um tratamento científico e se constitui no caminho para conhecer a

realidade ou para descobrir verdades parciais. Neste método foram feitas

pesquisas em vários sites relacionados com o tema em estudo para melhor

selecção dos requisitos do sistema.

Sistema de partilha de informação estudantil

Felisberto António Manganhela 4

Escolha e análise das ferramentas adequadas para o desenvolvimento do

sistema

1.4 Tecnologias utilizadas

Para a realização com sucesso da solução deste projecto, serão usadas as seguintes

tecnologias no processo de desenvolvimento do sistema:

MySQL 5.1.41

Hibernate framework

JavaMail

UML

Spring framework

ZK Framework

1.5 Metodologia de desenvolvimento

A metodologia escolhida para a fase de desenvolvimento foi a metodologia RUP

(Rational Unified Process), por se acreditar que era a mais adequada para o caso do sistema

em causa.

1.6 Organização do relatório

O relatório está organizado em cinco capítulos sendo o primeiro o que comporta todos

os aspectos introdutórios: enquadramento do tema e objectivos, apresentação do projecto e

tecnologias utilizadas.

No segundo capitulo, consta a descrição da metodologia, das tecnologias utilizadas ao

longo do desenvolvimento do trabalho incluindo a UML que, os seus conceitos foram

amplamente utilizados em quase todas as fases de análise e desenvolvimento.

No terceiro, consta a descrição técnica, aspectos relacionados com o processo da

análise do problema, de entre eles, a apresentação e análise dos requisitos, desenho e

desenvolvimento da solução proposta.

Sistema de partilha de informação estudantil

Felisberto António Manganhela 5

No quarto capitulo estão apresentadas as soluções alcançadas no final do trabalho, as

limitações do trabalho, trabalhos futuros e apreciação final.

No quinto capítulo conterá a bibliografia consultada e utilizada para a elaboração do

trabalho, assim como os anexos.

Sistema de partilha de informação estudantil

Felisberto António Manganhela 6

2 Contexto

Termos como partilha de informação, fórum de estudantes, grupos de estudo, têm sido

muito comuns nos recintos académicos, principalmente entre universitários, e, criar

facilidades para que este processo seja eficiente e sustentável tem sido aposta de muita gente

que já mergulhou na realidade académica.

Actualmente as várias instituições de ensino em Moçambique não possuem um

sistema de partilha e orientação académica no geral, como prova disso, nota-se com

frequência que os alunos e estudantes ao necessitarem de trocar ou expor alguma informação

ou conhecimento ao público, optam pela escolha de sistemas como google groups, facebook,

twiter entre outros sistemas não especializados para partilha de informação académica e disto

ganhar alguma orientação também académica e estudantil por parte dos membros desse grupo.

A procura desenfreada de ideias em fóruns de estudantes em sites brasileiros,

portugueses e outros, que de alguma forma é muito bom partilhar conhecimentos com pessoas

diferentes mas, por vezes acaba não tendo o resultado esperado por se tratar de contextos

super diferentes tanto ao nível de ensino como ao nível das vivências. Ao contrário disto,

partilhar conhecimentos com um mesmo grupo social, torna-se mais rápido a percepção das

ideias.

Por outro lado, torna-se um móbil na realização deste trabalho, o facto de muitas vezes

querendo discutir ideias fora das aulas normais e do espaço escolar ou universitário (campus),

por falta de algum espaço online que independentemente do local onde esteja, possa enviar

questões, opiniões publicar materiais de estudo para que o grupo todo tenha acesso a essa

informação e posteriormente apresente o seu ponto de vista caso seja informação do seu

conhecimento ou do seu interesse.

Tendo o sistema criado, os estudantes poderão com eficiência e eficácia partilhar

informações académicas e estudos desenvolvidos num só grupo de todos por todos e esperar

um feedback vindo dos membros do grupo.

Sistema de partilha de informação estudantil

Felisberto António Manganhela 7

2.1 Descrição das Tecnologias Utilizadas

Ao pensar em resolver um problema de desenvolvimento de sistema, qualquer que

seja, é importante para além do desenho arquitectónico do mesmo, olhar para o tipo de

tecnologias que serão utilizadas para o rápido desenvolvimento, não se esquecendo de

questões como eficiência e eficácia que se espera sobre o referido sistema. Foi pensando

nestes aspectos que, foram cuidadosamente seleccionadas as tecnologias que a seguir são

descritas, dando importância a conceitualização e características que as mesmas nos oferecem.

2.1.1 Framework Hibernate

É um framework de open source para o mapeamento objeto-relacional (ORM) escrito

na linguagem Java, esta ferramenta facilita o mapeamento dos atributos entre uma base

tradicional de dados relacionais e o modelo objecto de uma aplicação fazendo associada às

classes do modelo de domínio, através de anotações ou de ficheiros de configuração em

XML.

Sua principal característica é a transformação das classes em Java para tabelas de

dados (e dos tipos de dados Java para os da SQL). O Hibernate gera as chamadas SQL e livra

o desenvolvedor do trabalho manual da conversão dos dados resultante, mantendo o programa

portável para quaisquer bancos de dados SQL, porém causando um pequeno aumento no

tempo de execução.

2.1.1.1 Características do hibernate

O hibernate, como já se referiu anteriormente, apresenta características muito

importantes que apenas facilitam a vida do desenvolvedor de sistemas, dessas podemos anotar

algumas delas:

Sua implementação é relativamente simples;

Definição de mapeamento Objecto/Relacional;

Permite a persistência dos objectos Java, incluindo polimorfismo, herança,

composição, associação, etc, com grande facilidade;

Possui uma linguagem de conexão (Hibernate Query Language) entre os mundos dos

Objectos e Banco de dados relacionais simples;

É um software livre;

Sistema de partilha de informação estudantil

Felisberto António Manganhela 8

Suporte à mais de 20 SGBD;

Gera comandos SQL nativos para cada SGBD;

Processo de mapeamento (XML, Anotações);

Comandos pré-compilados;

Queries nativas com mapeamento automático.

2.1.1.2 Arquitectura do hibernate

A seguir é apresentada a imagem que descreve a arquitectura detalhada sobre o

funcionamento do hibernate.

Figura 1– Arquitectura fundamental do Hibernate(Fonte: Fernandes; Lima, Hibernate com

Anotações, 2007)

Sistema de partilha de informação estudantil

Felisberto António Manganhela 9

2.1.2 JavaMail

O JavaMail é uma API que fornece uma estrutura independente de plataforma e de

protocolo, para enviar, receber e manipular correio electrónico.

2.1.2.1 Características do JavaMail

Oferece suporte a diversos protocolos(SMTP, POP3, IMAP);

Composta por quatro componentes principais: propriedades, autenticadoras,

mensagem e transporte;

Fornece uma estrutura independente de plataforma;

Serve para estender aplicações existentes para lidar com mensagens.

2.1.2.2 Arquitectura do sistema de email

A seguir é apresentada a imagem que descreve a arquitectura detalhada sobre a

integração do javamail usando protocolos de emails.

Figura 2 – Arquitectura de Sistemas de E-mail(Fonte:

http://imasters.com.br/artigo/13460/java/envio-de-e-mail-utilizando-javamail/ consultado á

15.06.2013)

2.1.3 Framework Spring

O Spring é um framework open source para a plataforma Java criado por Rod

Johnson e descrito em seu livro "Expert One-on-One: JEE Design e Development". Trata-se

de um framework não intrusivo, baseado nos padrões de projecto inversão de controle

(Inversion of Control ou IoC) e injecção de dependência.

Sistema de partilha de informação estudantil

Felisberto António Manganhela 10

(http://pt.wikipedia.org/wiki/Spring_Framework consultado a 17.06.2013).

O Spring Framework é uma solução leve e um potencial de one-stop-shop para

construir as suas aplicações (Johnson, ata l, 2004-2011). No entanto, o Spring é modular,

permitindo que a pessoa use apenas as partes que precisa, sem ter que trazer o resto. A pessoa

pode usar o contentor IoC, com Struts em cima, mas pode também usar apenas o código de

integração Hibernate ou a camada de abstracção JDBC. O Spring Framework suporta a

gestão de transacção declarativa, o acesso remoto a sua lógica através de RMI ou serviços

web, e várias opções de persistência de seus dados. Ele oferece um framework MVC

completo, e permite-lhe integrar AOP transparente em seu software.

O Spring é projectado para ser não - invasivo, o que significa que seu código de lógica

de domínio geralmente não tem dependências do próprio quadro. Em sua camada de

integração (como a camada de acesso a dados), vai existir algumas dependências sobre a

tecnologia de acesso de dados e as bibliotecas do Spring. No entanto, deve ser fácil isolar

essas dependências do resto do seu código base.

O Spring apresenta duas principais características indispensáveis para quem o

pretende usar, referem-se a Invasão de Controle e a Injecção de Dependências. A adopção

destes dois padrões no framework Spring é no sentido de permitir que o desenvolvedor

focalize-se na implementação das características específicas da aplicação, encarregando o

framework a tarefa de especificar a dependência de alguns objectos.

A seguir apresenta-se a arquitectura dos módulos usados no Spring.

Sistema de partilha de informação estudantil

Felisberto António Manganhela 11

Figura 3 – Arquitectura dos módulos do Spring(Fonte:

http://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/ consultado á

15.05.2013)

2.1.4 ZK framework

ZK é um framework web de código aberto Ajax que permite uma rica interface do

utilizador para aplicações web sem JavaScript e pouco de programação (Chen, Henri &

Robbie Cheng, 2007).

Seria impossível negar que, para maior parte de desenvolvedores de sistemas de

software, constituía um “cancro”, a construção de várias linhas de códigos JavaScript ao

criarem seus sistemas, daí, a criação de diferentes frameworks para facilitar a vida deste

individuo, e o ZK é, sem dúvida uma ferramenta poderosa neste âmbito.

Mais de uma década, as aplicações web têm evoluído a partir de páginas estáticas

HTML para páginas HTML dinâmicas (DHTML), para páginas usando applets e Flash, e,

finalmente, aqueles que incorporam a tecnologia Ajax (Asynchronous JavaScript and XML).

Dois grandes exemplos de Ajax são o Google Maps e Google Suggest. Ajax respira a vida

nova em aplicações web, oferecendo o mesmo nível de interactividade e responsabilidade

como aplicações desktop. No entanto, ao contrário de applets ou Flash, Ajax é baseado no

navegador padrão e Javascript, e nenhuma propriedade de plug-in é necessária (Chen, Henri

& Robbie Cheng, 2007).

Sistema de partilha de informação estudantil

Felisberto António Manganhela 12

Ajax é uma espécie de “próxima geração” do DHTML, e por isso depende muito de

JavaScript para ouvir eventos desencadeados pela actividade do utilizador e manipula a

representação visual de uma página (ou seja, o modelo de objecto de documento, ou DOM)

no navegador de forma dinâmica.

Então, como se pode facilmente incorporar Ajax em páginas da web? A resposta a esta

questão é usando o ZK Framework. Diferentemente da maioria dos outros frameworks Ajax,

ZK não exige que se tenha algum conhecimento de JavaScript para desenvolver aplicações

web baseadas em Ajax, uma vez que o motor ZK gera automaticamente o código JavaScript.

Para desenvolver uma aplicação web com o ZK, é necessário saber apenas um pouco sobre

HTML. Para simplificar o desenvolvimento de aplicações web, a equipe de ZK também

definiu o ZK User Interface Markup Language (ZUML) para fornecer uma forma intuitiva

para criar componentes do ZK declarando simplesmente uma tag de encerramento, que é

semelhante em formato uma tag HTML.

Apesar de todas as facilidades que o ZK oferece, é saber que existem também algumas

restrições, a titulo de exemplo é que o ZK nada assume sobre a persistência de ou a

comunicação inter-servidor porque ele foi concebido para ser o mais fino possível, por sua

vez não fornece um túnel RMI ou outra API para desenvolvedores para comunicação entre

clientes e servidores, isso ocorre porque o código é executado no servidor dentro da mesma

JVM, não obriga o desenvolvedor a usar padrões do projecto MVC ou outros, a escolha é

sempre do desenvolvedor, ZK não é um framework com o objectivo de trazer XUL para

aplicações web, mas sim, ele é destinado a trazer o modelo de programação desktop para

aplicações web. Actualmente, ele suporta XUL e XHTML, no futuro, ele pode apoiar XAML,

XQuery e outros. ZK incorpora o AJAX na sua implementação actual, mas ele não termina

naquilo que o AJAX faz, com a API ZK para dispositivos móveis, suas aplicações podem

chegar a todos os dispositivos que suportam J2ME, tais como: PDAs, telemóveis e consolas

de jogos, com uma vantagem de não poder modificar a aplicação a todos.

2.1.4.1 Arquitectura do ZK

Como se sabe o ZK, para além de ter uma rica base de componentes ZUL que

enriquecem a sua usabilidade, inclui também os mecanismos do AJAX e a linguagem HTML

para simplificar o desenvolvimento. O mecanismo do AJAX consiste em três principais partes:

ZK loader, ZK AU Engine e ZK Client Engine.

Sistema de partilha de informação estudantil

Felisberto António Manganhela 13

A figura abaixo mostra como estas três partes se comunicam, nessa que é a visão do

ZK framework.

Figura 4 – Arquitectura fundamental do ZK framework (Fonte:

http://books.zkoss.org/wiki/ZK%20Developer's%20Reference/Overture/Architecture%20Over

view consultado 20.09.2012)

Quando se faz um pedido o ZK loader carrega as páginas ZK e as interpreta, de

seguida, como resultado ele devolve na resposta páginas em HTML, embora se sabe que o ZK

escreve páginas ZUML.

O ZK AU Engine e ZK Client Engine trabalham em conjunto, eles levam eventos que

vão acontecendo no browser para a aplicação que corre no servidor e são responsáveis por

quaisquer actualizações sempre que os componentes são manipulados pela aplicação.

2.1.5 Sistema de Gestão de Base de Dados (SGBD) Mysql

O facto que leva a que muitos desenvolvedores optem pela escolha do MySQL como o

sistema de gestão de base de dados a usar é sem dúvida pelas características que ele apresenta,

vejamos a seguir algumas delas que o tornam “forte” e mais procurado:

Portabilidade

Funciona com diversas plataformas;

Escrito em C e C++;

Suporte total a multi-threads usando threads directamente no kernel, isto significa que

pode-se usar múltiplas CPUs, se disponível;

Fornece mecanismos de armazenamento transaccional e não transaccional;

Sistema de partilha de informação estudantil

Felisberto António Manganhela 14

É relativamente fácil se adicionar outro mecanismo de armazenamento;

Um sistema de alocação de memória muito rápido e baseado em processo (thread);

Aceita diversos tipos de campos (Ex.: Integer, Float, Byte, entre outros);

Registo de tamanhos fixos ou variáveis;

Pode misturar tabelas de bancos de dados diferentes nas pesquisas;

É seguro;

Pouco exigente quanto a recursos de hardware, entre outras características.

2.1.5.1 Arquitectura do MySQL

Muitas vezes diz-se que a imagem fala mais que mil palavras, para entender melhor o

servidor MySQL, veja a seguir como os seus componentes se comunicam:

Figura 5 – Visão lógica da arquitectura do servidor MySQL ( Fonte:

http://certificacaobd.com.br/2013/03/01/mysql-srie-de-posts-6-teoria-estruturas-de-memria/

consultado á 01.03.2013)

Na primeira camada (a camada superior) encontram-se os serviços que não são

exclusivos do MySQL, enquanto que na segunda camada é onde encontramos o cérebro do

MySQL incluindo o código para interpretar consulta, análise, optimização, cache e todas as

funções embutidas (Ex.: datas, horas, matemática e codificação). E na terceira camada contém

as ferramentas de armazenamento, responsáveis por armazenar e recuperar todos os dados no

MySQL.

Sistema de partilha de informação estudantil

Felisberto António Manganhela 15

2.1.6 UML

A UML (Unified Modeling Language) é uma linguagem de modelagem visual

utilizada para especificar, documentar e construir artefactos de um sistema (OMG, 2009 a).

Tem como objectivo modelar sistemas de forma correcta e consistente com o auxilio de

conceitos da orientação a objectos, tornando real a possibilidade de métodos conceituais

também serem executáveis.

A UML apresenta três benefícios principais:

Visualização: os relacionamentos existentes entre os diversos componentes da

aplicação podem ser visualizados de forma a antever o produto final;

Gestão de complexidade: cada aspecto do sistema é desenhado à parte em um

modelo específico para que se possa estudar e compreender a estrutura, o

comportamento e os possíveis particionamentos físicos, bem como identificar

oportunidades de reutilização de componentes;

Comunicação : através da utilização de símbolos e padrões, torna-se possível

uma comunicação directa e não ambígua entre os participantes do projecto em

relação aos detalhes de comportamento do sistema.

A UML é utilizada pelas fases de analise de requisitos, analise e projecto e oferece a

elas cinco tipos de visões que destacam os diferentes aspectos do sistema que está sendo

modelado. São elas visão use - case, visão lógica, visão de componentes, visão de

concorrência e visão de organização. Alem disso, a UML disponibiliza nove tipos de

diagramas que descrevem o conteúdo em uma visão e são utilizados em combinação para

prever todas as visões do sistema. Esses diagramas são: diagrama de caso de uso, diagrama de

colaboração, diagrama de classes, diagrama de objecto, diagrama de componente e diagrama

de execução.

A seguir está representada aquilo que é a visão geral da arquitectura UML:

Sistema de partilha de informação estudantil

Felisberto António Manganhela 16

Figura 6 – Visão geral da Arquitectura UML( Fonte: http://pt.wikipedia.org/wiki/UML

consultado á 20.08.2013)

2.1.7 RUP(Rational Unified Process)

O Processo Unificado ou Rational Unified Process (RUP) é uma metodologia de

analise e desenvolvimento de sistemas orientados a objecto baseado na notação UML

(Kruchten 2003).

2.1.7.1 Principais Características do RUP

Baseado em componentes

Utiliza UML para especificar, modelar e documentar artefactos.

Guiado por casos de uso

Centrado na arquitectura

Iterativo e incremental

2.1.7.2 Fases

O Processo Unificado comporta as actividades em quatro fases concepção,

elaboração, construção e transição.

Sistema de partilha de informação estudantil

Felisberto António Manganhela 17

O RUP possui nove disciplinas, divididas em disciplinas do processo e de

suporte. As disciplinas de processo são: modelagem de negócios, requisitos, análise e

projecto, implementação, teste e distribuição. As de suporte são: configuração e gestão

de mudanças, gestão de projecto, e ambiente (Kruchten 2003).

A seguir está representada a arquitectura do RUP:

Figura 7 – Visão geral da Arquitectura RUP (Fonte: Kruchten 2003)

2.1.8 Análise e Desenho Orientados por Objectos

Nesta sessão serão apresentados alguns conceitos relacionados com a análise e desenho

orientados a objectos, tendo em conta os elementos utilizados na construção do sistema, com

enfoque na programação orientada a objectos.

2.1.8.1 Análise e desenho orientados por objectos

A análise e desenho orientados por objecto, tal como outros tipos de análises de

sistemas, clarificam e documentam os requisitos do sistema computacional. A análise

orientada a objectos, foca-se em primeiro lugar no estudo e entendimento do problema,

ignorando tudo que concerne a implementação, alguns termos são usados para descrever o

mundo real sobre conceitos da aplicação, tais como domínio do problema, domínio da

aplicação, objecto de negócio, a essência do problema entre outros.

Sistema de partilha de informação estudantil

Felisberto António Manganhela 18

2.1.8.2 Análise orientada a objectos

Consiste da definição das classes (objectos) que representam o problema a ser

resolvido, o modo pelo qual as classes se relacionam e interagem umas com as outras, o

funcionamento interno (atributos e operações) dos objectos e os mecanismos de comunicação

(mensagens) que permitem a eles trabalharem juntos. Deve-se fazer uma descrição das

características estáticas e dinâmicas das classes que descrevem um sistema ou um produto.

A OOA fornece um modo concreto de representar seu entendimento dos requisitos e

depois testar esse entendimento contra a percepção do cliente (URI – Universidade Regional

Integrada – Brasil, 2010).

2.1.8.3 Desenho orientado a objectos

No desenho orientado a objectos, trata-se de especificar a solução lógica do problema

em relação ao software, e dá mais ênfase a definição dos objectos de software, na forma

como eles interagem para satisfação dos requisitos.

2.1.8.4 Análise de Requisitos

A análise de requisitos, é um elemento fundamental, senão obrigatório definido na

engenharia de software. Este é um processo não muito longo mas um dos mais importantes na

concepção de um software, daí que um erro considerado menor na fase da análise de

requisitos pode ser fatal na fase da concepção do sistema. Salientar que tanto para novos

sistemas ou alterações e melhoramento de sistemas já existentes, nunca se deve ignorar a

existência deste elemento, ainda que seja um indivíduo com larga experiência.

3 Descrição Técnica

Neste capitulo serão abordados os aspectos técnicos do processo do desenvolvimento

deste sistema na qual será usado a metodologia RUP uma vez que este suporta o

desenvolvimento de sistemas orientados a objecto e é baseado na notação UML.

Sistema de partilha de informação estudantil

Felisberto António Manganhela 19

3.1 Concepção

Nesta fase a preocupação é estabelecer uma visão do sistema, do ponto de vista do

negócio, permitindo avaliar se o projecto é ou não viável.

3.1.1 Descrição do Sistema

A partilha de informação entre estudantes, teve sempre um foco que é melhorar o

desempenho do estudante e criar o espírito de estudo tanto individual como em grupos, mas

como é bem sabido muitas vezes é usado o papel para tomada de notas e apontamentos o

pouco ajuda para o meio ambiente visto que, tantas árvores são gastas para o fabrico do papel

e todo papel que não tenha utilidade a única forma que o Homem acredita ser eficaz na

destruição do papel e a incineração, por conseguinte a poluição do meio ambiente.

Sempre que um estudante não se faz presente no grupo de estudo, ele perde a

discussão e consequentemente a oportunidade de tomada de notas pessoais, logo em termos

de informação ou conhecimento fica desactualizado. Se olharmos para um sistema online em

que a presença não é fundamental teríamos: o estudante a partilhar e discutir ideais onde quer

que esteja; menos gastos de papel e maior protecção das árvores e um meio ambiente

saudável.

Estudantes que queiram dar início a desenvolvimento de artigos científicos precisam

de muitas voltas para encontrarem um espaço onde possam publicar os seus estudos. Com o

sistema que se pretende criar irá facilitar a estes indivíduos a que tenham um espaço para

colocarem as suas publicações e poderem beneficiarem de análises críticas por parte dos

membros do grupo para futuras melhorias, tanto que fazem parte deste fórum estudantes e

docentes, não excluindo outras camadas sociais que também podem dar o seu contributo.

Neste âmbito, de um modo geral, o sistema deverá ser capaz de:

Autenticar utilizadores;

Registar estudantes, faculdades, grupos de estudo e cursos;

Publicar materiais de estudo e perguntas;

Denunciar e votar os materiais de estudo;

Procurar e visualizar os materiais de estudo;

Comentar os materiais de estudo e perguntas.

Sistema de partilha de informação estudantil

Felisberto António Manganhela 20

3.1.2 Descrição dos Envolvidos e Utilizadores

Neste ponto serão descritos os tipos de utilizadores que faram parte deste sistema.

A tabela 1 apresenta a lista dos envolvidos no sistema:

Tabela 1. Utilizadores envolvidos no sistema

Utilizadores envolvidos no sistema

Nome Descrição Responsabilidades

Estudante Individuo que publica e acede aos

materiais de estudo

Registar estudantes, grupos,

Publicar, denunciar, votar,

comentar materiais de estudo e

perguntas

Administrador Individuo responsável pela gestão das

faculdades e cursos.

Gerir faculdades e cursos

3.1.3 Análise de Requisitos

A engenharia de requisitos, no contexto da engenharia de software é um processo que

engloba todas as actividades que contribuem para a produção de um documento de requisitos

e sua manutenção ao longo do tempo

(http://pt.wikipedia.org/wiki/Engenharia_de_requisitos, consultado a 22/08/2013).

O processo de engenharia de requisitos é composto por quatro actividades de alto

nível a saber - Identificação, Análise e negociação, especificação e negociação e validação, e

cada uma dessas concerne no seguinte:

Levantamento de requisitos (recolha, compreensão, revisão e articulação das

necessidades dos stakeholders), análise (modelação, verificação de consistência e

completude), especificação de requisitos (documentação e ou modelação dos requisitos) e

validação de requisitos (garantir que os requisitos especificados estão correctos, de um ponto

de vista interno e externo).

Sistema de partilha de informação estudantil

Felisberto António Manganhela 21

3.1.3.1 Requisitos Funcionais

Os requisitos funcionais são a descrição de diversas funções que os clientes querem ou

precisam que a aplicação faça.

Login no sistema

Registar Estudante

Registar Faculdade

Registar Curso

Publicar material de estudo

Denunciar material de estudo

votar material de estudo

Procurar material de estudo por nome

Visualizar materiais de estudo

Publicar pergunta

Criar grupo

Inserir elementos no grupo

publicação de comentários dos matérias de estudo

publicação de comentários das perguntas

Listar materiais de estudo por acessos

Listar estudantes por números de materiais de estudo

3.1.3.2 Requisitos não Funcionais

Requisitos não funcionais são os que não estão directamente ligadas às funções do

sistema, estes têm a ver com questões de confiabilidade, robustez, eficiência e segurança

Possuir interface Web amigável (que agrade aos olhos do utilizador);

A interface deve ser simples e de fácil navegação;

Garantir segurança ao nível funcional do sistema maior que 80%;

Garantir tempo de resposta na ordem dos 10s no pior caso 20s.

Sistema de partilha de informação estudantil

Felisberto António Manganhela 22

3.1.4 Plano de risco

A projecção dos riscos, também chamada estimativa dos riscos, tenta classificar cada

risco de duas maneiras – a probabilidade de que o risco seja real e as consequências dos

problemas associados ao risco, caso ele ocorra

(http://pt.wikipedia.org/wiki/Plano_de_ger%C3%AAncia_de_riscos consultado a

15.09.2013), com forme a Tabela 2.

Tabela 2. Plano de riscos

Plano de riscos

Risco Probabilidade Efeitos Responsabilidades

Mudança de

requisitos, que

exigem significativo

trabalho

Moderada Sério Reavaliação dos requisitos.

Cronograma Irreal

Moderada Sério Semanalmente verificar se as

tarefas estão a ser realizadas

de acordo com o cronograma.

Não terminar as

funcionalidades Moderada Sério

Dar prioridade às

funcionalidades principais.

3.2 Elaboração

O objectivo desta fase é capturar todos os requisitos ainda não identificados e definir

uma arquitectura sólida que permita a evolução do sistema nas fases seguintes;

3.2.1 Actores do Sistema

Definiu-se tês tipos de actores, o administrador, o estudante, a usuário não cadastrado,

possuindo responsabilidades e direitos diferentes na aplicação.

Administrador - Este actor tem a responsabilidade de inserir faculdades e

cursos;

Sistema de partilha de informação estudantil

Felisberto António Manganhela 23

Estudante - Este actor tem a o privilegio de publicar material de estudo,

denunciar material de estudo, votar material de estudo, procurar material de

estudo por nome, visualizar materiais de estudo, publicar pergunta, criar grupo,

inserir elementos no grupo, publicação de comentários dos matérias de estudo,

publicação de comentários das perguntas e listar materiais de estudo por

diferentes critérios;

Usuário não registado - Registar - se no sistema, procurar material de estudo

por nome e visualizar materiais de estudo.

3.2.2 Modelo dos casos de uso

3.2.2.1 Casos de uso

Com base nos requisitos discutidos com cliente, foram definidos os seguintes casos de

uso para responderem as principais necessidades do sistema:

Login no sistema

Registar Estudante

Registar Faculdade

Registar Curso

Publicar material de estudo

Denunciar material de estudo

votar material de estudo

Procurar material de estudo por nome

Visualizar materiais de estudo

Publicar pergunta

Criar grupo

Inserir elementos no grupo

publicação de comentários dos matérias de estudo

publicação de comentários das perguntas

Listar materiais de estudo por acessos

Listar estudantes por números de materiais de estudo

Sistema de partilha de informação estudantil

Felisberto António Manganhela 24

3.2.2.2 Diagrama dos casos de uso

A figura 8 representa o diagrama de casos de uso do sistema

Figura 8. Diagrama de casos de uso

3.2.2.3 Descrição dos casos de uso

A seguir é feita a descrição de todos os casos de uso com um mínimo de detalhe

possível, onde para cada caso de uso são apresentados os actores, a sua descrição, pré-

condições, pós-condições e o fluxo dos eventos (fluxo básico e fluxo alternativo).

Tabela 3. Login no sistema

Caso de Uso: Login no sistema

Actores: Administrador, Estudante.

Descrição: Este caso de uso especifica a acção de autenticação de usuário.

Pré-condições: Usuário cadastrado no sistema.

Sistema de partilha de informação estudantil

Felisberto António Manganhela 25

Pós-condições: ---

Fluxo de Eventos

Fluxo Básico: 1. Usuário insere os dados para autenticação.

2. O sistema valida os dados.

3. O sistema autentica os dados inseridos.

Fluxo

Alternativo:

2. O sistema invalida os dados inseridos e informa ao usuário

para a rectificação.

3. O sistema informa ao usuário que houve erro na

autenticação.

Tabela 4. Registar Estudante

Caso de Uso: Registar Estudante

Actores: Usuário não registado

Descrição: Este caso de uso diz respeito ao registo dos usuários do sistema

Pré-condições: Usuário não cadastrado

Pós-condições: --

Fluxo de Eventos

Fluxo Básico: 1. O usuário insere os seus dados.

2. O sistema valida dados.

3. O sistema verifica se o utilizador já está registado.

4. O sistema grava o usuário na base de dados.

Fluxo Alternativo: 2. O sistema invalida os dados inseridos e informa ao usuário para a

rectificação.

3. O sistema informa ao usuário que este já esta registado no sistema.

Tabela 5. Registar Faculdade

Caso de Uso: Registar Faculdade

Sistema de partilha de informação estudantil

Felisberto António Manganhela 26

Actores: Administrador

Descrição: Neste caso de uso o administrador regista faculdade

Pré-condições: Faculdade não registada

Pós-condições: ---

Fluxo de Eventos

Fluxo Básico: 1. O administrador insere os dados da faculdade.

2. O sistema valida dados.

3. O sistema verifica se a faculdade já está registada

4. O sistema grava os dados da faculdade na base de dados.

Fluxo Alternativo: 2. O sistema invalida os dados inseridos e informa ao administrador

para a rectificação.

3. O sistema informa ao administrador que a faculdade já esta

registado no sistema.

Tabela 6. Registar Curso

Caso de Uso: Registar Curso

Actores: Administrador

Descrição: Caso de uso para registo de um curso

Pré-condições: Curso não cadastrado

Pós-condições: ---

Fluxo de Eventos

Fluxo Básico: 1. O administrador insere os dados do curso.

2. O sistema valida dados.

3. O sistema verifica se o curso já está registada

4. O sistema grava os dados do curso na base de dados.

Fluxo Alternativo: 2. O sistema invalida os dados inseridos e informa ao administrador

Sistema de partilha de informação estudantil

Felisberto António Manganhela 27

para a rectificação.

3. O sistema informa ao administrador que a curso já esta registado no

sistema.

Tabela 7. Publicar material de estudo

Caso de Uso: Publicar material de estudo

Actores: Estudante

Descrição: O estudante publica material de estudo no sistema

Pré-condições: Usuário autenticado como estudante

Pós-condições: ---

Fluxo de Eventos

Fluxo Básico: 1. O estudante faz o upload do material de estudo.

2. O sistema associa os dados do estudante com o material de estudo.

3. O sistema grava o material de estudo na base de dados.

Fluxo Alternativo: ---

Tabela 8. Denunciar material de estudo

Caso de Uso: Denunciar material de estudo

Actores: Estudante

Descrição: O estudante denuncia material de estudo

Pré-condições: Usuário autenticado como estudante

Pós-condições: ---

Fluxo de Eventos

Fluxo Básico: 1. O estudante selecciona o material de estudo.

2. O sistema verifica se o estudante já denunciou este material de

Sistema de partilha de informação estudantil

Felisberto António Manganhela 28

estudo.

3. O sistema incrementa o contador da denuncia do material de estudo.

4. O sistema adiciona estudante a lista de denunciantes deste material

de estudo

Fluxo Alternativo: 2. O sistema informa o estudante que este material de estudo já foi

denunciado por si.

Tabela 9. Votar material de estudo

Caso de Uso: Votar material de estudo

Actores: Estudante

Descrição: O estudante vota no material de estudo

Pré-condições: Usuário autenticado como estudante

Pós-condições: ---

Fluxo de Eventos

Fluxo Básico: 1. O estudante selecciona o material de estudo.

2. O sistema verifica se o estudante já votou este material de estudo.

3. O sistema incrementa o contador dos votos do material de estudo.

4. O sistema adiciona estudante a lista de votantes deste material de

estudo

Fluxo Alternativo: 2. O sistema notifica o estudante informando que este material de

estudo já foi votado por si.

Tabela 10. Procurar material de estudo

Caso de Uso: Procurar material de estudo

Actores: Usuário não cadastrado, Estudante

Descrição: O usuário que faz a procura de um material de estudo

Sistema de partilha de informação estudantil

Felisberto António Manganhela 29

Pré-condições: ---

Pós-condições: ---

Fluxo de Eventos

Fluxo Básico: 1. O usuário insere o titulo do material de estudo.

2. O sistema verifica se existe algum material de estudo com este

titulo

3. O sistema organiza a lista dos materiais de estudo por quantidades

de palavras encontradas.

Fluxo Alternativo: 2. O sistema informa que não foi encontrado nenhum material de

estudo com este titulo.

Tabela 11. Visualizar material de estudo

Caso de Uso: Visualizar material de estudo

Actores: Usuário não cadastrado, Estudante

Descrição: O usuário visualiza os dados do material de estudo

Pré-condições: ---

Pós-condições: ---

Fluxo de Eventos

Fluxo Básico: 1. O usuário selecciona o material de estudo.

2. O sistema carrega todos os dados referentes ao material de estudo

na base de dados.

Fluxo Alternativo: ---

Tabela 12. Publicar pergunta

Caso de Uso: Publicar pergunta

Actores: Estudante

Sistema de partilha de informação estudantil

Felisberto António Manganhela 30

Descrição: O usuário publica perguntas a um grupo

Pré-condições: Usuário cadastrado como estudante

Pós-condições: ---

Fluxo de Eventos

Fluxo Básico: 1. O usuário selecciona o material de estudo

2. O sistema verifica se este material existe na base de dados.

3. O usuário insere a pergunta

4. O usuário selecciona o grupo a publicar a pergunta

5. O sistema verifica se o grupo existe na base de dados.

6. O sistema associa a publicação ao grupo

7. O sistema grava a pergunta na base de dados

Fluxo Alternativo: 2. O sistema informa ao usuário que o material de estudo não existe na

base de dados

3. O sistema invalida os dados e informa ao usuário para a

rectificação.

4. O sistema informa ao usuário que o grupo não existe na base de

dados

Tabela 13. Criar grupo

Caso de Uso: Criar grupo

Actores: Estudante

Descrição: O usuário cria grupos de estudos

Pré-condições: Usuário Autenticado como estudante

Pós-condições: ---

Fluxo de Eventos

Fluxo Básico: 1. O usuário insere os dados.

2. O sistema valida dados.

3. O sistema verifica se o grupo já está registado

4. O sistema grava o grupo na base de dados.

Sistema de partilha de informação estudantil

Felisberto António Manganhela 31

Fluxo Alternativo: 2. O sistema invalida os dados inseridos e informa ao usuário para a

rectificação.

3. O sistema informa ao usuário que o grupo já existe na base de

dados

Tabela 14. Inserir elementos no grupo

Caso de Uso: Inserir elementos no grupo

Actores: Estudante

Descrição: O usuário insere elementos no grupos de estudos

Pré-condições: Usuário Autenticado como administrador de um grupo

Pós-condições: ---

Fluxo de Eventos

Fluxo Básico: O usuário selecciona o grupo a inserir elementos.

O sistema verifica se o grupo existe.

O sistema verifica se o usuário é administrador do grupo

O usuário selecciona os elementos a adicionar ao grupo.

O sistema associa os elementos a este grupo

O sistema actualiza a lista de elementos do grupo na base de dados.

Fluxo Alternativo: 2. O sistema informa ao usuário que o grupo não existe

3. O sistema informa ao usuário que o ele não é o administrador do

grupo

Tabela 15. publicação de comentários dos matérias de estudo

Caso de Uso: publicação de comentários dos matérias de estudo

Actores: Estudante

Descrição: O usuário publica comentários aos materiais de estudos

Pré-condições: Usuário Autenticado

Pós-condições: ---

Sistema de partilha de informação estudantil

Felisberto António Manganhela 32

Fluxo de Eventos

Fluxo Básico: 1. O usuário selecciona o material de estudo

2. O sistema verifica se este material existe na base de dados.

3. O usuário insere o comentário

4. O sistema valida o comentário

5. O sistema associa o comentário ao material de estudo

6. O sistema grava o comentário na base de dados.

Fluxo Alternativo: 2. O sistema informa ao usuário que o material de estudo não existe na

base de dados

4. O sistema invalida os dados inseridos e informa ao usuário para a

rectificação.

Tabela 16. publicação de comentários das perguntas

Caso de Uso: publicação de comentários das perguntas

Actores: Estudante

Descrição: O usuário publica comentários as perguntas

Pré-condições: Usuário Autenticado como estudante

Pós-condições: ---

Fluxo de Eventos

Fluxo Básico: 1. O usuário selecciona a pergunta

2. O sistema verifica se esta existe na base de dados.

3. O usuário insere o comentário

4. O sistema valida o comentário

5. O sistema associa o comentário a pergunta

6. O sistema grava o comentário na base de dados.

Fluxo Alternativo: 2. O sistema informa ao usuário que a pergunta não existe na base de

dados

4. O sistema invalida os dados inseridos e informa ao usuário para a

rectificação.

Sistema de partilha de informação estudantil

Felisberto António Manganhela 33

Tabela 17. Listar materiais de estudo por acessos

Caso de Uso: Listar materiais de estudo por acessos

Actores: Usuário não cadastrado, Estudante

Descrição: O usuário visualiza os dados do material de estudo por numero de

acessos

Pré-condições: ---

Pós-condições: ---

Fluxo de Eventos

Fluxo Básico: 1. O sistema carregas todos os materiais de estudo existentes na base

de dados e organiza por numero de acessos.

Fluxo Alternativo: ---

Tabela 18. Listar estudantes por números de materiais de estudo

Caso de Uso: Listar estudantes por numero de materiais de estudo

Actores: Usuário não cadastrado, Estudante

Descrição: O usuário visualiza os dados do material de estudo

Pré-condições: ---

Pós-condições: ---

Fluxo de Eventos

Fluxo Básico: 1. O sistema carregas todos os estudantes existentes na base de dados

e organiza por quantidade de materiais de estudo.

Fluxo Alternativo: ---

Sistema de partilha de informação estudantil

Felisberto António Manganhela 34

3.2.3 Modelo de domínio

Durante todo um processo da engenharia de software, vários conceitos e termos são

aplicados para sustentabilidade do produto final. O termo domínio, no contexto em causa, é

muitas vezes utilizado para mostrar ou mesmo agrupar um conjunto de sistemas ou de áreas

funcionais entre sistemas que exibem funcionalidades similares. Podemos então descrever o

domínio aplicacional, como sendo uma colecção de aplicações de software, que partilham um

determinado conjunto de características. Da mesma forma, o domínio é definido por um

conjunto de características que descrevem uma família de problemas para os quais uma

determinada aplicação pretende dar solução.

A análise do domínio pode ser definida como o processo pelo qual a informação usada

para o desenvolvimento de software é identificada, capturada e organizada para que seja

reutilizável quando da criação de novos sistemas. Trata-se da reutilização de conceitos a um

nível de abstracção muito elevado, ou seja, existem soluções generalistas para a resolução de

um dado problema, que podem ser aplicadas em contextos similares. A identificação dos

domínios não se restringe às áreas técnicas e tecnológicas. Elementos socioeconómicos,

organizacionais, administrativos, etc. têm influência para determinar o âmbito do problema,

pelo que é imperativo a sua investigação e análise

(http://pt.wikipedia.org/wiki/An%C3%A1lise_de_dom%C3%ADnio, consultado no dia 22 de

Agosto de 2013)

Portanto o modelo de domínio será de certa forma um ferramenta que irá ilustrar

detalhadamente a ligação ou comunicação entre os vários elementos que fazem parte da

composição do sistema.

Na figura 9 está representado o modelo de domínio, ou seja, a relação entre as tabelas

da base de dados.

Sistema de partilha de informação estudantil

Felisberto António Manganhela 35

Figura 9. Modelo de domínio

3.2.4 Diagrama de sequência

A figura 10 mostra o diagrama de sequência do caso de uso “Registar usuário ”.

Figura 10. Diagrama de sequência Registar usuário

A figura 11 mostra o diagrama de sequência do caso de uso “Criar grupo ”.

Sistema de partilha de informação estudantil

Felisberto António Manganhela 36

Figura 11. Diagrama de sequência Criar grupo

A figura 12 mostra o diagrama de sequência do caso de uso “Inserir elementos no

grupo”.

Figura 12. Diagrama de sequência inserir elementos no grupo

3.2.5 Diagrama de Actividades

A figura 13 mostra o diagrama de actividade que representa uma visão geral sobre a

publicação de uma pergunta no sistema.

Sistema de partilha de informação estudantil

Felisberto António Manganhela 37

Figura 13. Diagrama de actividade Publicar pergunta

A figura 14 mostra o diagrama de actividade que representa uma visão geral sobre a

publicação de comentário de pergunta no sistema.

Figura 14. Diagrama de actividade Publicar comentário de uma pergunta

Sistema de partilha de informação estudantil

Felisberto António Manganhela 38

A figura 15 mostra o diagrama de actividade que representa uma visão geral sobre a

publicação de comentário de material de estudo no sistema.

Figura 15. Diagrama de actividade Publicar comentário de material de estudo

3.3 Construção

Está fase está essencialmente relacionada ao projecto, programação e teste do sistema.

Sistema de partilha de informação estudantil

Felisberto António Manganhela 39

3.3.1 Diagrama de Classes

A figura 16 representa o diagrama de classes usado na implementação do sistema.

Figura 16. Diagrama de Classes

3.3.2 Testes do Sistema

De modo a garantir qualidade e funcionalidade plausível para o sistema, foi necessária

a execução de testes na aplicação. Os testes foram feitos periodicamente na fase de

desenvolvimento e foi feito um novo teste no fim.

Sistema de partilha de informação estudantil

Felisberto António Manganhela 40

De uma forma resumida pode se dizer que os testes efectuados tiveram resultados

satisfatórios, uma vez que responderam da melhor forma aos requisitos do sistema.

O resultado dos testes encontra-se no anexo 2 do relatório.

3.4 Transição:

Nesta fase, faz-se a transferência do sistema da comunidade de desenvolvimento para

a comunidade de usuários, com a entrada do sistema em funcionamento no ambiente real.

3.4.1 Diagrama de distribuição

O diagrama de distribuição mostra as instâncias dos componentes de tempo de

execução e suas associações e incluem Nós que são recursos físicos. Consiste ainda na

representação da infra-estrutura do cliente para o correcto funcionamento do Sistema.

3.4.2 Implementação do sistema

Para a implementação deste sistema será necessário seguir as seguintes actividade de

preparação do ambiente em que irá correr a Plataforma:

Instalação e configuração do JDK;

Instalação e configuração do servidor apache tomcat;

Instalação e configuração do SGBD Mysql;

Criação de uma base de dados para registo de dados do sistema;

3.4.3 Manual de Utilizador

O manual de utilizador encontra - se no anexo 1 do relatório.

Figura 17 Diagrama de Distribuição

Sistema de partilha de informação estudantil

Felisberto António Manganhela 41

4 Conclusões

Neste trabalho, foram abordados vários assuntos, mas todos virados à volta do tema

principal, Sistema de Partilha de Informação Estudantil, onde num estudo mais

aprofundado chegou-se a conclusão de que a construção de um sistema partilhado exige

maturidade por parte do desenvolvedor e aplicação ferramentas robustas para que o resultado

seja de certa forma, eficiente e eficaz. Numa outra vertente, um sistema de partilha de

informação entre estudantes irá contribuir para o processo de integração dos mesmos em

grupos de estudos, por consequência na melhoria da assimilação de matérias.

Acredita-se que, os objectivos propostos para a realização deste trabalho foram

alcançado na íntegra, uma vez que, a solução esperada em termos de sistema, está funcional,

obedecendo todos os requisitos previamente identificados, tanto os funcionais como os não

funcionais.

São inúmeras as vantagens que o sistema implementado, poderá trazer aos estudantes

e ou alunos que nele se cadastrarem, começando mesmo por olhar na questão de estudos

online, o que na verdade não faz parte da cultura de muitos moçambicanos, e, com um

sistema interactivo poderá criar uma nova forma de percepção neste tipo de estudos. Um outra

vantagem a destacar, é sem dúvida que, veremos um processo de ensino e aprendizagem mais

eficiente e eficaz, à exemplo disso estão países com Brasil, Portugal, entre outros que este tipo

de sistemas vulgarmente chamados Forum Estuntil, alavancaram bastante a este processo no

concernente a compenetração de matérias.

Um factor contraproducente que se pode pôr em causa, é bem direccionada a nossa

realidade, visto que, nem todos os estudantes têm acesso a internet nos seus locais de

residência, embora, com o avanço da tecnologia e principalmente com o crescimento de

serviços de telefonia e comunicação móvel, é notório assistir uma massa de pessoas que a

partir de dispositivos tão pequenos como o telemóvel, têm acesso a internet até em locais

inimagináveis, mas, não no esqueçamos que para isso existem custos.

É preciso acreditar que este trabalho foi muito importante para compreensão e

aprofundamento de conceitos sobre as ferramentas utilizadas durante o desenvolvimento do

sistema, mais concretamente o uso de frameworks na construção de aplicações web, além

disso, permitiu ainda ganhar competências de investigação, selecção, organização e

comunicação da informação.

Sistema de partilha de informação estudantil

Felisberto António Manganhela 42

4.1 Objectivos realizados

Para os objectivos traçados, desenvolvimento de um sistema de partilha de material

estudantil e estudar tecnologias de desenvolvimento como Zk framework, Spring framework e

hibernate framework, foram atingidos os resultados esperados com um grau de realização de

cem porcento.

4.2 Limitações e trabalho futuro

Neste trabalho foram implementadas várias técnicas de programação para o caso do

sistema em causa, daí que, porque vários testes foram individuais, na implementação do

sistema podem-se encontrar algumas falhas que não foram previstas, ou que, mesmo sendo

previstas não foram verificadas durante o processo de testes. A grande limitação para que isso

viesse a acontecer, foi por falta de algum espaço público (escola ou universidade), para

realização de um teste mais integrado. Portanto para sistemas do género é necessário pensar

antes na possibilidade de realização de testes integrados em trabalhos futuros para dar mais

consistência no resultado final.

É importante sublinhar que a limitação referida deveu-se principalmente por motivos

burocráticos nas instituições de ensino onde provavelmente viriam a acontecer os testes,

começando por instalação dos softwares necessários, configuração e a própria implementação.

4.3 Apreciação final

Com uma taxa de realização e alcance de objectivos de 100% e tendo em consideração

as vantagens que o sistema trará a comunidade estudantil, pode se considerar que o projecto

terminou com sucesso.

Sistema de partilha de informação estudantil

Felisberto António Manganhela 43

Bibliografia

BOENTE, A.N.; OLIVEIRA, F.S.; A. J.N. RUP como Metodologia de Desenvolvimento de

Software para Obtenção de qualidade de Software. Disponível em:

<http://www.boente.eti.br/publica/seget2008rup.pdf> Consultada em 25.04.2013.

FERNANDES, Raphaela Galhardo; LIMA, Gleydson de A. Ferreira. Anotações com

Hibernate. 2007. 99p. Natal, 2007. Disponível em:

<ftp://users.dca.ufrn.br/UnP2007/Hibernate_Anotacoes.pdf > Consultada em

19.01.2013.

JOHNSON, R; HOELLER, J. Expert one-one J2EE Development without EJB. 1 ed. Wiley

Publishing, 2004.

KRACKHARDT, David. Cognitive Social Structures. Social Networks, Irvine, v. 9, p. 109-

134, 1987.

KRUCHTEN, P. (2003) “The rational unified process: an introduction”. 3 ed. Addison

Wesley.

LARMAN, Craig, (2004), Applying UML and Patterns: An Introduction to Object-Oriented

Analysis and Design and Iterative Development, Third Edition, Addison Wesley

Professional, New Jersey, USA.

MARCONI, M.A., LAKATOS, E.M.. Fundamentos da Metodologia Científica. Atlas, 2003.

SEVERINO, Antonio Joaquim. Metodologia do trabalho científico. 19. ed. , 1993.

SOUSA, Paulo (2002), Pequeno Guia de Elaboração de Relatórios, Unidade de Ensino.

Instituto Superior de Engenharia do Porto.

WALLS, C. Spring in Action. 3.ed. Manning Publications, 2011.

http://books.zkoss.org/wiki/ZK%20Developer's%20Reference consultado 20.09.2012.

http://certificacaobd.com.br/2013/03/01/mysql-srie-de-posts-6-teoria-estruturas-de-memria

consultado á 01.03.2013.

Sistema de partilha de informação estudantil

Felisberto António Manganhela 44

http://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/ consultado á

15.05.2013

http://imasters.com.br/artigo/13460/java/envio-de-e-mail-utilizando-javamail/ consultado á

15.06.2013.

http://pt.wikipedia.org/wiki/An%C3%A1lise_de_dom%C3%ADnio, consultado no dia 22 de

Agosto de 2013

http://pt.wikipedia.org/wiki/Engenharia_de_requisitos, consultado a 22/08/2013

http://pt.wikipedia.org/wiki/Plano_de_ger%C3%AAncia_de_riscos consultado a 15.09.2013

http://pt.wikipedia.org/wiki/Spring_Framework consultado á 17.06.2013

http://pt.wikipedia.org/wiki/UML consultado á 20.08.2013

http://www.ebah.com.br/ Consultada em 02.11.2012

http://www.guj.com.br Consultada em 22.12.2012

http://www.guj.com.br/content/articles/hibernate/intruducao_hibernate3_guj.pdf Consultada

em 17.01.2013.

http://www.java-forum.org/ Consultada em 17.01.2013

https://www6.software.ibm.com/developerworks/education/j-javamail/j-javamail-a4.pdf

Consultada em 07.09.2013

Sistema de partilha de informação estudantil

Felisberto António Manganhela 45

Conteúdo em anexos

Sistema de partilha de informação estudantil

Felisberto António Manganhela 46

Anexo 1. Manual de utilizador

Sistema de partilha de informação estudantil

Felisberto António Manganhela 47

O manual do utilizador, representa um guia para que o utilizador final possa aceder ao

sistema através dos passos nele descritos.

1. Login no sistema.

A figura 18 mostra a tela de login. Para aceder o sistema como Estudante ou

Administrador o usuário deve fazer o login no sistema inserindo nesta tela os dados referentes

ao seu login e sua senha e em seguida clicar em login.

2. Registar Estudante

A figura 19 mostra a tela de registo de Estudante. Para registar - se no sistema o

usuário deve preencher o formulário ilustrado na figura abaixo e clicar em cadastrar.

3. Registar de Faculdade

Figura 18 – Tela de Login

Figura 19 – Tela Registo de Estudante

Sistema de partilha de informação estudantil

Felisberto António Manganhela 48

A figura 20 mostra a tela de registo de Faculdade. Para registar faculdade o usuário

deve estar autenticado no sistema como administrador em seguida preencher o formulário

ilustrado na figura abaixo e clicar em gravar Faculdade.

4. Registo de Curso

A figura 21 mostra a tela de registo de Curso. Para registar curso o usuário deve estar

autenticado no sistema como administrador em seguida preencher o formulário ilustrado na

figura abaixo e pressionar a tecla ENTER.

5. Publicar de material de estudo

A figura 22 mostra a tela de publicação de material de estudo. Para publicar material

de estudo o usuário deve estar autenticado no sistema como estudante e em seguida deve

preencher o formulário ilustrado na figura abaixo e clicar em publicar.

Figura 20 – Tela Registo de Faculdade

Figura 21 – Tela Registo de Curso

Sistema de partilha de informação estudantil

Felisberto António Manganhela 49

6. Denunciar e votar material de estudo

A figura 23 mostra a tela de denuncia e votação de material de estudo. Para votar ou

denunciar material de estudo o usuário deve estar autenticado no sistema como estudante e em

seguida clicar no em votar ou denuncia.

Figura 22 – Tela de publicação de material de estudo

Sistema de partilha de informação estudantil

Felisberto António Manganhela 50

7. Procura de materiais de estudo por nome

A figura 24 mostra a tela da procura de materiais de estudo. Para procurar material de

estudo o usuário inserir o titulo do material de estudo e clicar em search.

Figura 23 – Tela de votação e denuncia de material de estudo

Figura 24 – Tela de procura de materiais de estudo

Sistema de partilha de informação estudantil

Felisberto António Manganhela 51

8. Criar Grupo de estudo

A figura 25 mostra a tela de criação de grupo. Para criar um grupo o usuário deve estar

autenticado no sistema como estudante e em seguida deve inserir o nome do grupo.

9. Inserir de elemento num de grupo de estudo

A figura 26 mostra a tela de inserção de elementos num grupo. Para a inserção de

elementos num grupo de estudo o usuário deve estar autenticado no sistema como estudante e

deve ser administrador do grupo que pretende inserir elemento e em seguida deve seleccionar

o estudante pretendido e adiciona - lo.

10. Publicar de comentários nos materiais de estudo

A figura 27 mostra a tela de publicação de comentários nos materiais de estudo. Para a

publicação de comentários nos materiais de estudo o usuário deve estar autenticado no

sistema como estudante e inserir o comentário.

Figura 25 – Tela de criação de grupo

Figura 26 – Tela de inserção de elementos num grupo

Sistema de partilha de informação estudantil

Felisberto António Manganhela 52

11. Publicar de comentários nas perguntas

A figura 28 mostra a tela de publicação de comentários nas perguntas. Para a

publicação de comentários nas perguntas o usuário deve estar autenticado no sistema como

estudante e fazer parte do grupo inserir o comentário.

Figura 27 – Tela de publicação de comentários nos materiais de estudo

Figura 28 – Tela de publicação de comentários nas perguntas

Sistema de partilha de informação estudantil

Felisberto António Manganhela 53

12. Listar materiais de estudo por critério

A figura 29 mostra a tela da listagem dos materiais de estudo por critério (listagem por

acesso).

Figura 29 – Tela de Listagem de Material de estudo por critério

Sistema de partilha de informação estudantil

Felisberto António Manganhela 54

Anexo 2. Testes do sistema

Sistema de partilha de informação estudantil

Felisberto António Manganhela 55

1. Teste de Classe

Esta fase de teste é para verificar o funcionamento dos métodos, afectação das

características dos objectos e alteração das mesmas. Para efectuar este teste foi desenhado um

plano detalhado de teste para verificar as situações anómalas para a sua posterior correcção.

Classe Login (Login no sistema)

Tabela 19. Teste da classe Login

Nome do

método

Teste 1 Teste 2 Teste 3

Input Output Input Output Input Output

Login

(login,passwor

d)

------ ------- ------- -------- ------- ---------

ValidarLogin(l

ogin)

NULL Mensage

m de

erro

antonioo Mensage

m de

erro

antonio Mensagem

de

confirmaç

ão

ValidarSenha(s

enha)

NULL Mensage

m de

erro

0 Mensage

m de

erro

123456 Mensagem

de

confirmaç

ão

Classe RegistarUsuario (Registar Usuário)

Tabela 20. Teste da classe Registo de usuário

Nome do

método

Teste 1 Teste 2 Teste 3

Input Output Input Output Input Output

RegistarUsuari

o(Usuario)

------ ------- ------- -------- ------- ---------

Validarnome(n

ome)

NULL Mensage

m de

erro

David

Manhica

Mensage

m de

confirma

ção

David

Manhica

Mensagem

de

confirmaçã

o

Validarlogin(lo

gin)

NULL Mensage

m de

erro

david Mensage

m de

confirma

ção

david Mensagem

de erro

Sistema de partilha de informação estudantil

Felisberto António Manganhela 56

Validarsenha(s

enha1,senha2)

NULL Mensage

m de

erro

123456,0

0000

Mensage

m de

erro

123456,12

3456

Mensagem

de

confirmaçã

o

Validaremail(e

mail)

NULL Mensage

m de

erro

David.m

anica

Mensage

m de

erro

David.ma

nica@gma

il.com

Mensagem

confirmaçã

o

ValidarImageu

rlFoto(imagem

Foto)

NULL Mensage

m de

erro

minhaFo

to.abc

Mensage

m de

erro

minhaFoto

.png

Mensagem

confirmaçã

o

Validarcurso(c

urso)

NULL Mensage

m de

erro

YYYYY Mensage

m de

erro

Medicina Mensagem

confirmaçã

o

Validarfaculda

de(curso)

NULL Mensage

m de

erro

XXXX Mensage

m de

erro

Isctem Mensagem

confirmaçã

o

Classe RegistarCurso (Registar Curso)

Tabela 21. Teste da classe Registo de curso

Nome do

método

Teste 1 Teste 2 Teste 3

Input Output Input Output Input Output

RegistarCurso

(Curso)

------ ------- ------- -------- ------- ---------

ValidarCurso(n

ome)

NULL Mensage

m de

erro

Medicina Mensage

m de

confirma

ção

Medicina Mensagem

de erro

Classe RegistarFaculdade (Registar Faculdade)

Tabela 22. Teste da classe Registo de faculdade

Nome do

método

Teste 1 Teste 2 Teste 3

Input Output Input Output Input Output

RegistarFaculd

ade (faculdade)

------ ------- ------- -------- ------- ---------

ValidarFaculda

de(nome)

NULL Mensage

m de

erro

Instituto

Superior

de

Ciências

Mensage

m de

confirma

ção

Instituto

Superior

de

Ciências e

Mensagem

de erro

Sistema de partilha de informação estudantil

Felisberto António Manganhela 57

e

Tecnolog

ias de

Moçamb

ique

Tecnologi

as de

Moçambiq

ue

ValidarSigla(si

gla)

NULL Mensage

m de

erro

ISCTEM Mensage

m de

confirma

ção

ISCTEM Mensagem

de erro

Classe PublicarMaterialEstudo (Publicar Material de Estudo)

Tabela 23. Teste da classe Publicar material de estudo

Nome do

método

Teste 1 Teste 2 Teste 3

Input Output Input Output Input Output

PublicarMateri

alEstudo(mater

ialEstudo)

------ ------- ------- -------- ------- ---------

ValidarTitulo(n

ome)

NULL Mensage

m de

erro

Introduç

ão a

program

ação java

Mensage

m de

confirma

ção

Introdução

a

programaç

ão java

Mensagem

de

confirmaçã

o

ValidarArquiv

o(arquivo)

NULL Mensage

m de

erro

Java.pdf Mensage

m de

confirma

ção

Java.pdf Mensagem

de

confirmaçã

o

Classe PublicarPergunta(Publicar Pergunta)

Tabela 24. Teste da classe Publicar pergunta

Nome do

método

Teste 1 Teste 2 Teste 3

Input Output Input Output Input Output

PublicarPergun

ta(materialEstu

do)

------ ------- ------- -------- ------- ---------

ValidarTitulo(n

ome)

NULL Mensage

m de

erro

Program

ação java

Mensage

m de

confirma

ção

Programaç

ão java

Mensagem

de

confirmaçã

o

ValidarPergunt

a(nome)

NULL Mensage

m de

Como é

feita a

Mensage

m de

Como é

feita a

Mensagem

de

Sistema de partilha de informação estudantil

Felisberto António Manganhela 58

erro declaraçã

o de

variáveis

confirma

ção

declaração

de

variáveis

confirmaçã

o

ValidarGrupo(

grupo)

NULL Mensage

m de

erro

Program

adores

java

Mensage

m de

confirma

ção

XXXXX Mensagem

de erro

Classe CriarGrupo (Criar Grupo)

Tabela 25. Teste da classe Criar Grupo

Nome do

método

Teste 1 Teste 2 Teste 3

Input Output Input Output Input Output

CriarGrupo(gru

po)

------ ------- ------- -------- ------- ---------

ValidarGrupo(

nome)

NULL Mensage

m de

erro

Program

adores

Java

Mensage

m de

confirma

ção

Programad

ores Java

Mensagem

de erro

Classe ComentarPergunta (Comentar Pergunta)

Tabela 26. Teste da classe Comentar Pergunta

Nome do

método

Teste 1 Teste 2 Teste 3

Input Output Input Output Input Output

ComentarPergu

nta(comentario

)

------ ------- ------- -------- ------- ---------

ValidarComent

ario(nome)

NULL Mensage

m de

erro

O

formato

é : tipo

variável;

Mensage

m de

confirma

ção

O formato

é : tipo

variável;

Mensagem

de

confirmaçã

o

2. Teste de Defeitos

Para a fase de teste de defeito foram distinguidos alguns casos de teste, que estão

descritos mais abaixo, considerados mais importantes do sistema para o seu pleno

funcionamento. Nesta fase teste é usado o teste de Caixa.

Casos de Teste

Sistema de partilha de informação estudantil

Felisberto António Manganhela 59

- Registo de um usuário já existente;

- Verificar o login no sistema com dados de um usuário não cadastrado no sistema;

- Verificação da dupla votação de um material de estudo pelo mesmo usuário;

- Verificação da dupla denuncia de um material de estudo pelo mesmo usuário;

- Usuário que não é administrador de um grupo inseri de elementos neste;

- Procurar por material de estudo não existente no sistema.

Dados de Teste

Tabela 27. Teste de defeito

Caso de Teste Dados de input Dados de Output

Registo de um usuário já

existente

Efectuar o registo de um

usuário já existente

Mensagem de erro usuário

já existente.

Verificar o login no sistema

com dados de um usuário

não cadastrado no sistema

Efectuar o login com dados

de um usuário não

cadastrado no sistema

Mensagem de erro usuário

não cadastrado no sistema.

Verificação da dupla

votação de um material de

estudo pelo mesmo usuário

Efectuar dupla votação num

material de estudo com o

mesmo usuário

Mensagem de erro usuário

efectuou a votação deste

material de estudo.

Verificação da dupla

denuncia de um material de

estudo pelo mesmo usuário

Efectuar dupla denuncia

num material de estudo com

o mesmo usuário

Mensagem de erro usuário

efectuou a denuncia deste

material de estudo.

Usuário que não é

administrador de um grupo

inseri de elementos neste

Efectuar a inserção de

elementos num grupo de

estudo por um usuário que

não é administrador

Mensagem de erro usuário

não tem privilegio de

inserir elementos neste

grupo

Procurar por material de

estudo não existente no

sistema

Titulo

XXXXXXXXXXXX

Mensagem de erro material

de estudo não encontrado

no sistema

3. Teste de interfaces

O teste de interface serve para verificar o funcionamento entre as transacções entre

interfaces e os dados que são trocadas nesta transacção. Para efectuar este teste foram

previstos alguns erros possíveis e os teste que foram feitos para verificar os testes.

Possíveis Erros

- Verificar se os dados passados entre interfaces são os correctos.

Sistema de partilha de informação estudantil

Felisberto António Manganhela 60

- Verificar a prioridade entre interfaces.

Os Testes a efectuar

- Analisar o código e verificar se as chamadas de componentes externos estão a ser chamadas

correctamente.

- Testar se sempre que aparece uma nova interface a interface anterior bloqueia.

4. Teste de performance

É o tipo de teste realizado para se verificar o tempo de resposta de uma aplicação,

determinando assim a sua escalabilidade e confiança levando-se em consideração uma

carga(load) (http://www.linhadecodigo.com.br/artigo/3256/teste-de-desempenho-conceitos-

objetivos-e-aplicacao-parte-1.aspx consultado a 15.09.2013).

Tabela 28. Teste de Performance

Teste de performance

Funcionalidade Tempo de resposta (ms)

Login no sistema 42

Registar Estudante 41

Registar Faculdade 37

Registar Curso 36

Publicar material de estudo 71

Denunciar material de estudo 22

votar material de estudo 26

Procurar material de estudo por nome 67

Visualizar materiais de estudo 24

Publicar pergunta 43

Criar grupo 31

Inserir elementos no grupo 52

publicação de comentários dos matérias de estudo 54

publicação de comentários das perguntas 57

Sistema de partilha de informação estudantil

Felisberto António Manganhela 61

Listar materiais de estudo por acessos 75

Listar estudantes por números de materiais de estudo 62