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