Qualidade De Software
Trabalho Escolar: Qualidade De Software. Pesquise 862.000+ trabalhos acadêmicosPor: samuelel • 26/2/2015 • 9.606 Palavras (39 Páginas) • 318 Visualizações
Qualidade de Software
Cassiane de Fátima dos Santos Bueno - cfsb@di.ufpe.br
Gustavo Bueno Campelo - gbc@di.ufpe.br
Departamento de Informática
Universidade Federal de Pernambuco - Recife, PE
1. Resumo
O objetivo deste artigo é apresentar um conjunto de características de qualidade no desenvolvimento de um sistema baseado em computador, tendo como idéia central a melhoria e a “medida” da qualidade do software a ser desenvolvido, através da aplicação de conceitos sobre atributos de qualidade, métricas de qualidade de software, sistemas de gerenciamento de qualidade e revisões de software. Além disso, será feita uma breve descrição e comparação entre dois sistemas de gerenciamento de qualidade de software, o ISO 9001 e o CMM.
2. Introdução
O principal objetivo da engenharia de software é ajudar a produzir software de qualidade.
Conceitos de qualidade são imprecisos e difíceis de serem aceitos por todas as pessoas, no entanto, métricas de qualidade de software surgem desde a década de 70 e vêm se desenvolvendo de forma a ajudar no processo de desenvolvimento de software.
A garantia de controle de qualidade de software está intimamente relacionada a atividades de verificação e validação e estão presentes em todo o ciclo de vida do software. Em algumas organizações não existe distinção entre essas atividades. Entretanto, a garantia de qualidade e os processos de verificação e validação de software devem ser atividades distintas. A garantia de qualidade é uma função gerencial, enquanto que a validação e a verificação são processos técnicos no desenvolvimento de software.
Dentre os modelos de gerenciamento de controle de qualidade de software mais conhecidos estão o Capability Maturity Model (CMM) e o ISO 9000-3, que foram motivados pelas falhas nos processos de gerência e manutenção durante o desenvolvimento de software [CESAR97].
3. Conceitos de Qualidade
Definir qualidade de software é uma tarefa difícil. Muitas definições têm sido propostas e uma definição decisiva poderia ser debatida interminavelmente.
3.1. Qualidade
O Dicionário Aurélio define qualidade como: “propriedade, atributo ou condição das coisas ou das pessoas capaz de distingui-las das outras e de lhes determinar a natureza” [Aurélio86]. Como um atributo de um item, a qualidade se refere a coisas que podem ser medidas, ou seja, comparadas com padrões conhecidos, tais como, tamanho, cor, propriedades elétricas, maleabilidade, etc. Entretanto, é mais difícil categorizarmos qualidade em software, que é uma entidade intelectual, do que em objetos físicos.
Ao se examinar um item baseado em suas características mensuráveis, dois tipos de qualidade podem ser encontrados: qualidade de projeto e qualidade de conformidade [Pressman97].
Qualidade de projeto se refere a características que projetistas especificam para um item (performance, tolerância, etc.). O enfoque maior é nos requerimentos, na especificação e no projeto do sistema.
Qualidade de conformidade é o grau no qual as especificações do projeto são seguidas durante o processo de desenvolvimento. O enfoque maior é na implementação.
Uma definição de qualidade de software que se encaixa no escopo deste artigo é: “conformidade a requisitos funcionais e de desempenho explicitamente declarados, a padrões de desenvolvimento claramente documentados e a características implícitas que são esperadas de todo software profissionalmente desenvolvido” [Pressman95].
3.2. Controle de Qualidade
Pela definição da ISO, controle de qualidade é “a atividade e técnica operacional que é utilizada para satisfazer os requisitos de qualidade” [McDermid94].
O controle de qualidade é feito através de uma série de inspeções, revisões e testes, usados através do ciclo de desenvolvimento para garantir que cada trabalho produzido está de acordo com sua especificação/requerimento. Portanto, o controle de qualidade é parte do processo de desenvolvimento e, como é um processo de feedback, ele é essencial para minimizar os defeitos produzidos.
3.3. Garantia de Qualidade
A garantia de qualidade de software não é algo com o qual se começa a pensar depois que o código é gerado. A Garantia de Qualidade de Software ou SQA (Software Quality Assurance) é uma atividade que é aplicada ao longo de todo o processo de engenharia de software. Ela abrange:
métodos e ferramentas de análise, projeto, codificação e teste;
revisões técnicas formais que são aplicadas durante cada fase da engenharia de software;
uma estratégia de teste de múltiplas fases;
controle da documentação do software e das mudanças feitas nela;
um procedimento para garantir a adequação aos padrões de desenvolvimento de software, se eles forem aplicados;
mecanismos de medição e divulgação.
Geralmente, a garantia de qualidade consiste daqueles procedimentos, técnicas e ferramentas aplicadas por profissionais para assegurar que um produto atinge ou excede padrões pré-especificados durante o ciclo de desenvolvimento do produto; se tais padrões não são aplicados, a garantia de qualidade assegura que um produto atinge ou excede um nível de excelência (industrial ou comercial) mínimo aceitável.
3.4. Custo de Qualidade
Como seria utópico alcançar a perfeição em um sistema de computação, então o mais importante passa a ser definir qual nível de checagem (de qualidade) seria suficiente para o sistema em questão e os custos associados.
O custo de qualidade inclui todos os gastos financeiros relacionados às atividades de qualidade, os quais podem ser divididos em: custos de prevenção, custos de avaliação e custos de falhas.
Os custos de prevenção incluem:
planejamento da qualidade;
revisões técnicas formais;
teste de equipamentos;
treinamento.
Os custos de avaliação incluem:
...