Buscar

DMS-SI AGENDA - FINAL


Continue navegando


Prévia do material em texto

21
UNIVERSIDADE ESTADUAL DE GOIÁS
CÂMPUS ANÁPOLIS DE CIÊNCIAS EXATAS E TECNOLÓGICAS HENRIQUE SANTILLO 
BACHARELADO EM SISTEMAS DE INFORMAÇÃO
Jonathan Henrique de Melo Souza
UEG Agenda: Agenda colaborativa entre alunos
Anápolis
Dezembro, 2017 
UNIVERSIDADE ESTADUAL DE GOIÁS
CÂMPUS ANÁPOLIS DE CIÊNCIAS EXATAS E TECNOLÓGICAS HENRIQUE SANTILLO
BACHARELADO EM SISTEMAS DE INFORMAÇÃO
Jonathan Henrique de Melo Souza
UEG Agenda: Agenda colaborativa entre alunos
Orientadora: Prof. Ms. Hellen Carmo de oliveira matos
1
Anápolis
Dezembro, 2017
TERMO DE AUTORIZAÇÃO PARA DISPONIBILIZAÇÃO DE TRABALHOS DE CURSOS NO BANCO DE DADOS ELETRÔNICO DO CÂMPUS ANÁPOLIS DE CIÊNCIAS EXATAS E TECNOLÓGICAS HENRIQUE SANTILLO
 
Eu, Jonathan Henrique de Melo Souza portador do RG n° 5991017 Org. Exp. SSP, inscrito no CPF nº: 70105574112, domiciliado no logradouro Rua construtor José Francisco, CEP: 75125040 na cidade de Anápolis, estado de Goiás. 
Na qualidade de titular dos direitos de autor que recaem sobre o meu trabalho de conclusão de curso, tipo: Desenvolvimento de Software, intitulado - Ueg Agenda: Agenda colaborativa entre alunos, defendido em 20/11/2017, junto a banca examinadora do curso de Sistemas de Informação, com fundamento nas disposições da lei nº 9.610 de 19 de fevereiro de 1998, autorizo a disponibilização total da obra citada, sem ressarcimento de direitos autorais, para fins de leitura, impressão e/ou downloading pela Internet, a título de divulgação da produção científica gerada pela Universidade Estadual de Goiás / CCET de Anápolis, a partir desta data.
Assim, autorizo a disponibilização total do meu trabalho, estando ciente que o conteúdo disponibilizado é de minha inteira responsabilidade.
Anápolis, 01 de dezembro de 2017.
3
Jonathan Henrique de Melo Souza
RESUMO
	Organização pessoal é de extrema importância para todos, auxiliando áreas como vida acadêmica, pessoal, profissional entre outras a se organizarem corretamente.
	O problema que o projeto tenta resolver é justamente a atuação nessas áreas, os alunos de cursos acadêmicos em geral não possuem alguma agenda, física ou eletrônica para os auxiliar na organização pessoal.
A Ueg Agenda foi proposta para ser uma ferramenta web colaborativa entre os alunos do próprio curso, buscando conciliar a comodidade de não se preocupar em fazer manutenção das informações da agenda com a pro-atividade dos alunos em ajudar os outros.
Com o objetivo de tornar o sistema mais eficaz e confiável as informações têm origens dos próprios alunos. Será dada a possibilidade cadastrado junto aos eventos de usarem grades escolares individuais assim se organizando com mais eficiência.
	
Palavras-chave: Organização pessoal, Agenda, Grade escolar, Colaboração
LISTA DE ABREVIATURAS E SIGLAS
Sigla 	 Descrição
CA 		 Centro acadêmico
CASI 		 Centro acadêmico de sistemas de informação
UEG 		 Universidade Estadual de Goiás
LISTA DE ILUSTRAÇÕES
Figura 1 - Cronograma 1	14
Figura 2 - Cronograma 2	14
Figura 3 - Processo de desenvolvimento de software completo	26
Figura 4 - Processo de desenvolvimento de software P1	27
Figura 5 - Processo de desenvolvimento de software P2	28
Figura 6 - Processo de desenvolvimento de software P3	29
Figura 7 - Processo de desenvolvimento de software P4	30
Figura 8 - Processo de desenvolvimento de software P5	31
Figura 9 - Processo de desenvolvimento de software P6	32
Figura 10 - Telas de Login	34
Figura 11 - Telas de manter curso	41
Figura 12 - Telas de manter evento	46
Figura 13 - Telas de manter Tipo de evento	51
Figura 14 - Telas de manter origem de evento	55
Figura 15 - Telas de manter matéria	59
Figura 16 - Telas de gerador de acesso provisório.	62
Figura 17- Telas de perfil de acesso	67
Figura 18 - Telas de manter aluno	73
Figura 19 - Telas de manter Agenda	77
Figura 20 - Tela de relatório	80
Figura 21 - Diagrama geral de caso de uso	82
Figura 22 - Diagrama de atividade de Login	83
Figura 23 - Diagrama de atividade do cenário incluir	86
Figura 24 - Diagrama de atividade do cenário pesquisar	89
Figura 25 - Diagrama de atividade do cenário alterar	92
Figura 26 - Diagrama de atividade do cenário excluir	95
Figura 27 - Diagrama de atividade do cenário pesquisar com "mais filtros"	98
Figura 28 - Diagrama de atividade do cenário incluir - Acesso provisório	101
Figura 29 - Diagrama de atividade do cenário gerar PDF – Relatório	104
Figura 30 - Diagrama de atividade alterar aluno - Fluxo alternativo	111
Figura 31 - MR	132
Figura 32 - MER	134
Figura 33 - Diagrama de implantação e componentes	135
Figura 34 - Diagrama de pacotes	136
Figura 35 - Diagrama de classes P1	137
Figura 36 - Diagrama de classes P2	138
Figura 37 - Diagrama de classes completo	155
Figura 38 – Banner	156
LISTA DE QUADROS
Quadro 1 - Quadro de revisões	9
Quadro 2 - Lista de abreviaturas nos artefatos	14
Quadro 3 - Lista de requisitos	19
Quadro 4 - Quadro de riscos	20
Quadro 5 - Requisito R10 – Login	33
Quadro 6 - Requisito R05 – Manter curso	35
Quadro 7 - Requisito R02 – Manter evento	41
Quadro 8 - Requisito R03 – Manter tipo de evento	47
Quadro 9 - Requisito R04 – Manter Origem de evento	51
Quadro 10 - Requisito R06 – Manter Matéria	55
Quadro 11 - Requisito R11 – Gerador de acesso provisório.	59
Quadro 12 - Requisito R09– Perfil de Acesso	63
Quadro 13 - Requisito R07 - Controle de permissões.	67
Quadro 14 - Requisito R01 – Manter aluno	68
Quadro 15 - Requisito R08 – Agenda	73
Quadro 16 - Requisito R12 - Relatório	78
Quadro 17 - Relação de casos de uso	80
Quadro 18 - Relação de atores	81
Quadro 19 - Caso de uso Login	84
Quadro 20 - Caso de uso genérico – incluir	87
Quadro 21 - Caso de uso genérico – pesquisar	90
Quadro 22 - Caso de uso genérico – alterar	93
Quadro 23 - Caso de uso genérico – excluir	96
Quadro 24 - Caso de uso genérico - mais filtros	99
Quadro 25 - Caso de uso Gerador de acesso provisório – Incluir	102
Quadro 26 - Relatório – Imprimir	105
Quadro 27 - Manter curso – incluir	106
Quadro 28 - Manter curso – pesquisar	107
Quadro 29 - Manter curso – alterar	107
Quadro 30 - Manter curso – excluir	107
Quadro 31 - Manter curso - mais filtros	108
Quadro 32 - Manter evento – incluir	108
Quadro 33 - Manter evento – pesquisar	109
Quadro 34 - Manter evento – alterar	109
Quadro 35 - Manter evento – excluir	109
Quadro 36 - Manter evento - mais filtros	110
Quadro 37 - Manter aluno – incluir	110
Quadro 38 - Manter aluno – pesquisar	111
Quadro 39 - Manter aluno – alterar	112
Quadro 40 - Manter aluno – excluir	112
Quadro 41- Manter evento - mais filtros	113
Quadro 42 - Tipo de evento – incluir	113
Quadro 43 - Tipo de evento – pesquisar	113
Quadro 44 - Tipo de evento – alterar	114
Quadro 45 - Tipo de evento – excluir	114
Quadro 46 - Origem de evento – incluir	115
Quadro 47 - Origem de evento – pesquisar	115
Quadro 48 - Origem de evento – alterar	115
Quadro 49 - Origem de evento – excluir	116
Quadro 50 - Manter matéria – incluir	116
Quadro 51 - Manter matéria – pesquisar	117
Quadro 52 - Manter matéria – alterar	117
Quadro 53 - Manter matéria – excluir	117
Quadro 54 - Perfil Acesso – incluir	118
Quadro 55 - Perfil Acesso – pesquisar	118
Quadro 56 - Perfil Acesso – alterar	119
Quadro 57 - Perfil Acesso – excluir	119
Quadro 58 - Agenda – incluir	120
Quadro 59 - Agenda – pesquisar	120
Quadro 60 - Agenda – alterar	120
Quadro 61 - Agenda – excluir	121
Quadro 62 – Cenário adicionar evento a agenda	123
Quadro 63 – Cenário alterar evento da agenda.	126
Quadro 64 – Cenário excluir evento da agenda.	129
Quadro 65 - Gerador de acesso provisório – pesquisar	130
Quadro 66 - Gerador de acesso provisório – pesquisar	131
Quadro 67 - Caso de teste 01 - Manter evento	139
Quadro 68 - Caso de teste 02 - Manter evento	140
Quadro 69 - Caso de teste 03 - Manter evento	140
Quadro 70 - Caso de teste 01 - Agenda	141
Quadro 71 - Caso de teste 02- Agenda	142
Quadro 72 - Caso de teste 03 - Agenda	143
Quadro 73 - Caso de teste 01 - Gerador de acesso provisório	143
Quadro 74 - Laudo relatório de teste - Manter evento	144
Quadro 75 - Laudo 01 - Manter evento	144
Quadro 76 - Laudo 02 - Manter evento	144
Quadro 77 - Laudo 03- Manter evento	144
Quadro 78 - Laudo relatório de teste – Agenda	145
Quadro 79 - Laudo 01 - Agenda	145
Quadro 80 - Laudo 02 – Agenda	145
Quadro 81 - Laudo 03 – Agenda	145
Quadro 82 - Laudo relatório de teste – Gerador de acesso provisório	146
Quadro 83 - Laudo 01 - Gerador de acesso provisório	146
Quadro 84 - Ata de reunião 01	150
Quadro 85 - Ata de reunião 02	150
Quadro 86 - Ata de reunião 03	151
Quadro 87 - Ata de reunião 04	152
Quadro 88 - Ata de reunião 05	152
Quadro 89 - Ata de reunião 06	153
Quadro 90 - Ata de reunião 07	153
Quadro 91 - Ata de reunião 08	154
TABELA DE REVISÕES
Quadro 1 - Quadro de revisões
	Versão
	Principais Autores
	Descrição da Versão
	Data de Término
	V[1]
V[2]
V[3]
	Jonathan
Jonathan
Jonathan
	Início do documento
Conclusão da N1
Conclusão da N2
	01/02/2017
25/04/2017
03/06/2017
	
	
	
	
	
	
	
	
	V[4]
V[5]
	Jonathan
Jonathan
	Revisão da N2
Novas coisas para N3
	04/07/2017
25/07/2017
	
	
	
	
	
	
	
	
	V[6]
V[7]
V[8]
	Jonathan
Jonathan
Jonathan
	Correções para N4
Revisão final para N4
Conclusão do documento
	12/10/2017
24/10/2017
06/11/2017
FONTE: O autor (2017)
SUMARIO
RESUMO	2
LISTA DE ABREVIATURAS E SIGLAS	3
LISTA DE ILUSTRAÇÕES	4
LISTA DE QUADROS	6
TABELA DE REVISÕES	9
SUMARIO	10
INTRODUÇÃO	13
1. DICIONÁRIO DE PROJETO	14
1.1 Lista de Abreviaturas nos Artefatos do Documento	14
2. GERÊNCIA DO PROJETO	14
2.1 - Cronograma de atividades.	14
3. MODELAGEM DO NEGÓCIO	15
3 .1- Modelagem do negócio	15
3.2 - Lista de requisitos	19
3.3 - Gerência de riscos	20
3.4 - Lista das regras de negócio	21
3.5 - Dificuldades encontradas no negócio.	22
3.6 - Definição do problema	23
3.7 - Objetivo do projeto	23
3.8 - Escopo do projeto	24
3.9 - Clientes alvo	24
3.10 Glossário do negócio	24
4.PROCESSO DE DESENVOLVIMENTO DE SOFTWARE	25
5. REQUISITOS	33
5.1 Login	33
5.2 Manter Curso	35
5.3 Manter Evento	41
5.4 Manter Tipo de Evento	47
5.5 Manter Origem de Evento	51
5.6 Manter Matéria	55
5.7 Gerador de acesso provisório.	59
5.8 Perfil de acesso	62
5.9 Controle de permissões	67
5.10 Manter Aluno	68
5.11 Agenda	73
5.12 Relatório	78
6. MODELAGEM DE CASOS DE USO	80
6.1.Relação de Casos de Uso	80
6.2.Relação dos atores	81
6.3.Diagrama Geral de Casos de Uso	81
6.4 Detalhamento de Casos de Uso	83
6.5 Contratos de Operações com o Sistema	106
7. MODELAGEM DE DADOS	131
7.1 MR	131
7.2 MER	133
8. ESPECIFICAÇÃO DA ARQUITETURA	135
8.1 e 8.2 DIAGRAMA DE IMPLANTAÇÃO E COMPONENTES	135
8.3 DIAGRAMA DE PACOTES	136
9. REALIZAÇÃO DE CASOS DE USO	137
9.1 DIAGRAMA DE CLASSES	137
10. TESTES	139
10.1 Plano de testes	139
10.2 Casos de testes	139
10.3 Relatório de testes	144
Conclusão	147
Referências	148
APÊNDICES	150
Apêndice A – Gerência de Projeto	150
Apêndice B - Elementos de Dados	155
Apêndice C - Banner	156
Apêndice E - Script de Criação do Banco de Dados	157
INTRODUÇÃO
A cada dia são estabelecidos inúmeros compromissos de diferentes áreas e com pessoas diferentes. Com o estresse do dia-a-dia, não raras vezes, os compromissos dos mais simples aos mais importantes são esquecidos. 
Tanto para a vida acadêmica, como para a vida pessoal e profissional ser organizado é de extrema importância. Não possuir organização pessoal como prioridade pode causar diversos incômodos para si e para os outros. Fazer uso de uma agenda que preste auxílio no dia-a-dia é o principal expediente para a efetiva organização pessoal.
Ser organizado evita que o tempo disponível se torne escasso. Mas, tudo depende de atitude. “Você nunca encontrará tempo para nada. Se precisar de tempo, terá de criá-lo.” (CHARLES BUXTON)[footnoteRef:1] [1: 	 Charles Buxton (18 de novembro, 1823 – 10 Agosto 1871) foi um filantropo, escritor e membro do Parlamento inglês.] 
Umas das vantagens de ser uma pessoa organizada é possuir mais controle das ações a sua volta. Por exemplo, saber quais e quando os trabalhos deverão ser entregues, quais provas acontecerão em determinada semana, quais os horários das aulas, quando acontecerão os eventos do curso, seus compromissos pessoais, é importante para haver um eficaz planejamento. 
O propósito desse trabalho é desenvolver uma agenda colaborativa para os alunos que os auxiliem a gerir com eficácia seu tempo, visando a otimização da organização pessoal. É sabido que, alguns alunos têm dificuldades de organizar uma agenda, porém almejam uma ferramenta que os auxiliem na organização pessoal. 
Neste sentido, a agenda colaborativa interliga alunos que possuem tempo, disposição e habilidades de organização pessoal, com os alunos que possuem dificuldades nesse aspecto, intentando colaborar na gestão do tempo. 
	Assim, aquele aluno que possui disponibilidade poderá contribuir com a manutenção da agenda, cadastrando eventos pessoais ou públicos e horários da grade escolar, enquanto aqueles que não puderem ou não desejarem, apenas terão acesso a leitura a agenda. 
Para a análise de regras de negócio serão consultados os alunos que tem por objetivo apenas consumir os dados da agenda e os alunos que irão contribuir com a manutenção das informações, somando a experiência pessoal do desenvolvedor como aluno da UEG.
O sistema será web e desenvolvido na linguagem Java, com frameworks como: wicket, hibernate e Spring com o objetivo de facilitar o desenvolvimento da arquitetura e o sistema como um todo.
1. DICIONÁRIO DE PROJETO
1.1 Lista de Abreviaturas nos Artefatos do Documento
Quadro 2 - Lista de abreviaturas nos artefatos
	Sigla
	Descrição
	HIBERNATE 
	É um framework para realizar o mapeamento objeto relacional(ORM) 
	SPRING 
	É um framework com diversos módulos prontos para auxiliar o sistema na parte de injeção de dependências do projeto e segurança.
	WICKET 
	Apache Wicket é uma framework para o desenvolvimento de aplicações Web para Java.
	UML 
	(Unified Modeling Language) é uma linguagem que define uma série de artefatos que nos ajuda na tarefa de modelar e documentar os sistemas orientados a objetos que desenvolvemos.
FONTE: O autor (2017)
2. GERÊNCIA DO PROJETO
2.1 - Cronograma de atividades.
Figura 1 - Cronograma 1
FONTE: O autor (2017)
	
Figura 2 - Cronograma 2
FONTE: O autor (2017)
3. MODELAGEM DO NEGÓCIO
3 .1- Modelagem do negócio
Para modelagem do negócio serão utilizados artefatos baseados no padrão UML (Unified Modeling Language) de modelagem.
 Serão utilizados entre outros os seguintes diagramas:
· Diagrama de casos de uso;
· Diagrama de classes;
· Diagrama de componentes;
· Diagrama de implantação;
· Diagrama de pacotes;
· Projeto conceitual de dados;
· Projeto lógico de dados.
3.1.1 Revisão bibliográfica
Atualmente as pessoas possuem um grande volume de tarefas diárias, tais como, trabalho, vida acadêmica e pessoal. Nesse ínterim, elas esquecem datas ou encontros importantes por não possuírem uma ferramenta que os auxilie. 
 “A organização pessoal influencia diretamente em nossa vida. Ela faz parte da nossa qualidade de vida e está intimamente relacionada a ela. Não seria exagero afirmar-se que quem é organizado possui, em consequência, uma boa qualidade de vida.” (PORTAL DA EDUCAÇÃO, 2013)
Sendo assim, para se ter uma organização pessoal eficaz são necessários alguns pontos de consentimento, tais como: prioridades, pontualidade, não assumir atividades demais, ter uma rotina, fazer pausas e ter foco.
Segundo PORTAL DA EDUCAÇÃO (2013), GODINHO (2008), CENTENNIAL COLLEGE (2014), ASAAS (2014), outros pontos de extrema importância para auxiliar a organização pessoal são:
· Estabelecer prioridades, separar as tarefas por nível de urgência e importância, realizando-as assim que possível e as mais flexíveis quando não tiver nenhuma urgência imediata.
· Assim, terá um prazo maior para realizar as atividades e a produtividade irá aumentar caso foque nas atividades maisurgentes e após elas realizar as mais simples.
· Ser pontual. Chegar atrasado em alguma atividade marcada na agenda poderá afetar todos os outros compromissos. 
· A questão da pontualidade está intimamente ligada à organização. Há pessoas que, erroneamente, associam a vida corrida ao excesso de trabalho e até se julgam competentes por viverem sempre nesse ritmo alucinado. Acontece que isso é mais um indicativo de desorganização pessoal e profissional do que de pró-atividade, por exemplo, palavra muito utilizada no meio corporativo e que ainda se mantém na moda.
· Em qualquer área em que se atue, assumir mais atividades do que se consegue realizar em um determinado tempo não é recomendado, com isso outras atividades posteriores a atividade que se acumulou irão se atrasar.
· Com isso, ao final do dia, com diversas atividades programadas e poucas realmente realizadas por falta de cuidado ao cronograma do dia poderá haver alguma desmotivação pessoal ou de pessoas envolvidas.
· Outro aspecto de uma pessoa organizada é ter uma rotina. Ter o hábito de ler a agenda todos os dias, criar compromissos que tenham horários e/ou locais fixos, assim esse compromisso se torna automático para você e não irá precisar se estressar para ficar lembrando dele.
· Fazer pausas entre as atividades, não marcar atividades com pouco intervalo de tempo, o tempo da pausa é bastante importante para o descanso ou se precaver de possíveis acidentes inesperados que possam prejudicar a rotina.
· Aprender a focar na atividade ou compromisso atual. Quando estiver realizando uma determinada atividade foca-se nela, não se distraia com outras coisas ou fique pensando em atividades futuras.
Dentre as formas mais eficazes para se ter organização pessoal, destaca-se a importância de se ter uma agenda, porém não qualquer agenda. Antes de possuir uma agenda, caso seja desorganizado e não consiga seguir uma rotina, deve-se seguir os passos apresentados e poderá ter sucesso. 
· Não é efetivo se a agenda estiver com eventos bagunçados, em datas erradas, com pouco intervalo entre as atividades ou não possuir um hábito de olhar a agenda todos os dias. A organização da agenda é de extrema importância.
· Quando estiver preparado para possuir uma agenda não decida por qualquer uma ou uma que algum amigo ou conhecido usa. A que o amigo usa pode ser de extrema facilidade para ele e o torna muito organizado com seus afazeres, porém pode não ser útil em certas ocasiões.
Hoje existem diversos tipos de agenda, tanto físicas quanto digitais. No processo de escolha da agenda é importante verificar a rotina diária e o local em que se passa mais tempo para que o acesso a agenda seja fácil e rápido. 
Para a atual geração que está sempre conectada à internet é bastante eficaz trabalhar em uma agenda diretamente no computador por ser de simples acesso e modificação.
Após toda a análise necessária para escolher a melhor agenda o que colocar nela? Tudo! Coloque na agenda todas as atividades do trabalho, vida acadêmica, pessoal, entre outros, assim como suas datas de início e de término e sua duração. Liste todas as atividades na agenda e faça uma marcação nelas quando estiverem concluídas ou explique o motivo do atraso. (CENTENNIAL COLLEGE, 2014)
Quando começar a utilizar uma agenda e assim a se organizar, acha tudo maravilhoso e acredita que pode fazer tudo de uma vez. Esse é o principal erro logo no início, a pessoa vai tentar abraçar diversas atividades porque está tudo agendado porém se esquece do tempo necessário para cada atividade e o desgaste de cada uma, e possível imprevistos que possam ocorrer. (GODINHO, 2008)
	É certo que a desorganização pode trazer mais estresse e falta de tranquilidade.
· A desorganização causa estresse, tanto na pessoa desorganizada quanto nas pessoas que convivem com ela, seja no ambiente profissional ou familiar. No caso da pessoa organizada, é o tempo que corre atrás dela, enquanto no caso contrário, é a pessoa desorganizada que vive correndo atrás do tempo. Isso, por si só, já causa o estresse e elimina a possibilidade de uma vida mais calma e tranquila.
· Uma agenda pode ajudar a não ter a procrastinação que muitos têm, quando definir uma atividade principal na agenda e esta for grande, deverá dividir esta grande atividade em atividades menores que complementam a atividade maior, assim não vai desperdiçar o tempo livre entre as grandes atividades.
· Procrastinação é uma palavra um tanto diferente e não muito agradavelmente sonora, refere-se justamente àquela pessoa que tende a deixar tudo para depois, para a famosa “última hora”. É aquela tendência popularmente batizada de se “empurrar o compromisso com a barriga”. Isso ocorre com o desorganizado tanto em nível pessoal quanto no profissional e no acadêmico.
3.1.2 - Levantamento comparativo de softwares similares
3.1.2.1 - IF Agenda[footnoteRef:2] [2: Fonte de pesquisa do aplicativo: Disponível em: <https://play.google.com/store/apps/details?id=br.com.ml.ifagendaprojeto&hl=pt_BR”>. Acesso em: 03 mar 2017.] 
IF Agenda, é o aplicativo criado pelos alunos Lucas Rocha e Mário Carvalho do curso técnico em Informática do Instituto Federal do Maranhão do IFMA Campus Buriticupu sob a orientação do professor Ulysses Sousa.
	Este software tem como objetivo entregar uma forma simples, prática e rápida de gerenciar atividades do cotidiano acadêmico. 
	A agenda possui várias funções que são referentes ao dia a dia dos estudantes como:
· Cadastro de disciplinas; 
· Grade Horários de aulas (Matutino, Vespertino e Noturno); 
· Agendamento de Tarefas (provas, atividades, trabalhos, seminários e devolução de livros à biblioteca e outras);
· Possibilidade de tirar foto para incrementar a descrição de eventos;
· Possibilidade de agendar notificação (lembrete) para as tarefas; 
· Visualização de eventos mês;
· Calendário;
· Gerenciamento de notas;
· Controle de Gastos;
· Relatórios em gráfico (Pizza);
· Possibilidade de tirar foto dos produtos gastos;
· Acesso Direto ao Q-Acadêmico IFMA;
· Interação com Professores (E-mails, mensagens e ligações);
· Opção de compartilhar tarefas (Redes sociais, mensagens e outros serviços);
· Configuração de toque para os lembretes;
· Personalização – Criação de perfil do aluno (Foto, nome e frase);
· Função de Pesquisa;
· Listas e Horários Coloridos.
	O aplicativo foi desenvolvido para mobile em um ano, dividido em três etapas: fase de estudo, fase de implementação e fase de manutenção, momento em que atualmente se encontra. 
3.1.2.2 - Agenda Digital da Escola em Movimento[footnoteRef:3] [3: Fonte de pesquisa do sistema: Disponível em: <https://www.escolaemmovimento.com.br/>. Acesso em: 03 mar 2017.] 
	Agenda Digital da Escola em Movimento é uma solução de comunicação desenvolvida especialmente para instituições de ensino com o objetivo principal de conectar alunos, pais e colaboradores através de smartphones e/ou da web. 
Através da ferramenta, a instituição é capaz de compartilhar comunicados, convites para eventos e reuniões, lembretes, material didático, fotos, para os usuários que quiser, quando quiser.
Possui funções como Comunicados e Circulares, Calendário e Agenda, Diário de Turma, Adesão e Estatísticas entre outros, com as diversas funções os pais, alunos e responsáveis possuem um canal de comunicação com a escola.
3.1.3 - Diferencial do projeto.
	Será uma agenda colaborativa entre todos os alunos cadastrados, criando um ecossistema no curso para ajuda mútua de todos os alunos, cada aluno cadastrando eventos, compromissos e horários da grade escolar para o benefício de todo o curso.
3.2 - Lista de requisitos
Quadro 3 - Lista de requisitos
	Identificação
	Requisito
	R01
	Manter aluno
	R02
	Manter evento
	R03
	Manter tipo de evento
	R04
	Manter origem do evento
	R05
	Manter curso
	R06
	Manter matéria
	R07
	Controle de permissões
	R08
	Agenda
	R09
	Perfil de acesso
	R10
	Login
	R11
	Gerador de acesso provisório.
	R12
	Relatório
FONTE: O autor (2017)
3.3 - Gerência de riscos
Na metodologia Risk Mangement Guide for DODAcquisition[footnoteRef:4], o risco é definido como sendo “… a atenção dirigida à ocorrência de eventos futuros, cujo exato resultado é desconhecido, e com a forma de lidar com essa incerteza, i.e., a amplitude de possíveis resultados. Inclui o planejamento, identificação e análise de áreas de risco e o desenvolvimento de opções para lidar e controlar o risco.”. (SIMPLEMAN, et al., 2003) [4: Guia de Gerenciamento de Risco para Aquisição de DOD] 
Complementando e possível encontrar em manuais publicados pela US Project Management Institute (PMI) e pela UK Association for Project Management (APM), embora muito semelhantes entre si:
· Risco – evento ou condição incerta que, se ocorrer, terá um efeito positivo ou negativo sobre pelo menos um objetivo do projeto, como tempo, custo, âmbito ou qualidade. (PROJECT MANAGEMENT INSTITUTE, 2004)
· Risco – determinado evento ou conjunto de circunstâncias que, ao ocorrerem, terão efeito sobre a concretização dos objetivos do projeto.
Segundo ACTUARIES e ENGINEERS (2014) define-se o risco como sendo, num sentido lato, o impacto potencial de todas as ameaças e oportunidades que possam afetar a concretização dos objetivos de um investimento.
 	Segundo a FERMA (2008), adota-se a definição de risco conforme estabelecido na ISO/IEC Guide 73, ou seja, é a combinação da probabilidade de um acontecimento e das suas consequências
Com esses conceitos de riscos reafirmados, os riscos do projeto são:
Quadro 4 - Quadro de riscos
	Risco
	Descrição
	Solução
	Pouca aceitação do projeto
	Os alunos que têm a possibilidade de utilização do software em sua unidade por algum motivo não estão interagindo tanto quanto podiam
	Conscientização dos benefícios de usar a agenda e procurar os motivos de não estarem utilizando.
	Não autorização de utilização do servidor da UEG
	Por algum motivo técnico ou burocrático não é possível utilizar o servidor da UEG para hospedar o sistema.
	Procurar soluções de hospedagem fora da UEG, podendo ser hospedagem particular ou em outra unidade da UEG.
	Interface não atrativa
	O desenvolvedor do projeto não possui avançadas técnicas da parte da interface. 
	Desenvolvedor realizar cursos para o auxiliar no desenvolvimento do projeto.
	Pouco feedback
	Durante o projeto serão necessárias reuniões para verificação e validação do sistema, e os clientes podem não estar dispostos a ajudar
	Buscar informar da importância da ajuda para a conclusão da ferramenta e buscar a ajuda do coordenador de curso para o auxiliar na busca de clientes para feedback.
	Informações erradas
	Os alunos designados para a manutenção das informações do sistema podem conscientemente ou não cadastrar informações erradas.
	Cabe aos próprios alunos sempre estarem atentos as informações postadas no sistema e avisar de qualquer divergência.
FONTE: O autor (2017)
3.4 - Lista das regras de negócio
3.4.1 Matrícula do aluno
	No período de pré-matrícula estabelecido pelo curso o aluno irá se cadastrar nas suas disciplinas. Caso não ocorra nenhum problema, estas disciplinas estarão disponíveis no sistema para o aluno cursar.
3.4.2 Retirada e adesão de matérias fora do período de pré-matrícula
	Para a adesão de matérias fora do período pré-determinado o aluno deverá apresentar uma justificativa ao coordenador de curso. Se o coordenador do curso aceitar, será autorizado o cadastro na disciplina desejada. A retirada e desistência de disciplina podem ser feitas diretamente na secretaria acadêmica do curso.
3.4.3 Eventos
	Os eventos importantes do curso são informados principalmente por meio de grupos virtuais de conversa e avisos em sala de aula. Também fazem uso do instagram, folhetos e algumas turmas contam com o Google Calendar atualizado pelo representante de turma.
3.4.4 Tipo e origens dos eventos.
	Os eventos são diferenciados pelo nome, informando ainda sua origem e sua finalidade.
3.4.5 Responsabilidades
	O CA (Centro Acadêmico) e Atlética conta com a participação de diversos alunos do curso em sua grade de colaboradores. As atribuições desses alunos são divididas em cargos para melhor organização e autoridade.
3.4.6 Adesão de alunos aos grupos de divulgação de conteúdo.
	A adesão de novos alunos aos grupos nos quais são divulgadas as principais informações do curso é feita por meio dos responsáveis pelo grupo, em sua maioria integrantes do CASI ou Atlética.
3.4.7 Obtenção da grade de horários.
	A divulgação da grade padrão de cada período letivo é realizada de forma física e virtual, sendo essa afixada no mural destinado aos horários dos cursos da UEG e também disponibilizada no site do curso e compartilhada nos grupos virtuais do curso.
3.4.7 Aulas.
Geralmente as aulas são ministradas pelo mesmo professor. Porém, existem casos em que uma única disciplina possui professores diferentes. Por exemplo a disciplina de Programação possui turmas A e B, e nos casos dos cursos semestrais existe Programação 1 e 2.
	
3.5 - Dificuldades encontradas no negócio.
· Não foi verificada a existência de nenhuma ferramenta oficial para agendar eventos do curso ou relacionados.
· Todos os eventos do CA, CASI (Centro Acadêmico de Sistemas de Informação), Atlética são divulgados de forma informal pelas redes sociais e “boca a boca”.
· Uma possível solução seria uma agenda acessível a todos alunos do curso e que contenha todas as informações de eventos de diversas origens.
· Desorganização pessoal dos alunos.
· Com tantos trabalhos, provas, testes e apresentações não é usada nenhuma agenda pela maioria dos alunos.
· Começar a estudar sobre organização do tempo e possuir alguma forma de organizar os eventos do dia-a-dia, como uma agenda.
· Grade curricular complexa.
· A grade curricular para o aluno reprovado é muito complexa pois é difícil organizar os horários de forma que esses não se choquem. 
· A necessidade de uma ferramenta, como uma agenda, para cada aluno registrar as suas aulas nos horários corretos.
3.6 - Definição do problema
Durante o ano são organizados diversos eventos extracurriculares que podem proceder do CASI, do curso ou da Atlética. Tais eventos são importantes para que ocorra uma maior integração entre as turmas do curso.
	Acrescendo esses eventos com todos os compromissos acadêmicos, como trabalhos, apresentações, teste e provas, torna-se difícil gerenciar toda a vida acadêmica sem uma agenda.
	Além de todos os compromissos citados acima, outro grande problema são os horários da grade curricular. São diversas aulas que acontecem em diferentes horários e salas, o que pode confundir até os alunos plenos[footnoteRef:5] no curso. [5: 	 Aluno que não tem reprovações, pega todas as matérias oferecidas para seu ano letivo.] 
	O projeto Ueg Agenda vem como solução eficaz, rápida e de baixo esforço para os alunos organizarem seus eventos, compromissos e montarem seu horário de aulas de forma personalizada. 
3.7 - Objetivo do projeto
	O projeto tem como objetivo final entregar uma agenda colaborativa para ajudar na organização acadêmica de todos os alunos.
	O presente projeto visa também auxiliar os alunos na organização dos horários da grade acadêmica, uma vez que, com o tempo e reprovações, torna-se confuso saber com precisão em quais aulas e em quais horários o aluno precisa comparecer.
3.8 - Escopo do projeto
	O projeto tem como escopo principal desenvolver uma agenda colaborativa para os alunos. Nesta feita, contempla o seguinte escopo:
1. Manter aluno
2. Manter evento
3. Manter tipo de evento
4. Manter origem do evento
5. Manter curso
6. Manter matéria
7. Controle de permissões
8. Agenda
9. Perfil de acesso
10. Login
11. Gerador de acesso provisório.
12. Relatório.
3.9 - Clientes alvo
	Alunos da UEG que em seu campus tenha o sistema funcionando.
3.10 Glossário do negócio
· Grade curricular: É um documento norteador da faculdade. É o ponto de partida de sua organização pedagógica. Agrupador das matérias disponibilizadas para cada semestre ou ano do curso.
· Evento: O termo evento provém do latim eventus e admite diferentes acepções. Para o presente projeto, define-se evento como umacontecimento de relevância e que está programado. Esse acontecimento pode ser pessoal, acadêmico, profissional, artístico ou desportivo. Exemplo: prova, aula marcada para determinado horário, simpósio, agendamento com o dentista.
· Agenda: Caderneta ou livro datado que se destina a anotar, dia a dia, compromissos, lembretes, etc.
4.PROCESSO DE DESENVOLVIMENTO DE SOFTWARE
Este tópico tem a finalidade de conceituar o processo de desenvolvimento de software e definir um modelo a ser utilizado nesse trabalho.
Define processo de software como um conjunto de atividades organizadas para ajustar o processo de desenvolvimento a necessidade do usuário/cliente. (SOMMERVILLE, 2011).
O autor define também 4 atividades essenciais que compõem todo processo de software:
Especificação:
Define e delimita os objetivos, funcionalidades e restrições do software 
Projeto e desenvolvimento:
Fase de implementação do software especificado.
Validação:
Análise do software quanto a sua consistência e coerência com o que foi especificado.
Evolução:
Atender a novos requisitos que podem vir a surgir.
Levando em consideração a forma de entregas parciais adotadas pelo regimento do trabalho de conclusão de curso, o modelo de processo de software que será adotado neste projeto é o modelo incremental, que segundo SOMMERVILLE (2011) consiste em realizar implementações parciais, validá-las com o cliente e realizar modificações até que a implementação atenda às necessidades especificadas, utilizando com cliente para feedback o professor orientador. O grande benefício deste modelo é o baixo custo ao realizar mudanças no decorrer do projeto.
Para modelagem e controle durante as interações do projeto serão utilizados os seguintes artefatos UML: Diagrama de casos de uso, diagrama de classes, diagrama de atividades, diagrama de sequência, diagrama de componentes, diagrama de implantação, diagrama de pacotes, projeto conceitual de dados, projeto lógico de dados.
	Para a extração das regras de negócio será usado o conhecimento do desenvolvedor do projeto como aluno da instituição associadamente com entrevistas com os clientes diretamente beneficiados pelo novo sistema.
Fluxo do processo de desenvolvimento de software do projeto:
Figura 3 - Processo de desenvolvimento de software completo
FONTE: O autor (2017)
Sessão de comunicação inicial da interação:
Figura 4 - Processo de desenvolvimento de software P1
FONTE: O autor (2017)
1° Planejamento da reunião: Momento de escolher quais serão os tópicos que será abordado na interação que irá se iniciar do projeto.
2° Validação dos tópicos abordados: Orientador valida e sugere tópicos a serem abordados com o cliente.
3° Reunião de coleta de requisitos: É realizado a reunião com o cliente explicando os tópicos definidos e abordando a sugestão de novos requisitos ao cliente e explicando o que será feito na interação atual do projeto.
Sessão de planejamento da interação:
Figura 5 - Processo de desenvolvimento de software P2
FONTE: O autor (2017)
4. Análise dos requisitos coletados: Realização de uma análise dos requisitos sugeridos pelo cliente verificando se é viavel a implementação na interação atual ou futura. Essa análise e feita juntamente com a análise dos requisitos definidos pelo orientador e orientando para a interação atual.
5. Planejamento da interação: Planejamento de como será a documentação e implementação dos requisitos definidos.
6. Validação da interação: Orientador valida se o que foi proposto para a interação atual atende os requisitos do que é necessário para as entregas pré-determinadas pelo TCC.
Sessão de modelagem da interação:
Figura 6 - Processo de desenvolvimento de software P3
FONTE: O autor (2017)
7. Documentação necessária: Feito as documentações necessárias para os casos de usos escolhidos para serem feitos na interação do projeto.
8. Validação da documentação: É realizado a validação e as correções das documentações para os casos de usos escolhidos.
Sessão de implementação da interação:
Figura 7 - Processo de desenvolvimento de software P4
FONTE: O autor (2017)
9. Desenvolvimento dos casos de uso: Realização do desenvolvimento(Código) dos casos de usos escolhidos e seguindo a documentação já criada.
10. Validação dos casos de uso implementados: Validação se o caso de uso implementado está coerente com a documentação do mesmo.
Sessão de implatação da interação:
Figura 8 - Processo de desenvolvimento de software P5
FONTE: O autor (2017)
11. Preparação de entrega: Realizado todas as revisões necessárias para conferir se está tudo conforme especificado.
12. Validação final de entrega: É realizado a correção e validação da entrega final da intereção.
13. Desmonstração e busca de feedback: Após finalizado os passos de preparação da entrega e validação pelo orientador é realizada uma tentativa de demonstração ao cliente em busca de feedback para melhoramento futuro do projeto.
Sessão de finalização da interação:
Figura 9 - Processo de desenvolvimento de software P6
FONTE: O autor (2017)
14.Anotar feedback do cliente e orientador: Anotar as sugestões, correções da interação atual para futura análise de correção ou melhoria.
5. REQUISITOS
5.1 Login
Quadro 5 - Requisito R10 – Login
	Nome
	Login
	Identificação
	R10
	Tipo
	Funcional
	Definição
	Para manter a confidencialidade de informações pessoais e identificação do usuário durante a navegação, ele deve autenticar no sistema através de seu Login e senha previamente cadastrada no sistema. O usuário só irá precisar se autenticar novamente caso utilize a função de logout ou ocorra algum motivo inesperado do navegador
	Informações
	· O sistema irá usar o Login do aluno com sua Senha para a autenticação do sistema.
· Sempre que o usuário fizer Login será salvo as informações de Login, na tabela “Contador Acesso” para futuras análises.
	Atributos
	
	Aluno
	Nome
	Tipo
	Tamanho
	Obrigatório
	Login
	String
	0 - 40
	Sim
	Senha
	String
	0 - 20
	Sim
	Contador Acesso
	Nome
	Tipo
	Tamanho
	Obrigatório
	Id
	Long
	*
	Sim
	DataAcesso
	Date
	*
	Não
	Administração
	Administracao
	*
	Não
	Tela 1
	
	Tela 2
	
	Tela 3
	
	Funcionalidades
	· “Entrar” clicar no botão após ser adicionado os campos “Login” e “senha”.
Figura 10 - Telas de Login 
FONTE: O autor (2017)
5.2 Manter Curso
Quadro 6 - Requisito R05 – Manter curso
	Nome
	Manter curso
	Identificação
	R05
	Tipo
	Funcional
	Definição
	Informar os dados importantes sobre o curso que os futuros alunos serão inseridos.
Importante diferenciar os cursos para que seja possível, numa mesma instituição, serem cadastrados vários cursos assim atendendo o máximo de alunos possível.
	Informações adicionais
	Todos os “CRUDS” utilizam em comum a “Administração”, com o objetivo de centralizar as informações de curso e aluno.
	Atributos
		Curso
	Nome
	Tipo
	Tamanho
	Obrigatório
	Nome
	String
	0 - 300
	Sim
	Id
	Integer
	*
	Sim
	Duração
	Integer
	*
	Sim
	Quantidade Período
	Integer
	*
	Não
	Administração
	Administração
	*
	Sim
	Administração
	Nome
	Tipo
	Tamanho
	Obrigatório
	Id
	Integer
	*
	Sim
	Curso
	Curso
	*
	Não
	Aluno
	Aluno
	*
	Não
	AdministradorCampos
	Boolean
	*
	Não
Obs: “*” Significa que não tem tamanho definido. É utilizado o padrão da linguagem.
	Tela 1
	
	Tela 2
	
	Tela 3
	
	Tela 4
	
	Tela 5
	
	Tela 6
	
	Tela 7
	
	Tela 8
	 
	Tela 9
	
	Tela 10
	
	Tela 11
	
	Tela 12
	
	Funcionalidades
	· Salvar:
· Inclusão: Ao apertar o botão no caso da inclusão do novo registro será salvo o curso.
· Edição: Ao apertar o botão no caso da edição será alterado o registro selecionado.
· Excluir ou “”:
· Será exibido uma mensagem de confirmação se realmente deseja excluir o registro, se apertado “sim” o registro será definitivamente excluído se apertado “não” voltará a tela anterior.
· Voltar:
· Irá sair da tela aberta atualmente sem realizar nenhuma alteração.
· Editar ():
· Na listagem das informações, clicar no lápis para visualizar as informações já cadastradas dos cursos.
· Incluir	
· Para realizar novoscadastros.
· Pesquisar.
· Realizar pesquisa de cursos específicos
· Mais filtros.
· Realizar pesquisa com mais filtros
Figura 11 - Telas de manter curso
FONTE: O autor (2017)
5.3 Manter Evento
Quadro 7 - Requisito R02 – Manter evento
	Nome
	Manter evento
	Identificação
	R02
	Tipo
	Funcional
	Definição
	Informar os dados importantes sobre os eventos recorrentes, esses serão aqueles que poderão ser cadastrados anteriormente e serem adicionados a agenda quantas vezes desejar.
Alguns eventos são padrões e tem repetições, então o sistema disponibiliza o cadastro para que apenas 1 evento seja cadastrado e ele seja usado diversas vezes.
	Atributos
		Nome
	Tipo
	Tamanho
	Obrigatório
	Data Início
	Date
	*
	Sim
	Data Fim 
	Date
	*
	Não
	Descrição
	String
	1 - 600
	Sim
	Tipo Evento
	TipoEvento
	*
	Não
	Origem Evento
	OrigemEvento
	*
	Não
	Matéria
	Matéria
	*
	Não
	Agenda
	Agenda
	*
	Não
	Administração
	Administração
	*
	Sim
	Id
	Integer
	* 
	Sim
	Professor
	String
	0-200
	Não
	Local
	String
	0-100
	Não
	Observação
	String
	0-600
	Não
	ListaPeriodosPertecentes
	List<RelacaoPeriodo>
	*
	Não
	RepetirEvento
	Boolean
	1
	Não
	RepetirTodaSegunda
	Boolean
	1
	Não
	RepetirTodaTerca
	Boolean
	1
	Não
	RepetirTodaQuarta
	Boolean
	1
	Não
	RepetirTodaQuinta
	Boolean
	1
	Não
	RepetirTodaSexta
	Boolean
	1
	Não
	RepetirTodaSabado
	Boolean
	1
	Não
	RepetirTodaDomingo
	Boolean
	1
	Não
Obs: “*” Significa que não tem tamanho definido. É utilizado o padrão da linguagem.
	Tela 1
	
	Tela 2
	
	Tela 3
	
	Tela 4
	
	Tela 5
	
	Tela 6
	
	Tela 7
	
	Tela 8
	
	Tela 9
	 
	Funcionalidades
	· Salvar:
· Inclusão: Ao apertar o botão no caso da inclusão do novo registro será salvo o registro.
· Edição: Ao apertar o botão no caso da edição será alterado o registro selecionado.
· Excluir ou “”:
· Será exibido uma mensagem de confirmação se realmente deseja excluir o registro, se apertado “sim” o registro será definitivamente excluído se apertado “não” voltará a tela anterior.
· Voltar:
· Irá sair da tela aberta atualmente sem realizar nenhuma alteração.
· Editar ():
· Na listagem das informações, clicar no lápis para visualizar as informações dos registros já cadastrados.
· Incluir	
· Para realizar novos cadastros.
· Pesquisar.
· Realizar pesquisa de registros específicos
· Mais filtros.
· Realizar pesquisa com mais filtros
Figura 12 - Telas de manter evento
FONTE: O autor (2017)
5.4 Manter Tipo de Evento
Quadro 8 - Requisito R03 – Manter tipo de evento
	Nome
	Manter Tipo de evento
	Identificação
	R03
	Tipo
	Funcional
	Definição
	Informar os dados importantes sobre os tipos de eventos existentes para uso posterior no sistema.
Os tipos cadastrados poderão ser usados quantas vezes desejar na agenda ou evento específico para poder dar uma noção maior do que se trata o evento.
Ex: Prova, Festa, Trabalho, Simpósio entre outros.
	Atributos
	
	Nome
	Tipo
	Tamanho
	Obrigatório
	Nome
	String
	1 - 300
	Sim
	Administração
	Administração
	*
	Sim
	Id
	Integer
	* 
	Sim
Obs: “*” Significa que não tem tamanho definido. É utilizado o padrão da linguagem.
	Tela 1
	
	Tela 2
	
	Tela 3
	
	Tela 4
	
	Tela 5
	
	Tela 6
	
	Tela 7
	
	Tela 8
	
	Funcionalidades
	· Salvar:
· Inclusão: Ao apertar o botão no caso da inclusão do novo registro será salvo o registro.
· Edição: Ao apertar o botão no caso da edição será alterado o registro selecionado.
· Excluir ou “”:
· Será exibido uma mensagem de confirmação se realmente deseja excluir o registro, se apertado “sim” o registro será definitivamente excluído se apertado “não” voltará a tela anterior.
· Voltar:
· Irá sair da tela aberta atualmente sem realizar nenhuma alteração.
· Editar ():
· Na listagem das informações, clicar no lápis para visualizar as informações dos registros já cadastrados.
· Incluir	
· Para realizar novos cadastros.
· Pesquisar.
· Realizar pesquisa de registros específicos
· Mais filtros.
· Realizar pesquisa com mais filtros
Figura 13 - Telas de manter Tipo de evento
5.5 Manter Origem de Evento
Quadro 9 - Requisito R04 – Manter Origem de evento
	Nome
	Manter Origem de evento
	Identificação
	R04
	Tipo
	Funcional
	Definição
	Informar os dados importantes sobre as origens de eventos existentes para uso posterior no sistema.
As origens de evento poderão ser cadastrados e usados quantas vezes desejar na agenda ou evento específico para poder dar uma noção maior do que onde vem o evento.
Ex: CA, CASI, Atlética, Coordenação entre outros.
	Atributos
	
	Nome
	Tipo
	Tamanho
	Obrigatório
	Nome
	String
	1 - 300
	Sim
	Administração
	Administração
	*
	Sim
	Id
	Integer
	* 
	Sim
Obs: “*” Significa que não tem tamanho definido. É utilizado o padrão da linguagem.
	Tela 1
	
	Tela 2
	
	Tela 3
	
	Tela 4
	
	Tela 5
	
	Tela 6
	
	Tela 7
	
	Tela 8
	
	Funcionalidades
	· Salvar:
· Inclusão: Ao apertar o botão no caso da inclusão do novo registro será salvo o registro.
· Edição: Ao apertar o botão no caso da edição será alterado o registro selecionado.
· Excluir ou “”:
· Será exibido uma mensagem de confirmação se realmente deseja excluir o registro, se apertado “sim” o registro será definitivamente excluído se apertado “não” voltará a tela anterior.
· Voltar:
· Irá sair da tela aberta atualmente sem realizar nenhuma alteração.
· Editar ():
· Na listagem das informações, clicar no lápis para visualizar as informações dos registros já cadastrados.
· Incluir	
· Para realizar novos cadastros.
· Pesquisar.
· Realizar pesquisa de registros específicos
· Mais filtros.
· Realizar pesquisa com mais filtros
Figura 14 - Telas de manter origem de evento
5.6 Manter Matéria
Quadro 10 - Requisito R06 – Manter Matéria
	Nome
	Manter Matéria
	Identificação
	R06
	Tipo
	Funcional
	Definição
	Informar os dados importantes sobre as matérias disponibilizadas no curso para serem usadas no decorrer do uso da agenda.
As matérias poderão ser cadastrados e usadas quantas vezes desejar na agenda ou evento específico. 
Ex: Programação, Engenharia de software entre outras.
	Atributos
	
	Nome
	Tipo
	Tamanho
	Obrigatório
	ListaPeriodosPertecentes
	List<RelacaoPeriodo>
	*
	Não
	Nome
	String
	1 - 300
	Sim
	Administração
	Administração
	*
	Sim
	Id
	Integer
	* 
	Sim
Obs: “*” Significa que não tem tamanho definido. É utilizado o padrão da linguagem.
	Tela 1
	
	Tela 2
	
	Tela 3
	
	Tela 4
	
	Tela 5
	
	Tela 6
	
	Tela 7
	
	Tela 8
	 
	Tela 9
	
	Funcionalidades
	· Salvar:
· Inclusão: Ao apertar o botão no caso da inclusão do novo registro será salvo o registro.
· Edição: Ao apertar o botão no caso da edição será alterado o registro selecionado.
· Excluir ou “”:
· Será exibido uma mensagem de confirmação se realmente deseja excluir o registro, se apertado “sim” o registro será definitivamente excluído se apertado “não” voltará a tela anterior.
· Voltar:
· Irá sair da tela aberta atualmente sem realizar nenhuma alteração.
· Editar ():
· Na listagem das informações, clicar no lápis para visualizar as informações dos registros já cadastrados.
· Incluir	
· Para realizar novos cadastros.
· Pesquisar.
· Realizar pesquisa de registros específicos
· Mais filtros.
· Realizar pesquisa com mais filtros
Figura 15 - Telas de manter matéria
FONTE: O autor (2017)
5.7 Gerador de acesso provisório.
	
Quadro 11 - Requisito R11 – Gerador de acesso provisório.
	Nome
	Gerador de acesso provisório.
	Identificação
	R11
	Tipo
	Funcional
	Definição
	Usado para gerar novos alunos rapidamente, com um Login criado automaticamente pelo sistema e uma senha fixa.
O aluno receberá o Login e poderá acessar o sistema e mudar seus dados cadastrais e começar a usar as funcionalidades do sistema.
	Atributos
		Nome
	Tipo
	Tamanho
	Obrigatório
	Ativo
	Boolean
	*
	Sim
	Código
	String
	0 - 100
	Sim
	Data Criação
	Date
	*
	Sim
	Administração
	Administração
	*
	Sim
	Id
	Integer
	* 
	Sim
	Perfil Acesso
	PerfilAcesso
	*
	Não
Obs: “*” Significa que não tem tamanho definido. É utilizado o padrão da linguagem.
	Tela 1
	
	Tela 2
	
	Tela 3
	
	Tela 4
	
	Tela 5
	
	Tela 6
	
	Tela 7
	 
	Funcionalidades· Salvar:
· Inclusão: Ao apertar o botão no caso da inclusão do novo registro será salvo o registro.
· Edição: Ao apertar o botão no caso da edição será alterado o registro selecionado.
· Excluir ou “”:
· Será exibido uma mensagem de confirmação se realmente deseja excluir o registro, se apertado “sim” o registro será definitivamente excluído se apertado “não” voltará a tela anterior.
· Voltar:
· Irá sair da tela aberta atualmente sem realizar nenhuma alteração.
· Incluir	
· Para realizar novos cadastros.
· Pesquisar.
· Realizar pesquisa de registros específicos
Figura 16 - Telas de gerador de acesso provisório.
FONTE: O autor (2017)
5.8 Perfil de acesso
Quadro 12 - Requisito R09– Perfil de Acesso
	Nome
	Perfil de Acesso
	Identificação
	R09
	Tipo
	Funcional
	Definição
	Criar um agrupado de permissões, assim será o perfil de acesso. Um perfil de acesso poderá ter uma lista de permissões de incluir, pesquisar, alterar e excluir de um ou mais casos de usos.
Esse perfil de acesso poderá ser atribuído a um ou mais usuários.
	Atributos
	
	Nome
	Tipo
	Tamanho
	Obrigatório
	Nome
	String
	300
	Sim
	PermissoesAcesso
	List<PermissaoAcesso>
	*
	Sim
	Administração
	Administração
	*
	Sim
	Id
	Integer
	* 
	Sim
Obs: “*” Significa que não tem tamanho definido. É utilizado o padrão da linguagem.
	Tela 1
	
	Tela 2
	
	Tela 3
	
	Tela 4
	
	Tela 5
	
	Tela 6
	
	Tela 7
	 
	Funcionalidades
	· Salvar:
· Inclusão: Ao apertar o botão no caso da inclusão do novo registro será salvo o registro.
· Edição: Ao apertar o botão no caso da edição será alterado o registro selecionado.
· Excluir ou “”:
· Será exibido uma mensagem de confirmação se realmente deseja excluir o registro, se apertado “sim” o registro será definitivamente excluído se apertado “não” voltará a tela anterior.
· Voltar:
· Irá sair da tela aberta atualmente sem realizar nenhuma alteração.
· Editar ():
· Na listagem das informações, clicar no lápis para visualizar as informações dos registros já cadastrados.
· Incluir	
· Para realizar novos cadastros.
· Pesquisar.
· Realizar pesquisa de registros específicos
· Mais filtros.
· Realizar pesquisa com mais filtros
Figura 17- Telas de perfil de acesso
FONTE: O autor (2017)
5.9 Controle de permissões
Quadro 13 - Requisito R07 - Controle de permissões.
	Nome
	Controle de permissões
	Identificação
	R07
	Tipo
	Funcional
	Definição
	O controle de permissões irá controlar todas as permissões do sistema, nos seus diversos níveis de validação. Ele estará presente em todos as funcionalidades do sistema garantindo que somente pessoas autorizadas poderão usa-la.
Obs: A classe Java que guarda as permissões que o controle de permissões irá validar se chama Permissão acesso.
	Atributos
		Nome
	Tipo
	Tamanho
	Obrigatório
	Nome
	String
	300
	Sim
	Operacao
	Integer
	*
	Sim
	Permissão
	Integer
	*
	Sim
	Codigo
	Integer
	*
	Sim
	Administração
	Administração
	*
	Sim
	Id
	Integer
	* 
	Sim
Obs: “*” Significa que não tem tamanho definido. É utilizado o padrão da linguagem.
FONTE: O autor (2017)
5.10 Manter Aluno
Quadro 14 - Requisito R01 – Manter aluno
	Nome
	Manter aluno
	Identificação
	R01
	Tipo
	Funcional
	Definição
	Informar os dados importantes sobre o aluno.
Neste cadastro que os alunos serão cadastrados para poderem acessar o sistema.
	Atributos
	
	Nome
	Tipo
	Tamanho
	Obrigatório
	Nome
	String
	300
	Sim
	Login
	String
	40
	Sim
	Senha
	String
	50
	Sim
	Perfil Acesso
	PerfilAcesso
	*
	Não
	Configuração
	Configuração
	*
	Sim
	ListaPeriodoPertecentes
	ListaPeriodoPertecentes
	*
	Não
	Administração
	Administração
	*
	Sim
	Id
	Integer
	* 
	Sim
Obs: “*” Significa que não tem tamanho definido. É utilizado o padrão da linguagem.
	Tela 1
	
	Tela 2
	
	Tela 3
	
	Tela 4
	
	Tela 5
	
	Tela 6
	
	Tela 7
	
	Tela 8
	 
	Tela 9
	
	Tela 10
	
	Funcionalidades
	· Salvar:
· Inclusão: Ao apertar o botão no caso da inclusão do novo registro será salvo o curso.
· Edição: Ao apertar o botão no caso da edição será alterado o registro selecionado.
· Excluir ou “”:
· Será exibido uma mensagem de confirmação se realmente deseja excluir o registro, se apertado “sim” o registro será definitivamente excluído se apertado “não” voltará a tela anterior.
· Voltar:
· Irá sair da tela aberta atualmente sem realizar nenhuma alteração.
· Editar ():
· Na listagem das informações, clicar no lápis para visualizar as informações já cadastradas dos cursos.
· Incluir	
· Para realizar novos cadastros.
· Pesquisar.
· Realizar pesquisa de cursos específicos
· Mais filtros.
· Realizar pesquisa com mais filtros
· Tela 9 e 10 são as configurações do aluno, podendo escolher o que deseja compartilhar e sincronizar.
Figura 18 - Telas de manter aluno
FONTE: O autor (2017)
5.11 Agenda
Quadro 15 - Requisito R08 – Agenda
	Nome
	Agenda
	Identificação
	R08
	Tipo
	Funcional
	Definição
	No calendário da agenda que se agrupará todos os eventos dos alunos, podendo filtrar pelo o que desejar para melhor visualização de sua agenda.
	Atributos
	
	Nome
	Tipo
	Tamanho
	Obrigatório
	Nome
	String
	300
	Sim
	Eventos
	List<Eventos>
	*
	Não
	Descrição
	Sting
	0-300
	
	ListaPeriodoPertecentes
	ListaPeriodoPertecentes
	*
	Não
	Administração
	Administração
	*
	Sim
	Id
	Integer
	* 
	Sim
Obs: “*” Significa que não tem tamanho definido. É utilizado o padrão da linguagem.
	Tela 1
	
	Tela 2
	
	Tela 3
	
	Tela 4
	
	Tela 5
	
	Tela 5
	
	Tela 6
	
	Tela 7
	
	Tela 8
	 
	Funcionalidades
	· Salvar:
· Inclusão: Ao apertar o botão no caso da inclusão do novo registro será salvo o curso.
· Edição: Ao apertar o botão no caso da edição será alterado o registro selecionado.
· Excluir ou “”:
· Será exibido uma mensagem de confirmação se realmente deseja excluir o registro, se apertado “sim” o registro será definitivamente excluído se apertado “não” voltará a tela anterior.
· Voltar:
· Irá sair da tela aberta atualmente sem realizar nenhuma alteração.
· Editar ():
· Na listagem das informações, clicar no lápis para visualizar as informações já cadastradas dos cursos.
· Calendário ():
· No calendário que se encontrará todos seus eventos, podendo ser filtrados de diversas maneiras para melhor atende-lo.
· Incluir	
· Para realizar novos cadastros.
· Pesquisar.
· Realizar pesquisa de cursos específicos
· Mais filtros.
· Realizar pesquisa com mais filtros
Figura 19 - Telas de manter Agenda
FONTE: O autor (2017)
5.12 Relatório
Quadro 16 - Requisito R12 - Relatório
	Nome
	Relatório
	Identificação
	R12
	Tipo
	Funcional
	Definição
	No relatório é possível baixar um pdf com as informações dos eventos de sua agenda, podendo ser filtrado por campos específicos ou trazer os eventos em sua totalidade.
	Atributos
	
	Nome
	Tipo
	Tamanho
	Obrigatório
	Curso
	Curso
	*
	Sim
	Agenda
	Agenda
	*
	Sim
	Tipo Evento
	TipoEvento
	*
	Não
	Origem Evento
	OrigemEvento
	*
	Não
	Professor
	String
	0 – 200
	Não
	Local
	String
	0 – 200
	Não
	Descrição
	String
	0 – 200
	Não
	Matéria
	Matéria
	*
	Não
	DataFim
	Date
	*
	Não
	DataInicio
	Date
	* 
	Não
	AgruparPorDia
	Boolean
	*
	Sim
Obs: “*” Significa que não tem tamanho definido. É utilizado o padrão da linguagem.
	Tela 1
	
	Tela 2
	Não agrupado por dia
	Tela 3
	Agrupado Por Dia
	Funcionalidades
	· Imprimir ()
· Baixar um pdf da agenda.
Figura 20 - Tela de relatório
FONTE: O autor (2017)
6. MODELAGEM DE CASOS DE USO
6.1.Relação de Casos de Uso
Quadro 17 - Relação de casos de uso
	Identificação
	Caso de uso
	CDU 01
	Manter aluno
	CDU 02
	Manter evento
	CDU 03
	Manter tipo de evento
	CDU 04
	Manter origem do evento
	CDU 05
	Manter curso
	CDU 06
	Manter matéria
	CDU 07
	Controle de permissões
	CDU 08
	Agenda
	CDU 09
	Perfil de acesso
	CDU 10
	Login
	CDU 11
	Gerador de acesso provisório.
	CDU 12
	Relatório
FONTE: O autor (2017)
6.2.Relação dos atores
Quadro 18 - Relação de atores
	Ator
	Definição
	Aluno
	Qualquer aluno da UEG que tenha interesse em utilizar os serviços da Ueg Agenda da universidade e realize o cadastro no sistema.
	Administrador (Aluno com permissões)
	Alunocom permissões de cadastros das informações compartilhadas. Ex: (Cadastro de alunos, cursos, eventos compartilhados, matérias entre outros.)
FONTE: O autor (2017)
6.3.Diagrama Geral de Casos de Uso
	Logo abaixo está o diagrama geral de casos de uso, para melhor exemplificação do sistema como um todo considero o ator “Aluno” aquele aluno que pode apenas visualizar as informações básicas da agenda, não podendo compartilhar nada de sua agenda para os outros alunos.
	O ator “Administrador” também será um aluno, porém será aquele que possui permissões para dar manutenção nas informações de sua própria agenda como compartilhar informações para todo o sistema.
Figura 21 - Diagrama geral de caso de uso
FONTE: O autor (2017)
6.4 Detalhamento de Casos de Uso
6.4.1 Login
6.4.1.1 Diagrama de atividade de Login
Figura 22 - Diagrama de atividade de Login
FONTE: O autor (2017)
6.4.1.2 Detalhamento de caso de uso de Login
Quadro 19 - Caso de uso Login
	CDU11 - Login – Cenário 1- Efetuar Login
	Descrição:
	Autenticação de aluno através do Login e senha.
	Pré-Condição:
	O Aluno já deve estar cadastrado.
	Pós-Condição:
	Liberar acesso ao dashboard e funcionalidades permitidas ao aluno.
	Atores:
	Todos os atores devem realizar o Login.
	Ativação:
	Através de URL devidamente informada.
	Fluxo Principal
	Nº.
	Ação
	1
	Inicio
	2
	O ator digita o Login e Senha
	3
	O ator clica no botão “Entrar”
	4
	Sistema valida campos obrigatórios e se aluno existe [FA01]
	5
	Sistema registra informações de Login.
	6
	Sistema libera acesso
	7
	Fim.
	Fluxos Alternativos
	Fluxo Alternativo 01 - Validar Aluno existente
	1.1
	Sistema retorna mensagem de aluno inexistente e/ou
	1.2
	Retorna ao passo 3 do Fluxo Principal
	Fluxos de Exceção
	Fluxo de Exceção 01 - Fechar o navegador ou aba
	1.1
	Sistema não guarda os dados digitados
	Fluxo de Exceção 02 - Recarregar página
	2.1
	Sistema não guarda os dados digitados
	Fluxo de Exceção 03 - Erro inesperado ao fazer Login
	3.1
	Sistema não guarda os dados digitados
	3.2
	Sistema mostra aviso de erro.
	Requisitos
	R1
	R01 - Manter Aluno
FONTE: O autor (2017)
6.4.2 CRUD GENÉRICO
6.4.2.1 Cenário incluir
6.4.2.1.1 Diagrama de atividade do cenário incluir
Figura 23 - Diagrama de atividade do cenário incluir
FONTE: O autor (2017)
6.4.2.1.2 Detalhamento do cenário incluir
Quadro 20 - Caso de uso genérico – incluir
	CDU. - Manter – Cenário incluir
	Descrição:
	Irá realizar um cadastro.
	Pré-Condição:
	Ter realizado Login com sucesso no sistema é possuir permissão para cadastrar o que deseja.
	Pós-Condição:
	Registro concluído com sucesso.
	Fluxo Principal
	Nº.
	Ação
	1
	Sistema valida permissão de pesquisar.
	2
	Ator clica no botão referente a função que deseja.
	3
	Ator Acessa a tela do registro
	4
	Sistema busca registros disponíveis
	5
	Ator visualiza todos os registros disponíveis.
	6
	Sistema verifica permissões de inclusão
	7
	Ator Clica no botão de inserir
	8
	Sistema mostra tela de Cadastro-Alteração do registro
	9
	Ator Digita as informações obrigatórias do registro.
	10
	Ator Escolhe o botão Salvar
	11
	Sistema valida dados obrigatórios
	12
	Sistema realiza o cadastro no banco.
	13
	Sistema mostra mensagem de salvo com sucesso
	12
	Ator visualiza novamente todos os registros disponíveis.
	Fluxos Alternativos
	Fluxo Alternativo 1 – Botão voltar
	1.1
	Sistema retorna sem realizar nenhuma ação
	1.2
	Retorna ao passo 3 do Fluxo Principal
	Fluxo Alternativo 2 – Dados incompletos
	2.1
	Sistema mostra mensagem das informações faltando
	2.2
	Retorna ao passo 6
	Fluxo Alternativo 3 – Não possui permissão
	2.2
	Sistema oculta o botão de inclusão.
	Fluxos de Exceção
	Fluxo de Exceção 01 - Fechar o navegador ou aba
	1.1
	Retorna ao passo 1 sem fazer alterações
	1.2
	Sistema não guarda os dados digitados
	Fluxo de Exceção 02 - Erro inesperado de banco de dados
	2.1
	Sistema não guarda os dados digitados
	2.2
	Sistema mostra aviso de erro.
	Requisitos
	CDU 08
	CDU 08- Controle de permissões
FONTE: O autor (2017)
6.4.2.2 Cenário pesquisar
6.4.2.2.1 Diagrama de atividade do cenário pesquisar
Figura 24 - Diagrama de atividade do cenário pesquisar
FONTE: O autor (2017)
6.4.2.2.2 Detalhamento de caso de uso do cenário pesquisar
Quadro 21 - Caso de uso genérico – pesquisar
	
	CDU. – Manter – Cenário pesquisar
	
	Descrição:
	Realizará a consulta dos registros existentes no sistema.
	
	Pré-Condição:
	Ter realizado Login com sucesso no sistema, possuir permissão e que o registro exista no sistema.
	
	Pós-Condição:
	Após a consulta o aluno terá as informações, contidas no registro, caso exista.
	
	Fluxo Principal
	
	Nº.
	Ação
	
	1
	Sistema valida permissão de pesquisar.
	
	2
	Ator clica no botão referente a função que deseja.
	
	3
	Ator acessa a tela do registro
	
	4
	Sistema busca os registros disponíveis para o ator visualizar.
	5
	5
	Ator visualiza os registros disponíveis.
	
	6
	Ator digita as informações no campo de pesquisa desejado
	
	7
	Ator clica no botão de pesquisa
	8
	8
	Sistema verifica se existem registros com as informações digitadas 
	9
	9
	Apresenta apenas os registros com informações dentro do fornecido
	
	Fluxos Alternativos
	
	Fluxo Alternativo 1 – Registro inexistente
	
	1.1
	Sistema retorna mensagem de “Nenhum registro encontrado”
	
	1.2
	Retorna ao passo 3 do Fluxo Principal
	
	Fluxos de Exceção
	
	Fluxo de Exceção 01 - Fechar o navegador ou aba
	
	1.1
	Retorna ao passo 1 sem fazer alterações
	
	1.2
	Sistema não guarda os dados digitados
	
	Fluxo de Exceção 02 - Erro inesperado de banco de dados
	
	2.1
	Sistema não guarda os dados digitados
	
	2.2
	Sistema mostra aviso de erro.
FONTE: O autor (2017)
6.4.2.3 Cenário alterar
6.4.2.3.1 Diagrama de atividade Cenário alterar
Figura 25 - Diagrama de atividade do cenário alterar
FONTE: O autor (2017)
6.4.2.3.2 Detalhamento de caso de uso genérico Cenário alterar
Quadro 22 - Caso de uso genérico – alterar
	CDU. - Manter – Cenário alterar 
	Descrição:
	O aluno com permissão irá alterar os dados do registro desejado.
	Pré-Condição:
	Ter realizado Login com sucesso no sistema, possuir permissão e que o registro exista no sistema.
	Pós-Condição:
	Após salvar as alterações feitas o registro será atualizado com as informações novas.
	Fluxo Principal
	Nº.
	Ação
	1
	Sistema valida permissão de pesquisar.
	2
	Ator clica no botão referente a função que deseja.
	3
	Ator Acessa a tela do registro
	4
	Sistema busca registros disponíveis.
	5
	Ator tem acesso a todos registros disponíveis
	6
	Sistema valida permissão de alterar.
	7
	Ator procura o registros que deseja alterar
	8
	Ator aperta o botão alterar (ícone pincel)
	9
	Ator visualiza a tela de alteração com todos os dados atuais.
	10
	Ator altera os dados desejados
	11
	Sistema verifica permissões
	12
	Ator aperta o botão salvar
	13
	Sistema valida dados obrigatórios.
	14
	Sistema altera o registro.
	15
	Sistema da mensagem de sucesso 
	16
	Ator tem acesso a todos registros disponíveis
	Fluxos Alternativos
	Fluxo Alternativo 1 – Botão voltar
	1.1
	Sistema retorna sem realizar nenhuma ação
	1.2
	Retorna ao passo 5 do Fluxo Principal
	Fluxo Alternativo 2 – Dados incompletos
	2.1
	Sistema mostra mensagem das informações faltando
	2.2
	Retorna ao passo 9
	Fluxos de Exceção
	Fluxo de Exceção 01 - Fechar o navegador ou aba
	1.1
	Retorna ao passo 1 sem fazer alterações
	1.2
	Sistema não guarda os dados digitados
	Fluxo de Exceção 02 - Erro inesperado de banco de dados
	2.1
	Sistema não guarda os dados digitados
	2.2
	Sistema mostra aviso de erro.
FONTE: O autor (2017)
6.4.2.4 Cenário excluir
6.4.2.4.1 Diagrama de atividade do cenário excluir
Figura 26 - Diagrama de atividade do cenário excluir
FONTE: O autor (2017)
6.4.2.4.2 Detalhamento de caso de uso do cenário excluir
Quadro 23 - Caso de uso genérico – excluir
	CDU. – Manter – Cenário excluir 
	Descrição:
	O aluno com permissão irá excluir o registro desejado.
	Pré-Condição:
	Ter realizadoLogin com sucesso no sistema, possuir permissão e que o registro exista no sistema.
	Pós-Condição:
	Exclusão do registro do sistema.
	Fluxo Principal
	Nº.
	Ação
	1
	Sistema valida permissão de pesquisar.
	2
	Ator clica no botão referente a função que deseja.
	3
	Ator Acessa a tela do registro
	4
	Sistema busca registros disponíveis.
	5
	Ator tem acesso a todos registros disponíveis
	6
	Sistema valida permissão de excluir.
	7
	Ator aperta o botão excluir(lixeira)
	8
	Ator visualiza a tela de mensagem de confirmação de exclusão
	9
	Ator confirma
	10
	Sistema valida possibilidade de excluir o registro
	11
	Sistema exclui o registro
	12
	Sistema da mensagem de sucesso
	13
	Ator tem acesso a todos registros disponíveis
	Fluxos Alternativos
	Fluxo Alternativo 1 – Botão não
	1.1
	Sistema retorna sem realizar nenhuma ação
	1.2
	Retorna ao passo 5 do Fluxo Principal
	Fluxo Alternativo 2 – Registro sendo utilizado
	2.1
	Sistema retorna mensagem de “(Nome do registro) está sendo utilizado”
	2.2
	Retorna ao passo 5 do Fluxo Principal
	Fluxos de Exceção
	Fluxo de Exceção 01 - Fechar o navegador ou aba
	1.1
	Retorna ao passo 1 sem fazer alterações
	1.2
	Sistema não guarda os dados digitados
	Fluxo de Exceção 02 - Erro inesperado de banco de dados
	2.1
	Sistema não guarda os dados digitados
	2.2
	Sistema mostra aviso de erro.
FONTE: O autor (2017)
6.4.2.5Cenário pesquisar com “mais filtros”
6.4.2.5.1 Diagrama de atividade do cenário pesquisar com “mais filtros” 
Figura 27 - Diagrama de atividade do cenário pesquisar com "mais filtros"
FONTE: O autor (2017)
6.4.2.5.2 Detalhamento de caso de uso cenário pesquisar com “mais filtros”
Quadro 24 - Caso de uso genérico - mais filtros
	
	CDU. - Manter – Cenário pesquisar com “mais filtros”
	
	Descrição:
	Realizará a consulta dos registros existentes no sistema.
	
	Pré-Condição:
	Ter realizado Login com sucesso no sistema, possuir permissão e que o registro exista no sistema.
E esteja disponível, e o botão visível, pelo sistema, para os filtros adicionais.
	
	Pós-Condição:
	Após a consulta o aluno terá as informações, contidas no cadastro, caso exista.
	
	Ator
	Aluno devidamente cadastrado.
	
	Fluxo Principal
	
	Nº.
	Ação
	
	1
	Sistema valida permissão de pesquisar.
	
	2
	Ator clica no botão referente a função que deseja.
	
	3
	Ator Acessa a tela do registro
	
	4
	Sistema busca registros disponíveis.
	
	5
	Ator tem acesso a todos registros disponíveis
	
	6
	Sistema valida se existe opção de pesquisa com o mais filtros.
	
	7
	Ator Clica em “mais filtros”
	
	8
	Ator clica em novo filtro
	
	9
	Ator clica em salvar
	
	10
	Ator clica em pesquisar
	
	11
	Sistema valida permissões de pesquisa
	
	12
	Sistema verifica se existem registros com as informações digitadas
	
	13
	Apresenta apenas os registros com informações dentro do fornecido
	
	Fluxos Alternativos
	
	Fluxo Alternativo 1 – Registro inexistente
	
	1.1
	Sistema retorna mensagem de “Nenhum registro encontrado”
	
	1.2
	Retorna ao passo 5 do Fluxo Principal
	
	Fluxo Alternativo 2 – Sem filtros adicionais
	
	2.1
	Sistema retorna mensagem de “Não existe filtros adicionais”
	
	2.2
	Retorna ao passo 5 do Fluxo Principal
	
	Fluxos de Exceção
	
	Fluxo de Exceção 01 - Fechar o navegador ou aba
	
	1.1
	Retorna ao passo 1 sem fazer alterações
	
	1.2
	Sistema não guarda os dados digitados
	
	Fluxo de Exceção 02 - Erro inesperado de banco de dados
	
	2.1
	Sistema não guarda os dados digitados
	
	2.2
	Sistema mostra aviso de erro.
FONTE: O autor (2017)
6.4.3 Caso de uso Gerador de acesso provisório
6.4.3.1 Cenário incluir
6.4.3.1.2 Diagrama de atividade do cenário incluir
Figura 28 - Diagrama de atividade do cenário incluir - Acesso provisório
FONTE: O autor (2017)
6.4.3.2.2 Detalhamento do cenário incluir
Quadro 25 - Caso de uso Gerador de acesso provisório – Incluir
	CDU11 - Gerador de acesso provisório – Cenário incluir - Incluir
	Descrição:
	Criação de múltiplos alunos automaticamente.
	Pré-Condição:
	Ter efetuado Login e possuir permissão.
	Pós-Condição:
	Múltiplos alunos e códigos dos alunos criados com sucesso.
	Atores:
	Aluno com permissão especifica para cadastro do gerador de acesso provisório.
	Ativação:
	Gerador de acessos > Incluir.
	Fluxo Principal
	Nº.
	Ação
	1
	Sistema valida permissão de pesquisar.
	2
	Ator clica no botão referente a função que deseja.
	3
	Ator Acessa a tela do registro
	4
	Sistema busca registros disponíveis.
	5
	Ator tem acesso a todos registros disponíveis
	6
	Ator clica no botão de incluir
	7
	Ator Digita as informações obrigatórias do registro.
	8
	Ator Escolhe o botão Salvar
	9
	Sistema valida dados obrigatórios
	10
	Sistema valida permissão de incluir aluno.
	11
	Sistema realiza o cadastro dos códigos do aluno no banco.
	12
	Sistema realiza o cadastro dos múltiplos alunos no sistema.
	13
	Sistema mostra mensagem de salvo com sucesso
	14
	Ator tem acesso a todos registros disponíveis
	Fluxos Alternativos
	Fluxo Alternativo 01 – Quantidade maior que zero
	1.1
	Sistema retorna mensagem de quantidade invalida
	1.2
	Retorna ao passo 7 do Fluxo Principal
	Fluxos de Exceção
	Fluxo de Exceção 01 - Fechar o navegador ou aba
	1.1
	Sistema não guarda os dados digitados
	Fluxo de Exceção 02 - Recarregar página
	2.1
	Sistema não guarda os dados digitados
	Requisitos
	R11
R01
	R11 – Gerador de acesso provisório
R01 – Manter Aluno.
FONTE: O autor (2017)
6.4.4 Relatório
6.4.4.1 Cenário gerar PDF
6.4.4.1.1 Diagrama de atividade do cenário gerar PDF
Figura 29 - Diagrama de atividade do cenário gerar PDF – Relatório
FONTE: O autor (2017)
6.4.4.1.2 Detalhamento do cenário gerar PDF
Quadro 26 - Relatório – Imprimir
	CDU12 - Relatório – Cenário Baixar PDF
	Descrição:
	Baixar PDF dos dados da Agenda.
	Pré-Condição:
	Ter efetuado Login e possuir permissão.
	Pós-Condição:
	PDF disponível para ser baixado.
	Atores:
	Aluno com permissão especifica para relatório.
	Ativação:
	Relatório > Imprimir.
	Fluxo Principal
	Nº.
	Ação
	1
	Sistema valida permissão de pesquisar.
	2
	Ator clica no botão referente a função que deseja.
	3
	Ator Acessa a tela do relatório
	4
	Ator escolhe os filtros
	5
	Ator aperta imprimir
	6
	Sistema valida dados obrigatórios
	7
	Sistema monta o PDF
	8
	Ator escolhe onde salvar o PDF
	Fluxos Alternativos
	Fluxo Alternativo 02 – Falta dados obrigatórios
	1.1
	Sistema retorna mensagem quais campos faltam
	1.2
	Retorna ao passo 3 do Fluxo Principal
	Fluxos de Exceção
	Fluxo de Exceção 01 - Fechar o navegador ou aba
	1.1
	Sistema não guarda os dados digitados
	Fluxo de Exceção 02 - Recarregar página
	2.1
	Sistema não guarda os dados digitados
	Requisitos
	R12
	R12 – Relatório
FONTE: O autor (2017)
6.5 Contratos de Operações com o Sistema
6.5.1 Especificação de manter curso
6.5.1.1 Cenário incluir curso
Quadro 27 - Manter curso – incluir
	CDU 05 - Manter curso – Cenário incluir curso
	Ator
	Aluno com a permissão específica para cadastro de cursos.
	Ativação
	Cadastro > Curso > Incluir.
	Fluxos Alternativos
	Fluxo Alternativo 1 – Nome de curso duplicado
	1.1
	Sistema retorna mensagem de “Curso com nome já existente.”
	1.2
	Retorna ao passo 1 do fluxo padrão
FONTE: O autor (2017)
6.5.1.2 Cenário pesquisar curso
Quadro 28 - Manter curso – pesquisar
	CDU 05 - Manter curso – Cenário pesquisar curso
	Ator
	Aluno com a permissão específica para pesquisa dos cursos.
	Ativação
	Cadastro > Curso > Pesquisar.
FONTE: O autor (2017)
6.5.1.3 Cenário alterar curso
Quadro 29 - Manter curso – alterar
	CDU 05 - Manter curso – Cenário alterar curso
	Ator
	Aluno com a permissão específica para alteração de cursos.
	Ativação
	Cadastro > Curso > Alterar(pincel).
	Fluxos Alternativos
	Fluxo Alternativo 1 – Nome de curso duplicado
	1.1
	Sistema retorna mensagem de “Curso com nome já existente.”
	1.2
	Retorna ao passo 1 do fluxo padrão
FONTE: O autor (2017)
6.5.1.4 Cenário excluir curso
Quadro 30 - Manter curso – excluir
	CDU 05 - Manter curso – Cenário excluir cursoAtor
	Aluno com a permissão específica para exclusão dos cursos.
	Ativação
	Cadastro > Curso > Excluir(Lixeira).
	Fluxos Alternativos
	Fluxo Alternativo 1 – Curso sendo utilizado
	1.1
	Sistema retorna mensagem de “Curso está sendo utilizado.”
	1.2
	Retorna ao passo 1 do fluxo padrão
FONTE: O autor (2017)
6.5.1.5 Cenário mais filtros em curso
Quadro 31 - Manter curso - mais filtros
	CDU 05 - Manter curso – Cenário mais filtros curso
	Ativação
	Cadastro > Curso >Mais filtros.
	Atributos
	Os atributos listados no mais filtros de curso serão: Nome, Duração, Id (Nome na tela = “Número”).
FONTE: O autor (2017)
6.5.2 Especificação de manter evento
6.5.2.1 Cenário incluir evento
Quadro 32 - Manter evento – incluir
	CDU 02 - Manter evento – Cenário incluir evento
	Ator
	Aluno com a permissão específica para cadastro de eventos.
	Ativação
	Cadastro > Eventos Recorrentes > Incluir.
	Fluxos Alternativos
	Fluxo Alternativo 1 – Nome de evento duplicado
	1.1
	Sistema retorna mensagem de “Evento com nome já existente.”
	1.2
	Retorna ao passo 1 do fluxo padrão
FONTE: O autor (2017)
6.5.2.2 Cenário pesquisar evento
Quadro 33 - Manter evento – pesquisar
	CDU 02 - Manter evento – Cenário pesquisar evento
	Ator
	Aluno com a permissão específica para pesquisa dos eventos.
	Ativação
	Cadastro > Eventos Recorrentes > Pesquisar.
FONTE: O autor (2017)
6.5.2.3 Cenário alterar evento
Quadro 34 - Manter evento – alterar
	CDU 02 - Manter evento – Cenário alterar evento
	Ator
	Aluno com a permissão específica para alteração de eventos.
	Ativação
	Cadastro > Eventos Recorrentes > Alterar(Pincel).
	Fluxos Alternativos
	Fluxo Alternativo 1 – Nome de evento duplicado
	1.1
	Sistema retorna mensagem de “Evento com nome já existente.”
	1.2
	Retorna ao passo 1 do fluxo padrão
FONTE: O autor (2017)
6.5.2.4 Cenário excluir evento
Quadro 35 - Manter evento – excluir
	CDU 02 - Manter evento – Cenário excluir evento
	Ator
	Aluno com a permissão específica para exclusão dos cursos.
	Ativação
	Cadastro > Eventos Recorrentes > Excluir(Lixeira).
	Fluxos Alternativos
	Fluxo Alternativo 1 – Evento sendo utilizado
	1.1
	Sistema retorna mensagem de “Evento está sendo utilizado.”
	1.2
	Retorna ao passo 1 do fluxo padrão
FONTE: O autor (2017)
6.5.2.5 Cenário mais filtros em evento
Quadro 36 - Manter evento - mais filtros
	CDU 02 - Manter evento– Cenário mais filtros curso
	Ativação
	Cadastro > Eventos Recorrentes > Mais filtros.
	Atributos
	Os atributos listados no mais filtros de curso serão: Nome, Duração, Id (Nome na tela = “Número”).
FONTE: O autor (2017)
6.5.3 Especificação de manter aluno
6.5.3.1 Cenário incluir aluno
Quadro 37 - Manter aluno – incluir
	CDU 01 - Manter aluno – Cenário incluir aluno
	Ator
	Aluno com a permissão específica para cadastro de alunos.
	Ativação
	Cadastro > Aluno > Incluir.
	Fluxos Alternativos
	Fluxo Alternativo 1 – Login de aluno duplicado
	1.1
	Sistema retorna mensagem de “Login não pode se repetir.”
	1.2
	Retorna ao passo 1 do fluxo padrão
FONTE: O autor (2017)
6.5.3.2 Cenário pesquisar aluno
Quadro 38 - Manter aluno – pesquisar
	CDU 01 - Manter aluno – Cenário pesquisar aluno
	Ator
	Aluno com a permissão específica para pesquisa dos alunos.
	Ativação
	Cadastro > Aluno > Pesquisar.
FONTE: O autor (2017)
6.5.3.3 Cenário alterar aluno
6.5.3.3.1 Diagrama de atividade
Figura 30 - Diagrama de atividade alterar aluno - Fluxo alternativo
FONTE: O autor (2017)
6.5.3.3.2 Detalhamento do cenário alterar aluno
Quadro 39 - Manter aluno – alterar
	CDU 01 - Manter aluno – Cenário alterar aluno
	Ator
	Aluno com a permissão específica para alteração de alunos.
	Ativação
	Cadastro > Aluno > Alterar(pincel).
	Observação
	Esta especificação vem do Detalhamento do Crud Genérico de alterar. Neste caso especifico de alteração de aluno com Código de acesso associado e acrescentado o passo 15 ao fluxo principal. 
	Fluxos Principal
	15
	Sistema exclui código acesso se tiver relacionado ao aluno.
	Fluxos Alternativos
	Fluxo Alternativo 1 – Login de aluno duplicado
	1.1
	Sistema retorna mensagem de “Login não pode se repetir.”
	1.2
	Retorna ao passo 1 do fluxo padrão
FONTE: O autor (2017)
6.5.3.4 Cenário excluir aluno
Quadro 40 - Manter aluno – excluir
	CDU 01 - Manter aluno – Cenário excluir alunos
	Ator
	Aluno com a permissão específica para exclusão dos alunos.
	Ativação
	Cadastro > Eventos Recorrentes > Excluir(Lixeira).
	Fluxos Alternativos
	Fluxo Alternativo 1 – Aluno sendo utilizado
	1.1
	Sistema retorna mensagem de “Aluno está sendo utilizado.”
	1.2
	Retorna ao passo 1 do fluxo padrão
FONTE: O autor (2017)
6.5.3.5 Cenário mais filtros em aluno
Quadro 41- Manter evento - mais filtros
	CDU 01 - Manter aluno – Cenário mais filtros aluno
	Ativação
	Cadastro >Aluno> Mais filtros.
	Atributos
	Os atributos listados nos mais filtros de aluno serão: Nome, Login, Id (Nome na tela = “Número”).
FONTE: O autor (2017)
6.5.4 Especificação de tipo de evento
6.5.4.1 Cenário incluir tipo de evento
Quadro 42 - Tipo de evento – incluir
	CDU 03 - Tipo de evento – Cenário incluir tipo de evento
	Ator
	Aluno com a permissão específica para cadastro de tipos de evento.
	Ativação
	Cadastro > Tipo de evento > Incluir.
	Fluxos Alternativos
	Fluxo Alternativo 1 – Nome de tipo de evento duplicado
	1.1
	Sistema retorna mensagem de “Nome não pode se repetir.”
	1.2
	Retorna ao passo 1 do fluxo padrão
FONTE: O autor (2017)
6.5.4.2 Cenário pesquisar tipo de evento
Quadro 43 - Tipo de evento – pesquisar
	CDU 03 - Tipo de evento – Cenário pesquisar tipo de evento
	Ator
	Aluno com a permissão específica para pesquisa dos tipos de evento.
	Ativação
	Cadastro > Tipo de evento > Pesquisar.
FONTE: O autor (2017)
6.5.4.3 Cenário alterar tipo de evento
Quadro 44 - Tipo de evento – alterar
	CDU 03 - Tipo de evento – Cenário alterar aluno
	Ator
	Aluno com a permissão específica para alteração de tipos de evento.
	Ativação
	Cadastro > Tipo de evento > Alterar (pincel).
	Fluxos Alternativos
	Fluxo Alternativo 1 – Nome de tipo de evento duplicado
	1.1
	Sistema retorna mensagem de “Nome não pode se repetir.”
	1.2
	Retorna ao passo 1 do fluxo padrão
FONTE: O autor (2017)
6.5.4.4 Cenário excluir tipo de evento
Quadro 45 - Tipo de evento – excluir
	CDU 03 - Tipo de evento – Cenário excluir tipo de evento
	Ator
	Aluno com a permissão específica para exclusão dos tipos de evento.
	Ativação
	Cadastro > Tipo de evento > Excluir(Lixeira).
	Fluxos Alternativos
	Fluxo Alternativo 1 – Tipo de evento sendo utilizado
	1.1
	Sistema retorna mensagem de “Tipo de evento está sendo utilizado.”
	1.2
	Retorna ao passo 1 do fluxo padrão
FONTE: O autor (2017)
6.5.5 Especificação de origem de evento
6.5.5.1 Cenário incluir origem de evento
Quadro 46 - Origem de evento – incluir
	CDU 04 - Origem de evento – Cenário incluir origem de evento
	Ator
	Aluno com a permissão específica para cadastro de tipos de evento.
	Ativação
	Cadastro > Origem de evento > Incluir.
	Fluxos Alternativos
	Fluxo Alternativo 1 – Nome de Origem de evento duplicado
	1.1
	Sistema retorna mensagem de “Nome não pode se repetir.”
	1.2
	Retorna ao passo 1 do fluxo padrão
FONTE: O autor (2017)
6.5.5.2 Cenário pesquisar origem de evento
Quadro 47 - Origem de evento – pesquisar
	CDU 04 - Origem de evento – Cenário pesquisar Origem de evento
	Ator
	Aluno com a permissão específica para pesquisa dos tipos de evento.
	Ativação
	Cadastro > Origem de evento > Pesquisar.
FONTE: O autor (2017)
6.5.5.3 Cenário alterar origem de evento
Quadro 48 - Origem de evento – alterar
	CDU 04 - Origem de evento – Cenário alterar aluno
	Ator
	Aluno com a permissão específica para alteração de tipos de evento.
	Ativação
	Cadastro > Origem de evento > Alterar(pincel).
	Fluxos Alternativos
	Fluxo Alternativo 1 – Nome de Origem de evento duplicado
	1.1
	Sistema retorna mensagem de “Nome não pode se repetir.”
	1.2
	Retorna ao passo 1 do fluxo padrão
FONTE: O autor (2017)
6.5.5.4 Cenário excluir origem de evento
Quadro