Baixe o app para aproveitar ainda mais
Prévia do material em texto
15/03/2021 Qualidade de software – Wikipédia, a enciclopédia livre https://pt.wikipedia.org/wiki/Qualidade_de_software 1/8 Qualidade de software Origem: Wikipédia, a enciclopédia livre. O termo Qualidade possui diferentes definições na literatura. O glossário do IEEE define qualidade como “Grau de conformidade de um sistema, componente ou processo com os respectivos requisitos”, ou, alternativamente, como “Grau de conformidade de um sistema, componente ou processo com as necessidades e expectativas de clientes ou usuários”.[1] Ambas as definições refletem aspectos importantes da qualidade; diversos autores apresentam outras definições, que geralmente giram em torno dos temas de conformidade com os requisitos e atendimento das expectativas. Naturalmente, pode haver diferenças entre as aplicações dessas definições se os requisitos explícitos não refletirem corretamente as necessidades reais. Como salienta, a qualidade é definida por uma coleção de atributos; funcionalidade, confiabilidade, satisfação do usuário e desempenho são aspectos importantes, mas parciais.[1] A norma NBR ISO 9000:2005 define qualidade como sendo o grau no qual um conjunto de características inerentes satisfaz aos requisitos. Ou seja, pode-se afirmar que se algum produto ou serviço atende aos requisitos especificados, este mesmo produto ou serviço possui a qualidade desejada[2]. Outra visão diferente é no contexto de desenvolvimento de software: qualidade pode ser entendida como um conjunto de características a serem satisfeitas em um determinado grau, de modo que o produto de software atenda às necessidades explícitas e implícitas de seus usuários .[3] História Principais tópicos Questões de Qualidade e Qualidade de Software Fundamentos de Qualidade de Software Custo da Qualidade Modelos e Características de Qualidade de Software Norma SQuaRE - ISO/IEC 25000 Processos de Gerência de Qualidade de Software Verificação e Validação Considerações Práticas da Qualidade de Software Medidas de Qualidade Boas Práticas Ferramentas de Qualidade de Software Qualidade de Software no Brasil Ver também Bibliografia Ligações externas Índice https://pt.wikipedia.org/wiki/Wikip%C3%A9dia:P%C3%A1gina_principal https://pt.wikipedia.org/wiki/Qualidade https://pt.wikipedia.org/wiki/Instituto_de_Engenheiros_Eletricistas_e_Eletr%C3%B4nicos https://pt.wikipedia.org/wiki/ISO_9000 https://pt.wikipedia.org/wiki/Software 15/03/2021 Qualidade de software – Wikipédia, a enciclopédia livre https://pt.wikipedia.org/wiki/Qualidade_de_software 2/8 O rumo que a Qualidade de Software tomou na história se iniciou a partir da reunião da OTAN em 1968 onde o termo “Engenharia de Software” foi utilizado pela primeira vez por F. L. Bauer. Naquela reunião foi a primeira vez que o termo “Crise do Software” foi utilizado para dizer sobre os maus tempos que a indústria de software E a crise foi atribuída à complexidade de desenvolver sistemas cada vez maiores, bem como à falta de gerenciamento no processo de desenvolvimento de software. A partir daí “engenheiros de software” passaram a imitar a engenharia convencional para resolver problemas de qualidade e falhas em sistemas de informação. O modelo inicial adotado pela engenharia de software foi orientado fortemente à melhoria do produto final de software. No início da década de 1990, o próprio mercado substituía o Controle pela Garantia da Qualidade com um foco centrado no processo e que utilizava auditorias durante todo o ciclo de vida de desenvolvimento. A partir daí, foram surgindo normas aplicadas para a área tais como a ISO 9000-3, ISO 15504, ISO 12207, padrões IEEE 1074, IEEE 1298 e Modelos SW-CMM, CMMI e MPS.BR para Qualidade de Software. Para um melhor entendimento e estudo, o SWEBOK 3.0 divide a qualidade de software em quatro tópicos, sendo os três primeiros tópicos subdivididos em atividades, da seguinte forma: Fundamentos de qualidade de software Cultura e ética de engenharia de software Valores e custos de qualidade Modelos e características de qualidade Melhoria da qualidade de software Segurança de Software (Software Safety) Processos de gerência de qualidade de software Garantia de qualidade de software Verificação e validação Revisões e auditorias Considerações práticas Requisitos de qualidade de software Caracterização de defeitos Técnicas de gerência de qualidade de software Medidas de qualidade de software Ferramentas de Qualidade de Software Ainda segundo o SWEBOK, a qualidade de software é um tema tão importante que é encontrado, de forma ubíqua, em todas as outras áreas de conhecimento envolvidas em um projeto. História Principais tópicos https://pt.wikipedia.org/wiki/Engenharia_de_software https://pt.wikipedia.org/wiki/Crise_do_software https://pt.wikipedia.org/wiki/ISO/IEC_15504 https://pt.wikipedia.org/wiki/ISO_12207 https://pt.wikipedia.org/wiki/Instituto_de_Engenheiros_Eletricistas_e_Eletr%C3%B4nicos https://pt.wikipedia.org/wiki/Instituto_de_Engenheiros_Eletricistas_e_Eletr%C3%B4nicos https://pt.wikipedia.org/wiki/Capability_Maturity_Model https://pt.wikipedia.org/wiki/CMMI https://pt.wikipedia.org/wiki/SWEBOK https://pt.wikipedia.org/wiki/SWEBOK 15/03/2021 Qualidade de software – Wikipédia, a enciclopédia livre https://pt.wikipedia.org/wiki/Qualidade_de_software 3/8 É importante notar que o SWEBOK deixa claro que essa área, como nele definida, trata dos aspectos estáticos, ou seja, daqueles que não exigem a execução do software para avaliá-lo, em contraposição à área de conhecimento teste de software, que trata de aspectos dinâmicos. Muitos autores, porém, consideram testes de software como parte da qualidade de software[4]. Ao longo do tempo a teoria de qualidade de software foi evoluindo, resultando inclusive na criação dos padrões ISO/IEC 9126 e ISO/IEC 25000. Uma importante contribuição foi a divisão do conceito de qualidade em subconceitos, no caso de software, inicialmente proposto por McCall, Richards e Walters (http://www.dtic.mil/dtic/tr/fulltext/u2/a049014.pdf)[5]. Uma questão importante é que qualidade é uma relação entre um objeto e um observador. Isso pode ser percebido na primeira definição de Juran que cita o atendimento as necessidades do cliente[6]. Como um software pode ter muitos clientes (ou partes interessadas), fica claro que o que é qualidade para um não necessariamente é qualidade para outro. Já Garvin[7] apresenta cinco formas de entender qualidade: A definição transcedental: onde qualidade é uma "excelência inata, absoluta e que todos podem reconhecer"[7], sendo semelhante ao conceito de "Qualidade sem um nome"[8] proposta por Christopher Alexander. A definição baseada em produto: onde qualidade é algo que pode ser medido em um objeto. A definição baseada no usuário: onde qualidade é algo ligado ao atendimento das necessidades do usuário. A definição baseada na fabricação: onde qualidade está ligado a produção correta de acordo com os requisitos A definição baseada em valor: onde "um produto de qualidade é aquele que fornece desempenho a um preço aceitável ou conformidade a um custo aceitável"[7] A principal característica dos estudos de qualidade é a definição de qualidade de forma hierárquica, sendo que o conceito mais geral de qualidade é subdividido, sucessivamente, em características e subcaracterísticas (ou ainda fatores, atributos ou critérios de qualidade)[5][9]. Assim, características mais gerais, como reusabilidade, correção, eficiência e outras podem ser sucessivamente detalhadas até que se alcance uma característica que pode ser medida no software propriamente dito. Por exemplo, a Eficiência de Desempenho do software é uma característica muito genérica, que é subdividada no modelo ISO 25000 em Comportamento de Tempo, Utilização de Recursos e Capacidade. Mesmo essas características precisam ser subdividadas em critérios mensuráveis (como tempo para executar uma função)[9]. A melhoria da qualidade de software é uma forte vertente da qualidade, sendo seu desenvolvimento basicamente realizados em ciclos inspiradosno modelo PDCA, como, por exemplo, o CMMI-IDEAL. Uma polêmica importante está relacionado ao tópico "Good Enough Software", ou Software Bom o Suficiente, que defende que há um momento em que o software pode ser lançado mesmo tendo problemas, porque os benefícios de lançar o produto são muito maiores que os riscos causados pelos problemas conhecidos[5]. Questões de Qualidade e Qualidade de Software Fundamentos de Qualidade de Software https://pt.wikipedia.org/wiki/Teste_de_software https://pt.wikipedia.org/wiki/Teste_de_software https://pt.wikipedia.org/wiki/ISO/IEC_9126 https://pt.wikipedia.org/wiki/ISO/IEC_25010 http://www.dtic.mil/dtic/tr/fulltext/u2/a049014.pdf https://pt.wikipedia.org/wiki/Christopher_Alexander https://pt.wikipedia.org/w/index.php?title=Melhoria_da_qualidade_de_software&action=edit&redlink=1 https://pt.wikipedia.org/wiki/Ciclo_PDCA https://pt.wikipedia.org/w/index.php?title=CMMI-IDEAL&action=edit&redlink=1 15/03/2021 Qualidade de software – Wikipédia, a enciclopédia livre https://pt.wikipedia.org/wiki/Qualidade_de_software 4/8 Fundamentos de Qualidade de Software é o primeiro dos 4 tópicos de Qualidade de Software do SWEBOK. Nele são tratados a "discussão e a definição dos aspectos da Qualidade de Software, seus conceitos, características, valores e sua aplicação no software sendo desenvolvido ou em manutenção."[10] Uma forte motivação para o foco em qualidade é que o custo relativo de corrigir erros aumenta drasticamente com a evolução do Ciclo de Vida do Software. Segundo Boehm, citado por Pressman[5], há corrigir um erro ou defeito na fase de manutenção do software custa 100 vezes mais que corrigi-lo na fase de requisitos. Pressman[5] indica os seguintes custos relacionados a qualidade de software, podendo eles ocorrerem tanto na prevenção quanto no tratamento dos problemas: Custos de Prevenção Planejamento da qualidade Revisões técnicas formais Testes Treinamento Custos de Falha Interna Retrabalho Reparo Modo de análise de falha Custo de Falha Externa Resolução das reclamações Devolução e substituição Suporte Atendimento à garantia Uma lista semelhante pode ser encontrada no SWEBOK. Modelos de Processo de Software CMMI MPS.BR Padrões Internacionais de Processo de Software ISO 12207 Padrões Internacionais de Qualidade de Software ISO 9126 ISO 15504 ISO/IEC 25010 (SQuaRe) Padrões de certificação de Qualidade de Software Custo da Qualidade Modelos e Características de Qualidade de Software https://pt.wikipedia.org/w/index.php?title=Ciclo_de_Vida_do_Software&action=edit&redlink=1 https://pt.wikipedia.org/wiki/CMMI https://pt.wikipedia.org/w/index.php?title=MPS.BR&action=edit&redlink=1 https://pt.wikipedia.org/wiki/ISO_12207 https://pt.wikipedia.org/wiki/ISO_9126 https://pt.wikipedia.org/wiki/ISO_15504 https://pt.wikipedia.org/wiki/ISO/IEC_25010 15/03/2021 Qualidade de software – Wikipédia, a enciclopédia livre https://pt.wikipedia.org/wiki/Qualidade_de_software 5/8 Qualidade de Produto de Sistemas e Software segundo a série ISO/IEC 25000 Qualidade em Uso segundo a série ISO/IEC 25000 SCAMPI para o CMMI Fórum de credenciamento e controle -FCC para o MPS.br A Série ISO/IEC 25000[9], denominada Software product Quality Requirements and Evaluation (SQuaRE), é a mais moderna norma de qualidade de software, sendo organizada da seguinte forma: 2500n: Divisão da gestão da qualidade 2501n: Divisão de modelo de qualidade 2502n: Divisão de medição de qualidade 2503n: Divisão de requisitos de qualidade 2504n: Divisão de avaliação de qualidade Ela define 3 perspectivas de qualidade (ou modelos): Qualidade Externa, uma visão de caixa preta do software Qualidade Interna, uma visão de caixa branca do software Qualidade em Uso, uma visão operacional do software As figuras ao lado listam os atributos de qualidade de sistemas e software segunda as normas ISO/IEC 25000. "Um Sistema de Gestão da Qualidade compreende atividades pelas quais uma organização identifica seus objetivos e determina os processos e recursos necessários para alcançar os resultados desejados."[11] Seus princípios são: foco no cliente, liderança, engajamento das pessoas, abordagem de processo, melhoria contínua, tomada de decisão baseada em evidência e gestão dos relacionamentos com as partes interessadas.[11] Existem quatro subcategorias de Gerência de Qualidade de Software[10]: 1. Planejamento da Qualidade de Software 2. Garantia da Qualidade de Software 3. Controle da Qualidade de Software 4. Melhoria da Qualidade de Software. Um processo de gestão de qualidade[12] "Assegura que produtos, serviços e implementações do ciclo de vida de processo atinja os objetivos de qualidade organizacionais e a satisfação do usuário", tendo as seguintes atividades[12]: Gerência da qualidade 1. Estabelecer padrões, políticas e procedimentos de gestão de qualidade da organização 2. Estabelecer objetivos e metas de gestão e de qualidade da organização baseado na estratégia de negócio para a satisfação do cliente 3. Definir autoridade e responsabilidade para a gerência de qualidade 4. Monitorar a satisfação do usuário 5. Conduzir revisão periódica do planos de qualidade de projeto 6. Monitorar a melhoria de qualidade em produtos e serviços Norma SQuaRE - ISO/IEC 25000 Processos de Gerência de Qualidade de Software https://pt.wikipedia.org/wiki/Ficheiro:Qualidade_de_Produto_de_Sistemas_e_Software.jpg https://pt.wikipedia.org/wiki/Ficheiro:Qualidade_em_Uso_SQuaRe.jpg https://pt.wikipedia.org/wiki/CMMI https://pt.wikipedia.org/wiki/Lideran%C3%A7a https://pt.wikipedia.org/wiki/Melhoria_Cont%C3%ADnua https://pt.wikipedia.org/wiki/Parte_interessada 15/03/2021 Qualidade de software – Wikipédia, a enciclopédia livre https://pt.wikipedia.org/wiki/Qualidade_de_software 6/8 Modelo de Referência para a Medição de Qualidade De Produto de Software segundo a norma ISO/IEC 25020:2009 Ação corretiva de gestão de qualidade 1. Tomar ações corretivas adequadas quando os objetivos de gestão de qualidade não são atingidos 2. Implementar ações corretivas e comunicar os resultados para a organização As técnicas utilizadas para a gestão de qualidade podem ser estáticas, como a análise estática do software, inspeções, revisões e o uso de métodos formais, ou dinâmicas, como o uso de testes ou simulações. A validação e verificação são atividades de apoio de um processo de garantia de qualidade de software. A motivação principal dessas atividades é prevenir e detectar os defeitos e minimizar os riscos do projeto.[13] As atividades de validação e verificação são baseadas em técnicas de análise estática ou dinâmica dos artefatos (documentos, código fonte, código executável, etc) com o intuito de detectar os defeitos ou revelar falhas na própria fase onde eles foram inseridos ou em fases posteriores.[13] As atividades de validação e verificação são baseadas em técnicas de análise estática ou dinâmica dos artefatos (documentos, código fonte, código executável, etc) com o intuito de detectar os defeitos ou revelar falhas na própria fase onde eles foram inseridos ou em fases posteriores. Dentro do contexto de qualidade de software esses termos, conhecidos como V&V, referem-se a métodos para avaliar produtos e processos[10]. Em especial, verificação se refere a ver se o software foi desenvolvido de acordo com as suas especificações, ou seja, que construímos o software de maneira correta, enquanto validação se refere a garantir que o software atende a seus propósitos, isto é, que construímos o software certo. A norma ISO/EIC 25020:2009 propõe um modelo de referência para a medição de qualidade de produto de software, decompondo-o em características de qualidade e estas, em sub- características de qualidade, as quais podem ser avaliadas por medidas de qualidade de software; as medidas de qualidade são geradas por funções de medição, que derivam de elementos da medida de qualidade[9]. Para uma boa qualidade de software existe algumas boas práticas que todos que participam do desenvolvimento devem cumprir. Existem ferramentase padrões de boas práticas para auxiliar o desenvolvimento do software e permitir a melhoria da qualidade entre elas estão: PSP: Personal Software Process TSP Team Software Process Verificação e Validação Considerações Práticas da Qualidade de Software Medidas de Qualidade Boas Práticas https://pt.wikipedia.org/wiki/Ficheiro:ModRefMedQuaProSof.png https://pt.wikipedia.org/wiki/Personal_software_process https://pt.wikipedia.org/wiki/Team_Software_Process_(TSP) https://pt.wikipedia.org/wiki/Information_Technology_Infrastructure_Library 15/03/2021 Qualidade de software – Wikipédia, a enciclopédia livre https://pt.wikipedia.org/wiki/Qualidade_de_software 7/8 ITIL COBIT Para auxiliar a garantir a qualidade de software existem várias ferramentas, que podem atuar em análises estáticas ou dinâmicas do software. Entre a grande variedade de ferramentas existentes, é possível caracterizar alguma categorias de análise estática: Ferramentas de apoio a revisões e inspeções Ferramentas de apoio a análise de riscos de segurança Ferramentas de rastreamento de problemas Ferramentas de análise de dados capturados em ambientes de Engenharia de Software. No Brasil existe o Programa Brasileiro da Qualidade e Produtividade em Software, PBQP-Software, cuja principal contribuição é o programa de Melhoria do Processo de Software Brasileiro, MPS.Br, apoiado pelo Softex. Além disso a ABNT nacionaliza as normas internacionais. Lista de instituições pela qualidade Teste de software Gestão da qualidade ISO ABNT BIA Underwriters Laboratories CMMI 1. AROUCK, O. Avaliação de sistemas de informação: revisão da literatura (http://www.eci.ufmg.br/ bogliolo/downloads/AROUK%20Avaliacao%20de%20sistemas%20de%20informacao.pdf)[ligação inativa]. Transinformação, v. 13, n. 1, jan./jun., 2001. p. 7-21. 2. BROOKS, F. P. No Silver Bullet: Essence and Accidents of Software Engineering". Computer, Vol. 20, N. 4, pp 10–19. April, 1987. 3. KOSCIANSKI, A., Soares, M. S.. Qualidade de Software. Editora Novatec, Segunda Edição, 2007. 4. MOLINARI, Leonardo. Gerência de Configuração - Técnicas e Práticas no Desenvolvimento do Software, Editora Visual Books, 2007, Florianópolis, 85-7502-210-5. 5. MOLINARI, Leonardo. Testes de Software - Produzindo Sistemas Melhores e Mais Confiáveis, Editora Èrica, 2006, 3a Edição, São Paulo, 85-7194-959X. 6. PRESSMAN, R. S. Engenharia de Software. McGraw Hill, 2002. 1. FILHO, WILSON DE PADUA PAULA (2009). ENGENHARIA DE SOFTWARE FUNDAMENTOS, Ferramentas de Qualidade de Software Qualidade de Software no Brasil Ver também Bibliografia Ligações externas https://pt.wikipedia.org/wiki/Information_Technology_Infrastructure_Library https://pt.wikipedia.org/wiki/COBIT https://pt.wikipedia.org/w/index.php?title=Programa_Brasileiro_da_Qualidade_e_Produtividade_em_Software&action=edit&redlink=1 https://pt.wikipedia.org/w/index.php?title=PBQP-Software&action=edit&redlink=1 https://pt.wikipedia.org/w/index.php?title=MPS/Br&action=edit&redlink=1 https://pt.wikipedia.org/w/index.php?title=Mps.br&action=edit&redlink=1 https://pt.wikipedia.org/wiki/Softex https://pt.wikipedia.org/wiki/ABNT https://pt.wikipedia.org/w/index.php?title=Lista_de_institui%C3%A7%C3%B5es_pela_qualidade&action=edit&redlink=1 https://pt.wikipedia.org/wiki/Teste_de_software https://pt.wikipedia.org/wiki/Gest%C3%A3o_da_qualidade https://pt.wikipedia.org/wiki/ISO https://pt.wikipedia.org/wiki/ABNT https://pt.wikipedia.org/wiki/Berufsgenossenschaftliches_Institut_f%C3%BCr_Arbeitschutz https://pt.wikipedia.org/wiki/Underwriters_Laboratories https://pt.wikipedia.org/wiki/CMMI http://www.eci.ufmg.br/bogliolo/downloads/AROUK%20Avaliacao%20de%20sistemas%20de%20informacao.pdf https://pt.wikipedia.org/wiki/Wikip%C3%A9dia:Liga%C3%A7%C3%A3o_inativa 15/03/2021 Qualidade de software – Wikipédia, a enciclopédia livre https://pt.wikipedia.org/wiki/Qualidade_de_software 8/8 Obtida de "https://pt.wikipedia.org/w/index.php?title=Qualidade_de_software&oldid=58180427" Esta página foi editada pela última vez às 21h54min de 3 de maio de 2020. Este texto é disponibilizado nos termos da licença Atribuição-CompartilhaIgual 3.0 Não Adaptada (CC BY-SA 3.0) da Creative Commons; pode estar sujeito a condições adicionais. Para mais detalhes, consulte as condições de utilização. 1. FILHO, WILSON DE PADUA PAULA (2009). ENGENHARIA DE SOFTWARE FUNDAMENTOS, MÉTODOS E PADRÕES. [S.l.]: LTC. 456 páginas 2. «Qualidade, Qualidade de Software e Garantia da Qualidade de Software são as mesmas coisas?» (http://www.linhadecodigo.com.br/artigo/1712/qualidade-qualidade-de-software-e-garanti a-da-qualidade-de-software-sao-as-mesmas-coisas.aspx). www.linhadecodigo.com.br. Consultado em 25 de junho de 2019 3. Falbo, Ricardo. «Uma Ontologia de Qualidade de Software» (https://www.researchgate.net/profil e/Ricardo_Falbo/publication/238130316_Uma_Ontologia_de_Qualidade_de_Software/links/5499 437c0cf2d6581aafe8f6.pdf) (PDF). UFES. Consultado em 25/06 Verifique data em: |acessodata= (ajuda) 4. Naik, Kshirasagar; Tripathy, Privadarshi (2008). Software Testing and Quality Assurance. Hoboken, New Jersey: Wiley 5. Pressman, Roger. Software Engineering: A Practitioner´s Approach 7th ed. [S.l.: s.n.] 6. Juran, Joseph M.; Godfrey, A. Blanton (1999). Juran´s Quality Handbook 5th ed. New York: McGraw-Hill 7. Garvin, David A (1984). «What Does "Product Quality" Really Mean?» (http://sloanreview.mit.edu/ article/what-does-product-quality-really-mean/). MIT Sloan Management Review (em inglês) 8. Alexander, Christopher (1979). The Timeless Way of Building. [S.l.: s.n.] 9. ABNT NBR ISO/IEC 25020 2009 10. Bourque, Pierre; Fairley, Dick (2014). SWEBOK 3.0 Guide to the Software Engineering Body of Knowledge. [S.l.]: IEEE Computer 11. ISO 9000:2015 12. ISO 12207-2008 13. Caetano, Cristiano. Gestão de Testes Ferramentas Open Source e melhores práticas na gestão de testes. [S.l.]: Engenharia de Software Magazine. 9 páginas line feed character character in |título= at position 17 (ajuda); https://pt.wikipedia.org/w/index.php?title=Qualidade_de_software&oldid=58180427 https://creativecommons.org/licenses/by-sa/3.0/deed.pt https://foundation.wikimedia.org/wiki/Condi%C3%A7%C3%B5es_de_Uso http://www.linhadecodigo.com.br/artigo/1712/qualidade-qualidade-de-software-e-garantia-da-qualidade-de-software-sao-as-mesmas-coisas.aspx https://www.researchgate.net/profile/Ricardo_Falbo/publication/238130316_Uma_Ontologia_de_Qualidade_de_Software/links/5499437c0cf2d6581aafe8f6.pdf https://pt.wikipedia.org/wiki/Ajuda:Erros_nas_refer%C3%AAncias#bad_date http://sloanreview.mit.edu/article/what-does-product-quality-really-mean/ https://pt.wikipedia.org/wiki/Ajuda:Erros_nas_refer%C3%AAncias#invisible_char
Compartilhar