POC
Ricardo Terra
rterrabh [at] gmail.com
Nome: Ricardo Terra
Email: rterrabh [at] gmail.com www: ricardoterra.com.br Twitter: rterrabh
Lattes: lattes.cnpq.br/ 0162081093970868
Ph.D. (UFMG/UWaterloo) ,
Post-Ph.D.
(INRIA/Université Lille 1)Background
Acadêmico : UFLA
(desde 2014), UFSJ
(1 ano ), FUMEC
(3 anos ), UNIPAC
(1 ano ), FAMINAS
(3 anos )Profissional : DBA Eng.
(1 ano ), Synos
(2 anos ), Stefanini
(1 ano )Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 2 / 39
POC?
POC?
POC?
Palestra Orientada a Casos
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 3 / 39
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 5 / 39
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
Chaos Report
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 7 / 39
Chaos Report
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
Caso #1: Problemas comuns
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 10 / 39
Caso #1: Problemas comuns
Caso #1: Problemas comuns
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 10 / 39
Caso #1: Problemas comuns
Caso #1: Problemas comuns
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 10 / 39
Caso #1: Problemas comuns
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
Caso #2: Fred Brooks
(IBM OS/360, 9 grávidas, Joseph Climber)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
Caso #4: Mas, tem coisa que a ES não sabe explicar
Play
Caso #5: Código de Qualidade
(deadlines, pressão, etc.)Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 14 / 39
Caso #6: Herança Múltipla?
(Ian Sommerville vs. Bertrand Meyer)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
Caso #7: Cadeia
(eng. reversa)Caso #7: Cadeia
(eng. reversa)Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 16 / 39
Caso #7: Cadeia
(eng. reversa)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
Caso #8: Prazo é prazo
(pontos de função, analogia com vídeo porta dos fundos, o que cortar?)Caso #9 Caso #9: CDT:
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 18 / 39
Caso #9: CDT: O famoso Crash Driven Testing
Caso #10: Música para Testes
Play
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 19 / 39
Caso #11: Uma profissão: um sistema
(cara é conhecido pelo nome do sistema)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
Caso #11: Uma profissão: um sistema
(cara é conhecido pelo nome do sistema)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
Caso #12: Interação com o usuário
(quando é necessária?, deptos especializados)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
Caso #14: Mudança de Requisito
[(i)única certeza de um sistema; (ii) ruim?]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
Caso #16: VEIA
(aluno)Caso #16: VEIA
(aluno)Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 25 / 39
Caso #17: Java, .Net, PHP, Ruby, Python...?
(marketing pessoal)Caso #18: Pontos de Função e Capers Jones,
o numerólogoRicardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 27 / 39
Caso #19: Forças Caóticas
(Guru, Herói e Magia)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
Caso #21: Processo
(triângulo mágico)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
Caso #22: Fases de um Processo?
(proprietário de uma empresa de TI)Oba Oba Ei ei ei ei Ai ai ai ai Ui ui ui ui
Caso #23: Cone da Incerteza
(Estimar é complicado, IBOPE)Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 32 / 39
Caso #24: Certificação CMMI, MPS.BR, ISO/IEC 15504-2
(nível 1? rsrs...)Caso #25: Scrum Norris
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 34 / 39
Caso #25: Scrum Norris
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
Caso #25: Scrum Norris
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
Caso #25: Scrum Norris
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
Caso #25: Scrum Norris
Caso #25: Scrum Norris
Pair Programming:
“Chuck Norris pairs alone.”
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 34 / 39
Caso #26: RUP, Scrum, XP?
Caso #27: Hug a Developer Today!
Play
Ricardo Terra (rterrabh [at] gmail.com) Engenharia de Software: POC Agosto, 2016 36 / 39
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