Compartilhar:

Artigo - PDF

Scientific Society Journal  ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ 

ISSN: 2595-8402

Journal DOI: 10.61411/rsc31879

REVISTA SOCIEDADE CIENTÍFICA, VOLUME 7, NÚMERO 1, ANO 2024
.

 

 

ARTIGO ​​ ORIGINAL

Qualidade de software: análise de dados e proposta de melhoria de processo

Rommel Gabriel Gonçalves Ramos1; Jhonatas Moreira Teixeira2;Itamar Da Silva Bonfim Netto3; Anderson Ferreira de Souza4; Luiz Fernando Moura Piantino5

 

Como Citar:

RAMOS, Rommel Gabriel Gonçalves; TEIXEIRA, Jhonatas Moreira; NETTO, Itamar da Silva Bonfim et al.Qualidade de software: análise de dados e proposta de melhoria de processo. Revista Sociedade Científica, vol.7, n.1, p.1694-1716, 2024.

https://doi.org/10.61411/rsc202437617

 

DOI: 10.61411/rsc202437617

 

Área do conhecimento: Sistema de Informação

.

Palavras-chaves: ​​ Qualidade de Software, ​​ Melhoria de Processos, Desenvolvimento de Software.

 

Publicado: 28 de março de 2024

Resumo

A qualidade de software requer uma análise cuidadosa para a implantação de melhorias nos processos de software, para garantir que os produtos de software atendam ou excedam as expectativas dos clientes e usuários. Ao longo dos estudos e pesquisas realizadas em qualidade de software, o objetivo é de retratar que o desenvolvimento de software requer que a melhoria da maturidade dos processos em várias organizações seja verificada, com avaliações constantes para a evolução contínua dos produtos e serviços de TI. As empresas de desenvolvimento de software têm percebido a importância da implementação da qualidade de software, entretanto, é notável que se torna indispensável a adequação de propostas de melhoria de processos para que possam continuar crescendo. Isso pode envolver a implementação de novas ferramentas, metodologias, práticas, procedimentos ou técnicas, que possam realizar a alteração nos processos existentes, ou a introdução de novos processos.

.

1.Introdução

A indústria de Tecnologia da Informação (TI) tem experimentado um crescimento exponencial nas últimas décadas. Com a crescente dependência de sistemas de software ao redor do mundo, a qualidade do software tornou-se uma preocupação primordial para as empresas de TI.

A qualidade do software não se refere apenas à funcionalidade do software, mas também à sua confiabilidade, eficiência, usabilidade, manutenibilidade e portabilidade (CISQ, s.d).

No contexto das empresas de TI, a qualidade do software é ainda mais crucial. As empresas de TI estão constantemente sob pressão para entregar soluções de software que não apenas atendam às necessidades do cliente, mas também sejam entregues no prazo e dentro do orçamento.

Além disso, com o ritmo acelerado das mudanças tecnológicas, as empresas de TI precisam garantir que seus produtos de software possam ser facilmente adaptados e melhorados para atender às demandas futuras (LAMBDATEST, s.d.).

Peters(2002), define que “qualidade de software é avaliada em termos de atributos de alto nível chamados fatores, que são medidos em relação a atributos de baixo nível chamados de critérios”, Sanders(1994) diz que “Um produto de software apresenta qualidade dependendo do grau de satisfação das necessidades dos clientes sob todos os aspectos do produto”.

A importância que a qualidade de software traz para as empresas é indiscutível, como citado por ​​ Koscianski e Soares, “uma das primeiras questões a responder quando o assunto é qualidade é como julgá-la. Por exemplo: se estamos diante de produtos alternativos, como escolher o melhor ?” (Koscianski, Soares, p. 25).

Eles dizem que “é muito difícil obter consenso a respeito da qualidade de um produto”, mas que “a escolha se torna mais clara quando se estabelecem critérios que sirvam para julgar um produto” (Koscianski, Soares, p. 25).

Sendo assim, a qualidade de software desempenha um papel importante no desenvolvimento de um produto para a empresa que o adere, pois quando a critérios a serem seguidos consequentemente o produto final será concluído com êxito.

.

2.Referencial teórico

2.1Qualidade de software

A qualidade de software é uma área de estudo dedicada a garantir que um software seja desenvolvido de acordo com as melhores práticas técnicas, cumprindo os requisitos do sistema de acordo com o objetivo final do projeto (VASCONCELOS, OLIVEIRA, 2007).

A norma internacional ISO/IEC define qualidade de software como a totalidade de características de um produto de software que lhe confere a capacidade de satisfazer necessidades explícitas e implícitas (KOSCIANSKI, SOARES, 2012).

A aplicação precisa estar em conformidade com as especificações de requisitos tomadas junto ao cliente, além de seguir padrões de qualidade da empresa (ROCHA, MOTA, JUNIOR, QUINTELLA, 2014).

A qualidade de software é vista como um conjunto de características a serem satisfeitas, de modo que o produto de software atenda às necessidades de seus usuários (VASCONCELOS, OLIVEIRA, 2007).

.

2.2Modelos e normas de qualidade de software

Segundo Pressman e Maxim (2016), assegurar a qualidade de um produto de software implica em sua conformidade com as expectativas e especificações do projeto de software.

Sommerville (2011) destaca a estreita relação entre os padrões de produto e de processo, em que os primeiros estão relacionados às saídas dos processos de software, enquanto os últimos se referem a atividades específicas que devem ser seguidas para garantir a qualidade do software.

Os padrões, tanto de produto quanto de processo, desempenham um papel crucial no gerenciamento de qualidade, definindo os atributos necessários para o produto ou processo. Os padrões de produto especificam as características que o software deve possuir, enquanto os padrões de processo delineiam como o processo de software deve ser conduzido.

Normas de qualidade orientam os desenvolvedores na produção de software de qualidade, caracterizado por eficiência, codificação de alta qualidade, ausência de erros ou bugs e uma interface simples e fácil de usar.

A criação de produtos de qualidade geralmente é facilitada por processos pré-definidos em normas de padrões de qualidade, que determinam como um processo deve ser realizado para garantir a qualidade do produto.

Assim como na indústria, onde os produtos devem atender aos padrões ISO de qualidade, os produtos de software também necessitam de certificação e alinhamento com as normas ISO de qualidade.

A ISO, que representa a Organização Internacional de Normalização, é uma instituição internacional cujo objetivo é criar e publicar padrões de qualidade em várias áreas, incluindo o desenvolvimento de software.

Além da ISO, a International Electrotechnical Commission (IEC), que significa Comissão Eletrotécnica Internacional, desempenha um papel importante no desenvolvimento de normas internacionais e padrões relacionados às áreas de eletricidade, eletrônica e campos afins.

Em âmbito nacional, a Associação Brasileira de Normas Técnicas (ABNT) desempenha um papel crucial na criação e divulgação de normas, incluindo aquelas estabelecidas pela ISO/IEC, como destacado por Gallotti (2017). Algumas das normas ISO/IEC relevantes são:

  • Norma ISO/IEC 9126 (NBR 13596): Define as características de qualidade que devem estar presentes em todos os produtos de software, abrangendo funcionalidade, confiabilidade, eficiência, usabilidade, manutenibilidade e portabilidade.

  • Norma ISO/IEC 12119: Estabelece requisitos de qualidade para pacotes de software.

  • Norma ISO/IEC 14598-5: Define um processo de avaliação de qualidade para produtos de software.

  • Norma ISO/IEC 12207: Estabelece um processo de ciclo de vida para software.

  • Norma ISO/IEC 9000-3: Apresenta diretrizes para a aplicação da ISO 9001 por organizações envolvidas no desenvolvimento e manutenção de software.

  • Norma ISO/IEC 15504: Aprovada como norma em 2003, concentra-se na avaliação de processos organizacionais.

A norma ISO/IEC 25000 (2014), intitulada "Systems and Software Quality Requirements and Evaluation" (SQuaRE), representa uma atualização abrangente das normas de qualidade de software. Segundo Koscianski e Soares (2007), o modelo SQuaRE é robusto, buscando atender eficientemente às demandas de qualidade de forma didática, apresentando um vocabulário simples e internacionalmente válido.

.

2.2.1 CMMI

​​ Roger S. Pressman (2010) e Ian Sommerville (2011), concordam que o Modelo Integrado de Maturidade de Capacidade (CMMI) é uma ferramenta importante para a construção e melhoria de um processo de organização, bem como para a criação de software.

Eles ressaltam que o propósito do CMMI é melhorar o processo de criação de produtos ou serviços dentro da organização (Sommerville, 2011), e por isso o CMMI tem grande importância quando se trata da qualidade do software.

Capability Maturity Model Integration – CMMI (SEI, 2010) é um projeto que trata sobre a integração dos modelos de maturidade na produção de software, apresentado pelo Software Engineering Institute (SEI), com apoio de organizações desenvolvedoras de software e entidades governamentais.

O CMMI visa consolidar um framework para modelos, além de evoluir e integrar os modelos derivados do Capability Maturity Model (CMM), também proposto pelo SEI, sendo focado na capacidade organizacional, categorizando as organizações em 5 níveis de maturidade.

Entre os modelos integrados pelo CMMI, destacam-se: SW-CMM, relacionado ao software; SE-CMM, relacionado à engenharia; IPD-CMM, relacionado ao desenvolvimento do produto; além de outros.

Embora utilize o termo CMMI de forma geral, este trabalho considera o CMMI para Desenvolvimento (CMMI-DEV), lançada em Novembro de 2010 (SEI, 2010). O objetivo maior de CMMI é a redução do custo da implementação da melhoria de processo, eliminando inconsistências e estabelecendo diretrizes que auxiliem as organizações nos vários estágios de um projeto de software (planejamento, gerenciamento, entre outros) (SEI, 2010).

Sua arquitetura é composta pela definição de um conjunto de 22 áreas de processo, organizadas ​​ em duas representações: uma por estágio, na qual as áreas estão agrupadas em 5 níveis de maturidade. Os níveis de maturidade do CMMI são:

  • Nível 1 - Inicial:

    • O processo é ad hoc e não é definido ou gerenciado.

  • Nível 2 - Gerenciado:

    • O processo é definido e documentado, mas não é gerenciado de forma sistemática.

  • Nível 3 - Definido:

    • O processo é definido, documentado e gerenciado de forma sistemática.

  • Nível 4 - Quantitativamente Gerenciado:

    • O processo é definido, documentado, gerenciado de forma sistemática e é baseado em dados.

  • Nível 5 - Otimizado:

    • O processo é focado na melhoria e na otimização dos processos.

 

Figura 1 - Níveis de maturidade do CMMI.Fonte: https://colaborae.com.br/blog/2020/12/04/cmmi-capability-maturity-model-integration/

 

.

2.2.2 ISO/IEC 9001

A importância da ISO 9001 é destacada por ser uma norma reconhecida mundialmente para a gestão de qualidade, pois ajuda organizações de todos os tamanhos e setores a melhorar seu desempenho, e também atender as expectativas dos clientes e demonstrar seu compromisso com a qualidade(ISO, 2021).

A norma ISO 9001 pode ser descrita como o padrão que atesta os sistemas de gestão da qualidade e estabelece os critérios para a implementação desse sistema. Ela incorpora ferramentas de padronização, garantindo uma implantação segura da norma.

De acordo com Fernandes (2011), a ISO 9001 é a norma de certificação para Sistemas de Gestão da Qualidade, delineando os requisitos essenciais para a instauração eficaz do sistema. Este documento inclui instrumentos de padronização, configurando-se como um modelo seguro para a implementação da Gestão da Qualidade.

A ISO/IEC 9001 tem como objetivo garantir a otimização de processos, maior agilidade na produção e desenvolvimento de produtos, com o intuito de satisfazer os clientes envolvidos. Os requisitos para o Sistema de Gestão de Qualidade envolvem:

  • Escopo; Referência Normativa; Termos e Definições; Contexto da Organização; Liderança; Planejamento; Suporte; Operação; Avaliação do Desempenho; Melhoria.