Você está na página 1de 1

Desenvolva um sistema de gerenciamento de tarefas em java utilizando umas das seguintes

estruturas de dados(vetor, listas ligadas/listas biligadas,pilhas ou filas). O sistema deve permitir que
os usuários cadastrem tarefas, as organizem em categorias e realizem operações de busca e
manipulação das tarefas.

Requisitos funcionai:

1. Cadastro de tarefas: permitir que os usuários cadastrem novas tarefas, fornecendo


informações como título, descrição, data de criação e prioridade.
2. Categorização de tarefa: possibilitar a organização das tarefas em categorias. Cada tarefa
pode pertencer a uma ou mais categorias. Os usuários devem poder criar, editar e excluir
categorias.
3. Busca e filtragem: implementar mecanismos de busca e filtragem das tarefas com base em
critérios como título, descrição, prioridade, data de criação, categorias, etc.
4. Manipulação de tarefas: permitir que os usuários realizem operações de atualização e
exclusão das tarefas cadastradas.
5. Classes abstratas e interfaces: utilize classes abstratas e interfaces para definir estruturas
comuns e comportamentos específicos para as diferentes tarefas. Por exemplo, poderia
haver uma classe abstracta “tarefa” como métodos comuns, e classes filhas como
“TarefaSimples” e “TarefaImportante” que herdam dessa casse e implementam métodos
específicos.
6. Enums: utilize enums para representar os diferentes status das tarefas, como “A fazer”, Em
Andamento” e “Concluida”.

Requisitos não funcionais:

1. Interface de usuário: O sistema deverá ser manipulado com uma interface de usuário
intuitiva e fácil de usar, usando componentes como (jlabel, botões, tabelas, etc).
2. Utilização de estruturas de dados: utilize estruturas de dados apropriadas para
implementar as funcionalidades do sistemas como, listas, filas, pilhas, etc.
3. Eficiência: otimize a performance do sistema, garantindo que as operações de busca e
manipulação sejam realizadas de forma eficiente, considerando a quantidade de
tarefas armazenadas.
4. Tratamento de exceções: implemente tratamento de exceções adequadas para idar
com erros e situações inesperadas durante a execução do programa.
5. Persistência de dados: utilize algum mecanismo de persistência de dados, como banco
de dados ou arquivos (files), para armazenar as informações das tarefas, permitindo
que elas sejam salvas e recuperadas em diferentes sessões do aplicativo.
6. Boas práticas de programação: utilize boas práticas de programação, como
modularização do código, utilização de classes e métodos adequados, e nomenclatura
significativa de variáveis e funções.

Você também pode gostar