Вы находитесь на странице: 1из 39

Qualidade de Software

SUMRIO

I. - O QUE QUALIDADE.................................................................................................4
PROPOSIES DA QUALIDADE DE SOFTWARE:..................................................................................................4 PRINCPIOS DE QUALIDADE:..............................................................................................................................5 PRINCPIOS DE GERNCIA:.................................................................................................................................5 PRINCPIOS DE ENGENHARIA:............................................................................................................................5

II. -HISTRICO DA QUALIDADE...................................................................................5 III. - PORQU SE PREOCUPAR COM A QUALIDADE DE SOFTWARE ?............7
QUALIDADE X DEFINIO DE PR-REQUISITOS.................................................................................................7 QUALIDADE E O DESENVOLVIMENTO SOFTWARE..............................................................................................8

IV. - QUALIDADE E SERVIO DE SUPORTE AO USURIO....................................8


O QUE UM SISTEMA DE QUALIDADE ?...........................................................................................................9 QUALIDADE PRODUTO X QUALIDADE PROCESSO...........................................................................................10

VI. - QUALIDADE DE SOFTWARE:..............................................................................11


ENGENHARIA DE SOFTWARE...........................................................................................................................12 QUALIDADE DE PRODUTOS DE SOFTWARE - ISO 9126...................................................................................13

VII - MTRICAS DE SOFTWARE.................................................................................14 VIII - GUIAS PARA AVALIAO DA QUALIDADE - ISO 14598................................15 IX - QUALIDADE DE PACOTES DE SOFTWARE - ISO 12119...................................17 X - QUALIDADE DE PROCESSO DE SOFTWARE:......................................................18 XI A SRIE ISO 9000 :....................................................................................................18
ESTRUTURA DO SISTEMA DE QUALIDADE.......................................................................................................19

XII - ISO 12207 PROCESSO DE VIDA DO CICLO DE SOFTWARE........................20 XIII GERENCIANDO UM COMPANHIA DE QUALIDADE..................................22
DEDICAO SATISFAO DO CLIENTE.........................................................................................................22 DAR NFASE MELHORAMENTOS CONTNUOS...............................................................................................22 TRATAR FORNECEDORES COMO PARCEIROS DE NEGCIOS.............................................................................22 COMUNICAO E TIME DE TRABALHO............................................................................................................22 ATUALIZANDO EMPREGADOS..........................................................................................................................23 COMPROMISSO DA GERNCIA .........................................................................................................................23

XIV. IMPLEMANTANDO UM SISTEMA DE QUALIDADE...................................23


XIV.1 - UM SISTEMA DE QUALIDADE...................................................................................................23 Aspectos Tcnicos......................................................................................................................................23 Aspectos culturais......................................................................................................................................24 XIV.2 INICIANDO UM SISTEMA DE QUALIDADE.............................................................................24 Preparar uma poltica de qualidade..........................................................................................................24 Estabelecer uma equipe de suporte em qualidade.....................................................................................24 XIV.3 - DEFINIR UM PROGRAMA PARA A QUALIDADE....................................................................25 2

Avaliar a organizao................................................................................................................................25 Projetar um sistema de qualidade..............................................................................................................25 Planejamento e implementao do programa de qualidade......................................................................26 XIV.4. - IMPLEMENTAR UM PROGRAMA CULTURAL.......................................................................26 XIV.5 - IMPLEMENTAR O PROGRAMA TCNICO................................................................................27 Adotar um ciclo de vida.............................................................................................................................27 Programa de mtricas e medidas de software...........................................................................................27 Desenvolvimento........................................................................................................................................28 Suporte.......................................................................................................................................................28 Treinamento...............................................................................................................................................28 XIV.6 REVISES DE PROCESSOS E PRODUTO..................................................................................29 Revises do projeto....................................................................................................................................29 Revises da gerncia..................................................................................................................................29

XV. O FUTURO DA QUALIDADE...............................................................................29 XVI. - BIBLIOGRAFIA.....................................................................................................30 GLOSSRIO DE TERMOS DA QUALIDADE .............................................................31

I. - O QUE QUALIDADE Qualidade hoje em dia, no apenas um diferencial de mercado para a empresa conseguir vender e lucrar mais, um pr requisito que a empresa deve conquistar para conseguir colocar o produto no Mercado Global. Na rea de software, h uma urgente necessidade de uma maior preocupao sobre o tema, mas afinal, 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 Segunda 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, deve-se fazer uma lista destas necessidades e analisar cada uma destas necessidades. Proposies da qualidade de software: 1) Qualidade o sucesso para o negcio de softwares, como em qualquer outro; 2) A maneira mais barata de aumentar a produtividade aumentar a qualidade do software; 3) A qualidade ao suporte do produto to importante quanto a qualidade do prprio software, o ambiente de suporte deve ter engenharia tanto quanto o ambiente de desenvolvimento; 4) Para alcanar a qualidade de software, as pessoas e a cultura so to importantes quanto a tecnologia;
4

5) O nico caminho seguro para aumentar a qualidade do software melhorar os processos ( o que inclui pessoal, facilidades, equipamentos, tecnologia e metodologia); 6) Aumento de processos normalmente desnecessrio a menos que o gerente demonstre compromisso e liderana; 7) Qualidade e melhoramento dos processos so de difceis esforos: sempre possvel realizar algo um pouco melhor, um pouco mais rpido e um pouco mais barato; 8) Um sistema de qualidade compatvel com ISO9000 um bom alvo para muitas organizaes, mas no para todas; 9) Um sistema de qualidade para uma organizao deve ser medido de acordo com suas necessidades e circunstncias ou no ser eficiente 10) Um sistema de qualidade de software eficiente utiliza de boas prticas da engenharia de software baseado nos seguintes princpios: Princpios de qualidade: Tentar previnir defeitos ao invs de consert-los; Ter certeza dos defeitos que forem encontrados, serem corrigidos o mais rpido possvel; Estabelecer e eliminar as causas, bem como os sintomas dos defeitos; Auditar o trabalho de acordo com padres e procedimentos previamente estabelecidos; Princpios de gerncia: Definir regras e responsabilidades; Planejar o trabalho; Trilhar o progressso atravs de planos e corrigir quando necessrio; Refinar o plano sempre e progressivamente; Princpios de engenharia: Analisar o problema antes de desenvolver a soluo; Quebrar problemas complexos em problemas menores; Garantir que subproblemas unam-se pelo controle de seus relacionamentos; II. -HISTRICO DA QUALIDADE Conceituar qualidade se torna uma tarefa muito difcil, pois elementos intrnsecos est enraizado no intelecto de cada ser. Portanto se exerccios forem feitos dando como misso para cada grupo, vrias definies so apresentadas, mas o que mostra como bem prximo de se considerar como sendo um mtodo gerencial que atravs de processos e procedimentos disseminados pr toda a organizao busca uma posio competitiva para propiciar a satisfao da sociedade ao longo do tempo. A histria do desenvolvimento da Qualidade Total como sistema administrativo ter que ser buscado na origem do modelo cientfico de administrao F. Taylor em 1911 publicado em seu livro Princpios da Administrao Cientifica em que citava: o aumento da eficincia , a racionalizao dos mtodos de trabalho, a crena no homem econmico , a diviso e a hierarquizao do trabalho , a relevncia da organizao formal.
5

Nos anos 30, o Dr. W.A. Shewhart causa uma revoluo teoria cientfica da administrao quando prope um mtodo voltado para gesto das organizaes conhecido como Controle da Qualidade - Controle Estatstico da Qualidade (CEQ) ou Controle Estatstico de Processos (CEP) que se baseava na aplicao de grficos de controle, na inspeo por amostragem. A tese de Deming para os industriais do ps guerra , nos Estados Unidos, era a da produo com qualidade. Mas, como muitas vezes acontece, a verdade que Deming no foi ouvido em sua terra, no foi profeta em sua terra e este "no ouvir Deming" vai custar caro aos americanos, porque em pouco tempo vo perder os maiores mercados do mundo. O Japo, em 1950, convida Deming a fazer uma srie de palestras para a J.U.S.E. Hoje esta uma sigla famosa, que significa Unio Japonesa de Cientistas e Engenheiros. A JUSE foi responsvel pela revoluo que o Japo conseguiu implementar. Deming tambm foi convidado pela Associao Japonesa da Alta Administrao, que composta pelos 45 maiores industriais japoneses. Isto Significava que o maior poderio privado, 89% do dinheiro privado japons, estava ai, nesses 45 industriais. Deming ensinou seu mtodo e, tambm, aperfeioou-o, desenvolvendo uma nova forma participativa de gerncia, a qual tirava proveito dos conhecimentos e habilidades de todos funcionrios, em todos os nveis, por meios de equipes e sistemas de sugestes que sempre focalizam o cliente. A psicologia das relaes humanas traz o conhecimento do comportamento dos funcionrios das organizaes e diferente teorias, a da motivao e personalidade de A. Maslow, contribuem com estudos do fator humano, preocupando-se em considerar a satisfao do funcionrio como um dos responsveis pelo aumento da produtividade e de qualidade do produto .A teoria motivao-higiene de Herzberg distingue os fatores do ambiente ( fisiolgicos, segurana, social, estima) como fatores provenientes especificamente do servio ( automatizao), mostrando serem esses ltimos os motivadores. Em 1980 comeam de forma oficial, nas organizaes americanas, ao grandes programas de Qualidade. A primeira organizao a que Deming atende a FORD. Os Estados Unidos buscaram, alm de Deming outros grandes idealizadores deste processo: J.M. JURAN, PHILIP CROSBY, os famosos gurus da Qualidade tambm chamados pensadores da Qualidade, que comea a dar consultoria para os Estados Unidos sobre Qualidade Total ou Liderana pela Qualidade.

III. - PORQU SE PREOCUPAR COM A QUALIDADE DE SOFTWARE ? A qualidade, hoje em dia, crtica para a sobrevivncia e o sucessso do mercado de software que est se desenvolvendo de forma global. Uma organizao no sobressair no mercado global a menos que produza software de boa qualidade e seus clientes vejam produtos e servios de boa qualidade. Existem muitas razes que devem ser levadas em conta, a saber: A) Qualidade competitividade: a nica maneira de diferenciar o produto do competidor pela qualidade do software e do suporte que fornecido juntamente. Como o mercado amadurece, usurios no querem apenas que a empresa fale que tem qualidade, mas que mostre a todos a sua qualidade atravs de Certificao internacional. No ter certificao pode acarretar desvantagem competitiva. Qualidade essencial para a sobrevivncia: Clientes esto pedindo por qualidade. Se a empresa no tiver habilidade de sobreviver em um mercado altamente competitivo, ela est em dbito com o mercado. A maioria das grandes organizaes est reduzindo o nmero de fornecedores, e um meio de escolher os fornecedores verificando quais deles tm certificaes de qualidade. Qualidade essencial para o mercado internacional: O mercado de software est, cada vez mais, se tornando global. A habilidade das empresas de mostrarem qualidade, eventualmente as colocam no mercado global. O mercado local vulnervel a produtos importados que, normalmente, tm mais qualidade. Qualidade custo/benefcio: um sistema de qualidade direciona para o aumento da produtividade e permanentemente reduz custos, habilitando o gerenciamento para reduzir a correo de defeitos dando nfase preveno. Todas as empresas sabem que corrigir defeitos aps o desenvolvimento do software mais dispendioso do que corrigi-los depois. Prevenir defeitos primeiramente pode resolver muita coisa depois e economizar bastante. Qualidade retm consumidores e aumenta lucros: pouca qualidade normalmente custa muito mais do que contratar mais desenvolvedores e ainda continuar sem qualidade. A maioria dos consumidores no toleraro falta de qualidade e iro procurar outros desenvolvedores. Mais qualidade aumenta a satisfao dos consumidores e assegura os que j so clientes a mais tempo. Qualidade x Definio de pr-requisitos O processo de pr-requisitos deve identificar e definir as caractersticas de um produto em particular que de necessidade do cliente e distingu-los dos menos importantes. importantssimo que, na entrega do produto final, o sistema tenha pouqussimos ou nenhum erro ou falha e seja fcil de utiliz-lo deixando a performance para segundo plano.

B)

C)

D)

E)

A comunicao entre o desenvolvedor e o cliente a chave para a definio correta. O desenvolvedor dever trabalhar em conjunto com o cliente, nesta primeira fase, para definir corretamente as especificaes do software. No caso de a empresa no poder entrar em contato direto com o cliente (um produto para vrios clientes, como um sistema que vai ser desenvolvido para o mercado SOHO Small Office/Home Office), a funo do marketing da empresa dever ser tomada como cliente por conhecer o mercado que o produto vai ser lanado. aconselhvel desenvolver tcnicas de prototipagem para isolar e definir as caractersticas de qualidade. O processo de descobrir os pr-requisitos do sistema geralmente a fase de anlise do sistema. O custo/benefcio de se aplicar adequadamente os recursos para esta fase muito grande. Pode ser muito caro desenvolver o software errado Qualidade e o desenvolvimento software O processo de desenvolvimento do software onde os desenvolvedores traduzem os pr-requisitos em software. certo que a qualidade do software est diretamente ligada qualidade dos processos utilizados para o desenvolvimento. Um bom desenvolvimento de software deve capacitar organizao a definio da consistncia do produtos de qualidade. A comunidade de software est vendo que o desenvolvimento do produto deve ser feito de maneira muito rpida. O ciclo de vida do produto agora um negcio crtico para muitos desenvolvedores. Os consumidores de software necessitam de produtos cada vez melhores e mais rpidos de serem desenvolvidos para aumentar a sua competitividade no mercado global. Se estes objetivos forem cumpridos, o desenvolvimento de software, deve: Utilizar as melhores prticas da engenharia de software; Ser operado por pessoal treinado com responsabilidades e instrues; Dar nfase na preveno de defeitos assim que forem detectados Gerar registro para demonstrar efetividade e eficincia; Utilizar destes registros para aumentar a performance no futuro.

IV. - QUALIDADE E SERVIO DE SUPORTE AO USURIO O suporte ao usurio complexo e deve incluir: Documentao para o usurio, incluindo ajuda on-line; Empacotamento e distribuio organizados;
8

Implementao e customizao de servios e consultas; Treinamento; Assistncia help-desk; Relatrios de erros e correes; Melhoramento do software.

Para uma aplicao instalada em um local, os requisitos de suporte podem ser fornecidos via telefone e uma pessoa deve ser treinada e encarregada de receber as ligaes. No caso de ser uma aplicao de nvel internacional, ela deve prover ajuda pela Internet e implementar um sistema administrativo para suportar um sistema de help-desk em nvel internacional. O que um Sistema de Qualidade ? Aplicar os princpios da qualidade de software o incio para o sucesso. O termo sistema de qualidade utilizado internacionalmente para descrever um processo na qual garante e demonstra a qualidade dos produtos e servios ofertados pela empresa. A padronizao ISO 9000 define e descreve o que requirido ou satisfatrio em um sistema de qualidade contendo componentes de desenho e desenvolvimento. As padronizaes existentes para garantir a qualidade de software sero estudadas mais frente neste trabalho. Alm das padronizaes ISO, muitas outras organizaes nacionais e internacionais promovem padres que descrevem sistemas de qualidade para serem aplicado em sistemas de desenvolvimento e suporte em certas circunstncias, a exemplificar o CMM (Capability maturity model). O termo gerenciamento de sistemas de qualidade utilizado s vezes. Este termo d nfase s necessidades do processo de qualidade para serem gerenciados para garantir que continue de forma correta e eficiente. To importante quanto as prticas e ferramentas o status da pessoa que as usa. A qualidade deve garantir que as pessoas envolvidas devem ter suas habilidades certas para cada tipo de trabalho de uma maneira profissional. Se as pessoas necessitam de treinamento, ento a empresa dever treinar os seus usurios. Deve-se garantir que as pessoas entendam suas responsabilidades e como seu trabalho se relaciona com outras pessoas. Um sistema de qualidade d grande nfase correo de erros. muito til corrigir os erros durante o incio do ciclo de vida do sistema. Melhor ainda, anular erros antes mesmo deles serem feitos Um sistema de qualidade de sucesso inclui maneiras de registrar os erros para determinar as causas e agir de acordo com o erro eliminando suas causas. Em suma, um sistema de qualidade tudo que o gerenciamento utiliza para garantir e demonstrar a qualidade do software e do servio de suporte. O sistema de qualidade o trabalho completo, incluindo poltica, procedimentos, ferramentas e recursos, incluindo humano e tecnolgico.
9

V. - CERTIFICAO DA 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. Alguns tipos de certificados so bastante conhecidos, como: 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

Ouvimos 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 Produto x Qualidade 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, pode-se dizer mais sobre a qualidade observando como o prato foi preparado do que analisando o produto final. Afinal, no se consegue ter certeza da higiene ou o valor nutricional apenas comendo o prato.
10

Esta descoberta aconteceu durante a prpria evoluo dos conceitos de qualidade, ao longo dos anos. Observe na tabela abaixo como aconteceu esta evoluo:
1. 2. 3. 4. 5. 6. 7. Inspeo ps-produo Controle estatstico da produo Procedimento de produo Educao das pessoas Otimizao dos processos Projeto robusto Engenharia simultnea Avalia o produto final, depois de pronto Avalia os subprodutos das etapas de produo Avalia todo o procedimento de produo Avalia as pessoas envolvidas no processo Avalia e otimiza cada processo Avalia o projeto de produo Avalia a prpria concepo do produto 1900 1940 1950 1960 1970 1980 1990

Hoje em dia, pode-se 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. VI. - QUALIDADE DE SOFTWARE: Agora que se tem o conhecimento sobre 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 Software invisvel. Sua representao em grficos 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, precisamos entender que o problema no est no Software em si, mas na forma como as pessoas tem desenvolvido software at os dias de hoje . Precisamos nos conscientizar que necessitamos 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 viso geral, observe o quadro a seguir, com as principais normas nacionais e internacionais nesta rea:

11

Norma ISO 9126 NBR 13596 ISO 14598 ISO 12119 IEEE P1061 ISO 12207 NBR ISO 9001 NBR ISO 9000-3 NBR ISO 10011 CMM SPICE ISO 15504

Comentrio Caractersticas da qualidade de produtos de software. Verso brasileira da ISO 9126 Guias para a avaliao de produtos de software, baseados na utilizao prtica da norma ISO 9126 Caractersticas de qualidade de pacotes de software (software de prateleira, vendido com um produto embalado) Standard for Software Quality Metrics Methodology (produto de software) Software Life Cycle Process. Norma para a qualidade do processo de desenvolvimento de software. Sistemas de qualidade - Modelo para garantia de qualidade em Projeto, Desenvolvimento, Instalao e Assistncia Tcnica (processo) Gesto de qualidade e garantia de qualidade. Aplicao da norma ISO 9000 para o processo de desenvolvimento de software. Auditoria de Sistemas de Qualidade (processo) Capability Maturity Model. Modelo da SEI (Instituto de Engenharia de Software do Departamento de Defesa dos USA) para avaliao da qualidade do processo de desenvolvimento de software. No uma norma ISO, mas muito bem aceita no mercado. Projeto da ISO/IEC para avaliao de processo de desenvolvimento de software. Ainda no uma norma oficial ISO, mas o processo est em andamento.

Engenharia de Software A disciplina que nos ajuda 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. A seguir 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. A seguir 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. "

12

"... 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." Qualidade de Produtos de Software - ISO 9126 Quando se pensa em qualidade de um "produto fsico", fcil imaginar padres de comparao, provavelmente ligado s dimenses do produto ou alguma outra caracterstica fsica. Quando se trata de software, como podemos definir exatamente o que a qualidade? Parece difcil... Felizmente, para ns, a ISO (Organizao Internacional de Padres) j pensou bastante sobre o assunto. O suficiente para publicar uma norma que representa a atual padronizao mundial para a qualidade de produtos de software. Esta norma chama-se ISO/IEC 9126 e foi publicada em 1991. Ela uma das mais antigas da rea de qualidade de software e j possui sua traduo para o Brasil, publicada em agosto de 1996 como NBR 13596. Mas, afinal de contas, o que est escrito nesta norma ISO/IEC 9126 ou na NBR 13596? Bem, estas normas listam o conjunto de caractersticas que devem ser verificadas em um software para que ele seja considerado um "software de qualidade". So seis grandes grupos de caractersticas, cada um dividido em algumas subcaractersticas. Os nomes dados pelo ISO/IEC para as caractersticas e subcaractersticas so um pouco .Entretanto, uma pessoa que trabalha com software no ter dificuldade em entendlas. Observe na tabela abaixo a lista completa:
Caracterstica Funcionalidade (satisfaz as necessidades?) Sub-caracterstica Adequao Acurcia Interoperbilidade Conformidade Segurana de acesso Maturidade Tolerncia a falhas Recuperabilidade Intelegibilidade Apreensibilidade Operacionalidade Tempo Recursos Analisabilidade Modificabilidade Estabilidade Testabilidade Adaptabilidade Capac. para ser instalado Conformidade Capac. Para substituir Pergunta chave para a subcaracterstica Prope-se a fazer o que apropriado? Faz o que foi proposto de forma correta? Interage com os sistemas especificados? Est de acordo com as normas, leis, etc.? Evita acesso no autorizado aos dados? Com que freqncia apresenta falhas? Ocorrendo falhas, como ele reage? capaz de recuperar dados em caso de falha? fcil entender o conceito e a aplicao? fcil aprender a usar? fcil de operar e controlar? Qual o tempo de resposta, a velocidade de execuo? Quanto recurso usa? Durante quanto tempo? fcil de encontrar uma falha, quando ocorre? fcil modificar e adaptar? H grande risco quando se faz alteraes? fcil testar quando se faz alteraes? fcil adaptar a outros ambientes? fcil instalar em outros ambientes? Est de acordo com padres de portabilidade? fcil usar para substituir outro? 13

Confiabilidade ( imune a falhas?) Usabilidade ( fcil de usar?) Eficincia ( rpido e "enxuto"?) Manutenibilidade ( fcil de modificar?) Portabilidade ( facil de usar em outro ambiente?)

VII - MTRICAS DE SOFTWARE Embora a atual norma ISO 9126/NBR 13596 enumere as caractersticas e subcaractersticas um software, ela ainda no define como dar uma nota a um software em cada um destes itens. A no familiarizao com o processo de avaliao de software, pode-se ter dificuldades em tentar utilizar a norma. Se pretende avaliar um software segundo esta norma, deve tentar atribuir valores (como se fossem notas ou conceitos) a cada uma das sub-caractersticas. Algumas caractersticas podem ser realmente medidas, como o tempo de execuo de um programa, nmero de linhas de cdigo, nmero de erros encontrados em uma sesso de teste ou o tempo mdio entre falhas. Nestes casos, possvel utilizar uma tcnica, uma ferramenta ou um software para realizar medies. Em outros casos, a caracterstica to subjetiva que no existe nenhuma forma bvia de med-la. Ficam, portanto, as questes: como dar uma nota, em valor numrico, a uma caracterstica inteiramente subjetiva? O que representa, por exemplo, uma "nota 10" em termos de "Segurana de Acesso"? Quando se pode dizer que a "Intelegibilidade" de um software pode ser considerada "satisfatria"? Criou-se, ento, uma rea de estudo parte dentro da Qualidade de Software conhecida como Mtricas de Software. O que se pretende fazer definir, de forma precisa, como medir numericamente uma determinada caracterstica. Para avaliar uma determinada subcaracterstica subjetiva de forma simplificada, por exemplo, pode-se criar uma srie de perguntas do tipo "sim ou no". Crie as perguntas de forma tal que as respostas "sim" sejam aquelas que indicam uma melhor nota para a caracterstica. Depois de prontas as perguntas, basta avaliar o software, respondendo a cada pergunta. Se conseguir listar 10 perguntas e o software obtiver uma resposta "sim" em 8 delas, ter obtido um valor de 80% nesta caracterstica. Obviamente, a tcnica acima no muito eficiente. Para melhor-la, entretanto, pode-se garantir um nmero mnimo perguntas para cada caracterstica. Alm disso, algumas perguntas mais importantes podem ter pesos maiores. possvel, ainda, criar perguntas do tipo ABCDE, onde cada resposta indicaria um escore diferenciado. Alguns estudiosos sugerem formas diferentes de medir uma caracterstica, baseada em conceitos do tipo "no satisfaz", "satisfaz parcialmente", "satisfaz totalmente" e "excede os padres". Estes conceitos, embora parecem muito subjetivos, no deixam de ser uma forma eficiente de medir uma caracterstica. Em todos os casos, um fato fica claro: nada ajuda mais a avaliar caractersticas de um software do que um avaliador experiente, que j realizou esta tarefa diversas vezes e em diversas empresas diferentes. Afinal, medir comparar com padres e um avaliador experiente ter maior sensibilidade do que um profissional que acaba de ler uma norma pela primeira vez. Atualmente, a norma ISO/IEC 9126 est sendo revisada. A reviso, que dever estar pronta nos prximos anos, no dever modificar nenhuma das caractersticas bsicas da 9126. A maior modificao ser a incluso de dois documentos adicionais para descrever mtricas externas (relativas ao uso do produto) e mtricas internas (relativas arquitetura do produto). A seguir algumas das modificaes previstas para esta reviso:
14

Algumas novas subcaractersticas: Conformidade far parte de todas as caractersticas. Atratividade ser uma subcaracterstica de Usabilidade. Capacidade de coexistir ser uma subcaracterstica de portabilidade. A norma ser dividida em trs partes. A primeira (9126-1) incluir definies e caractersticas. As duas seguintes descrevero mtricas externas (9126-2) e internas (9126-3). A verso brasileira da reviso desta norma dever ser chamada de NBR 9126-1, 9126-2 e 9126-3, segundo a numerao original da ISO/IEC.

VIII - GUIAS PARA AVALIAO DA QUALIDADE - ISO 14598 Nota-se a necessidade de mais detalhes sobre como avaliar a qualidade de um software. As caractersticas e subcaractersticas da norma ISO/IEC 9126 apenas comearam o trabalho. Faltava definir, em detalhes, como atribuir um conceito para cada item. Afinal, sem uma padronizao, que valor teria uma avaliao? A ISO, consciente deste problema, est finalizando o trabalho em um conjunto de Guias para a Avaliao da Qualidade segundo a norma ISO/IEC 9126. Estes guias descrevem, detalhadamente, todos os passos para que se avalie um software. Embora o trabalho nesta norma ainda no esteja totalmente pronto, j existem informaes detalhadas sobre o que ser esta norma, quando for oficialmente publicada. Esta nova norma trar muitos recursos interessantes aos avaliadores, j que trata o processo de avaliao em grande detalhe. Ela leva em conta a existncia de trs grupos interessados em avaliar um software, o que define os trs tipos bsicos de certificao: Certificao Quem realiza Empresas que de 1a. parte software Finalidade desenvolvem Melhorar a qualidade de seu prprio produto

Determinar a qualidade do produto que iro adquirir Emitir documento oficial sobre a qualidade de de 3a. parte Empresas que fazem certificao um software de 2a. parte Empresas que adquirem software Esta norma se constituir, na verdade, de seis documentos distintos, relacionados entre si, como demonstrado a seguir: Norma 14598-1 14598-2 14598-3 14598-4 Nome Viso Geral Planejamento e Gerenciamento Guia para Desenvolvedores Guia para Aquisio Finalidade Ensina a utilizar as outras normas do grupo Sobre como fazer uma avaliao, de forma geral Como avaliar sob o ponto do vista de quem desenvolve Como avaliar sob o ponto de vista de quem vai
15

14598-5 14598-6

Guia para Avaliao Mdulos de Avaliao

adquirir Como avaliar sob o ponto de vista de quem certifica Detalhes sobre como avaliar cada caracterstica

Em resumo, esta nova norma complementar a ISO/IEC 9126 e permitir uma avaliao padronizada das caractersticas de qualidade de um software. importante notar que, ao contrrio da 9126, a 14598 vai a detalhes mnimos, incluindo modelos para relatrios de avaliao, tcnicas para medio das caractersticas, documentos necessrios para avaliao e fases da avaliao. Como um exemplo, observe um modelo de relatrio de avaliao, segundo um anexo da norma 14598-5: Seo 1 - Prefcio Itens Identificao do avaliador Identificao do relatrio de avaliao Identificao do contratante e fornecedor 2 - Requisitos Descrio geral do domnio de aplicao do produto Descrio geral dos objetivos do produto Lista dos requisitos de qualidade, incluindo Informaes do produto a serem avaliadas - Referncias s caractersticas de qualidade - Nveis de avaliao 3 - Especificao Abrangncia da avaliao Referncia cruzada entre os requisitos de avaliao e os componentes do produto Especificao das medies e dos pontos de verificao Mapeamento entre a especificao das medies com os requisitos de avaliao 4 - Mtodos Mtodos e componentes nos quais o mtodo ser aplicado 5 - Resultado Resultados da avaliao propriamente ditos Resultados intermedirios e decises de interpretao Referncia s ferramentas utilizadas As normas 14598-1, 14598-4 e 14598-5 j foram publicadas. As demais esto em processo de finalizao. Est sendo feito pela ABNT um trabalho de traduo desta norma (tanto dos itens j publicados quanto das verses preliminares dos itens restantes). Com isso, esta norma ter sua verso brasileira pouco tempo depois do final de sua publicao pela ISO.

16

IX - QUALIDADE DE PACOTES DE SOFTWARE - ISO 12119 Esta norma foi publicada em 1994 e trata da avaliao de pacotes de software, tambm conhecidos como "software de prateleira". Alm de estabelecer os requisitos de qualidade para este tipo de software, ela tambm destaca a necessidade de instrues para teste deste pacote, considerando estes requisitos. A norma divide-se em itens, da seguinte forma: Item Descrio 1. Escopo 2. Definies 3. Requisitos de qualidade 3.1. Descrio do Produto Descreve o produto, de forma a ajudar o comprador em potencial, servindo como base para testes. Cada declarao deve ser correta e testvel. Deve incluir declaraes sobre funcionalidade, confiabilidade, usabilidade, eficincia, manutenibilidade e portabilidade. 3.2. Documentao doDeve ser completa, correta, consistente, fcil de entender e capaz de usurio dar uma viso geral do produto. 3.3. Programas e dados Descreve em detalhes cada uma das funes do software, incluindo declaraes sobre funcionalidade, confiabilidade, usabilidade, eficincia, manutenibilidade e portabilidade. 4. Instrues para teste 4.1. Pr-requisitos de teste Lista de itens necessrios ao teste, incluindo documentos includos no pacote, componentes do sistema e material de treinamento. 4.2. Atividades de teste Instrues detalhadas sobre os procedimentos de teste, inclusive instalao e execuo de cada uma das funes descritas. 4.3. Registro de teste Informaes sobre como os testes foram realizados, de tal forma a permitir uma reproduo destes testes. Deve incluir parmetros utilizados, resultados associados, falhas ocorridas e at a identidade do pessoal envolvido. 4.4. Relatrio de teste Relatrio inlcuindo: identificao do produto, hardware e software utilizado, documentos utilizados, resultados dos testes, lista de no conformidade com os requisitos, lista de no conformidade com as recomendaes, datas, etc. Um dos grandes mritos desta norma est na profundidade com que so descritas cada uma das caractersticas e subcaractersticas mencionadas na norma 9126. A norma inclui detalhes que devem estar presentes no produto, tais como: Documentao do usurio de fcil compreenso Um sumrio e um ndice remissivo na documentao do usurio Presena de um Manual de instalao com instrues detalhadas Possibilidade de verificar se uma instalao foi bem sucedida

17

Especificao de valores limites para todos os dados de entrada, que devero ser testados Operao normal mesmo quando os dados informados esto fora dos limites especificados Consistncia de vocabulrio entre as mensagens e a documentao Funo de auxlio (help) com recursos de hipertexto Mensagens de erro com informaes necessrias para a soluo da situao de erro Diferenciao dos tipos de mensagem: confirmao, consulta, advertncia e erro Clareza nos formatos das telas de entrada e relatrios Capacidade de reverter funes de efeito drstico Alertas claros para as conseqncias de uma determinada confirmao Identificao dos arquivos utilizados pelo programa Identificao da funo do programa que est sendo executada no momento Capacidade de interromper um processamento demorado

Outras caractersticas importante so a nfase nos testes e os modelos de relatrios includos. Tudo isso facilita grandemente o trabalho do avaliador. Uma verso traduzida desta norma ser publicada em breve ABNT. X - QUALIDADE DE PROCESSO DE SOFTWARE: Os estudos sobre qualidade mais recentes so na sua maioria voltados para o melhoramento do processo de desenvolvimento de software. No que a qualidade do produto no seja importante, ela . Mas o fato que, ao garantir a qualidade do processo, j se est dando um grande passo para garantir tambm a qualidade do produto. O estudo da Qualidade do Processo de Software uma rea ligada diretamente Engenharia de Software. O estudo de um ajuda a entender e aprimorar o outro. Em ambas as disciplinas, estuda-se modelos do processo de desenvolvimento de software. Estes modelos so uma tentativa de explicar em detalhes como se desenvolve um software, quais so as etapas envolvidas. necessrio compreender cada pequena tarefa envolvida no desenvolvimento. XI A SRIE ISO 9000 : Esta srie um conjunto de normas da ISO que define padres para garantia e gerenciamento da qualidade. Algumas destas normas esto descritas abaixo: Norma ISO 9001 ISO 9002 ISO 9003 ISO 9000-1 ISO 9000-3 Trata de Modelo para garantia da qualidade em projeto, desenvolvimento, produo, instalao e assistncia tcnica. Modelo para garantia da qualidade em produo e instalao Modelo para garantia da qualidade em inspeo e ensaios finais Diretrizes para escolher entre as normas ISO 9001, 9002 e 9003 Orientao para a aplicao da ISO 9001 em Software
18

Entre as normas 9001, 9002 e 9003, a primeira a que mais se adequa ao desenvolvimento e manuteno de software. Como toda norma deste grupo, ela usada para garantir que um fornecedor atende aos requisitos especificados nos diversos estados do desenvolvimento. Estes estgios incluem projeto, desenvolvimento, produo, instalao e suporte. A norma ISO 9000-3 (no confundir com a ISO 9003) traz os roteiros para aplicar a ISO 9001 especificamente na rea de desenvolvimento, fornecimento e manuteno de software. Todas as orientaes giram em torno de uma "situao contratual", onde uma outra empresa contrata a empresa em questo para desenvolver um produto de software. Na tabela abaixo seguem os processos definidos na ISO 9000-3: Grupo Estrutura do Sistema de Qualidade Atividades do Ciclo de Vida Atividade Responsabilidade do fornecedor Responsabilidade do comprador Anlise crtica conjunta Anlise crtica do contrato Especificao dos requisitos do comprador Planejamento do desenvolvimento Projeto e implementao Testes e validao Aceitao Cpia, entrega e instalao Manuteno Gerenciamento de configurao Controle de documentos Registros da qualidade Medio Regras, convenes Aquisio Produto de software includo Treinamento

Atividades de Apio

O processo de certificao de uma empresa de software segundo as normas ISO 9001 / 9000-3 segue um conjunto de passos bem definidos: A empresa estabelece o seu sistema de qualidade. A empresa faz uma solicitao formal a um rgo certificador, incluindo detalhes do negcio da empresa, escopo da certificao solicitada e cpia do manual de qualidade O rgo certificador faz uma visita empresa, colhe mais dados e explica o processo de certificao O rgo certificador verifica se a documentao do sistema de qualidade est de acordo com a norma ISO O rgo certificador envia uma equipe empresa com fins de auditoria. Nesta visita, ser verificado se todos na empresa cumprem o que est documentado no manual de qualidade. o O rgo certificador emite o certificado de qualidade o o
19

O rgo certificador realiza visitas peridicas empresa para assegurar que o sistema continua sendo efetivo

XII - ISO 12207 PROCESSO DE VIDA DO CICLO DE SOFTWARE Este padro formaliza a arquitetura do ciclo de vida do software, que um assunto bsico em Engenharia de Software e tambm em qualquer estudo sobre Qualidade do Processo de Software. Esta norma possui mais de 60 pginas e detalha os diversos processos envolvidos no ciclo de vida do software. Estes processos esto divididos em trs classes: Processos Fundamentais, Processos de Apoio e Processos Organizacionais. Segue a lista completa dos processos na tabela abaixo: Processos Fundamentais Aquisio Incio e execuo do desenvolvimento, operao ou manuteno do software durante o seu ciclo de vida. Atividades de quem um software. Inclui: definio da necessidade de adquirir um software (produto ou servio), pedido de proposta, seleo de fornecedor, gerncia da aquisio e aceitao do software. Atividades do fornecedor de software. Inclui preparar uma proposta, assinatura de contrato, determinao recursos necessrios, planos de projeto e entrega do software. Atividades do desenvolvedor de software. Inclui: anlise de requisitos, projeto, codificao, integrao, testes, instalao e aceitao do software. Atividades do operador do software. Inclui: operao do software e suporte operacional aos usurios. Atividades de quem faz a manuteno do software. Auxiliam um outro processo. Registro de informaes produzidas por um processo ou atividade. Inclui planejamento, projeto, desenvolvimento, produo, edio, distribuio e manuteno dos documentos necessrios a gerentes, engenheiros e usurios do software. Identificao e controle dos itens do software. Inclui: controle de armazenamento, liberaes, manipulao, distribuio e modificao de cada um dos itens que compem o software. Garante que os processos e produtos de software estejam em conformidade com os requisitos e os planos estabelecidos. Determina se os produtos de software de uma atividade atendem completamente aos requisitos ou condies impostas a eles. Determina se os requisitos e o produto final (sistema ou software) atendem ao uso especfico proposto. Define as atividades para avaliar a situao e produtos de uma
20

Fornecimento Desenvolvimento Operao Manuteno Processos de Apoio Documentao

Gerncia de Configurao Garantia da Qualidade Verificao Validao Reviso Conjunta

Auditoria Resoluo de Problemas Processos Organizacionais Gerncia Infra-estrutura Melhoria Treinamento

atividade de um projeto, se apropriado. Determina adequao aos requisitos, planos e contrato, quando apropriado. Anlisar e resoluo dos problemas de Qualquer natureza ou fonte, descobertos durante a execuo do desenvolvimento, operao, manuteno ou outros processos. . Implementam uma estrutura constituda de processos de ciclo de vida e pessoal associados, melhorando continuamente a estrutura e os processos. Gerenciamento de processos. Fornecimento de recursos para outros processos. Inclui: hardware, software, ferramentas, tcnicas, padres de desenvolvimento, operao ou manuteno. Atividades para estabeler, avaliar, medir, controlar e melhorar um processo de ciclo de vida de software. Atividades para prover e manter pessoal treinado.

A norma detalha cada um dos processos acima. Ela define ainda como eles podem ser usados de diferentes maneiras por diferentes organizaes (ou parte destas), representando diversos pontos de vista para esta utilizao. Cada uma destas vises representa a forma como uma organizao emprega estes processos, agrupando-os de acordo com suas necessidades e objetivos. As Vises tm o objetivo de organizar melhor a estrutura de uma empresa, para definir suas gerncias e atividades alocadas s suas equipes. Existem cinco vises diferentes: contrato, gerenciamento, operao, engenharia e apoio. Na figura abaixo se encontra como estas vises se relacionam aos processos. A ISO/IEC 12207 a primeira norma internacional que descreve em detalhes os processos, atividades e tarefas que envolvem o fornecimento, desenvolvimento, operao e manuteno de produtos de software. A principal finalidade desta norma servir de referncia para os demais padres que venham a surgir. Lanada em agosto de 1995, ela citada em quase todos os trabalhos relacionados Engenharia de Software desde ento, inclusive aqueles relativos qualidade. A futura norma ISO 15504 (SPICE), por exemplo, organiza seu trabalho segundo o que est descrito na 12207. A verso brasileira da norma foi encaminhada para votao na ABNT em junho de 1997 e a expectativa da comisso encarregada da traduo que ela se transforme em norma brasileira ainda em 1997.

21

XIII GERENCIANDO UM COMPANHIA DE QUALIDADE Gerenciar uma companhia de qualidade mais do que implementar um sistema de qualidade consistindo de um conjunto de tcnicas do padro Iso. a criao da cultura da qualidade que permeia toda a organizao. A seguir, mostraremos algumas idias prticas que podem vir a ajudar na realizao de trabalho com mais qualidade. Dedicao satisfao do cliente Qualidade fala sobre a satisfao do cliente. Produzir um produto de qualidade uma parte importante para garantir a satisfao e ateno do cliente. Isto inclui: Esforar-se ao mximo para entender as necessidades do cliente no produto e no suporte; Escrever um contrato que reflitas estas necessidades; Prever suporte ps-venda para igualar requisitos ou expectativas; Vigiar os contatos com os clientes. A primeira impresso a que fica.

Dar nfase melhoramentos contnuos O fim da qualidade total nunca ser alcanado, ser sempre possvel fazer as coisas um pouco melhor ou mais rpido. A melhor coisa a ser feita fazer a organizao se tornar uma Organizao do aprendizado que constantemente pesquisa e renova recursos e experincias de todo o pessoal envolvido para aumentar a qualidade, reduzir custos e responder rapidamente s necessidades dos clientes. Tendo se tornado uma organizao do aprendizado, aprenda como aprender mais rpido do que os concorrentes. Tratar fornecedores como parceiros de negcios Esta filosofia de parceiros de negcios pode ser estendida a outros com uma participao no sucesso do seu negcio. As empresas de desenvolvimento devem considerar que seus agentes e distribuidores devem ser considerados como parceiros do negcio para benefcio mtuo. E o mesmo pode ser aplicado a grandes consumidores, que esto procurando relacionamentos. Decises em negcios de parcerias no tem razes idealistas, mas tm no gerenciamento do negcio a luz da realidade estratgica e comercial. Eles refletem o fato de o negcio no ser uma coisa qualquer e que geralmente em seu prprio interesse promover o sucesso dos outros. Em outras palavras criada uma situao VencedorVencedor. Comunicao e time de trabalho importante criar uma cultura na empresa no qual indivduos e departamentos pensem que eles mesmos so seus prprios consumidores dentro da organizao. Este
22

supridores internos tentam entender e suprir as necessidades de seus consumidores internos e estes trabalham com seus supridores internos para ajud-los. Responsabilidades e linhas de comunicao deve ser regularmente revistos, e relacionamentos tradicionais entre departamentos devem ser alterados quando for necessrio. Atualizando empregados O pessoal da empresa no ser capaz de produzir um sistema de qualidade e fornecer um suporte de qualidade a menos que eles tenham as habilidades necessrias, conhecimento e recurso. O gerente deve selecionar, em primeiro lugar, o pessoal certo para cada tarefa a ser executada de acordo com suas habilidades e treinamento que eles venham a precisar para conseguir realizar o seu melhor. Isto motivar o pessoal e gerar um compromisso para um contnuo melhoramento do seu conhecimento e do seu trabalho. Compromisso da gerncia A gerencia pode ter uma melhor responsabilidade se: Tratar a qualidade como um negcio estratgico; Desenvolver uma poltica para a qualidade; Garantir que a poltica da qualidade ser comunicada e implementada atravs da organizao Regularmente rever a poltica e suas implementaes.

XIV. IMPLEMANTANDO UM SISTEMA DE QUALIDADE Como alcanar a qualidade? Alguns anos atrs, John Ruskin ditou alguns ponteiros quando disse que a qualidade nunca um acidente sempre o resultado de grandes esforos. Os dizeres de Ruskin foram feitos durante uma idade mais vagarosa, mais ainda so aplicveis. Para os negcios modernos, resultados inteligentes devem ser direcionados atravs de um sistema de qualidade. XIV.1 - UM SISTEMA DE QUALIDADE Um programa de aumento de qualidade conduz ao estabelecimento de um sistema de qualidade que deve ter aspectos tcnicos e culturais. fcil de ver a razo disto: a entidade a ser melhorada consiste em tecnologia e pessoas. Aspectos Tcnicos Envolve o desenvolvimento de padres e tcnicas para implementar a qualidade em todas as atividades.

23

Aspectos culturais A prtica da qualidade deve ser aceita por todas as pessoas da empresa sem exceo. Cada pessoa deve estar consciente da sua responsabilidade pela qualidade. Um programa de educao e treinamento envolvendo a empresa toda deve ser necessrio para conseguir conscientizar a todos na empresa. XIV.2 INICIANDO UM SISTEMA DE QUALIDADE Preparar uma poltica de qualidade A gerncia da empresa dever comear um projeto de qualidade formulando uma poltica de qualidade. Esta poltica deve ser claramente declarada pela comisso de organizao da qualidade e gerentes que estaro envolvidos no projeto. A poltica dever ser publicada e comunicada para que seja entendida e implementada em todos os setores da empresa. Estabelecer uma equipe de suporte em qualidade Uma equipe de suporte qualidade normalmente compreende um comit de direo e uma equipe de aumento da qualidade. A gerncia snior da companhia deve estar no comit de direo. A tarefa do comit verificar o programa de qualidade. As tarefas principais do comit de direo so: Definir uma direo estratgica e metas a longo prazo; Estabelecer uma equipe de aumento e melhoramento da qualidade e rever sua performance; Autorizar e aprovar gastos para o programa de qualidade; Prover suporte de alto nvel para o programa de qualidade.

O comit de direo dever adotar uma equipe de melhoramento da qualidade que ser responsvel por estabelecer e manter um programa de qualidade em toda a organizao. As atividades especficas so: Avaliar as necessidades da organizao; Desenvolver um sistema de qualidade para a empresa; Planejar e monitorar a implementao; Comunicar, durante todo o processo, o programa de qualidade ao pessoal da empresa; Treinamento e outras atividades para ajudar no suporte ao programa de qualidade; Preparar e rever procedimentos e padres; Adotar um ciclo de vida para o desenvolvimento do programa; Adotar mtodos e ferramentas; Estabelecer um programa para medir os processos do software, produtos e servios.
24

Outras atividades podero estar sendo desenvolvidas na organizao, a saber:

XIV.3 - DEFINIR UM PROGRAMA PARA A QUALIDADE A seguir, mostraremos alguns passos que podem ser utilizados para construir e definir corretamente um programa de implementao da qualidade na empresa. Avaliar a organizao Para se avaliar a organizao, chama-se um rgo respeitado internacionalmente para poder avaliar os processos da empresa de software. Esta organizao vai entrar dentro da empresa e comear a verificar e definir padres e regras que devem ser cumpridas para se conseguir o certificado. Esta organizao que estar sendo avaliada, vai reorganizar-se de acordo com as normas a serem ditadas. As normas podem variar de acordo com a necessidade da empresa e ser aplicado padres internacionais, tais como ISO 9000 ou CMM , Projetar um sistema de qualidade Nesta parte da implementao, a empresa vai definir quais os seus objetivos perante a qualidade que se quer alcanar. Alguns dos objetivos mais comuns que as empresas querem para se adaptar ao mercado, : Reduzir o nmero de erros e defeitos encontrados na fase de teste e na implantao do software; Aumentar a produtividade; Reduzir o tempo de desenvolvimento; Diminuir o tempo de resposta s requisies do cliente; Melhorar as estimativas de custo e agendamento de tarefas para se entregar ao usurio; Alcanar a certificao necessria.

Todos os objetivos e partes do projeto devem ser colocados em um manual que, mais tarde dever conter todas as resolues que foram feitas durante todo o projeto. Este Manual da Qualidade dever, depois de pronto, ser publicado para todas as pessoas da empresa para entendimento e retirada de dvidas. Neste manual, poder conter: A poltica de qualidade e objetivos da empresa; A estrutura da organizao mostrando as responsabilidades de todos que gerenciam, fazem e verificam o trabalho que afetar a qualidade; Uma descrio do ciclo de vida da qualidade na empresa (ser visto mais frente); Uma viso geral do sistema de qualidade; relacionamento do sistema de qualidade com o padro internacional adotado; Referncia completa a procedimentos e padres detalhados.
25

Planejamento e implementao do programa de qualidade Aps a concluso do Manual de Qualidade e sua aprovao pelo pessoal da empresa, a comisso de organizao da qualidade determinar a quantidade de servio que dever ser necessrio para implementar o programa de qualidade. A comisso dever desenvolver um plano de implementao detalhando tarefas, atividades, marcos e recursos para a implantao. Normalmente, as tarefas mais comuns a serem realizadas so as seguintes: implementar um programa cultural; Adotar um ciclo de vida; Desenvolver um sistema de controle de qualidade; Desenvolver e documentar procedimentos e padres para todas as atividades de cada ciclo da implementao; Definir e implementar um programa de medidas; Rever e, se necessrio revisar o manual de qualidade; Apreciao da qualidade e treinamento do sistema de qualidade; Um programa de auditoria da qualidade; Revises gerenciais; Avaliao ISO 9000. XIV.4. - IMPLEMENTAR UM PROGRAMA CULTURAL O programa cultural dever ser implementado em conjunto com o programa tcnico. O programa cultural consiste em conscientizar as pessoas da empresa necessidade de se ter qualidade de alto nvel. Normalmente, se utiliza do treinamento qualidade e profissional (aprendizado de novas e melhores ferramentas desenvolvimento) e realizao de Workshop para discutir qualidade e necessidades empresa e das pessoas que esto envolvidas. da de de da

Tambm faz parte do programa cultural, as iniciativas da gerncia e do pessoal da empresa para poder melhorar e aumentar o incentivo das pessoas para realizarem uma tarefa melhor e mais bem feita. As iniciativas da gerncia do nfase a anlise de defeitos e suas causas e a definio de marcos que devem ser alcanados em certo perodo de tempo. J as iniciativas dos funcionrios da empresa so voltadas para sugestes de como realizar tarefas e procedimentos de forma a retornar mais qualidade e mais servio.

26

XIV.5 - IMPLEMENTAR O PROGRAMA TCNICO O programa tcnico consiste em: Adotar um ciclo de vida Toda empresa de software, grande ou pequena, deve possuir um ciclo de vida para o desenvolvimento do produto. Muitos tipos de ciclo de vida tm sido implementados e testados para atender a determinadas circunstncias. A empresa dever adotar um ciclo de vida e, ento adequ-lo s suas necessidades. O ciclo de vida dividido em etapas. Em cada etapa poder ser feito uma reviso do que j foi feito e rever o que vai ser feito na prxima etapa. Desenvolver procedimentos e padres Algumas empresas trabalham com o mximo possvel de procedimentos e padres definidos rigorosamente. comum aos desenvolvedores no se acostumarem facilmente com estes novos padres. No caso da empresa estar implantando pela primeira vez um sistema de qualidade, os desenvolvedores estaro sujeitos a no aceitarem o que foi dito e a empresa vai demorar muito tempo tentando conscientiz-las. Os procedimentos e padres devem ser identificados da maneira como so utilizados e, depois, alter-los, se necessrios e divulg-los pela empresa toda. Estes, normalmente, sofrem a interferncia de padres internacionais como ISO e CMM e devem ser desenvolvidos e utilizados pelas pessoas que j os utilizavam. Caso a empresa venha implantar novos procedimentos e padres, eles devem ser feitos de maneira gradual. Se implementar tudo de uma vez, a resistncia ser maior e a empresa poder perder por causa disto. Selecionar mtodos e ferramentas. Os mtodos e ferramentas a serem utilizados devem ser padronizados. Esta padronizao dever levar em considerao dicas dos desenvolvedores e diretores que esto envolvidos diretamente com o processo de desenvolvimento do software. Estes devem ser utilizados em todos os projetos da empresa e ter uma variao pequena de um projeto para outro. Aconselha-se que as ferramentas de desenvolvimento devem ser de um mesmo fornecedor para evitar conflitos, atrasos, defeitos inesperados e correes mal feitas para se adaptar as ferramentas diversas ao sistema. Programa de mtricas e medidas de software dito que, se voc no pode medir, ento voc no pode gerenciar. Esta frase pode no estar muito certa, mas se a empresa conseguir medir a funcionalidade e a qualidade de seu produto e dos concorrentes, poder saber se o seu produto est melhor ou pior do que o outro.
27

Neste caso, as medidas so muito importantes. Quando adotado nas empresas, elas procuram as medidas que devem: Refletir os requisitos ou processos dos clientes que direcionam a escolha de prrequisitos: qualidade no pode ser melhorada otimizando medidas que no relatam as necessidades dos clientes; Ser claramente definida. Todos os resultados e medidas devem estar utilizando as mesmas medidas; No utilizar ferramentas carssimas para coletar dados: s vezes, melhor coletar dados de uma maneira mais fcil e barata e obter timos resultados do que utilizar de ferramental caro e obter dados que no so concisos e no obter resultados satisfatrios;

As medidas podem ser utilizadas tanto no projeto quanto nos processos para diferentes propsitos, por exemplo: Na fase de projeto, identificar componentes no usuais para um estudo mais detalhado ( componentes que so mais fceis de darem erros ou defeitos); No nvel de processos: calibrar uma estimativa do modelo, comparar o uso de diferentes ferramentas e mtodos em diferentes projetos, monitorar os avanos progressivos

Nas empresas, costuma-se, ainda, medir outras atividades relacionadas com o desenvolvimento de software, a exemplificar: Desenvolvimento Taxas de erros e defeitos; Mudanas nos requisitos e especificaes de desenvolvimento; Produtividade; Aderncia ao tempo determinado para cada tarefa; Aderncia aos gastos previstos. Suporte Responsabilidade sobre as necessidades do usurio; Frequncia com que o usurio necessita de mudanas. Geral Custo de baixa qualidade. Treinamento Uma grande necessidade da empresa que vai melhorar a qualidade do servio que ela presta est em treinar o seu pessoal para eles terem conscincia do que esto fazendo e conhecer todo o processo da empresa para saberem de suas necessidades e dos outros. Este treinamento no consiste em treinas as pessoas apenas para receberem novas ferramentas. Elas devem ser treinadas em qualidade, processos novos e antigos, em comunicao, em novas ferramentas e em muitas outras que devem ser especificadas pela empresa de acordo com a necessidade do funcionrio e da prpria empresa.

28

XIV.6 REVISES DE PROCESSOS E PRODUTO As revises so muito importantes. Elas definem o que foi feito certo, o que foi feito errado e o que precisa ser reparado ou no. , talvez, a parte do projeto mais importante. nesta etapa que os desenvolvedores vo descobrir a maioria dos erros e defeitos e que vo ser corrigido depois. H, ainda, o teste final que feito antes de enviar o produto para a implementao no usurio. importante que no se tenha erros e defeitos quando o software estiver funcionando no cliente, pois ele pode reclamar muito e o projeto todo ficar comprometido. Revises do projeto Todos os projetos, grandes ou pequenos deve ser revistos em sua totalidade para se descobrir o que foi aprendido e o que pode ser melhorado. Esta reviso pode acontecer uma nica vez no final do projeto ou pode acontecer no final de cada fase concluda. Este ltimo pode ser o melhor porque se aprende mais sobre o projeto e j resolve os problemas desta etapa prevendo alguns erros para a prxima etapa. Revises da gerncia A gerncia tem a mxima responsabilidade para a boa realizao do plano de qualidade a ser implantado na empresa. Ela dever rever os processos regularmente, pelo menos uma vez ao ano. Estas revises devem levantar todas as fontes de informaes incluindo: Resultado das auditorias, internas ou externas; Relatrios das revises do projeto; Relatrios dos servios ao cliente; Mudanas de tecnologia no projeto; Avaliaes dos clientes sobre a qualidade do servio; Anlises de medidas.

Os resultados devem ser colocados em uma listagem, anexados ao manual e entregue a todos na empresa para verem a evoluo do projeto. XV. O FUTURO DA QUALIDADE Pensadores sobre qualidade afirmam que esta ter vrias mudanas daqui para frente. Estas mudanas sero muito grandes porque as empresas hoje pensam em qualidade como apenas aquisio de respeito internacional atravs de certificaes e procedimentos considerados corretos e qualitativos. Mas ser que estas empresas apenas conseguem seus certificados e no olham para o produto em si? Elas podem ter certificaes mil e continuar desenvolvendo software da mesma maneira que antes e ainda ter vrias reclamaes de clientes sobre a qualidade do produto em questo.
29

O que se pensa pelo futuro da qualidade que as empresas devero se preocupar em criar um cargo para a gerncia da qualidade (CQO[chief quality officer]). Gerentes de hoje, se tornaram gerentes de qualidade amanh. Estes gerentes no devero se preocupar em apenas definir regras e procedimentos que devem ser adotados por todos na empresa que trabalham, o que j feito h muito tempo. Eles devero concentrar seus esforos nos sistemas de marketing, vendas e suporte porque estes tero mais impacto sobre a satisfao do cliente do que os procedimentos adotados para o desenvolvimento de softwares. XVI. - BIBLIOGRAFIA SANDERS, Joc e CURRAN, Eugene. Software Quality. AddisonWesley, 1994.

30

Glossrio de Termos da Qualidade


Ao Corretiva Ao implementada para eliminar as causas de uma no-conformidade, de um defeito ou de outra situao indesejvel existente, a fim de prevenir sua repetio. [NBR ISO 8402] Ao Preventiva Ao implementada para eliminar as causas de uma possvel no-conformidade, defeito ou outra situao indesejvel, a fim de prevenir sua ocorrncia. [NBR ISO 8402] Analisador de Cdigo Software que percorre um trecho de cdigo, uma rotina ou um programa, com a finalidade de coletar mtricas de complexidade ou de elaborar um grafo ou outra descrio da lgica do cdigo percorrido. Anlise Crtica (Review) Avaliao profunda e global de um projeto, produto, servio, processo ou informao com relao a requisitos, objetivando a identificao de problemas e a proposio de solues. [Critrios de Excelncia da Fundao para o Prmio Nacional da Qualidade FPNQ] Anlise Crtica de Contrato Atividades sistemticas executadas pelo fornecedor, antes da assinatura do contrato, para garantir que os requisitos para a qualidade esto adequadamente definidos, sem ambigidade e documentados, e que os mesmos possam ser atendidos pelo fornecedor. [NBR ISO 8402] Anlise Crtica de Projeto Exame documentado completo e sistemtico de um projeto para avaliar sua capacidade de atender os requisitos para a qualidade, identificar problemas, se houver, e propor o desenvolvimento de solues. [NBR ISO 8402] Anlise Crtica de Requisitos Processo ou reunio durante o qual os requisitos para um sistema, item de hardware ou item de software so apresentados aos desenvolvedores, gerentes, usurios, clientes, ou outros interessados para comentrios e aprovao. Aqui tambm esto includos anlise crtica de sistema e anlise crtica de software. [IEEE Std 610.12] Anlise de Pontos por Funo Tcnica de avaliao de um sistema, conhecida como FPA Function Point Analysis, baseada na medio do valor das funes executadas pelos programas, ao invs de utilizar como base o volume ou a complexidade do cdigo dos programas. A tcnica est baseada na viso externa do usurio, sendo portanto, independente da linguagem utilizada, permitindo calcular o esforo de programao e auxiliando o usurio final a melhorar o exame e avaliao de projetos. Anlise de Requisitos Conjunto de atividades que permite identificar as necessidades do usurio de modo a obter uma definio clara das caractersticas (requisitos) de um sistema. Essas caractersticas descrevem o sistema em termos de funcionalidades, desempenho esperado, restries de projeto, nveis de qualidade esperados, interface com outros elementos do sistema. Processo de estudar as necessidades do usurio para se chegar a uma definio dos requisitos de sistema, hardware ou software. [IEEE Std 610.12] ASQ - American Society for Quality Entidade norte-americana que congrega profissionais interessados na engenharia da qualidade e na gesto da qualidade. Oferece diversas certificaes profissionais, entre as quais a de engenheiro da qualidade (Certified Quality Engineer - CQE), engenheiro de confiabilidade (Certified Reliability Engineer - CRE), auditor da qualidade (Certified Quality Auditor - CQA), administrador da qualidade (Certified Quality Manager - CQM) e engenheiro da qualidade em software (Certified Software Quality Engineer CSQE). No Brasil, os exames para certificao so aplicados pela Associao Brasileira de Controle da Qualidade - ABCQ. Auditoria Exame sistemtico e independente, para determinar se as atividades da qualidade e seus resultados esto de acordo com as disposies planejadas, se estas foram implementadas com eficcia e se so adequadas consecuo dos objetivos. [NBR ISO 8402] 31

Avaliao Exame sistemtico do grau em que um produto, processo ou servio atende aos requisitos especificados. Avaliao de Terceira Parte ou Independente Avaliao feita por pessoa ou organismo reconhecido como independente das partes envolvidas. CASE - Computer Aided Software Engineering Ferramenta de apoio ao desenvolvimento de software. Em linhas gerais, apia a execuo de atividades do desenvolvimento do software de forma automatizada. Em alguns casos, implementa um ambiente relativamente refinado no qual vrias atividades de especificao ou codificao so apoiadas por recursos computacionais.Dependendo do tipo de atividade suportada podem ser classificados em Lower CASE, provendo suporte codificao, teste, depurao e manuteno do cdigo ou Upper CASE, suportando diversas tarefas de anlise e projeto de sistemas.Eventualmente, ferramentas CASE podem ser integradas em ambientes de desenvolvimento de software. Neste caso, apoiando parte das atividades previstas em um processo de desenvolvimento de software. Certificao Modo pelo qual uma terceira parte d garantia escrita de que um produto, processo ou servio est em conformidade com os requisitos especificados. [ABNT ISO/IEC GUIA 2] Certificao de Software Emisso de um certificado de conformidade de um software a um certo conjunto de normas ou especificaes, comprovada por testes de conformidade e por testes de campo. CMM - Capability Maturity Model Modelo para avaliao da maturidade dos processos de software de uma organizao e para identificao das prticas chave que so requeridas para aumentar a maturidade desses processos. O CMM prev cinco nveis de maturidade: inicial, repetvel, definido, gerenciado e otimizando. O modelo foi proposto por Watts S. Humphrey, a partir das propostas de Philip B. Crosby, e vem sendo aperfeioado pelo Software Engineering Institute - SEI da Carnegie Mellon University . [http://www.sei.cmu.edu/cmm/cmm.html] Confiabilidade Conjunto de atributos que evidenciam a capacidade do software de manter seu nvel de desempenho sob condies estabelecidas durante um perodo de tempo estabelecido. [NBR 13596]. Tem como subcaractersticas: maturidade, tolerncia a falhas e recuperabilidade. Configurao Relao entre verses de um objeto composto, ou seja, configurao uma instncia do sistema composta da unio de uma verso especfica de cada objeto componente.Arranjo de um sistema computacional ou de seus componentes como definidos pelo seu nmero, natureza e interconexo de suas partes constituintes. [IEEE Std 610.12] Controle de Verso Procedimento de gesto do ciclo de vida de um produto. Consiste na identificao formal de modificaes solicitadas ou efetuadas e no seu agrupamento, de modo a que fiquem incorporadas, todas elas, em uma determinada configurao do produto, num certo momento. Essa configurao recebe o nome de verso. Custos da Qualidade Custos relacionados com as perdas em funo da qualidade insuficiente de processos, produtos ou servios (custos da no-conformidade) ou com os investimentos em atividades que eliminem falhas ou elevem a qualidade de processos, produtos ou servios (custos da conformidade).A identificao e a apropriao contbil desses custos permite que o administrador possa fazer uma anlise do nvel de qualidade de sua produo e possa tomar decises para melhorar esse nvel. Declarao de Conformidade Declarao, emitida pelo fornecedor ou pelo produtor de um software, assegurando que este opera em conformidade com certas normas ou especificaes preestabelecidas. Depurador Interativo

32

Software para apoio a testes, cuja funo permitir a visualizao passo a passo da execuo de uma rotina ou programa e do comportamento de seus elementos antes, durante e aps a execuo. Dicionrio de Dados Listagem organizada de todos os elementos de dados que so pertinentes ao sistema, com definies precisas e rigorosas, de forma que tanto o usurio como o analista de sistemas tenham uma compreenso comum das entradas, das sadas, dos componentes dos depsitos de dados. [Pressman R.S., Engenharia de Software, 1995] Driver de Teste Software que permite a ativao de determinadas partes do software (mdulos) com o intuito de test-las. Normalmente, utilizam-se massas de teste previamente definidas e produzem resultados do teste, que podem ser verificados atravs da documentao de teste construda pelo analista ou engenheiro de software responsvel pelos testes. Eficincia Conjunto de atributos que evidenciam o relacionamento entre o nvel de desempenho do software e a quantidade de recursos usados, sob condies estabelecidas. [NBR 13596] Tem como subcaractersticas: comportamento em relao ao tempo e comportamento em relao aos recursos. Engenharia da Informao Popularizada por James Martin, um caminho direcionado a dados para desenvolvimento de sistemas de informao, oposto viso de direcionamento a processo de anlise estruturada . [Marciniak J.J., Encyclopedia of Software Engineering] Entidade Certificadora rgo que realiza a certificao de conformidade, a partir da existncia da garantia adequada de que um produto, processo ou servio, devidamente identificado, est em conformidade com uma norma ou outro documento normativo especificado. Estimao da Confiabilidade Procedimento de estimao da confiabilidade do software a partir de dados sobre erros ou falhas conhecidas e outros dados, tais como resultados de teste e nmero de horas de uso. Funcionalidade Conjunto de atributos que evidenciam a existncia de um conjunto de funes e suas propriedades especificadas. As funes so as que satisfazem as necessidades explcitas ou implcitas. [NBR 13596] Tem como subcaractersticas: adequao, acurcia, interoperabilidade, conformidade, segurana de acesso. Garantia da Qualidade Conjunto de atividades planejadas e sistemticas, implementadas no sistema da qualidade e demonstradas como necessrias para prover confiana adequada de que uma entidade atender os requisitos para a qualidade. [NBR ISO 8402] Gerador de GUI O processo de projeto de interfaces com o usurio iterativo. Ou seja, um modelo de projeto criado, implementado como prottipo, examinado pelos usurios e modificado, baseado em seus comentrios. O jogo de ferramentas (toolkit) de interfaces com usurio ou sistema de desenvolvimento de interfaces com o usurio (User-Interface Development Systems UIDS), essas ferramentas oferecem mdulos ou objetos que facilitam a criao de janelas, menus, interao de dispositivos, mensagens de erro, comandos e muitos outros elementos de um ambiente interativo. Os sistemas de desenvolvimento de interfaces com o usurio (User Interface Development Systems UIDS) combinam ferramentas CASE individuais para interao humano computador com uma biblioteca de componentes de programa que possibilita que o desenvolvedor construa uma interface humano computador rapidamente. O UIDS oferece componentes de programa que gerenciam dispositivos de entrada, validam entradas do usurio, manipulam condies de erro, processam "undos"e aborts, oferecem feedback visual, prompts e socorro, atualizam o display, gerenciam dados de aplicao, manipulam scrolling e editing, isolam a aplicao das funes de gerenciamento da tela e suportam caractersticas de customizao para o usurio final. [Pressman R. S., Engenharia de Software, 1995] Gerncia de Projetos 33

Processo que tem incio antes do trabalho tcnico, prossegue medida que o software se desenvolve do modelo conceitual para o modelo computacional e encerra somente quando o software se torna obsoleto. Gerncia de Requisitos Estabelecimento e manuteno de um entendimento/acordo com o cliente sobre os requisitos para o projeto de software. Este acordo refere-se aos requisitos do sistema alocados para o software. O cliente pode ser interpretado como o grupo de engenharia do sistema, o grupo de marketing, outra organizao interna, ou um cliente externo. O acordo compreende requisitos tcnicos e no tcnicos. O acordo forma a base para a estimativa, planejamento, execuo e acompanhamento das atividades do projeto de software atravs do ciclo de vida do software. [Key Practices of the Capability Maturity Model, verso 1.1, Feb. 1993] Gerenciamento de Configurao (Software Configuration Management SCM) Atividade abrangente que aplicada em todo o processo de engenharia de software, podendo ser vista como uma atividade de garantia da qualidade de software. Uma vez que uma mudana pode ocorrer a qualquer tempo, as atividades de SCM so desenvolvidas para identificar a mudana; controlar a mudana; garantir que a mudana esteja sendo adequadamente implementada; e relatar a mudana a outras pessoas que possam ter interesse nela. O gerenciamento de configurao de software um conjunto de atividades que foi desenvolvido para administrar as mudanas em todo o ciclo de vida do software. Gesto da Qualidade Todas as atividades da funo gerencial que determinam a poltica da qualidade, os objetivos e as responsabilidades, e os implementam por meios tais como: o planejamento da qualidade, o controle da qualidade, a garantia da qualidade e a melhoria da qualidade dentro do sistema da qualidade. [NBR ISO 8402] Gesto de Configurao Atividade tcnica e gerencial aplicada ao longo de todo o ciclo de vida do software que tem por objetivo garantir a integridade do produto sendo desenvolvido, mantendo um histrico de todos os itens sob controle. Basicamente, composta de quatro tarefas: identificao da configurao, controle da configurao, balano da configurao e auditoria da configurao. Guia ABNT ISO/IEC GUIA 2 Termos gerais e suas definies relativas normalizao e atividades correlatas. Guia ABNT ISO/IEC GUIA 25 Requisitos gerais para a capacitao de laboratrios de calibrao e de ensaios. Inspeo Formal Tcnica de reviso sistemtica do software ou de alguns de seus componentes, executada, sistematicamente, ao final de cada fase do projeto, com o objetivo nico de encontrar erros.A inspeo formal executada por uma equipe na qual cada membro tem papel preestabelecido. O projetista participa mas no coordena a reunio. Todo o material gerado lido, os erros anotados e uma estatstica dos erros encontrados mantida, para fins de posterior estudo da eficcia do procedimento. Interface Humano Computador Mecanismo por meio do qual se estabelece um dilogo entre o programa e o ser humano. Se os fatores humanos tiverem sido levados em conta, o dilogo ser harmonioso e um ritmo ser estabelecido entre o usurio e o programa. Se os fatores humanos tiverem sido ignorados, o sistema quase sempre ser visto como "no-amigvel". [Pressman R.S., Engenharia de Software, 1995] ISO International Organization for Standardization (Organizao Internacional de Normalizao). ISO 8402 Quality management quality assurance vocabulary. ISO 9000-3 Quality management and quality assurance standards Part 3: Guidelines for the application of ISO 9001 to the development, supply and maintenance of software.Norma internacional da srie ISO 9000. Estabelece diretrizes para aplicao da norma ISO 9001 s atividades de desenvolvimento, fornecimento e manuteno de software. ISO 9001 34

Quality systems Model for quality assurance in design, development, production, installation and servicing. Norma internacional da srie ISO 9000. Modelo para garantia da qualidade em projetos, desenvolvimento, produo, instalao e servios associados. mais completa que as normas ISO 9002 e ISO 9003, da mesma srie. ISO 9002 Quality systems Model for quality assurance in production, installation and servicing.Norma internacional da srie ISO 9000. Modelo para garantia da qualidade na produo, instalao e servios associados. ISO 9003 Quality systems Model for quality assurance in final inspection and testing. Norma internacional da srie ISO 9000. Modelo para garantia da qualidade em inspeo e ensaios finais. ISO/IEC 9126 Information technology - Software quality caracteristics and metrics.Norma que define as caractersticas da qualidade de software, para fins de sua avaliao. Ser complementada com outras normas que definiro guias para avaliao do software, hoje na forma de drafts.A norma brasileira correspondente a NBR 13596. ISO 9241 Ergonomic requirements for office work with visual display terminals (VDTs). Norma que define requisitos ergonmicos para o trabalho de escritrio com computadores (VDT Visual Display Terminals), objetivando promover a sade e a segurana de usurios de computadores e garantir que eles possam operar esses equipamentos com eficincia e conforto. ISO/IEC 12119 Information technology - Software packages - Quality requeriments and testing.Norma que estabelece os requisitos da qualidade e testes em pacotes de software. Seu escopo refere-se a pacotes de software, na forma oferecida no mercado, e no aos processos de desenvolvimento e fornecimento de software. A norma brasileira correspondente a NBR ISO/IEC 12119. ISO/IEC 12207 Information technology Software life cycle process. ISO/IEC 14598 Information technology Software product evaluation.Famlia de normas que tratam do processo de avaliao de um produto de software e complementam o modelo apresentado na norma ISO/IEC 9126, hoje na forma de drafts. ISO/IEC 15504 Information technology Software process assessment. Futura norma internacional para avaliao de processos de software, em desenvolvimento pelo projeto SPICE (Software Process Improvement and Capability dEtermination), o que a torna conhecida tambm como Modelo SPICE. Atualmente est publicada como um relatrio tcnico (ISO/IEC TR 15504) da ISO/IEC com previso de ser publicada como norma em 2002. Define um modelo de referncia com processos e nveis de capacidade, orientaes sobre como utiliz-lo para melhoria contnua ou determinao da capacidade, e um modelo exemplo compatvel . JAD - Joint Application Design Conjunto de sesses intensivas e mediadas entre usurios e analistas de um sistema, com o objetivo de explicitar os seus requisitos.A tcnica, desenvolvida nos anos setenta pela IBM do Canad, voltou a ficar em voga com o uso do RAD - Rapid Application Development, metodologia que combina o JAD (para definir rapidamente a especificao do sistema) com o uso de ferramentas CASE e de metodologias de prototipao, para chegar a um produto final em menor tempo. Lead Assessor Certificao que qualifica um auditor a atuar na avaliao de empresas segundo as normas ISO 9000. A obteno desse ttulo depende da participao em cursos e da realizao de um nmero de horas de auditoria, acompanhando auditores j certificados. Manutenibilidade

35

Conjunto de atributos que evidenciam o esforo necessrio para fazer modificaes especificadas no software. [NBR 13596].Tem como subcaractersticas: analisabilidade, modificabilidade, estabilidade e testabilidade. Medio Ao de aplicar uma mtrica de qualidade de software a um produto de software especfico. [NBR 13596] Medio de Linhas de Cdigo ( LOC ) a mtrica de cdigo mais bsica. A definio mais comum de LOC estabelece que qualquer linha do programa que no seja comentrio ou linha em branco, independente do nmero de sentenas (lgicas ou operaes) esto presentes naquela linha. [Marciniak J.J., Encyclopedia of Software Engineering] Melhoria de Processos de Software (Software Process Improvement) Uma abordagem (SPI) para melhoria das organizaes que desenvolvem e mantm software. baseada na melhoria da capacidade de processos fundamentais para organizaes de software. Utiliza como referncia um modelo de processo, como por exemplo, o CMM e a ISO/IEC 15504SPICE. Mtricas de Complexidade Grandezas coletadas atravs do exame da especificao do cdigo de um sistema, programa com rotina e que refletem o seu tamanho e a sua complexidade lgica. Diversos modelos existem para relacionar mtricas de complexidade com tempo ou esforo de desenvolvimento e com o nmero de erros embutidos no produto. Mtrica de Qualidade de Software Mtodo e uma escala quantitativa que podem ser usados para determinar o valor que uma particularidade (feature) recebe em um produto de software especfico. [NBR 13596] NBR ISO 8402 Gesto da qualidade e garantia da qualidade Terminologia, Brasil. NBR ISO 9000-3 Normas de gesto da qualidade e garantia da qualidade - Parte 3: Diretrizes para a aplicao da NBR 19001 (ISO 9001) ao desenvolvimento, fornecimento e manuteno de software, Brasil. NBR ISO 9001 Sistemas da qualidade - Modelo para garantia da qualidade em projetos, desenvolvimento, produo, instalao e servios associados, Brasil. NBR ISO 9002 Sistemas da qualidade Modelo para garantia da qualidade em produo e instalao e servios associados, Brasil. NBR ISO 9003 Sistemas da qualidade Modelo para garantia da qualidade em inspeo e ensaios finais, Brasil. NBR ISO/IEC 12119 Tecnologia de informao Pacotes de software Testes e requisitos de qualidade, Brasil.Norma que estabelece os requisitos de qualidade para pacotes de software e instrues de como testar um pacote de software com relao aos requisitos estabelecidos. NBR ISO/IEC 12207 Tecnologia de informao Processos de ciclo de vida de software, Brasil.Norma que estabelece uma estrutura comum para os processos de ciclo de vida de software, com terminologia bem definida, que pode ser referenciada pela indstria de software. NBR 13596 Tecnologia de informao Avaliao de produto de software Caractersticas de qualidade e diretrizes para o seu uso, Brasil. Verso brasileira da norma ISO/IEC 9126. Otimizador Software, usualmente embutido no compilador que otimiza o cdigo gerado a partir do exame do programa a ser compilado, eliminando redundncias, cdigo inacessvel, etc. Peer-review Tcnica de reviso de um produto, na qual um colega ( peer) do projetista ou do programador revisa o produto desenvolvido, buscando encontrar erros ou oferecer sugestes de melhoria. Poltica da Qualidade

36

Intenes e diretrizes globais de uma organizao relativas qualidade, formalmente expressas pela alta administrao. [NBR ISO 8402] Portabilidade Conjunto de atributos que evidenciam a capacidade do software de ser transferido de um ambiente para outro. [NBR 13596].Tem como subcaractersticas: adaptabilidade, capacidade para ser instalado, conformidade e capacidade para substituir. Processo Conjunto de recursos e atividades inter-relacionadas que transformam insumos (entradas) em produtos (sadas). [NBR ISO 8402].Agrupamento em seqncia de todas as tarefas destinadas a obter um determinado resultado. a combinao de equipamentos, instalaes, mo-de-obra, mtodos, tcnicas, ferramentas, procedimentos e outros fatores, com a finalidade de elaborar um produto ou alcanar um resultado preestabelecido. Processo de Software Conjunto de atividades, mtodos, prticas e transformaes que as pessoas empregam para desenvolver e manter software e os produtos associados (por exemplo, planos de projeto, documentos de projeto/design, cdigo, casos de teste, manual do usurio). Programao Orientada a Objetos Tcnica de programao que enfatiza a descrio dos conceitos envolvidos com o domnio do problema (objetos) atravs de seus dados e operaes, encapsulados e representados atravs de classes. Cada objeto criado como pertencendo a uma classe. A utilizao de um objeto, e sua eventual mudana de estado, se d a partir de mensagens enviadas a ele, representadas pelas operaes encapsuladas na classe. Novas classes podem ser criadas a partir de classes existentes e organizadas atravs de um processo de classificao e hierarquizao, explorando o conceito de herana.Os programas so construdos como organizadores da ativao de mensagens para os objetos, desta forma fazendo com que as funcionalidades de um sistema sejam obtidas atravs da cooperao dos objetos. Projeto da Interface com o Usurio O processo global para projetar uma interface com o usurio inicia-se com a criao de diferentes modelos de funo do sistema. Quatro diferentes modelos entram em cena quando uma HCI vai ser projetada. O engenheiro de software cria um modelo de projeto; um engenheiro humano estabelece um modelo de usurio, o usurio final desenvolve uma imagem mental que muitas vezes chamada modelo do usurio ou de percepo do sistema e os implementadores do sistema criam uma imagem do sistema. [Pressman R. S., Engenharia de Software, 1995] Projeto de Software Envolve tipicamente anlise, especificao, projeto (design), desenvolvimento, teste e/ou manuteno dos componentes de software e da documentao associada. [Mark Paulk, 1995] Prototipao Mtodo de desenvolvimento que prev a execuo de vrios ciclos de anlise, especificao e codificao de um sistema.No primeiro ciclo, gera-se um produto simplificado em pouco tempo, de modo que o usurio possa examin-lo e refinar as suas demandas.Nos ciclos seguintes, o produto aperfeioado e novas funes so sucessivamente implementadas, at se chegar ao produto final. Prova de Correo Exame de uma especificao descrita segundo regras formais preestabelecidas, de modo a provar matematicamente a sua correo, atravs do uso de axiomas, teoremas e procedimentos algbricos. QFD - Quality Function Deployment Tcnica de planejamento e de especificao de requisitos que consiste em reunies com tcnicos e clientes, nas quais so elaboradas matrizes em que se cruzam informaes sobre "o que" desejado (requisitos) e "como" implementar. composta por quatro etapas - projeto, componentes, processo e produo, sendo gerada a cada etapa uma matriz, a partir da matriz anterior.As matrizes explicitam relaes, conflitos, nveis de dificuldade, estgio tecnolgico. Por seu formato peculiar, a matriz do QFD conhecida como "casa da qualidade". Qualidade (Quality)

37

Totalidade de caractersticas de uma entidade que lhe confere a capacidade de satisfazer as necessidades explcitas e implcitas. [NBR ISO 8402].Entidade pode ser uma atividade ou um processo, um produto, uma organizao ou uma combinao desses. Reengenharia de Software Tcnica de restruturao ou modificao de um cdigo existente, ou de desenvolvimento de um novo cdigo, preservando-se inalterada a especificao ou o projeto do software. Requisitos (Requirements) Necessidades bsicas do cliente, geralmente explicitadas como condio de negcio no contrato com o fornecedor. So caractersticas, tais como especificaes tcnicas, prazo de entrega, garantia, que o cliente "requer" do produto. Uma condio ou capacidade necessitada por um usurio, para resolver um problema ou alcanar um objetivo. [IEEE 83] Requisitos para a Qualidade Expresso das necessidades ou sua traduo num conjunto de requisitos, explicitados em termos quantitativos ou qualitativos, objetivando definir as caractersticas de uma entidade a fim de permitir sua realizao e seu exame. [NBR ISO 8402] Reuso de Cdigo Tcnica de utilizao de um programa, de uma rotina ou de uma biblioteca de rotinas em mais de uma aplicao, ou em diferentes implementaes de uma aplicao. Para tal, o cdigo deve ser escrito prevendo-se a sua reusabilidade e enfatizando aspectos de sua abrangncia funcional e de independncia de ambiente. SPICE - Software Process Improvement and Capability dEtermination Projeto estabelecido em junho de 1993 pela ISO/IEC JTC1/SC7 (Subcomit de Engenharia de Software) com trs objetivos principais: auxiliar o desenvolvimento de uma Norma Internacional para avaliao de processos de software; coordenar e analisar utilizaes desta futura Norma para subsidiar revises antes de sua publicao como norma (esta atividade chamada de SPICE Trials); e disseminar a futura norma no mercado. A norma desenvolvida a ISO/IEC 15504 que est publicada atualmente com relatrio tcnico da ISO/IEC. J foram realizadas duas fases do SPICE Trials, com dados sobre cerca de 100 utilizaes da futura norma e a fase 3 est em andamento. Teste de Aceitao Teste formal conduzido para determinar se um sistema satisfaz ou no seus critrios de aceitao e para permitir ao cliente determinar se aceita ou no o sistema. [IEEE 83].Validao de um software pelo comprador, pelo usurio ou por terceira parte, com o uso de dados ou cenrios especificados ou reais.Pode incluir testes funcionais, de configurao, de recuperao de falhas, de segurana e de desempenho. Teste de Campo Verificao de um software ou um trecho de software durante a sua utilizao real (em campo), de modo a detectar, confirmar ou examinar falha ou erro relatado. Teste de Integrao Tcnica sistemtica para a construo da estrutura de programa, realizando-se ao mesmo tempo, testes para descobrir erros associados a interfaces. O objetivo , a partir dos mdulos testados no nvel de unidade, construir a estrutura de programa que foi determinada pelo projeto. O teste de integrao cuida das questes associadas aos duplos problemas da verificao e construo de programas. Teste de Sistema Processo de testar um sistema integrado de hardware e software para verificar se o sistema satisfaz seus requisitos especificados. [IEEE 83] Teste de Unidade Verificao de um componente de um software, atravs de teste funcional, desenvolvido a partir da especificao das funes previstas para o componente, ou de teste estrutural, desenvolvido a partir da descrio da estrutura do componente. Teste de Usabilidade Verificao e homologao individual do uso por um conjunto de usurios. Teste Funcional

38

Teste conduzido para demonstrar a operacionalidade das funes que foram especificadas. O teste funcional (ou caixa-preta) realizado olhando-se o software apenas atravs de suas interfaces, portanto testando sua funcionalidade. Tick IT Esquema para a avaliao e registro de sistemas da qualidade de atividades de desenvolvimento, fornecimento e manuteno de software.Baseia-se no uso da norma ISO 9000-3 e de um guia, Tick IT Guide, para que os auditores apliquem adequadamente as normas ISO 9000.No esquema Tick IT, os auditores so submetidos a critrios adicionais aos do Lead Assessor para serem certificados.Essa iniciativa limita-se, por enquanto, Gr-Bretanha e ainda no tem recebido aceitao unnime. Usabilidade Conjunto de atributos que evidenciam o esforo necessrio para se poder utilizar o software, bem como o julgamento individual desse uso, por um conjunto explcito ou implcito de usurios. [NBR 13596]. Tem como subcaractersticas: inteligibilidade, apreensibilidade e operacionalidade. Validao Confirmao, por exame e fornecimento de evidncia objetiva, de que os requisitos especficos para um uso pretendido so atendidos. [NBR ISO 8402].Informaes cuja veracidade pode ser comprovada com base em fatos obtidos atravs da observao, medio, ensaios ou outros meios constituem evidncia objetiva. Verificao Confirmao, por exame e fornecimento de evidncia objetiva, do atendimento aos requisitos especificados. [NBR ISO 8402].Processo de avaliao de um sistema (ou componente) com o objetivo de determinar se o produto de uma dada fase do desenvolvimento satisfaz s condies impostas no incio dessa fase. Walkthrough Estruturado Tcnica de anlise esttica na qual um projetista ou programador apresentam aos membros do grupo de desenvolvimento e outros profissionais interessados uma parte de documentao ou cdigo, e os participantes fazem perguntas e comentrios sobre possveis erros, violao de padres de desenvolvimento ou sobre outros problemas. Fonte: http://www.mct.gov.br/temas/info/Dsi/qualid99/99anexo2.htm

39