Nesta etapa foi feita uma análise em alto nível do domínio de perguntas frequentes, baseando-se nas referências sobre sistemas de FAQ (seção 4.1) e nos exemplos citados na seção 4.2.
A partir da observação dos sistemas já existentes, obtiveram-se algumas características iniciais do domínio, que agrupadas formam subsistemas internos ao Sistema de FAQ. Esses subsistemas definem os contextos do Diagrama de Contexto, que são:
Controle de Perguntas e Respostas: este contexto envolve a administração das perguntas e respostas do sistema, ou seja, cadastro e consulta de perguntas e respostas, envio de perguntas pelos clientes, recebimento de respostas enviadas pelo funcionário e acompanhamento de perguntas enviadas.
Controle de Categorias: este contexto define a funcionalidade de associar uma pergunta a uma determinada categoria e seu gerenciamento (cadastro, edição, exclusão e consulta).
Administração de Casos Similares: esse contexto foi identificado para representar um mecanismo inteligente de busca de perguntas e respostas na base de dados. Entre as técnicas que podem ser usadas citam-se o processamento de linguagem natural (SILVA, 2008), Raciocínio Baseado em Casos (RBC) (WANGENHEIM, 2003), entre outras (CAVALARI; COSTA, 2005).
Controle de Funcionários: é preciso um administrador para gerenciar o sistema e responder as perguntas. Caso contrário, é preciso destiná-las a
um funcionário responsável pelas respostas, justificando a necessidade do controle de acessos ao sistema.
Acompanhamento Estatístico: O acompanhamento estatístico envolve o processamento e análise de perguntas enviadas pelos clientes e respondidas por funcionários, gerando dados quantitativos para a empresa.
Verificação Humana: CAPTCHA é acrônimo para Completely Automated Public Turing test to tell Computers and Humans Apart (Teste de Turing Público Completamente Automatizado para Diferenciação entre Computadores e Humanos) e refere-se a um mecanismo de averiguação humana que exibe uma imagem com um código aleatório sendo necessário digitá-lo para prosseguir (HONDA, 2011).
A Figura 21 representa o Diagrama de contexto para o domínio de FAQ, no qual ao centro se encontra o Sistema de FAQ e ao seu redor os subsistemas relacionados anteriormente.
Figura 21 - Diagrama de contexto para o domínio de FAQ Fonte: Autoria própria
O Quadro 3 relaciona características identificadas para os contextos ilustrados na Figura 21.
Contexto Características
Controle de Perguntas e Respostas
- Manter perguntas e respostas - Consultar perguntas e respostas - Enviar pergunta
- Enviar resposta
- Monitorar perguntas enviadas
Controle de Categorias
- Manter categoria
- Associar pergunta/categoria - Buscar pergunta/categoria - Consultar categoria
Administração de Casos Similares - Buscar termo com mecanismo inteligente, usando técnicas previamente implementadas
Controle de Funcionários - Manter funcionário - Consultar funcionários - Manter especialidade - Consultar especialidade - Associar funcionário/especialidades - Buscar funcionário/especialidades Acompanhamento Estatístico1 - Quantificar perguntas enviadas
- Quantificar respostas geradas
Verificação Humana -Gerar código
-Validar código
Quadro 3 - Conjunto de características por contexto Fonte: Autoria própria
Neste trabalho, serão focados os contextos de Controle de Perguntas e Respostas, Controle de Categorias e Controle de Funcionários. Estes contextos englobam os requisitos do sistema de FAQ do FrameMK que será desenvolvido e também estão presentes nos outros sistemas de FAQ que estão sendo usados para criar a LPS.
5.2 IDENTIFICAÇÃO DE CARACTERÍSTICAS
Esta subfase do Método Adaptado de Delazeri e Wolf define algumas etapas. A execução dessas etapas é descrita nas subseções seguintes.
1 As funcionalidades identificadas foram às retiradas pela análise da teoria de FAQs, porém outras podem ser incorporadas.
5.2.1 Requisitos do Domínio
Para identificar os requisitos do domínio, foram escolhidos dois sistemas FAQ já existentes e também as funcionalidades pretendidas no sistema do FrameMK. Estes sistemas já foram relatados brevemente no Capítulo 4 e nesta subseção serão explorados mais profundamente em termos de requisitos.
FAQ Lojas Americanas
Para verificar as características presentes no sistema de FAQ das Lojas Americanas, foi acessado o sítio e selecionado a opção atendimento. Após, selecionou-se a opção dúvidas frequentes que encaminhou para a seção Perguntas mais Frequentes. Dessa forma, foram extraídas as seguintes características de interface gráfica (Figura 22):
Selecionar Categoria: primeiramente o cliente deve selecionar uma categoria de perguntas disponíveis no sistema.
Fechar Categoria: é possível fechar a visualização das perguntas e respostas de determinada categoria, clicando sobre a mesma.
Selecionar Pergunta: em cada categoria é listada uma série de perguntas. O cliente deve escolher a qual se encaixa melhor a sua dúvida.
Fechar Resposta: para fechar a visualização da resposta, o usuário pode clicar sobre a pergunta ou sobre o botão x fechar.
Informar Pergunta: para facilitar a localização das perguntas e respostas, o cliente pode pesquisar usando os termos desejados no campo busque sua dúvida. O mecanismo de busca utiliza o conceito de palavras-chave, ou seja, o termo digitado pelo usuário será buscado na base de perguntas e respostas, sem ter processamento de linguagem natural e corretor ortográfico.
Figura 22 - Características do sistema de FAQ das Lojas Americanas Fonte: Adaptado de Lojas Americanas (2014)
O Quadro 4 relaciona as características do sistema de FAQ das Americanas com os contextos identificados na fase de Análise de Domínio.
Contexto Característica
De Interface Gráfica Lógica
Controle de Perguntas e Respostas
- Selecionar pergunta - Fechar resposta - Informar pergunta
- Manter perguntas e respostas - Consultar perguntas e respostas
Controle de Categorias - Selecionar categoria - Fechar categoria
- Buscar pergunta/categoria - Manter categoria
- Associar pergunta/categoria - Consultar categoria
Quadro 4 - Características de interface gráfica e lógica para o sistema de FAQ das Lojas Americanas
Fonte: Autoria própria
A divisão das características em características de interface gráfica e lógica foi motivada pelo fato de realizar-se uma análise visual dos sistemas, quando são constatados aspectos de interface. Porém, os elementos de interface não estão relacionados com as características lógicas identificadas na fase anterior, as quais são o objeto do presente trabalho.
FAQ Jornal O Globo
O sistema de FAQ do Jornal O globo não possui as perguntas e respostas divididas em categorias. Porém, ele apresenta a opção de enviar a pergunta por meio do preenchimento de um formulário (Figura 23). As características encontradas foram:
Visualizar Resposta: todas as perguntas cadastradas no sistema são apresentadas na interface principal. Caso alguma se encaixe na dúvida do usuário, ele deve clicar sobre a pergunta ou o botão + ler resposta para exibir a resposta.
Fechar Resposta: o usuário tem a opção de fechar a visualização de uma resposta, clicando sobre ela ou sobre o botão x fechar resposta.
Enviar Pergunta: se a pergunta desejada não estiver relacionada, o usuário tem a opção de enviar a pergunta para os funcionários da empresa, preenchendo o formulário a direita.
Validar Nome: esta validação é feita quando o usuário retira o foco do campo, por isso foi incluída como funcionalidade de interface gráfica. Para enviar uma pergunta é obrigatório o preenchimento do campo Nome com qualquer caractere, exceto espaço em branco.
Validar E-mail: assim como a validação do nome, a validação do e-mail é uma funcionalidade de interface gráfica. Para enviar uma pergunta é obrigatório o preenchimento do campo E-mail, sendo obrigado ter pelo menos uma letra ou número antes do @, seguido do provedor, ponto e o tipo de usuário.
Visualizar Código: a visualização da imagem que contém o código de verificação é identificada como uma funcionalidade de interface gráfica.
Figura 23 - Características do sistema de FAQ do Jornal O Globo Fonte: Adaptado do Jornal o Globo (2014)
O Quadro 5 apresenta a relação das características observadas do sistema de FAQ do Jornal O Globo e os contextos definidos na Análise de Domínio.
Contexto Característica
De Interface Gráfica Lógica
Controle de Perguntas e Respostas - Visualizar resposta - Fechar resposta - Validar nome - Validar e-mail - Enviar pergunta
- Manter perguntas e respostas - Consultar perguntas e respostas - Enviar pergunta
- Enviar resposta
- Monitorar perguntas enviadas
Controle de Funcionários - Manter funcionário
- Consultar funcionário
Validação Humana - Visualizar código - Validar Código
- Gerar Código
Quadro 5 - Características de interface gráfica e lógica para o sistema de FAQ do Jornal O Globo
Fonte: Autoria própria
FAQ FrameMK
Os requisitos do sistema FAQ do FrameMK foram obtidos por meio de entrevistas com a responsável pelo projeto. Os requisitos básicos apresentados para o FAQ do FrameMK são os seguintes:
Classificação das perguntas e respostas em categorias.
Opção de enviar a pergunta, se ela não for encontrada na relação de perguntas frequentes.
O funcionário responde a uma pergunta enviada e esta pergunta/resposta é disponibilizada no sistema de FAQ.
A partir destes requisitos e da descrição narrativa descrita na seção 4.2, elaborou-se o protótipo das telas do sistema de FAQ do FrameMK. A primeira tela construída foi a interface do cliente, conforme a Figura 24. Ela apresenta as perguntas e respostas divididas em categorias, podendo também realizar uma busca por palavras-chave no banco de perguntas e respostas. Caso o usuário não a encontre, ele pode enviar um e-mail para o administrador pelo formulário a direita da tela.
Figura 24 - Interface gráfica do sistema de FAQ para o FrameMK Fonte: Autoria própria
As características de interface gráfica identificadas foram:
Informar Pergunta: O usuário tem opção de informar palavras-chave para buscá-las na base de dados.
Selecionar Categoria: assim como no FAQ das Lojas Americanas, o cliente deve selecionar uma categoria de perguntas.
Selecionar Pergunta: O cliente deve escolher uma pergunta correspondente a sua dúvida para visualizar a resposta.
Fechar Resposta: o usuário pode fechar a visualização da resposta, clicando sobre a pergunta com a resposta exibida.
Enviar Pergunta: se a pergunta desejada não estiver relacionada, o usuário tem a opção de enviar a pergunta para a equipe do FrameMK, preenchendo o formulário a direita.
Validar Nome: no formulário de envio de perguntas será implementado uma validação de nome.
Validar E-mail: também será validado o e-mail informado pelo usuário para o recebimento posterior da resposta.
O Quadro 6 apresenta as características de interface gráfica e de lógica identificados a partir do protótipo da tela projetado:
Contexto Característica
De Interface Gráfica Lógica
Controle de Perguntas e Respostas - Informar pergunta - Selecionar pergunta - Fechar resposta - Enviar pergunta - Validar nome - Validar e-mail
- Manter perguntas e respostas - Consultar perguntas e respostas - Enviar pergunta
- Enviar resposta
- Monitorar perguntas enviadas
Controle de Funcionário - Manter funcionário
- Consultar funcionário
Controle de Categorias - Selecionar categoria
- Buscar pergunta/categoria - Manter categoria
- Associar pergunta/categoria - Consultar categoria
Quadro 6 - Características de interface gráfica e lógica para o sistema de FAQ do FrameMK Fonte: Autoria própria
Os protótipos referentes às interfaces de administrador e funcionário do sistema estão no APÊNDICE A -.
As características encontradas no domínio de FAQ são representadas no diagrama de características (Figura 25), construído com a ferramenta FeatureIDE (THÜM et al., 2014).
Figura 25 - Diagrama de características para os sistemas estudados Fonte: Autoria própria
A característica obrigatória (Mandatory) PerguntasRespostas denota que a Informação da pergunta devem estar classificada em Categoria ou cada pergunta deve estar acompanhada com sua Resposta diretamente. Além disso, também é obrigatória a exibição delas por meio de uma interface, seja ela Swing ou Web.
A característica Categoria é necessária se for implementada a classificação de perguntas e respostas por Categoria, ou seja, existe uma relação de exigência (Require) entre as duas que no diagrama está representado por uma característica falso-opcional (False optional feature). Considerando que não seja requisitada a classificação das perguntas e respostas, a Categoria é desnecessária, resultando em exclusão (Exclude) da mesma, representada no diagrama por característica morta (Dead feature).
Outra observação é em relação à busca com a característica Inteligente, que se for implementada, necessita da característica Inteligência. O mesmo ocorre com o mecanismo de verificação humana, identificado como CódigodeVerificaçaoHumana, que só é necessária se for implementada a característica Email.
Após a descrição das características encontradas em cada sistema, são identificadas as características que deverão estar presentes no núcleo da LPS, ou seja, identificar as similaridades e variabilidades do domínio. A metodologia de Delazeri e Wolf (2012) define as características em apenas duas classificações: similares (S) ou variáveis (V). Neste trabalho, optou-se por adaptar esta classificação conforme a Subseção 2.2.1. Desta forma, o núcleo da linha torna-se mais flexível as variabilidades encontradas no domínio.
O Quadro 7 relaciona as características encontradas nos sistemas estudados com a forma de classificação adotada:
Sistema Contexto Característica Lógica Classificação
FAQ Lojas Americanas
Controle de Perguntas e Respostas
Manter perguntas e respostas Núcleo Consultar perguntas e respostas Núcleo
Controle de Categorias
Buscar pergunta/categoria Opcional
Manter categoria Opcional
Associar pergunta/categoria Opcional Consultar categoria Opcional
FAQ Jornal O Globo
Controle de Perguntas e Respostas
Manter perguntas e respostas Núcleo Consultar perguntas e respostas Núcleo
Enviar pergunta Opcional
Enviar resposta Opcional
Monitorar perguntas enviadas Opcional Controle de Funcionários Manter funcionário Opcional Consultar funcionário Opcional
Validação Humana Validar código Aplicação
Gerar código Aplicação
FAQ FrameMK
Controle de Perguntas e Respostas
Manter perguntas e respostas Núcleo Consultar perguntas e respostas Núcleo
Enviar pergunta Opcional
Enviar resposta Opcional
Monitorar perguntas enviadas Opcional
Controle de Categorias
Buscar pergunta/categoria Opcional
Manter categoria Opcional
Associar pergunta/categoria Opcional Consultar categoria Opcional Controle de Funcionários Manter funcionário Opcional Consultar funcionário Opcional
Quadro 7 - Lista de características identificadas Fonte: Autoria própria
As características identificadas nas interfaces gráficas do administrador e do funcionário, do sistema de FAQ do FrameMK não foram comparadas. Isto se justifica pelo desconhecimento do funcionamento interno dos outros sistemas de FAQ analisados. Como não se tem acesso integral aos sistemas, desconsideraram-se tais interfaces.
Por meio da comparação entre os sistemas estudados, foram obtidas as seguintes características de núcleo:
Manter perguntas e respostas: esta característica refere-se ao cadastro e edição das perguntas e respostas na base de dados. Todos os sistemas
estudados implementam um mecanismo de inserção e atualização de perguntas e respostas disponíveis aos clientes.
Consultar perguntas e respostas: na interface do cliente, todos os sistemas apresentam as perguntas e respostas cadastradas na base, cada um com as suas particularidades. Porém, todos têm uma função que faz a busca na base para exibir tais perguntas e respostas, denotando assim uma característica similar entre eles.
As características Validar código e Gerar Código foram encontradas apenas no Sistema de FAQ do Jornal O Globo. Desta forma, ela é uma característica desta aplicação. As demais características, que foram encontradas em pelo menos dois sistemas, mas não em todos, são denominadas opcionais.
O Quadro 8 relaciona todas as características encontradas nos três sistemas estudados:
Característica lógica FAQ Lojas Americanas
FAQ Jornal O Globo
FAQ
FrameMK Classificação
Manter perguntas e respostas Sim Sim Sim Núcleo
Consultar perguntas e respostas Sim Sim Sim Núcleo
Enviar pergunta Não Sim Sim Opcional
Enviar resposta Não Sim Sim Opcional
Monitorar perguntas enviadas Não Sim Sim Opcional
Manter categoria Sim Não Sim Opcional
Associar pergunta/categoria Sim Não Sim Opcional
Buscar pergunta/categoria Sim Não Sim Opcional
Consultar categoria Sim Não Sim Opcional
Manter funcionário Não Sim Sim Opcional
Consultar funcionário Não Sim Sim Opcional
Gerar código Não Sim Não Aplicação
Validar código Não Sim Não Aplicação
Quadro 8 - Classificação das características encontradas Fonte: Autoria própria
Ao final desta subfase, gera-se o diagrama de features das caraterísticas do núcleo (Figura 26) e das características opcionais (Figura 27).
Figura 26 - Diagrama de features das características de núcleo Fonte: Autoria própria
As características opcionais referem-se ao envio e monitoramento de perguntas/respostas, e ao gerenciamento de categorias e associação de perguntas a determinada categoria.
Figura 27 - Diagrama de features das características opcionais Fonte: Autoria própria
Com a conclusão desta subfase, são elucidados os principais requisitos de domínio, as similaridades (classificadas como núcleo ou opcional) e variabilidades (classificadas como de aplicação), com base nas características dos sistemas estudados.
5.2.2 Modelagem do Domínio
Esta subfase realiza uma análise estática ou comportamental do problema, por meio do diagrama de classe ou diagrama de casos de uso e cenários de casos de uso, respectivamente.
Foram escolhidos os diagramas de caso de uso e seus cenários, por representarem uma análise detalhada do problema. A Figura 28 ilustra o Diagrama de casos de uso das similaridades que foram apontadas na subfase de Requisitos de Domínio.
Figura 28 - Diagrama de casos de uso das similaridades Fonte: Autoria própria
Os casos de uso estão rotulados com o estereótipo núcleo e opcional, representando as características identificadas na fase anterior. Em relação aos atores Administrador e Funcionário, considerou-se que existe um profissional com a
responsabilidade de destinar uma pergunta (Administrador) a outro profissional, o qual é encarregado de respondê-la (Funcionário).
Nesta fase também é feita uma descrição detalhada de cada caso de uso, chamada de cenário de caso de uso. O Quadro 9 descreve o cenário para o caso de uso Consultar Pergunta e Resposta.
Caso de Uso Consultar Perguntas e Respostas
Caso de Sucesso 1. O usuário acessa a página do sistema.
2. O sistema busca as perguntas e respostas registradas 3. O sistema exibe as perguntas e respostas
Extensões 2. Falha de conexão
a. Informa uma mensagem de exceção ao usuário b. Encerra o caso de uso.
Quadro 9 - Descrição para o caso de uso consultar pergunta e resposta Fonte: Autoria própria.
O Quadro 10 descreve o cenário para o caso de uso Manter Pergunta e Resposta.
Caso de Uso Manter Perguntas e Respostas
Caso de Sucesso 1. O administrador seleciona a opção de controle de perguntas e respostas.
2. Ele informa os dados.
3. O administrador escolhe a opção.
4. É informada uma mensagem de sucesso.
Extensões 3. Incluir
a. Registrar os dados
3. a. Falha de conexão
a. Informa uma mensagem de exceção ao usuário
b. Encerra o caso de uso 3. Alterar
a. Requisitar o caso de uso Consultar Pergunta b. Exibir os dados da pergunta
c. Informar novos dados d. Registrar os dados alterados
3. d. Falha de conexão
a. Informa uma mensagem de exceção ao usuário
b. Encerra o caso de uso 3. Excluir
a. Requisitar o caso de uso Consultar Pergunta b. Exibir os dados da pergunta
c. Confirmar exclusão d. Exclui a pergunta
3. d. Falha de conexão
a. Informa uma mensagem de exceção ao usuário
b. Encerra o caso de uso
Quadro 10 - Descrição para o caso de uso manter pergunta e resposta Fonte: Autoria própria
Caso de Uso Enviar Resposta
Caso de Sucesso 1. O funcionário seleciona uma pergunta. 2. Os dados da pergunta são exibidos.
3. O funcionário informa os dados da resposta e confirma a operação.
4. O sistema exibe uma mensagem de sucesso.
Extensões 3. Falha de conexão
a. Informa uma mensagem de exceção ao usuário b. Encerra o caso de uso.
Quadro 11 - Descrição para o caso de uso enviar resposta Fonte: Autoria própria
As demais descrições dos casos de uso das características do núcleo e opcionais estão no APÊNDICE B -. Ao final desta etapa obtêm-se a modelagem estática das características similares dos sistemas estudados.
5.2.3 Projeto do Domínio
Esta etapa utiliza-se do desenvolvimento de software baseado em componentes. Para este trabalho foi utilizado o processo UML Components, o qual está descrito no APÊNDICE C -.
Iniciou-se o processo UML Components no segundo passo, com a definição das interfaces de sistema. Para isso, é necessário o diagrama de casos de uso, que foi construído na fase anterior. Cada caso de uso identificado transforma-se numa interface de sistema, conforme a Figura 29.
Figura 29 - Interfaces de sistema das similaridades Fonte: Autoria própria
Na Figura 29 também foram definidas as assinaturas dos métodos das interfaces. Na interface de monitoramento (IMonitorarPerguntasEnviadas) não foi definido nenhum método pois considerou-se que a lógica de monitoramento faz parte da Engenharia de Aplicação (Seção 5.3).
No terceiro passo definem-se as interfaces de negócio. Para tal, é preciso a definição do diagrama de conceitos de negócio. Ele é construído para elucidar os termos envolvidos no processo (Figura 30).
Figura 30 - Diagrama de conceitos de negócio das similaridades Fonte: Autoria própria
O diagrama de conceitos de negócio da Figura 30 tem uma relação com cada elemento do diagrama de casos de uso e as interfaces de sistema, ou seja, os conceitos são identificados para o funcionamento correto das funcionalidades similares do domínio. Os conceitos FaleConosco e Email abrangem os casos de uso