Título: | PROMOVENDO APIS CONVERSACIONAIS: UM FRAMEWORK CONCEITUAL E UM MÉTODO PARA O DESIGN DE APIS | ||||||||||||
Autor: |
JOAO ANTONIO DUTRA MARCONDES BASTOS |
||||||||||||
Colaborador(es): |
ALESSANDRO FABRICIO GARCIA - Orientador |
||||||||||||
Catalogação: | 20/OUT/2020 | Língua(s): | INGLÊS - ESTADOS UNIDOS |
||||||||||
Tipo: | TEXTO | Subtipo: | TESE | ||||||||||
Notas: |
[pt] Todos os dados constantes dos documentos são de inteira responsabilidade de seus autores. Os dados utilizados nas descrições dos documentos estão em conformidade com os sistemas da administração da PUC-Rio. [en] All data contained in the documents are the sole responsibility of the authors. The data used in the descriptions of the documents are in conformity with the systems of the administration of PUC-Rio. |
||||||||||||
Referência(s): |
[pt] https://www.maxwell.vrac.puc-rio.br/projetosEspeciais/ETDs/consultas/conteudo.php?strSecao=resultado&nrSeq=49982&idi=1 [en] https://www.maxwell.vrac.puc-rio.br/projetosEspeciais/ETDs/consultas/conteudo.php?strSecao=resultado&nrSeq=49982&idi=2 |
||||||||||||
DOI: | https://doi.org/10.17771/PUCRio.acad.49982 | ||||||||||||
Resumo: | |||||||||||||
APIs (do inglês - application programming interfaces) desempenham um
papel crucial no desenvolvimento de software. Quase todos os programadores
estão frequentemente na posição de utilizar APIs de terceiros. Atualmente,
encontramos várias pesquisas que procuram explorar e compreender as interações
dos usuários com a API do ponto de vista da usabilidade. No entanto,
tais estudos deixam de fora um aspecto importante da qualidade de uso de
uma API, a comunicabilidade. Ao contrário da usabilidade, cuja definição está
associada à facilidade de uso e aprendizagem, a comunicabilidade está associada
à capacidade de um artefato de comunicar sua lógica de projeto. Uma
API que carece de comunicabilidade pode levar os usuários ao uso indevido e
produzir bugs em seu código. Esta tese de doutorado aborda este problema a
partir de uma perspectiva de Engenharia Semiótica. Ao caracterizar uma API
como um artefato mediador da comunicabilidade, começamos nossa tese com
a proposta de que as APIs deveriam ser coloquiais. Diagnosticamos em nosso
primeiro estudo que os usuários, em certos casos, têm dificuldade em compreender
a lógica interna de funcionamento de um API apenas olhando para suas
interfaces. Neste estudo, descobrimos que as APIs muitas vezes carecem de
comunicabilidade. Enquanto a usabilidade é sobre a capacidade do usuário de
aprender e usar uma API, a comunicabilidade é sobre a capacidade da API
de transferir a comunicação do projetista para o usuário, expondo assim sua
lógica de projeto. Uma API conversacional é aquela que pode expor sua lógica
interna através de suas interfaces, atendendo aos contextos pragmáticos de seus
usuários. A partir deste estudo, nós nos propusemos então a definir o que é
uma API conversacional na prática e a investigar quais métodos ou tecnologias
seriam necessários para auxiliar os projetistas na criação de tais APIs. Nesta
tese, propomos uma estrutura conceitual e um método para apoiar o projeto
de APIs de conversação. Ao projetar uma API, o projetista tem em mãos três
maneiras diferentes de enviar sua mensagem ao seu usuário: o código fonte,
a documentação e o comportamento da API. Nossa estrutura conceitual explora
como caracterizar e classificar uma API de conversação de acordo com os
três tipos de mensagens da perspectiva do projetista. Nosso método de apoio
ao projeto da API de conversação, que foi inspirado nos resultados e lições
aprendidas de uma pesquisa-ação que realizamos, consiste em três etapas. O
primeiro passo é ajudar o projetista a identificar quem são os usuários da API
e suas necessidades de conversação específicas. Na segunda etapa, o método
ajuda o projetista na modelagem de possíveis conversas de API com os diferentes
usuários mapeados para atingir seus objetivos. Finalmente, o método
fornece um conjunto de diretrizes para guiar o projetista na definição das interfaces API, incluindo sua parametrização. Usando este método, realizamos
um estudo de caso com um projeto de API, que visa apoiar a refatoração de
programas Java. Do ponto de vista do projetista da API, o método o ajudou a
criar empatia com seus usuários e a melhor derivar e refletir sobre os requisitos
e conversas que a API deve fornecer aos diferentes perfis de usuários.
|
|||||||||||||
|