Baixe o app para aproveitar ainda mais
Prévia do material em texto
QUALIDADE DE SOFTWARE Aula 1 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. Qualidade é: Estar em conformidade com os requisitos dos clientes. Antecipar e satisfazer os desejos dos clientes Escrever tudo o que se deve fazer e fazer tudo o que foi escrito. International Organization for Standardization – ISO e a International Electrotechnical Comission – IEC, orgãos normalizadores com importância internacionalmente reconhecida no setor de software. As normas podem ser Nível Internacional (ISO e IEC) ou Nível Regional Sommerville (2007) estabelece que o gerenciamento de qualidade está estruturado em três atividades principais: Garantia de Planejamento de Controle de Segundo Pressman, os requisitos de software são a base da medição da qualidade de um produto de software. Qualidade de Produto X Qualidade de Processo de Software Processo de desenvolvimento: afeta a qualidade na forma como o produto de software foi gerado. Qualidade em uso: consiste na qualidade percebida pelo usuário e na aferição da qualidade do software em cada contexto específico de usuário. Produto: Compreende os atributos de qualidade e dividem-se em atributos internos e externos, que se diferenciam pela forma como são aferidos (interna ou externamente ao produto de software) e, em conjunto, compõem a qualidade do produto de software em si. Destaca-se que a qualidade do processo contribui para a melhoria da qualidade do produto, que, por sua vez, contribui para a melhoria da qualidade em uso. A Qualidade do produto é fortemente influenciada pela qualidade dos processos utilizados no seu desenvolvimento; se os processos forem desenvolvidos com qualidade, o produto final terá qualidade. O aumento de qualidade sempre é acompanhado por aumento de produtividade e redução de custos na forma de menos retrabalho e menor índice de perdas. Gastos em qualidade se pagam em muito pouco tempo. Aula 2 Devemos medir Processo e Produto A qualidade precisa ser medida, comparativamente a padrões e critérios pré determinados. Que medidas são necessárias ? Tempo e custo do processo Desempenho e resultados Produtividade da equipe Recursos efetivos e usados O que fazer com medidas? Permitir criar padrões Estimativas (tempo, custo, recursos) Aplicar ações corretivas e preventivas diante de riscos Categorias Fatores de qualidade Revisão do Produto: Manutenibilidade, Flexibilidade, Testabilidade Operação do Produto: Corretude, Confiabilidade, Eficiencia, Integridade e Usabilidade Transição do Produto: Portabilidade, Reusabilidade e Interoperabilidade Dificuldade: desenvolver medidas diretas dos fatores de qualidade. Por que? subjetividade na medição. Qualidade de software (Software Quality Assurance – SQA): deve ser Aplicada em todo o processo de engenharia de software. Avaliações, Auditorias, revisões. Revisões de Software Analisam erros e inconsistências. Feito sempre por um grupo de pessoas, para pontar melhorias ao produto. Tipos: Inspeções de projeto ou programa; Revisões de progresso (processo e produto); Revisões de qualidade. Custos de Qualidade Revisão Técnica Formal – RTF Verificar se SW atende aos requisitos; Garantir que o SW está de acordo com padrões pré-definidos; Obter um SW desenvolvido de forma uniforme; Tornar os projetos mais administráveis Descobrir erros de função, lógica ou implementação do SW; É Conhecida como walkthroughs, inspeções, reuniões round – robin Cada RTF é conduzida como uma reunião. Qualidade no Processo Aferição em cada fase, métricas, fatores de qualidade e padrões; Inconsistências. SQA – Software Quality Assurance Avaliações, Auditorias, Revisões, RTF Atividades de controle das mudanças. Documentação Qualidade no Produto Testes Fase de Implementação (unitários e integrados) Fase de Testes (sistema e homologação) Automação dos testes / técnicas diversas Aula 3 Garantia Estatística de Qualidade Montar a tabela Categorias de Causas x Qtdes A qualidade é responsabilidade de todos os participantes do desenvolvimento de software. A SQA está baseada no que denomina "poucas causas vitais" dos problemas que significa que são as poucas causas que são responsáveis pela maioria dos problemas. Métricas Confiabilidade A probabilidade de um programa operar sem falhas, num ambiente específico durante determinado tempo especifico. Difícil quantificar com precisão Segurança Sistema de segurança crítico. Trata-se de uma Atividade SQA Técnicas de Análise da Gravidade e Probabilidade de ocorrência Orgãos Normativos e Reguladores ISO 9000 Descreve elementos de garantia em termos genéricos, que podem ser aplicados aos negócios (Produto ou serviço). ISO 9001 (mais completa) Garantia da qualidade em projetos / desenvolvimento, produção, instalação e assistência técnica empresas de criação de novos produtos ISO 9002 garantia da qualidade em produção e instalação destina a quem produz item de catálogo ou prestam serviços conforme especificações existentes. ISO 9003 garantia da qualidade em inspeção e testes finais. Adequada a empresas cuja produção não inclua itens. ISO 9004 Gestão da qualidade e elementos do sistema de qualidade – diretrizes. Funciona como guia para desenvolvimento do SGQ. De uso volutuntário e interno (sem funs contratuais). O que é e o que faz a ISO? ISO=International Organization Standardization. Orgão, de origem inglesa, que produz normas internacionais. 150 países participantes e cerca de 50 mil especialistas(Mundo) O que é e o que faz a IEC? IEC=International Eletrotechnical Commision O que é o o que faz a ABNT? Orgão brasileiro responsável pelas normas de qualidade Representa, no Brasil a ISO e a IEC Cuida da preparação das normas técnicas, mas também pode verificar a implantação e uso das normas em empresas Aula 4 NBR ISO/IEC 9126 (Produto) Qualidade é: “totalidade de características de uma entidade que lhe confere a capacidade de satisfazer as necessidades explícitas e implícitas“ Explícitas (externas) = condições em que produto deve ser usado, objetivos, funções,desempenho esperado (depende de especificações de requisitos). Implícitas (internas) = Não estão especificados nos requisitos, mas são características obvias e fundamentais. NBR ISSO/IEC 12119 (Pacote) Esta Norma não trata de processos de produção de software (tampouco atividades e produtos intermediários, por exemplo especificações); Pacotes de software= conjunto completo e documentado de programas fornecidos a diversos usuários para uma aplicação ou função genérica. (SW de prateleira). Os requisitos de qualidade incluem que: A descrição do produto Documentação do usuário; Documentação do produto e dados necessários ao seu funcionamento Um pacote de software está em conformidade com esta Norma se atende a todos aos requisitos acima. Aula 5 NBR ISO/IEC 9241 (Usabilidade do Produto) “Para os usuários a interface é o programa.” -- > É o que o usuário vê. Interfaces eficientes aumentam a produtividade. Interfaces ruins sacrificam a funcionalidade A interface influencia como usuário visualiza e compreende as funcionalidades. Um produto pode ser usado por usuários específicos para alcançar objetivos específicos com eficácia, eficiência e satisfação em contexto específico de uso. Eficácia: Completude com as quais usuários alcançam objetivos específicos. Eficiência: Eficácia c/ mínimo de recursos Satisfação: Ausência de desconforto e presença de atitudes positivas para uso Usuários Contexto de Uso: Ambiente físico e social no qual um produto é usado. Sistema, composto de usuários, equipamento, tarefas e o ambiente físico e social, com o propósito de alcançar objetivos específicos. Tarefas,Equipamento (hardware, software e materiais) A escolha e o nível de detalhes de cada medida (eficácia, eficiência e satisfação) depende dos objetivos das partes envolvidas na medição. Caso não seja possível obter medidas objetivas de eficácia e eficiência, medidas subjetivas baseadas na percepção dos usuários podem fornecer uma indicação de eficácia e eficiência. Para um produto de uso geral, geralmente será necessário especificar ou medir usabilidade em alguns contextos representativos diferentes, os quais serão um subgrupo de possíveis contextos e de tarefas que podem ser realizadas. Aula 6 NBR ISO/IEC 14.598 (Avaliação de Produto de Software) A norma fornece uma visão geral dos processos de avaliação de software. Fornece guias para avaliação baseada na utilização prática da Norma NBR ISO/IEC 9126 Define 3 enfoques de processos para: Desenvolvedores Adquirentes Avaliadores 14598-1 Visão Geral Visão geral da estrutura da série de normas e dos processos de avaliação. Relação com a norma ISO/IEC 9126 14598-2 Planejamento e gestão Atividades de planejamento e gerenciamento do processo de avaliação. Requisitos e orientações para suporte ao processo. 14598-3 Processo para desenvolvedores Para Desenvolvedores: atividades de avaliação durante o processo de desenvolvimento. Produtos intermediários 14598-4 Processo para adquirentes Para Adquirentes: atividades de avaliação no processo de seleção para aquisição do software (pacote ou sob medida ou modificações) 14598-5 Processo para avaliadores Para Avaliadores: descreve um processo para avaliação de produtos de software (visão do usuário) 14598-6 Documentação de módulos de avaliação Documentação dos módulos de avaliação. Define a estrutura e o conteúdo da documentação que será usada na descrição dos Módulos de Avaliação. Avaliar a qualidade de um software é: Verificar, através de técnicas e atividades operacionais, o quanto os requisitos são atendidos. Tais requisitos expressam as necessidades explicitadas e objetivam definir as características do SW, para que se possa examiná-lo e compreende-lo Aula 7 NBR SO/IEC 9000-3 (qualidade de processo) Orientar um contrato entre duas partes que exige a demonstração da capacidade do fornecedor em desenvolver, fornecer e bem como, manter softwares. Não tratar de aspectos como a melhoria contínua do processo de software. Considera apenas quais processos a organização deve ter e manter, não orienta quanto aos passos que devem ser seguidos para chegar a desenvolvê-los e nem de como aperfeiçoá-los. As diretrizes propostas cobrem questões como: Entendimento dos requisitos funcionais entre contratante e contratado; Uso de metodologias consistentes para o desenvolvimento de software; Gerenciamento de projeto desde a concepção até a manutenção. Ponto central: Documentação A política de qualidade deve ser definida, documentada, comunicada, implementada e mantida por uma gerência. Aula 8 Modelo de qualidade do processo de ciclo de vida do software NBR ISSO / IEC 12207 1. O significado do processo Considera-se um conjunto de tarefas ordenadas como sendo um processo: uma série de etapas que envolvem atividades, restrições e recursos para alcançar a saída desejada. Considera-se que o processo de criação de um produto pode ser concebido como um ciclo de vida composto por procedimentos. Da mesma maneira, pode-se considerar que o processo de desenvolvimento de software constitui-se ser o ciclo de vida do software. 2. Escopo da Norma NBR ISO/IEC 12207 A NBR ISO/IEC 12207 estabelece uma arquitetura de ciclo de vida de software construída a partir de uma estrutura de processos e seus inter-relacionamentos descritos tanto em nível de propósito/saída como em termos de processos, atividades, tarefas, propósito e resultados que servem para ser aplicados: Durante a aquisição de software, de um produto de software independente ou de um serviço de software. Durante o fornecimento, desenvolvimento, operação e manutenção de produtos de software. Propósito: Reconhecimento do objetivo, da necessidade de execução do processo Resultado: O que ele deve produzir como saída A proposta da norma é a sua utilização desde a concepção até a descontinuidade do produto de software ressaltando a importância do envolvimento de todos aqueles responsáveis pela produção, manutenção e operação do software tais como adquirentes, fornecedores, operadores, desenvolvedores, mantenedores, gerentes, profissionais de qualidade e usuários. A norma não especifica os detalhes de como implementar ou executar as atividades e tarefas incluídas nos processos, assim como não visa prescrever um modelo específico de ciclo de vida (cascata, incremental, evolucionário) ou método de desenvolvimento de software(orientação a objetos, análise estruturada). De acordo com a natureza dos processos esses se agrupam da seguinte forma: Fundamental: Os processos fundamentais iniciam o ciclo de vida do software e comandam a execução de todos os outros processos. Eles constituem um conjunto de cinco processos que são: Aquisição – inicia o ciclo de vida de software Fornecimento – responde pela execução dos processos de desenvolvimento, operação e manutenção Desenvolvimento – contém as atividades e tarefas que devem ser executadas pelo desenvolvedor Operação – contém as atividades e tarefas do operador com a cobertura do software e o suporte operacional dos usuários Manutenção – torna-se ativo quando o produto de software é submetido a modificações no código e na documentação associada devido a um problema, necessidade de melhoria ou adaptação. Apoio: Os processos de apoio são de responsabilidade da organização que o executa. O objetivo é proporcionar qualidade aos outros processos, pois através de sua execução acredita-se que eles terão garantia de qualidade e uma maior organização. Podem ser utilizados pelos processos fundamentais de apoio organizacional. Organizacional: Os processos organizacionais são chamados pelos outros processos e devem existir independentemente do projeto que está sendo executado. As atividades e tarefas em um processo organizacional são de responsabilidade da organização que o utiliza. Os processos organizacionais são instanciados nos processos fundamentais porque eles são gerenciados de forma diferente. Adaptação: O propósito do processo de adaptação é realizar a adaptação básica da norma para um projeto de software.
Compartilhar