Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação...

55
Uma breve história do desenvolvimento de sistemas Eduardo Bezerra CEFET/RJ [email protected] Maio de 2015

Transcript of Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação...

Page 1: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

Uma breve história do desenvolvimento de sistemas

Eduardo BezerraCEFET/RJ

[email protected]

Maio de 2015

Page 2: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

Conhece?

Page 3: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

Conhece?

Page 4: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

1936

Alan Turing

Page 5: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

1945

Von Neumann

Page 6: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

Vannevar Bush

1945MEMEX

Page 7: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

1945MEMEX

Page 8: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

1949John Mauchly

Linguagem Short Code

Page 9: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

A-0

Resultado de consulta no Google em maio/2015!

1952Grace M. Hopper

UNIVAC I

Page 10: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

FORmula TRANslator

IBM 7041957John Backus

Page 11: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

COBOL

Resultado de consulta no Google em maio/2015!

1959Grace M. Hopper

Page 12: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

QuickSort

• QuickSort (1961)

Tony Hoare

1961

“There are two ways to construct a piece of software: One is to make it so simple that there are obviously no errors, and the other is to make it so complicated that there are no obvious errors.”

Page 13: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

TAOCP

Donald Knuth

1962

Page 14: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

Início da IHC: Sketchpad (MIT)

Ivan Sutherland

1963

Page 15: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

IBM System/360

1964Tom Watson, Jr

Page 16: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

Lei de Moore

• “[...] a densidade de um transistor dobra em um período entre 18 e 24 meses”.

Gordon Moore, 1965

Gordon Moore

1965

Page 17: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

Simula67 – Orientação a Objetos

1967Inovações:

objetos,classes,herança,métodos virtuais,garbage collection.

Page 18: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

A Mãe de Todas as Demos

Douglas C. Engelbart

1968

Page 19: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

Conferências NATO

• Popularização dos termos Crise de Software e Engenharia de Software.

1968/1969

“[…] when we had a few weak computers, programming became a mild problem, and now we have gigantic computers, programming has become an equally gigantic problem.”

Edsger Dijkstra, 1972

Page 20: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

Programação Estruturada

Edsger Dijkstra

1968

Page 21: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

ARPANET

1969

Page 22: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

Ciclo de Vida do Software

1970Inovações:

Desenvolvimento iterativoUso de prototipagem

Page 23: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

Modelo Relacional

Edgar Frank Codd

1970Base teórica para SGBDRs e SQL

Page 24: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

Dynabook

Alan Kay

1972

Page 25: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

Programação Estruturada

David Parnas

1972

Page 26: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

C

1972

Page 27: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

Modelo Entidade-Relacionamento

Peter Chen

1976

Page 28: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

Trinity

1977

Commodore PET

Apple II

TRS-80

Page 29: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

TRS-80

Page 30: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

Padrões

1977 Christopher Alexander

Page 31: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

Crescimento da Análise Estruturada

Tom DeMarco

1978

Page 32: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

SmallTalk-80

1980Adele Goldberg

MVCWYSIWYGGUIIDE

Page 33: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

Engenharia da Informação

You may refer to Ian Sommerville book on software engineering, nineth edition

1981

Page 34: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

RPC

1984

Page 35: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

C++

Bjarne Stroustrup1985

Page 36: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

Modelo em Espiral

1986Barry Boehm

Page 37: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

No Silver Bullet

1986Fred Brooks

Complexidade essencial

Page 38: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

Armazéns de Dados

1988

Page 39: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

Apogeu da Metodologia Estruturada

1989Edward Yourdon

Page 40: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

WWW

Tim Berners-Lee

Primeiro Web Server

1990

Page 41: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

Armazéns de Dados

Bill Inmon

1992

Page 42: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

Refatoração de Código

1992William Opdyke

Page 43: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

Mosaic & Netscape

1993

1994

Marc Andreessen

Page 44: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

http://web.archive.org/

1995

Page 45: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

“software is getting slower more rapidly than hardware becomes faster.”

1995Niklaus Wirth

Page 46: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

Padrões de Software

1995

1996

Page 47: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

Java

1995

Page 48: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

Metodologias Ágeis

19951996Kent Beck

Page 49: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

Guerra de Métodos OO

Ano Autor(es)

1990 Shaler & Mellor

1991 Coad & Yourdon (OOAD – Object-Oriented Analysis and Design)

1993 Grady Booch (Booch Method)

1993 Ivar Jacobson (OOSE – Object-Oriented Software Engineering)

1995 James Rumbaugh et al. (OMT – Object Modeling Technique)

1996 Wirfs-Brock (Responsibility Driven Design)

1996 (Fusion)

1990 a 1996

Page 50: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

UML

1997

Page 51: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

MapReduce

2004

Page 52: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

Orientação a Serviços

Aplicações Monolíticas

Aplicações Distribuídas

SOA

2005

Page 53: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

Smartphones

2007 2008

Page 54: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

2008-2015

Page 55: Uma breve história do desenvolvimento de sistemas de ... · UML 1997. MapReduce 2004. Orientação a Serviços Aplicações Monolíticas Aplicações Distribuídas SOA 2005. Smartphones

Futuro

É apenas o começo