padroes de qualidade esperados

Download Padroes de Qualidade Esperados

Post on 05-Jul-2018

214 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • 8/16/2019 Padroes de Qualidade Esperados

    1/23

    Padrões esperados Qualidade de Software

    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 ! e v"m se desenvolvendo de forma a ajudar no processo de desenvolvimento de software.

    # 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. &m algumas organiza%'es não e(iste distin%ão entre essas atividades. &ntretanto, a garantia de qualidade e os  processos de verifica%ão e valida%ão de software devem ser atividades distintas. # 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.

    )entre os modelos de gerenciamento de controle de qualidade de software mais

    conhecidos estão o Capabilit* +aturit* +odel C++- e o /O 0!!!12, que foram motivados pelas falhas nos processos de ger"ncia e manuten%ão durante o desenvolvimento de software 3C&/#405.

    )efinir qualidade de software é uma tarefa difícil. +uitas defini%'es t"m sido propostas e uma defini%ão decisiva poderia ser debatida interminavelmente.

     

    Controle de Qualidade

    6ela defini%ão da /O, controle de qualidade é 7a atividade e técnica operacional que é utilizada para satisfazer os requisitos de qualidade8 3+c)ermid095.

    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$ deacordo com sua especifica%ão:requerimento. 6ortanto, o controle de qualidade é parte do  processo de desenvolvimento e, como é um processo de  feedback , ele é essencial para minimizar  os defeitos produzidos.

    Garantia de Qualidade

    # garantia de qualidade de software não é algo com o qual se come%a a pensar  depois que o c;digo é gerado. #

    • 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.

  • 8/16/2019 Padroes de Qualidade Esperados

    2/23

  • 8/16/2019 Padroes de Qualidade Esperados

    3/23

    Custo relativo do conserto de um erro

      D!!! 9!1D!!! vezes

      D!! 2!1! vezes  

    DF19! vezes

      D! vezes   D!

      21G vezes

      D vez   D

     requisitos projeto codifica%ão desenv. teste sistema de teste manuten%ão

    Higura D

    Atributos de Qualidade de Software

    # qualidade de software não é uma idéia tão simples. I mais f$cil descrev"1la através de um conjunto de atributos ou fatores requeridos que variam de acordo com as diferentes aplica%'es e os clientes que as solicitam.

    &(istem v$rias formas de se classificar os fatores de qualidade. Jma delas é classific$1los como fatores e(ternos e fatores internos. Hatores e(ternos são aqueles cuja presen%a ou falta num  produto de software pode ser detectada pelos usu$rios do produto velocidade, facilidade de uso-. Hatores internos são aqueles que são perceptíveis apenas por profissionais de computa%ão modularidade-. #pesar de apenas os fatores e(ternos terem importKncia no final, a chave para assegurar que eles são satisfeitos são os fatores internos, ou seja, as técnicas internas são um meio  para atingir qualidade de software e(terna. #lguns atributos e(ternos são> corretude, robustez, e(tensibilidade, reusabilidade, compatibilidade, efici"ncia, portabilidade, verificabilidade,

    integridade e facilidade de uso 3+e*er5. Outra maneira de se classificar os atributos de qualidade é dividí1los em atributos

    funcionais e atributos não funcionais. Os atributos funcionais tipicamente se aplicam a peda%os do software, m;dulos do sistema como um todo e estão mais relacionados com o qu" deve ser  feito. L$ os atributos não funcionais podem se aplicar a qualquer produto do processo de desenvolvimento> especifica%'es, c;digo, manuais, etc., e estão mais relacionados com o quão  bem deve ser feito 3+c)ermid095.

  • 8/16/2019 Padroes de Qualidade Esperados

    4/23

    Métricas de Qualidade de Software

    Jm elemento chave de qualquer processo de engenharia é a medi%ão. M;s usamos medidas para melhor entendermos os atributos dos modelos que criamos e, o mais importante é que n;s usamos medidas para avaliarmos a qualidade dos produtos de engenharia ou sistemas que

    n;s construímos.#o contr$rio de outras engenharias, a engenharia de software não é baseada em leis quantitativas b$sicas, medidas absolutas não são comuns no mundo do software. #o invés disso, n;s tentamos derivar um conjunto de medidas indiretas que levam a métricas que fornecem uma indica%ão de qualidade de alguma representa%ão do software.

    &mbora as métricas para software não sejam absolutas, elas fornecem uma maneira de avaliar qualidade através de um conjunto de regras definidas.

    Boehm, Brown e Lipow

    6ara medir qualidade de software deve1se determinar quais características medir e como medir. Boehm, Brown e Nipow D0- definem uma $rvore de atributos de

    qualidade de software bem definidos e bem diferenciados figura - 3/hn!5, onde as dire%'esdas setas indicam implica%'es l;gicas. 6or e(emplo, um programa que é f$cil de ser mantido deve também ser facilmente testado, entendido e modificado.

    6ortabilidade ndependente )evice

    #uto Contido

    6recisão

    Confiabilidade Completude

    Jsabilidade 4obustez:ntegridade

    Consist"ncia &fici"ncia Hacilidade de +edi%ão

    &fici"ncia de )evice Jtilidade portabilidade, confiabilidade, efici"ncia, engenharia humana e facilidades de teste, uso e modifica%ão.

    #s características de mais bai(o nível são primitivas que podem ser  combinadas para formar características de nível médio. #s características primitivas são

  • 8/16/2019 Padroes de Qualidade Esperados

    5/23

    recomendadas como métricas quantitativas delas pr;prias e das características de mais alto nível 3/hn!5.

    Jma característica primitiva pode ser definida ou medida através de uma checklist . Ralores numéricos podem ser dados aos atributos de qualidade, em alguns casos isso

     pode ser apropriado, como por e(emplo, nos atributos de performance, e em outros pode e(istir um certo grau de subjetividade. Qais checklists  podem ser @teis, mas tendem a crescer e se tornarem

    incEmodas, surgindo a necessidade de uma organiza%ão específica e tornando1se específica para uma linguagem:sistema.

    Métricas para o Código Fonte !alstead"

    # ci"ncia de software de Palstead D0- prop'e as primeiras leis analíticas  para o software de computador. &la usa um conjunto de medidas primitivas que pode ser derivado depois que o c;digo é gerado, ou estimado assim que o projeto est$ 7completo8 3/hn!5.

    O método de Palstead é baseado na habilidade de se obter as seguintes

    medidas primitivas num programa>• n1 S o n@mero de operadores distintos que aparecem num programa? • n2 S o n@mero de operandos distintos que aparecem num programa? •  N1 S o n@mero total de ocorr"ncias de operadores? •  N2 S o n@mero total de ocorr"ncias de operandos.

    &ssas medidas podem ser melhor ilustradas através da seguinte subrotina em HO4Q4#M>

    /JB4OJQM& /O4Q T, M- )+&M/OM TM- H M .NQ. - 4&QJ4M

    )O !  S ,M   )O D! L S D,   H T- .

  • 8/16/2019 Padroes de Qualidade Esperados

    6/23

  • 8/16/2019 Padroes de Qualidade Esperados

    7/23

    6ara determinar a falta de ambigUidade dos requisitos, )avis e seus colegas sugerem uma métrica que é baseada na consist"ncia da interpreta%ão dos revisores de cada requisito> Q1 = nui%nr , onde nui é o n@mero de requisitos para os quais todos os revisores tiveram a mesma interpreta%ão. =uanto mais perto de D esteja o valor de Q1, menos ambígua é a

    especifica%ão. # completude dos requisitos funcionais pode ser computada por Q2 = nu%  (ni  ns-, onde nu é o n@mero de requisitos de fun%ão @nicos, ni é o n@mero de entradas definidas ou implicadas pela especifica%ão e  ns  é o n@mero de estados especificados. = mede a  percentagem de fun%'es necess$rias que tenham sido especificadas para um sistema. 6ara inserirmos os requisitos não funcionais nesta métrica, devemos considerar o grau de valida%ão dos requisitos> Q) = nc%(nc + nn*"# onde nc é o n@mero de requisitos que foram validados e nn* é o n@mero de requisitos que ainda não foram validados.

    Métricas para Sistemas (rientados a ()*etos

    /oftware orientado a objetos OO- é fundamentalmente diferente do

    software desenvolvido usando métodos convencionais. 6or esta razão, métricas usadas parasistemas OO devem focalizar as características que distinguem software OO de software convencional 36ressman05.

    Berard 3Ber0F5 define cinco características que tratam