PARADIGMAS DO
DESENVOLVIMENTO DE
SOFTWARES
elisane steilmann
DEFINIÇÃO
 É uma representação abstrata do
processo de desenvolvimento que
define como as etapas relativas ao
desenvolvimento de software serão
conduzidas e inter-relacionadas para
atingir o objetivo do desenvolvimento
que é a obtenção de um produto de
software de alta qualidade a um custo
relativamente baixo.
 Consiste na execução das atividades
de desenvolvimento de software em
uma sequência ordenada.
 Desta forma, a passagem para
determinada atividade exige como
critério a finalização da atividade
imediatamente anterior.
MODELO CASCATA OU
CLÁSSICO
MODELO ITERATIVO E
INCREMENTAL
 Proposto como uma resposta aos
problemas encontrados no modelo em
cascata;
 Divide o desenvolvimento de um
produto de software em ciclos;
 Em cada ciclo de desenvolvimento,
podem ser identificadas as fases de
análise, projeto, implementação e
testes;
 A abordagem incremental e iterativa
somente é possível se existir um
mecanismo para dividir os requisitos
do sistema em partes, para que cada
parte seja alocada a um ciclo de
desenvolvimento. Essa alocação é
realizada em função do grau de
importância atribuído a cada requisito.
PROCESSO ITERATIVO
 Corresponde à ideia de “ melhorar
pouco - a - pouco ” o sistema ;
 Em cada iteração a equipe de
desenvolvimento identifica e
especifica os requisitos relevantes,
cria um projeto utilizando a arquitetura
escolhida como guia, implementa o
projeto em componentes e verifica se
esses componentes satisfazem os
requisitos.
Ciclo de Vida Iterativo
PROCESSO INCREMENTAL
 Corresponde à ideia de “ aumentar
pouco-a-pouco ” o âmbito do sistema;
 Uma boa imagem para este atributo é
a de uma mansão que foi construída
por sucessivos incrementos a partir de
uma primeira casa com apenas duas
divisões.
Ciclo de Vida Incremental
PROTOTIPAÇÃO
 Consiste basicamente em diversos ciclos
iterativos.
 Um protótipo é construído a partir de requisitos
iniciais.
 É realizada uma avaliação crítica do protótipo a
qual considera os requisitos iniciais e requisitos
que não foram mencionados inicialmente.
 Caso o protótipo não atenda aos requisitos
pretendidos, novas iterações são realizadas
produzindo novos protótipos.
Desvantagens da Prototipação
 Cliente não sabe que o software que ele vê
não considerou, durante o
desenvolvimento, a qualidade global e a
manutenibilidade a longo prazo.
 Desenvolvedor frequentemente faz uma
implementação comprometida (utilizando
oque está disponível) com o objetivo de
produzir rapidamente um protótipo.
MODELO ESPIRAL
 Proposto por Barry Boehm, reúne
características dos modelos Cascata
e Prototipação acrescentando ainda
em sua base a análise de riscos.
 Cada giro na espiral (iniciando a partir
do centro e avançando para fora)
representa uma nova fase do
processo.
 Esse processo evolutivo permite que
novas versões possam ser
 Vantagens:
 Quanto mais tempo e recursos forem
destinados, ou seja, quanto mais iterações
na espiral, menor serão os riscos sobre o
projeto.
 A execução de atividades de verificação
presentes ao final de cada iteração que
permitem um melhor controle gerencial sobre
o projeto.
 Desvantagem:
 Situações em que o projeto é considerado
simples e os riscos são modestos. Nesse
contexto, muitos projetos não precisam da
flexibilidade e gerenciamento de riscos
proporcionados pelo modelo.
Referencias
 Processo de desenvolvimento de
software - Wikipedia, a... Disponível em:
pt.wikipedia.org/wiki/Processo_de_dese
nvolvimento_de_software.
 Modelo em cascata - Wikipedia, a
enciclopédia livre. Disponível em:
pt.wikipedia.org/wiki/Modelo_em_cascat
a.
 Modelos de Processos de Engenharia
de Software. Disponível em: xps-
project.googlecode.com/svn-
history/r43/trunk/.../02_Artigo.pdf.

Aula 01 engenharia de software

  • 1.
  • 2.
    DEFINIÇÃO  É umarepresentação abstrata do processo de desenvolvimento que define como as etapas relativas ao desenvolvimento de software serão conduzidas e inter-relacionadas para atingir o objetivo do desenvolvimento que é a obtenção de um produto de software de alta qualidade a um custo relativamente baixo.
  • 3.
     Consiste naexecução das atividades de desenvolvimento de software em uma sequência ordenada.  Desta forma, a passagem para determinada atividade exige como critério a finalização da atividade imediatamente anterior. MODELO CASCATA OU CLÁSSICO
  • 5.
    MODELO ITERATIVO E INCREMENTAL Proposto como uma resposta aos problemas encontrados no modelo em cascata;  Divide o desenvolvimento de um produto de software em ciclos;  Em cada ciclo de desenvolvimento, podem ser identificadas as fases de análise, projeto, implementação e testes;
  • 6.
     A abordagemincremental e iterativa somente é possível se existir um mecanismo para dividir os requisitos do sistema em partes, para que cada parte seja alocada a um ciclo de desenvolvimento. Essa alocação é realizada em função do grau de importância atribuído a cada requisito.
  • 8.
    PROCESSO ITERATIVO  Correspondeà ideia de “ melhorar pouco - a - pouco ” o sistema ;  Em cada iteração a equipe de desenvolvimento identifica e especifica os requisitos relevantes, cria um projeto utilizando a arquitetura escolhida como guia, implementa o projeto em componentes e verifica se esses componentes satisfazem os requisitos.
  • 9.
    Ciclo de VidaIterativo
  • 10.
    PROCESSO INCREMENTAL  Correspondeà ideia de “ aumentar pouco-a-pouco ” o âmbito do sistema;  Uma boa imagem para este atributo é a de uma mansão que foi construída por sucessivos incrementos a partir de uma primeira casa com apenas duas divisões.
  • 11.
    Ciclo de VidaIncremental
  • 12.
    PROTOTIPAÇÃO  Consiste basicamenteem diversos ciclos iterativos.  Um protótipo é construído a partir de requisitos iniciais.  É realizada uma avaliação crítica do protótipo a qual considera os requisitos iniciais e requisitos que não foram mencionados inicialmente.  Caso o protótipo não atenda aos requisitos pretendidos, novas iterações são realizadas produzindo novos protótipos.
  • 14.
    Desvantagens da Prototipação Cliente não sabe que o software que ele vê não considerou, durante o desenvolvimento, a qualidade global e a manutenibilidade a longo prazo.  Desenvolvedor frequentemente faz uma implementação comprometida (utilizando oque está disponível) com o objetivo de produzir rapidamente um protótipo.
  • 15.
    MODELO ESPIRAL  Propostopor Barry Boehm, reúne características dos modelos Cascata e Prototipação acrescentando ainda em sua base a análise de riscos.  Cada giro na espiral (iniciando a partir do centro e avançando para fora) representa uma nova fase do processo.  Esse processo evolutivo permite que novas versões possam ser
  • 17.
     Vantagens:  Quantomais tempo e recursos forem destinados, ou seja, quanto mais iterações na espiral, menor serão os riscos sobre o projeto.  A execução de atividades de verificação presentes ao final de cada iteração que permitem um melhor controle gerencial sobre o projeto.  Desvantagem:  Situações em que o projeto é considerado simples e os riscos são modestos. Nesse contexto, muitos projetos não precisam da flexibilidade e gerenciamento de riscos proporcionados pelo modelo.
  • 18.
    Referencias  Processo dedesenvolvimento de software - Wikipedia, a... Disponível em: pt.wikipedia.org/wiki/Processo_de_dese nvolvimento_de_software.  Modelo em cascata - Wikipedia, a enciclopédia livre. Disponível em: pt.wikipedia.org/wiki/Modelo_em_cascat a.  Modelos de Processos de Engenharia de Software. Disponível em: xps- project.googlecode.com/svn- history/r43/trunk/.../02_Artigo.pdf.