Objetivo • Desafio • MVP • Backlog • Requisitos • Equipe
O objetivo principal do nosso projeto é criar um chatbot robusto e eficiente utilizando Java e integrando-o com um banco de dados para fornecer respostas contextualmente relevantes aos usuários. Como estudantes de Análise e Desenvolvimento de Sistemas, nosso objetivo é aplicar os conhecimentos teóricos adquiridos em sala de aula em um projeto prático e significativo.
O desafio principal que enfrentaremos ao desenvolver nosso chatbot é garantir uma compreensão precisa e abrangente das perguntas dos usuários e fornecer respostas relevantes e úteis em tempo real. Isso envolve lidar com uma ampla variedade de consultas e contextos, desde questões simples até solicitações mais complexas. Como estudantes do segundo semestre, enfrentaremos desafios técnicos e conceituais ao implementar o chatbot. Precisaremos dominar as tecnologias específicas, como Java, LLM e as ferramentas de banco de dados, e entender como integrá-las de forma eficiente para alcançar nossos objetivos. Além disso, outro desafio importante será garantir a qualidade e a robustez do nosso código, seguindo boas práticas de desenvolvimento de software e garantindo a escalabilidade e a manutenibilidade do projeto.
| Sprint | User Stories (US) | Tarefa | Prioridade | Status | Entrega |
|---|---|---|---|---|---|
| 2 | "Como membro da equipe de desenvolvimento, gostaria de criar uma interface do produto funcional, para proporcionar uma experiência de usuário agradável e eficiente." | Criar interface do produto. | 95 | ✅ | 05/05 |
| 2 | "Como desenvolvedor da aplicação, gostaria de implementar uma lógica robusta para acessar e buscar dados no banco de dados, para garantir que a aplicação seja capaz de recuperar informações relevantes de forma eficiente e precisa." | Implementar lógica para acessar e buscar dados no banco de dados. | 90 | ✅ | 05/05 |
| 2 | "Como um administrador do sistema, gostaria de importar dados externos para o banco de dados da aplicação." | Importação e acesso ao Banco de Dados. | 85 | ✅ | 05/05 |
| 3 | "Como um administrador do sistema ou usuário avançado, gostaria de ter a capacidade de trocar entre diferentes bancos de dados de forma transparente, para permitir flexibilidade na escolha do sistema." | Desenvolver funcionalidade para troca entre diferentes bancos de dados. | 75 | ✅ | 26/05 |
| 3 | "Como desenvolvedor, desejo ter múltiplos bancos de dados de teste disponíveis para simular diferentes cenários de troca de dados, garantindo assim a robustez e eficiência da ferramenta de troca no chat bot." | Criar banco de dados para realizar testes na ferramenta de troca entre banco de dados | 70 | ✅ | 26/05 |
| 3 | "Como membro da equipe de qualidade de software, gostaria de elaborar cenários de teste para verificar a integração da aplicação com diferentes bancos de dados, para garantir que a aplicação seja capaz de se conectar." | Criar cenários de teste para verificar integração com diferentes bancos de dados. | 65 | ✅ | 26/05 |
| 3 | "Como desenvolvedor responsável pela qualidade do código, gostaria de executar testes de unidade abrangentes na lógica de acesso a dados, para identificar e corrigir quaisquer falhas ou bugs que possam comprometer a integridade e o funcionamento correto da aplicação." | Executar testes de unidade e corrigir falhas. | 60 | ✅ | 26/05 |
| 3 | "Como membro da equipe de qualidade de software, gostaria de elaborar cenários de teste abrangentes para verificar a integração da aplicação com diferentes bancos de dados, para garantir que a aplicação seja capaz de se conectar, importar e operar corretamente em ambientes que utilizam diversos sistemas de gerenciamento de banco de dados." | Criar cenários de teste para verificar integração com diferentes bancos de dados. | 55 | ✅ | 26/05 |
| 4 | "Como um desenvolvedor de sistemas de inteligência artificial (IA), desejo implementar uma função que permita a troca dinâmica entre diferentes IAs em tempo de execução. " | Implementar função para troca entre IAs | 30 | ✅ | 16/06 |
| 4 | "Como um usuário da aplicação, gostaria de uma interface do usuário intuitiva e amigável, para facilitar a navegação, interação e compreensão das funcionalidades." | Aprimoramento da Interface do Usuário | 20 | ✅ | 16/06 |
| 4 | "Como membro da equipe de desenvolvimento, gostaria de realizar uma revisão final abrangente do código e das funcionalidades da aplicação, para garantir que o código esteja livre de erros, siga as melhores práticas de desenvolvimento e atenda aos requisitos do usuário." | Realizar revisão final do código e funcionalidades. | 10 | ✅ | 16/06 |
Funcionais:
- Permitir ao usuário selecionar um banco de dados relacional.
- Criação de uma tela para receber como entrada uma consulta escrita em linguagem natural.
- Conversão da linguagem natural em código SQL.
- Execução do comando SQL gerado no banco de dados selecionado.
- Exibição dos resultados.
Não funcionais:
- Usabilidade.
Assista ao vídeo da demonstração clicando na imagem abaixo. Você será redirecionado ao YouTube.
| Nome | Cargo | Github | |
|---|---|---|---|
| Breno Augusto Santos Jesus | Dev Team | ||
| André Augustos M. Neves | Dev Team | ||
| Gabriel Felipe Côrrea da Silva | Project Owner | ||
| Matheus de Sousa Nascimento Marques | Scrum Master |

