Projeto Jean Sammet - Análise do Firefox

Análise de qualidade de software do Mozilla Firefox com foco em Eficiência e Portabilidade.

View the Project on GitHub FCTE-Qualidade-de-Software-1/2025-2_T02_JEAN-SAMMET

Fase 1

1. Contextualização do Objeto de Avaliação

1.1. Descrição Estruturada do Software Selecionado

O Mozilla Firefox é um navegador web de código aberto, multiplataforma, desenvolvido e mantido pela Mozilla Foundation. É amplamente utilizado em desktops e dispositivos móveis, sendo uma peça fundamental da infraestrutura digital global.

A escolha do Firefox para esta avaliação se justifica por três pilares centrais:

Do ponto de vista técnico, a arquitetura moderna do Firefox é baseada em um modelo multi-processo, que isola a interface do navegador dos conteúdos web.[3] Essa separação, que utiliza componentes como o motor de renderização Gecko e o motor JavaScript SpiderMonkey, é projetada para melhorar a estabilidade e a segurança, mas introduz um trade-off com o consumo de recursos.[4]

1.2. Requisitante

1.3 Partes interessadas

Os usuários do navegador, equipe interna do firefox e a comunidade open source são as partes interessadas principais, pois influenciam diretamente no desenvolvimento e operação do produto, influenciando suas funcionalidades e qualidade. Já as instituições e parceiros comerciais influenciam de forma mais indireta, afetando decisões estratégicas, mas não o funcionamento em si do produto.

1.3. Classificação e Arquitetura do Produto

O Firefox é um navegador de código aberto criado pela Mozilla Foundation, capaz de ser usado em diversas plataformas, como Windows, Linux e macOS. Trata-se de um software multiplataforma, distribuído e de código aberto, onde o domínio de atuação envolve o acesso à internet, produtividade e comunicação. O front-end do navegador é composto por XUL, HTML, CSS e JavaScript, enquanto o back-end utiliza linguagens como C++, Python e Rust.

1.3.1 Módulos Principais

O Firefox é composto por diferentes módulos que organizam suas funcionalidades principais, são eles:

1.3.2 Interfaces

interfaces do Firefox representam os pontos de contato entre o navegador e seus usuários, permitindo interação direta e configuração de recursos. São eles:

1.3.3 Dependências

O FireFox precisa de alguns recursos para funcionar e ser utilizado devidamente, são eles:

2. Planejamento da Avaliação de Qualidade

2.1. Modelo de Qualidade de Referência

O modelo de qualidade que servirá como base para esta avaliação é o da norma ISO/IEC 25010. Suas características de qualidade de produto fornecem uma visão abrangente que será priorizada na seção seguinte para definir o foco do trabalho. Dentro desse modelo, o foco do estudo será direcionado às características de Eficiência de Desempenho e Portabilidade, por serem as mais relevantes ao contexto do Firefox e ao propósito declarado.

Característica Iso

Assim como mostra o diagrama abaixo:

Características escolhidas

2.2. Priorização das Características com o Método MoSCoW

Para garantir que o foco da avaliação de qualidade do Firefox estivesse alinhado com os objetivos do projeto e as necessidades das partes interessadas, foi utilizado um método de priorização estruturado. A abordagem escolhida foi o MoSCoW, um acrônimo que classifica os requisitos em quatro categorias, permitindo uma tomada de decisão clara sobre o que é essencial e o que pode ser deixado para avaliações futuras.

O método MoSCoW organiza as características da seguinte forma:

A aplicação do MoSCoW é particularmente relevante neste contexto por fornecer uma linguagem comum e transparente para definir o escopo da avaliação, garantindo que os esforços se concentrem nas características que, segundo os stakeholders e o propósito declarado, são fundamentais para um navegador web moderno: seu desempenho e seu alcance democrático.

A tabela a seguir apresenta a priorização de todas as características de qualidade de produto da norma ISO/IEC 25010 aplicadas ao Firefox.

Característica de Qualidade Prioridade (MoSCoW)
Eficiência de Desempenho     Must Have
Portabilidade               Must Have
Segurança                   Should Have
Confiabilidade               Should Have
Adequação Funcional         Should Have
Compatibilidade             Could Have
Manutenibilidade             Could Have
Usabilidade                 Won’t Have

Justificativa da Priorização

A classificação de cada característica foi definida a partir do contexto do Mozilla Firefox como um produto de software global e do propósito principal desta avaliação.

2.3. Escopo e Profundidade da Avaliação

2.3.1 Arquitetura alinhada com escopo

Para que o documento atual se alinhe ao escopo e foque em eficiencia e portabilidade, será necessário avaliar a arquitetura do firefox, analisando documentação oficial do firefox sobre o seu projeto que está disnponibilizado no github. O código-fonte do Firefox é organizado em diferentes diretórios, que representam componentes fundamentais da sua arquitetura.   Os principais módulos do Firefox e sua relevância para eficiência e portabilidade são:

O entendimento prévio desses módulos e suas funções permite direcionar a avaliação para aspectos que afetam a eficiência e portabilidade, garantindo que a análise seja consistente.

3. Propósito e Relevância da Avaliação

3.1. Propósito

O nosso propósito é avaliar a qualidade do software Firefox, um navegador multiplataforma de código aberto, e analisar com foco nas características de eficiência e portabilidade levando em consideração seu uso em diferentes plataformas e cenários.  

Os resultados dessa avaliação interessam toda a comunidade que utiliza o navegador Firefox, pois poderão ter acesso a informações relevantes sobre o desempenho da aplicação, sua capacidade de adaptação a diferentes sistemas operacionais e dispositivos, além de compreender possíveis limitações e oportunidades de melhoria. Dessa forma, a análise contribui tanto para usuários finais, que buscam uma experiência de navegação mais estável e otimizada, quanto para desenvolvedores e colaboradores do projeto, que poderão utilizar os resultados dessa avaliação para futuras evoluções do software.

3.2. Uso dos resultados 

  - 1. Apoiar melhorias de desempenho: A avaliação da qualidade do Firefox permite identificar gargalos de processamento, uso de memória e tempo de resposta. Esses dados podem ser utilizados para otimizações futuras, garantindo que o navegador continue competitivo e adequado às necessidades dos usuários em diferentes dispositivos e sistemas operacionais.   - 2. Garantir maior inclusão digital por meio do acesso a software livre de qualidade: Como o Firefox é um navegador de código aberto e multiplataforma, sua melhoria contínua contribui para ampliar o acesso a ferramentas digitais estáveis, seguras e de qualidade, independentemente do poder aquisitivo ou da plataforma utilizada, promovendo assim a democratização da tecnologia.     - 3. Estabelecer métricas auditáveis para comparações futuras: A definição de critérios e métricas de eficiência e portabilidade permite acompanhar a evolução do navegador ao longo do tempo. Além disso, possibilita comparações transparentes com outros softwares similares, oferecendo um referencial técnico que apoia a tomada de decisões por parte da comunidade de desenvolvedores e usuários.

3.3. Relação com os Objetivos de Desenvolvimento Sustentável (ODS)

ODS 9 — Indústria, Inovação e Infraestrutura:     Avaliar a eficiência do Firefox contribui para compreender como a infraestrutura digital pode ser otimizada para inovação tecnológica inclusiva, alinhando-se à Meta 9.c de aumentar o acesso a tecnologias de informação.[9]

    imagem da Meta 9.c

Figura 1 – Meta 9.c do Objetivo de Desenvolvimento Sustentável 9.

Fonte: ORGANIZAÇÃO DAS NAÇÕES UNIDAS NO BRASIL, [s.d.].

ODS 10 — Redução das Desigualdades:     Avaliar a portabilidade garante que o navegador funcione em hardware de baixo custo, promovendo inclusão digital e equidade no acesso à informação, em conformidade com a Meta 10.2 de promover a inclusão social e econômica de todos.[10]

    imagem da Meta 10.2

Figura 2 – Meta 10.2 do Objetivo de Desenvolvimento Sustentável 10.

Fonte: ORGANIZAÇÃO DAS NAÇÕES UNIDAS NO BRASIL, [s.d.].

4. Tabela de Contribuição da Equipe

Matrícula Integrante Principais Contribuições Comprovação Contribuição  
[231033737] Artur Mendonça Arruda Reestruturação do documento, inclusão das ferramentas de benchmark, pesquisa e redação da metodologia MoSCoW, rastreabilidade das referências, divisão de seções para legibilidade, adição de detalhes técnicos do firefox (SpiderMonkey e Gecko). Pull Request #5, Pull Request #7, Reestruturação do documento, Adição de detalhes técnicos, Bibliografia e imagem das ODS’s, Implementação MoSCoW, Pull Request #8   30%
[Matrícula] João Filipe de Oliveira Souza Desenvolvimento da estrutura inicial do projeto   20%  
[231035464] Lucas Mendonça Arruda Contribuiu com a adição das partes interessadas, arquitetura alinhada com escopo, classificação do tipo de produto e ajustes na organização e estrutura do documento. Pull Request #5, Pull Request #8 30%  
[Matrícula] Nayra     %  
[180108875] Rodrigo Mattos de F. A. Bezerra Adição do propósito da avaliação e usos pretendidos [https://github.com/FCTE-Qualidade-de-Software-1/2025-2_T02_JEAN-SAMMET/pull/3] 15%  
  Total     100%  

5. Declaração de Uso de Inteligência Artificial

Para a elaboração deste artefato, foi utilizado o auxílio de modelos de linguagem de grande escala (LLMs) como ferramentas de suporte. Especificamente, foram consultados os modelos Google Gemini e OpenAI ChatGPT para obter uma visão mais ampla e analisar diferentes perspectivas sobre a estrutura e o conteúdo do trabalho, permitindo que a equipe avaliasse qual abordagem fazia mais sentido para o projeto (o uso delas não exlui a validação humana).

O uso da inteligência artificial se concentrou em duas áreas principais:

  1. Validação Adicional de Requisitos: As IA’s foram empregadas como ferramentas de verificação secundária para garantir que todos os requisitos e critérios de avaliação da Fase 1 do projeto estavam sendo atendidos pelo conteúdo do documento.

  2. Análise de Coerência e Fluidez: Os modelos foram consultados para obter uma análise sobre a estrutura lógica, a coesão entre as seções e a fluidez geral da narrativa do artefato, ajudando a identificar possíveis pontos de melhoria na organização das ideias.

Vale salientar, novamente, que as IAs atuaram exclusivamente como ferramentas de validação e sugestão. Todo o conteúdo, a redação final e as decisões estratégicas foram produzidos e validados pelos integrantes da equipe.

Bibliografia

ISO. ISO/IEC 25000:2014 — Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE) — Guide to SQuaRE. International Organization for Standardization, 2014. Disponível em: https://www.iso.org/standard/64764.html. Acesso em: 30 set. 2025.

ISO. ISO/IEC 25010:2011 — Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE) — System and software quality models. International Organization for Standardization, 2011. Disponível em: https://www.iso.org/standard/35733.html. Acesso em: 30 set. 2025.

ISO. ISO/IEC 25023:2016 — Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE) — Measurement of system and software product quality. International Organization for Standardization, 2016. Disponível em: https://www.iso.org/standard/35746.html. Acesso em: 30 set. 2025.

AGILE BUSINESS CONSORTIUM. AgilePM® Agile Project Management Handbook v2. Ashford: Agile Business Consortium, 2014. ISBN 978-1909864003.

Referências Bibliográficas

[1] THE BUGZILLA PROJECT. Bugzilla. Disponível em: https://www.bugzilla.org/. Acesso em: 30 set. 2025.

[2] MOZILLA. Bug Writing Guidelines. MDN Web Docs. Disponível em: https://developer.mozilla.org/en-US/docs/Mozilla/QA/Bug_writing_guidelines. Acesso em: 30 set. 2025.

[3] MOZILLA. Process Model. Firefox Source Docs. Disponível em: https://firefox-source-docs.mozilla.org/dom/ipc/process_model.html. Acesso em: 30 set. 2025.

[4] MOZILLA. Gecko Overview. Firefox Source Docs. Disponível em: https://firefox-source-docs.mozilla.org/overview/gecko.html. Acesso em: 30 set. 2025.

[5] BROWSERBENCH. Browser Benchmarks: Speedometer, JetStream, MotionMark. Disponível em: https://browserbench.org/. Acesso em: 30 set. 2025.

[6] MICROSOFT. typeperf command. Microsoft Learn. Disponível em: https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/typeperf. Acesso em: 30 set. 2025.

[7] THE LINUX MAN-PAGES PROJECT. top(1) — Linux manual page. Disponível em: https://man7.org/linux/man-pages/man1/top.1.html. Acesso em: 30 set. 2025.

[8] THE LINUX MAN-PAGES PROJECT. vmstat(8) — Linux manual page. Disponível em: https://man7.org/linux/man-pages/man8/vmstat.8.html. Acesso em: 30 set. 2025.

[9] ORGANIZAÇÃO DAS NAÇÕES UNIDAS NO BRASIL. ODS 9: Indústria, Inovação e Infraestrutura. Nações Unidas Brasil, [s.d.]. Disponível em: https://brasil.un.org/pt-br/sdgs/9. Acesso em: 1 out. 2025.

[10] ORGANIZAÇÃO DAS NAÇÕES UNIDAS NO BRASIL. ODS 10: Redução das Desigualdades. Nações Unidas Brasil, [s.d.]. Disponível em: https://brasil.un.org/pt-br/sdgs/10. Acesso em: 1 out. 2025.

Histórico de Versões

Versão Descrição Autor(es) Data Revisor(es) Data de Revisão
1.0 Criação e documentação inicial da fase 1 João Filipe de Oliveira Souza 29/09/2025    
1.1 Adição da bibliografia e do histórico de versões Artur Mendonça Arruda 29/09/2025 Lucas Mendonça Arruda 29/09/2025
1.2 Reestruturação do documento   Artur Mendonça Arruda e Lucas Mendonça Arruda 29/09/2025    
1.3 Adição de detalhes técnicos, relação entre as características, e da profundidade do projeto Artur Mendonça Arruda 30/09/2025 Lucas Mendonça Arruda 30/09/2025
1.4 Adição de hyperlinks das fontes Artur Mendonça Arruda 30/09/2025 Lucas Mendonça Arruda 30/09/2025
1.5 Adição do Propósito da Avaliação e Usos Pretendidos Rodrigo Mattos de F. A. Bezerra 30/09/2025 Artur Mendonça Arruda 01/10/2025
1.6 Adição de partes interessadas e classificação do tipo do produto Lucas Mendonça Arruda 01/10/2025    
1.7 Adição das imagens e bibliografia das ODS’s Artur Mendonça Arruda 01/10/2025 Lucas Mendonça Arruda 01/10/2025
1.8 Adição da priorização MOSCOW para a escolha das características de qualidade Artur Mendonça Arruda 01/10/2025 Lucas Mendonça Arruda 01/10/2025
1.9 Reestruturação geral com títulos e seções para melhorar a legibilidade e adição de declaração de uso de IA Artur Mendonça Arruda 01/10/2025 Lucas Mendonça Arruda 01/10/2025