SlideShare una empresa de Scribd logo
1 de 51
Descargar para leer sin conexión
Under Engineer
                        Augusto Pascutti / Alexandre Gaigalas
                          @augustohp          @alganet




Thursday, May 3, 2012                                           1
Agenda


                        Engenharia de Software

                        Design

                        Under Engineer




Thursday, May 3, 2012                            2
Enganheria de
                          Software


Thursday, May 3, 2012                   3
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]

Thursday, May 3, 2012                                                                           4
Engenharia deRacional
                             Modelo Software:
                        É o estabelecimento e uso de princípios da
                        engenharia com a finalidade de obter um
                        software que seja confiável e funcional.
                                              Fonte: (2010) Brooks, Frederick P. The design of design
                                              Fonte: IEEE Standard Computer Dictionary [1990]

Thursday, May 3, 2012                                                                              5
“(...) a teoria da modelagem é a teoria geral da busca
                (...) dentro de amplos aspectos combinatórios. ”
                                          Herbert Simon [1969]. The science of
                                                    the artificial, 54.




Thursday, May 3, 2012                                                            6
Modelo Cascata




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

Thursday, May 3, 2012                                                           7
Modelo Cascata
              Requisitos 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]

Thursday, May 3, 2012                                                                          7
Modelo Cascata
              Requisitos 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]

Thursday, May 3, 2012                                                                          8
Modelo Cascata
              Requisitos 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]

Thursday, May 3, 2012                                                                          9
Modelo Cascata
              Requisitos 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]

Thursday, May 3, 2012                                                                         10
Modelo Cascata
              Requisitos 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]

Thursday, May 3, 2012                                                                         11
Modelo Cascata
              Requisitos 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]

Thursday, May 3, 2012                                                                         12
Modelo Cascata
              Requisitos 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]

Thursday, May 3, 2012                                                                         13
Modelo Cascata
              Requisitos 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]

Thursday, May 3, 2012                                                                         14
Modelo Cascata
              Requisitos do Sistema




              Requisitos do Software




              Modelagem do Sistema



                                       “Testes podem ser usados para mostrar
             Modelagem do Programa
                                         a existência de bugs, mas nunca sua
                                                       ausência”
                Testes de Unidade
                                                                           Edsger W. Dijkstra


                   Integração




                   Manutenção



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

Thursday, May 3, 2012                                                                                   15
Modelo Cascata
              Requisitos 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]

Thursday, May 3, 2012                                                                         16
Modelo Cascata
              Requisitos 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]

Thursday, May 3, 2012                                                                         17
Modelo Cascata
              Requisitos 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]

Thursday, May 3, 2012                                                                         18
Modelo Cascata
              Requisitos 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]

Thursday, May 3, 2012                                                                         19
Modelo Cascata
              Requisitos 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]

Thursday, May 3, 2012                                                                         20
Modelo Cascata
              Requisitos 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]

Thursday, May 3, 2012                                                                         21
Custo de Mudança




Thursday, May 3, 2012                      22
Modelo Espiral de Boehm




                        Fonte: Boehm, Barry. Spiral Model [1988]
Thursday, May 3, 2012                                              23
“[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)




Thursday, May 3, 2012                                                     24
Design



Thursday, May 3, 2012            25
Modelagem é o produto da engenharia.




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

Thursday, May 3, 2012                                                                               26
Pergunta
        Resposta




Thursday, May 3, 2012   27
Pergunta
        Resposta




Thursday, May 3, 2012   28
Qual a definição de “modelagem”?




Thursday, May 3, 2012                      29
Qual a definição de “modelagem”?

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




Thursday, May 3, 2012                                    29
A modelagem admite limitações?




Thursday, May 3, 2012                     30
A modelagem admite limitações?
        Modelagem depende, muito, das limitações.




Thursday, May 3, 2012                               30
O que você julga ser a principal condição para a
         prática da modelagem?




Thursday, May 3, 2012                                       31
O que você julga ser a principal condição para a
         prática da modelagem?
        Reconhecimento da necessidade.




Thursday, May 3, 2012                                       31
“Eventualmente, tudo se conecta.”
                                                     Charles Eames




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


Thursday, May 3, 2012               33
Limitações



Thursday, May 3, 2012                34
Thursday, May 3, 2012   35
Thursday, May 3, 2012   36
Reutilização



Thursday, May 3, 2012                  37
“Você esta gastando uma quantidade incrível de
                    dinheiro escrevendo código que já existe.”
                                                                            Joel Spolsky




                                    Fonte: http://www.joelonsoftware.com/articles/fog0000000069.html
Thursday, May 3, 2012                                                                             38
Thursday, May 3, 2012   39
“O Unix é simples. É preciso de um gênio para
                            entender sua simplicidade.”
                                                          Dennis Ritchie




Thursday, May 3, 2012                                                      40
Reutilização
                        De limitações também, por que não?




Thursday, May 3, 2012                                        41
Iteração
                        Fazer cada vez mais, com menos.




Thursday, May 3, 2012                                     42
“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]
Thursday, May 3, 2012                                                                         43
Efeito “segundo sistema”

                                                                 Frederick Brooks




                                    Fonte: Brooks, Frederick P. The mythical Man-Month [1975]
Thursday, May 3, 2012                                                                      44
“A versão orientada a objetos do código spaghetti é,
                   óbvio, código lasagna! Muitas camadas.”
                                                          Roberto Waltman




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



Thursday, May 3, 2012       46
“Uma boa arquitetura alcança: robustez, utilidade e
                                   prazer.”
                                                                Vitrúvio




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

Más contenido relacionado

Destacado

T1 g13.modelo cascata
T1 g13.modelo cascataT1 g13.modelo cascata
T1 g13.modelo cascatawilsonguns
 
01- Introdução a programação e modelo RAD v1.0
01- Introdução a programação e modelo RAD v1.001- Introdução a programação e modelo RAD v1.0
01- Introdução a programação e modelo RAD v1.0César Augusto Pessôa
 
Cap 6 O Processo De Design De InteraçãO
Cap 6 O Processo De Design De InteraçãOCap 6 O Processo De Design De InteraçãO
Cap 6 O Processo De Design De InteraçãOMarcelo Bitencourt
 
Apresentação - Uniararas - JEE e Desenvolvimento Ágil
Apresentação - Uniararas - JEE e Desenvolvimento ÁgilApresentação - Uniararas - JEE e Desenvolvimento Ágil
Apresentação - Uniararas - JEE e Desenvolvimento ÁgilMarcio Garcia
 
Disciplina_Análise de Projeto de Sistema I - Metodologia Cascata e Processos ...
Disciplina_Análise de Projeto de Sistema I - Metodologia Cascata e Processos ...Disciplina_Análise de Projeto de Sistema I - Metodologia Cascata e Processos ...
Disciplina_Análise de Projeto de Sistema I - Metodologia Cascata e Processos ...Rogério Almeida
 
Projeto de Sistemas - Aula002
Projeto de Sistemas - Aula002Projeto de Sistemas - Aula002
Projeto de Sistemas - Aula002Cláudio Amaral
 
Modelo cascata apresentação
Modelo cascata apresentaçãoModelo cascata apresentação
Modelo cascata apresentaçãoerysonsi
 
03 Modelo de processo de software
03 Modelo de processo de software03 Modelo de processo de software
03 Modelo de processo de softwareWaldemar Roberti
 
Introdução a engenharia de software aula 01
Introdução a engenharia de software   aula 01Introdução a engenharia de software   aula 01
Introdução a engenharia de software aula 01Franklin Matos Correia
 
Ciclo de vida de software
Ciclo de vida de softwareCiclo de vida de software
Ciclo de vida de softwarediha36
 
Cobit 5 Parte 03 - 3º princípio- aplicar um modelo único integrado
Cobit 5 Parte 03 -  3º princípio- aplicar um modelo único integradoCobit 5 Parte 03 -  3º princípio- aplicar um modelo único integrado
Cobit 5 Parte 03 - 3º princípio- aplicar um modelo único integradoFernando Palma
 
UX para desenvolvedores - UX Conf BR 2015
UX para desenvolvedores - UX Conf BR 2015UX para desenvolvedores - UX Conf BR 2015
UX para desenvolvedores - UX Conf BR 2015Samantha Rosa
 
Modelo cascata apresentação
Modelo cascata apresentaçãoModelo cascata apresentação
Modelo cascata apresentaçãoerysonsi
 
A Evolucao dos Processos de Desenvolvimento de Software
A Evolucao dos Processos de Desenvolvimento de SoftwareA Evolucao dos Processos de Desenvolvimento de Software
A Evolucao dos Processos de Desenvolvimento de SoftwareRobson Silva Espig
 

Destacado (20)

T1 g13.modelo cascata
T1 g13.modelo cascataT1 g13.modelo cascata
T1 g13.modelo cascata
 
Métodos Ágeis
Métodos ÁgeisMétodos Ágeis
Métodos Ágeis
 
01- Introdução a programação e modelo RAD v1.0
01- Introdução a programação e modelo RAD v1.001- Introdução a programação e modelo RAD v1.0
01- Introdução a programação e modelo RAD v1.0
 
Cap 6 O Processo De Design De InteraçãO
Cap 6 O Processo De Design De InteraçãOCap 6 O Processo De Design De InteraçãO
Cap 6 O Processo De Design De InteraçãO
 
Apresentação - Uniararas - JEE e Desenvolvimento Ágil
Apresentação - Uniararas - JEE e Desenvolvimento ÁgilApresentação - Uniararas - JEE e Desenvolvimento Ágil
Apresentação - Uniararas - JEE e Desenvolvimento Ágil
 
Disciplina_Análise de Projeto de Sistema I - Metodologia Cascata e Processos ...
Disciplina_Análise de Projeto de Sistema I - Metodologia Cascata e Processos ...Disciplina_Análise de Projeto de Sistema I - Metodologia Cascata e Processos ...
Disciplina_Análise de Projeto de Sistema I - Metodologia Cascata e Processos ...
 
1 introdução
1  introdução1  introdução
1 introdução
 
Projeto de Sistemas - Aula002
Projeto de Sistemas - Aula002Projeto de Sistemas - Aula002
Projeto de Sistemas - Aula002
 
Modelo cascata
Modelo cascataModelo cascata
Modelo cascata
 
Modelo cascata apresentação
Modelo cascata apresentaçãoModelo cascata apresentação
Modelo cascata apresentação
 
03 Modelo de processo de software
03 Modelo de processo de software03 Modelo de processo de software
03 Modelo de processo de software
 
Introdução a engenharia de software aula 01
Introdução a engenharia de software   aula 01Introdução a engenharia de software   aula 01
Introdução a engenharia de software aula 01
 
Ciclo de vida de software
Ciclo de vida de softwareCiclo de vida de software
Ciclo de vida de software
 
Cobit 5 Parte 03 - 3º princípio- aplicar um modelo único integrado
Cobit 5 Parte 03 -  3º princípio- aplicar um modelo único integradoCobit 5 Parte 03 -  3º princípio- aplicar um modelo único integrado
Cobit 5 Parte 03 - 3º princípio- aplicar um modelo único integrado
 
Aula 2 - Processos de Software
Aula 2 - Processos de SoftwareAula 2 - Processos de Software
Aula 2 - Processos de Software
 
UX para desenvolvedores - UX Conf BR 2015
UX para desenvolvedores - UX Conf BR 2015UX para desenvolvedores - UX Conf BR 2015
UX para desenvolvedores - UX Conf BR 2015
 
Modelos de processos de software
Modelos de processos de softwareModelos de processos de software
Modelos de processos de software
 
Modelos de Processo de Software
Modelos de Processo de SoftwareModelos de Processo de Software
Modelos de Processo de Software
 
Modelo cascata apresentação
Modelo cascata apresentaçãoModelo cascata apresentação
Modelo cascata apresentação
 
A Evolucao dos Processos de Desenvolvimento de Software
A Evolucao dos Processos de Desenvolvimento de SoftwareA Evolucao dos Processos de Desenvolvimento de Software
A Evolucao dos Processos de Desenvolvimento de Software
 

Similar a Under engineer

Padrões Arquiteturais de Sistemas
Padrões Arquiteturais de SistemasPadrões Arquiteturais de Sistemas
Padrões Arquiteturais de SistemasVagner Santana
 
Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016Renato Groff
 
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...Lenin Abadie
 
Microservices - ALM Roadshow 2015
Microservices - ALM Roadshow 2015Microservices - ALM Roadshow 2015
Microservices - ALM Roadshow 2015Renato Groff
 
Processo Unificado(RUP)
Processo Unificado(RUP)Processo Unificado(RUP)
Processo Unificado(RUP)elliando dias
 
Ferramentas Case de Teste
Ferramentas Case de TesteFerramentas Case de Teste
Ferramentas Case de TesteBeatriz Marques
 
Seminário - Arquitetura de software para computação ubíqua
Seminário - Arquitetura de software para computação ubíquaSeminário - Arquitetura de software para computação ubíqua
Seminário - Arquitetura de software para computação ubíquaRubens Matos Junior
 
Microservices - Canal .NET Dev Weekend
Microservices - Canal .NET Dev WeekendMicroservices - Canal .NET Dev Weekend
Microservices - Canal .NET Dev WeekendRenato Groff
 
Padrão Arquitetural MVC e suas aplicações para WEB
Padrão Arquitetural MVC e suas aplicações para WEBPadrão Arquitetural MVC e suas aplicações para WEB
Padrão Arquitetural MVC e suas aplicações para WEBRafael França
 
Apresentação Introdução Design Patterns
Apresentação Introdução Design PatternsApresentação Introdução Design Patterns
Apresentação Introdução Design PatternsLucas Simões Maistro
 
Brateste 2103: Virtualização de Serviços para uma Nova Abordagem em testes
Brateste 2103:  Virtualização de Serviços para uma Nova Abordagem em testesBrateste 2103:  Virtualização de Serviços para uma Nova Abordagem em testes
Brateste 2103: Virtualização de Serviços para uma Nova Abordagem em testesananegrello
 
Apresentacão Android Components - Programando em camadas
Apresentacão Android Components - Programando em camadasApresentacão Android Components - Programando em camadas
Apresentacão Android Components - Programando em camadasVictor Aldir
 
Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017
Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017
Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017Renato Groff
 
Geracao Automatica Assistida Iu Marcelo Mrack
Geracao Automatica Assistida Iu Marcelo MrackGeracao Automatica Assistida Iu Marcelo Mrack
Geracao Automatica Assistida Iu Marcelo MrackMarcelo Mrack
 

Similar a Under engineer (20)

Objectory
ObjectoryObjectory
Objectory
 
Padrões Arquiteturais de Sistemas
Padrões Arquiteturais de SistemasPadrões Arquiteturais de Sistemas
Padrões Arquiteturais de Sistemas
 
Mvc - Semifinal
Mvc - SemifinalMvc - Semifinal
Mvc - Semifinal
 
Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016
 
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
 
Microservices
MicroservicesMicroservices
Microservices
 
Microservices - ALM Roadshow 2015
Microservices - ALM Roadshow 2015Microservices - ALM Roadshow 2015
Microservices - ALM Roadshow 2015
 
Asp net mvc
Asp net mvcAsp net mvc
Asp net mvc
 
Processo Unificado(RUP)
Processo Unificado(RUP)Processo Unificado(RUP)
Processo Unificado(RUP)
 
Eng.ª do Software - 4. Processos de software
Eng.ª do Software - 4. Processos de softwareEng.ª do Software - 4. Processos de software
Eng.ª do Software - 4. Processos de software
 
Ferramentas Case de Teste
Ferramentas Case de TesteFerramentas Case de Teste
Ferramentas Case de Teste
 
Seminário - Arquitetura de software para computação ubíqua
Seminário - Arquitetura de software para computação ubíquaSeminário - Arquitetura de software para computação ubíqua
Seminário - Arquitetura de software para computação ubíqua
 
Padrões de projeto
Padrões de projetoPadrões de projeto
Padrões de projeto
 
Microservices - Canal .NET Dev Weekend
Microservices - Canal .NET Dev WeekendMicroservices - Canal .NET Dev Weekend
Microservices - Canal .NET Dev Weekend
 
Padrão Arquitetural MVC e suas aplicações para WEB
Padrão Arquitetural MVC e suas aplicações para WEBPadrão Arquitetural MVC e suas aplicações para WEB
Padrão Arquitetural MVC e suas aplicações para WEB
 
Apresentação Introdução Design Patterns
Apresentação Introdução Design PatternsApresentação Introdução Design Patterns
Apresentação Introdução Design Patterns
 
Brateste 2103: Virtualização de Serviços para uma Nova Abordagem em testes
Brateste 2103:  Virtualização de Serviços para uma Nova Abordagem em testesBrateste 2103:  Virtualização de Serviços para uma Nova Abordagem em testes
Brateste 2103: Virtualização de Serviços para uma Nova Abordagem em testes
 
Apresentacão Android Components - Programando em camadas
Apresentacão Android Components - Programando em camadasApresentacão Android Components - Programando em camadas
Apresentacão Android Components - Programando em camadas
 
Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017
Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017
Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017
 
Geracao Automatica Assistida Iu Marcelo Mrack
Geracao Automatica Assistida Iu Marcelo MrackGeracao Automatica Assistida Iu Marcelo Mrack
Geracao Automatica Assistida Iu Marcelo Mrack
 

Más de Augusto Pascutti

Melhorando sua API com DSLs
Melhorando sua API com DSLsMelhorando sua API com DSLs
Melhorando sua API com DSLsAugusto Pascutti
 
Logs: O que comem, onde vivem e como se reproduzem.
Logs: O que comem, onde vivem e como se reproduzem.Logs: O que comem, onde vivem e como se reproduzem.
Logs: O que comem, onde vivem e como se reproduzem.Augusto Pascutti
 
TDD - Test Driven Development (em PHP)
TDD - Test Driven Development (em PHP)TDD - Test Driven Development (em PHP)
TDD - Test Driven Development (em PHP)Augusto Pascutti
 
Guia do mochileiro para escalabilidade
Guia do mochileiro para escalabilidadeGuia do mochileiro para escalabilidade
Guia do mochileiro para escalabilidadeAugusto Pascutti
 
Falhando miseralvelmente com PHP
Falhando miseralvelmente com PHPFalhando miseralvelmente com PHP
Falhando miseralvelmente com PHPAugusto Pascutti
 
SfCon: Test Driven Development
SfCon: Test Driven DevelopmentSfCon: Test Driven Development
SfCon: Test Driven DevelopmentAugusto Pascutti
 
Como escalar aplicações PHP
Como escalar aplicações PHPComo escalar aplicações PHP
Como escalar aplicações PHPAugusto Pascutti
 
PHP - O que, porquê e como
PHP - O que, porquê e comoPHP - O que, porquê e como
PHP - O que, porquê e comoAugusto Pascutti
 
Testar é bom, integrar é ainda melhor
Testar é bom, integrar é ainda melhorTestar é bom, integrar é ainda melhor
Testar é bom, integrar é ainda melhorAugusto Pascutti
 
PHPSC Conference 2010 - Testar é bom, integrar é melhor ainda!
PHPSC Conference 2010 - Testar é bom, integrar é melhor ainda!PHPSC Conference 2010 - Testar é bom, integrar é melhor ainda!
PHPSC Conference 2010 - Testar é bom, integrar é melhor ainda!Augusto Pascutti
 
Orientação a Objetos com PHP
Orientação a Objetos com PHPOrientação a Objetos com PHP
Orientação a Objetos com PHPAugusto Pascutti
 
Boas Práticas, Práticas !
Boas Práticas, Práticas !Boas Práticas, Práticas !
Boas Práticas, Práticas !Augusto Pascutti
 

Más de Augusto Pascutti (20)

Errors
ErrorsErrors
Errors
 
Melhorando sua API com DSLs
Melhorando sua API com DSLsMelhorando sua API com DSLs
Melhorando sua API com DSLs
 
Porque VIM?
Porque VIM?Porque VIM?
Porque VIM?
 
Logs: O que comem, onde vivem e como se reproduzem.
Logs: O que comem, onde vivem e como se reproduzem.Logs: O que comem, onde vivem e como se reproduzem.
Logs: O que comem, onde vivem e como se reproduzem.
 
TDD - Test Driven Development (em PHP)
TDD - Test Driven Development (em PHP)TDD - Test Driven Development (em PHP)
TDD - Test Driven Development (em PHP)
 
Guia do mochileiro para escalabilidade
Guia do mochileiro para escalabilidadeGuia do mochileiro para escalabilidade
Guia do mochileiro para escalabilidade
 
Falhando miseralvelmente com PHP
Falhando miseralvelmente com PHPFalhando miseralvelmente com PHP
Falhando miseralvelmente com PHP
 
SfCon: Test Driven Development
SfCon: Test Driven DevelopmentSfCon: Test Driven Development
SfCon: Test Driven Development
 
Orientação a objetos v2
Orientação a objetos v2Orientação a objetos v2
Orientação a objetos v2
 
Como escalar aplicações PHP
Como escalar aplicações PHPComo escalar aplicações PHP
Como escalar aplicações PHP
 
The small things
The small thingsThe small things
The small things
 
Somos jardineiros
Somos jardineirosSomos jardineiros
Somos jardineiros
 
PHP - O que, porquê e como
PHP - O que, porquê e comoPHP - O que, porquê e como
PHP - O que, porquê e como
 
Frameworks PHP
Frameworks PHPFrameworks PHP
Frameworks PHP
 
Testar é bom, integrar é ainda melhor
Testar é bom, integrar é ainda melhorTestar é bom, integrar é ainda melhor
Testar é bom, integrar é ainda melhor
 
PHPSC Conference 2010 - Testar é bom, integrar é melhor ainda!
PHPSC Conference 2010 - Testar é bom, integrar é melhor ainda!PHPSC Conference 2010 - Testar é bom, integrar é melhor ainda!
PHPSC Conference 2010 - Testar é bom, integrar é melhor ainda!
 
Segurança em PHP
Segurança em PHPSegurança em PHP
Segurança em PHP
 
Orientação a Objetos com PHP
Orientação a Objetos com PHPOrientação a Objetos com PHP
Orientação a Objetos com PHP
 
Boas Práticas, Práticas !
Boas Práticas, Práticas !Boas Práticas, Práticas !
Boas Práticas, Práticas !
 
Mitos do PHP
Mitos do PHPMitos do PHP
Mitos do PHP
 

Under engineer

  • 1. Under Engineer Augusto Pascutti / Alexandre Gaigalas @augustohp @alganet Thursday, May 3, 2012 1
  • 2. Agenda Engenharia de Software Design Under Engineer Thursday, May 3, 2012 2
  • 3. Enganheria de Software Thursday, May 3, 2012 3
  • 4. 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] Thursday, May 3, 2012 4
  • 5. Engenharia deRacional Modelo Software: É o estabelecimento e uso de princípios da engenharia com a finalidade de obter um software que seja confiável e funcional. Fonte: (2010) Brooks, Frederick P. The design of design Fonte: IEEE Standard Computer Dictionary [1990] Thursday, May 3, 2012 5
  • 6. “(...) a teoria da modelagem é a teoria geral da busca (...) dentro de amplos aspectos combinatórios. ” Herbert Simon [1969]. The science of the artificial, 54. Thursday, May 3, 2012 6
  • 7. Modelo Cascata Fonte: Royce, Winston Willian. Waterfall Model [1970] Thursday, May 3, 2012 7
  • 8. Modelo Cascata Requisitos 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] Thursday, May 3, 2012 7
  • 9. Modelo Cascata Requisitos 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] Thursday, May 3, 2012 8
  • 10. Modelo Cascata Requisitos 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] Thursday, May 3, 2012 9
  • 11. Modelo Cascata Requisitos 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] Thursday, May 3, 2012 10
  • 12. Modelo Cascata Requisitos 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] Thursday, May 3, 2012 11
  • 13. Modelo Cascata Requisitos 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] Thursday, May 3, 2012 12
  • 14. Modelo Cascata Requisitos 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] Thursday, May 3, 2012 13
  • 15. Modelo Cascata Requisitos 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] Thursday, May 3, 2012 14
  • 16. Modelo Cascata Requisitos do Sistema Requisitos do Software Modelagem do Sistema “Testes podem ser usados para mostrar Modelagem do Programa a existência de bugs, mas nunca sua ausência” Testes de Unidade Edsger W. Dijkstra Integração Manutenção Fonte: Royce, Winston Willian. Waterfall Model [1970] Thursday, May 3, 2012 15
  • 17. Modelo Cascata Requisitos 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] Thursday, May 3, 2012 16
  • 18. Modelo Cascata Requisitos 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] Thursday, May 3, 2012 17
  • 19. Modelo Cascata Requisitos 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] Thursday, May 3, 2012 18
  • 20. Modelo Cascata Requisitos 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] Thursday, May 3, 2012 19
  • 21. Modelo Cascata Requisitos 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] Thursday, May 3, 2012 20
  • 22. Modelo Cascata Requisitos 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] Thursday, May 3, 2012 21
  • 23. Custo de Mudança Thursday, May 3, 2012 22
  • 24. Modelo Espiral de Boehm Fonte: Boehm, Barry. Spiral Model [1988] Thursday, May 3, 2012 23
  • 25. “[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) Thursday, May 3, 2012 24
  • 27. Modelagem é o produto da engenharia. Fonte: Brooks, Frederick P. The design of design [2010] Thursday, May 3, 2012 26
  • 28. Pergunta Resposta Thursday, May 3, 2012 27
  • 29. Pergunta Resposta Thursday, May 3, 2012 28
  • 30. Qual a definição de “modelagem”? Thursday, May 3, 2012 29
  • 31. Qual a definição de “modelagem”? Um plano para arrumar elementos em determinada maneira para cumprir um propósito particular. Thursday, May 3, 2012 29
  • 32. A modelagem admite limitações? Thursday, May 3, 2012 30
  • 33. A modelagem admite limitações? Modelagem depende, muito, das limitações. Thursday, May 3, 2012 30
  • 34. O que você julga ser a principal condição para a prática da modelagem? Thursday, May 3, 2012 31
  • 35. O que você julga ser a principal condição para a prática da modelagem? Reconhecimento da necessidade. Thursday, May 3, 2012 31
  • 36. “Eventualmente, tudo se conecta.” Charles Eames Fonte: http://powersof10.com/ Thursday, May 3, 2012 32
  • 39. Thursday, May 3, 2012 35
  • 40. Thursday, May 3, 2012 36
  • 42. “Você esta gastando uma quantidade incrível de dinheiro escrevendo código que já existe.” Joel Spolsky Fonte: http://www.joelonsoftware.com/articles/fog0000000069.html Thursday, May 3, 2012 38
  • 43. Thursday, May 3, 2012 39
  • 44. “O Unix é simples. É preciso de um gênio para entender sua simplicidade.” Dennis Ritchie Thursday, May 3, 2012 40
  • 45. Reutilização De limitações também, por que não? Thursday, May 3, 2012 41
  • 46. Iteração Fazer cada vez mais, com menos. Thursday, May 3, 2012 42
  • 47. “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] Thursday, May 3, 2012 43
  • 48. Efeito “segundo sistema” Frederick Brooks Fonte: Brooks, Frederick P. The mythical Man-Month [1975] Thursday, May 3, 2012 44
  • 49. “A versão orientada a objetos do código spaghetti é, óbvio, código lasagna! Muitas camadas.” Roberto Waltman Fonte: Tweet @CodeWisdom [hoje] Thursday, May 3, 2012 45
  • 51. “Uma boa arquitetura alcança: robustez, utilidade e prazer.” Vitrúvio Fonte: De Architectura [22AC] Thursday, May 3, 2012 47