under engineer

51
Under Engineer Augusto Pascutti / Alexandre Gaigalas @augustohp @alganet 1 Thursday, May 3, 2012

Upload: augusto-pascutti

Post on 04-Jul-2015

418 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Under engineer

Under EngineerAugusto Pascutti / Alexandre Gaigalas

@augustohp @alganet

1Thursday, May 3, 2012

Page 2: Under engineer

Agenda

Engenharia de Software

Design

Under Engineer

2Thursday, May 3, 2012

Page 3: Under engineer

Enganheria de Software

3Thursday, May 3, 2012

Page 4: Under engineer

Engenharia de Software:É o estabelecimento e uso de princípios da engenharia com a finalidade de obter um software que seja confiável e funcional.

Fonte: IEEE Standard Computer Dictionary [1990]

4Thursday, May 3, 2012

Page 5: Under engineer

Engenharia de Software:É o estabelecimento e uso de princípios da engenharia com a finalidade de obter um software que seja confiável e funcional.engenharia

Modelo Racional

Fonte: (2010) Brooks, Frederick P. The design of designFonte: IEEE Standard Computer Dictionary [1990]

5Thursday, May 3, 2012

Page 6: Under engineer

“(...) a teoria da modelagem é a teoria geral da busca (...) dentro de amplos aspectos combinatórios. ”

Herbert Simon [1969]. The science of the artificial, 54.

6Thursday, May 3, 2012

Page 7: Under engineer

Fonte: Royce, Winston Willian. Waterfall Model [1970]

Modelo Cascata

7Thursday, May 3, 2012

Page 8: Under engineer

Fonte: Royce, Winston Willian. Waterfall Model [1970]

Modelo CascataRequisitos do Sistema

Requisitos do Software

Modelagem do Sistema

Modelagem do Programa

Testes de Unidade

Integração

Manutenção

7Thursday, May 3, 2012

Page 9: Under engineer

Modelo CascataRequisitos do Sistema

Requisitos do Software

Modelagem do Sistema

Modelagem do Programa

Testes de Unidade

Integração

Manutenção

Fonte: Royce, Winston Willian. Waterfall Model [1970]

8Thursday, May 3, 2012

Page 10: Under engineer

Modelo CascataRequisitos do Sistema

Requisitos do Software

Modelagem do Sistema

Modelagem do Programa

Testes de Unidade

Integração

Manutenção

Fonte: Royce, Winston Willian. Waterfall Model [1970]

9Thursday, May 3, 2012

Page 11: Under engineer

Modelo CascataRequisitos do Sistema

Requisitos do Software

Modelagem do Sistema

Modelagem do Programa

Testes de Unidade

Integração

Manutenção

Fonte: Royce, Winston Willian. Waterfall Model [1970]

10Thursday, May 3, 2012

Page 12: Under engineer

Modelo CascataRequisitos do Sistema

Requisitos do Software

Modelagem do Sistema

Modelagem do Programa

Testes de Unidade

Integração

Manutenção

Fonte: Royce, Winston Willian. Waterfall Model [1970]

11Thursday, May 3, 2012

Page 13: Under engineer

Modelo CascataRequisitos do Sistema

Requisitos do Software

Modelagem do Sistema

Modelagem do Programa

Testes de Unidade

Integração

Manutenção

Fonte: Royce, Winston Willian. Waterfall Model [1970]

12Thursday, May 3, 2012

Page 14: Under engineer

Modelo CascataRequisitos do Sistema

Requisitos do Software

Modelagem do Sistema

Modelagem do Programa

Testes de Unidade

Integração

Manutenção

Fonte: Royce, Winston Willian. Waterfall Model [1970]

13Thursday, May 3, 2012

Page 15: Under engineer

Modelo CascataRequisitos do Sistema

Requisitos do Software

Modelagem do Sistema

Modelagem do Programa

Testes de Unidade

Integração

Manutenção

Fonte: Royce, Winston Willian. Waterfall Model [1970]

14Thursday, May 3, 2012

Page 16: Under engineer

Modelo CascataRequisitos do Sistema

Requisitos do Software

Modelagem do Sistema

Modelagem do Programa

Testes de Unidade

Integração

Manutenção

“Testes podem ser usados para mostrar a existência de bugs, mas nunca sua

ausência”Edsger W. Dijkstra

Fonte: Royce, Winston Willian. Waterfall Model [1970]

15Thursday, May 3, 2012

Page 17: Under engineer

Modelo CascataRequisitos do Sistema

Requisitos do Software

Modelagem do Sistema

Modelagem do Programa

Testes de Unidade

Integração

Manutenção

Fonte: Royce, Winston Willian. Waterfall Model [1970]

16Thursday, May 3, 2012

Page 18: Under engineer

Modelo CascataRequisitos do Sistema

Requisitos do Software

Modelagem do Sistema

Modelagem do Programa

Testes de Unidade

Integração

Manutenção

Fonte: Royce, Winston Willian. Waterfall Model [1970]

17Thursday, May 3, 2012

Page 19: Under engineer

Modelo CascataRequisitos do Sistema

Requisitos do Software

Modelagem do Sistema

Modelagem do Programa

Testes de Unidade

Integração

Manutenção

Fonte: Royce, Winston Willian. Waterfall Model [1970]

18Thursday, May 3, 2012

Page 20: Under engineer

Modelo CascataRequisitos do Sistema

Requisitos do Software

Modelagem do Sistema

Modelagem do Programa

Testes de Unidade

Integração

Manutenção

Fonte: Royce, Winston Willian. Waterfall Model [1970]

19Thursday, May 3, 2012

Page 21: Under engineer

Modelo CascataRequisitos do Sistema

Requisitos do Software

Modelagem do Sistema

Modelagem do Programa

Testes de Unidade

Integração

Manutenção

Fonte: Royce, Winston Willian. Waterfall Model [1970]

20Thursday, May 3, 2012

Page 22: Under engineer

Modelo CascataRequisitos do Sistema

Requisitos do Software

Modelagem do Sistema

Modelagem do Programa

Testes de Unidade

Integração

Manutenção

Fonte: Royce, Winston Willian. Waterfall Model [1970]

21Thursday, May 3, 2012

Page 23: Under engineer

Custo de Mudança

22Thursday, May 3, 2012

Page 24: Under engineer

Modelo Espiral de Boehm

Fonte: Boehm, Barry. Spiral Model [1988]23Thursday, May 3, 2012

Page 25: Under engineer

“[Ciência da computação] não é realmente sobre computadores (...) é bem fácil confundir a essência do que você está fazendo com as ferramentas que

está usando.”Hal Abelson (1986)

24Thursday, May 3, 2012

Page 26: Under engineer

Design

25Thursday, May 3, 2012

Page 27: Under engineer

Fonte: Brooks, Frederick P. The design of design [2010]

Modelagem é o produto da engenharia.

26Thursday, May 3, 2012

Page 28: Under engineer

PerguntaResposta

27Thursday, May 3, 2012

Page 29: Under engineer

PerguntaResposta

28Thursday, May 3, 2012

Page 30: Under engineer

Qual a definição de “modelagem”?

29Thursday, May 3, 2012

Page 31: Under engineer

Qual a definição de “modelagem”?

Um plano para arrumar elementos em determinada maneira para cumprir um propósito particular.

29Thursday, May 3, 2012

Page 32: Under engineer

A modelagem admite limitações?

30Thursday, May 3, 2012

Page 33: Under engineer

A modelagem admite limitações?Modelagem depende, muito, das limitações.

30Thursday, May 3, 2012

Page 34: Under engineer

O que você julga ser a principal condição para a prática da modelagem?

31Thursday, May 3, 2012

Page 35: Under engineer

O que você julga ser a principal condição para a prática da modelagem?Reconhecimento da necessidade.

31Thursday, May 3, 2012

Page 36: Under engineer

“Eventualmente, tudo se conecta.”Charles Eames

Fonte: http://powersof10.com/32Thursday, May 3, 2012

Page 37: Under engineer

Under Engineer

33Thursday, May 3, 2012

Page 38: Under engineer

Limitações

34Thursday, May 3, 2012

Page 39: Under engineer

35Thursday, May 3, 2012

Page 40: Under engineer

36Thursday, May 3, 2012

Page 41: Under engineer

Reutilização

37Thursday, May 3, 2012

Page 42: Under engineer

“Você esta gastando uma quantidade incrível de dinheiro escrevendo código que já existe.”

Joel Spolsky

Fonte: http://www.joelonsoftware.com/articles/fog0000000069.html38Thursday, May 3, 2012

Page 43: Under engineer

39Thursday, May 3, 2012

Page 44: Under engineer

“O Unix é simples. É preciso de um gênio para entender sua simplicidade.”

Dennis Ritchie

40Thursday, May 3, 2012

Page 45: Under engineer

ReutilizaçãoDe limitações também, por que não?

41Thursday, May 3, 2012

Page 46: Under engineer

IteraçãoFazer cada vez mais, com menos.

42Thursday, May 3, 2012

Page 47: Under engineer

“Modele para o futuro, porque ele estará aqui mais cedo do que você imagina.”

Eric S. Reymond

Fonte: Raymond, Erick. The Art of Unix Programmin [2003]43Thursday, May 3, 2012

Page 48: Under engineer

Efeito “segundo sistema”

Frederick Brooks

Fonte: Brooks, Frederick P. The mythical Man-Month [1975]44Thursday, May 3, 2012

Page 49: Under engineer

“A versão orientada a objetos do código spaghetti é, óbvio, código lasagna! Muitas camadas.”

Roberto Waltman

Fonte: Tweet @CodeWisdom [hoje]45Thursday, May 3, 2012

Page 50: Under engineer

?

46Thursday, May 3, 2012

Page 51: Under engineer

“Uma boa arquitetura alcança: robustez, utilidade e prazer.”

Vitrúvio

Fonte: De Architectura [22AC]47Thursday, May 3, 2012