Simple Science

Ciência de ponta explicada de forma simples

# Informática# Engenharia de software

Aproveitando Cenários de Usuário para o Desenvolvimento de Apps

Um novo método pra extrair os requisitos dos usuários a partir de cenários de apps usando modelos de linguagem.

Pragyan KC, Rocky Slavin, Sepideh Ghanavati, Travis Breaux, Mitra Bokaei Hosseini

― 8 min ler


Cenários de UsuárioCenários de UsuárioImpulsionam Insights deAppapp a partir de cenários de usuários.Extraindo os principais requisitos do
Índice

Aplicativos móveis são super populares e amplamente usados, o que tá fazendo a indústria de apps crescer. Muitas vezes, esses apps são desenvolvidos por equipes pequenas com recursos limitados, especialmente nos primeiros estágios do desenvolvimento. Nessa fase inicial, coletar os requisitos dos usuários através de métodos como entrevistas pode ser complicado. Como resultado, as empresas costumam priorizar o desenvolvimento e o lançamento em vez de entender as necessidades dos usuários. Além disso, os requisitos desses apps mudam com frequência pra acompanhar a concorrência do mercado.

À medida que as empresas padronizam seus processos de desenvolvimento, elas começam a documentar e analisar os requisitos. Uma fonte útil de requisitos dos usuários depois que um app é lançado é o feedback dado pelos usuários. Os usuários muitas vezes escrevem cenários descrevendo suas experiências e como interagem com o app. Este artigo discute um novo método para extrair componentes essenciais para casos de uso de apps a partir desses cenários escritos pelos usuários usando modelos de linguagem avançados.

Importância do Feedback dos Usuários

O feedback dos usuários é crucial no desenvolvimento de aplicativos móveis. Esse feedback geralmente vem na forma de avaliações de apps, que normalmente são curtas e podem faltar detalhes importantes. Estudos mostram que muitas avaliações não oferecem informações úteis que os desenvolvedores podem usar para melhorar o app. Por isso, contar apenas com avaliações pode não ser suficiente para coletar requisitos abrangentes do app.

Em vez de usar avaliações, sugerimos adotar cenários escritos pelos usuários como um método para descobrir os requisitos dos usuários. Nesse approach, os usuários do app são convidados a descrever seus objetivos enquanto usam uma funcionalidade específica do app. Eles detalham os passos que tomam para alcançar esses objetivos e as informações necessárias. Esse método é benéfico porque fornece informações mais ricas sobre as expectativas e comportamentos dos usuários.

Coletando Cenários de Usuários

Para coletar esses cenários de usuários, fizemos uma pesquisa focando em usuários de apps. Os participantes foram convidados a escolher um app que eles usam com frequência e fornecer uma descrição de sua interação com uma parte específica desse app. Eles enviaram uma captura de tela da tela do app e descreveram seu objetivo, os passos tomados para chegar naquela tela e as informações necessárias para alcançar seu objetivo usando pelo menos 150 palavras.

A pesquisa foi disponibilizada através de plataformas que conectam um grande número de participantes, garantindo um grupo diversificado de usuários de apps. Para proteger as informações pessoais, os participantes foram instruídos a remover qualquer dado sensível de seus uploads de captura de tela.

Analisando Cenários de Usuários

Depois que os cenários dos usuários foram coletados, nós os rotulamos para identificar diferentes componentes. Esses componentes incluem elementos como o objetivo do usuário, ações tomadas e interações relacionadas à privacidade. O objetivo era categorizar as informações de uma maneira que facilitasse a análise e a extração de requisitos significativos para o aplicativo móvel.

A rotulação manual desses cenários é vital, mas demora e pode resultar em erros, especialmente quando os requisitos estão sempre mudando. Nossa solução proposta é usar grandes modelos de linguagem (LLMs), que podem identificar e extrair automaticamente esses componentes de casos de uso a partir dos cenários dos usuários.

Usando o ChatGPT para Extração

O ChatGPT, um modelo de linguagem bem conhecido, foi escolhido para essa tarefa. Ele ganhou popularidade pela sua capacidade de gerar e processar linguagem natural. Para avaliar como o ChatGPT pode extrair componentes de casos de uso, projetamos vários estudos para analisar seu desempenho.

No primeiro estudo, avaliamos a qualidade dos cenários escritos pelos usuários, examinando se eles forneciam objetivos, passos e informações necessárias claros. No segundo estudo, comparamos os componentes de casos de uso identificados por meio de rotulação manual com aqueles gerados pelo ChatGPT.

Nesses estudos, também observamos como modificar as instruções dadas ao ChatGPT (conhecido como engenharia de prompts) poderia impactar a qualidade da saída. Ao refinar essas instruções, buscamos melhorar como o modelo identificava os componentes relevantes de casos de uso.

Resultados do Primeiro Estudo

O primeiro estudo focou em avaliar os cenários dos usuários coletados através da pesquisa. O objetivo era determinar quantos cenários incluíam metas, passos e práticas de informação relacionadas à privacidade claramente definidos. Nossa análise revelou que uma grande maioria dos cenários continha objetivos e passos bem definidos. No entanto, menos cenários incluíam informações relacionadas à privacidade, o que indica que os usuários podem não ter considerado esse aspecto ao escrever seus cenários.

Comparando Extração Manual e Automatizada

No segundo estudo, examinamos a eficácia do ChatGPT em extrair componentes de casos de uso dos cenários dos usuários. Estabelecemos dados de verdade básica através de rotulação manual para servir como um padrão para avaliar a extração automatizada. Ao comparar os componentes identificados pelo ChatGPT com os rotulados manualmente, pudemos medir a precisão e a qualidade.

A análise mostrou que, embora o ChatGPT tenha se saído razoavelmente bem na extração de componentes, havia áreas notáveis onde ainda precisava melhorar. O modelo às vezes falhava em captar o contexto ou nuances dos cenários, resultando em identificação de componentes incompletas ou imprecisas.

Impacto da Engenharia de Prompt

A engenharia de prompt teve um papel fundamental na melhoria da saída do ChatGPT. Ao refinar as instruções dadas ao modelo, descobrimos que era possível aprimorar a qualidade dos componentes extraídos. Isso envolveu fornecer definições e exemplos mais claros dos componentes que queríamos que o modelo extraísse.

Em estudos subsequentes, testamos diferentes prompts e rastreamos as melhorias na qualidade da saída. Os resultados indicaram que prompts bem estruturados levavam a extrações mais precisas dos componentes de casos de uso. Essa descoberta sugere que os desenvolvedores podem se beneficiar bastante ao dedicar tempo para criar prompts eficazes ao usar modelos de linguagem para extração de requisitos.

Desafios na Extração

Apesar dos resultados promissores, ainda há vários desafios na extração de componentes de casos de uso. O modelo de linguagem frequentemente teve dificuldade em extrair informações relacionadas à privacidade, que são cruciais para o desenvolvimento de apps no cenário atual orientado a dados. Esse problema decorre da falta de conhecimento específico do domínio por parte do modelo, o que destaca a necessidade de contexto adicional nos prompts que fornecemos.

Além disso, ao analisar os cenários, ficou claro que o ChatGPT tendia a resumir interações complexas em expressões simplificadas. Esse comportamento pode diminuir a qualidade dos componentes extraídos, pois pode deixar de lado detalhes críticos ou representar mal as interações dos usuários.

Recomendações para Trabalhos Futuros

Com base nas descobertas dos nossos estudos, recomendamos várias direções para trabalhos futuros. Primeiro, o ajuste fino de modelos de linguagem com conhecimento do domínio pode ajudar a melhorar sua compreensão de contextos e requisitos específicos. Isso aumentaria a precisão dos componentes extraídos, especialmente no que diz respeito às práticas de privacidade.

Outra sugestão envolve pesquisar padrões de prompts que consistentemente geram extrações de alta qualidade. Ao identificar esses padrões, os desenvolvedores podem criar um kit de ferramentas de prompts que pode ser usado para melhorar o desempenho dos modelos de linguagem na extração de requisitos.

Por último, encorajamos a exploração do potencial dos modelos de linguagem para gerar outros artefatos que possam ser úteis nas fases de design e desenvolvimento, como modelos de dados e especificações funcionais baseadas nos requisitos dos usuários.

Conclusão

O crescimento de aplicativos móveis enfatiza a necessidade de uma compreensão sólida dos requisitos dos usuários. Este artigo apresenta uma nova abordagem para extrair componentes de casos de uso a partir de cenários escritos pelos usuários através do uso de modelos de linguagem avançados como o ChatGPT. Embora nossas descobertas indiquem que progressos significativos foram feitos na automação da extração de requisitos, desafios ainda permanecem.

O ChatGPT pode ajudar a identificar componentes de casos de uso, mas deve-se prestar atenção cuidadosa à engenharia de prompts para maximizar a qualidade da saída. Pesquisas e desenvolvimentos futuros nessa área prometem aprimorar ainda mais a prática de coleta e análise de requisitos no dinâmico mundo do desenvolvimento de aplicativos móveis.

Fonte original

Título: An Analysis of Automated Use Case Component Extraction from Scenarios using ChatGPT

Resumo: Mobile applications (apps) are often developed by only a small number of developers with limited resources, especially in the early years of the app's development. In this setting, many requirements acquisition activities, such as interviews, are challenging or lower priority than development and release activities. Moreover, in this early period, requirements are frequently changing as mobile apps evolve to compete in the marketplace. As app development companies move to standardize their development processes, however, they will shift to documenting and analyzing requirements. One low-cost source of requirements post-deployment are user-authored scenarios describing how they interact with an app. We propose a method for extracting use case components from user-authored scenarios using large language models (LLMs). The method consists of a series of prompts that were developed to improve precision and recall on a ground truth dataset of 50 scenarios independently labeled with UC components. Our results reveal that LLMs require additional domain knowledge to extract UC components, and that refining prompts to include this knowledge improves the quality of the extracted UC components.

Autores: Pragyan KC, Rocky Slavin, Sepideh Ghanavati, Travis Breaux, Mitra Bokaei Hosseini

Última atualização: 2024-08-06 00:00:00

Idioma: English

Fonte URL: https://arxiv.org/abs/2408.03395

Fonte PDF: https://arxiv.org/pdf/2408.03395

Licença: https://creativecommons.org/licenses/by/4.0/

Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.

Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.

Artigos semelhantes