550 likes | 644 Views
Fórum Melhoria do Produto de Software Brasileiro Modelo SQuaRE para especificação e avaliação da qualidade de produto de software 14 Novembro/2004 Danilo Scalet (danilo@pr.gov.br). Sumário. Especificação de requisitos e avaliação da qualidade de produto de software
E N D
Fórum Melhoria do Produto de Software Brasileiro Modelo SQuaRE para especificação e avaliação da qualidade de produto de software 14 Novembro/2004 Danilo Scalet (danilo@pr.gov.br) Modelo SQuaRE
Sumário Especificação de requisitos e avaliação da qualidade de produto de software As normas existentes e o novo modelo SQuaRE Modelo de qualidade Medidas da qualidade de produto de software Desdobrando requisitos de qualidade Processo de avaliação da qualidade de produto de software A evolução do modelo SQuaRE Modelo SQuaRE
Qualidade no Ciclo de Vida efeitos do produto de software processo produto de software Contextos de uso Influenciam Influencia Influenciam Atributos de qualidade interna Atributos de qualidade em uso Atributos de qualidade externa Qualidade do processo Depende de Dependem de Dependem de Medidas de processo Medidas internas Medidas externas Medidas de qualidade em uso Modelo SQuaRE
Relacionamento entre as séries 9126 e 14598 Recursos e Ambiente Processo de Avaliação Efeitos do Produto de Software Produto de Software Suporte à avaliação Processo de avaliação Métricas internas Métricas Externas Métricas de qualidade em uso 14598-1 14598-2 14598-3 9126-1 14598-4 14598-6 9126-3 9126-2 9126-4 14598-5 Modelo SQuaRE
A Série 9126 9126-1 Quality Model 9126-2 External Metrics 9126-3 Internal Metrics 9126-4 Quality in use Metrics Modelo SQuaRE
A Série 14598 14598-1 Visão Geral 14598-2 Planejamento e gestão 14598-3 Processo para desenvolvedores 14598-4 Processo para adquirentes 14598-5 Processo para avaliadores 14598-6 Documentação de módulos de avaliação Modelo SQuaRE
SQuaRE Software product Quality Requirements and Evaluation • Grupo WG6 do ISO/IEC JTC1 SC7 • Nova geração das séries ISO/IEC 9126 e 14598 • Documento inicial em 1999 na reunião de Kanazawa • Aprovado pelo SC7 em 2000 na reunião de Madri Modelo SQuaRE
SQuaRE - Histórico ISO/IEC 9126:1991 --> NBR 13596:1994 Avaliação de produto de software - Características de qualidade e diretrizes para o seu uso Série 14598:1998-2001--> NBR ISO/IEC 14598 Avaliação de produto de Software Série 9126: 2001-2004 --> NBR ISO/IEC 9126 Qualidade de produto de software Modelo SQuaRE
A nova arquitetura SQuaRE Modelo SQuaRE
O modelo de referência SQuaRE Business system Information system Target of Process Software product Internal software quality External software quality Quality in use Requirements Process Evaluation Specification 25022 25041 25030 25023 25042 25024 25043 Execution 25044 25021 Particular Guidance 25001 25020 25040 25001 25010 General Guidance 25000 Modelo SQuaRE
SQuaRE MODELO DE QUALIDADE (ISO/IEC 25010) Definição de modelo de qualidade: O conjunto de características e os relacionamentos entre elas, que fornecem a base para a especificação dos requisitos de qualidade e para a avaliação da qualidade. Modelo de qualidade é um produto do desdobramento da qualidade Modelo SQuaRE
Estrutura Hierárquica de um Modelo de Qualidade Característica Subcaracterística Subcaracterística Subcaracterística Atributo Atributo Atributo Atributo Atributo Modelo SQuaRE
Atributos externos e internos x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x atributo subcaracterística característica Atributos internos (atributos do software) Atributos externos (atributos do sistema) Modelo SQuaRE
MODELO DE QUALIDADE Qualidade externa e qualidade interna Funcionalidade Confiabilidade Usabilidade Qualidade externa e Qualidade interna Eficiência Manutenibilidade Portabilidade Modelo SQuaRE
MODELO DE QUALIDADE Funcionalidade Seg. acesso Adequação Acurácia Interoperabilidade Conformidade Confiabilidade Maturidade Toler. Falhas Recuperabilidade Conformidade Usabilidade Inteligibilidade Apreensibilidade Operabilidade Atratividade Conformidade Eficiência Comport. relação ao tempo Comport. relação aos recursos Conformidade Manutenibilidade Analisabilidade Modificabilidade Estabilidade Testabilidade Conformidade Portabilidade Adaptabilidade Cap. p/ ser Instalado Co-existência Cap. p/ substituir Conformidade Modelo SQuaRE
MODELO DE QUALIDADE Qualidade em uso Eficácia Produtividade Qualidade em uso Segurança Satisfação Modelo SQuaRE
Definições Qualidade de software: capacidade de um produto de software satisfazer necessidades explícitas e implicitas quando utilizado sob condições especificadas (ISO/IEC 25000). O que significa “necessidades”? Modelo SQuaRE
Definições • Necessidades: É a expectativa quanto aos efeitos de um produto. • Um usuário não deseja um produto e sim os efeitos do uso do produto, que caracterizam suas necessidades. • É difícil que as reais necessidades sejam identificadas pelo usuário ou por um desenvolvedor. Modelo SQuaRE
Qualidade no ciclo de vida do software Modelo SQuaRE
Construindo medidas de qualidade para produto de software (ISO/IEC 25020) SQuaRE Modelo SQuaRE
Construindo medidas primitivas (ISO/IEC 25020) Modelo SQuaRE
Medidas de qualidade de produto de software (ISO/IEC 25021, 25022, 25023 e 25024) SQuaRE • Objetivos de medidas de produto de software • definir requisitos de qualidade • medir e melhorar a qualidade de produtos intermediários • prever e controlar a qualidade do produto • tomar decisões quanto a liberação ou aceitação de produto • Tipos de medidas de produto de software • medidas de qualidade interna • medidas de qualidade externa • medidas de qualidade em uso Modelo SQuaRE
Escolhendo medidas de produto de software • Significância • Custo e Complexidade • Repetibilidade • Reproducibilidade • Validade • Objetividade • Imparcialidade Modelo SQuaRE
Exemplos de medidas funcionalidade adequação Medida Externa Nome da medida: completitude das funções Propósito: determinar a taxa de implementação das funções definidas na especificação de requisitos Fórmula: 1 - (# funções faltantes / # funções especificadas) Interpretação: 0 x 1; quanto mais próximo de 1, melhor Entradas: relatórios de avaliação, esp. requisitos Modelo SQuaRE
Exemplos de medidas confiabilidade tolerância a falhas Medida Externa Nome da medida: capacidade de evitar falhas Propósito: determinar controle de ocorrência de falhas Fórmula: (# falhas evitadas / # casos de teste) Interpretação: 0 x 1; quanto mais próximo de 1, melhor Entradas: relatórios de teste e de operação Modelo SQuaRE
Exemplos de medidas confiabilidade tolerância a falhas Medida Interna Nome da medida: capacidade de evitar falhas Propósito: determinar número de falhas previstas e evitadas no código Fórmula: (# falhas previstas no projeto / # falhas possíveis) Interpretação: 0 x 1; quanto mais próximo de 1, melhor Entradas: relatório revisão, especificação de requisitos Modelo SQuaRE
Exemplos de medidas usabilidade apreensibilidade (learnability) Medida Interna Nome da medida: completitude de sistema de ajuda e documentação Propósito: determinar proporção de funções documentadas ao usuário Fórmula: (# funções documentadas / # funções) Interpretação: 0 x 1; quanto mais próximo de 1, melhor Entradas: Especificação requisitos, projeto, relatório revisão Modelo SQuaRE
Exemplos de medidas usabilidade apreensibilidade (learnability) Medida Externa Nome da medida: eficácia de sistema de ajuda e documentação Propósito: determinar proporção de documentação efetiva ao usuário Fórmula: (# funções executadas com sucesso (*1) / # funções) Interpretação: 0 x 1; quanto mais próximo de 1, melhor Entradas: relatório de operação *1 após consulta do usuário ao sistema de ajuda Modelo SQuaRE
Exemplos de medidas eficácia Medida Qualidade em uso Nome da medida: tarefas completadas Propósito: determinar proporção de tarefas completadas Fórmula: (# tarefas completadas / # tarefas tentadas Interpretação: 0 x 1; quanto mais próximo de 1, melhor Entradas: relatório de operação, registro de histórico de uso. Modelo SQuaRE
Necessid. Selec. e Especif./ Requisitos Qualidade em uso Requisitos funcionais Requisitos: Funcionais Projeto Qld. Interna Necessi-dades de stakeholders: Explícitas, Implícitas ou Não pecebi- das Req. qldade externa Requisitos: n/funcionais Projeto Qld.interna Relação entre necessidades e requisitos (ISO/IEC 25030) SQuaRE Selecionar e especificar Necessi-dades de stakeholders (negócio): Coletadas e identificadas Solicitar e identificar Função 1 Função 1 Função 2 Função 2 Função n Função n Contexto uso 1 Planejadores Planejadores Contexto uso 2 Desenvolvedores Desenvolvedores Funcionalidade Distribuidores Distribuidores Contexto uso i Confiabilidade arquitetura Usuários Usuários Usabilidade Eficiência Contexto uso n estrutura Usuários finais Usuários finais Manutenibilid. Outros Outros Estilo cód. Portabilidade Ambiente organizacional Ambiente sistema Ambiente software Modelo SQuaRE
Requisitos para os requisitos de qualidade (ISO/IEC 25030) • referir-se a um modelo de qualidade • Qualidade em uso, externa e interna • referir-se a um grupo de propriedades funcionais • especificados em termos de método de medição e valores esperados (ISO/IEC 25022, 25023 e 25024) • possibilidade de verificação do requisito • consistência (ausência de conflitos entre requisitos) • registrados de forma a permitir sua gestão • rastreáveis em relação as necessidades de stakeholders Modelo SQuaRE
SQuaRE Processo de Avaliação- Visão Geral (ISO/IEC 2504n) Estabelecer Requisitos de Avaliação Estabelecer o propósito da avaliação Identificar tipos de produto(s) a serem avaliados Especificar modelo de qualidade Selecionar medidas Especificar a Avaliação Estabelecer níveis de pontuação p/ as medidas Estabelecer critérios para julgamento Projetar a Avaliação Produzir o plano de avaliação Obter as medidas Executar a Avaliação Comparar com critérios Julgar os resultados Modelo SQuaRE
Benefícios com o uso do modelo SQuaRE Modelo que representa a qualidade esperada do produto de software Orientações para desdobramento das necessidades em qualidade em uso, qualidade externa e qualidade interna Possibilita maior eficácia na definição e desenvolvimento da solução envolvendo software Orienta ações gerenciais através de avaliações de produtos intermediários Propõe a perspectiva da qualidade final através de avaliações intermediárias Permite a rastreabilidade entre necessidades, requisitos e medidas decorrentes de avaliações Melhoria da qualidade do produto e do processo de software Modelo SQuaRE
A nova arquitetura SQuaRE - Evolução Modelo SQuaRE
C.E. QUALIDADE DE SOFTWARE SC10 Rua Mateus Leme, 1142 CEP: 80.530-010 Curitiba - Pr Fone:(41) 350-5457 FAX: (41) 352-2222 www.pr.gov.br/abntsoftware E-mail: abnt_sw@pr.gov.br danilo@pr.gov.br Modelo SQuaRE
Quality management division • 25000 - Guide to SQuaRE; • 25001 - Planning and management:. Modelo SQuaRE
Quality model division • 25010 - Quality model and guide Quality measurement division • 25020 - Measurement reference model and guide • 25021 – Measurement primitives • 25022 – Measurement of internal quality • 25023 – Measurement of external quality • 25024 – Measurement of quality in use Modelo SQuaRE
Quality requirements division • 25030 – Quality requirements Quality evaluation division • 25040 – Evaluation reference model and guide • 25041 - Evaluation modules • 25042 – Evaluation process for developers • 25043 – Evaluation process for acquirers • 25044 – Evaluation process for evaluators Modelo SQuaRE
Definições • Funcionalidade: Capacidade do produto de software de prover funções que atendam necessidades explícitas e implícitas, quando o software estiver sendo utilizado sob condições especificadas. • Confiabilidade:Capacidade do produto de software de manter um nível de desempenho especificado, quando usado em condições especificadas. • Usabilidade: Capacidade do produto de softwarede ser compreendido, aprendido, operado e atraente ao usuário, quando usado sob condições especificadas. Modelo SQuaRE
Definições • Eficiência: Capacidade do produto de softwarede apresentar desempenho apropriado, relativo à quantidade de recursos usados, sob condições especificadas. • Manutenibilidade: Capacidade do produto de software de ser modificado. As modificações podem incluir correções, melhorias ou adaptações do software devido a mudanças no ambiente e nos seus requisitos ou especificações funcionais. • Portabilidade: Capacidade do produto de software de ser transferido de um ambiente para outro. Modelo SQuaRE
Definições 1.1 Funcionalidade Capacidade do produto de software de prover funções que atendam necessidades explícitas e implícitas, quando o software estiver sendo utilizado sob condições especificadas. 1.1.1 Adequação Capacidade do produto de software de prover um conjunto apropriado de funções para tarefas e objetivos do usuário especificados. 1.1.2 Acurácia Capacidade do produto de software de prover, com o grau de precisão necessário, resultados ou efeitos corretos ou conforme acordados. 1.1.3 Interoperabilidade Capacidade do produto de software de interagir com um ou mais sistemas especificados. Modelo SQuaRE
Definições 1.1.4 Segurança de acesso Capacidade do produto de software de proteger informações e dados, de forma que pessoas ou sistemas não autorizados não possam lê-los nem modificá-los e que não seja negado o acesso às pessoas ou sistemas autorizados. [NBR ISO/IEC 12207:1998] 1.1.5 Conformidade relacionada à funcionalidade Capacidade do produto de software de estar de acordo com normas, convenções ou regulamentações previstas em leis e prescrições similares relacionadas à funcionalidade. Modelo SQuaRE
Definições 1.1 Confiabilidade Capacidade do produto de software de manter um nível de desempenho especificado, quando usado em condições especificadas. 1.1.1 Maturidade Capacidade do produto de software de evitar falhas decorrentes de defeitos no software. 1.1.2 Tolerância a falhas Capacidade do produto de software de manter um nível de desempenho especificado em casos de defeitos no software ou de violação de sua interface especificada. Modelo SQuaRE
Definições 1.1.3 Recuperabilidade Capacidade do produto de software de restabelecer seu nível de desempenho especificado e recuperar os dados diretamente afetados no caso de uma falha. 1.1.4 Conformidade relacionada à confiabilidade Capacidade do produto de software de estar de acordo com normas, convenções ou regulamentações relacionadas à confiabilidade. Modelo SQuaRE
Definições 1.1 Usabilidade Capacidade do produto de softwarede ser compreendido, aprendido, operado e atraente ao usuário, quando usado sob condições especificadas. 1.1.1 Inteligibilidade Capacidade do produto de software de possibilitar ao usuário compreender se o software é apropriado e como ele pode ser usado para tarefas e condições de uso específicas. 1.1.2 Apreensibilidade Capacidade do produto de softwarede possibilitar ao usuário aprender sua aplicação. Modelo SQuaRE
Definições 1.1.3 Operacionalidade Capacidade do produto de software de possibilitar ao usuário operá-lo e controlá-lo. 1.1.4 Atratividade Capacidade do produto de softwarede ser atraente ao usuário. 1.1.5 Conformidade relacionada à usabilidade Capacidade do produto de software de estar de acordo com normas, convenções, guias de estilo ou regulamentações relacionadas à usabilidade. Modelo SQuaRE
Definições 1.1 Eficiência Capacidade do produto de softwarede apresentar desempenho apropriado, relativo à quantidade de recursos usados, sob condições especificadas. 1.1.1 Comportamento em relação ao tempo Capacidade do produto de software de fornecer tempos de resposta e de processamento, além de taxas de transferência, apropriados, quando o software executa suas funções, sob condições estabelecidas. 1.1.2 Utilização de recursos Capacidade do produto de software de usar tipos e quantidades apropriados de recursos, quando o software executa suas funções sob condições estabelecidas. 1.1.3 Conformidade relacionada à eficiência Capacidade do produto de software de estar de acordo com normas e convenções relacionadas à eficiência. Modelo SQuaRE
Definições 1.1 Manutenibilidade Capacidade do produto de software de ser modificado. As modificações podem incluir correções, melhorias ou adaptações do software devido a mudanças no ambiente e nos seus requisitos ou especificações funcionais. 1.1.1 Analisabilidade Capacidade do produto de software de permitir o diagnóstico de deficiências ou causas de falhas no software, ou a identificação de partes a serem modificadas. 1.1.2 Modificabilidade Capacidade do produto de software de permitir que uma modificação especificada seja implementada. Modelo SQuaRE
Definições 1.1.3 Estabilidade Capacidade do produto de software de evitar efeitos inesperados decorrentes de modificações no software. 1.1.4 Testabilidade Capacidade do produto de software de permitir que o software, quando modificado, seja validado. 1.1.5 Conformidade relacionada à manutenibilidade Capacidade do produto de software de estar de acordo com normas ou convenções relacionadas à manutenibilidade. Modelo SQuaRE
Definições 1.1 Portabilidade Capacidade do produto de software de ser transferido de um ambiente para outro. 1.1.1 Adaptabilidade Capacidade do produto de software de ser adaptado para diferentes ambientes especificados, sem necessidade de aplicação de outras ações ou meios além daqueles fornecidos para essa finalidade pelo software considerado. 1.1.2 Capacidade para ser instalado Capacidade do produto de software para ser instalado em um ambiente especificado. Modelo SQuaRE