Buscar

NORMAS E MODELOS DE QUALIDADE PARA O DESENVOLVIMENTO DE SISTEMAS

Prévia do material em texto

PAPER DE REVISÃO DE LITERATURA
TÍTULO: Normas e modelos de qualidade para o desenvolvimento de Sistemas1
aluno2
professor3
RESUMO
Em virtude da necessidade de conhecer as normas e modelos que tange a
qualidade de software e de discorrer sobre as normas mais utilizadas, pesquisa-se
sobre a qualidade de software, com a finalidade de descrever brevemente as
normas e modelos de qualidade existentes. Para tanto, faz-se necessário
familiarizar-se com os conceitos de qualidade de software; definir o que são normas
e entender o impacto dessas normas no desenvolvimento de sistemas. Para isso,
realiza-se, então, uma pesquisa exploratória. Diante disso, verifica-se a existência
de diversas normas que propõem padrões de qualidade
Palavra chave: Qualidade de software. Normas.
1 INTRODUÇÃO
Ao longo dos últimos anos, observa-se que o número de empresas que optam
por desenvolver ou adquirir um software próprio que supra suas necessidades
específicas, só aumenta, uma vez que a aquisição de um sistema torna uma
empresa mais competitiva no mercado.
Contudo, para que esse sistema esteja de acordo com os requisitos
desejados, busca-se meios de otimizar os recursos empregados, de modo que haja
necessidade de modificar a estrutura organizacional e seus processos no objetivo de
alcançar padrões de qualidade aceitáveis.
Desse modo, percebe-se que o conhecimento sobre as normas e padrões de
qualidade de software é imprescindível, uma vez que eles trazem metodologias de
boas práticas para a obtenção de um produto de qualidade.
3 Professor Doutor
2 Aluno do 5º período do Curso de Análise e Desenvolvimento de Sistemas da UNDB.
1 Paper apresentado à disciplina Centro Universitário Unidade de Ensino Superior Dom Bosco -
UNDB.
Sendo assim, busca-se com esse estudo, entender um pouco mais sobre as
normas de qualidade e sua relevância para o desenvolvimento de sistemas, assim
como compreender as idiossincrasias das normas mais relevantes no mercado.
Para isso, foram levantados como objetivo específico: entender o conceito de
qualidade de software e descrever os modelos de qualidade de software.
Assim sendo, o presente paper é uma pesquisa de finalidade básica, com o
objetivo exploratório, produzido através de uma abordagem qualitativa e formulado
por meio de levantamento bibliográfico.
2 NORMAS DE QUALIDADE
Tendo em vista que, o mercado atual possui uma maior exigência por
qualidade em seus produtos e serviços, torna-se mais necessária a aquisição de
certificações oficiais que padronizam os processos de qualidade de software. Dessa
forma, “a certificação emite um documento oficial que indica a conformidade com um
determinado modelo, caso tenha passado pelo processo de avaliação e julgamento
de acordo com a norma ou padrão de qualidade.”(MARCIEL et al. 2011).
Nesse sentido, as normas de qualidade vieram para suprir essa necessidade,
uma vez que foram criadas com o intuito de atender integralmente os requisitos de
qualidade, auxiliando na otimização dos processos internos e impulsionando a
normatização de produtos e serviços.
2.1 Qualidade de software
A qualidade é algo desejado por todos que desejam algum produto ou
serviço, embora seja algo de definição complexa e dinâmica, é consensual que ela
possui aspectos subjetivos. Segundo Garvin (1987), a qualidade possui cinco pontos
de vista a serem observados. A saber : visão transcendental, visão do usuário, visão
do fabricante, visão do produto, visão baseada em valor.
Nessa perspectiva, a definição de qualidade engloba todas possibilidades de
combinações daquilo que é considerado bom e adequado (SOUZA, 2017)
Já para Crosby( 1980), a qualidade é a conformidade aos requisitos. Embora
seja uma definição simples e direta, ela indica que a qualidade só pode ser medida
se houver um referencial como partida, algo que sirva de comparação. Nessa
mesma visão, a NBR/ISO-9000 (2015) diz que a “qualidade é o grau no qual um
conjunto de características inerentes satisfaz aos requisitos”.
Sendo assim, em desenvolvimento de sistemas, a qualidade de software é
uma vertente da engenharia de software que, refere-se às características requerida
de um produto de software, à amplitude a qual um software específico retém essas
características e aos processos, técnicas e artefatos utilizados para a obtenção
dessas características.(BOURQUE et al, 2014).
Ao encontro disso, Koscianski (2007) acrescenta que a qualidade referente ao
softwares são dependentes dos seus requisitos, visto que, a não conformidade,
erros lógicos e/ou conceituais e omissões no momento da especificação dos
requisitos podem comprometer todo o projeto. Assim sendo, é dado grande ênfase
nos requisitos, visto sua importância na garantia da qualidade .
Portanto, embora a qualidade seja frequentemente associada a algo
subjetivo, nota-se que em termos de software é perceptível que algumas
características podem ser usadas como métricas para medi-la. Para isso, surgiu as
normas e modelos de qualidades.
2.2 ISOs
A ISO, (International Organization for Standardization) é uma organização que
tem como objetivo propor padronização de processos e ferramentas em uma
entidade. Se tratando de software, a ISO/IEC 12207((ABNT, 2009b) estabelece uma
estrutura para padronizar os processo de ciclo de vida do desenvolvimento de
sistemas, na qual a organização pode modificar de acordo as idiossincrasias de
seus processos.
Por outro lado, a ISO/IEC 15504 (ABNT, 2008) surgiu para suprir a
necessidade de padronizar as avaliações de processos de software. Segundo
Salviano, (2003), esse modelo de referência é na realidade um framework para
avaliação de processos de software. Dessa forma, ele sistematiza e organiza as
melhores práticas em duas dimensões, sendo elas: de processo e níveis de
capacidade.
Além disso, a série ISO/IEC 9000 é voltada exclusivamente para a gestão da
qualidade em software, sendo a ISO 9000(ABNT, 2015), responsável pelos
fundamentos e normatização do vocabulário e também define os termos a serem
utilizados. Sua implementação evita que ocorra erros por causa de termos ambíguos
ou falhas no entendimento dos processos a serem executados.
Ademais, ISO 9001(ABNT,2015) estabelece os requisitos mínimos
necessários para a implementação e à manutenção de um sistema de gestão de
qualidade. Segundo Silva (2020, p19), “os seus requisitos são genéricos, podendo
ser aplicados a qualquer tipo de organização, independentemente do tipo de produto
ou serviço que apresente.”
A ISO 9004 (ABNT,2010) é um guia técnico para que uma organização crie
meios de se auto avaliarem em busca de atingir o sucesso sustentado (BELEZIA,
2019). O sucesso sustentado é a capacidade de uma organização atingir seus
objetivos ao longo prazo (ABNT, 2010). Portanto, ela tem como objetivos auxiliar as
instituições que buscam melhoria contínua e sistemática em sua produtividade.
3 MODELOS DE QUALIDADE DE SOFTWARE
Além das normas, os modelos de qualidade de software são estruturas que
objetivam “assegurar e dar visibilidade à robustez dos processos relativos aos
produtos de software, bem como às atividades necessárias para a sua
gestão.”(TONINI, 2008).
3.1 SEI/CMM
O Modelo de Maturidade da Capacitação de Software provê um guia para a
obtenção do controle dos processos de desenvolvimento e manutenção de software,
além de direcionar a cultura da empresa em direção à excelência em gestão e
engenharia de software (SEI/CMM).
Nessa perspectiva, o CMM foi projetado para guiar as organizações na
escolha das estratégias de melhoria, indicando qual é a maturidade atual do
processo e identificando as questões críticas no seu aprimoramento. Esse modelo
propõe níveis de maturidade de capacitação, além de enfatizar a documentação dos
processos, a fim de evitar a desorganização dos processos e a ausência de padrões
documentados.
No modelo CMM há cinco níveis de maturidade que possuem um grupo de
metas a serem atingidas para melhorar a capacitação dos processos. Os níveis
respectivamentesão: Inicial, repetitivo, definido, gerenciado e otimizado.
No nível 1, inicial, os processos são definidos como ad hoc, ou seja,
aplicam-se apenas em um caso específico, não padronizado. Segundo Maciel et
al(2011), esse nível é análogo a uma caixa preta onde é possível visualizar apenas a
entrada e o produto final claramente.
O nível 2, repetível, possui políticas iniciais de gerenciamento de projetos,
com os procedimentos para sua implementação, por conseguinte, a capacitação dos
processos é melhorada ao longo dos projetos, criando-se a documentação
necessária para o acompanhamento.
No nível 3, definido, os processos referentes à gestão e engenharia de
software, são documentados, padronizados e integrados em um processo padrão
para a organização. Nesse caso, todos os projetos utilizam uma versão aprovada
do processo de software padrão para desenvolver e manter o sistema.
No nível 4, gerenciado, há o estabelecimento de metas quantitativas e
objetivas para os produtos e processos de software. “são coletadas medidas
detalhadas da qualidade do produto e processo de desenvolvimento de software, ou
seja, processo previsível.”. (REZENDE, 2002, p.157).
Por fim, no nível 5, otimizado, a organização possui um sistema de melhoria
contínua por meio de feedback quantitativo dos processos que possibilita a mudança
nos processos de forma que não cause impacto negativo na qualidade do produto
final. Dessa forma, a organização está engajada na identificação de pontos fracos e
defeitos e ação preventiva sobre as causas.
Além disso,as mudanças de caráter relevante de processos ou de tecnologias
são feitas a partir de análises de custo/benefício apoiada em dados quantitativos,
cuja coleta inicia-se no nível anterior.
3.2 SEI/CMMI
O modelo CMMI, modelo de maturidade da capacitação integrado, é uma
evolução do CMM e surgiu pela necessidade de integrar os vários modelos de CMM
disponíveis. Esse novo modelo é um único framework, combinando três modelos:
SW/CMM4, SECM5 e IPD/CMM6. No CMMI, é possível avaliar as melhorias em
processos sob dois aspectos: contínuo e por estágios.
Segundo Silva (2019, p.5), “a representação por estágios utiliza conjuntos
predefinidos de áreas de processo para definir um caminho de melhoria para uma
organização.”. Sendo assim, Cada nível de maturidade contém um conjunto de
áreas de processos que caracterizam diferentes comportamentos organizacionais.
Na representação contínua, os componentes principais são as áreas de
processo, onde aplicam-se à melhoria de processo em áreas de processos
específicas, garantindo assim maior flexibilidade. Para isso, essa representação é
dividida em níveis de capabilidade cujo objetivo é melhorar de forma incremental os
processos de uma determinada área.Há seis níveis de capabilidade, numerados de
0 a 5. (CMMI, 2002).
A saber: Nível 0 – Incompleto, Nível 1 – Realizado, Nível 2 – Gerenciado,
Nível 3 - Definido, Nível 4 – Gerenciado quantitativamente, e Nível 5 – Otimizado.
. Além disso, salienta-se que a capabilidade é a inclinação do processo em
atender plenamente às especificações do cliente ou da engenharia, é a “condição de
atingir, cada vez mais, melhores resultados dos processos, sendo que esses são
mantidos sob controle em quaisquer condições.”(SILVA,2019, p.7).
4 APLICAÇÕES DAS NORMAS E MODELOS
Ao longo do desenvolvimento dessa pesquisa, observou-se que as normas e
modelos apresentados têm como foco em comum a observância pela qualidade do
software, de modo que a sua importância para as organizações está evidente.
Contudo, ressalva-se que há um alto custo de implantação dessas normas de
caráter internacional, que requerem uma estrutura organizacional complexa para
que se possa implementar todos os processos e atividades oferecidos por normas e
modelos ISO e CMMI.
Todavia, a norma ISO 12207(ABNT, 2013), que dispõe sobre a estrutura dos
processos de ciclo de vida do software, pode ser adaptada a qualquer organização.
6 Integrated Product Development Capability Maturity Model
5 Systems Engineering Capability Model
4Capability Maturity Model for Software
Em contrapartida, é possível adotar a melhoria dos processos por meio da
utilização da ISO/IEC 15504(ABNT, 2008), cuja finalidade é propor um framework
para modelos de avaliação de processos.
Além disso, o modelo CMMI, possibilita que organizações de todos os portes
tenham subsídios para a melhoria de seus processos de software, aumentando sua
competitividade e reduzindo custos. Desse modo, esse modelo pode ser
implementado em conjunto com as normas da série ISO 9000, no intuito de
aumentar sua performance.
5 CONCLUSÃO
Diante da necessidade de descrever brevemente alguns dos padrões
disponíveis no mercado de software que objetivam a garantia da qualidade,
discorreu-se sobre as normas ISO, exemplificando suas características e sua
aplicabilidade, além de suas limitações e como se relacionam com os modelos de
maturidade.
Além disso, foi apresentado brevemente alguns modelos de maturidade e
capabilidade como o CMM e o CMMI, explicando que modelos podem ser definidos
como estruturas conceituais formadas por partes que indicam o estado de
desenvolvimento de uma área de interesse, pormenorizando os processos
necessários para que uma organização alcance um estado futuro desejado.
Dessa forma, foi observado que o CMMI incorporou diversas melhorias em
comparação com o modelo anterior, tornando-o cada vez mais completo e
consistente. Com isso, tem reforçado a sinergia entre projetos em geral e projetos de
software.
6 REFERÊNCIAS
ABNT. ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. NBR ISO 12207
Tecnologia da Informação – Processos de ciclo de vida de software. 1998; ABNT.
ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. NBR ISSO/IEC 27001 –
Sistema de Gestão de Segurança da Informação – Requisitos. 2006;
ABNT. (2009b). NBR ISO/IEC 12207: Processos de ciclo de vida de software.
ABNT. ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. NBR ISO 9001 –
Sistema de Gestão de Qualidade – Requisitos. 2º Edição 2008;
Souza, Valdinei Costa. Qualidade na educação superior: uma visão operacional do
conceito. Avaliação: Revista da Avaliação da Educação Superior (Campinas) .
Online. 2017, v. 22, n. 2 [] , pp. 332-357. Disponível em:
<https://doi.org/10.1590/S1414-407720170002000041982-5765.> Acessado em: 21
Setembro 2021
Maciel, Ana Carla Fernandes; Valls, Carmem; Savoine, Márcia Maria. Análise da
qualidade de software utilizando as normas 12207, 15504, ISO 9000-3 e os modelos
CMM/CMMI e MPS. BR. Revista Cientifica do ITPAC 4 (2011): 1-13.
BOURQUE, P.; FAIRLEY, R. E.; ET AL. Guide to the software engineering body of
knowledge (swebok (r)): Version 3.0. IEEE Computer Society Press, 2014.
Gomes, Pedro Henrique de Andrade. Inspeção de código-fonte como subsídio para
o processo de ensino e aprendizagem de qualidade de software. Universidade
Estadual Paulista (UNESP), Instituto de Biociências Letras e Ciências Exatas, São
José do Rio Preto. Sistemas de Informação. Dissertação de mestrado. 2021
Disponível em: <<http://hdl.handle.net/11449/211000>. Acesso: 19 setembro de 2021
CROSBY, P. B. Quality is free : the art of making quality certain. New American
Library, 1980.
KOSCIANSKI, André; Soares, Michel dos Santos. Qualidade de Software – Aprenda
as metodologias e técnicas mais modernas para desenvolvimento de software. 2.
Ed. São Paulo: Novatec Editora, 2007
HOMOBONO, C., VARGAS, A.. NORMAS ISO PARA QUALIDADE DE SOFTWARE ISO
STANDARDS FOR QUALITY OF SOFTWARE PROCESSES. PESQUISA & EDUCAÇÃO A
DISTÂNCIA, América do Norte, 0, dez. 2020. Disponível em:
http://revista.universo.edu.br/index.php?journal=2013EAD1&page=article&op=view&path%5
B%5D=8694&path%5B%5D=4319. Acesso em: 22 Set. 2021
http://revista.universo.edu.br/index.php?journal=2013EAD1&page=article&op=view&path%5B%5D=8694&path%5B%5D=4319
http://revista.universo.edu.br/index.php?journal=2013EAD1&page=article&op=view&path%5B%5D=8694&path%5B%5D=4319
ISO/IEC. (2015b). ISO/IEC 33001: IT - Processassessment - Concepts and terminology.
ISO/IEC. (2015c). ISO/IEC 33002: Information technology - Process assessment -
Requirements for performing process assessment. ISO/IEC. (2015d). ISO/IEC 33003:
Information technology - Process assessment - Requirements for process measurement
frameworks. ISO/IEC. (2015e). ISO/IEC 33004: Information technol
Souza, Valdinei Costa. Qualidade na educação superior: uma visão operacional do
conceito. Avaliação: Revista da Avaliação da Educação Superior (Campinas) .
Online. 2017, v. 22, n. 2 [] , pp. 332-357. Disponível em:
<https://doi.org/10.1590/S1414-407720170002000041982-5765.> Acessado em: 21
Setembro 2021
Maciel, Ana Carla Fernandes; Valls, Carmem; Savoine, Márcia Maria. Análise da
qualidade de software utilizando as normas 12207, 15504, ISO 9000-3 e os modelos
CMM/CMMI e MPS. BR. Revista Cientifica do ITPAC 4 (2011): 1-13.
BOURQUE, P.; FAIRLEY, R. E.; ET AL. Guide to the software engineering body of
knowledge (swebok (r)): Version 3.0. IEEE Computer Society Press, 2014.
Gomes, Pedro Henrique de Andrade. Inspeção de código-fonte como subsídio para
o processo de ensino e aprendizagem de qualidade de software. Universidade
Estadual Paulista (UNESP), Instituto de Biociências Letras e Ciências Exatas, São
José do Rio Preto. Sistemas de Informação. Dissertação de mestrado. 2021
Disponível em: <<http://hdl.handle.net/11449/211000>. Acesso: 19 setembro de 2021
REZENDE, Denis Alcides. Engenharia de Software e sistemas de informação. 2. ed.
Rio de Janeiro: Brasport, 2002.
CROSBY, P. B. Quality is free : the art of making quality certain. New American
Library, 1980.
KOSCIANSKI, André; Soares, Michel dos Santos. Qualidade de Software – Aprenda
as metodologias e técnicas mais modernas para desenvolvimento de software. 2.
Ed. São Paulo: Novatec Editora, 2007.
ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. NBR ISO/IEC 9001: Sistema
de gestão da
qualidade – Requisitos. Rio de Janeiro: ABNT, 2015a.
Silva, Fabiane Rodrigues da.Gestão de riscos em laboratórios de instituições
públicas de ensino superior para atendimento à norma ABNT NBR ISO/IEC
17025:2017. Universidade Federal do Rio Grande do Sul.Porto Alegre. 2020.
Dissertação. Disponível em: <http://hdl.handle.net/10183/210578> acesso
ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. NBR ISO/IEC 9000: Sistema
de gestão da
qualidade – Fundamentos e vocabulário. Rio de Janeiro: ABNT, 2015b.
Belezia, Luciano Carlos. Modelo de autoavaliação para laboratórios de ensaio e
calibração baseado na Norma ABNT NBR ISO/IEC 17025:2017.Rio de Janeiro:
PUC, Programa de Pós-Graduação em Metrologia. Dissertação. 2019. Disponível
em: <https://www.maxwell.vrac.puc-rio.br/47389/47389.PDF> Acesso
Tonini, A. C.; Carvalho, M. M.; Spinola, M. M.Contribuição dos modelos de qualidade
e maturidade na melhoria dos processos de software.Produção, v. 18, n. 2, p.
275-286, 2008.

Continue navegando