Você está na página 1de 6

Padres de Qualidade para a Garantia da Confiabilidade de Produto de Software

Maycon Viana Bordin Faculdade Trs de Maio Campus SETREM 98.910-000 Trs de Maio RS Brasil
mayconbordin@gmail.com

Abstract. This paper aims to compare two software quality models, the ISO/IEC 9126 and the IEEE 982.1. The first one was specified to the assessment of software quality, but it is too much ambiguous in the definition of measures and guidelines. While the latter was developed especially to the assessment of software reliability and is much more concise in the definition of measures that should be used to build more reliable software besides allows continuous process improvement. Resumo. Este artigo tem como objetivo comparar dois modelos de qualidade em software, a ISO/IEC 9126 e a IEEE 982.1. A primeira foi especificada para a avaliao da qualidade do software, mas ela muito vaga quanto definio de mtricas e procedimentos. Enquanto que a ltima foi desenvolvida especialmente para a avaliao da confiabilidade de softwares e se mostra muito mais concisa na definio das mtricas que devem ser utilizadas para a construo de softwares confiveis alm de permitir a melhoria contnua dos processos.

1. Introduo
Softwares so utilizados atualmente na maioria das empresas de tal modo que no podem mais ser considerados como diferencial estratgico. Entretanto, a qualidade de um software imprescindvel para o xito das organizaes que dependem dele para realizar suas tarefas vitais e outras tarefas com mbito estratgico e que influenciam diretamente na tomada de decises. A importncia no desenvolvimento de softwares com qualidade no um assunto novo e largamente discutido, ao menos na teoria. Na rea de engenharia de software o assunto vem sendo abordado a um bom tempo, o primeiro modelo de qualidade foi concebido 1977 e ficou conhecido como o modelo de McCall. Desde ento vrios modelos surgiram, os principais so: modelo de McCall, de Boehm, de Dromey, FURPS e a ISO/IEC 9126 [ALQ 10]. De acordo com [KIT 96] os modelos de qualidade surgiram pela necessidade de se entender e medir qualidade. Modelos de qualidade ainda listam caractersticas de qualidade que um software deve possuir e a relao entre estas caractersticas. Dos modelos citados acima se obtm um total de 17 caractersticas para qualidade, sendo que apenas a confiabilidade comum para todos [ALQ 10]. Um artigo em [KHA 09] faz uma anlise entre os modelos de qualidade e alm dos modelos acima citados este

estudo adiciona o modelo de Kazman e da IEEE, e ambos definem a confiabilidade como um atributo de qualidade. Os mais conhecidos modelos de qualidade de software colocam a confiabilidade como um dos atributos importantes a serem contemplados para a garantia de qualidade em um software. Este trabalho tem como objetivo mostrar a importncia da confiabilidade de um software e fazer um comparativo entre a ISO/IEC 9126 [ABN 01] e a IEEE 982.1 [IEE 96], modelo de qualidade que define mtricas para a avaliao da confiabilidade de softwares.

2. Qualidade de Software
Segundo [YEA 04] qualidade de software significa estar em conformidade com os requisitos dos consumidores ou clientes. Um artigo de [DEN 92] tambm apia a idia de que a qualidade do software deve ser medida levando em conta a satisfao do consumidor deste software. Em um artigo da IEEE Software [KIT 96] foram descritas as cinco diferentes perspectivas para a qualidade de software definidas por David Garvin. Essas perspectivas so: Perspectiva transcendental: seria o ideal de qualidade, podendo ficar apenas prximo dele, mas nunca alcanar completamente. Perspectiva do usurio: so os atributos de qualidade que iro identificar se as necessidades do usurio foram atendidas. Essa perspectiva abrangida pela norma ISO/IEC 9126, que define os atributos para a qualidade em uso. Perspectiva do fabricante: nessa perspectiva de qualidade est relacionada conformidade com os processos e no com as especificaes. Essa abordagem garante a uniformidade das sadas, o que por si s no garante qualidade do produto. A ISO 9001 bem como a CMMi do nfase na melhoria contnua dos processos para que o produto tambm tenha maior qualidade. Perspectiva do produto: nesta abordagem a qualidade do software est relacionada com as caractersticas internas do produto, e estas podem ser medidas e modificadas e como consequncia haver uma melhora das qualidades externas do produto. A IEEE 1061 e a ISO/IEC 9126 tratam desta perspectiva. Perspectiva baseada em valor: essa perspectiva avalia a variao de importncia de cada uma das perspectivas anteriores, dependendo de quem est observando. Modelos de qualidade de software devem contemplar algumas destas perspectivas para definir os requisitos de qualidade de software. Alm disso, modelos de qualidade devem decompor os requisitos em caractersticas de qualidade, subcaractersticas e mtricas [IEE 98]. Um modelo de qualidade deve permitir a avaliao do produto de software bem como a anlise dos resultados para estimar e avaliar os fatores de qualidade [IEE 98]. Definido o que qualidade de software e quais so as suas perspectivas agora ser abordada a confiabilidade de software, uma das caractersticas para se obter qualidade em software.

3. Confiabilidade em Software
Para um sistema ser confivel ele precisa ter formas de lidar com erros humanos, alm de gerenciar o mau uso do software e falhas de hardware [YEA 04]. O autor ainda afirma que a confiabilidade em software um atributo que deve ser levado em considerao em qualquer projeto de software, mas existe uma nfase nesta caracterstica de qualidade principalmente em sistemas da rea de defesa, controle de processos e sistemas bancrios.

4. ISO/IEC 9126
A ISO/IEC 9126 segundo [ALK 05] um modelo para especificao e validao da qualidade de softwares que prov uma linguagem que pode ser compreendida por usurios, desenvolvedores e avaliadores. Esta norma trata da qualidade do produto de software definindo os atributos de qualidade interna, externa e de uso. A qualidade interna a mensurao das caractersticas do software durante as fases de desenvolvimento, reviso e teste. Enquanto que a qualidade externa medida em um ambiente de testes utilizando mtricas externas com o objetivo de encontrar e eliminar erros. E a qualidade em uso mede o nvel de adequao do software as necessidades dos usurios [ABN 01]. De acordo com [ABN 01] a confiabilidade a capacidade do produto de software de manter um nvel de desempenho especificado, quando usado em condies especificadas. (p. 8). A confiabilidade de um software pode ser comprometida em decorrncia de falhas na especificao dos requisitos, projeto e desenvolvimento. A norma [ABN 01] divide o atributo confiabilidade em trs subcaractersticas, estas so: Maturidade: Capacidade do produto de software de evitar falhas decorrentes de defeitos no software. Tolerncia a falhas: Capacidade do produto de software de manter um nvel de desempenho especificado em casos de defeitos no software ou de violao de sua interface especificada. Recuperabilidade: Capacidade do produto de software de restabelecer seu nvel de desempenho especificado e recuperar os dados diretamente afetados no caso de uma falha. Em [SOD 06] afirma-se que Para obter qualidade em uso preciso ter qualidade externa, que por sua vez dependente de qualidade interna [...] (p. 35). Entretanto, [KIT 96] afirmam que mais pesquisas precisam ser realizadas para garantir que a qualidade interna garante a qualidade externa e quais aspectos da qualidade interna afetam a qualidade em uso.

5. IEEE 982.1
Esse padro fornece mtricas para a avaliao da confiabilidade de um software, ele fornece ainda a forma correta de se aplicar cada uma das mtricas, mtodos para clculos e um framework que facilita a comunicao entre os envolvidos. Atravs desse padro possvel melhorar os processos bem como o produto de software, e ela ainda

serve para avaliar a confiabilidade de softwares como produto, em seu ambiente de aplicao [IEE 96]. Essa base para a existncia de duas categorias de mtricas, as de produto e as de processo. A primeira trata de medir a confiabilidade dos objetos de software produzidos enquanto que a segunda categoria aplicada nas atividades de desenvolvimento, teste e manuteno [IEE 96]. De acordo com [IEE 96] as mtricas do produto endeream causa e efeito dos aspectos estticos e dinmicos tanto da confiabilidade projetada antes da operao como da confiabilidade operacional. (p. 17). Essas mtricas servem para avaliar o nvel de confiabilidade do produto atravs da avaliao deste com relao s diversas naturezas de erros. As mtricas do produto esto dividas em seis subcategorias: Erros, Defeitos e Falhas: nmero de falhas que podem ser de origem humana, bugs do software ou mau funcionamento do sistema. Taxa de falhas: demonstra a quantidade de erros que ocorre em um intervalo de tempo. Crescimento da Confiabilidade e Projeo: avaliao da evoluo do software em relao quantidade de erros na fase de teste e em operao. Falhas Persistentes do Produto: avaliao da quantidade de erros do software na fase de desenvolvimento, teste ou manuteno. Integridade e Consistncia: avaliao da existncia de todas as partes do software e se elas esto integradas corretamente. Complexidade: avaliao de fatores confusos no sistema. As mtricas de processo podem ser aplicadas durante o clico de vida de um projeto e permitem a avaliao contnua dos processos, melhorando a confiabilidade e o gerenciamento do projeto. As mtricas de processo esto divididas em trs categorias [IEE 96]: Controle do Gerenciamento: avaliao do caminho que est sendo tomado pela fase do desenvolvimento e manuteno. Cobertura: avaliao da existncia de todas as atividades necessrias para o desenvolvimento e manuteno do software. Riscos, Benefcios e Avaliao de Custo: avaliao dos conflitos que podem ocorrer com relao a custos, cronograma e desempenho. Em resumo, as mtricas do produto permitem a avaliao da confiabilidade do software e como isso permitem o melhoramento do software, enquanto que as mtricas de processo avaliam os impactos no projeto decorrentes da falta de confiabilidade. Cada mtrica dentro desse padro est dividida em aplicao, primitivas e execuo. A aplicao descreve em que situao a mtrica poder ser aplicada; as primitivas so dados que servem para descrever de forma quantitativa um software, esses dados so mensurveis e calculveis; e a execuo descreve os procedimentos que devem ser seguidos para a aplicao da mtrica [ABN 01].

6. Avaliao das Normas


De acordo com [SOD 06] a ISO/IEC 9126 possibilita, de forma efetiva, a verificao da qualidade de um produto de software para averiguar a adequabilidade s necessidades dos usurios. Mas de acordo com [BOT 10], devido natureza genrica desta norma, alguns dos conceitos que ela apresenta precisam ser refinados para que ento possam ser aplicados em um projeto. Os autores de [KIT 96] so mais concisos e rgidos em suas crticas, afirmando que a ISO/IEC 9126 no indica de forma clara como medir as caractersticas de qualidade. Segundo os autores, a escolha das caractersticas e subcaractersticas parecem ter sido arbitrrias e no existe nada na norma que possibilite a verificao de que as mtricas escolhidas afetam o comportamento da caracterstica observada. Em outro artigo [ALK 05] tambm foram feitas menes sobre alguns problemas da ISO/IEC 9126 como a ambigidade na interpretao da norma, quando o objetivo de tal padro era exatamente criar uma linguagem padro para que no houvesse interpretaes dbias, o autor complementa que um glossrio de termos deveria ter sido includo para melhorar a compreenso da norma. Neste mesmo artigo [ALK 05] os autores citam problemas em relao norma (ISO/IEC 9126) pelo uso de clculos com o objetivo de reduzir a subjetividade. Aqui sugerida a utilizao de normas de procedimento para mtricas e no clculos. Alm disso, muitas entradas para medidas parecem considerar a fase de anlise e de desenvolvimento como sendo a mesma coisa, exigindo na fase de anlise medies que s poderiam ser feitas com implementaes construdas. Por outro lado, a IEEE 982.1 apresenta-se concisa na apresentao das mtricas para a avaliao da confiabilidade de software. Ao contrrio da ISO/IEC 9126, essa norma fornece uma framework bem definida, com um dicionrio de definies que evitam possveis interpretaes precipitadas sobre as mtricas. Todas as primitivas utilizadas nas mtricas esto bem definidas dentro de uma tabela. A classificao das mtricas na IEEE 982.1 muito mais clara. Alm disso, a proposta dessa norma muito mais interessante, pois alm de permitir a avaliao da confiabilidade de um software ela ainda fornece mtricas que servem para a melhoria dos processos durante o ciclo de vida do projeto, que tem grande importncia estratgica para indicar os gastos, atrasos e o desempenho do projeto em decorrncia da confiabilidade. Outro ponto forte da IEEE 982.1 a forma como as mtricas foram estabelecidas. Isso porque cada mtrica possui uma descrio detalhada sobre em que circunstncia ela deve ser aplicada, quais os dados que sero obtidos atravs dessa mtrica e o que eles significam, e a forma como essa mtrica dever ser aplicada.

7. Concluso
Atravs deste estudo foi possvel avaliar as normas ISO/IEC 9126 e IEEE 982.1, analisando suas caractersticas e aplicabilidade. Enquanto que a primeira norma se mostrou vaga em alguns aspectos, alm de no fornecer procedimentos claros para a aplicao das mtricas. A IEEE 982.1 mostrou prover de forma clara e concisa um

conjunto de mtricas que possibilitam a avaliao da confiabilidade de software e ainda fornecem mtricas para o aperfeioamento dos processos do projeto. Desta forma, fica evidente que para um modelo de qualidade consiga atingir seus objetivos ela precisa ser muito bem fundamentada, alm de prover uma linguagem clara, mtricas concretas e bem definidas. Para ento permitir a correta utilizao destas ferramentas e auxiliar na construo de sistemas mais confiveis e de maior qualidade.

Referncias
[ALK 05] Al-Kilidar, Hyiam; Cox, Karl; Kitchenham, Barbara (2005). The Use and Usefulness of the ISO/IEC 9126 Quality Standard, International Symposium on Empirical Software Engineering, p. 7, 2005. Al-Qutaish, Rafa E. (2010). Quality Models in Software Engineering Literature: An Analytical and Comparative Study, The Journal of American Science, Volume 6, Issue 3, Cumulated No. 24, March 1, 2010. Associao Brasileira de Normas Tcnicas (2001). NBR ISO/IEC 91261:2001, Engenharia de Software Qualidade do Produto Parte 1: Modelo de Qualidade. Botella, P. et al (2010). ISO/IEC 9126 in practice: what do we need to know?, Group of Software Engineering for Information Systems, Universitat Politcnica de Catalunya. Acesso em: Abril de 2010. Disponvel em: http://www.essi.upc.edu/~webgessi/publicacions/SMEF%2704-ISOQualityModels.pdf. Denning, Peter J. (1992). What is Software Quality?, A Commentary from Communications of ACM, Jan. 1992. Disponvel em: http://cs.gmu.edu/cne/pjd/PUBS/softqual92.pdf. Institute of Electrical and Electronics Engineers (1996). IEEE 982.1: Standard Dictionary of Measures to Produce Reliable Software. Institute of Electrical and Electronics Engineers (1998). IEEE 1061-1998: Standard for a Software Quality Metrics Methodology. Khayami, R.; Towhidi, A.; Ziarati, K. (2009). The Analytical Comparison of Qualitative Models of Software Systems, World Applied Sciences Journal 6 (Supplement 1): 01-06, 2009. Kitchenham, Barbara; Pfleeger, Shari Lawrence (1996). "Software Quality: The Elusive Target", IEEE Software, vol. 13, no. 1, p. 12-21, Jan. 1996. Sodr, Cibele Cristina Pelizer (2006). Norma ISO/IEC 9126: Avaliao de Qualidade de Produtos de Software, Universidade Estadual de Londrina, Departamento de Computao, Trabalho de Concluso de Curso, Londrina: 2006. Yeates, Donald; Wakefield, Tony (2004). Systems Analysis and Design, 2 Edio, Harlow: Pearson.

[ALQ 10]

[ABN 01]

[BOT 10]

[DEN 92]

[IEE 96] [IEE 98] [KHA 09]

[KIT 96] [SOD 06]

[YEA 04]

Você também pode gostar