Mind map
Qualidade de Software
Map content
Qualidade de Software
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.
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.
- Esse processo deve indicar:
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)
- Padrões de Processo (processos padrão e especializados da organização)
- 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
- Pode ser um único grupo para toda a organização
- 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
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
- 1. Identificação da 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
- Controla as mudanças nos itens de software (artefatos) gerados ao longo do desenvolvimento
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.
- Medida
- 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).
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
- Medimos a eficácia de um processo de software indiretamente - derivando métricas com base nos resultados que podem ser derivados do processo:
Information
- Description
- Mind Map on Qualidade de Software, created by ANDRE LUIZ PEREIRA DE OLIVEIRA on 28/02/2024.
- Created by
- ANDRE LUIZ PEREIRA DE OLIVEIRA
- Views
- 0
- Rating