Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Grupodeatividadescoerentespara
especificao,projeto,implementao
etestedesistemasdesoftware.
Objetivos
Introduzirosprocessosdemodelagemde
software
Descreveralgunsmodelosdeprocessosequando
elesdevemserusados
Descreveremlinhasgeraisoprocessomodelo
paraosrequisitosdeengenharia,de
desenvolvimentodesoftare,seutesteeevoluo
IndroduziratecnologiaCASEparaoauxliodos
processosdesoftware
Tpicoscobertos
Modelosdoprocessodesoftware
Iteraoentreosprocessos
Especificaodesoftware
Projetoeimplementaodesoftware
Validaodosoftware
Evoluodosoftware
Processosautomatizadosdedesenvolvimento
Oprocessodosoftware
Umconjuntoestruturadodeatividadesnecessriaspara
desenvolverumsistemadesoftware
Especificao
Projeto
Validao
Evoluo
Ummodelodeprocessodesoftwareumarepresentao
abstratadoprocesso.Elaapresentaumadescriodo
processodealgumasperspectivasparticulares
Modelosgenricosdeprocessosde
software
Omodelocascata(waterfall)
Desenvolvimentoevolucionrio(ouprototipao)
Especificaoedesenvolvimentosointercalados
Modelodesistemaformal
Fasesseparadasedistintasdeespecificaoedesenvolvimento
Ummodelodesistemamatemticoformalmente
transformadonumaimplementao
Desenvolvimentobaseadoemreuso
Osistemaconstrudoapartirdecomponentesexistentes
Waterfallmodel
Requirements
definition
System and
software design
Implementation
and unit testing
Integr ation and
system testing
Operation and
maintenance
ModeloCascata
Sistemtico e seqencial
Waterfallmodelphases
Anlisederequisitosedefinies
Projetodosistemaedosoftware
Implementaoetestedeunidades
Integraoetestesdosistema
Manutenoeoperao
Umadeficinciadomodelocascataa
dificuldadeemacomodarmudanasdepoisqueo
processoseinicia.
AnliseeEngenhariadeSistemas
Estabelecerosrequisitosbsicosparatodosos
sistemasqueenvolvemosoftware,como
hardware,pessoasebancosdedados.
Envolveacoletadosrequisitosemnveldo
sistema,comumapequenaquantidadedeprojeto
eanlisedealtonvel.
AnalisedeRequisitosdeSw
Concentraacoletaderequisitosnosw.
Levacompreensododomniodainformao,a
funo,desempenhoeinterfacesexigidos.
Osrequisitosparaosistemaeparaoswso
documentadoserevistoscomocliente.
Projeto
Estruturadedados
Arquiteturadesw
Detalhesprocedimentais
Caracterizaodainterface
avaliadoantesdecomearaserimplementado
Juntocomasetapasanteriorestornaseparteda
documentaodosistema
Codificao
Projetotraduzidoparaalinguagemdo
computador.
Seoprojetoforexecutadodetalhadamente,a
codificaopodeserexecutadamecanicamente?
Testes
Concentrasenosaspectoslgicosinternosdosw.
Garantequetodasasinstruestenhamsido
testadas.
Aentradadefinidaproduzosresultadosexigidos?
Garbagein,garbageout?
Manuteno
Swembutidonemsempretemestaparte.
Errosencontrados.
Mudanasnoambienteexterno.
Acrscimosfuncionais.
Desempenho
ProblemascomaCascata
Omaisantigoeamplamenteusado.
Projetosreaisraramenteseguemofluxoseqencialque
eleprope.Ocorremiteraesquetrazemproblemasna
aplicaodoparadigma.
difcilparaoclientedeclarartodasasexigncias
explicitamente.difcilacomodarasincertezasnaturais
queexistemnocomeodemuitosprojetos.
Oclientedeveterpacincia.Umaversodoswsestar
disponvelemumpontotardiodocronograma.Umerro
crasso,podeserdesastroso.
Sapropriadoquandoosrequisitossobemconhecidos.
Desenvolvimentoevolucionrio
Desenvolvimentoexploratrio
Oobjetivotrabalharcomoclienteedesenvolverumsistema
finalapartirdasespecificaesiniciais.Deveiniciarcom
requisitosbemcompreendidos.
Jogarforaaprototipao
Oobjetivoentenderosrequisitosdosistema.Deveiniciar
comrequisitospoucocompreendidos.
Desenvolvimentoevolucionrio
Concurr ent
activities
Outline
description
Specification
Initial
version
Development
Intermediate
versions
Validation
Final
version
p
r
ria
d
o p
r od
Incio
Coletaerefinamento
dosrequisitos
jeto
Pro
Fim
uto
Prototipao
Co
do nstru
pr
ot o
tip
o
Eng
enh
a
ido
o
ent o
am
fin tip
Re prot
do
Avaliaodoprottipo
pelocliente
Desenvolvimentoevolucionrio
Problemas
Faltadevisibilidadesobreoprocesso.
Sistemageralmentepoucoestruturado.
Habilidadesespeciais(ex.emlinguagensparaumarpida
prototipao)sorequeridas.
Aplicabilidade
Parasistemasinterativospequenosoumdios.
Parapartesdedegrandessistemas(ex.Ainterfacecomo
usurio).
Parasistemascompoucotempodevida.
Modelodedesenvolvimento
formal
Baseadonatransformaodeumaespecificao
matemticaatravsdediferentesrepresentaes
emumprogramaexecutvel.
Astransformaespreservamacorretudedas
especificaes,sendofcildemonstrarquequeo
programasegueestasltimas.
BaseadonaabordagemCleanroomparao
desenvolvimentodesoftware.
Modelodedesenvolvimento
formal
Requirements
definition
Formal
specification
Formal
transformation
Integration and
system testing
Transformaesformais
Formal transformations
T1
Formal
specification
T2
R1
P1
T3
R2
P2
T4
Executable
program
R3
P3
P4
Desenvolvimentoformal
Problemas
Sonecessriashabilidadesespeciaisetreinamentoparaaplicar
atcnica.
Dificuldadeparaformalizarespecificamentealgunsaspectosdo
sistema,comoainterfacecomousurio.
Aplicabilidade
Sistemascrticos,especialmenteaquelesemqueumaverso
seguradeveserfeitaantesdosistemaentraremoperao.
Desenvolvimentoorientadoa
reutilizao
Baseadonasistemticadoreuse,ondeossistemas
sointegradosapartirdecomponentesexistentes
ousistemasCOTS(Commercialofftheshelf).
Estgiosdoprocesso
Anlisedoscomponentes
Modificaodosrequisitos
Projetodosistemacomreutilizao
Desenvolvimentoeintegrao
Estaabordagemestsetornandomaisimportante,
pormaindahpoucaexperinciacomela.
Reuseorienteddevelopment
Requirements
specification
Component
analysis
Requirements
modification
System design
with reuse
Development
and integration
System
validation
Processodeiterao
Osrequisitosdosistemasempreevoluemao
longodoprojeto,entooprocessodeiteraodos
estgiosanterioresretrabalhadoevirapartedo
processoparagrandessistemas.
Iteraopodeseraplicadaaqualquermodelo
genricodeciclodevida.
Duasabordagenssemelhantes:
Desenvolvimentoincremental
Desenvolvimentoespiral
Desenvolvimentoincremental
Aoinvsdeentreagarosistemaumanicavez,o
desenvolvimentoeaentregasopartidosem
incrementos,quefornecempartedas
funcionalidadesrequeridas.
Osrequisitosdousuriossodispostos
hierarquicamente,eosrequisitosdeprioridades
maisaltassoincludosnasprimeirasentregas.
Quandoodesenvolvimentodeumincremento
iniciado,osrequisitossocongeladosdeforma
queosrequisitosparaincrementosposteriores
possamcontinuaraevoluir.
Incrementaldevelopment
Define outline
requirements
Develop system
increment
Assign requirements
to increments
Valida te
increment
Design system
architecture
Integrate
increment
Valida te
system
Final
system
System incomplete
Vantagensdodesenvolvimento
incremental
Valoraoclientetendeaserentregueacada
incremento,entoafuncionalidadedossistema
tendeaseravaliadamaiscedo.
Osprimeirosincrementosfuncionamcomoum
prottipoparaajudaraesclarecerosrequisitos
paraosprximosincrementos.
Baixoriscodeoprojetofalharcompletamente.
Astarefasdemaisaltaprioridade,tendema
recebermaistestes.
Extremeprogramming(XP)
Novaabordagemdedesenvolvimentobaseadano
desenvolvimentoeentregadepequenos
incrementosdefuncionalidade.
Funcionacommelhoriascontnuasnocdigo,
envolvimentodousurionotimede
desenvolvimentoeprogramaoempares.
Ostestesaparecemantesdacodificao.
Desenvolvimentoemespiral
OProcessorepresentadocomoumespiralaoinvsde
umasequnciadeatividadescomvoltasparatrs.
Cadavoltanoespiral representa uma fase no processo.
No h fases fixas como especificao ou projeto. As
voltas no espiral so escolhidas dependendo do que
requisitado
Os riscos so explicitamente avaliados e resolvidos
durante todo o processo
Spiralmodelofthesoftwareprocess
Determine objectives
alternatives and
constraints
Risk
analysis
Evaluate alternatives
identify, resolve risks
Risk
analysis
Risk
analysis
REVIEW
Requirements plan
Life-cycle plan
Development
plan
Integration
and test plan
Prototype 3
Prototype 2
Risk
analy sis Prototype 1
Operational
protoype
S/W
requirements
Requirement
validation
Product
design
Detailed
design
Code
Unit test
Design
V&V
Integr ation
test
Acceptance
test
Develop, verify
Service
next-level product
Setoresdomodeloespiral
Definiodosobjetivos
Avaliaoereduoderiscos
Osriscossoavaliadoseasatividadesorganizadaspara
reduzirosriscoschave.
Desenvolvimentoevalidao
Osobjetivosespecficosparaafasesoidentificados.
Ummodelodedesenvolvimentoparaosistemaescolhido,
quepodeserqualquerumdosmodelosgenricos.
Planejamento
Oprojetorevistoeaprximafasedaespiralplanejada.