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]
qualidade de software koscianski pdf 220
DOWNLOAD: https://tinurll.com/2vJcoh
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]
É 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.
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.[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.
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]
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]
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.
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]:
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]
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] 2ff7e9595c
Comments