Qualidade de Software. Profª Rafaella Matos

Documentos relacionados
Qualidade de Software

ISO/IEC Prof. Alexandre Luís Franco

APOSTILAS: NORMAS; ABNT NBR ISO; MPS BR

AVALIAÇÃO DE PRODUTOS DE SOFTWARE

QUALIDADE DE PRODUTO DE SOFTWARE

Qualidade de Software: Visão Geral. SSC 121-Engenharia de Software 1 Profa. Dra. Elisa Yumi Nakagawa

QUALIDADE DE SOFTWARE DEFINIÇÕES / RESUMO. Apostilas de NORMAS, disponíveis no site do professor. Prof. Celso Candido ADS / REDES / ENGENHARIA

Qualidade de Software: Visão Geral. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa

Qualidade de Software (cont)

Qualidade de Software QUALIDADE DE SOFTWARE PRODUTO

Engenharia de Software II

AVALIAÇÃO DA QUALIDADE DE UM SISTEMA ACADÊMICO: ESTUDO DE CASO NO Q- ACADÊMICO

Propostas ISO. Benefícios com a certificação. ISO/IEC 9126 Qualidade de produtos de software

QUALIDADE DE SOFTWARE

Qualidade de Software

Engenharia de Software

Norma ISO/IEC Qualidade dos Produtos de Software. Qualidade dos Produtos de Software

Engenharia de Software

SSC-546 Avaliação de Sistemas Computacionais

Qualidade de Produto. Maria Cláudia F. P. Emer

Manutenção de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015

Melhoria de processos Qualidade. Engenharia de software Profª Karine Sato da Silva

Padrões de Qualidade de Software

GESTÃO E QUALIDADE DE PROJETOS ESTRUTURAIS AULA 02

Introdução. Qualidade de Produto. Introdução. Introdução ISO/IEC Normas

Ação Preventiva Ação para eliminar a causa de um potencial não-conformidade ou outra situação potencialmente indesejável.

Manutenção de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2016

DCC / ICEx / UFMG. O Modelo CMMI. Eduardo Figueiredo.

APOSTILAS: NORMAS; ABNT NBR ISO; MPS BR

Desenvolvido pelo Software Engineering Institute-SEI em 1992 Possui representação por estágios (5 níveis)e contínua (6 níveis)

Introdução à Qualidade de Software

QUALIDADE Grau até o qual um conjunto de características satisfaz as necessidades! Cumprimento dos requisitos pré determinados no Escopo do projeto;

Introdução 27/9/2005. Prof.: Clarindo Isaías Pereira da Silva e Pádua Departamento de Ciência da Computação UFMG Gestus. Usabilidade.

Normas Relacionadas ao Teste de Software

ISO/IEC Roteiro IEC ISO. Histórico ISO/IEC ISO

Gerenciamento Objetivo de Projetos com PSM

INTRODUÇÃO INTRODUÇÃO INTRODUÇÃO ISO 9001 ISO /03/2015 QUALIDADE! GERENCIAMENTO DE PROJETOS GESTÃO DE QUALIDADE

Estágio II. Aula 01 Qualidade de Software. Prof. MSc. Fred Viana

Fundamentos de Teste de Software

AULA 07 Parte 02 Qualidade de Software. Sumário

Engenharia de Software II

Versão 3.1br. Foundation Level Model Based Tester

Visão Geral de Engenharia de Software

Processos de Validação e Verificação do MPS-Br

Paradigmas de Linguagens

FATORES E MÉTRICAS DE QUALIDADE

LIVRO ENGENHARIA DE SOFTWARE FUNDAMENTOS, MÉTODOS E PADRÕES

Crise do Software. Crise de tecnologia - hardware caminha mais rápido que o software

PSP: Personal Software Process. PSP- Personal Software Process. PSP: Personal Software Process. PSP: Personal Software Process

Engenharia de Software II

AULA 02 Qualidade em TI

Análise e projeto de sistemas

Normas ISO:

CRITÉRIOS DA USABILIDADE Um auxílio à qualidade do software

CONTPATRI Plano de Garantia de Qualidade. Versão 1.1

Documento de Requisitos*

PSP Personal Software Process. Maria Cláudia F. P. Emer

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima

Engenharia de Requisitos

ISO/IEC 12207: Manutenção

Capítulo 3: Qualidade de Produto e a ISO 9126

Uma compreensão completa dos Requisitos do Software é fundamental para obter um software e um processo de desenvolvimento com alta qualidade

Qualidade de Software

Avaliação de Processos de Software Utilizando a Norma ISO/IEC Autor : Anisio Iahn Orientador : Everaldo Artur Grahl

ENGENHARIA DE SOFTWARE

2

Engenharia de Software

Qualidade de Software

Transcrição:

Qualidade de Software Profª Rafaella Matos

Introdução a qualidade de software

Relatório do Caos Em 1995 o relatório do caos revelou dados alarmantes sobre investimentos feitos em softwares

Relatório do Caos 31,1% dos projetos seriam cancelados antes de estarem completos/finalizados 52,7% dos projetos custariam 189% de suas estimativas originais 16,2% dos projetos de software não são completados on-time ou on-budget Nas grandes empresas, apenas 42% dos produtos de software contém as funcionalidades e funções originalmente propostas

Em busca de qualidade Como garantir a qualidade do produto gerado? ISO Organização não-governamental fundada em 1947, em Genebra, e hoje presente em cerca de 189 países. A sua função é a de promover a normatização de produtos e serviços, para que a qualidade dos mesmos seja permanentemente melhorada.

Critérios para normatização Uma organização deve seguir alguns passos e atender a alguns requisitos para serem certificadas. Dentre esses podem-se citar: Padronização de todos os processos-chave da organização, processos que afetam o produto e conseqüentemente o cliente; Monitoramento e medição dos processos de fabricação para assegurar a qualidade do produto/serviço, através de indicadores de performance e desvios;

Critérios para normatização Uma organização deve seguir alguns passos e atender a alguns requisitos para serem certificadas. Dentre esses podem-se citar: Implementar e manter os registros adequados e necessários para garantir a rastreabilidade do processo; Inspeção de qualidade e meios apropriados de ações corretivas quando necessário; e Revisão sistemática dos processos e do sistema da qualidade para garantir sua eficácia.

Quais seriam os produtos? Um "produto", no vocabulário da ISO, pode significar um objeto físico, ou serviço, ou software.

Em busca de qualidade Surgimento de modelos reconhecidos CMM (Capability Maturity Model) Nova forma de desenvolver software Papéis bem definidos Processos e ferramentas de apoio Grandes investimentos feitos pelo mercado Amadurecimento na qualidade de software e abertura do mercado internacional

Modelos de qualidade Modelos de qualidade genérico ISO 9000 Modelos de qualidade de software ISO 9126 ISO 15504 ISO 12207 CMM CMMI MPS.br

Qualidade do produto e do processo A qualidade do produto está diretamente relacionada à qualidade do processo de desenvolvimento Modelos aplicados na garantia da qualidade de software atuam principalmente no processo

Qualidade de software Objetivo: Garantir a qualidade do software através da definição e normatização de processos de desenvolvimento

O que é garantia de qualidade? Garantir a qualidade consiste em utilizar um conjunto de atividades que assegurem que todos os esforços sejam feitos para garantir que os produtos de software tenham a qualidade desejada. Portanto garantia de qualidade consiste na realização de revisões técnicas formais que são aplicadas durante cada fase da engenharia de software.

Modelos de qualidade de software Objetivo: Garantir um produto final que satisfaça às expectativas do cliente, dentro daquilo que foi acordado inicialmente

CMM Capability Maturity Model ou Modelo de Maturidade em Capacitação Consiste em: uma soma de "melhores práticas" para diagnóstico e avaliação de maturidade do desenvolvimento de softwares em uma organização

CMM Não diz como fazer e sim o que deve ser feito Portanto: Não é uma metodologia

CMM Descreve os principais elementos de um processo de desenvolvimento de software. Ou seja, descreve os estágios de maturidade por que passam as organizações enquanto evoluem no seu ciclo de desenvolvimento de software, através de avaliação contínua, identificação de problemas e ações corretivas, dentro de uma estratégia de melhoria dos processos.

CMM Este caminho de melhoria é definido por cinco níveis de maturidade: Inicial Gerenciado Definido Gerenciado Quantitativamente Em Otimização

ISO 9000 ISO 9126 ISO 15504 ISO 12207

ISO 9126 Conjunto de normas que tratam da qualidade do software no âmbito da ISO. Estabelece um modelo de qualidade com os seguintes componentes: Processo de desenvolvimento, cuja qualidade afeta a qualidade do produto de software gerado e é influenciado pela natureza do produto desenvolvido;

ISO 9126 Produto, compreendendo os atributos de qualidade do produto (sistema) de software. Estes atributos de qualidade podem ser divididos entre atributos internos e externos. 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;

ISO 9126 Qualidade em uso que consiste na aferição da qualidade do software em cada contexto específico de usuário. Esta é, também, a qualidade percebida pelo usuário.

A norma ISO 9126: Estrutura ISO/IEC 9126-1: Modelo de Qualidade ISO/IEC 9126-2: Métricas Externas ISO/IEC 9126-3: Métricas Internas ISO/IEC 9126-4: Métricas de Qualidade em Uso

ISO/IEC 9126-1: Modelo de Qualidade Documento composto basicamente de definições para as características de qualidade

Modelo de Qualidade Interna e Externa da Norma ISO 9126-1 A norma 9126 se foca na qualidade do produto de software, propondo Atributos de Qualidade Distribuídos em seis características principais, com cada uma delas divididas em sub-características

Modelo de Qualidade para qualidade em uso Visão de qualidade do usuário

Medição do Produto de Software: ISO 9126-2..4 Definições Atributo: Uma propriedade mensurável, física ou abstrata, de uma entidade. Atributos podem ser internos ou externos. Medição: O uso de uma métrica para atribuir um valor (o qual pode ser um número ou uma categoria), obtido a partir de uma escala, a um atributo de uma entidade. Métrica: O método e a escala de medição definidos.

Métricas externas Define indicadores e métricas externas para avaliar um produto de software. Referem-se a medições indiretas de um produto de software a partir do comportamento do Sistema Computacional ou do seu efeito no ambiente, quando da execução de seus programas

Métricas externas Devem ser usadas para: avaliar o comportamento do software quando usado em situações específicas; predizer a qualidade real no uso; avaliar e indicar se o produto satisfaz as verdadeiras necessidades durante a operação real pelo usuário. Exemplo: Característica: Funcionalidade Sub-característica: Adequação quantidade de funções atendidas, que poderão ser subdivididas em desejáveis e obrigatórias.

Métricas internas Define indicadores e métricas internas para avaliar um produto de software Métricas internas referem-se a medições de um produto de software a partir de suas próprias características internas, sem a necessidade de execução dos programas. Exemplos: número de linhas de código, número de erros encontrados em revisões, etc.

Métricas internas As métricas internas oferecem a possibilidade de medir a qualidade dos artefatos intermediários e de prever a qualidade do produto final Isto permite que sejam identificados problemas de qualidade e se inicie a ação corretiva assim que possível no ciclo de vida do desenvolvimento.

Métrica de Funcionalidade

Funcionalidade A capacidade de um software prover funcionalidades que satisfaçam o usuário em suas necessidades declaradas e implícitas, dentro de um determinado contexto de uso. Suas sub-características são: Adequação, que mede o quanto o conjunto de funcionalidades é adequado às necessidades do usuário; Acurácia (ou precisão) representa a capacidade do software de fornecer resultados precisos ou com a precisão dentro do que foi acordado/solicitado;

Funcionalidade Segurança mede a capacidade do sistema de proteger as informações do usuário e fornecê-las apenas (e sempre) às pessoas autorizadas Segurança também pode estar dirigida em, processar gerar e armazenar as informações. Conformidade trata da padronização, politicas e normas de um projeto.

Métricas externas Ex: Adequação

Métricas internas Ex: Segurança

Métrica de Confiabilidade

Confiabilidade O produto se mantém no nível de desempenho nas condições estabelecidas. Suas sub-características são: Maturidade, entendida como sendo a capacidade do software em evitar falhas decorrentes de defeitos no software;

Confiabilidade Tolerância a Falhas representando a capacidade do software em manter o funcionamento adequado mesmo quando ocorrem defeitos nele ou nas suas interfaces externas; Recuperabilidade que foca na capacidade de um software se recuperar após uma falha, restabelecendo seus níveis de desempenho e recuperando os seus dados;

Métricas externas Ex: Maturidade

Métricas internas Ex: Tolerância a falhas

Métrica de Usabilidade

Usabilidade A capacidade do produto de software ser compreendido, seu funcionamento aprendido, ser operado e ser atraente ao usuário. Este conceito é bastante abrangente e se aplica mesmo a programas que não possuem uma interface para o usuário final Suas sub-características são:

Usabilidade Inteligibilidade que representa a facilidade com que o usuário pode compreender as suas funcionalidades e avaliar se o mesmo pode ser usado para satisfazer as suas necessidades específicas; Apreensibilidade identifica a facilidade de aprendizado do sistema para os seus potenciais usuários; Operacionalidade é como o produto facilita a sua operação por parte do usuário, incluindo a maneira como ele tolera erros de operação; Atratividade envolve características que possam atrair um potencial usuário para o sistema, o que pode incluir desde a adequação das informações prestadas para o usuário até os requintes visuais utilizados na sua interface gráfica;

Métricas externas Ex: Inteligibilidade

Métricas internas Ex: Apreensibilidade

Métrica de Eficiência

Eficiência O tempo de execução e os recursos envolvidos são compatíveis com o nível de desempenho do software. Suas sub-características são: Comportamento em Relação ao Tempo que avalia se os tempos de resposta (ou de processamento) estão dentro das especificações; Utilização de Recursos que mede tanto os recursos consumidos quanto a capacidade do sistema em utilizar os recursos disponíveis;

Métricas externas Ex: Comportamento em relação ao uso de recursos

Métricas internas Ex: utilização dos recursos

Métrica de Manutenibilidade

Manutenibilidade A capacidade (ou facilidade) do produto de software ser modificado, incluindo tanto as melhorias ou extensões de funcionalidade quanto as correções de defeitos, falhas ou erros. Suas sub-características são: Analisabilidade identifica a facilidade em se diagnosticar eventuais problemas e identificar as causas das deficiências ou falhas;

Manutenibilidade Modificabilidade caracteriza a facilidade com que o comportamento do software pode ser modificado; Estabilidade avalia a capacidade do software de evitar efeitos colaterais decorrentes de modificações introduzidas; Testabilidade representa a capacidade de se testar o sistema modificado, tanto quanto as novas funcionalidades quanto as não afetadas diretamente pela modificação;

Métricas externas Ex: Modificabilidade

Métricas internas Ex: custo de mudança

Métrica de Portabilidade

Portabilidade A capacidade do sistema ser transferido de um ambiente para outro. Como "ambiente", devemos considerar todo os fatores de adaptação, tais como diferentes condições de infraestrutura (sistemas operacionais, versões de bancos de dados, etc.), diferentes tipos e recursos de hardware (tal como aproveitar um número maior de processadores ou memória). Além destes, fatores como idioma ou a facilidade para se criar ambientes de testes devem ser considerados como características de portabilidade.

Portabilidade Adaptabilidade, representando a capacidade do software se a adaptar a diferentes ambientes sem a necessidade de ações adicionais (configurações); Capacidade para ser Instalado identifica a facilidade com que pode se instalar o sistema em um novo ambiente; Coexistência mede o quão facilmente um software convive com outros instalados no mesmo ambiente; Capacidade para Substituir representa a capacidade que o sistema tem de substituir outro sistema especificado, em um contexto de uso e ambiente específicos. Este atributo interage tanto com adaptabilidade quanto com a capacidade para ser instalado;

Métricas externas Ex: Capacidade para ser instalado

Métricas internas Ex: adaptabilidade

Conclusão Produzir software de qualidade é uma tarefa difícil, porém possível. O processo de avaliação de produtos de software complementa o processo de desenvolvimento

Conclusão São vários os benefícios alcançados decorrentes da avaliação de produtos de software: O produtor poderá assegurar a qualidade do produto final; Redução nos custos com a manutenção do software; O usuário ficará mais satisfeito, pois estará adquirindo um produto de qualidade; O vendedor poderá usar como argumento de venda a qualidade assegurada do produto que está vendendo; Organizações poderão exigir critérios de qualificação com propósitos específicos.