Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Qualidade de Software Ementa 1 CONCEITOS DE QUALIDADE DE SOFTWARE Poliana Aparecida Corrêa de Oliveira poliana.correa@sga.pucminas.br Pontifícia Universidade Católica de Minas Gerais (PUC Minas) Qualidade de Software Ementa 2 O QUE É QUALIDADE? � qua·li·da·de (latim qualitas, -atis) substantivo feminino 1. Maneira de ser boa ou má de uma coisa. 2. Superioridade, excelência. 3. Aptidão, disposição feliz. 4. Talento, bons predicados. 5. Título, categoria. 6. Aquilo que caracteriza uma coisa. = CARACTERÍSTICA, PROPRIEDADE 7. .Caráter, índole. 8. Casta, espécie. 9. Condição social, civil, jurídica. 10. Atributo, modalidade, virtude, valor. 11. [Fonética] Conjunto dos atributos fonéticos (altura, intensidade, modo de articulação, tim bre) que caracterizam determinado som vocálico (ex.: a qualidade das vogais pode variar). FONTE: Dicionário Priberam da Língua Portuguesa Qualidade de Software Ementa 3 O QUE É QUALIDADE? “A qualidade é relativa. O que é qualidade para uma pessoa pode ser falta de qualidade para outra pessoa.” (G. Weinberg) Qualidade de Software Ementa 4 O QUE É QUALIDADE? � A ideia de qualidade é aparentemente intuitiva; contudo, quando examinado mais longamente, o conceito se revela complexo � Definir qualidade para estabelecer objetivos é, assim, uma tarefa menos trivial do que parece de início Qualidade de Software Ementa 5 O QUE É QUALIDADE? � Exemplo: compra de uma camisa � Se o preço do produto é muito além das expectativas, este se torna um impedimento para a compra. Então o preço inconveniente passa a ser encarado como um defeito � Se o tamanho não está disponível no estoque, a disponibilidade do produto é também um fator de qualidade e sua ausência implica em mais um defeito � Mas, supondo que tudo anteriormente apresentado estivesse em conformidade com as expectativas, a camisa poderia apresentar algum problema como a falta de manga, de cor, de botão, de costura, de maciez no tecido... (defeito de fabricação) Qualidade de Software Ementa 6 O QUE É QUALIDADE? � Exemplo: compra de uma camisa � Nesse caso, se a decisão pela compra é feita quando não se encontra defeitos, logo é possível admitir que a camisa possui qualidade e, então, o conceito de qualidade pode então ser definido como “Ausência de defeitos” � Porém, supondo que o cliente esteja diante de produtos alternativos, como escolher o melhor? Esse problema de julgamento acontece com qualquer pessoa cotidianamente, quando se consomem itens como roupas, música, comida ou filmes � Uma escolha torna-se mais clara quando se estabelecem critérios que sirvam para julgar um produto 2 Qualidade de Software Ementa 7 HISTÓRIA � Há 4 mil anos os egípcios estabeleceram um padrão de medidas de comprimento: o cúbito (comprimento do braço do faraó reinante) � Se houvesse erros na medição, o responsável seria punido com a morte � A preocupação estava na construção das pirâmides (precisão da ordem de 0,05%) – Alta precisão e poucos recursos � É comum relacionar precisão com tecnologia � A qualidade ainda depende principalmente do correto emprego de boas metodologias pelos desenvolvedores � Revolução industrial foi um grande marco na qualidade � Concorrência entre as indústrias � Desencadeou uma gama de processos de melhoria contínua Qualidade de Software Ementa 8 HISTÓRIA � Aumento da eficiência tornou-se condição imprescindível para garantir a sobrevivência do negócio � 1920: controle estatístico de produção � Garantia de qualidade individual de cada item � 1940: o Japão contribuiu com novas ferramentas � Metodologia 5S � Diagrama de causa-efeito de Ishikawa ou diagramas espinha de peixe � Pós-guerra: a indústria continuou se desenvolvendo � Computadores digitais � Anos depois, com o aumento do número de usuários, cresceram as exigências de qualidade Qualidade de Software Ementa 9 HISTÓRIA � Complexidade � A complexidade é um dos fatores que influencia negativamente a qualidade de um projeto � Crescimento do número de interações entre os componentes do sistema � 1950: acreditava-se que o desempenho de um computador seria proporcional ao quadrado de seu preço � Grupo de usuários para adquirir um computador de grande porte � Aluguel de máquinas � 1971: primeiro microprocessador de silício � Mudança tecnológica e efeito drástico na produção de software � Máquinas menores e mais rápidas Qualidade de Software Ementa 10 HISTÓRIA “A maior causa da crise do software é que as máquinas tornaram-se várias ordens de magnitude mais potentes! Em termos diretos, enquanto não havia máquinas, programa não era um problema; quando tivemos computadores fracos, isso se tornou um problema pequeno e agora que temos computadores gigantescos, programa tornou-se uma problema gigantesco” [DIJKSTRA, 1972] Qualidade de Software Ementa 11 HISTÓRIA � A situação era agravada pela ausência de técnicas consagradas de trabalho � Não havia normas, padrões, boas práticas... � Não havia escolas ou sequer a profissão de programador, as pessoas aprendiam e exerciam as tarefas empiricamente � O termo “engenharia de software” foi empregado em 1968, em uma conferência, na Alemanha � Principais dificuldades • Cronogramas não observados • Projetos com tantas dificuldades que são abandonados • Módulos que não operam corretamente quando combinados • Programas que não fazem o esperado • Programas tão difíceis de usar que são descartados • Programas que simplesmente param de funcionar Qualidade de Software Ementa 12 HISTÓRIA � Os erros parecem estar em toda a parte como uma epidemia que não conseguimos controlar após décadas de trabalho � Bug do milênio � Hoje, somos capazes de desenvolver softwares de qualidade? 3 Qualidade de Software Ementa 13 DESAFIOS � Assim como toda engenharia, apresenta aspecto não repetitivo, muitas vezes imprevisível CONHECIDO DESCONHECIDO Qualidade do aço e concreto é apropriada? Dimensionamento dos pilares correto? Especificações obtidas por cálculos e simulações Incertezas existentes nos ensaios de materiais, no cálculo estrutural, etc FONTE: Zonas de sombra em um projeto de engenharia Adaptado de (KOSCIANSKI, 2007) Qualidade de Software Ementa 14 DESAFIOS � Assim como toda engenharia, apresenta aspecto não repetitivo, muitas vezes imprevisível CONHECIDO DESCONHECIDO Requisitos conhecidos e garantidos contra mudanças? Algoritmos preexistentes aplicáveis? Requisitos mudam Estimativas não são exatas FONTE: Zonas de sombra em um projeto de software Adaptado de (KOSCIANSKI, 2007) Esforço de desenvolvimento necessário? Qualidade do produto final em função de requisitos? Muitas vezes não existem ou desconhecidos Gap semântico Qualidade de Software Ementa 15 DESAFIOS � Delimitar o escopo do sistema � Requisitos voláteis � Mesmo tendo um projeto do sistema não é possível saber de antemão detalhes de implementação (restrições de linguagem de programação, ambiente, framework, etc.) � Trabalho intelectual � Sistemas cada vez mais complexos Qualidade de Software Ementa 16 DESAFIOS � Delimitar o escopo do sistema � Requisitos voláteis � Mesmo tendo um projeto do sistema não é possível saber de antemão detalhes de implementação (restrições de linguagem de programação, ambiente, framework, etc.) � Trabalho intelectual � Sistemas cada vez mais complexos Métodos e ferramentas de engenharia de software servem, entre outras coisas, para garantir ou pelo menos facilitar a obtenção do objetivo de alcançar qualidade nos programas Qualidade de Software Ementa 17 ENGENHARIA DE SOFTWARE � SWEBOK- Software Engineering Body Of Knowledge (2004) � Corpo de Conhecimento de Engenharia de Software � Estudo de uma comissão internacional de especialistas Requisitos Gerência de engenharia Projeto Métodos e ferramentas Métodos e ferramentas de engenharia Construção Processo de engenharia Processo de engenharia Testes Qualidade ManutençãoDisciplinas relacionadas Gerência de configuração SWEBOK Qualidade de Software Ementa 18 ENGENHARIA DE SOFTWARE FONTE: Divisão em tópicos da qualidade – SWEBOK, 2004 Adaptado de (KOSCIANSKI, 2007) 4 Qualidade de Software Ementa 19 QUALIDADE DE SOFTWARE � Definições mais recentes em engenharia de software � Peters (2002): “Qualidade de software é avaliada em termos de atributos de alto nível chamados fatores, que são medidos em relação a atributos de baixo nível chamados de critérios” � Definição Pressman (2006): “Qualidade de software é a conformidade a requisitos funcionais e de desempenho que foram explicitamente declarados, a padrões de desenvolvimento claramente documentados, e a características implícitas que são esperadas de todo software desenvolvido por profissionais”. Qualidade de Software Ementa 20 QUALIDADE DE SOFTWARE � A definição de qualidade para Crosby [1992]: "A qualidade é conformidade aos requisitos“ � Essa definição foi utilizada na manufatura, porém serve para engenharia de software � Fica explícito o fato de que é preciso um ponto de referência (critério) para julgar um produto � Implicitamente está a ideia de como efetuar esse julgamento além de mostrar como o processo todo pode ser documentado, analisado e os resultados transmitidos a outras pessoas Qualidade de Software Ementa 21 QUALIDADE DE SOFTWARE � Mas como definir conformidade? Qualidade de Software Ementa 22 QUALIDADE DE SOFTWARE � Mas como definir conformidade? � Necessidade de definir níveis de precisão � Comparar as características observadas com as características especificadas � Considerar o erro de observação � Depende das escolhas do cliente Qualidade de Software Ementa 23 QUALIDADE DE SOFTWARE � Então, qualidade de software é um conjunto de características que devem ser alcançadas em um determinado grau para que o produto atenda às necessidades de seus usuários � Pressman (2006) enfatiza três pontos de conformidade � Requisitos funcionais e de desempenho � Normas, padrões e convenções de desenvolvimento pré-estabelecidos � Atributos implícitos que todo software desenvolvido deve possuir Qualidade de Software Ementa 24 QUALIDADE DE SOFTWARE � Requisitos � Os requisitos de software são a base a partir da qual a qualidade é medida � A falta de conformidade com os requisitos significa falta de qualidade � Padrões especificados � Definem um conjunto de critérios de desenvolvimento que orientam a maneira segundo a qual o software passa pelo trabalho de engenharia � Se os critérios não forem seguidos, o resultado quase que seguramente será a falta de qualidade � Atributos implícitos � Existe um conjunto de requisitos implícitos que frequentemente não são mencionados na especificação • Por exemplo, o desejo de uma boa integridade no acesso ao sistema 5 Qualidade de Software Ementa 25 QUALIDADE DE SOFTWARE Qualidade de Software Ementa 26 QUALIDADE DE SOFTWARE � Fatores de qualidade (norma ISO 9126) � Funcionalidade: grau de adequação com as necessidades declaradas � Confiabilidade: período de tempo que o software está disponível para uso � Usabilidade: grau de facilidade de uso � Eficiência: grau de otimização dos recursos � Manutenibilidade: grau de facilidade de reparo � Portabilidade: grau de adaptação para novos ambientes Qualidade de Software Ementa 27 QUALIDADE DE SOFTWARE � Raramente qualidade pode ser incorporada ao produto final, após o processo de desenvolvimento ter terminado � Dos requisitos do usuário à entrega do produto final, existe um processo de desenvolvimento que é complexo e normalmente envolve uma série de etapas que podem comprometer a qualidade do produto final � A qualidade do software final depende da construção dos produtos intermediários Qualidade de Software Ementa 28 ERROS COMUNS � Qualidade significa “ótimo” ou “luxo” ou “de grande valor” � É comum ouvir dizer: “boa qualidade”, “má qualidade”, “qualidade de vida” � Mas é preciso definir a qualidade em termos específicos � Qualidade é intangível, portanto não mensurável � É precisamente mensurável pela mais respeitada medida, dinheiro � Os problemas de qualidade são originados por trabalhadores, principalmente os que lidam com a produção � Planejamento e criação foram definidos antes, eles são apenas executores � Qualidade é responsabilidade do departamento da qualidade � Apenas as medições de conformidade, registros de resultados e liderança de atitude positiva para melhoria são funções desse departamento Qualidade de Software Ementa 29 BIBLIOGRAFIA � KOSCIANSKI, André. Qualidade de software. 2ª edição. Novatec. 2007. � PRESSMAN, Roger S. Engenharia de software. São Paulo: McGraw- Hill, 2006. xxxi, 720 p. � GUERRA, Ana Cervigni; COLOMBO, Regina Maria Thienne. Tecnologia da informação: qualidade de produto de software. Brasília: PBQP Software, 2009. 429 p. Qualidade de Software Ementa 30 DÚVIDAS
Compartilhar