[en] COMMUNICATIVE DIMENSIONS OF APPLICATION PROGRAMMING INTERFACES (APIS)

Detalhes bibliográficos
Ano de defesa: 2016
Autor(a) principal: LUIZ MARQUES AFONSO
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Tese
Tipo de acesso: Acesso aberto
Idioma: eng
Instituição de defesa: MAXWELL
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=27060&idi=1
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=27060&idi=2
http://doi.org/10.17771/PUCRio.acad.27060
Resumo: [pt] Interfaces de programação, ou application programming interfaces (APIs) possuem um papel chave no desenvolvimento de software, uma vez que os programadores precisam lidar com diversas rotinas e serviços, desde bibliotecas de sistemas operacionais a frameworks de aplicação complexos. Para o uso efetivo de uma API, programadores devem ter uma boa compreensão do artefato de software, suas abstrações e conceitos subjacentes, desenvolvendo uma interpretação compatível com a intenção do designer. Devido à complexidade dos sistemas e ambientes de programação atuais, aprender e usar adequadamente uma API pode ser uma tarefa não trivial para muitos programadores. Tradicionalmente, estudos sobre o design de APIs foram desenvolvidos sob uma perspectiva de usabilidade. Esses estudos geraram evidências de que o projeto inadequado de uma API pode ter impacto sobre a produtividade de um programador e sobre a qualidade do software, e colaboraram para incrementar o design de APIs novas ou já existentes. Esta tese propõe uma nova abordagem para investigar e discutir design de APIs, baseada numa perspectiva de comunicação sob a orientação teórica da Engenharia Semiótica. Nessa perspectiva, uma API pode ser vista como um processo de comunicação que ocorre entre o designer e o programador, no qual o primeiro codifica uma mensagem para o segundo sobre como ele deve se comunicar com o sistema e usar as suas funcionalidades, de acordo com a visão de design. Essa abordagem provê uma caracterização do espaço de design de APIs que enfatiza os aspectos pragmáticos e cognitivos da comunicação humana mediada por este tipo de artefato de software. Através da coleta e da análise qualitativa de dados empíricos de repositórios de bugs e outras fontes, essa pesquisa contribui para uma compreensão mais ampla sobre o tema, provendo um framework epistêmico que pode ser usado no apoio à análise, discussão e avaliação do design de APIs.