Baixe o app para aproveitar ainda mais
Prévia do material em texto
QUALIDADE DE SOFTWARE Aula 1- Conceito de Qualidade Conceito de Qualidade– AULA1 QUALIDADE DE SOFTWARE ESCALADA Conceito de Qualidade– AULA1 QUALIDADE DE SOFTWARE DESTAQUES DA AULA • A PREOCUPAÇÃO COM A QUALIDADE DE SOFTWARE • A CRISE DO SOFTWARE • O PROCESSO DE DESENVOLVIMENTO DE SOFTWARE • ABSTRAÇÃO E SUBJETIVIDADE • ONDE ESTÃO OS DEFEITOS? • O QUE É SOFTWARE COM QUALIDADE? • GERENCIAMENTO DA QUALIDADE • QUALIDADE NO PROCESSO • QUALIDADE NO PRODUTO • CERTIFICAÇÕES (PROCESSO E PRODUTO) Conceito de Qualidade– AULA1 QUALIDADE DE SOFTWARE DIRETO AO ASSUNTO Conceito de Qualidade– AULA1 QUALIDADE DE SOFTWARE A PREOCUPAÇÃO COM QUALIDADE DO SOFTWARE Período Características Anos 50 -Erros conhecidos, APÓS término do programa Anos 70 -Análise/programação estruturada. -Falta de consenso: teste ANTES do término Anos 80 - Primeiras preocupações e PADRÕES com QUALIDADE de software Anos 90 -Primeiros processos de testes. -Motivação: Bug do milênio. Anos 2000 -Estruturação dos procedimentos de testes dentro do processo de desenvolvimento. -Surgem excelentes ferramentas de testes. -QUALIDADE Total no processo de desenvolvimento e produto de software Conceito de Qualidade– AULA1 QUALIDADE DE SOFTWARE A CRISE DO SOFTWARE Fatos reais - Projetos de Software + 30% dos projetos – CANCELADOS + 70% dos projetos – FALHAM as funcionalidades Custos e Prazos EXTRAPOLAM a Previsão Custos – em mais de 180% Prazos – em mais de 200% Custos do DESENVOLVIMENTO 80% - identificar e corrigir defeitos de programação Conceito de Qualidade– AULA1 QUALIDADE DE SOFTWARE ASPECTOS RELEVANTES sobre SW e processo de desenvolver • Software NÃO é tangível. Requer muita ABSTRAÇÃO para desenvolvê-lo. • O processo de desenvolvimento é executado e gerenciado por pessoas, sendo portanto SUBJETIVO. •Discute-se idéias, necessidades e desejos dos usuários (também pessoas). • ABSTRAÇÃO E SUBJETIVIDADE conferem dificuldades ao processo de desenvolvimento. • O software em si é consequência direta da forma (processo) pelo qual foi desenvolvido. PROCESSO MANUFATURADO •Processo de desenvolvimento eficiente Software eficiente. Na medida em que os softwares crescem em tamanho e complexidade, ABSTRAÇÃO e COMPLEXIDADE conferem cada vez mais DIFICULDADES ao processo de desenvolvimento Conceito de Qualidade– AULA1 QUALIDADE DE SOFTWARE Processo de Desenvolvimento de SW •Conjunto de atividades, métodos, práticas e tecnologias que as pessoas usam para desenvolver e manter softwares •O processo adequado garante que o software será desenvolvido de maneira organizada, disciplinada e previsível. •O processo descreve formalmente e de forma organizada as atividades que devem ser seguidas para a obtenção segura de um produto de software. •A dificuldade está no gerenciamento do processo (existem vários modelos), que geralmente está dividido em fases. Conceito de Qualidade– AULA1 QUALIDADE DE SOFTWARE Processo de Desenvolvimento de SW •Análise: Analista com usuários. • Requisitos. Interesses soluções para usuário • Projeto (design): Projetista usa a tecnologia • Requisitos tecnológicos tecnologia para usuário • Implementação: Programador usa L.P. • Escrita do código Lógica de programação • Testes: Testadores com programas / sistema • Buscar defeitos e falhas nos sistema. • Homologação ou Aceitação: Com usuários. • Usuário aprovar o sistema (Participar de tudo !!!) • Implantação: Instalação e treinamento • Entrega o sistema. • Fim do ciclo de desenvolvimento ANÁLISE PROJETO IMPLEMENTAÇÃO TESTES HOMOLOGAÇÃO IMPLANTAÇÃO Conceito de Qualidade– AULA1 QUALIDADE DE SOFTWARE ONDE ESTÃO OS DEFEITOS ? • A maior dificuldade esta na fase INICIAL, de entendimento do sistema - Requisitos – ALTO grau de ABSTRAÇÃO + Comunicação com pessoas • A segunda maior abrangência está na modelagem – ALTO Grau de ABSTRAÇÃO + domínio das técnicas • O erros de codificação em si, representam um % pequeno, mostrando que o foco do problema não é da Implementação. Conceito de Qualidade– AULA1 QUALIDADE DE SOFTWARE SOFTWARE COM QUALIDADE • O QUE É SOFTWARE COM QUALIDADE ? • Atender aos REQUISITOS dos usuários • Satisfazer aos DESEJOS dos usuários • Escrever TUDO o que se deve fazer. FAZER tudo que foi escrito • O QUE É QUALIDADE DE SOFTWARE ? • PROCESSO SISTEMÁTICO QUE: • Focaliza todas as ETAPAS e ARTEFATOS (modelos, diagramas, programas, módulos de software, classes e etc) • Com objetivo de Garantir CONFORMIDADE dos processos e produtos especificados, PREVININDO E ELIMINANDO defeitos Conceito de Qualidade– AULA1 QUALIDADE DE SOFTWARE SOFTWARE COM QUALIDADE • QUALIDADE DE SOFTWARE É CONFORMIDADE COM ? • REQUISITOS FUNCIONAIS – base para medir a qualidade • REQUISITOS DE DESEMPENHO – critérios de desempenho definidos • CARACTERÍSTICAS IMPLÍCITAS (esperadas) • Fácil de usar, fácil de usar (usuário) • Código Legível, fácil de manter (equipe de desenvolvimento) • A QUALIDADE DO SOFTWARE DEPENDE DA QUALIDADE DE SEU PROCESSO DE DESENVOLVIMENTO (sofre forte influência). Conceito de Qualidade– AULA1 QUALIDADE DE SOFTWARE QUALIDADE NO PROCESSO X QUALIDADE NO PRODUTO Qualidade do Produto Qualidade do Processo Qualidade de Software A Qualidade do Produto é o que buscamos. A Qualidade do Processo é o meio para conseguirmos. A Qualidade do produto é fortemente influenciada pela qualidade dos processos utilizados no seu desenvolvimento. Conceito de Qualidade– AULA1 QUALIDADE DE SOFTWARE A QUALIDADE É MAIS UMA FASE NO PROCESSO DE DESENV SW? • NO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE, A QUALIDADE NÃO ATUA COMO UMA FASE ESPECÍFICA – ELA ESTÁ EM TODAS AS FASES QUALIDADE É ATUAR EM TODAS AS FASES – VERIFICANDO CONFORMIDADE COM OS PADRÕES E DEFINIÇÕES Conceito de Qualidade– AULA1 QUALIDADE DE SOFTWARE QUALIDADE CONSIDERA USUÁRIOS – CLARO !!!! 1. Necessidades? Desejos? 3. Interesses? Qual a visão do usuário? Conceito de Qualidade– AULA1 QUALIDADE DE SOFTWARE USUÁRIOS E AS SUAS PREOCUPAÇÕES Conceito de Qualidade– AULA1 QUALIDADE DE SOFTWARE USUÁRIOS E AS SUAS PREOCUPAÇÕES Conceito de Qualidade– AULA1 QUALIDADE DE SOFTWARE AS VISÕES DA QUALIDADE Conceito de Qualidade– AULA1 QUALIDADE DE SOFTWARE POR QUE ORGANIZAÇÃO DESEJA SOFTWARE COM QUALIDADE • Software de Qualidade • GARANTE A SEGURANÇA das transações, dos negócios e das pessoas envolvidas • MANTÉM A ALTA DISPONIBILIDADE dos serviços. Conceito de Qualidade– AULA1 QUALIDADE DE SOFTWARE A documentação do SW torna-se um instrumento fundamental para o CONTROLE DA QUALIDDE GERENCIAMENTO DA QUALIDADE (SOMMERVILLE) • GARANTIA • Padrões que garantam a qualidade do software • PLANEJAMENTO • Seleção de procedimentos e padrões adequados para o projeto • CONTROLE • Assegurar que o desenvolvimento tenha seguido os procedimentos e padrões de qualidade do projeto Conceito de Qualidade– AULA1 QUALIDADE DE SOFTWARE O CUSTO COM PROCESSO DE QUALIDADE, SE PAGA ? • Esforços (recursos) pela qualidade nos mais diversos setores organizacionais já provaram que: • a qualidade não tem custo • se paga em pouco tempo. Conceito de Qualidade–AULA1 QUALIDADE DE SOFTWARE CONCLUINDO Conceito de Qualidade– AULA1 QUALIDADE DE SOFTWARE Reflexo Global: MAIOR SATISFAÇÃO DOS CLIENTES, REFLETINDO EM MAIOR PARTICIPAÇÃO NO MERCADO CONCLUINDO • O Aumento da Qualidade no PROCESSO acarreta • Garantia de estarmos fazendo o Software CERTO • Aumento de produtividade • Redução de Custos: Menos retrabalho e menos perdas • Menor prazo de entrega • Aumento da Qualidade do PRODUTO acarreta • Reaproveitamento de código de programa • Programas mais eficientes. • Menor custo e mais facilidade de manutenção • É mais fácil fazer software CORRETO do que consertá-lo (conclusão após longo período de remendo de software) Conceito de Qualidade– AULA1 QUALIDADE DE SOFTWARE BATE PRONTO Conceito de Qualidade– AULA1 QUALIDADE DE SOFTWARE PERGUNTAS E RESPOSTAS 1. Quais as dificuldades em se prover qualidade no processo? • Ausência de procedimentos claros, até mesmo de um processo definido • Ausência de técnicas de desenvolvimento (análise, projeto e programação) • Ausência de registro das decisões e modelos (documentação) 2. Por que devemos nos preocupar com qualidade no processo? • Porque é através do processo que se gera o produto (PROCESSO MANUFATURADO). • Para garantir que os produtos desenvolvidos por aquele processo tenham as mesmas características (minimiza a subjetividade) Conceito de Qualidade– AULA1 QUALIDADE DE SOFTWARE PERGUNTAS E RESPOSTAS 3. Por que Qualidade é ter conformidade com os requisitos? • Por que se não atender ao que o usuário precisa (requisitos), o SW não terá atingido o seu objetivo e sem isso, não há qualidade. 4. Como a qualidade se reflete no processo? • Aumento de produtividade • Redução de custos (menos re trabalho e menos perdas) • Menor prazo de Entrega 5. Como a qualidade se reflete no produto? • Reaproveitamento de código • Código mais legível (entendimento de terceiros) • Facilidade de manutenção Conceito de Qualidade– AULA1 QUALIDADE DE SOFTWARE PERGUNTAS E RESPOSTAS 6. O custo para se implementar o gerenciamento da qualidade vale a pena? • Sim, o custo se paga, pois a qualidade no processo e no produto traz satisfação ao cliente e consequente aumento de participação no mercado (mais receitas). 7. Dentre as fases do processo de desenvolvimento, qual a que concentra maior % de defeitos (problemas)? • Requisitos (Levantamento e Análise), pois a má interpretação do que deseja o usuário implica em software que não atende ao que ele quer. • Erros na fase inicial, se propagados para as fases seguintes, tem maior custo de solução. 8. Quais os problemas, nessas fases iniciais? • O nível de abstração necessário é alto e os sistemas podem ser complexos Conceito de Qualidade– AULA1 QUALIDADE DE SOFTWARE PERGUNTAS E RESPOSTAS 9. A qualidade deve ser então uma FASE adicional no processo de desenvolvimento? • NÃO, a qualidade deve ser aferida em TODAS as fases do processo. 10. Na prática como se dá a aferição da qualidade no processo e no produto? • No processo através de revisões nos modelos e documentação, verificando se estão em conformidade com os requisitos, com os padrões da empresa e em conformidade com o modelo anterior. • No produto através de testes durante a fase de implementação (testes unitários e testes integrados) e durante a fase de testes (testes de sistema e homologação). Conceito de Qualidade– AULA1 QUALIDADE DE SOFTWARE PERGUNTAS E RESPOSTAS 11. Por que empresas buscam certificações de Qualidade? • Exigências de empresas que necessitar os serviços do fornecedor, como orgão governamental, empresa multinacional. • Organizar os processos da empresa para um crescimento, que traz em si a necessidade de certificação 12. O que garante uma certificação? • Que o fornecedor foi avaliado e julgado por um organismo certificador (ISO/IEC, NBR) 13. A certificação é para sempre? • NÃO, a empresa é avaliada de tempos em tempos 14.Existem certificações específicas para o processo e produto de software? • Sim, tanto para garantir um processo de qualidade, como para garantir um software de qualidade Conceito de Qualidade– AULA1 QUALIDADE DE SOFTWARE SAIBA MAIS Conceito de Qualidade– AULA1 QUALIDADE DE SOFTWARE SAIBA MAIS.... Acesse 1) http://www.sbqs2012.com.br/ XI Simpósio Brasileiro de Qualidade de Software 2) http://200.192.112.133/sbqs2011/ X Simpósio Brasileiro de Qualidade de Software 3) http://www.sbqs2010.ufpa.br/ IX Simpósio Brasileiro de Qualidade de Software 4) http://msdn.microsoft.com/ Qualidade de Software na Microsof Indicações do conteúdo online, recomendado. 1. Referência sobre o tema "Qualidade de Software: uma necessidade" http://www.fazenda.gov.br/ucp/pnafe/cst/arquivos/Qualidade_de_Soft.pdf "Qualidade 2. de Software: uma necessidade" http://www2.unemat.br/rhycardo/download/qualidade_em_software.pdf
Compartilhar