App Java
👋🏻 Olá, pessoal! 👋🏻
Este projeto será a primeira experiência de vocês em desenvolver um aplicativo do zero, e vamos focar em uma ferramenta que é essencial para qualquer desenvolvedor: Java. Para este trabalho, vocês estarão divididos em "squads" de três estudantes e precisarão desenvolver um aplicativo desktop em Java para cadastro, atualização e consulta de [TEMA A SER ESCOLHIDO PELOS ALUNOS, sim, seu squad vai escolher o tema!], com integração a banco de dados e código documentado.
Este projeto será dividido em duas partes, cada uma focada em uma disciplina. Vamos lá!
📝Modelagem de Sistemas ✏️
-
Descrição do Trabalho: Modelagem de Sistemas
Nesta etapa, o foco de vocês será o planejamento e o design do sistema. Pensem como arquitetos construindo uma casa: antes de colocar um tijolo, vocês precisam de um projeto detalhado.
O que vocês precisam fazer:
É necessário:
- Tema do Aplicativo: Primeiramente, seu squad deve escolher o tema do aplicativo. Pensem em algo simples, que envolva o cadastro, a atualização e a consulta de informações. Por exemplo: cadastro de livros, gerenciamento de contatos, registro de filmes favoritos, etc. O importante é que seja um sistema que precise de um banco de dados para guardar informações e que o usuário consiga adicionar, modificar e visualizar esses dados.
- Diagrama de Classes: Criem um diagrama de classes completo que represente as entidades e seus relacionamentos no aplicativo que vocês decidiram criar. Lembrem-se de incluir atributos (dados) e métodos (ações) para cada classe.
- Outros Diagramas (Opcional, mas recomendado): Se sentirem que outros diagramas, como um diagrama de casos de uso ou um diagrama de sequência, ajudariam a descrever melhor o fluxo do aplicativo, fiquem à vontade para incluí-los. Quanto mais clara a comunicação do projeto, melhor!
- Conceitos de UX/UI: Nesta parte, vocês vão pensar na experiência do usuário e na interface do aplicativo.
- Esbocem o design da interface: Pode ser um rascunho em papel, um wireframe simples no Figma ou outra ferramenta. O importante é mostrar como o usuário vai interagir com o aplicativo.
- Descrevam os princípios de UX/UI que vocês aplicaram: Por exemplo, pensaram em como tornar o aplicativo fácil de usar? A navegação é intuitiva? As cores e fontes escolhidas são agradáveis? Como o feedback visual será dado ao usuário (ex: mensagem de sucesso após salvar um registro)? Justifiquem suas escolhas.
Entregáveis da etapa de Modelagem:
Devem ser entregues:
- Documento contendo o(s) diagrama(s) de classes (e outros, se houver).
- Documento com os esboços da interface do usuário (UX/UI) e a descrição dos conceitos aplicados.
Desenvolvimento de Aplicativos
- Descrição do Trabalho: Desenvolvimento de Aplicativos
Agora é a hora de colocar a mão na massa e transformar o planejamento em código! Vocês vão desenvolver o aplicativo desktop em Java usando a IDE IntelliJ.
O que vocês precisam fazer:
- Aplicativo Desktop em Java: Desenvolvam um aplicativo com uma interface gráfica (GUI) que permita:
- Cadastrar novas informações: O usuário deve conseguir inserir os dados referentes ao tema que vocês escolheram.
- Atualizar informações existentes: O usuário deve conseguir editar os detalhes de um registro já cadastrado.
- Consultar informações: O aplicativo deve exibir uma lista dos dados cadastrados, permitindo que o usuário visualize todas as informações. Seria interessante ter alguma forma de buscar ou filtrar esses dados.
- Integração com Banco de Dados: O aplicativo deve armazenar as informações em um banco de dados PostgreSQL. É importante que o aplicativo consiga:
- Criar a(s) tabela(s) no banco de dados, se ela(s) não existir(em).
- Inserir novos registros.
- Atualizar registros existentes.
- Recuperar registros para exibição.
- Código Documentado: Este é um ponto muito importante. Todo o código que vocês escreverem deve ser documentado. Isso significa:
- Comentários claros: Expliquem o que cada parte do código faz, especialmente em métodos e classes mais complexos.
- Nomenclatura significativa: Usem nomes de variáveis, métodos e classes que sejam descritivos e fáceis de entender.
- Padrões de código: Sigam boas práticas de programação Java, como indentação consistente e organização do código.