engenharia de software - qualidade e documentação

Post on 01-Jul-2015

442 Views

Category:

Documents

21 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Qualidade e Documentação de Qualidade e Documentação de SoftwareSoftware

Documentação Técnica de SistemasEngenharia de Software

Profº Sérgio Murilo Schütz,Msc.Profº Sérgio Murilo Schütz,Msc.1º Semestre/20111º Semestre/2011

IntroduçãoIntrodução

• Necessidade ou preciosismo? A documentação de software, mesmo sendo o carma de qualquer desenvolvedor, é extremamente necessária e auxilia na redução de horas preciosas na correção de problemas. Neste primeiro momento, vamos ver o que é a documentação de um sistema, suas partes principais e também as ferramentas que auxiliam desenvolvedores a fazer desta uma tarefa menos maçante.

IntroduçãoIntrodução

• Para muitos desenvolvedores, a criação de documentação técnica é a parte mais aterrorizante para se enfrentar em todo o processo de criação de um software, seja pela necessidade de escrever várias e várias páginas de texto, gráficos e desenhos ou ainda pela necessidade de largar aquilo que se aprendeu (programar) para fazer aquilo que não sabe bem (redigir).

• .

IntroduçãoIntrodução

• Entretanto a documentação é parte integrante de qualquer sistema ou programa criado. Arrisco a dizer inclusive que a documentação é tão importante (ou mais) que as questões de segurança pois sem a devida documentação, bug's e pontos vulneráveis no sistema demoram a ser encontrados e corrigidos, permitindo assim que os ataques continuem levando à falência múltipla do sistema e, conseqüentemente, de seu usuário.

IntroduçãoIntrodução

• Normalmente, em grandes corporações existem pessoas e/ou equipes voltadas única e exclusivamente para a criação de documentação, sendo que o desenvolvedor fica restrito à codificação e comentários de seu código. Já no mundo "real", esta atividade é realizada pelo próprio desenvolvedor e demanda um bom conjunto de horas para planejar e criar cada uma de suas partes a fim de atender minimamente as necessidades do produto desenvolvido.

IntroduçãoIntrodução

• Então, como não é possível evitar a criação da documentação técnica, vamos tentar amenizar um pouco sua horrível aparência usando ferramentas que auxiliam na tarefa de domar o monstro. Mas, antes disso, uma pequena apresentação do que é a documentação em si.

Documentação, o que é?

• A documentação de um software é composta por várias partes diferentes que abrangem todo o sistema e pode ser dividida em dois grandes grupos: documentação técnica e documentação de uso. A primeira é voltada ao desenvolvedor ou pessoa de TI e compreende principalmente dicionários e modelos de dados, fluxogramas de processos e regras de negócios, dicionários de funções e comentários de código.

Documentação, o que é?

• Já a documentação de uso é voltada tanto para o usuário final quanto para o administrador do sistema e, comumente, é formada por apostilas ou manuais que apresentam como o software deve ser usado, o que esperar dele e como receber as informações que se deseja.

Documentação, o que é?

• A primeira parte (técnica) é, para o desenvolvedor, a mais simples pois, literalmente, descreve seu trabalho e também é utilizada pelo mesmo como ferramenta para o desenvolvimento de um bom código. Já a segunda costuma ser um martírio pois a redação de manuais, inserção de screenshots, desenhos e outros elementos gráficos não é aquilo que podemos considerar como skill deste profissional (são raros os que possuem).

Documentação, o que é?

• Ambas podem ser criadas em vários formatos de visualização tais como páginas HTML, documentos PDF, apresentações, vídeos ou ainda arquivos texto. A forma de apresentação não importa. O importante é saber que para cada tarefa existe uma ferramenta certa, inclusive para a documentação de sistemas em qualquer nível de complexidade ou necessidade e que precisa ser feita, de uma forma ou de outra.

As ferramentas para documentação

• Aproveitando a divisão da documentação em duas grandes áreas, vamos conhecer suas partes e algumas ferramentas que ajudam e/ou facilitam aqueles que tem pela frente a tarefa de gerar documentação de sistemas.

Modelos de dados

• Modelos de dados são aquelas folhas com várias caixinhas das tabelas de um banco de dados interligadas e que muitas vezes somente são utilizadas para decoração de escritórios. Mas longe de ser um quadro ou pôster, o modelo de dados reflete de uma forma gráfica (e lógica) a base de dados de um sistema, seus relacionamentos, entidades, chaves e tudo aquilo que é referente aos dados em si.

Modelos de dados

• Este modelo, junto com o dicionário de dados, é peça fundamental para o desenvolvimento de um sistema, sendo inclusive pensado e criado ANTES do início do desenvolvimento. Um bom modelo de dados bem pensado e bem estruturado não impacta somente em um bom código, mas também na performace da aplicação com um todo e na redução de horas de desenvolvimento equivocado.

Modelos de dados

• Para criá-lo são utilizadas ferramentas de modelagem de dados, as quais geram de forma gráfica as tabelas, índices, relacionamentos e tudo aquilo que tem a ver com a base de dados em si, podendo ser criados por meio de engenharia reversa ou ainda baseando-se nas necessidades do aplicativo que está sendo desenvolvido.

Modelos de dados

• As ferramentas mais conhecidas para modelagem de dados dentro do mundo livre são o DBDesigner (http://www.fabforce.net), MySQL Workbench (http://www.mysql.com) e também o PGDesigner (http://pgdesigner.sourceforge.net), as quais possuem funcionalidades diferentes e dispõem de versões tanto para Linux quanto para Windows.

• .

Dicionário de dados

• Como o próprio nome sugere, o dicionário de dados nada mais é que um arquivo ou documento que define a organização básica dos dados do banco. Nele são informadas as tabelas, os campos, suas definições, tipos e descrições (para que serve este campo?). Um exemplo simples de um dicionário de dados pode ser visto a seguir:

Dicionário de dados

• Com um arquivo destes, mesmo simplório, em conjunto com o modelo de dados, a possibilidade de erro na hora do desenvolvimento fica extremanente reduzida, quando falamos de acesso à dados na base, além de economizar neurônios que muitas vezes estão sendo usados para armazenar a informação que o campo varCodSysFil01 é o código de uma filial.

Fluxogramas

• Tão antigos quanto a computação, os fluxogramas apresentam graficamente a sequência lógica das informações de um processo ou sistema, utilizando para isso vários elementos de geometrias diferentes que indicam cada uma das partes do processo. Sua importância, mesmo deixada de lado, é grande pois a partir dele (e conjuntamente com o modelo e dicionário de dados), inicia-se o projeto de um sistema eficiente e bem desenvolvido.

Fluxogramas• Da mesma forma que o modelo de dados,

fluxogramas são muitas vezes (mas não deveriam) utilizados como pôsters de escritório. Eles são mais que isso: visualmente conseguem passar a lógica de todo um sistema desde os níveis mais altos de processamento até pequenas partes, permitindo assim uma visão geral do que realmente precisa ser feito dentro do sistema.

• Um exemplo de um fluxograma pode ser visto a seguir:

•  

Fluxogramas

• Para criar fluxogramas, as mais conhecidas ferramentas são:

• DIA (http://www.gnome.org/projects/dia) e o OpenModeling (http://www.openmodeling.info), ambas disponíveis em várias plataformas e livres.

• http://s2i.das.ufsc.br/docs/s2idoc/index.html• Exercício – Construir um fluxograma apresentando as etapas de

desenvolvimento de Software desde a análise de requisitos até a documentação e implantação, especificando com mais detalhes a Documentação.

Documentação de código• Para muitos, a parte mais chata. Para outros, a

mais importante. A documentação de código é feita basicamente de duas formas: comentários dentro do próprio código e geração de documentação online (ou física).

• No primeiro caso normalmente o desenvolvedor acredita que sua memória nunca irá falhar e que somente ele irá colocar a mão no sistema, deixando de documentá-lo e gerando problemas gigantescos para si e para outros profissionais. Um conjunto de comentários bem feito é tão importante quanto uma lógica bem estudada.

Documentação de código• Funções, constantes, inclusão de arquivos,

campos de tabelas e outros elementos sempre proliferam de forma exponencial dentro do sistema, o que leva na maioria das vezes o desenvolvedor a simplesmente criar novos "remendos" com constantes "adicionais" ou variáveis novas, pois não se recorda onde está aquela função que formata determinado campo (quem não passou por isso?).

• Um pequeno exemplo de um código bem comentado pode ser visto a seguir:

Documentação de código

• $database->setQuery( $query );$rows = $database->loadObjectList();

• // establish the hierarchy of the menu$children = array();// first pass - collect childrenif ($rows) foreach ($rows as $v ) {       $pt = $v->parent;       $list = @$children[$pt] ? $children[$pt] : array();       array_push( $list, $v );       $children[$pt] = $list;}// second pass - get an indent list of the items$list = mosTreeRecurse( 0, '', array(), $children, max( 0, $levellimit-1 ) );// eventually only pick out the searched items.if ($search) {

Documentação de código

• Observe que não são necessárias dezenas de linhas de comentários para compreender o que determinada área do sistema executa. Mas se estas simples linhas forem deixandas de lado, além de gerar um gasto desnecessário de horas à procura de erros, aumenta-se o nível de estresse de todos que irão mexer no código e principalmente de quem paga por ele.

Documentação de código

• Para a criação de documentação de código online são utilizadas ferramentas que, baseadas nos comentários existentes dentro do código, permitem a geração de documentos que efetivamente explanam o sistema de forma macro, relacionando arquivos que são incluídos em outros, funções, seus parâmetros e retornos, constantes e uma infinidade de informações que auxiliam qualquer desenvolvedor a compreender o que é aquele "monstro" nascido de suas mãos.

QualidadeQualidade

• QualidadeQualidade é um dos principais objetivos da Engenharia de Software.

• Muitos métodos, técnicas e ferramentas são desenvolvidas para apoiar a produção com qualidade.

• “Tem-se dado grande importância ao processo como forma de se garantir um software de melhor qualidade.”

QualidadeQualidade

Termo que pode ser definido de várias formas,

causando mal-entendidos:

1. Qualidade não tem um único sentido;

2. Para cada conceito existem vários níveis de

abstração;

3. Visão popular pode ser diferente do seu uso

profissional.

Qualidade: Visão PopularQualidade: Visão Popular

• termo indefinível.

• pode ser sentida, discutida, julgada, mas

não pode ser medida;

• luxo, classe e elegância. Produtos caros e

complexos têm melhor nível de qualidade.

Confiabilidade e o número de reparos

efetuados não são considerados.

Qualidade: Definições SimplesQualidade: Definições Simples

• Qualidade é estar em conformidade com os

requisitos do cliente.

• Qualidade é antecipar e satisfazer os

requisitos dos clientes.

• Qualidade é escrever tudo o que se deve

fazer e fazer tudo o que foi escrito.

Qualidade: Visão ProfissionalQualidade: Visão ProfissionalAs duas definições são similares embora a segunda dê mais As duas definições são similares embora a segunda dê mais ênfase às expectativas do usuário.ênfase às expectativas do usuário.

DefiniçõesDefinições

Crosby: “Conformidade aos Requisitos”

Juran: “Conveniência para Uso”

Requisitos devem ser claramente definidos e não podem ser mal-interpretados.Não conformidade = ausência de qualidade.

• Considera os requisitos e a expectativa do cliente.• Um produto deve ter elementos que satisfaçam as diversas maneiras com que os clientes o utilizarão. • Parâmetros da conveniência para uso:

Qualidade de Projeto e de Conformidade.

Qualidade: Definição segundo NBR 8402Qualidade: Definição segundo NBR 8402

A totalidade das características de uma entidade que lhe confere a capacidade de satisfazer as necessidades explícitas e implícitas.

• sabor• aparência• temperatura• rapidez no serviço• preço• higiene• valor nutricional

Qualidade :

Ex: Qualidade de um prato de

comida está relacionado com

a satisfação das necessidades:

Qualidade : Certificação de QualidadeQualidade : Certificação de Qualidade

A qualidade não basta existir, ela deve ser reconhecida pelo cliente.

A certificação de qualidade oficial é emitida com base em um padrão.

Ex. Certificados O selo do SIF O selo da ABIC A classificação em estrelas dos hotéis Os certificados de qualidade da série ISO 9000

(padrão de qualidade) .

Qualidade : Organizações NormalizadorasQualidade : Organizações Normalizadoras

ISO - International Organization for Standardization IEEE - Instituto de Engenharia Elétrica e Eletrônica ABNT - Associação Brasileira de Normas Técnicas

Para a emissão de certificado, é preciso a realização de todo um processo de avaliação e julgamento de acordo com uma determinada norma.INMETRO - orgão do governo responsável pelo credenciamento das instituições que realizam a certificação.

Evolução dos Conceitos de Qualidade Evolução dos Conceitos de Qualidade

1900 - Inspeção pós-produção - avalia o produto final. 1940 - Controle estatístico da produção. 1950 - Avaliação do procedimento de produção. 1960 - Educação das pessoas. 1970 - Otimização dos processos. 1980 - Projeto robusto - avaliação do processo. 1990 - Engenharia Simultânea - avalia a própria

concepção do produto.

Qualidade aplicada ao SoftwareQualidade aplicada ao Software

Mito: Criar programas é uma arte que não pode seguir regras, normas ou padrões.

Causas: Produtos de software são complexos. Software não tem produção em série. Custo está no projeto e desenvolvimento. Software não se desgasta. Software é invisível. Sua representação em grafos e diagramas não é precisa.A Engenharia de Software ainda não está madura, é uma tecnologia em evolução.Não há um acordo entre os profissionais sobre o que é qualidade de software.

Causas: Produtos de software são complexos. Software não tem produção em série. Custo está no projeto e desenvolvimento. Software não se desgasta. Software é invisível. Sua representação em grafos e diagramas não é precisa.A Engenharia de Software ainda não está madura, é uma tecnologia em evolução.Não há um acordo entre os profissionais sobre o que é qualidade de software.

Qualidade de SoftwareQualidade de Software

Perspectiva Histórica da Engenharia de Software: anos 60 - Era Funcional anos 70 - Era do Método anos 80 - Era do Custo anos 90 e depois - Era da Qualidade

Qualidade não é um fator de vantagem no mercado, mas é

uma necessidadenecessidade para a garantia da competitividade.

Qualidade de Software - Qualidade de Software - atividades para garantia atividades para garantia de qualidade de produtos de softwarede qualidade de produtos de software

Software Quality Assurance: padrão sistemático e planejado de ações que são exigidas para garantir a qualidade de software. Essas ações englobam:

Aplicações de métodos técnicos Realizações de revisões técnicas formais Atividade de teste de software Aplicação de padrões e procedimentos formais Processo de controle de mudanças Mecanismos de medição

Qualidade de Software - Qualidade de Software - técnicas aplicadas ao técnicas aplicadas ao processo de desenvolvimentoprocesso de desenvolvimento

Planejamento de qualidade Melhoria no processo e controle de qualidade Gerenciamento de qualidade no processo Análise de dados sobre a satisfação do cliente

Definição de Qualidade de SoftwareDefinição de Qualidade de Software

“Conformidade aos requisitos de desempenho e de funcionalidade que foram explicitamente

definidos, aos padrões de desenvolvimento explicitamente documentados e às

características implícitas que são esperadas por todo software desenvolvido por profissionais.”

Visões sobre a importância da qualidade do produto e Visões sobre a importância da qualidade do produto e do processodo processo

• Visão que aborda a qualidade do produtoqualidade do produto– Funcionalidade, confiabilidade, usabilidade, eficiência,

manutenibilidade e portabilidade (ISO 9126 e NBR 13596).

• Visão que aborda a qualidade do processoqualidade do processo– Dos requisitos do usuário à entrega do produto final,

existe um processo de desenvolvimento complexo e dividido em fases, que pode comprometer a qualidade do software.

Mesmo diante de divergências, o fato é que o processo

influi nas características finais do software.

Principais Normas Nacionais e Internacionais na Área Principais Normas Nacionais e Internacionais na Área de Softwarede Software

NORMA

ISO 9126 Características da qualidade deprodutos de software

NBR 13596 Versão brasileira da ISO 9126

ISO 14598 Guias para avaliação de produtos desoftware, baseados na ISO 9126

ISO 12119 Características de qualidade de pacotes desoftware (software de prateleiras)

ISO 12207 Norma para a qualidade do processo dedesenvolvimento de software.

NBR ISO 9001 Modelo para garantia de qualidade emprojeto, desenvolvimento, intalação eassistência técnica (processo)

Principais Normas Nacionais e Internacionais na Área Principais Normas Nacionais e Internacionais na Área de Softwarede Software

NORMA

CMM Modelo da SEI para avaliação da qualidadedo processo de desenvolvimento desoftware. Não é uma norma ISO, mas émuito bem aceita no mercado.

SPICEISO 15504

Projeto da ISO/IEC para avaliação deprocesso de desenvolvimento de software.Ainda não é uma norma oficial ISO, mas oprocesso está em andamento.

ISO

Qualidade de Produtos de SoftwareQualidade de Produtos de Software

• O que é qualidade de software?• Que padrões utilizar? Parece difícil ... • Muito se tem pensado sobre isso:

– ISO/IEC 9126 - publicada em 1991.– NBR 13596 - publicada em agosto de 1996

Listam um conjunto de características que devem ser verificadas em um software para que ele seja considerado um software de qualidade

Qualidade de Produtos de Software - Qualidade de Produtos de Software - NBR 13596NBR 13596

Característica Subcaracterísticas Pergunta chave para asubcaracterística

Funcionalidade(satisfaz asnecessidades?)

Adequação

Acurácia

Interoperabilidade

Segurança de acesso

Conformidade

Propõe-se a fazer o que éapropriado?Faz o que propôs de maneiracorreta?Interage com os sistemasespecificados?Evita acesso não autorizado adados?Está de acordo com as normas,leis, etc.

Confiabilidade(É imune afalhas?)

Maturidade

Tolerância a falhasRecuperabilidade

Com que frequência apresentafalhas?Ocorrendo falhas, como reage?É capaz de recuperar dados emcaso de falhas?

Usabilidade(É fácil de usar?)

Inteligibilidade

ApreensibilidadeOperacionalidade

É fácil entender o conceito e aaplicação?É fácil aprender a usar?É fácil operar e controlar

Qualidade de Produtos de Software - Qualidade de Produtos de Software - NBR 13596NBR 13596

Característica Subcaracterísticas Pergunta chave para asubcaracterística

Eficiência(Rápido e enxuto)

Tempo

Recursos

Qual o tempo de resposta,velocid. de execução?Quanto recurso usa? Durantequanto tempo?

Manutenibilidade(É fácil demodificar?)

Analisabilidade

ModificabilidadeEstabilidade

Testabilidade

É fácil encontrar uma falha,quando ocorre?È fácil modificar e adaptar?Há grande risco quando se fazalterações?É fácil testar quando se fazalterações?

Portabilidade(É fácil de usar emoutro ambiente?)

Adaptabilidade

Capacidade para serinstaladoConformidade

Capacidade parasubstituir

É fácil adaptar a outrosambientes?É fácill instalar em outrosambientes?Está de acordo com padrões deportabilidade?É fácil usar para substituir outrosistema?

Qualidade de Produto de Software - Qualidade de Produto de Software - NBR 13596NBR 13596

Como aplicar a norma ISO 9126/ NBR 13560?• Para avaliar um software segundo a norma deve-se tentar

atribuir valores (notas ou conceitos) a cada uma das subcaracterísticas.

Fato: É difícil aplicar a norma sem se estar familiarizado com o processo de avaliação de software.

Guias para a avaliação da qualidade - descrevem, detalhadamente todos os passos para se avaliar um software.

Qualidade de Processo de SoftwareQualidade de Processo de Software

Processo de Software = conjunto de ferramentas, métodos e práticas usadas para produzir um software.

• Para melhorar a qualidade no desenvolvimento precisa-se de modelos de processos para a descrição precisa e formal das atividades do ciclo de vida do software.

• Modelo de Processo é representado por um conjunto seqüencial de atividades, objetivos, transformações e eventos que encapsulam estratégias para o cumprimento da evolução do software

Gerência de Processo de SoftwareGerência de Processo de Software

• A gerência de processo objetiva a geração de produtos de acordo com o planejado e, ao mesmo tempo, melhorar a capacidade de produzir software com mais qualidade.

• Melhor capacidade de lidar com o software:Passo 1. Compreender o estado atual do processo;Passo 2. Desenvolver uma visão do processo desejado;Passo 3. Estabelecer ações para a melhoria do processo;Passo 4. Gerar um plano para acompanhar estas ações;Passo 5. Compreender os recursos para execução do plano;Passo 6. Recomeçar a partir do Passo 1.

• Para a evolução do processo de software é necessário ter uma maneira para medí-lo.

Modelos para a Avaliação do Processo de SoftwareModelos para a Avaliação do Processo de Software

• Modelo Capability Maturity Model (CMM)• ISO 9000-3• Projeto SPICE• Modelo PSP (Personal Software Process)• Projeto SQUID, etc

ISO 9000-3ISO 9000-3

• Guia para a aplicação da ISO 9001 para o desenvolvimento, fornecimento e manutenção de software, criado em 1993.

• Especifica requisitos mínimos para assegurar a qualidade de produtos e serviços, não definindo modelos ou impondo sistemas de qualidade.

ISO 9000-3ISO 9000-3 Atividades do Ciclo de Vida

• Agrupa as atividades do ciclo de vida em 9 categorias:análise crítica do contratoespecificação dos requisitos do compradorplanejamento do desenvolvimentoplanejamento da qualidadeprojeto e implementaçãoensaios e validaçãoaceitaçãocópia, entrega e instalaçãomanutenção

ISO 9000-3ISO 9000-3 Atividades de Suporte

• Estão organizadas em 9 itens:

gestão de configuração controle de documentos registros da qualidade medição regras, práticas e convenções ferramentas e técnicas aquisição produto de software incluído treinamento

SPICE - IntroduçãoSPICE - Introdução

• Motivação– Mortalidade dos trabalhos de padronização

• SPICE (Software Process Improvement and Capability dEtermination)

• Organização– 4 Centros Técnicos– Conselho Administrativo– Organizações privadas e estatais

SPICE - O que é ?SPICE - O que é ?

• É um conjunto de documentos• Consiste de um framework de avaliação

– Facilita o auto-julgamento– Desperta consciência do contexto– Produz um perfil do processo– Direciona a adequação das atividades– Apropriado para organizações de diversos

tamanhos

SPICE - AplicaçãoSPICE - Aplicação

• Aplicado para organizações envolvidas com qualquer atividade relacionada ás atividades de computação

• A Avaliação examina o processo e determina a efetividade deste

• Resultados podem usados para– Auto-Avaliação– Melhoria do processo

Documentos do SPICEDocumentos do SPICE

• O SPICE é composto por 9 partes:

parte 1: Conceitos e Guia Introdutório

parte 2: Modelo de Gerenciamento de Processo

parte 3: Avaliação do Processo

parte 4: Guia para Condução de uma Avaliação

parte 5: Construção, Seleção e Uso das Ferramentas de Avaliação

parte 6: Qualificação e Treinamento dos Avaliadores

parte 7: Guia para o Processo de Melhoria

parte 8: Guia para Orientação da Determinação da Capacidade do Processo

parte 9: Dicionários

Aspectos ISO 9000-3 CMM (SEI) SPICE

Abordagem Verificação deconformidadede processos apadrõesdocumentados.

Classificação das organizaçõesem níveis de maturidadecrescente.

Avaliação dosprocessos com oobjetivo dedeterminar acapacitação daorganização epropor melhoria.

Meta/Objetivo

Certificar aorganização deacordo com ospadrõesestabelecidos.

Determinar a capacitação daempresa e apoiar sua evoluçãode acordo com os 5 níveis.

Determinar acapacitação daorganização eapoiar sua evoluçãode acordo com osobjetivos daorganização.

EmpresasAlvo

Organizaçõesque necessitamde umacertificação.

Organizações de grande porteque necessitam de umacertificação.

Organizações emgeral.

Quadro ComparativoQuadro Comparativo

Quadro ComparativoQuadro Comparativo

Aspectos ISO 9000-3 CMM(SEI)

SPICE

Definiçõesde Processos

Não estabeleceprocessos,(estabelece asatividades a sercumpridas, comvisão deestrutura, ciclode vida esuporte).

Estabelece18 processosorganizadosem 5 níveis.

Estabelece35processosorganizadosem 5categorias.

Flexibilidade Não admiteadaptação.

Não admiteadaptação.

Adaptávelaosobjetivos daorganização.

Instrumentode Avaliaçãode nível decapacitação

Check list. Questionário. Forneceorientaçõespara montarquestionário.

Aspectos ISO 9000-3 CMM (SEI) SPICE

InspiraçãoeInfluência

Normas militaresamericanas,canadenses,sistemas dequalidade doReino Unido.

Princípios deShewart, Deming,Juran, Crosby.

TQM, PDCA,CMM,TRILLIUM,MalcolmBaldrige,Bootstrap.

Benefícios Difusão extensa;Reconhecimentodo valor dacertificação.

Estabelecimentode um roteiro paraa melhoriacontínua.

Expansão eflexibilizaçãodos modeloscitados.

Limitações Risco de secolocar aCertificaçãocomo objetivoprincipal.Ausência deapoio à melhoriacontínua. Focoexclusivo noprocesso.

Poucaconsideração àdiversidade dasorganizações.Dificuldade deaplicação empequenasorganizações.Foco exclusivo noprocesso.

Dificuldade deaplicaçãodevido àgrandequantidade deinformações.Foco exclusivono processo.

ConclusõesConclusões

• Dos métodos de avaliação de processo apresentados, alguns estão estabelecidos no mercado (CMM), e outros apresentam projetos ambiciosos a nível mundial (SPICE).

• Dentre estes, existem modelos que além de avaliar o processo de desenvolvimento propõem algum mecanismo para melhoria do processo.

ConclusõesConclusões

• Não existe um modelo ideal de avaliação de qualidade que seja aplicável indistintamente às organizações, abrangendo os diversos objetivos que elas tem em relação a qualidade.

• A qualidade de software não é garantida somente pela qualidade de processo, mas também pela garantia de qualidade do produto final.

• A maior preocupação deve ser sempre a satisfação do usuário final.

Alguns endereços na Web:• http://www.sei.cmu.edu/cmm/cmm.html• http://www.ISO_online.com

• Outras normativas qualidade• CMMI - MPSBR

top related