Sistema de Partilha de Informação Estudantil
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 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