Definição de Qualidade no Software
Roger Pressman no seu livro "Software Engineering: A Practitioner's Approach", propõe a seguinte definição:
Conformidade com requisitos funcionais e de desempenho explicitamente afirmados, com as normas de desenvolvimento explicitamente documentadas e com as características implícitas expectáveis pelos profissionais de informática que desenvolvem software.
Esta definição realça os seguintes
pontos:
1. Os requisitos são a bases a partir da qual
a qualidade é medida. Falta de conformidade com os requisitos é
falta de qualidade;
2. As normas definem um conjunto de critérios
que guiam o desenvolvimento. Se esses critérios não são
seguidos resultará falta de qualidade;
3. Existem requisitos implícitos que muitas vezes
não são mencionados. Se não forem seguidos a
qualidade é suspeita.
A qualidade de software é uma mistura complexa
de factores que variarão conforme as aplicações e
os utilizadores que as pediram.
Factores que contribuem para a Qualidade no Software
A norma ISO/IEC 9126 propõe um enquadramento no
qual é definido um conjunto de características que permitem
avaliar a qualidade de um produto.
As características propostas foram escolhidas
com a preocupação de serem tão independentes quanto
possível, isto é, sem sobreposição.
Esta norma não define métricas para essas
características, nem métodos para a sua quantificação,
classificação ou avaliação.
Essas características, são por sua vez, desdobradas em subcaracterísticas de acordo com o esquema seguinte:
Funcionalidade (Functionality):
Adequação (Suitability)
Exactidão (Accuracy)
Interoperação (Interoperability)
Concordância (Compliance)
Segurança (Security)
Fiabilidade: (Reliability)
Maturidade (Maturity)
Tolerância a falhas (Fault Tolerance)
Facilidade de Recuperação (Recoverability)
Facilidade de Utilização: (Usability)
Facilidade de compreensão (Understandability)
Facilidade de aprendizagem (Learnability)
Facilidade de operação (Operability)
Eficiência: (Efficiency)
Comportamento face ao tempo (Time behaviour)
Comportamento face aos recursos (Resource behaviour)
Facilidade de manutenção: (Maintainability)
Facilidade de Análise (Analysability)
Facilidade de Alteração (Changeability)
Estabilidade (Stability)
Facilidade de Teste (Testability)
Portabilidade: (Portability)
Adaptabilidade (Adaptability)
Facilidade de Instalação (Installability)
Conformidade (Conformance)
Facilidade de Substituição (Replaceability)
Importância relativa das características de qualidade:
Nem todos os requisitos são estabelecidos explicitamente. Uma forte parceria entre os utilizadores e os informáticos ajudará a atingir os requisitos implícitos.
Sempre que os utilizadores pretendem um sistema para melhorar as suas práticas de negócio e se concentram em factores de qualidade como correcção e facilidade de utilização, os técnicos de informática estão interessados em manter estes objectivos mas também preocupados com factores tais como a reutilização e facilidade de manutenção que provavelmente não são considerados pelos utilizadores. Na qualidade do software ambas as perspectivas são correctas.
Qualquer que seja a definição de qualidade
que uma organização escolha a qualidade permanece um estado
de espírito. No final a qualidade depende da percepção
do utilizador e no profissionalismo da abordagem escolhida para atingir
essa finalidade. A qualidade não é atingida focando-se nela
própria. A Qualidade é um subproduto duma abordagem profissional
dum sistema de qualidade que se concentra nos requisitos do negócio
dos utilizadores e da sua organização.
Garantia de Qualidade no Software
Refere-se à avaliação e melhoramento do processo de desenvolvimento.
Oferece uma medida de garantia que um produto de software:
A conformidade com os requisitos é uma percepção
dos utilizadores; o respeito pelos prazos e custos tem de ser sempre considerado
sob pena dos utilizadores não ficarem satisfeitos.
As pessoas envolvidas nas actividades de qualidade estão geralmente empenhadas no planeamento e controlo. São geralmente pessoas experientes que não executam tarefas rotineiras de análise e testes.
Em suma, a garantia de qualidade do software é uma actividade de apoio que é aplicada a todo o processo de desenvolvimento:
1. Na análise, desenho, codificação,
testes;
2. Nas revisões técnicas formais ema cada
uma das fases;
3. Na estratégia de testes;
4. No controlo da documentação e suas alterações;
5. Nos procedimentos para assegurar a conformidade com
as normas;
6. Nos mecanismos de medição e relatórios.
Definições
Funcionalidade: Conjunto de atributos que dependem da existência de funcionalidades e respectivas propriedades que tornam um produto capaz de satisfazer as exigências expressas ou implícitas dos utilizadores.
Adequação: Atributo que traduz a presença de um conjunto de funcionalidades apropriadas para desempenhar determinadas tarefas.
Exactidão: Atributo que se refere à obtenção de resultados ou efeitos julgados correctos.
Interoperação: Atributo que se refere à possibilidades de o produto interagir com outros sistemas especificados.
Concordância: Atributo que traduz a aderência do produto de software às normas (standards) ou convenções.
Segurança: Atributo
que se refere à capacidade de impedir o acesso não autorizado,
acidental ou deliberado, a programas e dados.
Fiabilidade: Conjunto de atributos que expressam a capacidade de um produto manter o seu nível de desempenho em condições de funcionamento especificadas por um período de tempo determinado.
Maturidade: Atributo que se refere à frequência com que ocorrem falhas do produto devidas a erros embutidos no software.
Tolerância a falhas: Atributo que traduz a capacidade de manutenção de um nível de desempenho especificado aquando da ocorrência de falhas do software.
Facilidade de Recuperação: Atributo
que traduz a capacidade (em termos de tempo e esforço) de reposição
do nível de desempenho e a recuperação dos dados directamente
afectados por falhas do software.
Facilidade de Utilização:Conjunto de atributos que dependem do esforço necessário para utilizar um produto e da avaliação individual de tal utilização feita por um determinado conjunto de utilizadores.
Facilidade de compreensão: Atributo que se refere ao esforço dos utilizadores para reconhecerem os conceitos lógicos subjacentes ao produto e à sua aplicabilidade.
Facilidade de aprendizagem: Atributo que traduz o esforço necessário para aprender a utilizar as potencialidades oferecidas pelo produto.
Facilidade de operação: Atributo
que traduz o esforço necessário para operar com o produto,
isto é, para com ele obter resultados.
Eficiência: Conjunto de atributos que dependem da relação entre o nível de desempenho do produto e a quantidade de recursos utilizados, em condições especificadas.
Comportamento face ao tempo: Atributo que traduz os tempos de resposta e de processamento e o volume de dados processados por unidade de tempo.
Comportamento face aos recursos: Atributo
que depende da quantidade e duração dos recursos (tempo de
processador, canais de entrada/saída, etc.) utilizados para desempenhar
determinadas funções.
Facilidade de manutenção: Conjunto de atributos que dependem do esforço necessário para efectuar modificações especificadas. Uma modificação pode envolver correcções, melhorias ou adaptação do software a alterações do ambiente e nos requisitos e especificações funcionais.
Facilidade de Análise: Atributo que traduz o esforço necessário para diagnosticar deficiências ou causas de falhas e identificar as partes do software a serem modificadas.
Facilidade de Alteração: Atributo que traduz o esforço necessário para modificar o software (removendo erros, melhorando o seu desempenho, etc.).
Estabilidade: Atributo que depende do risco de ocorrência de efeitos colaterais (efeitos não esperados ou desejados) aquando da alteração do software.
Facilidade de Teste: Atributo que traduz o esforço
necessário para validar o software modificado.
Portabilidade: Conjunto de atributos que dependem da possibilidade de um produto de software ser transferido de um ambiente (hardware e/ou software) para outro.
Adaptabilidade: Atributo que se relaciona com a capacidade de adaptar (configurar) o software a diferentes ambientes de funcionamento, sem ser necessário aplicar outras acções ou meios que não sejam os já previstos e incluídos.
Facilidade de Instalação: Atributo que traduz o esforço necessário para instalar o software num dado ambiente.
Conformidade: Atributo que traduz a aderência do produto de software às normas (standards) ou convenções.
Facilidade de Substituição:
Atributo que reflecte a possibilidade e o esforço
necessário para usar um produto de software no lugar (ambiente )
de (ou em vez de) um outro.
Para aprender mais:
Quality Characteristics and Metrics for Reusable Software
Software Quality Management Guidelines
Software Quality Assurance: Documentation and Reviews
General software user expectations
Quality
characteristics and subcharacteristics
Livros:
"Software
Engineering: A Practitioner's Approach", de Roger Pressman
![]() |
![]() |
![]() |
Visitas:
Última actualização:
5 de Julho de 1999