• Nenhum resultado encontrado

4 PROJETO DE SOLUÇÃO

4.2 MODELAGEM DO SISTEMA PROPOSTO

4.2.2 Requisitos

4.2.2.3 Regras de negócio

Segundo Kamada (2006, p. 33), “uma regra de negócio é uma declaração que define ou restringe um aspecto do negócio, ou em outras palavras, define a estrutura do negócio e controla e influencia o comportamento do negócio. “

Nesta seção estão contidas as regras de negócio da solução.

 RN001 – A autenticação dos usuários deverá ser realizada mediante integração com Active Directory.

 RN002 – Os usuários denominados administradores serão os únicos que terão permissão para gerenciar tipos de logs e servidores cadastrados no sistema.

 RN003 – Os usuários serão administradores quando tiverem seu login de rede adicionado ao arquivo de configuração do sistema.

 RN004 – Os demais usuários autenticados terão permissão apenas de consulta. Estas são as regras de negócio. Na próxima seção serão apresentados os protótipos de tela.

4.2.3 Protótipos de tela

Nesta seção, são apresentados os protótipos de tela com imagens que ilustram o que será desenvolvido.

Na figura 17, o usuário informa login e senha para autenticação.

Figura 17 - Login

Fonte: Autor, 2016

Na figura 18 é apresentada a tela de consulta de logs. Nesta tela é possível informar qual o tipo de log que o usuário deseja pesquisar. Com base no tipo de log, o combo box

“campo” será carregado com os respectivos campos do log solicitado. A partir desta etapa o usuário pode adicionar filtros com os campos desejados até que os filtros sejam suficientes para realização de uma pesquisa. Ao clicar no botão pesquisar o fluxo é direcionado para figura 19, tela de resultados da pesquisa. Os links “Configurar servidores” e “Configurar tipos de logs” ficam visíveis apenas para usuários identificados como administrador no arquivo de configuração do serviço. É importante lembrar que todos os perfils de usuário podem fazer consultas.

Figura 18 - Consulta de logs

Fonte: Autor, 2016

Na figura 19 são apresentados os resultados da pesquisa. Nesta tela são carregados os filtros preestabelecidos e também os resultados das pesquisar que foram coletados remotamente em cada servidor. Nesta tela também é possível realizar uma nova pesquisa retirando ou adicionando novos filtros.

Figura 19 - Resultados da pesquisa

Fonte: Autor, 2016

Já na figura 20 tem-se a configuração de servidores. Para adicionar um servidor é preciso informar o nome da máquina o endereço de ip e também o tipo de log que o servidor contém. No caso de existir mais de um tipo de log é necessário adicionar vários registros alterando o tipo de log que o servidor contém.

Figura 20 - Configuração de servidores

Na figura 21 tem-se a configuração de tipos de logs. Nesta tela é possível configurar os tipos de logs suportados pela busca. A configuração incluí informar o nome do tipo de log e também o índice no SOLR que será utilizado para buscar o tipo de log. Com a vinculação na figura 20 temos o endereço de IP e que a consulta será realizada e qual índice no SOLR podemos buscar os temos que o usuário deseja encontrar.

Figura 21 - Configuração de tipos de logs

Fonte: Autor, 2016

A prototipação das telas auxilia na criação dos casos de uso, assim como o ICONIX incentiva, é utilizado principalmente a interface gráfica como base para a escrita da interação entre os usuários e o sistema. (SOUSA, 2011).

4.2.4 Casos de uso

Nesta seção é apresentado os casos de uso primário do sistema, contendo fluxo base a alternativo para seus respectivos atores. Na figura 22 é apresentado o caso de uso para o perfil de usuário de consulta.

Figura 22 - Caso de uso primário perfil de usuário de consulta

Fonte: Autor, 2016

UC001 - Login (Fluxo principal)

1. O sistema inicia apresentando a tela de login (TL001)

2. Usuário informa os dados para login (Nome de usuário e senha) 3. O sistema faz a validação dos dados junto ao active diretory

4. O usuário e senha estão corretos, o sistema é direcionado para página de consulta (TL002)

UC001 - Login (Fluxo alternativo)

1. O sistema inicia apresentando a tela de login (TL001)

2. Usuário informa os dados para login (Nome de usuário e senha)

3. O usuário e senha estão incorretos, o sistema apresenta uma mensagem solicitando que o usuário tente novamente.

UC002 - Busca de logs (Fluxo principal)

1. O sistema apresenta a página de consulta (TL002)

3. O usuário clica em pesquisar

4. O sistema é direcionado para a tela de resultados (TL003) 5. Os resultados são apresentados ao usuário

UC002 - Busca de logs (Fluxo alternativo)

1. O sistema apresenta a página de consulta (TL002)

2. O usuário preenche os campos de filtro com os termos a serem pesquisados 3. O usuário clica em pesquisar

4. O sistema emite mensagem informando que nenhum resultado foi encontrado.

UC003 - Definir filtro

1. O usuário abre a tela principal de busca (TL001) 2. O usuário informa o tipo de log que deseja pesquisar

3. O sistema busca na ferramenta de indexação quais campos existem para filtro 4. O usuário seleciona o campo que deseja filtrar

5. O usuário preenche o campo filtro com o termo a ser pesquisado e clica em adicionar

6. O passo 5 é repetido até que todos os filtros sejam suficientes para solicitar a pesquisa pressionando o botão pesquisar

UC004 - Indexar logs

1. O sistema externo gera arquivos de logs contendo as operações realizadas 2. A ferramenta de indexação é configurada para monitorar a pasta onde os logs do sistema externo foram gerados

3. A ferramenta de indexação varre a pasta configurada procurando por arquivos de log novos

4. Ao encontrar um novo arquivo texto ou csv, a ferramenta lê o arquivo linha a linha

5. O arquivo inserindo no respectivo índice

6. O conteúdo do arquivo está indexado e pronto para pesquisa

Na figura 23, é apresentado o caso de uso primário para o perfil de administrado. O administrador contempla todas as funções de usuário de consulta e tem permissão para gerenciar logs.

Figura 23 - Caso de uso primário perfil de administrador

Fonte: Autor, 2016

UC005 - Adicionar servidores (Fluxo principal)

1. O usuário administrador clica no link de configurar de servidores 2. O usuário preenche o nome, ip e tipo de log

3. O usuário clica em adicionar e o servidor é adicionado a lista abaixo

UC005 - Adicionar servidores (Fluxo alternativo)

1. O usuário administrador clica no link de configurar de servidores

2. O usuário preenche o nome, ip e tipo de log de um servidor e tipo de log que já existe na lista

3. O usuário clica em adicionar e uma mensagem é exibida informando que o servidor e tipo de log já existe.

4. O cursor é posicionado no nome para um novo preenchimento dos campos

UC006 - Visualizar servidores (Fluxo principal)

1. O usuário administrador clica no link de configurar de servidores 2. O usuário encontra o servidor desejado na lista

UC007 - Excluir servidores (Fluxo principal)

1. O usuário administrador clica no link de configurar de servidores 2. O usuário encontra o servidor que deseja excluir na lista de servidores 3. O usuário clica em excluir e o servidor é retirado da lista

UC008 - Adicionar tipos de logs (Fluxo principal)

1. O usuário administrador clica no link de configurar tipos de logs 2. O usuário preenche o nome e o índice no SOLR

3. O usuário clica em adicionar e o tipos de log é adicionado a lista abaixo

UC008 - Adicionar tipos de logs (Fluxo alternativo)

1. O usuário administrador clica no link de configurar tipos de logs

2. O usuário preenche o nome e o índice no SOLR de um tipo de log que já existe na lista

3. O usuário clica em adicionar e uma mensagem é exibida informando que o tipo de log já existe.

4. O cursor é posicionado no nome para um novo preenchimento dos campos

UC009 - Visualizar tipos de logs (Fluxo principal)

1. O usuário administrador clica no link de configurar tipos de logs 2. O usuário encontra o tipo de log desejado na lista

UC010 - Excluir tipos de logs (Fluxo principal)

1. O usuário administrador clica no link de configurar tipos de logs

2. O usuário encontra o tipo de log que deseja excluir na lista de tipos de logs 3. O usuário clica em excluir e o tipo de log é retirado da lista

UC011 - Gerenciar log

1. Após o usuário administrador efetuar o login será possível o gerenciamento dos logs e servidores

2. É possível adicionar, consultar e excluir servidores 3. É possível adicionar, consultar e excluir tipos de logs

4.2.5 Modelo de domínio

Nesta seção é apresentado o diagrama de modelo de domínio conforme figura 24. Figura 24 - Modelo de domínio

Fonte: Autor, 2016

O modelo de domínio é uma abstração alto nível dos principais conceitos envolvidos no software e como é o relacionamento entre eles. Com relação ao sistema proposto os principais objetos do mundo real identificados são: sistema gerador de log, log, indexador de logs, servidor para armazenar os logs indexados, buscador de logs e o usuário. Este modelo é utilizado para a construção do caso de uso e é o primeiro diagrama do projeto.

4.2.6 Diagrama de robustez

Nesta seção são expostos os diagramas de robustez para os respectivos perfis de usuário de consulta e administrador.

Na figura 25 é representada a operação de login que envolve a tela de login, controles para verificar se o usuário pode ser autenticado e também se o usuário é administrador ou não. Se a autenticação for positiva o fluxo será direcionado para a principal tela do sistema que é a busca de logs.

Figura 25 – Diagrama de robustez: Login

Fonte: Autor, 2016

Já na figura 26, é demonstrada a operação de buscar logs, que envolve a tela de consulta de logs, que recebe as informações de todos os filtros que foram criados e utiliza estes filtros para chamar o controle que solicita os resultados da pesquisa, encapsula estes dados e direciona o fluxo para a tela de resultados da pesquisa.

Figura 26 - Diagrama de robustez: Buscar logs

Fonte: Autor, 2016

A operação definir filtro descrita na figura 27 também envolve a tela de consulta de logs, onde ao carregar a tela são utilizados controles para buscar no arquivo de propriedades do sistema quais são os tipos de logs suportados. Sabendo quais são os tipos de logs o usuário irá selecionar o tipo de log que deseja buscar. A partir disto são utilizados controles para adicionar quantos filtros forem necessários para a pesquisa. Quando a pesquisa for feita, estes filtros definidos serão utilizados.

Figura 27 - Diagrama de robustez: Definir filtro

Fonte: Autor, 2016

A figura 28 apresenta as entidades envolvidas no cadastro de servidor. Primeira temos a tela de cadastro de servidores que utiliza o controle para obter os tipos de logs que existem para serem vinculados a um servidor e também utiliza os controles para cadastrar o respectivo servidor no arquivo de propriedades.

Figura 28 - Diagrama de robustez: Adicionar servidor.

Fonte: Autor, 2016

Já na figura 29 é possível observar que praticamente as mesmas entidades são utilizadas para recuperar todos os servidores contidos no arquivo de propriedades.

Figura 29 - Diagrama de robustez: Visualizar servidores

Fonte: Autor, 2016

Na figura 30 para excluir um servidor é utilizado o controle de servidores para solicitar ao controle do arquivo de propriedades para excluir o registro do arquivo.

Figura 30 - Diagrama de robustez: Excluir servidores

Com o simples objetivo de adicionar tipos de logs, a figura 31 apresenta a tela de tipos de logs utilizada pelo usuário. O controle de tipo de log é o responsável por encapsular o tipo de log adicionado pelo usuário.

Figura 31 - Diagrama de robustez: Adicionar tipos de logs

Fonte: Autor, 2016

Para visualização de todos os tipos de logs praticamente as mesmas entidades são utilizadas para recuperar uma lista do arquivo de propriedades e apresentar para o usuário conforme ilustra a figura 32.

Figura 32 - Diagrama de robustez: Visualizar tipos de logs

Na figura 33 para efetivar a exclusão de um tipo de log o controle de tipos de log encapsula o tipo de log e envia ao controle de propriedades para realizar a exclusão no arquivo de propriedades.

Figura 33 - Diagrama de robustez: Excluir tipos de logs

Fonte: Autor, 2016

O diagrama de robustez é baseado nos casos de uso para a construção, seguindo o ICONIX. Estes diagramas são uma ponte entre os requisitos e o projeto, que é detalhado mais precisamente no diagrama de sequência. (SOUSA, 2011).

4.2.7 Diagrama de sequência

São representadas nesta seção a sequência de mensagens repassadas entre os objetos para realização das operações.

O primeiro diagrama de sequência se trata do login representado na figura 34, onde a tela de login faz uma chamada para o controle solicitando a verificação dos dados de autenticação. A validação de acesso do usuário encapsula um objeto usuário e faz a validação, que deve ser por meio de API para validar o usuário em um domínio de rede.

Figura 34 - Diagrama de sequência: Login

Fonte: Autor, 2016

Já na busca de log contida na figura 35 a tela de consulta solicita ao controle campos filtro quais dados o usuário deseja filtrar e contendo estes dados chama o controle consulta para efetivamente realizar a consulta em forma de API. Os dados da consulta são encapsulados no objeto resultados da consulta que por sua vez é repassado a tela de resultados da consulta para apresentação ao usuário.

Figura 35 - Diagrama de sequência: Buscar logs

Fonte: Autor, 2016

Na figura 36 a seguir é apresentada a definição dos filtros. Quando a tela de consulta é apresentada o controle de tipos de log é acionado para solicitar ao controle dos arquivos de propriedade todos os logs disponíveis. Contendo os tipos de log, uma nova solicitação é feita ao controle de campos do filtro para solicitar ao SOLR e cachear todos os campos correspondentes aos tipos de log disponíveis para pesquisa. Estes dados são repassados a tela e com isso o usuário pode escolher o log que precisa pesquisar e também os campos correspondentes para que o filtro possa ser adicionado. Cada novo filtro adicionado pelo usuário é enviado controle de campos do filtro. Quando uma nova pesquisa for solicitada o controle de campos do filtro poderá informar quais campos foram filtrados.

Figura 36 - Diagrama de sequência: Definir filtro

Fonte: Autor, 2016

Na figura 37 é representada a operação de adicionar servidores. Assim como nas telas anteriores é feita uma consulta pelos tipos de log disponíveis e com essa informação disponível usuário pode adicionar um servidor. Ao informar os dados necessários para cadastro o controle de servidores é acionado para encapsular o novo servidor e enviar ao controle de arquivos de propriedade para cadastro.

Figura 37 - Diagrama de sequência: Adicionar servidores

Fonte: Autor, 2016

A simples operação de exclusão de um servidor é demonstrada na figura 38 onde o usuário clica no servidor que deseja excluir, essa ação faz com que a chave do servidor seja repassada ao controle de servidores que encapsula o objeto a ser excluído e envia para o controle de propriedades para exclusão do arquivo de propriedades.

Figura 38 - Diagrama de sequência: Excluir servidores

Fonte: Autor, 2016

Já a visualização de servidores apresentada na figura 39 a seguir exige apenas uma consulta ao controle de servidores que por sua vez irá solicitar ao controle de arquivos de propriedade uma lista contendo todos os servidores cadastrados.

Figura 39 - Diagrama de sequência: Visualizar servidores

Fonte: Autor, 2016

Para adicionar tipos de logs na figura 40 após o usuário informar os dados necessários a requisição com estes dados é repassada ao controle de tipos de logs que encapsula os dados e solicita o cadastro no arquivo de propriedade.

Figura 40 - Diagrama de sequência: Adicionar tipos de logs

Fonte: Autor, 2016

A visualização de tipos de logs ilustrada na figura 41 acontece quando a tela de tipos de logs é apresentada ao usuário. Isso dispara uma consulta ao controle de tipos de log que recupera uma lista do arquivo de propriedades contendo todos os tipos de log cadastrados.

Figura 41 - Diagrama de sequência: Visualizar tipos de logs

Fonte: Autor, 2016

Para finalizar a exclusão de tipos de logs apresentada na figura 42 acontece quando o usuário seleciona um tipo de log para exclusão. A chave deste tipo de log é repassada ao controle de tipo de log que por sua vez encapsula o objeto e envia ao controle do arquivo de propriedade para exclusão do tipo de log.

Figura 42 - Diagrama de sequência: Excluir tipos de logs

Fonte: Autor, 2016

Na próxima seção são apresentados os diagramas de classes.

4.2.8 Diagrama de Classes

Na figura 43, é apresentado o diagrama de classe que visa explicitar as entidades envolvidas na aplicação.

Figura 43 - Diagrama de classes

Documentos relacionados