Baixe o app para aproveitar ainda mais
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.
Compartilhar