Exemplo de criação diagramas e código com base em requisitos de sistema de Controle de Acesso fictício
+ + PlantUML
Este repositório contém a implementação de um Sistema de Controle de Acesso, juntamente com os diagramas de casos de uso e de classes. O sistema é projetado para autenticar e autorizar o acesso de funcionários com base na análise de suas vozes.
Este exemplo faz parte do trabalho de Análise de Requisitos da matéria de Análise (e Modelagem) de Sistemas.
Os seguintes diagramas estão disponíveis neste repositório:
- Diagrama de Casos de Uso: Apresenta os casos de uso e suas relações no sistema de controle de acesso.
- Diagrama de Classes: Mostra as classes envolvidas no sistema e suas relações.
A implementação das classes do sistema pode ser encontrada no arquivo implementacaoClasses.py
. O arquivo contém a seguinte estrutura de classes:
- Classe Servidor: Responsável pelo armazenamento dos dados dos funcionários, gerenciamento da autenticação e autorização de acesso.
- Classe IA: Realiza a análise da voz dos funcionários e retorna o resultado da autenticação.
- Classe Porta: Controla o acesso à porta com base na autorização recebida do servidor.
- Classe Funcionario: Representa um funcionário com suas informações básicas.
Além disso, o arquivo main.py
demonstra um exemplo de uso das classes implementadas. Ele cria instâncias das classes, cadastra funcionários, cadastra vozes, realiza a análise de voz e verifica a autorização de acesso.
Para executar o exemplo fornecido, certifique-se de ter o Python instalado em sua máquina. Em seguida, siga estas etapas:
- Clone este repositório em sua máquina local.
- Navegue até o diretório clonado através do terminal ou prompt de comando.
- Execute o comando
python main.py
.
Você verá a saída do exemplo de uso do sistema de controle de acesso, com mensagens indicando se o acesso foi autorizado ou não.
Se você tiver alguma sugestão, correção de bugs ou melhorias para este exemplo didático de sistema de controle de acesso, sinta-se à vontade para abrir uma issue ou enviar uma pull request. Sua contribuição é muito bem-vinda!
Lembre-se de que todas as alterações no código devem ser originadas de alterações dos diagramas e não o contrário. Sendo assim, tenha isto em mente ao propor sua melhoria.
Este projeto está licenciado sob a GNU General Public License v3.0.