Prévia do material em texto
09/07/2020 Regulamento do TCC - Desenvolvimento Web Full Stack: 13. TCC Desenvolvimento Web Full Stack (2019) https://pucminas.instructure.com/courses/1831/pages/regulamento-do-tcc-desenvolvimento-web-full-stack?module_item_id=590639 1/6 Regulamento do TCC - Desenvolvimento Web Full Stack 1 - Introdução Nesse documento, apresentamos as informações necessárias para o desenvolvimento do Trabalho de Conclusão de Curso (TCC) para o curso de Pós Graduação Lato Sensu em Desenvolvimento Web Full Stack. O TCC se constitui de um trabalho interdisciplinar realizado individualmente em que o aluno coloca em prática tudo o que foi visto nas outras disciplinas. O propósito deste trabalho é consolidar os conhecimentos aprendidos durante o curso, dando ao aluno a oportunidade de verificar sua competência em atender demandas reais por meio do desenvolvimento de uma solução completa. O contexto e problema a ser abordado no TCC deve ser escolhido pelo aluno. Dessa forma, espera-se que os conhecimentos possam ser aplicados em um projeto alinhado com os interesses do aluno. Nesse ponto, é importante ressaltar que, mesmo tendo a possibilidade de escolha do tema, o aluno deverá observar cuidadosamente e cumprir o conjunto de requisitos e as restrições técnicas que fazem parte deste trabalho, descritos no item Escopo do Trabalho. Os itens que devem ser produzidos para o fechamento da disciplina são descritos no item Entrega que fica ao final deste documento. Em caso de dúvidas sobre as regras ou procedimentos do TCC, o aluno deve utilizar o fórum da disciplina (https://pucminas.instructure.com/courses/1831/discussion_topics/143772) . Desta forma, espera-se que este espaço sirva de orientação para todos os alunos uma vez que podem ver as perguntas realizadas pelos demais alunos e os esclarecimentos sobre elas. 2 - Escopo do trabalho Para o contexto escolhido, o aluno deverá desenvolver uma aplicação Web completa com módulo servidor e módulo cliente por meio da programação de todas as funcionalidades, podendo utilizar frameworks e bibliotecas que achar necessários. Para a avaliação de assimilação dos conhecimentos passados nas disciplinas do curso, foi formulado um conjunto obrigatório de requisitos e restrições técnicas que a solução a ser desenvolvida deve apresentar. Assim sendo, embora seja possível escolher o tema, objeto do trabalho, é necessário cumprir os itens que são apresentados a seguir. 2.1 - Requisitos Funcionais https://pucminas.instructure.com/courses/1831/discussion_topics/143772 09/07/2020 Regulamento do TCC - Desenvolvimento Web Full Stack: 13. TCC Desenvolvimento Web Full Stack (2019) https://pucminas.instructure.com/courses/1831/pages/regulamento-do-tcc-desenvolvimento-web-full-stack?module_item_id=590639 2/6 Uma vez que você escolhe o tema a ser abordado no seu TCC, apresentamos um conjunto genérico de funcionalidades que a sua aplicação deve apresentar. Cabe a você escolher em qual funcionalidade você irá incorporar os requisitos apresentados na relação a seguir. São eles: ID Requisito Funcional Descrição RF-01 Login e registro de usuários O sistema deve oferecer funcionalidade de login de usuários com a possibilidade do registro de novos usuários de forma autônoma por pessoas que ainda não estão cadastradas RF-02 Controle de acesso a funcionalidades O sistema deve controlar o acesso a funcionalidades a partir dos perfis de usuários como, por exemplo, os seguintes: administrador do sistema, gestor/gerente/operador e usuário RF-03 Menu do sistema O sistema deve apresentar um menu de opções que dê acesso a todas as funcionalidades que o sistema provê RF-04 Telas de cadastro O sistema deve ser estruturado com pelo menos 5 entidades para as quais devem ser fornecidas telas de cadastro completas cumprindo os seguintes itens: A tela deve oferecer todas as operações de CRUD (Create/Retrieve/Update/Delete), a menos que haja uma regra de negócio que justifique não poder excluir ou alterar os dados diretamente, A tela deve oferecer funcionalidade de exportação de dados em formato Excel ou PDF; Nos campos do cadastro que estão associados a outras entidades do sistema, deve ser fornecido um mecanismo de lookup dos dados da outra entidade (combobox ou janela de seleção), além da possibilidade de se informar o respectivo código da entidade associada. RF-05 Tela mestre/detalhe O sistema deve apresentar pelo menos uma tela em que seja feito cadastro de dados em estrutura mestre/detalhe (duas entidades associadas) RF-06 Telas de transações O sistema deve apresentar pelo menos 3 telas de processamento de transações com suas respectivas regras de negócio a partir das entidades do sistema. RF-07 Relatório gráfico de estatísticas O sistema deve apresentar pelo menos uma tela de relatório com as estatísticas do sistema de forma gráfica (gráfico de barras, gráfico de linhas, etc.) em que sejam mostrados pelo menos 5 indicadores (Ex: número de consultas por mês, total de vendas por mês ou por loja, total de eventos da semana ou por categoria). 09/07/2020 Regulamento do TCC - Desenvolvimento Web Full Stack: 13. TCC Desenvolvimento Web Full Stack (2019) https://pucminas.instructure.com/courses/1831/pages/regulamento-do-tcc-desenvolvimento-web-full-stack?module_item_id=590639 3/6 2.2 - Requisitos não funcionais Além das funcionalidades apresentadas acima, o sistema deverá apresentar as seguintes características: ID Requisito Não Funcional Descrição RNF- 01 Integração OAuth Integração do login com algum servidor de autenticação baseado em OAuth (Google Accounts, Facebook, Linkedin, etc) RNF- 02 Responsividade A interface completa do sistema deve apresentar nível avançado de responsividade, sendo corretamente apresentado em dispositivos móveis como tablets e celulares, além de desktops RNF- 03 Banco de dados Os dados do sistema devem ser armazenados em um banco de dados relacional ou noSql 2.3 - Restrições Técnicas As restrições técnicas limitam o que poderá ser empregado por você no desenvolvimento da sua aplicação. São elas: ID Restrição Descrição RT-01 Aplicação 100% Web O sistema deve ser 100% compatível com a Web, utilizando navegadores/browsers como clientes e servidores Web como ambiente de armazenamento de dados RT-02 Tabelas de Bancos de Dados O banco de dados do sistema deverá ter no mínimo 8 tabelas associadas ao propósito principal da solução. No caso de projetos que usem bancos noSQL, devem ser retratadas pelo menos 6 entidades. IMPORTANTE: Não entram nesta conta as tabelas relacionadas a usuários e controle de acesso. RT-03 Plataformas de Gestão de Conteúdo Para o cumprimento dos requisitos funcionais NÃO poderá ser utilizada uma plataforma pronta de gestão de sites de conteúdos como Wordpress, Drupal, Joomla ou similar RT-04 Linguagens de Programação As linguagens de programação utilizadas no desenvolvimento dos módulos de Back-End e Front-end devem constar da relação apresentada nas disciplinas do curso. É vedado o uso de linguagens de programação diferentes daquelas vistas no curso 09/07/2020 Regulamento do TCC - Desenvolvimento Web Full Stack: 13. TCC Desenvolvimento Web Full Stack (2019) https://pucminas.instructure.com/courses/1831/pages/regulamento-do-tcc-desenvolvimento-web-full-stack?module_item_id=590639 4/6 3 - Entrega Neste trabalho, a entrega se divide em quatro partes: (1) documentação do projeto, (2) site da aplicação, (3) código da aplicação e (4) vídeo demonstrativo. Os detalhes de cada um destas partes são apresentados a seguir. Na tarefa associada à entrega do trabalho, o aluno deve submeter apenas a documentação do projeto que indicará a localização das outras partes em servidores na Internet. 3.1 - Documentação do Projeto Os itens relacionados com o detalhamento do problema a ser resolvido, projeto e modelagem do sistema, arquitetura da solução e testes devem ser descritos e formatados em um único documento no formato PDF, o que constitui a documentação do Projeto. No ambiente virtual de aprendizagem você temacesso ao modelo de documentação (https://pucminas.instructure.com/courses/1831/files/1377033/download?wrap=1) (https://pucminas.instructure.com/courses/1831/files/1377033/download?wrap=1) , sugerido para esta parte do trabalho. Neste documento devem constar os seguintes itens: 1. Introdução (Problema : visão geral sobre o problema que engloba os cenários em que o problema está localizado, apresentando razões para se realizar este projeto. No texto, você ser explícito sobre qual a dor a ser resolvida e quem (pessoa, instituição) sofre com essa dor e que pode ser beneficiado com esse trabalho. Na sequencia, devem ser apresentados os objetivos do trabalho, geral e específicos. O objetivo geral traz o que será entregue no final do projeto de forma clara e direta (software, técnica, algoritmo, solução, etc). 2. Especificação do Projeto: nesta parte, o problema é detalhado a partir das personas identificadas e são apresentados os requisitos do projeto (funcionais e não funcionais). 3. Projeto de Interface: proposta de funcionamento do software, contemplando o fluxo de telas e os respectivos wireframes criados para cada uma das telas. 4. Arquitetura da Solução: esta seção apresenta os componentes que fazem parte da solução e como eles estão estruturados em termos do seu papel na aplicação e forma como se comunicam. É importante apresentar documentação de cada uma das partes. Fazem parte da arquitetura da solução os seguintes artefatos: Diagrama de Classes Diagrama de Arquitetura da Solução 5. Plano e registro de testes: o processo de realização dos testes da solução desenvolvida deve ser documentado nesta seção, contemplando o plano de testes e, na sequência, o registro dos testes realizados. 3.2 - Site da Aplicação A aplicação desenvolvida deverá estar hospedada em um servidor acessível pela Internet, totalmente funcional e pronta para ser testada pelos avaliadores. É importante observar os seguintes pontos ao realizar a entrega: https://pucminas.instructure.com/courses/1831/files/1377033/download?wrap=1 https://pucminas.instructure.com/courses/1831/files/1377033/download?wrap=1 09/07/2020 Regulamento do TCC - Desenvolvimento Web Full Stack: 13. TCC Desenvolvimento Web Full Stack (2019) https://pucminas.instructure.com/courses/1831/pages/regulamento-do-tcc-desenvolvimento-web-full-stack?module_item_id=590639 5/6 O site deverá ficar disponível durante o período que inicia com a entrega e termina com a banca de avaliação. No ambiente fornecido para a avaliação, a base de dados deverá apresentar exemplos de teste previamente cadastrados que permitam visualizar o correto funcionamento do sistema. Devem ser fornecidas credenciais de acesso para todos os perfis de usuários da aplicação. Importante: O link para o site da aplicação, bem como as credenciais de acesso devem ser incluídos no arquivo da Documentação do Projeto. 3.3 - Código da Aplicação O código fonte de todos os módulos da aplicação devem ser disponibilizado para acesso por parte dos avaliadores. Estes arquivos podem ser disponibilizados em um servidor de armazenamento na Internet, para o qual sugerimos o GitHub, GitLab ou BitBucket. De toda forma, o aluno, poderá escolher, ainda, servidores como o DropBox, Google Drive, OneDrive, entre outros. O aluno deve garantir que o acesso ao link fornecido ficará ativo e de acesso aberto por todo o período de avaliação do TCC. Importante: O link para o código fonte deve ser incluído no arquivo da Documentação do Projeto. 3.4 - Vídeo demonstrativo O vídeo deve se limitar a 5 minutos e deve apresentar de forma sucinta o problema tratado e a solução desenvolvida mostrando as funcionalidades mais relevantes. Sugere-se que o aluno apresente um ciclo completo do que será realizado pelos usuários principais da solução. O software OBS Studio é uma boa sugestão de software para gravação de screencast. Importante: O link para o vídeo deve ser incluído no arquivo da Documentação do Projeto. 4 - Planejamento do TCC O cronograma do TCC (https://pucminas.instructure.com/courses/1831/pages/cronograma-tcc) apresenta todas as datas possíveis para a participação dos alunos do curso nesta disciplina. No processo de desenvolvimento deste trabalho, você deve escolher uma das quatro turmas, cujas datas são apresentadas no cronograma. Uma vez escolhida a turma, o trabalho é dividido conforme o plano de etapas que é descrito a seguir. As etapas são: 1. Desenvolvimento do trabalho - etapa em que o aluno define o problema a ser tratado e desenvolve a solução. 2. Entrega - o aluno submete o trabalho finalizado na tarefa aberta no ambiente virtual de aprendizagem. https://pucminas.instructure.com/courses/1831/pages/cronograma-tcc 09/07/2020 Regulamento do TCC - Desenvolvimento Web Full Stack: 13. TCC Desenvolvimento Web Full Stack (2019) https://pucminas.instructure.com/courses/1831/pages/regulamento-do-tcc-desenvolvimento-web-full-stack?module_item_id=590639 6/6 3. Avaliação Preliminar - Os avaliadores verificam se o aluno está apto ou não para participar da etapa de banca. 4. Agendamento de Bancas - O aluno é notificado do resultado da avaliação preliminar e é feito um trabalho de marcação das bancas. 5. Banca Avaliadora - O aluno apresenta seu trabalho para uma banca examinadora que fará as críticas e recomendações ao trabalho, aplicando uma nota final para o aluno na disciplina de TCC. Os avaliadores repassam a nota para a secretaria que repassará a nota para o aluno.