Engenharia de Software III



Documentos relacionados
Introdução Fatores de Qualidade Garantia de Qualidade Rivisões de Software Conclusão. Qualidade. Plácido A. S. Neto 1

Atividade da gerência da qualidade

IC-UNICAMP IC-UNICAMP

Qualidade de Software. Prof.: Ivon Rodrigues Canedo. PUC Goiás

Auditoria e Qualidade de Software ISO/IEC 9126 Engenharia de Software Qualidade de Produto

Qualidade de Software

Qualidade de Software. Profa. Cátia dos Reis Machado

GARANTIA DA QUALIDADE DE SOFTWARE

Engenharia de Software III

Qualidade de software

ISO Aécio Costa

QUALIDADE DO SOFTWARE (PRODUTO)

Prof. Dr. Ivanir Costa. Unidade III QUALIDADE DE SOFTWARE

Atividades da Engenharia de Software ATIVIDADES DE APOIO. Atividades da Engenharia de Software. Atividades da Engenharia de Software

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

Qualidade de Software. Profa. Cátia dos Reis Machado

Qualidade de. Software. Definições. Qualidade do Produto ISO Processo de. Software. Modelo de Processo de. Software CMM SPICE ISO 12207

Qualidade de Software. MC626 Adaptado de notas de aula da Prof. Eliane Martins (

Universidade Regional de Blumenau - FURB

Engenharia de Software

Qualidade de Software. Aécio Costa

21. Qualidade de Produto ou Qualidade de Processo de Software?

Universidade Paulista

CHECK - LIST - ISO 9001:2000

Qualidade de Software. Anderson Belgamo

Qualidade de Software: Visão Geral

CHECK LIST DE AVALIAÇÃO DE FORNECEDORES Divisão:

Modelos de Qualidade de Produto de Software

Engenharia de Software

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)

QUALIDADE DE SOFTWARE

Qualidade e Teste de Software. QTS - Norma ISO (NBR13596) 1

Implantação de um Processo de Medições de Software

Fundamentos de Teste de Software

Fundamentos em Teste de Software. Vinicius V. Pessoni

Unidade VI. Validação e Verificação de Software Teste de Software. Conteúdo. Técnicas de Teste. Estratégias de Teste

Engenharia de Software II

Análise de Pontos por Função

LEVANTAMENTO DE REQUISITOS. Lílian Simão Oliveira

Documento de Requisitos

O Impacto da Engenharia de Requisitos no Processo de Métricas. Fátima Cesarino CAIXA

CONCURSO PÚBLICO ANALISTA DE SISTEMA ÊNFASE GOVERNANÇA DE TI ANALISTA DE GESTÃO RESPOSTAS ESPERADAS PRELIMINARES

Tipos de teste de software

ISO/IEC 12207: Gerência de Configuração

SIMULADO: Simulado 3 - ITIL Foundation v3-40 Perguntas em Português

Engenharia de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

Qualidade de Software

Engenharia de Software II

CÓPIA NÃO CONTROLADA. DOCUMENTO CONTROLADO APENAS EM FORMATO ELETRÔNICO. PSQ PROCEDIMENTO DO SISTEMA DA QUALIDADE

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

Sistemas de Gerenciamento de Banco de Dados

Engenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com

Qualidade de Processo de Software Normas ISO e 15504

Introdução Visão Geral Processos de gerenciamento de qualidade. Entradas Ferramentas e Técnicas Saídas

Projeto de Sistemas I

Engenharia de Software

Gestão da Tecnologia da Informação

NORMAS ISO E SUA IMPORTÂNCIA NA PRODUÇÃO DE SOFTWARE

Garantia da Qualidade de Software

Gerenciador de Log. Documento Visão. Projeto Integrador 2015/2. Engenharia de Software. Versão 2.0. Engenharia de Software

ENGENHARIA DE SOFTWARE I

Análise e Projeto de Sistemas. Engenharia de Software. Análise e Projeto de Sistemas. Contextualização. Perspectiva Histórica. A Evolução do Software

Tecnologia e Sistemas de Informações

Visão Geral da Qualidade de Software

Análise Estruturada de Sistemas

Módulo 4 DISPONIBILIDADE E CONFIABILIDADE DE ATIVOS DE TRANSPORTES

EVOLUÇÃO DE SOFTWARE

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos


APRESENTAÇÃO DA DISCIPLINA QUALIDADE DE SOFTWARE. Isac Aguiar isacaguiar.com.br

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Gerência de Projetos Prof. Dr. Sandro Ronaldo Bezerra Oliveira

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

Análise e Projeto Orientados a Objetos Aula IV Requisitos. Prof.: Bruno E. G. Gomes IFRN

BANCO CENTRAL DO BRASIL 2009/2010

Políticas de Qualidade em TI

Qualidade de Produto de Software

SGQ 22/10/2010. Sistema de Gestão da Qualidade. Gestão da Qualidade Qualquer atividade coordenada para dirigir e controlar uma organização para:

Processos de Desenvolvimento de Software

Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software

Unidade III QUALIDADE DE SOFTWARE. Encontra-se no site da ABNT (Associação Brasileira de Normas Técnicas) 1 as seguintes definições: Normalização

Exame de Fundamentos da ITIL

O que é Gerenciamento de Redes de Computadores? A gerência de redes de computadores consiste no desenvolvimento, integração e coordenação do

Gerência de Redes. Introdução.

Gerência de Projetos

Gerenciamento de Incidentes

Normas e Padrões de Qualidade em Software - I

GESTÃO DAS INFORMAÇÕES DAS ORGANIZAÇÕES MÓDULO 11

Tópicos da Aula. Que é são requisitos? Tipos de Requisitos. Requisitos Funcionais. Classificação de Requisitos. Requisitos de Software.

Prova de Conhecimento para Consultores de Implementação MPS.BR INSTRUÇÕES

Pós-Graduação em Gerenciamento de Projetos práticas do PMI

Engenharia de Software. Apostila I >>> Introdução à ES - HEngholmJr

QUALIDADE DE SOFTWARE. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 27 Slide 1

Transcrição:

Departamento de Informática Programa de Pós Graduação em Ciência da Computação Laboratório de Desenvolvimento Distribuído de Software Estágio de Docência http://www.din.uem.br/~pg45640/

Qualidade de Software

O que significa Qualidade de Software? Conformidade aos 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.

O que significa Qualidade de Software? Conformidade do Software aos Requisitos Funcionais e aos Requisitos Não- Funcionais estabelecidos!

Qualidade a partir de Diferentes Pontos de Vista O usuário deseja que o produto de software esteja em conformidade com as suas necessidades e seja confiável, eficiente e fácil de ser utilizado. O produtor do software deseja um produto de fácil manutenção, verificação e fácil de ser entendido e adaptado. O gerente deseja que o processo de desenvolvimento seja produtivo e fácil de ser controlado.

Atributos de Qualidade de software (ou Requisitos Não- Funcionais) segundo McCall: Manutenibilidade Flexibilidade Capacidade de Teste Revisão do Produto Transição do Produto Portabilidade Reusabilidade Interoperabilidade Operação do Produto Corretitude Usabilidade Eficiência Integridade

Atributos de Qualidade Manutenibilidade: o esforço exigido para localizar e reparar erros num programa. Flexibilidade: esforço exigido para modificar um programa operacional. Testabilidade: o esforço exigido para testar um programa a fim de garantir que ele execute a sua função pretendida. Portabilidade: o esforço exigido para transferir um programa de um ambiente de hardware e/ou software para outro.

Atributos de Qualidade Reusabilidade: à medida que um programa (ou partes de um programa) pode ser reutilizado em outras aplicações. Interoperabilidade: o esforço exigido para fazer com que dois sistemas ou componentes se comuniquem. Corretitude: à medida que um programa satisfaz a sua especificação e cumpre os objetivos visados pelo cliente. Confiabilidade: a probabilidade de operação livre de falhas de um programa de computador num ambiente específico durante determinado tempo.

Atributos de Qualidade Eficiência: a quantidade de recursos de computação e de código exigida para que um programa execute a sua função. Integridade: à medida que o acesso ao software ou a dados por pessoas não-autorizadas pode ser controlado. Usabilidade: o esforço exigido para aprender a operar o software, preparar a entrada e interpretar a saída de um programa.

Requisitos Não-Funcionais ISO 9126 Interoperabilidade: Capacidade de interagir com outros sistemas; Segurança de acesso: Capacidade de evitar acesso não autorizado a programas e dados. Características relacionadas a confiabilidade do software: referem-se à capacidade do software manter o seu nível de desempenho, sob condições estabelecidas, por um determinado período de tempo, sendo elas:

Requisitos Não-Funcionais ISO 9126 Maturidade: Avalia a freqüência de falhas no software. Tolerância a falhas: Avalia a capacidade de manter o nível de desempenho em casos de falhas. Recuperabilidade: Avalia a capacidade do software em restabelecer e restaurar dados após a falha.

Requisitos Não-Funcionais ISO 9126 Características relacionadas a usabilidade do software: referem-se ao esforço necessário ao uso e à homologação individual de tal uso, por um conjunto de usuários estabelecidos ou subentendido. Representada por uma característica Universidade Estadual de MaringCaracterísticas relacionadas a que usabilidade é a: do software: referem-se ao esforço necessário ao uso e à homologação individual de tal uso, por um conjunto de usuários estabelecidos ou subentendido. Representada por uma característica que é a: Operacionalidade: Avalia o esforço do usuário para Operacionalidade: Avalia o esforço do usuário para operar e operar controlar e a controlar operação de a software.á operação - 4º de ano software. de Informática

Requisitos Não-Funcionais ISO 9126 Características relacionadas a manutenibilidade do software: Refere-se ao esforço necessário para fazer modificações específicas no software. São elas: Modificabilidade: Avalia o esforço necessário para a modificação e remoção de defeitos; Testabilidade: Avalia o esforço necessário para validar as modificações realizadas.

Requisitos Não-Funcionais ISO 9126 Características relacionadas a portabilidade do software: Refere-se à habilidade do software ser transferido de um ambiente para outro. Representada por apenas característica que é a: Adaptabilidade: Avalia a capacidade de adaptação do software em outros ambientes sem exercer ações e procedimentos adicionais e diferentes daqueles previstos originalmente para esta finalidade.

Gerenciamento de Qualidade de Software

A constante busca pela qualidade e pela satisfação, faz com que os gerentes de projetos se preocupem com a melhor maneira de gerenciar seus produtos.

Outro fator de grande relevância é o cliente Mais exigente Busca pela agilidade e qualidade

Segundo nos apresenta: CLELAND/IRELAND (2006); alguns fatores que evidenciam problemas nas etapas do projeto são: O projeto excedeu os custos e/ou a programação almejada? O projeto não é adequado à missão, aos objetivos e às metas da empresa? Permitiu-se que o projeto fosse além do ponto em que os resultados seriam necessários para cumprir as expectativas do cliente?

Foi feito um desenho errado dos padrões técnicos de desempenho do projeto? A alta administração não deu suporte ao projeto?

É de extrema importância que um projeto independente de sua área de atuação, ou linha de pesquisa, possua um planejamento inicial e um gerenciamento contínuo. CAVALIERI/CAMPBELL (2005)

Características Sub-características Pergunta chave para a Sub-característica 1.Funcionalidade (Satisfaz as necessidades?) A dequação A curácia Propõe-se a fazer o que é apropriado? Presença das funções especificadas? Faz o que foi proposto de forma correta? O produto gera resultados precisos ou dentro do esperado? Interoperabilidade Interage com os sistemas especificados? Conformidade Segurança de A cesso Está de acordo com as normas, leis, etc? Está de acordo com padrões, convenções ou regras? Evita (ou ao menos previne) acesso não autorizado aos dados?

2.C onformidade (é imune a falhas?) M aturidade Tolerância a Falhas R ecuperabilidade C om que freqüência apresenta falhas? O correndo falhas, como ele reage? capacidade do produto para manter determinados níveis de desempenho mesmo na presença de problemas. É capaz de recuperar dados em caso de falha? capacidade do produto para reestabelecer o nível de desempenho desejado e recuperar dados em caso de ocorrência de falha.

3.U s a b ilid a d e (é fá c il d e u s a r? ) In te le g ib ilid a d e É fá c il e n te n d e r o c o n c e ito a p lic a ç ã o? A p re e n s ib ilid a d e É fá c il a p r e n d e r a u s a r? O p e ra c io n a lid a d e É fá c il d e o p e ra r e c o n tr o la r?

4.Eficiência (é rápido e enxuto?) Tempo Recursos Qual é o tempo de resposta, a velocidade de execução? Medida do tempo de resposta e de processamento ou taxas de processamento (throughput), ao executar a funções prescrita s. Quanto recurso usa? Durante quanto tempo? Medida da quantidade de recursos necessários (CPU, disco e memória, dentre outros) e a duração do seu uso ao executar as funções prescritas.

5.Manutenibilidade (é fácil de modificar?) Analisabilidade Modificabilidade Estabilidade Testabilidade É fácil de encontrar uma falha, quando ocorre? Esforço necessário para diagnosticar deficiências ou causas de falhas, ou localizar as partes a serem modificadas para corrigir os problemas É fácil modificar e adaptar? esforço necessário para realizar alterações, remover falhas ou para adequar o produto a eventuais mudanças de ambiente operacional. Há grande risco quando se faz alterações? É fácil testar quando se faz alterações?

6.P o rtabilid ad e (é facil d e u sar em o u tro am b ien te?) A d ap tab ilid ad e É fácil ad aptar a o u tro s am b ien tes? C apacid ade p ara ser in staladé ofácil in stalar em outro s am b ien tes? C o n fo rm id ad e E stá de acord o co m p ad rõ es d e p ortabilidad e? C ap acid ad e p ara su b stitu iré fácil usar p ara su b stitu ir o u tro?

SQA Software Quality Assurance (Garantia de Qualidade de Software)

Garantia de Qualidade de Software De que forma garantir a qualidade de software? 1. Aplicando métodos técnicas e ferramentas ao longo do desenvolvimento; 2. Realizando planejamento de projeto e estimativas; 3. Realizando revisões técnicas formais;

Garantia de Qualidade de Software 4. Realizando testes de software através de diferentes e complementares enfoques; 5. Aplicando padrões ao desenvolvimento; 6. Controlando mudanças de software; 7. Realizando medições.

Garantia de Qualidade de Software A Garantia de Qualidade de Software envolve um conjunto de atividades aplicadas ao longo de todo o processo de desenvolvimento. A qualidade de um produto é obtida ao longo do seu processo de criação e não imposta após o fato!

Aplicando métodos técnicos A qualidade de software é projetada num produto ou sistema. Ela não é imposta após o fato (ou seja, após o software pronto). Por essa razão, a SQA inicia-se de fato com o conjunto de métodos e ferramentas técnicas que ajudam o analista a conseguir uma especificação de elevada qualidade.

Revisões técnicas formais Reunião de Revisão: encontro formal onde um modelo é apresentado a técnicos e usuários para comentários e aprovação; Inspeção: avaliação técnica formal onde modelos são examinados em detalhe por um técnico ou grupo (outros que não os desenvolvedores) para detecção de erros, de violação de padrões préestabelecidos e outros problemas.

Revisões técnicas formais Walkthrough: reunião formal de revisão préagendada na qual revisores (técnicos) e o produtor do software participam. Concentra-se em um módulo ou parte do software. O produtor caminha através do produto explicando o material (a documentação), enquanto os revisores levantam questões.

Revisões técnicas formais Ao final de uma revisão, os participantes devem decidir se: 1. Aceitam o produto sem modificações; 2. Aceitam o produto com pequenas modificações; 3. Não aceitam o produto devido a erros graves localizados. Um relatório de revisão e uma lista das questões a serem revisadas (defeitos) devem ser gerados.

Revisões técnicas formais Objetivos: Descobrir erros no software no início do ciclo de vida; Verificar se o software atende aos seus requisitos; Garantir que o software segue padrões; Tornar os projetos mais administráveis; Tornar o projeto conhecido por mais pessoas.

Diretrizes de Revisão Revise o produto, não o produtor; Fixe e mantenha uma agenda; Limite o debate; Faça anotações; Reveja antigas revisões; Desenvolva uma checklist para cada produto; Limite o número de participantes e o tempo da reunião.

Testes de software Os custos envolvidos associados às falhas de software estimulam a realização de uma atividade de teste cuidadosa e bem planejada. Não é incomum que uma organização gaste 40% do esforço de projeto total em teste.

Objetivos da Atividade de Teste 1. A atividade de teste é o processo de executar um programa com a intenção de descobrir um erro. 2. Um bom caso de teste é aquele que tem uma elevada probabilidade de revelar um erro ainda não descoberto. 3. Um teste bem-sucedido é aquele que revela um erro ainda não descoberto.

Controle de Mudanças no Software O gerenciamento de configuração de software é uma atividade aplicada durante todo o processo de engenharia de software. Configuração do software envolve: documentos, programas e estruturas de dados. Mudanças efetuadas num objeto (ou item) de configuração desenvolvido e revisado (ou seja, que conste de uma baseline) resultam na criação de uma nova versão deste objeto.

Controle de Mudanças no Software O processo de controle de mudanças inicia-se com um pedido de mudança, leva a uma decisão de aceitar ou rejeitar o pedido de mudança, e culmina com a atualização controlada de um ou mais SCI (Software Configuration Item). Deve ser analisado o impacto da mudança sobre todo o software.

Exercício

André Dias Martins Bacharel em Ciências Contábeis Bacharel em Sistemas de Informação Especialista em Ciências Econômicas Especialista em Desenvolvimento de Sistemas para Web Especialista em Didática e Metodologia para o Ensino Superior Mestrando em Ciência da Computação (Engenharia Software) andredias.uem@gmail.com http://www.din.uem.br/~pg45640/