Return to search

[en] COMMUNICATIVE DIMENSIONS OF APPLICATION PROGRAMMING INTERFACES (APIS) / [pt] DIMENSÕES COMUNICATIVAS DE INTERFACES DE PROGRAMAÇÃO (APIS)

[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. / [en] Application programming interfaces (APIs) have a central role in software development, as programmers have to deal with a number of routines and services that range from operating system libraries to large application
frameworks. In order to effectively use APIs, programmers should have good comprehension of these software artifacts, making sense of the underlying abstractions and concepts by developing an interpretation that is compatible with the designer s intent. Due to the complexity of today s systems and programming environments, learning and using an API properly can be non-trivial task to many programmers. Traditionally, studies on API design have been developed from a usability standpoint. These studies have provided evidence that bad APIs may a effect programmer s productivity and software quality, offering valuable insights to improve the design of new and existing APIs. This thesis proposes a novel approach to investigate and discuss API design, based on a communication perspective under the theoretical guidance of Semiotic Engineering. From this perspective, an API can be viewed as a communication process that takes place between designer and programmer, in which the former encodes a message to the latter about how to communicate back with the system and use the artifact s features, according to its design vision. This approach provides an account of API design space that highlights the pragmatic and cognitive aspects of human communication mediated by this type of software artifact. By means of the collection and qualitative analysis of empirical data from bug repositories and other sources, this research work contributes to a deeper comprehension of the subject, providing an epistemic framework that intends to support the analysis, discussion and evaluation of API design.

Identiferoai:union.ndltd.org:puc-rio.br/oai:MAXWELL.puc-rio.br:27060
Date28 July 2016
CreatorsLUIZ MARQUES AFONSO
ContributorsCLARISSE SIECKENIUS DE SOUZA
PublisherMAXWELL
Source SetsPUC Rio
LanguageEnglish
Detected LanguageEnglish
TypeTEXTO

Page generated in 0.0027 seconds