In Association with Amazon.com

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:

É importante recordar que, com o software, as percepções do utilizador determinam os propósitos. Qualidade é antes de tudo uma percepção do utilizador.

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

Software Quality Assurance

General software user expectations

ISO 9126

Quality characteristics and subcharacteristics




Livros:

Clique no livro para ligar directamente à Amazon"Software Engineering: A Practitioner's Approach", de Roger Pressman



Search:
Keywords:
In Association with Amazon.com










Voltar à Página anterior Voltar à página principal Ver o mapa do site






Visitas:

Última actualização: 5 de Julho de 1999
 
 

Hosted by www.Geocities.ws

1