DES:Manu
Tabela de conteúdo |
Escopo do sistema
Visão Geral
Motivação: Possibilitar a abertura e acompanhamento de chamados de manutenção pela comunidade da Unioeste e permitir a gestão desses chamados pelos coordenadores.
Objetivos: Gestão de chamados, atribuição de atendimentos e visualização de relatórios e dashboards.
Tecnologias Utilizadas
Backend: Java 20, Spring Boot 3.2.5.
Frontend: Typescript, Angular 18, Angular Material.
Firebase Cloud Messaging: Envio de notificações push.
Aplicativo Mobile: Capacitor 6 para desenvolvimento de aplicativos nativos para Android e iOS.
Requisitos Funcionais
[RF001] Cadastro de Áreas
Descrição: O sistema permite ao usuário cadastrar áreas de manutenção.
Exemplo: hidráulica, elétrica, etc.
Dependência: Nenhuma.
[RF002] Cadastro de Serviços
Descrição: O sistema permite ao usuário cadastrar serviços relacionados às áreas de manutenção.
Exemplo: conserto de encanamento, reparo de fiação elétrica, etc.
Dependência: Cadastro de Áreas (RF001).
[RF003] Cadastro de Perfis de Usuários
Descrição: O sistema permite ao administrador cadastrar e gerenciar perfis de usuários.
Exemplo: coordenador, operador, técnico, etc.
Dependência: Nenhuma.
[RF004] Inclusão de Chamados de Manutenção
Descrição: O sistema permite ao usuário incluir chamados de manutenção, especificando a área e o serviço requerido.
Exemplo: chamado para reparo de vazamento em cano hidráulico.
Dependência: Cadastro de Áreas (RF001), Cadastro de Serviços (RF002).
[RF005] Atribuição de Atendimentos aos Chamados
Descrição: O sistema permite ao coordenador atribuir atendimentos aos chamados de manutenção para os técnicos ou operadores disponíveis.
Dependência: Inclusão de Chamados de Manutenção (RF004), Cadastro de Perfis de Usuários (RF003).
[RF006] Monitoramento de Chamados e Atendimentos
Descrição: O sistema permite ao usuário monitorar o status dos chamados e atendimentos, verificando o progresso e a conclusão dos mesmos.
Dependência: Inclusão de Chamados de Manutenção (RF004), Atribuição de Atendimentos aos Chamados (RF005).
[RF007] Cadastro de Relatórios
Descrição: O sistema permite ao usuário cadastrar relatórios relacionados aos atendimentos e resultados das manutenções.
Exemplo: relatório de atendimento concluído, detalhes do serviço realizado, etc.
Dependência: Atribuição de Atendimentos aos Chamados (RF005).
[RF008] Visualização de Relatórios
Descrição: O sistema permite ao usuário visualizar relatórios cadastrados, filtrando por datas, áreas, serviços e status dos chamados.
Dependência: Cadastro de Relatórios (RF007).
Casos de uso
[UC001] Cadastro de Áreas
Descrição: Este caso de uso descreve o processo de cadastro de novas áreas de manutenção no sistema.
Atores: Coordenador Geral, Administrador.
Fluxo Principal:
- O Coordenador Geral ou Administrador acessa a opção de "Cadastro de Áreas" no sistema.
- O sistema apresenta um formulário para o cadastro de uma nova área.
- O Coordenador Geral preenche o nome da área e outras informações necessárias.
- O Coordenador Geral ou Administrador confirma o cadastro.
- O sistema salva a nova área no banco de dados e confirma o sucesso da operação.
[UC002] Cadastro de Serviços
Descrição: Este caso de uso descreve o processo de cadastro de serviços associados às áreas de manutenção.
Atores: Coordenador Geral, Coordenador de Área, Administrador.
Fluxo Principal:
- O Coordenador Geral ou Administrador acessa a opção de "Cadastro de Serviços" no sistema.
- O sistema apresenta um formulário para o cadastro de um novo serviço.
- O Coordenador Geral seleciona a área correspondente e preenche o nome do serviço e outras informações necessárias.
- O Coordenador Geral ou Administrador confirma o cadastro.
- O sistema salva o novo serviço no banco de dados e confirma o sucesso da operação.
[UC003] Cadastro de Perfis de Usuários
Descrição: Este caso de uso descreve o processo de criação e gerenciamento de perfis de usuários no sistema.
Atores: Administrador, Coordenador Geral, Coordenador de Área.
Regras:
- O perfil pode cadastrar apenas um perfil abaixo do seu.
- Usuários comuns não precisam ser cadastrados, apenas Coordenador Geral, Coordenador de Área e Operador.
- Para Coordenador de Área e Operador, é necessário identificar a área que eles coordenam ou operam.
Fluxo Principal:
- O ator (Administrador, Coordenador Geral ou Coordenador de Área) acessa a opção de "Cadastro de Perfis de Usuários" no sistema.
- O sistema apresenta um formulário para o cadastro de um novo perfil.
- O ator preenche as informações do perfil, como nome, tipo de acesso, permissões e área de atuação (se aplicável).
- O ator confirma o cadastro.
- O sistema salva o perfil no banco de dados e confirma o sucesso da operação.
[UC004] Inclusão de Chamados de Manutenção
Descrição: Este caso de uso descreve o processo de inclusão de novos chamados de manutenção no sistema.
Atores: Todos os Usuários.
Fluxo Principal:
- O usuário acessa a opção "Meus Chamados" no sistema.
- O sistema apresenta um formulário para o cadastro do chamado.
- O usuário seleciona a área de manutenção e o serviço correspondente.
- O usuário preenche os detalhes do chamado, como descrição do problema e pode incluir áudio e/ou foto.
- O usuário confirma a inclusão do chamado.
- O sistema salva o chamado no banco de dados e confirma o sucesso da operação.
[UC005] Atribuição de Atendimentos aos Chamados
Descrição: Este caso de uso descreve o processo de atribuição de técnicos ou operadores para atender os chamados de manutenção.
Atores: Coordenador de Área.
Fluxo Principal:
- O Coordenador de Área acessa o "Painel do Coordenador", o qual lista de chamados atribuídos à sua área.
- O Coordenador de Área visualiza os detalhes um chamado e acessa a opção de "Atribuir Atendimento".
- O Coordenador de Área escolhe um operador disponível para atender o chamado e pode informar uma descrição do atendimento a ser feito.
- O Coordenador de Área confirma a atribuição.
- O sistema registra a atribuição no banco de dados e confirma o sucesso da operação.
[UC006] Monitoramento de Chamados e Atendimentos - Painel do coordenador
Descrição: Este caso de uso descreve o processo de monitoramento dos chamados pelos Coordenadores e dos atendimentos pelos Operadores.
Atores: Coordenador de Área, Operador.
Fluxo Principal:
- O Coordenador de Área acessa a opção "Painel do Coordenador" no sistema.
- O sistema apresenta a lista de chamados com os respectivos status (pendente, em andamento, concluído).
- O Coordenador de Área seleciona um chamado para visualizar mais detalhes.
- O sistema exibe as informações do chamado e o histórico de atendimento.
- O Coordenador de Área pode atualizar o status do chamado, se necessário.
[UC007] Execução de Atendimentos pelos Operadores
Descrição: Este caso de uso descreve o processo de execução dos atendimentos atribuídos aos operadores.
Atores: Operador, Coordenador de Área.
Fluxo Principal:
- O Operador acessa a lista de atendimentos atribuídos a ele na opção "Meus atendimentos".
- O sistema exibe a lista de atendimentos com os detalhes de cada chamado.
- O Operador seleciona um atendimento e acessa a opção de "Iniciar Atendimento".
- O atendimento é atualizado automaticamente para "Em andamento"
- O status do chamado é atualizado para "Em atendimento".
- Ao concluir o atendimento, o Operador envia o atendimento para aprovação e pode adicionar uma descrição e uma foto do trabalho realizado.
- O status do chamado é atualizado para "Aguardando aprovação"
- O chamado permanece "Em atendimento"
- O sistema notifica o Coordenador de Área sobre a conclusão do atendimento.
- O Coordenador de Área revisa o atendimento, podendo aprovar ou rejeitar a conclusão.
- Se o atendimento for aprovado, o sistema finaliza o chamado.
- O status do atendimento fica "Finalizado"
- O status do chamado fica "Encerrado"
- Se o atendimento for reprovado, o coordenador pode devolver ao operador, adicionando nova descrição, ou até mesmo atribuir a outro operador.
Encerramento Alternativo:
- O Coordenador de Área pode encerrar o chamado diretamente, mesmo sem atendimento. Nesse caso, ele deve fornecer uma justificativa detalhada para o encerramento.
- O sistema registra o motivo fornecido pelo Coordenador de Área e finaliza o chamado.
Perfis e Permissões
Para a definição de Perfis de usuário, indica-se um usuário, uma unidade e o enum representante do perfil, dessa forma indicamos que determinado usuário em uma unidade tem certo perfil de acesso. Para além dos perfis, a definição de acesso de uma ou mais áreas por um coordenador ou operador se dá pelas tabelas area_operador e area_coordenador informando os ids da área e do usuário relacionados.
OPERADOR, COORDENADOR, COORDENADOR_GERAL, ADMINISTRADOR
Diagramas Relevantes
Seguem alguns diagramas relevantes sobre o funcionamento do sistema
Ferramentas de desenvolvimento
Durante o processo de desenvolvimento, foram utilizadas as ferramentas:
IntelliJ Community – IDE moderna para desenvolvimento Java.
Vscode – Editor de código para o frontend.
DBeaver Community, Microsoft SQL Server Studio - Conexão com o banco de dados e desenvolvimento de consultas e scripts SQL.