SlideShare uma empresa Scribd logo
Como desenvolver software? Tecnologias, Ferramentas e Processos
Esta palestra fornece “visões”
Por que software? Porque a sociedade precisa Virtualmente quase tudo faz uso de software O que não usa software? Diretamente ou não?
Motivação Dinheiro (grandes empresas do planeta) Microsoft
IBM
Oracle
CA, ... Microsoft Empresa de maior valor de mercado do mundo
50000 funcionários
Mais de 1000 aplicam + de $1.000.000 em bolsas http://www.forbes.com/
Abordagens de construção http://www.swebok.org
Desnecessário Obrigatório ES se aplica a todos os casos?
Quando se aplica, o objetivo é... Engenharia de Software Produzir software economicamente que atende necessidades dos usuários
É difícil construir software? Modelar construções conceituais é a essência.
Representação é acidental.
Propriedades inerentes: Complexidade  (não linear com o tamanho)
Modificabilidade  (infinitamente maleável)
Invisibilidade Esperanças: Comprar versus construir
Construção de protótipos (def. de requisitos é difícil)
Desenvolvimento incremental (crescer, não construir)
Bons projetistas No Silver Bullet: Essence and Accidents of Software Engineering Frederick P. Brooks, Jr. IEEE Computer, vol 20 (4), april, 1987, pp. 10-19.
Pense sobre isto! Ouvir
Ver
Cheirar
Lamber
Cortar
Matar
Desgastar
Encolher
Segurar ... O que é impossível de se fazer com um software:
Construir software é jogo de equipe Stakeholder: Pessoa que é afetada pelo sucesso ou não de um projeto (de software) Clientes, usuários (operadores), analistas, projetistas, programadores, ...
É possível construí-los sozinho? Operating System  SLOC (Million)
Red Hat Linux 7.1  30
Debian 3.1    213
Sun Solaris    7.5
Linux kernel 2.6.0  6.0
Windows XP  40
Windows Vista  50 http://blogs.zdnet.com/web2explorer/?p=148
Software em construção Quais os problemas?
Cumprimento de prazos Insatisfação de clientes Baixa produtividade Erros Custos Complexidade Pessoas Desempenho Mudanças
Como resolver os problemas? Processos
Métodos
Ferramentas Maior relevância para o sucesso
Processo de software Processo é uma seqüência de tarefas que, executada adequadamente, produz o resultado desejado. Characterizing the Software Process: A Maturity Framework Watts S. Humphrey, IEEE Software, mar/1988, 73-79
Para se construir uma casa... É preciso um processo!
Processo Objeto desejado Mapa de tarefas (orientação) O que fazer? Quando? Quem? Qual ferramenta? Qual procedimento?   Qual tecnologia?
Perspectiva lúdica
Suposição bem-aceita
Primeiro processo de software Code and fix
Implícito
Dinâmica Obter poucos detalhes
Construir software
Validar com usuários

Mais conteúdo relacionado

Mais procurados (20)

PDF
Metodologias Ágeis para o Desenvolvimento de Software
Adolfo Neto
 
PPTX
Introdução a Modelagem
Rodrigo Branas
 
PPT
Introdução ao XP
Paulo Rebelo, MSc, PMP, CSP
 
PDF
Vivenciando dev ops para além da automação de infraestrutura 2.0
Diego Pacheco
 
PPTX
Como TDD pode influenciar na construção do seu Produto?
Raphael Paiva
 
PDF
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
Adolfo Neto
 
PDF
A Carreira de Desenvolvedor: do Jr ao Sênior
Marcos Pereira
 
PDF
QConSP: Vivenciando dev ops para além da automação de infraestrutura
Diego Pacheco
 
ODP
Extreme Programming
Ricardo Bánffy
 
PDF
Lean Startup
Impacta Eventos
 
PDF
Aula - Introdução a Engenharia de Software
Cloves da Rocha
 
PPTX
Aula - Metodologias Ágeis
Mauricio Cesar Santos da Purificação
 
PDF
Metodologias Ageis
MarcosMaozinha
 
PDF
Qualificação MACC- Entities
Marcius Brandão
 
PDF
Metodos ageis thinkingdifferent
Paulo Igor Alves Godinho
 
PDF
UnP Eng. Software - Aula 27
Hélio Medeiros
 
PPT
Metodologias ágeis de desenvolvimento
Paulo Ricardo Dalmagro Vinck
 
PDF
Engenharia de Software - Introdução e Motivação (Marcello Thiry)
Marcello Thiry
 
PPT
Metodologias Ageis
Rafael França
 
PDF
IPA Conhecendo XP
Wildtech
 
Metodologias Ágeis para o Desenvolvimento de Software
Adolfo Neto
 
Introdução a Modelagem
Rodrigo Branas
 
Introdução ao XP
Paulo Rebelo, MSc, PMP, CSP
 
Vivenciando dev ops para além da automação de infraestrutura 2.0
Diego Pacheco
 
Como TDD pode influenciar na construção do seu Produto?
Raphael Paiva
 
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
Adolfo Neto
 
A Carreira de Desenvolvedor: do Jr ao Sênior
Marcos Pereira
 
QConSP: Vivenciando dev ops para além da automação de infraestrutura
Diego Pacheco
 
Extreme Programming
Ricardo Bánffy
 
Lean Startup
Impacta Eventos
 
Aula - Introdução a Engenharia de Software
Cloves da Rocha
 
Aula - Metodologias Ágeis
Mauricio Cesar Santos da Purificação
 
Metodologias Ageis
MarcosMaozinha
 
Qualificação MACC- Entities
Marcius Brandão
 
Metodos ageis thinkingdifferent
Paulo Igor Alves Godinho
 
UnP Eng. Software - Aula 27
Hélio Medeiros
 
Metodologias ágeis de desenvolvimento
Paulo Ricardo Dalmagro Vinck
 
Engenharia de Software - Introdução e Motivação (Marcello Thiry)
Marcello Thiry
 
Metodologias Ageis
Rafael França
 
IPA Conhecendo XP
Wildtech
 

Semelhante a Como desenvolver-software (20)

PPT
Introdução a Métodos Ágeis de Desenvolvimento de Software
Daniel Cukier
 
PPTX
XP - Extreme Programming
Rodrigo Branas
 
PPT
Métricas Em Fabricas De Software
Luiz Borba
 
PPT
Campus Party Brasil 2010 - ALM - Application Lifecycle Management
Ramon Durães
 
PPT
Agile User Experience
Lógica Digital
 
PDF
Qualidade e Testes de Software
André Phillip Bertoletti
 
PDF
Métodos Ágeis - Aula02
Adriano Bertucci
 
PPT
Aula 1 introdução à engenharia de software1 (1)
Tiago Vizoto
 
PDF
Es aula01
Itaú
 
PDF
Aula03 04 agile_scrum_xp
Joaquim Lopes Júnior
 
PPT
Usabilidade Simples
Jonathas Scott
 
PPT
Analise e desenvolvimento
Gabriel Moura
 
ODP
Kyrios: Infra-estrutura livre para desenvolvimento de software
Fábio Nogueira de Lucena
 
PPT
Contr avali engenharia de software-introdução
Felipe Lyra
 
PPTX
Fundamentos Engenharia de Software.pptx
Roberto Nunes
 
PDF
[Ci2015] sim rva
Christopher Cerqueira
 
PDF
02 Introdução à engenharia de software - conceitos fundamentais
Waldemar Roberti
 
PDF
Praticas robustas e antifrageis de engenharia de software
Marco Mendes
 
PDF
LIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS
Daniel Elektron !
 
PPTX
Métodos Ágeis
Adriano Bertucci
 
Introdução a Métodos Ágeis de Desenvolvimento de Software
Daniel Cukier
 
XP - Extreme Programming
Rodrigo Branas
 
Métricas Em Fabricas De Software
Luiz Borba
 
Campus Party Brasil 2010 - ALM - Application Lifecycle Management
Ramon Durães
 
Agile User Experience
Lógica Digital
 
Qualidade e Testes de Software
André Phillip Bertoletti
 
Métodos Ágeis - Aula02
Adriano Bertucci
 
Aula 1 introdução à engenharia de software1 (1)
Tiago Vizoto
 
Es aula01
Itaú
 
Aula03 04 agile_scrum_xp
Joaquim Lopes Júnior
 
Usabilidade Simples
Jonathas Scott
 
Analise e desenvolvimento
Gabriel Moura
 
Kyrios: Infra-estrutura livre para desenvolvimento de software
Fábio Nogueira de Lucena
 
Contr avali engenharia de software-introdução
Felipe Lyra
 
Fundamentos Engenharia de Software.pptx
Roberto Nunes
 
[Ci2015] sim rva
Christopher Cerqueira
 
02 Introdução à engenharia de software - conceitos fundamentais
Waldemar Roberti
 
Praticas robustas e antifrageis de engenharia de software
Marco Mendes
 
LIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS
Daniel Elektron !
 
Métodos Ágeis
Adriano Bertucci
 
Anúncio

Mais de Fábio Nogueira de Lucena (20)

PDF
Fundamentos de Programação Front-End
Fábio Nogueira de Lucena
 
PPTX
JavaScript: Aprendendo a programar
Fábio Nogueira de Lucena
 
PPTX
HTML5: Primeiros Contatos (visão geral)
Fábio Nogueira de Lucena
 
PDF
HTTP: Um Curso Básico
Fábio Nogueira de Lucena
 
PDF
Apresentacao curso-2017-08-08
Fábio Nogueira de Lucena
 
PPTX
Jornada Goiana em Engenharia de Software 2017
Fábio Nogueira de Lucena
 
PPTX
Arquétipos
Fábio Nogueira de Lucena
 
PPTX
Introducao integracao
Fábio Nogueira de Lucena
 
PPTX
Healthdb Visão Geral
Fábio Nogueira de Lucena
 
PPTX
Engenharia de Software - planejamento pedagógico
Fábio Nogueira de Lucena
 
PPTX
Arquitetura de Software EXPLICADA
Fábio Nogueira de Lucena
 
PPT
Arquitetura de Software
Fábio Nogueira de Lucena
 
PPTX
Arquitetura software
Fábio Nogueira de Lucena
 
PPTX
Prontuário Eletrônico do Paciente
Fábio Nogueira de Lucena
 
PPTX
Especificação por meio de exemplos (BDD, testes de aceitação, ...)
Fábio Nogueira de Lucena
 
ODP
Orientação a Objetos (3)
Fábio Nogueira de Lucena
 
ODP
Orientação a Objetos (2)
Fábio Nogueira de Lucena
 
Fundamentos de Programação Front-End
Fábio Nogueira de Lucena
 
JavaScript: Aprendendo a programar
Fábio Nogueira de Lucena
 
HTML5: Primeiros Contatos (visão geral)
Fábio Nogueira de Lucena
 
HTTP: Um Curso Básico
Fábio Nogueira de Lucena
 
Apresentacao curso-2017-08-08
Fábio Nogueira de Lucena
 
Jornada Goiana em Engenharia de Software 2017
Fábio Nogueira de Lucena
 
Introducao integracao
Fábio Nogueira de Lucena
 
Healthdb Visão Geral
Fábio Nogueira de Lucena
 
Engenharia de Software - planejamento pedagógico
Fábio Nogueira de Lucena
 
Arquitetura de Software EXPLICADA
Fábio Nogueira de Lucena
 
Arquitetura de Software
Fábio Nogueira de Lucena
 
Arquitetura software
Fábio Nogueira de Lucena
 
Prontuário Eletrônico do Paciente
Fábio Nogueira de Lucena
 
Especificação por meio de exemplos (BDD, testes de aceitação, ...)
Fábio Nogueira de Lucena
 
Orientação a Objetos (3)
Fábio Nogueira de Lucena
 
Orientação a Objetos (2)
Fábio Nogueira de Lucena
 
Anúncio

Último (7)

PPTX
Gestão de Mudanças - Os maiores desafios da Gestão de Mudanças e Gestão de Pr...
Gateware Group
 
PPTX
Desenvolvimento-de-Produtos-Inovadores.pptx
ssuser1d7565
 
PDF
Explorando o Futuro do Corpo: Implantes Neurais e o Biohacking dos Sentidos
cooperliora
 
PDF
Certificado em Redes Neurais Artificiais em Python
CaioSilva506151
 
PPTX
Computacao-e-Tecnologias-Digitais-Por-Que-Aprender.pptx
RobertaOliveiradaFon1
 
PPTX
Gestão de Mudanças - Fases do processo de mudança organizacional
Gateware Group
 
PPTX
Gestão de Mudanças - O que é e como é implementada
Gateware Group
 
Gestão de Mudanças - Os maiores desafios da Gestão de Mudanças e Gestão de Pr...
Gateware Group
 
Desenvolvimento-de-Produtos-Inovadores.pptx
ssuser1d7565
 
Explorando o Futuro do Corpo: Implantes Neurais e o Biohacking dos Sentidos
cooperliora
 
Certificado em Redes Neurais Artificiais em Python
CaioSilva506151
 
Computacao-e-Tecnologias-Digitais-Por-Que-Aprender.pptx
RobertaOliveiradaFon1
 
Gestão de Mudanças - Fases do processo de mudança organizacional
Gateware Group
 
Gestão de Mudanças - O que é e como é implementada
Gateware Group
 

Como desenvolver-software

Notas do Editor

  • #2: Não estou aqui para dizer como fazer, não se trata de uma prescrição, mas uma descrição. Em artigo de dezembro da IEEE Software o editor coloca muito bem esta questão. Muitos pesquisadores não conhecem realmente o que se passa na prática e o que é pior, eles pensam que sabem. A idéia é simples. Praticantes estão imersos. É preciso emergir e verificar o que se passa ao redor. Visto que imergir é uma tarefa na qual os praticantes são imbatíveis. Por outro lado, coloco-me aqui na posição de pesquisador e assumo a postura de que “não sei o que se passa na prática”. Com esta postura, esta apresentação, ao menos conceitualmente tenta ser livre de preconceitos e aberta a qualquer tipo de debate.
  • #47: CONTA A HISTÓRIA QUE O MAUSOLÉU MAIS BONITO DO PLANETA É FRUTO DO AMOR DE UM GRANDE GUERREIRO PELA SUA MULHER. FÁBULA É INVENÇÃO MINHA: ESTE GUERREIRO TEVE QUE CONTAR COM ALGUÉM QUE CONSTRUI O MAUSOLÉU, OU SEJA, SUAS IDÉIAS TIVERAM QUE SAIR DA MENTE DELE E, DE FORMA FORMAL OU NÃO, SER TRANSFERIDA PARA A DE OUTRAS PESSOAS. ENTRE ELES, UM MODELO. NESTA FÁBULA, ELE IMAGINOU ASSIM O MAUSOLÉU, QUE FOI ASSIM INTERPRETADO PELA CONSTRUTORA DA ÉPOCA E FOI ASSIM REALIZADO. ESTA É UMA FÁBULA QUE SERVE COMO METÁFORA DE SUCESSO PARA ER.