Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Rafael Targino rtargino@unicarioca.edu.br @rafatargino QUALIDADE DE SOFTWARE Unidade I - Introdução à Qualidade de Software 2 Apresentação do Professor • Formado em Ciência da Computação pela UFRJ e Mestrado em Engenharia da Computação pela COPPE/UFRJ • Experiência de 15 anos em análise, projeto e desenvolvimento de sistemas – Sistema de Obtenção da Marinha (Marinha do Brasil) – Sistema de Controle de Combustível nuclear das Usinas de Angra dos Reis (Eletronuclear) – Software para Planejamento de Contratações do Sistema de Controle do Espaço Aéreo Brasileiro (CISCEA/DECEA) – Arquitetura de Sistemas para o Plano Diretor de Tecnologia da Informação (Furnas Centrais Elétricas) • Certificações em RUP, Scrum e diversas ferramentas IBM Rational Apresentação dos Alunos: Curso? Período? Área de Interesse na Informática? Faz Estágio? 3 Alguém já v iu notíc ias como essas? 4 5 Por que precisamos de Qualidade? Quais seriam as consequências da produção de um carro sem os aspectos de qualidade? Por que precisamos de Qualidade? • Materiais utilizados no carro iriam variar – Ferro, aço, borracha, plástico... • Falta de intercambiabilidade de peças – Parece inconcebível nos dias de hoje, mas antigamente, quando se desmontava um carro, as peças dele não serviam em outro... • Durabilidade do carro seria variável de carro para carro – E de cada uma de suas peças também... 6 Precisamos de Algo que Possa servir como um Acordo de Qualidade • Padrão de Comparação – Réplica – Métricas • Padrão de Qualidade – Normas – Procedimentos – Manuais de Segurança Exemplo de Métrica • Existem relatos que há mais de quatro mil anos os egípcios estabeleceram um padrão de medida de comprimento: o cúbito! • Esta medida foi utilizada na construção das pirâmides • Esta medida correspondia ao comprimento do braço do faraó reinante! Esta era uma boa métrica? 7 Padrão de Qualidade Padrão de Qualidade • Certificados • Selos de Qualidade 8 Histórico da Qualidade • 2.000 AC no Egito. • Marco: Revolução Industrial (em oposição a produção artesanal) • 1920: Controle Estatístico da Produção • 1940: Surgimento de vários organismos ligados à qualidade – ASQC (American Society for Quality Control) – ABNT (Associação Brasileira de Normas Técnicas) – ISO (International Standardization Organization) • 1940: Japão destaca-se em termos de qualidade no processo de manufatura industrial – Método de Taguchi – Metodologia 5S – Diagramas de Causa e Efeito de Ishikawa (Espinha de Peixe) Qualidade de SW - Histórico • Conferência da NATO (1968) – Crise de Software • Problemas detectados: – Cronogramas não observados. – Projetos abandonados. – Módulos que não operam corretamente quando combinados. – Programas que não fazem exatamente o que era esperado. – Sistemas tão difíceis de usar que são descartados. – Sistemas que simplesmente param de funcionar. 9 A Preocupação com a Qualidade de Software Período Características Anos 50 -Erros conhecidos, APÓS término do programa Anos 70 -Análise/programação estruturada. -Falta de consenso: teste ANTES do término Anos 80 - Primeiras preocupações e PADRÕES com QUALIDADE de software Anos 90 -Primeiros processos de testes. -Motivação: Bug do milênio. Anos 2000 -Estruturação dos procedimentos de testes dentro do processo de desenvolvimento. -Surgem excelentes ferramentas de testes. -QUALIDADE Total no processo de desenvolvimento e produto de software A Crise do Software • Passados quase 40 anos, o que mudou? Fatos reais - Projetos de Software + 30% dos projetos – CANCELADOS + 70% dos projetos – FALHAM as funcionalidades Custos e Prazos EXTRAPOLAM a Previsão Custos – em mais de 180% Prazos – em mais de 200% Custos do DESENVOLVIMENTO 80% - identificar e corrigir defeitos de programação 10 Porque é Difícil ter Qualidade no Desenvolvimento de Software • Software NÃO é tangível. – Requer muita ABSTRAÇÃO para desenvolvê-lo. • O processo de desenvolvimento é executado e gerenciado por pessoas, sendo portanto SUBJETIVO. • Discute-se ideias, necessidades e desejos dos usuários (também pessoas). • ABSTRAÇÃO E SUBJETIVIDADE conferem dificuldades ao processo de desenvolvimento. • O software em si é consequência direta da forma (processo) pelo qual foi desenvolvido. Quais são os atributos de um carro de Qualidade? 11 E se o carro for para isso? O Carro “de Qualidade” depende para o que você precisa dele! O que é ter Qualidade? • Qualidade diz respeito à satisfação do cliente. • A qualidade está fortemente relacionada à conformidade com os requisitos (Crosby 1992). • Requisitos são especificados por pessoas e com o objetivo de satisfazer outras pessoas. – Uma especificação depende das escolhas feitas (clientes alvo). É preciso ter um ponto de referência! 12 O que é “Conformidade em relação a Requisitos”? • Observado x Especificado – Qualidade de um produto é dada pela diferença entre as características observadas e as características que foram especificadas – Exemplo: Potência de uma Lâmpada de 60 Watts Luminosidade de uma Lâmpada • Pode haver problemas na Observação; • Pode haver problemas na Especificação. O que é ter Qualidade? • Requisitos são a fundação a partir da qual a qualidade é medida. – Falta de conformidade com os requisitos é falta de qualidade • Normas especificadas definem um conjunto de critérios de desenvolvimento. – Se os critérios não são seguidos, faltará qualidade • Há um conjunto de requisitos implícitos não mencionados. – Se o software satisfaz seus requisitos explícitos mas deixa de satisfazer seus requisitos implícitos, faltará qualidade. 13 Requisitos Funcionais X Requisitos Não Funcionais • Requisitos Funcionais – São declarações de funções que o sistema deve fornecer, como o sistema deve reagir a entradas específicas e como deve se comportar em determinadas situações. • Requisitos Não Funcionais – São requisitos relacionados ao uso da aplicação em termos de desempenho, usabilidade, confiabilidade, segurança, disponibilidade, manutenibilidade e tecnologias envolvidas. Modelo de Kano Classifica os Requisitos em • Fatores Básicos de Satisfação (Implícitos) – Não é nenhum diferencial, porém se não estiverem presentes causarão insatisfação – Exemplo: banheiros em um show de rock • Fatores Esperados de Satisfação (Explícitos) – São propriedades explicitamente exigidas do sistema – Exemplo: A banda tocar os seus maiores sucessos • Fatores Inesperados de Satisfação (Implícitos) – São propriedades que os Stakeholders não conhecem e nem esperam, mas causam uma surpresa agradável – Exemplo: Comida e bebida liberada antes do início de um show 14 Modelo de Kano Totalidade de características de um produto de software que lhe confere a capacidade de satisfazer às necessidades implícitas e explícitas. (NBR 13596 ) Qualidade de SW - Definição 15 Qualidade de SW - Definição Qualidade de software é a 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 2001) Conjunto de características a serem satisfeitas em um determinado grau de modo que o software satisfaça às necessidades de seus usuários Rocha, 1983 Qualidade de SW - Definição 16 Exercício • Para uma universidade, quais seriam as ferramentas e técnicas de qualidade que poderiam ser adotadas para verificar queuma determinada disciplina, ensinada por diversos professores em diferentes horários e unidades, teria sempre a mesma qualidade? Qualidade está presente no dia a dia das empresas 17 18 19 Conteúdo Programático UNIDADE 1: QUALIDADE DE PRODUTO Conceitos básicos de qualidade de software Controle de qualidade Métricas de qualidade UNIDADE 2: QUALIDADE DE PROCESSOS Qualidade de produto X Qualidade de processo O CMMi O MPS.Br UNIDADE 3: FASES DOS TESTES DE SOFTWARE Conceitos básicos de testes de software Testes unitário de integração Testes de sistema e aceitação UNIDADE 4: TÉCNICAS DE TESTES DE SOFTWARE Principais técnicas de testes Testes caixa-branca Testes caixa-preta BIBLIOGRAFIA • Livro-Texto: – BASTOS, A., RIOS, E., CRISTALLI, R. e MOREIRA, T. Base de Conhecimento em Teste de Software. Editora Traço e Foto. – KOSCIANSKI, A. e SOARES, M. S. Qualidade de Software. NOVATEC. – PEZZÉ, M. e YOUNG, M. Teste e análise de software. Bookman. • Bibliografia Complementar: – PRESSMAN, R. S. Engenharia de Software. McGraw Hill, 2005. 20 BIBLIOGRAFIA PRESSMAN, R. S. Engenharia de Software. McGraw Hill, 2005. KOSCIANSKI, A. e SOARES, M. S. Qualidade de Software. NOVATEC. Como será o Aprendizado neste Curso • Estudo adicional além das horas de sala de aula • Frequência em sala de aula é obrigatória • Listas de Exercícios • Dinâmicas em Sala de Aula • Trabalho Prático - APS • Todo o material do curso é disponibilizado no AVA – Ambiente Virtual de Aprendizado 21 AVALIAÇÃO DA APRENDIZAGEM Cada curso terá um EIXO BÁSICO e um EIXO COMPLEMENTAR. - EIXO BÁSICO - composto por disciplinas (comunicação e expressão, raciocínio Lógico e disciplinas específicas consideradas fundamentais para a formação do profissional. - EIXO COMPLEMENTAR - composto pelas demais disciplinas do curso. Para disciplinas de cada EIXO será aplicada uma avaliação de aprendizagem - AV2 diferenciada. Sistema de Avaliação Eixo Básico ALGORITMOS I ANÁLISE E PROJETO DE SISTEMAS ARQUITETURA DE COMPUTADORES ARQUITETURA DE REDES DE COMPUTADORES BANCO DE DADOS I CIRCUITOS DIGITAIS ESTRUTURA DE DADOS FUND DE REDES DE COMPUTADORES PADRÕES DE REDES DE LONGA DISTÂNCIA PADRÕES DE REDES LOCAIS QUALIDADE DE SOFTWARE SEGURANÇA DA INFORMAÇÃO SISTEMAS OPERACIONAIS TEORIA DA COMPUTAÇÃO 22 Avaliações • 1ª Avaliação (AV1) – Prova mista (objetiva + discursiva): 10,0 pontos • 2ª Avaliação (AV2) – Prova mista (objetiva + discursiva): 6,0 pontos – Trabalho de grupo: 2,0 pontos • 3ª Avaliação (AV3) – Prova mista (objetiva + discursiva): 10,0 pontos • Entrega de Listas de Exercícios pelo AVA – Lista de exercício não é Atividade Supervisionada. Porém, só haverá arredondamento de média parcial 6,7 ou 6,8 ou 6,9 para 7,0 para aqueles que tiverem feito todas as listas de exercícios. Avaliações • Todas as provas (AV1, AV2, AV3) serão: – Presenciais – Individuais – Sem Consulta • Critério de Avaliação – Para cálculo da média final na disciplina será descartada a menor nota dentre AV1, AV2 e AV3. A média final será a média obtida entre as duas notas restantes. – Caso o aluno possua somente notas em duas avaliações, não haverá descarte e a média final será calculada entre as duas notas existentes – Será aprovado o aluno com média final igual ou maior que 7,0(sete) – O aluno com média final inferior a 7,0 (sete) ficará reprovado na disciplina 23 Serviços Disponíveis na Unicarioca • SOA –Serviço de Orientação à Aprendizagem • SOC – Serviço de Orientação à Carreia • SOT – Serviço de Orientação Tecnológica • Letras e Números e Física e Bits&BYtes
Compartilhar