Baixe o app para aproveitar ainda mais
Prévia do material em texto
QUALIDADE DE SOFTWARE 1 Apresentação ............................................................................................................................ 3 Aula 1: Sua Importância & Aplicação .................................................................................. 4 Introdução ............................................................................................................................. 4 Conteúdo ................................................................................................................................ 5 Conceito de qualidade de software ............................................................................... 5 O produto de software ..................................................................................................... 5 Produto de software, fatores e critérios ........................................................................ 6 Fatores, métricas e garantia da qualidade de software .............................................. 7 A medição dos níveis de maturidade ............................................................................ 7 Garantia da qualidade de software ................................................................................ 9 Estatística da qualidade .................................................................................................. 10 A confiabilidade ............................................................................................................... 12 A segurança ...................................................................................................................... 12 A aplicação de técnicas para a garantia estatística da qualidade de software .... 12 ISO 9000 ............................................................................................................................ 14 Atividade proposta .......................................................................................................... 17 Aprenda Mais ....................................................................................................................... 17 Referências........................................................................................................................... 18 Exercícios de fixação ......................................................................................................... 19 Chaves de resposta ..................................................................................................................... 24 Aula 2: Qualidade do Produto de Software..................................................................... 27 Introdução ........................................................................................................................... 27 Conteúdo .............................................................................................................................. 28 Conhecendo a normatização NBR-ISO 9126 ............................................................. 28 Conhecendo a normatização ISO/IEC 12119 ............................................................. 30 Conhecendo a normatização ISO/IEC 9241 ............................................................... 32 O conceito de usabilidade segundo a ISO .................................................................. 32 Síntese dos objetos da norma ISO 9241 ...................................................................... 33 Atividade proposta .......................................................................................................... 34 Aprenda Mais ....................................................................................................................... 34 Referências........................................................................................................................... 35 Exercícios de fixação ......................................................................................................... 36 Chaves de resposta ..................................................................................................................... 42 QUALIDADE DE SOFTWARE 2 Aula 5: Modelos de melhoria e avaliação do Processo e do Produto de Software ..................................................................................................................................................... 46 Introdução ........................................................................................................................... 46 Conteúdo .............................................................................................................................. 47 Conhecendo a ISO/IEC 14598 ....................................................................................... 47 A ISO/IEC – NBR ISO/IEC 4598 ...................................................................................... 47 Visão geral do processo – ISO 14598-1 ....................................................................... 48 A ISO/IEC 9000-3 ............................................................................................................. 50 Atividade proposta .......................................................................................................... 53 Referências........................................................................................................................... 54 Exercícios de fixação ......................................................................................................... 56 Chaves de resposta ..................................................................................................................... 60 Aula 6: Qualidade de software – sua importância & aplicação ................................. 62 Introdução ........................................................................................................................... 62 Conteúdo .............................................................................................................................. 63 ISO/IEC 15.504 (SPICE) .................................................................................................... 63 Elementos normativos da ISO 15.504 .......................................................................... 64 Utilização da ISO/IEC 15.504 ......................................................................................... 65 Determinação da capacidade........................................................................................ 65 CMMI .................................................................................................................................. 66 Representação contínua e por estágios ...................................................................... 67 Estágios do CMMI ............................................................................................................ 67 MPS ..................................................................................................................................... 68 MPS-BR: níveis de maturidade ...................................................................................... 69 MPS-BR .............................................................................................................................. 70 Atividade proposta .......................................................................................................... 71 Aprenda Mais ....................................................................................................................... 72 Referências........................................................................................................................... 72 Exercícios de fixação .........................................................................................................73 Chaves de resposta ..................................................................................................................... 79 Conteudista ................................................................................................................................. 82 QUALIDADE DE SOFTWARE 3 Nos dias atuais não temos como falar de software sem falar de qualidade. A qualidade está ligada a todos os aspectos e elementos de um produto de software. Quando antes não se falava em Engenharia de Software a preocupação única era a Análise apenas dos fatores CUSTO x BENEFÍCIO. A Engenharia de Software nos apresenta fatores e critérios que nos leva garantir a QUALIDADE DE SOFTWARE. Existe, tópicos pontuais que se fazem necessários ter o conhecimento para garantir a qualidade de software tanto para o processo quanto para o produto. As normatizações e modelos é que na sua aplicação irá nos garantir a qualidade bem como a possibilidade das melhorias. Sendo assim, essa disciplina tem como objetivos: 1. Definir e descrever o conceito de qualidade de software. 2. Apontar normas e modelos de qualidade de software. 3. Descrever a importância de avaliar e garantir a qualidade de software para o processo e o produto. QUALIDADE DE SOFTWARE 4 Introdução Nos dias atuais, não temos como falar de software sem falar de qualidade. A qualidade está ligada a todos os aspectos e elementos de um produto de software; quando antes não se falava em engenharia de software, a preocupação única era a análise apenas dos fatores custo x benefício. Porém, com a engenharia de software teremos que nos preocupar com outros fatores e critérios que nos levam a garantir a qualidade de software. Estudaremos as normas, os fatores e os critérios que nos ajudam a garantir a qualidade de um software. Objetivo: 1. Compreender os conceitos de qualidade; 2. Analisar fatores, métricas e garantia da qualidade de software; 3. Examinar a estatística da qualidade – NBR/ISO 9000. QUALIDADE DE SOFTWARE 5 Conteúdo Conceito de qualidade de software É importante entendermos inicialmente o conceito de qualidade, antes de aplicar a qualquer tipo de produto, principalmente um produto como software (que não é um produto físico e sim um produto lógico). Então, já começamos a identificação do tipo de produto com o qual vamos trabalhar. Conceito de qualidade: “Qualidade é um conceito subjetivo, é o modo de ser, é a propriedade de qualificar os mais diversos serviços, objetos, indivíduos etc. Do latim qualitate.” Atenção “Qualidade é o grau de utilidade esperado ou adquirido de qualquer coisa, verificável através da forma e dos elementos constitutivos do mesmo e pelo resultado do seu uso. A palavra ‘qualidade’ tem um conceito subjetivo que está relacionado com as percepções, necessidades e resultados em cada indivíduo. Diversos fatores, como a cultura, modelos mentais, tipo de produto ou serviço prestado, necessidades e expectativas influenciam diretamente a percepção da qualidade.” O produto de software Conforme vimos, a palavra qualidade refere-se a uma característica que um produto deverá ter, e isso não se torna diferente quando vamos atribuí-la ao produto software. Para o produto de software ter essa característica, precisamos estudar os fatores e critérios que nos levarão a garantir a sua qualidade. QUALIDADE DE SOFTWARE 6 Poderemos trazer como reflexão um bom produto de software ser aquele que atende às características necessárias para atingir o padrão de qualidade através dos fatores e critérios que lhe garantem a qualidade. E para que esse produto possa assim ser qualificado podemos destacar a necessidade de garantir a qualidade (do produto, do processo) que irá resultar no produto e no contexto do ambiente em que o produto será executado. É importante fazer a análise da visão externa que o usuário tem do produto, bem como a visão interna do desenvolvedor. Assim sendo, é necessário que modelos diferenciados possam ser construídos para relacionar essas visões. Produto de software, fatores e critérios Produto de software nada mais é do que o software em si já implementado, sobre o qual poderemos fazer avaliação através de características que irão qualificá-lo. Fatores e critérios são as características que iremos identificar, se o produto de software as possuir. Caso existam, começaremos o processo para qualificar esse produto de acordo com a Norma NBR 9126/ISO 9126. Essas características denominadas fatores e critérios estão organizadas de forma que para cada fator ser atingido é importante que os critérios tenham sido reconhecidos, bem como suas características. Atenção Assim, vamos definir a qualidade de software como a identificação das características que um produto de software poderá ter de acordo com a norma NBR 9126, no âmbito nacional, e o padrão ISO 9126, no âmbito Internacional. Porém, essas características que irão qualificar o produto de software farão parte de fatores os quais terão critérios que qualificaram as características. QUALIDADE DE SOFTWARE 7 Fatores, métricas e garantia da qualidade de software Depois de identificar e reafirmar que a qualidade é uma característica que o software deverá ter, vamos definir fatores e métricas – o que nos dá a garantia da qualidade. Antes de mais nada, vamos descrever esses conceitos? Fatores Quando tratamos de qualidade de software, fatores são efeitos. Um fator de software é uma visão orientada ao usuário da qualidade do produto. Em oposição, já que são efeitos, podemos afirmar que as causas são os critérios (características) orientados ao software para indicaram a qualidade do produto. Então, vamos propor que a medição da qualidade de software será feita validando-se fatores e critérios que vão tender a uma relação de causa e efeito. Métricas As métricas servem para medir ou mensurar. E, no trato de produto de software, vamos usar métricas com base nas normativas para mensurar a qualidade de software. Para mensurar ou medir o fator de qualidade de um produto de software, vamos usar um método de medição segundo o qual cada critério será avaliado conforme peso definido e atribuição de valores mínimos e máximos. A medição dos níveis de maturidade Outra métrica a ser trabalhada é a medição dos níveis de maturidade. Esse método chamamos de método de verificação, e fazemos uso dos níveis do Modelo de Maturidade (CMM). Assim, medimos o modelo de maturidade de capacidade. Observe o gráfico, ele representa a visão geral do software segundo o CMM: QUALIDADE DE SOFTWARE 8 (gráfico representativo da visão geral do software segundo o CMM.). O gráfico em questão representa o modelo CMMI e os seus níveis de maturidade. Você sabia que o modelo CMMI é uma evolução do CMM? E o que o diferencia é o CMMI estabelecer um modelo único para o processo de melhoria corporativa, integrando diferentes modelos; enquanto o CMM não trata dessa opção de integração, e sim apenas dos níveis de maturidade dos processos. (imagem representativa do modelo CMMI) QUALIDADE DE SOFTWARE 9 Garantia da qualidade de software Atividade aplicada durante todo o processo do software; é comum dizer que essa é uma atividade “guarda-chuva”. A garantia da qualidade se dá através de atividades de revisões e testes, e sua validação por meio dos feedbacks. Porém, serão observados “custos”para garantir a qualidade de software. Os custos da qualidade são divididos da seguinte forma: • Custos da prevenção; • Custos de avaliação; • Custos de falhas; • Custos internos – antes da entrega; • Custos externos – após a entrega; • Custo da correção. Este gráfico é conhecido como Boehm 81. (gráfico representativo Boehm 81). Para garantir a qualidade de software são aplicadas as revisões, e essas são filtros que irão: identificar melhorias para o produto, confirmar as partes que precisam e as que não precisam de melhorias, e identificar produtos de qualidade mais uniforme, previsível e gerenciável (amplificando e/ou QUALIDADE DE SOFTWARE 10 removendo defeitos). Observe o gráfico para melhor entender a aplicabilidade desse processo de revisão. Modelo de amplificação dos defeitos (imagem representativa do modelo de amplificação dos defeitos). Atenção Também teremos as revisões técnicas formais (RTF) para garantir a qualidade de software. Esse processo ocorre através da demonstração do processo passo a passo – walkthroughs, inspeções e revisões aleatórias; round, robin. A garantia formal da qualidade de software irá afirmar que o software poderá ser testado de todas as formas e terá correções, e essas estarão em conformidade com as suas especificações. Estatística da qualidade A estatística de qualidade identificará informações sobre defeitos que serão coletadas e categorizadas. Sua análise referente a causas dos defeitos farão uso do Princípio de Pareto para identificar os defeitos e corrigir as suas causas principais. Essa é uma prática adotada para tornar a qualidade mais quantitativa. As mudanças sugeridas serão para melhorar elementos do processo que provocam os erros. QUALIDADE DE SOFTWARE 11 Vamos dizer então que é desenvolvida da seguinte forma: • Coletar e categorizar informações sobre os defeitos; • Tentar encontrar a causa de cada defeito; • Utilizar o Princípio de Pareto (isolar 20 %); • Corrigir problemas que tenham causado os defeitos. Vejamos agora os principais defeitos encontrados: Principais defeitos encontrados: • Especificações incompletas ou malformuladas; • Distorção na interpretação da comunicação com o cliente; • Desvio voluntário das especificações; • Violação dos padrões de programação; • Erro na apresentação dos dados; • Inconsistência na interface de componente; • Lógica do projeto inconsistente; • Teste incompleto ou errôneo; • Documentação imprecisa ou incompleta; • Erro na tradução do projeto para a linguagem de programação; • Interface entre homem-máquina ambígua ou inconsistente; • Miscelânea. Exemplo Os defeitos foram encontrados nas seguintes causas: • Especificação incorreta (IES); • Interpretação errônea da comunicação com o usuário (MCC); • Desvio intencional das especificações (IDS); • Violação dos padrões (VPS); • Erro na representação dos dados (EDR). QUALIDADE DE SOFTWARE 12 A confiabilidade A estatística da qualidade de software nos garante a confiabilidade. É importante destacar que o fator confiabilidade é citado por Pressman (2002) como “a probabilidade de operação livre de falhas de um programa de computador num ambiente específico durante determinado tempo especificado”. Serão considerados a possibilidade de um número mínimo de falhas e que essas ocorrerão durante a execução do software dando garantia de que haverá o estabelecimento de parâmetros de conformidade para o sucesso do processo. Segundo a ISO 9000-3, que em sua abordagem garante a qualidade, a segurança é a característica que irá detectar e avaliar os riscos. A segurança Vamos entender como será a segurança do software. A segurança será uma atividade de garantia da qualidade de software que irá detectar e avaliar riscos, que podem provocar falhas e atingir o desempenho de todo o sistema. Inclusive, ela concentra-se na identificação e na avaliação de causalidades em potencial que possam exercer impacto negativo sobre o software e provocar falhas no sistema. Vamos dizer que, se o software tiver segurança, a possibilidade de erros, falhas e defeitos está descarta. Para implementação é necessário identificar o quanto antes a presença de riscos – possibilitando criar, implementar e implantar estratégias no projeto de software que irão eliminar ou controlar os possíveis riscos. A aplicação de técnicas para a garantia estatística da qualidade de software Para a garantia estatística da qualidade de software é permitida a aplicação de técnicas que asseguram resultados confiáveis. Logo, a atividade seria analisar, por meio de técnicas, a gravidade e a probabilidade de ocorrência. Algumas QUALIDADE DE SOFTWARE 13 técnicas são aplicáveis tais como a análise da árvore de falhas e a lógica de tempo real. Conforme Pressman: Árvore de falhas – consiste em construir um modelo gráfico das combinações sequenciais e concorrentes de eventos que podem apresentar um evento ou estado de sistema perigoso. Com a construção de uma árvore de falhas bem desenvolvida, pode-se observar as consequências de uma sequência de falhas inter-relacionadas que ocorram em diferentes componentes do sistema. (imagem representativa da árvore de falhas). Para a garantia estatística da qualidade de software é permitida a aplicação de técnicas. Técnicas estas que vão nos assegurar resultados confiáveis. Logo, a atividade seria analisar, por meio de técnicas, a gravidade e a probabilidade de ocorrência. Algumas técnicas são aplicáveis tais como a análise da árvore de falhas e a lógica de tempo real. Conforme Pressman: Lógica de tempo real – consiste no desenvolvimento de um modelo de eventos e ações correspondentes estudado por meio do uso de operações lógicas para testar as pressuposições de segurança sobre os componentes do sistema e o tempo de ocorrência. QUALIDADE DE SOFTWARE 14 ISO 9000 Estudamos e conhecemos sobre os conceitos da qualidade e os elementos que a garantem a qualidade do software. Conheceremos a norma ISO 9000 para entendermos toda a sua abrangência para a garantia da qualidade. Vamos lá! A ISO 9000 é uma norma que descreve os elementos de garantia da qualidade em termos genéricos. Essa norma permite que tais elementos possam ser aplicados a qualquer produto ou processo independentemente dos tipos de produtos ou processos ou serviços oferecidos. Adotar a norma ISO é interessante e vantajoso porque ela promove a gestão e a garantia. A gestão vai promover confiança à própria empresa acerca de seus produtos atenderem à satisfação dos clientes; e a garantia promove confiança aos clientes e usuários de que os produtos possuem qualidade e atenderão às suas necessidades. Logo, empresa e produto passam a ter credibilidade junto ao mercado. Representação da Norma ISSO 9000 ISO 9001: Garantia da qualidade em projetos/desenvolvimento, produção, instalação e assistência técnica. ISO 9002: Garantia da qualidade em produção e montagem, instalação, prestação de serviço. ISO 9003: Garantia da qualidade em inspeção e testes finais. ISO 9004: Gestão da qualidade e elementos do sistema de qualidade – diretrizes. Em 2000 foi redefinido o perfil da ISO 9000. De acordo, com a ABNT a norma NBR ISO 9000 correspondente é oriunda da NBR ISO 8402 que dá origem a NBR ISO 9000 em 1994 e seus modelos. QUALIDADE DE SOFTWARE 15 Os princípios da NBR ISO 9000:2000 são: • Foco no cliente. • Liderança.• Envolvimento das pessoas. • Abordagem de processo. • Abordagem sistêmica para a gestão. • Melhoria contínua. • Abordagem para tomada de decisões. • Benefícios mútuos nas relações com fornecedores. Onde através da norma base 9000 somos definidas que a norma NBR ISO terá sua representação pelos seguintes modelos e a partir daí a adequação para a garantia da qualidade de software: ISO 9004: Sistemas de gestão da qualidade - diretrizes para melhoria de desempenho e ISO 9001: Sistemas de gestão da qualidade – requisitos. QUALIDADE DE SOFTWARE 16 Conforme Pressman (2002), os modelos de garantia da qualidade ISO 9000 tratam uma empresa como uma rede de processos interconectados. Com isso, todos os processos organizacionais devem se referir às áreas identificadas na norma e devem ser documentados e praticados conforme a imagem. Afirma-se que seguindo este esquema técnico representado na imagem a empresa possui um sistema de qualidade e que está em conformidade com a ISO. Este esquema técnico representa a visão de processo, satisfação do cliente e melhoria contínua. QUALIDADE DE SOFTWARE 17 Atividade proposta A garantia da qualidade se dá através de atividades de revisões e testes, e sua validação por meio de feedbacks. Porém, serão observados “custos” para garantir a qualidade de software. Como os custos da qualidade são divididos? Chave de resposta: Os custos da qualidade são divididos em custos da prevenção, custos de avaliação, custos de falhas e custos da correção. Aprenda Mais Material complementar Para saber mais sobre qualidade de software, leio o material - Análise de Pareto Passo a Passo, disponível em nossa biblioteca virtual. Para saber mais sobre Método de medição da qualidade de software, leia o item 1.5.1 e elaborar exemplo 1.5.2 no livro engenharia de software – Autor: James Peters. QUALIDADE DE SOFTWARE 18 Referências ASSOCIAÇÃO BRASILEIRA DE CONTROLE DA QUALIDADE. Site oficial. Disponível em: http://www.abcq.org.br - Acesso em: 26 mai. 2015. AZEVEDO, Joel Solon Farias de. Análise de Pareto Passo a Passo. Disponível em: http://www.trf5.jus.br/downloads/Artigo_22_Analise_de_Pareto_Pa sso_a_Passo.pdf - Acesso em: 26 mai. 2015. KOSCIANSKI, André. Qualidade de software. São Paulo: Novatec, 2007. PAULA FILHO, Wilson de. Engenharia de Software: Fundamentos, Métodos e Padrões. São Paulo: LTC, 2009. PFLEEGER, Shari Lawrence. Engenharia de Software. São Paulo: Pearson, 2003. PRESSMAN, Roger S. Engenharia de Software: uma abordagem profissional. Porto Alegre: Bookman, 2011. RIBEIRO, Antonio Carlos Evangelista. Afinal, o que é Qualidade? Disponível em: http://www.competees.com.br/mbc/uploads/biblioteca/116463582 2.4657A.pdf - Acesso em: 26 mai. 2015. SILVA, Mauro César da. CMMI para iniciantes. Disponível em: http://www.linhadecodigo.com.br/artigo/1401/cmmi-para- iniciantes.aspx#ixzz3aEAVrUPO Acesso em: 26 mai. 2015. SOFTWARE ENGINEERING INSTITUTE. Site oficial. Disponível em: http://www.sei.cmu.edu - Acesso em: 26 mai. 2015. QUALIDADE DE SOFTWARE 19 Exercícios de fixação Questão 1 Referente à qualidade é importante afirmar a necessidade da análise de fatores e critérios. Assim, poderemos identificar a qualidade de que forma? a) Característica b) Fator c) Critério d) Identificação e) Propriedade Questão 2 A qualidade pode ser atribuída a qualquer tipo de produto. Porém, produtos, na maioria das vezes, são identificados como físicos. O produto de software é classificado de que forma? a) Lógico b) Físico c) Virtual d) Online e) Verificável Questão 3 Um produto de software é qualificado se estiver de acordo com as normas e padrões predefinidos. Marque a opção correta referente ao padrão internacional que qualifica um produto de software de acordo com a IEEE. a) NBR 9126 b) ISO 9216 c) NBR/ISO 9126 d) NBR 9216 e) ISO 9126 QUALIDADE DE SOFTWARE 20 Questão 4 Na análise realizada referente à qualidade de um produto de software deveremos criar modelos que possam tratar de duas visões: uma é referente ao usuário, e a outra refere-se ao desenvolvedor. Marque a opção referente ao usuário. a) Visão interna b) Visão extrema c) Visão do produto d) Visão externa e) Teste de usuário Questão 5 Para realizarmos a qualificação de um produto de software serão necessários a avaliação e os estudo de quais elementos? a) Características b) Fatores c) Critérios d) Propriedades e) Fatores e critérios Questão 6 Observando os tipos de custos existentes para garantir a qualidade do software, marque a opção correta que indica o custo a ser tratado nos custos de falhas. a) Custo de desenvolvimento b) Custo de teste c) Custo de erro d) Custo interno e) Custo de previsão QUALIDADE DE SOFTWARE 21 Questão 7 Para avaliar a qualidade de um software precisamos de fatores e critérios. Podemos afirmar que os fatores são identificados como: a) Causa b) Efeito c) Indicação d) Processo e) Modelo Questão 8 O que difere os modelos de maturidade CMM e CMMI é: a) O modelo executado b) O modelo qualificado c) O modelo desenvolvido d) O modelo testado e) O modelo integrado Questão 9 Quanto ao modelo de amplificação dos defeitos, podemos afirmar que temos dois fatores a serem observados: fatores de defeito e fatores de detecção. Os erros de passo anterior serão identificados como: a) Defeitos b) Falhas c) Antecessores d) Modelos e) Processos Questão 10 A garantia da qualidade se dá através de atividades de revisões e testes, e sua validação por meio de feedbacks. Sua finalidade é garantir a produção de que tipo de software? a) Software com defeito QUALIDADE DE SOFTWARE 22 b) software perfeito c) Software reutilizável S d) Software qualificado e) Software garantido Questão 11 De acordo com a ISO 9000-3, que em sua abordagem garante a qualidade, qual é a característica que irá detectar e avaliar os riscos? a) Teste b) Segurança c) Usabilidade d) Reusabilidade e) Funcionabilidade Questão 12 A estatística de qualidade identificará informações sobre defeitos que serão coletadas e categorizadas. Sua análise é referente a que tipo de observação? a) Ao teste dos defeitos b) À segurança c) À evitação dos defeitos d) À correção dos defeitos e) Às causas dos defeitos Questão 13 Segundo Pressman, os modelos de garantia da qualidade ISO 9000 tratam uma empresa como uma rede de processos interconectados. Com isso, todos os processos organizacionais devem se referir às áreas identificadas na norma citada. Com base nesta afirmativa marque a opção que representa os objetivos desta norma: a) Visão do projeto, satisfação do cliente e melhoria contínua b) Visão de processo, satisfação do cliente e melhoria contínua c) Visão de processo, aplicação da norma e melhoria contínua QUALIDADE DE SOFTWARE 23 d) Visão de processo, visão do cliente e melhoria contínua e) Visão de processo, satisfação do cliente e melhoria do projeto Questão 14 Segundo a NBR ISO 9000, em sua edição de 2004, as NBR ISO 9001, 9002 e 9003 referem-se a que tipo de modelos? a) Modelos de garantia de qualidade b) Modelos de gestão da qualidade c) Modelos de seleção d)Modelos de maturidade e) Modelos de representação Questão 15 Indique a edição da ISO 9000 que trata de requisitos. a) ISO 9001 b) ISO 9002 c) ISO 9001-2 d) ISO 9002-1 e) ISO 9004 QUALIDADE DE SOFTWARE 24 Aula 1 Exercícios de fixação Questão 1 - A Justificativa: Conforme os fundamentos teóricos da qualidade, ela é definida como a característica que qualquer tipo de produto pode ter, desde que ele atenda às propriedades necessárias. Questão 2 - A Justificativa: O produto de software é classificado como um produto lógico; porém, sua qualidade é identificada da mesma como ocorre com outros produtos (através de características). Questão 3 - E Justificativa: De acordo com a IEEE, o produto de software será qualificado internacionalmente através do padrão ISO 9126. Questão 4 - D Justificativa: É importante fazer a análise da visão externa que o usuário tem do produto, bem como a visão interna do desenvolvedor. Assim, é necessário que modelos diferenciados possam ser construídos para relacionar visões. Questão 5 - E Justificativa: A palavra qualidade refere-se a uma característica que um produto deverá ter, e o mesmo ocorre quando vamos atribuí-la ao produto de software. Precisamos, destaca-se, estudar os fatores e critérios garantidores da sua qualidade. Questão 6 - D Justificativa: Os custos referentes a falhas são os custos internos (antes da entrega) e os custos externos (após a entrega). QUALIDADE DE SOFTWARE 25 Questão 7 - A Justificativa: Fatores são efeitos. Um fator de software é uma visão orientada ao usuário da qualidade do produto. Questão 8 - E Justificativa: O modelo CMMI é uma evolução do CMM. E o que o diferencia é o CMMI estabelecer um modelo único para o processo de melhoria corporativo integrando diferentes modelos. Questão 9 - A Justificativa: Os erros do passo anterior, durante o passo de desenvolvimento, são chamados de defeitos. Questão 10 - B Justificativa: Garantia da qualidade de software é uma atividade aplicada durante todo o processo do software, sendo conhecida como uma atividade “guarda-chuva”, cujo objetivo é produzir software com qualidade. Questão 11 - B Justificativa: A ISO 9000-3 aponta que a segurança é a característica que irá detectar e avaliar os riscos. Questão 12 - E Justificativa: A estatística de qualidade refere-se às causas dos defeitos. Questão 13 - B Justificativa: Segundo Pressman, os modelos de garantia da qualidade ISO 9000 tratam uma empresa como uma rede de processos interconectados. Com isso, todos os processos organizacionais devem se referir às áreas identificadas na norma e devem ser documentados e praticados. Tendo como objetivo: visão de processo, satisfação do cliente e melhoria contínua. QUALIDADE DE SOFTWARE 26 Questão 14 - A Justificativa: As NBR ISO 9001, 9002 e 9003 referem-se aos modelos de garantia de qualidade. Questão 15 - A Justificativa: Em sua edição de 2004 a NBR ISO 9000 (NBR ISO 9001) trata do modelo de gestão da qualidade – especificamente dos requisitos. QUALIDADE DE SOFTWARE 27 Introdução Nos dias atuais, não temos como falar de software sem falar de qualidade. A qualidade está ligada a todos os aspectos e elementos desse tipo de produto. De acordo com a engenharia de software, determinados fatores e critérios nos levam a garantir a qualidade de software. Dando continuidade ao nosso estudo, vamos compreender a aplicação das normas. Objetivo: 1. Analisar a NBR-ISO 9126; 2. Investigar a ISO/IEC 12119; 3. Pesquisar a ISO/IEC 9241. QUALIDADE DE SOFTWARE 28 Conteúdo Conhecendo a normatização NBR-ISO 9126 Vamos conhecer a NBR-ISO 9126? Tudo começa com a ISO/IEC 9126. Esta é a norma no padrão internacional que foi desenvolvida por estudos realizados no IEE (Instituto de Engenharia). O modelo nacional é a NBR ISO/IEC 9126. Conforme falamos na aula anterior, o grupo de especialistas em engenharia e qualidade de software no Brasil tomou como base o modelo internacional e, assim, a ABNT o registrou, tornando-o a normatização oficial no âmbito nacional. A qualidade de software será considerada por diversas abordagens e considerações de características. Atenção Essa norma terá como foco principal a qualidade do produto de software, propondo atributos que este produto deverá ter para ser taxado como algo qualificado. Estes fatores serão classificados através de seis principais características, que, para serem atingidas, necessitam ter seus critérios atendidos. • O fator qualidade, que chamamos de características, são os efeitos; • Os critérios (sub-características) são as causas. NBR-ISO 9126 Então, entenda melhor: Para um produto ter uma determinada característica se faz necessidade que suas sub-características tenham sido avaliadas e tenham atingido a avaliação positiva. Ou seja, vamos dizer que para o fator de qualidade se fazer presente vamos precisar que os critérios tenham sido atingidos. QUALIDADE DE SOFTWARE 29 As 06 principais características destacadas por esta norma para medir ou mensurar a qualidade interna e externa do produto de software são: Funcionalidade, Confiabilidade, Usabilidade, Eficiência, Manutenibilidade e Portabilidade. Cada uma destas características tem suas sub-características. As sub-características são os atributos de qualidade. Agora, vamos conhecer do que trata especificamente cada uma dessas características: **** copiar este modelo para as 06 características**** É a capacidade de um produto de software prover funcionalidades que satisfaçam o usuário em suas necessidades declaradas e implícitas, dentro de um determinado contexto de uso. Esta característica estará ligada as funções que o software irá promover. QUALIDADE DE SOFTWARE 30 Confiabilidade- O produto se mantém no nível de desempenho nas condições estabelecidas. Iá controlar inclusive a quantidade de ocorrências de problemas no software. Usabilidade – é a capacidade de uso. Está ligada direto ao usuário. Vai indicar o esforço necessário para aprender, operar, preparara entradas e interpretar saídas. Eficiência – será verificado a quantidade de recursos exigidas pelo software para executar ao que foi proposto. Inclusive vamos destacar o tempo de execução e não só os recursos envolvidos que são compatíveis com o nível de desempenho do software. Manutenibilidade – característica ligada a manutenção. Observa o esforço necessário para localizar erros, defeitos e falhas e sugerir suas correções. Podermos dizer que é a característica que permite que o produto de software pode ser modificado, incluindo tanto as melhorias ou extensões de funcionalidade quanto as correções de defeitos, falhas ou erros. Portabilidade – esta característica hoje tem sido bastante destacada em relação a todo e qualquer tipo de produto. É a que garante a transferência e troca de plataformas garantindo que não haverá perda da qualidade. Ou seja, a capacidade do produto ser transferido de um ambiente para outro considerando inclusive os recursos necessários para sua execução com qualidade. Conhecendo a normatização ISO/IEC 12119 Essa norma faz o estudo referente aos pacotesde software e, conforme já explicado, a sua versão no âmbito nacional tem os mesmos objetivos e características. Logo, é tratada como NBR ISO/IEC 12119. Inclusive, essa norma não apenas cita os requisitos, como, também, deve ser base para a avaliação. QUALIDADE DE SOFTWARE 31 O objetivo dessa norma é auxiliar na certificação dos pacotes de software. Porém, sua aplicação será de acordo com o atendimento aos requisitos de qualidade que a norma definiu serem necessários para que o pacote de software atenda as métricas da qualidade deste produto. A norma define: Descrição do produto: é um documento que mostrará as propriedades de um pacote de software; Documentação do usuário: é um conjunto completo de documentos (impressos ou não) que é fornecido para a utilização do software, fazendo, dessa forma, parte deste produto. Programas: é uma unidade que compõe o produto de software. Dados: representação inicial da informação. Sendo também definido pela norma, que, como requisito de qualidade para os pacotes de software, será necessário que exista uma descrição do produto e da documentação. Os requisitos que descrevem o produto, destacando as informações necessárias para que os testes ocorram de forma fidedigna, os requisitos para os programas e dados também estarão sendo avaliados no pacote de software. Então, vamos organizar a aplicação da norma da seguinte maneira: Descrição do produto deverá: identificar, indicar e declarar funcionalidade, confiabilidade, usabilidade, eficiência, manutenibilidade e portabilidade. Documentação possuirá as seguintes características: completitude, correção, consistência, inteligibilidade. Não esquecendo que as informações deverão ser organizadas e bem apresentadas. Afinal, são os resultados. QUALIDADE DE SOFTWARE 32 Programas e dados de acordo com a norma deverão ter as seguintes características: funcionalidade, confiabilidade, usabilidade, eficiência, manutenibilidade e portabilidade. Atenção Assim, conseguimos sintetizar os objetivos da norma referente às métricas de qualidade para um pacote de software. Chegando a conclusão que as normas 9126 e 12119 apresentam as mesmas características (funcionalidade, confiabilidade, usabilidade, eficiência, manutenibilidade e portabilidade). Conhecendo a normatização ISO/IEC 9241 Agora, vamos conhecer a norma 9241, que trata especificamente sobre usabilidade e critérios ergonômicos. Como já conhecemos o conceito de usabilidade, sabemos que este está ligado diretamente ao uso do produto de software e, com isso, sua referência é o usuário. Inclusive, essa norma tratará da Interação Humano Computador – IHC. Essa norma seguirá os mesmos indicativos das outras, tanto no âmbito internacional ISO/IEC 9241 quanto no nacional NBR ISO/IEC 9241, preservando todas as características e requisitos para atender as métricas da qualidade de software. É conhecida como a norma que trata da ergonomia do software de escritório. O conceito de usabilidade segundo a ISO Vamos ao conceito de usabilidade segundo a ISO: De acordo com a ISO, usabilidade é a medida pela qual um produto pode ser usado por usuários específicos para alcançar objetivos específicos com efetividade, eficiência e satisfação em um contexto de uso específico. (ISO 9241-11). Essa medida será identificada como resultados da medição e análise QUALIDADE DE SOFTWARE 33 dos processos utilizados para a obtenção de tais valores, permitindo, assim, que o usuário alcance a interação. Interação esta que é avaliada ao executar uma tarefa e que será o resultado obtido, certificando sua qualidade. Outro ponto que destacaremos é a eficiência, onde sua característica é a quantidade de esforços e recursos necessários para se chegar a um determinado objetivo. Ao se tratar sobre os desvios que o usuário faz durante a interação e a quantidade de erros cometidos, estes serão pontos a se avaliar para atingir o nível de eficiência do produto de software. Quando tratamos um produto de software online ou um site, o comportamento referente à avaliação da característica será o mesmo. Finalmente, chegamos ao ponto mais importante desta medição, que é a terceira medida de usabilidade, a satisfação. Esta é a medição mais difícil se realizar; afinal, serão trabalhados fatores subjetivos. A satisfação refere-se ao nível de conforto que o usuário sente ao utilizar a interface e à maneira de alcançar os objetivos ao utilizar um software ou software online. Síntese dos objetos da norma ISO 9241 Segundo a norma ISO 9241, a usabilidade pode ser especificada ou medida segundo outras perspectivas. São elas: (imagem representativa da especificação da usabilidade) QUALIDADE DE SOFTWARE 34 • Facilidade de aprendizado – o usuário consegue explorar, realizar suas tarefas; • Facilidade de memorização – o usuário é capaz de retornar ao uso e realizar tarefas sem a necessidade de reaprender como o software funciona; • Baixa taxa de erros – o usuário realiza suas tarefas sem transtornos e consegue recuperar erros, caso ocorram. Atividade proposta Os objetivos da norma referentes às métricas de qualidade para um pacote de software nos remete à conclusão de que as normas 9126 e 12119 apresentam as mesmas características. Com base nessa afirmativa, quais são as características dessas normas? Chave de resposta: as características das normas 9126 e 12119 são: funcionalidade, confiabilidade, usabilidade, eficiência, manutenibilidade e portabilidade. Aprenda Mais Material complementar Para saber mais sobre os assuntos estudados, leia os materiais: 6 usabilidade e suas metas, Boletim ABNT, disponíveis em nossa biblioteca virtual. QUALIDADE DE SOFTWARE 35 Referências ASSOCIAÇÃO BRASILEIRA DE CONTROLE DA QUALIDADE. Site oficial. Disponível em: http://www.abcq.org.br - Acesso em: 26 mai. 2015. AZEVEDO, Joel Solon Farias de. Análise de Pareto Passo a Passo. Disponível em: http://www.trf5.jus.br/downloads/Artigo_22_Analise_de_Pareto_Pa sso_a_Passo.pdf - Acesso em: 26 mai. 2015. KOSCIANSKI, André. Qualidade de software. São Paulo: Novatec, 2007. PAULA FILHO, Wilson de. Engenharia de Software: Fundamentos, Métodos e Padrões. São Paulo: LTC, 2009. PFLEEGER, Shari Lawrence. Engenharia de Software. São Paulo: Pearson, 2003. PRESSMAN, Roger S. Engenharia de Software: uma abordagem profissional. Porto Alegre: Bookman, 2011. RIBEIRO, Antonio Carlos Evangelista. Afinal, o que é Qualidade? Disponível em: http://www.competees.com.br/mbc/uploads/biblioteca/116463582 2.4657A.pdf - Acesso em: 26 mai. 2015. SILVA, Mauro César da. CMMI para iniciantes. Disponível em: http://www.linhadecodigo.com.br/artigo/1401/cmmi-para- iniciantes.aspx#ixzz3aEAVrUPO - Acesso em: 26 mai. 2015. SOFTWARE ENGINEERING INSTITUTE. Site oficial. Disponível em: http://www.sei.cmu.edu - Acesso em: 26 mai. 2015. QUALIDADE DE SOFTWARE 36 Exercícios de fixação Questão 1 Identifique a norma que trata da qualidade de um produto de software. a) NBR ISO/IEC 9126 b) ISO/IEC 12119 c) ISO/IEC 9126 d) NBR ISO/IEC 12119 e) ISO/IEC 9241 Questão 2 Correlacione a característica adequadamente à sua aplicabilidade: 1. Confiabilidade 2. Usabilidade 3. Eficiência 4. Portabilidade 5. Manutenibilidade (5) Característica que permite que o produto de software possa ser modificado. (2) Indica o esforço necessáriopara aprender, operar, preparar entradas e interpretar saídas. (4) Garante a transferência e troca de plataformas, confirmando que não haverá perda da qualidade. (3) Verifica a quantidade de recursos exigidos pelo software para executar o que foi proposto. (1) Mantém o nível de desempenho nas condições estabelecidas. a) 5-1-3-4-2 b) 3-2-1-4-5 c) 5-2-4-3-1 d) 1-2-5-4-3 e) 3-5-2-1-4 QUALIDADE DE SOFTWARE 37 Questão 3 Acurácia e segurança de acesso fazem parte de qual característica que um produto de software precisa ter para comprovar a garantia da sua qualidade? a) Acurácia e segurança de acesso fazem parte de qual característica que um produto de software precisa ter para comprovar a garantia da sua qualidade? b) Usabilidade c) Eficiência d) Portabilidade e) Funcionabilidade Questão 4 Observe a característica: será verificada a quantidade de recursos exigidos pelo software para executar ao que foi proposto. Inclusive vamos destacar o tempo de execução e não só os recursos envolvidos que são compatíveis com o nível de desempenho do software. Com base na afirmativa marque a opção que a identifica corretamente: a) Confiabilidade b) Usabilidade c) Manutenibilidade d) Portabilidade e) Funcionabilidade Questão 5 Observe a característica: faz a análise sobre o esforço necessário para localizar erros, defeitos e falhas e sugerir suas correções. Podermos dizer que é a característica que permite que o produto de software poderá ser modificado, incluindo tanto as melhorias ou extensões de funcionalidade quanto as correções de defeitos, falhas ou erros. Com base na afirmativa marque a opção que a identifica corretamente: a) Confiabilidade b) Usabilidade c) Portabilidade QUALIDADE DE SOFTWARE 38 d) Eficiência e) Funcionabilidade Questão 6 A norma NBR ISO/IEC 12119 tem como objeto avaliar o pacote de software. Porém, o pacote de software não só terá seus requisitos avaliados, bem como a norma definirá também os testes. O que será garantido? a) Será necessário que os requisitos descrevam o produto e destaquem as informações necessárias. b) Será necessário que os requisitos identifiquem o produto e destaquem as informações necessárias. c) Será necessário que os requisitos identifiquem o produto e destaquem as informações necessárias. d) Será necessário que os requisitos avaliem o produto e destaquem as informações necessárias. e) Será necessário definir os requisitos do produto e destacar as informações necessárias. Questão 7 Quais os pontos definidos pela norma NBR ISO/IEC 12119 para medir a qualidade de software? a) Descrição do Produto, Documentação do Usuário, Programas e Dados b) Descrição do Projeto, Documentação do Sistema, Programas e Dados c) Descrição do Processo, Documentação do Usuário, Programas e Dados d) Definição do Produto, Documentação do Projeto, Processos e Dados e) Descrição do Produto, Documentação do Projeto, Programas e Informações Questão 8 Observe a afirmativa: os objetivos da norma referente as métricas de qualidade para um pacote de software traz a conclusão que as normas _______________apresentam as mesmas características. QUALIDADE DE SOFTWARE 39 Com base na afirmativa marque a opção que representas corretamente as normas citadas: a) 9126 e 12119 b) 9000 e 9126 c) 9000 e 12000 d) 9000 e 12119 e) 9126 e 12000 Questão 9 Em se tratando sobre a norma ISSO/IEC 12119 podemos afirmar que a mesma faz o estudo referente aos pacotes de software inclusive a sua versão no âmbito nacional tem os mesmos objetivos e características. Inclusive esta norma não cita só os requisitos. Marque a opção correta sobre quais outros aspectos a norma trata? a) A avaliação, os testes b) O processo, os testes c) A avaliação, o processo d) A avaliação, o projeto e) O projeto, os testes Questão 10 Observe a afirmativa: também definido pela norma que como requisito de qualidade para os pacotes de software será necessário que exista uma descrição do produto e da documentação. Podemos afirmar que: _______________ descrevem o produto destacando as informações necessárias para que os testes ocorram de forma fidedigna, os requisitos para os programas e dados também estarão sendo avaliados no pacote de software. Marque a opção que completa a afirmativa corretamente: a) As documentações b) Os manuais c) Os processos QUALIDADE DE SOFTWARE 40 d) Os projetos e) Os requisitos Questão 11 Qual a característica mais difícil de ser medida pela norma 9241? a) Confiabilidade b) Usabilidade c) Eficiência d) Portabilidade e) Satisfação Questão 12 Segundo a norma ISO 9241, a usabilidade pode ser especificada ou medida segundo outras perspectivas. Quais são elas? a) opcFacilidade de aprendizado; realizar suas tarefas; facilidade de memorização; baixa taxa de erros. b) Facilidade de aprendizado; realizar suas tarefas; facilidade de memorização; teste. c) Facilidade de adaptação; realizar suas tarefas; facilidade de memorização; baixa taxa de erros d) Facilidade de aprendizado; realizar suas avaliações; facilidade de memorização; baixa taxa de erros. e) Facilidade de adaptação; realizar suas tarefas; facilidade de memorização; baixa taxa de desempenho. Questão 13 Observe afirmativa: a eficiência onde sua característica é a quantidade de esforço e recursos necessários para se chegar a um determinado objetivo. No se tratar sobre os desvios que o usuário faz durante a interação e a quantidade de erros cometidos estes serão pontos a se avaliar atingir o nível de eficiência do produto de software. QUALIDADE DE SOFTWARE 41 Com base nesta afirmativa marque a opção correta referente a comparação entre o software online e o off-line: a) O comportamento referente a avaliação da característica será o mesmo. b) O comportamento referente a avaliação da característica será o diferente. c) O comportamento referente a avaliação da característica será online. d) O comportamento referente a avaliação da característica será diferente em relação ao programa. e) O comportamento referente a avaliação da característica será o mesmo porém, a aplicabilidade será diferente. Questão 14 Segundo a Norma ISO 9241 a usabilidade pode ser especificada ou medida segundo outras perspectivas. Logo, a usabilidade pode ser definida como a medida na qual objetivos são alcançados com: ______________, ______________ e _______________ Marque a opção correta: a) Eficiência, eficácia e satisfação b) Eficiência, eficácia e resultado c) Objetivos, eficiência, satisfação d) Eficiência, eficácia, objetivos e) Objetivos, satisfação, resultados Questão 15 A norma ISO 9241 trata de aspectos do tipo: facilidade de aprendizado, facilidade de memorização e as baixas taxas de erros. Marque a opção referente a qual característica norma ISO 9241 está especificando: a) Confiabilidade b) Eficiência c) Eficácia d) Usabilidade e) Operabilidade QUALIDADE DE SOFTWARE 42 Aula 2 Exercícios de fixação Questão 1 - A Justificativa: Essa norma terá como foco principal a qualidade do produto de software. Questão 2 - C Justificativa: Confiabilidade – o produto se mantém no nível de desempenho nas condições estabelecidas. Usabilidade – é a capacidade de uso. Está ligada diretamente ao usuário. Indicará o esforço necessário para aprender, operar, preparar entradas e interpretar saídas.Eficiência – será verificada a quantidade de recursos exigidos pelo software para executar o que foi proposto, destacando inclusive o tempo de execução, e não só os recursos envolvidos que são compatíveis com o nível de desempenho do software. Manutenibilidade – característica ligada à manutenção. Observa o esforço necessário para localizar erros, defeitos e falhas e sugerir suas correções. Podermos dizer que é a característica que permite que o produto de software possa ser modificado, incluindo tanto as melhorias ou extensões de funcionalidade quanto as correções de defeitos, falhas ou erros. Portabilidade – esta característica hoje tem sido bastante destacada em relação a todo e qualquer tipo de produto. É a que garante a transferência e troca de plataformas, confirmando que não haverá perda da qualidade; ou seja, a capacidade de o produto ser transferido de um ambiente para outro, QUALIDADE DE SOFTWARE 43 considerando inclusive os recursos necessários para sua execução com qualidade. Questão 3 - E Justificativa: Para que o software tenha a funcionabilidade como característica que garanta sua qualidade, é preciso que os seguintes requisitos se façam presentes: adequação, acurácia, interoperabilidade, segurança de acesso e conformidade. Questão 4 - C Justificativa: A característica adequadamente a sua aplicabilidade que trata sobre a manutenibilidade é a que: Observa o esforço necessário para localizar erros, defeitos e falhas e sugerir suas correções. Podermos dizer que é a característica que permite que o produto de software poderá ser modificado, incluindo tanto as melhorias ou extensões de funcionalidade quanto as correções de defeitos, falhas ou erros. Questão 5 - D Justificativa: A característica adequadamente a sua aplicabilidade que trata sobre a eficiência é a que: Eficiência será verificada a quantidade de recursos exigidos pelo software para executar ao que foi proposto. Inclusive vamos destacar o tempo de execução e não só os recursos envolvidos que são compatíveis com o nível de desempenho do software. Questão 6 - A Justificativa: São os requisitos que descrevem o produto que destacam as informações necessárias para que os testes ocorram de forma fidedigna. Os requisitos para os programas e dados também estarão sendo avaliados no pacote de software. QUALIDADE DE SOFTWARE 44 Questão 7 - A Justificativa: A norma define: Descrição do Produto - é um documento que irá expor as propriedades de um pacote de software; Documentação do Usuário - é um conjunto completo de documentos estando ou não de forma impressa que é fornecido para sua utilização e faz parte do produto de software; Programas - é uma unidade que compõe o produto de software; Dados - representação inicial da informação. Questão 8 - A Justificativa: Conseguimos sintetizar os objetivos da norma referente as métricas de qualidade para um pacote de software e chegando a conclusão que as normas 9126 e 12119 apresentam as mesmas características. Que são: funcionalidade, confiabilidade, usabilidade, eficiência, manutenibilidade e portabilidade. Questão 9 - A Justificativa: Questão 10 - E Justificativa: Também definido pela norma que como requisito de qualidade para os pacotes de software será necessário que exista uma descrição do produto e da documentação. Teremos os requisitos que descrevem o produto destacando as informações necessárias para que os testes ocorram de forma fidedigna, os requisitos para os programas e dados também estarão sendo avaliados no pacote de software. Questão 11 - D Justificativa: A terceira medida de usabilidade, a satisfação. Essa é a medição mais difícil se realizar; afinal, serão trabalhados fatores subjetivos. QUALIDADE DE SOFTWARE 45 Questão 12 - A Justificativa: Facilidade de aprendizado – o usuário consegue explorar, realizar suas tarefas; Facilidade de memorização – o usuário é capaz de retornar ao uso e realizar tarefas sem a necessidade de reaprender como o software funciona; Baixa taxa de erros – o usuário realiza suas tarefas sem transtornos; consegue recuperar erros, caso ocorram. Questão 13 - B Justificativa: Outro ponto que destacamos referente a norma é que a eficiência onde sua característica é a quantidade de esforço e recursos necessários para se chegar a um determinado objetivo. No se tratar sobre os desvios que o usuário faz durante a interação e a quantidade de erros cometidos estes serão pontos a se avaliar atingir o nível de eficiência do produto de software. Quando tratamos um produto de software online ou um site o comportamento referente a avaliação da característica será o mesmo. Questão 14 - A Justificativa: Segundo a Norma ISO 9241 a usabilidade pode ser especificada ou medida segundo outras perspectivas. Logo, a usabilidade pode ser definida como a medida na qual objetivos são alcançados com: eficiência, eficácia e satisfação. Questão 15 - D Justificativa: A Norma ISO 9241 trata a característica usabilidade de forma especificada ou medida segundo outras perspectivas, que são: • Facilidade de aprendizado - o usuário consegue explorar; realizar suas tarefas; • Facilidade de memorização - o usuário é capaz de retornar ao uso e realizar tarefas sem a necessidade de reaprender como o software funciona; • Baixa taxa de erros - o usuário realiza suas tarefas sem transtornos; consegue recuperar erros, caso ocorram. QUALIDADE DE SOFTWARE 46 Introdução Nos dias atuais não temos como falar de software sem falar de qualidade. A qualidade está ligada a todos os aspectos e elementos de um produto de software. De acordo com a Engenharia de Software fatores e critérios são o que nos leva a garantir a qualidade de software. Dando continuidade ao nosso estudo vamos compreender a aplicação das normas. Objetivo: 1. Analisar a ISO/IEC 14598; 2. Analisar a ISO/IEC 9000-3. QUALIDADE DE SOFTWARE 47 Conteúdo Conhecendo a ISO/IEC 14598 Vamos dar continuidade aos nossos estudos! Agora vamos conhecer a ISO/IEC 14598 e sua aplicabilidade para garantir a qualidade de software. Já sabemos que a norma ISO/IEC 9126 e a NBR ISO/IEC 9126 trata da qualidade de software e sua garantia para o produto de software. Porém se faz necessário tratar a qualidade em outros aspectos do software. Então, nós já vimos também as normas ISO/IEC 12119 e ISO/IEC 9241. Não podemos esquecer de que as mesmas se repetem no âmbito nacional, mudando a sua nomenclatura, a que acrescentamos a identificação NBR. A ISO/IEC – NBR ISO/IEC 4598 A ISO/IEC – NBR ISO/IEC 14598 terá como foco principal a definição do processo de avaliação da qualidade de produto de software, onde se definem as principais características da metodologia da implementação de teste para avaliar a qualidade do produto de software. Definem-se as principais características de um processo de avaliação através de: repetibilidade, reprodutibilidade, imparcialidade e objetividade. Então, vamos às etapas: Estabelecer os requisitos de avaliação: faz a análise dos requerimentos para identificar o propósito da avaliação; Especificar a avaliação: definirá o escopo e métricas da avaliação e as medições a que o produto será submetido; Projetar a avaliação: de acordo com as especificações do produto será elaborado um plano de avaliação no qual estejam relacionados os componentes do produto de software a serem avaliadose os métodos de avaliação; Executar a avaliação: é a inspeção, medição e teste dos produtos e seus componentes conforme o plano de avaliação; QUALIDADE DE SOFTWARE 48 Conclusão da avaliação: será elaborado um relatório de avaliação e liberação dos dados obtidos na fase anterior. Atenção Agora, vamos especificar a subdivisão da norma para melhor entender sua aplicabilidade e suas atividades junto à metodologia de implementação de teste para avaliação da qualidade de software. Visão geral do processo – ISO 14598-1 Vamos entender melhor: O produto será avaliado segundo a metodologia de teste implementada. Essa metodologia tem aplicabilidade em todo o produto de software. Observe na imagem a sua abrangência e perceba que para cada etapa teremos atividades específicas. (esquema representativo do Processo de Avaliação de Produto de Software - Visão Geral do Processo - ISO 14598-1). QUALIDADE DE SOFTWARE 49 O processo de avaliação vai envolver também pessoas. São desenvolvedores, compradores e avaliadores. Cada um destes tem a sua importância junto ao uso do produto de software e no seu processo de avaliação. Desenvolvedores: Organizações que estão planejando o desenvolvimento de um novo produto de software; Compradores: Organizações que estão planejando a compra de um pacote de software que será desenvolvido ou já pronto no mercado; Avaliadores de software: Organizações que executam avaliações independentes de produtos de software disponíveis no mercado. Atenção NBR-ISO 9126 Os componentes para a criação do documento do módulo de avaliação são: 1- Introdução 2- Escopo 2.1- características 2.2- nível de avaliação 2.3- técnica 2.4- aplicação 3- Referências 4- Definições 4.1- termos técnicos 5- Entrada para avaliação 6- Interpretação dos resultados 6.1- mapeamento das métricas 6.2- relatórios RELACIONAMENTO ENTRE AS MÉTRICAS PARA A AVALIAÇÃO DO PRODUTO DE SOFTWARE QUALIDADE DE SOFTWARE 50 Os esquemas representam os módulos de avaliação. Na norma 14598 este módulo é detalhado na representação da ISO/IEC 14598-6. A ISO/IEC 9000-3 Em junho de 1993 foi criada a norma ISO/IEC 9000-3. Suas diretrizes fomentam a aplicação da ISO 9001, onde, para cada atividade, existe um correspondente na ISO/IEC 9000-3 que a define e faz a adequação ao software. Porém, a ISO/IEC 9000-3 tem como objetivo, junto à aplicação da ISO/IEC 9001, o fornecimento, desenvolvimento e manutenção de software. A ISO/IEC 9000-3 tem como diretrizes as seguintes atividades junto ao software: • Entendimento dos requisitos funcionais entre contratante e contratado; QUALIDADE DE SOFTWARE 51 • Uso de metodologias consistentes para o desenvolvimento de software; • Gerenciamento de projeto desde a concepção até a manutenção. (imagem representativa das aplicações da ISO/IEC 9000-3) A aplicação da ISO/IEC 9000-3 independe de tecnologia, modelos de ciclo de vida, processos de desenvolvimento, sequência de atividades ou estrutura organizacional da organização. Nas organizações cuja abrangência de atividades inclui áreas diferentes de desenvolvimento de software, o relacionamento entre elementos de software do seu sistema de gestão da qualidade e os demais aspectos devem claramente ser documentados no sistema de gestão da qualidade como um todo. As organizações com Sistemas de Gestão da Qualidade para desenvolvimento, operação e manutenção de software baseados na ISO/IEC 9000-3 podem escolher usar processos da ISO/IEC 12207 para suportar ou complementar o modelo de processo da ISO/IEC 9001 definida em 2000. Os parágrafos relacionados à ISO/IEC 12207 são referenciados em cada seção da ISO/IEC 9000-3, mas não se pretende com isso incluir requisitos adicionais aos da ISO 9001. QUALIDADE DE SOFTWARE 52 Você sabia? Uma das limitações da ISO/IEC 9000-3 é que esta não trata de aspectos como a melhoria contínua do processo de software (SPI – Software Process Improvement) como faz o modelo CMM ou a norma SPICE (ainda em desenvolvimento). A ISO/IEC 9000-3 trata dos processos que a organização deve ter e manter, mas não trata, apenas orienta quanto aos passos que devem ser seguidos para desenvolver esses processos e também não trata de como aperfeiçoa-los. Na sua primeira edição a ISO/IEC 9000-3 agrupava as diretrizes em três partes principais que são: Estrutura Descreve aspectos organizacionais, relacionados ao sistema de qualidade. Atividades do ciclo de vida Descreve as atividades de desenvolvimento de software. Atividades de suporte Descreve as atividades que apoiam as atividades do ciclo de vida. Atenção Você sabia que a ISO/IEC 9000-3 organizava e dava nomes às diretrizes diferentes das utilizadas na ISO/IEC 9001. Inclusive, era necessário uma tabela de mapeamento entre as diretrizes da ISO/IEC 9000-3 e da ISO/IEC 9001 causando uma série de transtornos. Essa estrutura, nomenclatura e arranjo particular das diretrizes foram abandonados nas edições mais recentes. Estas seguem exatamente a estrutura da ISO/IEC 9001 e suas diretrizes têm o mesmo nome. QUALIDADE DE SOFTWARE 53 Atividade proposta Em junho de 1993 foi criada a norma ISO/IEC 9000-3. Suas diretrizes fomentam a aplicação da ISO 9001, onde, para cada atividade, existe um correspondente na ISO/IEC 9000-3 que a define e faz a adequação ao software. Porém, a ISO/IEC 9000-3 tem como objetivo, junto à aplicação da ISO/IEC 9001, o fornecimento, desenvolvimento e manutenção de software. A ISO/IEC 9000-3 tem como diretrizes as seguintes atividades junto ao software: Entendimento dos requisitos funcionais entre contratante e contratado; uso de metodologias consistentes para o desenvolvimento de software; gerenciamento de projeto desde a concepção até a manutenção. Com base na afirmativa cite a aplicação da norma ISO/IEC 9000-3 de acordo com os tipos de software. Chave de resposta: (imagem representativa das aplicações da ISO/IEC 9000-3) QUALIDADE DE SOFTWARE 54 Referências ABCQ - ASSOCIAÇÃO BRASILEIRA DE CONTROLE DA QUALIDADE. Disponível em: http://www.abnt.org.br ABNT - ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. Disponível em: http://www.abnt.org.br AZEVEDO, Joel Solon Farias de. Análise de Pareto passo a passo. Adaptado de Haughey Duncan, PMP, em: www.projectsmart.co.uk - Disponível em: http://www.trf5.jus.br/downloads/Artigo_22_Analise_de_Pareto_Pa sso_a_Passo.pdf COLOMBO, Regina M. Thienne. Painel Setorial – Programa Nacional de Certificação de Software e Serviços. INMETRO/Xerém, 31 de maio de 2007. Disponível em: http://inmetro.gov.br/painelsetorial/palestras/certifica_software.pdf ISO. ISO 9000-3:1997. Disponível em: http://www.iso.org/iso/catalogue_detail.htm?csnumber=26364 KOSCIANSKI, André. Qualidade de software. São Paulo: Novatec, 2007. MACIEL, Ana Carla Fernandes; VALLS, Carmem; SAVOINE, Márcia Maria. Análise da qualidade de software utilizando as Normas 12207, 15504, ISO 9000-3 e os modelos CMM/CMMI e MPS.BR. Revista Científica do ITPAC, Araguaína, v. 4, n. 4, pub. 5, Out. 2011. Disponível em: http://www.itpac.br/arquivos/Revista/44/5.pdf PAULA FILHO, Wilson de. Engenharia de software - fundamentos, métodos e padrões. Rio de Janeiro: LTC, 2009. QUALIDADE DE SOFTWARE 55 PFLEEGER, Shari Lawrence.Engenharia de software. São Paulo: Pearson: 2003. PRESSMAN, Roger S. Engenharia de software: uma abordagem profissional. Porto Alegre: Bookman, 2011. RAPCHAM, Francisco. A Norma ISO 9000-3. Universidade Federal do Espírito Santo, Centro Tecnológico, Departamento de Informática, s.d. Disponível em: http://www.geocities.ws/chicorapchan/artigos/9000-3.pdf RIBEIRO, Antonio Carlos Evangelista. Afinal, o que é qualidade. In: PORTAL QUALIDADE.COM. Disponível em: http://www.competees.com.br/mbc/uploads/biblioteca/116463582 2.4657A.pdf - Disponibilizado em 15.06.2004. SILVA, Mauro César da. CMMI para iniciantes. In: LINHADECÓDIGO. Disponível em: http://www.linhadecodigo.com.br/artigo/1401/cmmi-para iniciantes.aspx#ixzz3aEAVrUPO SOFTWARE ENGINEERING INSTITUTE. Disponível em: http://www.sei.cmu.edu WIKIPEDIA. Qualidade. Disponível em: http://pt.wikipedia.org/wiki/Qualidade QUALIDADE DE SOFTWARE 56 Exercícios de fixação Questão 1 No caso de o adquirente requisitar testes de terceira parte a pacotes de software, com relação a requisitos de qualidade para o pacote, qual norma poderá ser usada? a) NBR ISO/IEC 1211-9 b) NBR ISO/IEC 14598-3 c) NBR ISO/IEC 14598-9 d) NBR ISO/IEC 12119-3 e) NBR ISO/IEC 12119 Questão 2 Observe as normas abaixo e marque a que se refere ao processo de avaliação: a) NBR ISO/IEC 1211-9 b) NBR ISO/IEC 14598-3 c) NBR ISO/IEC 145989 d) NBR ISO/IEC 12119-3 e) NBR ISO/IEC 12119 Questão 3 Observando o relacionamento entre as normas, marque a opção que trata do suporte à avaliação: a) NBR ISO/IEC 14598-5 b) NBR ISO/IEC 14598-2 e 14598-5 c) NBR ISO/IEC 14598-2 d) NBR ISO/IEC 12119-3 e) NBR ISO/IEC 12119 Questão 4 Os componentes para a criação do documento do módulo de avaliação são: introdução, escopo, referências, definições, entrada para avaliação e QUALIDADE DE SOFTWARE 57 interpretação dos resultados. Com base na afirmativa marque a opção que não faz parte do escopo: a) Características b) Nível de avaliação c) Técnica d) Aplicação e) Relatório Questão 5 O processo de avaliação vai envolver pessoas. Cada uma destas tem sua importância junto ao uso do produto de software e no processo de avaliação deste. Marque a opção que cita corretamente essas pessoas: a) Analistas, desenvolvedores, compradores e avaliadores. b) Analistas, compradores e avaliadores. c) Analistas, compradores e avaliadores. d) Desenvolvedores e avaliadores. e) Desenvolvedores, compradores e avaliadores. Questão 6 A Norma ISO/IEC 9000-3 trata de sua aplicabilidade em três etapas. Marque a opção que indica essas partes: a) Estrutura, atividades do ciclo de vida, atividades de suporte. b) Estrutura, atividades do ciclo de vida, atividades de avaliação. c) Estrutura, atividades de teste, atividades de suporte. d) Estrutura, atividades e suporte. e) Desenvolvimento, atividades do ciclo de vida, atividades de manutenção. Questão 7 Em análise a ISO/IEC 9000-3, marque a opção correta sobre uma de suas limitaçãoes: a) Não trata de aspectos como a melhoria contínua do processo de software. QUALIDADE DE SOFTWARE 58 b) Trata de aspectos como a melhoria contínua do processo de software e sua manutenção. c) Não trata de aspectos como a melhoria contínua do processo de software e trata sobre a manutenção. d) Não trata de aspectos como a avaliação contínua do processo de software. e) Não trata de aspectos como a manutenção do processo de software. Questão 8 Em análise a ISO/IEC 9000-3, marque a opção correta que indica a norma da qual as organizações com Sistemas de Gestão da Qualidade para desenvolvimento, operação e manutenção de software baseados na ISO/IEC 9000-3 podem escolher usar processos: a) ISO/IEC 12207 b) ISO/IEC 9126 c) ISO/IEC 14598 d) ISO/IEC 12111 e) ISO/IEC 20000 Questão 9 Com base nos estudos realizados até agora, quando a ISO/IEC foi criada? Marque a opção correta: a) Em junho de 1993 foi criada a norma ISO/IEC 9000-3. b) Em junho de 1990 foi criada a norma ISO/IEC 9000-3. c) Em Julho de 1993 foi criada a norma ISO/IEC 9000-3. d) Em junho de 2000 foi criada a norma ISO/IEC 9000-3. e) Em julho de 1993 foi criada a norma ISO/IEC 9000-3. Questão 10 Conforme estudamos referente a norma ISO/IEC 9000-3, sabemos que suas diretrizes fomentam a aplicação da ISO 9001 onde, para cada atividade, existe um correspondente na ISO/IEC 9000-3. Marque a opção correta referente à função do correspondente: QUALIDADE DE SOFTWARE 59 a) Define-a e faz a adequação ao software. b) Define-a e faz a manutenção do software. c) Define-a e faz a avaliação do software. d) Define-a e faz a conformidade ao software. e) Define-a e faz a integração ao software. QUALIDADE DE SOFTWARE 60 Aula 5 Exercícios de fixação Questão 1 - E Justificativa: No caso de o adquirente requisitar testes de terceira parte a pacotes de software, com relação a requisitos de qualidade para o pacote, a ABNT indica que a NBR ISO/IEC 12119 pode ser usada. Questão 2 - B Justificativa: A norma que trata do processo de avaliação é a NBR ISO/IEC 14598-3. Questão 3 - B Justificativa: As normas que tratam do suporte à avaliação são NBR ISO/IEC 14598-2 e 14598-5. Questão 4 - E Justificativa: O documento que retrata o módulo de avaliação no que se refere ao escopo dos itens tratados são: características, nível de avaliação, técnica e aplicação. Questão 5 - E Justificativa: As pessoas são os desenvolvedores, compradores e avaliadores. Questão 6 - A Justificativa: A ISO/IEC 9000-3 agrupa as diretrizes em três partes principais que são: estrutura, atividades do ciclo de vida e atividades de suporte. Questão 7 - A Justificativa: Uma das limitações da ISO/IEC 9000-3 é que esta não trata de aspectos como a melhoria contínua do processo de software (SPI – Software QUALIDADE DE SOFTWARE 61 Process Improvement) como faz o modelo CMM ou a norma SPICE (ainda em desenvolvimento). Questão 8 - A Justificativa: As organizações com Sistemas de Gestão da Qualidade para desenvolvimento, operação e manutenção de software baseados na ISO/IEC 9000-3 podem escolher usar processos da ISO/IEC 12207. Questão 9 - A Justificativa: Em junho de 1993 foi criada a norma ISO/IEC 9000-3. Suas diretrizes fomentam a aplicação da ISO 9001 onde, para cada atividade, existe um correspondente na ISO/IEC 9000-3 que a define e faz a adequação ao software. Questão 10 - A Justificativa: Suas diretrizes fomentam a aplicação da ISO 9001 onde, para cada atividade, existe um correspondente na ISO/IEC 9000-3 que a define e faz a adequação ao software. QUALIDADE DE SOFTWARE 62 Introdução Prezado aluno, Nos dias atuais, não se fala em software sem falar de qualidade. A qualidade está ligada a todos os aspectos e elementos de um produto de software. Quando antes não se falava em Engenharia de Software, a única preocupação era a análise dos fatores custo x benefício. Porém, por meio da Engenharia de Software consideramos outros fatores e critérios que nos levam a garantir a qualidade de software. Nesta aula, estudaremos as normas, os fatores e os critérios que garantem a qualidade de um produto de software. Objetivo: 1. Analisar o modelo de qualidade de software aplicado
Compartilhar