Buscar

APS - Ciência da Computação

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 31 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 31 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 31 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

UNIVERSIDADE PAULISTA – UNIP 
 
GABRIEL NAVA RODRIGUES 
MARCOS ANTÔNIO MARQUES DA SILVA 
RAQUEL MAGALHÃES DE ARAÚJO 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
BRASÍLIA 
2020 
ATIVIDADES PRÁTICAS SUPERVISIONADAS: 
Desenvolvimento do escopo de um produto de software. 
 
 
GABRIEL NAVA RODRIGUES 
MARCOS ANTÔNIO MARQUES DA SILVA 
RAQUEL MAGALHÃES DE ARAÚJO 
 
 
 
 
 
 
 
ATIVIDADES PRÁTICAS SUPERVISIONADAS: 
Desenvolvimento do escopo de um produto de software. 
 
Projeto de Atividade Práticas Supervisionada para 
conclusão 7º/8º semestre da graduação do curso de 
Ciência da Computação. Apresentado à 
Universidade Paulista – UNIP, campus Brasília. 
Orientador: Prof. Me. Ricardo Rodrigues Loiola. 
 
 
 
 
 
 
 
BRASÍLIA 
2020 
 
 
 
GABRIEL NAVA RODRIGUES 
MARCOS ANTÔNIO MARQUES DA SILVA 
RAQUEL MAGALHÃES DE ARAÚJO 
 
 
ATIVIDADES PRÁTICAS SUPERVISIONADAS: Desenvolvimento do escopo de 
um projeto de um produto de software 
Projeto de Atividade Práticas Supervisionada para 
conclusão 7º/8º semestre da graduação do curso de 
Ciência da Computação. Apresentado à 
Universidade Paulista – UNIP, campus Brasília. 
Orientador: Prof.ª Me. Ricardo Rodrigues Loiola. 
 
Aprovado em: 
 
BANCA EXAMINADORA 
 __________________________/___/____ 
Prof. Nome do Professor 
Universidade Paulista – UNIP 
__________________________/___/____ 
Prof. Nome do Professor 
Universidade Paulista – UNIP 
__________________________/___/____ 
Prof. Nome do Professor 
Universidade Paulista – UNIP 
 
 
 
RESUMO 
 
Os avanços tecnológicos trouxeram várias mudanças na área da tecnologia da informação. O 
surgimento de novas tecnologias possibilitou o armazenamento de um grande volume de 
dados. Em função dessa quantidade, torna-se necessário o desenvolvimento de meios para 
filtrar, extrair dados e informações relevantes. Diante deste contexto, este trabalho tem como 
objetivo utilizar conceitos de Extração de Dados e Web Scraping para desenvolver uma 
aplicação de monitoramento de processos jurídicos, que dispara notificações a partir de 
mudanças e atualizações de um ambiente web. 
 
Palavras-chave: Extração de Dados, Web Scraping, Monitoramento de Processos 
Jurídicos. 
 
 
 
ABSTRACT 
Technological advances have brought great changes in the area of information technology. 
The emergence of new technologies allows the storage of a large volume of data. Due to this 
amount, it is necessary to develop means to filter, extract relevant data and information. Given 
this context, this work aims to use the concepts of Data Extraction and Web Scraping to 
develop an application for monitoring legal processes, which triggers updates from changes 
and updates to a Web environment. 
 
Keywords: Data Extraction, Web Scraping, Monitoring Legal Processes 
 
 
 
LISTA DE ILUSTRAÇÕES 
 
Figura 1 – Exemplo de Diagrama de Caso de Uso Pag 15 
Figura 2 – Exemplo de Descrição de Caso de Uso Pag 16 
Figura 3 – Exemplo de Dicionário de Dados Pag 16 
Figura 4 – Exemplo de Diagrama de Classes Pag 17 
Figura 5 – Diagrama de caso de uso de Negócio Pag 20 
Figura 6 – Diagrama de caso de uso do sistema Pag 21 
Figura 7 – Diagrama de classes do sistema Pag 25 
Figura 8 – Protótipo da arquitetura do sistema Pag 26 
Figura 9 – Protótipo do sistema – Tela 1 Pag 27 
Figura 10 – Protótipo do sistema – Tela 2 Pag 28 
Figura 10 – Protótipo do sistema – Tela 3 Pag 29 
 
 
 
 
LISTA DE TABELAS 
 
Tabela 1 – Requisitos funcionais Pag 18 
Tabela 2 – Requisitos não-funcionais Pag 19 
Tabela 3 – Caso de Uso – Consultar Processo Pag 22 
Tabela 4 – Caso de Uso – Informar número de processo Pag 22 
Tabela 5 – Caso de Uso – Monitorar movimentação de processo Pag 23 
Tabela 6 – Caso de Uso – Notificar Usuário Pag 23 
Tabela 7 – Caso de Uso – Extrair informações dos processos Pag 24 
Tabela 8 – Caso de Uso – Emitir log de monitoramento de processos Pag 24 
Tabela 9 – Descrição de Caso de Uso – Glossário de Mensagens Pag 25 
Tabela 10 – Glossário de Termos Pag 26 
 
 
LISTA DE ABREVIATURAS E SIGLAS 
 
API - Application Programming Interface 
AWS - Amazon Web Service 
SQL - Structured Query Language 
TCC - Trabalho de Conclusão de Curso 
TI - Tecnologia da Informação 
TRF1 - Tribunal Regional Federal da 1ª Região 
 
 
 
SUMÁRIO 
1 INTRODUÇÃO 10 
1.1 Contextualização do Problema 10 
1.2 Caracterização da Empresa 11 
1.3 Objetivos Geral 11 
1.4 Objetivos Específico 11 
1.5 Justificativa 11 
2 EMBASAMENTO TEÓRICO 13 
2.1 Engenharia de Requisitos 13 
2.2 Requisitos de Software 14 
2.2.1 Requisitos de Funcionais 14 
2.2.2 Requisitos não funcionais 14 
2.3 UML 15 
2.3.1 Diagramas da UML 15 
2.4 Prototipação 17 
3 ENGENHARIA DE REQUISITOS 18 
3.1 Elicitação de Requisitos 18 
3.2 Documento de Requisitos 18 
3.2.1 Requisitos de Funcionais 18 
3.2.2 Requisitos não funcionais 19 
3.3 Modelagem do Sistema 19 
3.3.1 Caso de Uso de Negócio 20 
3.3.2 Caso de Uso de Software 20 
3.3.3 Especificação de Caso de Uso 21 
3.3.4 Diagrama de Classes 25 
3.4 Glossários 25 
3.4.1 Glossário de Mensagens 25 
3.4.2 Glossário de Termos 26 
3.5 Protótipos 26 
4 CONSIDERAÇÕES FINAIS 30 
REFERÊNCIAS BIBLIOGRÁFICAS 31 
 
 
 
10 
 
1 INTRODUÇÃO 
Com o surgimento de novas tecnologias como a computação em nuvem, Internet 
das Coisas, e as redes sociais, criou-se uma demanda para o armazenamento de uma 
quantidade enorme de dados que continua a crescer em uma velocidade sem 
precedentes (GOLDSCHMIDT e PASSOS, 2005). Devido a essa imensa quantidade 
de dados e informações disponíveis, torna-se cada vez mais necessário o 
desenvolvimento de meios para filtrar, coletar e extrair dados e informações. Wurman 
(2005, p. 10) afirma que “hoje, estamos mais preocupados em filtrar o que chega. 
Parece que desejamos menos informação, que nos concentramos mais em diminuir 
seu volume do que em descobrir maneiras de obter mais informações”. 
1.1 Contextualização do Problema 
Para os escritórios que exercem atividade da advocacia contenciosa no âmbito 
judicial ou administrativo é essencial o acompanhamento de toda e qualquer 
movimentação de processos, uma vez que há prazos para respostas e 
encaminhamentos a serem rigorosamente observados pelos advogados. Qualquer 
omissão no cumprimento de prazo poderá resultar no comprometimento integral da 
demanda. Portanto, é importante o desenvolvimento de um software de 
monitoramento que possa emitir alertas ao advogado em tempo real. 
Essa movimentação poderá ser capturada do sistema de cada tribunal a partir do 
número do processo, nome do advogado e número de sua OAB. A comunicação 
atualmente está centrada na utilização de e-mails que é bastante utilizado em 
ambientes corporativos para troca de informações e atividades realizadas. 
Porém, com o uso constante desses meios para a comunicação, é possível que 
informações importantes possam ser recebidas sem que o advogado perceba, 
consequência de um alto número de mensagens que são transmitidas pelos mesmos. 
Pensando na melhor maneira de organizar essas informações, centrá-las em um 
software cujo objetivo é somente armazenar e notificar os usuários sobre os processos 
judiciais constitui uma forma eficaz no serviço, já que os processos estarão mais 
acessíveis e de forma mais rápida. 
11 
 
1.2 Caracterização da Empresa 
 Este trabalho tem como base o escritório de advocacia AdvoBrasil, nome 
fictício. O escritório está localizado em Brasília. Sua atuação está relacionada a 
prestação de atendimento e consultoria aos clientes em setor criminal, trabalhista, 
civil, previdenciário, entre outros. 
1.3 Objetivo Geral 
Este trabalho tem como objetivo propor o desenvolvimento de um sistema de 
Web Scraping para realizar o monitoramento de processos jurídicos disponibilizadosnos sites dos tribunais do distrito federal e notificar mudanças dos respectivos 
processos por meio de Chatterbot ao usuário do escritório. 
1.4 Objetivo Específicos 
Para atender o objetivo geral, foram encontrados os seguintes objetivos 
específicos: 
• Levantar os requisitos do sistema; 
• Modelar os requisitos do sistema; 
• Pesquisar em fontes formais de informações os conceitos de Web 
Scraping e Chatterbot; 
• Apontar quais tecnologias serão utilizadas; 
• Propor solução para o monitoramento dos processos jurídicos. 
1.5 Justificativa 
A motivação inicial deste trabalho partiu do aprofundamento no uso de 
chatterbots a partir da pesquisa de iniciação científica do autor Gabriel Nava 
Rodrigues com o título de “Estudo sobre o uso de interações automatizadas nas redes 
sociais” que foi financiada pela Vice-Reitoria de Pós-Graduação e Pesquisa da UNIP. 
Após a pesquisa e varredura na bibliografia sobre o tema, os autores chegaram ao 
tema Web Scrapping e decidiram complementa-lo com o tema inicial sobre o uso de 
chatterbot, porque observou-se que há um hiato acadêmico a respeito do tema Web 
Scrapping. 
12 
 
O Web Scrapping é um assunto importante pois pode, por meio de sua 
utilização, complementar e contribuir com diversas áreas da TI. Sua principal 
característica é que a partir de diversas fontes não-estruturadas, é possível realizar a 
extração de dados e informações que serão armazenados em estruturas confiáveis 
para que possam ser utilizados e apresentados de maneira mais eficiente. 
A fusão de ambos os temas e o hiato a respeito do assunto de Web Scrapping motivou 
os autores que se interessaram e esperam que o desenvolvimento deste trabalho 
possa difundir o tema e colaborar para o incentivo de mais pesquisas e contribuições 
na área. 
13 
 
2 EMBASAMENTO TEÓRICO 
Neste capítulo, será abordado o conhecimento e os conceitos que foram utilizados 
como base para o desenvolvimento deste trabalho. 
2.1 Engenharia de Requisitos 
A Engenharia de Requisitos é uma subárea da Engenharia de Software. 
Sommerville(2011) afirma que “a Engenharia de Requisitos é o processo de 
desenvolvimento de uma especificação de Software”. Seu objetivo é oferecer métodos 
e ferramentas adequadas para entender, analisar, especificar e validar as 
necessidades do cliente. 
A engenharia de requisitos fornece um mecanismo apropriado 
para entender o que cliente deseja, analisar as necessidades do 
cliente, avaliando a viabilidade, negociando uma solução razoável, 
especificando uma solução sem ambiguidades, validade a 
especificação e gerenciando as necessidades à medida que são 
transformadas em um sistema operacional. (PRESSMAN, 2011, p. 
127). 
As etapas da Engenharia de Requisitos, de acordo com Pressman (2011), são: 
a) Elicitação de requisitos: Identificar as necessidades do cliente que precisam 
ser atendidas pelo software. 
b) Análise e negociação de requisitos: Categorizar e organizar os requisitos 
em subconjuntos relacionados; examiná-los em relação à consistência, 
omissões e ambiguidade; ordená-los de acordo com as necessidades do 
cliente. 
c) Modelagem do Sistema: Desenvolver modelos abstratos a partir de 
perspectivas diferentes do sistema. Os modelos são utilizadas a fim de 
extrair requisitos durantes o processo de projeto. 
d) Validação de requisitos: Garantir a qualidade. Validar se os requisitos da 
especificação foram escritos de maneira não-ambígua, se as 
inconsistências, omissões e erros foram detectados e corrigidos. 
e) Gestão de requisitos: Identificar, controlar e rastrear requisitos e 
modificações de requisitos â medida em que o projeto é desenvolvido. 
 
14 
 
2.2 Requisitos de Software 
 Os requisitos descrevem as características de um sistema como um todo. 
Requisitos de um software refletem as necessidades do stakeholder e descrevem o 
que o sistema deve fazer para atendê-los, quais serviços oferecer e quais restrições 
precisa atender em seu funcionamento (Sommerville, 2011). 
2.2.1 Requisitos funcionais 
 Os requisitos funcionais descrevem o que o sistema deve fazer, como lidar com 
as entradas recebidas, como se comportar em determinadas situações (Sommerville, 
2011). Exemplos de requisitos funcionais: 
a) “O software deve emitir relatórios a cada quinze dias sobre os documentos 
armazenados.” 
b) “Os usuários devem ser capazes de realizar consultas sobre as 
mercadorias disponíveis.” 
c) “O sistema deve efetuar login do usuário na rede local.” 
2.2.2 Requisitos não funcionais 
 Não estão relacionados diretamente aos serviços oferecidos pelo sistema. 
Estão relacionados à outros aspectos do sistema como desempenho, confiabilidade, 
robustez, portabilidade etc. Os requisitos não funcionais são mais críticos do que os 
requisitos funcionais. Não atender corretamente um requisito não-funcional pode levar 
à inutilização de uma parte, senão total, do sistema (Sommerville, 2011). Os requisitos 
não funcionais podem ser classificados, de acordo com Sommerville(2011) em: 
a) Requisitos de produto: Relacionados ao tempo de resposta de uma função, 
à quantidade de memória necessária para a operação do sistema, à taxa 
de erro aceitável para o funcionamento do sistema etc. Exemplo: “O 
sistema deve efetuar determinada operação em até 3 segundos”. 
b) Requisitos organizacionais: Derivam das regras e políticas estabelecidas 
na organização do cliente. Exemplo: “Os relatórios do sistema devem 
seguir o padrão estabelecido pelo setor ABC”. 
c) Requisitos externos: Derivam de fatores externos ao sistema. São 
necessários para que o sistema seja aprovado por algum regulador, para 
garantir que o sistema funcione dentro da legalidade, sem infringir alguma 
15 
 
lei. Exemplo: “Para estar de acordo com a Legislação da Privacidade, o 
sistema não poderá revelar os dados pessoais do cliente, exceto nome, aos 
operadores. 
2.3 UML 
 Hoje existe uma notação universal para representação de sistemas orientados 
a objetos: a UML (Unified Modeling Language). A UML é uma linguagem visual para 
especificar, construir e documentar os artefatos dos sistemas (OMG, 2003 apud 
Larman). A modelagem gráfica é uma ferramenta utilizada para aumentar a clareza 
da representação e documentação do software. Seu objetivo é a construção de 
modelos abstratos para representar diferentes perspectivas do sistema. 
2.3.1 Diagramas da UML 
 O diagrama de casos de uso busca representar o comportamento externo do 
sistema. Casos de uso podem representar serviços e funcionalidades. São utilizados 
para documentar comportamentos pretendidos pelo sistema (Guedes, 2014). Os 
casos de uso identificam os atores envolvidos e descrevem sua interação com o 
sistema (Sommerville, 2011). 
Figura 1 - Exemplo de Diagrama de Caso de Uso 
 
Fonte: autor 
Outros dois itens relacionados ao diagrama de casos de uso são: 
a. Descrição de Caso de Uso: Descreve os comportamentos 
encontrados em cada caso de uso. 
 
16 
 
Figura 2 - Exemplo de Descrição de Caso de Uso 
Fonte: autor 
b. Dicionário de Dados: Descreve o fluxo de dados encontrados na 
descrição de caso de uso. 
Figura 3 - Exemplo de Dicionário de Dados 
 
Fonte: autor 
17 
 
O diagrama de classes permite a visualização das classes que compõem o sistema 
e de seus respectivos atributos, métodos e relacionamentos (Guedes, 2018). 
Figura 4 - Exemplo de Diagrama de Classes 
 
Fonte: autor 
2.4 Prototipação 
 A prototipação tem como objetivo criar uma versão inicial do software. Essa 
versão inicial busca demonstrar conceitos, experimentar opções de projeto, analisar 
problemas e suas possíveis soluções, verificar e validar a viabilidade da proposta. O 
desenvolvimento de um protótipo permite aos stakeholders experimentar o software 
durante o início do processo de software. (Sommerville, 2011). 
 
18 
 
 
3 ENGENHARIA DE REQUISITOS 
 Neste capítulo serão apresentadas a documentação e a modelagem do 
sistema. 
3.1 Elicitaçãode Requisitos 
 Os requisitos do sistema foram levantados a partir de entrevistas, questionários 
e brainstorms entre o grupo e os stakeholders. Com isso, foi definida a seguinte 
proposta de solução para o sistema: a extração de dados dos processos, será 
realizada a partir do desenvolvimento de um Web Scraper em Python que, 
diariamente, fará o acesso aos sites dos Tribunais de Justiça do distrito federal. O 
Web Scraper realizará a extração de informações sobre a movimentação dos 
processos que serão armazenadas em um banco de dados relacional SQL em nuvem, 
o AWS. Será criada uma API Rest que é responsável pela comunicação entre a base 
dados e o chatterbot. A ferramenta de interface com usuário será um chatterbot será 
desenvolvido utilizando o Facebook Mensagger. O usuário será capaz de receber 
notificações relacionadas a movimentação dos processos e realizar consultas. 
 
3.2 Documento de Requisitos 
 Na documentação de requisitos serão apresentados os requisitos obtidos a 
partir das informações e dados coletados durante pesquisas, consultas, entrevistas e 
brainstorms. 
3.2.1 Requisitos Funcionais 
Foram definidos os seguintes requisitos funcionais: 
Tabela 1 – Requisitos funcionais 
Requisito Descrição 
RF01 O usuário deve ser capaz de consultar processos. Para isso, ele deve 
informar o número do processo que deseja consultar. 
RF02 O sistema deve capaz de monitorar a movimentação dos processos 
disponibilizados pelos tribunais. 
RF03 O sistema deve extrair informações dos processos disponibilizados pelos 
tribunais de justiça. 
19 
 
RF04 O sistema deve notificar o usuário sobre atualizações na movimentação 
dos processos. 
RF05 O sistema deve emitir log de monitoramento de processo ao 
Administrador. 
 
3.2.2 Requisitos Não Funcionais 
Foram definidos os seguintes requisitos não-funcionais: 
Tabela 2 – Requisitos não-funcionais 
Requisito Descrição 
RNF01 Será utilizado um Web Scraper para a extração de informações dos 
processos disponibilizados pelos tribunais de justiça. 
RNF02 O Web Scrapper será desenvolvido utilizando a linguagem de programação 
Python. 
RNF03 O navegador utilizado para o Web Scrapper será o Google Chrome. 
RNF04 O script do Web Scrapper precisa ser executado ao menos uma vez ao dia 
em um computador dedicado que tenha acesso à internet. 
RNF05 O script do Web Scrapper precisa ser agendado para executar diariamente. 
RNF06 A extração dos dados será realizada a partir dos processos disponibilizados 
no site do TRF1. 
RNF07 Será utilizado o Facebook Mensagger para a criação do Chatterbot. 
RNF08 O sistema notificará o usuário das mudanças na movimentação dos 
processos por meio de um ChatterBot. 
RNF09 O usuário deve ser notificado no mesmo dia em que houver a atualização 
na movimentação do processo. 
RNF10 Os dados serão armazenados em um banco de dados relacionado na 
nuvem, o Amazon Web Service. 
 
3.3 Modelagem do Sistema 
A seguir serão apresentados os diagramas de caso de uso e diagrama de 
classe do sistema. 
 
20 
 
3.3.1 Caso de Uso de Negócio 
A seguir serão apresentados os diagramas de caso de uso e diagrama de 
classe do sistema 
Figura 5 – Diagrama de Caso de Uso de Negócio 
 
Fonte: Autores (2020) 
 
3.3.2 Caso de Uso de Software 
A partir dos requisitos encontrados e especificados, foi modelado o diagrama 
de caso de uso seguinte: 
21 
 
Figura 6 – Diagrama de caso de uso do sistema 
 
Fonte: Autores (2020) 
 
3.3.3 Especificação de Caso de Uso 
Em seguida, serão apresentadas as especificações dos casos de uso do 
Diagrama de Caso de Uso apresentado na figura 1. 
 
22 
 
Tabela 3 – Caso de Uso – Consultar Processo 
 
Fonte: Dados da Pesquisa (2020) 
 
Tabela 4 – Caso de Uso – Informar número de processo 
Caso de Uso: Consultar Processo 
Ator Usuário 
Descrição Realiza as consultas dos processos em 
monitoramento. 
Pré-condição Ter uma conta do Facebook 
USUÁRIO SISTEMA 
1 - Usuário solicita consulta de processo 
 2 - O sistema abre a interface de 
consulta. 
3 - Usuário informa número do processo 
 4 - Verifica se número de processo é 
válido. Se número de processo for válido 
então o sistema mostra o resultado. 
Senão o sistema emite mensagem de 
erro (MSG01). 
5 - Se mensagem de erro usuário 
informa novamente o número do 
processo 
 
 6 - Sistema valida dados informados, 
mostra os resultados da consulta e caso 
de uso termina. 
Caso de Uso: Informar número de Processo 
Ator Cliente 
Descrição Cadastra número de processos 
informados pelo Cliente para 
monitoramento. 
Pré-condição 
USUÁRIO SISTEMA 
1 – Cliente informa número de processo 
 2 - Verifica se processo existe e se já 
está monitoramento. 
 
3 - Se processo não existir então exibir 
mensagem de erro (MSG01). 
 
4 - Se processo existir e já estiver em 
monitoramento então exibir mensagem 
de erro (MSG02). 
 
 
5 - Se processo existir e não estiver em 
monitoramento então cadastrar número 
processo para monitoramento. Sistema 
23 
 
 
Fonte: Dados da Pesquisa (2020) 
 
Tabela 5 – Caso de Uso – Monitorar movimentação de processo 
 
Fonte: Dados da Pesquisa (2020) 
 
Tabela 6 – Caso de Uso – Notificar Usuário 
Fonte: Dados da Pesquisa (2020) 
retorna resultado ao cliente e caso de 
uso termina. 
Extensão: Consultar processo 
Caso de Uso: Monitorar movimentação de processo 
Ator Sistema 
Descrição Consulta informações de processos 
disponibilizados no site do Tribunal 
Regional Federal da 1ª Região (TRF1). 
Realiza alterações nos processos em 
monitoramento de acordo com as 
informações obtidas. 
Pré-condição Rotina diária 
SISTEMA 
1 - Acessa o site do TRF1 e realiza consulta de processo através do número do 
processo em monitoramento. 
 
2 - Se processo encontrado, verificar movimentação do processo. 
 
3 - Se houver diferença na movimentação ou nos dados do processo do site em 
relação aos processos em monitoramento, o sistema deve EXTRAIR 
INFORMAÇÕES DO PROCESSO e NOTIFICAR USUÁRIO. 
 
4 - Se não houver alteração na movimentação, emitir notificação ao Administrador. 
Caso de uso termina. 
Inclusão: Notificar Usuário 
Extensão: Extrair informações do Processo 
Caso de Uso: Notificar Usuário 
Ator Sistema 
Descrição Notifica o usuário sobre mudanças e 
atualizações na movimentação dos 
processos em monitoramento. 
Pré-condição Alteração na movimentação dos 
processos. 
SISTEMA 
Emitir mensagem de notificação ao usuário (MSG03) aos usuários que estão 
acompanhando o processo. Caso de uso termina. 
24 
 
Tabela 7 – Caso de Uso – Extrair informações dos processos 
Fonte: Dados da Pesquisa (2020) 
 
 
 
 
Tabela 8 – Caso de Uso – Emitir log de Monitoramento de Processos 
Fonte: Dados da Pesquisa (2020) 
 
Caso de Uso: Extrair informações dos processos 
Ator Sistema 
Descrição Extrair dados dos processos do TRF1 
para atualizar informações dos 
processos em monitoramento. 
Pré-condição Houver diferença na movimentação ou 
nos dados do processo do site em 
relação aos processos em 
monitoramento 
SISTEMA 
Se dado do processo em monitoramento estiver desatualizado então extrair dado 
atualizado do processo disponibilizado no site do TRF1 e atualizar dado do 
processo em monitoramento. 
Caso de Uso: Emitir log de Monitoramento de Processos 
Ator Sistema, Administrador 
Descrição Emite os relatórios de registros do 
sistema ao administrador. 
Pré-condição Agenda de horário pré-definida 
SISTEMA 
1 - O sistema analisa a extração de dados. Caso extração de dados tenha êxito 
então o sistema emite mensagem MSG04 ao Administrador. 
 
2 – Se não houver na extração de dados então o sistema emite mensagem MSG05 
ao Administrador. Caso de uso termina. 
25 
 
3.3.4 Diagrama de Classes 
Em seguida, será apresentado o Diagrama de Classes do Sistema. 
 
Figura 7 – Diagrama de classes do sistema 
 
Fonte: Autores (2020) 
 
3.4 Glossários 
Neste item será apresentado o glossário para auxiliar a compreensão e 
entendimento da modelagemdo sistema. 
3.4.1 Glossário de Mensagens 
 Glossário de mensagens dos casos de uso apresentados nos itens anteriores. 
Tabela 9 – Descrição de Caso de Uso – Glossário de Mensagens 
Glossário de Mensagens 
Código da Mensagem Descrição Caso de Uso 
MSG01 Número de processo inválido. Consultar Processos, 
Informar número de 
processos 
MSG02 O processo informado já está 
em monitoramento. 
Informar número de 
processo 
MSG03 Houve atualização no 
processo <número do 
processo>. 
Notificar Usuário 
MSG04 Extração de dados realizada 
com sucesso. 
Emitir log de 
Monitoramento de 
Processos 
26 
 
Fonte: Dados da Pesquisa (2020) 
3.4.2 Glossário de Termos 
 Glossário de termos referente a modelagem do sistema. 
Tabela 10 – Glossário de Termos 
Fonte: Autores (2020) 
3.5 Protótipos 
 Para facilitar a compreensão e visualização do sistema proposto, foram criados 
os seguintes protótipos que demonstram como será o seu funcionamento: 
Figura 8 – Arquitetura do sistema proposto 
 
Fonte: Autores (2020) 
MSG05 A extração não foi concluída. Emitir log de 
Monitoramento de 
Processos 
Glossário de Termos 
Termo Descrição 
API Application Programming Interface – 
Interface que tem como objetivo oferecer 
interatividade ao usuário. 
AWS Amazon Web Service – Serviço web 
utilizado para o armazenamento de 
dados do sistema em um banco de 
dados na nuvem. 
Chatterbot programas computacionais que buscam 
emular um diálogo com outra pessoa 
Python Linguagem de programação orientada a 
objetos de alto nível utilizada para 
implementar o Web Scrapper. 
Web Scrapper Programa que coleta dados específicos 
de uma página web. 
27 
 
Figura 9 – Protótipo do sistema – Tela 1 
 
Fonte: Autores (2020) 
 
 
28 
 
Figura 10 – Protótipo do sistema – Tela 2 
 
Fonte: Autores (2020) 
 
29 
 
Figura 11 – Protótipo do sistema – Tela 3 
 
Fonte: Autores (2020) 
 
30 
 
4 CONSIDERAÇÕES FINAIS 
Para que a proposta de solução se torne viável, será necessário um 
computador dedicado a executar o script do Web Scraper todos os dias utilizando 
um agendador de tarefas. O desenvolvimento deste TCC está sendo realizado de 
forma não presencial. Apesar das dificuldades da universidade em ministrar o 
conteúdo das aulas devido a pandemia do CODVID-19, o grupo seguiu com 
desenvolvimento deste trabalho e espera que no seguinte semestre, se torne 
possível finalizar o seu desenvolvimento e realize sua entrega. 
31 
 
 
BIBLIOGRAFIA 
 
ABDUL-KADER, S. A; WOODS, J. Survey on Chatbot Design Techniques in 
Speech Conversation Systems. International Journal of Advanced Computer 
Science and Applications (IJACSA), Volume 6, 2015 
 
CAFÉ, L. M; COMARELLA, R. L. Chatterbot: conceito, características, tipologia e 
construção. Informação & Sociedade, Volume 18 (2), 2008. 
 
GOLDSCHMIDT, R.; PASSOS, E. Data Mining: um guia prático. Rio de Janeiro: 
Campus, 2005. 
 
HARA, C. S; LÓSCIO, B. F; MARTINS, V. Tópicos em Gerenciamento de Dados e 
Informações. 1. ed. Porto Alegre: Editora Sociedade Brasileira de Computação, 
2014. 
 
MUNZERT, S. et al. Automated Data Collection with R: A Pratical Guide to Web 
Scraping and Text Mining. Nova Jersey: John Wiley & Sons 2015. 
 
PRESSMAN, Roger. Engenharia de Software Uma Abordagem Profissional. 
McGraw Hill, 2011. 
 
SOMMERVILLE, Ian. Engenharia de Software. Pearson, 2011; 
 
WURMAN, R. S. Ansiedade de Informação 2: Um Guia Para Quem Comunica e 
Dá Instruções. São Paulo: Editora de Cultura, 2005.

Outros materiais