You are on page 1of 108
©2003 by Pearson Edson do Sas Tilo orga Share gna, 8 eo his Wey Pubs ined 1982, 1984 {GeasonEdveaton ited 1988, 2051 fblcacto auto pds eg nal em igs puaicats pe Penman Edsaion, ness slo Aion Wesley odo os Sets read, Reun parte Se blag poder Jor eproduida cutaneous car, Sec nec incund flop avaao au tuna: caro bp desea de amaeramen ‘coarse de ntomotio sem previa S430 por ero, SoMa ston do ie ‘senor se marcas eid Tor Noes mc pea tas Only Copan ioc O5 un nari ple Comper, ne ccc over Wows Se vt ere eh Caption DetorEloi:jse Martins Braga feo: Roger Trier coed Tero fits de Css Sa reparcio: Solange Apacs Vicon evn: tron Sparc Gs Sva Andrade Bet Abreu Capa: Maelo diva Frangoro (se o rojo da eos cial ‘laromacto. Pyatv Ate e Projet tial Dalostiernaconr de Calg ma PabiaSo (CP) Tos pr coe in 2008 Diion excaos para ingun port ‘cedides Pearon Education do ura empreta do pp Peso Educstion ‘av Ean Marne 1435, Lp ce 0S096 001, io Paulo — SP Bra eked) 36121222, Fae (1) 36h Prefacio Hoje em da. os sistemas de sofware estho em todos of lugares. Pratismente todo eq pamentoelérico apresentaalgum tipa de sofware; o sftwate€ ulzado para suas ms ‘peragdes da indistia manufatutela, das escolas€ universidades, da ser de asistencia said das finangas edo governo. Mutas pessoas wilizam software de diferentes tipos para fins de enuetnimento e de educagd. A especficaio, 9 desenvolvimento © gerenclameno fea evolugh desesslsemas de software constituem a disiplina da tagenbaia de sapere Mesto 0s sistemas simples de software em uns allacomplexidade Merete, onsen ‘erent, os princis da engenkaiadeven ser rpregds em seu desenvolvimento, Porat, a engenria de software € uma dcpina da ener segundo = ql os engenicros de Soforarewtlzam metotas ¢teoras da cinta ds computagao aplicam tudo iso de made ‘tiem em relagi 208 cists fm de slconar problemas cific, Exes problemas dels "Signfcaram que muitos projets de desevalvimenta de sofware no foram ben-suceddos, Condo,» maloria dos softwares moderosfrnece um bom servigo a seus uudos no deve ramos ter permitdo qu fthas grees preudeassem o sucesso real dos engenhelos de sof ‘ware a6 lange des times 30 anes. ‘A engenhara de software fol desenvovia em respoca a prablemas de const de ste- mas de software de grande pore prsonalizades,desinada a aplicagdes Industria, govern mmenals para o stor de defesa.Atalmente, dseavavemos uns variedade mio maior de produto de software desde Jogos para consoles expecaiaes, pasando por predates pars PCS sistemas baseados na Web, at chegar aos sistemas dsribuldes em grande esa. Embors algunas tenes apropades para os sistemas pesonalzads ~ como o desenvolvimento oer tao 2 objeios ~ stam universns, nos tGencas de engenaria de software exo evoluindo para diferentes tips de sofware No € postive! abordar tudo lo emu Unc ro: por so oncenre-me em teicas unvesis escicas pare o desenvolvimento de sistemas em grande (Seale, em verde produts de software individu Embors este live sea principio, uma Introdugto gerl & engenbars de sofware, ele € ventado aos meus propos interesses na engeaharia de reqisios de sistemas sistemas ertcos.Acredito que esses aspects sto parclarmente importantes pars a engenhara de oftware no século XX, quando enfentmor 0 desfio de asegurar que nose afar cu ra as reals necesdades de seus usuios. fem eausnrdanos 2 eles ou a melo ambiente 'Nabordagem uiizade nest lio €2 de aprsenar uma ampla prspectiva de engeaha ia de sofware e nto me concento em qulsquer métodes ou feramentasespeciicas. NBo Ine agadam os fanticos denen tg, quer seam academicos pregando os beneiis de metodos formals ou vendedorestentando me convencer de que alguns feramenta ou algun wi Precio - Pablico-alvo. = imétodo 2 esposta aos problemas do desenvolvimento de software. Néo existem soluges ‘Simple para os problemas da engenhavi de software e necesitamos de uma ample diver- sidade de istrumentosetéenieas para solucionarmos esses problems. (0s vrs, inevitavelmente,refictem as opinides eos preconcelts de seus autres. Alguns litres certamente nde concordaréo com minha opnidese com a escola de material. Essa fiscordincia € um reflecossudvel da diversidde da discilina ¢€ essen para sua evo> TugHo. Contudo, espero que todos os engemiros de sofware « estudantes de engenkaia de software achem ete livo nteresant, Do mesmo modo que muitos sistemas de sofware ete liv tem evolude € se modifi- ‘ado dee su primeira cgi em 1902 Una de minhas metas na prepararao desta edit {oi nfo aumenter a Tamanho do lio, © que exigh slguma reorganlzacaoe dices decsbes sobre a que exci, enquanto ainda inciia material novo e importante. Els o que voc vat ‘encontrar nesta edict: 1 Novos capitles que abordam processos de software, argutetuas de sistemas distribu os, sistemas legados e confailidade. A seq sobre especiicagéo formal esté em um Sinica capita eo material sobre CASE est dstsbuido em diversas eaptules. A sborda- fem sobre o proto fencional¢ apresenada em um capitulo sobre sistemas legados © = ‘verficagdo ¢@ vlidagdo sto tratadas em um tnico capitulo. + Todos os capitals foram aualizadose vris foram reesrits. Agora, 0 ruso enfoca 0 ‘desenvolvimento com o reas, com material sobre padres o desenvolvimento baseado ‘em components: 0 pojeto orientado a obetos apresenta mais de um enfoque em pro- ‘sso of requiitos so tratadosseparadamente em captulcs sobre requstos ropramente fitos «sobre o proceso de engenharia de requlstos, ea estimativa de casts etd atua- lzada para COCOMO 2. © 0 material sobre sistemas critics esd intgrado ¢ trata 6 confiablidade, seguanca e ‘lsponfblidade em conjuto, alm de protgso como om atributo de um sistema exitio. As leltwas sugerias, no final de cada capitulo, foram atualzadas sempre que possve Contudo, em muitos casos, os argos escritor na década de 80 ainda sfo 2 melhor intods so pars alguns tipicos Ova €destinndo a catudanes de corns de graduag e pis-raduagtoe @engemcros de oiware gue stim no comérco ena indir, Ele pode ser utlzado em casos de ene tia de software em gral ou em outos cursos, como os de programacso avangada,especifis ‘fo de software, pjeto ou gerencamento de soferae. Os profissionls podem achat o Io Tl para ure gral como un mo de atualizr seu conhelento em tipleosespecfcs, ‘ome engenhara de requisites, pojto de argue, desenvolvimento de sistemas de potegto ft melhoria de proceso. Sempre que possvel, aprescatel ume visto pitce dos exempos no texto, 2 fim de efi otpo fe alicagbes que es eagenhers de software deve desenvoler Presumi que os litres tenkam alguma familiardade bisica com programasio e sistemas se computa modemase também conhesam esuturas de dados basics, como pias, is- tase fils Este lito pode se ulzado em 1. Curses de irodugio ero em engenhario de software, Para estudantes que no tenbam cexpergncia pévia em engenbaria de software, € possveiniciar com a seg inroduo fie em segula,esolhercapilos a pari das diferentes segs do live. Esa opgt0 formecrd aos estudantes uma visto geal do sunt ¢possibillaré um estdo mats det Thado para estudantes qe tiverem malor interes, 2 Cursos inrodtirios ou intemedirias sabre tpicos especificos de engenaria de sf toare,O lio oferece material de apoio a curios sobre especicago de requsts de Software, projeto de software, gerenclamento de engenbri de software, desenvolvimento fe sistemas confdvese evolugao de software. Cada uma das partes deste liv pode ser- ‘vireomo um text especfico para um curso introdutrio ou intermedia sobre otpico fm questo, Suger algoma letra aiclonal para esses curses 3. Cursos mais avangdes sobre tépcosexpeicas de engenharia de sofware Nese cso, ‘os capiuls do tivo formam via base pare 0 curso, devendo set complementads com ‘utes letras que explorem os tpicos cor mais detalhes. Todos os capitulo trazem rminhassugestes para ours letras [Est texto pode ser utlizado em viros cursos tlaclonados, Com um nico text, os est dante tm 2 sua disposigho uma visio sbrangente do assunto eno precsam comprar viios ios diferentes. « Este live abrange todo 0 material suger no componente de engenharia de software do universe de conecmento da cincia da compatago,proposte pelo ACMIEEE, no documento Alenominado Computing Corcula 2001, Ele também ext de acordo com © documento do Software Engineering Body of Knowledge, do IEEE/ACM. site Web do tno (aplvww a. comfsommervilebs ta links pars o material de apoio para professorese alunos Ee oe suplementos que estiodisponives para dowoaé "Um conjunto de aprsentagbes em PowerPoint para cada capitulo. Os profesores podem adapta ¢ modiiar ae apresentagdesconforme desejarem. © Codigo-onte cm Java para a maior parte dos exemplos de programas individuals ‘nclundo citi suplementarnecesirio para compilaio refico “=o agradecimentos | Muitas pessoas contbulrm, durante ss ara a evolu deste li, e ostara de agra doce, em primeira lugar, a todos os que fzeram comentrios sobre as primeira edges ‘deram sugestes ara odiicagex Sou ato 40s revisores dos rascunhs inca dese texto, pela contrbugio de seus comentrios © su86Sugetes, que muito me ajudaram na realize (eda verso final ‘0s revisores do primeira rascunhe foram Andy Gils ¢ Lindsey Gili, da University of the West of England; oe Lamber, da Penn. State University: Frank Madd, da University of the West of England: Nancy Mead, do Sonware Insitute Engineering. Pitsburg; Chris Price da Wales University, Aberystvyth; Gregg Rothermel da Oregon Sate Univers. Guus Shvelber da University of Amsterdam, Gostarla de agradecer, em particular, 205 meus ami jos Ron Morison, da St. Andrews University, ¢ Ray Welané, da Glasgow Universi. que Fevisaram as edges anteriores e se ofreceram novamente para revsa et iv nalments, mina fama suport minha ausenca por mals notes do que gosto de pen sa, enquantofinalzava ese liv. Meus agradecimentes & mina esposa Anne e minhas fas Ale Jone, pelos cafes pea paiénca 0s editoes da edigdo brasicra agradecem a colaborapio dos seguntes profesores ‘Adnan Cursino Thome. da Universiade de Mogi das Crt, e Eas Fstevdo Goulart e Jusara Piiment Mats, da Facldade Batista Capitulo 1 Capitule 2 capitulo 3 Captuto 4 Introducao 11 ergunas frequents sobre engener 12. Regponsabidade pofisioaleetica, Pontorchae Letras supers de sofware Engenharia de sistemas com base em computadores 21 Propredodes emergentes de sstemas 22 Sitemae e seu ambiente 23. Modelagem de stern 2 0 proceso de engennaa de sistemas 25. Supimento de sistemas Pontorchave eituras sages Processos de software 5.1 Models de processo de sofware 32 haracto de proceso 33. Espeicacio de software 3A. Prjto implementacto de stare 35. Valdagto 6a sftware 36. Evclucto de sofware 5.7 Apoie 20 process automatizado Pontorchave Cees supe GGerenciamenta de projetos 11 Alvidades de gerencameto 42. Plangjomento de projet 413. Propramario de projet 443 Gerancomento de tos x Sumitio eee) Portarchare ra 104 viens de dono expecco 196 ‘Shree ze ronosdine rd tees ” tars peas mo 1 equ elicit 20 Caphulo 5 Requistos de sofware 81 1 Aegean de mice a 1 Regie mao eno dons os - 11.3 Arquitetures de objetos distribuidos 2 So ents te wato ss a ges ob zs 33 egies oe stera ” con Zn $4 tan eit dt = aoa " Leituras sugerides: 100, Srerciios beta ‘oo Captulo 12. Projet oientado a objetos 220 Ta objose dices de opts mm Caphulo 6 Processes de engenhai de requis 102 TRI bog cs Cop ea Er bases de vob ves 122 Poceno dy mec a 6.2 Obtencio e andlise de requisitos 108 Pontos-chave Be 6.3. Validacto de requisitos: us Leituras sugeridas: 259 Co coerce Se reptos i os to Pomcrure a (sues te Caputo 13. Projet de software de tempo rel 2 See i Ta peje stems 26 Ea seep ae Captulo 7 Modelos de sistema 4 132 Geatsdetenporeal ea 21 Medaios do contests ve 134 Sistemas de aquisicBo de dados 254 7.2 Modelos de comportamento. 128 Pontos-chave 28 13 oases is ‘sts sen PY 74 Modelos de objeto 135 Bxerescios BT 53. Ruments OSE em wotenches ie Pontos chave vat Capitulo 14 Projeto com reuso 258 Ces sgeias te va Desertimet send em componente 283 See ‘a 102 Ronts ue alte’ = Capitulo 8 Prtatipacto de software ae 163 Pads dep BS 8.1 Prototipacao no processo de software a7 Leituras sugeridas as 82. Técnicas de prototipacao répida 152, Exercicios 276 3. potipete de mates con wun ‘s ; Por neve wo Capitulo 15 Projeto de interface com o usuario 2 (Shes epi ‘eo Tar Pins de pte de race co mio 7 125 Apes sa oats 2 Captlo © especicagto formal 162 "35 foram ea ST epee oma ro proces de sofware tee 154 Alo oma a 9.2 Especificagao de interfece 166 Pontos-chave Bs 33. tye de cnporamento in aa 2 Pontos-chave 7 Exercicios 298 tshrs spdes i" eros ve Captulo 10 Projeto de arquitetura 1.1 Eseturoto do stems 102 Nadel de contole 103 Decormpaico em médulos 181 14 195 Capitulo 16 Confianca Ye Stems ctor 162. Dispmibiidade e cofbildade 165. Sepurence 164 Protecso 299 300 2xii_Sumétio q Sumérlo ill Pontos chave 33 i 1225. Selecdo e manutengto de pessoal 29 Caphulo 17. Especicaio de sistemas citicos ms j cos ss TT tapes de enfobidese 8 sofware ue | ee ee Ss | —- a nerdios 352 i 24a Medio e metas de sofware ac Parte 5 S | {ua supeas n Capitulo 19 Verifcagdo e validacso 357 | Capltulo 25 Melhoria de processo 476 11 Paneamento de versio e vida 36 | 251 Queldede de proceso de produto va 183 Andis estes automat 7 edibes de procesta Ps 135 te ec tomate @ | een eee a cas aoe ca ' eet ee ee oS "se i ss m Pontos-chave 412 g 27.2. ManuteneBo de software SIT Capitulo 22 Gerenciamento de pessoal a7 a ieee ant aah cist cea cas rea 283 Meborie de ett de programa 330 222 Trabalho em grupo aod iv Sumit 284 Modlaizago de programa sn 285 Reengenhora de datos saz Pontorchave 586 Letras sped S07 Capitulo 29. Gerenciamento de configuracao 549 28.1 Plngjamento de gerencimanto de configure ssi 202 Gerencamenta de mudoneas 54 293 Gerenciomento de verse releases 556 284 Contr de ssemes set 295. Ferramentas CASE pata gerenismanto de coniguraio 362 Pontorchave 566 Leite geri 566 rcs fal Referéncias 569 Indice onoméstico 581 indice remissivo 585 Introducgao © objetivo daste capitulo & introduc assunto de engenharia de solve. Depais de ler exe cpl, voc poder . compreender © que é 9 engenharia de software ¢ por que ela ¢ importante; 1D. saber as respostas de perguntas importantes que proporconam uma intoduyso & fengenhaia de sofware, € 12. compreender questoesprofissionase dias rlewantes par os engenheias de sofware 11 Perguntasfeqentes sobre engenharia de software 12. Responsabildade profssional e ca 4 Engenharia de Software Capitulo s + Inroducio 5 Fracamente ods opis, hj om da, dependem de comes Sema com be em computaores Cada vrais os pods incorprum, eg mode computador sf ‘rare de contol Nese stem salvare representa una fande eerste pepre {esto tal sistema, For ist roduc saftrare de um modo que apesate una Don rast caster ¢ enc pr © funconamente dat enone nacional eit i egecin desfhae & uma dsplina da gear xa mo deserves Gaon tieu com ten te comcbowhon Ose ¢ asia «ing Di por mats nen el par es fas eu pot Hac indsne De Sanco pie sega de wa. por ao have nia spr pe Gil do software or auto le conto, tsa mute de mags nal sgn Oseftarepo cnet se omar bane comple consented sr compre. Acagenbara de software snda€ ums dito ivament nove A nego de ‘eng nharia de software” surgi pela primeira vez em 1968, em uma conferéncia organizada para isc a chameda “rie do tofwar’ Ei ibe Tenia drctamente de nodal Inia es perio arate de emptor de ecm emp Sas cape torn ives apes de computor at eno Inmagine © sofware result es bem mae ema complens uct stemas de stare precedents "A cxpitc hcl de consturi dene ome orton qu i borage nor ial do senvavineio de sofas ce © bastante Pros importantes ofa fen is verde algins ann Por prea caso eu tne do que onic Prevod ne erm conve cam de del manure tn Serpe fe oO dsenvorinento estar cat em ie. scat de arate can, entato ts de softwar sblam plaanente: Novas tclas «moves odes ca ness pa Contolr a compldad eet sos rand temas de sottare essen omaram pred egeaara de softare sto gor amplamene, mas oo univesalment las, No extant sda bi poems em pod software coms ploy que atedn is expecatives Gow undo € que wa entregue dente do peo do Srameto ctaeeio,Nns pres sofware sins tim polemas «i evo lg ‘rics resman, 1997) suerte qu ener de sofa oem um exe de age ene, ‘edn que wos capaciade de pron software aumento, também creseu acom- plein ds stems e aware requeros, Novas tecnsogas qe esta da conver (face de star de compundiva de commiceio Cure Hove goes pre ot Enyce de nf. For cared © peo foe mut emprons op apcaren as tenes de engearia ce sofware de mancinefne ana tenes protien: Asia to to rum quanto os psig seem, max com cere hi go pers mcrae owe om pune pgrose dade 6h «2 dealer 6 eget de soe inchs de mole murano soar er pedis Tonos uc ata aor Ges sOaies coves no damit de sofa, Deserves més eases fe specter, pct inplemmngle de softwar Novas notice fears et ane altye acute pm pdt sitenas Bunks © ropes ‘scene estar podem, com race oflar de sn eaizac Sem sit wae compton tenor explode o pao ue feos snc es moderns ‘Ucomanlage foes o ms devine svn mi ego spends A ng shaved sofbvar ten onal maf, em tn cura este, c on conven Get media qu en aciin.amadree sua congo no slo Xs inde anor Ee a Perguntas freqdentes sobre engenharia de software sta sepfo tem como propésitorexponder a nlgumas pergunas fundamentas sobre enge= sharia de software, alm de fornecer ao letor © pont de vista do autor sobre a disiplina 1 formato uilicado nesta seo € delist de perguntas mas freqientes(fequently asked fuestions ~ FAQ), Ess abordagem & comumente ullzada nos grupos de dscusesd Intemet para proporcionar aes iicantesrespostas a erguntas feqdentementeformulaiss. Acredio fhue esa ja uma manira malo efeaz de ofrecer uma Introdugo simples & engenharia de software ‘As pergutae responds neta seg esto indicaas na Figura 1.1. 0 que € software? Mia gene associa o tet software aos programas de computador. Na verdade, essa & uma visto mito resrtiva. Software n2o € apenas o programa mas também ‘oda & doc Imentacoassoiada eos di0ar de confguigso necessris par fazer com que esses pro- framas operem coretamente. Um sistema de software, usualmente consist ei uma série de programas separades, arguvod Be cofiguagto que si utlizados para configura ests pro- (amas, documentagdo do sistema, que desceve a esruture dese sem, © documentagfo floasuatio, que explica com utlizaro SSM & no caso dos produtos We sofware, sites ‘Wied pare-osusutios fazsrem 0 downlond das informagbes recentes sobre o produto. (Ds engenbeiros de software se acupam de desenvolverproduos de sofware ito & soft- ‘ware que posse ser vendo a um lente, HA dois ips de produtos dg software: 1. Produtos genéricas So sistemas do tipo stondloe, roduids po a oganizasto Gc Bsenvavineto vendor no merce snr cent capaz de aque. Aguas ‘es reermosnos ees como pacote de software. Dente os exemplas dese tga de proto esto as bases de dads, es procesadores de text, os pases de deseaho ¢ as Ferramentas de getacament de projets 2. Produtos sob encomenda. (ov pesonalizads). Sto os sistemas encomendados por vm lente em particular. 0 software & desenvolvido especialmente para aquele cliente por uma empress de software. Dente os exemalos dese tipo de software destac-e temas de contoe para disositveseletrnicos, sistemas exrtos para serem compatves com um procesto de negdcio especficoe sistemas de controle de trifego are ‘Uma diterenga importante entre esesdveros tips de soRware€ que, nos produtos ené- ricos a orfanizagio que desenvolve 0 software contoa sua especfcaio. Para os produ {os pesonalizados, a especifcagto ¢ usualment dsenvolvda econtroada pela ongenizasio {que std comprando o software. Os desenvolvedores de software devem trabalhar de acordo ‘com esa specifica, © que é engenharia de software? ‘Acnenaria de software & uma dctna da engeaara ques ocyp-e todo 0 asp toed produ de sofia desde os tori de expec sea até mani {cig dese sea, depos que ele entuou em operacto. Nest defini, hl duas fases Anyone —— “Diciplina da engenhasa os engenberes faze os produtos funcionarem, Els aplicam tears, metodos ¢ ferramentas nas stages apropriadas, de modo seetiv © sempre 6 Engenharia de Software He & state? So os progamas de computador «x doneentco ec. Prods atware pode St desewehor po ete ‘Spedice cu pao mada oe (© gie eer de ou? Engen doe fe softre ¢ uma dina ds engeas ue oops (oon o aspecoe dh poo de sft (at 2 eens er ee A inn compacta soca de esa ¢ ds fundamen 8 teenie de sacra a pangs de deme oecet, tc de orp) ome ua rags ene Cit ne ‘A egestas 2 op de ods os spats elacondes {aeseohinerto de tens can bse con dar soterewengernars de potece Argo de {ote & pate dese pean ne Menuet ‘genase sta © qe um pcan de sta? mento de ti conn esa eta denen a oeeum una repeats snpiads dum paca deste ‘estos pat de uma penpecne Speck ns ac de, Jovorindamerte 6 pr cro doe sn sh elon 20 ‘Ssonimerto «40 por cot sh arto rete oes. Pn 2a pertonaindn, os aston de soe enter ‘edon of cms de dentin 0 ge ato moos de engrhra ooestom ‘So abordgens esrutydss pr 9 desercimato deste, gue Poe dete de poceaoe us comands de 0 gue ¢ ASE (caput ates Sto eras de stare derisdor 3 propre site tngoeviy = cpa ‘Ntostindo Os athdades de poco sownre. Os sates CASE sta "npn? $a eaberementeuatsdorPr propoion’ sons mon Go ais de um moe? or de rat us nade Serenata «Swope! metry be © an oo ce iio etd arco sts eon sneer deride ¢ ender ‘fs exigdncias quento 2 prazos de eniroga redutidas. “ Fines A pocoram dss sous par os probe tem rs par problemas. mem quando exe ess al rer npng She er ea Gr or an on pe es = com a ets ovgnizaconas¢fancias asin, proce Sle (qe estgam dentro dessas restr odes o sett de rao ese st ate anges d sofware nfo edd 2. ocenos tei fe deseoevinens de salar os tannins como O erercameto de poco de tra 0 ssmvotden de ferent, més {tora que deo po & pred de sare 0 de selecionar 0 método mais spropriage pare um conjunto de crcunsténcs,e uma abordagem a sth informal para o desenvolvimento pode ser eficaz em algumas circuns cs desenvolvimento informal é particularmente apropriaio esse de habilidades de software € projetos graficos. mee 1a3 aah Capitula a+ Itvoduedo_ 7 qual é a diferenga entre engenharia de software e ciéncia da computagao? ‘Esencanente, a cncla da computagto se preocupa com as teovias « os métods bse con ntete 1 cOMUGaTs€ stems de software, enquatt s engenhara de software Prmee por mate de em anes. Contudo, como © pecentual de software em sas crs #8 ‘ana de engenbaria de sovare, comin, por exempo, a modlagen de we case 0 gre~ Stents de configura, esto sendouizdss no proceso de engenharia de ssemas. A eng tara de seas srt icatida com mais detalhes no Capt 2 (© que é um proceso de software? Um proceso de software &um-cajunta de atvdades ¢ resultados asocados que gram uy prdutn de sofware Eras atvidaes sf em sua mais, excutdas por engembies Te pmare HE TUNE atividades de proceso fundamentals (que srdo abordadas pstrior- mente este iv com essos de software, Esns atividades sto 1. Rspsifcage do software funconalidae do software 2 resis em sia opere+ 0 deve Ser defines 2, pecweininent da software 0 software deve st produido de modo que atenda 8 suas capecicaes. 4, Veda do software 0 software tem de ser valldado pare garantir que ee faz ou cliente desea 44 olande do eatware 0 software deve evolulr para atender 4s necesiades mutivels do cent piferentes processes de software organizam casas atvdades de manelas diversas ¢ sto ders em dferentesniveis de deals. Os prazos das aivdades vara, do mesmo modo Aerts resltados de cada atviade, Diferetes onganizagies podem wilizar proceso it~ rites pars progr 9 mesmo tipo de produto. No enantn, alguns procesos so mals ad ‘Rf do gue oats ara alguns pos de alicao. Se um proceso Inadequado for tzdo, Engenharia de Software 14.6 isso provavelmentereduich 2 qualidade ou 2 uldade do produto de soRware a ser desen- volvo (s process de software seo discus mais detalhadamente no Capito 3 0 importante \épico da metoria dos processos de software ser dsutide no Capitulo 25, 0 que é um modelo de proceso de software? ‘Um modelo de process de software uma descr smplifiads de um proceso de sof- ime et present v parr de uma perspective epee. Os modelos, pea sa nat Fea, so snplieages: «asim, um mofo de process de software & uma abso do proceso val que et send desert, Dente models de process dstacan-se avid {ue sf parte do proceso desotware,prodtos de softwar €o papel dak pesos envoli= fas na engenbaria de softvare.Algunsexemplas dos tpos de models de proceso de sot: ware que podem ser produios slo 1. Umemadelo de wookow Ele mostra a soca de atvidades no process, juntamente com suas ena, sidas¢ dependéncias. As atidades, esse modelo, epresetal AG humanas 2. Um modelo de fare de dads ou de aiidade_ le representa 0 proesso como umn cons Jinto de atvidades, cada uma das quasrealizaalguma transformayto de dados. Esse ‘modelo mostra como a entrada para proceso, tl como uma especifcao,€ transfor ‘mada em ume sada, como um projet. AS atvidades, ness cso, poder estar em um nivel nfror a0 das stividades em um medelo de workflow las podem representa ans- formagtesrealizadas por pessoas ou por computaores. 5. Umynadele-de-papelgdo Esse modelo representa os papeis das pessoas envolvias no prOces56 de software a aivdades pels quls eas so responsives. 1. O modelo em eascata Ele consider as ativdades mostadas anteiormente€ as repre- senta como fess separadas do proceso, como epeciiagses de requis pojeto de softare, implementao, testes assim por dante. Apés cada estigo ter sido defini, fle &aprovade eo desenvolvimento prossegue para estgio segint 2 Desenvolvimento evouconivio Essa abordagem intercala a atividades de especifica- ‘desenvolvimento evalda¢o Un sistema inal €rpidamente desenvlvida a. Ur de especiicagoes muito abstats. Em seguida, ele € refinado com as informagées fo cliente «fim de produtr um sistema que satsfaga suas necessdades, O sistema pode, enzo. ser envegue. Como altemativa, cle pode ser reimplementad, utlizando tums sbordagem mals estuturada, para produzir um sistema mals robsto e com maior faclidade de manutengte. 3. Tronsformagto formal_E3sa sbordagem se basis na produsto de um especfcagio fomal matemdice do ena ena asfomacto dessa especieag,uando-se neo dos matemstios, en programa, Ess transforiagdes preserva a correo 0 significa que se pode ter certeza de que 0 pogzama desenvolvid atende a sus epe- icass. 4. Montagem de om sistema 0 portir de componenesreilidveis Esa helen supte que pares do lena ja existam, proceseo de desenvolvimento do sistema se concentra. nt liegracio dests pares, em vez de desenvalv-las 2 parti do zero. 0 reso de sofware ser extudado no Capitulo 1. Retomarel esses modelos de processosgenéricos no Capitulo 2 fees > Fiera > amor de eo Capitulo 1» ntoducdo 9 Quais 80 os custos da engenharia de software? “do existe wma resposta simples pare esd pengunta, uma ver que a dstibuigso precisa “ge easton 20 longo do proceso Ge software depende do process ublizado ¢ do tio de sot- stove que ctl sendo desenvelvdo, Se consierarmos o custo total de desenvolvimento de Un comlexo sistema de software como de ce unidades de custo, « dstibuigdo dessa ui (des provevelmente seri semelhante ao que mostra a Figura 1.2 Toss ditbuigo de castos pode ser empregada quando os custos de especiieagSo pro {eto implementagdo €interagio #40 medidas separedamente. Observe que = interagto © te tee do tema Sto as atividades de desenvolvimento mas dspendiosss. A Figura 12 igor que esas avidades representam ccrea de 40 por cento dos custos totais de desen- ‘oivment, mas, para algons sistemas fundamentals. ese valor pode chegr,provavelments, pera de #0 por eento dos cisos totals do sistem. paciasie Pawo —~*(esemaNimenin grab ete Se ostware for desenolioutlianose ua sordagem evn no exsti une nia Cas eve peti projet desenvoimera. A Fire 12 fia de sr ainda ars ee yo de deserves, como masta a Fura 13-0 cote de ape ‘Masih eed, porque sent a smear de ho nivel ¢ produ antes fo enevnet comin seo age As es de epi, ret, ae seer tnegragi eee sf elna en pro, deo ua avidade de dese Ti adn, sin ha ccesdede dena tia epards de ses do sea tama vez que 2 implementaio foil este terminada, specion ‘Desenlvnante eolcenia Teste 6 seme [Alem dos custos de desenvolvimento, também exstem os custos de aleragéo do sofware, Atpois de ee ter sido colocada em vs. Para muitos sistemas de software com um longo ‘alo de drag provavel que esses cstosexcedam os custos de desenvolvimento em tes fu quatro vees (Fgura 1. esenimern dean ‘otro essen 1 dissbulgho dos eustos, exemplifcads anteriormente, vale para software personalzad, aque ¢ espeiiado por um cliente edesenvalvido por uma empresa de sofware coiratads, fara os produtos de software queso vendids (prneipalmente)yara PCs, o perfil de custo { provaveimente diferente. Esesproduos Sto usualmentedesenvolvidos paride um esbogo fe epecifeasio utlizando una sboréagem de desenvolvinentoevolvioniio. Os custos de ‘specincagio so relativamente baxos, No entanto, por st destinarem a0 uso em wma fica Ur fremesconfguragdes. les dever ser extensvamente testados. A Figura 1.5 mostra 0 ‘pe de perf de custos que pode ser esperado parn esses produtos. pia bewahinent ‘ise ts de ser etimados. Em mulls 250 C0 13.8 Feats sormaoso. Pee item ep ecomendgtes iets de so Engenharia de Software os ests de evo pa rods 5 eee vert do produto 0 ai orator de makeing € pve fame competvel em ver de cso uss comp ‘vl compo, Pranao 8 A roterare personal ass feb verio ste . oa de cso par ssc de sehen ede os 8 arr percncament de fo usuara, Quando te liv ser utizados e no bavia auasaeet 0 que sac o métodos de engenharla de softwa tos de sofware genrios sto patcularmente difcis wy evolugio formal de um produto. Uma vex “Eingto tabalo relacionado & proxima versio ‘Sa sda apresentada como um produto nove Were modifiada de um produto que o usuirio ap no so egeradosseparadamente, como ocorre vesmente os cusos de desenvolvimento para & omc letrnico com base na Web &prova- es Edema, em era lta sofware de pales heats de desenvolvimento de interface com mak, oe, sea Seas tava apenas comeyendo se eso confves sabe seus cates de desenvolvic re? ran aboragem estruturada para 0 desenvlvi- fe sotvare € Un método de engenaris 1 otra produgo de software de ale qualidade, pre mento de software, cx obei”@ ‘SEntando uma boa relgio cust-beefl CISD Uackson, 1903] fram inilalieate ‘Serum entiieneos components fncion fados a fungbessinda slo anplamente vt Jeet come anise estrturads (DeMarco, 197) esevaivides na deada de 70 sss métodospro- ssonasbisigos Geum sistema, ¢ os métods oen- ado. Nas déadas de 80 © 80, esses mdtdos Tor métoosarentados 2 objeto, como aque- epee entaos sf Rug et a, 1990 sas diferentes abor- tes ropsts por Booch (1998) € Reba tdagens foram ineraias co uma Gch Tanpuage linguagen de moelagea ¥ Rumbaugh etal, 19392, 19950, "Todos o» mézodos se basta 94 ser repesentads grafcamente€ dew ida ae ‘fe sutema, Os metods deve nur un sre test No existe método Hea, ifr cexemplo, ov metodos orentados 2 M05 so pra ssc feceraivos, mas nfo paras Desccesdos modes de ten 2 BES Ris ene aed a Seemed seaies qv emo saplein* afc que cca agen) 2a ee enn mate Seva resist deseo moo Sam bemoremcen ets de ee ameosionene consti segundo © UML (orfied modeling Tata) Fowler e Scot, 1987: Boch etal 1998; eseovover modelos de um Stem que possam tear coer models coma una speci on poet de aieestes components (Figura 18) rodce tem seas 6 apleasiodvesicads, Por so, com rehtoca,apropados pare sistemas ms aever requis de tempo ra ues de jos, ods de fo dado deb de masa de eat ad eee em om mod de tema dee er ur bee dee a ote Stes asc ngs bende doar, ts ea iw pets tna Ton ten 13.9 Capitle 2+ Intraducio at O que é CASE? © actnio CASE sgn computed software cgiering legend sofware com o uno de conptan Else eer wa anpla gn de tents ips de po {fu WES a Spl vind de proce Sefer, como sane de Sta mode de Ssena, «depureto eos estes: Todos os meods wulmete so func com tenon CASE asc, como no eas de elo prh a eae lads o mod, motos de and ge veream © moto do stems de act om 2 wan do méoio «gear de eatin pra juan exo da desert do Sinem. As framensh CASE pole amb cl um grata de gs qo, toma Sane ina cof pat do ode de stena «alguna arent de Po soe fe eonehos wo een de oar sobre oq fate seg “Ee oe ferment CASE desta 4d aplo hans € 20 pet algunas ven. cham de ferpment: Uppe-CASE ore di aplosfsss db prose {cso Foro no, fremenas CASE kasper a ale 3c Glo eros ft come deur, tens deadline propa, gana de can de tes «etre de programs As Vere, chads de foramen Lowe CASE Quais sao os at uutos de um bom software? Da mesma mancla que os serigos que eles forecem. of prods de sotare tem ma ‘trie de ouos atibutes asocados, que refletem 3 qualidade do softwar, Fares atbatos lo so dlreamenteassaclados 20 que o software fz. Em vez dss, ees releem sea cOm- Poramento quando em funconamente, a esrtura © a onanizagio do programa fonte © também a documentagio assocads. Exemplos desesatibutos (bs veas, chamados de ar utes no funciona) sfo 0 tempo de respsta do software & consulta dew usta © 2 facldade de comprensio-do-céigo do program ‘© conjunto especifio de atrbutos que Se pode eperar de um sistema de sofware depende obviamente de sua apliceio. Porno, um sistema bancrio tem de Ser Seguo, um Joga late- tative deve er uma repost repida, um sistema de conole de tlefonla precisa se conlivel «assim por dante Iso pode ser geneaizado pelo count de abuts mostado na Figura 17, que So «meu ver, as caracteristieas eens de um sitema de software bem prletada, [As ekenlcasdiscuidas neste lvro abordam dois desss arbuts, a saber: faeldade de nanuteagio e confablidade. A malora dos mdtodos de engenhara de software 43 fer rents e das tHenleas€ lrecionada para 2 prodagio de software com exes arate. ‘A metharla de desempenho do software gealmentedepende do conkecimento de tm stor ruta especfco, e sua fcldade de uso merece um tipi principal separado, com $68 Prdrio lugar de destaque, que srl ascutido no Capitulo 15 Quais séo os princip: software? desafios enfrentados pela engenharia de ‘A engenbasia de sofware, no século XXL, enfrenta tre principais desis 1. O decaf do legado A maioria dos grandes sistemas de software em uso atalmente fo dlesenvolvida Md mules anos e, condo, opera importants funsbescorporativas dest- 5 do legado significa poder fazer a manengio ea aualizagio deses sofware, para ‘vir cision exeeasivos eprsseguir com 2 prestasio de sengoscorporativs erent 2. Odesafie da heterogenidade Cada vez mais se exige que of sistemas operem como st temas dstabudes por melo de redes que possuem diferentes tipos de computadores € diferentes pos de sistemas de apoin. O desafo da hetergencidade se refere a dens 1:2 Engenharia de Software Figua 17 > ins estes den bor 14.2 Fockdnde de martengio stone deve sr esto de modo qu os ev pt send Sromeier mito do rts eu bub cual, ous armoire ur sfe so ua cones ‘veel de um eet de hegios em const mac. bl de coniangn Oi. cafe do stare tam uma gaa de cactsisias ‘ur nelson conaan pstein © see. O sate ‘tel dive ost donor faa a condi ho so Som det no seme icin ‘sofas ni dee despa o recs do str, como tremor ¢ ce do pocesnir.hcicane,porartainl = es fn eng pcan a de Facade deo © stare deve se ic sem esos nds plo Spe de Seto pura quem ol pjatd so Sn que ele eve dap de Sia pos wd oon volver tenkas para constoi softrares confives, que seam Mexivelso bastante pare Tider com essa heterogenelade 2, 0 desafo do fomecimento Muitasténicas de engenhaia de sofware tadcionas sto Imaito demoradas.O tempo que elas gustan € necessro para que atinjam 2 qualidade de sofware exh. Contos empress stualenteexigem reposts rpidas ese mod- fieam muito rapidtmente. Seu software de apo deve se modifica com a mesma rapi= ‘ez. O desaio do forecimento di respelto a eduzir 0 tempo para 0 fomecmento de sistemas grandes complexos, sem comprometer a qualidade Naturamene, ees desfioe no so Independents. Por exempl, pode er necessrio faxes rmudangs ripe em un sistema legado, para tomé-loacssvel por meio de uma ree. Part resalvrmos esesdesfing, preisaremes de novasferamentaseténieas, bem como manci- ras Inovadorss de combinar utilizar os métodas de engenaria de sofware ji existent. Responsabilidade profissional e ética [Assim como com com os outros engenheiros, os engenelros de softrare devem acel= tar que cu ttabalho envolveresponsabliades rms smplas do que a simples eplcago de habldades tenes. Seu trabalho € realizado dentzo de uma estrutura legal e soil. A eng nara de software & com certezs, dlinitada por les less, nacionais e interacionas. Os ngenheirs de software devern at comportar de mancira responsive, ia e meralmente para sere respltads como prfissionais. Nem é precio dizer que os engenelos devem manter paites normals de honestéae © Integridaée Eles no dever tliat suas eapactagbeee habliades para se comportaem de anes desonesa av que possa tater dsctdto 8 profsso de engenharia de software. No tatant, existe dreas em que os padres de comperiento aetivel no esto delimiados por lee mes pela nagto mas tee de responsblidade profisonal. is alpumasdesas des 1. Confidencatidede Os engenteiros dever, normalment. respira confdencaliade de seus empregadores’ ou clientes, quer team ow no asinado um acordo formal de con Fidencisdade Capitulo 4 + Inodugso 9 2. Competénie Os cogenbeirs nfo devem enganar quanto ao seu nivel de competénci. Ito devem conscientemente aceltat Servis que estejam fra do seu limite de compe: teal, 2. Dietos de propridade intial Os engenilrosdever estar cients da leis Tocis ‘ue regula o uso da propricade intelectual, como patentes direitos autora, Els fhevem ser culdadosos, a im de assegurar que a propriedade intelectual de empregade- ese cllentes sea proved 4. Mé utizagta de computador: Os engeblrs de software no devem empregarsuxs habldades tecnica pare 0 mau so dos computadores de outas pessoas. O mau uso de ‘computadores abrange dese casos relatvamente trivia (por exemplo, gar no comp {ador do erapregadon até casos extemamentestrios (como a dsseminario de vis) ‘Acs eset sociedad nstilgdes profsionaisdesermpenham um importante papel Ongannages como 9 ACM (Assocation for Computing Machinery) o IEE Onsite of Elec tnd Electronic Engineers) ¢ 2 British Computes Society publicam um cddigo de conduits pro= fissonal ou cigo de dice. Os membros dessas erganizagbes se comprometem a seguir est ‘igo quando se ngcrevem como membros. Essescédigos de conduta trata, em geal do ‘comportamente teo fundamental, "A ACM e 0 IEEE cooperaram na producio de wm e6dlgo comum de atica de pits proisonal. Ese cigo exist tanto na versio resumida, como mostra Figura 1.8, quanto ‘a mnie extens (Gtterbar ee, 199), qu aeescenta detalhes€ conieldo & versio com pact, A base ligca de sustentapio dss cdg est resumida nos dois prmelrs page foe da verto mate detlhnda « (0s computadoresdesempenhom um papel central ecrescente no comérco. na insti, ro govero, na medicing, na educoio, no extretenimento na sociedade em geral. Os ‘engenhers de software sto aguees que contrbuen, por parttpaso dreta ou pelo ein, pera a anise, a expecifeagsa, 0 proj, o desenvolvimento, a cerfcagt, © manaten- fie cos testes dos stemas de sofware. Em rozio de seu papel no desenvolvimento de Sistemas de software, eles tem oportuidodessignificaioas de praticaro bem ou de eau Sar o mal, de copacitar ora pessoas fazer 0 bem ow cousor 0 mal ou de inflvenciar tutes indviduos« prticor © hem ou ccusar © mal. Para gorati, rato quanto poss- fe, que seus esforgee sejam wilzados pare 0 Dem, eles devem se comprometer a fazer ta engenharia de sftware uma profsdo benficee respltada. De acord com esse com- promiss, eles devem aderr ao sepuine Cidigo de Eten ede Price Profisiona. (0 Céigo contém oto principles relacionados ao comportamento& is decsbesossumidas pelos engenhiros de software profsionais, incase prticante, educadores, grees Siperisorese responses pela definigho de poco, como também estagirios eest- dlantes da profisdo. Os prnciplos Identifcem 9s relagses de responsabldade eco em ‘qe inividvos, ropes onganiaagSespariipem, assim como as principas ebigaées deni dese relacionamento, Ax clusulas de code principio 840 lastagoes de algumas ‘des obrigagdes incuidesnesas vlads. Esasobrgoges esto fundamentadas na huma- idede do engenkero de safare, no culado especial que €devido a0 pessoa ato Delo taba de engeniros de sofuare @nas elements singulres da price de enge- ‘hori de sofware. O Cédignprescree esas quests como obrigagtes de qualquer um fue flgo ser ov aspire ge armor ume engenbeie de sofoare Em qualquer stuagHo em que pessoas diferentes tenham pontos de vista ojetivos dif rentes,¢provavel que nos defontemr com lems éics. Par exemplo, se voce discoda, fm principio, das poliseas dos nivee mais ltos de gesio a companhla, como deverd rea~ 24 Engenharia de Sofware ge dec © de pita poisons ds egenhais de software Fortra de ACHIEEE-CS soe cs & pris poisons da ego e fare Prateulo "Aree reanie ocigo spesna a espe mm to nil de bert; a me que et inchs na veh intel do eepls deta: decom rar tegotarmoditcan 2 mda pl ual anes camo profasonas “Tener de atte emesis oe ees peer ar mato pce ¢ esas 0 (far e steer po torr aparece inporriag masa! ton sproies © dete omar re ‘teige cos, ranges de oars compre ae da ands, de especies, do pt, do deseo, dos tests ods nana de so a pss bea ep De act com Sea srparns cm said, ‘Suna eo art 60 plc, sngeaor Se okuere Severo ede ons egies panies 1. OBL - Os egenios de stnre aldo concernant cm ones pbs 2 LENTE€exPRECADOR ~ Os eng de ature gro de ue mana que eer cnforidae com of ‘roves ntres de tur care emarepesrs «crs cm 9 arse pis, 5. PRODUIO™ Os anges deste deeso agit que sus Pods as osares 3 eles elacondes Camper 9 hs ao pee paisional pose. 14 IMLEAIE\RO os engi de satuare matt tage e independence seu ulgomentspoisonal. $ Caneciwtiro = Os uae oot Hons Ge engin de mbnare state cpromeas ra sbegem Hc faa guencento do osenirann So manuterst de sate «5, brorsShe or enpnnors de rote ementarto = ntepiade Yepuace da posta, de modo conte como mtese pica 2, GOLEGAE "os expenses de stn eto tore dro apo 2 seus eles. 1 SESEOAL — Or enunor de cae peep de sprenaatecrsate com aco 8 pia ds piso © Domovera ons Soong es denn pin Figwa 18a £8? claro que iso depende dos indviduos em panicuar « da natureza dessa discondin= crest "-din.Prefro a sbordagem mais conereta incorporada aos cago de con- uta e pric, Acredita que = ética€ mais bem dscutda emu contexto de engenbarla de Software © to como tim asso em sua propria rea. Nest vr, portant, a0 inclue di cusses tices abstetas, mas, quando apropriad, arescento exemplos nos execs, Que sam ser «base de uma discussio eis, A engenhatia de software é uma discipline de engenhara que se ocupa de todos 05 aspects da produgio de software 0s produtes de software consitem de programas desenvohidos © da documento ‘ssocada, Os autos essen dos pradutos s30 a facidade de manutencao, 3 ‘confanga, a eficénca e a faciidade de uso »- O process de sofware consiste em atvidades envolidas no desenvohimento de produtos de sofware As atidades béscas sto 8 expecicarto, o desemvohimento, 8 ‘lidato e a evolu do software. - Métodos sto os meios organizades de produsr sofware. Ele induem sugestdes sobre 2 processo Ser seguldo, a8 notagbes a Seem utizadas, as reras que regem 2s Adescigbes de sistema produzids eas dretizes do projet. As foramentas CASE sie sstamas de sofware prjetados para dar apoio is atvidodes de ratna no processo de software, ais como ede dlagrames de pojetoveiicar 2 Consitenia de cagramas 2 manter 0 conte dos tests de program que sto realizado PONTOS-CHAVE Os engenhetos de software tém vesponsabildades para com a engenharia come polio ea sacedae. sno deem a precepurecvarete om austes Weenie > As sociedadesprofissionsis publica cbiigos de conduta que estabelecem os padrbes ‘omportamentisesperades or seus membos. 36 Engenharia de Software PERSE Sofeyore engineering: on engineering epproach. Um texto genrico que inci uma sie de estudos de ‘aso Utes (LF. Petes @ W. Pedryez, 2000, John Wily and Sons) “software engineering Code of Ethie is approved’. Um artigo que disute a base do desenvohimento do Cigo de fea da AEM/EEE © que Incl a vesto vecumiga ea veteto completa do Codigo (©. Gotterbam, K Mller eS. Rogerson, Comm. ACM, out. 1999) Softare engineering: a practoners approach Um Suro genético que examina ample variedade de tépiens do engendara de software. (RS. Pressman, 1997, McGraw-Hill) his and computing: ving responsibly ina computerized werld. Uma boa visio gerl do tépeo, em Conjunto com uma sila de atigos mais especaizados. (KW. Bowyer, 1996, IEE Computer Society Press) Professional sues in sofware engineering, Eze & um excelente vo que dscute quests legos © profisionas, assim como questes dies (F Bol, A. Coleman, J Eaton © D. Rowand, 1995, UCL Press) No sive bullet essence and accidents of software enginetng”.Apesar de ser mais antigo, esse ago & uma boa introducdo gral sos problemas de engenhaia de sofware, Sua mensagem essencal ngo mudou fos mos 13 anos. (FP. Brooks, EEE Computer, 20(8), abr. 1987) SEuEre 1.1 Fazendo refenes 208 custs de disrbuigho de software, dscutdes na Sec 1.1.7, exlique por ‘qe € apropiad considerar que o software & mais do que os progamas que podem ser executados pelos usuiios Frei de um stems. 1.2. Que to oe quatro princpsis atbutos que todos os podutos de software devern te? Sugita quatro ‘tos autos que podem ser signiiatwos 1.5 Qual & dierenca entre um modelo de processa de sofware © um processo de software? Sugi ‘ols meio pelos qusis um modelo de processo de sotwore pode ser Us para a identicacio de possves melhorias de proceso 1.4 Explique por que os custs dos testes de sistema sto pariculamente altos para os produtos de twats gendics vendidos para um mercado muito amplo. 1.5 Os métados de engenhaia de software tomaram-se amplomenteutlzados apenas quando & ‘enologia CASE feu disponvel pao oferecer apoio. Suga cinco tpos de apoio 8 mtodos que podem ser propordonedes pela ferramentas CASE ‘Além dos desatics dos sistemas legodos, da heterogencidade edo rapider de forecimento, identfique outros problemes e desaos que a engenharia de software com certeza deve enfentar 90 sfeulo 7 Discuta se os engenheirs profsionais devem ter um diploma, asim como médicos e advogados. {.8” Para cada uma das clsuslas do Cigo de fica do ACM/IEEE, mastradas na Figure 1.8, sui um texemplo apropido pare iste Engenharia de sistemas com base em computadores © objetivo deste capitula& introdunr o conceita de engenharis de sistemas com base fem computadores e explicar por que 0 conhecimento da engenharia de sistemas € importante para os engeneirs de sofware. Depos de ler este captlo, voce poders saber por que o softwere em um ssteme & afetedo por questoes de engenharia de sistemas mais amples 1D. obter 2 intrduczo 20 conceito de propriedades emergentes de gstemas, como ‘onfisbilidade, deserpenh, seguanea protedo: 1D. compreender por que o ambiente do sistema deve ser considerado durante 9 processo de projeto do sistema, 1D. compreender a engenhatia de sistemas os processs de suprimento de sistemas. 2.1 Propredades emergentes de sistemas 22 Sistemas seu ambiente 23. Modelagem de sistemas 24 0 proceso de engenharie de sistemas 25. Supcimento de sistemas 38 Engenharia de Software -Aengerara de sistemas 2 atvidaie de expecta, projet, implementa, valida, mplan- 7 tare manter os sistemas como um toda. Os engeneiros de sistemas nfo se ocupem apenas ‘om o sofware, mas com as Interagtes de sftvat, hardware sistema com os usudros ¢ \sew ambiente les devem pensar sobre os servis que o stems force, a etiges dene todas quals o sistema deve serconstuldo ¢operado as interagdes do sistema com seu ambiente Os engentelrs de software necesamn de uma comprcensdo sobre engenharia Gesisttas, porque os problemas de engenharia de sofoere sto, fegdentemente, © rs. ‘ado de decsos da engenaria de sistemas. ~ Ha muias possvesdefnigdes dem sistema, desde 3 muito abtata at amas coneret, mas uma detnigio sti seri Ui sstona & uma cledo sionfearva de componente iterrelaconades, que tabathom em conjunto para ating algum abject, ssa definigdo gral envolve uma vasta gama de sistemas. Por exemplo, um sistema ‘multo sinples, como uma caneta, poe ter apenas ts ou quatro componentes de hardware. Por outro lad, um sistema de controle de tego aereo € consiudo de mllares de com ponentes de hanware e software. alm dos usurios hamanos que tomam dels cotn base has Informagies sobre o sistema omit Sorcmes que ntragenente i iga 21 most lgns dos sistemas qv ode er ncorporados em um if de escorted aceinents de ceri de Sninae iris eee Se ogo 0 ties subsemas fentodo eifc, que € por a0 Yt, sen © tai et lca em us queen ia sm por date. O ambit toa de um stena so stems quedo no meno nel 0 smbinte ttl € co posto o ambiente neal mao ante So sea i ont Sees ‘aio Sera Considers o sistema de seuranga mosirado no canto inferior esquerdo Figura 2.1, 0 ambient local dese sistema de seguranga sio os outros sistemas den doef O ambiente total inc todos os autos sistemas do Indo de fos do cifco, na rot © na cide, Bem como os sistemas naturals como o sistema cliitico. Hi duas canbe pinclpals peas quaiso ambiente de um sistema precisa ser compreendido pelos engeneios de sistema 1 Em muitos eats, stems € concebido para produ slgumas mudansa em seu ambiente Pontant, um sistema de aquecimento modifica seu ambiente, aumentando ou diminsindo 2 temperatura 0 fancionamento corto do sistema, portato, somenke pd sr avaiado pelos efeitos sobre o ambiente. 20 funcionamenta de um sistema pode se feat por mudangas em seu ambiente dem ‘modo que pode ser de dic prevsio. Por exemple. o sistema eltrico tm um eifco pode ser aero por mudanges ambienas do lado de fora de efi. Um trabalho re Hzado na rua pode cortar um eabo de fore €o sistema eltrico fiat, portant, inope- rant, Mais sutiment, uma tempestade pode indus corents no sistema elec, afetando seu Funcionamento normal Da mesma manele que o amblente fico mostrado na Figura 23, of sistemas sto ttn- bém suas em um ambiente organiacionl so Inca politica eprocedimentos que so, or sua vee regidos por questespolitiss,econdmiess,sciis ¢ ambientais mais alas Se-o ambiente erganinacional nfo for sdequadamente compreenio, os sistemas poderao rio atender de necssdades das empresa © ser rmitados pelos ushéros © pelos gerenes onganlzaconais. Dentre 0s ftores humanos e orgeizacionaisprovenientes do ambiente do sistema, que afetam o projet do stems, destacem-s 1. -Mudongs no proceso 0 stern requer mudanges os procesos de trabalho, no amber? Se sso acontecer, certamente serdexgid tenamento espeifio. Se as mudangas fem slgoicatvas ou se envolverem pessoas que pees seus empregen, exit 0 ergo de 2 Mudangas nas trefos Os sistemas diminuem a habilidade dos usudeios em um anblente ‘ou far com que ees moifiquer o modo como trabalhat? Se ese Tor 0 ca, es podem ‘esinirativamente& introduc do sistema na organzapo Projets que envolvem gern {es que precisa mudar seu modo de tabalar, paras adequagéo 20 sistema de com- tadores, reqentemente se ressentem dso. Os gerentes podem pensar que seu Sus a organizagdo est send reduado, em virude dese sistema. 22 _ Engenharia de Software 23 Fewena > Lm seam les 3. Mudongos organiacionas 0 sistema moaiien a esrutura de poder plico em una organizacéo? Por exemglo, se uma onganizacio depende de um ssems complex, eque- les que ssbem come opearo sistema tém bastante pode politic, sss fatoreshumanos, soins c onganlzacionals sto, muitasvezes, cca para deter. nat seum sistema ating seus objetivo com sucesso ou no. Inflinmente a previo de sus ‘feos nos sistemas & mute dfict para os engenhelos que tf pouca experincia em ess tos sociais eeaturai: Para audar a compreende os efeitos dos sistemas nas organizages, ‘Viras metoologias tem sido desenvolvda, como a5 tenicas soca de Mumford (Mamtord, 1989) ca Metodologia de Sistemas Suaves de Checkland’ (Checkand, 1981: ChecKland ¢ Scholes, 1980) Foram reliados também extensosestuds socilégios dos efeitos de ss nas om base em eomputadores no trabalho (Ackroyd etal, 1992) ‘Coma ideal todo o conecmento ambiental relevant deve ser incuido na expeiiapto fo sistema, de modo que so ja levado em conta pels pojestas de sistemas. Na reall fade so éimpossivel Os projetisas de siteras devem fazer suposiges sobre ambiente fom base ex outros sistemas equlvalentes © no bom sexs. Se els erarem quanto 2 iss, ts sistemas poierio apresertar mau funcionament, de modo imprevsive. Por exemple, se ts projets de um sistema no comprecndere a nogio de compatibiidade eleromagné- tie, sistema poderd funclonar iadequadamente, quando lnstalado com cues sistemas (que eta radiagto eletromagnitica Modelagem de sistemas q ‘como parte dos requisios da sistema e da aividade de prajtos, 0 sistema precisa se ‘modelado como um conjunte de componente ede relagdes entre ests componente. [0 & fommaimente,fustrado graficamente em um modelo de arquttura de sistema, que propor- ‘ona ao lor uma visto gral da organizagio do sistema ‘hargltetura do sistema &geramente,rerataéa como um dlagrama de blocs, mostrando ‘os suisemas pincpas eo nterconexBex entre ese subsstomas, Cada subsistema & repre Senta or uit retngulo, no dsgrama de locos. e& existéncla de uma relagdo ene os Subsistemas ¢indicada pr fechas que llgam esses ectinguls. Os relacionamentosindicados podem inclirfaxo de dados, uma relagio de ‘usa Tusado por ou algum outro tipo de rt (0 de dependéncia, ase esquema est iustrado na Figurs 22, que masta a decomposigi de um sistema de slarme conta intusos em seus competes principals. diagrama deblocos deve ser comple- Imentado por breves descigbes de cada subsintema, como indica a Figure 23. Pe C=] Capitulo 2 » Engenharia de sistemas com base em computadores 23 ‘sesor de movimento Oitada movneto nos cmador mortars peo site, Sensor opts Detect baru depots mas ports exams oe antler de some Canta 3 ope do stems sone nite um a sina qian um nn & tect. sir de vor Sina uv menage de Ye dando eg pos i. ar de re Fras hamadaretras pa oir 2 equa, 3 po et Com ese nivel de detaes, o sstema ¢ desomposto em subsists. Cada subsistema pode ser reresentado da mesms manera, até que o sistema sejadecomposto em componente far ‘onal Os componentes funorals S40 aqueles que, quando vistos a yatr da perspectiva do Sabsistema, proporcionan uma dnc fanelo. Per outa lado, ur subsist usualmente€mul- ‘funcional Natursmente, quando visto sob outa perspectiv ow ac 3 do fabicante do com ponent) am componente funcional pode ele prpro er um sistema individual Hlistoricamente, 9 modelo de agultetura de sistemas fol uizado para idetiearcompo- nents Ge hardware ede software que possm ser desenvolvdos em paralelo. Cont, essa Aisingdo bariwarelsofoware ext se tomando lelevante.Atualmente, quase todos os om ponentespossuem alguns recto de compotaeio embutdos. Por exemplo, uma rede que onecta maqungs consistra em cabos isos, mas os eepetiéorese gateways de rede. Os repeidoese 0 gateways incuem proessadorese software para dir esesprocesadors, ‘sim como compoaenteseletbnics especaizados. "No qu se refered argutetira,stalmente ¢ mas apropladoclassifear os susistemas de condo om su funglo, antes de serem tomadas deises sobre as vantagense 25 desvan~ tagens ceferentes a hardwatelsofbware. A decisi sobre se wma funcao deve sr forecida em hatdware ou software pode ser regida por ftores ndo tenios, como a dsponiilidade de Componentes COTS (commercial afethe-shef~ stemas comerclals de prateer} ou o tempo ‘liponivel para desenvolvero componente Ds diagramas de blocos podem sr ulizados para sistema de todos os tamanos. A Fgura 2a isra9arquitetra de un sistema mula maor para 0 controle de tréfego seo, Elson ‘dros subistemas importantes, que sto por si sO grandes sistemas, O xo de Informagbes enue esses subsstemas € mostado pela seas que conecam esses sistemas. Componentes funcionais de sistemas Come fot disco na segto anterior, uma argitetra de sistemas deve ser projetada em temas desutsstemas funconas, sem considear se ees sf subisemas de hardware ou de software, als propriamente, os componentes funciona em um sistema podem ser Casif- ‘dos de acordo com uma sede diferentes tls: 1 Componentes de sensoescoletam informagées do ambiente do sistema. Deseo exean~ ‘los de components de sensoresdestacam-se os redares em um sistema de controle de "uifego seep, os sensores de posiionamento de papel em uma impressora a laser € um ar temoetetico em uma fora 2. Componentes de aruadarescausam alguma mudanga no ambiente d seme, Dente 0s ‘exemple de atadoresdestacar-se as villas que sc abrem ou se fecham para aumen- tare diminuir a vazio de lguido em um tubo, as supericies de voo em uma acronaye. ‘ue contol odngulo de véo, eo mecanisme de alimenagSo de pal em uma impres Sora alse. que move 0 papel a0 longo da luz de escaneamento 24 _Engonarla de Software Fone A aqiten 6 un Sun conte ete as S=|E== 2. Componentes de compuragdo. sio componentes que, conserando alguma entrada (inp) vealzam algumas compurtagds sobre essa entrada € produzem ma said (st pull. Como exemplo de um componente de computacde esti o processador de ponto fk fuante que renin computagbes sobre mimers reas, 4 Canponentes de comunees sto componentes cis foncfo & peritr que outros compe rents do sistema se comniquer ene si. Um exemplo de componente de communicate uma Ethernet que conecta diferentes computador em um ef 5. Componentes de coontenag sto os componente de sistema cua fungto €coordenars foperagto outros componentes Como exemplo de componente de coordenacio et tm escalador emt um sistema de tempo real, que decide quando os diferentes process deve sr excaladoe ara serem executades em wm process. 6 Componentes de interface so 0s componente que tansformam a representa vt ‘aa por um componente de sistema eu uma representaglo empregads por outro cOB-§ ponente, Como exempl dso esta un componente de interface humana, que conse gum modelo de sistema eo exibe para o operador humano. Outro exemple € um «| ‘resoranalgco-dgital, que converte uma entrada analigics em uma sida dia [A Figura 25 explica quai desses diferentes pos de componente so ulizados naar tetura do sistema de alae, tustrado na Figura 2.2 Taturalmente, mio hé nenhuma dviso rigac rapids entre os diferentes tips deo ponents. ios tipos de sistemas em que os engenheles de sofware estarto provavelne Envolvidos. a maior parte dos components incued software embutid. 0 software ser fea, utlzado pars controlar o sistema como um todo. sss classicagbes de components sto eis durante o projeto de um sistema. A mal sia dos sistemas Incl todos exes tos de components. e& preciso explitamente i Fcar cada tio de componente a partir dos requsts. Se um ov mais tipos de compen cstiverem fltando, ito sugerré que algo pode ter sido dexado fra do projet, Capitulo 2 Engenharia de sistemas com base em computadores 25, Deteca movmeno em um spe poe, Serre pos aca aerra eu pots Peep comune Stentor ‘Acoso ana de cate er pe tone ‘Sam uss de nus ee mando doco decane, orders Comat de alame Gooden ods os components de stems, ‘nan nor comandor do pis ecole © nate Sinwtznor dese Stan mesa dando eae de 0 processo de engenharia de sistemas As fasts do process de engenhara de sistemas sto mostradas na Figura 2.6. Fie pro- eso foi uma importante infuéncia no modelo “em cascata’ do proceso de software, qe dscuiemos no Capitulo 3. Existem importantes dstingbes entre o processo de engenaris de sistemas o processo de desenvolvimento de sofware: 1. Emolvimenroimerdiseplinar Mulas diferentes dscplinas ds engenkaria podem estat ‘envolvdas na engenharia dessins. H4 uma imensh posbiliade de malentenddos, devido a terminologa diferente utiiada por diferentes engenelroe. 2 Possibilidade reduaia de referer © mabaho durateo desenolvimente de sstemes Una ‘vez que lgumesdecisbes da engenaria de sistemas, como a localizagao de raares em um Sistema de convole de wifego ateo (air afc convral ~ ATO) stam tomadss, els sto rmultoaipendions para soferem mudangas Refeero trabalho de pojaro sistema pre resolver esses problemas raramente & passive. Uma tao pela giao software fomou ‘to imporante pra os sistemas & que ele permite Nexbldede, uma vez qu podem se fe> 1s modifcagies durante o desenvolvimento dessema, em rsposta 3 novos requis. ‘A engenharia de sistemas ¢ uma atvidade interdsciplinar que envole eqipes com dif rents formagéestenicas. As equpes de engenharia de sistemas s80 necting por causa do !amplo conhecimentoexigido para considerartodst a8 implcaies das devisbes referents projetos de sistemas Considre um sistema de ATC, que wisn raresc outros senses part Aeerminar a pesico da aeronave(veja a Figura 24) A Figura 2.7 mos algomas das die- rents diciptinas que podem estar envolvdas com a equipe de engenbaria de ssemas. 26_Engenharia de Software 24 > leis ne Para muitos stemas, hi ptcament infinissposslidades de comprmisas ene der tes pos desusstemas Diferentes dscns de engenaradevem entrar em coro, para dee fie como a funonaldade deve ser ofeecida, Muitas vezes,ndo hé enum dest ‘comets Sor como um sistema deve sr decompest. Em vez ds, este vis alternatives pssives, 2 seo de uma des teats pode no neesaramente se ta or razbes tics Dgatos ‘que una ateratva em um sstema de ATC sj consur novos redres, em verde adeqata¢ Insalagdes existent. Se os engenbeos cvs envolvides ness proceso no tive cura trabalho important, ees pode favorcer exe altenativa, pos fm fz com que mantnim sas ative, Els podem, nto, clear esa escola wtlizando arguments nics Tm rzio deo software se inerentemente exivel muitos problemas insperades sto dei- ads para 0s engenlros de software reslverem, Suponhamos que a localizagio de um radar sea tal que um ‘ruldo' de imagem. impraticvel remover 0 radar assim, ¢ neces rio um outro mio de remover esse ‘uldo. A solugdo pode ser aumentar a capacdade de processmento de imagem do software, pare remover os "ruldos'de imagens. Iso pode ex- fio aumento da capaidade do processadar no sistema, 0 que pode ser uma tae dif (Os engenbros de softare, multo fequentemente, precsam resolver 0 problema de sumentar 9 capacidade do software, sem elevaro custo do hardware. Muitas das chamadss alas de sofware’ no foram consegaéacs de problemas Inerentes ao Soeware, mas rel tad da tentative de modifica o software para adequar modiieaptes nos requstos ds enge- ara de sistemas, Um bom exemplo dso ola fala do sistema de bagogens do aeropars de Denver (Swart, 1996) Definigao de requisitos de sistema [A atvidde de definigio dos requisites do sistema st destina a levantar os requisites do sistema como um fod. Assi. como na adlse dos requisites do sohtware.o proceso evolve Consults com os clientes usuios nals do sistema Esa fase de defnigao de equsts rnoumalmente se concentra cm derivar ts tipos de requis: 1. Requisitasfucionalsabsrotes As fangbes isias que seme deve ofrecer sto dei- hides em ui nivel sbstato, A expeifeagao dealhada de requistosfuncionals ocoe ho nivel o susistema. Por exemplo, no sistema de controle de tego ateo, esa at vided de definigfo de requisites, provavemente, identifica a necesidade de uma base, de dados de plano de veo para armazenar os planes de vos de todas as aeronaves que Iingressasem ao espaco aereo contolade, Contudo, os detahes da base de das no seria expeticados, 2 menos gue afeassem os requlstas de outs subsstemas 2, Propridedes de sistemas Estas Sto propriedadesemergentes de sistemas nfo funcional ‘somo ft dcutido anteriormente. Fs podem incur propredades como disponbildad, ‘desempenho,seguranga,enze outas. Ess propridades de sistema no funciona ae- tam a5 eeqlstas de todos os sbsistemas. ie ‘Sone ‘mane Beco jo ena eStore } ‘mows Capitlo 2 + Engenharia de sistemas com base em computadores 27 4. Corctrsticas que 0 sistema ndo deve exbir As were, € to importante especiiar 0 (qu o sistema ndo deve fazer quanto 0 que ee deve fazer. Por exemple, em um sistema Ae conte de trlfego aéreo, pdera ser especifcado que o stems mio deve apresen- tar multasinformagies a0 controlaor. ‘Una pate importante da fase de definigzo de requisites extabelecer um conjunto de cjetivosgerats que o sistema deve cumprit. Isso ndo eve necessariamente ser expresso em {ermos ds foncioaliade do sistema, mas precisa definir por que o sistema est sendo obtdo pars um ambiente especfc, Pare iutrar distingdo ene esses aspectos,considere um sistema para um prio de éettros, que deve ofrecer protesio contra Incéndos © detecpio de intros. Uma deca Tao de obetivas com bare na funionaidade do sistema ser Fornecer um sistema de alarme couea lactulose contra lnruss para 0 efi, com 0 jeivo de dvulgr isos tntetase externas referentes a Incbulios ud entrada de pes- 00 ndo outorzade se objetivo dela explctamente que é preciso existe um stema de alames para av- sar sobre ocoréncasindesjavels. Esa declaracdo poder ser apropiada, se exist um sistema de alarme que deverd ser substuo, Por outro lado, uma delaragdo als ampla de objetves pode sera sequin: ‘Assegurar que trabalho normal realizado no elfcio ndo sea seramentepenurbaio por ‘corencas como inctndios © a entads de pessoas nlo autoizadas. Enuncando 0 objetivo desse modo, tanto se amplia quanto se limita algumas opcbes de projets, perminda que a rotego conta ints sj fie com o uge de tecnologia sais tieada de feehaduras, sem qualsquer alarmes interes. Esa definigao ode exci 0 uso de sprinklers ara pote contra incendlose afetar 0 sistema elético do elfclo e perurbar stsamente 0 trabalho em andamente ‘Uma difculade fundamental para que seam estabelcdes os regubos de sistemas € que os problemas pelos quas os sistemas complexos so usualmente consrus fl de propor- [Sonar slusiesespecfcs. so em geral "problemas inrincados (tel e Weber, 1973) Um problema inincado’€ aquele que € tio complex, com o ual ants entdades reaclona> dhs, que ndo existe nenhumaespecifiario defnitva do problems. A verdadeira aturea do problema somente emerge & meta que uma solugéo ¢ desenvovia, Um exemplo extemo fe um ‘problema invnada’€ planejamento elaionado 2 teremots. Ninguém pode pre- ‘ver precsaente onde sero epcentro de um teremoto, quando cle ocones que efit pro hart 'no ambient lea! ete. Porant, nfo podemas espeifiar completamente como dar com um grande tereote. 0 problema sb ders ser enentado depois que iver acontecida, Projeto de sistemas © projets de semas Fgura 28) se ocupa de como a Rncionalidae de sistemas deve ser forneié pls diferentes components de sistemas AS tvidaesenvlvdas nese proceso So 1. Agrapar os requisites Os requsitos sio analisodos ¢ reunidos em grupos relacionados. Exisem, usualmente vrias opgbes de afrupamento possivei,e uma stie de alterna ‘as podem ser produzdas nese estigio do process, 2. Idenifcarsubsistemas Si identfcads diferentes subsistemas que poder, individual fu coletvament, atender 208 requis. Os grupas de requis S80 geralmentetla- ‘onados a subsstemas ,ssim, ese atividade eo agrapamento dos requisites poem ser fundides. Contudo, a identifcago de subsistemas também pode ser influenciada por lutosfetores organizacionas ¢ambientas 28 _Engenhala de Software Fears > Fro 6 eras, 243 Taga ogi eee Alribir requisites 0 subsistemos Os equss sf atrbuidos& subsites. Em pin ‘pi, iso devert ser diet. se agropamento dos requisites for utliado para oven 2 idemieago de subsistemas. Na priica, munca existe uma comespondéneianitda ene 05 agpamentos de requisios e os subsisemas ientfeades. As imitacbes dos sub temas adquirdosextemamente (COTS, veja 2 Sesto 2.4.2) podem significa que ost sitos precisa ser modifies. “3 4. Expefear a funcionlidade de subsstemas” As fangbes especies fomecidas por cade subsistema sio definids. iso pode ser visto como pate da fae de projet de sistemas ou, seo subsisema for un sistema de software, como parte da atividade de especicagio de equstos ara ese sistema. Os eaconamentosenzesubsitemas devem também se ldenotcados nese eto, Desir as inerfces de subsistemas Essa trea envolve a definko das interfaces que 0 forecias e exigias por cada subsistema. Ua vee que estas interfaces tenham si ‘speciiadss. toma-sepossvelo desenvolvimento paraleo de subsistemes Como indica as seas bidvecionis, a Figura 2.8, existe grande feedback e rag de lum estigo para out, nese proceso de projeto. A media Que problemas quesOes t= ‘em, feqientemente € necesirio 0 retrabalh’ relacionado a etiosanteiore. Para quase todos os sistemas, existem mules projets pasives, que podem ser destnvol Vides: cles sbordam uma gama de slugtes com diferentes combinagies de hardware, sf are © operagies humana. A solugaoesolhida pra prossegr com o desenvolvimento poe sera solugto téenica mais aproprada, que senda aos requisite. Cntudo, cm muitos casos Infutncias organizacionals e politicas mais ampls ifluenciam a excalha da solu, or ‘xempo, seo sistema for projetado para uso pelo governo, poder ser esolidos forsee dors maim m ver de forces esangeox meio gue 0 produto nacional se Desenvolvimento de subsistemas Durante o desenvolvimento de subsstemas, fo implementados os subsstemas idence fos na fase de projeto do sistema Isso pode envolver Iniciar outro process de engenbaria fe sstemas ara subsistemas indviduais. Quando um subssiema ¢ wm sistema de soft. Pode ser niciado um proceso de softvare que envolva requis, projet e implementa. Ocesionaimente, © proceso de desenvolvimento desenvoiverd todos os subsstemes a p= ‘ir do zero. Contudo, normalmente, alguns susistemas so sistemas comerciis. de pratele (COTS ~ commercial afresh). questo adgurdes pare a integracto no sistema. De medd lea € muito mais bareto adgube produits a exstentes do que desenvolver component om props especial. Nese estgio, a ative de projeto pode ser reiniiad, 2 fim de aco Imodar a incluso de um component adqurdo. Os sistemes COTS podem ndo sender ers "amente aos requistos, mas se ‘produtos de patella esto disponives, mut vees vale # pena esforgo de repensar 9 projet, Cepitulo 2 + Engenharia de sistemas com base em computadores 29 Diferetessubsisemas slo normalmente desenvolvdes em paraleo. Quando sio consta- tados problemas que atravesam os Hinites de subsistemas, deve ser efetuado um pedido de Inodinearge do sistema. Quando oe sistemas envolvem extensive engenaria de hardware, Facer moviicages depois que a fariagio fo iniiads, gealmente, € muito dispendios. Fregoentement.¢ preciso encontrar alteratvas que compensem o problema. Essa alkema- tions em ger envolvem moiicagées no software, em exo de sua exbiiade. so leva ‘Pomudangas nos tequlsitos de software e, asim, como fol discutdo no Capitulo, € impor ante proetr software objevando também a facidade de realizar mudangs. Integragao de sistemas 2 interact de stenas emote ata susstemasdesevohis inependenemente agp pre qe frmem i ste compe. Ante pe srs lian ine “owagens So tp gba om gu ods bites to nteoos 20 meso tempo por tbs tees « cin sn acs de inet em gue os somes Sib mtg um de ada ves € mcr abodagem aaa. “ane Hecen de integtn em fs ¢ x ahodapem mai apopade por as rates: 1. En ger € impossivel prgramar todos os desenvlvimentos de subsistemas, de modo {que todos os esenvolvimentos seam conclu 20 mesmo tempo. 2A tnegrago incremental reduz os eases de localiasto de eros. Se multossubsstemas ‘o inegradossimutancamente, tum ero que srg durante os testes pode estar loclizado fm quae: um ess ststmas. Quad tm no ssa iad cm tema jem operac, os tras que podem ocorer, provavelmente estagfo no novo st Sten integra ou nas itragbes entre os susiemas existent © novo subsstems ‘As falas desubsistemas que sto conseqatncia de suposices invalid sobre outros sub- sistemas, com Feqhénca, so reveladas durante integracio de sistemas. so pode levar 3 “dsputas entre 05 varios fomecedore rexponsivels por diferentes subsistemas, Quando sto ‘descoberto problemas na interacio de subsisteas, 05 ifeentesfomecedres poder disci tir sobre quem ¢responsvel peo problema, As negoclages sobre como resolver o problems podem levar varias semanas ou mses, at€ que se chegue a uma sluGfe Instalagao de sistemas Durante instalagio de um sistema, o sistema € colocado no ambiente no qual devert operas Embors poss parecer im process simples, muitos problemas podem surg. 0 que Slenifica que » insalago de um sistema complexo pode levar mess, ou mismo anos ‘Exemplos estes problems Si 1. © ambiente no qual sistema dve ser nv ndo €0 mesmo que o ames con Sidsnds pos dsenvoters do ssemm, Een proto comum quando ite sage stare sto tls Por exemple, emn pode wlzar fangs frecias for ne endo epee do ema opeeional. sa anges poem po te Sts mu veo do stema operons. a ambiente de stato. Quanto ossena € ‘Sialuaa se yo ngo oper at mania enna ou pte oper de um modo ale ‘ten id) previo pls ses desenvolvedoes 2.05 usuéros em potenclal do sistema podem ser hosts & sua intodusto.O sistema pode reduair sus reaponsabilidaes ov 0 miner de cargos em uma organiza. AS pessoas poem, portant, deliberadamente se reewsar a cooperar om os instaladores de sistemas Por eremplo. eas podem se recat a patcpar do treinamento de operador ou negat aceso afnfonnagbes csencals para 2 Instalagéo do sistema 32_Engenharia de Software 2.4.6 247 2. Um novo sistema pode ter de coexist com um sistem anterior, até que a orgizago sige eerta de que o novo sistema opera adequadament. Isso causa problemas expe ‘es de insalagio, se or sistemas nao forem completamente independentes, eas com. parilharem alguns componentes. Pode ser impose! insalar @ novo sistema sem flesnstalaro sistema antigo, Os testes do novo sistema podem, portant ocorrersomente nas octsies em que o sistema ja existente nfo esiver em uso Pode haver problemas Fico de insalato. Poem surg difculdades para adequat um novo sistema em um edifciojexstete, como pode ne haver espa sufcente nos dior ‘estes para os cabos de ee: pode str neces instar apaehos de ar-condionada, 2 mobilia pode nio ser sufcentemente grandee assim por dante Se a instalagtotver de corer emt um prio histo, as modifies pres pderio ser iteiramente pride, Operacao de sistemas Uma ver Instalado 0 sistema, ele € colocado em opeagio. A optacio do sistem pase cnvoiver# onanizagao de sesses de teiamento para operadores + modifica €o Pro ‘eso normale tralho, a fim de fazer uso eletiv do novo sistema. Problemas nfo dete tades podem surg, nese esis, porque a especfcag do sistema pode conte eres ou misses. Emborao sistema poss oper segundo a5 especificaes, suas fungtes podem nao tender as neessidades reas de opeagio.Conseqdentements, 9 modo como 0 sistema € ui lzado pode nto sr previsto ples proecsas do sistema Depols que o sistema entrar em opeasio,poded surg 0 problema de opear 0 novo sis tema com os ltemas 8 existentes, Podem oconer problemas flscos de incompatiblldade, Talve exist ditculdades em transfer dados de um sistema para our, Problems mais suri podem ocorer quando inteTaces com os usuis radicalmente diferentes so oer: das por diferentes sistemas. A intoducio do novo sistema pode aumentar a taxa de enat de operador nos sistemas i exisentes, 4 medida que os operadores ‘mistram’ os comandas (as Interfaces como usuario. Evolugdo de sistemas Sistemas grandes e complexos ttm um Longo tempo de duragto,e ness periodo ces precisam evoluie para cori ers nos requsitos de sistema orignais ¢ atender 2 novs equlstos que surgram. Os computadores de sistemas, provavelmente, deverdo ser subs ‘iuldos por miquins mais novase mals ides. A organizago que utlza 0 sistema pode organza e como conseubtnca,utlaar sistema de modo diferent. ambiente exer do sistema pode ser modifea,frgando assim, alteages no stems ‘A evolugio do sistema, ass como 2 evolugdo de soevare (lscutda na Parte 7, ine rentemente dispendiosa por vas aes: 1. As mudangaspropostas precsam ser analisadas multo cudadosamente, tanto sob um permpetiva de neces como de acordo com as aspects tenicos.Esas mudancas deve fer aprovadas por umn sri de pessoas antes de serem efeivades, 2. Como os subsistemas munca sto inteiramente independents. as medangas em um sub sistema podem afearaaversamenteo desempenho © o comportamento de outros subs temas. Porant, podem se formar neces ovras madangs nests subsstemss. LAs sandes das decisbes de projeto origina muits vezes nfo iam reistradas. OS ro ousivels pela evalug de sistas precisam entender por qu foram tomadas deter fdas dele de projeto 4. A mctida que oe sistemas ‘cnvelbecem’ su esruura se tor tpcamentecocompia or mudangas, de mode que sumentm os eustos referees & novas mangas Capitulo 2 Engentaria de sistemas com base em computadores 32 1A mesa que a sociedade se tora cada vee mais dependente de stemas de vito tos. esti sumentado os exforgtsdevotaos&evlugio desea existent em verde 20 deen Soimento de novos seas. Os sistemas extents, que rei Se mantis, so atvalmente hamados, Ss ves, de stemasTaados. Os ssemas lgados serio discutios no Capitulo 26 Desativacao de sistemas Desativar um sistema signin taro sistema de serviga, aps terminar seu tempo de vida tl opercional, Alguman vere, eas € um tart dieta espe. mas alguns ssteras podem Contr materials qe sto potenciaimenteprejudcas ao melo ambiente. A atividade de enge- Ihara de sistemas deve prever essa destvagaoe considera os problemas referents a0 ds Carte de maternis durante a fase de prea. Por exemplo, 0 uso de produtesquimicos toxios deve fea imitado 2 més sels, que possi ser removidos Como unidadsIsladas € repracesaos. No que diz respeito a soforar, nfo exists, com cereea nenhum problems Fico quanto 4 desativagio. Cntudo, alguma funconalidade de software pode ser incorpraéa em un sis- tema, a fim de facta 0 processo de desatvagéo. Por exemplo, um software pode se uti= lzado para monitorar 0 estado de outros components do sistema. Quando ¢ sistema for desativado, os componentes que mio estverem comprometdes poderdo, portant, ser Men tiflendose reutizados em outos sistemas. ‘Se or dados no sistema que ett Sendo desatvado devem ser mantdos pela orgaizato, cles prism ser converges para so por out sistema. Isso pode, mulas vezes,envaler ‘isto sgnfeatvos. pois a esrutura de dados pode estar nplictamentedeinida no propio software. No Capitulo 26, sero abordados alguns deses problemas de reengenharia de dads. « jimento de sistemas 2 scents de complexcs sistemas com base em computadores so, em ger granesonft- aagSes, como a5 onganizagdes miles, governamentals ede servos de emergénca 0 ss tema pod ser adguirdo como ur todo, como partes separadas que vao senda integradas ou sr especialmente projetado e desenvolvido. Para sistemas de grande pre, escolher ent ‘ass opgbes pode lear viros meses anos. O proceso de suprimento de sistemas Se ocupa 4e tomar decsdes sobre a melhor mancira de uma organizagdo adquirr um sistema e de ‘ect sobre os melhores formecedores dese sistema, (0 proceso de suprimento ext etetamenterelacionado 20 proceso de engenharia de sistemas. Algumas espciiacdes de sistemas e projetos de arquitetra sto fitas antes que ‘sss decides de sptimento sejam tomades Exist duasrazes principals para I: 1. Para comprar ow acitar um contrato pata projetate constr um sistem, & preciso de- rir una expeificagso de alto nivel sobre © que esse sistema deve fazer. 2. uase sempre é mals barato comprar um sista do que projet, fSbric-lo« cons teulo como ui prjeto separa, Algum projet de argutetura & neces, para Ken ticar os sobsstemas que podem ser comprados, em lugir de precisa projet-os (specialmentee fabrictlo, s sistemas grandes e complexos nonalmente consitem em ua combinasio de com- ponentes ‘de patlea (COTS) ede components constulds especialmente. Una rant pela ‘ual cadaver mais, o softwares so Includes em sistemas € gue Iso popiia maior wli- ‘ago de components de hardware jl existent, com o software atuando como um elo para faze es diferentes pegs de hardware trabalharem em conjunto de manelraefcente 32 Engenharia de Software Figura 2 4g Yt cpr do sens, Dependent sto cmp poe pm 20 pee fe ame ppl meee suborder gu conta Sine Gattaensecotna de sobcontatats a pr de une Ita aprovada ett ape! engineering: coping with comple. Ne époce em que eu estaveexcrevendo este lo, este ere 0 ee 0 Hiro de engenharis de sistemas disponive. Ele aborda os processos de engenharia de sistemas, Capitule2 + Engentaria de sistemas com base em computadores 33, ‘A necessidade de desenvalver esse ‘elo’ € uma rast pela qual a economia de wiz com Ponentes de praca, as vers, nfo to grande quant prevista O uso de sistemas COTS Fert diseatda no Capi 14 "a Figura 29 mostra o proceso de suprimeno, tanto para sistemas exstentes quanto para sistemas que pecbam ser prejetados especialmente. Alguns ponts importantes sore pr ‘cesso mostrado nesse dlagrame si 1. Os components de pratelira nomalmente nfo atendem exatamente 20 requisites, 3 renos que o: requisites tram sido especifcados tendo esses componentes em mee. Portant, esolher um sistema significa encontar a concodncla mals prxima ene fesuistos do rstema eas facidades ofrecids pelos sistemas de patel, Os requis tor tém, eno, de ser mndifiados so pode provocar efeitos em outros subsistemas, [seemmene sbanmatne2 | subonmanes | 2, Quando um sistema deve serconstrido especialmente. a especiiardo de requis aus Somo a base de um contrato de suprimento do sistema. E, portant, um documento legal ce ttenco PONTOS-CHAVE 2. Depos de ser esclhido um fornecedor para construlr um sistema, hi um outro psiodo fe negocagdo de contrate, em que mais mudenras nos requisitos podem ser combing~ fas equestes como o custo de mudancas discus, [A malora dos subsistemas de hardware € muitos dos subsistemas de software, como es sistemas de gerenciamento de base de dado, no sio desenvolvidos especialmente, quando So Incas em um ssema maor, Preferivmente, 0 subsistemas existentes sto tia: fos come se encontram ou 0 adaptados pars uso naquele sistem, ‘Multa povers organizacdes te, por si 86. 2 cepacidade de projetar, fabricar testa ot componente de um sistema complexo © grande. Esse fomecedor, que comumente ¢ chi nado de content principal, pode contraar exiernamenteo desenvolvimento de fee {te subtemas para una sene de divers subconuatants (Figura 2.10), Para grandes sistemas Como ot satemas de controle de tego aero, ut grupo de fornecedores pode formar CGnsbielo pars apresenat ume proposta de contrat. O consircio deve incluir todas af apacitagiesfequrias para esse po de sltema e asim, pode incu fornecedores de bak= svar de computador, éesenvolvedores de sateare,fomecedores de peificos ¢fomect ‘es de eauipamentos especiais, como radars. sce molelo de contatanelsubconratante minimiza © nlmero de orgenizaghes com # quais 0 comprador tem de dar. Qs subconratants projtam e constroem pares do sistem Scgundo uma especificsio definids pelo contratante principal. Uma vee completadss, es Siferenes partes so integradas pelo contatante principal. E, eno, elas sto entrees 2 roninddes emerges de um sistemas propedal cats do tee co un o, «nso de ss pres componente. ie inlem propredades como desempenho, rfabidade, facade de uso sepurancae potecio. sucesso ovo fecesso de um ser & msm dependent dessospropredades emergent: BE rete de sitema so noxmalmente dicts com 0 wo de dgramas de bac, mostondo stems pincpa soy ates mponentes de atuaderes, os cmponentes de computacio, os componentes de coordena(B0, 08 processo de engenhara de sistemas abrange a especicagio,o pojeto, o desenvahiment, megiac © os testes. € paricularmente importante» interacdo de sistemas em que subsisemas de es lomecadares dever ser ajustados para trabalharem em conjunto, processo de suprimento de sistemas envolve especies o sitema, emic um pedo de mtr um pedido de propostas her um fomecedor e entdoestabelecer um contrat para o sistema. Em geal algumas partes de , Wes sstemas com base em computedoess80 odquides como companentes de pratelee (COTS) do bons captules sobre requis, aruiteu K ladson eS mol, 1998, Prentice Hall) 9: automated baggage syste. Um esd de cso excelente © def leur sobre 0 que pode Bed eado em um projet de engenhain de semas e como o sofware pode Teor» cup’ por eas de sitemas. (ACH Software Engineering Notes, mat 1996) fe geenciamento de projtos.(R Stevens . Seren ePneeing of computer-based systems". Esse aig oferece bos visto geal da engenhaia de Shears om computers «wig sabeno de une dpa de £5 (enreing a stems), ist, da engenhara de sistemas com base em computadores. (S. White et EE Computer, 26(11), nov. 1993) ™ ‘ UGE) C=) i 34 _ Engenharia de Sofware ‘ystems engineering principles and practice of computer-based systoms engineering, Abotda viios azpecos da CBSE, incusive 0 processo de desenvohimente, 0 gerencamenta de pojetos © 0s métodce de proeto de sistemes (6. Thome (ed), 1995, John Wiley and Sons) 2: Esplique por que outs sistemes dento de um ambiente de sistemas podem ter efeitos n8o previses| sobre o funconamenta do sistema, 22. Wodlique Figura 28 para incoporar uma atvidade de suprimento explcta, depois que os fubssiomas tenham sido identiieados. Moste,em seu dagrama,o feedback que resulta da incorporaio dessa alvidede 23 Eiplque por que espectca um sistema 2 sr utlzedo por senigos de emergéncl, pata © _getencamenta de ccoréncas de desasres,&ineenteriente um ‘problema ri! 224 Sugira como os sistemas de software ullizados em um cara padem ser eis na destvac3o de sistema como um todo, a 25 Esplique por que & importante produsr a deci geral de wma arquiteturs de sistemas a fase a inal do processo de especicaco de steres. 2.6. A Figura 2.1 mostra uma gama de sisters em um edi. 0 sistema de seguranga & uma versio a Smplads do sistema mostada na Figura 22 que vio &proteso conta Inrusos © 8 deteccdo de inndios He incorpora sensores de fumaga,sensores de movimentos esensores de ports; cSmaras {Se vgeo sob controle de um computador, lncalzades em vos pontos do edi; um corse de ‘peredor em que 0 status do sistema & reltado «recursos de comuncacbes exeras paa slit a oe senigos apropiados, como pola «compa de bombeios, entre outros Desenhe um diagram de blocos de um posshel projta para esse sistema 12.7 Um sistema de alarme de enchentes deve ser adqutdo paca avisarantecpadamente sobre posses perigos de enchentes em dreas sujet a alagamentes. 0 sstma inchiré um conjunto de senores para monitorer 9 taxa de modineacso dos nveis de ros, igacbes @ um sistema meteocodgico que Produz prevstes eobce 0 tempo, ligages com sstemas de comuricacbes de servis de emergénia (patie, guarda-ostena etc), motores de video instalados em locisseleconados uma sala de Controle equipade com consoles de operadores © monitres de video. sa 32 xa 37 0s contoladores podem acessor a infarmactes da base de dades inca as opeactes de video. A base de dados do sistema Incl informacbes sobre sensotes,lcaizaczo de pontos de sco © ConcigSes Ge perigo nesses pontos (marta, ventos de sudeste),tabelas de mere para pantos da Costa, etoque eloclzacio de equipamentos de convole de enchente,detalhes sobre contatos pre Senvigos de emergéncia,extarbes de rio locals et Desenhe um dagama de blocs de na possel aque pra ese site. Vk deve deta co sbsstres pnp es gas ene ses 2.8 sipondo que um seme encomendado exes de sardo cm sin eipecearo, desc, tod ‘nGilcehscendon vs problemas que poe sop que ee fo tle em uma orgpno 23) vais so os arguments conto fers cosidea egenhra de ster ume prfsio. 2) Spec, comes engsbarseies ov#engebara de softer? 2.10 let ¢ um engericio enavid no deserohinento de um stems fname. Ourante + imtaloan, voc Sseobre gue ene sera for endrte um grnde omer de fonds O pessul vo bnbient the nego oacssosafonnacenesencts Pon complet» naar 42 Shscmo,En aus mada voc dees, como engenne de sitemat, 0 enol ness situate? E 20s eaponsbaace otsina empleo s stato pre» eal for conta? Voc deve Sinplumente abandon‘ tase ste gue + ogenzaso do cent resco 0 probe ————————————— Processos de software Coeace 0 objeto deste capitulo € apresentar a iia de um processo de software = um oojunto coerente de alvdades pare 2 produ de softwere, Depas de lr este pl, voo® poder: compreender © concito de um procesto de software e de um modelo de processo Ge soar; compreender wna sire de diferentes modelos de processos de softmare e quando tes podem ser utlizedes compreender, em termos gers, os modelos de processos para a engenharis de ‘equitos de software, o desenvohimenta de sofware, a realzagso de testes @2 volta, «| conhecer a tecnologia CASE para apoio a0 processo de softwaie- Modelos de processo de software Ieragdo de processo Especfieaczo de software Projetoe implementacso de software Validagta de softare Eroluto de software -Apcio 20 processo automatiado 36_Engonhara de Software Come foi sugeida no Capito, um proceso de saftware € um conjunto de aividades resultados asociados que levam 3 produgto de um produto de software. Esse proceso pode envaver o desenvolvimento de software desde o inicio, enbor, cada ver mals, ora 1 eso dem software novo ser desenvolvde mediante a expansto€ « modiiagto de ss- temas ft existenes (Os proessos de software sio complexos e, como todos os process intelectuas, depen- dem de Jolgamento humano, Por causa da necesidade de utlizarojulgameno ew cate fade, eriatives de automatizar processor de software tém ido sucesso Tiitado. As ferrmentas CASE (dlsutdas na Segio 3.7] podem apolar alguns atvidades de proceso, ‘nas no existe epossildae. plo menos 9s poximos anos. de uma suorags0 mals exten- Siva na qual o sofware asuma o projtoevativo, iperando os engeahiros envolvidos no mrocesso de software Tina raat pela qual existe uma abordagem linitada para automacto de processos€ 3 iments divesiade dos process de software, N4o hi um process idea, eiferentes org tangbesdesenvlveram sbordagensineiramente diferentes pra o desenvolvimento de so Weare Ds pocessos eveluram para explorar 9 capacdade das pesoss em uma onganizaclo, Tssim como a caractersicas especies dos sistemas que esto sendo desenvovides. Por onsegunt, até dentro da mess empresa pode haver mutes procesos diferentes wilea- thos paa.o desenvolvimento de soar miboraexstam muitos proesoe de software lferenes, hi alvdaes fundamentals comons todos les, come! 1. Especifiagio de software € preciso dels 2 fanclonalidade do sofware eas restighes fem sua operat. 2, Pajero e implemenopto de sfwore Deve ser preduzio a sofware de modo que cm pr sua especifcago. 3, Vatdagce de softenre 0 soforare precsh ser validado para garantir que ele fz 0 ue cliente dese. 44. Enogdo de software 0 software precisa eval para stent is necssdades mutives do lente saben ae rt pei he mn a a snc ments Monee lat fier Si cag ce Modelos de processo de software ‘como foi dscutdo no Ceptulo 1, um modelo de proceso de software € uma repre acto strata de umn proceso de software. Caéa medelo de process representa um po Capitulo 3 * Procestos de software 37 «partir de ums perspeciva particular, de uma maneira que proporciona apenas informasbes paris sobre o process. Nesta seo, apresento uma srie de models de processo muito generics [algumas veces, chamados de paradigmas de processo efaco sso a partir de uma Perspective aruitetral. Em outaspalvras, vemos a exrtare do process, mss nfo os deta These aivdades especies sss modelos genercos wo sto descrigbes defiivas de process de software, Em ver ass, sto absragdes tel, que podem ser utlladss para explicar diferentes abordagens do Aesenvolvimento de software Para mules sistemas de grande porte, nataralment, no existe spenas um process de software ue poss Ser ulizado Processos diferentes slo utlizador para desenvover diferentes partes do sistema, ‘0s modelos de proceso dscutidos neste eapitul sto: 1. O mofeto em costa Esse modelo considera as atvidades de especifcato,desenvl vimento, validagio © evolugo, que sto fundamentals ao proceso, eas representa como fasessepraas do process, como a espciicagto de requis,» pojlo de safes 2 implementagso 0 testes ¢ ssn por dante 2. Desenvolvimento eolucionério. Essa sbordagem intercla as ativdades de especifiagto, lesenvolvimento valida. Um sistema initial €rapidamente desenvolvdo 8 pati de tspecifcages abstrats, que slo ent refinadas com informagbes eo cliente ara po fizie um sistema que satstaga« suas necessidades, 2. Desemolsinenta formalde sistemas Essa aboragem se basta na produgio de uina espe- ‘cagio formal matemiica do stems ena tansfaragto dessa specieaio, tlizando- se métodos matemdtens, para consrur um programa. A verieagzo de componentes do ‘Ssema ¢reizoda mediante angumentos matemiticos,mostrando que eles stendem 8 sas especicagdes . ‘4 Deseasolvimentoarientodo o reuso. Essa abordagem tem como base a existénca de um ‘numero significative de componentcsretilrives. O proceso de desenvolvimento de sistemas se concentra na interarto cesses componentes em um sistema, em verde pro ceder 40 desenvolvimento» partie do Pero 0s processs com base no modelo em eascala € no modelo de desenvolvimento evolco- ‘iso sao amplamente ulizados para o desevolvimento de sistemas pratcos. O desenvol- iento formalde sistemas fo utlzado com sucesso em muitos projets (Mills et a. 1987 Unger, 1984), mas os procesos com base nest modelo ainda sto utlizados em poucasorga~ zag. reuso informal € cormum em multosprocssos, mas a malora das organizagoes nio orienta explictamente seus procesos de desenvolvimento de sofware pelo risa Contudo,€ provavel que ess sbortagem se tome muito inflente no séclo XX, ume vex {ue montar sistemas 2 partir de componente reusizives & esencal pare © ripido desen- volvimente de software 0 reuso de sofware str dsctido no Capitulo © modelo em ‘cascata’ © primeira modelo puliado do proceso de desenvolvimento de software arigino-se de outros processos de engenharia (Royce. 1970). so ¢ lustrado na Figura 3.1. Por causa a Seqigncia em cascata de uma fase paa outa, esse modelo ¢ conheeido come ‘modelo et «ascat’ ow ciclo de vida de software. Os principals estigle do modelo reratam as aivida- es de desenvolvimento fundamentals: Anais © defini de reqistas As Fungbes, as restigbes eos ojetivos do sistema so ‘stabelecidos por meio da consulta aos usuarios do sistema. Em seulda, sto defndos em detahes« servem como uma especficag do sistema. Prajero de sistemas e de softuare 0 processo de projeto de sistemas agrapa os requ sits em sistemas de hardware ow de software. Ele estabelece uma amuitetra dos 38 Engenharia de Sofware Fewest ‘ein tema ger O projeto de software envolve a Identifiagio € a descrisio das abstraées fundamentas do sista de software e suas réiagbes. 2. Implemenang e teste de wnifades Durante cae esta, 0 projta de software € com preenido como um conjunto de programas ou unidades de programa. O teste de un dades envlve verfcar que eal unidede atenda sua especiiaeio, 4 Inegragioe teste de sstomas As unidades de programa ou programas individuais to in tegraes e testades coma um sistema complet a fi de garantie que os requis de So ware foram atendides. Depois dos testes. 0 sistema de sftvae € entree so lent 5 Operasdoe manatencie Normalmente(eora no necessaramente eta € fase mais Tonge do cielo de vide @ sistema € instal « colada em nperago. A mantengio tenvolvecorigireros que no fram descobetos em estos anteriores do cco de vida ‘melhorando a implementago das unidades de sistema t aumentando as fungdes dese sistema & medida que roves reqisitossf0 dscobetos. Em princi, o remit de cada fase envolve um ou mais documentos qe s80apro¥t= dos (ssnados, A fase seuinte no deve se iia até que a fase precedente teaha sido conclude, Na prtca, esses esis se sobrepbem e rocam informagdes ene si. Durante 0 projets, sto identicades problemas com os requisites; durante a cofcago, io veifca- 4os problemas de projeto assim por diane 0 proceso de software nfo € um model linear Simple, mar envlve uma seqiéncla de leragbes das aividades de desenvolvimento, vide aos cists de produ « aprovagdo de documentos, as iterages #20 onerosas ¢ ‘evolve tm retraba’ significative Portanta, pols de um pequeno nimero de eras ‘normal suspender partes do desenvolvimento, como &espcifcaao, € contin com 0 ste alos posterites de desenvolvimento. Os problemas so dexados para solugéo posterior, so lgnorados 00 programdos are screm saucionados.Fasasuspensio prematura da defini randoemato > 2. 0s sistemas fregientemente sto mel-sturuades A. mudanca constante tende 8 cor romper a esintira do sofeware. Incorporar modiicacbes no software toma-se cada Vee rai dil © onerosa, 3 Podem ser esigdesferamentase tcncosespeclls las posibilitam ripido desenval= vimeno, mas podem ser incomptiveis com outs feramentas ou téencas,e eativa- mente pouens pesoas podem tera ablitagdo necesiria para tiid-as aa stems pequenos (com mente e100 mi nhs de cio} ox para sistemas de pone midi [com at 00 mil nas de edge), com tempo de vida razoavelmente co, are que 1 abordagem evolocionsta de deservalvinento sgt melhor apdo. Conti, para sistemas de {tance porte, de longo tempo de vida, os problemas de desenvolvimento voliionrio Se tor Tham partslamente graves Para csc stems, recomend um proceso miso, que incompore ts melhores caracetess do modelo de desnvaviento em cstata€ do evolcionsio. Isso pode signiiardesenvolver um pottip descartivel, utlizando uma abordagem evo lucionia para resolver divides na especicagzo do sistema. Esse sistemas pode, eno, se reimplementad, atiizando-se uma sbordagem mas estrturada, Pate do sistema que 580 them comprcendidas podem ser especificedase desevolvidas ulizando-se © proceso com tse no modelo em cascta.Outas pares do sistema, como a interface com o usu, abe sto dies de serem especifcaas com antecedéncia deve ser desenvolvias uiizando- tums abordagem de proramacio explora, Desenvolvimento formal de sistemas (0 desenvolvimento formal desstemas € wma abordagem do desenvolvimento de software que tem algo em comum com 0 eodelo em easal, mas cujo proceso de desenvolvimento {Em como base transformagio matenndtce formal de uma epecifcago de sistema em un programa executive. Ease process exth Uustrado na Figura 3.3. Por questes de simlice {lade deine de lado a ieragto esse modelo de process. AS prinipatsdstingdes ene exe abordagem ¢ © modelo em cascata si: 1. Acespeeiicagdo de requsts de softwar €relefinda em uma espeifeag Forma deta thada, que € expressaem uma notagio matematica 2.5 processs de desenvelvimento de projet, implementa teste de uniade sto subs tituids por um proceso de desenvolvimento transformacionl, em que a especfcaio Iocan Rey Cee cl ee Gel eG Copitula 3» Process de software at formal érefinda por melo de uma sre de transformagSes, en tum program. Esse pro: caso de aperfelgamente €lustado na Figura 3.4 No process de transformacio,»represenagio matemdtica formal do sistema €sstema- ticamente convertion em uma representagao de sistema mals detalhada, mas slnds mate rmaticamente correla, Cada etapa acrescenta mai detalles, ate que & espeeieas30 formal jt convetda em tm programs equivalent. As transformagoes $80 suflclentemente pro- ximas, de mode que o esorce de verifiacio da tansformapio nio € excessive. Portanto, podemer gareit,consderendo que nto haja eos de verfeacao, que o programa € uma ‘verdadeirsimplementacto da especificaric ‘A vantagem da abordagem transformaciona, compsrads& povar que um programa cun- pre sua especifcago € que a ditdncia enre cada trensformasio € menor que a distincia ‘nie ua espciieagio eum programa. As provas de programas sto muito longase impr ticivels para sistemas de grande porte. Une sbordagem transformacionsl constitu de tama seqdenca de etapss menores€ mais vdve. Contudo, escolher qual ansformazo deve ser aplicada € ume taefa que exige habldade e comprovar a corespondéncla de trans- formagbes€ afc. ‘0 exermplo mais conhecido desse procsso de desenvolvimento formal € 0 processo Cesnraom, que fl ariginamentedesenvolvido pela IM (ils e a, 1987: Selby eo, 1987: Linger, 1954; Powell ea, 1998), O proceso Cleanroom se apbia no desenvolvimento Sncse= mental do software, em que cada esto € desenvovido e sun conego € demonstada, url 2ando-se uma abordagem formal, Nao hi estes para deetardefeitos no process, « 0 teste fo stems € oentado viendo mes confabilifade do sistem. Esse proceso ser dst no Capitulo 19. “Tanioaabordagem de Cleanroom como qualquer outs abordagem de dgsenvolvimento for ‘mal, com base no metodo B (Wordsworth, 1996). fram aplicadas com stesso. Havia povcos ects no sistema ent, 08 estos de desenvolvimento nde foram sigiieavamente fiferenes dos casos de ovtres abordagens. Ess abordagem @ paricularmenteadeguada 20 ‘esenvolvimento de stems que tenham rigoroiasexigtncas de segrangs,confiabldade © arama, A sbordagean formal sinpliiena produgio de um caso de seguranga ou de con ra, que demonstra sos eletes ou comites de certficagfo qe © ssems realmente cum- pre os requisites de surance conlanga. ora deses dominios xpecilzados, os processos com base em tansformacio formal nio so amplamenteutiliados les requerem peri especialiaaa e, na verdade, para 2 maio- Fie dos sistemas. esse procsso nao aferece vantagens signiiatvas de custo ou qualiiade fem relacéo outas abordagens. A razto principal dss € que a interagdo do sistema no & sensivelbespeiieaso formal. o que consome uma part muito grande do esfrso de dsen volvimento para malvia dos sstemas de sofware Desenvolvimento orientado a reuso Na maloria dos projets de software, ocore alg reuso de software. Isso, em ger acon- ‘ee infomalmente quando a pessoas que tabalbam no projet conecem projens ou eoaigos similares Aquceexgho, Ele reeorem esses produos,fazem as modinicages conforme neces- sicio eas inomporam em stus sistemas. Na abordagem evoluionéra,dscrita na Seezo 31.2, 10 reso € visto reqientemente como eel para o rip desenvolvimento de sstemss Ese reuso informal acontece independentemente do processo genérco empregado. Con- tudo, nos shimos anos srgiv uma abordagem de desenvolvimento de software [engen tae Software comt base etn componente) que conta com @ reso « que fem se tomado fda vez mais emplamenteuslizada Esa abordagem orientada a reuso conta com uma ampla base de componentes de software ‘euiliziveis, que podem ser acesados, € com algumaInfa-estrture de inegraio para esses ‘componente. As We2e. esses components $80 Sistemas popramente dts fos ja mencions- 42_Engenhaia de Software 3.2 Iteracao de processo a igus a G2)-E des COTS sstemas comers de pate que pe ser iiads para propo sionaldade especies, como formatagio de testy, clelo mesa, ene nee a eenrico de proceso pra desenvolvimento oretado a teua € msds os Facet Emboa o ests inka de ipeceacio de reqs « 0 espn de valnay 3 comparivis com ours process os etigos intermediates em ta psdens ah reas so dierent ses een So. “ 1. Anilise de componentes Consierando a expecificasio de requisites, & eta uma 4e componentes pars implemenar essa espciicagéo, Em ger. nfo existe um een "io crata eos components que poem sr uilnosfometen soe a cionalidade requerida, a Modicasdo de requisites Durante ese estilo, 0s requis sto analisades, wiz 5 2 nformagtes sobre os componeres que foram encontrados. Eley s80eutio mat os para ree os components dsponiveis. Quando as modiicagbes fem tyes 4 sve anise de components poder ser ref, aim de proc sles 3. rajete de sistent com reso. Durance fe. os se 8 Infested stem € po ‘nh un inc exe a, pias eo oe components ue elas ogi nfs par arco ee Um novo soar oer ede er rota, eo omponeat ei _weretn disponiveis, = tec eto Desenivinena¢ integrase 0 sofware gue no pa 7 i nope sr compra se dee vid. os components stems COS eso imegndn 4a caro sa Integrasto de sistemas, nesse modelo, pode ser parte do proceso de desenvolvimento ‘yer de uma atividade seprada (© modo orentado a reuso tem 2 vantagem dbvie de reduzir« quantidade de software 4 ser desenvolvida e, assim, de reduzir custs erscos. Geralmente ele tambets priest nega mais répida do software. Contuo, a adequagtes nos requisite so inevives¢ 'sso pode resularem um sistema que ndo ater as teaisnecesidaes das ususvos Ale iss, algum controle sobre a evlugto d sistema se pric, uma ver que novesveabee den Programagao e depuracao 0 desenvvimento de um programa para implementa o sistema parte naturalmenie processos de projeto de sistemas. Emboralgumas cases de prograias, como oy ses fem que a seguranca ¢ fundamental, sejam projetadas detalhagamente, antes que guy implementaio tenha inicio, € mais comum que os estigos psteriores de desenvoling de projeto ede programa scm interalaos. As feramentas CASE podern ser alliendnr se gerarum esbogo do programa, a partir de wm projet. Iso incl 6 cSigo pata defiga Implementar interfaces, er mits esas, o desenvolvedr precisa spenssstescentr Thes da operacto de cada componente do programa, " dem be deserve cats compos sc, paseo com compote to ben compen. utr petren a abriage pst deen o Compenrs ire pas fi pore bem come dcavl Alun deeaelvedore guste defor des no nico do poco eee laa es ado par igloo ‘ohne do pogama outros Scan os talc sem eeticale camino pate omainet pogmadores mals signs tees do ge qu ks mess ena ‘ar on mls vet va det do pga qe deem tenor Eee pecs fate de deur O eee ep des dts so pean dents Drea bce ext eden suai seen e ea cri ses ees ‘agar 1 tara posel poe e epann Decon ne cis dee lcaanen «0 pogana pen sr motif cmp ov restos O de depurago ¢ pare tanto do desenvolvimento quanto do teste do software (O depuradr deve gerathpteses sobre comportmento observvel da programa een test-as, na esperanga de encontrar o defelto que caso 2 anomalia. Testa as hipie pode envolver raster o cio de programa manualmente e pode requeer novos testes Tocalizar 0 problema. Ferramentasinterativas de depuracae, que mastram 08 valores in redirios das variéveis de programa. e uma lista dos comandos exeewaos podem sr laadas como auxilio no proceso de depurari, Validacao de software ‘expectatvas do clentecomprador do sistema. Ese rocesaenvolvevenica proceso com or melo de inspects e revises ve 0 Capitulo 19), em cada estgin do proceso des ‘ware, desde 2 defnggo das requsts dos usudeos até o desenvolvimento do prams. alr pare dos casas de valdaeto, contudo, éobservada depois da implementa, quad sistema operaconal¢ tetado (ves Capitulo 20) Exceto para pequenos programas, 0 stemas nfo devem sr testados como ua uni ‘eolada,"monolie’ Or grandes sistemas sio constiuides a partir de sistemas. Qo consruidos 2 parr de médulas, que sto composts por procedimentos « fungdex 0 Ps ‘eso de teste deve, por consegunt,evolur em esis ou sea, os testes 0 Fel Incrementalmene, em conjunto com 2 implemenacta do sistema Capitulo 3 + rocessos de software _ st ‘Figura 3.11 mostra um proceso de fests compsto de cneo estos, no qual so teta~ dots tomponenies do sistema, o stra integfadoefnalment,o sistem com os dados do sree. come ideal os defeos das components sto descoberos no inicio do procsso,¢ 0: fanless de irae 80 detctados quando o stra €intgrado, Comud, 8 medi que getas sto deseobetos, o programa precisa ser depureo, © ss pode exgir a repetigdo de aes estagios no proceso de textes, Eos nos components do programa podem ser vei darter es testes de integrate. O process potato terativo, com 28 nfomagdes sero fects em fedbock 2 pati das etgios avangades para as pats ins do proceso. ‘Ds edgios do proceso de estes so: Teste de wnldade Sto tstados os components indviduas pra garantir que ees ope- Thor coretamente, Cade componente é testo Independentemente, sem outs compo: nentes do sistema ‘Teste de méaulo Vin médulo € uma colegdo de components dependentes, como ams Gasede objetos, um Uipo de dado abstato ou algum conjunto mais amp de proce ‘tentor «fangs. Um mule abrange componente relacionados e, asim, pode se tes {ado stm outtos madulas do sistema 4, Teste de subsistema Essa fase envolve testa conuntos de mdulos que fora integra- dos em sbsistemas. Os problemas mais comuns que surgem em grandes sistemas de so rare so discordncis eferentes 3 interfaces. O proceso de tse de subsisemas deve, portant, se concentrar na detesio de eras de interfaces de médules, mediante at Teagiorigorosndessas lnertaces. 4. Teste de sistema Os susistemas so itearados para constr o sistema, Esse pro- eso se ddien# eacontea ers que resulem de iteaghes nfo previa entre subs {enss ede prolemas com a interface de subisemas. Ele também setocua de valida (que ssteoa compra seus requstos funcionase no fanconals ede testar as proprie- Ades emergenes do sistema, 5. Teste de acitagda. Esse € 0 esto Maal do proceso de testes, antes que 0 sistema sj set para uso operaciona.O sistema € testa com os dadosforecios pelo lente ro lugar dos dados detest simulados.O teste de acetago pode revelar eros omis- Ses ne definigo de requisites de sistema, porque os dads reais ‘excita’ o sistema de modo diferente dos dados de teste, 0 teste de acetagdo pode também revear o- Blemas com os requisites, quando os recess do sistema, na verdad. nfo atendem &s rnecesiades do wri ou quando o desempenho do sistema ¢ inactive, sen de Tes de rtepcte Tse ‘52 Engenharia de Software fase emt ro aye conierado ume vided cia, em que sstina de software € desemoli exes de uid oss de malo nomalmet sto de eons dx po- goss ge tsevaieno comport Os rogramad produ pS dos {ere emeace ot ny nan dari £9 um ee uomcnmnt ses, una ver qu 6 pogramndo corece melo © coponete Series melas pesos pre geno das dete O teste de uid € pre do ret epimers gue componente Cooma 0 8 Srnec sj ene come pare eo ress ee gis de eee pers cave 0 tao de imegacto a pair de wma wee aeuopnmators «devon ser plnjodos com ances Un sue Inkpen de ‘csr deve waa om panos de tests prevent aor he 80 seve saefri opetegt edo moto do sama, A Fur 32st como os lanos Sets oe ene ver de te de desevainent Oui aceagnotis Yee Shamodo de tate Os sta encomendsos sto desea par in ie cere 0 poet de est if conan ae que 0 response se ctoavinet do sine eo siete oncordem que vse ease € um plomensyo sccavd dos fees do stem. "Aes ie aces desi a se conoid como wt podto de sofware, um chmod de ese bt lad co een O tee beta evar co cna ume see deen em patna ut conodam em ula ee Sree Str os piemns econtados pars os desenvolvedors de stem. ES po- arene pout so mere ee crn Gu podem alo te slopes pos cress Seems Depts dese fein stems € modiendo € Terdo pas © sroegumet ds testes Sea pars vendo Ee 3.6 Evolugao de software ‘A esiiade de stemas de software € uma des principal ates plas qu, ide vet nal of softwares eto send incorporados em sistemas grandes ecomplexos ina vex cad {ina deish de fbrcar hardware, ¢ ito dispendiso fazer modificagBes no pojto de bart en sr ets em qualquer moment ‘ware Condo, quando s ata de sofware. as mudangas podem se Fits ema ; {ein durante ou depos do desenvolvimento do sistema. Essas modficarSes podem sr multe ‘vost, mas ainda so mito mais baatas do que as modiicagies corespondentes wos tema de hardware istercamente, sempre houve wnt limite ente o process de desenvolvimento de softwate Yc procs de evolugio de software (nantengto de software. O desenvolvimento de sf ‘mtr de um conceit iil ate chegar 20 sistema em operagio. A manutencdo de so axe | (Tee | [S| Capitule 3 + Processos de software 53, ware ¢o processo de moificar ess sistema, depois que ee entrou em opeagio. Embora os fists de "manutenee" seam, com Freqitacla, muitas vezes maiores do que os cstos de desenvolvimento inl, os processos de manutencio sf0 consderadas menos desafadores to gue o desenvolvimento de software exginal Esse mle est se tornando cada ver mals ielevante. Poucos sistemas de software so, stunlmente, sistemas completamente novos ¢ tem muito mals sentde considera 0 desen- volvimento © a manuteng20 como esis Integados e continues. Em vez de dof proce sos separados, € mais realists pensar na engenharia de software como vm proceso ‘voluconirio, em que o software € cominuamente modiicado 40 longo de seu tempo de ‘draco, em resporta a requisite em consante modiieaio « &s necesades do cliente [Esse proceso evoluciondo est istado na Figura 2.13 Apolo ao processo automatizado ‘A Ji mencionada Feramenta CASE, ou engentavla de software com 0 auxio de compu tudor € © nome dado ao software ullzad para apolar as ativdades de proceso de software, como a engenharia de requbes, 0 projet, desenvolvimento de programa tos tees. As Feramentas CASE, portano, inclu eitores de proeto,dciondoe de dade, compladores, epuradores, feramentas e consrugo de sistemas entre autos. ‘A tecnologia CASE proporcora apoio a0 proceso de sofware pela automacéo de slgumas stividades de proceso e pelo fomecinento de informagies sabre sofware que ex sndo dese ‘volvo. Entre s exempls de atividades qu podem ser automatiodaswileard-se CASE ext 1. @-deseavolvimento de modelos griios de sistemas, como parte das especificagtes de requisites ou do procto de software; 2. a campreensio de um projet utlizando-se um dlclondsio de dads que cont infor ‘nagies sobre at entdades © sa relagto em utn projet, 3. a geracio de interfaces com usuarios, a pate de urna descrisiogrifes da ineface, que 6 crags interativamente pelo sure 2 depuragio de programas, pelo fornecimento de informagdes sobre um programa em execusio 5. a radugdo automatizada de programas, a partir de una antiga versio de uma Hingu stem de proramacio, como Cobol, para uma versio mais recente ‘A tecnologia CASE esthatualmentedisponivel para a maiora das atvidades de rotina to procsso de software. Isso proporcionol algumas melhorias na qualidade ns produtl= vidade de software, embora menos da gue o prevsto pelos primlrosdefenores da tecno~ logia CASE. Elessugerirm que er provvel fazer enormes melhor, e forse utizados tmbientes CASE integrados. Na verdae, ae verdadeiras melhorias que foram atingidass80 «a ondem de 40 por eento (Huff. 1982) Embora essa porcentagem sea signicativa, a tec- nologia CASE nfo revlucionow a engenharia de software como fol previsto ne pasado ‘Engenharia de Software 4 fognwtesommme 374 ‘AS melnris possbiltadas pelo uso de CASE sto initadas por dis Ftores 1A engennars de sofware &, esencialmente, una atvidade de pojeto que tem cong tase © penssmentocritivo. Os sistemas CASE extents automatism atvidaes de ring mas as tentativas de aroveliamento da tenologta de inigtneia sical pars foe er apoio 20 projeto nfo foram ber-sucedidas 2. Na malria das onfaizages, a engenbaria de software € ua atvdaderelizads em ‘ouipe © os engeniros de sofware deicam bastante tempo ntragndo com oe ae membros da equip. A tecnologia CASE nto € muito conpativel com essa stan, "No est defnido se esa stuagio se modiiard no futuro, Meu ponto de visa € de que ¢ improvivel ue produos CASE especifiosapiem 0 trabalho de equip relaconado 20 nq, jo de sofware &engenharia de software. Condo, sistemas gents de apoio cone ‘aplo € a projets serio desenvlvios © adapados pra utllzagio no proceso de sofware ‘Aualmente, a tecnologia CASE est plenamente desenvolvid, as fevamentas € work beees CASE esto disponves em uma ampla gama de frnecedores. Condo, em vex te focalizar alguna fenament especie, smlesmenteapesetames aqui ua visio eral aor and o apoio espciin em capitues relacionados to lv. A classificagao CASE ‘As lasiicagtes CASE nos sum a compeender a diferentes tipo de Feramentas CASE «se papel em apolar a atividades de proceso de softare. Hd viros modos de cfc as Feramentas CASE. cada ur dos quai aos ofrece uma persectiva difcrente sobre eas fea, ments. Nesta sep, dscuto a feramentas CASE sb rts dees pespectvas: 1. Ua perspectiva funcional em que as ferramentas CASE so clesfcadas de scordo com sua Fangio esc, 2 Uma perspectva de processo em que as Feramentas so clasifieadas de acordo com & vida de processo que eas apoio, 3. Una perspectiva de inteyrasio em que as feramentas CASE sto clssificadas de scordo ‘com a maneira como sio organizadas em unidaesintgradas que fornecetn apoio 8 ‘uma ou mals atividaes de proceso. [A Figura 3.14 € uma clasifcago das feramentas CASE de acondo com sua fungéo, Es ‘abel eoumera uma stse de diferentes pos de feramenta CASE e fornece exemplos Cpe. ‘cos de cada ferramenta, Nao se trata de uma lita completa das feramentas CASE, pois io foram inclulas feramentas especializadss, como as feramentas de aplo 30 reise ‘A Figura 3.15 apresenta uma classfcaetoalterativa dis feumentas CASE € most 3 fases de processo compativeis com uma sre de dilerntes tips de Feramentas CASE. AS fexramentas para planlamento e estimativa,eleSo de textos, reparasio de documentos € serenciamento de configurasio podem se ullzadas a longo Go proceso de software, ‘A amplitale do apoio ao proceso de software, proporcionado pela tecnologia CASE, & outa possve dimensto de elassiicast, Fuge (193) propbe que os sistemas CASE sam lasicados em ts etegrls: |. Fermentas apbiam as taretas de process indviduais, como a verifiasto da consis téncia de um projet compllagto de um programa, a comparasio de resultados et tes, entre ours. As ferramentas podem ser deo ers, de wo testo (por exemp. um proessador de textos) ou ser agrupadss em workbenches. Capitala 5» Processos de sofware 55 Famers ER, eromontas 6 ria, aha de illo ae irs det, ase de gama, acess de eo emamae de grencment 6 oan 5 Sem de gener de ver feramera de osteo de Stamos Frama de ante de eqs, stemas de contol de aang Lingungers devel mito a, gndore ifs com uo tres de poet, denis de dads geadaes de igo ender nad, salar eins ens dros erates de dos de ses, compara de ri: peremene d eprsz0 ‘Sites iets de deprcio "paramere de doce 30 Programas de ut de pgin, etre de igen emerson Sees be ler crads,stamar deemed propamas 2 Workbenches apbiam fases ou atvidades de process, como a espeificagto © 0 projet. - “ Normalmente, consistem em um conjunto de ferramentas com maior ou menor grau de coterie, eg FeEioe enor cen so ecg nes ume pre nd ope de sofware: Normalniente,ieivem wiros workbenches diferentes, que io intgradas de gums manele eames de eegonhris ° seaman deus ° ° Ferment dean de ° ° opens Forarants de pecesamerto ° . ‘Gelpasem Ferman eon a metodos Fram de ptt ‘grein de eons Ferameran de geen ‘eimones Femara documento Inplenentao eat «| “ia enacioge Prt 56 Engenharia de Software gee s6 > [A Figura 216 istra ese dassifiago € mostra alguns exemplos desis diferentes clases de apolo & CASE. Natramene, cla €simpesmente ue exemple usative; muitos ios de Ferramenas e wordbeockes fram debaes de fora ness diagrams 's Ferrans de propsito geal sto uizads com bom senso pelos engenbitos de sot ware, que tomam deches sobre quando aplit-las para proporiona apoio ao process. As Ioribenches, conti, nonmalmente spam algum metodo que incl um modelo de proceso ‘um conjunto de regrsliretrizes ques aplcar a0 software em desenvolvimento. Cassfqul ‘os ambientes como ambienes integrates ou amblentescenrades em proceso. Os ambientes Integrados proporcionam apoio infa-estutra para a intgrago de dados,contolee ape sentagto, Os ambientes centraos em proceso sto mals genéics. Els ineuem o cone ‘mento do process de sofware © wim mecanismo e proceso que utiliza esse modelo pare Crentar ox engenbirs sobre quae ferramentas ou workbenches devem sr apicadase quando lever ser utlzadas Na pte, €tenue 0 Unite entre eas diferentes asses. As ferramentas poem set ven as como um produto Unio, mas podem incr o apoio a ferentesaividates. Por exemplo, fs maioria doe processdores de texto atialnent proporcona um edltor de diagrams incor- Porno, As worthencher CASE para projeto cada vez mas oferecem apoio 8 programacto © os estes, sim, to mae parce com ambient do que as taneads expecialiaas. Prtano, taver nem sempre ea fic posicionar um produto utlzando-s uma classifias. Contd, 2 casificagi proporciona uma primeira etapa itl para ajudar a compreener@ extensio do tpi a0 proceso que uma ferabienta pode proporionr. Wosberces i oot EE ertbanches comp ie metodo ‘nado inte reese Capitulo 3 + Processos de sofware 57 @ PONTOS-CHAVE ie > 0s proessos de coftare sto as alvdades envohidae na producto de um sistema de sofware, Os modelos de processo de software s3o represetacbes abstats desses processos ‘Todos os processos de stare inuem expedicagi de sftware proto e implementardo de sofware, saldaco de software © erolucio de software (0s models de processo genéricas descrevr a organizaco dos processos de sofware. Devt 05 fexemplos de modelos gentsicos destocamvse 6 modelo em cascala, 0 desenvohimento evalucontio, ‘ deservohiment formal de sistemas eo deservohimento orentado a reus (5 modelos de processo ierativs apresentam 0 processo de software como um cco de atvidades ‘vantage desta abordagem & que ela eta compromissosprematuros com uma especticario ou rjeto. Dente os exemplos de modelos iterative destaam-se 0 desenvolvimento incremental #0 ‘modelo em espa. ‘A engenharia de requisites € o processo de desenvohimento de ume especificcio de software. Ea se refere a desenvoler uma especicacdo que possa ser compreendda pelos wsustos do sistema © uma especiicarao ms detalhada para os desenvolvedores do sistema. (0s procesos de proto e implementario se acupam da transformagso de uma especiicacso de requistos em um sistema executive todos de projeto sistemica podem Ser ublzados como ate dessa tansiormacso, ‘valdacdo de softare ¢ o process de vetifiar seo sistema esté em conforidade com sua especicacao e se ele atende i resis necesidades dos ususrios do sstemo, | evlugio de software se ocupa de modficar 0s sistemas de software exstents, para que oes ttendam 8 novesrequsitos. so esti se tomando a abordagem normal de deservohimento de software para sistemas pequenos e de porte médlo. A tecnologia CASE proporciona apo automatizado 20s praceszos de sofware As ferramentas CASE ferecem apoio as sivas de process individ; as workbenches CASE epbiam um conjunto de avidades relacionadas; os ambientes CASE s3o compas com todas ou com 2 malaria das atidades de processo de software. earns “Embracing change with extreme programming”. Ume visko geal interessante desse now processo __$datvo, que fl projetado para usa em conjunto com o desenvalimentoorentado 2 objetos. (K. Beck, "EEE Computer, 32(10), out, 1998) ‘Managing sofware quoliy and business isk eta-e de um lira sabre gerenciamento de software, as {Sen um excete cpt (Capo 4 sabre modelos de proceso (Ou, 199, John Wey and _ Sofware process mode sce ume desccso mus detlhede de modelos de process de sofware 90 endbook of computer scence and engineering. (R. Tucker (ed), 1997, CRC Press) _ {A lasscation of CASE technology”. O esquema de dassicacio proposto neste artigo fi uilzado aq. mas __ faite ferece mais detanes «usa como uma sie de prodstos comers Se encaianesseesquema Faget, EEE Computer, 26(12), de2. 1993) 58 Engenharia de Sofware 36 38 Lustique sues respostas, com base no tipo de sitema que esti sendo desenchide,sugeindo 0 ‘modelo mais apropiado de prcesso de sofware genéico que pode ser ulzado como base pa 9 {erenciamento do desensolmento dos segues Sistemas: + um sistema para contoar 0 mecanmo conta arrombamenta de fchadurs, en um vl ‘um sistema de realidad vital para apoier a manutencao de sofware “um sistema de contabldade para univesidades, que substtua um sistema estente, € ‘om sistema interatvo pra passogetos de feravias, que enconve os horas dos tens 2 pani de termina Intalados naz extacbes Eaplique por que programas queso desenuchides ulizando o desenolimentoeveludosso presenta diel manutencse Explique coma 0 made em cascata do prcesto de sofware ¢ 9 modelo de prtatipacso podem ser scomadados no modelo de processo em expt Sugita por que & importante fazer ums dstngSo ene dasenvoler 0s requis do uso @ ddesenolver os requisites do stems, no processo de engenhara de requstos, ‘bescreva as princpasatvidades no processo de pojto de software eas sldasdessasatvidades Utlizando um dagrama de relaconamento de entdades, mos os posiesreaconaments ere fa: said dossas atvicades, ‘ausis so os cinca componentes de um métoda de projeta? Considere quelquermétodo que wack ‘conheca e desceva seus componentes, vale 0 rau de exatda0 de metodo esclhida, Projets um modelo de prcesso ara efetuar tests de sistema ergisar seus resultados a Explique por que um sistema de sofware uiizado em um ambiente eel deve ser modfieado 0%, rogressvamente, ee tomaré menos ti o Sofia como um esquema de clessiiacso da tecnologia CASE pode sori para os gerntes rerponsivels pela aguiiso de sistemas CASE Pesquise a disponibiidade de feramentas em seu ambiente local de deservoimento e dassifque 3, fevramentas de ecordo com os pardmetros (uncio,stvidade, amplitude de poi) sugeies aq Fistocamente a introducio de tecnologia tem provocada profundas mudengas na mercado de ‘tabalho e, pelo menos temporatiament, faz com que algumes pessonsperdessem o emprego. Discuta 62 intoducto da tecnologia CASE pode let as mesmas consqlénciss para os engeniios de softwar, Se voce achar que nfo, explque por qué. Se achar que esa tecoloie redut as, toportnidades de empreg, ser Eco que os engenheros que poder Ser afetads estan 3 intoducto desseteenlog passive aamente? 2 4a /M\ Gerenciamento de projetos (0 objetivo deste capitulo & proporionar uma visto geral do gereciamento de projetos de sofware. Depois de ler exe capitulo, voce poder compreender as dlerenas entre o gerenciamento de pojelas de softare © outros ‘pos de getenciamento de projelos de engenhara conecer as pincipistarefas dos geretes de projeto de software; «ompreender por que 0 planejamento de projetas & essenciol em todos 0s projetos ‘de soare: compreender como repesentagtesgrfca (iagrames de bats, dagramas de Stviades) sto wiizadas pelos gerentes de projet para representa programacdes 2 projeto,€ compreender 0 prceszo de gerenciomento de rsas e alguns dos rscos que podem surgi em projets de software Aividades de gerencamento Planejamento de projto Programogio de prejeto CGerencamenta de ricos 60_Engonharia de Software © fracasso de muitos grandes projetos de sofware, na década de 60 no Inco dc de 70, fia primera inicago das difcaléades de gerencamento de software. O software tentegue com aro, ndo era confive.custava vias vezes mais do que previa 35 et tivas originals, multas vezes,exbiacaracteristiasprecdras de desempenbo (Books, 15 ses projets no Facasaram porgue os gents ou os programadorserem incomcten [Ao contro, ees projeos grandes desafadresatralam pesos de capaciagtoacina ‘média. A fatbaresida na abordagem de gerenciamentouslzads. Ténicas de gereniame Drovenientes de outasdiscipinas da engenbartaeram apicadas e mastravam-se In para 0 desenvolvimento de soars A necesiade de gerenciamento € uma importante dstingto entre o desenvavineno pa Fesonal de software ea programagio tm nivel amor. Necesstamos do gerenclarent projets de sofware porque »engenbaria de software pofsional est sempre sujet 9m Inigbes de orariento © de raz. Essasresrigbessf0ctabeleias pela oganizagto que ds volveo software 0 trabatho do gerente de projeto de software &garantr que o proeod sofware cumra essas resides © entregar um produto de software que eontibua pare metas da empresa (Os gercates de software sto responsiveis por plangjare programaro detenvovinenta df jet. Ele supersionam o trabalho pars ssseguar qe ele sje realizado em conform dade com os padebesrequeidos © mositoram o progrsso para verfiar se o desenvl nent est dentro do praz edo orgamenta. © bom gerecitnento no pode garantiro sce {do projete, Contd, © maw geenciamento geralmente resulta no fracasso do projet. 0 sof ‘vate €entegie com stato usta mas do que originalmente fi estinadoe apresents fl ho comprimento de seus requisites, (Os gerntes de software faz o mesmo tio de trabalho que outos gerentes de proj de engenharia. Contudo, a engenbaria de sofware € distinta de autos tpos de engeniai, fem uma varleade de modos que podem tomar o gerenciaento de software particulament Alii. Algumas desasdiferengas so 1. 0 prodar €imongiel 0 gerente do prjeto de construgto de um navio ou de wm y= jeto de engemharia clyde vero proao Sendo deservolida Se hi um atraso na pr framagio,o efit no produto € vise, Parts da estrutura edo obvamente inacabads. (software ¢ inangivel: nao pode se visto ou toca, Os geretes de projet de software io poder vero progres les dgpendem de outras pests para prodsir» documen- tagto neces, a fim de examinaro progres [oh proceso de softeore-padro No temes uma comprensio care ds lags ene 19 proces de software c 0 tips de produta, Nas dsciplias de engenharia com Ingo historic, o proces & experimentado ¢ testada.O process de engenharia pare deters rnados tos de stra, como im ponte, ¢ bem compreendid, Nossa compreenso do process de software sr desenvolessignifiativamente os iltnos anes. Contd, ands ‘lo podemoe prever com certeza quando um proceso de software especie poder ca Sar problemas de desenvlvimente, Grandes projeas de saftwore st, freaientemente, projets nics Os grands projets fe software so nonmalmente diferentes de projets anteriores. Os gerentes, portant, ‘verde, tin atpla experiencia anterior. que poe sr wilieada para veal incertezs fos panos. Conseqdenemente € mais if prever problemas. Alem diso, as ripilas ‘mudanges tecnolgleas em computadores¢ nas comuniagbes desatualieam as expertn- ‘as prevas, As lighesaprendias com esas exprincis poem no ser transferives pars novor projets Por causa desses problemas, nso € de surpreender que alguns projtos de software sofa atrass ¢ ullmpansem 0 oryamento previsto Os sistemas de sofware sto, freqienemen hovos e tecnicamenteinevadores, Os projets de engenharia (como novos sistemas de tans Poms mutes vezes, tem problemas relacionados 40 cronograma. Em face das ifiuldadss Capitulo 4 Gerenciamento de projtes 61 vols tves aja até ove que tats pcos de software sam entegues nro poe do ose * Oe ery de star um top «nope ten an eral. Poram. ete capil, simplest fo wa inoduio a9 SHH ¢ aa ae importantes atvidades de gerencament, come: planeamento de Waite Pe seer pce sence es Os opus pte (mar wa eres ete de gerecamento de sofare, ere es gest de pesonl estimative ibe de software e geenclamento de qualidade Atividades de gerenciamento lum erent de stare. Oba impose dar una desert do wabato-padida de um oa snk ees to sega ¢ do pro » set desenolvio, Com, tho var mln, eeepc, em ag ese, por sigma 8 Se tes atvidades ov pr todas ls: + etaboragio de propostas ‘planejamento € programasio de proetos + custo do proeto 1 monitoramenta e revishes de projetos + selgto €avaiagto de pesoal 1 laboragdo de ratios © apresentaptes pode envalver elaboraglo de uma B= 0 primi eto de wm projet de sofware pol even ebjetvs do peje como cle set 0 re cao poeta A pops ecrev o bk Sie sta par acetone etmtvas de caso progamaso. so pa us salad Em ts deve ado a un ogni oie ech ee mn tof cla ver Qa tenn mas eM eee ar pues de popes ass € cons mas a re etias pra ear: ira de propentas €una Mi ae ey cms ape, Mon 83] aps ua Tet de ea ede pease nea vane AINE aa do Son uap de enti a tines 8 mar a cee oan plc im iat deve etl, st wade pr gto tex serem produ oso pat. A esata de castes € ua tide at sein sr ei pt ea rt Essa st a soca estima eeoments te ape eo CAI 2B cum ada cons geet GEE mane © AR eens is pre coan oro: «cae a cin pashamento do ander sss npg tena eens forma at 9 MoM fam lang Ent ema om nro ma iGo QU et aoe rarer informal com au de POS. a ean cee re peer rents em pencil opr. m0 ei ean ads tmcngoe ds oem. Fo cen, decay is fee Pe ee ee um prebis eesenap ec a a de com ee Ge Ps gue um avo ma pogenacio areata, ogee de soft sera Pept a ele © pbims o pote dec ue © Pa je convenientemente reprogramado. aN 62_Engenharia de Software 42 Durante us proj, € norma corer une sre de revises formas plo serene de projets Ess revises se ocupam de examina 0 progres ger 0 dseaolvinent'g co do projet, consierandoo sats do poo ex elt soscjcvs da ogra Gu autora 3 operagto do stare © prazo para. odesvlvimeto de um grand rojo de software pode ser de vrs Durante tengo, oabjevosongaiacoas mute povavelnert sero modfcader ‘danger poem signer que o svar lo serh mal ecessifoou uc os eon Gil do pat st naequads 0 geencanenta pode ec nteomper 0 dxevai Go prota on modo 9 fim de acomotar a danas ss cheeses erganzastes (Os gerentes depots, gersiment precisa eins pessoa ara tabla em se Jet eal € que ume eipe it com expla prprada esta spon pa Bathe no poet. Contd, aa maiocs dos cso or geet ta ese content Com men do que una equip ele prj, As aes die so 1. orgamento do poet pode nto ser sufcene para contatr uma equipe bem pod set necesito lar uma equpe menos exprete¢ que exe Menor ene 2 Uma equpe com a experitncla apropiads pode nto estar dsponive, dentro ou fra de ganizato. Pode Ser impossivelrecruar una equie nova par © poet, Dento da oa zag, a melhores pesos tales jf exci slocada em outros pots 3. A organizago pode querer deseivalver as bablidades de seus funeioniis. por ito poe Ser designad uma equigeinexperent para um projet fim de qu ex equi arena ganhe experi, erent de software precisa trabalhar dente dese limitasbes quando seleciona # equip: de prajeto. Contd. & bem provavel que ocoram problemas,» ni ser Que pelo menos um rmembro do projet tena alguma experiénca no tipo de sistema a ser desenvolvid. Sem ‘ssa experincia, muitos eros simples podem ocrrer. Discutiri 8 cnstuigo da equip de projet © selesio de pesseal no Capitulo 22. ‘0 gerente de projeo geralmente €o responsivel pela prepaacio dos relatvas sobre 0 rojeto, tanta pares organiza do cliente como para as organizagbes dos frnecedores, Os ferentes de projeto devem redigr documentos coneisos ecaerents. que resumam a info ‘naptes fundamentals a partir de relatris de projeto dtalados. les devem ser caazes de apreseatar esas Informagies durante as revisbes de andsmento.Conseqdenement, 2 apa Clade dese comunieat de modo ear, tanto verbalmente como por esr, ums habe fade esenial para am gerente de projet Planejamento de projeto q (0 gerenclamento fica de um proto de software depende de um planejamento acuraio Ao andamenta do projet. 0 gerente de projet deve pever os problemas qe podem suit € prepara slugaes experimental para esses problemas. Um plano raga no inicio do pro Jeo deve ser ulizado como guia para ese projet. O plane Incal deve sero mthoe os ‘vel, em face das informagées dsponivas. le deve evolur 4 medida que © projeta Sit esenvavido e melhores informagses se tornem disponives. ‘Una estrira para um plano de desenvolvimento de software € desert na Seg 421 Assim como ui plano de projet, os deentes podem também ter de tragar outro tpas de Pianos. Esser planos esto brevemente deerith na Figure 4 © sip abordados com mai tetas no capitulo releente xo aunt, em outa parte do liv, Capitulo 4 + Gerenciamento de proetos 65 ao de abate ‘exc o cameras pt teste de que que edo laos cur rea, Ve Capt 36 ana de abo Desc 3 aboragem, os vessos 0 med las pres akdate dessert 0 Cap 9. exces 0 cement de encamern os estas one gecesmemen rem vtzase: eno Capo 2. (cates an de manent Pret os rune de manne do ste, 0 sts de framaniio eo eer nossa, Veo ple 2. te duanohinete sm cova as abr epee mes ds Ease Se net te de Wp Es (0 pseudocbiig, mostado na Figura 42, descreve 0 proceso de planjamento do rojo pare desenvolvimento de sofware. Ele mostra que o planeamento € um proceso tere Fis ue 26 termina quando 0 proprio projet for conclu, A medida que as informacdes antes projet st toma disponveis durante sea desenvolvimento, 0 plano Geve se eh Tenet tevisado. Os objetivos gers de empresa sour importante ator que deve se cn~ ‘trode quando se formula o plano de projet. Quando ests cbjedivos sto modiiados, 80 recesiis mudangas ao plano do pojeto, 1D proceso de paneamento se inila comm uma avalialo das resis (a data de entegs estaeteda, 0 pesoa!diponivel © oramente tt ge outas) qu aetam o pict. Ea Sralsglo € reazda em conjnto com ua extimatva da parimetospSfs 0 prac, como Shs curt, sea famano © va distbulgh de fangBes. Os marcos de progress cos prod tors sve taregue sab nto defines. O proceso ena, ent, em um loop. Uma progia~ Imag pra o prj €oavta ea atvdades defines na programa so iniiadas ou bert fart prosseyulmento, Depo de algum tengo (nonmalmente depots de das mts semanas) 0 Endamento cxaminado eas dscreineas sto observadas. Como as exinatvas dos pare tos de pret slo experiment, o plano sempte precisa ser modicad. Oy geen depo rev a pose sere 0 pot mthn que anor imagiers tornam disponives refazend 3 programar2o do pojeto. Se o projet esiverata= do, talver etham fe renegocar com cliente as resrigbes do projeto « os rodutos & rem enregues Se esa renegocagto nd for ber-sucdidae a programatao nso puder se ‘Sumpria, poerd ser consierada um reviio tenia do projeto. 0 objetivo dessa revsto eablca artis do pret Far taco nial ns primes do proto Dina ce mas do rojo xpos srt egies (tsp nn ere terindo ov ane oop ‘ssn popemacie do pote Ince stage e aca com 3 roramscio ‘owde param pedo) ‘Sune popes 3 pet ova esas pros do proto buniae» opamato 2 poet. Seana reser doproeo © 05 pros srem etesies 1 sagem poten. then 64_ Engenharia de Software ara 422 € encontrar uma abordagen de desenvalimentoalternativa, que se limite &s rest Drolet © cunpra a programacso "Naturalmente, derentes de proeto expevients no supdem que tio correct bem, pis pre suraio problemas de alum tipo durante um projet. AS bipoteses © as progr Aassumidasinicialmente devem ser pessimistas, em ver de otimistas. & preciso tent 9 toda as possivis eventualgades no plano de poet, para que 2 reste ¢ oF mae ‘rojetondo team de serrenegociaos 3 todo tempo no loop de planejamento, 0 plano de projeto (ano de prc define ox recursos dsponvels pao projet, sestruura analicn do ‘batho eum programacio para realizar o trabalho, Em algunas organiagtes,o plan de Je € um docursento nico que inorpora todos os diferentes tipos de plano apse !antesiomense. Em umes esos, lan de projet se acupeexcusivament do proces de ‘volvimento. Sse inuids refers ones planes, mas os planos sto sxparados exe ‘Atria de plano que descevo agi €adequada aes tino po de plano. Os {eo plano de projetavariem. dependendo do tipo de projto« ds empress. Conta. & dos plans deve incl a sepunts sep 1. IntrodusdoDescreve com Wividade os objetivos do projet € define as rests cxempl,orgementa« prizo) que aeamn 0 gerenclamento do projeta, 2 Orgnlzogdo de projeto Dessreve modo come a equipe de desenvolvimento €or ada, a pessoas envoluidas e seus pups na equip 3. Andlise de rss Descreve possves scos de projets, a probabilidade de surg et riseose as estates propostas para redugdo dels. O gerenclamento de rics ¢ aba tao na Sepio 44, 4. Requistosnecesirios de hordwore softuare Deserve o hardware € o software di spoioexigdos para realizar o desenvolvimento. Se 0 hardware cver de ser comp fas fdevert er inculdos os prazos de enreg e 8 estimativas de pre. 4 ‘5. Estrutura anatcn Descreve a dvisi do trabalho em aivdadese identifica 0s mi os 05 produtos a seem entregues com cada atvidae. Os marcos ¢ os produls Aiscuids na Serdo 42.2 1. Progrmasio de prejctoDesreve as dependéncas enre avdades, temp estima rida pare ating cada marco 3 aloo de pessoas na avidades. 11 Meconsmos de manitoramento ¢ de elabarago de relarrios Desceve os relatos #4 q erenciamento qe deve ser produidos, quando eles devem ser prodaziose muss v rismos de monitoramento 80 iaados ree 1 plano de projeto deve ser revisado regularmente durante 0 projet. Algumas pate 1 programasio do pre, seo freqdentemente modiiaas: ours partes verso mas ‘cis Deve er atizada una organizagbo de documentos que permits 2 substuigt df de segs. ‘Marcos e produtos a serem entregues Capitulo 4 + Gerenciamento de projetos 65 anos lng um pot, uma sie de mar eve sr eae: um marco & 0 son Sn ste eso defi A co are deve have ua sala fo ra am tr ue oss areca ae gc 03 ets Sea ra oe uments exes cs ode seamen run eve ret i eal seem sine dp. Os mae Serene ©iral de un esi x pc um tN iio rn prec" #0 yr ceo wt ue de mse! vals nea pa 0 gretceno dopa Tia e's or enegne&w suo do peo cnege a cent Em gee eben ran de guna fs inporate 8 rp, cme 8 spe © foe Sane 8 pots 9 sem egaes so acm mas op marcos no preci sc sre eng Os mts eo eas eos do pe ea “Styrene te poe on vd anda do prs, stm scm e- ms 0 ete . ‘Para estabelecer marcos, o process0 de software deve ser dividido em atividades basicas com a fr ecogisF£3 as sae nhs napettino de eee ands en etter sar 9 waa 5 gusto As pics ‘Stan ste os wns pe) so masa Os pods sem engie Se so eng apes de ngs Programagao de projeto | programagto de projeto € win tarefaparticularmentenecessira para os engenhelros de pojeta, Os gerentesestimam 0 tempo ¢ 0 Teeusosexigidos para completar 38 ativl- fades eos onganizam em uma sequtaciacoerene. A menos que projeo em programa~ {sea similar» um pojeto anterior, estimativas precedentes so uma base incerta para time nova progremagio de projet, A estinatva de programagio ainda mats complicada pelo fate de que diferentes projetos posem wtllar diferentes métodos de projetoe ling sens de mplementas. ‘eo prajeto for teenicomente avangado, ak estimatvas inca certamente ser otimis- tas, mesmo quando os gerenestentam consierar todas a5 eventualidades. A esse respite, 3 praziomacto de software nia € diferente da programacSo de qualquer outro tipo de gran~ {is projetosavangados.O dexenvolinent de novas aronaves, pons e mesmo noves mode- fos Ge automévesfreqentemente safe alg atraso devido a problemas que nfo foram revises As programagdes, poraito, devem set contnuamente atualizadas, 8 medida que rchores informagdes sobre 0 progress se tomam disponveis 'A progiamoto de projeto Figura 4) envlve dvdr © wrabslo total de um projeto emt vidas lst ¢ evalar 0 tempo necesrio para completar ssa ativdades. De modo 1s gerentesprecistn de Informactes. Como o software €intangivel, esses infos somente podem ser forecidas como documents que desrevem 0 estado do softwar ‘eth send desenvolvdo. Sem east Informagbes,€ impossve julgar © progresa« = 84 Iiativas de custo © 38 programagbes ao podem str atuslizades ele = =]

You might also like