Portabilidade¶
Introdução¶
Este artefato tem como objetivo aplicar o método GQM (Goal-Question-Metric) para entender o módulo file-exr do GIMP sob o critério de portabilidade. A proposta é definir metas, perguntas e métricas que permitam analisar a capacidade do módulo de ser transferido, adaptado e executado em diferentes ambientes, identificando possíveis limitações e oportunidades de melhoria. Dessa forma, o artefato servirá como base para a coleta e análise de dados que apoiem a tomada de decisões voltadas à qualidade e à manutenção do módulo.
Metodologia¶
A metodologia adotada neste artefato baseia-se no método GQM, que orienta a avaliação da qualidade de software de forma estruturada e orientada a objetivos. Inicialmente, é definido o objetivo de análise, neste caso, entender a portabilidade do módulo file-exr do GIMP. Em seguida, são formuladas perguntas que permitam investigar aspectos específicos relacionados a esse critério, como a ocorrência de erros em diferentes ambientes ou a facilidade de adaptação do módulo. Por fim, são estabelecidas métricas que quantifiquem os resultados observados, possibilitando uma avaliação objetiva e comparável. Essa abordagem garante coerência entre os dados coletados e o propósito de avaliação, promovendo uma análise consistente e orientada à melhoria contínua da qualidade do módulo.
Descrição do Objetivo de Medição de Portabilidade¶
Tabela 3: Descrição do Objetivo de Medição de Qualidade
| Dimensão | Descrição |
|---|---|
| Analisar | GIMP (Módulo File-exr) |
| Para o propósito de | Entender |
| Com respeito a | Portabilidade |
| Da perspectiva do | Designer Gráfico |
| No contexto de | Disciplina de Qualidade de software |
Fonte: Autores. (2025)
Questões e Métricas¶
Q1. Quanto a Adaptabilidade, o módulo se comporta de formas diferentes em diferentes sistemas operacionais?¶
Hipótese: O módulo se comporta exatamente da mesma forma em qualquer sistema operacional, limitando-se a diferença de desempenho.¶
Métrica 1.1: Taxa de Sessões Livres de Falhas entre Plataformas¶
Fórmula:
Taxa de Sessões Livres de Falhas = 1 - Sessões com Falha/Total de Sessões
Execuções bem-sucedidas em diferentes sistemas operacionais / Total de execuções em diferentes sistemas operacionaisReferência: [2]
Interpretação:
- Alta semelhança de execução (Hipótese Confirmada): ≥ 99,9% de execuções bem-sucedidas em todas as plataformas
- Alta semelhança de execução (Hipótese Refutada): < 99,9% de execuções bem-sucedidas em todas as plataformas
Esta métrica avalia o quão adaptado é o módulo para diferentes sistemas operacionais. Quanto maior a taxa de execuções bem-sucedidas, melhor a adaptabilidade do módulo entre plataformas. A referência [2] do Google Firebase sobre Crash em sessões e em usuários menciona como as falhas devem ser extremamente improváveis e uma única falha gera perda de credibilidade do usuário, e no nosso caso, na adaptabilidade do sistema.
Métrica 1.2: Desvio de Desempenho entre diferentes plataformas¶
Fórmula:
|Desempenho no Sistema A - Desempenho no Sistema B| / Desempenho médio
com Desempenho sendo carga de Load Testing, Stress Testing e Volume TestingInterpretação:
- Desvio Médio de Desempenho: ≤ 5% de variação entre plataformas
- Alto Desvio de Desempenho (Hipótese Refutada): > 5% de variação entre plataformas
O desvio de desempenho mede a diferença no tempo de execução do módulo entre diferentes plataformas. Um baixo desvio indica que o módulo mantém uma performance consistente em diferentes sistemas, enquanto um alto desvio pode indicar problemas de adaptação.
Q2. Quanto a Instalabilidade, é possível instalar e desinstalar somente o módulo file-exr?¶
Hipótese: Não é possível instalar e desinstalar somente o módulo file-exr, uma vez que ao retirá-lo o gimp não funciona adequadamente ou gera builds inconsistentes.¶
Métrica 2.1: Taxa de Sucesso na Instalação (Installation Success Rate)¶
Fórmula:
Instalações bem-sucedidas / Total de tentativas de instalaçãoInterpretação: - Alta taxa de sucesso (Hipótese Confirmada): ≥ 90% de tentativas bem-sucedidas - Baixa taxa de sucesso (Hipótese Refutada): < 90% de tentativas bem-sucedidas
Esta métrica avalia a facilidade do processo de instalação, sem complicações ou erros que possam ocorrer durante a tentativa de adicionar o módulo ao GIMP.
Métrica 2.2: Taxa de Sucesso na Desinstalação (Uninstallation Success Rate)¶
Fórmula:
Desinstalações bem-sucedidas / Total de tentativas de desinstalaçãoInterpretação: - Alta taxa de sucesso (Hipótese Confirmada): ≥ 90% de tentativas de desinstalação bem-sucedidas - Baixa taxa de sucesso (Hipótese Refutada): < 90% de tentativas de desinstalação bem-sucedidas
Avalia a eficiência do processo de desinstalação, garantindo que o módulo seja removido sem deixar resíduos ou causar falhas no GIMP.
Q3. Quanto a Instalabilidade, o processo de instalação do módulo costuma apresentar erros ou inconsistências em diferentes ambientes?¶
Hipótese: O processo de instalação do módulo é consistente entre ambientes distintos (distros, versões de SO, arquiteturas), apresentando apenas variação de desempenho e sem falhas específicas por ambiente.¶
Métrica 3.1: Taxa de Sucesso de Instalação por Ambiente¶
Fórmula:
Taxa de Sucesso (ambiente X) = Instalações bem‑sucedidas em X / Total de tentativas em XInterpretação: - Hipótese Confirmada: ≥ 95% de sucesso em cada ambiente testado - Hipótese Refutada: < 95% em algum ambiente
Avalia se a instalação funciona de forma confiável em cada ambiente isoladamente.
Métrica 3.2: Desvio Relativo de Sucesso entre Ambientes¶
Fórmula:
Desvio Relativo = |TaxaX - TaxaY| / Taxa_média_entre_ambientes (avaliar pares ou calcular desvio padrão relativo entre todas as taxas)Interpretação: - Consistência Alta (Hipótese Confirmada): Desvio Relativo ≤ 5% - Inconsistência Significativa (Hipótese Refutada): Desvio Relativo > 5%
Mede quão uniforme é o sucesso de instalação entre ambientes.
Métrica 3.3: Diferença no Tempo e Tipos de Falha entre Ambientes¶
Fórmula:
Diferença de Tempo = |Tempo médio instalação em A - Tempo médio em B| / Tempo médio geral Taxa de Falhas Específicas = Ocorrências de erro tipo T em ambiente X / Total de tentativas em XInterpretação: - Hipótese Confirmada: Variação de tempo ≤ 10% e nenhuma falha tipo específica com taxa > 1% por ambiente - Hipótese Refutada: Variação de tempo > 10% ou existência de falhas específicas > 1%
Detecta diferenças práticas (tempo) e presença de erros direcionados a ambientes (dependências ausentes, permissões, toolchain).
Q4. Quanto a Substituibilidade, é fácil substituir dependências dos módulo File-exr por outras bibliotecas ou versões?¶
Hipótese: A substituição de dependências do módulo File-exr é um processo complexo que exige modificações significativas no código e pode comprometer a funcionalidade.¶
Métrica 4.1: Taxa de Compatibilidade com Versões Alternativas¶
Fórmula:
Número de versões alternativas compatíveis / Total de versões testadasInterpretação: - Alta Compatibilidade (Hipótese Refutada): ≥ 80% das versões são compatíveis - Baixa Compatibilidade (Hipótese Confirmada): < 80% das versões são compatíveis
Avalia a flexibilidade do módulo em trabalhar com diferentes versões de suas dependências principais.
Métrica 4.2: Esforço de Adaptação para Novas Dependências¶
Fórmula:
Linhas de código modificadas / Total de linhas do módulo
Tempo médio (em horas) para adaptar uma nova dependênciaInterpretação: - Baixo Esforço (Hipótese Refutada): ≤ 5% de modificações no código e ≤ 8 horas de adaptação - Alto Esforço (Hipótese Confirmada): > 5% de modificações ou > 8 horas de adaptação
Quantifica o trabalho necessário para substituir uma dependência existente por uma alternativa.
Métrica 4.3: Taxa de Sucesso em Testes após Substituição¶
Fórmula:
Número de testes bem-sucedidos após substituição / Total de testes existentesReferência: [7]
Interpretação: - Alta Confiabilidade (Hipótese Refutada): ≥ 95% dos testes passam após substituição - Baixa Confiabilidade (Hipótese Confirmada): < 95% dos testes passam após substituição
Mede o impacto da substituição de dependências na estabilidade do módulo através da execução da suite de testes existente.
Conclusões¶
Com a aplicação do método GQM, foi possível compreender de forma mais clara como o módulo file-exr do GIMP se comporta em relação à portabilidade, analisando aspectos como adaptabilidade, instalabilidade e substituibilidade. As métricas definidas ajudaram a observar como o módulo reage em diferentes sistemas operacionais, quanto tempo leva e quão consistente é o processo de instalação, além de verificar o quão simples é substituir suas dependências. Essa análise trouxe uma visão prática sobre os pontos fortes e as possíveis melhorias do módulo, contribuindo para torná-lo mais flexível e fácil de manter em diversos ambientes.
OBS: Modelos de Linguagem de Grande Escala foram utilizados para realizar-se o brainstorm entre possíveis perguntas e possíveis métricas. Também foi utilizado para auxiliar na escrita em Markdown.
Sobre o uso de IA¶
Para a elaboração deste documento, a Inteligência Artificial foi utilizada como ferramenta de apoio. Desta maneira, o seu uso concentrou-se, principalmente, em auxiliar a compreensão e o esclarecimento dos termos técnicos presentes nas normas (ISO/IEC 25010) e nos artigos e corporativos consultados. Adicionalmente, a IA foi empregada para a estruturação e organização das ideias na aplicação da metodologia GQM.
Referências Bibliográficas¶
[1] FENTON, Norman; BIEMAN, James. Software Metrics: A Rigorous and Practical Approach. 3. ed. Boca Raton: CRC Press, 2015.
[2] GOOGLE. Firebase Crashlytics: Métricas de crash-free. Disponível em: https://firebase.google.com/docs/crashlytics/crash-free-metrics?hl=pt-br . Acesso em: 24 out. 2025.
[3] HEADSPIN. Gain Insight Into Cross-Platform Performance Metrics. HeadSpin Blog, 2023. Disponível em: https://www.headspin.io/blog/gain-insight-into-cross-platform-performance-metrics . Acesso em: 24 out. 2025.
[4] B. BUMGARDNER. Benchmarking: When can I stop making measurements? Stack Overflow, 2009. Disponível em: https://stackoverflow.com/questions/1390047/benchmarking-when-can-i-stop-making-measurements . Acesso em: 24 out. 2025.
[5] LINKEDIN ENGINEERING. How We Identify and Stop Slow Latency Leaks at LinkedIn. 2017. Disponível em: https://www.linkedin.com/blog/engineering/optimization/fixing-the-plumbing-how-we-identify-and-stop-slow-latency-leaks . Acesso em: 24 out. 2025.
[6] ADJUST. How to track app uninstalls: Everything you need to know. Disponível em: https://www.adjust.com/blog/how-to-track-app-installs-and-uninstalls/ . Acesso em: 24 out. 2025.
[7] INTERNATIONAL ORGANIZATION FOR STANDARDIZATION. ISO/IEC 25036:2011 – Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE) — Quality in use measures. Geneva: ISO, 2011.
[8] REPLICATED. Instance Insights: Install Success Rate. 2023. Disponível em: https://replicated.com/blog/instance-insights-install-success-rate . Acesso em: 24 out. 2025.
Histórico de Versão¶
| Versão | Data | Descrição | Autor | Revisor |
|---|---|---|---|---|
| 1.0 | 08/10/2025 | Criação do Documento. | Vinicius Castelo | Caio Venâncio, Pedro Everton |
| 1.1 | 12/10/2025 | Adição de tabela e questões. | Breno Alexandre, Pedro Everton | Breno Alexandre |
| 1.2 | 13/10/2025 | Conserta fórmulas. | Breno Alexandre | Caio Venâncio |
| 1.3 | 19/10/2025 | Conserta perguntas. | Caio Venâncio | Breno Alexandre |
| 1.4 | 21/10/2025 | Refatora os artefatos. | Breno Alexandre, Caio Venâncio | Arthur Evangelista |
| 1.5 | 24/10/2025 | Adição da declaração de uso de IA. | Arthur Evangelista | Caio Venâncio |
| 1.6 | 25/10/2025 | Consertar tabela | Caio Venâncio | Breno Alexandre |
| 1.7 | 25/10/2025 | Responder Q3 e Q4. | Breno Alexandre | Caio Venâncio |