Universidade Federal de Pernambuco

Centro de Informática – Cin
Graduação em Ciência da Computação

Relatu

Especificação de Requisitos

Professor:

Jaelson Freire Brelaz de Castro

Alunos:

Antonio Severien (als2)
Edmilson Barbosa (ebcj)
Ronaldo Marques (rrm)
Yuri Cesar (ycssp)

Recife, 14 de Janeiro de 2008

Índice

1.      Introdução. 4

2.      Motivação. 4

3.      O Problema Identificado. 4

4.      Sobre a organização. 4

5.      Convenções, termos e abreviações. 4

5.1         Identificação dos Requisitos. 4

5.2         Identificação dos casos de uso. 4

5.3         Estrutura dos casos de uso. 5

5.4         Descrição dos Atores: 6

6.      Requisitos Organizacionais. 6

7.      Requisitos Funcionais: 6

7.1         [RF-001] Visualizar Ocorrência. 6

7.2         [RF-002] Adicionar Ocorrência. 6

7.3         [RF-003] Finalizar Ocorrência. 7

7.4         [RF-004] Incluir Comentário. 7

7.5         [RF-005] Alterar estado da ocorrência. 7

7.6         [RF-006] Encaminhar Ocorrência. 7

8.      Requisitos não-funcionais. 8

8.1         Usabilidade. 8

8.1.1          [NFR001] Funcionamento nos Navegadores. 8

8.1.2          [NFR002] Teclas de Atalho. 8

8.2         Desempenho. 8

8.2.1          [NFR003] Tempo de Resposta. 8

8.2.2          [NFR004] Máquinas Rápidas. 8

8.3         Eficiência. 9

8.3.1          [NFR005] Feedback Rápido. 9

8.4         Segurança. 9

8.4.1          Disponibilidade. 9

8.4.2          Integridade. 10

8.5         Confiabilidade. 10

8.5.1          [NFR009] Realizar Treinamentos. 10

9.      Modelagem Organizacional 11

9.1         Modelagem de Dependência Estratégica. 11

9.2         Modelagem Estratégica da Razão. 12

10.         Modelagem de Requisitos Funcionais (Casos de Uso). 13

11.         Modelagem dos Requisitos Não Funcionais. 14

12.         Conclusão. 14

13.         Referências. 15

14.         Relatório Equipe. 15

15.         Apêndices. 16

15.1      Apêndice A - Questionário. 16

15.2      Apêndice B – Detalhamento dos casos de uso. 16

15.1.1        Visualizar Ocorrência. 16

15.1.2        Adicionar Ocorrência. 17

15.1.3        Finalizar Ocorrência. 18

15.1.4        Incluir Comentário. 18

15.1.5        Alterar Estado da Ocorrência. 19

15.1.6        Encaminhar Ocorrência. 20

15.1.7        Verificar Ocorrência. 20

 

Introdução

                Este documento tem por finalidade descrever os requisitos que a solução Relatu deve prover para solucionar o problema identificado.

                O Relatu tem como foco a gestão de falhas ocorridas num ambiente de produção e, dessa maneira, agregar valor à companhia através da melhoria de processo, o que garante sobremaneira um ganho na qualidade do produto e conseqüente aumento no faturamento da empresa.

Motivação

                Este projeto surge do anseio das corporações pelo aumento da eficiência no ambiente de produção e melhoria de processo, proporcionando uma maior satisfação do cliente. Falhas são um grande entrave na maioria dos processos e, quando não gerenciadas de uma maneira satisfatória, tendem a perdurar e comprometer o sucesso do projeto. Deste modo, o Relatu pretende preencher esta lacuna e assim satisfazer às necessidades coorporativas.

O Problema Identificado

                Em ambientes de produção, mais particularmente as software houses, é fato corriqueiro a descoberta de falhas, no caso bugs, pela equipe de teste e pelos clientes. Estes, por sua vez, devem ser gerenciados, devendo ser atribuídos detalhes como aberto, fechado, atribuído a mim, inválido, homologado. No caso de ser um bug válido, deve ser encaminhado ao responsável para reparo da falha ou, de alguma maneira, ser agendado o reparo de acordo com a metodologia adotada.

Sobre a organização

                A organização à qual foram aplicados métodos de levantamento de informações para a confecção deste documento foi a Estalo Consultoria e Automação. O contato da equipe dentro da empresa é Antônio Loureiro, que pode ser contatado através do email als2@cin.ufpe.br .

Convenções, termos e abreviações

                A correta interpretação deste documento exige o conhecimento de algumas convenções, termos específicos e abreviações, que são descritos a seguir.

Identificação dos Requisitos

                Os requisitos possuem um identificador único. A numeração inicia com o identificador [RF-001] ou [RNF-001] e prossegue sendo incrementada à medida que forem sendo adicionados novos requisitos.  Convenciona-se que as referências aos requisitos são feitas através do identificador.

Identificação dos casos de uso

                Convenciona-se que os casos de uso terão um identificador único, iniciando-se por “UC” e seguido por um numero, ex.: [UC-001].  O numero é incrementando à medida em que forem sendo adicionados novos casos de uso. Desta maneira, a referência aos casos de uso é feita através dessaes identificadores únicos.

Estrutura dos casos de uso

                Cada caso de uso terá o seguinte formato:

ID:

 

Nome:

 

Prioridade

 

Criado por:

 

Última atualização por:

 

Data criação:

 

Data de atualização:

 

 

ID:

 

Atores:

 

Descrição:

 

Gatilho:

 

Pré-Condições:

1.        

Pós-Condições:

1.        

Fluxo Principal:

1.        

Fluxos Alternativos:

 

 

                Entre os valores possíveis para prioridade de um caso de uso estão:

·         Desejável: Caracteriza um caso de uso que não impede o funcionamento do sistema ou o atendimento do problema ao qual o sistema se propõe. Assim sendo, pode ser implementado em versões posteriores do sistema.

·         Importante: Caracteriza um caso de uso que, sem o mesmo, o sistema ainda funciona, porém não de modo satisfatório.

·         Essencial: Identifica um caso de uso indispensável ao sistema. Sem ele, o sistema não tem utiliade.

 

Descrição dos Atores:

                Os atores são as entidades que interagem diretamente com o sistema. Eles são: Administradores, usuários e servidor de e-mail.

Requisitos Organizacionais

                Os requisitos organizacionais devem satisfazer os objetivos da organização e definir a utilidade do sistema. São eles:

·         Facilitar a comunicação entre as partes envolvidas no processo;

·         Aumentar a eficiência na gestão de falhas;

·         Aumentar a qualidade do processo;

·         Evitar a persistência de falhas no produto.

Requisitos Funcionais:

                Nesta seção, descrevem-se as funcionalidades que devem ser providas pelo sistema.

[RF-001] Visualizar Ocorrência

Identificação:

[RF-001] Visualizar Ocorrência

Nome:

Visualizar Ocorrência

Descrição:

Este caso de uso é responsável pela visualização das ocorrências que foram encaminhadas ao usuário. O usuário pode ainda selecionar critérios de visualização como data, status e outros.

 

Prioridade:

Essencial

Importante

Desejável

 

[RF-002] Adicionar Ocorrência

Identificação:

[RF-002] Adicionar Ocorrência

Nome:

Adicionar Ocorrência

Descrição:

Este caso de uso é responsável por cadastrar uma nova ocorrência ao sistema. O sistema deve registrar o usuário, a data e a hora em que a ocorrência foi cadastrada.

 

Prioridade:

Essencial

Importante

Desejável

 

[RF-003] Finalizar Ocorrência

Identificação:

[RF-003] Finalizar Ocorrência

Nome:

Finalizar Ocorrência

Descrição:

Este caso de uso é responsável por finalizar a ocorrência, desta forma fechando o ciclo de vida da ocorrência.

Prioridade:

Essencial

Importante

Desejável

 

[RF-004] Incluir Comentário

Identificação:

[RF-004] Incluir Comentário

Nome:

Incluir Comentário

Descrição:

Este caso de uso é responsável pela inclusão de um comentário a uma ocorrência. Os comentários podem servir para acrescentar mais informações, reportar dúvidas ou fazer algum esclarecimento. O comentário acompanha a ocorrência durante seu ciclo de vida.

Prioridade:

Essencial

Importante

Desejável

 

[RF-005] Alterar estado da ocorrência

Identificação:

[RF-005] Alterar estado da ocorrência

Nome:

Alterar estado da ocorrência

Descrição:

Este caso de uso é responsável por alterar o estado da ocorrência para inválido, aberto, finalizada, funciona para mim e em andamento.

Prioridade:

Essencial

Importante

Desejável

 

[RF-006] Encaminhar Ocorrência

Identificação:

[RF-006] Encaminhar Ocorrência

Nome:

Encaminhar Ocorrência

Descrição:

Este caso de uso é responsável por encaminhar a ocorrência para os usuários do sistema.

Prioridade:

Essencial

Importante

Desejável

 

Requisitos não-funcionais

Nesta seção estão descritos os requisitos não funcionais da solução Relatu.

Usabilidade

Esta seção descreve os requisitos não-funcionais associados ao uso da aplicação.

[NFR001] Funcionamento nos Navegadores

Identificação

[NFR001] Funcionamento nos Navegadores

Casos de Uso Relacionados

Todos.

Descrição

O sistema deverá funcionar nos navegadores Internet Explorer e Firefox da mesma forma.

Prioridade

Essencial

Importante

Desejável

 

 [NFR002] Teclas de Atalho

Identificação

[NFR002] Teclas de Atalho

Casos de Uso Relacionados

Todos.

Descrição

Deverá ser possível a utilização de teclas de atalho para manipulação do sistema.

Prioridade

Essencial

Importante

Desejável

 

Desempenho

Esta seção descreve os requisitos não-funcionais associados à eficiência, uso de recursos e tempo de resposta da aplicação.

[NFR003] Tempo de Resposta

Identificação

[NFR003] Tempo de Resposta

Casos de Uso Relacionados

Todos.

Descrição

O sistema não deverá demorar mais de 5 segundos para processar informações, seja ela qual for.

Prioridade

Essencial

Importante

Desejável

 

 

[NFR004] Máquinas Rápidas

Identificação

[NFR004] Máquinas Rápidas

Casos de Uso Relacionados

Todos.

Descrição

As máquinas utilizadas devem ser as mais modernas do mercado.

Prioridade

Essencial

Importante

Desejável

 

Eficiência

Esta seção descreve os requisitos não-funcionais associados à resolução do problema de forma correta e em tempo hábil.

[NFR005] Feedback Rápido

Identificação

[NFR005] Feedback Rápido

Casos de Uso Relacionados

Todos.

Descrição

Deve ser checado o email constantemente para verificar novas ocorrências de bugs, podendo solucionar o problema de forma mais rápida e dando um retorno imediato ao cliente.

Prioridade

Essencial

Importante

Desejável

 

Segurança

Esta seção descreve os requisitos não funcionais relacionados à preservação dos dados que o sistema possui.

Disponibilidade

Este sub-tópico descreve os requisitos não-funcionais associados ao período de funcionamento do sistema.

[NFR006] Sistema Sempre Disponível

Identificação

[NFR006] Sistema Sempre Disponível

Casos de Uso Relacionados

Todos.

Descrição

O sistema deverá estar sempre disponível para o cliente.

Prioridade

Essencial

Importante

Desejável

 

Integridade

Este sub-tópico descreve os requisitos não-funcionais associados aos dados guardados pelo sistema.

[NFR007] Sistema Robusto

Identificação

[NFR007] Sistema Robusto

Casos de Uso Relacionados

Todos.

Descrição

O acesso aos dados deve ser de forma segura e com níveis de acesso.

Prioridade

Essencial

Importante

Desejável

 

[NFR008] Verificar Dados

Identificação

[NFR008] Verificar Dados

Casos de Uso Relacionados

Todos.

Descrição

Os dados devem ser verificados antes de serem inseridos no repositório do sistema.

Prioridade

Essencial

Importante

Desejável

 

Confiabilidade

Esta seção descreve os requisitos não-funcionais associados ao desempenho de funções de forma adequada.

[NFR009] Realizar Treinamentos

Identificação

[NFR009] Realizar Treinamentos

Casos de Uso Relacionados

Todos.

Descrição

Deve ser feito um treinamento prévio com os utilizadores do sistema para que eles possam interagir de forma adequada com o mesmo.

Prioridade

Essencial

Importante

Desejável

 

 

 

 

Modelagem Organizacional

Modelagem organizacional baseada na notação i* (i estrela).

Modelagem de Dependência Estratégica

Figura 1. Modelagem de Dependência Estratégica

 

 

 

 

 

 

 

 

 

Modelagem Estratégica da Razão

Figura 2. Modelagem Estratégica da Razão

 

 

 

 

 

 

 

 

 

Modelagem de Requisitos Funcionais (Casos de Uso)

Nesta seção todos os requisitos descritos anteriormente na seção de requisitos funcionais são modelados em um diagrama de casos de uso.  O detalhamento de cada caso de uso se encontra no apêndice B.

Figura 3. Diagrama de Casos de Uso

 

 

 

 

 

Modelagem dos Requisitos Não Funcionais

Está seção mostra um modelo dos requisitos não funcionais na notação do NFR Framework.

Figura 4. Modelagem de requisitos não funcionais.

Conclusão

Neste documento foi descrito os requisitos de software relativos ao desenvolvimento do sistema Relatu cujo objetivo é facilitar o gerenciamento de erros num ambiente de produção desde a descoberta até a solução dos problemas encontrados, além de agilizar o processo.

Com o Relatu é possivel delegar tarefas, incluir comentários às tarefas e acompanhar todo o ciclo de vida dos problemas.  A aplicação consiste num sistema web onde os usuários têm acesso às funcionalidades citadas neste documento.

Portanto, foram levantados os seus requisitos funcionais, não-funcionais e organizacionais da aplicação a ser desenvolvida. Além disso, foram elaboradas a modelagem organizacional, modelagem dos requisitos funcionais e modelagem dos requisitos não funcionais.

 

Referências

[Disciplina] Disciplina de Especificação de Requisitos e Validação de Sistemas. Disponível em: <http://www.cin.ufpe.br>

 [i*] i* - An  Agent-oriented  Modelling Framework. Disponível em: <http://www.cs.toronto.edu/km/istar/>

 [Sommerville] G. Kotonya and I. Sommerville, Requirements Engineering : Processes and        Techniques , John Wiley & Sons, 1998.

[Wikipédia] Wikipédia. A enciclopédia livre. Disponível em: <http://www.wikipedia.org>

 

Relatório Equipe

Descrição de papéis e contribuições de cada membro da equipe.

Nome

Esforço da Equipe (%)

Assinatura

Antonio Severien (als2)

25%

Edmilson Barbosa (ebcj)

25%

 

Ronaldo Marques (rrm)

25%

 

Yuri Cesar (ycssp)

25%

 

 

 

 

 

 

Apêndices

            Apêndice A - Questionário

Para a coleta de informações, um questionário com as seguintes perguntas foi aplicado aos futuros usuários do sistema:

 

Apêndice B – Detalhamento dos casos de uso

Visualizar Ocorrência

ID:

[UC-001] Visualizar Ocorrência

Atores:

Usuário

Descrição:

Este caso de uso é responsável pela visualização das ocorrências que foram encaminhadas ao usuário.

Gatilho:

Usuário clica na ocorrência desejada

Pré-Condições:

2.       O usuário deve ter efetuado o login

Pós-Condições:

2.       Nenhuma

Fluxo Principal:

O sistema exibe uma lista de ocorrências relacionados ao usuário logado, ou seja, as ocorrências encaminhadas a ele, e também  exibe as opções de Visualizar, Encaminhar, Incluir Comentário e Alterar Estado da Ocorrência.

2.       O usuário seleciona o registro desejado.

3.       O usuário seleciona a opção de visualizar.

4.       O sistema exibe as informações do registro escolhido.

Fluxos Alternativos:

[FA001]
                No passo 4, o usuário seleciona a opção de Encaminhar Ocorrência.
                                1. O sistema inicia o caso de uso UC006 - Encaminhar Ocorrência.

[FA002]
                No passo 4, o usuário seleciona a opção de Incluir Comentário.
                                1. O sistema inicia o caso de uso UC004 – Incluir Comentário.

[FA003]
                No passo 4, o usuário seleciona Alterar Estado da Ocorrência.
                                1. O sistema inicia o caso de uso UC005 – Alterar Estado da Ocorrência.

Prioridade:

Essencial

Adicionar Ocorrência

ID:

[UC-002] Adicionar Ocorrência

Atores:

Usuário

Descrição:

Este caso de uso é responsável por cadastrar uma nova ocorrência ao sistema.

Gatilho:

Usuário clica no botão adicionar ocorrência.

Pré-Condições:

1.       O usuário deve ter sido autenticado no sistema para a sessão corrente.

Pós-Condições:

1.       A ocorrência é adicionada ao conjunto de ocorrências mantidas pelo sistema.

Fluxo Principal:

1.       O usuário informa o assunto e a descrição da ocorrência.

2.       O sistema persiste a ocorrência e a data e hora de seu cadastro.

Fluxos Alternativos:

[FA001]
Se o usuário deixar de informar um dos campos, o sistema exibe uma mensagem de erro e cancela a operação.

Prioridade:

Essencial

Finalizar Ocorrência

ID:

[UC-003] Finalizar Ocorrência

Atores:

Administrador

Descrição:

Este caso de uso é responsável por finalizar a ocorrência, desta forma fechando o ciclo de vida da ocorrência.

Gatilho:

Administrador  clica no botão finalizar ocorrência.

Pré-Condições:

1.       O usuário deve ter efetuado o login.

Pós-Condições:

1.       A ocorrência é excluida do conjunto de ocorrências mantidas pelo sistema.

Fluxo Principal:

1.       Includes UC001 – Visualizar Ocorrência.

2.       O administrador visualiza a ocorrência selecionada

3.       O administrador seleciona finalizar ocorrência.

4.       O sistema finaliza a ocorrência.

Fluxos Alternativos:

Não se aplica

Prioridade:

Essencial

Incluir Comentário

ID:

[UC-004] Incluir Comentário

Atores:

Usuário

Descrição:

Este caso de uso é responsável pela inclusão de um comentário a uma ocorrência. Os comentários podem servir para acrescentar mais informações, reportar dúvidas ou fazer algum esclarecimento. O comentário acompanha a ocorrência até sua finalização.

Gatilho:

Administrador  clica no botão incluir comentário.

Pré-Condições:

1.       Nenhuma.

Pós-Condições:

1.       O comentário é adicionado ao conjunto de comentários da ocorrência.

Fluxo Principal:

1.       O usuário insere os comentários relativos à ocorrência.

2.       O sistema registra os comentários.

Fluxos Alternativos:

[FA001]
Se o usuário tentar informar um comentário vazio, o sistema exibe uma mensagem de erro e cancela a operação.

Prioridade:

Essencial

Alterar Estado da Ocorrência

ID:

[UC-005] Alterar Estado da Ocorrência

Atores:

Usuário

Descrição:

Este caso de uso é responsável por alterar o estado da ocorrência para pendente, em andamento ou finalizada.

Gatilho:

Administrador  clica no botão alterar ocorrência.

Pré-Condições:

1.       O usuário deve ter efetuado o login.

Pós-Condições:

1.       O sistema atualiza a ocorrência com os novos dados.

Fluxo Principal:

1.       O sistema exibe um filtro para consultar as ocorrências.

2.       O usuário informa os dados necessário para a operação de consulta.

3.       O sistema retorna os resultados de acordo com os campos de dados preenchidos, caso nenhum seja preenchido o sistema retorna todos os registros de ocorrências relacionados a ele.

4.       O usuário seleciona o registro que deseja alterar.

5.       O usuário seleciona o novo estado da ocorrência.

Fluxos Alternativos:

Não se aplica

Prioridade:

Essencial

 

 

Encaminhar Ocorrência

ID:

[UC-006] Encaminhar Ocorrência

Atores:

Servidor de Email

Descrição:

Este caso de uso é responsável por encaminhar a ocorrência para os usuários do sistema.

Gatilho:

Usuário  clica no botão encaminhar  ocorrência.

Pré-Condições:

1.       Nenhuma.

Pós-Condições:

1.       O estado da ocorrência é alterado.

Fluxo Principal:

1.       O usuário informa o email do usuário ao qual a ocorrência será encaminhada.

2.       O sistema autentica o email informado pelo usuário no passo  1 (Verifica se há outro usuário cadastrado com o email).

3.       O sistema altera o estado da ocorrência, adicionando a informação do encaminhamento.

4.       O sistema envia um email ao endereço informado no passo 1, notificando ao dono do endereço que este tem uma nova ocorrência.

Fluxos Alternativos:

[FA001]
Se não existir algum usuário com o e-mail informado, o sistema exibe uma mensagem de erro;
[FA002]
Se o e-mail informado pertencer ao próprio usuário autenticado que está realizando a operação, o sistema exibe uma mensagem de erro;
[FA003]
Se houver falha na comunicação com o servidor de e-mail, o sistema exibe uma mensagem de erro.

Prioridade:

Essencial

Verificar Ocorrência

ID:

[UC-007] Verificar  Ocorrência

Atores:

Temporizador, Servidor de Email

Descrição:

Este caso de uso é responsável por verificar se existem novas ocorrências cadastradas na base de dados.

Gatilho:

Usuário  clica no botão encaminhar  ocorrência.

Pré-Condições:

1.       Nenhuma.

Pós-Condições:

1.       Nenhuma.

Fluxo Principal:

1.       O Temporizador verifica se há novas ocorrências no banco.

2.       O Sistema se comunica com o Servidor de Email.

Fluxos Alternativos:

[FA001]
No passo 2, caso não haja novas ocorrências o sistema não faz nada.

Prioridade:

Essencial