Sei sulla pagina 1di 46

Fatec

Ourinhos/SP

FATEC - OURINHOS

Baseado no material fornecido


Profa. Me. Viviane de Fatima Bartholo Potenza

Fatec

Ourinhos/SP

Modelos de Processo

Fatec

Ourinhos/SP

O que um modelo de ciclo de


vida de processo de software?

Uma representao abstrata e simplificada do processo


de desenvolvimento software, tipicamente mostrando as
principais atividades e dados usados na produo e
manuteno de software

Fatec

Ourinhos/SP

Modelos de processo de software

Um conjunto de atividades fundamentais exigida


para desenvolver um sistema de software
Especificao.
Projeto e implementao.
Validao.
Evoluo.
Um modelo de processo de software uma
representao abstrata de um processo. Representa
uma descrio de um processo a partir de uma
perspectiva particular.

Fatec

Ourinhos/SP

Principais Modelos de Processos


Software

Modelo Linear (seqencial)


Cascata
Cascata na Prtica
Modelo de Desenvolvimento Evolucionrio

Prototipagem descartvel
Programao Exploratria

Modelos Iterativos

Espiral
Incremental

Fatec

Ourinhos/SP

Modelo Cascata
(ou clssico)

Derivado de modelos existentes em outras engenharias


Sua estrutura composta por vrias etapas que so
executadas de forma sistemtica e seqencial
Na prtica, existe uma interao entre as etapas e cada
etapa pode levar a modificaes nas etapas anteriores

Modelo Cascata
Definio de
Requisitos

Projeto do
Sistema e do
Software
Implementao

Teste do
Sistema

Implantao

Modelo Cascata na Prtica


Definio de
Requisitos

Projeto do
Sistema e do
Software
Implementao e
Testes Unitrios

Integrao e
Teste do Sistema

Operao e
Manuteno

Fatec

Ourinhos/SP

Contribuies e problemas do
ciclo de vida clssico

Contribuies

Processo de desenvolvimento de software deve


ser sujeito disciplina, planejamento e
gerenciamento.
A implementao do produto deve ser postergada
at que os objetivos tenham sido completamente
entendidos.
Deve ser utilizado quando os requisitos esto bem
claros no inicio do desenvolvimento.

Fatec

Ourinhos/SP

Contribuies e problemas do
ciclo de vida clssico

Problema
Rigidez
Qualquer desvio desencorajado
Todo o planejamento orientado para a entrega
do produto de software em uma data nica.
Processo de desenvolvimento pode ser longo e a
aplicao pode ser entregue quando as
necessidades do usurio j tiverem sido alteradas.

Fatec

Ourinhos/SP

Contribuies e problemas do
ciclo de vida clssico

Problema (cont.)
Projetos reais raramente seguem o fluxo
seqencial que o modelo prope.
Logo no incio difcil estabelecer explicitamente
todos os requisitos. No comeo dos projetos
sempre existe uma incerteza natural.
O cliente deve ter pacincia. Uma verso
executvel do software s fica disponvel numa
etapa avanada do desenvolvimento

Fatec

Ourinhos/SP

Fatec

Ourinhos/SP

Modelo de Desenvolvimento
Evolucionrio

Prototipagem Descartvel
Programao Exploratria
Atividades Concorrentes

Especificao
Esboo de
Descrio

Desenvolvimento

Verso
Inicial
Verses
Intermedirias

Validao
Verso Final

Fatec

Ourinhos/SP

Prototipagem Descartvel

Como na programao exploratria, a primeira fase


prev o desenvolvimento de um programa para o
usurio experimentar

No entanto, o objetivo aqui estabelecer os requisitos do


sistema
O software deve ser reimplementado na fase seguinte

A construo de prottipos com os quais os usurios


possam brincar uma idia bastante atrativa:

Para sistemas grandes e complicados


Quando no existe um sistema anterior ou um sistema
manual que ajude a especificar os requisitos

Fatec

Ourinhos/SP

Prototipagem Descartvel

Os objetivos do prottipo devem estar bem claros antes


do incio da codificao. Possveis objetivos:
Entender os requisitos dos usurios
Definir a interface com os usurios
Demonstrar a viabilidade do sistemas para os
gerentes.
Uma deciso importante a ser tomada escolher o que
ser e o que no ser parte do prottipo
No economicamente vivel implementar todo o
sistema!
Os objetivos do prottipo so o ponto de partida

Modelo evolucionrio (prototipao)


Construir/Revisar
prottipo

Conversar com
o Cliente

Reviso e Teste
pelo Cliente

Fatec

Ourinhos/SP

Programao Exploratria

Idia geral:

Desenvolvimento da primeira verso do sistema o mais rpido


possvel
Modificaes sucessivas at que o sistema seja considerado
adequado
Aps o desenvolvimento de cada uma das verses do sistema
ele mostrado aos usurios para comentrios

Adequado para o desenvolvimento de sistemas onde


difcil ou impossvel se fazer uma especificao
detalhada do sistema
Principal diferena para os outros modelos a ausncia
da noo de programa correto

Fatec

Ourinhos/SP

Programao Exploratria

Tem sido mais usada no desenvolvimento de sistemas


especialistas - geralmente sistemas que tentam emular
capacidades humanas
A maioria dos sistemas desenvolvidos com sucesso
usando a programao exploratria foi implementada
usando pequenos grupos de profissionais altamente
qualificados e motivados

Modelo evolucionrio (prototipao)


Incio
Fim
Coleta e
refinamento dos
requisitos
Engenharia do
produto

Projeto
rpido

Refinamento do
prottipo

Construo do
prottipo
Avaliao do
prottipo pelo
cliente

Fatec

Ourinhos/SP

Contribuies e problemas do
modelo evolutivo

Contribuies

Sistemas pequenos
til quando os requisitos esto obscuros
Especificao construda gradativamente
Possibilitam um rpido desenvolvimento da
aplicao
Testes podem ser mais efetivos.

Fatec

Ourinhos/SP

Contribuies e problemas do
modelo evolutivo

Problema

O processo no visvel
Os sistemas so freqentemente mal-estruturados
e mal-documentados
Pode exigir ferramentas e tcnicas especiais.
Processo no claro, dificuldade de planejamento
e gerenciamento

Fatec

Ourinhos/SP

Contribuies e problemas do
modelo evolutivo

Problema (cont)

Cliente no sabe que o software que ele v no


considerou, durante o desenvolvimento, a qualidade
global e a manutenibilidade a longo prazo
No

aceita bem a idia que a verso final do


software vai ser construda e fora a utilizao do
prottipo como produto final.

Fatec

Ourinhos/SP

Contribuies e problemas do
modelo evolutivo

Problema (cont)

Desenvolvedor freqentemente faz uma


implementao comprometida (utilizando o que est
disponvel) com o objetivo de produzir rapidamente
um prottipo.
Depois

de um tempo ele familiariza com essas


escolhas, e esquece que elas no so apropriadas
para o produto final.

Fatec

Ourinhos/SP

Fatec

Ourinhos/SP

Modelos Iterativos
Requisitos de sistema SEMPRE evoluem
durante curso de um projeto. Assim a iterao
do processo sempre faz parte do
desenvolvimento de grandes sistemas
Iteraes podem ser aplicadas a quaisquer dos
modelos de ciclo de vida
Duas abordagens (relacionadas)

Desenvolvimento espiral
Desenvolvimento incremental

Fatec

Ourinhos/SP

Desenvolvimento Espiral (Boehm)

Acrescenta aspectos gerenciais ao processo de desenvolvimento de


software.

anlise de riscos em intervalos regulares do processo de desenvolvimento de


software
planejamento
controle
tomada de deciso

O processo representado como uma espiral em vez de uma


seqncia de atividades
Cada volta na espiral representa uma fase no processo
No h fases fixas como especificao ou projeto - voltas na espiral
so escolhidas dependendo do que requerido
Riscos so avaliados explicitamente e resolvidos ao longo do
processo

Desenvolvimento Espiral
Determinao dos
objetivos, alternativas
e restries

Anlise das alternativas


e
identificao e/ou
resoluo de riscos
Anlise de
Riscos

Simulaes,
modelos e
benchmarks
Planejamento

Desenvolvimento e
validao da verso
corrente do produto

Fatec

Ourinhos/SP

Modelo em Espiral

Vantagens
O modelo em espiral permite que, ao longo de cada
iterao, se obtenham verses do sistema cada vez
mais completas, recorrendo prototipagem para
reduzir os riscos.
Este tipo de modelo permite a abordagem do
refinamento seguido pelo modelo em cascata, mas
incorpora um enquadramento iterativo que reflete, de
uma forma bastante realstica, o processo de
desenvolvimento.

Fatec

Ourinhos/SP

Modelo em Espiral

No entanto...
A abordagem deste tipo de modelo exige considervel
experincia na avaliao dos riscos e fia-se nessa
experincia para o sucesso. Se um grande risco no
for descoberto, podero ocorrer problemas.
O modelo em espiral pode levar ao desenvolvimento
em paralelo de mltiplas partes do projeto, cada uma
sendo abordada de modo diferenciado, por isso
necessrio o uso de tcnicas especficas para estimar
e sincronizar cronogramas, bem como para
determinar os indicadores de custo e progresso mais
adequados.

Fatec

Ourinhos/SP

Desenvolvimento Incremental

Em vez de entregar o sistema como um todo, o desenvolvimento


e a entrega so divididos em incrementos, com cada incremento
entregando parte da funcionalidade requerida
Requisitos dos usurios so priorizados e os requisitos de mais
alta prioridade so includos nas iteraes iniciais
Uma vez que o desenvolvimento de um incremento iniciado,
os requisitos so "congelados". Embora os requisitos possam
continuar a evoluir para incrementos posteriores
Em certos aspectos similar programao exploratria. No
entanto, o escopo do sistema deve ser claramente entendido
antes de se iniciar o desenvolvimento

Fatec

Ourinhos/SP

Desenvolvimento Incremental

Definir
esboo dos
requisitos

Associar
requisitos a
incrementos

Projetar a
arquitetura do
sistema

Desenvolver
um
incremento

Validar o
incremento

Integrar o
incremento

Validar o
sistema
Sistema
Final

Fatec

Ourinhos/SP

Processo de Software Modelo Incremental


Engenharia de Sistemas /
Informao
Projeto
Projeto

Anlise
Anlise

incremento 2

incremento 4

Anlise
Anlise

Anlise
Anlise

Projeto
Projeto

produto liberado
do incremento 2

Testes
Testes

Codificao
Codificao

Projeto
Projeto

produto liberado
do incremento 1

Testes
Testes

Codificao
Codificao

Projeto
Projeto

Anlise
Anlise

incremento 3

incremento 1

Testes
Testes

Codificao
Codificao

Codificao
Codificao
tempo

produto liberado
do incremento 3

Testes
Testes

produto
liberado
do
incremento 4

Fatec

Ourinhos/SP

Modelo Incremental

Vantagens
Os clientes no precisam esperar at que todo o sistema seja
entregue, para ento tirarem proveito dele.
O primeiro estgio deve satisfazer os requisitos mais
importantes e, assim, o software pode ser imediatamente
usado
Os clientes podem utilizar os primeiros incrementos como um
prottipo e obter uma experincia que fornea os requisitos para
estgios posteriores
Existe um risco menor de fracasso completo do sistema
Problemas
Pode ser difcil mapear os requisitos para incrementos especficos
difcil identificar facilidades comuns que todos os incrementos
exijam

Fatec

Ourinhos/SP

Fatec

Ourinhos/SP

Processo

Conjunto de atividades
bem definidas
com responsveis
com artefatos de entrada e sada
com dependncias entre as mesmas e ordem de
execuo
com modelo de ciclo de vida

Fatec

Ourinhos/SP

Processo

uma ao regular e contnua (ou sucesso de aes)


realizada de forma bem definida, levando a um resultado
um conjunto parcialmente ordenado de atividades (ou
passos) para se atingir um objetivo
define quem est fazendo o que, quando e como para
atingir um certo objetivo

Fatec

Ourinhos/SP

Processo versus Metodologia

Alguns autores consideram que processos incluem


uma metodologia
pessoas
tecnologia (suporte de ferramentas)
Outros consideram que uma metodologia a
especializao de um processo com um conjunto de
mtodos

Fatec

Ourinhos/SP

Jogo Educativo:
Implementa modelo Cascata, Iterativo e Prototipao
http://www.inf.furb.br/~fabiane/serpg2/

Fatec

Ourinhos/SP

Mtodos geis

Mtodos geis - Movimento iniciado por programadores


experientes e consultores em desenvolvimento de software.
Objetivo: satisfazer o cliente entregando, rapidamente e
com freqncia, sistemas com algum valor.
Mtodos geis (AM) uma coleo de metodologias
baseada na prtica para modelagem efetiva de sistemas
baseados em software. uma filosofia onde muitas
metodologias se encaixam.
As metodologias geis aplicam uma coleo de prticas,
guiadas por princpios e valores que podem ser aplicados
por profissionais de software no dia a dia.

Fatec

Ourinhos/SP

Mtodos geis

Exemplos:

SCRUM - um processo para construir software incrementalmente


em ambientes complexos, onde os requisitos no so claros ou
mudam com muita freqncia.
http://www.dcc.unicamp.br/~ra022247/Arquivos/scrum.pdf

Crystal/Clear ( Cockburn ) - permitir que cada organizao


implemente as atividades que lhe parecem adequadas, fornecendo
um mnimo de suporte til do ponto de vista de comunicao e
documentos

http://alistair.cockburn.us

Fatec

Ourinhos/SP

Mtodos geis

Dynamic Systems Development Method - DSDM - (Mtodo


Dinmico de Desenvolvimento de Sistemas)

Progenitor do XP. Suporta mudanas nos requisitos


durante o ciclo de vida

Extreme Programming - uma metodologia gil para


equipes pequenas e mdias desenvolvendo software com
requisitos vagos e em constante mudana [Kent Beck ]

Fatec

Ourinhos/SP

Mtodos geis

Feature Driven Development FDD (Desenvolvimento


orientado a funcionalidades)
Suporta desenvolvimento gil com rpidas
adaptaes s mudanas de requisitos e
necessidades do mercado. Foco nas fases de
desenho e construo.

Adaptive Software Development - ASD


(Desenvolvimento Adaptvel de Software)
Sistemas grandes e complexos. Iterativo e
incremental. Cliente sempre presente

Referncias Bibliogrficas
Fonte:

Engenharia de Software 6 Edio / Ian Sommerville 2000

Engenharia de Softawre 3 Edio / Roger Pressman


Engenharia de Software 1 Edio / Ariadne Carvalho
Engenharia de Software Teoria e Prtica 2. Edio/ Pfleeger, S.L.
www.ime.usp.br/~gdaltonl/ageis.htm
XPRecife Grupo de Estudos de Mtodos geis de Recife
www.cin.ufpe.br/~xprecife
Xisp Portal Brasileiro de XP
www.xispe.com.br

Fatec

Ourinhos/SP

Fatec

Ourinhos/SP

Dvidas
?????

Potrebbero piacerti anche