Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

UNIVERSIDADE FEDERAL FLUMINENSE
DAYANNEMARTINS PIMENTA
DIEGO JUNIORHERMES
RSPAPER V O.4.0 REFATORAÇÃO UTILIZANDOMVC E PROPOSTA DE TESTE DE REGRESSÃO
FUNCIONAL
NITERÓI
2023
DAYANNE MARTINS PIMENTA
DIEGO JUNIOR HERMES
RSPAPER V O.4.0 REFATORAÇÃO UTILIZANDO MVC E PROPOSTA DE TESTE DE
REGRESSÃO FUNCIONAL
Trabalho de Conclusão de Curso submetido
ao Curso de Tecnologia em Sistemas de
Computação da Universidade Federal
Fluminense como requisito parcial para
obtenção do título de Tecnólogo em
Sistemas de Computação.
Orientador: ALTOBELLI DE BRITO MANTUAN
NITERÓI
2023
DAYANNE MARTINS PIMENTA
DIEGO JUNIOR HERMES
RSPAPER V O.4.0 REFATORAÇÃO UTILIZANDO MVC E PROPOSTA DE TESTE DE
REGRESSÃO FUNCIONAL
Trabalho de Conclusão de Curso submetido
ao Curso de Tecnologia em Sistemas de
Computação da Universidade Federal
Fluminense como requisito parcial para
obtenção do título de Tecnólogo em
Sistemas de Computação.
Este trabalho foi defendido e aprovado pela banca em 14/12/2023.
BANCA EXAMINADORA
Prof. Dr. Altobelli de Brito Mantuan – Orientador
UFF - Universidade Federal Fluminense
Prof.ª Dr.ª Helga Dolorico Balbi – Avaliadora
CEFET/RJ – Centro Federal de Educação Tecnológica Celso Suckow da
Fonseca
AGRADECIMENTOS
Agradeço primeiramente ao meu estimado orientador Prof. Dr. Altobelli de Brito
Mantuan, pela orientação dedicadae sabedoria compartilhadaao longodeste trabalho. Sua
paciência, insights valiosos e incentivo foram fundamentais para o desenvolvimento deste
TCC. À minha dedicada dupla de trabalho, Diego Junior Hermes, expresso minha sincera
gratidão. Nossa colaboração foi inspiradora e enriquecedora, e o sucesso deste projeto é,
em grande parte, resultado do trabalho conjunto, troca de ideias e esforço conjunto. Não
posso deixar de mencionar minha família, que sempre esteve ao meu lado, oferecendo
apoio incondicional, compreensão e encorajamento. Aos amigos que estiveram presentes,
oferecendo palavras de estímulo, compartilhando experiências e contribuindo para um
ambiente propício ao aprendizado, meu mais sincero agradecimento. Por fim, agradeço
a todos que, de alguma forma, contribuíram para a realização deste trabalho, direta ou
indiretamente. Este TCC não seria possível sem o apoio generoso e a colaboração de cada
um de vocês.
Dayanne Martins Pimenta.
AGRADECIMENTOS
Primeiramente aDeus por termedado saúde e guiadomeus passos para superar as
dificuldades desta caminhada. A todos meus familiares, que sempre me motivaram a lutar
pelosmeusobjetivos,muitopacientesemedandoapoiomoralparaodesenvolvimentodeste
e de outros trabalhos da universidade. Agradeço a meu Orientador, à Prof. Dr. Altobelli de
BritoMantuan, por gentilmente terme ajudado eme guiado no decorrer deste trabalho, pelo
suporte no pouco tempo que lhe coube, pelas reuniões semanais, correções e incentivos.
A esta universidade, seu corpo docente, direção e administração. Meus agradecimentos,
a minha colega e amiga Dayanne Martins Pimenta, pela oportunidade de compartilhar o
desenvolvimento desta monografia, e aos demais amigos e companheiros de trabalhos e
irmãos na amizade que fizeram parte da minha formação e que vão continuar presentes
em minha vida com certeza. A todos que direta ou indiretamente fizeram parte da minha
formação, o meu muito obrigado.
Diego Junior Hermes.
“É muito melhor lançar-se em busca de conquis-
tas grandiosas, mesmoexpondo-se ao fracasso,
do que alinhar-se com os pobres de espírito, que
nem gozam muito, nem sofrem muito, porque
vivem numa penumbra cinzenta, onde não co-
nhecem nem vitória, nem derrota.” (Theodore
Roosevelt)
RESUMO
Este trabalho apresenta avanços na otimização do softwareRSPapers, um software
de recomendações para artigos científicos, que no decorrer das versões desenvolvidas,
foi sendo aprimorado com algoritmo de recomendação no intuito de facilitar a revisão
bibliográfica, permitindo a ordenação de artigos conforme as preferências do usuário. A
interface que foi aprimorada na versão 0.3.0 do RsPaperQt6, teve a sua base guiada por
princípiosdedesigne técnicasde interaçãohumano-computador (IHC), o queproporcionou
umaexperiênciamais intuitiva emoderna, validada por testes especializados. Poremcomo
aumento das features houve a necessidade da reestruturação do código criando modulo
controller seguindo as diretivas domodel view control (MVC), e a opção de salvamento do
estadodapesquisapara futurasediçoes.Alémdisso, este trabalho implementaa integração
entre a interface gráfica do LabTif e códigos Python, visando uma comunicação mais
eficiente com servidores. O projeto destaca-se também, pela integração com outras bases
de dados como Scopus e Pubmed, além de aprimoramentos na arquitetura, alinhados à
aplicação de princípios de IHC para criar interfaces intuitivas e acessíveis. Esse trabalho
também destaca a realização de testes de regressão, que obtiveram êxito em seus
resultados garantindo a integridade do software após consideráveis mudanças em suas
estrutura, visando a eficiência e uma boa experiência do usuário.
Palavras-chave: IHC, RSPapers, Python, PyQt6, Teste de Regressão.
LISTA DE ILUSTRAÇÕES
Figura 1 – Diagrama de Classes do RSPaper v 0.3.0.............................................................25
Figura 2 – Diagrama de Classesv 0.4.0....................................................................................26
Figura 3 – Esquema de Teste de caixa preta............................................................................28
Figura 4 – Tela principal.................................................................................................................32
Figura 5 – Janela de pesquisade arquivo................................................................................. 32
Figura 6 – Pasta de resultados.....................................................................................................33
Figura 7 – Tela de resultado Pubmed.........................................................................................33
Figura 8 – Tela de resultado Scopus...........................................................................................34
Figura 9 – Teste 2: Salvamentode Resultados........................................................................ 35
Figura 10 – Tela principal.................................................................................................................37
Figura 11 – Janela de seleçãode arquivo................................................................................... 37
Figura 12 – Tela excluindo um artigoda pesquisa.....................................................................38
Figura 13 – Pop up de confirmação de descarte de artigo...................................................... 38
Figura 14 – Tela exibindo alteração no campo de artigos descartados................................ 39
Figura 15 – Tela de salvamento dapesquisa atual....................................................................39
Figura 16 – Tela exibindo que a pesquisafoi salva....................................................................40
Figura 17 – Tela principal exibindo o campo de artigos descartados.................................... 40
Figura 18 – Tela dos artigos descartados.................................................................................... 41
Figura 19 – Tela inicial sem artigos............................................................................................... 42
Figura 20 – Tela de novo projeto....................................................................................................42
Figura 21 – Tela de novo projeto pesquisando artigos sobre covid........................................43
Figura 22 – Tela inicial com a barrade progresso......................................................................43
Figura 23 – Tela Novo projeto.........................................................................................................44
Figura 24 – Telapesquisa avançada.............................................................................................45Figura 25 – Tela de novo projeto com a inserção das regras da palavras-chaves..............45
Figura 26 – Tela Principal.................................................................................................................46
Figura 27 – Tela com resultados depesquisas anteriores....................................................... 47
Figura 28 – Tela com o cursor sobre o botão “Like” do artigo................................................. 47
Figura 29 – Tela com a solicitação de confirmação para mover artigo selecionado
para a aba artigosde interesse................................................................................48
Figura 30 – Tela com o cursor sobre o botão de artigos de interesse...................................48
Figura 31 – Tela da aba artigos de interesse.............................................................................. 49
Figura 32 – Tela principal.................................................................................................................50
Figura 33 – Tela com seleção de projeto salvo na pasta de resultados................................50
Figura 34 – Tela com cursor em cima do botão de “Deslike”...................................................51
Figura 35 – Tela de confirmação da transferência do artigo para a aba de artigos
descartados.................................................................................................................. 51
Figura 36 – Tela com o cursor sobre o botão de artigos descartados..................................52
Figura 37 – Tela somente com os artigos descartados............................................................52
LISTA DE ABREVIATURAS E SIGLAS
CT Caso de Teste
GUI Graphical User Interface
IEEE Instituto de Engenheiros Eletricistas e Eletrônicos
IHC Interface Humano Computador
MVC Model View Control
SO Sistema Operacional
UFF Universidade Federal Fluminense
UFRJ Universidade Federal do Rio de Janeiro
UX User Experience
WCAG Web Content Accessibility Guidelines
SUMÁRIO
1 INTRODUÇÃO..............................................................................................................10
2 FUNDAMENTAÇÃOTEÓRICA................................................................................ 12
2.1 INTERAÇÃO HUMANOCOMPUTADOR (IHC).....................................................12
2.2 BREVE HISTÓRICO DAEVOLUÇÃO (IHC)..........................................................12
2.2.1 Qualidade em IHC........................................................................................................13
2.2.1.1 Usabilidade....................................................................................................................14
2.2.1.2 Acessibilidade............................................................................................................... 14
2.2.1.3 Comunicabilidade.........................................................................................................14
2.3 REGRAS FUNDAMENTAIS PARAO BOM FUNCIONAMENTO DE UMA
(IHC)................................................................................................................................15
2.3.1 Esforce-se pela consistência.....................................................................................15
2.3.2 Atender a usabilidade universal................................................................................ 16
2.3.3 Oferecer um feedback informativo........................................................................... 16
2.3.4 Diálogos que indiquem o fim de uma ação.............................................................16
2.3.5 Evite erros......................................................................................................................16
2.3.6 Permitir a fácil reversãode ação...............................................................................17
2.3.7 Suportar o controle do usuário..................................................................................17
2.3.8 Reduzir a carga de memória de curta duração..................................................... 17
2.4 HEURÍSTICAS DE NIELSEN PARAO BOM FUNCIONAMENTO DE UMA (IHC)
17
2.4.1 Visibilidade do statusdo sistema..............................................................................18
2.4.2 Correspondência entre o sistema e o mundo real................................................ 18
2.4.3 Controle e liberdadedo usuário................................................................................18
2.4.4 Consistência e padronização.....................................................................................18
2.4.5 Prevenção de erros......................................................................................................19
2.4.6 Reconhecimento em vezde memorização.............................................................19
2.4.7 Flexibilidade e eficiênciade uso................................................................................19
2.4.8 Estética e designminimalista.................................................................................... 19
2.4.9 Ajuda aos usuários a reconhecerem, diagnosticarem e recuperarem-se
de erros...........................................................................................................................20
2.4.10 Ajuda e documentação................................................................................................20
2.5 ANÁLISE E PROJETODE INTERFACE.................................................................20
3 RSPAPER V 0.4.0........................................................................................................22
3.1 BIBLIOTEC PYQT6..................................................................................................... 23
3.2 DIAGRAMA DE CLASSE........................................................................................... 23
4 TESTE DE SOFTWARE............................................................................................ 27
4.1 TESTES FUNCIONAIS...............................................................................................27
4.1.1 Teste de Regressão.....................................................................................................29
4.2 PLANO DE TESTE......................................................................................................29
4.3 EXECUÇÃO DOS TESTES.......................................................................................31
4.4 ANALISE DOS RESULTADOS..................................................................................53
5 CONCLUSÃO...............................................................................................................55
REFERÊNCIAS............................................................................................................56
10
1 INTRODUÇÃO
Orápido desenvolvimento da sociedade impulsiona abusca por soluções ágeis para
desafiosemergentes.Nessecontexto, a computação desempenhaumpapel crucial ao criar
sistemas que automatizam tarefas, substituindo eficazmente funções que eram anterior-
mente desempenhadas por seres humanos. Para garantir a eficiência desses sistemas, é
essencial contar com interfaces que não apenas atendam às demandas funcionais, mas
que também sejam de fácil utilização e agradáveis ao usuário final, uma vez que é pormeio
delas que ocorre a interação humana com os sistemas.
Nesse contexto, foi desenvolvido o RSPapers que é umprojeto fruto da colaboração
entre oProfessorAltobelli Mantuan e estudantes daUniversidadeFederal doRio de Janeiro
(UFRJ), com o propósito de oferecer suporte a pesquisadores na área farmacêutica, simpli-
ficando a busca por artigos científicos alinhados aos interesses individuais dos usuários.,
um software especializado embusca e gerenciamento de artigos científicos, que integra um
algoritmo de recomendação. Este algoritmo possibilita a ordenação dos artigos conforme
as preferências eescolhas do usuário, permitindo a seleção de artigos relevantes para sua
pesquisa ou a exclusão de outros. Desde sua versão inicial, a interface do software passou
por melhorias significativas, com foco em proporcionar uma experiência mais moderna e
intuitiva aos usuários. Essas melhorias foram implementadas seguindo os princípios de
design e as técnicas de interação humano-computador (IHC).
Com a atualização da interface do RsPaper para PyQt6 na versão 0.3.0, e o au-
mento das features, o objetivo principal deste trabalho foi de criar melhorias no código
seguindo omodeloModel View Control (MVC), realizar a integração com as fontes da Sco-
pus(ELSEVIER, 27 de junho de 2022) e Pubmed(PUBMED, 12 dezembro 2023), além de
salvar o estado da pesquisa para futuras edições, função essa que não tinha no programa.
Com o auxílio de trabalhos de renomados autores dos temas de técnicas de Interação
Humano-Computador (IHC) e princípios dedesign, e comaajudadoprof. AltobelliMantuan,
foram realizados as modificações necessárias e um plano e execução de testes que visou
aferir as funcionalidades especificadas na regra de negócio.
Dentro do escopo da execução do plano de testes, foi utilizado no projeto o teste
de regressão funcional, que emerge como um componente crucial na busca pela sus-
tentabilidade e qualidade contínua do software, especialmente quando confrontado com
alterações substanciais em sua estrutura. Este enfoque é essencial para salvaguardar a
integridade do sistema, assegurando quemodificações ou atualizações não comprometam
a funcionalidade previamente estabelecida. O objetivo primordial dos testes de regressão
funcional é garantir, não apenas a eficiência operacional, mas também a manutenção de
uma experiência do usuário aprimorada. Ao validar a consistência das funcionalidades
existentes após mudanças significativas, esses testes desempenham um papel crucial
na identificação e correção proativa de possíveis regressões, contribuindo assim para a
Capítulo 1. INTRODUÇÃO 11
confiabilidade e estabilidade do software ao longo do tempo.
Acercadaabordageminicial,opresente trabalhoestáestruturadoemcincocapítulos,
sendo o primeiro atinente ao que sera desenvolvido no decorrer do projeto, somado com a
relevância da abordagem do tema proposto. O segundo capítulo , o embasamento teórico
e histórico dentro do contexto evolutivo da IHC, com suas regras e qualidades para um
bom funcionamento. No terceiro capítulo tem-se o software RsPaper versão 0.4.0 com seu
diagrama de classes mostrando as mudanças ocorridas após as melhorias, e a biblioteca
PyQt6 utilizada na atualização da versão 0.3.0. No quarto capitulo ve-se a execução do
plano de testes seguido das conclusões que foram descritas no capitulo cinco.
12
2 FUNDAMENTAÇÃO TEÓRICA
Neste capítulo, serão explorados os conceitos relacionados à Interação Humano-
Computador (IHC), bem como os padrões de qualidade associados. Esses padrões cons-
tituem critérios e diretrizes que desempenham um papel crucial na asseguração de um
sistema final eficaz, eficiente e centrado no usuário. Esses padrões abrangemáreas essen-
ciais, como usabilidade, comunicabilidade, acessibilidade e experiência do usuário.
2.1 INTERAÇÃO HUMANO COMPUTADOR (IHC)
AIHCéumaáreamultidisciplinarqueenvolveosprincípiosdaciênciadacomputação
e da informação comperspectivas das ciências sociais e comportamentais. Seu foco reside
na análise da dinâmica de interação entre os seres humanos e computadores. O objetivo
central da IHC é compreender de que forma essa interação influencia a vida dos usuários,
através de parâmetros de avaliação da qualidade do sistema resultante, em paralelo com o
avanço tecnológico (Precee et al., 1994)
Com o desenvolvimento exponencial das tecnologias de informação e comunicação
nas últimas décadas, faz-se necessária a preocupação com o usuário final. Atualmente,
sistemas, protótipos e equipamentos nas mais diversas áreas são desenvolvidos com
o intuito de aprimorar a IHC e melhorar a experiência de quem irá usufruir do resultado.
Independentedacomplexidadedasoperaçõesquesedeseja realizar,a interfaceprecisaser
fácil de compreender e utilizar, executar o que está previsto, além de possuir a consistência
necessária durante o tempo em que a interação acontece (Rocha; Baranauskas, 2003),
(Norman, 2013).
Segundo Barbosa (2010), o desenvolvimento e o aprimoramento da IHC é produto de
conhecimentos vindos de outras áreas fora da Computação, como a Psicologia, Sociologia
e Antropologia. No que tange a parte da cultura e comportamento do usuário em seus ambi-
entes de interação, também pode-se citar a contribuição das áreas de design, Ergonomia,
Linguística e Semiótica que auxiliam a IHC na definição da interface com o usuário (Barbosa;
Silva, 2010) .
2.2 BREVE HISTÓRICO DA EVOLUÇÃO (IHC)
No período compreendido entre 1940 e 1950, ocorre o Início da Computação e
InterfacesPrimitivas.Esseperíodocoincidecomosurgimentodosprimeiros computadores.
Nota-se que, nessa época, as interações eram principalmente baseadas em interfaces de
linha de comando, onde os usuários inseriam os comandos por meio de fitas perfuradas
ou cartões perfurados. Não havia uma compreensão clara sobre a experiência do usuário.
Indivíduos altamente treinados e conhecedores tinham a capacidade de interagir com
computadores. A interação estava restrita a programadores eespecialistas.
Capítulo 2. FUNDAMENTAÇÃO TEÓRICA 13
De acordo com Englebart (1968), na década de 60, a “Graphical User
Interface“ (GUI) começou a surgir a partir do desenvolvimento de sistemas operacionais
com o Xerox PARC. Com isso permitiu-se que houvesse interações por meio de ícones,
janelas e mouse, tornando o processo mais intuitivo (Englebart; William, 1968) . Nesse
período, o microcomputador da empresa Xerox em 1973 denominado Xerox Alto e o
primeiro software baseado em janelas o Xerox Star lançado pela mesma empresa em
1981 foram marcos importantes. Já na década de 80, segundo Norman(1988), as
interfaces gráficas tiveram a sua popularidade aumentada com o advento do lançamento
do Macintosh da Apple e do sistema operacional Windows da Microsoft (Norman, 1988).
Neste período o usuário final começou a ganhar o papel de destaque no design de
projetos, focados na usabilidade e na experiência do usuário. Emergiu a necessidade de
adaptar essas máquinas para que o público pudesse aproveitar a tecnologia sem
necessariamente ser um especialista no assunto.
Na década de 90, ocorre a expansão da IHC para a Web e dispositivos móveis.
Surgem novas técnicas de design responsivo com abordagens e interação multiplataforma
em consequência da evolução da internet e dos dispositivos móveis (Nielsen; Loranger,
2006). Entre os anos 2000 e 2010, segundo Norman (2010), surgem as interfaces naturais,
onde toques e gestos ganham ênfase em dispositivos como Iphone e o Microsoft Surface
(Norman, 2010). Ocorre tambéma influência de pesquisas na área da realidade aumentada
e virtual para a IHC.
Já Folstad (2018), afirma que, a partir de 2010, surgem assistentes virtuais e chatbots
baseados em Inteligência Artificial (IA) que começam a desempenhar um papel junto a IHC.
Isso faz com que as interações sejam mais contextuais, personalizando a experiência do
usuário, o que leva a perceber que dentro de um futuro avanço tecnológico, novos desafios
irão surgir e em paralelo a busca por interações mais eficazes e significativas para o usuário
final (Folstad, 2018) .
2.2.1 Qualidade em IHC
A qualidade em IHC é de suma importância para garantir que sistemas e interfaces
atendam às necessidades e expectativas dos usuários. Conforme abordado por Sharp, H.
et al.(2007), a qualidade em IHC é uma busca contínua para criar interfaces que sejam
eficazes, eficientes e proporcionem uma experiência de usuário satisfatória. Isso inclui
aspectoscomousabilidade,acessibilidadeecomunicabilidade.Portantoaqualidadeda IHC
não se limita apenas à funcionalidade técnica, pois considera também o contexto de uso e
a interação humana, promovendo designs centrados no usuário (Sharp;Rogers; Preece,
2015).
Capítulo 2. FUNDAMENTAÇÃO TEÓRICA 14
2.2.1.1 Usabilidade
Nielsen (1994), enfatiza a importância da usabilidade como um componente-chave
da qualidade em IHC. Ele argumenta que a usabilidade é fundamental para garantir que
os usuários possam realizar suas tarefas de forma eficaz e eficiente, minimizando erros e
frustrações.Ausabilidadeenvolveelementoscomo facilidadedeaprendizado, eficiênciade
uso,prevençãodeerros e satisfação dousuário, para queoproduto desenvolvidogere uma
experiência positiva e produtiva (Nielsen, 1994).
Além disso, Norman (2013), afirma que o design de sistemas e interfaces deve
ser intuitivo e permitir que os usuários compreendam facilmente sua funcionalidade. A
usabilidade, portanto, desempenha um papel central na busca pela qualidade em IHC,
pois assegura que os sistemas atendam às necessidades e expectativas dos usuários e
proporcionem uma interação harmoniosa e eficaz (Norman, 2013) .
2.2.1.2 Acessibilidade
A acessibilidade na (IHC) assegura que sistemas e interfaces sejam utilizáveis por
pessoas com diferentes habilidades e necessidades. Como destaca Chisholm (2008), a
acessibilidade na IHC visa tornar a tecnologia digital acessível a todos, ou seja, inclui
pessoas com deficiências visuais, auditivas, motoras e cognitivas. Paraque isso seja possí-
vel, envolve-se a consideração de diretrizes, como do WCAG (Web Content Accessibility
Guidelines), para garantir que os sistemas sejam percebidos, operados e entendidos por
todos os usuários, independentemente de suas capacidades (Chisholm; May, 2008).
De acordo com Dix (2004), a acessibilidade tem um importante papel no que tange
a experiência com o usuário, pois não é apenas uma preocupação ética, mas também uma
questão de inclusão e equidade, tornando-se essencial para garantir que a tecnologia digital
seja verdadeiramente acessível a todos, promovendo a igualdade de oportunidades (Dix et
al., 2004).
2.2.1.3 Comunicabilidade
A comunicabilidade se concentra na capacidade de os usuários compreenderem
e comunicarem-se de forma efetiva com sistemas e interfaces. Norman (2013), ressalta
que um design eficaz não apenas torna os sistemas usáveis, mas também torna sua
funcionalidade clara e compreensível para os usuários. A comunicabilidade envolve a
criação de interfaces que comuniquem de forma eficaz o funcionamento do sistema, as
opçõesdisponíveiseasaçõespossíveis,facilitandoassimainteraçãodosusuários(Norman,
2013).
Para Sharp, H et al. (2015), a comunicabilidade é destacada como parte integrante
do processo de design de interação. Eles afirmam a importância de projetar interfaces
Capítulo 2. FUNDAMENTAÇÃO TEÓRICA 15
que permitam aos usuários entenderem o estado do sistema e como suas ações afetam o
ambiente digital, contribuindo para que a experiência do usuário seja mais comunicativa e
eficaz (Sharp; Rogers; Preece, 2015) .
2.3 REGRAS FUNDAMENTAIS PARAO BOM FUNCIONAMENTO DE UMA (IHC)
A abordagem de Ben Shneiderman em relação às regras fundamentais para uma
Interação Humano-Computador (IHC) eficaz é uma referência sólida no campo do design
de interfaces e experiência do usuário. Seus princípios fornecem um guia valioso para os
designers, desenvolvedores e profissionais de IHC que buscam criar sistemas e interfaces
que atendam às necessidades dos usuários de maneira eficaz e agradável (Shneiderman,
2005).
Quandoesses princípios são aplicados no processo de design, os resultados podem
ser profundos. Eles não apenas melhoram a usabilidade do sistema, tornando-o mais fácil
de aprender e usar, mas também têm o potencial de aumentar a satisfação do usuário.
Uma interface consistente, que fornece feedback informativo e evita erros, pode criar uma
experiênciamais suave e agradável para os usuários, reduzindo a frustração e a ansiedade
(Shneiderman, 2005).
Além disso, a ênfase de Shneiderman na “usabilidade universal” e no “controle do
usuário” reflete a importância de tornar a tecnologia acessível a todos, independentemente
de suas habilidades ou limitações. Essa abordagem inclusiva é crucial em ummundo onde
a tecnologia desempenha um papel cada vez mais central em nossas vidas e onde a
diversidade de usuários é a norma (Shneiderman, 2005).
Os princípios de Shneiderman não apenas beneficiam os usuários finais, mas
também têm implicações significativas para o desenvolvimento de produtos tecnológicos
eficazes. Uma interface bem projetada pode resultar em uma redução no suporte técnico
necessário e na taxa de erros, economizando tempo e recursos para asempresas. Além
disso, a satisfação do usuário pode se traduzir em fidelidade à marca e recomendações
positivas, contribuindo para o sucesso a longo prazo de um produto (Shneiderman, 2005).
Neste capítulo serão abordados esses princípios essenciais para o design de siste-
mas e interfaces.
2.3.1 Esforce-se pela consistência
Essa regra enfatiza a importância do desenvolvimento de uma interface de usuário
que seja coesa e uniforme ao longo de um sistema ou aplicativo. Segundo Shneiderman
(2016), isso significa que elementos de design, como cores, fontes, ícones e ações, devem
ser consistentes em todo o sistema, para que os usuários possam prever como as coisas
funcionam e interagem. A consistência ajuda a reduzir a curva de aprendizado, torna a
Capítulo 2. FUNDAMENTAÇÃO TEÓRICA 16
interação mais intuitiva e reduz erros (Shneiderman, 2016).
2.3.2 Atender a usabilidade universal
Shneiderman (2016), destaca a importância de criar interfaces de usuário que sejam
acessíveis e utilizáveis por uma ampla gama de pessoas, independentemente de suas
habilidades, conhecimentos,experiênciaou limitações. Issoenvolveprojetar consi- derando
a diversidade de usuários, como aqueles iniciantes, experientes, com deficiências visuais,
auditivas, motoras ou cognitivas, e garantir que a interface seja intuitiva e adaptável para
atender às necessidades de todos os públicos. Essa abordagem contribui para a inclu- são
digital e a usabilidade efetiva do sistema emumcontextomais amplo (Shneiderman, 2016).
2.3.3 Oferecer um feedback informativo
Shneiderman (2016), enfatizaa importânciademanter osusuários informadossobre
o que está acontecendo no sistema durante suas interações. Isso significa que o sistema
deve fornecer respostas claras e imediatas às ações dos usuários, indicando se uma ação
foibem-sucedidaou não,o status deumaoperaçãoemandamento e quaisquermensagens
de erro relevantes. Esse feedback informativo ajuda os usuários a compreenderemmelhor
o sistema, a tomar decisões informadas e a evitar confusão ou frustração (Shneiderman,
2016).
2.3.4 Diálogos que indiquem o fim de uma ação
Shneiderman (2016), ressaltaa importânciade fornecer feedback claroe perceptível
aos usuários quando uma ação é concluída em uma interface de usuário. Isso significa que,
após realizarumaoperação,osusuáriosdevemreceberumaconfirmaçãovisível ouauditiva
de que a ação foi bem-sucedida, permitindo-lhes saber que podem continuar interagindo
com o sistema ou realizar outras ações, sem ambiguidade. Isso aumenta a sensação de
controle e compreensão por parte dos usuários, contribuindo para uma experiência de
usuário mais eficiente e satisfatória (Shneiderman, 2016).
2.3.5 Evite erros
Esse princípio consiste em projetar o sistema de forma que o usuário não cometa
erros ou se, ao cometer, não sejam erros graves, como por exemplo, desabilitar menus que
não são apropriados evitando dessa forma que o usuário clique ou acesse umaárea restrita
do sistema. Esse princípio também indica que as mensagens de erros devem ser claras,
objetivas e específicas.
Mensagens que são muito genéricas tornam difícil para o iniciante saber o que
deu errado. Mensagens simples e condenatórias são frustrantes porque não
Capítulo 2. FUNDAMENTAÇÃO TEÓRICA 17
fornecem informações suficientes sobre o que deu errado nem o conhecimento
para corrigir as coisas. Portanto, a quantidade certade especificidadeé importante”
(Shneiderman, 2005). (p. 480).
2.3.6 Permitir a fácil reversão de ação
É essencial que o sistema ofereçaaos usuários a capacidade de desfazer suas
açõessemprequepossível.Essafuncionalidadenãoapenasconcedecontroleaosusuários,
mas também promove uma sensação de tranquilidade ao saber que erros podem ser
corrigidos. Além disso, ela estimula a exploração do sistema, incentivando um aumento do
conhecimento do usuário sobre o funcionamento domesmo.
2.3.7 Suportar o controle do usuário
Essa regra está ligada à concessão de controle ao usuário, proporcionando-lhe a
sensação de liderança quando percebe que a interface responde prontamente às suas
ações. Além disso, essa diretriz ressalta a importância de que, ao desenvolver um sistema,
as informações contidas nele devem ser claras e que as respostas não devem desviar
das expectativas do usuário. Por exemplo, ao clicar no botão “fechar” de uma janela, o
usuário espera que a ação resulte no fechamento da janela, sem surpresas ou resultados
inesperados.
2.3.8 Reduzir a carga de memória de curta duração
Conforme destacado por Shneiderman (2005), os seres humanos têm limitações
na capacidade de memorização, sendo capazes de reter aproximadamente “sete blocos
de informações”. Portanto, ao projetar um sistema, é de extrema importância evitar que os
usuários sejamobrigadosamemorizar extensasquantidades de informações.Os sistemas
nãodevemrequererqueosusuáriosmemorizeminformaçõesdeumapáginaparautilizá-las
em outra (Shneiderman, 2005).
2.4 HEURÍSTICAS DE NIELSEN PARAO BOM FUNCIONAMENTO DE UMA (IHC)
JakobNielsen,umrenomadoespecialistaemInteraçãoHumano-Computador (IHC),
propôs um conjunto de 10 heurísticas de usabilidade que são amplamente usadas na
avaliaçãodeinterfacesdeusuário.Essasheurísticassãodiretrizesgeraisparacriarsistemas
mais usáveis e identificar problemas de usabilidade. As próximas seções explicam as 10
heurísticas de Nielsen (Nielsen, 1994).
Capítulo 2. FUNDAMENTAÇÃO TEÓRICA 18
2.4.1 Visibilidade do status do sistema
Essa heurística refere-se à importância de manter os usuários informados sobre
o estado do sistema durante suas interações. É essencial para garantir uma experiência
de usuário eficaz e reduzir a incerteza em relação às ações realizadas. Quando os usuá-
rios podem perceber claramente o que está acontecendo em um sistema, eles têm uma
sensação de controle e confiança, o que contribui significativamente para a usabilidade e
satisfação geral do usuário. Nielsen (1994) argumenta que fornecer feedback imediato e
visível é crucial para manter os usuários envolvidos e informados durante suas interações
com um sistema, ajudando a evitar frustrações e erros (Nielsen,1994).
2.4.2 Correspondência entre o sistema e o mundo real
Essaheurística relata a importância emprojetar interfacesqueadotam terminologias
e conceitos familiares aos usuários, alinhados coma linguagemeas convenções domundo
real e do domínio do problema. De acordo com Nielsen (1994), esta heurística promove
a familiaridade e a intuitividade da interface, tornando-a mais acessível aos usuários. Os
designers de interface buscam reduzir a carga cognitiva dos usuários, permitindo que eles
se concentrem nas tarefas em vez de aprender novos termos ou conceitos (Nielsen, 1994).
2.4.3 Controle e liberdade do usuário
É preciso que o usuário tenha a capacidade de controlar suas ações e navegação
dentro de um sistema de forma intuitiva e eficaz. Isso significa que os usuários devem
ser capazes de realizar operações desejadas facilmente, ao mesmo tempo em que têm
a liberdade de voltar atrás ou desfazer ações indesejadas sem grandes dificuldades. A
essênciadestaheurísticaéproporcionaraosusuáriosumambientedigitalqueseassemelhe
ao senso de controle e liberdade que eles experimentariam na interação com omundo real.
Essa abordagem visa minimizar a sensação de aprisionamento digital e promover uma
experiência mais amigável e satisfatória para o usuário (Nielsen,1994).
2.4.4 Consistência e padronização
Essaabordagemvisa reduzir a cargacognitivadosusuários, tornandomais fácil para
eles identificar e compreender a funcionalidade dos elementos de interface, como botões e
menus, sem a necessidade de aprender novos padrões a cada interação. Aconsistência
promove uma experiência de usuário mais intuitiva e eficiente, aumentando a familiaridade
e reduzindo a possibilidade de erros. Conforme Nielsen e Molich (1990) destacam, essa
heurísticaé fundamental paragarantir que odesign da interface atendaàs expectativas dos
usuários, criando uma experiência mais fluida e satisfatória (Nielsen; Molich, 1990).
Capítulo 2. FUNDAMENTAÇÃO TEÓRICA 19
2.4.5 Prevenção de erros
A “Prevenção de Erros” nas diretrizes de usabilidade de acordo com Nielsen e
Molich (1990), destacam a importância de projetar sistemas de forma a evitar que os
usuários cometam erros. Isso envolve a implementação de mecanismos de segurança
e ações de confirmação para ações críticas, bem como o uso de feedback claro para
informarosusuáriossobreasconsequênciasdesuasações.Aprevençãodeerroscontribui
significativamente para a experiência do usuário, reduzindo frustrações e aumentando a
eficácia das interações (Nielsen; Molich, 1990).
2.4.6 Reconhecimento em vez de memorização
Essa heurística enfatiza a importância de projetar interfaces que permitam aos
usuários reconhecer facilmente informações e opções, a fim de que se evite a necessidade
de memorizar dados ou procedimentos. Essa abordagem está alinhada com estudos
cognitivos que destacam a capacidade humana de reconhecimento como mais eficiente e
menos propensa a erros do que a memória de curto prazo (Baddeley, 1992). Ao minimizar
a carga cognitiva de memorização, as interfaces de usuário se tornam mais acessíveis e
amigáveis, facilitando a interação do usuário com o sistema (Shneiderman, 1998).
2.4.7 Flexibilidade e eficiência de uso
Enfatiza a importância de projetar interfaces que atendam tanto a usuários novatos
quanto a usuários experientes, ou seja oferecer a capacidade de personalização e atalhos
para os usuários mais avançados, de modo a permitir que eles realizem suas tarefas de
maneira mais eficiente. Essa heurística se baseia na ideia de que, ao dar aos usuários
a flexibilidade de adaptar a interface às suas necessidades e níveis de habilidade, a
experiência geral do usuário pode ser aprimorada, promovendo uma curva de aprendizado
mais suave e aumentando a produtividade (Nielsen, 1994).
2.4.8 Estética e design minimalista
As diretrizes de usabilidade de Nielsen (1994) destacam a importância em criar-se
interfaces limpas e visualmente agradáveis. Uma estética eficaz não apenas contribui para
umaexperiênciadousuáriomaisagradável,mastambémfacilitaacompreensãodainterface
ea localização de informações relevantes.A simplicidadevisual e a organização cuidadosa
dos elementos da interface ajudam a reduzir a carga cognitiva do usuário, tornando a
interação mais fluida e eficiente. Isso ressalta a necessidade de equilibrar a estética com a
funcionalidade, assegurando que elementos visuais não comprometam a usabilidade do
sistema (Nielsen, 1994).
Capítulo 2. FUNDAMENTAÇÃO TEÓRICA 20
2.4.9 Ajuda aos usuários a reconhecerem, diagnosticarem e recuperarem-se de erros
Segundo Nielsen (1994), existe a importância de projetar-se interfaces que não
apenascomuniquemerrosdeformaclaraeprecisa,mastambémorientemosusuáriossobre
como corrigir esses erros de maneira eficaz. Isso inclui a apresentação de mensagens de
erro informativaseamigáveis,bemcomoaofertadesoluçõesousugestõespara resolveros
problemas.A implementaçãoadequadadessa heurísticapodemelhorar significativamente
a experiência do usuário, reduzindo a frustração e melhorando a eficiência na interação
com o sistema (Nielsen, 1994).
2.4.10 Ajuda e documentação
Essa heurística destaca a importância de fornecer aos usuários acesso a informa-
ções de suporte quando necessário. Isso inclui a disponibilização de documentação clara
e recursos de ajuda, como tutoriais e FAQs, para auxiliar os usuários em suas interações
como sistema.Esses recursos desempenhamumpapel crucial namelhoria da usabilidade,
pois capacitam os usuários a superar obstáculos,entender funcionalidades complexas e
solucionar problemas de forma independente, contribuindo assim para uma experiência
mais satisfatória (Nielsen, 1994) .
2.5 ANÁLISE E PROJETO DE INTERFACE
Um sistema interativo é concebido com a finalidade de auxiliar os usuários a atingir
seus objetivos. A elaboração do projeto desse sistema passa por etapas essenciais para
garantir que o resultado final não seja apenas uma inovação tecnológica, mas também
proporcione uma experiência de uso satisfatória aos usuários.
• Análise de interface - Antes de iniciar qualquer projeto de interface é de suma
importância compreender as necessidades e expectativas do usuário. A analise de
interface consiste emcoletar informações sobre público-alvo, suas tarefas, preferen-
cias e contexto. São usados entrevistas, questionários, observações e commétodos
para obtenção de tais dados (Norman, 1988).
• Projeto de interface - O projeto de interface é a fase em que os designers traduzem
as informações coletadas na análise em soluções concretas. Isso envolve a criação
de wireframes, protótipos, esboços e designs finais que definem a aparência e a inte-
ração da interface. Os princípios de usabilidade, como a consistência, a simplicidade
e feedback claro, são fundamentais nessa etapa (Sharp; Rogers; Preece, 2015) .
• Usabilidade e Experiência do Usuário - A usabilidade e a experiência do usuário
(UX) são pedras angulares do design de interface. Usabilidade refere-se à facilidade
Capítulo 2. FUNDAMENTAÇÃO TEÓRICA 21
com que os usuários podem realizar tarefas, enquanto a UX aborda as emoções
e percepções dos usuários ao interagirem com o sistema. Garantir que a interface
seja intuitiva, eficiente e agradável é essencial para o sucesso do produto (JESSE
JAMES GARRET, 2010).
• Avaliação de interface - A avaliação de interface é um processo contínuo quevisa
identificar problemas e áreas de melhoria na interação. Métodos como testes de
usabilidade, avaliação heurística e análise de métricas de uso ajudam a refinar a
interface com base no feedback dos usuários (DUMAS; LORING,2008).
• Design centrado no usuário - O design centrado no usuário é uma abordagem
que prioriza as necessidades e expectativas dos usuários em todas as fases do
desenvolvimento. Isso inclui a realização de testes de usabilidade com usuários
reais e a iteração constante do design com base no feedback coletado (COOPER;
REIMANN; CRONIN, 2014).
O processo de análise e projeto de interface não é apenas uma etapa essencial
no desenvolvimento de sistemas interativos, mas também um fator determinante para o
sucesso desses sistemas. É uma jornada que começa com a compreensão profunda das
necessidades e expectativas dos usuários, permeia a criação de interfaces eficazes e
agradáveis e continua com avaliações criteriosas e melhoriascontínuas.
O design de interface não é simplesmente uma questão de estética ou funcionalidade;
ele é impulsionado pela busca incansável pela usabilidade e pela busca por uma experiência
do usuário que vá além da eficiência, incorporando a satisfação e o prazer na interação. É
um campo que evolui constantemente, adaptando-se às mudanças nas tecnologias e nas
preferências dos usuários.
Avaliar e aprimorar a interface é uma prática contínua, alimentada pelo feedback
valiosodosusuários.Énesseciclodeavaliaçãoemelhoriaqueas interfacesse transformam
demeras inovações tecnológicasemferramentasquecapacitameencantamseususuários.
Por fim, o design centrado no usuário é a essência que permeia todo o processo.
Colocar as necessidades e expectativas dos usuários no centro do desenvolvimento
é o que torna o design de interface mais do que apenas um conjunto de técnicas, mas uma
filosofia que impulsiona a criação de interfaces verdadeiramente impactantes.
22
3 RSPAPER V 0.4.0
As versões que foram desenvolvidas do software, tiveram a contribuição de alunos
de graduação em Tecnologia em Sistemas Computacionais da UFF. Em 2020, o aluno
(Teobaldo, 2020) iniciou o projeto com uma interface baseada em PyQt5, e o sistema
recebeu atualizações para o PtQt6 com (Coutinho; Valladão, 2022) e (Marques; Dias,
2023)).
Empregando a técnica de web scraping, que automatiza a coleta de dados daWeb,
o software possibilita a extração e organização eficiente de informações para análises
subsequentes.
O fluxo de trabalho do RSPAPER inicia-se quando o usuário realiza uma nova pes-
quisa, aplicando filtros e palavras-chave específicas. Com base nessa seleção, o programa
conduz uma pesquisa nas bases de dados escolhidas pelo usuário, apresentando uma lista
de resultados obtidos. A partir dessa lista, o usuário pode selecionar ou descartar os artigos
conforme seu interesse e necessidades.
A versão 0.4.0 representa a refatoração da versão 0.3.0, introduzindo a classe control-
ler para conferir maior autonomia e aderência ao padrão de arquitetura MVC de acordo com
(Gamma E. et al., 1994), que serve como base de desenvolvimento do RSPAPER (Gamma
et al., 1994). Este último é fundamentado na arquitetura MVC (Model-View-Control ), na qual
as classes de um sistema são organizadas em três grupos:
• Visão (View ): Responsável pela interface gráfica do sistema.
• Controlador (Control): Responsável por interpretar o comportamento da aplicação.
• Modelo (Model): Responsável pelas regras de negócio e comunicação com a base
de dados.
AarquiteturaMVCproporcionaumaabordagemestruturadaparaodesenvolvimento
de software, oferecendo várias vantagens. A clara separação de responsabilidades entre o
Modelo, que representa a lógica de negócios e os dados, a Visão, que trata da interface
do usuário, e o Controlador, que gerencia as interações entre o Modelo e a Visão, facilita
a manutenção e a evolução do código. Essa divisão também promove a reusabilidade de
código,permitindoquemodelosevisõessejamutilizadosdemaneiraindependente(Gamma
et al., 1994).
Além disso, a arquitetura MVC facilita o desenvolvimento paralelo, pois diferentes
equipes podem trabalhar em componentes distintos sem interferências. A flexibilidade e
extensibilidade são características-chave, permitindo a adição de novas funcionalidades
sem impactar o código existente. A testabilidade é aprimorada, possibilitando a realização
de testes unitários em cada componente de forma isolada. Em resumo, o MVC contribui
Capítulo 3. RSPAPER V 0.4.0 23
para uma experiência de desenvolvimento mais organizada, intuitiva e eficiente(Fowler, 5
novembro 2002).
3.1 BIBLIOTEC PYQT6
No desenvolvimento da interface gráfica para o software RSPAPER, optou-se por
utilizar a biblioteca PyQt6. A biblioteca PyQt6 de acordo com é umwrapper doPython para
o framework Qt uma robusta biblioteca de desenvolvimento de software que disponibiliza
uma variedade de ferramentas e componentes para a criação de aplicações gráficas e
interfaces de usuário (Summerfield, 9 outubro 2015). Essa escolha foi fundamentada por
diversos motivos:
• O PyQt6 é multiplataforma, proporcionando suporte para execução em diferentes
sistemas operacionais, incluindo Windows, Linux e macOS. Garante-se, assim, a
versatilidade da aplicação, tornando-a acessível a um amplo espectro de usuários.
• Tanto o Qt quanto o PyQt têm a vantagem de possuir documentação abrangente
e uma comunidade ativa. Essa característica facilita a localização de suporte e
recursos online, contribuindo para um desenvolvimento mais eficiente e orientado
pela experiência de outros desenvolvedores.
• Rica biblioteca oferecida pelo Qt. Com uma ampla variedade de widgets ecompo-
nentes gráficos, é possível construir interfaces complexas e interativas de maneira
mais eficaz, economizando tempo e esforço no processo de desenvolvimento.
• A integração direta com Python permite que os desenvolvedores utilizem todas às
funcionalidades do Qt de forma transparente em suas aplicações Python. Essa
sinergiaentreàsduas tecnologiasproporcionaumaexperiênciadedesenvolvimento
mais fluida e flexível.
• O PYQT é open source contribuindo para uma comunidade engajada e colaborativa.
3.2 DIAGRAMA DE CLASSE
A versão 0.4.0 do RSPAPERSpossui uma arquitetura modular que simplifica a
leitura, organização emanutenção do código. Ela é composta por trêsmódulos principais: o
RSPublications, integrado aomódulo da Lib, encarregado de ordenar os artigos conformeo
interesse do usuário; o módulo View, responsável pela interface e elementos do programa;
e o módulo Controller, encarregado de supervisionar toda a aplicação, conectando as
informações do RSPublications e exibindo-as na View.
Por se tratar de uma refatoração, abaixo é exibido o modelo da versão 0.3.0 e
em seguida as mudanças que foram realizadas na atual versão 0.4.0. A Figura 1 exibe o
Capítulo 3. RSPAPER V 0.4.0 24
diagrama de classes do sistema em sua primeira versão, a v. 0.3.0, e na Figura 2 o diagrama
de classe atual, v. 0.4.0.
Capítulo 3. RSPAPER V 0.4.0 25
Figura 1 – Diagrama de Classes do RSPaper v 0.3.0
Fonte: (Amanda Miquilini Cordibello Marques, Luan Bernardo Dias (2023)) adaptado pelo autor, 2023.
Capítulo 3. RSPAPER V 0.4.0 26
Figura 2 – Diagrama de Classes v 0.4.0
Fonte: Elaborado pelo autor, 2023
Fonte: Elaborado pelo autor, 2023.
Conforme exibido nos diagramas de classes acima, na última atualização, foi criado o
módulo controllers que visa separar da view janelaPrincipal as funções inerentes ao controle
da aplicação, deixando-a somente com funções relativas a interface. Foi também realizada a
junção do módulo servers_controllers disponibilizado pelo colega Vagner com o RSPaperQt6
(Marques; Dias, 2023), para que se consiga ter acesso aos artigos das fontes Pubmed e
Scopus e trazer os resultados da pesquisa para a View. Foram implementados métodos para
salvar o estado da pesquisa no formato .rsp e para poder abri-la posteriormente em outro
momento. A classe LeitorArquivo foi transferida para o models, assim como também outras
modificações foram realizadas nas classes Artigo, DefinirFiltroWindow e JanelaPrincipal a
fim de que o projeto mantenha as funcionalidades para o qual foi criado.
27
4 TESTE DE SOFTWARE
De acordo com Summerfield (2019) a execução de testes no desenvolvimento de
software é uma prática essencial para assegurar a qualidade do produto final. Pormeio dos
testes, torna-se possível identificar defeitos, minimizar riscos, reforçar a confiabilidade do
software, garantir o atendimento aos requisitos estabelecidos, validar a integração entre os
módulos, tudo isso antes mesmo de sua implementação em ambiente de produção. Essa
abordagemproativanãoapenascontribui paraadetecçãoprecocedepossíveisproblemas,
economizandorecursosfinanceirose temporaiseasatisfaçãodousuário final(Summerfield,
22 abril 2019).
Este capítulo visa abordar o teste de regressão, que tem por finalidade garantir que
as alterações feitas em um sistema não introduzam novos defeitos ou causem impactos
negativos em funcionalidades já existentes. Este tipo de teste é particularmente útil em am-
bientesdedesenvolvimentocontínuo,ondenovoscódigossão frequentementeadicionados
oumodificações são feitas. Fazemparte do processo de desenvolvimento de um software e
foramutilizados nesse trabalho na refatoração doRSPapers (Myers, 8 novembro 2011). Em
virtude do crescimento das features do software, se fez necessária a realização de testes
maisminuciosos para aferir se as funcionalidades doprograma estavamcompatíveis como
esperado. Serão abordados os testes de regressão, com destaque para a apresentação
minuciosa do plano de testes, os cenários planejados e executados, bemcomoa exposição
conjunta das evidências coletadas, garantindo o correto funcionamento do software. Todos
esses elementos serão analisados em conformidade com as entradas e saídas indicadas
nos testes, proporcionando uma visão abrangente da validação funcional do RSPapers.
4.1 TESTES FUNCIONAIS
Testes funcionais, tambémconhecidos como teste de caixa preta ou teste comporta-
mental, concentram-se nos requisitos funcionais do software. Este tipo de teste negligencia
a estrutura de controle e focaliza-se nas entradas e saídas do sistema, visando validar o
software sob a perspectiva do usuário. Os testes são elaborados exclusivamente combase
na interface do sistema. Nesse tipo de teste, incluem-se regras de negócio, requisitos e
tudo mais que se caracterize como uma necessidade funcional do software (Molinari, 30
julho 2009).
Na Figura 3 é apresentado o modelo de um teste funcional, onde são apresentadas
as entradas de dados de teste que são os casos de teste. O sistema é o software a ser
testado, que nesse caso o RSPapers e a saída dos resultados de teste são os resultados
obtidos da execução dos casos de teste, caso as saídas não sejam iguais as esperadas, é
sinal de que o teste detectou um erro com software.
Capítulo 4. TESTE DE SOFTWARE 28
Figura 3 – Esquema de Teste de caixa preta
Fonte: Sommerville, 2003.
A função primordial dos testes funcionais é identificar as operações que o software
deve executar, e desenvolver testes capazes de verificar se essas operações estão sendo
realizadas conforme os requisitos do usuário. O teste funcional considera o comportamento
do software, portanto, técnicas caixa-preta podem ser usadas para derivar condições de
teste e casos de teste para a funcionalidade do componente ou sistema (Olsen; Posthuma;
Ulrich, 1 julho 2021) .
Este processo contribui significativamente para assegurar que o software atenda às
expectativas funcionais estabelecidas, proporcionando uma visão abrangente da adequação
do sistema às necessidades do usuário.
Pressman (2011) indica alguns tipos críterios que podem ser usados para execução
de testes funcionais que são (Pressman, 2011):
• Particionamento deequivalência : este critério divide oconjuntodedadosdeentrada
em classes, distinguindo entre dados válidos e inválidos para testar uma função
específicadosoftware.Emcadaclasse,umelementoéselecionadopararepresentar
toda a classe. O propósito é gerar menos casos de teste, onde cada elemento de
uma classe inválida representa um caso de teste único.
• Análise do valor Limite: este critério examina os valores limites, complementando o
particionamento de equivalência ao priorizar a seleção de casos de teste centrados
nas bordas das classes, em vez de escolher um elemento de cada classe.
Capítulo 4. TESTE DE SOFTWARE 29
• Grafo de causa-efeito : este critério examina as combinações das condições de
entrada, fundamentando seus testes nas diversas condições possíveis e suas res-
postas esperadas. A partir dessa análise, é elaborado um grafo que relaciona as
causas e efeitos, dos quais são derivados os casos deteste.
4.1.1 Teste de Regressão
De acordo com Pressman (2011) sempre que um novo módulo é acrescentado, o
softwaremuda e essa mudança podem causar problemas com funcionalidades que antes
estavam funcionando perfeitamente. Por isso, se faz necessária a utilização de teste de
regressão, pois ele auxilia na garantia de que as alterações realizadas não interferiram no
bom funcionamento do software (Pressman, 2011).
No trabalho presente, foi acrescentado o módulo controller que é responsável por
interpretarocomportamentodaaplicação.Porissoos testesde regressãoserão focalizados
nas funções que poderão ser afetadas pelamodificação.
4.2 PLANO DE TESTE
Pressman (2011) descrever o plano de teste como um documento que delineia o
conjuntode tarefasde teste, destacandoosartefatos queserãogeradosàmedidaquecada
atividade de teste é realizada. Além disso, especifica como os resultados serão avaliados,
registrados e potencialmente reutilizados ao longo do processo de teste (Pressman, 2011).
Os objetivos fundamentais do plano de teste compreendem: a identificação de infor-
mações já existentes e dos componentes de software que demandam testes; a elaboração
de uma lista abrangente de requisitos de teste; a descrição detalhada da estratégia de
teste adotada; a identificação dos recursos essenciais para a execução dos testes; e a
compilação de uma relação dos produtos resultantes das diversas tarefas de teste.
O escopo do trabalho delineia um plano de teste que abrange teste de regressão
focados nas funçõesdo módulo controller. Ele envolve a execução de uma série de testes
específicos para validar diferentes aspectos do sistema.
De acordo com (Whittaker, 9 maio 2002) o plano de teste apresentado abaixo é base-
ado no padrão IEEE 829 que é reconhecido internacionalmente e estabelece diretrizes para
a elaboração de planos de testes, sendo uma referência valiosa no campo da engenharia
de software.
Plano de Teste de Regressão - IEEE 829
1) Introdução
1.1 Objetivo: validar as funcionalidades do código do model controller através de
testes de regressão
Capítulo 4. TESTE DE SOFTWARE 30
1.2 Escopo
O plano abrange os testes de abertura de resultados anteriores, ordenação de
artigos, salvamento de resultados, atualização de progresso, janela de definição de filtro,
botões de seleção de artigos, carregamento de arquivos e limpeza de sessão.
1.2 Referências: documentação do RSpaper
2) Recursos
2.1 Pessoal
Testador: [Nome] Desenvolvedor: [Nome]
2.2 Ambiente
Sistemaoperacional: [SO] Ferramentas de teste: [Ferramentas] Ambiente de execu-
ção: [Ambiente]
3) Itens a serem Testados: Controllers.py
4) Critérios de Aceitação: todos os testes devem ser bem-sucedidos, atendendo aos
requisitos especificados.
5) Estratégia de Teste
5.1 Abertura de Resultados Anteriores
CT. 1 Verificar se a função “abrir_resultados” abre corretamente diferentes tipos de
arquivos .rsp.
CT. 2 Verificar se a função “abrir_resultados” impede abertura de arquivos que não
sejam arquivos .rsp.
5.2 Salvamento de Resultados
CT. 3 Executar a função “salvar_resultado” e verificar se o arquivo.rsp é criado
corretamente.
CT. 4 Confirmar se os dados salvos incluem as informações corretas das listas de
artigos
5.3 Atualização deProgresso
CT. 5 Testa a função “atualizar_progresso” para garantir a atualização adequada da
barra de progresso
5.4 Janela de definição de filtro
CT. 6 Verififcar se a função “open_definir_filtro” abre corretamente a janela de
definição de filtro
CT. 7 Confirmar se a variavel “pesquisa” é atualizada corretamente com os resultados
do filtro
Capítulo 4. TESTE DE SOFTWARE 31
5.6 Botões de seleção de artigos
CT. 8 Testar as funções artigo_selecionado_button, artigo_interesse_button, e ar-
tigo_descartado_button para garantir o funcionamento e a atualização correta da variável
pesquisa.
6) Cronograma: os testes serão realizados durante [período detempo]
7) Riscos de Contingências Risco: compatibilidade do ambiente deteste.
Contingência: Garantir que o ambiente de teste seja configurado conforme as espe-
cificações antes da execução dos testes.
8) Resultados esperados Todos os teste bem- sucedidos, sem falhas significativas
9) Aprovações [Nome e Cargo do Aprovador]
4.3 EXECUÇÃO DOS TESTES
Nesse trabalho, será apresentada a execução dos testes funcionais de regressão
usando como base o plano de testes elaborado anteriormente.
Teste 1 : Abertura de Resultados Anteriores
CT. 1: Abertura de arquivo.rsp válido.
Premissa: Já ter um arquivo.rsp de uma pesquisa anterior.
• Passos:
1) Abra o programa RSPaper
2) Clique no botão “Abrir”
3) Selecione um arquivo.rsp
• Verificação:
– Confirmar se a função abre corretamente o arquivo :
Na Fiigura 4 pode ser observado o layout do programa em execução, sem artigos
carregados e com a seta do cursor em cima da aba Abrir.
Capítulo 4. TESTE DE SOFTWARE 32
Figura 4 – Tela principal
Fonte: Elaborado pelo autor, 2023
Na Figura 5 pode ser observado o acesso à pasta resultados através do botão Abrir.
Figura 5 – Janela de pesquisa de arquivo
Fonte: Elaborado pelo autor, 2023
Na Figura 6 observam-se os testes realizados com os arquivos no formato .rsp.
Capítulo 4. TESTE DE SOFTWARE 33
Figura 6 – Pasta de resultados
Fonte: Elaborado pelo autor, 2023
Nas Figura 7 e 8 observa-se o layout da janela principal do programa com 2000
artigos carregados, sendo 1000 da fonte Scopus e 1000 da fonte Pubmed.
Figura 7 – Tela de resultado Pubmed
Fonte: Elaborado pelo autor, 2023
Capítulo 4. TESTE DE SOFTWARE 34
Figura 8 – Tela de resultado Scopus
Fonte: Elaborado pelo autor, 2023
CT. 2 : Abertura de arquivo.rsp inválido.
• Passos:
Premissa: Já ter um arquivo.rsp de uma pesquisa anterior.
• 1) Abra o programaRSPaper
2) Clique no botão “Abrir”
3) Selecione uma extensão diferente de ‘rsp
• Verificação:
– Na janela de pesquisa não terá outra opção além da extensão ‘rsp
• Evidências
Na Figura 8 pode ser observado o layout do programa em execução, sem artigos
carregados e com a seta do cursor em cima da aba Abrir.
Capítulo 4. TESTE DE SOFTWARE 35
Na Figura 9 observa-se que não é possível escolher extensão de arquivo diferente
de rsp.
Figura 9 – Teste 2: Salvamento de Resultados
Fonte: Elaborado pelo autor, 2023
Capítulo 4. TESTE DE SOFTWARE 36
Teste 2: Salvamento de Resultados
Premissa: Já ter um arquivo.rsp de uma pesquisa anterior.
CT. 3: Executar a função “salvar_resultado” e verificar se o
arquivo.rsp é criado corretamente
CT. 4: Confirmar se os dados salvos incluem as informações
corretas das listas de artigos.
• Passos:
1) Abra o programa RSPaper
2) Clique no botão “Abrir”
3) Selecione uma extensão de ‘rsp’
4) Clique no ‘x’ do primeiro artigo
5) Clique em ‘sim’ na janela de alerta
6) Clique em ‘salvar’
7) Selecione um nome para o arquivo
8) Clique em ‘salvar’
9) Clique em ‘abrir’
10) Selecionar o artigo salvo
• Verificação:
O arquivo que foi salvo deverá constar na lista de resultados e, ao abrir o arquivo,
ele deverá constar a quantidade correta de artigos descartados.
• Evidências:
Na Figura 10 pode ser observado o layout do programa em execução, sem artigos
carregados e com a seta do cursor em cima da aba Abrir.
Capítulo 4. TESTE DE SOFTWARE 37
Figura 10 – Tela principal
Fonte: Elaborado pelo autor, 2023
Figura 11 observa-se a tela para seleção de pesquisa anterior.
Figura 11 – Janela de seleção de arquivo
Fonte: Elaborado pelo autor, 2023
Nas Figuras 12, 13, 14, 15 e 16 é apresentado o processo de salvamento de um
descarte de artigo da pesquisa.
Capítulo 4. TESTE DE SOFTWARE 38
Figura 12 – Tela excluindo um artigo da pesquisa
Fonte: Elaborado pelo autor, 2023
Figura 13 – Pop up de confirmação de descarte de artigo
Fonte: Elaborado pelo autor, 2023
Capítulo 4. TESTE DE SOFTWARE 39
Figura 14 – Tela exibindo alteração no campo de artigos descartados
Fonte: Elaborado pelo autor, 2023
Figura 15 – Tela de salvamento da pesquisa atual
Fonte: Elaborado pelo autor, 2023
Capítulo 4. TESTE DE SOFTWARE 40
Figura 16 – Tela exibindo que a pesquisa foi salva
Fonte: Elaborado pelo autor, 2023
Nas Figuras 17 e 18 é exibida a quantidade de artigos que foram descartados no
salvamento anterior.
Figura 17 – Tela principal exibindo o campo de artigos descartados
Fonte: Elaborado pelo autor, 2023
Capítulo 4. TESTE DE SOFTWARE 41
Figura 18 – Tela dos artigos descartados
Fonte: Elaborado pelo autor, 2023
Teste 3 : Atualização de Progresso
CT. 5 Barra de progresso bem-sucedida
• Passos:
1.1 Abra o programa RSPaper
1.2 Clique no botão “Novo Projeto”
1.3 Digite no campo de pesquisa “covid”
1.4 Clique no botão”Pesquisar”
• Verificação:
Deverá ser exibida a barra de progresso atualizando conforme o andamento da
pesquisa.
• Evidências:
Na Figura 19 é observada a tela inicial sem nenhum artigo e mouse sobre botão
“Novo Projeto” que, ao ser clicado, abre a janela que esta na Figura 20.
Capítulo 4. TESTE DE SOFTWARE 42
Figura 19 – Tela inicial sem artigos
Fonte: Elaborado pelo autor,2023
Figura 20 – Tela de novo projeto
Fonte: Elaborado pelo autor,2023
Na Figura 21, pode ser observada a realização de uma pesquisa na janela “Novo
Projeto”.
Capítulo 4. TESTE DE SOFTWARE 43
Figura 21 – Tela de novo projeto pesquisando artigos sobre covid
Fonte: Elaborado pelo autor, 2023
Na Figura 22 tem-se a barra de progressão sendo preenchida conforme os artigos
vão sendo carregados no programa.
Figura 22 – Tela inicial com a barra de progresso
Fonte: Elaborado pelo autor, 2023
Capítulo 4. TESTE DE SOFTWARE 44
Teste4 : Janela de definições de filtros
CT. 6 Abertura da janela de definição de filtro
• Passos:
1.1 Abra o programa RSPaper
1.2 Clique no botão “Novo Projeto”
1.3 Clique no botão “Pesquisa avançada”
1.4 Escreva as palavras chaves
1.5 Clique em “Adicionar Palavras-Chaves”
• Verificação:
As palavras adicionadas deverão ser exibidas no campo de pesquisa da janela do
novo projeto.
• Evidências:
Novamente, na Figura 23 pode ser observada a tela “Novo Projeto” com o mouse
sobre o botão pesquisa avançada e na Figura 24 a janela pesquisa avançada aberta.
Figura 23 – Tela Novo projeto
Fonte: Elaborado pelo autor, 2023
Capítulo 4. TESTE DE SOFTWARE 45
Figura 24 – Tela pesquisa avançada.
Fonte: Elaborado pelo autor, 2023
A Figura 25 mostra a tela de novo projeto com a inserção das regras da palavras-
chaves.
Figura 25 – Tela de novo projeto com a inserção das regras da palavras-chaves
Fonte: Elaborado pelo autor, 2023
Capítulo 4. TESTE DE SOFTWARE 46
Teste 5 : Botões de seleção de artigos
CT. 7 Botão “Artigos de Interesse”
Premissa: Ter pesquisas salvas anteriormente.
• Passos:
1 - Abrir uma pesquisa realizada anteriormente
2 - Selecionar 3 artigos de interesse
3 - Clicar no botão “Artigos de interesse”
• Verificação:
O campo “Artigos de interesse” deverá estar atualizado com 3 artigos e, ao clicar-se
no botão, deverá ser exibido a tela de artigos de interesse contendo somente os três artigos.
• Evidências:
Nas Figuras 26 e 27 é apresentados o processo para abrir uma pesquisa salva
anteriormente.
Figura 26 – Tela Principal
Fonte: Elaborado pelo autor, 2023
Capítulo 4. TESTE DE SOFTWARE 47
Figura 27 – Tela com resultados de pesquisas anteriores.
Fonte: Elaborado pelo autor, 2023
As Figuras 28 e 29 apresentam a ação de selecionar um artigo
Figura 28 – Tela com o cursor sobre o botão “Like” do artigo.
Fonte: Elaborado pelo autor, 2023
Capítulo 4. TESTE DE SOFTWARE 48
Figura 29 – Tela com a solicitação de confirmação para mover artigo selecionado para a aba artigos
de interesse.
A Figura 30 exibe a janela principal com o campo “Artigos de Interesse”, atualizado,
indicando que há 3 artigos de interesses.
Figura 30 – Tela com o cursor sobre o botão de artigos de interesse.
Fonte: Elaborado pelo autor, 2023
A Figura 31 exibe a tela de artigos de interesse contendo somente os três artigos
selecionados.
Capítulo 4. TESTE DE SOFTWARE 49
Figura 31 – Tela da aba artigos de interesse.
Fonte: Elaborado pelo autor, 2023
CT. 8 Botão “Artigos Descartados”
Premissa: Ter pesquisas salvas anteriormente.
• Passos:
1 - Abrir uma pesquisa realizada anteriormente
2 - Descartar 3 artigos de interesse
3 - Clicar no botão “Artigos Descartados”
• Verificação:
O campo “Artigos Descartados” deverá estar atualizado com 3 artigos e, ao clicar
no botão, deverá ser exibida a tela de artigos descartados contendo somente os três
artigos.
• Evidências:
Nas Figuras 32 e 33 é apresentados o processo para abrir uma pesquisa salva
anteriormente.
Capítulo 4. TESTE DE SOFTWARE 50
Figura 32 – Tela principal
Fonte: Elaborado pelo autor, 2023
Figura 33 – Tela com seleção de projeto salvo na pasta de resultados.
Fonte: Elaborado pelo autor, 2023
As Figuras 34 e 35 apresentam a ação de descartar um artigo.
Capítulo 4. TESTE DE SOFTWARE 51
Figura 34 – Tela com cursor em cima do botão de “Deslike”.
Fonte: Elaborado pelo autor, 2023
Figura 35 – Tela de confirmação da transferência do artigo para a aba de artigos descartados
Fonte: Elaborado pelo autor, 2023
Capítulo 4. TESTE DE SOFTWARE 52
A Figura 36 exibe a janela principal com o campo “Artigos Descartados” atualizado,
indicando que há 3 artigos descartados.
Figura 36 – Tela com o cursor sobre o botão de artigos descartados.
Fonte: Elaborado pelo autor, 2023.
A Figura 37 exibe a tela de artigos descartados contendo somente os três artigos
selecionados.
Figura 37 – Tela somente com os artigos descartados.
Capítulo 4. TESTE DE SOFTWARE 53
4.4 ANALISE DOS RESULTADOS
Com base nas solicitações de melhorias por parte de (Marques; Dias, 2023), foi
implementada a função salvar para poder armazenar o estado de pesquisa em formato
.rsp, foi criado o arquivo “Controllers.py” visando separar funções relativas ao controle que
estavam na view “JanelaPrincipal.py”. O arquivo “LeitorArquivo.py” foi transferido para o
models, alêm da integração com o módulo servers_controlers que foi desenvolvido pelo
colegaVagner Luiz Heineck dos Santos e que possibilitou a aquisição de artigos das fontes
Scopus e Pubmed.
E que após os testes realizados é excelente notar que a reestruturação da classe
controller foi bem-sucedida e que todos os testes foram concluídos com êxito. Esses
resultadossão indicativosdeumprocessoderefatoraçãoeficiente,ondeasmodificaçõesna
estruturadocódigonãoapenasatenderamàsexpectativas,mastambémforamvalidadasde
maneiraabrangentepelos testes funcionaisderegressão.Essesresultadosbem-sucedidos
trazem alguns pontos positivos e implicações:
• Integridade Funcional Preservada:
A reestruturação da classe controller não comprometeu a integridade funcional do
sistema.A validaçãobem-sucedida indica queasalteraçõesmantiveramoumelhoraramas
funcionalidades existentes.
• Cobertura Adequada dos Testes:
A conclusão bem-sucedida dos testes sugere que a cobertura dos casos de teste foi
adequada para capturar os principais cenários de uso da classe controller. Isso é crucial
para garantir a robustez do sistema.
• Efetividade dos Testes de Regressão:
Os testes de regressão, ao serem bem-sucedidos, demonstram a efetividade do
conjunto de testes em identificar potenciais regressões introduzidas durante areestruturação.
Isso reflete a qualidade dos casos de teste implementados.
• Confiança na Refatoração:
Osucessodos testesproporcionaumnívelmaiselevadodeconfiançana refatoração
realizada. A equipe de desenvolvimento pode sentir-se mais segura de que as alterações
não introduziram comportamentos indesejados ou falhas nosistema.
• Economia de Recursos:
Capítulo 4. TESTE DE SOFTWARE 54
A conclusão bem-sucedida dos testes também implica em economia de recursos,
uma vez que não será necessário alocar tempo e esforço significativos para corrigir falhas
ou regressões identificadas durante a execução dos testes.
• Validação do Processo de Desenvolvimento:
O êxito dos testes reflete positivamente no processo de desenvolvimento como um
todo. Indica que as práticas de refatoração e os procedimentos de teste foram seguidos
adequadamente.
• Oportunidade para Melhorias Contínuas:
No entanto, é essencial manter a vigilância contínua. Monitorar o desempenho do
sistema após a implementação em um ambiente de produção real é uma prática recomen-
dada para identificar qualquer impacto não detectado nos testes. Este sucesso serve como
uma base sólida para o desenvolvimento futuro, destacando a importância da integração
eficaz entre refatoração e testes contínuos.
55
5 CONCLUSÃO
Nodecorrerdeste trabalho, foramexploradosos fundamentosda InteraçãoHumano-
Computador (IHC), apresentando sua evolução ao longo das décadas e a importância de
padrões de qualidade, para garantir sistemas eficazes e centrados no usuário.
No contexto da qualidade em IHC, foi enfatizada a importância da usabilidade,
acessibilidade e comunicabilidade. Estas não são apenas métricas técnicas, mas também
consideram o contexto de uso e a experiência humana, promovendo designs centrados no
usuário.
Acompreensãoda IHCfoiaprofundadapormeiodas regras fundamentaispropostas
por Ben Shneiderman, destacando a consistência, a usabilidade universal, o feedback
informativo e outras diretrizes essenciais para o design eficaz de sistemas e interfaces.
No capítulo sobre o RSPAPER foi apresentado a criação do módulo de
controladores, cujo propósito é separar as funções relacionadas ao controle da
aplicação da janela principal da view, mantendo esta última exclusivamente com
funções relacionadas à interface. Além disso, foi realizado um processo de integração
entre o módulo servers_controllers, fornecidopelo colega Vagner, e o RSPaperQt6.
Esse aprimoramento permite o acesso aos artigos das fontes Pubmed e Scopus,
possibilitando a exibição dos resultados da pesquisa na View. Foram incorporados
métodos para salvar o estado da pesquisa no formato .rsp e para recuperá-lo
posteriormente em momentos subsequentes. A classe LeitorArquivo foi transferida para
o módulo de modelos, juntamente com outras modificações nas classes Artigo,
DefinirFiltroWindow e JanelaPrincipal, visando manter as funcionalidades originais para
as quais o projeto foi concebido.
Nocapítulode testesdesoftware, esforços foramconcentradosnos testes funcionais
e, especificamente, nos testes de regressão.Combaseemprincípios reconhecidos interna-
cionalmente, foi elaborado um plano de teste que abrange o módulo controller, garantindo
que as alterações implementadas não impactassem negativamente nas funcionalidades
existentes.
Em síntese, este TCC proporcionou uma análise abrangente da IHC e dos testes de
software, destacando a evolução, os princípios fundamentais e a importância da qualidade
na interação entre humanos e computadores. Espera-se que este trabalho contribua para o
avanço contínuo na criação de sistemas mais eficazes, acessíveis e centrados no usuário.
Para futuras melhorias, ficou:
• Implementação do botão “exportar”;
• Implementação do botão “ordenar”;
• Implementação de outras fontes de dados como Merck eDrugbank;
• Direcionamento para o link da página do artigo quando este é selecionado na janela
do abstract.
56
REFERÊNCIAS
BARBOSA, S.; SILVA, B. Interação humano-computador. [S.l.]: Elsevier Brasil, 2010.
CHISHOLM, W.; MAY, M. Universal Design for Web Applications: Web Applications That
Reach Everyone. O’Reilly Media., 2008.
COOPER, A.; REIMANN, R.; CRONIN, D. About Face: The Essentials of Interaction Design.
Wiley, 2014.
COUTINHO, J.B.; VALLADÃO,L.C.RSPAPERSV.0.3.0:MELHORIADE INTERFACEDE
UM SOFTWARE DE RECOMENDAÇÕES PARA ARTIGOS CIENTÍFICOS. 2022. 60 p.
Monografia (Tecnologia em Sistemas de Computação) — UNIVERSIDADE FEDERAL
FLUMINENSE.
DIX, A. et al. Human Computer Interaction, Pearson Education. 2004.
DUMAS, J. S.; LORING, B. A. Moderating Usability Tests: Principles and Practices for
Interacting. Morgan Kaufmann, 2008.
ELSEVIER. O que é a visualização do Scopus? 27 de junho de 2022. Disponível em:
https://service:elsevier:com/app/answers/detail/a_id/15534/supporthub/scopus/#tips.
Acesso em: 15/12/2023.
ENGLEBART, D. C.; WILLIAM, K. E. A Research Center for Augmenting Human Intellect.
Proceedingsof theDecember 9-11, 1968, fall joint computer conference, part I., AFIPS
Conference Proceedings, 1968.
FOLSTAD, A. Chatbots in customer service: An overview. AI & Society, 33(3), 423-440,
2018.
FOWLER, M. Patterns of Enterprise Application Architecture. 1. ed. [S.l.]: Addison-
Wesley Professional, 5 novembro 2002. 560 p. ISBN -10 : 0321127420 ISBN-13 :
978-0321127426.
GAMMA, E. et al.Design Patterns: Elements of ReusableObject-Oriented Software. [S.l.]:
Addison-Wesley, 1994.
JESSE JAMES GARRET. The Elements of User Experience: User-Centered Design for
the Web and Beyond, Second Edition. 2. ed. [S.l.]: Pearson Education, Inc., 2010. ISBN
9780321683687.
MARQUES, A. M. C.; DIAS, L. B. RSPAPERS V. 0.3.0: IMPLEMENTAÇÃO DA
INTERFACE DE UM SOFTWARE DE RECOMENDAÇÕES PARA ARTIGOS CIENTÍFICOS
UTILIZANDO PYQT6. 2023. 57 p. Monografia (Tecnologia em Sistemas de Computação) —
UNIVERSIDADE FEDERAL FLUMINENSE.
MOLINARI, L. Testes de software: Produzindo sistemas melhores e mais confiáveis.
4. ed. [S.l.]: Editora Érica, 30 julho 2009. 232 p. ISBN -10 : 857194959X ISBN-13 :
978-8571949591.
MYERS, G. J. The Art of Software Testing. 3. ed. [S.l.]: Wiley, 8 novembro 2011. 240 p.
ISBN -10 : 1118031962 ISBN-13 : 978-1118031964.
https://service.elsevier.com/app/answers/detail/a_id/15534/supporthub/scopus/#tips
Referências 57
NIELSEN, J. Usability Engineering. Morgan Kaufmann, Academic Press, 1994.
NIELSEN, J.; LORANGER, H. Prioritizing WebUsability. Educação Pearson, 2006.
NIELSEN, J.; MOLICH, R. Heuristic evaluation of user interfaces. In Proceedings of the
SIGCHI conference onHumanFactors inComputing Systems.DOI: 10.1145/97243.97281,
1990.
NORMAN, D. A. Living with Complexity. MIT Press, 2010.
NORMAN, D. A. The Design of Everyday Things. [S.l.]: Basic Books, 1988.
NORMAN, D. A. The Design of Everyday Things. Basic Books, 2013.
OLSEN, K.; POSTHUMA, M.; ULRICH, S. Certified Tester Foundation Level (CTFL)
Syllabus. [S.l.]: Copyright Notice ©International Software Testing Qualifications Board
(hereinafter called ISTQB®), 1 julho 2021.
PRECEE et al. Human-Computer Interaction. Addison-Wesley, 1994.
PRESSMAN, R. S. Modelos de processo. In: PRESSMAN, R. S. (ed.). Engenharia de
software uma abordagem profissional. Ltda, 2011. Sétima Edição, cap. 2. Disponível
em: http://paginapessoal:utfpr:edu:br/wolff/disciplinas/et7bh-sistemas-flexiveis-de-
manufatura/s11-engenharia-de-software/S11-Cap2-ModelosdeProcesso-Pressman-
2011:pdf/at_download/file. Acesso em: 18 nov. de 2017.
PUBMED. PubMed User Guide. 12 dezembro 2023. Disponível em: https:
//pubmed:ncbi:nlm:nih:gov/help/. Acesso em: 15/12/2023.
ROCHA, H. V.; BARANAUSKAS, M. C. C. Design e avaliação de interfaces
humanocomputador.Universidade Estadual deCampinas, UNICAMP,Campinas, 2003.
SHARP, H.; ROGERS, Y.; PREECE, J. Interaction Design: Beyond Human-Computer
Interaction. Wiley. 2015.
SHNEIDERMAN, B. Designing the User Interface: Strategies for Effective Human-Computer
Interaction. Pearson, 2016.
SHNEIDERMAN, B. Designing the user interface: Strategies for effective human-computer
interaction. Addison-Wesley, v. 3 ed, 1998.
SHNEIDERMAN, B. Designing the user interface: strategies for effective human-computer
interaction. Pearson, p. 480 –, 2005.
SUMMERFIELD, I. Engenharia de Software. 10. ed. [S.l.]: Pearson, 22 abril 2019. 768 p.
ISBN ISBN-10 : 8543024978 ISBN-13 : 978-8543024974.
SUMMERFIELD, M. Rapid GUI Programming with Python and Qt: The Definitive Guide
to PyQt Programming (Pearson Open Source Software Development Series). 1. ed. [S.l.]:
Pearson, 9 outubro 2015. 648 p. ISBN -10 : 0134393333 ISBN-13 : 978-0134393339.
WHITTAKER, J. How to Break Software: A Practical Guide to Testing W/CD. 1. ed. [S.l.]:
Pearson, 9 maio 2002. 208 p. ISBN -10 : 0201796198 ISBN-13 : 978-0201796193.
http://paginapessoal.utfpr.edu.br/wolff/disciplinas/et7bh-sistemas-flexiveis-de-manufatura/s11-engenharia-de-software/S11%20-%20Cap2%20-%20Modelos%20de%20Processo-%20Pressman-%202011.pdf/at_download/file
http://paginapessoal.utfpr.edu.br/wolff/disciplinas/et7bh-sistemas-flexiveis-de-manufatura/s11-engenharia-de-software/S11%20-%20Cap2%20-%20Modelos%20de%20Processo-%20Pressman-%202011.pdf/at_download/file
http://paginapessoal.utfpr.edu.br/wolff/disciplinas/et7bh-sistemas-flexiveis-de-manufatura/s11-engenharia-de-software/S11%20-%20Cap2%20-%20Modelos%20de%20Processo-%20Pressman-%202011.pdf/at_download/file
https://pubmed.ncbi.nlm.nih.gov/help/
https://pubmed.ncbi.nlm.nih.gov/help/
	RESUMO
	LISTA DE ILUSTRAÇÕES
	1INTRODUÇÃO
	2FUNDAMENTAÇÃO TEÓRICA
	2.1INTERAÇÃO HUMANO COMPUTADOR (IHC)
	2.2BREVE HISTÓRICO DA EVOLUÇÃO (IHC)
	2.3REGRAS FUNDAMENTAIS PARA O BOM FUNCIONAMENTO DE UM
	2.4HEURÍSTICAS DE NIELSEN PARA O BOM FUNCIONAMENTO DE
	2.5ANÁLISE E PROJETO DE INTERFACE
	3RSPAPER V 0.4.0
	3.1BIBLIOTEC PYQT6
	3.2DIAGRAMA DE CLASSE
	4TESTE DE SOFTWARE
	4.1TESTES FUNCIONAIS
	4.2PLANO DE TESTE
	Plano de Teste de Regressão - IEEE 829
	4.3EXECUÇÃO DOS TESTES
	4.4ANALISE DOS RESULTADOS
	5CONCLUSÃO
	REFERÊNCIAS

Mais conteúdos dessa disciplina