Casos de uso

Uma lista de casos de uso foi criada explicitando a maneira pela qual o usuário realiza as ações e, exibindo as restrições para tal.
Cada caso de uso possui um ou mais atores, onde cada ator representa um papel existente no sistema. Sendo assim, se o ator for, por exemplo, Solicitante então, qualquer pessoa que possuir este papel, pode executar este caso de uso, dependendo, é claro, de outras restrições impostas pelo mesmo, como por exemplo, o estado em que a solicitação se encontra.

1. Login

Ator: Todos
Todo usuário do sistema deve efetuar o login.
Caso ele não possua um login ele pode criá-lo(UC 1.1) ou acessar o sistema como usuário Público.

1.1. Criação de um login

Ator: Todos exceto Público
O usuário pode criar um login passando um nome, login e uma senha.
O login não pode estar cadastrado previamente.
Neste estágio, o usuário será considerado com o papel Solicitante.

2. Listagem de projetos/solicitações

Ator: Todos exceto Público
Cada ator visualizará os projetos/solicitações que possuir acesso.

2.1. Listagem de projetos
Ator: Público O ator visualizará os projetos que possuir acesso.

2.2. Listagem de todos os projetos/solicitações

Ator: Leitor geral, Aceitador
O ator possui acesso a todos os projetos/solicitações do sistema.

3. Cadastro de solicitação

Ator: Solicitante, Cadastrador
O solicitante preenche um formulário explicando seu pedido de projeto.
A solicitação entra no sistema com o status Esperando aceitação.
Automaticamente o sistema disponibiliza permissão de acesso a este novo projeto/solicitação para a pessoa que o cadastrou, leitor geral e aceitador.
Todos os gerentes de projeto, aceitadores e leitores gerais recebem um email informando a inclusão da solicitação.
Um registro de log é criado. Tipo de log: Criação.

4. Aceitação de uma solicitação

Ator: Aceitador
O ator seleciona uma solicitação que esteja com status Esperando aceitação ou Em analise de uma listagem e a aceita.
A solicitação muda o status para Aceita.
Caso a solicitação já possua uma equipe de desenvolvimento, ela passará para o status Em desenvolvimento.
Observe que isto ocorre caso a descrição tenha sido alterada quando a mesma estava com status Em Desenvolvimento.

5. Rejeição de uma solicitação

Ator: Aceitador
O usuário seleciona uma solicitação ainda não aceita de uma listagem e a rejeita. A solicitação muda o status para Rejeitada.

6. Alterar solicitação aceita

Ator: Alterador de Solicitação
O ator seleciona a solicitação de uma listagem e edita seus detalhes.
Ela volta a ter o estado Esperando aceitação.
Um email é enviado a todos os gerentes de projeto, aceitadores, e leitores gerais informando a alteração.

6.1. Alterar solicitação esperando aceitação

Ator: Solicitante e Alterador de Solicitação
O ator seleciona a solicitação de uma listagem e edita seus detalhes. Um email e enviado ao solicitante indicando que sua solicitação foi alterada(não funciona pois o solicitante nem sempre tem email).

6.2. Alterar solicitação Em Desenvolvimento

Ator: Alterador de solicitação
O ator pode alterar todos os campos da solicitação. Mas, se alterar a descrição, ela voltará para status Esperando aceitação.

7. Definição da equipe de desenvolvimento

Ator: Escalador de equipe
O ator seleciona uma equipe responsável pelo desenvolvimento de uma solicitação que foi aceita. Os participantes da equipe recebem um e-mail com o nome da solicitação que lhes foi incumbida.
Assim que um projeto ganha um ou mais desenvolvedores, ele passa para o status Desenvolvimento. Quando ele ficar sem nenhum desenvolvedor volta para o status Aceito.

8. Alterar solicitação Em analise

Ator: Solicitante e Alterador de Solicitação
O ator seleciona a solicitação de uma listagem e muda seus detalhes. Um email e enviado ao solicitante e ao Alterador de Solicitação indicando que a solicitação foi alterada. Se o ator for o solicitante o status da solicitação volta a ser Esperando aceitação.

9. Analisar solicitação

Ator: Aceitador
O ator seleciona uma solicitação que esteja com status Esperando aceitação e muda seu status para Em analise.

10. Conclusão de projeto

Ator: Gerente de projeto
O ator escolhe um projeto que esteja com status Em Desenvolvimento e o conclui.
Um email é enviado a todos os membros da equipe responsável e para o Adilson Simonis.

11. Adicionar/Remover arquivos,alterar resumo e listar projetos

Ator: Equipe de desenvolvimento, Gerente de projeto
Só é possível executar estas operações se o projeto estiver com o status Em Desenvolvimento.
O ator visualiza uma lista com os projetos em que está participando ou já participou. Ele escolhe um projeto e envia arquivos para o mesmo. Caso o ator seja da equipe de desenvolvimento, ele só poderá remover os arquivos que enviou. Se o ator for Gerente de projeto poderá remover quaisquer arquivos.
Todos os participantes da equipe de desenvolvimento deste projeto recebem um email informativo assim que um arquivo é adicionado, removido ou o resumo da solicitação é alterado.

12. Alterar grupos e acessos

Ator: Gerente de grupos
O ator cadastra,altera e remove grupos, além de definir os papéis de cada um através da tela de gerenciamento de acessos e grupos.
Na tela de gerenciamento de acessos ele define os projetos e solicitações que cada grupo tem acesso. Observe que, quando um desenvolvedor é escalado para uma solicitação, ele recebe acesso à mesma e, na tela de gerenciamento de acessos ele não pode perder este acesso. Para que ele deixe de visualizar o projeto é necessário que seja excluído da equipe de desenvolvimento.
O gerente de grupos não pode alterar seus papéis pois, se pudesse ele seria igual ao super usuário do sistema.

13. Exclusão de projeto

Ator: Gerente de projeto
O ator escolhe um projeto da lixeira e apaga definitivamente o mesmo.
Tudo referente ao projeto é excluído do sistema.

13.1 Mover projeto para a lixeira

Ator: Gerente de projeto
O ator escolhe um projeto e apaga o mesmo. Neste momento ele é movido para a lixeira.

13.2 Recuperação de um projeto

Ator: Gerente de projeto
O ator seleciona um projeto da listagem e decide recuperá-lo. O projeto retorna à listagem de projetos.

14.2. Relatório de solicitações

Ator: Leitor de relatórios
O ator visualiza uma lista com todas as solicitações ordenados por status e data. Cada status recebe uma cor característica. O ator pode filtrar por mês e ano da data entrada/data de entrega, desenvolvedor, etc.

15. Cancelamento de solicitação

Ator: Gerente de projeto e Solicitante
Um Gerente de Projeto pode cancelar qualquer solicitação que esteja com status: Em Desenvolvimento ou Aceito.
Um Solicitante pode apenas cancelar suas solicitações que estiverem com os seguintes status:

15.1 Recuperação de solicitação

Ator: Gerente de projeto
O ator seleciona uma solicitação que esteja Cancelada e decide recuperá-la. A solicitação volta a ter o status Esperando aceitação.

16. Reabertura de projeto

Ator: Gerente de projeto
O sistema exibe o detalhe de um projeto. O ator pode então optar por reabrir o mesmo.
O projeto volta para o status de solicitação Em Desenvolvimento.

Fabio Pisaruk 2004-12-07