UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE INFORMÁTICA - CIN
Documento de
Especificação de Requisitos
_________________________________________________
IF716 - Especificação de Requisitos e Validação de Sistemas Prof. Jaelson Castro
Diogo Pereira de Morais, Gustavo Gama da Silva Figueiredo, Igor Ryan Bernardo Santos, Sylvia Marcella Dubeux Ratis
{dpm, ggsf, irbs, smdr}@cin.ufpe.br 22 de Junho de 2015
Sumário
1. Introdução... 4
2. Processos de negócio com notação BPMN... 5
3. Modelagem organizacional usando notação i*... 9
3.1. Modelo SD... 9
3.2. Modelo SR... 10
3.2.1. Denunciante expandido... 10
3.2.2. Atendente expandido... 11
3.2.3. Sistema expandido... 12
4. Modelagem de requisitos não funcionais usando NFR framework... 13
4.1. Segurança... 15
4.2. Confidencialidade... 15
4.3. Anonimato... 15
4.4. Desempenho... 16
4.5. Agilidade... 16
4.6. Escalabilidade... 16
4.7. Dependabilidade... 17
4.8. Operabilidade... 17
4.9. Integridade... 17
4.10. Disponibilidade... 18
4.11. Usabilidade... 18
4.12. Compatibilidade... 18
4.13. Concisão... 19
5. Modelagem de requisitos funcionais usando diagrama de casos de uso... 20
5.1. Descrição textual dos casos de uso... 21
5.1.1. Fazer denúncia... 21
5.1.2. Consultar resultado... 22
5.1.3. Receber denúncia... 23
6. Comportamento do sistema com Statecharts... 24
7. Conclusão... 25
8. Apêndices... 26
8.1. Lista de entrevistas realizadas... 26
8.2. Glossário... 26
8.3. Relatório de equipe... 27
1. Introdução
O Disque Denúncia Pernambuco é uma organização não governamental que alia população e órgãos públicos na busca por uma sociedade mais segura. Criado em 2000, o serviço repassa à polícia informações de cidadãos comprometidos com a redução da criminalidade.
Sem precisar identificarse e com a garantia de que não está sendo rastreado, um cidadão pode denunciar um crime ao Disque Denúncia, por telefone ou pela internet. Atendentes treinados filtram as informações recebidas, de modo a não permitir que dados que possam identificar o denunciante sejam acidentalmente armazenados, e geram documentos padronizados contendo a denúncia. Essas denúncias são, então, difundidas para os órgãos competentes, de acordo com o assunto de cada uma. Além disso, o denunciante recebe, no momento da realização da denúncia, um número de protocolo, através do qual ele pode acompanhar o andamento e resultado da ocorrência, bastando para isso ligar para a central do DisqueDenúncia e fornecer o protocolo.
Identificamos que, atualmente, existem dois processos dentro da ONG que impactam negativamente a produtividade da empresa: primeiramente, a consulta de resultados ser feita por telefone, ocupando uma linha de atendimento que poderia estar sendo usada para receber uma denúncia. Além disso, a difusão de denúncias é realizada manualmente, tornandose lenta e susceptível a falhas humanas.
Para solucionar os problemas descobertos, realizamos a elicitação de requisitos através de entrevistas e leitura de documentos da organização. A partir dos requisitos obtidos e detalhados, montamos este documento, que detalha a solução proposta por nós.
2. Processos de negócio com a notação BPMN
Fig. 1 Visão geral de processo do DisqueDenúncia
A figura 1 representa como o sistema proposto interagirá com os stakeholders na realização do gerenciamento de denúncias. Notase a participação fundamental do atendente no processo; o propósito do sistema não é substituir os atendentes, mas deixálos livres para receber mais denúncias. Basicamente, existem três formas de interação com o DisqueDenúncia:
● Realização de denúncia O denunciante repassa informações a respeito de um crime, por telefone ou pela internet. Essas informações são passadas para o atendente, que gera uma denúncia a partir delas. A denúncia pronta é então enviada para o sistema, que realiza a sua difusão e gera um protocolo a ser repassado para o denunciante.
● Consulta a resultado O denunciante acessa uma página Web e insere nela o protocolo recebido quando ele fez a denúncia. O sistema recebe o protocolo, realiza a busca pelo resultado da denúncia correspondente e, caso encontre, exibe o resultado para o denunciante.
● Recebimento de resultado Pode ocorrer de duas maneiras: a partir de uma página Web, específica para este fim, ou através de fax, email ou telefone. No primeiro caso, o resultado é automaticamente armazenado no sistema; no segundo, o atendente deve preencher um formulário detalhando os resultados recebidos, que será então armazenado no sistema.
Fig. 2 Geração de Denúncia
No subprocesso de geração de denúncia se faz a formalização dos dados passados aos atendentes. Definese o assunto da denúncia, por exemplo, tráfico de drogas, homicídio, assalto. Definese a urgência e por fim a denúncia e redigida em um documento padronizado.
Fig. 3 Difusão de Denúncia
Difusão de denúncia é o subprocesso que seleciona o órgão responsável pelo tipo de ocorrência. Após a seleção do órgão responsável, verificase a urgência da denúncia. Sendo a denúncia urgente, ela deverá ser encaminhada por fax. Case não seja urgência, encaminhase a denúncia por email.
3. Modelagem organizacional usando a notação i*
3.1. Modelo SD
Fig. 4 Modelo SD
3.2. Modelo SR
3.2.1. Denunciante expandido
Fig. 5 Denunciante
3.2.2. Atendente expandido
Fig 6. Atendente
3.2.3. Sistema expandido
Fig. 7 Sistema
4. Modelagem de requisitos não funcionais com NFR Framework
Fig.8 NFR
4.1 Segurança
Identificador: [RNF01]
Casos de uso
relacionados:
Gerar denúncia
Descrição: O software deve garantir a segurança dos dados. Garantir a segurança da chamada, além de excluir quaisquer informações pessoais passadas pelo denunciante.
Prioridade:
Essencial
4.2 Confidencialidade
Identificador: [RNF02]
Casos de uso
relacionados:
Consultar resultado [UC02], Gerar denúncia
Descrição: O acesso às denúncias é limitado aos atendentes que trabalham com o sistema e aos denunciantes com números de protocolo válidos. O software deve garantir a proteção do banco de dados contra acessos externos não autorizados usando firewall e criptografia.
Prioridade:
Essencial
4.3 Anonimato
Identificador: [RNF03]
Casos de uso
relacionados:
Fazer Denúncia[UC01], Gerar denúncia
Descrição: O software deve garantir o anonimato do denunciante através de filtragem de informações pessoais, anonimato digital não armazenando endereço IP. Além da impossibilidade de rastreamento telefônico através do através do embaralhamento da linhas.
Prioridade:
Essencial
4.4 Desempenho
Identificador: [RNF04]
Casos de uso
relacionados:
Fazer denúncia [UC01]
Descrição: É um dos objetivos do sistema garantir bom desempenho por meio de uma rápida e eficiente comunicação entre o sistema e o denunciante (quando via web) e entre sistema e atendente (quando via telefone). O uso de criptografia afeta tempo na comunicação negativamente enquanto que replicar servidor afeta tempo de resposta positivamente.
Prioridade:
Importante
4.5 Agilidade
Identificador: [RNF05]
Casos de uso
relacionados:
Todos
Descrição:
Um banco de dados estruturado permite a agilidade do sistema.
No entanto a filtragem de informações pessoais, passo obrigatório feito pelo atendente, pode prejudicar essa métrica caso o funcionário não tenha sido bem treinado.
Prioridade:
Importante
4.6 Escalabilidade
Identificador: [RNF06]
Casos de uso
relacionados:
Gerar denúncia, Consultar resultado[UC02]
Descrição: É a medida do quanto o desempenho do sistema cresce com a adição de mais recursos. A adição de terminais reservas auxilia a escalabilidade.
Prioridade:
Desejável
4.7 Dependabilidade
Identificador: [RNF07]
Casos de uso
relacionados:
Fazer denúncia [UC01]
Descrição: Corresponde ao nível de confiança que pode ser colocado sobre o serviço fornecido pelo sistema, sendo medido utilizando como métricas níveis de integridade, operabilidade e disponibilidade.
Prioridade:
Essencial
4.8 Operabilidade
Identificador: [RNF08]
Casos de uso
relacionados:
Gerar denúncia
Descrição: Para manter o serviço em condições funcionais, o sistema conta com terminais reservas adicionais e uma estrutura auxiliar de energia.
Prioridade:
Essencial
4.9 Integridade
Identificador: [RNF09]
Casos de uso
relacionados:
Consultar resultado[UC02], Gerar denúncia, Enviar resultado Descrição: Com o intuito de garantir a integridade das informações do
sistema, utilizase um banco de dados bem estruturado e fazse com regularidade backup do mesmo. Embora a replicação de servidores dificulte a integridade, uma replicação síncrona diminui o impacto neste requisito.
Prioridade:
Essencial
4.10 Disponibilidade
Identificador: [RNF10]
Casos de uso
relacionados:
Consultar resultado[UC02], Gerar denúncia, Enviar resultado Descrição: Sendo o serviço do disque denúncia provido vinte e quatro horas
por dia, sete dias por semana, incluindo em feriados, esse requisito é essencial. Em caso do servidor apresentar problema, é indispensável que se tenha algum servidor reserva com o banco de dados duplicado.
Prioridade:
Essencial
4.11 Usabilidade
Identificador: [RNF11]
Casos de uso
relacionados:
Acessar página web do DisqueDenúncia
Descrição: O software deve ser simples e intuitivo para o uso do público. O usuário deve ser o centro do processo. Deve usar uma interface amigável e internacionalizada.
Prioridade:
Importante
4.12 Compatibilidade
Identificador: [RNF12]
Casos de uso
relacionados:
Fazer denúncia [UC01]
Descrição: É interessante demonstrar ao denunciante que ele pode efetuar a denúncia utilizando qualquer plataforma disponível: ligando pelo telefone, utilizando quaisquer navegadores em seu computador, tablet ou celular. Para tal é necessário se ter um sistema com suporte multiplataforma.
Prioridade:
Desejável
4.13 Concisão
Identificador: [RNF13]
Casos de uso
relacionados:
Acessar página web do DisqueDenúncia
Descrição: O processo de submeter uma denúncia deve ser completo, porém o mais simples possível, utilizando interfaces autoexplicativas e com design simples.
Prioridade:
Importante
5. Modelagem de requisitos funcionais usando o diagrama de casos de uso
Fig.9 Casos de uso
5.1 Descrição textual dos casos de uso
5.1.1 Fazer denúncia Identificador: [UC01]
Descrição: O denunciante inicia o processo de preenchimento de um formulário de denúncia quando feito diretamente pela internet (revisado pelo atendente em seguida) ou tenta entrar em contato com o DisqueDenúncia via telefone (nesse caso a denuncia é preenchida pelo próprio atendente).
Ator: Denunciante Prioridade: Essencial Précondição: Nao se aplica
Póscondição: O denunciante recebe um número de protocolo referente a entrada de denúncia feita, podendo mais tarde consultar os resultados da denúncia.
Fluxo de Eventos
Principal
1. Em caso de denúncia pela internet:
1.1. Denunciante entrou na página web do Disquedenúncia;
1.2. Denunciante preenche corretamente o formulário;
1.3. Denunciante envia sua denúncia;
2. Em caso de denúncia pelo telefone:
2.1. Denunciante liga para o Disquedenúncia;
2.2. Denunciante repassa todas as informações da denúncia
para o atendente;
Fluxo Secundário
1. Em caso de denúncia pela internet:
1.1. Após o passo 1.3, se as informações passadas pelo
denunciante para geração da denúncia foram insuficientes, uma mensagem de erro contendo a frase “há campos nãopreenchidos no formulário” é mostrada na tela do denunciante;
1.2. Formulário é descartado pelo sistema;
1.3. Sistema volta à tela inicial;
2. Em caso de denúncia pelo telefone:
2.1. Após o passo 1.3, se as informações passadas pelo
denunciante para geração da denúncia foram insuficientes, o atendente informa ao denunciante que ainda falta informações a serem preenchidas;
2.1. Atendente pede ao denunciante que complete as
informações restantes;
Requisitos Nãofuncionais Associados
[RNF03], [RNF04], [RNF05], [RNF07], [RNF12]
5.1.2 Consultar resultado Identificador: [UC02]
Descrição: A consulta da denúncia se inicia quando o denunciante fornece protocolo pela Internet que será checado junto ao banco de dados.
O resultado será exibido posteriormente.
Ator: Denunciante Prioridade: Importante
Précondição: Denunciante deve possuir um protocolo válido.
Póscondição: O sistema exibe o andamento atual da denúncia.
Fluxo de Eventos
Principal
1. Denunciante acessa o DisqueDenúncia através da Internet;
2. Denunciante fornece um protocolo válido de denúncia;
3. Número de protocolo será checado junto ao banco de dados;
4. Denunciante recebe a exibição do andamento atual da denúncia;
Fluxo Secundário
1. Após o passo 3, se o denunciante forneceu um protocolo existente no banco de dados do sistema, uma mensagem de erro é exibida contendo “número de protocolo inválido”;
2. Sistema retorna à tela inicial.
Requisitos Nãofuncionais Associados
[RNF02], [RNF05], [RNF06], [RNF09], [RNF10]
5.1.3 Receber Denúncia Identificador: [UC03]
Descrição: É o recebimento da denúncia pelos órgãos responsáveis através de email ou fax, havendo a possibilidade de recebimento de denúncia urgente.
Ator: Órgão Responsável Prioridade: Essencial
Précondição: O sistema deve ter gerado um documento padronizado de acordo com o órgão responsável alvo.
Póscondição: O órgão responsável recebe as informações da denúncia.
Fluxo de Eventos
Principal
1. O documento com as informações da denúncia chega por email ao órgão responsável.
Fluxo Secundário
1. Caso a denúncia seja urgente, o documento com as informações da denúncia será encaminhado ao órgão responsável por fax.
Requisitos Nãofuncionais Associados
[RNF05]
6. Comportamento do sistema com Statecharts
Fig. 10 Statechart
7. Conclusão
Ao longo da elaboração deste documento, oferecemos, através dos modelos criados, uma possível solução em forma de sistema computacional para os problemas apresentados. As técnicas de elicitação e de modelagem utilizadas permitiram que a equipe tivesse um bom entendimento do funcionamento da organização DisqueDenúncia, e isso foi fundamental para que pudéssemos gerar uma solução adequada às necessidades dos stakeholders.
Ao automatizarmos os processos de difusão de denúncia e consulta de resultado, pudemos reduzir a carga de responsabilidades colocadas sobre os atendentes, que poderão se dedicar ao máximo à geração de denúncias e, portanto, ao atendimento aos denunciantes.
Os modelos gerados ao longo do processo de especificação permitiram uma melhor visualização dos requisitos propostos, como eles interagem entre si e afetam o comportamento do sistema.
8. Apêndices
Apêndice 1: Lista de entrevistas realizadas
Entrevista 1: 03/04/2015
Entrevistado: Sylvia Renata Dubeux, diretorageral do DisqueDenúncia Pernambuco.
Resumo: Durante a entrevista, buscouse conhecer o processo de negócio atual de gerenciamento de denúncias do DisqueDenúncia. Destacouse, ainda, a necessidade de aumentar a quantidade de denúncias recebidas e difundidas mensalmente.
Entrevista 2: 03/04/2015
Entrevistado: Claudicéa Saldanha, supervisora de atendimento do DisqueDenúncia Pernambuco.
Resumo: Nessa entrevista, o objetivo foi compreender as necessidades de atendentes e denunciantes. Dentre os problemas percebidos, destacouse o excesso de responsabilidades atribuídas aos atendentes, que são responsáveis tanto por receber como por difundir as denúncias recebidas. Adicionalmente, comentouse de algumas reclamações feitas por denunciantes aos atendentes, em especial o tempo alto de espera para ser atendido em certos horários e épocas do ano.
Apêndice 2: Glossário
➔ Atendente: Funcionário do DisqueDenúncia responsável pela geração de denúncias.
➔ BPMN: É uma notação da metodologia de gerenciamento de processos de negócio e tratase de uma série de ícones padrões para o desenho de processos, o que facilita o entendimento do usuário.
➔ Denúncia: Estruturação de informações a respeito de um crime fornecidas por um denunciante, organizadas pelo atendente.
➔ Denunciante: Cidadão que fornece informações a respeito de crimes.
➔ Difusão: Processo de encaminhamento de uma determinada denúncia para o órgão responsável por resolver a sua ocorrência. O órgão a que deve ser feito o encaminhamento é escolhido de acordo com o assunto da denúncia; por exemplo, uma denúncia relacionada a um homicídio deve ser encaminhada ao DHPP (Departamento de Homicídios e Proteção à Pessoa).
➔ i*: Notação criada por John Mylopoulos e EricYu na Universidade de Toronto para descrição de requisitos organizacionais.
➔ NFR: São requisitos não funcionais que especificam critérios do comportamento do sistema que independe de técnicas ou tecnologia.
➔ Protocolo: Senha fornecida ao denunciante para futuras consultas a resultados da denúncia realizada por ele.
➔ Resultado: Situação da ocorrência gerada a partir de uma denúncia. Pode incluir prisões realizadas, materiais apreendidos, ou ainda um aviso de “nada encontrado” caso a denúncia não tenha fundamento.
Apêndice 3: Relatório de Equipe
Nome do membro Papel Esforço na equipe (%)
Login
Diogo Pereira de Morais
Modelagem e relatório
24 dpm
Gustavo Gama da
Silva Figueiredo Modelagem e relatório
24 ggsf
Igor Ryan Bernardo
Santos Modelagem e
relatório
24
irbs
Sylvia Marcella
Dubeux Ratis Modelagem, entrevista e
relatório (Revisor) (Gerente)
28 smdr