¡GoConqr estrena diseño! Cuéntanos qué te parece.

Mapa mental

Qualidade de Software

ANDRE LUIZ PEREIRA DE OLIVEIRA Portugués

Contenido del mapa

Qualidade de Software

  1. Gerência da Qualidade

    • Uma das principais metas da Engenharia de Software é a produção de software de qualidade.
    • Entretanto, que características um determinado produto precisa apresentar para considerarmos que o mesmo tem qualidade?
    • Qualidade de software é um conjunto de características a serem satisfeitas em um determinado grau, de modo que o software satisfaça às necessidades de seus usuários.
    • Usuário
      • O interesse fica concentrado principalmente no uso do software: facilidade de uso, requisitos atendidos
    • Desenvolvedor
      • A qualidade fica mais voltada às características internas do software: legibilidade, testabilidade, eficiência
    • Gerente
      • A qualidade do produto não pode ser desvinculada dos interesses da organização: custo e prazos
    • Aspectos importantes:
      • Documentação
      • Garantia e Controle da Qualidade
      • Gerência e Configuração de Software
      • Medição
    • O gerenciamento da qualidade de software para sistemas de software tem três preocupações principais:
      • 1. No nível organizacional, a gestão da qualidade se preocupa em estabelecer uma estrutura de processos e padrões organizacionais que levem a software de alta qualidade.
      • 2. No nível do projeto, o gerenciamento da qualidade envolve a aplicação de processos de qualidade específicos.
      • 3. O gerenciamento da qualidade no nível do projeto também se preocupa com o estabelecimento de um plano de qualidade para um projeto.
  2. Documentação

    • Documentos são artefatos que são submetidos à Gerência de Configuração e à Garantia e Controle da Qualidade.
    • A organização deve definir um Processo de Documentação.
      • Esse processo deve indicar:
        • Que documentos são produzidos
        • Quem elabora
        • Quem avalia
        • Quem acessa
        • Quando é elaborado
      • Quando o processo de documentação é bem definido e executado, o planejamento da documentação dos projetos consiste apenas em selecionar os documentos que serão utilizados/gerenciados.
  3. Garantia e Controle da Qualidade

    • Atividades de garantia e controle da qualidade são realizadas ao longo do processo de desenvolvimento e buscam detectar problemas tão logo eles ocorram
      • Envolve avaliar a qualidade tanto do produto quanto do processo.
      • Principais atividades de garantia da qualidade: VV&T.
      • A organização deve definir um Plano de Qualidade.
    • Gerência da qualidade
      • Qualidade baseada em processos
    • Para que uma organização realize as atividades de garantia e controle da qualidade, devem ser definidos padrões organizacionais de processo e de produto.
    • Exemplos de padrões organizacionais:
      • Padrões de Processo (processos padrão e especializados da organização)
        • Modelos de documentos (ex.: modelo do Plano de Projeto, da Especificação de Requisitos etc)
        • Roteiros (diretrizes gerais para a elaboração de um artefato)
        • Padrões de código (ex.: nomes de variáveis válidos, estilos de identação, regras para comentários etc)
        • Padrões de interface (ex.: padrão de telas, botões, textos etc)
    • Verificação
      • O software está sendo desenvolvido de maneira correta?
      • Avaliação da aderência aos padrões
    • Validação
      • O software desenvolvido é o correto?
      • (avaliação de atendimento aos requisitos
    • Teste
      • Atividades de V&V que consistem de uma análise dinâmica
      • (envolvem a execução do software)
    • Revisões
      • Análise de processos e artefatos ao longo do desenvolvimento para detectar erros e inconsistências, sejam eles relacionados à forma, sejam em relação ao conteúdo, e apontá-los aos responsáveis pela sua elaboração.
    • A Equipe de Garantia de Qualidade de Processo e de Produto
      • Pode ser um único grupo para toda a organização
        • atende a todos os projetos da organização
      • Pode ser um grupo para o projeto
        • atende ao projeto
      • Pode ser uma pessoa
        • para o projeto ou para a organização
  4. Gerência de Configuração de Software

    • Controla as mudanças nos itens de software (artefatos) gerados ao longo do desenvolvimento
      • Processo
      • Ferramentas
      • Documentos
      • Código
    • Visa estabelecer e manter a integridade dos itens de software ao longo de todo o ciclo de vida do software garantindo a completeza, a consistência e a correção de tais itens, e controlando o armazenamento, a manipulação e a distribuição dos mesmos
    • A organização deve definir um Plano de Gerência de Configuração que descreve as atividades da gerência de configuração, procedimentos e responsáveis pela execução dessas atividades
    • Processo de Gerência de Configuração de Software:
      • 1. Identificação da Configuração
        • Identificar os itens de configuração
        • Identificar as relações entre os itens de configuração
        • Estabelecer baselines
      • 2. Controle de Versão
        • Criação e administração de versões e variantes
      • 3. Controle de Mudança
        • Definição do procedimento a ser seguido para a realização de mudanças nos itens de configuração
    • Procedimento de Mudança:
      • 1. É realizada uma solicitação de mudança em um item de configuração.
      • 3. Se aprovada, é realizado o checkout do item de configuração e ninguém mais pode acessá-lo, exceto quem está executando as alterações.
      • 2. A solicitação é avaliada (considerando modificações nos itens relacionados).
      • 4. As alterações são avaliadas
      • 5. Se aprovadas, é realizado o check-in (a nova versão do item de configuração é disponibilizada e uma nova baseline é estabelecida).
      • Auditoria
        • Verificação das alterações realizadas nos itens e em seus relacionados
      • Relatório de Situação da Configuração
        • (i) O que aconteceu?
        • (ii) Quem fez?
        • (iii) Quando aconteceu?
    • O acesso rápido às informações agiliza o processo de desenvolvimento e melhora a comunicação entre as pessoas, evitando, assim, muitos problemas de alterações do mesmo item de configuração, com intenções diferentes e, às vezes, conflitantes
  5. Medição de Software

    • Medição de software é uma avaliação quantitativa de qualquer aspecto dos processos e produtos da Engenharia de Software, que permite seu melhor entendimento e, com isso, auxilia o planejamento, controle e melhoria do que se produz e de como é produzido (BASS et al 1999).
    • O elemento básico da medição, que propicia a análise quantitativo, são as medidas. Elas caracterizam, em termos quantitativos, alguma propriedade de um objeto da Engenharia de Software (BASILI e ROMBACH, 1994).
    • A medição provê informação útil para que as organizações tomem decisões que impactam em seus objetivos de negócios.
    • A medição de software é um dos principais pilares da melhoria de processos de software.
    • Atualmente, é um dos temas mais importantes na Engenharia de Software
    • Conceitos Básicos:
      • Medida
        • Quantificação dos atributos de entidades.
        • Ex.: número de defeitos de uma porção de código, tempo estimado para o projeto etc.
        • Pode ser medida base (ex.: número de defeitos) ou medida derivada (ex.: taxa de alteração de requisitos)
        • É medida utilizando se um procedimento de medição, que descreve como a coleta de dados para a medida deve ser realizado.
        • É analisada usando se um procedimento de análise, que descreve como os dados coletados para a medida deve ser representado e analisado.
      • Atributo
        • Propriedade de uma entidade que pode ser quantificada
        • A medida prazo estimado para o projeto quantifica o atributo tempo
        • Outros exemplos: tamanho, custo, esforço etc
      • Entidade
        • A medida prazo estimado para o projeto quantifica o atributo tempo de uma entidade do tipo projeto.
        • Outros exemplos: artefato, processo, módulo etc.
      • Procedimento de Medição
        • A medida aderência ao prazo do projeto poderia ter como procedimento de medição:
        • Aplicar a fórmula de cálculo de medida que determina a razão entre o prazo real do projeto e o prazo estimado para o projeto.
      • Procedimento de Análise
        • A medida aderência ao prazo do projeto poderia ter como procedimento de análise:
        • Representar em histograma as taxas de aderência ao prazo dos projetos. Analisar os valores medidos para os projetos e compará-los uns com os outros. 93 Subgrupar os dados e representá-los em outros histogramas a fim de identificar e analisar: (i) as diferenças das taxas de acordo com as características dos projetos; (ii) as diferenças das taxas de acordo com a fase em que o projeto se encontra.
      • Medição
        • Ato de medir, ou seja, de atribuir um valor a uma medida, executando seu procedimento de medição
        • Ex.: medição do prazo previsto para o projeto obtendo se o valor 500.
      • Análise de Medição
        • Ato de analisar os dados coletados para uma medida, executando seu procedimento de análise
        • Ex.: análise da aderência a o prazo do projeto, concluindo se que os projetos que envolveram o uso de nova tecnologia apresentaram uma aderência 10% menor aos prazos previstos do que a média das aderências dos projetos que não utilizaram novas tecnologias.
      • Indicador
        • Medida utilizada para analisar o alcance a objetivos.
        • Ex.: aderência a o prazo do projeto poderia ser um indicador para o objetivo melhorar a aderência dos projetos aos planos.
        • Mais diretamente, poderia ser definido o indicador: % de melhoria da aderência ao prazo dos projetos.
    • As medidas são imprescindíveis às atividades de Garantia da Qualidade e de Gerência de Projetos.
    • A literatura sugere diversas medidas e as organizações podem definir medidas própria
    • Por exemplo, a norma ISO/IEC 25010 sugere um conjunto de atributos (que podem ser medidos em um produto de software, bem como as medidas que podem ser utilizadas.
    • Planejar Medição
      • Os objetivos da organização são analisados e as necessidades de informação são identificadas. A partir daí, as medidas necessárias para atender às necessidades de informação são definidas
      • Os resultados são registrados no Plano de Medição.
      • É indispensável que a medição esteja alinhada com os objetivos de negócio da organização → Medição deve ser orientada a objetivos.
      • Definindo medidas
        • A definição operacional de uma medida deve conter todas as informações necessárias para que sua coleta possa ser realizada de forma consistente e para que sua análise seja realizada de modo a fornecer as informações necessárias
    • Realizar/Executar a Medição
      • Consiste na execução do Plano de Medição
      • Coleta
        • São coletados dados (valores medidos) para as medidas
        • Os dados são validados e armazenados em um repositório de medidas
      • Análise
        • Os dados coletados são analisados através de métodos analíticos (gráficos de barras, gráficos de controle, etc.) e os resultados da análise são utilizados para apoiar a tomada de decisão
      • Captura
      • Usar coleta automática sempre que possível (ex.: SLOC)
      • Muitas medidas serão coletadas manualmente (ex.: nº de defeitos detectados).
      • Para diminuir a possibilidade de erros na coleta:
        • Determinar um procedimento simples e claro para a coleta.
        • Evitar registros desnecessários
        • Treinar as pessoas no procedimento de medição.
        • Prover os resultados da análise dos dados coletados aos provedores originais, para que sejam utilizados em seu trabalho.
        • Utilizar formulários que orientem e facilitem a medição.
      • Armazenamento dos dados
        • A medição de software será tão boa quanto os dados forem coletados e analisados. Não pode tomar boas decisões baseando se em dados ruins.
        • Características de um bom dado:
          • Correto (foi coletado)
          • Acurado (o valor obtido é o valor)
          • Completo (contém todas as informações necessárias a seus níveis de detalhe)
          • Consistente (qualquer pessoa que o medisse obteria o mesmo)
          • Contextualizado (tempo e espaço do dado)
        • Alguns problemas possíveis
          • Dados não capturados
          • Valores errados capturados
          • Erros nas ferramentas de gerência dos dados
          • Então: deve ser feita validação de dados
      • Analisando os dados coletados
        • Para que os dados sejam analisados, deve ser seguido o procedimento de análise de medição da medida
        • O procedimento deve indicar o método analítico a ser utilizado e os critérios a serem considerados para se chegar a uma conclusão na análise.
        • Os dados devem ser representados graficamente para a análise
      • Importante:
        • Nem sempre uma medida pode ser analisada isoladamente. Assim, é necessário identificar medidas correlatas e fazer uma análise conjunta.
    • Atualmente, há diversos frameworks que apoiam a definição e institucionalização de programas de melhoria de processos como por exemplo o MR MPS SW, o CMMI, a série ISO/IEC 33000 e a ISO/IEC 12207.
    • Em todos esses frameworks, a medição ocupa papel fundamental.
    • Alguns desses frameworks propõem a implementação da melhoria de processos em níveis, nos quais a maturidade e a capacidade dos processos evoluem gradativamente
    • O único modo racional de melhorar um produto ou processo é medir atributos específicos, obter um conjunto de medidas significativas baseadas nesses atributos e usar os valores medidos para fornecer indicadores que conduzirão um processo de melhoria da qualidade (PRESSMAN, 2011).
  6. Medição do Processo

    • Medimos a eficácia de um processo de software indiretamente - derivando métricas com base nos resultados que podem ser derivados do processo:
      • medidas de erros descobertos antes do lançamento do software.
      • defeitos entregues e relatados pelos usuários finais.
      • produtos de trabalho entregues (produtividade).
      • esforço humano despendido
      • tempo gasto no calendário.
      • conformidade do cronograma
      • outras medidas

Información

Descripción
Mapa Mental sobre Qualidade de Software, creado por ANDRE LUIZ PEREIRA DE OLIVEIRA el 28/02/2024.
Visitas
0
Valoración

Escríbenos

¿Sobre qué es tu mensaje?

¿Qué te parece el nuevo diseño?

¿Te gusta?