ENGENHARIA DE SOFTWARE Garantia de Qualidade de Software

Slides:



Advertisements
Apresentações semelhantes
Desenvolvimento de Sistemas
Advertisements

Projeto Qualified Curriculum
Análise e Projeto de Sistemas III
Qualidade de Software Aula 4
Engenharia de Software Qualidade de Software Uma abordagem conceitual André Luis Zanon São Carlos SP – UFSCAR 2010 Engenharia de Software – UFSCAR.
Integridade do Software
Objetivos do Capítulo Utilizar o processo de desenvolvimento de sistemas delineado neste capítulo e o modelo de componentes de SI, do Capítulo 1, como.
Qualidade de Produto de Software
Engenharia de Software
ISO Processos do Ciclo de Vida do Software
Gerência de Projetos Wesley Peron Seno Introdução
Débora da Silva Orientadora: Maria Inés Castiñeira
UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Métricas de Software Prof.ª Adriana dos Santos Caparróz Carvalho.
Engenharia de Software
Tipos de sistemas de Lehman
Métricas para o Processo e o Projecto de SW
Garantia de Qualidade do software
Professor Sílder Lamas Vecchi
Gerenciamento do escopo do projeto
INTRODUÇÃO A INFORMÁTICA
Faculdade de Ciências Sociais de Aplicadas de Petrolina – FACAPE
CK 119: Engenharia de Software DC/CC/UFC © Rossana Andrade, Setembro CK119: Engenharia de Software Rossana Andrade Ph.D, SITE, University of Ottawa,
Aline Vasconcelos CEFET Campos
Administração de Sistemas de Informação II
Qualidade de Software Aula 2
TIPOS DE TESTES APLICÁVEIS E NÃO APLICÁVEIS AO PROJETO
TSDD Teste de segurança durante o desenvolvimento.
Visão Geral do Desenvolvimento de Sistemas e Papéis no Desenvolvimento de Software Marcely Dias
Princípios e Conceitos de Software(v2)
Pontifícia Universidade Católica de Campinas
Análise e Desenvolvimento de Sistemas
Cap 8 – Garantia de Qualidade de Software
EXEMPLO DE FLUXO PARA O DESENVOLVIMENTO DE ANÁLISE CRÍTICA DO SGQ
José Roberto Blaschek Gerência do Escopo José Roberto Blaschek.
Engenharia de Software
Prof.Alfredo Parteli Gomes
Cap 4 – Métricas do Processo e Projeto de Software
Universidade São Marcos Curso: Gestão de Negócios Internacionais
PMBOK 5ª Edição Capítulo 3
Projeto: Capacitação em GP
Gestão de Projetos Ms. Karine R. de Souza
Qualidade de Software Aula 2 / 2014/1
Introdução à Qualidade
GESTÃO DE PROJETOS Aula 5 1.
Prof. Alexandre Vasconcelos
Qualidade Qualidade é um dos principais objetivos da Engenharia de Software. Muitos métodos, técnicas e ferramentas são desenvolvidas para apoiar a produção.
Análise e Projeto de Sistemas de Informação 2o. Semestre de 2014
Processo de Aquisição Adilson de Almeida Cezar Meriguetti
Introdução à Engenharia de Software
Qualidade de Processo de Software CMM e CMMI Aldo Rocha.
Qualidade de Software Aula 4
Engenharia de Software
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
Qualidade no Desenvolvimento de Software Wolley W. Silva Baseado nas notas de aula dos professores Tatuo e Daisy.
Qualidade no Desenvolvimento de Software Wolley W. Silva Baseado nas notas de aula dos professores Tatuo e Daisy.
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE AULA 5
Qualidade de Produtos de Software
Engenharia de Software
Qualidade de Software O que é ‘Qualidade de Software’?
PREVENÇÃO E RECUPERAÇÃO DE FALHAS
Erton W. Vieira Metodologias Ágeis, Qualidade de Software e Design Centrado no usuário: Pontos de Interação Erton W. Vieira.
ISO9001:2000 para Software Professor: Alexandre Vasconcelos Equipe: Amanda Pimentel Börje Karlsson Danielly Karine Erika Pessoa Jorge Cavalcanti Jose Edson.
TÉCNICAS DE ESTIMATIVAS
Gerenciamento da Qualidade
Estimativa, Teste e Inspeção de Software
1 Estimativa, Teste e Inspeção de Software Gerência de Projetos: Estimativa de Software Marcos Camada
Processos de Software Ludimila Monjardim Casagrande 1º Semestre Desenvolvimento e Qualidade.
Introdução a Métricas de Software Tópicos Avançados em Engenharia de Software III Danielle Dias e Cristine Gusmão / UFPE-PE.
PREVENÇÃO E RECUPERAÇÃO DE FALHAS
TESTES DE SOFTWARE – AULA 1 Prof. Me. Ronnison Reges Vidal
Transcrição da apresentação:

ENGENHARIA DE SOFTWARE Garantia de Qualidade de Software * Livro: Engenharia de Software * Autor: Roger S. Pressman * Editora Makron Books * Capítulo 17

INTRODUÇÃO Todos os métodos, ferramentas e procedimentos utilizados em um software tem um único objetivo: “produzir software de alta qualidade”. A garantia de qualidade de software é aplicada ao longo de todo o processo de engenharia de software. Qualidade de software abrange: 1. Métodos e ferramentas de análise; 2. Revisões técnicas; 3. Estratégia de testes; 4. Controle da documentação; 5. Adequação nos padrões de desenvolvimento.

QUALIDADE DE SOFTWARE E GARANTIA DE QUALIDADE DE SOFTWARE A elevada qualidade de software é uma meta importante. 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.” Os requisitos do software são a base a partir da qual a qualidade é medida. A falta de conformidade aos requisitos significa falta de qualidade.

QUALIDADE DE SOFTWARE E GARANTIA DE QUALIDADE DE SOFTWARE Padrões especificados definem um conjunto de critérios de desenvolvimento que orientam a maneira segundo a qual o software passa pelo trabalho de engenharia. Há um conjunto de requisitos implícitos que não são mencionados. Se o software se adequar aos seus requisitos explícitos, mas deixar de cumprir seus requisitos implícitos, a qualidade de software será suspeita.

Fatores De Qualidade De Software A qualidade de software é uma combinação complexa de fatores que variarão de acordo com diferentes aplicações e clientes que as solicitam. São medidos em dois grupos: 1. Fatores que podem ser medidos diretamente. Exemplos: erros, KLOC, unidade de tempo. 2. Fatores que podem ser medidos indiretamente. Exemplo: usabilidade e manutenibilidade.

Fatores De Qualidade De Software É preciso comparar o software com algum dado e chegar a uma indicação de qualidade. Há alguns fatores de qualidade de software que focalizam 3 aspectos importantes: suas características operacionais, sua facilidade de manutenção e sua adaptabilidade a outro ambiente.

Fatores De Qualidade De Software Revisão do Produto Transição Operação

Fatores De Qualidade De Software Os fatores de qualidade apresentam as seguintes descrições: Corretude: à medida que um programa satisfaz sua especificação e cumpre os objetivos. Confiabilidade: à medida que se pode esperar que um programa execute sua função pretendida com precisão exigida. Eficiência: quantidade de recursos de computação e de código exigida para que um programa execute sua função. Integridade: à medida que o acesso ao software ou os dados por pessoas não-autorizadas é controlado. Usabilidade: esforço para aprender, operar, preparar a entrada e interpretar a saída de um programa.

Fatores De Qualidade De Software Manutenibilidade: esforço exigido para localizar e reparar erros num programa. Flexibilidade: esforço exigido para modificar um programa operacional. Testabilidade: esforço exigido para testar um programa a fim de garantir sua execução. Portabilidade: esforço exigido para transferir o programa de um ambiente para outro. Reusabilidade: um programa pode ser reusado por outros programas. Interoperabilidade: esforço exigido para se acoplar um sistema a outro.

Fatores De Qualidade De Software Concisão: compactação do programa em termos de linhas de código. Segurança: controle que protege programa e dados. Simplicidade: o quanto um programa pode ser entendido sem dificuldade. Modularidade: independência funcional dos componentes. Expansibilidade: o quanto o projeto de arquitetura, procedimental e de dados podem ser ampliados. Inteireza: o quanto a implementação total da função requerida foi conseguida. Autodocumentação: o quanto o código-fonte apresenta documentação significativa.

Fatores De Qualidade De Software E ainda, FURPS: Funcionalidade: é aferida avaliando-se o conjunto de características e as capacidades do programa. Usabilidade: avaliada considerando-se os fatores humanos, a estética global, a consistência e a documentação. Confiabilidade: avaliada medindo-se a freqüência e a gravidade de falhas. Desempenho: medido avaliando-se a velocidade de processamento, tempo de resposta e eficiência. Suportabilidade: capacidade de ampliar o programa.

Garantia de Qualidade de Software (SQA) É importante para negócios que geram produtos que são usados por outros. Paralela com a história da qualidade na manufatura de hardware. Segue um padrão sistemático e planejado de ações que são exigidas para garantir a qualidade. As pessoas que realizam a SQA devem olhar para o software a partir do ponto de vista do cliente. O software atende aos fatores de qualidade ? Foi conduzido com padrões preestabelecidos ? As disciplinas técnicas foram cumpridas ?

Atividades SQA Compreende uma variedade de tarefas: 1. Aplicação de métodos técnicos; 2. Realização de revisões técnicas formais; 3. Atividades de testes de software; 4. Aplicação de padrões; 5. Controle de mudanças; 6. Medição; 7. Manutenção de registros e reportagem.

Atividades SQA A SQA inicia-se com o conjunto de métodos e ferramentas técnicas que ajudam o analista a conseguir uma especificação de elevada qualidade. Quando uma especificação e um projeto tiverem sido criados, cada um deve ser avaliado quanto à qualidade. A atividade de teste de software combina uma estratégia de múltiplos passos com uma série de métodos de projeto de casos de teste que ajudam a garantir uma detecção de erros efetiva.

Atividades SQA O grau em que padrões e procedimentos formais são aplicados no processo de engenharia de software varia de empresa para empresa, podendo ser determinados pelos clientes ou por imposições regulares. Toda mudança no software tem potencial para introduzir erros ou criar efeitos colaterais que propagam erros. Controlar mudanças contribui para a qualidade do software. A medição é uma atividade que faz parte de qualquer disciplina de engenharia.

Atividades SQA Um objetivo importante da SQA é rastrear a qualidade de software e avaliar o impacto das mudanças metodológicas e procedimentais sobre a qualidade de software. Uma métrica de software deve ser coletada. A anotação e manutenção de registros oferecem procedimentos para a coleta e disseminação de informações de SQA. Os resultados de revisões, auditorias, controle de mudanças e testes devem ser levados ao conhecimento do pessoal de desenvolvimento, tendo-se como base a necessidade de conhecimento.

REVISÕES DE SOFTWARE São um “filtro”para o processo de engenharia de software. Servem para descobrir defeitos que possam ser eliminados. Apesar de as pessoas captarem alguns de seus próprios erros, grandes classes de erros escapam e outras pessoas podem identificar mais facilmente. Revisão é uma maneira de : Apontar melhorias necessárias ao produto. Confirmar as partes de um produto em que uma melhoria não é desejada ou não é necessária. Realizar um trabalho técnico com uma qualidade mais uniforme ou, pelo menos, mais previsível.

REVISÕES DE SOFTWARE Muitos tipos diferentes de revisões podem ser realizados como parte da engenharia de software. Um encontro informal em torno de máquina de café é uma forma de revisão, se problemas técnicos forem discutidos. Uma apresentação formal do projeto de software a uma platéia de clientes, à administração e ao pessoal técnico é uma forma de revisão.

Impacto de Custo de Defeitos de Software O objetivo de revisões é descobrir defeitos no software, de forma que possam ser corrigidos. 50% a 60% de todos os erros ocorrem durante a fase de desenvolvimento do processo de engenharia de software. Técnicas de revisão formais são até 75% efetivas na descoberta de falhas de projeto. Detectar e suprimir erros reduz o custo dos passos posteriores nas fases que se seguem.

Impacto de Custo de Defeitos de Software Exemplo: considere uma série de custos que se baseia em dados reais compilados. Suponha que um erro descoberto durante a fase de projeto custe 1u para ser corrigido. Se o erro for descoberto no início dos testes, custará 6,5u; durante os testes 15u; e após o lançamento, entre 60 a 100u (u = unidade monetária)