Escola Infinito: Sistema de Presença
Conteúdo
Autores
- Diogo Lourenzon Hatz
- Leila Akina Ino
- Livia Alabarse dos Santos
Descrição do projeto
Este projeto consiste na implementação de um sistema para controlor a preseça de alunos de uma escola que possui múltiplas turmas do Ensino Fundamental I. Esse sistema possui como usuário principal os professores do instituto de ensino Inifinito, o qual leva em consideração as eventuais necessidades de acessibilidade de seus docentes. Ademais, por se tratar de uma atividade rotineira acadêmica dos docentes, o sistema implementado deve ser intuitivo e cumprir com seu papel fundamental sem complicações
Análise de requisitos funcionais e não-funcionais
Requisitos funcionais:
- Realizar a chamada de todas as turmas em dois momentos do dia
- Gerar relatórios de faltas agrupados por data, ano do ensino, turma, professor, disciplina ou aluno
- Enviar notificações por e-mail para pais ou responsáveis nos casos em que o comparecimento às aulas dadas até o momento estiverem abaixo de 80%
- Acessibilidade: tamanho de fonte ajustável, dentre outros
- Reprovar os alunos com mais de 25% de faltas do total de aulas ministradas
Requisitos não-funcionais:
- O sistema deve ser implementado em web: HTML, CSS e JS
- O sistema deve permitir múltiplos acessos simultâneos
- O sistema deve ser compatível com todos os navegadores web
- O sistema deve ser compatível com dispositivos móveis
- O sistema deve se comunicar com um banco de dados
- O usuário deve escolher uma senha com no mínimo 6 caracteres alfanuméricos, contendo peolo menos 1 letra maiúscula e 1 caractere especial
- O sistema semanalmente verificará de forma automática as porcentagens de comparecimento a partir de um relatório individual gerado e enviará uma notificação aos pais caso o comparecimento esteja abaixo de 80%. Essa verificação ocorrerá de sabádo.
Diagrama de casos de uso

Descrição dos casos de uso
Caso do Uso: Fazer a Chamada
- Descrição Geral: O professor deseja realizar a chamada de uma determinada turma
- Atores: Professor
- Pré-Condição: O professor deve realizar login no sistema
- Pós-Condição: A chamada é feita e enviada para o banco de dados
- Fluxo Básico (Professor deseja realizar a chamada)
- (Opcional) Professor seleciona o ícone de acessibilidade e altera o tamanho da fonte
- Professor seleciona a opção de fazer a chamada
- Professor faz a chamada e envia o resultado ao banco de dados
Caso do Uso: Gerar Relatórios de Faltas
- Descrição Geral: O professor deseja gerar relatórios de faltas com determinado critério de agrupamento
- Atores: Professor
- Pré-Condição: O professor deve realizar login no sistema
- Pós-Condição: O relatório é gerado
- Fluxo Básico (Professor deseja gerar relatório de faltas)
- (Opcional) Professor seleciona o ícone de acessibilidade e altera o tamanho da fonte
- Professor seleciona a opção de gerar relatórios
- Professor seleciona o critério de agrupamento do relatório
- Sistema gera o relatório
Caso do Uso: Verificar porcentagem de presença
- Descrição Geral: O sistema verifica a porcentagem de comparecimento e notifica os pais caso a porcentagem esteja abaixo de 80%
- Atores: Pais e responsáveis
- Pré-Condição:Ser sábado
- Pós-Condição: Nada ou notificação aos pais e responsáveis
- Fluxo Básico (Verificar porcentagem de comparecimento)
- Sistema gera um relatório para cada aluno
- Sistema verifica a falta do aluno
- Fluxo Alternativo (Uma notificação é enviada aos responsáveis de alunos com excesso de faltas)
- Sistema gera um relatório para cada aluno
- Sistema verifica a falta do aluno
- E-mail é enviado aos responsáveis dos alunos com excesso de faltas
Diagramas de sequência
Diagrama relativo ao caso de uso Fazer Chamada:

Diagrama relativo ao caso de uso Gerar Relatório:

Diagrama relativo ao caso de uso Verificar Porcentagem de Faltas:

Diagrama de classes

Diagrama de Componentes

Decisões de arquitetura
Para atender às necessidades da Escola Infinito no desenvolvimento do Sistema de Controle de Presenças, várias decisões de arquitetura foram tomadas em relação aos diagramas UML específicos, conforme detalhado a seguir:
Diagrama de Casos de Uso:
O Diagrama de Casos de Uso representa as interações entre os atores (usuários) e o sistema. Neste contexto, os principais atores são os professores, gestores da escola, alunos e pais/responsáveis. Os casos de uso identificados incluem “Fazer a chamada”, “Gerar Relatórios de Faltas”, “Verificar porcentagem de presença”. A decisão foi tomada para garantir que todos os atores relevantes estivessem representados, considerando as diferentes responsabilidades e necessidades de cada um.
Diagrama de Sequência:
O Diagrama de Sequência descreve a interação entre objetos ao longo do tempo. Para o sistema de controle de presenças, foram identificadas sequências cruciais, como o processo de registro de faltas pelos professores, geração de relatórios e envio de notificações. A decisão de priorizar a eficiência e a clareza nas interações entre os atores foi fundamental, garantindo que o sistema respondesse de maneira eficaz às ações dos usuários.
Diagramas de Classes:
Os Diagramas de Classes detalham a estrutura estática do sistema, incluindo classes, atributos e relacionamentos. Para a Escola Infinito, foram identificadas classes como “Chamada”, “Professor”, “Acessibilidade”, “Relatório de faltas”, “Verificar porcentagem de presença” e “Pais e responsáveis”. A decisão de organizar as classes de forma a refletir a estrutura organizacional da escola permitiu uma modelagem mais precisa e uma representação fiel das entidades envolvidas.
Diagrama de Componentes:
O Diagrama de Componentes representa a estrutura física do sistema, identificando os principais componentes e suas interações. A decisão foi tomada para modularizar o sistema, destacando componentes como “Módulo de Autenticação”, “Módulo de Chamada”, “Módulo de Relatórios” e “Módulo de Notificação”. Isso facilita a manutenção, escalabilidade e reutilização de componentes específicos do sistema.
Diagrama de Implantação:
O Diagrama de Implantação descreve como o sistema será implantado em hardware físico. A decisão foi tomada para garantir que o sistema seja acessível a partir de qualquer navegador web, inclusive em dispositivos móveis. A arquitetura adotada suporta essa acessibilidade, permitindo que professores acessem o sistema de qualquer lugar e dispositivo.
Diagrama de implantação

Referências
- Material disponibilizado na plataforma de ensino Moodle da disciplina de Projeto de Software
- https://www.lucidchart.com/pages/pt/diagrama-de-caso-de-uso-uml, acessado em 31 de ago. de 2023
- https://www.mestresdaweb.com.br/tecnologias/requisitos-funcionais-e-nao-funcionais-o-que-sao, acessado em 31 de ago. de 2023
- https://www.lucidchart.com/pages/pt/o-que-e-diagrama-de-sequencia-uml, acessado em 13 de ago. de 2023
- https://www.lucidchart.com/pages/pt/o-que-e-diagrama-de-classe-uml, acessado em 20 de set. de 2023
- https://www.lucidchart.com/pages/pt/diagrama-de-componentes-uml, acessado em 18 de out. de 2023
- https://www.lucidchart.com/pages/pt/o-que-e-diagrama-de-implementacao-uml, acessado em 8 de nov. de 2023