SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
Engenharia de Software II
         Paradigmas de Engenharia de Software


                           Prof. César França




FASETE, Engenharia de Software II, 2008.1                   Prof. César França
Engenharia

    • Métodos
    • Ferramentas
    • Procedimentos




FASETE, Engenharia de Software II, 2008.1       Prof. César França
Desenvolvimento Clássico
                                (Cascata / Waterfall)




FASETE, Engenharia de Software II, 2008.1               Prof. César França
Levantamento de
                                Requisitos
    •   Análise de requisitos engloba todas as tarefas que lidam com investigação,
        definição e escopo de novos sistemas ou alterações. Análise de requisitos
        é uma parte importante do processo de projeto de sistemas, na qual o
        engenheiro de requisitos e o analista de negócio, juntamente com
        engenheiro de sistema ou desenvolvedor de software, identificam as
        necessidades ou requisitos de um cliente. Uma vez que os requisitos do
        sistema tenha sido identificados, os projetistas de sistemas estarão
        preparados para projetar a solução.

    •   Entrevistas com Stakeholder
    •   Workshops
    •   Lista de requisitos: estilo contrato formal
    •   Objetivos Mensuráveis
    •   Protótipos




FASETE, Engenharia de Software II, 2008.1                             Prof. César França
Análise de Requisitos

    • Análise de Requisitos é o estudo das características que o
      sistema deverá ter para atender às necessidades e
      expectativas do cliente.

    • É o Entendimento do Problema

    • Cada funcionalidade demandada pelo cliente deve ser
      analisada para verificar os possíveis impactos no
      desenvolvimento das demais funcionalidades do sistema, e
      verificado em conjunto com a equipe de desenvolvimento
      se as necessidades tecnológicas para a sua implementação
      estão disponíveis




FASETE, Engenharia de Software II, 2008.1                Prof. César França
Projeto

    • É a parte da engenharia de software que se encarrega de
      transformar os resultados da Análise de Requerimentos em
      um documento ou conjunto de documentos capazes de
      serem interpretados diretamente pelo programador.

    • Arquitetura de Software
    • Design Patterns (Padrões de Projeto)
    • Refatoração




FASETE, Engenharia de Software II, 2008.1             Prof. César França
Implementação

    • Corresponde à codificação, ou tradução dos
      requisitos para uma linguagem legível pelas
      máquinas.

    • Se o projeto for executado detalhadamente, a
      codificação pode ser feita mecanicamente, e até
      mesmo automatizada.




FASETE, Engenharia de Software II, 2008.1      Prof. César França
Testes

    • O objetivo, por paradoxal que pareça, é encontrar defeitos
      nos produtos, para que estes possam ser corrigidos pela
      equipe de programadores, antes da entrega final.

    •   Testes Caixa-Branca ou Caixa-Preta
    •   Testes Unitários, de Integração, de Aceitação, de Produção e de Regressão


    Processo Simplificado
    • Descobrir a existência do bug
    • Isolar o código que causa o bug
    • Identificar a causa do bug
    • Determinar uma correção para o bug
    • Aplicar a correção e testar a correção




FASETE, Engenharia de Software II, 2008.1                                     Prof. César França
Implantação

    • Passagem do software para a produção.

    • Liberação
    • Instalação
    • Ativação/Desativação

    • Risco: Integração com Sistemas Legados!!!



FASETE, Engenharia de Software II, 2008.1       Prof. César França
Desenvolvimento Clássico
                                (Cascata / Waterfall)




FASETE, Engenharia de Software II, 2008.1               Prof. César França
Custo da Mudança

            Custo




                                            Tempo


FASETE, Engenharia de Software II, 2008.1      Prof. César França
Prototipação

    • Processo que capacita o desenvolvedor a
      criar um modelo do software que será
      implementado.

    •   Storyboarding
    •   Protótipo em papel
    •   Mágico de Oz
    •   Máquina de Cenários
    •   Prototipagem Rápida
    •   Prototipagem Evolutiva

FASETE, Engenharia de Software II, 2008.1        Prof. César França
Prototipação

    • Pontos Positivos
         – Requisitos adequados
         – Cliente visualiza a construção


    • Pontos Negativos
         –   Difícil manutenção
         –   Baixo re-uso
         –   Riscos de projeto
         –   Cliente achar que o projeto está pronto!


FASETE, Engenharia de Software II, 2008.1           Prof. César França
Modelo Iterativo




FASETE, Engenharia de Software II, 2008.1      Prof. César França
Prototipação

    • Pontos Positivos
         – Desenvolvimento evolutivo
         – Projeto componentizado


    • Pontos Negativos
         – Custo da mudança
         – Refactoring


FASETE, Engenharia de Software II, 2008.1        Prof. César França
Modelo Espiral
        Requisitos                          Engenharia




                                             Implementação
             Avaliação




FASETE, Engenharia de Software II, 2008.1            Prof. César França
Modelo Espiral

    • Pontos Positivos
         – Desenvolvimento Evolutivo
         – Mudança planejada
         – Redução de Riscos


    • Pontos Negativos
         – Difícil adoção dos clientes
         – Avaliação de Riscos delicada
         – Imprevisão de riscos grandes: mudança cara!

FASETE, Engenharia de Software II, 2008.1       Prof. César França
Outros “Paradigmas”

    • Linguagens de 4ª Geração
    • RAD – Rapid Application Development




FASETE, Engenharia de Software II, 2008.1   Prof. César França
Qual o melhor?

    • Desenvolvimento Tradicional
    • Prototipagem
    • Iterativo
    • Espiral
    • ...
                 DEPENDE!!!


FASETE, Engenharia de Software II, 2008.1      Prof. César França
Disponível em...
                 http://es2.cesarfranca.com

                                Prof. César França




FASETE, Engenharia de Software II, 2008.1            Prof. César França

Mais conteúdo relacionado

Mais procurados

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
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareCloves da Rocha
 
Aps lista de exercícios
Aps lista de exercíciosAps lista de exercícios
Aps lista de exercíciosGuilherme
 
Engenharia de requisitos
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitosMailson Queiroz
 
Uml Diagramas Estruturais
Uml   Diagramas EstruturaisUml   Diagramas Estruturais
Uml Diagramas Estruturaisthaisedd
 
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana ChahoudDesenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana ChahoudiMasters
 
Aula1 e aula2 - Analise e Projeto de Sistemas
Aula1 e aula2 - Analise e Projeto de SistemasAula1 e aula2 - Analise e Projeto de Sistemas
Aula1 e aula2 - Analise e Projeto de SistemasGustavo Gonzalez
 
Aula: Tipos de Interface
Aula: Tipos de InterfaceAula: Tipos de Interface
Aula: Tipos de InterfaceJanynne Gomes
 
Aula 1 - Introdução a Engenharia de Software
Aula 1 -  Introdução a Engenharia de SoftwareAula 1 -  Introdução a Engenharia de Software
Aula 1 - Introdução a Engenharia de SoftwareLeinylson Fontinele
 
Banco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoBanco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoLeinylson Fontinele
 
Reuso de software
Reuso de softwareReuso de software
Reuso de softwarerebekinha
 
Prototipação de software
Prototipação de softwarePrototipação de software
Prototipação de softwareleopp
 
Aula 04 coneitos de auditoria de sistemas
Aula 04   coneitos de auditoria de sistemasAula 04   coneitos de auditoria de sistemas
Aula 04 coneitos de auditoria de sistemassorayaNadja
 

Mais procurados (20)

Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Aula 2 - Modelos de processos
Aula 2 -  Modelos de processosAula 2 -  Modelos de processos
Aula 2 - Modelos de processos
 
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
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de Software
 
Aps lista de exercícios
Aps lista de exercíciosAps lista de exercícios
Aps lista de exercícios
 
Engenharia de requisitos
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitos
 
Uml Diagramas Estruturais
Uml   Diagramas EstruturaisUml   Diagramas Estruturais
Uml Diagramas Estruturais
 
CMM e CMMI
CMM e CMMICMM e CMMI
CMM e CMMI
 
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana ChahoudDesenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud
 
Aula1 e aula2 - Analise e Projeto de Sistemas
Aula1 e aula2 - Analise e Projeto de SistemasAula1 e aula2 - Analise e Projeto de Sistemas
Aula1 e aula2 - Analise e Projeto de Sistemas
 
Aula: Tipos de Interface
Aula: Tipos de InterfaceAula: Tipos de Interface
Aula: Tipos de Interface
 
Aula 1 - Introdução a Engenharia de Software
Aula 1 -  Introdução a Engenharia de SoftwareAula 1 -  Introdução a Engenharia de Software
Aula 1 - Introdução a Engenharia de Software
 
Banco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoBanco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e Especialização
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
Reuso de software
Reuso de softwareReuso de software
Reuso de software
 
Uml
UmlUml
Uml
 
Aula 2 - Processos de Software
Aula 2 - Processos de SoftwareAula 2 - Processos de Software
Aula 2 - Processos de Software
 
Prototipação de software
Prototipação de softwarePrototipação de software
Prototipação de software
 
Aula 04 coneitos de auditoria de sistemas
Aula 04   coneitos de auditoria de sistemasAula 04   coneitos de auditoria de sistemas
Aula 04 coneitos de auditoria de sistemas
 
Projeto de Software
Projeto de SoftwareProjeto de Software
Projeto de Software
 

Destaque

Verificação e validação de software
Verificação e validação de softwareVerificação e validação de software
Verificação e validação de softwareLeonardo Melo Santos
 
O que e_qualidade-andre_koscianski
O que e_qualidade-andre_koscianskiO que e_qualidade-andre_koscianski
O que e_qualidade-andre_koscianskiPortal da Rádio
 
Simpósio Unicruz: OpenCV + Python (parte 1)
Simpósio Unicruz: OpenCV + Python (parte 1)Simpósio Unicruz: OpenCV + Python (parte 1)
Simpósio Unicruz: OpenCV + Python (parte 1)Cristiano Rafael Steffens
 
Processos de Software - 101
Processos  de Software - 101Processos  de Software - 101
Processos de Software - 101Lucas Amaral
 
Microsoft Offical Course 20410C_07
Microsoft Offical Course 20410C_07Microsoft Offical Course 20410C_07
Microsoft Offical Course 20410C_07gameaxt
 
Modelo cascata apresentação
Modelo cascata apresentaçãoModelo cascata apresentação
Modelo cascata apresentaçãoerysonsi
 
Engenharia Requisitos - Método RON
Engenharia Requisitos - Método RONEngenharia Requisitos - Método RON
Engenharia Requisitos - Método RONEduardo Castro
 
Engenharia de software
Engenharia de softwareEngenharia de software
Engenharia de softwareTiago Pinhão
 
Modelo cascata apresentação
Modelo cascata apresentaçãoModelo cascata apresentação
Modelo cascata apresentaçãoerysonsi
 
Guia arduino iniciante multilogica ARDUINO
Guia arduino iniciante multilogica ARDUINOGuia arduino iniciante multilogica ARDUINO
Guia arduino iniciante multilogica ARDUINOChellton Almeida
 

Destaque (20)

Verificação e validação de software
Verificação e validação de softwareVerificação e validação de software
Verificação e validação de software
 
Aula2 paradigmas
Aula2 paradigmasAula2 paradigmas
Aula2 paradigmas
 
Questesdetecnologia ano2003
Questesdetecnologia ano2003Questesdetecnologia ano2003
Questesdetecnologia ano2003
 
O que e_qualidade-andre_koscianski
O que e_qualidade-andre_koscianskiO que e_qualidade-andre_koscianski
O que e_qualidade-andre_koscianski
 
Simpósio Unicruz: OpenCV + Python (parte 1)
Simpósio Unicruz: OpenCV + Python (parte 1)Simpósio Unicruz: OpenCV + Python (parte 1)
Simpósio Unicruz: OpenCV + Python (parte 1)
 
Processos de Software - 101
Processos  de Software - 101Processos  de Software - 101
Processos de Software - 101
 
Igp latarias
Igp latariasIgp latarias
Igp latarias
 
Microsoft Offical Course 20410C_07
Microsoft Offical Course 20410C_07Microsoft Offical Course 20410C_07
Microsoft Offical Course 20410C_07
 
Modelo cascata apresentação
Modelo cascata apresentaçãoModelo cascata apresentação
Modelo cascata apresentação
 
Engenharia Requisitos - Método RON
Engenharia Requisitos - Método RONEngenharia Requisitos - Método RON
Engenharia Requisitos - Método RON
 
Modelo V
Modelo VModelo V
Modelo V
 
Engenharia de software - Prototipo
Engenharia de software - PrototipoEngenharia de software - Prototipo
Engenharia de software - Prototipo
 
Engenharia de software
Engenharia de softwareEngenharia de software
Engenharia de software
 
Engenharia de software
Engenharia de softwareEngenharia de software
Engenharia de software
 
Firewall
FirewallFirewall
Firewall
 
Modelo cascata apresentação
Modelo cascata apresentaçãoModelo cascata apresentação
Modelo cascata apresentação
 
Modelos de processos de software
Modelos de processos de softwareModelos de processos de software
Modelos de processos de software
 
Modelos de processos de software
Modelos de processos de softwareModelos de processos de software
Modelos de processos de software
 
Guia arduino iniciante multilogica ARDUINO
Guia arduino iniciante multilogica ARDUINOGuia arduino iniciante multilogica ARDUINO
Guia arduino iniciante multilogica ARDUINO
 
Apostila de dev
Apostila de devApostila de dev
Apostila de dev
 

Semelhante a Engenharia Software II Paradigmas

Gestão de Projeto de Desenvolvimento Agil(XP)
Gestão de Projeto de Desenvolvimento Agil(XP)Gestão de Projeto de Desenvolvimento Agil(XP)
Gestão de Projeto de Desenvolvimento Agil(XP)elliando dias
 
Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1
Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1
Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1Renato Leal
 
IC Cuidando de Sistemas Doentes
IC Cuidando de Sistemas DoentesIC Cuidando de Sistemas Doentes
IC Cuidando de Sistemas DoentesJefferson Moreira
 
Gerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2aGerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2aLeonardo Molinari
 
Qualidade de Software com Visual Studio 2012
Qualidade de Software com Visual Studio 2012Qualidade de Software com Visual Studio 2012
Qualidade de Software com Visual Studio 2012Adriano Bertucci
 
Qualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALMQualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALMAdriano Bertucci
 
Metodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de SoftwareMetodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de SoftwareAdolfo Neto
 
Contr avali engenharia de software-introdução
Contr avali   engenharia de software-introduçãoContr avali   engenharia de software-introdução
Contr avali engenharia de software-introduçãoFelipe Lyra
 
Gerenciamento de Projeto para Desenvolvimento de Sistema
Gerenciamento de Projeto para Desenvolvimento de SistemaGerenciamento de Projeto para Desenvolvimento de Sistema
Gerenciamento de Projeto para Desenvolvimento de Sistemaelliando dias
 
Qualidade de Software com Microsoft Visual Studio
Qualidade de Software com Microsoft Visual StudioQualidade de Software com Microsoft Visual Studio
Qualidade de Software com Microsoft Visual StudioAdriano Bertucci
 
aula projeto e des sistemas 22 03 2021.pptx
aula projeto e des sistemas 22 03 2021.pptxaula projeto e des sistemas 22 03 2021.pptx
aula projeto e des sistemas 22 03 2021.pptxMarcondesTiburcio
 
Encontro Locaweb
Encontro  LocawebEncontro  Locaweb
Encontro LocawebFabio Akita
 
Encontro Locaweb Curitiba
Encontro  Locaweb CuritibaEncontro  Locaweb Curitiba
Encontro Locaweb CuritibaFabio Akita
 
Projeto de Sistemas - Aula002
Projeto de Sistemas - Aula002Projeto de Sistemas - Aula002
Projeto de Sistemas - Aula002Cláudio Amaral
 

Semelhante a Engenharia Software II Paradigmas (20)

Gestão de Projeto de Desenvolvimento Agil(XP)
Gestão de Projeto de Desenvolvimento Agil(XP)Gestão de Projeto de Desenvolvimento Agil(XP)
Gestão de Projeto de Desenvolvimento Agil(XP)
 
Cs 1
Cs 1Cs 1
Cs 1
 
Analise aula2
Analise aula2Analise aula2
Analise aula2
 
Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1
Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1
Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1
 
IC Cuidando de Sistemas Doentes
IC Cuidando de Sistemas DoentesIC Cuidando de Sistemas Doentes
IC Cuidando de Sistemas Doentes
 
Gerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2aGerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2a
 
Qualidade de Software com Visual Studio 2012
Qualidade de Software com Visual Studio 2012Qualidade de Software com Visual Studio 2012
Qualidade de Software com Visual Studio 2012
 
Qualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALMQualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALM
 
Metodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de SoftwareMetodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de Software
 
Crise de software2
Crise de software2Crise de software2
Crise de software2
 
Contr avali engenharia de software-introdução
Contr avali   engenharia de software-introduçãoContr avali   engenharia de software-introdução
Contr avali engenharia de software-introdução
 
Gerenciamento de Projeto para Desenvolvimento de Sistema
Gerenciamento de Projeto para Desenvolvimento de SistemaGerenciamento de Projeto para Desenvolvimento de Sistema
Gerenciamento de Projeto para Desenvolvimento de Sistema
 
Curso Scrum
Curso ScrumCurso Scrum
Curso Scrum
 
Aula 02
Aula 02Aula 02
Aula 02
 
Qualidade de Software com Microsoft Visual Studio
Qualidade de Software com Microsoft Visual StudioQualidade de Software com Microsoft Visual Studio
Qualidade de Software com Microsoft Visual Studio
 
Es conceitos
Es conceitosEs conceitos
Es conceitos
 
aula projeto e des sistemas 22 03 2021.pptx
aula projeto e des sistemas 22 03 2021.pptxaula projeto e des sistemas 22 03 2021.pptx
aula projeto e des sistemas 22 03 2021.pptx
 
Encontro Locaweb
Encontro  LocawebEncontro  Locaweb
Encontro Locaweb
 
Encontro Locaweb Curitiba
Encontro  Locaweb CuritibaEncontro  Locaweb Curitiba
Encontro Locaweb Curitiba
 
Projeto de Sistemas - Aula002
Projeto de Sistemas - Aula002Projeto de Sistemas - Aula002
Projeto de Sistemas - Aula002
 

Mais de Robson Silva Espig (20)

Master Place - Convenção Bloco D
Master Place - Convenção Bloco DMaster Place - Convenção Bloco D
Master Place - Convenção Bloco D
 
Aquarelas Envelhecidas
Aquarelas EnvelhecidasAquarelas Envelhecidas
Aquarelas Envelhecidas
 
[ reference ] Processos - PMBOK
[ reference ] Processos - PMBOK[ reference ] Processos - PMBOK
[ reference ] Processos - PMBOK
 
[ ref ] Convergência - Mobilidade
[ ref ] Convergência - Mobilidade[ ref ] Convergência - Mobilidade
[ ref ] Convergência - Mobilidade
 
[ ref ] Normalizing a Data Model in SQL Server
[ ref ] Normalizing a Data Model in SQL Server[ ref ] Normalizing a Data Model in SQL Server
[ ref ] Normalizing a Data Model in SQL Server
 
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
 
Como implementar uma plataforma de ILM com eficiência, reduzindo custos
Como implementar uma plataforma de ILM com eficiência, reduzindo custosComo implementar uma plataforma de ILM com eficiência, reduzindo custos
Como implementar uma plataforma de ILM com eficiência, reduzindo custos
 
Gestao Projetos - Aula 02
Gestao Projetos - Aula 02Gestao Projetos - Aula 02
Gestao Projetos - Aula 02
 
Gestao Projetos - Aula 01
Gestao Projetos - Aula 01Gestao Projetos - Aula 01
Gestao Projetos - Aula 01
 
Aula 01
Aula 01Aula 01
Aula 01
 
Aula 05
Aula 05Aula 05
Aula 05
 
Aula 04
Aula 04Aula 04
Aula 04
 
Caso de Desenvolvimento
Caso de DesenvolvimentoCaso de Desenvolvimento
Caso de Desenvolvimento
 
SOA
SOASOA
SOA
 
Aula 03
Aula 03Aula 03
Aula 03
 
Artigo Caso de Uso
Artigo Caso de UsoArtigo Caso de Uso
Artigo Caso de Uso
 
RAD
RADRAD
RAD
 
Analise de Requisitos de Software
Analise de Requisitos de SoftwareAnalise de Requisitos de Software
Analise de Requisitos de Software
 
Desenvolvimento Iterativo e Incremental
Desenvolvimento Iterativo e IncrementalDesenvolvimento Iterativo e Incremental
Desenvolvimento Iterativo e Incremental
 
Implantacao de Software
Implantacao de SoftwareImplantacao de Software
Implantacao de Software
 

Engenharia Software II Paradigmas

  • 1. Engenharia de Software II Paradigmas de Engenharia de Software Prof. César França FASETE, Engenharia de Software II, 2008.1 Prof. César França
  • 2. Engenharia • Métodos • Ferramentas • Procedimentos FASETE, Engenharia de Software II, 2008.1 Prof. César França
  • 3. Desenvolvimento Clássico (Cascata / Waterfall) FASETE, Engenharia de Software II, 2008.1 Prof. César França
  • 4. Levantamento de Requisitos • Análise de requisitos engloba todas as tarefas que lidam com investigação, definição e escopo de novos sistemas ou alterações. Análise de requisitos é uma parte importante do processo de projeto de sistemas, na qual o engenheiro de requisitos e o analista de negócio, juntamente com engenheiro de sistema ou desenvolvedor de software, identificam as necessidades ou requisitos de um cliente. Uma vez que os requisitos do sistema tenha sido identificados, os projetistas de sistemas estarão preparados para projetar a solução. • Entrevistas com Stakeholder • Workshops • Lista de requisitos: estilo contrato formal • Objetivos Mensuráveis • Protótipos FASETE, Engenharia de Software II, 2008.1 Prof. César França
  • 5. Análise de Requisitos • Análise de Requisitos é o estudo das características que o sistema deverá ter para atender às necessidades e expectativas do cliente. • É o Entendimento do Problema • Cada funcionalidade demandada pelo cliente deve ser analisada para verificar os possíveis impactos no desenvolvimento das demais funcionalidades do sistema, e verificado em conjunto com a equipe de desenvolvimento se as necessidades tecnológicas para a sua implementação estão disponíveis FASETE, Engenharia de Software II, 2008.1 Prof. César França
  • 6. Projeto • É a parte da engenharia de software que se encarrega de transformar os resultados da Análise de Requerimentos em um documento ou conjunto de documentos capazes de serem interpretados diretamente pelo programador. • Arquitetura de Software • Design Patterns (Padrões de Projeto) • Refatoração FASETE, Engenharia de Software II, 2008.1 Prof. César França
  • 7. Implementação • Corresponde à codificação, ou tradução dos requisitos para uma linguagem legível pelas máquinas. • Se o projeto for executado detalhadamente, a codificação pode ser feita mecanicamente, e até mesmo automatizada. FASETE, Engenharia de Software II, 2008.1 Prof. César França
  • 8. Testes • O objetivo, por paradoxal que pareça, é encontrar defeitos nos produtos, para que estes possam ser corrigidos pela equipe de programadores, antes da entrega final. • Testes Caixa-Branca ou Caixa-Preta • Testes Unitários, de Integração, de Aceitação, de Produção e de Regressão Processo Simplificado • Descobrir a existência do bug • Isolar o código que causa o bug • Identificar a causa do bug • Determinar uma correção para o bug • Aplicar a correção e testar a correção FASETE, Engenharia de Software II, 2008.1 Prof. César França
  • 9. Implantação • Passagem do software para a produção. • Liberação • Instalação • Ativação/Desativação • Risco: Integração com Sistemas Legados!!! FASETE, Engenharia de Software II, 2008.1 Prof. César França
  • 10. Desenvolvimento Clássico (Cascata / Waterfall) FASETE, Engenharia de Software II, 2008.1 Prof. César França
  • 11. Custo da Mudança Custo Tempo FASETE, Engenharia de Software II, 2008.1 Prof. César França
  • 12. Prototipação • Processo que capacita o desenvolvedor a criar um modelo do software que será implementado. • Storyboarding • Protótipo em papel • Mágico de Oz • Máquina de Cenários • Prototipagem Rápida • Prototipagem Evolutiva FASETE, Engenharia de Software II, 2008.1 Prof. César França
  • 13. Prototipação • Pontos Positivos – Requisitos adequados – Cliente visualiza a construção • Pontos Negativos – Difícil manutenção – Baixo re-uso – Riscos de projeto – Cliente achar que o projeto está pronto! FASETE, Engenharia de Software II, 2008.1 Prof. César França
  • 14. Modelo Iterativo FASETE, Engenharia de Software II, 2008.1 Prof. César França
  • 15. Prototipação • Pontos Positivos – Desenvolvimento evolutivo – Projeto componentizado • Pontos Negativos – Custo da mudança – Refactoring FASETE, Engenharia de Software II, 2008.1 Prof. César França
  • 16. Modelo Espiral Requisitos Engenharia Implementação Avaliação FASETE, Engenharia de Software II, 2008.1 Prof. César França
  • 17. Modelo Espiral • Pontos Positivos – Desenvolvimento Evolutivo – Mudança planejada – Redução de Riscos • Pontos Negativos – Difícil adoção dos clientes – Avaliação de Riscos delicada – Imprevisão de riscos grandes: mudança cara! FASETE, Engenharia de Software II, 2008.1 Prof. César França
  • 18. Outros “Paradigmas” • Linguagens de 4ª Geração • RAD – Rapid Application Development FASETE, Engenharia de Software II, 2008.1 Prof. César França
  • 19. Qual o melhor? • Desenvolvimento Tradicional • Prototipagem • Iterativo • Espiral • ... DEPENDE!!! FASETE, Engenharia de Software II, 2008.1 Prof. César França
  • 20. Disponível em... http://es2.cesarfranca.com Prof. César França FASETE, Engenharia de Software II, 2008.1 Prof. César França