qualidade em software - · pdf filedesenvolvimento de software. nbr iso 9001 sistemas de...

Click here to load reader

Post on 28-Aug-2018

213 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • Qualidade de Software Jos Barreto Jnior

    O que qualidade? Existem diversas definies. Algumas pessoas que tentaram uma definio simples chegaram a frases como:

    Qualidade estar em conformidade com os requisitos dos clientes Qualidade antecipar e satisfazer os desejos dos clientes Qualidade escrever tudo o que se deve fazer e fazer tudo o que foi escrito

    Segundo a atual norma brasileira sobre o assunto (NBR ISO 8402), qualidade :

    A totalidade das caractersticas de uma entidade

    que lhe confere a capacidade de satisfazer

    s necessidades explcitas e implcitas

    Nota-se que esta definio formal exige alguns complementos, principalmente para definir o que so as entidades, as necessidades explcitas e as necessidades implcitas. A entidade o produto do qual estamos falando, que pode ser um bem ou um servio. As necessidades explcitas so as prprias condies e objetivos propostos pelo produtor. As necessidades implcitas incluem as diferenas entre os usurios, a evoluo no tempo, as implicaes ticas, as questes de segurana e outras vises subjetivas.

    Por exemplo, a qualidade de um prato de comida (a entidade, o produto) est relacionada com a satisfao de necessidades (requisitos) tais como: sabor, aparncia, temperatura, rapidez no servio, preo, higiene, valor nutricional, etc... Para avaliar a qualidade de um produto, voc deve fazer uma lista destas necessidades e analisar cada uma destas necessidades.

    Certificao de Qualidade

    Um aspecto interessante da qualidade que no basta que ela exista. Ela deve ser reconhecida pelo cliente. Por causa disso, necessrio que exista algum tipo de certificao oficial, emitida com base em um padro. Voc provavelmente j conhece alguns certificados mais comuns:

    O selo do SIF de inspeo da carne O selo da ABIC nos pacotes de caf O certificado da Secretaria de Sade para restaurantes (classe "A" so os melhores) A classificao em estrelas dos hotis (hotis com cinco estrelas so timos) Os certificados de qualidade da srie ISO-9000

  • Voc j deve ter ouvido muitas propagandas de empresas falando de sua certificao ISO-9000. Isto nada mais do que um padro de qualidade (reconhecido mundialmente) pelo qual esta empresa foi avaliada e julgada. Para que seja possvel realizar uma avaliao e um julgamento, necessrio haver um padro ou norma. Existem alguns organismos normalizadores reconhecidos mundialmente:

    ISO - International Organization for Standardization IEEE - Instituto de Engenharia Eltrica e Eletrnica ABNT - Associao Brasileira de Normas Tcnicas

    A norma ISO-9000, por exemplo, foi criada pela ISO para permitir que todas as empresas do mundo possam avaliar e julgar sua qualidade. Existindo um padro nico mundial, uma empresa do Brasil, mesmo no tendo nenhum contato com uma outra empresa na Europa, pode garantir a ela a qualidade de seu trabalho.

    A Certificao em uma norma ou padro a emisso de um documento oficial indicando a conformidade com esta determinada norma ou padro. claro que, antes da emisso do certificado, preciso realizar todo um processo de avaliao e julgamento de acordo com uma determinada norma. Embora uma empresa possa auto-avaliar-se ou ser avaliada por seus prprios clientes, o termo Certificao costuma ser aplicado apenas quando efetuado por uma empresa independente e idnea, normalmente especializada neste tipo de trabalho. No Brasil, o INMETRO o rgo do governo responsvel pelo credenciamento destas instituies que realizam a certificao de sistemas de qualidade.

    Qualidade do Produto x Qualidade do Processo

    Uma das evolues mais importantes no estudo da qualidade est em notar que a qualidade do produto algo bom, mas que qualidade do processo de produo ainda mais importante. No caso do prato de comida, por exemplo, voc pode dizer mais sobre a qualidade observando como o prato foi preparado do que analisando o produto final. Afinal, voc no consegue ter certeza da higiene ou o valor nutricional apenas comendo o prato.

    Esta descoberta aconteceu durante a prpria evoluo dos conceitos de qualidade, ao longo dos anos. Observe na tabela abaixo como aconteceu esta evoluo:

    Inspeo ps-produo Avalia o produto final, depois de pronto 1900

    Controle estatstico da produo Avalia os subprodutos das etapas de produo 1940

    Procedimento de produo Avalia todo o procedimento de produo 1950

    Educao das pessoas Avalia as pessoas envolvidas no processo 1960

    Otimizao dos processos Avalia e otimiza cada processo 1970

    Projeto robusto Avalia o projeto de produo 1980

    Engenharia simultnea Avalia a prpria concepo do produto 1990

  • Hoje em dia, voc pode consultar normas e padres tanto para produtos quanto para processos. Obviamente, os certificados mais valiosos so aqueles que certificam o processo de produo de um produto e no aqueles que simplesmente certificam o produto. Entretanto, comum encontrar empresas que perseguem os dois tipos de padro de qualidade.

    Qualidade de Software

    Agora que voc j sabe o que qualidade e como ela pode ser avaliada, vamos tentar aplicar estes conceitos aos produtos de software e ao processo de desenvolvimento de software. Inicialmente, vamos encontrar um grande problema: muitas pessoas acham que criar programas uma arte que no pode seguir regras, normas ou padres. Isto acontece principalmente porque:

    Produtos de software so complexos, at mais do que o hardware onde executam Software no tm produo em srie. Seu custo est no projeto e desenvolvimento Software no se desgasta e nem de modifica com o uso O Software invisvel. Sua representao em grafos e diagramas no precisa. A Engenharia de Software ainda no est madura, uma tecnologia em evoluo No h um acordo entre os profissionais da rea sobre o que Qualidade de

    Software

    Apesar de tudo isso, voc precisa entender que o problema no est no Software em si, mas na forma como as pessoas tem desenvolvido software at os dias de hoje. Voc provavelmente j ouviu dizer que "Se os engenheiros construssem prdios como os analistas constroem software, um nico pica-pau destruiria a humanidade". Exageros parte, voc precisa se conscientizar que ns precisamos aplicar na indstria de software os conceitos de qualidade, urgentemente.

    Atualmente, muitas instituies se preocupam em criar normas para permitir a correta avaliao de qualidade tanto de produtos de software quanto de processos de desenvolvimento de software. Apenas para ter uma uma viso geral, observe o quadro abaixo com as principais normais nacionais e internacionais nesta rea:

    Norma Comentrio

    ISO 9126 Caractersticas da qualidade de produtos de software.

    NBR 13596 Verso brasileira da ISO 9126

    ISO 14598 Guias para a avaliao de produtos de software, baseados na utilizao prtica da norma ISO 9126

    ISO 12119 Caractersticas de qualidade de pacotes de software (software de prateleira, vendido com um produto embalado)

    IEEE P1061 Standard for Software Quality Metrics Methodology (produto de software)

    ISO 12207 Software Life Cycle Process. Norma para a qualidade do processo de

  • desenvolvimento de software.

    NBR ISO 9001 Sistemas de qualidade - Modelo para garantia de qualidade em Projeto, Desenvolvimento, Instalao e Assistncia Tcnica (processo)

    NBR ISO 9000-3 Gesto de qualidade e garantia de qualidade. Aplicao da norma ISO 9000 para o processo de desenvolvimento de software.

    NBR ISO 10011 Auditoria de Sistemas de Qualidade (processo)

    CMM

    Capability Maturity Model. Modelo da SEI (Instituto de Engenharia de Software do Departamento de Defesa dos EEUU) para avaliao da qualidade do processo de desenvolvimento de software. No uma norma ISO, mas muito bem aceita no mercado.

    SPICE ISO 15504

    Projeto da ISO/IEC para avaliao de processo de desenvolvimento de software. Ainda no uma norma oficial ISO, mas o processo est em andamento.

    No final desta pgina, voc encontra alguns links relacionados a Qualidade e Qualidade de Software.

    Engenharia de Software

    Como voc j viu, a disciplina que vai nos ajudar a entender o processo de desenvolvimento de software a Engenharia de Software. atravs dela que poderemos chegar qualidade. Existe, entretanto, um grande problema a ser resolvido: tecnicamente, ela no existe.

    O problema que, para que uma disciplina seja considerada realmente uma Engenharia, necessrio atender a alguns requisitos bsicos que a Engenharia de Software, pelos menos at agora, no atende. Veja a definio de Engenharia:

    "A Engenharia deve criar solues com uma relao custo-benefcio adequada

    para problemas prticos, pela aplicao de conhecimentos cientficos, para

    construir coisas a servio da humanidade."

    Dentro destes conceitos, a Engenharia de Software falha principalmente no que diz respeito adequao do custo-benefcio e aplicao, em toda a sua extenso, de conhecimentos cientficos. Atualmente, estes requisitos so atendidos apenas em parte.

    necessrio definir, portanto, o que exatamente a Engenharia de Software. Veja algumas tentativas de definio:

    "... a disciplina que integra mtodos, ferramentas e procedimentos para o

    desenvolvimento de software para computadores."

    "... uma coleo de processos de gerenciamento, ferramental de software e

    atividades de projeto para o desenvolvimento de software. "

  • "... um termo usado para referir-se a modelos de ciclo de vida, metodologias de

    rotina, tcnicas de estimativa de custo, estruturas de documentao, ferramentas de

    gerenciamento de configurao, tcnicas de garantia de qualidade e outras

    tcnicas de padronizao da atividade de produo de software."

    No final desta pgina voc encontrar alguns links relacionados a Engenharia de Software.

    Qualidade de Produtos de Sof