Produto de Software Qualidade de Software Um produto de software compreende os programas e procedimentos de computador e a documentação e dados associados, que foram projetados para serem liberados para o usuário [ISO /IEC 12207-1]. Qualidade de produto de software A totalidade das características que sustenta sua habilidade em satisfazer necessidades declaradas ou implícitas. ISO 8402: 1986 Qualidade de software (Pressman) 1
Qualidade de software (Pressman) Qualidade de software (Pressman) Base a partir da qual a qualidade é medida Conjunto de critérios de desenvolvimento que guia o modo pelo qual o software é construído Qualidade de software (Pressman) Requisitos que frequentemente não são mencionados mas são importantes (facilidade de uso, manutenibilidade) Gerais Processo Produto Propostas NBR ISO 9000:2005 define principios e vocabulário NBR ISO 9001:2000 define exigências para sistema de gerência de qualidade NBR ISO 9004:2000 apresenta linha diretivas para o melhoramento do desempenho da empresa ISO/IEC 12207-95 Processo de ciclo de vida do software CMMI Modelo de capacidade de maturação para software ISO/IEC 15504 Modelo de melhoramento e avaliação do Processo MPS-BR McCall (1977), FURPS e Usabilidade (Nielsen) ISO/IEC 25000:2005 (projeto SQUARE)- introdução geral ISO/IEC 2501n:2005 evolução da ISO/IEC 9126 Qualidade do produto ISO/IEC 2504n: 2005 evolução da ISO/IEC 14598 Guia de Avaliação 2
Modelo de McCall 1977 Fatores e critérios Manutenibilidade Flexibilidade Testabilidade Revisão Portabilidade Reusabilidade Interoperabilidade Transição Modelo da HP (FURPS) Baseado no Modelo de McCall FURPS Functionality (Funcionalidade) Usability (Usabilidade) Reliability (Confiabilidade) Performance (Desempenho) Supportability (Suportabilidade) Corretude Confiabilidade Operação Eficiência Integridade Usabilidade Usabilidade Dez princípios heurísticos de Nielsen - USABILIDADE Nielsen, Jakob; LORANGER, Hoa. Usabilidade na Web. Rio de Janeiro. Elsevier, 2007. Manter o usuário sempre informado sobre as ações e dar orientações de procedimentos a cada situação O site deve falar a linguagem do usuário, utilizando palavras, frases e conceitos familiares, apresentando as informações em ordem natural e lógica Dar ao usuário informações que ele possa fazer ou desfazer ações Oferecer ao usuário um padrão de navegação em todas as páginas A partir de um projeto cuidadoso, deve-se minimizar a ocorrência de erros 3
Dez princípios heurísticos de Nielsen - USABILIDADE Nielsen, Jakob; LORANGER, Hoa. Usabilidade na Web. Rio de Janeiro. Elsevier, 2007. Objetos, ações e opções visíveis auxiliam o usuário a localizar o que deseja, mesmo na navegação de uma página a outra Projetar a interface de forma a atenter tanto os usuários experientes como os novatos Informações apresentadas (textos e elementos gráficos) devem ser relevantes e relacionados diretamente ao assunto, o conceito do site As mensagens de erro devem ser claras e objetivas (não use códigos) e, além de indicar o problema, precisam sugerir uma solução Oferecer ferramentas de ajuda e documentação que auxiliem a busca de informações (busca por palavras ou mata do site, por exemplo) ISO 9126 Norma ISO/IEC 2501n (Futura) NBR 13596 (ISO 9126) (Atual) Inicio 1985 publicação 1991 NBR 13596 Tradução da Norma ISO/IEC 9126 Publicada em agosto de 1996. Projeto SQuare ISO 2501n (futuro) Seis características Funcionalidade, Confiabilidade, Usabilidade, Eficiência, Manutenibilidade, Portabilidade Cada característica, por sua vez, é dividido em algumas subcaracterísticas. Norma NBR 13596 (ISO/IEC 9126) Exemplo FUNCIONALIDADE - Satisfaz as necessidades? SUBCARACTERÍSTICA / PERGUNTA CHAVE Adequação: Propõe-se a fazer o que é apropriado? Acurácia: Faz o que foi proposto de forma correta? Interoperabilidade: É capaz de interagir com os sistemas especificados? Conformidade: Está de acordo com as normas, leis, etc.? Segurança de Acesso: Evita acesso não autorizado a programas e dados? Pacote de Software Produto de software que envolve um conjunto completo e documentado de programas fornecidos a diversos usuários para uma aplicação ou função genérica. Também conhecido como software de prateleira. 4
Norma NBR 12119 Qualidade de Pacotes de Software Norma NBR 12119 - publicada em 1996 Trata da avaliação de pacotes de software Está organizada em duas partes Requisitos de Qualidade Descrição do produto Documentação do usuário Programas e dados Instruções para Teste Pré-requisitos de teste Atividades de teste Registros de teste Relatório de teste Norma NBR 12119 Exemplo Descrição do produto Requisitos gerais sobre o conteúdo da descrição do produto; Identificações e indicações; Declarações sobre: Funcionalidade; Confiabilidade; Usabilidade; Dificultadores para a Qualidade Complexidade dos produtos de software Software é invisível, portanto sua representação em grafos e diagrama não é precisa nem suficiente A engenharia de software ainda não está madura Não há consenso entre os profissionais sobre o que é qualidade Premissas da Qualidade Deve estar inserida já nas primeiras fases do ciclo de vida do desenvolvimento de software Envolvimento de todas as pessoas (desde a alta administração até os técnicos) Recursos financeiros e humanos Treinamento e comunicação Planejar e estimar prazos 5
Exercícios Elabore uma forma de comparar dois programas para saber qual deles tem mais qualidade A engenharia de software foi criada para resolver os problemas da crise de software, ou seja, para que os softwares produzidos tivessem qualidade a um preço e prazo razoaveis e que pudessem ser corretamente planejados. Mas os fatores que levaram os pesquisadores a denominarem o termo crise de software estão ainda presentes. Discuta se o termo crise é adequado e quais as principais conquistas dos ultimos trinta anos da área. 6