Qualidade de Software MSc. Luiz Barboza [email_address]
Crise de Software - Chaos Report 31.1% 52.7% 16.2% 1994 19% Cancelamentos 46% Excesso Orçamento ou  Não Cumprimento Escopo 35% Sucesso 2007
Por que os Projetos Falham? 10 9 8 7 6 5 4 3 2 1 9.9% Outros 4.3% Desconhecimento da Tecnologia 6.2% Falta de Gerenciamento de TI 7.5% Não Atendimento em Tempo Hábil 8.1% Falta de Planejamento 8.7% Mudança de Requisitos 9.3% Falta de Suporte Executivo 9.9% Expectativas Não-Realísticas 10.6% Falta de Recursos 12.4% Falta de Envolvimento dos Usuários 13.1% Requisitos Incompletos
Custo de Correção -  Schach’s Summary
Qualidade: O que é? “  A totalidade das características de uma entidade que lhe confere a capacidade de satisfazer às necessidades explícitas e implícitas” (NBR ISO 8402)
Conceito de Qualidade de Software “ Conformidade a requisitos funcionais e de desempenho  explicitamente declarados , a padrões de desenvolvimento claramente documentados e a características implícitas que são esperadas de todo software profissionalmente desenvolvido”-Pressman
Qualidade de Software:  Processo x Produto QUALIDADE DO PRODUTO DE SOFTWARE QUALIDADE DO PROCESSO DE DESENVOLVIMENTO
Qualidade do produto e do processo Visão que aborda a  qualidade do produto Funcionalidade, confiabilidade, usabilidade, eficiência, manutenibilidade e portabilidade (ISO 9126 e NBR 13596). Visão que aborda a  qualidade 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.
Normas e Modelos de Qualidade de SW Processo Produto ISO 12207 - Processos de ciclo de vida do software.  NBR ISO 9000-3 -Diretrizes para aplicação da norma ISO 9001 ao desenvolvimento, fornecimento e manutenção de software. CMM- Capability Maturity Model. Modelo do Software Engineering Intitute (SEI) para avaliação da maturidade de uma organização que desenvolve software. CMMI- Capability Maturity Model Integrated. Modelo do SEI que estende o CMM para avaliação de processos de software. SPICE / ISO 15504 - Projeto da ISO/IEC para avaliação dos processos de desenvolvimento de software.  PSP - Personal Software Process - Modelo do SEI que define disciplinas para qualidade pessoal do engenheiro de software. ISO 9126 - Norma para qualidade de produtos de software ISO 14598 - Guias para avaliação de produtos de software ISO 12119 - Norma para qualidade de pacotes de software
Qualidade do Processo de Software Desenvolvimento do SW   REQUISITOS PRODUTO DE SW Análise Projeto … Validação + Verificação
RUP
Workflows, Workflows Details Workflow Papel Tarefa Artifato Responsavel por executa Activity  Detail
Qualidade do Produto de Software NBR 13596 Característica Subcaracterísticas Pergunta chave para a  subcaracterística Funcionalidade (satisfaz as  necessidades?) Adequação Acurácia Interoperabilidade Segurança de acesso Conformidade Propõe - se a fazer o que é  apropriado? Faz o que propôs de manei ra  correta? Interage com os sistemas  especificados? Evita acesso não autorizado a  dados? Está de acordo com as normas,  leis, etc. Confiabilidade (É imune a  falhas?) Maturidade Tolerância a falhas Recuperabilidade Com que frequência apresenta  falhas? Ocor rendo falhas, como reage? É capaz de recuperar dados em  caso de falhas? Usabilidade (É fácil de usar?) Inteligibilidade Apreensibilidade Operacionalidade É fácil entender o conceito e a  aplicação? É fácil aprender a usar? É fácil operar e controlar
Qualidade do Produto de Software NBR 13596 Característica Subcaracterísticas Pergunta chave para a   subcaracterística Eficiência (Rápido e enxuto) Tempo Recursos Qual o tempo de resposta,  velocid. de execução? Quanto recurso usa? Durante  quanto tempo? Manutenibilidade (É fácil de  modificar?) Ana lisabilidade Modificabilidade Estabilidade Testabilidade É fácil encontrar uma falha,  quando ocorre? È fácil modificar e adaptar? Há grande risco quando se faz  alterações? É fácil testar quando se faz  alterações? Portabilidade (É fácil de usar em  outro  ambiente?) Adaptabilidade Capacidade para ser  instalado Conformidade Capacidade para  substituir É fácil adaptar a outros  ambientes? É fácill instalar em outros  ambientes? Está de acordo com padrões de  portabilidade? É fácil usar para substituir outro  sis tema?
Teste de Software Teste de software consiste em verificar dinamicamente o comportamento de um programa a partir de um conjunto finito de casos de teste Os  casos de teste  são adequadamente selecionados a partir do domínio de execuções (potencialmente infinito) Os resultados dos casos de teste são confrontados com o comportamento especificado para o software.
Qualidade de Software MSc. Luiz Barboza [email_address]

Senac QSS - 1) Intro

  • 1.
    Qualidade de SoftwareMSc. Luiz Barboza [email_address]
  • 2.
    Crise de Software- Chaos Report 31.1% 52.7% 16.2% 1994 19% Cancelamentos 46% Excesso Orçamento ou Não Cumprimento Escopo 35% Sucesso 2007
  • 3.
    Por que osProjetos Falham? 10 9 8 7 6 5 4 3 2 1 9.9% Outros 4.3% Desconhecimento da Tecnologia 6.2% Falta de Gerenciamento de TI 7.5% Não Atendimento em Tempo Hábil 8.1% Falta de Planejamento 8.7% Mudança de Requisitos 9.3% Falta de Suporte Executivo 9.9% Expectativas Não-Realísticas 10.6% Falta de Recursos 12.4% Falta de Envolvimento dos Usuários 13.1% Requisitos Incompletos
  • 4.
    Custo de Correção- Schach’s Summary
  • 5.
    Qualidade: O queé? “ A totalidade das características de uma entidade que lhe confere a capacidade de satisfazer às necessidades explícitas e implícitas” (NBR ISO 8402)
  • 6.
    Conceito de Qualidadede Software “ Conformidade a requisitos funcionais e de desempenho explicitamente declarados , a padrões de desenvolvimento claramente documentados e a características implícitas que são esperadas de todo software profissionalmente desenvolvido”-Pressman
  • 7.
    Qualidade de Software: Processo x Produto QUALIDADE DO PRODUTO DE SOFTWARE QUALIDADE DO PROCESSO DE DESENVOLVIMENTO
  • 8.
    Qualidade do produtoe do processo Visão que aborda a qualidade do produto Funcionalidade, confiabilidade, usabilidade, eficiência, manutenibilidade e portabilidade (ISO 9126 e NBR 13596). Visão que aborda a qualidade 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.
  • 9.
    Normas e Modelosde Qualidade de SW Processo Produto ISO 12207 - Processos de ciclo de vida do software. NBR ISO 9000-3 -Diretrizes para aplicação da norma ISO 9001 ao desenvolvimento, fornecimento e manutenção de software. CMM- Capability Maturity Model. Modelo do Software Engineering Intitute (SEI) para avaliação da maturidade de uma organização que desenvolve software. CMMI- Capability Maturity Model Integrated. Modelo do SEI que estende o CMM para avaliação de processos de software. SPICE / ISO 15504 - Projeto da ISO/IEC para avaliação dos processos de desenvolvimento de software. PSP - Personal Software Process - Modelo do SEI que define disciplinas para qualidade pessoal do engenheiro de software. ISO 9126 - Norma para qualidade de produtos de software ISO 14598 - Guias para avaliação de produtos de software ISO 12119 - Norma para qualidade de pacotes de software
  • 10.
    Qualidade do Processode Software Desenvolvimento do SW REQUISITOS PRODUTO DE SW Análise Projeto … Validação + Verificação
  • 11.
  • 12.
    Workflows, Workflows DetailsWorkflow Papel Tarefa Artifato Responsavel por executa Activity Detail
  • 13.
    Qualidade do Produtode Software NBR 13596 Característica Subcaracterísticas Pergunta chave para a subcaracterística Funcionalidade (satisfaz as necessidades?) Adequação Acurácia Interoperabilidade Segurança de acesso Conformidade Propõe - se a fazer o que é apropriado? Faz o que propôs de manei ra correta? Interage com os sistemas especificados? Evita acesso não autorizado a dados? Está de acordo com as normas, leis, etc. Confiabilidade (É imune a falhas?) Maturidade Tolerância a falhas Recuperabilidade Com que frequência apresenta falhas? Ocor rendo falhas, como reage? É capaz de recuperar dados em caso de falhas? Usabilidade (É fácil de usar?) Inteligibilidade Apreensibilidade Operacionalidade É fácil entender o conceito e a aplicação? É fácil aprender a usar? É fácil operar e controlar
  • 14.
    Qualidade do Produtode Software NBR 13596 Característica Subcaracterísticas Pergunta chave para a subcaracterística Eficiência (Rápido e enxuto) Tempo Recursos Qual o tempo de resposta, velocid. de execução? Quanto recurso usa? Durante quanto tempo? Manutenibilidade (É fácil de modificar?) Ana lisabilidade Modificabilidade Estabilidade Testabilidade É fácil encontrar uma falha, quando ocorre? È fácil modificar e adaptar? Há grande risco quando se faz alterações? É fácil testar quando se faz alterações? Portabilidade (É fácil de usar em outro ambiente?) Adaptabilidade Capacidade para ser instalado Conformidade Capacidade para substituir É fácil adaptar a outros ambientes? É fácill instalar em outros ambientes? Está de acordo com padrões de portabilidade? É fácil usar para substituir outro sis tema?
  • 15.
    Teste de SoftwareTeste de software consiste em verificar dinamicamente o comportamento de um programa a partir de um conjunto finito de casos de teste Os casos de teste são adequadamente selecionados a partir do domínio de execuções (potencialmente infinito) Os resultados dos casos de teste são confrontados com o comportamento especificado para o software.
  • 16.
    Qualidade de SoftwareMSc. Luiz Barboza [email_address]