1. O documento apresenta 25 casos reais ou hipotéticos sobre problemas e desafios na engenharia de software, com o objetivo de discutir como aplicar técnicas da engenharia de software para solucioná-los.
2. Os casos incluem problemas comuns, estimativas de prazos, mudanças de requisitos, interação com usuários, teste de software, metodologias ágeis e certificações.
3. O documento é uma palestra orientada a casos realizada por Ricardo Terra sobre engenharia de software.
7. Engenharia de Software
Definição
Estudo e aplicação de técnicas de engenharia para o projeto,
desenvolvimento e manutenção de sistemas de software
Objetivo
O objetivo da Engenharia de Software é produzir software com
alta qualidade e baixo custo
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 6 / 39
8. Engenharia de Software
Chaos Report
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 7 / 39
9. Engenharia de Software
Chaos Report
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 7 / 39
10. Engenharia de Software
Objetivo da Palestra
Apontar casos reais (ou baseados em conjecturas)
de forma a prover uma visão geral dos problemas existentes
no desenvolvimento de software.
E, assim, aplicar a Engenharia de Software para solucioná-los!
Amo Engenharia de Software
Não se confunda achando que a estou criticando!
[(i) é como se gera pesquisa; problemas; e (ii) metáfora com objetivo do teste de software]
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 8 / 39
12. Caso #1
Caso #1: Problemas comuns
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 10 / 39
13. Caso #1
Caso #1: Problemas comuns
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 10 / 39
14. Caso #1
Caso #1: Problemas comuns
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 10 / 39
15. Caso #1
Caso #1: Problemas comuns
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 10 / 39
16. Caso #1
Caso #1: Problemas comuns
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 10 / 39
17. Caso #1
Caso #1: Problemas comuns
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 10 / 39
18. Caso #2
Caso #2: Fred Brooks (IBM OS/360, 9 grávidas, Joseph Climber)
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 11 / 39
19. Caso #2
Caso #2: Fred Brooks (IBM OS/360, 9 grávidas, Joseph Climber)
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 11 / 39
20. Caso #3
Caso #3: IHC [(i) Nielsen, (ii) Diretrizes W3C 50% e (iii) Usabilidade para cegos]
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 12 / 39
21. Caso #4
Caso #4: Mas, tem coisa que a ES não sabe explicar
Play
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 13 / 39
22. Caso #5
Caso #5: Código de Qualidade (deadlines, pressão, etc.)
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 14 / 39
23. Caso #6
Caso #6: Herança Múltipla? (Ian Sommerville vs. Bertrand Meyer)
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 15 / 39
24. Caso #6
Caso #6: Herança Múltipla? (Ian Sommerville vs. Bertrand Meyer)
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 15 / 39
25. Caso #7
Caso #7: Cadeia (eng. reversa)
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 16 / 39
26. Caso #7
Caso #7: Cadeia (eng. reversa)
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 16 / 39
27. Caso #7
Caso #7: Cadeia (eng. reversa)
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 16 / 39
28. Caso #8
Caso #8: Prazo é prazo (pontos de função, analogia com vídeo porta dos fundos, o que cortar?)
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 17 / 39
29. Caso #8
Caso #8: Prazo é prazo (pontos de função, analogia com vídeo porta dos fundos, o que cortar?)
Play
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 17 / 39
30. Caso #9
Caso #9: CDT:
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 18 / 39
31. Caso #9
Caso #9: CDT: O famoso Crash Driven Testing
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 18 / 39
32. Caso #10
Caso #10: Música para Testes
Play
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 19 / 39
33. Caso #11
Caso #11: Uma profissão: um sistema (cara é conhecido pelo nome do sistema)
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 20 / 39
34. Caso #11
Caso #11: Uma profissão: um sistema (cara é conhecido pelo nome do sistema)
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 20 / 39
35. Caso #11
Caso #11: Uma profissão: um sistema (cara é conhecido pelo nome do sistema)
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 20 / 39
36. Caso #11
Caso #11: Uma profissão: um sistema (cara é conhecido pelo nome do sistema)
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 20 / 39
37. Caso #12
Caso #12: Interação com o usuário (quando é necessária?, deptos especializados)
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 21 / 39
38. Caso #13
Caso #13: Requisitos (uma engenharia só para isso, questionário, entrevista, JAD, psicóloga, etc.)
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 22 / 39
39. Caso #14
Caso #14: Mudança de Requisito [(i)única certeza de um sistema; (ii) ruim?]
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 23 / 39
40. Caso #15
Caso #15: Qual é o melhor sistema?
S1: Tempo Médio: 9s
Em 0.01% das vezes, demora 11s
S2: Tempo Médio: 1s
Em 0.001% das vezes, demora 18s
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 24 / 39
41. Caso #16
Caso #16: VEIA (aluno)
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 25 / 39
42. Caso #16
Caso #16: VEIA (aluno)
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 25 / 39
43. Caso #17
Caso #17: Java, .Net, PHP, Ruby, Python...? (marketing pessoal)
Play
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 26 / 39
44. Caso #18
Caso #18: Pontos de Função e Capers Jones, o numerólogo
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 27 / 39
45. Caso #19
Caso #19: Forças Caóticas (Guru, Herói e Magia)
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 28 / 39
46. Caso #20
Caso #20: Bala de Prata (solução para todos os problemas)
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 29 / 39
47. Caso #21
Caso #21: Processo (triângulo mágico)
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 30 / 39
48. Caso #22
Caso #22: Fases de um Processo? (proprietário de uma empresa de TI)
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 31 / 39
49. Caso #22
Caso #22: Fases de um Processo? (proprietário de uma empresa de TI)
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 31 / 39
Oba Oba Ei ei ei ei Ai ai ai ai Ui ui ui ui
50. Caso #23
Caso #23: Cone da Incerteza (Estimar é complicado, IBOPE)
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 32 / 39
51. Caso #24
Caso #24: Certificação CMMI, MPS.BR, ISO/IEC 15504-2 (nível 1? rsrs...)
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 33 / 39
52. Caso #25
Caso #25: Scrum Norris
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 34 / 39
53. Caso #25
Caso #25: Scrum Norris
Stand-up meeting:
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 34 / 39
54. Caso #25
Caso #25: Scrum Norris
Stand-up meeting:
“Chuck Norris sits on the stand-up meeting.”
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 34 / 39
55. Caso #25
Caso #25: Scrum Norris
Sprint:
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 34 / 39
56. Caso #25
Caso #25: Scrum Norris
Sprint:
“Chuck Norris can do 6-month sprints.”
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 34 / 39
57. Caso #25
Caso #25: Scrum Norris
Planning Poker:
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 34 / 39
58. Caso #25
Caso #25: Scrum Norris
Planning Poker:
“Chuck Norris does not estimate, he knows.”
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 34 / 39
59. Caso #25
Caso #25: Scrum Norris
Pair Programming:
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 34 / 39
60. Caso #25
Caso #25: Scrum Norris
Pair Programming:
“Chuck Norris pairs alone.”
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 34 / 39
61. Caso #26
Caso #26: RUP, Scrum, XP?
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 35 / 39
62. Caso #27
Caso #27: Hug a Developer Today!
Play
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 36 / 39
64. Considerações Finais
Enfim, Engenharia de Software objetiva produzir software com:
alta qualidade
baixo custo
Quer então um software como a acima? (propaganda)
www.roverinformatica.com.br
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 38 / 39