TCC Leonardo Lima Cabral
TCC Leonardo Lima Cabral
TCC Leonardo Lima Cabral
Niterói
2017
LEONARDO LIMA CABRAL
Orientadora:
Helga Dolorico Balbi
NITERÓI
2017
Ficha catalográfica automática - SDC/BEE
Gerada com informações fornecidas pelo autor
CDD -
_________________________________________
Profa. Helga Dolorico Balbi, Msc. - Orientadora
UFF - Universidade Federal Fluminense
_________________________________________
Profª. Julliany Brandão, Dsc. - Avaliadora
CEFET/RJ - Centro Federal de Educação Tecnológica Celso Suckow da Fonseca
Dedico este trabalho a toda minha família e
amigos.
AGRADECIMENTOS
Due to the great difficulties faced by students in carrying out their monographs, this
course conclusion paper aims to present a system for the management of course
completion works that has as main idea the simplification of the interaction of stu-
dents among themselves and between their respective supervisors. The system was
implemented using a variety of technology applications, such as programming lan-
guage, database management system, framework, template, project file version con-
trol system, among other software and services. In the current market there are a
large number of systems directed to the area of project management. The proposed
system differs by greatly facilitating the communication between those involved in the
elaboration of the works, streamlining in the process of completing them.
1 INTRODUÇÃO ................................................................................................... 15
2 TRABALHOS RELACIONADOS ........................................................................ 17
2.1 ASANA ......................................................................................................... 18
2.2 ORANGESCRUM ......................................................................................... 19
2.3 FREEDCAMP ............................................................................................... 20
2.4 WRIKE ......................................................................................................... 21
2.5 CONSIDERAÇÕES SOBRE O TCC ONLINE .............................................. 22
3 ENGENHARIA DE REQUISITOS....................................................................... 23
3.1 ENVOLVIDOS NO SISTEMA ....................................................................... 23
3.2 REQUISITOS FUNCIONAIS ........................................................................ 24
3.3 REQUISITOS NÃO FUNCIONAIS ............................................................... 25
4 MODELAGEM DO SISTEMA ............................................................................. 26
4.1 CASOS DE USO .......................................................................................... 27
4.1.1 DIAGRAMA DE CASOS DE USO ......................................................... 28
4.1.2 DESCRIÇÃO DOS CASOS DE USO .................................................... 30
4.2 DIAGRAMAS DE ATIVIDADES .................................................................... 39
4.2.1 CADASTRO ........................................................................................... 40
4.2.2 ACESSO ................................................................................................ 41
4.2.3 CRIAÇÃO DE PROJETO....................................................................... 42
4.2.4 ADICIONAR MEMBRO .......................................................................... 43
4.2.5 ADICIONAR COMENTÁRIO.................................................................. 44
4.2.6 FINALIZAR PROJETO .......................................................................... 45
5 FERRAMENTAS UTILIZADAS .......................................................................... 46
6 APRESENTAÇÃO DO SISTEMA FINAL E RESULTADOS DE TESTES .......... 48
6.1 CADASTRO NO SISTEMA .......................................................................... 48
6.2 CADASTRO ATIVADO ................................................................................. 49
6.3 ACESSO PARA LOGAR .............................................................................. 50
6.4 PAINEL DE CONTROLE .............................................................................. 51
6.5 PERFIL DO USUÁRIO ................................................................................. 52
6.6 EDIÇÃO DE DADOS PESSOAIS ................................................................. 53
6.7 PROJETOS DO USUÁRIO .......................................................................... 54
6.8 CRIAÇÃO DOS PROJETOS ........................................................................ 55
6.9 DASHBOARD DE UM PROJETO ................................................................ 56
6.10 ADIÇÃO DE NOVO MEMBRO .................................................................. 57
6.11 MEMBRO ADICIONADO .......................................................................... 58
6.12 CRIAÇÃO DE NOVA TAREFA ................................................................. 59
6.13 TAREFA CRIADA ..................................................................................... 60
6.14 TODAS AS TAREFAS .............................................................................. 61
6.15 FECHAR TAREFA .................................................................................... 62
6.16 TAREFA FECHADA .................................................................................. 63
6.17 CRIAÇÃO DE NOVA VERSÃO ................................................................. 64
6.18 VERSÃO CRIADA..................................................................................... 65
6.19 TODAS AS VERSÕES .............................................................................. 66
6.20 COMENTÁRIO NA VERSÃO .................................................................... 67
6.21 COMENTÁRIO ADICIONADO .................................................................. 68
6.22 ÚLTIMAS VERSÕES ................................................................................ 69
6.23 FINALIZAR PROJETO .............................................................................. 70
6.24 PROJETO FINALIZADO ........................................................................... 71
7 CONCLUSÕES E TRABALHOS FUTUROS ...................................................... 72
8 REFERÊNCIAS BIBLIOGRÁFICAS ................................................................... 73
15
1 INTRODUÇÃO
2 TRABALHOS RELACIONADOS
2.1 ASANA
2.2 ORANGESCRUM
2.3 FREEDCAMP
2.4 WRIKE
3 ENGENHARIA DE REQUISITOS
edita seu perfil, cria versões prévias do projeto, comenta nas versões do pro-
jeto.
São stakeholders do projeto TCC Online:
Segurança - Sistema deve usar criptografia nas senhas e garantir que somen-
te usuários cadastrados acessem conteúdos internos dentro de suas respecti-
vas hierarquias.
Usabilidade - Sistema deve ser intuitivo, com uma interface amigável e sim-
ples acessibilidade, garantindo uma maior aceitação dos usuários.
Confiabilidade - Sistema deve saber lidar com eventos inesperados, se recu-
perar de falhas sem que ocorram perdas de dados, assim como realizar fre-
quentes gerações de backups.
Padrão - Sistema deverá possuir padronização de interface e código utiliza-
dos no desenvolvimento do software. É fundamental no auxílio à manutenção
e atualização do sistema.
Desempenho - Sistema deve possuir uma performance eficiente, operar de
maneira suave, assegurando que todos os clientes tenham a possibilidade de
utilizar o sistema do mesmo modo, independente da velocidade de conexão
com a Internet.
Hardware e Software - Sistema deve ser capaz de executar sobre as plata-
formas Windows e Linux e a máquina deve ser equipada com interface física
de rede para acesso online.
26
4 MODELAGEM DO SISTEMA
Casos de uso foram criados por Ivar Jacobson em 1986 [12], caracterizam
o desempenho do sistema ou partes dele e descrevem a funcionalidade do mesmo,
desempenhada pelos atores. Pode se comparar um caso de uso a um conjunto de
situações, onde cada uma é uma sequência de passos a qual descreve uma relação
entre um usuário e o sistema.
28
Fluxo principal:
1. O sistema exibe a tela de registro contendo as seguintes informações:
1.1. Campo “Nome”.
1.2. Campo “Sobrenome”.
1.3. Campo “Email”.
1.4. Opções de “Orientador ou orientado”.
1.5. Campo “Instituição de Ensino”.
1.6. Botão “Registrar-se”
2. O ator preenche o campo “Nome”.
3. O ator preenche o campo “Sobrenome”.
4. O ator preenche o campo “Email”.
5. O ator escolhe entre as opções ”Orientador ou orientado”.
6. O ator clica no botão “Registrar-se”.
7. O sistema valida o ator.
8. O sistema envia link de ativação para email do ator.
9. O sistema mostra tela de cadastro efetuado com sucesso.
Fluxo alternativo 1:
1. O ator clica no botão cadastrar sem preencher os campos obrigatórios.
2. O sistema exibe uma mensagem de “Campos obrigatórios”.
31
Fluxo principal:
1. O sistema exibe a tela de Login contendo as seguintes informações:
1.1. Campo “Email”.
1.2. Campo “Senha”.
1.3. Botão “Logar”.
2. O ator preenche o campo “Email”.
3. O ator preenche o campo “Senha”.
4. O ator clica no botão “Logar”.
5. O sistema valida o ator.
6. O sistema exibe uma tela com o dashboard geral.
Fluxo alternativo 1:
1. O ator não preenche errado algum dos campos.
2. O sistema exibe mensagem de “Erro” na tela.
Fluxo Principal:
1. O sistema exibe a tela de Dashboard contendo as seguintes informações:
1.1. Opção “Projetos”.
1.2. Opção “Tarefas”.
1.3. Opção “Orientados”.
2. O ator seleciona a opção “Projetos”.
32
Fluxo Principal:
1. O sistema exibe a tela de Perfil contendo as seguintes informações:
1.1. Informações variadas sobre o ator.
1.2. Opção de acessar o Dashboard.
2. O ator visualiza as informações apresentadas.
3. O ator retorna ao Dashboard.
33
Fluxo Principal:
1. O sistema exibe a tela de Editar informações Pessoais contendo as seguintes
informações:
1.1. Editar “Formação”.
1.2. Editar “Notas”.
1.3. Editar “UF”.
1.4. Editar “Cidade”.
1.5. Botão “Editar”.
2. O ator preenche o campo “Formação”.
3. O ator clica no botão “Editar”.
4. O sistema altera “Formação”.
Fluxo alternativo 1:
1. O ator preenche o campo “Notas”.
2. O ator clica no botão “Editar”.
3. O sistema altera “Notas”.
Fluxo alternativo 2:
1. O ator preenche o campo “UF”.
2. O ator clica no botão “Editar”.
3. O sistema altera “UF”.
Fluxo alternativo 3:
4. O ator preenche o campo “Cidade”.
5. O ator clica no botão “Editar”.
6. O sistema altera “Cidade”.
Ator: Orientador.
Pré-requisito: Ator cadastrado e logado no sistema.
Fluxo Principal:
1. O sistema exibe a tela de Criar novo projeto contendo as seguintes informações:
1.1. Campo “Nome”.
1.2. Campo “Descrição”.
1.3. Campo “Instituição”.
1.4. Campo “Data de início”.
1.5. Campo “Data de término”.
1.6. Botão “Criar”.
2. O ator preenche os campos.
3. O ator clica no botão “Criar”.
4. O sistema salva um novo projeto.
Fluxo alternativo 1:
1. O ator clica no botão “Criar” sem preencher todos os dados.
2. O sistema exibe uma mensagem de “Erro” na tela.
Fluxo principal:
1. O sistema exibe a tela de Novo membro contendo as seguintes informações:
1.1. Campo “Email” do membro convidado.
1.2. Botão “Adicionar”.
1.3. Botão “Salvar”.
2. O ator preenche o email do membro convidado.
3. O ator clica no botão “Adicionar”.
4. O sistema exibe informações do novo membro a ser cadastrado.
35
Fluxo Principal:
1. O sistema exibe a tela de Criar tarefas contendo as seguintes informações:
1.1. Campo “Nome”.
1.2. Campo “Descrição”.
1.3. Campo “Atribuído a”.
1.4. Botão “Criar”.
2. O ator preenche os campos.
3. O ator clica no botão “Criar”.
4. O sistema salva a tarefa.
Fluxo alternativo 1:
1. O ator não preenche algum campo.
2. O ator clica no botão “Criar”.
3. O sistema exibe uma mensagem de “Erro” na tela.
Fluxo Principal 1:
1. O sistema exibe a tela de Fechar tarefas contendo as seguintes informações pre-
enchidas:
1.1. Campo “Nome”.
1.2. Campo “Descrição”.
1.3. Campo “Atribuído a”.
1.4. Campo “Projeto”.
1.5. Campo “Status”.
1.6. Campo “Aberta por”.
1.7. Campo “Data da criação”.
1.8. Campo “Informações”.
1.9. Botão “Fechar”.
1.10. Opção de acessar o Dashboard.
2. O ator visualiza as informações na tela.
3. O ator clica no botão “Fechar”.
4. O sistema exibe uma mensagem de “Tarefa finalizada” na tela.
Fluxo alternativo 1:
1. O ator visualiza as informações na tela.
2. O ator clica na opção de acessar o Dashboard.
Fluxo Principal:
1. O sistema exibe a tela de Criar nova versão contendo as seguintes informações:
1.1. Campo “Nome da versão”.
1.2. Campo “Descrição”.
37
Fluxo Principal:
1. O sistema exibe a tela de Visualizar versões contendo as seguintes informações:
1.1. Campo “Palavra-chave”.
1.2. Campo “Usuário”.
1.3. Campo “De - Até”.
1.4. Campo “Status”.
1.5. Botão “Filtrar”.
2. O ator preenche os campos.
3. O ator clica no botão “Filtrar”.
4. O sistema exibe as versões filtradas na tela.
Fluxo alternativo 1:
1. O ator preenche os campos.
2. O ator clica no botão “Filtrar”.
38
Fluxo Principal:
1. O sistema exibe a tela de Comentar versões contendo as seguintes informações:
1.1. Campo “Mensagem”.
1.2. Botão “Criar”.
2. O ator preenche a mensagem.
3. O ator clica no botão “Criar”.
4. O sistema salva o comentário.
Fluxo alternativo 1:
1. O autor não preenche a mensagem.
2. O autor clica no botão “Criar”.
3. O sistema exibe uma mensagem de “Erro” na tela.
Fluxo Principal:
1. O sistema exibe a tela de Finalizar projeto contendo as seguintes informações:
1.1. Mensagem de alerta: “Atenção! Se você finalizar o projeto não serão permi-
tidas quaisquer alterações!”
1.2. Campo de escolha “O projeto foi finalizado com sucesso? Sim ou Não.”
39
4.2.1 CADASTRO
4.2.2 ACESSO
5 FERRAMENTAS UTILIZADAS
Foram utilizados para alojar o código versionado desse projeto, o Git, sis-
tema de controle de versão de arquivos no qual é possível desenvolver projetos nos
quais diversas pessoas podem contribuir simultaneamente nos mesmos, editando e
criando novos arquivos e permitindo que esses possam existir sem o risco de suas
alterações serem sobrescritas, e o GitHub que se trata de um serviço web provedor
de funcionalidades extras aplicadas ao Git, permitindo que usuários acompanhem
novas versões de projetos, contribuam com informações sobre bugs ou até mesmo
enviem códigos e correções [18].
Além disso, para gerar os diagramas apresentados no capítulo 4, foi utili-
zado o software Astah UML 6.6.4/41775 [19].
48
Caso o usuário seja um Orientador, ele tem autonomia para adicionar no-
vos membros para participar dos projetos. Isso é o que mostra a Figura 22.
Para o usuário criar uma nova tarefa ele pode acessar a página “Tarefa”,
criar uma nova tarefa colocando seu nome, descrição e atribuí-la a usuários especí-
ficos, conforme mostra a Figura 24.
Logo após uma tarefa ser fechada, uma tela de alerta de fechamento é
exibida com os campos nome da tarefa, descrição, usuário que abriu a tarefa, a data
em que foi encerrada, data de criação, atribuição, status, mensagem de encerramen-
to e três botões: editar, excluir e voltar. A Figura 28 apresenta essa tela.
Para o usuário criar uma nova versão do projeto ele pode acessar a pági-
na “Versão” e criar atribuindo seu nome, descrição e escolher arquivos com exten-
são PDF (Portable Document Format) ou DOC (uma abreviação de document), con-
forme mostra a Figura 29.
Este trabalho apresentou o projeto do sistema TCC Online, que tem como
principal função auxiliar na simplificação da interação entre alunos que elaboram
TCCs entre si e entre seus respectivos orientadores.
O sistema foi implementado utilizando vários dispositivos como linguagem
de programação PHP (Hypertext Preprocessor), sistema de gerenciamento de banco
de dados MySQL, Framework Bootstrap, linguagens Html5 (HyperText Markup Lan-
guage) e CSS3 (Cascading Style Sheets), template AdminLTE, Gravatar, sistema de
controle de versão de arquivos Git, GitHub (serviço web relacionado ao Git) e sof-
tware Astah, para a geração dos diagramas apresentados nesse TCC.
Os resultados dos testes realizados com o sistema mostraram que o
mesmo foi capaz de atender aos requisitos especificados no decorrer do projeto, e o
objetivo de facilitar a organização da elaboração de TCCs poderá ser facilmente al-
cançado com o uso do sistema proposto.
Na esfera da computação, os sistemas de TI (Tecnologia da Informação),
regularmente necessitam de novas implementações devido o surgimento de novas
tecnologias com bastante frequência, portanto, relacionando trabalhos futuros, é ne-
cessário inserir no sistema o serviço de manutenção evolutiva com a finalidade de
que permaneça sempre atualizado, adequado às necessidades do usuário e que se
conserve a garantia de qualidade. Pesquisas contínuas e acréscimo de módulos
complementares ao sistema também devem ser considerados.
73
8 REFERÊNCIAS BIBLIOGRÁFICAS
1. ASANA, INC. Terms and Policies. ASANA, 27 Abril 2015. Disponivel em:
<https://asana.com/terms>. Acesso em: 18 Setembro 2017.
2. ANDOLASOFT. Terms Of Service. Orange Scrum, 2011. Disponivel em:
<https://www.orangescrum.com/termsofservice>. Acesso em: 18 Setembro
2017.
3. FREEDCAMP, INC. Terms of Service (TOS). Freedcamp, 2016. Disponivel
em:
<https://freedcamp.com/Freedcamp_LxR/Freedcamp_Devel_yOf/wiki/wiki_p
ublic/view/O8bab>. Acesso em: 18 Setembro 2017.
4. WRIKE, INC. Terms of services. Wrike, 2017. Disponivel em:
<https://www.wrike.com/security/terms/>. Acesso em: 18 Setembro 2017.
5. BURGER, R. Capterra Project Management Blog. Capterra, 23 Janeiro
2017. Disponivel em: <http://blog.capterra.com/free-open-source-project-
management-software/>. Acesso em: 25 Agosto 2017.
6. EQUIPE P1P. Gráfico ou Diagrama de Gantt. Priority Partners, 2015.
Disponivel em: <http://p1p.com.br/blog/diagrama-de-gantt/>. Acesso em: 18
Setembro 2017.
7. IEEE SOFTWARE ENGINEERING STANDARDS COLLECTION. Standard:
IEEE Std 610 - IEEE Standard Glossary of Software Engineering
Terminology. PROJECT PERFORMANCE INTERNATIONAL, 2010.
Disponivel em: <http://segoldmine.ppi-int.com/content/standard-ieee-std-
610-ieee-standard-glossary-software-engineering-terminology>. Acesso em:
Setembro 26 2017.
8. QUITERIO, A. P. Análise de Requisitos. Info Escola - Navegando e
Aprendendo, 2012. Disponivel em: <http://www.infoescola.com/engenharia-
de-software/analise-de-requisitos/>. Acesso em: 22 Setembro 2017.
9. XEXÉO, G. Arquitetura e Projetos de Sistemas I - Usuários e Stakeholders.
Fundação CECIERJ/Consórcio CEDERJ e Video Aula RNP. Disponivel
74
em:
<http://videoaula.rnp.br/v.php?f=/cederj/sistemas_comp/ead05018/Aula_006
/Aula_006.xml>. Acesso em: 22 Setembro 2017.
10. CELESTINO, A. L. A importância dos requisitos não-funcionais.
Profissionais TI, 2013. Disponivel em:
<https://www.profissionaisti.com.br/2013/02/a-importancia-dos-requisitos-
nao-funcionais/>. Acesso em: 22 Setembro 2017.
11. OLIVEIRA, P. D. S. R. B. CBSI – Curso de Bacharelado em Sistemas de
Informação. UFPA - Universidade Federal de Pará. Disponivel em:
<http://www.ufpa.br/srbo/Disciplinas/CBSIAPS/Aulas/Aula03.pdf>. Acesso
em: 29 Outubro 2017.
12. XEXÉO, G. Modelagem de Sistemas de Informação - Da análise de
requisitos ao modelo de interface. Jan/2007. ed. [S.l.]: Creative
Commons.
13. NETO, E. R. Diagramas - Construindo Diagramas UML. UFCG -
Universidade Federal de Campina Grande. Disponivel em:
<http://www.dsc.ufcg.edu.br/~sampaio/cursos/2007.1/Graduacao/SI-
II/Uml/diagramas/usecases/usecases.htm>. Acesso em: 29 Outubro 2017.
14. VASCONCELOS, A. PHP: o que é e quais suas características? Seção
Web, 2013. Disponivel em: <https://secaoweb.com.br/blog/php-o-que-e-e-
quais-suas-caracteristicas/#>. Acesso em: 01 Novembro 2017.
15. SADALA, N. Sigma Plus. Conhecendo o Bootstrap, framework de
desenvolvimento responsivo, 2016. Disponivel em:
<https://www.sigmaplus.net.br/conhecendo-o-bootstrap/>. Acesso em: 01
Novembro 2017.
16. ALMSAEED, A. AdminLTE Features. AdminLTE, 2014. Disponivel em:
<https://adminlte.io/>. Acesso em: 01 Novembro 2017.
17. TEAM, A. What Is Gravatar? Gravatar. Disponivel em:
<https://pt.gravatar.com/support/what-is-gravatar/>. Acesso em: 30 Outubro
2017.
18. SCHMITZ, D. Tableless. Tudo que você queria saber sobre Git e GitHub,
75