Qualidade de Software no Século XXI - v2

  • 1,753 views
Uploaded on

Nestes slides o conceito de qualidade de software é abordado, e como ele é atacado pela disciplina de Qualidade de software em relação às visões dos atores que participam do processo de criação e …

Nestes slides o conceito de qualidade de software é abordado, e como ele é atacado pela disciplina de Qualidade de software em relação às visões dos atores que participam do processo de criação e distribuição do software.
Em seguida, são mostrados defeitos famosos tendo como origem falhas no software, desde a década de 60 até os dias atuais.
Ao final, são apresentadas novas plataformas esperadas para emergirem na próxima década, 2010-2020, como a Internet das Coisas, Big Data, automóveis e o próprio corpo humano e os respectivos desafios de qualidade no software subjacente.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,753
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
72
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. “Qualidade de Software no século XXI”
    Bruno Elias Penteado
    Coordenador de Qualidade de Software MStech
    Mestre em Ciência da Computação – UNESP
    Certificações:
    CBTS, ISTQB CTFL, CTAL-TA e CTAL-TM,
    Micosoft Web Apps C#
    21/09/2011
  • 2. Qualidade de Software no século XXI
    Tópicos
    O que é qualidade de software?
    Piores bugs da história
    Novas plataformas
    Vale a pena conhecer mais e investir em qualidade de software?
  • 3. O que é Qualidade de Software?
  • 4. O que é Qualidade de Software?
    Qualidade
    Motivação: dependência crescente de sistemas computacionais em nossas vidas
    MAS....
    O que é um software com qualidade?
    Conformidade às exigências?
    De quem?
  • 5. O que é Qualidade de Software?
    Atores na qualidade de software
    Gerente projeto
    Programador
    Testador
    Usuário
    Cliente
  • 6. O que é Qualidade de Software?
    Ideias sobre qualidade de software
    Defeito zero é alta qualidade
    Grande número de funções é alta qualidade
    Codificação elegante é alta qualidade
    Alto desempenho é alta qualidade
    Baixo custo de desenvolvimento é alta qualidade
    Desenvolvimento rápido é alta qualidade
    Facilidade para o usuário é alta qualidade
  • 7. O que é Qualidade de Software?
    O que é qualidade?
    Qualidade é valor para alguma pessoa
    Vale o custo x benefício?
    Pagarão para ter seus requisitos atendidos?
  • 8. O que é Qualidade de Software?
    Qualidade?
    Caso: Google Maps
    SIG com fotos de satélite de alta resolução
    Determina rotas de trânsito
  • 9. O que é Qualidade de Software?
    Qualidade?
    Caso: Google Maps
    Usado também para o mal
    Jornal da Cidade: Bauru, 3/5/2011
  • 10. O que é Qualidade de Software?
    Qualidade
    Não significa ausência de erros!
    Não garante valor ao software
    Muitos erros pode significar menor valor
    Exemplos?
  • 11. O que é Qualidade de Software?
    Qualidade
    Conformidade com requisitos não é suficiente!
    Requisito é o meio: fornecer valor para quem?
    Requisitos identificam as pessoas importantes?
    Requisitos capturam seus valores?
  • 12. O que é Qualidade de Software?
    “Qualidade é valor para alguma pessoa disposta a pagar por seus benefícios”
  • 13. Qualidade de Software
  • 14. Qualidade de Software
    Cenário
    The National Institute of Standards and Technology (NIST) attributed a hefty price tag to the problem claiming software bugs are costing the US economy $US 59.5 billion yearly
    NIST, 2002
    A disciplina de Qualidade de Software tenta lidar com todos os atores envolvidos, tendo como objetivo final um software com as características de qualidade relevantes a cada um deles.
  • 15. Qualidade de Software
    Processo de Qualidade de Software
    Prevenção: garantia por meio de processos;
    Detecção: controle por meio de testes;
  • 16. Qualidade de Software
    Processo
    Sequência de procedimentos + atores + artefatos
    Objetivo: previsibilidade de qualidade ao produto final
    Modelos de melhoria de processo
    Produção de software
    CMMi – CapabilityMaturityModelintegation
    MPS.Br – Melhoria do Processo de Software Brasileiro
  • 17. Qualidade de Software
    Padrões de qualidade
    Gerais
    ISO 9126 – Qualidade de produto de software
    ISO 12207 – Qualidade do processo de software
    ISO 27000 – Segurança da informação
    IEEE 829 – Documentação de testes
    IEEE 1028 – Revisão de software
    IEEE 1044 – Classificação de incidentes
    BS 7925 – Técnicas de teste
    (...)
    Específicos por indústria
    DO-178B – software aviônico
    FDA 21 – software médico
    (...)
  • 18. Qualidade de Software
    Padrão ISO 9126
    Requisitos funcionais e não-funcionais
    É fácil de modificar?
    É rápido e enxuto?
    É fácil de usar?
    É imune a falhas?
    Satisfaz as necessidades?
    Executa em outro ambiente?
  • 19. Qualidade de Software
    Padrão ISO 9126
    A importância depende do tipo de software
  • 20. Qualidade de Software
    Testes
    Abordagem para os testes
    Mostrar que o sistema:
    Faz o que não deve fazer;
    Não faz o que deve fazer;
  • 21. Qualidade de Software
    Quem testa o software?
    Testers podem ser desenvolvedores menos qualificados
    Google: Software Engineer in Test
    Microsoft: Software DevelopmentEngineer in Test
  • 22. Qualidade de Software
    Qualidade custa caro?
    Definição econômica de qualidade:
    “É sempre mais barato fazer certo na primeira vez!”
  • 23. Qualidade de Software
    Qualidade leva muito tempo?
    Nunca se tem tempo para fazer da forma correta
    Sempre existe tempo para refazer
    A cada R$ 1,00 em desenvolvimento, de R$ 2,00 a R$ 3,00 são gastos com retrabalho
  • 24. Qualidade de Software
    Vale a pena investir?
    Custo com qualidade:
    Prevenção + detecção + falhas internas
    Treinamentos, testes, bugs corrigidos antes de release
    Custo com falhas (externas):
    Custo da falha em produção, com o usuário
    Pode ser vidas.
    Custo com qualidade < custos das falhas
  • 25. Qualidade de Software
    Testes
    Até quando testar?
    Variação conforme indústria
  • 26. Bugs históricos
  • 27. Bugs históricos
    O que é um bug?
    Primeiro bug: computador Mark II, na Universidade de Harvard (1945)
  • 28. Bugs históricos
    Mariner I – 1962
    Missão observar para o planeta Vênus
    Fórmula matemática foi equivocadamente transcrita para o computador
    Desviou de seu curso e foi destruído 4 minutos após lançamento
    Prejuízo: US$ 18,5 mi
  • 29. Bugs históricos
    Therac-25 – 1985/1987
    Dispositivo de terapia por radiação sobre células cancerosas falha e libera doses letais de radiação em vários consultórios médicos
    Condição de disputa no SO
    5 mortes, várias pessoas feridas
  • 30. Bugs históricos
    Míssil Patriot – 1991
    Míssil de defesa
    Dhahran, Arábia Saudita
    Erro de software no relógio do míssil: a cada 100 horas o relógio interno do sistema desviava um terço de segundo
    Recomendação era rebootar o sistema de tempos em tempos
    Resultado: 600 metros de erro na distância em uma interceptação
    28 soldados americanos mortos
  • 31. Bugs históricos
    Divisão de pontos flutuantes nos processadores Pentium da Intel – 1993
    Erro em divisões dentro de uma faixa de números (erro ~0,006% no arrendondamento)
    3 a 5 milhões de peças com defeito
    Recall para todos que quiseram trocar
    Custou à Intel US$ 475 milhões
  • 32. Bugs históricos
    Ariane 5 vôo 501 – 1996
    Foguete com código reutilizado do Ariane 4 (outro hardware);
    Overflow de inteiro: conversão de floatde 64-bits para inteiro 16-bits com sinal;
    O processador primário do foguete sobrecarrega os motores que se desintegraram em 40 segundos;
    Não tripulado (sem vítimas); prejuízo de US$ 370 milhões
  • 33. Bugs históricos
    Bug do milênio (Y2K) – 2000
    Datas com apenas 2 dígitos para o ano
    Uma das maiores histerias da história
    Ao virar o ano 2000, a preocupação era que contasse como 1900
    Entre US$ 300 e US$ 500 bi no mundo todo
    Bug de 2038
    time_tem C  número de segundos a partir de 1/1/1970. Quando usado 4 bytes = 19/1/2038
  • 34. Bugs históricos
    Toyota Prius – 2010
    Problema no software do sistema ABS de freios – acelerador fica preso, dificultando desaceleração
    Recall de 400.000 veículos
    ~ US$ 2 bilhões de prejuízo, desvalorização de 15% nas ações
    Fonte: BBC, Computer World UK
  • 35. Bugs históricos
    Play Station Network - 2011
    Invasão do sistema
    Dados privados e de cartão de crédito de ~70 mi de pessoas foram roubados
  • 36. Problemas atuais?
  • 37. Próximos bugs?
    Qualidade de software nos dias de hoje
    Redes Sociais
    Identidade on-line  Privacidade
    Protegidos pelas políticas definidas nos Termos de Serviço dos sites
    Integração no smartphone. E se roubarem?
    Geolocalização
  • 38. Próximos bugs?
    Qualidade de software nos dias de hoje
    Google StreetView
    Gov. da Alemanha proibiu
    Fere privacidade
  • 39. Próximos bugs?
    Apps Móveis
    Malwares disponibilizados como aplicações
    +50.000 usuários afetados
    Apple Store, Market
  • 40. Próximos bugs?
    Qualidade de software nos dias de hoje
    Urna eletrônica
    Fabricante diz não ser segura
    Não tem auditoria independente
  • 41. Próximos bugs?
    “Pentágonodizqueresponderá a cyber ataques com forçamilitar”
  • 42. O que nos espera
  • 43. Futuro
    Novas plataformas e seus desafios de qualidade
    Automóveis
    Corpo humano
    Internet das coisas
    Big Data
  • 44. Futuro
    Novas plataformas e seus desafios de qualidade
    Automóveis
    Corpo humano
    Internet das coisas
    Big Data
  • 45. Futuro – novas plataformas
    Internet ofThings
    RFID, sensores wireless
    Monitoramento contínuo
    Integração inteligente
  • 46. Futuro – novas plataformas
    Internet ofThings
    Mais “coisas” conectadas do que pessoas
    PCs, tablets, smartphones
  • 47. Futuro – novas plataformas
    Internet ofThings
    ~2020: ~50 bilhões de “coisas” na Internet (nosso corpo, carro, relógio, gado)
  • 48. Futuro – novas plataformas
    Desafios de qualidade?
    Confiabilidade: disponibilidade das informações;
    Segurança: privacidade, interceptação de informação;
    Interoperabilidade: padronização;
  • 49. Futuro
    Novas plataformas e seus desafios de qualidade
    Automóveis
    Corpo humano
    Internet das coisas
    Big Data
  • 50. Futuro – novas plataformas
    Big Data
    Dados gerados em grande escala (terabytes, petabytes);
    Percepção de padrões;
    Novas formas de trabalhar;
    Processamento paralelo;
    Bases de dados não convencionais;
  • 51. Futuro – novas plataformas
    Big Data
    Capacidade de criação excede de longe a de armazenamento;
    Redes sociais, registros médicos, vídeos, dados astronômicos, sensores...
    *: Giga < Tera < Peta < Exa < Zetta
  • 52. Futuro – novas plataformas
    Big Data
    Fontes: rastreamento das deslocamentos, atualidades sociais, dados médicos, hábitos e preferências
    Personalização de conteúdo
  • 53. Futuro – novas plataformas
    Big Data
    Apple, Google, Twitter processados por usar dados indevidamente;
  • 54. Futuro – novas plataformas
    Big Data
    Desafios de qualidade?
    Acurácia: precisão dos dados;
    Interoperabilidade: formatos e estruturas de dados;
    Eficiência: tempo de execução e espaço consumido;
    Segurança: privacidade, vazamento de informação;
    Usabilidade: visualização dos dados;
  • 55. Futuro
    Novas plataformas e seus desafios de qualidade
    Automóveis
    Corpo humano
    Internet das coisas
    Big Data
  • 56. Futuro – novas plataformas
    Automóveis
    Carros
    E se seu carro se conectar à Internet?
    Diferenciação por tecnologia
  • 57. Futuro – novas plataformas
    Automóveis
    Carros
    Sistemas multimídia embutidos de fábrica
    Windows EmbeddedAutomotive
    Padrão AUTOSAR (AUTomotive Open System ARchitecture)
  • 58. Futuro – novas plataformas
    Automóveis
    Carros
    E se seu carro se dirigir sozinho, auto-estacionar?
  • 59. Futuro – novas plataformas
    Automóveis
    Carros
    E se hackers desabilitarem seu freio?
  • 60. Futuro – novas plataformas
    Automóveis
    Recalls frequentes
  • 61. Futuro – novas plataformas
    Automóveis
    Desafios de qualidade?
    Confiabilidade: recuperação em caso de erros;
    Segurança: ataques ao software;
    Eficiência: consumo de energia;
    Usabilidade: muitos dados para o motorista;
  • 62. Futuro
    Novas plataformas e seus desafios de qualidade
    Automóveis
    Corpo humano
    Internet das coisas
    Big Data
  • 63. Futuro – novas plataformas
    Corpo humano
    Dispositivos médicos
    Wearable computing
    Biometria
  • 64. Futuro – novas plataformas
    Corpo humano
    Monitoramento de saúde: batimento cardíaco, temperatura...;
    Integração com smartphones;
  • 65. Futuro – novas plataformas
    Corpo humano
    Monitoramento de desempenho de atletas;
  • 66. Futuro – novas plataformas
    Corpo humano
    Dispositivos médicos
    Implantes sofisticados  mini computadores
  • 67. Futuro – novas plataformas
    Corpo humano
    Dispositivos médicos
    Como se proteger de ataques?
  • 68. Futuro – novas plataformas
    Corpo humano
    Desafios de qualidade?
    Segurança: privacidade, ataques;
    Confiabilidade: tolerância a falhas;
    Eficiência: consumo de energia;
  • 69. Recapitulando...
    O que é qualidade de software?
    Piores bugs da história
    Novas plataformas para o século XXI
  • 70. Próximos bugs?
    Então... software não é confiável?
    Limitação humana
    Pessoas não conhecem/dominam tudo;
    Pessoas tem habilidades, mas não são perfeitas;
    Pessoas cometem erros
    Pressões por tempo, custo
    Especificações incompletas
    Manutenção em código
    “Grandes poderes trazem grandes responsabilidades”
  • 71. Recapitulando...
    Vale a pena conhecer mais e investir em qualidade de software?