provaProjetoSoftware



1. Funcionalidades

  • Criação e Associação de Usuários

    Permite criar um novo usuário sendo ele:

    • Aluno de Graduação
    • Aluno de Mestrado
    • Aluno de Doutorado
    • Professor
    • Pesquisador
    • Profissional
      • Desenvolvedor
      • Testador
      • Analista

    E associar esse usuário em um projeto ou atividade.

  • Alterar Status de um Projeto

    Permite que o status de um projeto seja alterado seguindo as regras:

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

  • Consultas

    Permite que sejam realizadas as seguintes consultas:

    1. Consulta por Usuário
    2. Consulta por Projeto
    3. Consulta por Atividade

    Onde cada tipo de consulta mostra as respectivas informações sobre o que foi requisitado.

  • Relatório

    Permite que seja realizado um reĺatório onde todas as informações sobre um determinado projeto ou atividade sejam mostradas.

2. Classes:

  • Usuario:

    Motivação: Necessidade de criar um usuário para guardar as informações.
    Solução: Classe Usuario onde contem as informações necessárias. Vantagens: Melhor organização e manutenção.
    Possui subclasses:

    • Aluno de Graduação
    • Aluno de Mestrado
    • Aluno de Doutorado
    • Professor
    • Pesquisador
    • Profissional
      • Desenvolvedor
      • Testador
      • Analista

    onde cada subclasse possui atributos que pertecem somente a elas.

  • Sistema:

    Motivação: Necessidade de criar uma classe onde todas as informações estão salvas. (Como se fosse um banco de dados)
    Solução: Classe Sistema onde contem todos os projetos, atividades e usuários.
    Vantagens: Dados disponíveis para as consultas.

    Possui métodos:

    • consultarUsuario(ID)
      • Recebe como parâmetros o ID do usuário a ser consultado e mostra todas as informações do usuário pesquisado.
    • consultarProjeto(ID)
      • Recebe como parâmetros o ID do projeto a ser consultado e mostra todas as informações do projeto pesquisado.
    • consultarAtividade()
      • Recebe como parâmetros o ID da atividade a ser consultada e mostra todas as informações da atividade pesquisada.
    • relatorio()
      • Nesse método é possível escolher sobre o que será o relatório:
        • Usuário
        • Projeto
        • Atividade
      • E será mostrado todas as informações de acordo com a escolha.
    • adicionarUsuario()
      • Cria um novo usuário e o adiciona ao sistema.
    • associarUsuarioEmProjeto()
      • Nesse método é possivel escolher um projeto e um usuário, onde será adicionado ao projeto escolhido o usuário selecionado.
    • associarUsuarioEmAtividade()
      • Nesse método é possivel escolher uma atividade e um usuário, onde será adicionado ao atividade escolhida o usuário selecionado.
    • adicionarProjeto()
      • Método onde é criado um novo projeto.
    • adicionarAtividade()
      • Método onde é criada uma nova atividade.

  • Informacoes:

    Motivação: Necessidade de criar uma classe onde os atributos compartilhados entre Projeto e Atividade estivessem disponíveis.
    Solução: Classe Informações onde contém:

    • ID
    • Descrição
    • Data/Hora de Início
    • Data/Hora de Término
    • Coordenador
    • Profissionais
    • Status

    Vantagens: Melhor manutenção e organização do código

  • Projeto:

    Motivação: Necessidade de criar uma classe onde as informações de um projeto estivessem salvas.
    Solução: Classe Projeto onde contém:

    • Atividades

    Vantagens: Melhor manutenção e organização do código

    Possui métodos:

    • alterarStatus()
      • Esse método possibilita a mudança do status do projeto.
    • modificarProjeto()
      • Esse método permite alterar as informações do projeto que não esteja concluído.
    • listarParticipantes()
      • Esse método mostra todos os participantes que pertencem ao projeto.

  • Atividade:

    Motivação: Necessidade de criar uma classe onde as informações de uma atividade estivessem salvas.
    Solução: Classe Projeto onde contém:

    • Tarefas

    Vantagens: Melhor manutenção e organização do código.

    Possui métodos:

    • modificarAtividade()
      • Esse método permite alterar as informações da atividade.
    • listarParticipantes()
      • Esse método mostra todos os participantes que pertencem a atividade.