A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

CIn-UFPE1 Introdução à Qualidade de Software Alexandre M. Lins de Vasconcelos Centro de Informática - UFPE

Apresentações semelhantes


Apresentação em tema: "CIn-UFPE1 Introdução à Qualidade de Software Alexandre M. Lins de Vasconcelos Centro de Informática - UFPE"— Transcrição da apresentação:

1 CIn-UFPE1 Introdução à Qualidade de Software Alexandre M. Lins de Vasconcelos Centro de Informática - UFPE amlv@cin.ufpe.br

2 CIn-UFPE2 Motivação n O principal objetivo da Engenharia de Software (ES) é ajudar a produzir software de qualidade; n Empresas que desenvolvem software de qualidade são mais competitivas; n Empresas que utilizam software de alta qualidade podem, em geral, oferecer um melhor serviço a um preço mais competitivo.

3 CIn-UFPE3 Conceito de Qualidade de Software n “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” (Pressman).

4 CIn-UFPE4 Fatores de Qualidade de Software n A noção de qualidade de software pode ser descrita por um grupo de fatores, requisitos ou atributos, tais como: confiabilidade, eficiência, facilidade de uso, modularidade, legibilidade, etc; n Podemos classificar estes fatores em dois tipos principais: externos e internos; Fatores Internos Fatores Externos

5 CIn-UFPE5 Dimensões da Qualidade do Software

6 CIn-UFPE6 Controle e Garantia de Qualidade n Gerentes querem os melhores projetistas para projetar o produto, mas em geral não podem tê-los; n Não existe técnica que possibilite o desenvolvimento de software isento de defeitos; n Controle de Qualidade evita que produtos defeituosos sejam entregues aos clientes; n Garantia da Qualidade tenta produzir software com uma baixa taxa de defeitos; n Existe então a necessidade de concentrar esforços em métodos de SQA (Software Quality Assurance); n O papel de SQA é monitorar os métodos e padrões que os engenheiros de software usam.

7 CIn-UFPE7 Atividades de SQA n O SEI (Software Engineering Institute) recomenda as seguintes atividades para o grupo de SQA  Preparar um plano de SQA;  Participar da descrição do projeto de software;  Revisar as atividades dos engenheiros de software;  Documentar e consertar os desvios;  Registrar discordâncias e reportar para o gerente;  Gerenciar mudanças e métricas de software.

8 CIn-UFPE8 Certificação de Qualidade n Não basta que a qualidade exista, ela deve ser reconhecida pelo cliente; n Deve existir uma certificação oficial emitida com base em um padrão; n As certificações são dadas por instituições competentes; n Exemplos de certificação:  Selo SIF de qualidade de produtos alimentícios;  Selo ABIC de qualidade do café;  Classificação da rede hoteleira.

9 CIn-UFPE9 Certificação do Produto ou do Processo? n Hoje em dia, a qualidade do processo é mais importante do que a qualidade final do produto; n Existem normas e padrões tanto para produtos quanto para processos.

10 CIn-UFPE10 Padrões de Qualidade de Software n Qualidade de produtos de software - ISO 9126 (versão brasileira - NBR 13596); n Qualidade de pacotes de software - ISO 12119; n Qualidade do processo de software  ISO 9000 /ISO 9001/SO 9000-3  Capability Maturity Model (CMM) n Outros padrões para qualidade de processo  Personal Software Process (PSP)  SPICE

11 CIn-UFPE11 Qualidade de produtos de software - ISO 9126 n Conjunto de características que devem estar presentes em um software de qualidade:  Funcionalidade - satisfaz as necessidades?  Confiabilidade - é imune a falhas?  Usabilidade - é fácil de usar?  Eficiência - é rápido e “enxuto”?  Manutenibilidade - é fácil de modificar?  Portabilidade - é fácil de usar em outro ambiente? n Muitas destas características são subjetivas; n Outras podem ser definidas por meio de métricas.

12 CIn-UFPE12 Qualidade de pacotes de software - ISO 12119 n Trata da avaliação de “software de prateleira”; n Descreve detalhes que devem estar presentes no software, tais como:  Documentação do usuário de fácil compreensão;  Um sumário e um índice remissivo na documentação do usuário;  Presença de um manual de instalação com instruções detalhadas;  Possibilidade de verificar se uma instalação foi bem sucedida;  Especificação de valores limites para os dados de entrada;  etc.

13 CIn-UFPE13 Qualidade do Processo de Software - A Série ISO 9000 n “Padrões de Gerenciamento e de Garantia de Qualidade - Diretrizes para Seleção e Uso”. n Série de padrões ISO 9000: conjunto de documentos que trabalham com sistemas de qualidade que podem ser usados para propostas de garantia de qualidade externa. n O ISO 9000 descreve os elementos de sistemas de garantia de qualidade (estrutura organizacional, procedimentos, processos e recursos) em termos gerais.

14 CIn-UFPE14 ISO 9001 n “Sistemas de Qualidade - Modelo para Garantia de Qualidade em Projeto, Desenvolvimento, Produção, Instalação e Serviço”; n Aplicado para todas as engenharias.

15 CIn-UFPE15 ISO 9000-3 n Orientação para a aplicação da ISO 9001 no processo de Engenharia de Software; n Todas as orientações giram em torno de uma “situação contratual”, onde uma empresa contrata outra empresa para desenvolver um produto de software; n A norma e os guias relacionados assumem que o fornecedor gerencie o desenvolvimento de projetos usando um modelo de ciclo de vida; n Nenhum modelo particular é requerido ou recomendado pela norma.

16 CIn-UFPE16 Críticas à ISO 9001 n Certificação não é uniforme ou é menos uniforme do que aparenta. Diferença entre países, dos certificadores e dos próprios auditores. n Os padrões são genéricos para todos os tipos de organizações, deixando muito para interpretação. n Aparenta promover uma resposta baseada no papel (burocracia) para as organizações que procuram a certificação. n Preço alto da certificação para pequenas e médias empresas.

17 CIn-UFPE17 Qualidade do processo de software - Capability Maturity Model (CMM) n Descreve princípios e práticas relacionadas à maturidade do processo de software; n Tem o objetivo de ajudar as organizações a melhorarem seus processos de software em termos de um caminho evolutivo que vai de ad hoc (processos caóticos) a processos maduros e disciplinados; n Para isto define o conceito de nível de maturidade: base evolucionária bem definida direcionada a obter um processo de software maduro.

18 CIn-UFPE18 Organizações maduras Organizações imaturas Papéis e responsabilidades bem Processo improvisado definidos Existe base histórica Não existe base histórica É possível julgar a qualidade do Não há maneira objetiva de julgar produto qualidade do produto A qualidade dos produtos e Qualidade e funcionalidade do processos é monitorada produto podem ser sacrificadas O processo pode ser atualizado Não há rigor no processo a ser seguido Existe comunicação entre o gerente e seu grupo Resolução de crises imediatas Maturidade

19 CIn-UFPE19 Os 5 Níveis de Maturidade Inicial Processo caótico e ad hoc. O gerenciamento é “pensado” durante o desenvolvimento. Foco no indivíduo. Reproduzível Processos estabelecidos por experiências anteriores. Foco na gerência. Definido Processos padronizados, documentados e integrados. Foco no processo organizacional. Gerenciado Medidas de qualidade são coletadas. O processo e o produto são entendidos e controlados quantitativamente. Foco no controle quantitativo da qualidade. Otimizado Um processo de melhora contínuo é capacitado p/retorno quantitativo do processo e das idéias. Foco na melhoria.

20 CIn-UFPE20 n A ênfase é no gerenciamento do projeto e não no desenvolvimento do produto n Não define o seu domínio de aplicabilidade n Dificuldade para implantação em pequenas empresas Críticas ao Modelo CMM

21 CIn-UFPE21 Curiosidades sobre o CMM n Algumas empresas no mundo com nível 5:  BOEING;  Loral Systems (IBM);  Unidade da Motorolla (Índia);  Base de Eduards (USAF);  Lock Hit (empresa de aviação). n No Brasil temos:  Nível 2 ou 3 : NEC, ERICSON, CITIBANK, XEROX, SERPRO, Siemens (implantou nível 2 ou 3, mas não se certificou)

22 CIn-UFPE22 Conclusão n Qualidade é um conceito complexo, porque significa diferentes coisas para diferentes pessoas; n Não há uma simples medida para qualidade de software que seja aceitável para todos os projetos de todas as empresas; n Para estabelecer ou melhorar a qualidade de software, deve-se definir os aspectos de qualidade nos quais se está interessado e, então, decidir como fazer para medi-los; n A implantação de um sistema de qualidade permite um aumento de produtividade, uma melhoria da qualidade do produto final e um aumento da satisfação dos clientes e da própria empresa; n A falta de consciência de muitas empresas e profissionais que lidam com sistemas complexos tem sido um dos maiores problemas em adotarem uma política de qualidade; n Apesar dos custos elevados, é importante introduzir sistemas de gerenciamento de qualidade de software, como o ISO 9001 ou o CMM.


Carregar ppt "CIn-UFPE1 Introdução à Qualidade de Software Alexandre M. Lins de Vasconcelos Centro de Informática - UFPE"

Apresentações semelhantes


Anúncios Google