SlideShare une entreprise Scribd logo
1  sur  36
Engenharia de Software

      Aula 2 – Processos de Software
              Profa. Dra. Judith Pavón
    Universidade Salvador – UNIFACS
                                  2012
Conteúdo
   Objetivo da aula
   Leitura recomendada
   Processos
   Modelos de Processos de Desenvolvimento de Software
   Processo de Software (genêrico)
   Modelos do Ciclo de Vida de Software
   Linguagem
   Método
   Ferramenta CASE
   Metodologia
   Pontos Principais


                                                      2
Objetivo da aula
O objetivo desta aula é apresentar os
conceitos de processo de software e as
características dos processos tradicionais
de desenvolvimento de software.




                                        3
Processos
• Conjunto de atividades pré-definidas que levam a um
resultado de boa qualidade, nas condições desejadas do
projeto (tempo e custo).
• Os processos devem ser adequados aos diferentes tipos
de sistema a construir.

Os modelos de processos de desenvolvimento de software
foram originalmente propostos para colocar ordem no caos
do desenvolvimento de software.
Maturidade do processo
- Medida da eficiência global da empresa de
software em relação ao processo de
desenvolvimento (Ex. CMMI)
                                                       4
Processo
   Conjunto de atividades
       bem definidas
       com responsáveis
       com artefatos de entrada e saída
       com dependências entre as mesmas e
        ordem de execução
       com modelo de ciclo de vida
Modelos de Processo de
Desenvolvimento de Software
• Os modelos de processos de desenvolvimento de software
têm trazido uma certa dose de estrutura útil para o trabalho
de engenharia de software e têm fornecido um roteiro
razoavelmente efetivo para as equipes de software.

• Quem decide o modelo de processo de desenvolvimento a
ser utilizado?
Os líderes de equipe ou gerentes adaptam um modelo de
processo a suas necessidades e depois o seguem.




                                                         6
Modelos de Processo de
 Desenvolvimento de Software
• Por que é importante?
Porque fornece estabilidade, controle e organização a uma atividade que pode,
se deixada sem controle, tornar-se caótica.

• Quais são os passos?
O processo dirige uma equipe de software por meio de um arcabouço de
atividades guarda-chuva que são organizadas em um fluxo de processo que
pode ser linear, incremental ou evolutivo.

• Qual é o produto do trabalho?
Do ponto de vista de um engenheiro de software, os produtos do trabalho são
todos os artefatos que conformam um software.

• Como tenho certeza que fiz corretamente?
Existem diversos mecanismos de avaliação de processo de software que
permitem às organizações determinar a “maturidade” do seu processo.

                                                                           7
Processo de Software
(genêrico)
 um framework para as tarefas necessárias para
 construir software de qualidade

 Três fases genéricas:
     
         Definição
        Desenvolvimento
        Manutenção
 Fase de Definição
    Foco: o que
    Atividades:
     
         Análise de viabilidade

        planejamento do projeto

        análise e especificação de
         requisitos
 Fase de
 Desenvolvimento
    Foco: como
    Atividades:
     
         projeto do software

        geração de código

        teste do software
 Fase de Manutenção
    Foco: mudanças no produto
     associadas a:
         correção de erros
         adaptação por mudanças no ambiente
     
          evolução por mudanças nos requisitos do
         usuário
Atividades de Apoio
     acompanhamento e controle do projeto
     revisões técnicas
     garantia da qualidade de software
     gerência de configuração
     preparação e produção de documentos
     gerência de reuso
     medições
     gerência de risco
Atividade 3 (entregar na próxima aula)

  Trabalho em duplas
   1. Identificar e listar os principais processos de
        desenvolvimento de software
   2. Fazer um breve resumo das principais características de
       cada processo listado no item anterior, comentar as fases
       desse processo e quando é recomendado usar.
   3. Escolha um sistema a ser desenvolvido.
   4. Defina o processo de desenvolvimento a ser seguido.




                                                                   13
Modelos do Ciclo de Vida de
Software
   Cascata
   Modelos Iterativos
         Espiral
         Incremental (ex: do RUP)
   ...
Modelo Cascata
Modelo Cascata
Modelo Cascata
    A metodologia de desenvolvimento em cascata foi
    desenvolvida pela marinha norte-americana nos
    anos 60 para permitir o desenvolvimento de
    software militares.
   Propõe uma sequência de fases rígidas.
    Ao final de cada fase, a equipe de projeto finaliza
    com uma revisão.
   Somente pode ir para a próxima fase, se finalizar a
    anterior para o sistema como um todo.
Modelo Cascata – Quando
usar
    A Metodologia em Cascata funciona bem quando os
     requisitos do usuário são rígidos e podem ser
     conhecidos com antecedência.
    A metodologia de Desenvolvimento em Cascata
     pode funcionar bem em ambientes rígidos e
     fortemente controlados.
    No cenário comercial, somente recomenda-se usar
     este modelo para sistemas pequenos e simples, pois
     se for um sistema complexo vai demorar muito
     tempo até mostrar o funcionamento do sistema.
Prototipação
   O modelo de Prototipagem é uma abordagem que
    visualiza o desenvolvimento de concepções do
    sistema conforme o andamento do projeto.

   Esta metodologia baseia-se na utilização de
    prototipagem visual ou modelos do sistema final.
    Estes modelos podem ser simples desenhos,
    imagens gráficas ou simulações de aplicações.

   Esta metodologia é até certo ponto bastante flexível
    a respeito de mudanças de requisitos; contudo, este
    processo precisa de muito controle.
Prototipação
Modelos Iterativos
   Requisitos de sistema SEMPRE evoluem
    durante o decorrer de um projeto. Assim a
    iteração do processo sempre faz parte do
    desenvolvimento.
   Iterações podem ser aplicadas a quaisquer
    dos processos de software.
   Duas abordagens (relacionadas)
       Desenvolvimento espiral
       Desenvolvimento incremental
Desenvolvimento Espiral
   Guia o processo de desenvolvimento com base em
    análise de riscos e planejamento que é
    realizado durante toda a evolução do
    desenvolvimento.
   Exemplos de riscos: pessoas que abandonam a
    equipe de desenvolvimento, ferramentas que não
    podem ser utilizadas, falha em equipamentos usados
    no desenvolvimento ou que serão utilizados no
    produto final, etc.
   A identificação e o gerenciamento de riscos é hoje
    uma atividade importantíssima no desenvolvimento
    de software devido à imaturidade da área e à falta de
    conhecimento, técnicas e ferramentas adequadas.
Desenvolvimento Espiral
   Guia o processo de desenvolvimento com base em
    análise de riscos e planejamento que é
    realizado durante toda a evolução do
    desenvolvimento.
   Exemplos de riscos: pessoas que abandonam a
    equipe de desenvolvimento, ferramentas que não
    podem ser utilizadas, falha em equipamentos usados
    no desenvolvimento ou que serão utilizados no
    produto final, etc.
   A identificação e o gerenciamento de riscos é hoje
    uma atividade importantíssima no desenvolvimento
    de software devido à imaturidade da área e à falta de
    conhecimento, técnicas e ferramentas adequadas.
Desenvolvimento Espiral
Desenvolvimento Espiral
Desenvolvimento Incremental
    Em vez de entregar o sistema como um todo, o
     desenvolvimento e a entrega são divididos em
     incrementos, com cada incremento entregando
     parte da funcionalidade requerida
    Requisitos dos usuários são priorizados e os
     requisitos de mais alta prioridade são incluídos
     nas iterações iniciais
    Uma vez que o desenvolvimento de um
     incremento é iniciado, os requisitos são
     "congelados". Embora os requisitos possam
     continuar a evoluir para incrementos posteriores.
RUP (Rational Unified Process)
   A metodologia RUP (Rational Unified Process) é
    um processo que fornece uma metodologia
    disciplinada de desenvolvimento utilizando um
    conjunto de ferramentas, modelos e entregáveis.
   Nesse modelo, considera-se o desenvolvimento
    do software em ciclos iterativos onde uma
    pequena porção dos requisitos passa por todas as
    etapas de desenvolvimento como em um modelo
    cascata.
   Ao final de cada ciclo de iteração têm-se uma
    nova versão do software, a qual será
    incrementada a cada novo ciclo que ocorrer.
RUP (Rational Unified Process)
O RUP é estruturado em duas dimensões:
 Eixo X -Tempo: divisão do ciclo de vida em
 fases e iterações, mostra os aspectos do ciclo de
 vida do processo à medida que se desenvolve.
 Eixo Y - Componentes de processo:
 produção de um conjunto específico de artefatos
 (produtos) com atividades bem definidas.
RUP (Rational Unified Process)
Linguagem
   Notação com sintaxe e semântica bem
    definidas
       com representação gráfica ou textual
   Usada para descrever os artefatos
    gerados durante o desenvolvimento de
    software
   Exemplos: UML, BPMN
Método
   Descrição sistemática de como deve-se
    realizar uma determinada atividade ou
    tarefa
   A descrição é normalmente feita
    através de padrões e guias
   Exemplos: Método para descoberta das
    classes de análise no RUP.
Ferramenta CASE
   Provê suporte computacional a um
    determinado método ou linguagem
   Ambiente de desenvolvimento: conjunto
    de ferramentas integradas (CASE)
   Exemplos: Rational Rose, JBuilder
Metodologia
   Conjunto de métodos + processo
Pontos principais
   Engenharia de software é uma disciplina de
    engenharia que está envolvida com todos os
    aspectos da produção de software
   Produtos de software consistem de programas
    desenvolvidos e documentação associada. Alguns
    atributos   de    qualidade      do     produto são
    manutenibilidade, eficiência e usabilidade
   O processo de software consiste nas atividades que
    são envolvidas no desenvolvimento de produtos de
    software
Pontos principais
    Métodos são formas organizadas de produzir
     software. Eles incluem sugestões para o processo a
     ser seguido, as notações a serem usadas, regras
     que governam as descrições do sistema que são
     produzidas e diretrizes de projeto
    Ferramentas CASE são sistemas de software que
     são projetados para suportar as atividades rotineiras
     no processo de software, como edição de diagramas
     de projeto e verificação de consistência dos
     diagramas
Dúvidas




          36

Contenu connexe

Tendances

Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane FidelixModelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane FidelixCris Fidelix
 
Gerenciamento da Qualidade de Software 1.pptx
Gerenciamento da Qualidade de Software 1.pptxGerenciamento da Qualidade de Software 1.pptx
Gerenciamento da Qualidade de Software 1.pptxRoberto Nunes
 
Apresentação de Engenharia de software I - Prof. Cristiane Fidelix
Apresentação de Engenharia de software I - Prof. Cristiane FidelixApresentação de Engenharia de software I - Prof. Cristiane Fidelix
Apresentação de Engenharia de software I - Prof. Cristiane FidelixCris Fidelix
 
Gerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxGerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxRoberto Nunes
 
Gerenciamento da Qualidade de Software 2.pptx
Gerenciamento da Qualidade de Software 2.pptxGerenciamento da Qualidade de Software 2.pptx
Gerenciamento da Qualidade de Software 2.pptxRoberto Nunes
 
Modelos de Processo de Software Parte 2
Modelos de Processo de Software Parte 2Modelos de Processo de Software Parte 2
Modelos de Processo de Software Parte 2Elaine Cecília Gatto
 
AULA 1 - CONCEITOS GERAIS APLICADOS NO CICLO DE VIDA DO SOFTWARE E MODELOS ...
AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS ...AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS ...
AULA 1 - CONCEITOS GERAIS APLICADOS NO CICLO DE VIDA DO SOFTWARE E MODELOS ...Janynne Gomes
 
Modelos de Processo de Software Parte 3
Modelos de Processo de Software Parte 3Modelos de Processo de Software Parte 3
Modelos de Processo de Software Parte 3Elaine Cecília Gatto
 
Modelos de ciclo de vida de software
Modelos de ciclo de vida de softwareModelos de ciclo de vida de software
Modelos de ciclo de vida de softwareYuri Garcia
 
Modelos de Processo de Software Parte 4
Modelos de Processo de Software Parte 4Modelos de Processo de Software Parte 4
Modelos de Processo de Software Parte 4Elaine Cecília Gatto
 
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
 
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
 
Introdução à Engenharia de Software
Introdução à Engenharia de SoftwareIntrodução à Engenharia de Software
Introdução à Engenharia de Softwareelliando dias
 
Engenharia Software Rup
Engenharia Software   RupEngenharia Software   Rup
Engenharia Software RupFelipe
 

Tendances (20)

Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane FidelixModelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
 
Metodologia Ágil
Metodologia ÁgilMetodologia Ágil
Metodologia Ágil
 
Gerenciamento da Qualidade de Software 1.pptx
Gerenciamento da Qualidade de Software 1.pptxGerenciamento da Qualidade de Software 1.pptx
Gerenciamento da Qualidade de Software 1.pptx
 
Apresentação de Engenharia de software I - Prof. Cristiane Fidelix
Apresentação de Engenharia de software I - Prof. Cristiane FidelixApresentação de Engenharia de software I - Prof. Cristiane Fidelix
Apresentação de Engenharia de software I - Prof. Cristiane Fidelix
 
Gerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxGerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptx
 
ISO/IEC 9241-11
ISO/IEC 9241-11ISO/IEC 9241-11
ISO/IEC 9241-11
 
Gerenciamento da Qualidade de Software 2.pptx
Gerenciamento da Qualidade de Software 2.pptxGerenciamento da Qualidade de Software 2.pptx
Gerenciamento da Qualidade de Software 2.pptx
 
Modelos de Processo de Software Parte 2
Modelos de Processo de Software Parte 2Modelos de Processo de Software Parte 2
Modelos de Processo de Software Parte 2
 
AULA 1 - CONCEITOS GERAIS APLICADOS NO CICLO DE VIDA DO SOFTWARE E MODELOS ...
AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS ...AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS ...
AULA 1 - CONCEITOS GERAIS APLICADOS NO CICLO DE VIDA DO SOFTWARE E MODELOS ...
 
Modelos de Processo de Software Parte 3
Modelos de Processo de Software Parte 3Modelos de Processo de Software Parte 3
Modelos de Processo de Software Parte 3
 
Modelos de ciclo de vida de software
Modelos de ciclo de vida de softwareModelos de ciclo de vida de software
Modelos de ciclo de vida de software
 
Apresentação RUP
Apresentação RUPApresentação RUP
Apresentação RUP
 
Modelos de Processo de Software Parte 4
Modelos de Processo de Software Parte 4Modelos de Processo de Software Parte 4
Modelos de Processo de Software Parte 4
 
Processos de software
Processos de softwareProcessos de software
Processos de software
 
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
 
Outras Metodologias Ágeis Parte 3
Outras Metodologias Ágeis Parte 3Outras Metodologias Ágeis Parte 3
Outras Metodologias Ágeis Parte 3
 
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
 
Introdução à Engenharia de Software
Introdução à Engenharia de SoftwareIntrodução à Engenharia de Software
Introdução à Engenharia de Software
 
Engenharia Software Rup
Engenharia Software   RupEngenharia Software   Rup
Engenharia Software Rup
 
Qualidade de Software: MPS.BR
Qualidade de Software: MPS.BRQualidade de Software: MPS.BR
Qualidade de Software: MPS.BR
 

En vedette

UnP Eng. Software - Aula 3
UnP Eng. Software - Aula 3UnP Eng. Software - Aula 3
UnP Eng. Software - Aula 3Hélio Medeiros
 
Es capítulo 2 - processos de software
Es   capítulo 2  - processos de softwareEs   capítulo 2  - processos de software
Es capítulo 2 - processos de softwareFelipe Oliveira
 
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
 
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
 

En vedette (20)

UnP Eng. Software - Aula 3
UnP Eng. Software - Aula 3UnP Eng. Software - Aula 3
UnP Eng. Software - Aula 3
 
Aula 3
Aula 3Aula 3
Aula 3
 
Es capítulo 2 - processos de software
Es   capítulo 2  - processos de softwareEs   capítulo 2  - processos de software
Es capítulo 2 - processos de software
 
Mesopredadores
MesopredadoresMesopredadores
Mesopredadores
 
Under engineer
Under engineerUnder engineer
Under engineer
 
Modelo em Cascata
Modelo em CascataModelo em Cascata
Modelo em Cascata
 
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
 
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
 

Similaire à Processos de Engenharia de Software

Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia De SoftwareCursoSENAC
 
Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9wilsonguns
 
2 engenharia de software
2   engenharia de software2   engenharia de software
2 engenharia de softwareFelipe Bugov
 
Processo de software individual
Processo de software individualProcesso de software individual
Processo de software individualAdivaldo_badinho
 
1 - APS – Iniciação Desenvolvimento Requisitos.pdf
1 - APS – Iniciação Desenvolvimento Requisitos.pdf1 - APS – Iniciação Desenvolvimento Requisitos.pdf
1 - APS – Iniciação Desenvolvimento Requisitos.pdfa29398
 
Ciclo de vida de software
Ciclo de vida de softwareCiclo de vida de software
Ciclo de vida de softwarediha36
 
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
 
Desenvolvimento de softwares/sistemas
Desenvolvimento de softwares/sistemasDesenvolvimento de softwares/sistemas
Desenvolvimento de softwares/sistemasGeraldo Munguambe
 
O_Ciclo_de_Vida_do_Desenvolvimento_de_Sistemas.pdf
O_Ciclo_de_Vida_do_Desenvolvimento_de_Sistemas.pdfO_Ciclo_de_Vida_do_Desenvolvimento_de_Sistemas.pdf
O_Ciclo_de_Vida_do_Desenvolvimento_de_Sistemas.pdfAthena542429
 
Este trabalho trata
Este trabalho trataEste trabalho trata
Este trabalho trataRoni Reis
 
Desenvolvimento ágil de software: análise sintética a partir de KANBAN
Desenvolvimento ágil de software: análise sintética a partir de KANBANDesenvolvimento ágil de software: análise sintética a partir de KANBAN
Desenvolvimento ágil de software: análise sintética a partir de KANBANFernando Palma
 

Similaire à Processos de Engenharia de Software (20)

Rational Unified Process (RUP)
Rational Unified Process (RUP)Rational Unified Process (RUP)
Rational Unified Process (RUP)
 
Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia De Software
 
Processo de Software
Processo de SoftwareProcesso de Software
Processo de Software
 
Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9
 
2 engenharia de software
2   engenharia de software2   engenharia de software
2 engenharia de software
 
347842.ppt
347842.ppt347842.ppt
347842.ppt
 
Processo de software individual
Processo de software individualProcesso de software individual
Processo de software individual
 
IBM Rational Unified Process
IBM Rational Unified ProcessIBM Rational Unified Process
IBM Rational Unified Process
 
1 - APS – Iniciação Desenvolvimento Requisitos.pdf
1 - APS – Iniciação Desenvolvimento Requisitos.pdf1 - APS – Iniciação Desenvolvimento Requisitos.pdf
1 - APS – Iniciação Desenvolvimento Requisitos.pdf
 
152191 11993
152191 11993152191 11993
152191 11993
 
Modelos de processos de software
Modelos de processos de softwareModelos de processos de software
Modelos de processos de software
 
Ciclo de vida de software
Ciclo de vida de softwareCiclo de vida de software
Ciclo de vida de software
 
Aula1 introducao engsw
Aula1 introducao engswAula1 introducao engsw
Aula1 introducao engsw
 
ES4.ppt
ES4.pptES4.ppt
ES4.ppt
 
Modelos de processos de software
Modelos de processos de softwareModelos de processos de software
Modelos de processos de software
 
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
 
Desenvolvimento de softwares/sistemas
Desenvolvimento de softwares/sistemasDesenvolvimento de softwares/sistemas
Desenvolvimento de softwares/sistemas
 
O_Ciclo_de_Vida_do_Desenvolvimento_de_Sistemas.pdf
O_Ciclo_de_Vida_do_Desenvolvimento_de_Sistemas.pdfO_Ciclo_de_Vida_do_Desenvolvimento_de_Sistemas.pdf
O_Ciclo_de_Vida_do_Desenvolvimento_de_Sistemas.pdf
 
Este trabalho trata
Este trabalho trataEste trabalho trata
Este trabalho trata
 
Desenvolvimento ágil de software: análise sintética a partir de KANBAN
Desenvolvimento ágil de software: análise sintética a partir de KANBANDesenvolvimento ágil de software: análise sintética a partir de KANBAN
Desenvolvimento ágil de software: análise sintética a partir de KANBAN
 

Plus de Computação Depressão

Sd08 (si) sistemas de arquivos distribuídos
Sd08 (si)   sistemas de arquivos distribuídosSd08 (si)   sistemas de arquivos distribuídos
Sd08 (si) sistemas de arquivos distribuídosComputação Depressão
 
Sd02 (si) gerenciamento de entrada e saída
Sd02 (si)   gerenciamento de entrada e saídaSd02 (si)   gerenciamento de entrada e saída
Sd02 (si) gerenciamento de entrada e saídaComputação Depressão
 

Plus de Computação Depressão (20)

Sd08 (si) sistemas de arquivos distribuídos
Sd08 (si)   sistemas de arquivos distribuídosSd08 (si)   sistemas de arquivos distribuídos
Sd08 (si) sistemas de arquivos distribuídos
 
Sd06 (si) exclusão mútua
Sd06 (si)   exclusão mútuaSd06 (si)   exclusão mútua
Sd06 (si) exclusão mútua
 
Sd05 (si) relógios e sincronização
Sd05 (si)   relógios e sincronizaçãoSd05 (si)   relógios e sincronização
Sd05 (si) relógios e sincronização
 
Sd04 (si) comunicação em sd
Sd04 (si)   comunicação em sdSd04 (si)   comunicação em sd
Sd04 (si) comunicação em sd
 
Sd03 (si) conceitos básicos de sd
Sd03 (si)   conceitos básicos de sdSd03 (si)   conceitos básicos de sd
Sd03 (si) conceitos básicos de sd
 
Sd02 (si) gerenciamento de entrada e saída
Sd02 (si)   gerenciamento de entrada e saídaSd02 (si)   gerenciamento de entrada e saída
Sd02 (si) gerenciamento de entrada e saída
 
Sd01 (si) sistemas de arquivos
Sd01 (si)   sistemas de arquivosSd01 (si)   sistemas de arquivos
Sd01 (si) sistemas de arquivos
 
Sd07 (si) eleição
Sd07 (si)   eleiçãoSd07 (si)   eleição
Sd07 (si) eleição
 
Ufbamat2013
Ufbamat2013Ufbamat2013
Ufbamat2013
 
Ufbaingles2013
Ufbaingles2013Ufbaingles2013
Ufbaingles2013
 
Ufbagab mat 2013
Ufbagab mat 2013Ufbagab mat 2013
Ufbagab mat 2013
 
Ufbagab ingles2013
Ufbagab ingles2013Ufbagab ingles2013
Ufbagab ingles2013
 
Ufbagab fis 2013
Ufbagab fis 2013Ufbagab fis 2013
Ufbagab fis 2013
 
Ufbafisqui2013
Ufbafisqui2013Ufbafisqui2013
Ufbafisqui2013
 
Ufbagab qui 2013
Ufbagab qui 2013Ufbagab qui 2013
Ufbagab qui 2013
 
Questesdetecnologia ano2002
Questesdetecnologia ano2002Questesdetecnologia ano2002
Questesdetecnologia ano2002
 
Questesdematemtica ano2003
Questesdematemtica ano2003Questesdematemtica ano2003
Questesdematemtica ano2003
 
Questesdematemtica ano2002
Questesdematemtica ano2002Questesdematemtica ano2002
Questesdematemtica ano2002
 
Questesdefundamentos ano2003
Questesdefundamentos ano2003Questesdefundamentos ano2003
Questesdefundamentos ano2003
 
Questesdefundamentos ano2002
Questesdefundamentos ano2002Questesdefundamentos ano2002
Questesdefundamentos ano2002
 

Processos de Engenharia de Software

  • 1. Engenharia de Software Aula 2 – Processos de Software Profa. Dra. Judith Pavón Universidade Salvador – UNIFACS 2012
  • 2. Conteúdo  Objetivo da aula  Leitura recomendada  Processos  Modelos de Processos de Desenvolvimento de Software  Processo de Software (genêrico)  Modelos do Ciclo de Vida de Software  Linguagem  Método  Ferramenta CASE  Metodologia  Pontos Principais 2
  • 3. Objetivo da aula O objetivo desta aula é apresentar os conceitos de processo de software e as características dos processos tradicionais de desenvolvimento de software. 3
  • 4. Processos • Conjunto de atividades pré-definidas que levam a um resultado de boa qualidade, nas condições desejadas do projeto (tempo e custo). • Os processos devem ser adequados aos diferentes tipos de sistema a construir. Os modelos de processos de desenvolvimento de software foram originalmente propostos para colocar ordem no caos do desenvolvimento de software. Maturidade do processo - Medida da eficiência global da empresa de software em relação ao processo de desenvolvimento (Ex. CMMI) 4
  • 5. Processo  Conjunto de atividades  bem definidas  com responsáveis  com artefatos de entrada e saída  com dependências entre as mesmas e ordem de execução  com modelo de ciclo de vida
  • 6. Modelos de Processo de Desenvolvimento de Software • Os modelos de processos de desenvolvimento de software têm trazido uma certa dose de estrutura útil para o trabalho de engenharia de software e têm fornecido um roteiro razoavelmente efetivo para as equipes de software. • Quem decide o modelo de processo de desenvolvimento a ser utilizado? Os líderes de equipe ou gerentes adaptam um modelo de processo a suas necessidades e depois o seguem. 6
  • 7. Modelos de Processo de Desenvolvimento de Software • Por que é importante? Porque fornece estabilidade, controle e organização a uma atividade que pode, se deixada sem controle, tornar-se caótica. • Quais são os passos? O processo dirige uma equipe de software por meio de um arcabouço de atividades guarda-chuva que são organizadas em um fluxo de processo que pode ser linear, incremental ou evolutivo. • Qual é o produto do trabalho? Do ponto de vista de um engenheiro de software, os produtos do trabalho são todos os artefatos que conformam um software. • Como tenho certeza que fiz corretamente? Existem diversos mecanismos de avaliação de processo de software que permitem às organizações determinar a “maturidade” do seu processo. 7
  • 8. Processo de Software (genêrico) um framework para as tarefas necessárias para construir software de qualidade Três fases genéricas:  Definição  Desenvolvimento  Manutenção
  • 9.  Fase de Definição  Foco: o que  Atividades:  Análise de viabilidade  planejamento do projeto  análise e especificação de requisitos
  • 10.  Fase de Desenvolvimento  Foco: como  Atividades:  projeto do software  geração de código  teste do software
  • 11.  Fase de Manutenção  Foco: mudanças no produto associadas a:  correção de erros  adaptação por mudanças no ambiente  evolução por mudanças nos requisitos do usuário
  • 12. Atividades de Apoio  acompanhamento e controle do projeto  revisões técnicas  garantia da qualidade de software  gerência de configuração  preparação e produção de documentos  gerência de reuso  medições  gerência de risco
  • 13. Atividade 3 (entregar na próxima aula) Trabalho em duplas 1. Identificar e listar os principais processos de desenvolvimento de software 2. Fazer um breve resumo das principais características de cada processo listado no item anterior, comentar as fases desse processo e quando é recomendado usar. 3. Escolha um sistema a ser desenvolvido. 4. Defina o processo de desenvolvimento a ser seguido. 13
  • 14. Modelos do Ciclo de Vida de Software  Cascata  Modelos Iterativos  Espiral  Incremental (ex: do RUP)  ...
  • 17. Modelo Cascata  A metodologia de desenvolvimento em cascata foi desenvolvida pela marinha norte-americana nos anos 60 para permitir o desenvolvimento de software militares.  Propõe uma sequência de fases rígidas.  Ao final de cada fase, a equipe de projeto finaliza com uma revisão.  Somente pode ir para a próxima fase, se finalizar a anterior para o sistema como um todo.
  • 18. Modelo Cascata – Quando usar  A Metodologia em Cascata funciona bem quando os requisitos do usuário são rígidos e podem ser conhecidos com antecedência.  A metodologia de Desenvolvimento em Cascata pode funcionar bem em ambientes rígidos e fortemente controlados.  No cenário comercial, somente recomenda-se usar este modelo para sistemas pequenos e simples, pois se for um sistema complexo vai demorar muito tempo até mostrar o funcionamento do sistema.
  • 19. Prototipação  O modelo de Prototipagem é uma abordagem que visualiza o desenvolvimento de concepções do sistema conforme o andamento do projeto.  Esta metodologia baseia-se na utilização de prototipagem visual ou modelos do sistema final. Estes modelos podem ser simples desenhos, imagens gráficas ou simulações de aplicações.  Esta metodologia é até certo ponto bastante flexível a respeito de mudanças de requisitos; contudo, este processo precisa de muito controle.
  • 21. Modelos Iterativos  Requisitos de sistema SEMPRE evoluem durante o decorrer de um projeto. Assim a iteração do processo sempre faz parte do desenvolvimento.  Iterações podem ser aplicadas a quaisquer dos processos de software.  Duas abordagens (relacionadas)  Desenvolvimento espiral  Desenvolvimento incremental
  • 22. Desenvolvimento Espiral  Guia o processo de desenvolvimento com base em análise de riscos e planejamento que é realizado durante toda a evolução do desenvolvimento.  Exemplos de riscos: pessoas que abandonam a equipe de desenvolvimento, ferramentas que não podem ser utilizadas, falha em equipamentos usados no desenvolvimento ou que serão utilizados no produto final, etc.  A identificação e o gerenciamento de riscos é hoje uma atividade importantíssima no desenvolvimento de software devido à imaturidade da área e à falta de conhecimento, técnicas e ferramentas adequadas.
  • 23. Desenvolvimento Espiral  Guia o processo de desenvolvimento com base em análise de riscos e planejamento que é realizado durante toda a evolução do desenvolvimento.  Exemplos de riscos: pessoas que abandonam a equipe de desenvolvimento, ferramentas que não podem ser utilizadas, falha em equipamentos usados no desenvolvimento ou que serão utilizados no produto final, etc.  A identificação e o gerenciamento de riscos é hoje uma atividade importantíssima no desenvolvimento de software devido à imaturidade da área e à falta de conhecimento, técnicas e ferramentas adequadas.
  • 26. Desenvolvimento Incremental  Em vez de entregar o sistema como um todo, o desenvolvimento e a entrega são divididos em incrementos, com cada incremento entregando parte da funcionalidade requerida  Requisitos dos usuários são priorizados e os requisitos de mais alta prioridade são incluídos nas iterações iniciais  Uma vez que o desenvolvimento de um incremento é iniciado, os requisitos são "congelados". Embora os requisitos possam continuar a evoluir para incrementos posteriores.
  • 27. RUP (Rational Unified Process)  A metodologia RUP (Rational Unified Process) é um processo que fornece uma metodologia disciplinada de desenvolvimento utilizando um conjunto de ferramentas, modelos e entregáveis.  Nesse modelo, considera-se o desenvolvimento do software em ciclos iterativos onde uma pequena porção dos requisitos passa por todas as etapas de desenvolvimento como em um modelo cascata.  Ao final de cada ciclo de iteração têm-se uma nova versão do software, a qual será incrementada a cada novo ciclo que ocorrer.
  • 28. RUP (Rational Unified Process) O RUP é estruturado em duas dimensões:  Eixo X -Tempo: divisão do ciclo de vida em fases e iterações, mostra os aspectos do ciclo de vida do processo à medida que se desenvolve.  Eixo Y - Componentes de processo: produção de um conjunto específico de artefatos (produtos) com atividades bem definidas.
  • 30. Linguagem  Notação com sintaxe e semântica bem definidas  com representação gráfica ou textual  Usada para descrever os artefatos gerados durante o desenvolvimento de software  Exemplos: UML, BPMN
  • 31. Método  Descrição sistemática de como deve-se realizar uma determinada atividade ou tarefa  A descrição é normalmente feita através de padrões e guias  Exemplos: Método para descoberta das classes de análise no RUP.
  • 32. Ferramenta CASE  Provê suporte computacional a um determinado método ou linguagem  Ambiente de desenvolvimento: conjunto de ferramentas integradas (CASE)  Exemplos: Rational Rose, JBuilder
  • 33. Metodologia  Conjunto de métodos + processo
  • 34. Pontos principais  Engenharia de software é uma disciplina de engenharia que está envolvida com todos os aspectos da produção de software  Produtos de software consistem de programas desenvolvidos e documentação associada. Alguns atributos de qualidade do produto são manutenibilidade, eficiência e usabilidade  O processo de software consiste nas atividades que são envolvidas no desenvolvimento de produtos de software
  • 35. Pontos principais  Métodos são formas organizadas de produzir software. Eles incluem sugestões para o processo a ser seguido, as notações a serem usadas, regras que governam as descrições do sistema que são produzidas e diretrizes de projeto  Ferramentas CASE são sistemas de software que são projetados para suportar as atividades rotineiras no processo de software, como edição de diagramas de projeto e verificação de consistência dos diagramas
  • 36. Dúvidas 36