SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
Prof. Nécio de Lima Veras




 Introdução à
Engenharia de
   Software
                      Objetivo: Perceber os conceitos
                      básicos e aspectos introdutórios
                      sobre Engenharia de Software.
Aula 01: Ordem
Software:
   Conceitos;
   Crise Histórica;
   Mitos;
Introdução à abordagem de projetos;
Engenharia de Software:
   Definição;
   Modelos de Processos de Softwares;
   Modelos de Gerência de Projetos;
Software: Conceitos



[...] uma forma híbrida, algo no domínio
   entre o concreto e o abstrato, entre o
   tangível e o intangível. [...] o
   desenvolvimento de produtos de
   software é visto como uma atividade
   mental, abstrata, solitária e criativa.

    Cox (apud GUERRA e ALVES, 2004, p. 1)
Software: Conceitos
Pressman (1997) diz que um livro didático
 poderia trazer a descrição de um software
 da seguinte forma:
   Instruções (programas de computador) que,
    quando executadas, produzem a função e
    desempenho desejados;
   Estruturas de dados que possibilitam que os
    programas manipulem adequadamente a
    informação;
   Documentos que descrevem a operação e o
    uso dos programas;
Software: Conceitos
Sommerville (2003) complementa criando
 dois tipos diferentes:
   Produtos Genéricos;
   Produtos sob encomenda;
Por tanto, Software é:
   Produto (ou serviço) que possui um grande
    número de características próprias oriundas
    dos critérios de análise, codificação e
    documentação aplicados durante sua
    construção;
Software: Reflexão sobre os conceitos


                     Reflexões




 Será que essa                   Qual a relevância
 formalização já é               de conhecer o
 suficiente para                 que está
 entendermos o que               “escondido” por
 é realmente um                  traz de um
 software?                       software?
Software: Crise Histórica (1968)

Evolução do hardware;
Softwares mais complexos com:
     Custos maiores (não previstos);
     Baixa confiabilidade;
     Difícil manutenção; e
     Desempenho abaixo do esperado;
Percebeu-se que uma abordagem
 informal de desenvolvimento não era
 suficiente;
   E quais as prováveis causas da crise?
Software: Mitos

       1                   2                     3

A equipe de       A equipe possui        Se os prazos
desenvolvimento   ferramentas de         atrasam, pode-se
                  desenvolvimento de
dispõe de um                             adicionar mais
                  software de última
manual com                               pessoas ao grupo
                  geração! Afinal lhes
padrões e         compramos os mais      e tirar o atraso;
procedimentos;    novos computadores;
Software: Mitos

         4                      5                       6

Uma descrição          Os requisitos de         Assim que
                       projeto modificam-       escrevermos o
geral dos objetivos
                       se continuamente,        programa e o
é suficiente para se   mas as mudanças          colocarmos em
escrever               podem ser                funcionamento
programas e os         facilmente               nosso trabalho
detalhes são vistos    acomodadas, porque       estará completo.
posteriormente;        o software é flexível.
Software: Mitos

           7

 Enquanto não tiver o
 programa "funcionando",
 eu não terei realmente
 nenhuma maneira de
 avaliar sua qualidade.
Quais foram as possíveis soluções para
               a crise?

   Reconhecer os
   problemas e causas;


   Desmascarar os           Engenharia
   mitos;                       de
                             Software
   Criar soluções que
   apresentem suporte ao
   desenvolvedor e que
   melhore a qualidade;
Introdução à abordagem de projetos
Produtos de Software


 Surge de ideias conceituais e reajustáveis;
 É Intangível;
 Possui escopo variável;
 É dotado de incertezas constantes;
 Difícil visualização do produto final.
 Mas como obter um produto de software com
 qualidade diante de todas estas peculiaridades?
Engenharia de Software


●
    A ideia foi incluir a disciplina de engenharia no
    desenvolvimento de software;
●
    A E.S. Engloba três elementos fundamentais:
Engenharia de Software: definição
 Sommerville (2003):
    Disciplina que trabalha todos os aspectos da
     produção de software, desde os estágios
     iniciais de especificação até a manutenção
     deste, depois que ele entrou em operação;
    Não se dedica apenas aos processos
     técnicos de software, mas também:
     • Ao gerenciamento dos projetos;
     • Ao desenvolvimento de ferramentas, métodos e
       teorias que dêem apoio à produção de software;
 Por que não fazer uma analogia?
Engenharia de Software: abrangência



  Métodos
  Métodos         Ferramentas
                  Ferramentas    Procedimentos
                                 Procedimentos

  Planejamento,
  Análise,
  Projeto,           Automação      “Elo de
  Codificação,                      ligação” entre
  Teste e                           métodos e
  Manutenção                        ferramentas
Engenharia de Software:
  Modelo de Processo de Software
O que entendemos por processo de
 software?
     Conjunto de atividades que geram produtos
      de software;
                Há quatro atividades fundamentais
                Há quatro atividades fundamentais




                 Desenvolvimento
Especificação           de         Validação de   Evolução de
     de              software        software       software
  Software
Engenharia de Software:
  Modelo de Processo de Software
Um modelo de processo de software é:
   Uma descrição simplificada de um processo
    de software, abstraindo o processo real que
    está sendo aplicado;
É constituído por:
   Atividades de processos de software;
   Produtos de software;
   Definição de papeis das pessoas envolvidas;
Exemplos de Modelos de Processos
          de Software


    O Modelo
    em cascata




                          Desenvolvimento
        Desenvolvimento     incremental
          evolucionário
Reflexão sobre os modelos

Esses modelos garantem o sucesso do
 software?
   E as métricas de software?
   E as garantias de qualidade?
Como vimos, faz parte da definição de
 engenharia de software:
   Não se dedica apenas aos processos
    técnicos de software, mas também ao
    gerenciamento dos projetos;
Gerência de Projetos de Software
 A crise é passado?
    E os softwares complexos?

 É preciso gerenciar projetos de software?
    Considere:
     • Sistemas de Software;
     • Desenvolvimento colaborativo;


 Também existe modelos de
  gerenciamento?
Modelos de Gerenciamento de Projetos

  PMI (Project Management Institute):
    Baseado em processos;
    Alguns consideram muito burocrático;
    Possui publicações reconhecidas
     internacionalmente, como o Guia PMBOK;

  CMMI (Capability Maturity Model Integration):
    Baseado em níveis de maturidade organizacional;
    Encomendado e patrocinado pelo Pentágono, foi
     formulado pelo SEI (Software Engineering Institute);
Modelos de Gerenciamento de Projetos

 APM (Agile Project Management):
   Criado em 2001 por um grupo chamado de Agile
    Alliance;
   Possui um conjunto de princípios que são referências
    básicas para as metodologias ágeis;
   Possui cinco objetivos-chave:
     •   Inovação contínua;
     •   Adaptabilidade do produto;
     •   Entregas com cronograma reduzido;
     •   Adaptabilidade do processo e das pessoas;
     •   Resultados confiáveis;
Modelo Ágil de Gerência de Projeto de
       Software – Visão Geral




 Fonte: Martins, 2007
Considerações Finais



Perspectivas para a área de Engenharia
 de Software:
   O modelo brasileiro de melhoria dos
    processos de software (MPS.BR);
Referências Bibliográficas
 SOMMERVILLE, I. Engenharia de Software. 6ª. ed. São Paulo:
  Addison Wesley, 2003.

 PRESSMAN, R. S. Engenharia de Software. São Paulo: Pearson
  Makron Books, 1997, Reimpressão 2007.

 MARTINS, J. C. C. Técnicas para Gerenciamento de Projetos de
  Software. Rio de Janeiro: Brasport, 2007.

 GUERRA, A. C., ALVES, A. M. Aquisição de produtos e serviços de
  software. Rio de Janeiro: Elsevier: 2004.

 BASSI, D. Planejamento Ágil de Projetos. Engenharia de Software
  Magazine. DevMedia Group, ano I, n. 08, pág. 08-12, 2008.

 PAULA, Wilson de Pádua Filho. Alguns Fundamentos da Engenharia
  de Software. Engenharia de Software Magazine. DevMedia Group,
  ano I, n. 01, pág. 04-08, 2007.

Mais conteúdo relacionado

Mais procurados

Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006Luís Fernando Richter
 
Conceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de SistemasConceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de SistemasClayton de Almeida Souza
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de RequisitosCloves da Rocha
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dadosvini_campos
 
Engenharia de requisitos
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitosMailson Queiroz
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de SoftwareAricelio Souza
 
O Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareO Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareCamilo de Melo
 
Introducao a Arquitetura de Software
Introducao a Arquitetura de SoftwareIntroducao a Arquitetura de Software
Introducao a Arquitetura de SoftwareUFPA
 
Aula 1 - Introdução ao Mobile
Aula 1 - Introdução ao MobileAula 1 - Introdução ao Mobile
Aula 1 - Introdução ao MobileCloves da Rocha
 
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane FidelixModelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane FidelixCris Fidelix
 
Áreas de Conhecimento da Engenharia de Software
Áreas de Conhecimento da Engenharia de SoftwareÁreas de Conhecimento da Engenharia de Software
Áreas de Conhecimento da Engenharia de SoftwareElaine Cecília Gatto
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Softwareeros.viggiano
 
Introdução a Gerência de Configuração de Software
Introdução a Gerência de Configuração de SoftwareIntrodução a Gerência de Configuração de Software
Introdução a Gerência de Configuração de SoftwareCamilo Almendra
 

Mais procurados (20)

Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006
 
Conceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de SistemasConceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de Sistemas
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de Requisitos
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dados
 
Engenharia de requisitos
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitos
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de Requisitos
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
O Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareO Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de Software
 
Qualidade de Software
Qualidade de SoftwareQualidade de Software
Qualidade de Software
 
Introducao a Arquitetura de Software
Introducao a Arquitetura de SoftwareIntroducao a Arquitetura de Software
Introducao a Arquitetura de Software
 
Aula 1 - Introdução ao Mobile
Aula 1 - Introdução ao MobileAula 1 - Introdução ao Mobile
Aula 1 - Introdução ao Mobile
 
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane FidelixModelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
 
Aula 2 - Processos de Software
Aula 2 - Processos de SoftwareAula 2 - Processos de Software
Aula 2 - Processos de Software
 
Rational Unified Process (RUP)
Rational Unified Process (RUP)Rational Unified Process (RUP)
Rational Unified Process (RUP)
 
Modelos de processos de software
Modelos de processos de softwareModelos de processos de software
Modelos de processos de software
 
Uml
UmlUml
Uml
 
Áreas de Conhecimento da Engenharia de Software
Áreas de Conhecimento da Engenharia de SoftwareÁreas de Conhecimento da Engenharia de Software
Áreas de Conhecimento da Engenharia de Software
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Introdução a Gerência de Configuração de Software
Introdução a Gerência de Configuração de SoftwareIntrodução a Gerência de Configuração de Software
Introdução a Gerência de Configuração de Software
 
Arquitetura de Software EXPLICADA
Arquitetura de Software EXPLICADAArquitetura de Software EXPLICADA
Arquitetura de Software EXPLICADA
 

Destaque

Uma Introdução a Engenharia de Software
Uma Introdução a Engenharia de SoftwareUma Introdução a Engenharia de Software
Uma Introdução a Engenharia de SoftwareVinicius Garcia
 
Conceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de softwareConceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de softwareRonney Moreira de Castro
 
Engenharia Requisitos - Método RON
Engenharia Requisitos - Método RONEngenharia Requisitos - Método RON
Engenharia Requisitos - Método RONEduardo Castro
 
Como usar o Guia PMBOK® na engenharia de softwares Aplicando os grupos de pr...
Como usar o Guia PMBOK® na engenharia de softwares  Aplicando os grupos de pr...Como usar o Guia PMBOK® na engenharia de softwares  Aplicando os grupos de pr...
Como usar o Guia PMBOK® na engenharia de softwares Aplicando os grupos de pr...Robson Veiga Roy
 
CAPACITAÇÃO TÉCNICA DE JOVENS APRENDIZES
CAPACITAÇÃO TÉCNICA DE JOVENS APRENDIZESCAPACITAÇÃO TÉCNICA DE JOVENS APRENDIZES
CAPACITAÇÃO TÉCNICA DE JOVENS APRENDIZESMarco Coghi
 
Engenharia de software
Engenharia de softwareEngenharia de software
Engenharia de softwareJoao Johanes
 
Engenharia de Software - Unimep/Pronatec - Aula 3
Engenharia de Software - Unimep/Pronatec - Aula 3Engenharia de Software - Unimep/Pronatec - Aula 3
Engenharia de Software - Unimep/Pronatec - Aula 3André Phillip Bertoletti
 
Introdução à Engenharia de Software Orientada a Agentes com JaCaMo
Introdução à Engenharia de Software Orientada a Agentes com JaCaMoIntrodução à Engenharia de Software Orientada a Agentes com JaCaMo
Introdução à Engenharia de Software Orientada a Agentes com JaCaMoNécio de Lima Veras
 
Qualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnitQualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnitDomingos Teruel
 
Engenharia de Software - Unimep/Pronatec - Aula 2
Engenharia de Software - Unimep/Pronatec - Aula 2Engenharia de Software - Unimep/Pronatec - Aula 2
Engenharia de Software - Unimep/Pronatec - Aula 2André Phillip Bertoletti
 
Dar caos a ordem
Dar caos a ordem Dar caos a ordem
Dar caos a ordem secomp2011
 
Metodologias ageis
Metodologias ageisMetodologias ageis
Metodologias ageisrenersson
 
Engenharia de Software I - Aula 1
Engenharia de Software I - Aula 1Engenharia de Software I - Aula 1
Engenharia de Software I - Aula 1Alessandro Almeida
 
Como a engenharia de software surgiu de uma crise científica
Como a engenharia de software surgiu de uma crise científicaComo a engenharia de software surgiu de uma crise científica
Como a engenharia de software surgiu de uma crise científicaAislan Fernandes
 
Como desenvolver e publicar aplicativos em Android no Google Play - Matheus P...
Como desenvolver e publicar aplicativos em Android no Google Play - Matheus P...Como desenvolver e publicar aplicativos em Android no Google Play - Matheus P...
Como desenvolver e publicar aplicativos em Android no Google Play - Matheus P...Matheus Piscioneri
 
Engenharia de Software - Unimep/Pronatec - Aula 1
Engenharia de Software - Unimep/Pronatec - Aula 1Engenharia de Software - Unimep/Pronatec - Aula 1
Engenharia de Software - Unimep/Pronatec - Aula 1André Phillip Bertoletti
 
Metodologias Ágeis no Estilo Dr House
Metodologias Ágeis no Estilo Dr HouseMetodologias Ágeis no Estilo Dr House
Metodologias Ágeis no Estilo Dr HouseEduardo Bregaida
 

Destaque (20)

Uma Introdução a Engenharia de Software
Uma Introdução a Engenharia de SoftwareUma Introdução a Engenharia de Software
Uma Introdução a Engenharia de Software
 
Conceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de softwareConceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de software
 
Engenharia Requisitos - Método RON
Engenharia Requisitos - Método RONEngenharia Requisitos - Método RON
Engenharia Requisitos - Método RON
 
Como usar o Guia PMBOK® na engenharia de softwares Aplicando os grupos de pr...
Como usar o Guia PMBOK® na engenharia de softwares  Aplicando os grupos de pr...Como usar o Guia PMBOK® na engenharia de softwares  Aplicando os grupos de pr...
Como usar o Guia PMBOK® na engenharia de softwares Aplicando os grupos de pr...
 
CAPACITAÇÃO TÉCNICA DE JOVENS APRENDIZES
CAPACITAÇÃO TÉCNICA DE JOVENS APRENDIZESCAPACITAÇÃO TÉCNICA DE JOVENS APRENDIZES
CAPACITAÇÃO TÉCNICA DE JOVENS APRENDIZES
 
Engenharia de software
Engenharia de softwareEngenharia de software
Engenharia de software
 
Engenharia de Software - Unimep/Pronatec - Aula 3
Engenharia de Software - Unimep/Pronatec - Aula 3Engenharia de Software - Unimep/Pronatec - Aula 3
Engenharia de Software - Unimep/Pronatec - Aula 3
 
Introdução à Engenharia de Software Orientada a Agentes com JaCaMo
Introdução à Engenharia de Software Orientada a Agentes com JaCaMoIntrodução à Engenharia de Software Orientada a Agentes com JaCaMo
Introdução à Engenharia de Software Orientada a Agentes com JaCaMo
 
Qualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnitQualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnit
 
Engenharia de Software - Unimep/Pronatec - Aula 2
Engenharia de Software - Unimep/Pronatec - Aula 2Engenharia de Software - Unimep/Pronatec - Aula 2
Engenharia de Software - Unimep/Pronatec - Aula 2
 
Dar caos a ordem
Dar caos a ordem Dar caos a ordem
Dar caos a ordem
 
Métodos ágeis de desenvolvimento2
Métodos ágeis de desenvolvimento2Métodos ágeis de desenvolvimento2
Métodos ágeis de desenvolvimento2
 
Desenvolvendo com Metodologias Ágeis
Desenvolvendo com Metodologias ÁgeisDesenvolvendo com Metodologias Ágeis
Desenvolvendo com Metodologias Ágeis
 
Metodologias ageis
Metodologias ageisMetodologias ageis
Metodologias ageis
 
Engenharia de Software I - Aula 1
Engenharia de Software I - Aula 1Engenharia de Software I - Aula 1
Engenharia de Software I - Aula 1
 
Como a engenharia de software surgiu de uma crise científica
Como a engenharia de software surgiu de uma crise científicaComo a engenharia de software surgiu de uma crise científica
Como a engenharia de software surgiu de uma crise científica
 
Como desenvolver e publicar aplicativos em Android no Google Play - Matheus P...
Como desenvolver e publicar aplicativos em Android no Google Play - Matheus P...Como desenvolver e publicar aplicativos em Android no Google Play - Matheus P...
Como desenvolver e publicar aplicativos em Android no Google Play - Matheus P...
 
Planejamento Niveis
Planejamento NiveisPlanejamento Niveis
Planejamento Niveis
 
Engenharia de Software - Unimep/Pronatec - Aula 1
Engenharia de Software - Unimep/Pronatec - Aula 1Engenharia de Software - Unimep/Pronatec - Aula 1
Engenharia de Software - Unimep/Pronatec - Aula 1
 
Metodologias Ágeis no Estilo Dr House
Metodologias Ágeis no Estilo Dr HouseMetodologias Ágeis no Estilo Dr House
Metodologias Ágeis no Estilo Dr House
 

Semelhante a Introdução à Engenharia de Software

Fundamentos Engenharia de Software.pptx
Fundamentos Engenharia de Software.pptxFundamentos Engenharia de Software.pptx
Fundamentos Engenharia de Software.pptxRoberto Nunes
 
modelagem sistema da informação Unid 3
modelagem sistema da informação Unid 3modelagem sistema da informação Unid 3
modelagem sistema da informação Unid 3spawally
 
Engenharia de Software introdução
Engenharia de Software    introduçãoEngenharia de Software    introdução
Engenharia de Software introduçãomiroslayer
 
Introdução a Engenharia de Software.pdf
Introdução a Engenharia de Software.pdfIntrodução a Engenharia de Software.pdf
Introdução a Engenharia de Software.pdfIvanFontainha
 
Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9wilsonguns
 
Introdução a informática: do Windows ao Excel
Introdução a informática: do Windows ao ExcelIntrodução a informática: do Windows ao Excel
Introdução a informática: do Windows ao Excelmalviana1
 
Desenvolvimento de um microprocesso utilizando métricas e indicadores como a...
Desenvolvimento de um microprocesso utilizando métricas e indicadores como a...Desenvolvimento de um microprocesso utilizando métricas e indicadores como a...
Desenvolvimento de um microprocesso utilizando métricas e indicadores como a...Maicon Zerbielli
 
Analise e desenvolvimento
Analise e desenvolvimentoAnalise e desenvolvimento
Analise e desenvolvimentoGabriel Moura
 
Aula 01 e 02 - Engenharia de Software.pdf
Aula 01 e 02 - Engenharia de Software.pdfAula 01 e 02 - Engenharia de Software.pdf
Aula 01 e 02 - Engenharia de Software.pdfJadna Almeida
 
Aula 03 de engenharia de software uespi 2011-1
Aula 03 de engenharia de software uespi 2011-1Aula 03 de engenharia de software uespi 2011-1
Aula 03 de engenharia de software uespi 2011-1Erivelton Silva Rocha
 
Engenharia de Software Pressman
Engenharia de Software PressmanEngenharia de Software Pressman
Engenharia de Software PressmanSimoneinfo
 
02 Introdução à engenharia de software - conceitos fundamentais
02 Introdução à engenharia de software - conceitos fundamentais02 Introdução à engenharia de software - conceitos fundamentais
02 Introdução à engenharia de software - conceitos fundamentaisWaldemar Roberti
 
Es aula01
Es   aula01Es   aula01
Es aula01Itaú
 

Semelhante a Introdução à Engenharia de Software (20)

Fundamentos Engenharia de Software.pptx
Fundamentos Engenharia de Software.pptxFundamentos Engenharia de Software.pptx
Fundamentos Engenharia de Software.pptx
 
modelagem sistema da informação Unid 3
modelagem sistema da informação Unid 3modelagem sistema da informação Unid 3
modelagem sistema da informação Unid 3
 
Engenharia de Software introdução
Engenharia de Software    introduçãoEngenharia de Software    introdução
Engenharia de Software introdução
 
Introdução a Engenharia de Software.pdf
Introdução a Engenharia de Software.pdfIntrodução a Engenharia de Software.pdf
Introdução a Engenharia de Software.pdf
 
Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9
 
Tudo são Dados - PHP Conference 2008
Tudo são Dados - PHP Conference 2008Tudo são Dados - PHP Conference 2008
Tudo são Dados - PHP Conference 2008
 
Engenharia de software
Engenharia de software Engenharia de software
Engenharia de software
 
Introdução a informática: do Windows ao Excel
Introdução a informática: do Windows ao ExcelIntrodução a informática: do Windows ao Excel
Introdução a informática: do Windows ao Excel
 
Desenvolvimento de um microprocesso utilizando métricas e indicadores como a...
Desenvolvimento de um microprocesso utilizando métricas e indicadores como a...Desenvolvimento de um microprocesso utilizando métricas e indicadores como a...
Desenvolvimento de um microprocesso utilizando métricas e indicadores como a...
 
Crise de software2
Crise de software2Crise de software2
Crise de software2
 
Analise e desenvolvimento
Analise e desenvolvimentoAnalise e desenvolvimento
Analise e desenvolvimento
 
Aula1 introducao engsw
Aula1 introducao engswAula1 introducao engsw
Aula1 introducao engsw
 
Aula 01 e 02 - Engenharia de Software.pdf
Aula 01 e 02 - Engenharia de Software.pdfAula 01 e 02 - Engenharia de Software.pdf
Aula 01 e 02 - Engenharia de Software.pdf
 
152191 11993
152191 11993152191 11993
152191 11993
 
Aula 03 de engenharia de software uespi 2011-1
Aula 03 de engenharia de software uespi 2011-1Aula 03 de engenharia de software uespi 2011-1
Aula 03 de engenharia de software uespi 2011-1
 
Agilidade em projetos de software
Agilidade em projetos de softwareAgilidade em projetos de software
Agilidade em projetos de software
 
Engenharia de Software Pressman
Engenharia de Software PressmanEngenharia de Software Pressman
Engenharia de Software Pressman
 
Métodos Ágeis - Aula02
Métodos Ágeis - Aula02Métodos Ágeis - Aula02
Métodos Ágeis - Aula02
 
02 Introdução à engenharia de software - conceitos fundamentais
02 Introdução à engenharia de software - conceitos fundamentais02 Introdução à engenharia de software - conceitos fundamentais
02 Introdução à engenharia de software - conceitos fundamentais
 
Es aula01
Es   aula01Es   aula01
Es aula01
 

Mais de Nécio de Lima Veras

Introdução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmosIntrodução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmosNécio de Lima Veras
 
Uma Abordagem Baseada em Agentes para Planejamento e Monitoramento de Serviço...
Uma Abordagem Baseada em Agentes para Planejamento e Monitoramento de Serviço...Uma Abordagem Baseada em Agentes para Planejamento e Monitoramento de Serviço...
Uma Abordagem Baseada em Agentes para Planejamento e Monitoramento de Serviço...Nécio de Lima Veras
 
Jason: Componentes personalizados
Jason: Componentes personalizados Jason: Componentes personalizados
Jason: Componentes personalizados Nécio de Lima Veras
 
Ambientes em Sistemas Multi-agentes
Ambientes em Sistemas Multi-agentesAmbientes em Sistemas Multi-agentes
Ambientes em Sistemas Multi-agentesNécio de Lima Veras
 
Arquiteturas concretas de agentes inteligentes - bdi agents
Arquiteturas concretas de agentes inteligentes - bdi agentsArquiteturas concretas de agentes inteligentes - bdi agents
Arquiteturas concretas de agentes inteligentes - bdi agentsNécio de Lima Veras
 
Especificações iniciais de agentes inteligentes
Especificações iniciais de agentes inteligentesEspecificações iniciais de agentes inteligentes
Especificações iniciais de agentes inteligentesNécio de Lima Veras
 
Processos iniciais do mapeamento OR
Processos iniciais do mapeamento ORProcessos iniciais do mapeamento OR
Processos iniciais do mapeamento ORNécio de Lima Veras
 
Introdução aos Sistemas operacionais
Introdução aos Sistemas operacionaisIntrodução aos Sistemas operacionais
Introdução aos Sistemas operacionaisNécio de Lima Veras
 

Mais de Nécio de Lima Veras (20)

Introdução ao JavaFX
Introdução ao JavaFXIntrodução ao JavaFX
Introdução ao JavaFX
 
Introdução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmosIntrodução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmos
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Versionamento com git
Versionamento com gitVersionamento com git
Versionamento com git
 
Uma Abordagem Baseada em Agentes para Planejamento e Monitoramento de Serviço...
Uma Abordagem Baseada em Agentes para Planejamento e Monitoramento de Serviço...Uma Abordagem Baseada em Agentes para Planejamento e Monitoramento de Serviço...
Uma Abordagem Baseada em Agentes para Planejamento e Monitoramento de Serviço...
 
Jason: Componentes personalizados
Jason: Componentes personalizados Jason: Componentes personalizados
Jason: Componentes personalizados
 
Agentes inteligentes com jason
Agentes inteligentes com jasonAgentes inteligentes com jason
Agentes inteligentes com jason
 
Ambientes em Sistemas Multi-agentes
Ambientes em Sistemas Multi-agentesAmbientes em Sistemas Multi-agentes
Ambientes em Sistemas Multi-agentes
 
Arquiteturas concretas de agentes inteligentes - bdi agents
Arquiteturas concretas de agentes inteligentes - bdi agentsArquiteturas concretas de agentes inteligentes - bdi agents
Arquiteturas concretas de agentes inteligentes - bdi agents
 
Revisão de matemática
Revisão de matemáticaRevisão de matemática
Revisão de matemática
 
Especificações iniciais de agentes inteligentes
Especificações iniciais de agentes inteligentesEspecificações iniciais de agentes inteligentes
Especificações iniciais de agentes inteligentes
 
Notas sobre agentes inteligentes
Notas sobre agentes inteligentesNotas sobre agentes inteligentes
Notas sobre agentes inteligentes
 
Anotações do mapeamento OR
Anotações do mapeamento ORAnotações do mapeamento OR
Anotações do mapeamento OR
 
Hibernate-consultas
Hibernate-consultasHibernate-consultas
Hibernate-consultas
 
Mapeamento de herança OR
Mapeamento de herança ORMapeamento de herança OR
Mapeamento de herança OR
 
Relacionamentos do mapeamento OR
Relacionamentos do mapeamento ORRelacionamentos do mapeamento OR
Relacionamentos do mapeamento OR
 
Processos iniciais do mapeamento OR
Processos iniciais do mapeamento ORProcessos iniciais do mapeamento OR
Processos iniciais do mapeamento OR
 
Java swing
Java swingJava swing
Java swing
 
Introdução à linguagem UML
Introdução à linguagem UMLIntrodução à linguagem UML
Introdução à linguagem UML
 
Introdução aos Sistemas operacionais
Introdução aos Sistemas operacionaisIntrodução aos Sistemas operacionais
Introdução aos Sistemas operacionais
 

Introdução à Engenharia de Software

  • 1. Prof. Nécio de Lima Veras Introdução à Engenharia de Software Objetivo: Perceber os conceitos básicos e aspectos introdutórios sobre Engenharia de Software.
  • 2. Aula 01: Ordem Software:  Conceitos;  Crise Histórica;  Mitos; Introdução à abordagem de projetos; Engenharia de Software:  Definição;  Modelos de Processos de Softwares;  Modelos de Gerência de Projetos;
  • 3. Software: Conceitos [...] uma forma híbrida, algo no domínio entre o concreto e o abstrato, entre o tangível e o intangível. [...] o desenvolvimento de produtos de software é visto como uma atividade mental, abstrata, solitária e criativa. Cox (apud GUERRA e ALVES, 2004, p. 1)
  • 4. Software: Conceitos Pressman (1997) diz que um livro didático poderia trazer a descrição de um software da seguinte forma:  Instruções (programas de computador) que, quando executadas, produzem a função e desempenho desejados;  Estruturas de dados que possibilitam que os programas manipulem adequadamente a informação;  Documentos que descrevem a operação e o uso dos programas;
  • 5. Software: Conceitos Sommerville (2003) complementa criando dois tipos diferentes:  Produtos Genéricos;  Produtos sob encomenda; Por tanto, Software é:  Produto (ou serviço) que possui um grande número de características próprias oriundas dos critérios de análise, codificação e documentação aplicados durante sua construção;
  • 6. Software: Reflexão sobre os conceitos Reflexões Será que essa Qual a relevância formalização já é de conhecer o suficiente para que está entendermos o que “escondido” por é realmente um traz de um software? software?
  • 7. Software: Crise Histórica (1968) Evolução do hardware; Softwares mais complexos com:  Custos maiores (não previstos);  Baixa confiabilidade;  Difícil manutenção; e  Desempenho abaixo do esperado; Percebeu-se que uma abordagem informal de desenvolvimento não era suficiente;  E quais as prováveis causas da crise?
  • 8. Software: Mitos 1 2 3 A equipe de A equipe possui Se os prazos desenvolvimento ferramentas de atrasam, pode-se desenvolvimento de dispõe de um adicionar mais software de última manual com pessoas ao grupo geração! Afinal lhes padrões e compramos os mais e tirar o atraso; procedimentos; novos computadores;
  • 9. Software: Mitos 4 5 6 Uma descrição Os requisitos de Assim que projeto modificam- escrevermos o geral dos objetivos se continuamente, programa e o é suficiente para se mas as mudanças colocarmos em escrever podem ser funcionamento programas e os facilmente nosso trabalho detalhes são vistos acomodadas, porque estará completo. posteriormente; o software é flexível.
  • 10. Software: Mitos 7 Enquanto não tiver o programa "funcionando", eu não terei realmente nenhuma maneira de avaliar sua qualidade.
  • 11. Quais foram as possíveis soluções para a crise? Reconhecer os problemas e causas; Desmascarar os Engenharia mitos; de Software Criar soluções que apresentem suporte ao desenvolvedor e que melhore a qualidade;
  • 13. Produtos de Software  Surge de ideias conceituais e reajustáveis;  É Intangível;  Possui escopo variável;  É dotado de incertezas constantes;  Difícil visualização do produto final.  Mas como obter um produto de software com qualidade diante de todas estas peculiaridades?
  • 14. Engenharia de Software ● A ideia foi incluir a disciplina de engenharia no desenvolvimento de software; ● A E.S. Engloba três elementos fundamentais:
  • 15. Engenharia de Software: definição Sommerville (2003):  Disciplina que trabalha todos os aspectos da produção de software, desde os estágios iniciais de especificação até a manutenção deste, depois que ele entrou em operação;  Não se dedica apenas aos processos técnicos de software, mas também: • Ao gerenciamento dos projetos; • Ao desenvolvimento de ferramentas, métodos e teorias que dêem apoio à produção de software; Por que não fazer uma analogia?
  • 16. Engenharia de Software: abrangência Métodos Métodos Ferramentas Ferramentas Procedimentos Procedimentos Planejamento, Análise, Projeto, Automação “Elo de Codificação, ligação” entre Teste e métodos e Manutenção ferramentas
  • 17. Engenharia de Software: Modelo de Processo de Software O que entendemos por processo de software?  Conjunto de atividades que geram produtos de software; Há quatro atividades fundamentais Há quatro atividades fundamentais Desenvolvimento Especificação de Validação de Evolução de de software software software Software
  • 18. Engenharia de Software: Modelo de Processo de Software Um modelo de processo de software é:  Uma descrição simplificada de um processo de software, abstraindo o processo real que está sendo aplicado; É constituído por:  Atividades de processos de software;  Produtos de software;  Definição de papeis das pessoas envolvidas;
  • 19. Exemplos de Modelos de Processos de Software O Modelo em cascata Desenvolvimento Desenvolvimento incremental evolucionário
  • 20. Reflexão sobre os modelos Esses modelos garantem o sucesso do software?  E as métricas de software?  E as garantias de qualidade? Como vimos, faz parte da definição de engenharia de software:  Não se dedica apenas aos processos técnicos de software, mas também ao gerenciamento dos projetos;
  • 21. Gerência de Projetos de Software A crise é passado?  E os softwares complexos? É preciso gerenciar projetos de software?  Considere: • Sistemas de Software; • Desenvolvimento colaborativo; Também existe modelos de gerenciamento?
  • 22. Modelos de Gerenciamento de Projetos  PMI (Project Management Institute):  Baseado em processos;  Alguns consideram muito burocrático;  Possui publicações reconhecidas internacionalmente, como o Guia PMBOK;  CMMI (Capability Maturity Model Integration):  Baseado em níveis de maturidade organizacional;  Encomendado e patrocinado pelo Pentágono, foi formulado pelo SEI (Software Engineering Institute);
  • 23. Modelos de Gerenciamento de Projetos  APM (Agile Project Management):  Criado em 2001 por um grupo chamado de Agile Alliance;  Possui um conjunto de princípios que são referências básicas para as metodologias ágeis;  Possui cinco objetivos-chave: • Inovação contínua; • Adaptabilidade do produto; • Entregas com cronograma reduzido; • Adaptabilidade do processo e das pessoas; • Resultados confiáveis;
  • 24. Modelo Ágil de Gerência de Projeto de Software – Visão Geral Fonte: Martins, 2007
  • 25. Considerações Finais Perspectivas para a área de Engenharia de Software:  O modelo brasileiro de melhoria dos processos de software (MPS.BR);
  • 26. Referências Bibliográficas  SOMMERVILLE, I. Engenharia de Software. 6ª. ed. São Paulo: Addison Wesley, 2003.  PRESSMAN, R. S. Engenharia de Software. São Paulo: Pearson Makron Books, 1997, Reimpressão 2007.  MARTINS, J. C. C. Técnicas para Gerenciamento de Projetos de Software. Rio de Janeiro: Brasport, 2007.  GUERRA, A. C., ALVES, A. M. Aquisição de produtos e serviços de software. Rio de Janeiro: Elsevier: 2004.  BASSI, D. Planejamento Ágil de Projetos. Engenharia de Software Magazine. DevMedia Group, ano I, n. 08, pág. 08-12, 2008.  PAULA, Wilson de Pádua Filho. Alguns Fundamentos da Engenharia de Software. Engenharia de Software Magazine. DevMedia Group, ano I, n. 01, pág. 04-08, 2007.