Oslivrosquetratamdemetodologiasdedesenvolvimentodiscutemosconceitosenvol-
|
|
- Marco Antônio Laranjeira Freire
- 8 Há anos
- Visualizações:
Transcrição
1 dostopicosabordadosnaareadeengenhariadesoftware.oslivrosdaserieforamescritos porprofessoresdoinstitutodecomputac~aodauniversidadeestadualdecampinas,que ensinamoutrabalhamnessaarea,emalgunscasosemparceriacomprofessoresdeoutras didaticos,emportugu^es,sobreessesassuntos.ademais,comosetratadeumaserie,existe universidadesbrasileiras.amotivac~aoparaaproduc~aodaserievemdacar^enciadetextos umcomprometimentoentreosvariosassuntosabordadospelosdiversostextos,deformaque AserieTtulosemEngenhariadeSoftwaretemporobjetivocobriragrandemaioria elessejamcomplementares.opublicoaqueaseriesedestinas~aoosalunosdegraduac~aoe pos-graduac~aoeprossionaisdaareadedesenvolvimentodeprodutosdesoftware. dadenosoutroslivros.otextoapresentaasprincipaisatividadesenvolvidasnaengenharia desoftware,utilizandoexemplospraticosparamostrarosdiferentesaspectosdoprocesso deconstruc~aodesoftware,desdeasuaconcepc~aoateasuainstalac~ao.olivroeindicadoespecialmenteparapessoascomformac~aoemcomputac~ao,massemconhecimentoda areaequedesejemadquirirumavis~aoampladosvariosassuntosenvolvidosemengenharia Oprimeirolivrofazumaintroduc~aoaosconceitosqueser~aotratadoscommaisprofundi- desoftware.deveservistocomopontodepartidaparaaescolhadetopicosespeccos paraaprofundamentoposterior.todososoutroslivrosdaserievisamintroduzirosconceitosbasicosutilizadosnaconstruc~aodeprodutosdesoftware,taiscomometodologiaspara abordagens:estruturada,orientadaaobjetos,orientadaadados,formalouorientadaasistemasinterativos,aplicadasacasosreais.odesenvolvimentoestruturadoeapresentadvidosnasatividadesdeconstruc~aodeprodutosdesoftware,utilizandoumadasseguintes taiscomodiagramadeuxodedados,diagramadeuxodeeventos,dicionariodedados atravesdeconceitosbasicosedeferramentasutilizadasnaanaliseeprojetoestruturados, ediagramadeestruturadesoftware.aespecicac~aodoprojetoapartirdaanaliseestru- Oslivrosquetratamdemetodologiasdedesenvolvimentodiscutemosconceitosenvol- desenvolvimentodesistemas,qualidadedesoftwareegerenciamentodeprojetos. notac~aoz,linguagemlargamenteempregadaemprojetosindustriais,assimcomoummate- daespecicac~aoconstruda.osfundamentosnecessariosparaumperfeitoentendimentoda raconstruc~aodeespecicac~oesquepossibilitemumavericac~aorigorosadaspropriedades turadaeaqualidadedoprojetos~aotambemdiscutidas.odesenvolvimentoorientadoa objetoseapresentadoatravesdaconstruc~aodomodelodeobjetos,diagramasdesequ^encia paraodesenvolvimentodesistemass~aodiscutidasatravesdaapresentac~aodetecnicaspa- demensagens,diagramasdecolaborac~aoentreobjetosecasosdeuso.abordagensformais
2 rialmaisavancadosobreela,s~aoapresentados.odesenvolvimentodesistemasvoltadoao nalinguagemsql.otextoincluimodelagem,projetologico,conceitosdenormalizac~ao,de projetodedadoseapresentadoatravesdebasesdedadosrelacionais,utilizandoexemplos integridadeedetransac~oes.odesenvolvimentodesistemasinterativoseapresentadoatraves dasquest~oesenvolvidasnastarefastpicasdaconstruc~aodeinterfaceshomem{computador (IHC).Alemdisso,umpanoramadasdiferentesabordagensparadesenvolvimentodeinterfaceseapresentadolosdequalidades~aoapresentadosapartirdosconceitosbasicosedorelacionamentoentreos processoedoproduto,atravesdemodelosetecnicasparagarantiadequalidade.osmode- seconcentramnoprodutoateatend^enciamaisatualdemodeloscentradosnaqualidadedo Cmmi,ISO9000:2000eISO15504.Astecnicasparagarantiadequalidades~aoabordadas modelos.s~aoanalisadososprincipaismodelosdequalidadedesoftware,desdeaquelesque Oslivrosvoltadosparaaqualidadedesoftwaredestinam-seadiscutiraqualidadedo processo.s~aotambemdiscutidososdesdobramentosmaisrecentesocorridosnosmodelos atravesdaaplicac~aodeprocedimentostaiscomoinspec~ao,passeioetestes,tantoparaa abordagemestruturadacomoparaaabordagemorientadaaobjetos.s~aotambemapresentadosaspectosreferentesamanutenc~aodesoftware,taiscomoprocessodemanutenc~ao, reengenhariadesoftwareeferramentascase. eanalisederisco,atividadesenvolvidasemprojetosdesoftware. organizac~aodeprojetos.alemdisso,ediscutidoopapeldasmetricasnatomadadedecis~ao sasmetricasuteisparaogerenciamentoesuautilizac~aonasestimativasdecusto,prazoena metricasparaasatividadesenvolvidasnager^enciadeprojetos.neles~aoapresentadasdiver- Olivrodedicadoaogerenciamentodeprojetosdesoftwarediscuteaimport^anciadas
3 Aomeupai,Hermnio,cujosolhosazuis iluminamomeucaminho. Ariadne Aomeuesposo,Ricardo,eaosmeuslhos, Rodrigo,JuliaeHeloisa. Thelma
4
5 Agradecimentos Cadapessoaquepassaemnossavidaeunica.Sempredeixa umpoucodesielevaumpoucodenos.haosquelevam muito,masn~aohaosquen~aodeixamnada.essaeamaior almasn~aoseencontramporacaso.charleschaplin responsabilidadedenossavida:provaevidentedequeduas Nossosagradecimentos: livro. aexecuc~aodestetrabalho. tendoassimcontribudoparaadeterminac~aodarelev^anciadosassuntosasertratados. AoInstitutodeComputac~ao,porterpropiciadoainfra-estruturaeoambientenecessarios Aosalunosdegraduac~aoepos-graduac~aoqueutilizaramasvers~oespreliminaresdotexto, Aoscolegasprofessoresquedealgumamaneiracontriburamparaaelaborac~aodestetrabalho;emespecialaArnaldoMandel,ArnaldoVieiraMoura,CecliaMaryFischerRubiracatte,RicardodeOliveiraAnidoeTomaszKowaltowski,cujasvaliosassugest~oes,tantoem relac~aoaformaquantoaoconteudodotexto,muitocontriburamparaoseuaprimoramento. AUniversidadeEstadualdeCampinas,porternanciadopartedapublicac~aodeste CidCarvalhodeSouza,ClaudiaMariaBauzerMedeiros,JorgeStol,PauloCesarCentodu-
6
7 Sumario 1Conceitosbasicos Apresentac~ao Listadeguras Prefacio 1.1Sistemasdesoftware Engenhariadesoftware Osprincpiosdaengenhariadesoftware Paradigmasdeengenhariadesoftware Formalidade Abstrac~ao Decomposic~ao Flexibilizac~ao Ciclodevidaclassico Generalizac~ao Oparadigmaevolutivo Extrac~aoderequisitos 1.6Comentariosnais Exerccio Engenhariadesoftwareinuenciandoesendoinuenciadaporoutrasareas 1.4.3Oparadigmaespiral Diculdadesnoprocessodeextrac~aoderequisitos...45 dentroeforadacomputac~ao Tecnicasparaextrac~aoeanalisederequisitos Participantesnaextrac~aoderequisitos Entrevistas Brainstorming PIECES Prototipagem JAD...59
8 3Modelosparaespecicac~aodesistemasdesoftware 2.4Comentariosnais Exerccios Modeloseprincpiosdaengenhariadesoftware Especicac~ao Qualidadeversusgraudeformalidadedaespecicac~ao Vericac~aoevalidac~aodaespecicac~ao Estagiosdaespecicac~ao Tiposdeespecicac~ao Modelosdomundoreal Umexemplo Omodelodefunc~ao Modelosdeprojeto Omodelodeobjetos Omodelocomportamental Omodelodedados Omodelodin^amico Omodeloformal Modelosdeplanejamentodoprojeto Modelosparatestedeprogramas Modelosparaprojetodetalhado Modelosparaprojetogeral Dicionariodedados Metodologias,metodoseferramentas Metodosestruturados Modelosdecusto Metodosorientadosaobjetos Modelosdeprogramac~aodeprojetos Planejamentodeprojetosdesoftware 3.8Comentariosnais Exerccios Metodosformais Estudodeviabilidade Objetivoserestric~oes Listadealternativas Estimativas Osrequisitosdousuario Declarac~aodeobjetivoserestric~oesdoprojeto Estimativadecusto Estimativadetempo...122
9 4.3Organizac~aodoprojeto Estimativadebenefcios Estimativaderecursos Analisederisco Analisedecusto{benefcio Considerac~oesnais 4.4Comentariosnais Exerccios Organizac~aodaequipe Programac~aodeprojeto Asatividadesdodesenvolvimento Indiceremissivo Bibliograa
10
11 Listadeguras 1.1Ecossistemadeuminseto Oprocessodedesenvolvimentodesoftware Oscincopassosdociclodevidaclassico Desenvolvimentoexploratorio Prototipodescartavel Oparadigmaespiral Processodeextrac~aoderequisitos Astr^espercepc~oesdomundorealnumsistemadeconsultaabibliotecas Especicac~aooperacionaldatrajetoriadeumsatelite Formulariopararegistrodasquest~oes Decomposic~aodomodelofuncional Omodelodecontextodosistema DFDdosubsistemadeconsultaabibliotecasdeumauniversidade Exemplodediagramaentidade{relacionamento Abstrac~aodedados MERdosubsistemadeconsultaabibliotecasdauniversidade MEFparaosttulosdeumabiblioteca Modelodocomportamentodosistema Umexemplodetracodeeventosparaalocalizac~aodoexemplar Exemplosdegeneralizac~ao,agregac~aoeassociac~ao Diagramadeclassesdeobjetosparaosistemadebibliotecas Grafodeprogramadomodulovericadisponibilidade Curvadedistribuic~aodem~ao-de-obradeRayleigh Modelodeespecicac~aodomodulolocalizaexemplar Exemplodearquiteturabaseadaembasededadoscentralizada Exemplodeummodelodecontrolecentralizado Notac~aoparaodiagramaPert/CPM Omodelodaarquiteturademodulosdosubsistemadeconsultaabibliotecas Exemplodomodelodiagramadebarras ExemplodomodeloPert/CPMdeumsistema DFDeMEFdeumsistemaquexaecancelaconv^enios...109
12 164.1Pert/CPMparaosistemadevendadesementes Diagramadebarrasparaosistemadevendadesementes Introduc~aoaEngenhariadeSoftware
13 umaintroduc~aoaareaeseconcentranasatividadesexecutadasnoinciodoprocessodedesenvolvimento,fundamentaisparaosucessonaconstruc~aodoproduto.apartirdomomento emqueosprodutosdesoftwaresetornaramcomplexosequeasatividadesdoprocessode municac~aoadequada,sejaentreosmembrosdaequipenasvariasfasesdodesenvolvimento, EstelivroeoprimeirodeumaseriedeTtulosemEngenhariadeSoftware.Apresenta Prefacio porumaequipe,aobtenc~aodeinformac~oesprecisassobreoprodutoaserconstrudoeaco- desenvolvimentodeixaramdeseratribudasaumaunicapessoa,passandoaserexecutadas sejaentreosmembrosdaequipeeusuarios,passaramaseressenciaisparaqueasatividades envolvidasnaconstruc~aodeprodutosdesoftwaresejamexecutadasacontento.alemdisso, sendoasatividadesexecutadasparalelamente,asincronizac~aoeocontroledasatividades maneiraadequada.abstrac~oess~aoutilizadaspararepresentarasdiferentespropriedadesdo realizadaspelosdiversosmembrosdaequipepassaramaserachaveparaosucessodemuitos produtos.s~aotr^esasatividadesessenciaisaserexecutadasnoinciododesenvolvimento: sistemaatravesdenotac~oesformaisousemiformais.paraquehajacontrolesobreoprocesso dedesenvolvimento,envolvendovariaspessoasdeumaoumaisequipes,enecessarioplanejar extrac~aoderequisitos,representac~aoadequadadessesrequisitoseplanejamentodoprojeto. eacompanharasatividadesdoprojeto. vido.paraqueosrequisitosextradospossamserutilizados,elesdevemserrepresentadosde desenvolvedoreseusuarios,visandoaobtenc~aodascaractersticasdoprodutoaserdesenvol- Aextrac~aoderequisitoseumaatividadecomplexa,quesebaseianacomunicac~aoentre bibliograadisponvelnaareadeengenhariadesoftwarequetratedessesassuntosdemaneira integradaequesejaapropriadaaoensinointrodutoriodaengenhariadesoftware. fatodeque,alemdeseremessenciaisparaosucessonaconstruc~aodoproduto,n~aoexiste Amotivac~aoprincipalparaqueessesassuntosfacampartedestetextointrodutorioeo AriadneMariaBritoRizzoniCarvalho ThelmaCecliadosSantosChiossi Campinas,janeirode2001.
14
15 diadaspessoas,eemmuitassituac~oesofuncionamentocorretoouincorretodessessistemas podeseradiferencaentreavidaeamorte.espaconaves,aeronaves,trens,carros,reatoresnucleareseequipamentoshospitalaress~aoalgunsexemplosdeaplicac~oesextremamente correntista,imediatamentesechegaaconclus~aodequeossistemasdesoftwarequecontro- bancariadeumindivduodeveestarcorreta,podendoseracessadasomentepeloproprio Sistemasdesoftwaret^emdesempenhadoumpapelcadavezmaispreponderantenodia-a- Apresentac~ao crticas.quandosepensaqueumavi~aodeveaterrissardemaneirasegura,ouqueaconta lamessasaplicac~oesdevemsertotalmenteconaveis,istoe,devemcumprirseusrequisitos integralmente.entretanto,aconstruc~aodesistemasparacontrolartaisaplicac~oesecomplexa,poisdevelidarcomrequisitosintransigentes,restric~oesdeintegridadeeanecessidadedmac~oesrelevantesaaplicac~aoeaanalisedessasinformac~oesparadeterminac~aododomnio discrep^anciaentreoqueosistemaconstrudofazeoquedeveriafazer.aobtenc~aodasinfor- umvastoconhecimentosobreaaplicac~aoparaqueasinterac~oesesperadasentreosoftware eoambientepossamseradequadamentedescritas.quandoosrequisitosn~aos~aototalmen- doproblemas~aooprimeiropassoparasedeniroquedeveserconstrudo.hamuitosanos sistemasjaexistentesedosqueaindavir~aoaserconstrudos.n~aoexisteconsensosobre novasareasdeaplicac~aot^emsurgido,emaiorconabilidadeeprecis~aot^emsidoexigidasdos tem-sediscutidomaneirasdecontornaracomplexidadedosoftware,vistoqueacadadia tecompreendidos,registradosecomunicadosparaaequipededesenvolvimento,podehaver muitograndeemencontrarsoluc~oespararesolverasdiculdadesoriundasdaproprianaturezaabstratadosoftware,dasuacomplexidade,danecessidadedecumprirseusobjetivos edarapidezcomquepodesofreralterac~oes.aengenhariadesoftwareprop~oeaadoc~aoda qualamelhorpraticaparaodesenvolvimentodesistemasdesoftware,masexisteumesforco diculdadesnodesenvolvimentodesoftware,tornandomaisbemdenidoocaminhoaser termotersurgidopelaprimeiraveznadecadade60,essaeumaareaqueaindacarece dedenic~oesprecisaseconsensuais,alemdemetricasconaveisquepermitamavaliaro softwareproduzido.pretende-secomestelivrocontribuirparaadiminuic~aodoimpactodas noprocessodedesenvolvimentodosoftware. disciplinaparalidarcomessasdiculdades,tentandoreduziraomaximoainu^enciadelas percorridopelodesenvolvedordesoftwareparagerarsistemasquecumpramseusrequisitos ecujodesenvolvimentosejagerenciavel.nocontextododesenvolvimentodesoftware,os Estelivrofazumaintroduc~aoaosconceitosdaengenhariadesoftware.Apesardeo termosusuarioeclientepodemtersignicadosdiferentes.normalmenteotermoclientee
16 20 usadoparadescreveroindivduoquecontrataodesenvolvimentodoprodutodesoftware,eo termousuariodescreveoindivduoqueutilizaosoftware.muitasvezesusuarioeclientes~ao asetapasiniciaisdoprocessodedesenvolvimento,especialmenteaanaliseeespecicac~ao dosrequisitosdossistemasdesoftware.essaescolhan~aofoialeatoria,masbaseadanofato amesmapessoa.nestelivroessestermosser~aousadosindistintamente.otextoevoltado Introduc~aoaEngenhariadeSoftware desoftwareeconceituada,buscando-seassimidenticarosdiferentesnveisdeabstrac~ao quecaracterizamasatividadesenvolvidasnestadisciplina.tambems~aodenidosalguns cumpramseusrequisitosdemaneiraplenamentesatisfatoria.nocaptulo1aengenharia dequeasetapasiniciaiss~aocruciaisparaodesenvolvimentodesistemasdesoftwareque paradigmasdedesenvolvimentodesoftwaremaisconhecidoseutilizados.nocaptulo2e outrasdisciplinasdacomputac~aoecomoutrasareasforadela.tambems~aodescritosos apresentadooprocessodeextrac~aoderequisitos,juntamentecomastecnicasmaisutilizadas seguidas~aodescritososprincpiosdaengenhariadesoftwareeoseurelacionamentocom paraessanalidade.s~aotambemdescritososparticipantesdoprocessodeextrac~aoeas asambiguidadesquegeralmenteocorrememdiscuss~oessobreengenhariadesoftware.em conceitosbasicos,taiscomosistemas,produtoseprocessosdesoftware,visandominimizar edescreveosvariosmodelosutilizadosparaessanalidade.s~aodescritososestagiosda apresentadosmodelosparaprojeto,testeeplanejamento.ocaptulo4tratadoplanejamento especicac~ao,assimcomoonveldequalidaderequeridoparacadaumdeles.s~aotambem principaisdiculdadesenvolvidas.ocaptulo3tratadaespecicac~aodesistemasdesoftware deprojetosdesoftware,descreveosobjetivos,oestudodeviabilidadeeaorganizac~aodo projeto.nocaptulo5s~aofeitasalgumasconsiderac~oesnaisrelativasaosassuntostratados notexto.
17 Captulo1 Conceitosbasicos paraodesenvolvimentodesistemasdesoftware.paraqueesseobjetivosejaatingido,s~ao denidosoutrosconceitosimportantes,taiscomosistemas,software,produtoseprocessos desoftware. 1.1Sistemasdesoftware Estecaptulotemporobjetivodenirengenhariadesoftwareeexplicarasuaimport^ancia BrunoMaeo[MAF92]deneumsistemaemtermosgeraiscomo: juntodeelementosconcretosouabstratosentreosquaissepodeencontraralgumarelac~ao". Apalavrasistemaedenidanodicionariodalnguaportuguesa[FER86]como\umcon- Umconjunto,identicavelecoerente,deelementosqueinteragemcoesivamente,onde dentrodeseucontornoconceitual,t^ementreelesinterac~oesfortes,quandocomparadasas aut^onomaeidenticavel.oselementosqueconstituemosistema,istoe,aquelesqueest~ao partescomponentesdosistema.pode-setracarumafronteiraconceitualseparandoosistema dorestodouniversoetrataroqueestaemseuinteriorcomoumaentidaderelativamente Nessasduasdenic~oes,caevidenteanoc~aoderelac~aoestruturalquedeveexistirentreas cadaelementopodeserumsistema. exemplo,emumestudosobreecologia,pode-sedeniroecossistemadeumacertaespecie fronteiraconceitual,nessecaso,envolveriaoinseto(siologia,anatomia,habitosreprodutivos,ciclodevidaetc.),aarvore,afaunaquehabitaaarvoreeacaracterizac~aodohabitacasparaquepossamserdesprezadas,quandosedesejaconsiderarosistemaisolado.por constituintesdosistemaeosdemaiselementosdouniversodevemsersucientementefra- interac~oesentreesteseoselementosdorestodouniverso.asinterac~oesentreoselementos deinsetoquepassatodaasuavidaemumaunicaarvoredeumadeterminadaespecie.a daarvore(queincluiclima,solo,vegetac~aonavizinhancaetc.),comomostraafigura1.1.
18 22 Introduc~aoaEngenhariadeSoftware deveriaenvolverafauna,aora,aocupac~aohumananaorestaeemvoltadelaeautilizac~ao queossereshumanosfazemdaoresta,podendoinclusivechegaraaspectosatmosfericos. Figura1.1:Ecossistemadeuminseto. dosistemaqueinteragementresiparaatendernecessidadesespeccasdoambienteno humano.aescolhadeumafronteiraconceitualadequadaeumpassodecisivoparao^exitodo qualest~aoinseridos.existetambemapossibilidadedehaverumcomponente(sist^emico) Se,poroutrolado,oecossistemafosseaorestaAmaz^onica,ent~aoafronteiraconceitual Poranalogia,quandosetratadesistemasdesoftware,busca-seidenticarcomponentes Ilustração Jorge Stolfi processodeconcepc~aodosistema,poisadeterminac~aodessafronteirapermitiraaseparac~ao entreoscomponentespertencentesaosistema,cujasinformac~oesdevemserdetalhadamente seconsiderarumsistemadereservasdepassagemaereadeumadeterminadacompanhia. interac~aocomosistema. estudadas,eaquelespertencentesaoambienteexterno,quesot^eminteressequantoasua Paraexemplicaroconceitodefronteiraconceitualdeumsistemadesoftware,pode-
19 AriadneM.B.RizzoniCarvalhoeThelmaC.dosSantosChiossi Paraessesistema,afronteiraconceitualsoenglobariaapropriacompanhiaaereaeosdados sobrehoteis,locadorasdecarroseag^enciasdeturismo.sistemasdesoftwareentreguesao sobrev^oos(disponibilidade,reserva,cancelamentoetc.).se,poroutrolado,osistemade softwareinclussereservasdehotel,locac~aodecarros,ofertasdepacotestursticoseassim pordiante,afronteiraconceitualdeveriasermuitomaisabrangente,envolvendoinformac~oes 23 em:1)instruc~oes(programasdecomputador)que,quandoexecutadas,realizamasfunc~oese produtosdesoftware[som96]. encomendadosespecialmenteporumdeterminadocliente.oprodutodesoftwareconsiste vendidosnomercadoaqualquerpessoaquepossacompra-los;e(2)sistemasespeccos, usuariocomadocumentac~aoquedescrevecomoinstalareusarosistemas~aochamados Existemduascategoriasdeprodutosdesoftware:(1)sistemasgenericos,produzidose 3)documentosquedescrevemasoperac~oeseusodoproduto. 2)estruturasdedadosquepossibilitamasinstruc~oesmanipularasinformac~oesdeforma Sistemasdesoftwares~aoprodutoslogicos,n~aosuscetveisaosproblemasdomeioambiente.Nocomecodavidadeumsistema,haumaltondicedeerros,mas,amedidaque esseserross~aocorrigidos,ondiceseestabiliza[pre92].comaintroduc~aodemudancas, novastecnologiasdesoftwareehardware,ouaindaparaincluirnovosrequisitosdousuario, sejaparacorrigirerrosdescobertosaposaentregadoproduto,sejaparaadaptarosistemaa adequada; t^emodesempenhodesejados; sistemas.todavia,estasituac~aoestamudandorapidamente,comadisseminac~aodoconceitodesoftwarereutilizavel,queprivilegiaareutilizac~aodecomponentesdeprodutosde en~aomontadaapartirdecomponentesjaexistentes,poisn~aoexistemcatalogosdecompo- softwarejaexistentes[som96].umagrandevantagemdestetipodeabordagemeareduc~ao nentesdesoftware;epossvelcomprarprodutosdesoftware,massomentecomoumaunidade Amaioriadosprodutosdesoftwareeconstrudadeacordocomasnecessidadesdousuario novoserross~aotambemintroduzidos,eosoftwarecomecaasedeteriorar. completa,n~aocomocomponentesseparadosquepodemserutilizadosnaconfecc~aodenovos sistemas,eareduc~aodosriscosdedesenvolvimento,poisexistemenosincertezasobreos deserdesenvolvidoevalidado.outrasvantagensdessaabordagems~aooaumentonacon- abilidadedosistema,poisoscomponentesaserreutilizadosjaforamtestadosemoutros custosdereutilizac~aodesoftwaresecomparadosaoscustosdedesenvolvimento. doscustosdedesenvolvimentocomoumtodo,poisummenornumerodecomponentestera associadosaessasatividades,comoobjetivodeconstruiroprodutodesoftware.existemtr^esatividadesfundamentais,comunsatodososprocessosdeconstruc~aodesoftware, apresentadasnafigura1.2.s~aoelas: 1)desenvolvimento:asfuncionalidadeseasrestric~oesrelativasaoperacionalidadedo Oprocessodedesenvolvimentodesoftwareenvolveoconjuntodeatividadeseresultados produtos~aoespecicadas,eosoftwareeproduzidodeacordocomessasespecicac~oes;
20 242)validac~ao:oprodutodesoftwareevalidadoparagarantirqueelefacaexatamenteo 3)manutenc~ao:osoftwaresofrecorrec~oes,adaptac~oeseampliac~oesparacorrigirerros queousuariodeseja; Introduc~aoaEngenhariadeSoftware encontradosaposaentregadoproduto,atenderosnovosrequisitosdousuarioeincorporarmudancasnatecnologia.desenvolvimento cadaumadelaspodeserdetalhadaemvariospassosaserseguidosduranteodesenvolvimento.modelosdeprocessos(tambemchamadosparadigmasdedesenvolvimento)especicam emquedevemserexecutadas.produtosdesoftwarepodemserconstrudosutilizando-se asatividadesque,deacordocomomodelo,devemserexecutadas,assimcomoaordem Oprocessodedesenvolvimentodesoftwareecomplexoeenvolveinumerasatividades,e Figura1.2:Oprocessodedesenvolvimentodesoftware. paradeterminadostiposdeaplicac~ao,eaopc~aoporumdeterminadomodelodeveserfeita diferentesmodelosdeprocessos.noentanto,algunsmodeloss~aomaisadequadosqueoutros levando-seemconsiderac~aooprodutoaserdesenvolvido. 1.2Engenhariadesoftware Portanto,odesaoprimordialnasultimasduasdecadasfoiecontinuasendomelhorara excediamosprevistos,osoftwaren~aocumpriaosrequisitosestipuladoseassimpordiante. wareproduzidoaindadeixavammuitoadesejar:cronogramasn~aoeramcumpridos,custos zisseocustodeprocessamentoedearmazenamentodedados[pre92].duranteadecada umcustocadavezmenor.entretanto,tantooprocessodedesenvolvimentocomoosoft- de80,avancosnamicroeletr^onicaresultaramemumaumentodopodercomputacionala Duranteasdecadasde60e70,odesaoprimordialeradesenvolverhardwarequeredu- dizerqueaengenhariadesoftwaree: qualidadeereduzirocustodosoftwareproduzido,atravesdaintroduc~aodedisciplinano desenvolvimento,oqueeconhecidocomoengenhariadesoftware.dessaforma,pode-se Validação Manutenção
21 AriadneM.B.RizzoniCarvalhoeThelmaC.dosSantosChiossi desdeapercepc~aodoproblemaateomomentoemqueosistemadesenvolvido desenvolvimentoeaoprodutodesoftware. deixadeseroperacional,visandoresolverproblemasinerentesaoprocessode Umadisciplinaquereunemetodologias,metodoseferramentasaserutilizados, 25 formaqueoprocessod^eorigemaprodutosdealtaqualidade,produzidosmaisrapidamente eaumcustocadavezmenor.s~aomuitososproblemasasertratadospelaengenhariade dade,aaceitabilidade,aconabilidade,amanutenibilidade,asegurancaetc.porexemplo, devemserconsideradosparaquesetenhasucesso,porexemplo,acomplexidade,avisibili- software,poistantooprocessoquantooprodutodesoftwarepossuemvariosatributosque paraaespecicac~aodesistemasdecontroledetrafegoaereoeferroviario,aconabilidade Oobjetivodaengenhariadesoftwareeauxiliarnoprocessodeproduc~aodesoftware,de eumatributofundamental[ffo00].japarasistemasmaissimples,taiscomooscontroladoresembutidosemaparelhoseletrodomesticos,comolavadorasderoupaevideocassetes,o desoftware,atravesdemetodologias,queporsuavezseguemmetodosqueseutilizamde software.algunsmetodosfocalizamasfunc~oesdosistema;outrosseconcentramnosobjetos ferramentasautomatizadasparaenglobarasprincipaisatividadesdoprocessodeproduc~aode queopovoam;outros,ainda,baseiam-senoseventosqueocorremduranteofuncionamento dosistema. Aengenhariadesoftwareherdadaengenhariaoconceitodedisciplinanaproduc~ao desempenhoeoatributomaisimportanteaserconsiderado. 1.3Osprincpiosdaengenhariadesoftware alcancados. mentodesoftwaredevesernorteadoporessesprincpios,deformaqueseusobjetivossejam abstrataaspropriedadesdesejaveisparaosprocessoseprodutosdesoftware.odesenvolvi- Existemalgunsprincpiosdaengenhariadesoftwarequedescrevemdemaneiragerale fasededesenvolvimentodosoftware[gue91].essesprincpiossereferemtantoaoprocesso comoaoprodutonaledescrevemalgumaspropriedadesgeraisdosprocessoseprodutos. Oprocessocorretoajudaraaproduziroprodutocorreto,eoprodutoalmejadotambem afetaraaescolhadoprocessoaserutilizado.entretanto,essesprincpiosporsisosn~ao s~aosucientesparadirigirodesenvolvimentodesoftware.paraaplicaressesprincpiosna construc~aodesistemasdesoftware,odesenvolvedordeveestarequipadocomasmetodologias Existemvariosprincpiosimportantesegeraisquepodemseraplicadosdurantetodaa seguir. software.algunsdosprincpiosaserobservadosduranteodesenvolvimentos~aodescritosa escolhadasmetodologias,metodoseferramentasapropriadosparaodesenvolvimentode apropriadasecomosmetodoseasferramentasespeccosqueoajudar~aoaincorporaras propriedadesdesejadasaosprocessoseprodutos.alemdisso,osprincpiosdevemguiara
22 Formalidade precisaeaseguira\inspirac~aodomomento"deumamaneiran~aoestruturada.atraves deumenfoqueformal,pode-seproduzirprodutosmaisconaveis,controlarseucustoeter Odesenvolvimentodesoftwareeumaatividadecriativae,comotal,tendeaserim- Introduc~aoaEngenhariadeSoftware melhora-laatravesdoaumentodaconancadodesenvolvedoremresultadoscriativos,uma maisconancanoseudesempenho.aformalidaden~aodeverestringiracriatividade,mas engenheirofosseprojetarumaembarcac~aoparaatravessardeumamargemparaaoutra odesenvolvedortemdesaberquandoecomos^e-lo.porexemplo,seatarefaatribudaao podeserformal,informalousemiformal.n~aohanecessidadedesersempreformal,mas deumriachocalmo,talvezumajangadafossesuciente.se,poroutrolado,atarefafosse Emcadapassoodesenvolvedorutilizaalgumametodologiaqueseguealgummetodo,que daengenharia,oprojetoacontececomoumasequ^enciadepassosdenidoscomprecis~ao. vezqueeless~aocriticamenteanalisadosaluzdeumaavaliac~aoformal.emtodoocampo cac~aomuitomaissosticada.finalmente,projetarumaembarcac~aoparafazerumaviagem oengenheiroteriadefazerumprojetocomespecicac~oesmaisprecisasparaumaembar- projetarumaembarcac~aoparanavegaratravesdeumriodeaguasturbulentas,nacerta capazdeentenderonveldeformalidadequedeveseratingido,dependendodadiculdade conceitualdatarefaaserexecutada.aspartesconsideradascrticaspodemnecessitarde transatl^anticademandariamaiorformalidadenaespecicac~aodoproduto. zadaspodemnecessitardemetodosmaissimples.tradicionalmente,oformalismoeusado umadescric~aoformaldesuasfunc~oes,enquantoaspartesmaisbementendidasepadroni- sintaxeesem^anticatotalmentedenidasequepodemserautomaticamentemanipulados somentenafasedeprogramac~ao,poisprogramass~aocomponentesformaisdosistema,com Omesmoacontecenaengenhariadesoftware.Odesenvolvedordesoftwaredeveser 1.3.2Abstrac~ao reutilizac~ao,portabilidadeeentendimentodosoftware. desenvolvimentodosoftware,eseusefeitosbenecospodemsersentidosnamanutenc~ao, peloscompiladores.entretanto,aformalidadepodeseraplicadadurantetodaafasede fen^omeno,ignorando-seosdetalhes.osdetalhesaserignoradosv~aodependerdoobjetivo daabstrac~ao.porexemplo,paraumtelefonesemo,umaabstrac~aoutilparaousuario seriaummanualcontendoadescric~aodosefeitosdeapertarosvariosbot~oes,oquepermitequeotelefoneentrenosvariosmodulosdefuncionalidadeereajadiferentementeas Abstrac~aoeoprocessodeidenticac~aodosaspectosimportantesdeumdeterminado funcionandoseriaummanualcontendoasinformac~oessobreacaixaquedeveseraberta sequ^enciasdecomandos.umaabstrac~aoutilparaapessoaocupadaemmanterotelefone abstrac~oesdamesmarealidade,cadaumafornecendoumavis~aodiferentedarealidadee parasubstituirapilha.outrasabstrac~oespodemserfeitasparaentenderofuncionamento dotelefoneeasatividadesnecessariasparaconserta-lo.portanto,podemexistirdiferentes servindoparadiferentesobjetivos.quandorequisitosdeumaaplicac~aos~aoanalisadose especicados,desenvolvedoresdesoftwareconstroemmodelosdaaplicac~aoproposta.esses
23 seconcentrenoproblemaaserresolvidoen~aonamaquina.osprogramas,porsisos,s~ao ecaracteresouomecanismodeenderecamentoutilizado.issopermitequeoprogramador escritosignorando-seosdetalhes,taiscomoonumerodebitsusadopararepresentarnumeros AriadneM.B.RizzoniCarvalhoeThelmaC.dosSantosChiossi modelospodemserexpressosdevariasformas,dependendodograudeformalidadedesejado. Aslinguagensdeprogramac~ao,porexemplo,fornecemcondic~oesparaqueprogramassejam Decomposic~ao abstrac~oesdasfuncionalidadesdosistema. ummedico-cirurgi~aoquedecideconcentrarsuasatividadescirurgicasnoperododamanh~a extraqueseriagastomudandodeumaatividadeparaoutra.nocasodosoftware,podeseseparar,porexemplo,atividadesrelativasaocontroledequalidadedoprocessoedo eseuatendimentoaospacientesnoperododatarde,reservandoassextas-feirasparaestudo essasatividadesdevariasformas,umadelasportempo.porexemplo,considereocasode eatualizac~ao.essaseparac~aopermiteoplanejamentodasatividadesediminuiotempo especcas,provavelmenteatribudasaespecialistasdediferentesareas.podem-seseparar Umadasmaneirasdelidarcomacomplexidadeesubdividiroprocessoematividades odemaneiracuidadosaeestruturada,deformaquegarantaseucorretismo,esoent~ao implementac~aoemanutenc~ao,ques~aoatividadesbastantecomplexas.alemdisso,cada produtodasatividadesdedesenvolvimento,como,porexemplo,especicac~aodoprojeto, passandoareestrutura-loparcialmente,deformaquemelhoresuaeci^encia. possivelmenteatribudasapessoasdiferentes,comdiferentesespecialidades.adecomposic~ao umadessasatividadespodeserdecomposta,levandonaturalmenteadivis~aodastarefas, aeci^enciaecorrec~aodeumdadoprodutodesoftwareseparadamente,primeiroprojetando- dasatividadeslevatambemaseparac~aodaspreocupac~oes.porexemplo,pode-selidarcom produtos,denidosdeacordocomosistemaqueestasendodesenvolvido.essadecomposic~ao doprodutotrazinumerasvantagens;porexemplo,permitequeatividadesdoprocessode desenvolvimentosejamexecutadasparalelamente.alemdisso,dadoqueoscomponentes haverapropagac~aodeerrosparaoutroscomponentes.adecomposic~aodoprodutopodeser s~aoindependentes,elespodemserreutilizadosporoutroscomponentesousistemas,en~ao feita,porexemplo,emtermosdosobjetosquepovoamosistema.nessecaso,oprodutosera Alemdadecomposic~aodoprocesso,tambemsepodedecomporoprodutoemsub Generalizac~ao decompostoemcomponentesfuncionaisqueaceitamdadosdeentradaeostransformamem dadosdesada.oobjetivomaior,nosdoiscasos,ediminuiracomplexidade. decompostoemumconjuntodeobjetosquesecomunicam.umaoutramaneiradedecompor oprodutoeconsiderando-seasfunc~oesqueeledevedesempenhar.nessecaso,oprodutoe soluc~aoparaoproblematenhamaispotencialparaserreutilizada.tambempodeacontecer queatravesdageneralizac~aoodesenvolvedoracabeprojetandoumcomponentequeseja Oprincpiodageneralizac~aoeimportantepois,sendomaisgeral,ebempossvelquea
24 avaliarosproblemasdecustoeeci^enciaparapoderdecidirsevaleapenadesenvolver 28 utilizadoemmaisdeumpontodosistemadesoftwaredesenvolvido,emvezdetervarias emtermosdevelocidadedeexecuc~aooutempodedesenvolvimento.portanto,enecessario soluc~oesespecializadas.poroutrolado,umasoluc~aogeneralizadapodesermaiscustosa, umsistemageneralizadoemvezdeatenderaespecicac~aooriginal.porexemplo,supondo Introduc~aoaEngenhariadeSoftware maisgeraldefuncionalidadesfornecidasporumsistemadebiblioteca,comoemprestimos, codigoespecco.alemdecatalogaroslivrosdabiblioteca,deveserpossvelfazerbuscas baseadasnadisponibilidadedoslivros,porautor,porttulo,porpalavras-chaveetc.em apenasessasfuncionalidades,pode-seconsidera-lascomoumcasoespecialdeumconjunto vezdeespecicarumconjuntodefuncionalidadesparaoprodutodesoftware,envolvendo bibliotecapequena,emquecadalivrotemumnome,autor,editor,datadepublicac~aoeum quesejanecessariodesenvolverumsistemadesoftwareparacatalogaroslivrosdeuma devoluc~oes,aquisic~oesetc.essesistemamaisgeralatenderiaasnecessidadesdoproprietario dapequenabibliotecaepoderiainteressartambemabibliotecasdemedioporte,paraas quaisasoutrasfuncionalidadess~aorelevantes Flexibilizac~ao tregueaousuario,oprodutopodesofreralterac~oes,sejaparaeliminarerrosquen~aotenham Oprodutosofreconstantesmudancas,poisemmuitoscasosaaplicac~aoedesenvolvidaenquantoseusrequisitosaindan~aoforamtotalmenteentendidos.Issoocorreporqueoprocesstac~oesdousuario,sejaparaadaptaroprodutodesoftwareasnovastecnologiasdehardware Oprincpiodaexibilizac~aodizrespeitotantoaoprocessocomoaoprodutodesoftware. sidodetectadosantesdaentrega,sejaparaevoluirnosentidodeatenderasnovassolici- dedesenvolvimentoacontecepassoapasso,demaneiraincremental.mesmodepoisdeen- presentesinicialmente. ambienteeafetadopelaintroduc~aodoproduto,eissogeranovosrequisitosquen~aoestavam esoftware.osprodutoss~aocomfrequ^enciainseridosemumaestruturaorganizacional,o controlaroprocessodedesenvolvimento.naproximasec~aoser~aovistostr^esdosparadigmas maisutilizadosnodesenvolvimentodesistemasdesoftware. emoutrossistemas,bemcomoasuaportabilidadeparadiferentessistemascomputacionais. queoprodutopossasermodicadocomfacilidade.oprocessodeveterexibilidadesucienteparapermitirquepartesoucomponentesdoprodutodesenvolvidopossamserutilizados Amdealcancaressesprincpios,aengenhariadesoftwarenecessitademecanismospara Oprincpiodaexibilizac~aoenecessarionoprocessodedesenvolvimentoparapermitir cessodedesenvolvimentodesistemasdesoftware;e(b)aodesenvolvedor:obterabasepara produzir,demaneiraeciente,softwarequesatisfacaosrequisitospreestabelecidos.osparadigmasespecicamalgumasatividadesquedevemserexecutadas,assimcomoaordemem 1.4Paradigmasdeengenhariadesoftware Paradigmass~aomodelosdeprocessoquepossibilitam:(a)aogerente:controlaropro-
25 processodedesenvolvimentodosoftware,e,devidoaimport^anciadesseprocesso,variosparadigmasjaforampropostos.oparadigmaeescolhidodeacordocomanaturezadoprojeto AriadneM.B.RizzoniCarvalhoeThelmaC.dosSantosChiossi quedevemserexecutadas.afunc~aodosparadigmasediminuirosproblemasencontradosno eprodutosintermediariosdesejados.aseguirser~aoapresentadostr^esdosparadigmasmais edoprodutoaserdesenvolvido,dosmetodoseferramentasaserutilizadosedoscontroles 29 utilizados.s~aoeles:ciclodevidaclassico,evolutivoeespiral Ciclodevidaclassico umafaseseconstituinaentradadeoutra.devidoaformacomquesedaapassagemdeuma faseeestruturadacomoumconjuntodeatividadesquepodemserexecutadasporpessoasdiferentes,simultaneamente.compreendeasseguintesatividades,apresentadasnafigura1.3: etestedosistema;eoperac~aoemanutenc~ao.existeminumerasvariac~oesdesseparadig- Eumparadigmaqueutilizaummetodosistematicoesequencial,emqueoresultadode analiseeespecicac~aodosrequisitos;projeto;implementac~aoetesteunitario;integrac~ao faseparaoutra,emordemlinear,esseparadigmatambemeconhecidocomocascata.cada principaisdoparadigmaest~aorelacionadosasatividadesfundamentaisdedesenvolvimento. ma,dependendodanaturezadasatividadesedouxodecontroleentreelas.osestagios Análise e especificação de requisitos Projeto Implementação e simplesebementendidasdemandammenosformalidade;jaaplicac~oesmaioresemaiscomplexaspodemnecessitardeumamaiordecomposic~aodoprocessoparagarantirummelhor controleeobterosresultadosalmejados.porexemplo,odesenvolvimentodeumaaplicac~ao Aopc~aopeloparadigmaclassicovaidependerdacomplexidadedaaplicac~ao.Aplicac~oes Figura1.3:Oscincopassosdociclodevidaclassico. teste unitário Integração e teste sistema Operação e manutenção
26 n~aoexistir,sendonecessariosomenteofornecimentodemanuaistecnicos.outrosdetalhes software;alemdisso,afaseemqueosistemaentraemoperac~aodeveconterumafasede 30 aserutilizadaporusuariosn~aoespecialistaspodenecessitardeumafasenaqualummaterialespecialdetreinamentoeprojetadoedesenvolvidoparatornar-separteintegrantedo Introduc~aoaEngenhariadeSoftware treinamento.poroutrolado,seosusuariosforemespecialistas,afasedetreinamentopode Analiseeespecicac~aoderequisitos podemserfornecidosportelefoneouporumservicodeatendimentoaousuario. dosistema,osservicoseasmetasaseratingidas,assimcomoasrestric~oesaserrespeitadas. defuncionalidade,desempenho,facilidadedeuso,portabilidadeetc.odesenvolvedordeve denirquaisfunc~oesoprodutodesoftwaredeveradesempenhar,semdizercomoumacerta especicarquaisosrequisitosqueoprodutodesoftwaredeverapossuir,semespecicarcomo essesrequisitosser~aoobtidosatravesdoprojetoedaimplementac~ao.porexemplo,eledeve E,portanto,identicadaaqualidadedesejadaparaosistemaaserdesenvolvido,emtermos Duranteessafasedodesenvolvimento,s~aoidenticados,atravesdeconsultasaosusuarios e(2)deveserusadopelosdesenvolvedoresdesoftwareparaobterumprodutoquesatisfaca analisadoeconrmadopelousuarioparavericarseelesatisfaztodasassuasexpectativas; documentodeespecicac~aoderequisitos,comdoisobjetivos:(1)odocumentodeveser terliberdadeeresponsabilidadeparaescolheraestruturamaisadequada,assimcomopara fazeroutrasescolhasrelativasaimplementac~aodosoftware.oresultadodessafaseeum restringirodesenvolvedordesoftwarenasatividadesdeprojetoeimplementac~ao;eledeve estruturaoualgoritmopodemajudararealiza-las.osrequisitosespecicadosn~aodevem tanto,deveserinteligvel,preciso,completo,consistenteesemambiguidades.alemdisso, sistemasdesoftware.ascaractersticasdaespecicac~aopodemvariar,dependendodocontexto.porexemplo,precis~aopodesignicarformalidadeparaodesenvolvedordesoftware, Essedocumentovaiservirdeinstrumentodecomunicac~aoentremuitosindivduose,por- osrequisitos. deveserfacilmentemodicavel,poisdeveevoluirparaacomodaranaturezaevolutivados conciliarasnecessidadesdousuarioeasdodesenvolvedoretraduziraespecicac~aopara aindaqueespecicac~oesformaispossamserininteligveisparaousuario.umamaneirade eoplanodeprojeto,baseadonosrequisitosdoprodutoaserdesenvolvido. futuramentecomosistema.umoutroprodutodafasedeanaliseeespecicac~aoderequisitos umtextoemlnguanaturale,talvez,complementaressaespecicac~aocomumavers~aopreliminardomanualdousuario,quedescrevaprecisamentecomoousuariodeverainteragivolvedordesoftwaredeveaplicarosprincpiosvistosnasec~ao1.3,especialmenteabstrac~ao, decomposic~aoegeneralizac~ao.osoftwareaserproduzidodeveserentendidoeent~aodescrito doconteudododocumentodeespecicac~aodosrequisitoseaseguinte: deveserdivididoempartes,quepossamseranalisadasseparadamente.umapossvellista emdiferentesnveisdeabstrac~ao,dosaspectosgeraisaosdetalhesnecessarios.oproduto Afasedeespecicac~aoderequisitostemtarefasmultiplase,paraatingi-las,odesen- {requisitosfuncionais:descrevemoqueoprodutodesoftwarefaz,usandonotac~oes informais,semiformais,formaisouumacombinac~aodelas;
27 AriadneM.B.RizzoniCarvalhoeThelmaC.dosSantosChiossi {requisitosn~aofuncionais:podemserclassicadosnascategoriasconabilidade(disponibilidade,integridade,seguranca),acuraciadosresultados,desempenho,problemabilidadeetc.; deinterfacehomem{computador,restric~oesfsicaseoperacionais,quest~oesdeporta- 31 {requisitosdedesenvolvimentoemanutenc~ao:incluemprocedimentosdecontrolede qualidade particularmenteprocedimentosdetestedosistema,prioridadesdas decompostoempartestrataveis,eoresultadoeumdocumentodeespecicac~aodoprojeto, Projeto quepossasertransformadaemumoumaisprogramasexecutaveis.nessafase,oprodutoe Oprojetodesoftwareenvolvearepresentac~aodasfunc~oesdosistemaemumaforma func~oesdesejadas,mudancasprovaveisnosprocedimentosdemanutenc~aodosistema quecontemadescric~aodaarquiteturadosoftware,istoe,oquecadapartedevefazere eoutros. descreveaestruturaemtermosderelac~oes(porexemplo,usa,ecompostode,herdade), paradiferenciarentreadecomposic~aologica(projetoemaltonvel)eadecomposic~aofsicado detalhado,masosignicadodessestermospodevariar.paraalguns,oprojetopreliminar enquantooprojetodetalhadotratadaespecicac~aodasinterfaces.outrosusamessestermos podeserdecompostoemsubcomponentes.ecomumdistinguirentreprojetopreliminare podeserfeitoatravesdenveisdeabstrac~ao.cadacomponenteidenticadoemalgumpasso arelac~aoentreaspartes.oprocessodedecomposic~aopodeaconteceriterativamentee/ou eumacolec~aodeprogramasimplementadosetestados.aimplementac~aotambempode estarsujeitaaospadr~oesdaorganizac~ao,quenessecasopodedenirocompletolayoutdos programaemunidadesdelinguagemdeprogramac~ao.outros,ainda,referem-seasprincipais programas,taiscomocabecalhosparacomentarios,convenc~aoparaautilizac~aodenomesde estruturasdedadoseaosalgoritmosparacadamodulo. Implementac~aoetesteunitario deprograma,emumadeterminadalinguagemdeprogramac~ao.oresultadodessafase variaveisesubprogramas,numeromaximodelinhasparacadacomponenteeoutrosaspectos queaorganizac~aoporventuraacharimportantes. Essaeafaseemqueoprojetodesoftwareetransformadoemumprograma,ouunidades relacionadaetambemexecutadanessafase.otestedasunidadeseaprincipalatividadede Ostestess~aofrequentementeobjetodepadronizac~oes,queincluemumadenic~aoprecisa deumplanoecriteriosdetestesaserseguidos,denic~aodocriteriodecompletude(istoe, controledequalidadeexecutadanessafase,queaindapodeincluirinspec~aodecodigopara vericarseosprogramasest~aodeacordocomospadr~oesdecodicac~ao,estilodeprogramac~ao quandoparardetestar)eogerenciamentodoscasosdeteste.adepurac~aoeumaatividade Otesteunitariotemporobjetivovericarsecadaunidadesatisfazsuasespecicac~oes. disciplinadaeoutrasqualidadesdosoftware,alemdacorrec~aofuncional(como,porexemplo, desempenho).
28 32 Integrac~aoetestedosistema pletoparagarantirquetodososseusrequisitossejamsatisfeitos.aintegrac~aoconsistena junc~aodasunidadesqueforamdesenvolvidasetestadasseparadamente.essafasenemsempreeconsideradaseparadamentedaimplementac~ao;desenvolvimentosincrementaispodem Osprogramasouunidadesdeprogramas~aointegradosetestadoscomoumsistemacom- Introduc~aoaEngenhariadeSoftware integraretestaroscomponentesamedidaqueelesforemsendodesenvolvidos.testesde efeita(porexemplo,ascendenteoudescendente)comonamaneiradeprojetarosdadosde umadelasjadeveratersidotestadaseparadamente.frequentementeisson~aoefeitode umasovez,masprogressivamente,emconjuntoscadavezmaiores,apartirdepequenos integrac~aoenvolvemtestesdassubpartesamedidaqueelasest~aosendointegradas,ecada subsistemas,atequeosistemainteirosejaconstrudo.nonal,s~aoexecutadostestesdo podesercolocadoemuso.padr~oespodemserusadostantonamaneiracomoaintegrac~ao sistema,e,umavezqueostestestenhamsidoexecutadosacontento,oprodutodesoftware emuso.aentregadosoftwarenormalmenteefeitaemdoisestagios.noprimeiro,aaplicac~aoedistribudaentreumgruposelecionadodeusuarios,paraexecutarumaexperi^encia aosusuarioseconsiste,basicamente,nacorrec~aodoserrosremanescentes,quen~aoforam ocial.amanutenc~aoeoconjuntodeatividadesexecutadasdepoisqueosistemaeentregue controlada,obterfeedbackdosusuariosefazeralterac~oes,senecessario,antesdaentrega descobertosnosestagiospreliminaresdociclodevida(manutenc~aocorretiva),adaptac~ao Normalmenteestaeafasemaislongadociclodevida.Osistemaeinstaladoecolocado testeedocumentaraatividadedeteste.depoisdetestado,oprodutodesoftwareeentregue Operac~aoemanutenc~ao aousuario. daaplicac~aoasmudancasdoambiente(manutenc~aoadaptativa),mudancasnosrequisitose Outrasatividades vidades,entretanto,s~aoexecutadasantesqueociclodevidatenhaincio;outras,durante todoociclodevida.entreessasatividadesest~ao:estudodeviabilidade,documentac~ao, adic~aodecaractersticasequalidadesaosoftware(manutenc~aoevolutiva). vericac~aoegerenciamento. Oparadigmaclassicoapresentaumavis~aodedesenvolvimentoemfases.Algumasati- {Estudodeviabilidade: solucionandooproblemaerrado.oconteudodoestudodeviabilidadevaidepender dotipodedesenvolvedoredotipodeprodutoaserdesenvolvido.oobjetivodessa Esseestagioecrticoparaosucessodorestodoprojeto,poisninguemquergastartempo faseeproduzirumdocumentodeestudodeviabilidadequeavalieoscustosebenefcios daaplicac~aoproposta.parafazerisso,primeiroenecessarioanalisaroproblema,pelo ousuario.portanto,oidealefazerumaanaliseprofundadoproblemaparaproduzir poder~aoseridenticadossoluc~oesalternativas,seuscustosepotenciaisbenefciospara menosemnvelglobal.quantomelhoroproblemaforentendido,maisfacilmente umestudodeviabilidadebemfundamentado.napratica,entretanto,oestudode
29 AriadneM.B.RizzoniCarvalhoeThelmaC.dosSantosChiossi viabilidadeefeitoemumcertolimitedetempoesobpress~ao.geralmente,oresultado desseestudoeumaofertaaousuariopotencial,e,comon~aosepodetercertezadequea e,paracadasoluc~ao,s~aoanalisadososcustosedatasdeentrega.portanto,nessa ofertaseraaceita,porraz~oesecon^omicasn~aoepossvelinvestirmuitosrecursosnessa etapa.aidenticac~aodesoluc~oesalternativasebaseadanessaanalisepreliminar, 33 faseefeitaumaespeciedesimulac~aodofuturoprocessodedesenvolvimento,daquale {Documentac~ao: eumdocumentoquedeveconterosseguintesitens:(a)adenic~aodoproblema;(b) e,seforesseocaso,qualopc~aodeveserescolhida.oresultadodoestudodeviabilidade soluc~oesalternativas,comosbenefciosesperados;e(c)asfontesnecessarias,custose possvelderivarinformac~oesqueajudemadecidirseodesenvolvimentovaivalerapena organizacionaisdenemaformaemqueelesdevemserentregues. deumafaseparaoutravaidependerdessesdocumentos,e,normalmente,ospadr~oes Osprodutosouresultadosdegrandepartedasfasess~aodocumentos;amudancaoun~ao datasdeentregaparacadasoluc~aoproposta. {Vericac~aoeValidac~ao: Emboratenhasidoditoqueavericac~aoeavalidac~aoocorrememduasfasesespeccas {Gerenciamento: (testeunitarioetestedosistema),elass~aorealizadasemvariasoutrasfases.em muitoscasos,s~aoexecutadascomoumprocessodecontroledequalidadeatravesde revis~oeseinspec~oes,comoobjetivodemonitoraraqualidadedoprodutoduranteo Ametaprincipaldogerenciamentoecontrolaroprocessodedesenvolvimento.Hatr^es desenvolvimentoen~aoaposaimplementac~ao.adescobertaeremoc~aodeerrosdevem serfeitasoquantoantesparaqueaentregadoprodutocomerrossejaevitada. aspectosaserconsideradosnogerenciamento.oprimeirodizrespeitoaadaptac~ao comoosprodutosouresultadosintermediariosv~aoserarmazenados,acessadosemodicados,comoasvers~oesdiferentesdosistemas~aoconstrudasequaisasautorizac~oes necessariasparaacessaroscomponentesdeentradaesadadobancodedadosdoproduto.finalmente,ogerenciamentotemdelidarcomtodososrecursosqueafetamo algunsprocedimentospodemsernecessariosparaalgunsprodutos,masexcessivamen- dociclodevidaaoprocesso,poiselen~aodevesert~aorgidoapontodeseraplicadoexatamentedamesmaformaatodososprodutos,indistintamente.porexemplotecarosparaaplicac~oesmaissimples.osegundoaspectoeadenic~aodepolticas: processodeproduc~aodesoftware,particularmentecomosrecursoshumanos. dedesenvolvimentodesoftware,sendoasprincipais: {oprocessodedesenvolvimentodesoftwaredevesersujeitoadisciplina,planejamento Oparadigmadociclodevidaclassicotrouxecontribuic~oesimportantesparaoprocesso egerenciamento;
30 34 cessodedesenvolvimentodesoftwaren~aoelinear,envolveumasequ^enciadeiterac~oesdas {aimplementac~aodoprodutodeveserpostergadaatequeosobjetivostenhamsido Existemvariosproblemascomoparadigmaclassico,sendoumdelesarigidez.Opro- completamenteentendidos. Introduc~aoaEngenhariadeSoftware queretornamasatividadesexecutadasanteriormente.oparadigmaclassico,comoproposto atividadesdedesenvolvimento.essasiterac~oesest~aorepresentadasnafigura1.3pelassetas inicialmente,n~aocontemplavaessavoltaasfasesanteriores.osresultadosdeumafaseeram \congelados"antesdesepassarparaaproximafase.dessaforma,oparadigmaassumiaque osrequisitoseasespecicac~oesdeprojetopodiamser\congelados"numestagiopreliminar originaispodemserdescobertos,assimcomoerrosdeprojetoedeimplementac~ao.novas ciclodevida,quandoosoftwareeinstaladoepostoemuso,erroseomiss~oesnosrequisitos asoutras.duranteafasedeprojeto,podemseridenticadosproblemascomosrequisitos; duranteaimplementac~ao,podemsurgirproblemascomoprojeto;duranteafasenaldo mudancas. dedesenvolvimento,quandooconhecimentosobreaaplicac~aopodeaindaestarsujeitoa funcionalidadestambempodemseridenticadas,emodicac~oespodemsetornarnecessarias. Parafazeressasmudancas,podesernecessariorepetiralgunsoutodososestagiosanteriores. Napratica,entretanto,todasessasfasessesobrep~oemeforneceminformac~oesumaspara desvioedesencorajado,poisvairepresentarumdesviodoplanooriginale,portanto,requerer processoprevisvelefacildemonitorar.osplanoss~aobaseadosnessalinearidade,equalquer umreplanejamento. desoftwareemumadataunica;todaaanaliseeexecutadaantesdoprojetoedaimplementac~ao,eaentregapodeocorrermuitotempodepois.quandosecometemerrosdeanalisee Todavia,ametadoparadigmaclassicocontinuasendotentaralinearidade,paramantero quandoiston~aoeidenticadoduranteasrevis~oes,oprodutopodeserentregueaousuario comerros,depoisdemuitotempoeesforcosteremsidogastos.alemdisso,comooprocesso dedesenvolvimentodesistemascomplexospodeserlongo,demandandotalvezanos,aaplicac~aopodeserentreguequandoasnecessidadesdousuariojativeremsidoalteradas,oque Finalmente,nesseparadigmatodooplanejamentoeorientadoparaaentregadoproduto processobastanteutilizado,especialmentequandoosrequisitosest~aobemclarosnoincio quetentamsanarosproblemasdociclodevidaclassico,especialmentenoquedizrespeito ao\congelamento"dosrequisitos. dodesenvolvimento.nasproximassec~oes,ser~aoapresentadosdoisparadigmasalternativos vairequerermudancasimediatasnaaplicac~ao Oparadigmaevolutivo Apesardesuaslimitac~oes,oparadigmadociclodevidaclassicoaindaeummodelode atravesdemultiplasvers~oes,atequeoprodutodesoftwarealmejadotenhasidodesenvolvido. inicial,queesubmetidoaoscomentariosecrticasdousuario;oprodutovaisendorenado Oparadigmaevolutivoebaseadonodesenvolvimentoeimplementac~aodeumproduto
31 rapidofeedbackentreelas.oparadigmaevolutivopodeserdedoistipos: AriadneM.B.RizzoniCarvalhoeThelmaC.dosSantosChiossi Asatividadesdedesenvolvimentoevalidac~aos~aodesempenhadasparalelamente,comum 1)Desenvolvimentoexploratorio,emqueoobjetivodoprocessoetrabalharjuntodo usuarioparadescobrirseusrequisitos,demaneiraincremental,atequeoprodutonal 35 edifcil,oumesmoimpossvel,estabelerumaespecicac~aodetalhadadosrequisitos dosistemaapriori.afigura1.4,adaptadadesom96,apresentaasatividadesdo sejaobtido.odesenvolvimentocomecacomaspartesdoprodutoques~aomaisbementendidas,eaevoluc~aoacontecequandonovascaractersticass~aoadicionadasamedida ques~aosugeridaspelousuario.odesenvolvimentoexploratorioeimportantequando desenvolvimentoexploratorio.atividades paralelas 2)Prototipodescartavel,cujoobjetivoeentenderosrequisitosdousuarioe,consequentemente,obterumamelhordenic~aodosrequisitosdosistema.Oprototiposeconcentra Primeiramenteedesenvolvidaumavers~aoinicialdoproduto,queesubmetidaauma Figura1.4:Desenvolvimentoexploratorio. produtoalmejadotenhasidodesenvolvido. avaliac~aoinicialdousuario.essavers~aoerenada,gerandovariasvers~oes,atequeo consegueidenticardetalhesdeentrada,processamentoourequisitosdesada.outras envolveprojeto,implementac~aoeteste,masn~aodemaneiraformaloucompleta.muitasvezesousuariodeneumaseriedeobjetivosparaoprodutodesoftware,masn~ao emfazerexperimentoscomosrequisitosdousuarioquen~aoest~aobementendidose tac~aodeumsistemaoperacionalouaindasobreaformadainterac~aohomem{maquina. vezes,odesenvolvedorpodeestarincertosobreaeci^enciadeumalgoritmo,aadap- Nessassituac~oes,oprototipopodeseramelhoropc~ao.Eumprocessoquepossibilita aodesenvolvedorcriarummodelodosoftwarequeseraconstrudo.porumlado,o darouinovaroprototipo;poroutro,ousuariopoderelacionaroquev^enoprototipo desenvolvedorpodeperceberasreac~oesiniciaisdousuarioeobtersugest~oesparamu- Descrição Desenvolvimento Validação Versão inicial Versão intermediária Versão final
Engenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com
Engenharia de Software: conceitos e aplicações Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com 1 Objetivos da aula Apresentar os conceitos de Engenharia de Software e explicar a sua importância.
Leia maisSistemasdeArquivos Distribudos. Dissertac~aoApresentadaao FabioKon. AreadeConcentrac~ao:Ci^enciadaComputac~ao
SistemasdeArquivos Distribudos Dissertac~aoApresentadaao FabioKon AreadeConcentrac~ao:Ci^enciadaComputac~ao InstitutodeMatematicaeEstatsticada MestreemMatematicaAplicada paraaobtenc~aodograude UniversidadedeS~aoPaulo
Leia maisGrupo 05 EAP e Dicionário Versão 3.0 2º Semestre Gestão de TI Unidade 903 Sul
1.1 Definir Termo de Abertura do Projeto 1.2 Definir Documento de Visão 1.0 Início 1.3 Levantar Requisitos 1.4 Validar Requisitos 1.5 Definir Escopo 1.6 Definir Regra de Negócio 2.0 Elaboração 2.1 Definir
Leia maisExtração de Requisitos
Extração de Requisitos Extração de requisitos é o processo de transformação das idéias que estão na mente dos usuários (a entrada) em um documento formal (saída). Pode se entender também como o processo
Leia maisPROCESSOS DE GERENCIAMENTO DE PROJETOS SEGUNDO O PMBOK. Faculdade PITÁGORAS Unidade Raja Prof. Valéria E-mail: valeriapitagoras@gmail.
PROCESSOS DE GERENCIAMENTO DE PROJETOS SEGUNDO O PMBOK Faculdade PITÁGORAS Unidade Raja Prof. Valéria E-mail: valeriapitagoras@gmail.com 1 Processos Processos, em um projeto, é um conjunto de ações e atividades
Leia maisResumo do BABok 2.0 O Guia de Referência de Análise de Negócio Curso de Analista de Negócio 3.0
O que é BABok? O BABok 2.0, Corpo de Conhecimento de Análise de Negócios, é considerado como um Guia Referência de Práticas de Análise de Negócio. Este guia é publicado e mantido pelo IIBA. O guia BABok
Leia maisDocumento de Especificação de Requisitos de Software
Documento de Especificação de Requisitos de Software Grupo x: Maceio da Silva, Baiano da Mata Página 1 Índice Índice...2 Introdução...3 Glossário...3 Definição dos requisitos de usuário...4 Evolução do
Leia maisRequisitos. Professor Gabriel Baptista ( gabriel.baptista@uninove.br ) ( http://sites.google.com/site/professorgabrielbaptista )
Qualidade de Software Aula 8 (Versão 2012-01) 01) Requisitos Professor Gabriel Baptista ( gabriel.baptista@uninove.br ) ( http://sites.google.com/site/professorgabrielbaptista ) Revisando... 1. Qual o
Leia maisINSTRUÇÃO DE SERVIÇO PARA ELABORAÇÃO DE PLANOS GERAIS DE PROJETOS DE SISTEMAS OU APLICATIVOS
INSTRUÇÃO DE SERVIÇO PARA ELABORAÇÃO DE PLANOS GERAIS DE PROJETOS DE SISTEMAS OU APLICATIVOS IS-CGMI-02/2005 Aprovada pela Portaria nº 1494 de 22/11/2005 Histórico de Versões Data Versão Descrição Autor
Leia maisEngenharia de Software I
Engenharia de Software I Curso de Desenvolvimento de Software Prof. Alessandro J de Souza ajdsouza@cefetrn.br 1 Rational Unified Process RUP Fase Construção 2 VISÃO GERAL Fase Construção. Visão Geral 3
Leia maisENG1000 Introdução à Engenharia
ENG1000 Introdução à Engenharia Aula 01 Processo de Desenvolvimento de Software Edirlei Soares de Lima Processo de Software O processo de software consiste em um conjunto estruturado
Leia maisCOMPRA DIRETA CONFIGURAÇÃO. Passo 01 Configurando o Tipo de Operação:
COMPRA DIRETA Esta nota técnica foi elaborada com o objetivo de auxiliar nossos parceiros no gerenciamento das movimentações dos grãos pelo módulo Armazém, possibilitando a compra direta de grãos. Nesta
Leia maisProjeto de Desenvolvimento de Software
Projeto de Desenvolvimento de Software Princípios da Engenharia de Software Msc. Eliezio Soares eliezio.soares@ifrn.edu.br http://docente.ifrn.edu.br/elieziosoares NBR ISO 9000-3 Definições: A ISO 9000
Leia maisModelos de Sistema. 2007 by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1.
Modelos de Sistema Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1 Objetivos Explicar por que o contexto de um sistema deve ser modelado como parte do processo de RE Descrever
Leia maisTecnologia e Sistemas de Informações
Universidade Federal do Vale do São Francisco Tecnologia e Sistemas de Informações Prof. Ricardo Argenton Ramos Aula 3 Componentes de SIs Pessoas SI Organiz. Unidades que exercem diferentes funções, tais
Leia mais! Software e Engenharia de Software! Engenharia de Software e Programação! Histórico. " Crise do Software
Agenda Introdução a Engenharia de Cleidson de Souza cdesouza@ufpa.br http://www.ufpa.br/cdesouza! e Engenharia de! Engenharia de e Programação! Histórico " Crise do! No Silver Bullet! Fases Genéricas do
Leia maisSistemas de Informações Gerenciais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios
Sistemas de Informações Gerenciais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Como Desenvolver Sistemas de Informação Capítulo 11 Pág. 337 2
Leia maisDiagrama de Caso de Uso e Diagrama de Sequência
Diagrama de Caso de Uso e Diagrama de Sequência Milena Alexandre dos Santos Baesso (Mestranda em Engenharia Elétrica) Agenda Ciclo de Vida de um Sistema A Fase de Análise Análise Orientada à Objetos Diagramas
Leia maisProjeto de Sistemas I
Instituto Federal de Educação, Ciência e Tecnologia de São Paulo Projeto de Sistemas I Professora: Kelly de Paula Cunha E-mail:kellypcsoares@ifsp.edu.br Requisitos: base para todo projeto, definindo o
Leia mais! Software e Engenharia de Software! Engenharia de Software e Programação! Histórico. " Crise do Software
Agenda Introdução a Engenharia de Cleidson de Souza cdesouza@ufpa.br http://www.ufpa.br/cdesouza! e! e Programação! Histórico " Crise do! No Silver Bullet! Fases Genéricas do Processo de Desenvolvimento
Leia maisEngenharia de Software II
Engenharia de Software II Aula 3 http://www.ic.uff.br/~bianca/engsoft2/ Aula 3-29/04/2006 1 Monitoria Marina Albuquerque E-mail: monitoriaes2@yahoo.com.br Horário de Atendimento: Terça e quinta de 09:00
Leia maisDicionário da EAP - Software FarmaInfor
Software FarmaInfor 1.Gerenciamento 2.Iniciação 3.Elaboração 4. Desenvolvimento 5.Trenferência 6. Finalização 6.1 Assinatura 1.1 Montar Equipe 2.1 Levantar Requisitos 3.1 Definir Módulos 4.1 Codificar
Leia maisEngenharia de Requisitos
1 Engenharia de Requisitos Gerenciamento de Requisitos Prof Ms Vinícius Costa de Souza www.inf.unisinos.br/~vinicius 2 Agenda Introdução Requisitos voláteis x estáveis Identificação Armazenamento Gerenciamento
Leia maisSistemas de Informação
Capítulo 10: Desenvolvendo Soluções para as Empresas com a Tecnologia da Informação 10-1 Sistemas de Informação e as decisões gerenciais na era da Internet James A. O'Brien Saraiva S/A Livreiros Editores,
Leia maisEngenharia de Software
Engenharia de Software Roteiro Análise de requisitos Definição de requisitos do sistema Requisitos Funcionais Requisitos Não Funcionais Exercício Análise de Requisitos Análise de Requisitos É o 1º passo
Leia maisDesenvolvimento de Soluções de e-business. Objetivos do Capítulo
Objetivos do Capítulo Utilizar o processo de desenvolvimento de sistemas delineado neste capítulo e o modelo de componentes de SI, do Capítulo 1, como estrutura de solução de problemas de sistemas de informação.
Leia mais21/04/2013. O uso de um software de gerenciamento de serviços de bibliotecas produz, no dia a dia, ocorrências das mais variadas naturezas:
um processo em construção na Superintendência de Documentação UFF O uso de um software de gerenciamento de serviços de bibliotecas produz, no dia a dia, ocorrências das mais variadas naturezas: Questões
Leia maisAs 10 Áreas da Engenharia de Software, Conforme o SWEBOK. Jorge H C Fernandes 2004
As 10 Áreas da Engenharia de Software, Conforme o SWEBOK Jorge H C Fernandes 2004 Indicações de que a engenharia de software está se tornando uma atividade de engenharia (SWEBOK) Cursos de graduação em
Leia maisPLANEJAMENTO ESTRATÉGICO Prof. Mércio Rosa Júnior PRODUÇÃO 02 e 03 de Fevereiro de 2011
Workshop 2011 PLANEJAMENTO ESTRATÉGICO Prof. Mércio Rosa Júnior PRODUÇÃO 02 e 03 de Fevereiro de 2011 Agência Nacional de Transportes Aquaviários O MAPA ESTRATÉGICO ANTAQ 2 Missão Assegurar à sociedade
Leia maisApresentação, xix Prefácio à 8a edição, xxi Prefácio à 1a edição, xxiii. Parte I - Empresa e Sistemas, 1
Apresentação, xix Prefácio à 8a edição, xxi Prefácio à 1a edição, xxiii Parte I - Empresa e Sistemas, 1 1 SISTEMA EMPRESA, 3 1.1 Teoria geral de sistemas, 3 1.1.1 Introdução e pressupostos, 3 1.1.2 Premissas
Leia maisIntrodução Visão Geral Processos de gerenciamento de qualidade. Entradas Ferramentas e Técnicas Saídas
Introdução Visão Geral Processos de gerenciamento de qualidade Entradas Ferramentas e Técnicas Saídas O que é qualidade? Qualidade é a adequação ao uso. É a conformidade às exigências. (ISO International
Leia maisAPLICAÇÃO PRÁTICA ENGENHARIA DE CUSTOS. Apresentação:
APLICAÇÃO PRÁTICA ENGENHARIA DE CUSTOS Apresentação: Artur Batista dos Santos MBA em Gestão Avançada de Projetos (IETEC), MBA em Gestão de Negócios (IETEC), pós graduação em Engenharia de Processos, Gestão
Leia maisScrum em Ação. Gerenciamento e Desenvolvimento Ágil de Projetos de Software. Andrew Pham Phuong-Van Pham. Novatec
Scrum em Ação Gerenciamento e Desenvolvimento Ágil de Projetos de Software Andrew Pham Phuong-Van Pham Novatec Original English language edition Copyright 2012 Course Technology, a part of Cengage Learning.
Leia maisProcesso Unificado (RUP)
Fases do Desenvolvimento Processo Unificado (RUP) Ulf Bergmann ulf@ime.eb.br Domínio do Problema Objetos Objetos do do Mundo Mundo real real Modelo Semântico Domínio da Solução Aplicação Interface Serviços
Leia maisMETODOLOGIA DE DESENVOLVIMENTO DE SOFTWARE DO MUSEU PARAENSE EMÍLIO GOELDI
METODOLOGIA DE DESENVOLVIMENTO DE SOFTWARE DO MUSEU PARAENSE EMÍLIO GOELDI HISTÓRICO DE REVISÕES Data Versão Descrição Autor 02/04/2014 1.0 Versão Inicial Ewertton Bravo 27/08/2014 1.1 Alteração da Imagem
Leia maisREGISTRO DE PREÇOS 2014. Software GestãoW e Unidades de Serviço Técnico
REGISTRO DE PREÇOS 2014 Software GestãoW e Unidades de Serviço Técnico 01 GESTAOW - SOFTWARE DE CONTROLE DE PROCESSOS CONTRATUAIS ADMINISTRATIVOS Órgão Gerenciador: Centro de Inteligência do Exército -
Leia maisSistemasIntegradosdeApoioaDecis~ao, TEORIADADECIS~AOI MestradoemSIAD ISCTE,DCTI 3deNovembrode2010 DuarteTrigueiros 2 1Estruturaconceptualdatomadadedecis~oes Indice IAdecis~aoempresarialeossistemasqueaapoiam
Leia maisIntrodução. Sistemas Operacionais. Introdução. Roteiro (1 / 2) Por que Máquinas Virtuais Existem? Roteiro (2 / 2)
Sistemas Operacionais O termo máquina virtual foi descrito na década de 60 como uma abstração de software que enxerga um sistema físico. Aula 7 Máquinas Virtuais Prof. Othon Marcelo Nunes Batista Mestre
Leia maisUniversidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Programa de Pós-Graduação em Informática
Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Programa de Pós-Graduação em Informática Disciplina: INF5008 Prof.: (monalessa@inf.ufes.br) Conteúdo 3. Gerência de
Leia maisASP.NET MVC em Ação. Jeffrey Palermo Ben Scheirman Jimmy Bogard. Novatec. Prefácio de Phil Haack
ASP.NET MVC em Ação Jeffrey Palermo Ben Scheirman Jimmy Bogard Prefácio de Phil Haack Novatec Sumário Prólogo...11 Prefácio...13 Agradecimentos...17 Sobre este livro...20 Sobre os autores...26 Sobre a
Leia maisContingenciamento da Rede Corporativa PLANO DO PROJETO
1. Escopo ou finalidade do projeto O contingenciamento da Rede Corporativa, objetiva melhoria da comunicação de dados do TJERJ em todo o Estado do Rio de janeiro, assegurando o trafego ininterrupto de
Leia maisNotas de Aula 02: Processos de Desenvolvimento de Software
Notas de Aula 02: Processos de Desenvolvimento de Software Objetivos da aula: Introduzir os conceitos de um processo de desenvolvimento de software Definir os processos básicos Apresentar as vantagens
Leia maisAnálise e Conc epç ão de Sist em as de Inform aç ão,qwurgxomrj(qj GH5HTXLVLWRV. Adaptado a partir de Gerald Kotonya and Ian Sommerville
Análise e Conc epç ão de Sist em as de Inform aç ão,qwurgxomrj(qj GH5HTXLVLWRV Adaptado a partir de Gerald Kotonya and Ian Sommerville 1 Objectivos Introduzir as noções requisitos de sistema e processo
Leia maisPlanejamento e Gerenciamento de Projeto de Software
Planejamento e Gerenciamento de Projeto de Definição das Estimativas e Métricas Dimensionamento do software Cálculo do esforço Análise dos Riscos Definição Equipe Alocação de tarefas Cronograma Orçamento
Leia maisIntrodução 1 1. Enquadramento 5
r Indice Introdução 1 1. Enquadramento 5 l.1. Velhos e Novos Paradigmas na Gestão de Projectos 5 1.1.1. Novo Ambiente de Negócios 6 l.l.2. Problemas da Gestão de Projectos Tradicional.. 10 1.1.3. A Moderna
Leia maisLinguagem de Programação I
Linguagem de Programação I Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Complexidade dos sistemas de software Estrutura Decomposição Abstração Hierarquia Projeto de sistemas complexos
Leia maisGuia BABOK 2.0 em Português. Projeto de Tradução. Visão Geral do Guia BABOK
Guia BABOK 2.0 em Português Projeto de Tradução Visão Geral do Guia BABOK Projeto de tradução do BABOK Projeto de voluntários do IIBA Capítulo SP 2009, 2010 e 2011 A equipe Tradutores: Claudio Kerber Flávio
Leia maisPrincípios da Engenharia de Software Aula 02. Prof.: Franklin M. Correia
Princípios da Engenharia de Software Aula 02 Prof.: Franklin M. Correia Na aula anterior... Introdução a Engenharia de Software O que é software? O que é Engenharia de Software? Conceitos importantes Tipos
Leia maisFTIN Formação Técnica em Informática Módulo de Gestão Aplicada a TIC AULA 04. Prof. Fábio Diniz
FTIN Formação Técnica em Informática Módulo de Gestão Aplicada a TIC AULA 04 Prof. Fábio Diniz FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA GESTÃO DE PROJETOS Na aula anterior Project Charter. EAP / WBS. MS Project.
Leia maisCASE FCA/VLI: 24/09/2012
CASE FCA/VLI: Gestão de Projetos aplicada a metodologia Controle Inicial VALE para a Aquisição de Ativos. André Henrique Silva Resende Alexandre Félix do Nascimento Ítalo 24/09/2012 Agenda (Plano de Ação)
Leia maisModelagem e Implementação (Incremental de um Software para Controle) de Aquário de Peixes
Modelagem e Implementação de Aquário de Peixes- por Jorge Fernandes - Página 1 Modelagem e Implementação (Incremental de um Software para Controle) de Aquário de Peixes Jorge Fernandes Natal, Agosto de
Leia mais1. Desenvolver o software iterativamente. Um pouco de reflexão: Acabou aí? 31/08/2010
Engenharia de Software Aula 5 (Versão 2010-02) Melhores práticas para desenvolvimento de software Desenvolver de forma iterativa e gerenciar requisitos Professor Gabriel Baptista ( gabriel.baptista@uninove.br
Leia mais1) O QUE NÃO É BANCO DE DADOS?
FMU - Graduação em Ciência da Computação - BANCO DE DADOS I - Prof. Fernando Alberto Covalski - pág 1 1) O QUE NÃO É BANCO DE DADOS? SISTEMAS ISOLADOS SISTEMA DE PRODUÇÃO SISTEMA DE VENDAS SISTEMA DE COMPRAS
Leia maisMetodologia de Desenvolvimento de Sistemas
Metodologia de Desenvolvimento de Sistemas Processo de Desenvolvimento de Software Faculdade Mauricio de Nassau S.I 5 Período NA Alunos: Elthon Diego 021707 Vitor da Cruz 033420 Professora Suzana Sampaio
Leia maisVisão Geral do RUP Rational Unified Process. Jorge Fernandes UFRN Junho de 2002
Visão Geral do RUP Rational Unified Process Jorge Fernandes UFRN Junho de 2002 Resumo do Artigo de Krutchen O que é o RUP? 6 Práticas Comprovadamente Efetivas Desenvolvimento Interativo Gestão de Requisitos
Leia maisDiretor Gerente de Peças Gerente de Serviços. Responsável pela Qualidade Vendedor de Acessórios Consultor de Serviços
São Paulo, 25 de Maio de 2010. Nº. 368 Divulgar esta informação para: Diretor Gerente de Peças Gerente de Serviços Garantista Conselheiro Técnico Chefe de Oficina Responsável pela Qualidade Vendedor de
Leia maisPROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 1. VISÃO GERAL 1.1. PROCESSOS EM GERAL
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 1. VISÃO GERAL 1.1. PROCESSOS EM GERAL Um processo é um conjunto de passos parcialmente ordenados, constituídos por atividades, métodos, práticas e transformações,
Leia maisEngenharia de Requisitos de Software. Visão Geral
de Software Visão Geral João Sousa Apoio: Desenvolvimento de Sw - Como estamos? Segundo o Standish Group (CHAOS Report 2004): 34% dos projetos com sucesso. 15% dos projetos cancelados antes de completados.
Leia maisdesenvolvimento de SI
Desenvolvimento Sistemas Informação (O Brian, 2004; Ed. Saraiva) Prof. José Alexandre C. Alves (MSc) Entenr o Problema ou Oportunida Empresarial Desenvolver uma Solução do Sistema Informação Implantar
Leia maisCampus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com /
Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / andre.belini@ifsp.edu.br MATÉRIA: SIG Aula N : 11 Tema: Como desenvolver e
Leia maisModelo Cascata. Alunos: Bruno Nocera Zanette Pedro Taques
Modelo Cascata Alunos: Bruno Nocera Zanette Pedro Taques Principais Características Gerenciamento Simples das etapas Também conhecido como "Ciclo de Vida Clássico", sugere uma abordagem sistemática e sequencial
Leia maisDisciplina: Administração de Departamento de TI. Professor: Aldo Rocha. Aula I - 11/08/2011
Disciplina: Administração de Departamento de TI Professor: Aldo Rocha Aula I - 11/08/2011 Gerenciamento de Serviços TI 1.Introdução; 2. Panorama Atual; 3. Necessidade do alinhamento de TI a estratégia
Leia maisImplementação de Lean Manufacturing na fábrica de geradores EFACEC Energia, S.A. Unidade de Servicing
Implementação de Lean Manufacturing na fábrica de geradores EFACEC Energia, S.A. Unidade de Servicing 28 ou 29 de Junho de 2011 (Consoante data da s/ intervenção) Nome da Apresentação (insira os dados
Leia maisVerificação é um processo para se determinar se os produtos, (executáveis ou
ATIVIDADES VV&T E A NORMA IEEE 1012 A qualidade do software está diretamente relacionada à satisfação do cliente, sendo assim, as empresas estão percebendo a importância em produzir software com qualidade.
Leia maisTermo de Abertura do Projeto TAP PJSETIN2012029 NOC Network Operation Center (Centro de Operação
Operação de Rede) Versão 1.0 Estado do Ceará Poder Judiciário Tribunal de Justiça Histórico de Revisões Data Versão Descrição Responsável 31/08/2012 0.1 Criação do documento Alexys Ribeiro Gerente do Projeto
Leia maisProposta de Projeto PPJ PPJSETIN2013028 Consultoria e Gestão de TI. Versão 1.0. Estado do Ceará Poder Judiciário Tribunal de Justiça
Versão 1.0 Estado do Ceará Poder Judiciário Tribunal de Justiça Histórico de Revisões Data Versã o Descrição Responsável 01/06/12 0.1 Criação do documento Moacir Medeiros 01/06/12 0.2 Revisão do documento
Leia maisArtigo elaborado por C. Magno Xavier (M.Sc., PMP) magno@beware.com.br. Como criar uma WBS
Como criar uma WBS A WBS pode ser criada totalmente nova ou reutilizar partes de uma outra WBS ou de modelos (templates) da organização. Ela deve conter subprodutos necessários ao gerenciamento do projeto,
Leia maisUM GUIA DO CONHECIMENTO EM GERENCIAMENTO DE PROJETOS (GUIA PMBOK ) Quarta Edição
UM GUIA DO CONHECIMENTO EM GERENCIAMENTO DE PROJETOS (GUIA PMBOK ) Quarta Edição Project Management Institute UM GUIA DO CONHECIMENTO EM GERENCIAMENTO DE PROJETOS (GUIA PMBOK ) Quarta Edição NOTA As
Leia maisS IM O N S E N ASSOCIADOS ABEMD INDICADORES 2009
ABEMD ASSOCIAÇÃO BRASILEIRA DE MARKETING DIRETO INDICADORES 2009 INDICADORES ABEMD MERCADO BRASILEIRO DE MARKETING DIRETO Maio de 2009 EMPRESAS CONSULTADAS: ATUALIZAÇÃO: ESTUDO SOBRE 2008 S IM O N S E
Leia maisProfessor: Curso: Disciplina:
Professor: Curso: Disciplina: Aula 1 Turma: Esp. Marcos Morais de Sousa Sistemas de informação Engenharia de Software I Dinâmica da disciplina, plano de curso e avaliação 03º semestre Prof. Esp. Marcos
Leia maisClientes gerentes Usuarios finais do sistema Clientes engenheiros Gerentes contratantes Arquitetos do sistema. Definicao de requisitos
А А А А Definicao de de do software Clientes gerentes Usuarios finais Clientes engenheiros Gerentes contratantes Arquitetos Usuarios finais Clientes engenheiros Arquitetos Desenvolvedores de software Clientes
Leia maisADMINISTRAÇÃO DE ATIVOS DE TI GERENCIAMENTO DE CONFIGURAÇÃO
1 ADMINISTRAÇÃO DE ATIVOS DE TI GERENCIAMENTO DE CONFIGURAÇÃO 2 INFRAESTRUTURA DE TI Para garantir o atendimento às necessidades do negócio, a área de TI passou a investir na infraestrutura do setor, ampliando-a,
Leia maisFIESP - DECOMTEC INOVAÇÃO TECNOLÓGICA
FIESP - DECOMTEC INOVAÇÃO TECNOLÓGICA Programa de Inovação Tecnologica FIESP CIESP - SENAI Sede Fiesp 2013 Chave para a competitividade das empresas e o desenvolvimento do país Determinante para o aumento
Leia maisProcesso de Desenvolvimento de Software. Erika E Freire Miranda
Processo de Desenvolvimento de Software Erika E Freire Miranda Agenda Conceitos Modelo Cascata Modelo Evolucionário Modelo Incremental Modelo Espiral Conceitos Um processo de desenvolvimento é constituído
Leia maisProcessos de Desenvolvimento de Software
Processos de Desenvolvimento de Software Gerenciamento de Projetos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e
Leia maisImplementando e Remodelando a Função de Auditoria Interna no Setor Público
24 de setembro de 2013 Implementando e Remodelando a Função de Auditoria Interna no Setor Público Gualter Ramalho Portella Auditor Federal de Controle Externo Tribunal de Contas da União Baseado em Suplemental
Leia maisMetodologia de Gerenciamento de Projetos da Justiça Federal
Metodologia de Gerenciamento de Projetos da Justiça Federal Histórico de Revisões Data Versão Descrição 30/04/2010 1.0 Versão Inicial 2 Sumário 1. Introdução... 5 2. Público-alvo... 5 3. Conceitos básicos...
Leia maisADMINISTRAÇÃO DE SISTEMAS DE INFORMAÇÃO (AULA 03)
Prof. Breno Leonardo Gomes de Menezes Araújo brenod123@gmail.com http://blog.brenoleonardo.com.br ADMINISTRAÇÃO DE SISTEMAS DE INFORMAÇÃO (AULA 03) 1 ERP Sistema para gestão dos recursos administrativos-financeiros,
Leia maisIntrodução à Qualidade de Software. Profº Aldo Rocha
Introdução à Qualidade de Software Profº Aldo Rocha Agenda O que é Qualidade? O que é Qualidade de Software? Qualidade do Produto e do Processo Normas e Organismos Normativos Qualidade de Software e Processos
Leia maisLevantamento, Análise e Gestão Requisitos. Aula 12
Levantamento, Análise e Gestão Requisitos Aula 12 Agenda Miscelâneas (Parte 3): Gerenciamento dos Requisitos Mutáveis Rastreabilidade de Requisitos Processo de Gestão de Mudanças Requisitos Estáveis e
Leia maisÁreas de Conhecimento de Gerenciamento de Projetos
Áreas de Conhecimento de Gerenciamento de s O guia de melhores práticas em gerenciamento de projetos, PMBOK, é organizado em áreas de conhecimento e, por sua vez, cada área de conhecimento é descrita através
Leia maisProf. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br
Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Ementa Introdução a Banco de Dados (Conceito, propriedades), Arquivos de dados x Bancos de dados, Profissionais de Banco de dados,
Leia maisGestão de Projetos Logísticos
Gestão de Projetos Logísticos Professor: Fábio Estevam Machado CONTEÚDO DA AULA ANTERIOR Teoria Gestão de Projetos Projetos Atualidades Tipos de Projetos Conceitos e Instituições Certificação Importância
Leia maisParceria de fato Ofertas de Fábricas Netweaver
Parceria de fato Ofertas de Fábricas Netweaver Objetivo Oferecer qualidade com o menor custo de mão de obra técnica na manutenção/sustentação do sistema ERP Fábricas Netweaver Fábrica Co-localizada Fábrica
Leia maisNBR ISO 14012 - DIRETRIZES PARA AUDITORIA AMBIENTAL- CRITÉRIOS DE QUALIFICAÇÃO PARA AUDITORES AMBIENTAIS
Sumário NBR ISO 14012 - DIRETRIZES PARA AUDITORIA AMBIENTAL- CRITÉRIOS DE QUALIFICAÇÃO PARA AUDITORES AMBIENTAIS 1. Objetivo e campo de aplicação...2 2. Referências normativas...2 3. Definições...2 3.1.
Leia maisSistemas de Informação: tipos e características
Sistemas de Informação: tipos e características Tipos de sistemas de informação. Os quatro tipos principais de sistemas de informação. Sistemas do ponto de vista de pessoal Sistemas de processamento de
Leia maisPDS - DATASUS. Processo de Desenvolvimento de Software do DATASUS
PDS - DATASUS Processo de Desenvolvimento de Software do DATASUS Coordenação Geral de Arquitetura e Engenharia Tecnológica Coordenação de Padronização e Qualidade de Software Gerência de Padrões e Software
Leia maisProposta de Projeto PPJ PPJSETIN2011094 Licenças para Estações de Trabalho e Servidores de Rede. Versão 1.0
Servidores de Rede Versão 1.0 Estado do Ceará Poder Judiciário Tribunal de Justiça Histórico de Revisões Data Versão Descrição Responsável 30/05/2012 0.1 Criação do documento Alexys Ribeiro 30/05/2012
Leia maisSIMPROS 2001. Experiência de implantação da norma ISO 9001:2000 a partir da utilização da ISO/IEC TR 15504 (SPICE) para Melhoria de Processos
Experiência de implantação da norma ISO 9001:2000 a partir da utilização da ISO/IEC TR 15504 (SPICE) para Melhoria de Processos Adilson Sérgio Nicoletti Blumenau, SC - setembro de 2001 Conteúdo Apresentação
Leia mais1º Seminário de Melhores Práticas
1º Seminário de Melhores Práticas SENAI - RS Painel 6 - Inovação Programa Inovar para Competir José Zortéa Objetivo Capacitar o SENAI e o SEBRAE como centros de referência em metodologias de gestão da
Leia maisLocal para EAD de um Curso
Concepção Centrada no Utilizador Aula 6: Workshop - Que dizem os utilizadores? Mestrado em Eng.ª Informática e de Computadores Aluno: Vitor M. N. Fernandes Mail: vmnf@yahoo.com http://mega.ist.utl.pt/~vmnf/meic/cadeiras/ccu
Leia maisEngenharia de Software Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1
Engenharia de Software Introdução Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1 Tópicos Apresentação da Disciplina A importância do Software Software Aplicações de Software Paradigmas
Leia maisECS -ASSESSORIA E CONSULTORIA TÉCNICA. ISO 9001:2015 Tendências da nova revisão
ISO 9001:2015 Tendências da nova revisão A ISO 9001 em sua nova versão está quase pronta Histórico ECS -ASSESSORIA E CONSULTORIA TÉCNICA As normas da série ISO 9000 foram emitidas pela primeira vez no
Leia mais