/Projeto-de-Software

matéria de projeto de software, onde foi pedido o desenvolvimento de um sistema de gerenciamento de projetos de extensões.

Primary LanguageDart

Projeto de Software

Sobre o curso

Matéria do curso de ciência da computação da Universidade Federal de Alagoas (UFAL). Visando o ensinamento de Programação Orientada a Objetos (POO), o curso é ministrado em Java podendo ter seu projeto final feita em outra linguagem, desde que tenha sido acertado previamente com o professor. Materia ministrada pelo professor doutor Baldoino Fonseca.

Ideia


Como modo de avaliação da matéria de projeto de software, é pedido para que façamos um software para gerenciamento de projetos de extensão. Para obtermos notas é necessário que cumpramos com os seguintes pré-requisitos:

✅ Criar e remover informações sobre projetos, usuários e atividades;

✅ Edição de informações sobre projetos, usuários e atividades;

✅ Permitir a associação de usuários aos projetos e atividades, e vice-versa.

✅ Criação e gerenciamento de status do projeto

  • “Em processo de criação” para “Iniciado”. O coordenador deve poder iniciar uma criação apenas se constarem todas as informações básicas.
  • “Iniciado” para “Em andamento”. O coordenador deve poder confirmar a alocação.
  • “Em andamento” para “Concluído”. O coordenador deve poder alterar o status para “Concluído”, se existir a descrição do projeto e atividades.

[5] Permitir as seguintes consultas:

  • Consulta por usuário;
  • Consulta por projeto;
  • Consulta por atividade;

[6] O sistema deve fornecer um relatório de projeto e atividades da unidade acadêmica.

[7] O sistema deve permitir o intercambio de usuários entre projetos para realização de atividades.

[8] O sistema deve suportar o gerenciamento de pagamento de bolsas para os usuários.

✅ O sistema deve suportar controle de acesso através de usuário e senha com possibilidade para recuperação de senha;

[10] Permitir operações de undo e redo de informações referentes aos projetos, atividades e usuários.

Code Smells

  • Single responsibility;
  • Muito comentário;
  • Código repetido;
  • Organização da arquitetura;