Nas respectivas classes existe um método editar que permite fazer isso.
Na classe Projeto existe o método adiocionarUsuario que recebe o identificador do profissional e o adiciona no projeto.
Na classe projeto existe o método mudarEstado que muda o projeto para o próximo estágio fazendo as verificações necessárias para isso.
Na classe que contém as atividades básicas do sistema existem três métodos cada um para um tipo de consulta, no caso por usuário, projto e atividade.
Na classe Sistema existe um método que para tal, é passado um inteiro com o tipo de relatório, os tipos são:
- lista de usuários no sistema e em quais projetos eles estão associados
- lista de projetos cadastrados no sistema
- lista de atividades cadastradas no sistema
- Motivação: Diminuir a repetição de código encontrada em usuários do sistema (como as informações de nome e endereço por exemplo).
- Solução: Criar uma classe abstrata contendo as informações repetidas e fazer as classes que são tipos de pessoa no sistema herdarem essas informações da classe pessoa.
- Vantagens: Evita a duplicação de código.
- Motivação: Ter um objeto que represente as informações em comum de todos os tipos de usuário.
- Solução: Criar uma classe abstrata que contenha as informações.
- Motivação: Unir as informações de endereço em um lugar só.
- Solução: Criar um objeto que tem as informações do endereço de uma pessoa e, por composição, objeto de pessoa pode ter esses dados.
- Motivação: Evitar a duplicação de código para cadastrar um endereço
- Solução: Adicionar na classe endereço um método que realize todo o precesso de cadastro de endereço e retorne um Objeto de endereço para quem o chamar utilizar.
- Motivação: Ter uma representação de um técnico para salvar suas informações
- Solução: Criar um objeto que salve essas informações
- Motivação: Evitar a duplicação de código para cadastrar um técnico
- Solução: Adicionar na classe Tecnico um método que realize todo o precesso de cadastro de um técnico e retorne um Objeto de Tecnico para quem o chamar utilizar.
- Motivação: Ter uma representação de um professor para salvar suas informações
- Solução: Criar um objeto que salve essas informações
- Motivação: Evitar a duplicação de código para cadastrar um professor
- Solução: Adicionar na classe Prof um método que realize todo o precesso de cadastro de um professor e retorne um Objeto de Prof para quem o chamar utilizar.
- Motivação: Ter uma representação de um pesquisador para salvar suas informações
- Solução: Criar um objeto que salve essas informações
- Motivação: Ter uma representação de um aluno para salvar suas informações
- Solução: Criar um objeto que salve essas informações
- Motivação: Ter uma representação de um profissional para salvar suas informações
- Solução: Criar um objeto que salve essas informações
- Motivação: ter as informações dos projetos em um lugar, entrando nos Objetos que tem a permissão de um coordenador como um atributo de composição
- Solução: Criar um objeto com os projetos e as informações de um coordenador
- Motivação: Salvar a data e hora em um só lugar
- Solução:Criar um objeto com os atributos sendo data e hora
- Motivação: agrupar as informações necessárias para ter um projeto
- Solução: Criar um objeto com esses atributos
- Motivação: mudar o estado do projeto para acompanhar seu desenvolvimento
- Solução: Criar um método que o faça
- Motivação: Permitir a criação de novas atividades
- Solução: criar um método que receba Atividade e crie uma nova
- Motivação: permitir alterar as informaçoes do projeto
- Solução: criar um método
- Motivação: agrupar as informações necessárias para ter uma atividade
- Solução: Criar um objeto com esses atributos
- Motivação: editar as informações de uma atividade
- solução: criar um métod que o faça
- Motivação: Agrupar os usuários e projetos e realizar as operações do projeto
- Solução criar uma classe com duas listas, uma para os usuários e outra para os projetos, sendo a de usuários uma lista da classe pessoa para que, com a herança, todos os tipos de usuário possam ser salvos na mesma lista.
- Motivação: realizar a consulta para um usuário exibindo todos as suas informações
- Solução: criar um método que receba o identificador do usuário itere pela lista de usuários e, caso encontre aquele identificador, exiba as informações do usuário.
- Motivação: realizar a consulta para um projeto exibindo todos as suas informações
- Solução: criar um método que receba o identificador do projeto itere pela lista de projetos e, caso encontre aquele identificador, exiba as informações do projeto.
- Motivação: realizar a consulta para uma atividade exibindo todos as suas informações
- Solução: criar um método que receba o identificador do projeto e da atividade itere pela lista de projetos e, caso encontre aquele identificador, busque agora o identifgicador da atividade, caso encontre, exibir as informações da atividade
- Motivação: Adicionar um usuário ao sistema
- Solução: Criar um método que leia as informações do usuário a ser cadastrado e, com elas, adicione a lista de usuários do sistema
- Motivação: criar novos projetos e adicionar eles ao sistema
- Solução: criar um método que passando o RG do coordenador, cheque as informações e crie um novo projeto.