KPMG Consulting Traduo Dalton Conde de Alencar Mestre em Informtica !elo Instituto Militar de Engen"aria #r$%I& E''$$A()$ D DE $ CEPC$C*+,C$' ooierrro EDIT$*A AFI- lADA P Preenc"a a fic"a de cadastro no final deste li.ro e rece/a gratuitamente informa0es so/re os lanamentos e !romo0es da Editora Cam!us1 Consulte tam/2m nosso catlogo com!leto e 3ltimos lanamentos em 4441cam!us1com1/r ED5A*D 6$7*D$8 A8+-I'E E'T*7T7*ADA M$DE*8A T*AD7()$ DA TE*CEI*A EDI()$ AME*ICA8A 9: Tiragem mm1 CAMP7' 'E*IE 6$7*D$8 P*E'' ;<s== 9 Do original> Modem 'tructured Anal#sis ? @ rd Ed1 Traduo autori&ada do idioma inglAs da edio !u/licada !or i? Inc1 Co!#rig"t B 9CDC /# Prentice?,allE Inc1 ci F1G 1 :?9 B 9CCHE Editora Cam!us -tda1 C- Todos os direitos reser.ados e !rotegidos !ela -ei ICDD de 9JG9:GK@1 8en"uma !arte deste li.roE sem autori&ao !r2.ia !or escrito da editoraE !oder ser re!rodu&ida ou transmitida seLam Muais forem os meios em!regados> eletrNnicosE mecnicosE fotogrficosE gra.ao ou MuaisMuer outros1 Todo o esforo foi feito !ara fornecer a mais com!leta e adeMuada informao1 O Contudo a editora e oFsO autorFesO no assumem res!onsa/ilidade !elos resultados e uso da informao fornecida1 *ecomendamos aos leitores testar a informao antes de sua efeti.a utili&ao1 Ca!a $t.io 'tudart Co!idesMue ? ? Maria Cludia AL3& Goulart EditoraPo EletrNnica 78IQE*'t DADE E'T+CI$ DE ') Gra!"/os R *e.iso Gr ltca SSSSSSS 8 ProLeto Grfico ? ATuaIidade Informtica1 $FD U $ $=U *ua 'ete de 'etem/roE 999 ? l< andar :HHIH?HH: *io de Raneiro *R Brasil Telefone> FH:9OIHC?I@JH FAX FH:9OIHK?9CC9 E?Mail> info Bcam!us1com1/r I'B8 DI?KHH9?<9I?D FEdio $riginal> I'B8 H?9@?ICD<:J?CE Prentice?,allE Inc1E Inc1E 8e4 Rerse#E 7'AO1 Fic"a Catalogrfica CIP?Brasil1 Catalogao?na?fonte1 'indicato 8acional dos Editores de -i.rosE *R 6ourdonE Ed4ardE 9CJJ? 6KJa Anlise estruturada moderna G E4ard QourdonV traduo Dalton Conde de Alencar1 ? *io de Raneiro> Cam!usE 9CCH1 Traduo de> Modem structured anal#sis A!Andice Indice I'B8 DI?KHH9?<9I?D 91 Anlise de sistemas1 :1 Processamento de dados ? T2cnicas estruturadas1 91 Titulo CH1HHDK CDD ?HH9 <JJHJ CD7 ?<D91@1H: H9H:H@HJ 9<9I9J9@9: Todos os esforos foram feitos !ara assegurar a !reciso a/soluta das informa0es a!resentada !u/licao1 A editora res!ons.el !ela !u/licao originalE a Editora Cam!us e oFsO autorFesO det se isentam de MualMuer ti!o de garantia FeW!lXcita ou noOE incluindoE sem limitaoE garantias im de comerciali&ao e de adeMuao a determinadas finalidadesE com relao ao cYdigo?fonte elc t2cnicas descritos neste li.ro1 A Editora Cam!u' e oFsO autorFesO no se res!onsa/ili&am !or !rol relacionados Z funcionalidade do cYdigo?fonte !ara datas a !artir de H9GH9G:HHH1 P*EF+CI$ $ Mue 2 .alioso no 2 noto e o Mue 2 no.a no 2 .alioso1 ,enr# PeterE -ord Broug"am T/e Edin/urg" *e.ie4E 9DH: Permitam?me fa&er uma !ergunta /astante Y/.ia> o mundo realmente !recisa de outro li.ro so/re anlise de sistemas[ Esta !ergunta !ode !arecer retYrica mas "ou.e muitas ocasi0es ? "a/itualmente tarde da noite E Muando tra/al"ando neste li.roE em Mue eu me !ergunteiE \Por Mue de.o me !reocu!ar com isso[ Tue " de errado com todos os li.ros Mue tAm sido usados nos 3ltimos de& anos[ Como !osso es!erar acrescentar alguma coisa Z literatura eWistente[] ^ claro Mue o Lulgamento do resultado ser feito !or outras !essoasE no !or mim1 8o entantoE creio realmente Mue eWiste a necessidade de um li.ro Mue atuali&e !arte do material clssico so/re anlise de sistemas !u/licada no final dos anos KH1 Tuando Tom DeMarco escre.eu 'tructured Anal#sis and ' '!ec e C"ris Gane e Tris" 'arson escre.eram 'tructured '#stems Anal#sis> Tools and Tec"nXcsE no "a.iam linguagens de Muarta geraoE nem ferramentas de !rototi!ao dis!onX.eis !ara os desen.ol.edores de sistemas1 $s com!utadores !essoais ainda no tin"am sido lanadosE em/ora L eWistissem algumas das !rimiti.as mMuinas da A!!le e da *adio?'"ac%1 8o "a.ia !rodutos de soft4are /aseados em esta0es inteligentes Mue auWiliassem o analista de sistemas na ela/orao dos diagramas de fluWo de dados1 $s !rogressos nessas reas ti.eram um grande im!acto na aceitao geral da anlise estruturada> muitos Muestionam se a anlise estruturada 2 rele.ante em am/ientes onde os usurios !odem criar suas !rY!rias a!lica0es em Muesto de "oras ou diasE 'Y isso L 2 moti.o !ara um no.o li.ro so/re o tema da anlise de sistemas> a /em mais !oderosa tecnologia dis!onX.el !ara os analistas de sistemas e usurios alterou nosso enfoMue e !ers!ecti.as1 Al2m dissoE os desen.ol.edores de sistemas ti.eram de enfrentar !ro/lemas de sistemas de /ancos de dados e de tem!o realE em acr2scimo aos sistemas _orientados !or funo] originalmente .isados !ela anlise estruturada no final dos anos KH1 Este li.ro discute os diagramas de entidades e de transi0es de estadoE os clssicos diagramas de fluWo de dados e mostra como esses trAs modelos !odem ser integradosV essa integrao de modelos se tornar mais e mais im!ortante no decorrer dos !rYWimos anos1 Alguns outros recentes desen.ol.imentos na anlise estruturada ? incluindo o !articionamento de e.entos e a desenfati&ao da modelagem do sistema fXsico atual ? esto incluXdos neste li.ro1 EWiste ainda outra ra&o !ara se escre.er mais um li.ro so/re an lise estruturada> a maioria dos li.ros _clssicos] so/re anlise estruturada foi escrita !ara analistas de sistemas .eteranos ? sem !reocu!ao com os mais no.atosE Mue ainda esto se iniciando na rea1 AdemaisE a maioria dos li.ros didticos so/re anlise de sistemas escritosE durante os 3ltimos de& anosE deu !ouca ateno Zs no.as t2cnicas de anlise estruturada e continuou a dedicar muitas !ginas Zs discuss0es so/re cart0es !erfurados e so/re o cYdigo ,ollerit"V afora o fato de Mue muitos desses as!ectos esteLam o/soletosE o con"ecimento su!erficial do "ard4areE do soft4are e da !rogramao de com!utadores 2E geralmenteE ministrado !or um curso de _Introduo aos Com!utadores]E Mue "a/itualmente !recede o a!rofundamento no estudo da anlise de sistemas1 Este li.ro tenta o/ter o eMuilX/rioE recon"ecendo a necessidade de algum material introdutYrio !ara os estudantes Mue ti.eram um curso inicial so/re com!utadores mas nunca fi&eram anlise de sistemasE em/ora recon"ecendo Mue os conceitos de anlise de sistemas seLam sim!les o /astante !ara Mue !ossam ser ensinados detal"adamente nos nX.eis de segundo grau e uni.ersitrio1 Em face dissoE a maior !arte do material introdutYrio est reunido nos a!Andices de modo Mue !ossam ser dis!ensados !elos Mue L tAm !rtica do assunto1 Este li.ro 2 adeMuado !ara cursos uni.ersitrios de um semestre so/re anlise de sistemasV ele satisfa& os reMuisitos do curso CI'?D<GI do _CI' D<] DPMA Model Curriculum for 7ndergraduate Com!uter Informa tion '#stems1 Entretanto ele no a/range am/os os tY!icos de anlise e !roLeto de sistemasE a!esar de muitos esta/elecimentos de ensino tentarem co/rir os dois assuntos em um 3nico semestre1 Penso Mue eWiste material suficiente !ara discusso nas duas reasV !ara um curso de um semestre so/re !roLeto estruturadoE sugiro Mue o leitor !rocure ou o li.ro Practical Guide to 'tructured '#stems DesignE : edioE de Meilir Page Rones F6$7*D$8 PressE Engle4ood CliffsE 81R1E 9CDDOE ou o li.ro 'truc tured DesignE : edioE de Ed 6ourdon e -arr# Constantine F6$7*D$8 PressE Eng`e4ood CliffsE 81R1E 9CDCO1 $s analistas de sistemas .eteranos !odem ler o !rimeiro ca!Xtulo como orientaoE e de!ois saltar o restante da !arte 9V os !rimeiros sete ca!Xtulos so /sicos !ara os no.os estudantes1 $s .eteranos consideraro familiar /oa !arte da discusso so/re diagrama de fluWo de dadosE dicionrio de dados e coisas desse ti!oV entretantoE o ca!Xtulo C a!resenta eWtens0es de DFD !ara sistemas de tem!o?real Mue tal.e& seLam no.os !ara aMueles Mue tAm tra/al"ado eWclusi.amente em sistemas orientados !ara o com2rcio1 $ estudo so/re diagramas de entidades? relacionamentos !ode ser no.oE tam/2mE !ara os mais familiari&ados com os _diagramas de estruturas de dados]E e a discusso so/re os diagramas de transi0es de estado no ca!Xtulo 9@ a!resenta uma no.a ferramenta im!ortante de modelagem1 ^ de grande interesse !ara os .eteranosE os ca!Xtulos 9C e :H a!resentam uma a/ordagem !ara a ela/orao do modelo /sico Ftam/2m con"ecido como modelo lYgicoOE Mue contrasta totalmente com a rXgida a/ordagem to!?do4n seguida !elos analistas de sistemas durante tantos anosV 2 a a/ordagem con"ecida como !articionamento de e.entosE /aseada na o/ra de McMenamin e Palmer1 $ ca!Xtulo 9K recomenda Mue seLa eliminada a clssica a/or dagem de se modelar o sistema fXsico atual] do usurio esse as!ecto de.e ser estudado atentamente !elos analistas de sistemas cuLas t2cnicas esteLam /aseadas em li.ros dos anos KH1 Entre os a!Andices " dois estudos de casos Mue mostram as di.ersas ferramentas e t2cnicas discutidas neste li.ro1 $ !rimeiro estudo de caso 2 uma tX!ica a!licao _orientada !ara o com2rcio] /aseada nas o!era0es editoriais da 6$7*D$8 PressV o segundo 2 um eWem!lo tX!ico de \sistema de tem!o?real] /aseado em um sistema de controle de ele.adores1 Am/os so a!resentados detal"adamenteE em/ora isso aumente o taman"o do li.ro> 2 im!ortante Mue os estudantes .eLam um eWem!lo com!leto de uma es!ecificao1 Esses modelos !odem ser usados !ara discuss0es e eWercXcios em salas de aula1 Anlise Estruturada Moderna 2 resultado de muitos anos de eW!eriAncia com centenas de clientes de consultoriaE mil"ares de estudantes em seminrios e de&enas de colegas na 6$7*D$8 Inc1 e outras organi&a0es de consultoriaV de.o muito a essas !essoasE demasiadamente numerosas !ara Mue eu as !ossa citar !elos nomes1 ContudoE " algumas !essoas Mue merecem es!ecial atenoE !or terem auWiliado a tornar este li.ro /em mel"or do Mue !oderia ter sido1 8o se !ode escre.er um li.ro "oLe em dia so/re anlise de sistemas sem recon"ecer os li.ros !ioneiros de Tom DeMarcoE C"ris Gane e Tris" 'arson1 'into?me igualmente agradecido a 'te.e McMenamin e Ro"n PalmerE cuLa o/ra Essential '#stems Anal#sis re!resentou um im!or tante !asso Z frente da !rimeira eW!osio da anlise estruturadaV de modo semel"anteE Paul 5ard e 'te.e Mellor a!resentaram .rios conceitos e ferramentas de modelagem im!ortantes !ara sistemas de tem!o?real no conLunto de trAs .olumes 'tructured De.elo!ment for *eal?Time '#stems1 Fui grandemente /eneficiado no ano !assado em de/ates com colegas com os Muais ministrei seminrios so/re anlise estruturada nos Estados 7nidos e na Inglaterra> Ro"n Bo4enE Rulian MorganE Bo/ '!urgeonE 8ic% Mandato e AleW Gers&no4ic& merecem agradecimentos es!eciais !or me mostrarem formas eloMaentes de eW!licar os conceitos de anlise estruturada Mue euE certamenteE no teria encontrado !or mim mesmo1 ParalelamenteE o !rofessor Peter Bro4n e um gru!o de seus alunos na 7ni.ersidade lOuMuesne de!uraram o li.ro utili&ando?o como li.ro teWto em um curso so/re anlise de sistemasV Ca!Xtulo 99 Es!ecifica0es de Processos 1 :I@ Ca!Xtulo 9: Diagramas de Entidades?*elacionamentos :DC Ca!Xtulo 9@ Diagramas de Transi0es de Estado @9C Ca!Xtulo 9J $ EMuilX/rio dos Modelos @@K Ca!Xtulo 9I Ferramentas Adicionais de Modelagem @I@ Ca!Xtulo 9< Ferramentas de Modelagem !ara Gerenciamento de ProLetos @KI PA*TE ifi $ P*$CE''$ DE A8+-I'E Ca!Xtulo 9K $ Modelo Bsico @C9 Ca!Xtulo 9D $ Modelo Am/iental JHC Ca!Xtulo 9C A Construo do Modelo Com!ortamental Preliminar J@C Ca!Xtulo :H Como Com!leta> o Modelo Com!ortamental JI@ Ca!Xtulo :9 $ Modelo de Im!lementao do 7surio 11 J<I PA*TE IQ P*$B-EMA' DE C$8TI87IDADE Ca!Xtulo :: A Fase de ProLeto IHK Ca!Xtulo :@ Programao e Testes I:K Ca!Xtulo :J A Manuteno das Es!ecifica0es II@ Ca!Xtulo :I $ Futuro da Anlise de 'istemas I<@ APb8DICE' A!Andice A Ferramentas Automati&adas IKC A!Andice B Diretri&es da A.aliao <HI A!Andice C $ Clculo de CustoGBeneficio <:@ A!Andice D Camin"amentos F5al%t"roug"sO e Ins!e0es <JI A!Andice E T2cnicas de Entre.istas e de Coleta de Dados <II A!Andice F Estudo de Caso> A 6ourdon Press 1111 <K9 A!Andice G Estudo de Caso> $ 'istema de Ele.adores KDK c8DI D:9 9 I8T*$D7()$ $!rinci!io e a finali&ao de todos os em!reendimentos "umanos so desorgani&adosE a construo de uma casaE a escrita de uma no.elaE a demolio de uma !onte e !rinci!almenteE ofim de uma .iagem1 Ro"n Gals4ort"# $.er t"e *i.erE 9C@@ 8este ca!XtuloE a!renderemos> 91 PorMue a anlise de sistemas 2 interessante1 :1 PorMue a anlise de sistemas 2 mais difXcil do Mue a !rogramao1 @1 PorMue 2 im!ortante estar familiari&ado com a anlise de sistemas1 Muito /emE aMui estamos no inXcio de um longo li.ro1 A !ers!ecti.a de ler um li.ro t2cnico assim to eWtenso !ro.a.elmente o assustaE mas !ode ser.ir de consolo o fato de ser ainda mais aterrori&ante Muando se comea a escre.er um li.ro assim1 Feli&menteE assim como as longas camin"adas ocorrem um dia !or .e&E eE afinal de contasE a um !asso !or .e&E os li.ros eWtensos so feitos um ca!Xtulo de cada .e&E eE em 3ltima anliseE uma sentena de cada .e&1 919 P$* T7E A A8+-I'E DE 'I'TEMA' ^ I8TE*E''A8TE[ $s li.ros longos geralmente so enfadon"osE este no o ser1 Ator tunadamenteE o assunto deste li.ro ? anlise de sistemas ? 2 interessante1 8a realidadeE a anlise de sistemas 2 mais interessante Mue tudo Mue con"eoE eWcetuandoE tal.e&E seWo e certos ti!os de .in"os da Austrlia1 Ela 2E sem d3.idaE mais interessante Mue a !rogramao de com!utadores Fno Mue a !rogramao seLa enfadon"aO !or en.ol.er o estudo das intera0es entre !essoasE entre gn diferentes de !essoas e entre com!utadores e organi&a0es1 Como disse Tom DeMarco em seu 3ltimo li.roE 'tructuredAnal and '#stems '!eMflcation d 9CKDeE a anlise d sistemase 2 frustranteE re!leta de relacionamentos entre !essoasE indefinida e difXcil1 *esumindoE 2 fascinante1 De!ois Mue .ocA 2 fisgadoE os .el"os e fceis !ra&eres da construo de sistemas nunca mais sero suficientes !ara satisfa&A?lo1 Isto !ode sur!reendA?loE no caso de .ocA ter alguma eW!eriAncia em escre.er !rogramas de com!utadores Programar 2 di.ertidoE sendo ainda um desafio intelectualV 2 difXcil imaginar algo mais recom!ensador e agrad.el do Mue .er um !rograma ser !rocessado com sucessoE !rin ci!almente de!ois de des!ender .rias "oras Fou dias`O eW!urgando?l"e os erros1 ^ difXcil imaginar Mue !ode ser ainda mais recom!ensador e eWcitante Muando nos afastamos do com!utador e da !rogramao !ara estudarmos o sistema com!letoE do Mual os !rogramas !artici!am1 Po r2mE no final deste li.roE es!ero tA?lo con.encido de Mue o .erdadeiro desafio e a alegria real em tra/al"ar com sistemas de com!utadores consistem em eWecutar a anlise de sistemas1 8o im!orta a !rofisso Mue .ocA decida seguirE ser sem!re im !ortante Mue .ocA com!reenda o Mue 2 a anlise de sistemas1 'e .ocA tra/al"a na ind3stria de com!utadores em algo diferente da engen"aria el2trica ou !roLeto de "ard4areE " uma grande !ossi/ilidade de Mue sua carreira !rogrida de !rogramador !ara !roLetista de sistemas e daX !ara analista 1de sistemasE at2 Mue .ocA finalmente alcance o nX.el de gerAncia 91: A T7EM E'TE -5*$ ^ DI*IGID$ Este li.ro est sendo escrito !ara dois ti!os de !essoas> uma 2 a no.ata na rea da anlise de sistemasE e a outra 2 o analista de sistemas eW!eriente Mue !recisa con"ecer as ferramentas e t2cnicas de modela gem de sistemas Mue e.oluiram nos 3ltimos cinco a de& anos1 Muitos leitores sero estudantes uni.ersitrios da ciAncia dos com!utadores Mue com!letaram os cursos iniciais de !rogramao e alguns !odem ser estu dantes de um !rograma de treinamento comercial1 EntretantoE o li.ro de.e ser ca!a& de ser lido tanto !or !essoas Mue terminaram seu treinamento uni.ersitrio como !elas Mue L esteLam : tra/al"ando na ind3stria1 Muitas !essoas na ind3stria com!utacional !assam seus !rimeiros anos tra/al"ando como !rogramadores eE de!oisE so su/itamente !romo.idas Fou redesignadasO Z !osio de analistas de sistemasE sem serem instruXdas so/re o Mue seLa a anlise de sistemas ou so/re o Mue fa& um analista de sistemas1 'e .ocA esti.er numa situao dessasE este li.ro 2 !ara .ocA1 Ele tam/2m ser?l"e? 3til no caso de .ocA ter comeado a tra/al"ar como analista de sistemas nos anos <H ou KH e nunca te.e a o!ortunidade de a!render a res!eito das t2cnicas da anlise estruturadaE como diagramas de fluWo de dadosE diagramas de entidades? relacionamentos e dicionrios de dados1 Com mais e mais freMaAncia "oLe em diaE as !essoas estran"as ao com!utador esto desco/rindo ser necessrio se familiari&ar com a rea de anlise de sistemas1 'e .ocA 2 um "omem de negYcios ou um gerente Fou 2 um dos !rofissionais descritos !elo !essoal da com!utao como usuriosOE eWiste uma /oa !ossi/ilidade de Mue .ocA se en.ol.a em alguma ati.idade de anlise de sistemas1 ,a.er analistas de sistemas tra/al"ando !ara .ocAE des!endendo tem!o tentando com!reender Mue ti!o de sistema automati&ado .ocA deseLa Mue eles desen.ol.am1 De forma semel"anteE se .ocA for um administradorE funcionrioE cientistaE !olXtico ou um contador ? ou eWerce .irtualmente MualMuer outra !rofis so da sociedade moderna ? " grandes !ossi/ilidades de Mue .ocA .en"a a gastar um tem!o significati.o de sua carreira interagindo com !essoas Fanalistas de sistemasO Mue !roLetaro e es!ecificaro sofistica dos sistemas a!licati.os !ara .ocA1 Tuanto mais .ocA sou/er so/re o Mue essas !essoas fa&em e o Mue elas es!eram de .ocAE mel"or ser1 Mesmo Mue .ocA no !retenda tra/al"ar com um colarin"o /ranco ? isto 2E mesmo Mue .ocA as!ire ser um artistaE um escritorE um m3sico ou um atleta ? .ocA de.e sa/er o Mue significa a anlise de sistemas1 As !essoas em todos os setores da .ida so afetadas !elos sistemas de informa0es de todos os ti!os1 Ainda Mue .ocA no !retenda construir um sistema nem mandar construir umE 2 ine.it.el Mue .ocA os utili&e em suas contas /ancriasE na sua educaoE em suas rela0es com a Pre .idAncia 'ocial e em !raticamente todos os as!ectos de suas rela0es com a sociedade moderna1 Como Ro"n Gall di& em '#stemant d 9CKKeE 8ingu2mE atualmenteE !ode e.itar o contato com os sistemas1 $s sistemas esto em toda !arte> sistemas grandesE sistemas !eMuenosE sistemas mecPnicos e eletrNnicosE e os sistemas es!eciais com!ostos !or associa0es organi&adas de !essoas1 Como auto?defesaE !re cisamos a!render a con.i.er com os sistemasE a control?los !ara Mue no nos controlem1 Como disse ,um!t# Dum!t# a Alice Fem /ora em outro conteWtoO> _A Muesto 2> Muem dominar ? isso 2 tudo]1 @ Para enfati&ar ainda mais este !ontoE lem/re?se de Mue a ind3stria da com!utao re!resentou cerca de Df do P8B dos Estados 7nidos em 9CDIV !or .olta de 9CCHE es!era?se Mue re!resente em torno de 9If do P8B Tuase tudo o Mue 2 !rodu&ido "oLe !elas em!resas americanas tAm um ou mais com!utadores en.ol.idos em sua !roduoE e Muase todos os ser.ios oferecidos !elo mercado de negYcios americano esto /aseados ou controlados !or um sistema de com!utao1 91@ $T7E E'TE -5*$ FA*+ P$* .ocb Como .ocA L de.e ter !erce/idoE um dos maiores o/Leti.os deste li.ro 2 ensinar?l"e anlise de sistemas> o Mue ela 2 e como se lida com ela1 Mas no 2 sY issoE $ meu .erdadeiro !ro!Ysito 2 entusiasm?loE torn?lo to interessado em comear a !raticar anlise de sistemas Mue .ocA .ai Muerer dis!arar !elas 3ltimas !ginas do li.ro e comear a tra/al"ar em seu !rimeiro !roLeto1 'e#mour Pa!ert comenta em Mmd storms d 9CDHeE Agradam?me es!ecialmente sistemasE como um mecanismo diferen cialE Mue no o/edecem a uma seMaAncia linear de causalidadesE uma .e& Mue o mo.imento do eiWo de transmisso !ode ser dis tri/uXdo de .rias maneiras diferentes !ara as duas rodasE de!en dendo da resistAncia encontrada1 -em/roE de forma .i.idaE min"a eWcitao em desco/rir Mue um sistema !ode estar suLeito a leis e ser inteiramente com!reensX.el sem ser rigidamente determinXstico1 E como 'ir Art"ur 'tanle# Eddington disse em d 9CDKeE Desco/rimos Mue onde a ciAncia !rogrediu maisE a mente recu!erou da nature&a o Mue L l"e "a.ia dedicado1 Encontramos uma estran"a !egada nas !raias do descon"ecido1 Desen.ol.emos !rofundas teoriasE uma a!Ys a outraE !ara eW!licar sua origem1 Por fimE o/ti.emos sucesso na reconstruo da criatura autora da !egada1 EE sur!resa` Ela era nossa1 $utro !ro!Ysito deste li.ro 2 fa&A?lo com!reender e considerar Mue .i.emos em um mundo de sistemas ? e de sistemas dentro de outros sistemasE Mue so com!onentes de sistemas ainda maiores1 AssimE tudo Mue fa&emos em nossa .ida !essoal e !rofissional tem im!acto Fmuitas .e&es im!re.isto ou ines!eradoO nos di.ersos sistemas de Mue somos !arte1 Esta a/ordagem de _!ensar em sistemas] no 2 .ital a!enas !ara analistas !rofissionais de sistemasE mas !ara todos os mem/ros da sociedade moderna1 J Infeli&menteE este li.ro no !ode transform?lo em um eW!eriente analista de sistemasE do mesmo modo Mue um li.ro so/re teoria musical no !ode torn?lo um !ianista eW!eriente1 8o final do li.roE .ocA dis!or de /ons con"ecimentos t2cnicos Mue o auWiliaro a desen.ol.er modelos corretos de sistemas com!leWosE e .ocA se tornar con"ecedor das t2cni cas !asso a !asso !ara eWecutar o esforo da anlise de sistemas1 Mas ainda ser necessrio um grande .olume de tra/al"o no mundo real !ara con"ecer as a!tid0es das !essoas> como entre.istar usurios de di.ersos ti!os !ara com!reender a .erdadeira essAncia de um sistemaV como a!resentar os resultados do seu tra/al"o de anlise de sistemas de forma Mue todos !ossam .er os custos e /eneficios reais do desen.ol.imento de um no.o sistemaV como distinguir os !ro/lemas dos sintomas1 Como disse Barr# Boc"m em sua clssica o/raE 'oft4are Engineering Econo mics d 9CD9e> Cada um de nYsE como engen"eiros indi.iduais de soft4areE tem uma o!ortunidade de fa&er um significante im!acto !ositi.o na so ciedadeE sim!lesmente !or nos tornarmos mais sensX.eis Zs im!li ca0es das rela0es "umanas de longo alcance de nosso tra/al"oE e !or incor!orarmos essa sensi/ilidade em nossos !roLetos e !rodutos de soft4are1 ^ necessria uma certa !rtica !ara fa&er /em issoE e !ara a!render a eMuili/rar os as!ectos das rela0es "umanas com os da !ro gramao e com os as!ectos econNmicos1 $ !onto !rinci!al a ser lem/rado 2 conser.ar nossas !rioridades firmes entre as conside ra0es da !rogramaoE oramentrias e "umanas1 91J A $*GA8IgA()$ DE'TE -IQ*$ Este li.ro est organi&ado em Muatro !artes !rinci!aisE seguidas !or uma s2rie de a!Andices1 A !arte 9 ser.e como a!resentao !ara todo o li.roV ela comeaE no ca!Xtulo :E com uma introduo so/re o conceito de sistemas e so/re a nature&a da anlise de sistemasV nesse ca!XtuloE .eremos Mue os sistemas de informao so normalmente com!ostos !or !essoasE "ard4areE soft4are F!rogramas de com!utadorOE !rocedimen tosE dados e informa0es1 $ ca!Xtulo @ descre.e as !essoas Mue costu mam estar en.ol.idas no desen.ol.imento de um moderno sistema de informa0es ? usuriosE gerentesE !essoal das o!era0esE mem/ros do gru!o de controle da MualidadeE entre $utros ? /em como o !a!el es !ecial e as res!onsa/ilidades do analista de sistemas1 $ ca!Xtulo J a!re senta as ferramentas de modelagem usadas !elo analista de sistemasE como os diagramas de fluWo de dadosE de entidades?relacionamentos e os de transi0es de estado1 $ ca!Xtulo I a!resenta os !rocediMentos Fou I metodologiaO seguidos !elo analista de sistemas no desen.ol.imento de um sistema1 Mesmo Mue .ocA ac"e Mue L con"ece muitos desses assuntosE alguns ca!Xtulos da !arte 9 de.em ser udosE !orMue do o tom !ara o restante do li.ro1 $ ca!Xtulo :E !or eWem!loE a!resenta e analisa os aWio mas e !rincX!ios /sicos Mue !odemos encontrar em todo o tra/al"o da anlise de sistemas> o desen.ol.imento de modelos de sistemasE a noo de iteraoE e a noo da su/di.iso to!?do4n1 $ ca!Xtulo < delineia os !rinci!ais !ro/lemas Mue se a!resentam aos analistas de sistemas atualmente> !roduti.idadeE Mualidade dos sistemasE manuteni/ilidade e o uso estrat2gico das informa0es1 Por fimE o ca!Xtulo K resume as !rin ci!ais modifica0es ocorridas na rea da anlise dc sistemas nos 3ltimos de& anos1 A !arte II discute detal"adamente as ferramentas de modelagem de sistemas1 , ca!Xtulos so/re diagramas de fluWo de dados Fca!Xtulo COE dicionrios de dados Fca!Xtulo 9HOE es!ecifica0es de !rocessos Fca!Xtulo 99OE diagramas de entidades?relacionamentos Fca!Xtulo 9:O e diagramas de transi0es de estado Fca!Xtulo 9@O1 $s ca!Xtulos 9I e 9< a/ordam di.ersas outras ferramentas de modelagem usadas !e los analistas no estudo de um sistema> diagramas PE*TE diagramas de GanttE fluWogramasE diagramas ,IP$E diagramas estruturais etc1 Como .eremosE essas ferramentas !ermitem a focali&ao scleti.a em as!ec tos isolados de um sistema cuLas caracterXsticas seLam im!ortantes1 !ara serem com!reendidas> as fun0es Mue o sistema de.e desem !en"arE os dados Mue ele de.e controlar e seu com!ortamento tem!o? de!endente1 Mesmo Mue .ocA nunca .eLa um com!utador de!ois de ler este li.roE as ferramentas de modelagem da !arte II ser?l"e?o 3teis no Mue Muer Mue .ocA faa1 QocA desco/rir Mue essas ferramentas !odem ser 3teis !ara modelar Fou descre.erO .irtualmente MualMuer ti!o de sistema> sistemas /iolYgicos comerciaisE ecossistemasE industriaisE !olXticosE de fluWo de materiais etc1 Qi.emos em um mundo de sistemasE e /oa !arte de nossa .ida 2 !assada tentando entender e lidar com os in3meros sistemas diferentesV as ferramentas de modelagem so eWtremamente 3teis nesse as!ecto1 A !arte III refere?se ao !rocesso da anlise de sistemas ? isto 2E as eta!as seguidas !elo analista de sistemas na construo de um modelo de sistema1 AliE tam/2mE as informa0es Mue .ocA rece/er sero 3teisE inde!endentemente da sua !rofissoV mas o conte3do 2 definiti.amente dirigido !ara a constm de sistemas automati&ados de informa0es1 Qeremos Mue o !rocesso ou metodologia da construo de um sistema en.ol.e o desen.ol.imento de .rios ti!os diferentes de modelosE dos Muais o 3ltimo 2 o !roduto ou a saXc da anlise de sistemas1 Em muitas organi&a0es comerciaisE esse !roduto 2 con"ecido !or nomes como < _es!ecificao funcional]E ou _definio de reMuisitos do sistema] ou _!roLeto do sistema]1 TualMuer Mue seLa o nome adotadoE ele se torna a entrada !ara o res!ons.el !ela construo real do sistema ? isto 2E !elo !roLeto da arMuitetura geral do "ard4are e soft4are eE em 3ltima anliseE !ela escrita e !elos testes dos !rogramas do sistema1 Isso condu& Z !arte IQ> o Mue ocorre de!ois da anlise de sistemas1 EWaminaremos a transio da anlise de sistemas !ara o !roLeto de siste mas e discutiremos resumidamente os detal"es finais da !rogramao e dos testes1 Como a maioria dos sistemas automati&ados de informa0es tem um tem!o de .ida de alguns anos Fe muitas .e&es de algumas d2cadasOE estudaremos tam/2m a manuteno no ca!Xtulo :JV !or2m nosso interesse no ser a !rogramao de manutenoE eE simE a manu teno do !roduto da anlise de sistemas1 $ ca!Xtulo final trata do futu ro> as altera0es e.oluti.as na rea da anlise de sistemas Mue es!eramos !resenciar nos anos CH e no !rYWimo s2culo1 $s a!Andices no final do li.ro a/ordam !ro/lemas Mue !odem ou no afetar seu tra/al"o como analista de sistemas1 $ a!Andice AE !or eWem!loE trata do !ro/lema de esta0es automati&adas de tra/al"o /aseadas em PC !ara a anlise de sistemas ? ao Mual !oucos analistas de sistemas tAm acesso no final dos anos DHE mas Mue se tornar !rogres si.amente comum nos anos CH1 $ a!Andice B discute fYrmulas de a.alia o e m2tricas utili&adas !ara calcular o taman"oE a durao e o custo de um !roLeto1 $ a!Andice C mostra os as!ectos econNmicos dos clculos de custo?/eneficio1 $ a!Andice D a/range o assunto dos camin"amentos F4al%t"roug"sO e ins!e0esE Mue so utili&adas freMaentemente na re.i so dos !rodutos t2cnicos da anlise de sistemas1 $ a!Andice E discute as t2cnicas de entre.istas e de coleta de dadosE !rinci!almente as entre .istas do usurio com o analista de sistemas1 Todos esses assuntos foram organi&ados em a!Andices de modo a Mue os analistas eW!erientes !os sam salt?los com facilidade e os !rinci!iantes !ossam recorrer a eles sem!re Mue for necessrio consultar tY!icos MueE com certe&aE emergiro durante os !roLetos do mundo real1 $s a!Andices F e G a!resentam dois estudos de caso> um deles 2 um sistema orientado !ara a rea comercialE e o outro 2 um sistema de tem!o?real1 'e .ocA 2 um estudante no.atoE de.eE ao final de cada ca!X tuloE eWaminar esses estudos de caso !ara .er como esses rec2m?a!ren didos !rincX!ios !odem ser a!licados a situa0es do mundo real1 8a realidadeE .ocA de.e ler a introduo e o "istYrico de cada estudo de caso !ara se familiari&ar com a nature&a de cada a!licao1 Cada ca!Xtulo tem algumas !erguntas e eWercXcios !ara aLud?lo a re.er o Mue foi estu dado1 Alguns eWercXcios so rotulados como _ProLeto de PesMuisa]E o Mue significa Mue a!resentam !ro/lemas no mencionados diretamente no ca!Xtulo mas Mue so rele.antes no mundo real da anlise de sistemas1 Certas !erguntas so dirigidas !ara discusso em sala de aulaV no " K res!ostas certas ou erradasE em/ora "aLa res!ostas mais defens.eis Mue outras` C"ega de introdu0es1 Qamos dar a !artida` Comearemos falando a res!eito da nature&a dos sistemas1 *EFE*b8CIA' 91 Tom DeMarcoE 'tructured Anal#sis and '#stems '!eMf&cation1 Engle4ood CliffsE 81R1> Prentice?,allE 9CKCE !gina <1 :1 Ro"n Gal`E '#stemantXcs1 8o.a lorMue> TuadrangleGT"e 8e4 6or% Times Boo% Com!an#E 9CKKE !gina Wiii1 @1 Barr# Boe"mE 'oft4are Engineering Economics1 Engle4ood CliffsE 81R1> Prentice? ,allE 9CD91 J1 'e#mour Pa!ertE Mindstorms1 8o.a lorMue> Basic Boo%sE 9CDH1 I1 Ed4ard 6ourdonE 8ations at *is%1 Engle4ood CliffsE 81R1> 6$7*D$8 PressE 9CD< <1 'ir Art"ur 'tanle# EddingtonE '!aceE Time and Gra.itation> An $utline of t/e General T"eo[#1 -ondres> Cam/ridge 7ni.ersit# PressE 9CDK1 PE*G78TA' E EXE*CcCI$' 91 EW!liMue como a anlise de sistemas !ode ser 3til em seu tra/al"o ou !rofisso mesmo Mue .ocA no !retenda se tornar um !ro gramador ou analista de sistemas1 :1 ProLeto de PesMuisa> Muantas !essoasE atualmenteE esto em!rega das como analistas de sistemas no Brasil[ Tual 2 1H salrio m2dio dessas !essoas[ Tual 2 o nX.el m2dio de educao delas[ @1 ProLeto de PesMuisa> eWiste uma carAncia de !rogramadores e analistas de sistemas no Brasil[ Tente encontrar !esMuisas Mue indiMuem as necessidades desses !rofissionais !ara o !aXs !ara os !rYWimos de& anos1 J1 DA de& eWem!los de sistemas com Mue .ocA lida ou interage em seu dia a dia1 I1 QocA estudaria anlise de sistemas no caso de ainda no o ter feito[ 'e a sua res!osta for _no]E eW!liMue !orMue o assunto no ser 3til ou rele.ante1 Encontre algu2m Mue esteLa estudando esse mesmo assunto e inicie um de/ate construti.o a res!eito da utilidade geral da anlise de sistemas1 <1 QocA considera ser im!ortante !ara as !essoas fora da rea da com!utao F!essoas Mue no tra/al"am na rea da com!uta o como !rofissoO estudarem anlise de sistemas[ Tuo D res!ostas certas ou erradasE em/ora "aLa res!ostas mais defens.eis Mue outras` C"ega de introdu0es1 Qamos dar a !artida` Comearemos falando a res!eito da nature&a dos sistemas1 *EFE*b8CIA' 91 Tom DeMarcoE 'tructured Anal#sis and '#stems '!e Engle4ood CliffsE 81R1> Prentice? ,allE 9CKCE !gina <1 :1 Ro"n GalIE '#stemantics1 8o.a lorMue> TuadrangleGT"e 8e4 6or% Times Boo% Com!an#E 9CKKE !gina Wiii1 @1 Barr# Boe"mE 'oft4are EngineerXng Economics1 Engle4ood CliffsE 81R1> Prentice? ,allE 9CD91 J1 'e#mour Pa!ertE MindstornLs1 8o.a RorMue> Basic Boo%sE 9CDH1 I1 Ed4ard 6ourdonE 8ations at *is%1 Engle4ood CliffsE 81R1> 6$7*D$8 PressE 9CD< <1 'ir Art"ur 'tanle# EddingtonE '!aceE Time and Gra.itation An $utline of t"e General T"eot#1 -ondres> Cam/ridge 7ni.ersit# PressE 9CDK1 PE*G78TA' E EXE*CcCI$' 91 EW!liMue como a anlise de sistemas !ode ser 3til em seu tra/al"o ou !rofisso mesmo Mue .ocA no !retenda se tornar um !ro gramador ou analista de sistemas1 :1 ProLeto de PesMuisa> Muantas !essoasE atualmenteE esto em!rega das como analistas de sistemas no Brasil[ Tual 2 Eo salrio m2dio dessas !essoas[ Tual 2 o nX.el m2dio de educao delas[ @1 ProLeto de PesMuisa> eWiste uma carAncia de !rogramadores e analistas de sistemas no Brasil[ Tente encontrar !esMuisas Mue indiMuem as necessidades desses !rofissionais !ara o !aXs !ara os !rYWimos de& anos1 J1 DA de& eWem!los de sistemas com Mue .ocA lida ou interage em seu dia a dia1 I1 QocA estudaria anlise de sistemas no caso de ainda no o ter feito[ 'e a sua res!osta for \no]E eW!liMue !orMue o assunto no ser 3til ou rele.ante1 Encontre algu2m Mue esteLa estudando esse mesmo assunto e inicie um de/ate construti.o a res!eito da utilidade geral da anlise de sistemas1 <1 QocA considera ser im!ortante !ara as !essoas fora da rea da com!utao F!essoas Mue no tra/al"am na rea da com!uta o como !rofissoO estudarem anlise de sistemas[ Tuo D 9 con"ecedoras do assunto .ocA ac"a Mue elas seriam[ K1 Por Mue a anlise de sistemas !arece ser mais interessante Mue a !rogramao[ QocA concorda com este !onto de .ista[ D1 $ Mue um analista de sistemas de.e a!render al2m do con"eci mento t2cnico de construir modelos de sistemas[ C1 Por Mue as ferramentas de modelagem do ti!o a!resentado neste li.ro !odem ser 3teis no estudo de sistemas no?com!utacionais[ 8$TA' 'e .ocA tem menos de @H anos de iiadeE e difXcil imaginar Mue nunca escre.eu um !rograma de com!utadorE !ois Muase todas as escolas e col2gios agora ensinam alguma coisa a res!eito de !rogramao de com!utadores1 Por2mE 2 !ossX.el Mue .ocA no ten"a escrito um !rograma realmente com!licado1 'e .ocA no le.ou !elo menos um mAs tra/al"ando no mesmo !rograma ? 9< "oras !or diaE son"ando com ele nas D "oras restantes de sono intranMailoE !assando .rias noites em claroE tentando eliminar aMuele ;3ltimo erro] do !rograma ? ento .ocA ainda no escre.eu realmente um !rograma com!licado1 E !ode no ter a sensao de Mue eWiste algo di.ertido em !rogramar Fa !ro!YsitoE todos na ind3stria l"e diro Mue no se de.e construir !rogramas grandes e com!leWos ? e Mue o o/Leti.o do Logo 2 construir !rogramas sim!les e com!reensX.eis1 Isto 2 .erdade> mas imagine a energia mental e as noites insones gastas na criao e no desen .ol.imento de algo como o !rograma MacPaint da Macintos"E ou a !rimeira .erso do -otus 9?:?@O1 : EWistem di.ersas outras carreiras Mue !odem ser seguidas1 QocA !ode se es!eciali&ar na rea de telecomunica0es e !roLeto de redesV ou !ode concentrar?se no !roLeto de /ancos de dados ou _administrao de dados]1 Em/ora a maior !arte deste li.ro !resuma Mue .ocA se ocu!e com sistemas a!licati.os Ffol"as de !agamentoE in.entriosE conta/ilidade ou a!lica0es de tem!o? realE como orientao de mXsseisE comutao telefNnica e controle de !rocessosOE .ocA !ode ocu!ar?se tam/2mE com !roLetos de !rogramao de sistemas ? com!iladores ou sistemas o!era cionaisE !or eWem!lo1 Tudo isso !ossi.elmente re!resenta seu segundo ou terceiro em!rego na ind3stria da com!utao> .ocA de.eE !ro.a.elmenteE comear como !rogramador L3nior FMuando se es!era Mue .ocA sai/a escre.er !rogramas relati.amente sim!lesE ou fa&er modifIca0es em !rogramas L eWistentesOE de!ois !assar a !rogramador sAniorE antes dcE finalmenteE ascender Z !osio de analista de sistemas1 8essa !osioE .ocA de.er ter C maiores "a/ilita0es Mue um !rogramador> al2m do con"ecimcni do "ard4are e do soft4are do com!utadorE .ocA de.e ser ca!a& de se comunicar com !essoas leigas em com!utao e estar familia ri&ado com as a!lica0es comerciais dessas !essoas1 @ Para maiores detal"es so/re esse assunto e !ara mais eW!lica0es so/re o im!acto dos com!utadores na sociedadeE .eLa 8ations at *is% E6ourdonE 9CD<91 9H : A 8AT7*EgA D$' 'I'TEMA' Finalmente colocaremos o !rY!rio 'ol no centro do 7ni.erso1 Tudo isso 2 sugerido !ela seMuncia sistemtica de e.entos e !ela "armonia de todo o 7ni.ersoE se encararmos os fatosE como se costuma di&erE ;com os ol"os a/ertos 8icolau Co!2rnico De *e.olutioni/us $r/ium CoelestiumE 9IJ@ 8este ca!XtuloE a!renderemos> 91 $ Mue 2 definio de um sistema1 :1 A diferena entre sistemas naturais e sistemas feitos !elo "omem1 @1 $s 9C !rinci!ais su/sistemas encontrados em todos os sistemas .i.os1 J1 As cinco !rinci!ais ra&0es !or Mue alguns sistemas no de.em ser automati&ados1 I1 $s cinco !rinci!ais com!onentes de um sistema au tomati&ado de informa0es tX!ico1 <1 A definio e as caracterXsticas de di.ersos ti!os es !ecXficos de sistemas1 K1 A definio e trAs eWem!los de !rincX!ios gerais de sistemas1 8o !odemos falar muito so/re anlise de sistemas enMuanto no ti.ermos uma clara id2ia do Mue seLa um sistemaV este 2 o !ro!Ysito des te ca!Xtulo1 Como .eremosE eWiste uma definio _oficial] do termo no 99 dicionrioE Mue !arecer /astante a/strata1 EWistemE !or2mE muitos usos comuns do termo Mue l"e !arecero !erfeitamente familiaresE e eWistem muitos ti!os comuns de sistemas com Mue temos contato todos os dias1 _E daX[]E .ocA !ode estar !erguntando a si mesmo1 ^ im!ortante estar familiari&ado com diferentes es!2cies dc sistemas !or !elo menos dois moti.os1 PrimeiroE mesmo Mue seu tra/al"o como analista se con centre em um ti!o de sistema ? um sistema automati&ado de informa 0esE com!utadori&ado ? ele normalmente far !arte de um sistema maior1 Desse modoE .ocA !ode estar tra/al"ando em um sistema de !agamentosE Mue 2 !arte de um sistema maior de ;recursos "umanos]E MueE !or sua .e&E 2 !arte da organi&ao comercial geral FMue constitui um sistemaOE Mue 2E !or sua .e&E com!onente de um sistema econNmico geralE e assim !or diante1 $u .ocA !ode estar tra/al"ando cm um siste ma de controle de !rocessos Mue 2 !arte de uma refinaria MuXmicaE ou em um sistema o!eracional Mue seLa !arte de um _!acote] de soft4are de sistemas distri/uXdo !or .endedores1 AssimE !ara Mue o seu sistema ten"a sucessoE 2 !reciso con"ecer os outros sistemas com os Muais ele .ai interagir1 Muitos dos sistemas de com!utadores Mue ela/oramos so su/sti tui0es ou no.as im!lementaNes de sistemas no?com!utadori&ados Mue L eWistemV al2m dissoE a maioria dos sistemas com!utadori&ados interage ou tem uma interface com .rios sistemas eWistentes Falguns !odem ser com!utadori&ados e outros noO1 Para Mue nosso sistema com!utadori&ado seLa /em?sucedidoE !recisamos con"ecerE detal"ada? menteE como o sistema atual se com!orta1 Em segundo lugarE em/ora muitos ti!os de sistemas !aream ser totalmente diferentesE eles tAm muitas semel"anasV eWistem !rincX!ios comunsE filosofias e teorias Mue se a!licam nota.elmente /em a .irtual mente todos os ti!os de sistemas1 AssimE !odemos muitas .e&es a!licar o Mue a!rendemos so/re outros sistemas ? com /ase em nossa eW!eriAn cia diriaE /em como na eW!eriAncia de cientistas e engen"eiros em di.ersas reas ? aos sistemas Mue ela/oramos na rea da com!utao1 Por eWem!loE um dos im!ortantes !rincX!ios de sistemas Mue !rimeiro foi o/ser .ado no cam!o da /iologia 2 con"ecido como a lei da es!ecia li&aoV Muanto mais ada!tado for um organismo a um determinado am/ienteE mais dificil ser !ara esse organismo a ada!tao a outro1 Isso aLuda a eW!licar o desa!arecimento dos dinossauros Muando o clima da Terra modificou? se radicalmente aLudaE tam/2mE aos analistas de siste mas a com!reenderem Mue se otimi&arem um sistema com!utadori &ado de forma a tirar a mWima .antagem dc uma determinada 7CPE de uma linguagem de !rogramao e de um sistema de gerenciamento de /anco de dadosE !odero .ir a ter s2rios !ro/lemas em ada!tar o sistema !ara ser !rocessado em outra 7CP ou com um diferente sistema de gerenciamento de /anco de dados : 9: Dessa maneiraE se con"ecermos alguma coisa da teoria geral dos sistemasE ela !ode nos aLudar a com!reender mel"or os sistemas com!u tadori&ados Fautomati&adosO de informa0es1 Isso 2 cada dia mais im!or tanteE !ois Mueremos construir sistemas est.eis e confi.eisE Mue funcionaro /em em nossa com!leWa sociedade ? e "E naturalmenteE muitos sistemas no?com!utadori&ados Mue .Am so/re.i.endo !or mi l"0es de anos> a "umilde /arata !ro.a.elmente so/re.i.er a iodos os sistemas com!utadori&ados L construXdos ou a construirE e a toda a "umanidadeE tam/2m1 AssimE .amos comear com uma definio do termo /sico siste ma1 Todos os li.ros so/re algum as!ecto de sistemas contAm essa defi nioV eu escol"i o 5e/ster=s 8e4 Coilegiate Dictionar# 1 Ele a .rias defini0es> 91 um gru!o de itens Mue interagem entre si ou Mue seLam inter de!endentesE formando um todo unificado h ? num2ricoi como a1 F9O um gru!o de cor!os Mue interagem entre si so/ a in fluAncia de foras relacionadas h ? gra.itacional i F:O uma mistura de su/stPncias em eMuilX/rio ou Mue tende !ara o eMuilX/rio h ? termodinPmico i /1 F9O um gru!o de Yrgos do cor!o Mue desem!en"amE em conLuntoE uma ou mais fun0es .itais h o ? digesti.oi F:O o cor!oE considerado como uma unidade funcional1 c1 um gru!o de o/Letos ou foras naturais relacionados entre si hum ? flu.iali d1 um gru!o de dis!ositi.os ou uma organi&ao em redeE !rinci!almente !ara a distri/uio de algum !roduto ou ser.indo a um !ro!Ysito comum hum ? telefNnico i hum ? de aMuecimento i h um ? rodo.irio i h um ? de !rocessamento de dadosi :1 um conLunto organi&ado dc doutrinasE id2ias ou !rincX!iosE "a/itualmente !re.isto !ara eW!licar a organi&ao ou o fun cionamento de um conLunto sistemtico h o ? da mecPnica ne4toniana i @1 a1 um !rocedimento organi&ado ou esta/elecido h o ? de toMues da digitaoi 9@ /1 uma maneira de classificarE sim/oli&ar ou esMuemati&ar h um ? taWonNmico i h o ? decimali J1 organi&ao "armoniosa ou modelo> $*DEM I1 sociedade organi&ada ou situao social .ista como inde seL.el> _E'TAB-I',ME8T] :19 TIP$' C$M78' DE 'I'TEMA' Como se !ode de!reender da definio acimaE eWistem muitos ti? !os diferentes de sistemasV na .erdadeE Muase tudo aMuilo com Mue te mos contato em nossa .ida ou 2 um sistema ou um com!onente de um sistema Fou am/as as coisasO1 'ignifica Mue de.emos estudar todos os ti!os de sistemasE ou !re tender nos tornarmos !eritos em sistemas sociaisE sistemas /iolYgicos e sistemas de com!utao[ Claro Mue no` EntretantoE 2 con.eniente organi&ar os diferentes ti!os de sistemas cm categorias1 Muitos agru !amentos diferentes so !ossX.eisV na realidadeE a definio do dicio nrio no inXcio deste ca!Xtulo a!resenta uma classificao em categorias1 Como nosso interesse !rinci!al so os sistemas de !rocessamentoE .amos comear !or di.idir todos os sistemas em duas categorias> siste mas naturais e sistemas feitos !elo "omen :1: 'I'TEMA' 8AT7*AI' A maioria dos sistemas no 2 feita !or !essoas1 Eles so encontra dos na nature&a eE de modo geralE ser.em a seus !rY!rios !ro!Ysitos1 ^ con.eniente di.idir esses sistemas em duas su"catcgorias /sicas> siste mas fisicos e sistemas .i.os1 $s sistemas fXsicos incluem eWem!los to diferentes como> j 'istemas estelares> galWiasE sistemas solares etc1 j 'istemas geolYgicos> riosE cadeias de montan"as etc1 j 'istemas moleculares> organi&a0es com!leWas de tomos1 $s sistemas fXsicos so interessantes de serem estudados !orMueE como "umanos intrometidos Mue somosE !or .e&es tentamos modific los1 Desen.ol.emosE tam/2mE di.ersos sistemasE incluindo?se aX os siste mas em com!utadoresE Mue de.em interagir "armoniosamente com os 9J sistemas fXsicosV dessa forma 2 im!ortante estarmos ca!acitados a mode lar esses sistemas !ara nos assegurarmos Mue os entendemos to /em Muanto !ossX.el1 $s sistemas .i.osE naturalmenteE a/rangem as mirXades de animais e !lantas em .olta de nYs e tam/2m a es!2cie "umana1 EE como afirma Rames Miller em sua monumental o/raE -i.ing '#stems d 9CKDeE essa categoria tam/2m inclui "ierarMuias de organismos .i.os indi.iduaisE como er.asE re/an"osE tri/osE gru!os sociaisE em!resas e na0es1 $ estudo dos sistemas .i.os L 2 uma carreira !or si !rY!rioV uma r!ida leitura da o/ra de Miller !ermite Mue se !erce/a a eWtenso desse tema1 $ !ro!Ysito deste li.ro no 2 o estudo dos sistemas .i.os !er seV no o/stanteE algumas das !ro!riedades e caracterXsticas dos sistemas .i.os con"ecidos !odem ser utili&adas !ara auWiliar a ilustrar e mel"or com!reender os sistemas feitos !elo "omem1 Muitas .e&es usamos uma analogia !ara entendermos mel"or algo !ouco familiarV entre os mais eloMaentes eWem!los de sistemas .i.os em!regados como analogias !ara sistemas comerciais e organi&acionais esto Brain of t"e Firm de 'tafford Beer d 9CK:9 e T/e ,eart ofEntet!rise d 9CKD91 Pode?se encontrar uma analogia mais ela/orada no agru!amento em categorias dos 9C !rinci!ais su/sistemas .i.os feitos !or Miller1 Ele argumenta Mue os sistemas .i.entesE em nX.el de c2lulaE de YrgoE de organismoE de gru!oE de organi&aoE de sociedade ou de sistemas inter nacionaisE contAmE todosE os seguintes su/sistemas> j $ re!rodutorE Mue 2 ca!a& de dar origem a outros sistemas se mel"antes ao Mue ele !ertence1 Em uma organi&ao comercialE !ode ser a di.iso de !laneLamentoE Mue fa& no.as !lantas e constrYi no.os escritYrios regionais1 j $ delXmitador Mue mant2m coesos os com!onentes do sistemaE Mue os !rotege dos !ro/lemas am/ientais e Mue im!ede ou !ermite a entrada de .rios ti!os de mat2ria? energia e infor ma0es1 Em uma organi&ao comercialE !oderia consistir nas instala0es fXsicas F!r2dio do escritYrioE f/rica etc1O e dos guar das e outros elementos da segurana Mue im!edem intrus0es no deseLadas1 j $ ingestorE Mue introdu& mat2ria?energia atra.2s dos limites do sistema a !artir do seu am/iente1 Em uma organi&ao comer cialE !ode ser re!resentado !elo de!artamento de rece/imentos ou de com!rasE Mue tra& !rodutos in naturaE material de escritYrio e coisas afins1 Pode ser constituXdo tam/2m !elo de !artamento de entrada de !edidosE Mue rece/e !edidos .er/ais e escritos !ara os !rodutos e ser.ios da em!resa1 9I j $ distri/uidorE Mue trans!orta entradas de fora do sistema ou saXdas dos su/sistemas em torno do sistema !ara cada com!o nente1 Em uma organi&ao comercialE !odem ser as lin"as telefNnicasE o correio eletrNnicoE os mensageirosE correias trans? !ortadoras e .rios outros mecanismos1 j $ con.ersorE Mue modifica certas entradas do sistema em formas mais adeMuadas !ara os !rocessos desse sistema em !articular1 Pode?se imaginar muitos eWem!los disso em uma organiKao comercial tX!ica1 j $ !rodutorE Mue forma associa0es est.eis Mue garantemE du rante significati.os !erXodos entre entradas de mat2ria?energia no sistema ou entre as saXdas do con.ersorE o material sinteti &ado !ara crescimentoE re!aro dos danos ou su/stituio dos com!onentes do sistemaE ou destinado ao fornecimento de energia !ara mo.imentar ou com!or as saXdas de !rodutos ou informa0es de mercado !ara seu sistema de nX.el su!erior1 j $ su/sistema de ar de mat2ria?enei Mue con ser.a no sistemaE !or diferentes !erXodos de tem!oE de!Ysitos de .rios ti!os de mat2ria?energia1 j $ eWtra.asorE Mue en.ia mat2ria?energia !ara fora do sistema so/ a forma de !rodutos ou resXduos1 j $ moaorE Mue mo.e o sistema ou setores dele em relao a uma !arte do am/iente ou todo ele ou mo.e com!onentes relati.a mente um ao outro1 j $ su!ortadorE Mue mant2m o correto relacionamento es!acial entre os com!onentes do sistemaE de modo a Mue eles !ossam interagir sem .antagens uns so/re os outros ou sem inter ferAncias fXsicas1 j $ tran1sdutor de entradaE Mue tra& marcadores com informa0es !ara o sistemaE modificando?os !ara outras formas de mat2ria? energia adeMuadas !ara transmisso em seu interior1 j $ transdutor InternoE Mue rece/eE de outros su/sistemas ou com!onentes do sistemaE marcadores com informa0es so/re al tera0es im!ortantes nesses su/sistemas ou com!onentesE modificando?os !ara outras formas de mat2ria?energia Mue !os sam ser transmitidas em seu interior1 9< j $ canal e a redeE Mue se com!0em de uma 3nica .ia no es!ao fXsicoE ou de m3lti!las .ias interligadasE !elas Muais os marca dores com informa0es so transmitidos !ara todas as !artes do sistema1 j $ decod Mue modifica o cYdigo da entrada de informa 0es !ara eleE !or interm2dio do transdutor de entrada ou do transdutor internoE em um cYdigo !ri.ati.o Mue !ode ser utili &ado internamente !elo sistema1 j $ associadorE Mue eWecuta o !rimeiro estgio do !rocesso de a!rendi&adoE formando associa0es dur.eis entre os itens de informao do sistema1 j A memYriaE Mue eWecuta o segundo estgio do !rocesso de a!rendi&adoE arma&enando di.ersos ti!os de informa0es no sistema !or diferentes !erXodos de tem!o1 j $ decididorE Mue rece/e entradas de informa0es de todos os outros su/sistemas e l"es transmite saXdas de informa0es Mue controlam todo o sistema1 j $ cod Mue modifica o cYdigo das entradas de informa 0es !ara ele a !artir de outros su/sistemas de !rocessamento de informa0esE de um cYdigo !ri.ati.o de utili&ao interna do sistema !ara um cYdigo Mue !ossa ser inter!retado !or outros sistemas do am/iente1 j $ transdutor de saXdaE Mue eWtrai do sistema marcadores com informa0esE modificando esses marcadores dentro do sistema em outras formas de mat2ria?energia Mue !odem ser transmiti das !elos canais no am/iente do sistema1 As figuras :19 FaO e :19 F/O mostram um eWem!lo dos 9C !rinci!ais su/sistemas da eMui!e de comunica0es de um moderno .a!orV as figu ras :1: FaO e :1: F/O a!resentam os !rinci!ais su/sistemas do !rY!rio na.io e as figuras :1@ FaO e :1@ F/O mostram os !rinci!ais su/sistemas de toda a ,olanda1 Esses modelos so .lidos !or demonstrarem MueE ao eWaminarmos um sistema com com!onentes .i.osE !odemos encontrar os !rinci!ais su/sistemas1 -em/re?se Mue muitos sistemas feitos !elo "omem Fe os automati &adosO interagem com os sistemas .i.os ? !or eWem!loE os marca?!as sos com!utadori&ados interagem com o corao "umano1 Em alguns casosE os sistemas automati&ados estio sendo !roLetados !ara su/stituir 9K sistemas .i.$sV e em outros casosE os !esMuisadores consideram os sistemas .i.entes Fcon"ecidos como com!utadores orgPnicosO como com!onentes de sistemas automati&ados1 Estudos so/re esse !onto de .ista !odem ser encontrados em d 9CD@9E d 6oungE 9CD@eE d 9CDI9 e d 9CDJe1 $s sistemas .i.os e os feitos !elo "omem soE muitas .e&esE !arte de um metassistema maior e Muanto mais sou/ermos acerca deles mel"ores analistas de sistemas seremos1 :1@ 'I'TEMA' FEIT$' PE-$ ,$MEM Como .imos !ela definio no inXcio deste ca!XtuloE alguns siste mas so construXdosE organi&ados e mantidos !or seres "umanos1 Entre eles !odemos considerar> j 'istemas sociais> organi&a0es de leisE doutrinasE costumes etc1 j 7ma coleo organi&ada e disci!linada de id2ias> o sistema deci mal De4e# !ara a organi&ao de li.ros em /i/liotecasE o sis tema 5eig"t?5atc"er !ara !erda dc !eso etc1 j $s sistemas de trans!orte> redes rodo.iriasE canaisE lin"as a2reasE !etroleirosE e semel"antes1 j 'istemas de comunica0es> telefoneE teleWE sinais de fumaaE si nais manuais utili&ados !elos comerciantes atacadistas etc1 j 'istemas de manufatura> f/ricasE lin"as de montagem etc1 j 'istemas financeiros> conta/ilidadeE in.entriosE li.ros?ra&oE controle de estoMuesE entre outros1 ,oLeE a maioria desses sistemas usa com!utadoresV na .erdadeE muitos deles no !oderiam so/re.i.er sem os com!utadores1 ContudoE tam/2m 2 im!ortante ressaltar Mue esses sistemas L eWistiam antes Mue surgissem os com!utadoresV alguns delesE na realidadeE no esto ainda totalmente com!utadori&ados e !odem !ermanecer assim !or muitas d2cadas mais1 $utros contAm um com!utador como com!onenteE mas contAm tam/2m um ou mais com!onentes no?com!utadori&ados Fou manuaisO1 ConsidereE !or eWem!loE a frase _Roo !ossui um sistema Mue fa& esse ser.io] ou _Maria certamente tem um modo sistemtico de fa &er seu tra/al"o]1 Tais frases no im!licam necessariamente em Mue Maria ten"a com!utadori&ado seu tra/al"o ou Mue Roo ten"a utili&ado 9D algumas das ferramentas formais de modelagem discutidas nos ca!Xtulos C e 9H !ara documentar Fou modelarO a maneira como ele !retende eWecutar sua tarefa1 Essas frasesE no entantoE certamente im!licam em Mue Roo e Maria di.idiram o ser.io em uma s2rie de eta!as se!aradasE cuLa com/inao cum!re algum !ro!Ysito geral1 A Muesto de se um sistema feito !elo "omem de.e ou no ser com!utadori&ado ser discutida atra.2s de todo este li.roV l no 2 algo Mue de.a ser tomado !or certo1 Como analista de sistemasE .ocA naturalmente !ressu!0e Mue todo sistema com Mue .ocA ti.er contato de.er ser com!utadori&adoV e o cliente ou usurio Fo dono do sistema em MuestoO com Muem .ocA interagir imaginar geralmente Mue .ocA ten"a tal inteno1 Como .eremos nos !rYWimos ca!XtulosE sua !rinci!al tarefa como analista de sistemas ser analisar ou estudar o sistema !ara determinar?l"e a essAncia> seu com!ortamento eWigido inde!endente mente da tecnologia utili&ada em sua im!lementao ;1 8a maioria dos casosE sY estaremos em situao de decidir se fa& sentido usar um com !utador !ara eWecutar as fun0es do sistema de!ois de modelarmos seu com!ortamento /sico1 Por Mue alguns sistemas de informao no de.em ser automati &ados[ Pode "a.er muitas ra&0esE mas aMui esto algumas das mais comuns> j Custo !ode ser mais /arato continuar eWecutando as fun0es do sistema e arma&enando as informa0es manualmente1 8em sem!re 2 .erdade Mue os com!utadores seLam mais r!idos e mais /aratos do Mue o modo _antigo]1 j Conforto ? um sistema automati&ado !ode ocu!ar es!ao em demasiaE fa&er eWcessi.o ruXdoE gerar muito calor ou consumir eletricidade demais ouE em termos geraisE a !resena de um deles !ode ser uma dor de ca/ea1 Isso est se tornando menos .erdadeiro com a !enetrante influAncia dos micro!rocessadores mas ainda 2 um fator a considerar1 j 'egurana ? se o sistema de informa0es mant2m dados im !ortantes e confidenciaisE o usurio !ode ac"ar Mue um sistema automati&ado no seLa suficientemente seguroE !odendo !referir manter a ca!acidade de conser.ar as informa0es fisicamente !rotegidas de/aiWo de c"a.e1 j Manuteni/ilidade ? o usurio !ode argumentar Mue um sis tema com!utadori&ado de informa0es !oderia ser econNmi coE sY Mue no " ningu2m na organi&ao Mue !ossa manter o "ard4are eGou o soft4are do com!utadorE de forma Mue 9C ningu2m estaria ca!acitado a re!arar o sistema no caso de um defeito e no "a.eria Muem !udesse efetuar modifica0es e mel"oramentos1 j Pol7ica ? a comunidade de usurios !ode ac"ar Mue os com !utadores so uma ameaa a seus em!regos ou Mue tornam seu tra/al"o tedioso e \mecPnico]E ou !odem ter uma d3&ia de outras ra&0es Mue o analista de sistemas !ode considerar como irracionais1 Mas como o sistema !ertence aos usuriosE a o!inio deles est acima de tudo1 'e eles no deseLarem um sistema automati&adoE faro o Mue for !ossX.el !ara Mue o sistema fra casse caso ele l"es seLa im!osto1 :1J 'I'TEMA' A7T$MATIgAD$' A maior !arte deste li.ro 2 dedicada aos sistemas automati&adosE isto 2E sistemas feitos !elo "omemE Mue interagem com ou so controla dos !or um ou mais com!utadores1 QocA certamente L de.e ter .isto muitos eWem!los diferentes de sistemas automati&ados em sua .ida> !arece mesmo Mue Muase todos os as!ectos de nossa sociedade moder na esto com!utadori&ados1 Como resultadoE !odemos distinguir muitos ti!os diferentes de sistemas automati&ados1 Em/ora "aLa muitos ti!os diferentes de sistemas automati&adosE todos tAm com!onentes comuns> j ,ard4are de com!utadores ? 7CPE terminaisE im!ressorasE uni dades de fitas magn2ticas etc1 j 'oft4are de com!utadores ? !rogramas de sistemasE como sis temas o!eracionaisE sistemas de /ancos de dados e !rogramas de controle de telecomunicac0esE al2m dos !rogramas a!licati .os Mue eWecutam as fun0es deseLadas !elo usurio1 j Pessoas ? aMuelas Mue o!eram o sistemaE Mue fornecem as en tradas e utili&am as saXdasE e as Mue desem!en"am ati.idades de !rocessamento manual em um sistema1 j Dados ? as informa0es Mue o sistema conser.a !or um !erXodo de tem!o1 j Procedimentos ? determina0es e instru0es formais !ara a o!erao do sistema1 :H 'u/sistemas Mue !rocessam mat2ria?energia e informa0es> Delimitador FDlOE !arede da estao?rdio Fo/LetoO1 'u/sistemas Mue !rocessam mat2ria?energia> Ingestor FI8OE garonete Mue le.a alimentos da co&in"a !ara a estao?rdioV Distri/uidor FDIOE garom Mue entrega alimentos aos mem/ros da eMui!e de comunica0esV Con.ersor FC$OE garom Mue corta !oE carne e MueiLo !ara sanduXc"esV Produtor FPI$E garom Mue !re!ara sanduXc"es e caf2V Arma&enamento de Mat2ria?Energia FAMOE garom Mue arma&ena di.ersos ti!os de materialE inclusi.e comida no refrigeradorE casacos e c"a!2us dos mem/ros da eMui!e no armrioE co/ertores e tra.esseiros tam/2m no armrio e ferramentas e eMui!amentos na cNmodaV EWtra.asor FEXOE garom Mue retira !ratos suLosE !a!2is usados e outros materiais in3teis da estao?rdioV 'u!ortador F'7OE c"oE !aredesE teto e mo/Xlia da estao?rdio Fo/LetosO1 'u/sistemas Mue !rocessam informa0es> Transdutor de Entrada FteOE rdio? o!erador Mue rece/e mensagens !elo rdioV Transdutor Interno FtiOE tri!ulante de ser.io no diaE Mue a!resenta relatYrios ao encarregado das comunica0es a res!eito da eficiAncia e do moral dos mem/ros da eMui!e durante seu ser.ioV Canal e *ede FcrOE todos os mem/ros do gru!o Mue se intercomunicam .er /almente atra.2s do ar da estao?rdioV Decodificador FdcOE rdio?o!erador Mue transcre.e em linguagem legX.el as mensagens rece/idas em cYdigo morseV MemYria FmeOE secretrio Mue conser.a o registro de todas as mensagens re ce/idas e transmitidasV Decididor FdeOE oficial encarregado das comunica0esE Mue c"efia a eMui!e de comunica0esV Codificador Fc$E rdio?o!erador Mue codifica mensagens claras em cYdigo morseV Transdutor EWterno FtWOE rdio? o!erador Mue transmite mensagens !elo rdio1 Figura :19FaO> 'u/sistemas da eMui!e de comunica0es de um namo1 7ma maneira de classificar os sistemas automati&ados 2 feita !ela a!licao> sistemas industriaisE sistemas de conta/ilidadeE sistemas de defesa militar etc1 EntretantoE isso no ser muito 3til L Mue as t2cnicas Mue discutiremos neste li.ro !ara analisarE modelarE !roLetar e im!lemen tar sistemas automati&ados so geralmente as mesmasE MualMuer Mue seLa a a!licao 1 :9 K i F9gu :19 F/O> 'u/sig de uma eMuiLie de comunicaL de um natio J HH f H to 9 H :: 'u/sistemas Mue !rocessam mat2ria?energia e informa0es> *e!rodutor F*eOE Mue re!resenta a organi&ao !ro!rietriaV Delimitador FDiOE o casco do na.io e o !essoal Mue o guarda e trata de sua manuteno1 'u/sistemas Mue !rocessam mat2ria?energia> Ingestor FI8OE escotil"as !ara o interior do na.io e o !essoal Mue em/arca !assageirosE /agagensE e cargasV Distri/uidor FDIOE !assagensEcon.esesE escadas e camareirosE garons e carrega dores Mue !or eles trans!ortam alimentosE /e/idasE /agagens e .rios outros ti!os de mat2ria?energiaE /em como os !assageiros Mue se mo.imentam !or eles !elo na.ioV Con.ersor FC$OE !essoal da co&in"aE Mue !re!ara .egetais e outros ai imentos !ara co&imentoV Produtor FP*OE co&in"eiros Mue !re!aram as refei0es e !adeiros Mue fa&em !o na co&in"a do na.ioV Arma&enamento de Mat2ria? Energia FAMOE !or0es e tanMues de com/ustX.el do na.io e o !essoal res!ons.el !or elesV EWtra.asor FEXOE c"amin2 !ara eliminao de resXduos gasososE dis!osi ti.os de descarga de liWo e esgoto !ara resXduos lXMuidos e sYlidos e o !essoal en carregado de .erificar se esses resXduos esto sendo adeMuadamente eliminadosV Motor FM$OE mMuinasE eiWo !ro!ulsorE "2lices e todo o casco do na.ioE Mue trans!ortam !assageirosE tri!ulao e carga !elo marE /em como os maMuinistas res!ons.eis !ela mo.imentao do na.ioV 'u!ortador F'7OE cascoE /ordosE ante!aras F!aredesO e con.eses do na.io e o !essoal encarregado da manuteno desses elementos1 'u/sistemas Mue !rocessam informa0es> Transdutor de Entrada FteOE rdio? o!erador e outros mem/ros da eMui!e de comunica0es Mue rece/em men sagens !ara o na.ioV Transdutor Interno FtiOE oficial Mue informa ao oficial mais graduado do ser.io so/re o estado de di.ersos com!onentes do na.ioV Canal e *ede FcrOE o ar entre os oficiais de ser.io no !assadio do na.ioE !elo Mual eles transmitem e rece/em mensagensV Decodificador FdcOE rdio?o!eradorE da eMui!e de comunica0esE Mue decodifica mensagens em cYdigo Morse !ara linguagem claraE de!ois de serem rece/idasV MemYria FmeOE li.ros de registro de .iagens anterioresE cartas nuticas e o !essoal Mue as consulta no com!artimento de cartasV Decididor FdeOE o Comandante e outros oficiais do na.ioV Codificador Fc$E rdio?o!eradorE da eMui!e de comunica0esE Mue codifica mensagens em lin guagem clara !ara o cYdigo morse !ara !oder transmiti?lasV Transdutor de 'aXda FisOE rdio?o!erador e outros mem/ros da eMui!e de comunica0es Mue trans mitem as mensagens do na.io1 Figura :1: FaO> Princ su/sistemas de um namo :@ o i Figura :1: F/O> Princi!aks su/s&stemas de um namo :J Figura :1@ FaO> Princi!ais 1su"si te mas da "olanda :I ;J 11 'u/sistemas Mue !rocessam tanto mat2ria?energia como informa0es> Delimita dor E organi&a0es de defesaE guarda ou !oliciamento das frontei&as nacionais1 'u/sistemas Mue !rocessam mat2ria?energia> Ingestor organi&a0esE como em!resas de trans!ortes a2reosE ferro.irios ou rodo.irios ou em!resas de trans!or tes marXtimosE Mue im!ortam di.ersas formas de mat2ria?energia !ara o !aisV Distri/uidor organi&a0es nacionais Mue trans!ortam formas di.ersas de mat2ria?energia !or guaE estradasE ferro.ias ou !elo arV Con.ersor r ii organi&a0es Mue con .ertem formas /rutas de mat2ria?energia em outras formas utii&.eis !ela sociedadeV Produtor E organi&a0es industriais Mue fa/ricam !rodutos !ara a sociedade ou !ara eW!ortaoV Arma&enamento de Mat2ria?Energia organi&a0es como de!YsitosE reser.atYrios e instala0es de energia el2trica Mue arma&enam diferentes formas de mat2ria?energiaV EWtra.asor organi&a0es Mue eW!ortam !rodutos da ,o landa !ara outros !aXsesE ou des!eLam resXduos no marE e setores Mue de!ortam !essoas in deseL.eisV Motor E unidades do ramo de trans!ortes ou constru0esE foras armadas ou agAncias es!aciaisV 'u!ortador E edifXcios !3/licos e a terra1 'u/sistemas Mue !rocessam informa0es> Transdutor de Entrada F organi&a 0es Mue rece/em sinais telegrficosE !or ca/osE telefNnicos ou de radarE ou notXcias !ro .enientes do eWterior da ,olandaV Transdutor Interno FJO E legislatura re!resenta ti.aE mem/ros de !artidos ou organi&a0es de consulta da o!inio !3/lica Mue rece/em comunicaNes e relatYrios de todos os !ontos da ,olandaV Canal e rede recur sos nacionais de comunica0esV Decodificador E setor de assuntos estrangei ros Mue decodifica mensagens secretas rece/idas das em/aiWadas da ,olanda em todo o FContinuaO :< mundoV Associador institui0es de ensino da lXngua "olandesaV Me mYria F E /i/liotecaV Decididor E *ain"a e o go.erno em ,aiaV Codificador E secretrio de im!rensa do go.erno ou redatores de discursosV Transdutor de 'aida !essoa Mue fala oficialmente !ela ,olanda1 Figura :1@ F/O> Princi!ais su/sistemas da ,olanda Qemos a/aiWoE uma di.iso mais !rtica dos sistemas automati &ados> j 'istemas on?line j 'istemas de tem!o?real j 'istemas de a!oio Z deciso j 'istemas /aseados no con"ecimento A seguirE .amos eWaminar cada um desses ti!os de sistemas1 :1J19 'istemas $n?-ine Em um li.ro anterior FE6ourdonE 9CK:9OE define sistemas on?line do seguinte modo> 'istemas on?line so os Mue rece/em entradas diretamente do local onde ele foi criado1 'o tam/2m os sistemas em Mue as saXdasE ou os resultados do !rocessamentoE so dirigidas diretamente !ara onde seLam necessrias1 Isso "a/itualmente signifIca Mue a arMuitetura de "ard4are de um sistema de !rocessamento 2 semel"ante Z da figura :1J1 7ma caracterXstica tX!ica de um sistema on?line 2 o fato de Mue os dados so introdu&idos no sistema de !rocessamento e dele rece/i dos remotamente1 Isto 2E os usurios do sistema de !rocessamento inte ?ragem com o com!utador atra.2s de terminais < Mue !odem estar :K locali&ados a centenas de mil"as de distPncia de outros terminais e do !rY!rio com!utador1 $utra caracterXstica de um sistema on?line 2 Mue os dados arma&e nadosE isto 2E os arMui.os ou /ancos de dadosE so "a/itualmente organi &ados de forma tal Mue os dados indi.iduais Fcomo um registro de reser .a de !assagem a2rea ou um1 registro indi.idual so/re uma !essoaO !odem ser recu!erados eGou modificados F9O ra!idamente e F:O sem necessariamente !recisar ter acesso a outros dados do sistema1 Isso est em flagrante contraste com os sistemas /aic" Fem lotesOE Mue eram mais comuns nas d2cadas de <H e KH1 8os sistemas de !rocessamento em lotesE as informa0es so normalmente recu!eradas na modalidade se MaencialE o Mue significa Mue o sistema de !rocessamento lA todos os registros do /anco de dadosE !rocessando e atuali&ando os registros !ara os Muais "aLa alguma ati.idade1 A diferena entre um 'istema on?line e um sistema /atc" 2 anloga Z diferena entre a !rocura de uma m3sica em um gra.ador de fita e em um toca? discoV o !rimeiro en.ol.e o acesso seMaencial !or todas as tril"asE enMuanto o outro !ermite o acesso _alea tYrio] a MualMuer das tril"as sem Mue seLa necessrio ou.ir as demais1 Como um sistema on?line interage diretamente com !essoas Fisto 2E usurios "umanos em terminaisOE 2 im!ortante Mue o analista de sistemas !laneLe cuidadosamente a interface "omem?mMuina 1 Isso Muer di&er Mue o analista de.e ter um meio de modelar todas as mensagens !ossX .eis Mue o usurio !oder digitar no terminal e todas as res!ostas Mue o sistema !ode dar ? e todas as res!ostas Mue o usurio !ode dar Zs consultas do com!utadorE e assim !or diante1 Isso geralmente 2 feito mediante a identificao de todos os estados em Mue o com!utador e o usurio !odem se encontrar e !ela identificao de todas as modifica 0es de estado1 7m eWem!lo de um estado em Mue !oderia se encontrar o com!utador de um sistema de caiWa automtico de um / !oderia ser> \$ usurio introdu&iu o carto de cr2dito e se identificouE mas ainda no me informou sua sen"a confidencial]1 7m eWem!lo de uma mudan a de estado seria> _Ele me disse sua sen"a e agora !osso !rocurar sa/er se ele deseLa retirar din"eiro ou .er seu saldo]1 $utra mudana de estado !oderia ser> \Ele tentou introdu&ir a sen"a trAs .e&es sem sucesso e agora .ou soar o alarmel1 Esses estados e modifica0es de estado so normalmente modelados nos diagramas de transi0es de estadoE Mue discutiremos detal"adamente no ca!Xtulo 9@1 Como os sistemas on?line geralmente !recisam recu!erar dados ra!idamente F!ara res!onder a consultas e comandos !ro.enientes de terminais on?lineOE 2 normalmente muito im!ortante !roLetar os arMui.os e /ancos de dados to eficientes Muanto !ossX.el1 8a realidadeE 2 muitas .e&es .erdade Mue os clculos eWecutados !or um sistema on?line seLam relati.amente tri.iaisE enMuanto Mue os dados F!rinci!almente a estrutura e a organi&ao dos dados manudos !elo sistema on?lineO so /astante :D As informa0es so comutadas a !artir do !onto de origem Figura :1J> 7m sistema on?line com!leWos1 Por causa dissoE as ferramentas de modelagem de dados discutidas no ca!Xtulo 9: so de grande im!ortPncia !ara o analista e !ara o !roLetista de sistemas1 A deciso de se construir um sistema on?line ou no 2E no conteWto deste li.roE uma deciso de im!lementao e no algo Mue de.a ser de terminado !elo analista de sistemas mas sim !elos im!lementadores do sistema1 ContudoE como essa deciso tem e.idente im!acto so/re o usurio Fa !resena ou ausAncia de terminais de .Xdeo etc1OE trata?se de uma deciso de im!lementao da Mual os usurios geralmente Muerem !artici!ar1 8a .erdade ela fa& !arte do modelo de im!lementao do usurioE Mue .eremos no ca!Xtulo :91 :1J1: 'istemas de Tem!o?*eal $s sistemas de tem!o?real so !or muitos considerados como .a ria0es dos sistemas on? lineV na realidadeE muitas !essoas usam esses termos indiferentemente1 EntretantoE 2 im!ortante fa&er distino entre eles1 7saremos a definio encontrada em IMartinE 9C<K9> $s dados so organi&ados de modo a Mue !ossam ser recu!erados ra!idamente A saXda 2 transmitida !ara onde for necessrio :C 7m sistema de !rocessamento em tem!o?real !ode ser definido como aMuele Mue controla um am/iente !elo rece/imento de dadosE seu !rocessamento e a!resentao dos resultados com ra!ide& sufi ciente !ara afetar o am/iente naMuele momento1 A eW!ressoE _ra!ide& suficiente] estE naturalmenteE suLeita a muitas inter!reta0es1 E.identemente eWistem muitos sistemas on?line> sistemas /ancriosE sistemas de reser.a de !assagens a2reasE sistemas de controle de estoMues ? Mue se es!era Mue reaLam em um ou dois segun dos Zs mensagens digitadas no terminal1 EntretantoE na maioria dos siste mas de tem!o?realE o com!utador de.e reagir em milissegundos e Zs .e&es em microssegundos Zs entradas rece/idas1 Isso 2 caracterXstico dos seguintes ti!os de sistemas> j 'istemas de controle de !rocessos ? sistemas de !rocessamento usados !ara monitorar e controlar refinarias de !cirYleoE !roces sos da ind3stria MuXmicaE o!era0es de moagem e o!era0es mecPnicas ser.em como eWem!los1 j 'istemas de caiWa automtico ? os _caiWas eletrNnicos] Mue muitos de nYs usamos !ara !eMuenos de!Ysitos e retiradas em um /anco so eWem!los1 j 'istemas de o/teno de dados de alia .elocidade ? so eWem !los os sistemas de !rocessamento Mue rece/em dados de te lemetria de alta .elocidade de sat2lites em Yr/itaE ou com!uta dores Mue rece/em macias Muantidades de dados de eW !eriAncias la/oratoriais1 j 'istemas de orientao de mXsseis ? sistemas de !rocessamento Mue acom!an"am a traLetYria de um mXssil e fa&em contXnuos aLustamentos na orientao e ati.ao dos !ro!ulsores do mXssil1 j 'istemas de comutao telefNnica ? sistemas de !rocessamento Mue monitoram .o& e transmisso de dados entre mil"ares de c"amadas telefNnicasE detectando os n3meros discadosE con di0es de no?ganc"o e fora?do?ganc"o e todas as outras in3meras condi0es de uma rede telefNnica tX!ica1 j 'istemas de monitora o de !acientes ? sistemas de !rocessa mento Mue monitoram di.ersos \sinais .itais] de !acientes FeW1E tem!eratura e !ulsoO e administram a medicao ou soam o alarme se esses sinais .itais se alteram al2m de certas condi0es !redeterminadas1 @H Al2m da .elocidade eWiste uma outra caracterXstica Mue distingue sistemas de tem!o?real de sistemas on?line> esses 3ltimos geralmente interagem com !essoasE enMuanto os sistemas de tem!o?real interagem tanto com !essoas Muanto com o am/ienteE Mue 2 normalmente autNno mo e muitas .e&es "ostil1 8a .erdadeE a !reocu!ao !rinci!al do analis ta de sistemas de tem!o?real 2 MueE se o com!utador no res!onder com suficiente ra!ide&E o am/iente ficar fora de controle ? os dados Mue c"egarem !odero se !erder irremedia.elmenteE ou um mXssil !oder se des.iar tanto de sua traLetYria Mue no se conseguir recu!er?loE ou um !rocesso industrial !oder ir !elos ares Em contraste com issoE um sistema on?line Mue no reaLa com suficiente ra!ide& nada mais far do Mue tornar seus usurios im!acientes e irritados1 As !essoas !odem ;eW!lodir] ou _ir !elos ares] em sentido figurado se ti.erem Mue es!erar mais de trAs segundos !or uma res!osta de um sistema on?lineE mas no em sentido literal1 Isso 2 mostrado na figura :1I1 Em .irtude de sua !reocu!ao com res!osta instantPnea Zs entradasE um analista tra/al"ando com sistemas de tem!o?real est geralmente interessado com o com!ortamento tem!o?de!endente do sistema1 As ferramentas !ara modelagem do com!ortamento tem!o? de!endente de sistemas sero eWaminadas no ca!Xtulo 9@1 Do !onto de .ista da im!lementaoE os sistemas de tem!o?real F/em como alguns sistemas on?lineO se caracteri&am !elos seguintes as!ectos> j Muitas ati.idades de !rocessamento ocorrem simultaneamente1 Passagem do tem!o Figura :1I> 7m sistema de tem!o?real @9 j Esta/elecimento de diferentes !rioridades !ara diferentes tarefas de !rocessamento> algumas !recisam ser eWecutadas imedia tamenteE enMuanto outras !odem ser !ostergadas !or !erXodos ra&o.eis de tem!o1 j Interru!o de uma tarefa de !rocessamento antes de "a.er ter minado de modo a Mue outraE de alta !rioridadeE !ossa ser aten dida1 j Comunica0es eWtensi.as entre tarefasE !rinci!almente Muando muitas das tarefas funcionam em diferentes as!ectos de um !rocesso geral como um !rocesso de controle industrial1 j Acesso simultPneo a dados de uso comumE tanto na memYria !rinci!al como na secundriaE eWigindo !ortanto ela/orados !rocedimentos de _"and?s"a%ing] e ;sinais de trPnsitol !ara as segurar Mue esses dados comuns no se corrom!am1 j 7so dinPmico e alocao da memYria *AM no sistema de !ro cessamentoE .isto no ser econNmico Fmesmo nos dias atuais de memYrias de /aiWo !reoO ocu!ar muita memYria fiWa !ara mani!ular situa0es de !ico de Muantidade de dados1 :1J1@ 'istemas de A!oio Z Deciso e 'istemas de PlaneLamento Estrat2gico A maioria dos sistemas automati&ados de informa0es construXdos nos Estados 7nidos nos 3ltimos @H anos era de sistemas o!erati.os Mue auWiliam na eWecuo do tra/al"o dirio de uma em!resa1 Esses siste masE tam/2m con"ecidos como de !mcessamento de a0esE incluem os con"ecidos sistemas de !agamentoE de entrada de !edidosE de conta/ili dade e industriais1 8as em!resas americanasE esses sistemas o!era ti.os foram desen.ol.idos lenta e dolorosamenteE a um alto custoE e como muitos deles foram desen.ol.idos " mais de :H anos L esto Z /eira do desmoronamento1 Em face dissoE no.os sistemas o!erati.os so conti nuamente construXdos nas maiores em!resas !or todo o mundo1 8a medida em Mue os sistemas o!erati.os atuais !rosseguem em seu rumo cam/aleanteE muitas em!resas esto concentrando a atuao em um no.o ti!o de sistema> o de a!oio Z deciso1Como o termo sugereE esses sistemas de !rocessamento no tomam decis0es !or eles mesmosE mas auWiliam gerentes e outros !rofissionais _funcionrios do con"eci mento] de uma organi&ao a tomarem decis0es inteligentes e /em in formadas so/re .rios as!ectos da o!erao1 $s sistemas de a!oio Z @: deciso so ti!icamente !assi.os no sentido de Mue no funcionam de uma forma regular> em .e& dissoE so utili&ados de forma ad "oc Muando isso se fa& necessrio1 EWistem .rios eWem!los sim!les de sistemas de a!oio Z deciso> !rogramas de !lanil"as eletrNnicas F!1eW1E o -otus 9E:E@E o Multi!lan da Microsoft e o Frame4or% da As"ton?TateOE sistemas de anlise estatXsticaE !rogramas de !re.is0es mercadolYgicas e outros1 Em realidadeE uma caracterXstica comum dos sistemas de a!oio Z deciso 2 a de Mue eles no sY recu!eram e a!resentam dadosE mas tam/2m eWecutam di.ersas anlises matemticas e estatXsticas so/re os dadosV tAm tam/2m a a!ti doE na maioria dos casosE de a!resentar as informa0es so/ .rias for mas grficas Fta/elasE diagramas etc1O /em como relatYrios con.encio nais1 A figura :1< mostra uma tX!ica !lanil"a financeira Mue !oderia ser utili&ada !or um gerente !ara a.aliar a renta/ilidade de uma di.iso da em!resaV a figura :1K mostra um grfico tX!icoE Mue a!resenta as receitas da di.iso com!aradas Z m2dia da ind3stria1 $/ser.e MueE em am/os os casosE a saXda !rodu&ida !elo sistema no toma a deciso eE simE fornece informa0es rele.antes em formato adeMuado !ara Mue o gerente !ossa tomar a deciso1 Alguns sistemas de a!oio Z deciso so 3teis !ara organi&ar e mecani&ar as normas utili&adas !ara se c"egar a uma deciso comercial1 ProLe0es de -ucrosGPerdas 9H T*IM1 T*IM1 @H T*IM1 T*IM1 T$TA- Qendas dom2sticas Qendas internacionais TaWa de licena *eceitas di.ersas *ECEITA T$TA- JHH 9HH :I 9H I@I J:I 9IH <H 9H <JI :IH :HH IH 9I I9I @KI 9:I :I 9H I@I 9JIH IKI 9<H JI ::@H Custodas.endas 'alrios $utros custos Alugu2is Telefone Des!esas !ostais Qiagens Des!esas legais De!reciaNes Des!esas di.ersas DE'PE'A T$TA- 9:@ 9HH 9I 9I :H I 9H 9H 9: I @9I 9JD 9:H 9D 9I :H < 9H 9H 9@ I @<I 99D 9:H 9D 9I :H I 9H 9I 9@ I @@C 9:@ 9:I 9C 9D :H K 9H 9H 9J I @I9 I9@ J<I KH <@ DH :@ JH JI I: :H 9@K9 -7C*$GPE*DA ::H :DH 9K< 9DJ DIC Figura :1<> 7ma !lanil"a tX!ica @@ *eceitas da 5idget 9: 9H D *eceita em < j *eceitas da 5idget mil"0es M2dia da ind3stria D9 D: DJ DI Ano Figura :1K> 7m tX!ico grfico !rod u&ido !or um sistema de a!oio Z deciso 7m sistema desse ti!o 2 o !rograma c"amado -ig"t#ear Fda -ig"t#earE Inc1OE Mue funciona nos com!utadores !essoais com!atX.eis com o IBM1 Ele !ermite Mue o usurio Fou m3lti!los usuriosO descre.a os detal"es de um !ro/lema orientado !ara decisoV um eWem!lo !oderia ser o !ro/lema de decidir onde instalar um no.o escritYrio1 Em !rimeiro lugarE o usurio identifica os crit2rios Mue sero utili&ados na tomada de deci so1 Para o !ro/lema da instalao do escritYrioE isso !oderia incluir crit2rios como> \de.e ser acessX.el !or trans!orte !3/licol e _no de.e ser instalado em locais suLeitos a terremotos]1 Alguns dos crit2rios so /inrios no sentido de Mue uma fal"a em satisfa&A? los elimina um candi dato ou causa a automtica seleo de um candidato1 Alguns dos crit2 rios !odem ser escalonados numericamenteV !or eWem!loE um dos crit2 rios !oderia ser a taWa de im!osto de rendaE Mue toma diferentes .alores num2ricos de!endendo da cidade e do estado onde se locali&a o no.o escritYrio1 $s !rY!rios crit2rios !odem ser escalonados relati.amente uns aos outros> um im!osto tal.e& ten"a um .alor igual a I em uma escala de 9H !ontosE enMuanto as instala0es comerciais con.enientes !rYWimas tAm um .alor de @1 Tendo sido definidos os crit2rios !ara a tomada de decisoE .rios candidatos !odem ser a.aliados e analisadosV o mel"or candidato ser escol"ido automaticamente !elo !rograma -ig" t#ear1 A figura :1D demonstra esse !rocesso1 8ada eWiste de mgico nisso1 $ !rograma est sim!lesmente a!li candoE de forma mecPnicaE as normas de a.aliao introdu&idas !elo usurio1 EntretantoE a ca!acidade do sistema 2 mais do Mue a!enas o @J Identificar o!0es alternati.as ;Ir Esta/elecer crit2rios de a.aliao Escalonar as o!0es alternati.as conforme crit2rios ;J 'elecionar mel"or o!o Figura :1D> $ sistema -ig"t#ear de a!oio Z deciso clculo mecPnico> ele o/riga a usurio a emitir seu crit2rioE o Mue muitas .e&es no 2 feito1 Ele tam/2m oferece um recurso neutro !ara reunir as o!ini0es de muitos usurios em situa0es onde 2 im!ortante a o/teno de um consenso1 Em um !ro/lema emocionalmente sensX.el como o da escol"a da locali&ao do no.o escritYrio F!1eW1> a instalao das famXlias dos Mue tomaro a decisoOE !ode ser muito /en2fico no a!enas deter minar os crit2rios de deciso mas tam/2m determinar o escalonamento dos crit2rios de cada tomador de decis0es1 'e dois mem/ros da comisso de instalao do escritYrio di.ergiremE de.e ficar claro !ara eles Mual 2 a /ase da di.ergAncia1 $s sistemas de !laneLamento estrat2gico so usados !elos diretores !ara a.aliar e analisar a misso da em!resa1 Em .e& de oferecer conse l"os so/re uma deciso comercial isoladaE esses sistemas fornecem infor ma0es mais am!las e mais gerais so/re a situao do mercadoE as !re ferAncias dos clientesE o com!ortamento dos com!etidores etc1 Isso "a/itualmente !ertence Z rea do De!artamento de PlaneLamento Estra t2gico ou do De!artamento de PlaneLamento a -ongo Pra&oE em/ora essa !ossa ser uma ati.idade informal desem!en"ada !or um ou dois diretores de alto nX.el1 PlaneLamento estrat2gico 2 um conceito Mue se tornou !o!ular du rante a 'egunda Guerra Mundial Fem/ora o/.iamente algumas em!resas L fi&essem isso " muito tem!oO e 2 o tema de muitos li.rosV .eLa E'teinerE 9CKCeE EDruc%erE 9CKJe e EAc%offE 9CKH91 $s sistemas de !la neLamento estrat2gico no so intrinsecamente !rogramas de com !utadorE mas uma com!leWa com/inao de ati.idades e !rocedimentosE muitos deles eWecutados !or !essoas utili&ando informa0es ;res!igadas @I 9 de fontes eWternas F!esMuisas de mercado e outrasO e de dados internos dos sistemas o!erati.os da em!resa e de sistemas de a!oio Z deciso1 'teiner afirma Mue !odem eWistir muitos ti!os de sistemas de !laneLamento estrat2gicoE de!endendo do taman"o e da nature&a da organi&ao1 Dois modelos tX!icos so retratados nas figuras :1C e :19H1 $ siste ma de !laneLamento estrat2gico fundamentado na anlise de inter.alos tenta identificar a discre!Pncia entre a !osio atual da em!resa Fem termos de receitaE lucros etc1O e a !osio deseLada !ela direoE acionis tas e outros1 $s sistemas de !laneLamento estrat2gico constituem outro tema e no trataremos deles detal"adamente neste li.ro1 8ossa Anfase ser !rin ci!almente so/re os sistemas o!erati.os e de a!oio Z deciso1 $/ser.e o relacionamento entre os trAs diferentes ti!os de sistemas eWaminados nesta seo1 Como mostra a figura :199E os sistemas o!erau .os re!resentam a /ase so/re a Mual se fundamentam os sistemas de a!oio Z deciso e os de !laneLamento estrat2gico1 $s sistemas o!erati.os criam os dados eWigidos !elos sistemas de nX.el mais ele.adoE e atua li&am continuamente esses dados1 A forma !iramidal da figura :199 re!resenta outra caracterXstica dos sistemas de informa0es encontrados na maioria das organi&a0es atuais> o taman"o dos sistemas o!erati.os Fmedido em !essoas?anoE ou mil"0es Figura :1C> 7m modelo de !laneLa rnento esiralJgico centrali&ado na anlise de inter.alos @< Figura :19H> 7m modelo de !laneLamento estrat2gico /aseado na fora do mercado1 de comandos C$B$- etc1O eWcede ao dos sistemas de a!oio Z deciso e ao dos sistemas de !laneLamento estrat2gico1 Mas !odemos es!erar uma mudana nesse as!ecto na !rYWima d2cada1 Como L foi mencionadoE muitas em!resas des!enderam os 3ltimos @H anos construindo seus siste mas o!erati.os1 Para a maioria dessas em!resasE o tra/al"o est feito 1 Grande !arte do tra/al"o agora em andamento em algumas dessas gran des em!resas 2 o desen.ol.imento de sistemas de a!oio Z deciso e de !laneLamento estrat2gico1 @K Figura :199> A "ierarMuia dos sistemas de !rocessa mento de informao :1J1J 'istemas Baseados no Con"ecimento 7ma eW!resso relati.amente no.a na ind3stria do !rocessamento 2 _sistemas es!ecialistas] ou _sistemas /aseados no con"ecimento]1 Es ses sistemas esto associadTs ao cam!o da inteligAncia artificialE assim definida !or Elaine *ic" d 9CDJ9> A meta dos cientistas da com!utao Mue tra/al"am no cam!o da inteligAncia artificial 2 a !roduo de !rogramas Mue imitem o de sem!en"o "umano em uma am!la .ariedade de tarefas _inteligen tes]1 8o caso de alguns sistemas es!ecialistas essa meta est !rYWima de ser atingida1 8os demais casosE a!esar de ainda no sa/ermos como construir !rogramas Mue funcionem /em !or eles mesmosE emos comear a ela/orar !rogramas Mue auWiliem as !essoas de forma significati.aE na eWecuo de suas tarefas1 $s sistemas /aseados no con"ecimento e os sistemas es!ecialistas foram descritos !or dois eminentes escritores do cam!o da inteligAncia artificialE Feigen/aum e McCorduc% em d e McCorduc%E 9CD@9 da seguinte maneira> $s sistemas /aseados no con"ecimentoE como 2 Y/.ioE contAm grande Muantidade de con"ecimentos .ariados Mue eles tra&em !ara utili&ao em determinada tarefa1 $s sistemas es!ecialistas so uma es!2cie de sistemas /aseados no con"ecimentoE em/ora os dois nomes seLam muitas .e&es em!regados indistintamente1 @D 'istemas o!erati.os $ Mue 2 eWatamente um sistema es!ecialista[ ^ um !rograma Mue tem em/utido o con"ecimento e a ca!acidade Mue o !ermitiro fun cionar como es!ecialista1 Desem!en"o es!ecialista significaE !or eWem!loE o nX.el de desem!en"o de um m2dico em diagnose e tera!AuticaE ou de doutores ou !essoas de grande eW!eriAncia em eWercer tarefas de engen"ariaE cientXficas ou administrati.as1 $ sis tema es!ecialista 2 um auWilio intelectual de alto nX.el !ara o es!e cialista "umanoE o Mue eW!lica seu outro nomeE o de assistente inteligente1 $s sistemas es!ecialistas so construXdos "a/itualmente !ara terem a ca!acidade de eW!licar as lin"as de raciocXnio Mue condu&em a suas decisNes1 Alguns !odem at2 mesmo eW!licar !orMue reLeitaram cer tas lin"as de raciocXnio e escol"eram outras1 Essa trans!arAncia 2 uma das !rinci!ais caracterXsticas dos sistemas es!ecialistas1 $s !ro Letistas fa&em todo o esforo !ara conseguir isso !orMue sa/em Mue a utili&ao de um sistema es!ecialista de!ende de sua credi/ilidade Lunto aos usuriosE e a credi/ilidade surge !elo fato de seu com!or tamento ser trans!arenteE eW!licati.o1 $s sistemas es!ecialistas ainda so imaginados como sistemas es !eciali&adosE usando "ard4are es!ecial 1e linguagens de !rogramao tam/2m es!eciaisE como -I'P e P*$-$G1 EntretantoE alguns sistemas es!ecialistas sim!les comeam a surgir em com!utadores !essoais de !orte !adroE e as c!sulas F;s"elis]O de sistemas es!ecialistas ? estrutu ras de soft4are !ara o desen.ol.imento de a!lica0es es!ecXficas de sis temas es!ecialistas ? L a!arecem em am/ientes de grande !orte /asea dos em C$B$-1 Em/ora os sistemas es!ecialistas esteLam fora do esco!o deste li .roE eles tornar?se?o gradualmente um com!onente cada .e& mais im !ortante do sistema _tX!ico] em Mue .ocA tra/al"a como analista de sistemas1 Desde o final dos anos DH os !esMuisadores .Am estudando o relacionamento entre as t2cnicas clssicas de desen.ol.imento de soft 4are e a inteligAncia artificialV um estudo tX!ico desses 2 7aco/ e Fros c"erE 9CD<e1 KelIer FIKellerE 9CDKeO !re.A um tem!o no futuro !rYWimo em Mue os sistemas de IA e es!ecialistas faro !arte da ati.idade _normal] de anlise de sistemasV outrosE como lBarsto4E 9CDKe e F-u/ars e ,arandiE 9CDK9 !resumem Mue a inteligAncia artificial ser 3til no auWXlio aos ana listas de sistemas na documentao dos reMuisiI do usurio em meados dos anos CH1 Mais adianteE .oltaremos a este assunto1 @C 9 9 :1I P*I8CcPI$' GE*AI' DE 'I'TEMA' Todos os eWem!los .istos acima tAm uma coisa em comum> todos eles so sistemas1 Em/ora !ossam ser diferentes de .rias maneiras eles com!artil"am muitas caracterXsticas comuns1 $ estudo dessas _caracterXs ticas comuns] 2 con"ecido como _teona geral dos sistema[E um fasci nante tema a eW!lorar1 Para uma .ista inicial do assuntoE leia E5ein/ergE 9CK<9V !ara um eWame mais formalE consulte EBertalanff#E 9C<C9V uma .iso mais "umorXstica da freMaentemente !er.ersa nature&a dos siste mas !ode ser encontrada no delicioso '#stemantics d 9CKK91 A!esar do assunto da teoria geral dos sistemas estar al2m do !ro !Ysito deste li.roE eWistem alguns !rincX!ios _gerais] de !articular inte resse !ara os Mue constrYem sistemas automati&ados de informa0es1 'o os seguintes> 91 Tuanto mais es!eciali&ado 2 um sistemaE menos ca!a& ele 2 de se ada!tar a circunstPncias diferentes1 Isso 2 muitas .e&es usa do !ara descre.er sistemas /iolYgicos F!1eW1E animais Mue tAm dificuldade de se ada!tar a no.os am/ientesOE mas tam/2m se a!lica a sistemas de com!utador1 Tuanto mais um sistema for de \em!rego geral]E menos _otimi&ado] ele ser !ara uma situao es!ecXficaV !or2mE Muanto mais um sistema for otimi &ado !ara uma situao es!ecXficaE menos ada!t.el ele ser a no.as circunstPncias1 Isso 2 um !ro/lema .erdadeiro !ara muitos sistemas de tem!o?real Mue !recisam ser otimi&ados !ara !ro!orcionarem res!ostas suXicientemente r!idas aos estXmu los eWternos1 Mas o !rocesso de otimi&ao geralmente se /eneficia das idiossincrasias do "ard4are de com!utador e do soft4are de sistemas es!eciais no !roLetoE o Mue significa Mue !ode ser muito dificil transferir o sistema !ara um diferente "ard4are1 Esse !rincX!io tam/2m 2 im!ortante !ara muitos sistemas comerciais Mue \refletem] a !olXtica do usurioE Mue tam/2m !ode ser eWtremamente es!eciali&ada1 Tuanto mais es!e ciali&ados forem os reMuisitos do usurio !ara um sistema de !agamento de !essoalE !or eWem!loE menos !ro..el ser Mue !ossa ser utili&ado um !acote comercial dis!onX.el1 :1 Tuanto maior for um sistemaE maior o n3mero de seus recursos Mue sero destinados Z manuteno diria1 8o.amente a Biologia 2 o eWem!lo mais con"ecido deste !rincX!io> os dinos sauros gasta.am a maior !arte de suas .idas diurnas enc"endo se de comida !ara manter suas imensas carcaas1 Isso tam/2m se a!lica a eW2rcitosE em!resas e a muitos outros sistemasE inclusi.e os sistemas automati&ados Mue estamos estudando JH neste li.ro1 7m !eMueno sistema _de /rinMuedo]E do ti!o Mue !ode ser desen.ol.ido em uma tardeE eWigir "a/itualmente muito !ouca _/urocracia]E enMuanto um sistema grande eWigir enormes esforos nas _im!roduti.as] reas da .erificao de errosE edioE cY!iasE manutenoE segurana e documentao=m1 @1 $s sistemas sem!re fa&em !arte de sistemas maiores e sem!re !odem ser di.ididos em sistemas menores1 Esse !onto 2 im !ortante !or dois moti.os> !rimeiroE ele sugere uma Y/.ia maneira de organi&ar um sistema Mue Mueremos desen.ol.er? !ela sua di.iso em sistemas menores F.eremos mais detal"es so/re isso nos 3ltimos ca!Xtulos do li.roO1 Mais im!ortanteE en tretantoE 2 Mue ele sugere Mue a definio do sistema Mue Mueremos desen.ol.er 2 ar/itrria ? !oderXamos ter escol"ido um sistema ligeiramente menor ou ligeiramente maior1 A escol"a do esco!o de um sistema e a sua cuidadosa definio de uma forma em Mue todos !ossam sa/er o Mue " dentro do sistema e o Mue " fora dele 2 uma ati.idade im!ortante Mue ser discutida detal"adamente no ca!Xtulo 9D1 Isto 2 mais difXcil do Mue !ode !arecer> tanto os usurios como os analistas !ensam muitas .e&es Mue os limites de um sistema so fiWos e imut.eis e Mue tudo Mue esti.er fora desses limites no merece ser estudado1 Estou em dX.ida cNm -a.ctte Teague e C"risto!"er Pidgeon F e PidgeonE 9CDI9O !ela locali&ao do seguinte eWem!lo de sistemas dentro dc sistemasE tirado de EE/er"ardE 9CKHe> 7ma !reocu!ao inerente aos m2todos de !roLeto 2 a nature&a "ierrMuica da com!leWidade1 Essa !reocu!ao mo.imenta?se em duas dire0esE escalada e regresso infinita1 7sarei uma "istYriaE _$ A.iso da Maaneta]E !ara ilustrar o !rincX!io da es calada1 Ti.e esta eW!eriAncia em 5as"ingtonE Muando eu tin"a din"eiro !ara gastar1 'e eu cele/rasse um contrato com um !roLetista e dissesse> _A maaneta da !orta do meu escritYrio foi feita com !ouca imaginao e com desen"o muito !o/re1 QocA me !roLetaria outra maaneta[] Ele res!onde _sim]E e a!Ys esta/elecermos um !reoE ele .ai em/ora1 7ma semana mais tarde ele .olta e di&> _'r1 E/er"ardE esti.e !ensando so/re a maaneta1 Em !rimeiro lugarE !recisamos decidir se uma maaneta 2 a mel"or o!o !ara a/rir e fec"ar uma !orta]1 Eu digoE ;ntimoE eu gosto de imaginaoE !rossiga]1 Ele .olta outra .e& e di&E _'a/eE esti.e !ensando so/re seu !ro/lema e a 3nica ra&o !ara o sen"or Muerer uma maaneta 2 Mue o sen"or J9 !resume Mue deseLe uma !orta !ara o seu escritYrio1 $ 'r1 tem certe&a de Mue uma !orta 2 a mel"or maneira !ara controlar a sa%la e a !ri.acidade ? _8o` no ten"o certe&a] _BemE .ou !ensar so/re este !ro/lema]1 Ele .olta uma semana mais tarde e di&> _$ 3nico moti.o Mue temos !ara nos !reocu!armos com o !ro/lema da !assagem 2 a sua insistAncia em ter Muatro !aredes em .olta de seu escritYrio1 Tem certe&a de ser essa a mel"or maneira de organi&ar o es!ao !ara o ti!o de ser.io Mue o 'r1 fa& como /urocrata[]1 Eu digo> _8o` no ten"o certe&a]1 BomE a escalada !rossegue at2 Fe isso aconteceu literalmente com dois contratosE em/ora no eWatamente conforme este !rocessoO Mue nosso !roLetista fXsico regresse com a fisionomia muito s2ria1 _'r1 E/er"ardE !recisamos decidir se a democracia ca!italista 2 a mel"or maneira de organi&ar nosso !aXs antes Mue eu !ossa atacar o seu !ro/lema]1 8o outro eWtremo est o !ro/lema da regresso infinita1 'e aMuele "omem se de!arasse com o !roLeto da maaneta diria> _Es!ere1 Antes de me !reocu!ar com a maanetaE Muero estudar o formato da mo "umana e o Mue o "omem 2 ca!a& de fa&er com ela]1 Eu diria> _Muito /em]1 Ele retornaria e diria> _Tuanto mais eu !enso so/re issoE surge um !ro/lema de ada!tao1 $ Mue Muero estudar em !rimeiro lugar 2 como o metal 2 formadoE Muais so as tecnologias !ara fa/Xicar coisas metlicas de modo Mue eu !ossa con"ecer os .erdadeiros !arPmetros !ara o aLuste Z mo]1 _ntimo]1 Mas aX ele di&> _Esti.e estudando a constituio do metal e tudo de!ende das !ro!riedades metal3rgicas1 Preciso estudar metalurgia !or trAs ou Muatro meses !ara com!reender mel"or o !ro/lema]1 ? _ntimo`]1 A!Ys trAs mesesE ele .olta e di&> _'r1 E/er"ardE Muanto mais estudo metalurgia mais !erce/o Mue 2 a estrutura atNmica Mue est de fato no centro do !ro/lema]1 EE assimE nosso !roLetista fXsico est estudando fXsica atNmica a !artir da maaneta1 Esta 2 uma das Muatro !reocu!a0es ? a nature&a da com!leWidade1 J1 $s sistemas crescem1 8aturalmenteE isso no !ode ser .erda deiro !ara todos os sistemas ou isso .iolaria um !rincX!io geral de sistemas muito con"ecido> a lei da conser.ao da energia1 MasE muitos dos sistemas com os Muais estamos familiari&ados realmente crescemE e 2 im!ortante recon"ecermos issoE !orMue muitas .e&es deiWamos de considerar esse as!ecto Fcomo analistas e !roLetistas de sistemasO ao iniciarmos o desen .ol.imento de um sistema1 7m tX!ico sistema de informa0esE !or eWem!loE cresce !ara incluir mais soft4are do Mue esta.a !re.isto originalmenteE mais dadosE mais fun0es e mais usurios1 Por eWem!loE -ient& e '4anson encontraram em uma clssica a.aliao de a!roWimadamente IHH em!resas de J: !rocessamento de dados em todo o !aXs Fl-ient& e '4ansonE 9CDH9OE Mue o .olume de cYdigo de um sistema automati&ado cresce a!roWimadamente 9Hf ao anoE e Mue o taman"o do /an co de dados cresce cerca de If a cada ano1 8ao se !ode !re sumir Mue um sistema Mue .ocA ten"a construXdo . !ermanecer estticoV o custo da eW!anso !elo tem!o de.e ser incluXdo nos clculos do _custo?/eneficio]E Mue discutiremos no ca!Xtulo I e no a C1 :1< *E'7M$ $s analistas de sistemas na ati.idade de !rocessamento de dados so .Xtimas freMaentes da lei da es!eciali&ao acima eWaminada1 Eles se tornam es!ecialistas em seu !rY!rio cam!oE sem !erce/erem Mue eWis tem outros ti!os de ;construtores de sistemas] e Mue !odem ser a!lica dos alguns !rincX!ios gerais1 $ !rinci!al !ro!Ysito deste ca!Xtulo foi am!liar seus "ori&ontes e dar?l"e maiores !ers!ecti.as antes de mergu l"armos mais !rofundamente no estudo dos sistemas automati&ados de informa0es1 ^ claro Mue no se !ode ser es!ecialista em sistemas .i.osE fXsicos e em todas as formas de sistemas feitos !elo "omem em acr2scimo aos sistemas automati&ados de infor Por2mE como os sistemas Mue .ocA .ier a construir Muase sem!re iro interagir com esses outros ti!os de sistemasE 2 im!ortante no os ignorar1 Com!reendendo Mue outros sistemas o/edecem a muitos dos mesmos !rincX!ios gerais Mue o sistema de !rocessamento Mue esti.er !rodu&indoE .ocA !ro.a.elmente ter mais sucesso no desen.ol.imento de interfaces entre o seu sistema e o mundo eWterior1 *EFE*b8CIA' 91 Ed4ard 6ourdonE Design of $n?-ine Com!uter '#stems1 Engle 4ood CliffsE 81R1> Prentice?,allE 9CK:E !1 J1 :1 Rames MartinE Design Yf *eal?Time Com!uter '#stems1 Engle4ood CliffsE 81R1> Prentice?,allE 9C<K1 @1 Rames Grier MilIerE -i.ing '#stems1 8o.a lorMue> McGra4?,illE 9CKD1 J1 George 'teinerE 'trategic Planning1 8o.a lorMue> Free PressE 9CKC1 I1 Peter Dru c%erE Management> Tas%sE *es!ons i/ilitiesE Pra ctices1 8o.a lorMue> ,ar!er k *o4E 9CKJ1 <1 *ussell -1 Ac%offE A Conce!t of Co Planning1 8o.a lorMue> 5ile#E 9CKH1 K1 'tafford BeerE Brain oft/e Firm1 8o.a lorMue> 5ile#E 9CK:1 J@ D1 'tafford BeerE T/e ,eart ofEntet!rise1 8o.a lorMue> 5ile#E 9CKD1 C1 'te!"en ,allE _Bioc"i!s]E ,ig/ Tec"nolog#E de&em/ro de 9CD@1 9H1 ,1 Garrett De6oungE _Biosensors]E ,ig" Tec"nolog#E no.em/ro de 9CD@1 991 8ic"olas '"rad#E _Molecular Com!uting]E For/esE :C de Lul"o de 9CDI1 9:1 Da.id $lmosE _D$D Finances Case 5estern Bioc"i! *esearc" Center]E Com!uter4orldE @ de setem/ro de 9CDJ1 9@1 Elaine *ic"E _T"e Gradual EW!ansion of Artificial Intelligence]E IEEE Com!uterE maio de 9CDJ1 9J1 Ed4ard Feigen/aum e Pamela McCorduc%E T"e FtGi" Generation1 *eadingE Mass1> Addison?5esle#E 9CD@1 9I1 *1R1K1 Raco/ eR181 Frosc"erE _'oft4are Engineering for 1*ule?Based 'oft4are '#stems]E Proceedings of t"e 9CD< Fali Roint Com!uter Conference1 5as"ingtonE D1C1> IEEE Com!uter 'ociet# PressE 9CD<1 9<1 *o/ert E1 KelierE EW!ert '#stems Tec"nolog De.elo!ment and A!!lication1 Engle4ood CliffsE 81R1> Prentice?,allE 9CDK1 9K1 *o/ert Alio4a# e Rudit1" TuillardE _7ser Managers= '#stems 8ce CI'* 5or%ing Pa!er D<1 Cam/ridgeE Mass1> MIT 'loan 'c"ool Cen ter for Information '#stems *esearc"E a/ril de 9CD:1 9D1 -ud4ig .on Bertalanff#E General '#stems T"eo[#1 8o.a lorMue> George Bra&ilierE 9C<C1 9C1 Gerald 5dn/ergE An Introduclion lo General '#stems K91nn%ing1 8o.a lorMue> 5ile#E 9CK<1 :H1 Ro"n GaliE '#stemantics1 8o.a lorMue> TuadrangleGT"e 8e4 6or% Times Boo% Com!an#E 9CKK1 :91 D1Barsto4E _Artificial Inteiligence and 'oft4are Engineering]E Proceedings of t"e Ct" Internationai 'oft4are Engineering ConferenceE a/ril de 9CDK1 ::1 M1D1 -u/ars e M1T1 ,arandiE _Kno4ledge?Based 'oft4are Design 7sing Design 'c"emas]E ProceedXngs of l"e C9" International 'oft 4are En ConferenceE a/ril de 9CDK1 :@1 Bennet P1 -ient& e E1 Burton '4ansonE 'oft4are Maintenance ManagementE *eadingE Mass1> Addison?5esle#E 9CDH1 :J1 -a.ette Teague e C"risto!"er PidgeonE 'tructured Anal#sis Me t"ods for Com!uter Information '#stems1 C"icago> 'cience *esearc" AssociatesE 9CDI1 :I1 Ro"n P1 E/er"ardE _5e $ug"t te Kno4 t"e Difference]E EngXne ering Met"ods in En.iron mental DesiEgn and Pia nningE Gar# T1 MooreE ed1 Cam/ridgeE Mass1> MIT PrcssE 9CKHE !gs1 @<J?@<I1 JJ PE*G78TA' E EXE*CcCI$' 91 DA dois eWem!los de cada uma das defini0es do Mue seLa um sistema a!resentadas !elo dicionrio 5e/ster=s no inXcio do ca!itulo :1 :1 DA cinco eWem!los de sistemas Mue duraram !or !elo menos 9 mil"o de anos e Mue ainda eWistem nos dias atuais1 @1 DA cinco eWem!los de sistemas feitos !elo "omem Mue ten"am durado !or mais de 91HHH anos1 Para cada casoE dA uma /re.e eW!licao de !orMue duraram tanto tem!o e se !odemos es!erar Mue so/re.i.am outros mil anos1 J1 DA cinco eWem!los de sistemas no feitos !elo "omem Mue ten"am fracassado durante sua .ida1 Por Mue fracassaram[ I1 DA cinco eWem!los de sistemas feitos !elo "omem Mue ten"am fracassado durante sua .ida1 Por Mue fracassaram[ <1 ProLeto de PesMuisa> leia -i.ing '#stems de Miller e !re!are um resumo1 K1 ProLeto de PesMuisa> leia BraXn of t"e Firm de Beer e faa um resumo !ara seus colegas1 D1 ProLeto de PesMuisa> leia T/e ,eart ofEntei!rise de Beer e faa um resumo !ara seus colegas1 C1 Com referAncia Z seo :1@E dA um eWem!lo de um sistema feito !elo "omemE MueE em sua o!inioE no de.e ser automati&ado1 Por Mue .ocA ac"a Mue ele no de.e ser automati&ado[ $ Mue sairia errado[ 9H1 DA um eWem!lo de um sistema no?automati&ado MueE em sua o!inioE de.eria sA?lo1 Por Mue .ocA ac"a isso[ Tuais seriam os /enefXcios[ E Muais seriam os custos[ Tual a confiana Mue .ocA tem nos /enefXcios e nos custos[ 991 DA eWem!los dos 9C su/sistemas de Miller !ara os seguintes ti!os de sistemas automati&ados>FaO !agamento de !essoalE F/O controle de in.entrioE FcO o sistema telefNnico1 9:1 Escol"a uma !eMuena em!resa Mue .ocA con"ea /emE ou um de!artamento ou di.iso de uma grande em!resa1 Pre!are um in.entrio dos sistemas utili&ados !ela em!resa Mue .ocA escol"eu1 Tuantos deles so sistemas o!erati.os[ Tuantos so sistemas de a!oio Z deciso[ Tuantos so sistemas de !laneLamento estrat2gi co[ EWistem outras es!2cies 3teis de sistemas[ Para aLud?lo a enfo car essa reaE consulte d e TuillardE 9CD:91 9@1 DA cinco eWem!los de seu !rY!rio con"ecimento de FaO sistemas de tem!o?realE F/O sistemas on?lineE FcO sistemas de a!oio Z deci soE FdO sistemas de !laneLamento estrat2gico e FeO sistemas es!e cialistas1 JI 9J1 A figura :1J mostra uma configurao tX!ica de "ard4are !ara um sistema on?line1 Desen"e um diagrama de uma configurao de "ard4are ra&oa.elmente diferente1 Fa& sentido ter?se alguns dos dados do sistema fisicamente locali&ados nos terminais[ TuandoE no desen.ol.imento de um sistemaE de.e isto ser discutido com o usurio[ 9I1 DA um eWem!lo de um sistema comercial Mue seLa descrito como um sistema _de inteligAncia artificiall ou _/aseado no con"ecimen to] MueE em sua o!inioE no seLa "onesta ou corretamente des crito1 Por Mue .ocA ac"a Mue a descrio est incorreta[ 9<1 Pode o modelo de res!osta a estXmulo mostrado na figura :1I ser a!licado a sistemas Mue no seLam de tem!o?real[ 8o 2 .erdade Mue todos os sistemas res!ondem a estXmulos[ $ Mue " de es!ecial com os sistemas de tem!o?real[ 9K1 7m sistema de a!oio Z deciso !ode realmente tomar decis0es[ Caso negati.oE !or MuA[ $ Mue !oderia ser feito !ara modificar o sistema tX!ico de a!oio Z deciso de modo a Mue ele !udesse tomar decis0es[ 'eria isso deseL.el[ $ Mue seria relegado em troca dos /enefXcios[ 8$TA' $s !aleontologistas ainda discutem so/re esse !ro/lema> alguns ac"am Mue os dinossauros se eWtingairam em um relati.amente curto !erXodo de tem!oE de!ois do c"oMue de um grande meteoro com a TerraE causando a formao de uma nu.em de !oeira to densa Mue a maior !arte da .ida .egetal teria morrido1 $utros consideram Mue a modificao foi mais gradualE !rocessando?se durante um !erXodo de a!roWimadamente um mil"o de anos1 De MualMuer formaE os dinossauros eram altamente ada!tados a um ti!o de am/iente e mostraram?se inca!a&es de se ada!tarem a um am/iente di.erso1 : Isso tam/2m !ode auWiliar os analistas de sistemas a com !reenderem o fenNmeno das !rticas de um usurio serem to es!eciali&adas Mue no " como modific?lasE mesmo Mue seLam com!utadori&adas1 Isso lem/ra ao ou Z analista de sistemas Mue se desen.ol.erem um sistema com!utadori&ado Mue seLa altamente es!eciali&ado na a!licao atual do usurioE !ode ser difXcil ada! t?lo Muando os reMuisitos do usurio Fe o am/iente eWterno em Mue esse usurio o!eraO se modificarem ou e.olufrem1 @ 5e/ster=s 8e4 Coliegiate Dictionai#E '!ringfieldE Mass1> G1k C1 Merriam Com!an#E 9CKK1 J< J A essAncia de um sistema e modelos /sicos F$u essenciaisO sero discutidos no Ca!Xtulo 9K1 I 8o o/stanteE cada a!licaco tem seu !rY!rio .oca/ulrioE sua cultura e seu conLunto de !rocedimentos1 $ usurio normalmente es!era Mue o analista de sistemas sai/a alguma coisa so/re os deta l"esE !olXtica comercial e !rocedimentos de sua a!licaoE de modo Mue nem tudo !recise ser eW!licado do !rincX!io1 AssimE se .ocA !retende ser um analista de sistemas de um /ancoE ser !ro .a.elmente 3til a!render tudo o Mue for !ossX.el so/re as ati.ida des /ancrias1 Esta no 2 uma .ia de mo?3nica> os /anMueiros esto a!rendendo mais e mais a res!eito da tecnologia de sistemas de informao a cada dia1 < A !ala.ra terminal est sendo to usada "oLe Mue no ten"o certe&a de Mue !recise ser definida1 EntretantoE lem/re?se de Mue " muitos sinNnimos> _.Xdeo]FscreenOE _estao de tra/al"o] F4or%stationOE _teclado] F%e#/oardO e _unidade de .Xdeo] Fdis!la# unitO esto entre os mais comuns1 EWistemE tam/2mE a/re.iaturas con"ecidas usadas !ara descre.er o dis!ositi.o de entradaGsaXda com Mue nos comunicamos com o com!utador> _C*T] F_cat"ode ra# tu/e]OE _QD7] F_.isual dis!la# unit]O etc1 Esses termos sero utili&ados indistintamente neste li.ro1 K Isso Zs .e&es 2 mencionado como _dilogo "omem?mMuina]E ou como _interface "omem?mMuina]1 Muitas organi&a0es de de sen.ol.imento de sistemas esto adotando as eW!ress0es _interface "omem?com!utador] ou a!enas _interface "umana] !ara e.itar enganos desnecessrios1 D 7m dos mais interessantes eWem!los de uma situao de tem!o? real como essa en.ol.ia uma eMui!e de !roLeto cuLa tarefa era aco!lar um !eMueno com!utador a uma /om/a nuclear1 Tuando a /om/a fosse detonada Fcomo !arte de um !rograma de testes su/terrPneosOE o com!utador dis!un"a de a!enas uns !oucos mi crossegundos !ara recol"er tantos dados Muantos !udesse e trans miti?los a um sistema remoto de !rocessamento antes Mue o "ard 4are e o soft4are se .a!ori&assem na eW!loso1 Isso 2 um reMuisito de !rocessamento em tem!o?real1 C EWistem algumas eWce0es> as organi&a0es menores Mue ainda no com!utadori&aram a maior !arte das suas ati.idadesV os antigos sistemas o!erati.os desen.ol.idos !or IHH em!resas nos anos <H Mue esto Z /eira da ruXna e os no.os sistemas o!erati.os eWigidos !or fas0esE com!ras ou entradas em no.os mercados e !rodutosV e a comunidade da defesa tem uma lista a!arentemente intermin.el de no.os sistemas o!erati.os a serem construXdos1 A tendAncia geralE entretantoE 2 de um .agaroso deslocamento a !artir dos siste mas o!erati.os !ara os de a!oio Z deciso1 9H $s usurios muitas .e&es no a!reciam esse fenNmenoE e i !ode ser um dos moti.os !ara o !resente fascXnio das lingi gens de Muarta gerao e ferramentas de !rototi!ao1 Pode construir ra!idamente um sistema com uma linguagem de Mu gerao Mue se incum/a das !rinci!ais !artes do !rocessamei F!ro!orcionandoE assimE imediata satisfao ao usurioOE ma !reciso muito tra/al"o !ara introdu&ir inteligAncia artificial i o!era0es de .erificao de errosE cY!iasE manutenoE seguran mel"ora de desem!en"oE documentao etc1 ^ !reciso ter e as!ecto em mente !ara e.itar ser forado !elo usurio a consti um sistema _r!ido e suLo] destinado ao fracasso1 Para dar u id2ia da eWtenso de algo to mundano como a documenta considere a estatXstica a!resentada !or Ca!ers Rones em P gramming Producti.it# F8o.a lorMue> McGra4?,illE 9CD<O> 9 grande sistema de telecomunica0es tin"a 9:H !ala.ras em in !ara cada lin"a de cYdigo?fonteE totali&ando @H mil"0es de !ala e <H1HHH !ginas e um grande sistema de go.erno tin"a :HH la.ras em inglAs !or lin"a de cYdigo?fonteE totali&ando 9:I mil" de !ala.ras e :IH1HHH !ginas de documentao1 JD @ PA*TICIPA8TE' D$ R$G$ D$' 'I'TEMA' $ mundo inteiro 2 um !a%oE $nde todos os "omens e todas as mul"eres so meros !artic`!an>es1 Eles t2m suas saXdas e suas entradasV E cada umE !or sua .e&E desem!en"a muitos !a!2isE '"a%es!eare As 6ou -i%e IiE IIE .ii 8este ca!XtuloE a!renderemos> 91 $s ti!os de !essoas com Muem interagimos em um !roLeto1 :1 $s trAs !rinci!ais ti!os de usuriosE !or ti!o de tra /al"o1 @1 As rea0es do usurio durante o !roLeto dc desen.ol .imento de sistemas1 J1 A diferena entre os usurios no.atos e eW!erientes1 I1 $ !a!el da gerAncia em um !roLeto de desen.ol .imento de sistemas1 <1 $ !a!el do analista de sistemas em um !roLeto de desen.ol.imento de sistemas1 K1 $utros !a!2is em um !roLeto de desen.ol.imento de sistemas1 Como analista de sistemas .ocA tra/al"ar em !roLetos de desen .ol.imento de sistemas com di.ersos ti!os de !essoas1 $ elenco de !ersonagens .ariar de !roLeto !ara !roLetoV as !ersonalidades sero eWtremamente diferentes umas das outrasV e o n3mero de !essoas com JC Muem .ocA .ai interagir .ariar de a!enas uma a di.ersas d3&ias1 Entre tantoE os !ersonagens so altamente consistentes e .ocA os .er muitas e muitas .e&es1 'er um analista de sistemas /em?sucedido reMuer mais do Mue o con"ecimento da tecnologia dos com!utadores1 Entre outras coisasE reMuer a!tid0es inter!essoais> .ocA !assar /oa !arte do seu tem!o tra /al"ando com outras !essoasE muitas das Muais falam uma _linguagem] muito diferente da sua e muitas consideraro sua linguagem da tecnolo gia do com!utador alienXgena e amedrontadora1 Dessa formaE 2 im!or tante sa/er o Mue essas !essoas es!eram de .ocA e o Mue .ocA !ode es!erar delas1 Este ca!Xtulo dedica?se Zs caracterXsticas dos !rinci!ais ti!os de _!artici!antes] Mue .ocA !ro.a.elmente encontrar em um tX!ico !roLeto de desen.ol.imento de sistemasE e Mue I j 7surios j Gerentes j AuditoresE !essoal do controle dc Mualidade e _mantenedores dos !adr0es] j Analistas de sistemas j ProLetistas de sistemas j Programadores j Pessoal o!erati.o Cada um desses ti!os 2 descrito a seguir1 @19 7'7+*I$' $ !rimeiroE e de longe o mais im!ortanteE !artici!ante do Logo de sistemas 2 algu2m con"ecido !elos analistas de sistemas como um u1su rio1 7surio 2 a !essoa Fou gru!o de !essoasO !ara Muem o sistema 2 construXdo1 Ele ou ela 2 a !essoa a Muem .ocA entre.istarE muitas .e&es detal"adamenteE !ara sa/er Mue caracterXsticas o no.o sistema de.er ter !ara ser /em?sucedido1 De.e?se ressaltar Mue a maioria dos usurios no se refere a eles mesmos como _usurios]V afinalE a !ala.ra 2 freMaentemente utili&ada em um diferente conteWto !ara indicar os consumidores de drogas1 Em IH algumas em!resasE o setor de !rocessamento de dados e.ita o !ro/lema com a utili&ao dos termos cliente ou !ro!rietrio !ara identificar o usurioE $ usurio 2 o _!ro!rietrio] no sentido de Mue ele ou ela rece/eE ou "erda ? e Zs .e&es !ossui ? o sistema de!ois de !ronto e 2 o _cliente] em !elo menos dois im!ortantes as!ectos> F9O assim como em tantas outras ati.idadesE _o cliente sem!re tem ra&o]E no im!ortando Muo eWigenteE desagrad.el ou ilYgico ele ou ela !ossa !arecer e F:O o clienteE afinal de contasE 2 Muem !aga !elo sistema e "a/itualmente tem o direito ou a !ossi/ilidade de se recusar a !agar se ele ou ela no ficar satisfeito com o !roduto rece/ido1 8a maioria dos casos 2 muito fcil identificar o usurio Fou usu riosO> ele 2E normalmenteE a !essoa Mue emite uma solicitao formal !or um sistema1 Em uma em!resa !eMuena isso 2 "a/itualmente um !roces so muito informalE !odendo consistir a!enas de um telefonema do usu rio !ara o Analista de 'istemas C"efeE di&endo> _RooE !reciso de um no.o sistema !ara controlar nossa cam!an"a de comerciali&ao 5idget`]1 Em uma grande em!resa o inXcio do !roLeto de desen .ol.imento de um sistema 2 muito mais formal1 A _solicitao de le.antamento e estudo de um sistema]E como Zs .e&es 2 c"amadaE transita normalmente !or di.ersos nX.eis de a!ro.ao antes Mue o analista de sistemas inicie seu en.ol.imentoE $ ca!Xtulo I se estender mais so/re esse assunto1 EntretantoE eWistem algumas situa0es em Mue a identidade do .er dadeiro usurio 2 descon"ecidaE ou em Mue o analista de sistemas tem !ouca ou nen"uma o!ortunidade de interagir diretamente com ele1 7m eWem!lo comum 2 aMuele de um sistema sendo ela/orado !or uma firma de consultoria ou !or uma em!resa de soft4are> a interao entre a em!resa cliente e a de consultoria !ode se !rocessar entre agentes con tratantes ou outros setores administrati.osE Zs .e&es com clusulas eW!lX citas de Mue o analista de sistemas no !ode se entender diretamente com o usurio1 Mesmo Mue o sistema esteLa sendo desen.ol.ido inteira mente dentro de uma 3nica organi&aoE o _.erdadeiro] usurio !ode nomear um !orta?.o& !ara tra/al"ar com o analista de sistemas !orMue ele ou ela est ocu!ado demais com outras tarefas 9j ^ e.idente Mue em situa0es assim eWiste uma forte !ossi/ilidade de mal?entendidos> o Mue Muer Mue o .erdadeiro usurio Mueira Mue o sistema faa !ode ser mal transmitido !ara o analista de sistemasE e o Mue Muer Mue o analista de sistemas imagine Mue est criando !ara o usurio tam/2m !ode ser mal comunicado ? at2 Mue todo o sistema esteLa !rontoE Muando L ser tarde demais` Podemos tirar daX duas conclus0es> j 'em!re Mue !ossX.elE o analista de sistemas de.e tentar esta/ele cer contato direto com o usurio1 Mesmo Mue outras !essoas I9 esteLam en.ol.idas como intermedirias F!1eW1> !ara lidar com !ro/lemas contratuais ou detal"es administrati.osOE 2 im!ortante Mue "aLa reuni0es regularesE frente a frente com a !essoa Mue ir afinal rece/er o sistema1 8a .erdadeE 2 at2 mel"or se o usurio for um mem/ro de tem!o integral da eMui!e de !roLeto1 Em muitas organi&a0esE o usurio 2 o gerente do !roLetoE alguns c"egam a defender a id2ia de Mue o usurio de.eria fa&er o !roLeto1 j 'e no for !ossX.el a comunicao direta com o usurioE ento a documentao !rodu&ida !elo analista de sistemas torna?se ainda mais crXtica1 A !arte II deste li.ro 2 dedicada a ferramentas de modelagem Mue !odem ser utili&adas !ara descre.er o com !ortamento de um sistema de modo rigoroso e formalV 2 funda mental usar ferramentas desse gAnero !ara e.itar mal?entendi dos caros1 @1919 A ,eterogeneidade dos 7suJrios 7m dos eMuX.ocos freMaentemente cometidos !or !essoas da rea do !rocessamento ? !rinci!almente !elos !rogramadoresE e Zs .e&es !or analistas de sistemas tam/2mE 2 !resumir Mue todos os usurios so iguais1 _7surio]E como su/stanti.o singularE im!lica Mue o analista ir interagir com a!enas uma !essoaV mesmo Muando 2 Y/.io Mue mais de um usurio est en.ol.idoE eWiste a tendAncia de imagin?los como um gru!o "umano indistinto e sem forma1 Di&er?se Mue um usurio 2 diferente do outro 2E naturalmenteE uma declarao tri.ial1 'imE todos eles tAm diferentes !ersonalidadesE diferen tes eW!eriAnciasE interessesE e assim !or diante1 Mas eWistem algumas im!ortantes diferenas Mue .ocA de.e ter em mente em seu tra/al"o como analista de sistemas1 AMui esto dois modos de classificar os usurios> j !or ti!o de funoE ou !or nX.el de su!er.isoV j !or nX.el de eW!eriAncia com !rocessamento de dados1 @191: A Class dos 7surios !or Ti!o de Funo Em um !roLeto tX!ico de anlise de sistemasE gasta?se um consi der.el tem!o entre.istando usurios !ara esta/elecer os reMuisitos do sistema1 MasE Mue usurios[ De Mue nX.el[ IssoE naturalmenteE de!ende I: do !roLeto e da doutrina da em!resaE mas .ocAE certamenteE .ai interagir com trAs ti!os !rinci!ais de fun0es> usurios o!erati.osE su!eriores e eWecuti.os : 7surios o!erali.os so os funcionrios /urocratasE o!erati.os e administrati.os Mue com mais !ro/a/ilidade tero contato dirio com o no.o sistema Fa menos Mue esteLa sendo construXdo um sistema de a!oio Z decisoE caso em Mue .ocA !ode ter !ouco ou nen"um contato com esse gru!oO1 AssimE em uma grande organi&aoE .ocA !ode aca/ar en tre.istando secretriasE agentes de segurosE guarda?li.rosE des!ac"antes de cargasE !essoal da entrada de !edidos e _assistentes] de todos os taman"osE formas e cores1 8o caso de um sistema de tem!o?realE .ocA falar com usurios o!erati.os cuLos tXtulos sero engen"eirosE fXsicosE o!errios de f/ricasE !ilotosE telefonistas etc1 , trAs coisas Mue .ocA de.e ter em mente Muando tra/al"ar com usurios de nX.el o!erati.o> 91 $s usurios o!erati.os so muito interessados em relao Zs fun0es Mue o sistema eWecutar ? mas eles esto !ro.a .elmente mais interessados nos as!ectos da interface "umana1 $s eWem!los s$> Tue ti!o de teclado terei de usar !ara me comunicar com o sistema[ Ele se !arece com o da mMuina de escre.er Mue .en"o utili&ando " anos[ Tue ti!o de terminal on line ter o sistema[ 'er ofuscante[ E os caracteresE sero fceis de ler[ Como o sistema me a.isar se eu cometer um erro[ Terei de redigitar tudo no.amente[ E se eu Muiser _desfa&er] alguma coisa Mue eu ten"a digitado !ouco antes[ Tuando o sistema !rodu&ir um relatYrio !ara mimE onde ficar a in formao na !gina[ Poderei ter a data e a "ora im!ressas no alto de cada !gina[ E assim !or diante1 Esses so !ro/lemas em relao aos Muais o su!er.isor do usurio de nX.el o!erati.o !ode estar ou no ciente ou interessadoE masE como se !ode imaginarE eles so essenciais !ara o sucesso do sistema e de.em ser tratados 1 Isso Muer di&er MueE como analista de sistemasE .ocA de.e ser autori&ado a se comunicar diretamente com o usurio o!erati.oE ou F/em menos !referX.elO de.e ter muita certe&a de Mue a !essoa Mue fala !elo usurio o!erati.o con"ece esses !ro/lemasE Mue so discutidos detal"adamente como !arte do modelo de im!lementao !ara o usurio no ca!Xtulo :91 :1 $s usurios o!erati.os tendem a ter uma .iso _local] do siste maV tendem ainda a con"ecer a!enas a es!ecXfica tarefa Mue eWecutam e as !essoas com Muem tAm contato direto FclientesE su!er.isoresE colegas etcO1 Por2m eles muitas .e&es no con"e cem /em toda a estruturaE isto 2E eles !odem ter dificuldade em descre.er como suas ati.idades se encaiWam na organi&ao I@ como um todo ou Mual seLa a .erdadeira finalidade d organi&ao1 Isso raramente se de.e Z estu!ide& e geralment reflete uma certa falta de interesse !or !arte deles1 Pode tam/2r ser refleWo do fato de o usurio su!er.isor1 nada l"es ter falad so/re a estrutura geral e !referir Mue eles nada sai/am so/re el 7ma conseMaAncia dessa situao 2 Mue o analista de sistema de.e ser ca!a& de desen.ol.er modelos do sistema Mu !ossi/ilitem tanto as .is0es locais Fdescrio de uma !eMuena detal"ada !arte do sistemaE inde!endentemente das outra !artesO como as .is0es glo/ais F.is0es gerais de alto nX.el di todo o sistemaE e.itando os detal"esO1 @1 $s usurios o!erati.os tendem a imaginar os sistemas em ter mos fXsicosE isto 2E em termos de tecnologia de im!lementa usada correntemente !ara im!lementar o sistema ou em termo da tecnologia Mue eles imaginam Mue !oderia ser utili&ada1 A discuss0es a/stratas so/re _fun0es] e _elementos de dados !odem ser difXceis1 Diante dissoE o analista de sistemas !od ac"ar necessrio con.ersar com o usurio eWclusi.amente c termos Mue l"e seLam familiares1 Em seguidaE como ati.idak se!aradaE o analista !ode tradu&ir essa descrio fXsica !ara un _modelo essencial] ? um modelo do Mue o sistema de.e fa&er no im!ortando a tecnologia em!regada !ara im!lement?lo Isso ser eWaminado mais adianteE no ca!Xtulo 9K1 $s usurios su!ei.isores soE como o termo indicaE em!regado em ati.idades de su!er.iso1 Eles geralmente c"eflam um gru!o d usurios o!erati.os e so res!ons.eis !or seus desem!en"os Fo/.ia menteE !ode?se imaginar mais de um nX.el de usurios su!er.isore em uma grande organi&aoO1 Eles !odem ter o tXtulo de su!er.isore mas tam/2m !odem ter os de gerenteE c"efe de gru!oE c"efe de seo encarregado de setorE maMuinista?c"efe e muitos outros tXtulos1 $ as!ectos im!ortantes a serem lem/rados a res!eito de usurio su!er.isores 'ao> j Muitos deles foram originalmente usurios o!erati.os Mue foran !romo.idos Z atual !osio AssimE eles geralmente con"ecem c ser.io feito !or seus su/o dinados o!erati.osE e !ode?se imagi1 nar Mue "a/itualmente sin !au&em com suas necessidadesE !re ocu!a0es e !ers!ecti.as IssoE no entantoE nem sem!re 2 .er dadeiro1 Como o mercadoE a economia e a tecnologia mudarair muitoE a ati.idade o!erati.a !ode ser "oLe muito diferente dc Mue era :H anos atrs1 IJ j 7ma ra&o !ela Mual o usurio su!er.isor !ode ser .isto como no tendo contato com o usurio o!erati.o 2 Mue ele ou ela 2 muitas .e&es a.aliado e moti.ado !elo desem!en"o em relao a um oramento1 Em face dissoE o usurio su!er.isor est freMaentemente mais interessado em um no.o sistema de infor ma0es !ela !ossi/ilidade de aumentar o .olume de tra/al"o reali&adoE redu&indo o custo de !rocessamento das transa0es e diminuindo os erros no ser.io1 Tam/2m !ode ocorrer ao usu rio su!er.isor Mue um no.o sistema oferecer a o!ortunidade de monitorar o desem!en"o Fe mesmo a ati.idade de cada minutoO de cada usurio o!erati.o1 De!endendo de como isso for im!le mentadoE os usurios o!erati.os !odem ter ou no a mesma !ers!ecti.a do usurio su!er.isor1 j Em .irtude da Anfase na eficiAncia o!erati.a 2 comum o usurio su!er.isor .er o no.o sistema como um meio de redu&ir o n3 mero de usurios o!erati.os F!or dis!ensas ou a !edidoO ou de e.itar no.os aumentos desse n3mero Muando o .olume de ser .io crescer1 Isso no 2 /om nem mauE !or2m 2 muitas .e&es o !onto focal de dis!utas !olXticas acaloradasE em Mue o analista de sistemas freMaentemente se .A en.ol.ido j Por esses mesmos moti.osE o usurio su!er.isor age muitas .e&es como intermedirio entre o analista de sistemas e o usu rio o!erati.oE argumentando Mue os usurios o!erati.os so muito ocu!ados !ara des!erdiar o tem!o con.ersando com o analista1 _Afinal de contas]E dir o usurio su!er.isorE _2 eWa tamente !or estarmos to atarefados Mue !recisamos de um no.o sistema de !rocessamento`] Como 2 fcil imaginarE essa 2 uma !osio muito !erigosaE afinalE 2 o usurio o!erati.o Muem est mais interessado com a iruerface "umana do sistemaE e 2 im!ro..el Mue o usurio su!er.isor seLa ca!a& de com!reender essa necessidade1 j $ usurio su!er.isor muitas .e&es !ensa nos mesmos termos fXsicos Mue o usurio o!erati.o e essa !ers!ecti.a 2 muitas .e&es to local Muanto a desse 3ltimo1 'eria de se es!erarE natu ralmenteE Mue algu2m em nX.el de c"efia !ossuXsse uma .iso mais glo/alV como corolrio 2 !ossX.el Mue o usurio su!er.isor L no se recorde de alguns detal"es da orientao comercial eWecutada !elos usurios o!erati.os1 j Por fimE 2 com o usurio su!er.isor Mue .ocA ter seu !rinci !al contato dirio1 Ele ou ela 2 Muem normalmente define os II reMuisitos e a detal"ada orientao comercial Mue o sistema de .e im!lementar1 Ele ou ela !ode ser um mem/ro !assi.o da eMui!e Fno sentido de sY !artici!ar Muando entre.istado FaOOE um com!onente de tem!o integral ouE at2E como L men cionadoE o gerente do !roLeto1 $s usurios de nX.el eWecuti.o normalmente no esto diretamente en.ol.idos nos !roLetos de desen.ol.imento de sistemasE a menos Mue o !roLeto seLa to grande e to im!ortante Mue .en"a a ter grande im!acto na organi&ao1 8o caso de um !roLeto normalE entretantoE o usurio eWecuti.o est "a/itualmente dois ou trAs nX.eis acima das ati.idades associadas ao !roLeto1 o !ro!oro Mue ti.er contato com eles .ocA !ro.a.elmente desco/rir o seguinte a res!eito deles> j Eles !odem ter a iniciati.a do !roLetoE mas !ro.a.elmente ser.i ro como a autoridade financeira !ara as solicita0es de !roLetos Mue se originem nos nX.eis inferiores da organi&ao1 j Eles normalmente no foram usurios o!erati.os ouE se o ti .erem sidoE foi a tanto tem!o Mue MualMuer eW!eriAncia Mue !udessem ter L est o/soleta1 Dessa formaE eles no es to em !osio de aLudar a definir os reMuisitos do sistema !a ra os Mue realmente o utili&aro diariamente1 A eWceo 2 o sis tema de a!oio Z deciso discutido no ca!Xtulo :V tal sistema se ria normalmente mais utili&ado !elos usurios eWecuti.os e su!er.isores1 j $s usurios eWecuti.os so u!icamente mais interessados nos as!ectos estrat2gicos de lucros e !erdas a longo !ra&o1 Dessa formaE eles normalmente esto menos !reocu!ados com os !ro/lemas o!erati.os como custos redu&idos de transa0es ou a conser.ao de trAs funcionrios /urocratas do Mue com o Mue Paul 'trassman c"ama de ;!agamento da informao] em l'trassmanE 9CDI9 ? isto 2E no.os mercadosE no.os !rodutos ou no.as .antagens com!etiti.as Mue o/tero do no.o sistema1 j $s usurios do nX.el eWecuti.o geralmente esto mais interes sados na .iso glo/al do sistema eE como resultadoE no se in teressam !elos detal"es1 Como L dissemosE isso significa Mue de.emos usar ferramentas de modelagem de sistemas Mue !er mitam oferecer uma .iso geral do sistema !ara os usurios eWecuti.os Fe !ara MualMuer um Mue dela !reciseO e !artes deta l"adas do sistema !ara os usurios o!erati.os Mue seLam os _!eritos locais]1 I< j De modo semel"anteE os usurios do nX.el eWecuti.o so nor malmente ca!a&es de lidar com modelos a/stratos de um sis temaV na .erdadeE L esto "a/ituados a lidar com estes modelos como os modelos financeimsE mercadolYgicosE organi&aciona9 e de engen"aria Fde no.os !rodutosE f/ricasE escritYrios etc1O1 8o estaroE na realidadeE de forma alguma interessados nos modelos _fisicos do sistema] e ficaro imaginando !orMue .ocA os estar a/orrecendo mostrando?l"es todas essas coisas1 *esumindoE .ocA !ode es!erar interagir com trAs diferentes ti!os ou nX.eis de usuriosE como mostrado na figura @191 -em/re?se Mue eles tAm diferentes !ers!ecti.asE diferentes interesses e !rioridades e muitas .e&es diferentes retros!ectos1 Esses trAs ti!os de usurios !odem ser caracteri&ados como mostrado na ta/ela @191 8a discusso anterior sugeri Mue o usurio nem sem!re est satis feito com a !ers!ecti.a de um no.o sistema1 8a realidadeE Zs .e&esE ele se o!0e ati.amente Z id2ia1 Esse muitas .c&es 2 o caso dos usurios o!erati.os FL Mue so os Mue tero dc us?loOE mas a resistAncia tam/2m !ode !ro.ir do usurio su!er.isor Fuma .e& Mue ele ou ela !ode consi derar Mue o sistema ter im!acto negati.o na eficiAncia ou na lucrati.ida de do setor do Mual ele ou ela 2 res!ons.elO ou at2 do usurio eWecuti .o1 Como MarLorie -eeson di& em I-eesonE 9CD9eE $ analista Mue con"ece a moti.ao /sicaE !orMue as !essoas resis tem Zs modifica0es e como elas resistem Zs modifica0esE !ode ser ca!a& de su!erar algumas resistAncias1 A maioria dos li.ros so/re ge rAncia fa& referAncia Z "ierarMuia das necessidades do !sicYlogo A,1 Maslo41 As cinco categoriasE da !rioridade mais /aiWa Z mais ele.adaE 'o> 8ecessidade EWem!los 91 FisiolYgica AlimentaoE .esturio e a/rigo :1 'egurana Proteo contra !erigos e !erda do em!rego @1 'ocial Identificao com !essoas e gru!os J1 Egotista *econ"ecimentoE status e im!ortPncia I1 *eali&ao *eali&ao de todo o !essoal!otencial em criati.idade e dese.ol.imento !essoal Desse modoE se .ocA encontrar alguns usurios a!resentando resis tAncia Z id2ia de um no.o sistemaE .ocA de.e considerar a !ossi/ilidade IK de uma ou mais dessas necessidades no serem satisfeitas1 ^ difXcilE natu ralmenteE Mue um usurio se !reocu!e com o nX.el fisiolYgico de neces sidades mas no 2 a/solutamente sur!reendente desco/rir Mue um usu rio esteLa !reocu!ado com a !erda dc seu em!rego1 E tam/2m 2 comum Mue os usurios F!rinci!almente os o!erati.osO se !reocu!em com Mue o no.o sistema faa com Mue eles no se identifiMuem com seus res!ec ti.os gru!os sociais1 Eles receiam Mue ficaro !resos a um terminal de .Xdeo o dia inteiro e Mue !assaro todo o tem!o interagindo com um com!utador e no com outros seres "umanosE $ usurio o!erati.o Mue se tornou !erito na eWecuo de uma ati.idade de !rocessamento de informa0es de forma manual !ode ac"ar Mue um no.o sistema deiWar Ta/ela @19 CaracterXsticas dos usu rios 7surio $!erati.o 7surio 'u!cr.i1sor 7surio EWecuti.o 8ormalmente tem .iso local Pode ou no ter .iso local Tem .iso glo/al EWecuta a funo do sistema 8ormalmente con"ece a o!erao Tem iniciati.a so/re o !roLeto Tem .iso fXsica do sis tema $rientado !or consi dera0es oramentrias 8o tem eW!eriAncia o!erati.a Muitas .e&es age como intermedirio entre os usurios e os nX.eis mais ele.ados da direo Tem !reocu!a0es estra t2gicas 7surio eWecuti.o 7surio o!erati.o Figura @19> $s trAs ti!os de usu ri os ID suas necessidades ;egotistas] insatisfeitasV e o usurio Mue imaginar Mue o sistema !oder eliminar os as!ectos de sua ati.idade atual tam/2m !ode o!or?se1 @191@ Class dos 7surios !or 8X.el de EW!eriAncia De.eria ser Y/.io Mue usurios diferentes ti.essem nX.eis de eW!e riAncia diferentesV infeli&menteE 2 comum Mue os analistas de sistemas !resumam Mue lodos os usurios seLam com!letos ignorantes em termos de !rocessamento de dados1 Isso tal.e& fosse algo .erdadeiro " de& anos atrsE mas 2 !ro..el Mue l"e trouWesse grandes !ro/lemas na maioria das organi&a0es modernas !ode?se distinguir amadoresE no.atos e um !eMueno F!or2m aumentando ra!idamenteO n3mero de .erdadeiros !eritos em !rocessamento1 $ usurio amador 2 o Mue nunca .iu um com!utador e Mue eWcla ma alta e freMaentemente Mue _no entende nada de com!utadoresl1 Esse usurio muitas .e&es 2 um funcionrio ou comerciante de meia? idade Mue so/re.i.eu alegremente a 9< anos de educao e a outros 9H ou :H anos em um em!regoE antes Mue os com!utadores fossem introdu &idos1 EntretantoE tam/2m 2 comum encontrarmos usurios Lo.ens Mue consideram os com!utadores como tediososE intimidantes ou irrele.an tes em suas .idas1 Isso a!resenta um desafio !ara o analista de sistemas Mue a!recia discutir so/re _acesso on?line] e _dilogos "omem?mMuina orientados !or menu] e outros assuntos afins ? masE se o analista de sistemas fi&er seu se4lo corretamenteE no " moti.os !ara Mue o usu rio de.a ser interessado ou entendido em com!utadores1 8a realidadeE o .erdadeiro !ro/lema com o usurio amador 2 algo mais sutil1 Ele !ode sentir dificuldade em com!reender a _linguageml utili&ada !elo analista de sistemas !ara descre.er os recursosE fun0es e caracterXsticas do sistema a ser construXdoE ainda Mue a linguagem e.ite a terminologia relacionada a com!utadores1 Como .eremos nas !artes II e IIIE a tarefa do analista de sistemas en.ol.e a criao de alguns modelos do sistema a ser construXdo1 Esses modelos so re!resenta0es formais e rigorosas de um sistema de !rocessamento e ao mesmo tem!o so re!re senta0es a/stratas do sistema1 A maioria dos modelos en.ol.e grficos FfigurasO a!oiados !or teWtos detal"ados e a re!resentao geral Fneces sria !ara garantir uma descrio formal e rigorosaO c"oca os usurios com uma matemtica com!leWa e !ortanto ilegX.el1 Esses usurios recor dam a dificuldade em ler a com!leWa notao grfica usada na MuXmica orgPnica ou a notao igualmente com!leWa em!regada no clculo dife rencial e na lge/ra1 TualMuer Mue seLa o moti.oE o resultado 2 o mesmo> longe de entender a terminologia do !rocessamentoE se o usurio no IC com!reender o modelo do sistemaE eWiste !ouca !ossi/ilidade de ficar satisfeito com o sistema Muando ele ficar !ronto 1 7m segundo ti!o de usurio 2 o Mue costumo c"amar de _no.ato arrogante]E !essoa Mue L !artici!ou de um ou dois !roLetos de desen.ol .imento de sistemasE ou F!ior aindaO o usurio Mue tem um com!utador !essoal e Mue escre.eu um ou dois !rogramas em Fug"`O BA'IC1 Esse usurio freMaentemente alardeia Mue sa/e eWatamente o Mue deseLa Mue o sistema faa e est dis!osto a a!ontar todos os erros cometidos !elo analista de sistemas no 3ltimo !roLeto1 Isso tudo 2 YtimoE eWceto !or um detal"e> o usurio muitas .e&es se en.ol.e demais em discuss0es so/re a es!ecXfica tecnologia Mue ser utili&ada na Im!lementao do sistema1 AssimE o usurio !ode di&er ao analista de sistemas> _!reciso de um no.o sistema de !rocessamento de !edidos e gostaria Mue ele fosse construXdo com uma rede local interligando nossos IBM PC e ac"o Mue de.erXamos utili&ar o dBA'E?III ou o PC?F$C7']1 Essas !odem e.entualmente se re.elarem as o!0es t2cnicas mais corretasE mas 2 !rematuro at2 consi derar o "ard4areE a linguagem de !rogramao e os !acotes de /ancos de dados antes Mue os .erdadeiros reMuisitos do sistema ten"am sido documentados1 8a realidadeE no caso eWtremoE a _sugesto] do usurio so/re os adeMuados "ard4are e soft4are !ode se transformar em uma _soluo em /usca de um !ro/lema]E isto 2E a desco/erta Mue eWistem recursos de "ard4are e de soft4are su/? utili&ados Mue !odem ser desti nados a algum outro uso1 EWistemE 2 claroE alguns usurios Mue realmenie con"ecem anlise de sistemasE /em como a su/Lacente tecnologia dos com!utadores Fe tam/2m seu !rY!rio ramo de ati.idadesE naturalmente`O1 ^ um !ra&er tra/al"ar com essas !essoas1 8a .erdadeE o 3nico !ro/lema !ode ser o de Mue o usurio e o analista de sistemas sintam tanto !ra&er em con.er sar so/re as ferramentas e as t2cnicas da anlise de sistemas Mue esMue am Mue o o/Leti.o real 2 a ela/orao de um sistema Mue funcione D` @1: A GE*b8CIA GerAncia 2 um termo /astante .ago1 8a realidadeE o analista de sistemas !ro.a.elmente ter contato com .rios ti!os de gerentes1 Gerentes usurios ? so os gerentes encarregados de .rias !essoas da rea o!erati.a em Mue o no.o sistema ser utili&ado1 Isso L foi discutido anteriormente1 ,a/itualmente so gerentes de nX.el m2dio Mue Muerem sistemas Mue !rodu&am di.ersos relatYrios internos e anlises das tendAncias de curto !ra&o1 $s relatYrios internos geralmente so relatYrios financeirosE o!erau .osE de eWce0esE e assim !or diante1 j Gerentes de PEDG'IG ? as !essoas encarregadas do !roLeto de desen.ol.imento do sistema e os gerentes de nX.el su!erior !reocu!ados com o gerenciamento geral e a alocao de recur sos de toda a eMui!e t2cnica da organi&ao de desen.ol.i mento de sistemas1 j Gerenclamento Geral ? gerentes do nX.el mais ele.ado Mue no esto diretamente en.ol.idos em PED nem na organi&ao usuria1 AX !odem ser incluXdos o !residente eGou o gerente? geral da organi&ao eGou a direo financeira Fo _controiler]E o .ice? !residente de finanas etc1O1 Esses diretores esto normal mente mais interessados nos sistemas de !laneLamento estrat2 gico e de a!oio Z decisoE discutidos no ca!itulo :1 Em/ora a alta direo necessite dos relatYrios financeiros internosE seus mem/ros normalmente no !recisam do nX.el de detal"amento F!rinci!almente na rea de relatYrios de eWce0esO necessrio aos gerentes usurios1 Al2m disso do mais ateno a infor ma0es eWternas> normas go.ernamentaisE relatYrios da com!e tio em seu mercadoE relatYrios so/re no.os mercados e !ro dutosE e assim !or diante1 A !rinci!al interao entre o analista de sistemas e todos esses gerentes tem a .er com os recut Mue sero destinados ao !roLeto1 ^ tarefa do analista de sistemas identificar e documentar os reMuisitos do usurio e as restri0es dentro das Muais o sistema de.er ser construXdo1 Essas restri0es consistem normalmente em recursos> !essoalE tem!o e din"eiro1 AssimE o analista de sistemas e.entualmente !rodu&ir um documento Mue diga> _o no.o sistema dp.e eWecutar as fun0es XE 6 e g e de.e ser desen.ol.ido em seis meses com no mWimo trAs !rograma dores do de!artamento de PED a um custo mWimo de q9HH1HHH]1 $/.iamente a direo .ai eWigir uma !ermanente garantia de Mue o !roLeto de desen.ol.imento do sistema se manter dentro dessas restri 0es ? sem atrasos no cronograma esta/elecido e sem ultra!assar o oramento1 Por2m esses !ro/lemas !ertencem Z gerAncia do !roLetoE e no Z anlise de sistemas 1 $s gerentes de di.ersas reas funcionais diferentes muitas .e&es formam uma comisso de direo Mue aLuda a dar !rioridade a !otenciais !roLetos de desen.ol.imento de modo a Mue os !roLetos mais eficientes em termos de custos seLam eWecutados em !rimeiro lugar1 EWistem alguns as!ectos Mue de.em ser lem/rados so/re gerentes> j j Tuanto mais ele.ado for o nX.el do gerenteE torna?se menos !ro..el Mue con"ea ou se interesse !ela tecnologia do !ro cessamento de dados1 Em/ora isso seLa uma generali&aoE 2 <9 "a/itualmente um !ressu!osto seguro em relao Z atual gerao de gerentes de alto nX.el1 Isso no de.e afet?lo como analista de sistemas Fos !roLetistas de sistemas tAm tarefa mais rdua`OE mas .ocA de.e lem/rar?se de concentrar a discusso nas caracterXsticas essenciais de um sistema ao con.ersar com eles1 j As metas e !rioridades da direo !odem ser conflitantes com as dos usuriosE !rinci!almente os su!er.isores e o!erati.os1 A direo !ode at2 im!or um sistema aos usurios e os forar a utili&?lo F!1eW1E se a em!resa usuria ti.er tido !reLuX&os ou no ti.er !odido reagir a no.as modifica0es do mercadoO1 j 7ma .ariao do tema acima> a direo !ode no conceder os recursosE .er/as ou tem!o Mue os usurios consideram ne cessrios !ara a construo de um sistema eficiente1 ^ con .eniente !ara o analista de sistemas e !ara o usurio res!onder a isso afirmando Mue a direo _no com!reende]E mas isso muitas .e&es 2 uma deciso consciente e calculada1 'e deseLar maiores detal"es so/re a !olXtica de !ro.iso de recursos e es calonamentosE .eLa o a!Andice B1 j $ termo gerAncia FdireoO im!lica em um gru!o "omogAneo de !essoas Mue !ensam do mesmo modo1 A .erdadeE na turalmenteE 2 normalmente muito diferente1 $s gerentes tAm di ferentes .is0es e o!ini0esE e muitas .e&es tAm metas e o/Leti.os muito diferentes1 Eles discutem entre si e com!etem uns contra os outros1 AssimE !ode acontecer Mue alguns mem/ros da di reo seLam fa.or.eis ao no.o sistema enMuanto $utros seLam contrrios1 Pior ainda 2 a omisso Mue !or .e&es so/re.2m em relao a alguns !roLetosV eles finalmente terminam a!Ys anos de lento !rogresso1 j Tam/2m 2 cNmodo !resumir Mue de!ois Mue a direo decidiu? se a res!eito do !roLeto de desen.ol.imento de um sistemaE Mue ele seLa mantido1 Mas nem sem!re 2 assim1 Foras eWternas Z organi&ao !odem fa&er com Mue a direo acelere o cro nograma do !roLetoE retirar recursos deleE ou a/andon?lo1 Isso muitas .e&es causa enormes !ro/lemas aos Mue tra/al"am no !roLetoE inclusi.e .ocAE como analista de sistemas` $ relacionamento entre a direo e o seu !roLeto de desen.ol.i mento de sistemas !ode de!ender muito da estrutura geral da direo de sua em!resaE !rinci!almente o relacionamento entre as ati.idades de desen.ol.imento de sistemas e o resto da organi&ao1 A estrutura <: organi&acional clssica 2 mostrada na figura @1: FaOV o/ser.e Mue o setor de !rocessamento de dados como um todo se re!orta ao setor de fi nanas e conta/ilidadeE $ moti.o !ara isso 2 Mue a maioria das grandes em!resas introdu&iram originalmente os com!utadores !ara auWiliarem a automati&ar suas ati.idades cont/eis Ffol"a de !agamentoE li.ro?ra&o e contas a rece/erO1 A !artir dos anos KHE algumas em!resas comearam a com!reender Mue essa estrutura era um tanto assim2trica1 Ela .irtualmente garantia Mue a funo de !rocessamento de dados seria orientada !ara a!lica0es cont/eis e "a.eria !ouco interesse ou con"ecimento em outros setores da organi&ao1 Tuando as informa0es automati&adas de !rocessamen to comearam a transitar !ela em!resa Fna fa/ricaoE no mar%eting e na engen"ariaOE algumas em!resas adotaram o organograma mostrado na figura @1: F/O1 Com o gru!o de !rocessamento de dados Fou 'IGE como Zs .e&es 2 c"amadoO re!ortando?se diretamente ao !residente da em!re saE torna?se claro !ara todos Mue o !rocessamento de dados 2 to im !ortante !ara a so/re.i.Ancia da em!resa como a fa/ricaoE engen"a riaE .endas etc1 EntretantoE nos anos DHE algumas em!resas comearam a conside rar Mue o setor de 'IG tin"a se transformado em um _im!2rio]E com suas !rY!rias !rioridades e sua !rY!ria !olXtica1 As organi&a0es usuriasE enMuanto issoE desco/riram Mue tin"am uma demanda em !ermanente crescimento !or no.os sistemas a serem desen.ol.idos !elo setor de 'IG m1 Isso coincide com o a!arecimento e r!ida !roliferao dos /aratos e !oderosos com!utadores !essoaisV assimE alguns de!ar tamentos usurios !erce/eram Mue !oderiam desen.ol.er seus !rY!rios sistemasE sem necessitar de uma funo centrali&ada de 'IG1 Como resultadoE algumas em!resas agora tAm uma estrutura como a da figura @1: FcO1 Em/ora continue eWistindo um setor central de 'IG !ara a!lica0es _clssicas]E como fol"a de !agamento e li.ro?ra&oE /oa !arte do !rocessamento de!artamental 2 feito !or gru!os de desen.ol.imento de sistemas dentro dos de!artamentos1 'e .ocA tra/al"a em uma organi&ao caracteri&ada !ela figura @1: FaOE .ocA !oder !erce/er Mue os analistas de sistemas e os usurios em .rios outros setores no so to /ons Muanto de.eriam1 8a .erdadeE 2 !ro..el Mue .ocA descu/ra Mue muitos dos !roLetos de desen.ol.i mento de sistemas so do ti!o _!rocessamento de transa0es] Mue !odem ser encontrados em um de!artamento de conta/ilidade1 'e sua em!resa se !arece mais com a a!resentada na figura @1: F/OE ento " uma /oa !ossi/ilidade de Mue o gru!o de desen.ol.imento de sistemas ten"a uma ra&o.el _.isi/ilidade] !olXtica na organi&ao1 EntretantoE !ode?se !erce/er Mue eWiste uma crescente frustrao relati.a ao /ac%log de no.os sistemas Z es!era de serem desen.ol.idos1 E se .ocA esti.er tra/al"ando em uma organi&ao do ti!o a!resentado na figura @1: FcOE 2 <@ Presidente Figura @1: FaO> 7m organograma ck <J <I Figura @1: F/O> 7m organograma mats atual << Figura @1: FcO> Desen.ol.imento de sistemas no interior dos setores usurios !ro..el Mue .ocA ten"a muito mais contato direto com os usurios de seu sistema ? na .erdadeE .ocA tal.e& trate diretamente com eles1 Tam /2m 2 !ro..el Mue .ocA .en"a a tra/al"ar com com!utadores !essoais e outras !eMuenas redes de sistemas de !rocessamento adMuiridos dire tamente !elo setor usurio1 @1@ A7DIT$*E'E C$8T*$-E DE T7A-IDADE E PAD*$8IgAD$*E' De!endendo do taman"o de seu !roLeto e da nature&a da organi &ao em Mue tra/al"a .ocA !ode ter ou no auditoresE !essoal de controle de Mualidade eGou mem/ros do setor de !adroni&ao !ar tici!ando do !roLeto1 Agru!ei essas !essoas em uma sY categoria !orMue o o/Leti.o e as !ers!ecti.as delas so em geral semel"antesE se no fo rem iguais1 $ o/Leti.o geral dessa "eterogAnea tri!ulao 2 garantir Mue o seu sistema ser desen.ol.ido de acordo com .rios !adr0es eWternos FeWter nos a seu !roLetoO> !adr0es de conta/ilidade desen.ol.idos !elo setor de conta/ilidade de sua em!resaV !adr0es desen.ol.idos !or outros se tores da organi&ao ou !elo clienteGusurio Mue rece/er seu sistemaV e !ossi.elmente !adr0es im!ostos !or di.ersos setores normati&adores go.ernamentais1 EWistem trAs !ro/lemas Mue de.em ser tratados anteci!adamente ao se lidar com auditoresE controladores de Mualidade ou com!onentes do setor de !adroni&ao> 91 Eles muitas .e&es no se en.ol.em no !roLeto at2 Mue esteLa terminado ? de!ois Mue a anlise de sistemasE o !roLeto e a !rogramao ten"am encerrado suas tarefas e ten"a comeado a ati.idade de testes formais1 8esse !ontoE naturalmenteE 2 muito difXcil fa&er grandes modifica0es no sistema1 :1 Eles muitas .e&es esto "a/ituados com uma antiga notao ou formato !ara a documentao dos reMuisitos do sistema F!1eW1> fluWogramasO1 AssimE normalmente 2 im!ortante asse gurar Mue os modelos do sistema Mue .ocA esti.er desen .ol.endo Frecol"a alguns eWem!los no ca!Xtulo JO seLam com!reensX.eis _1 @1 Infeli&menteE os mem/ros desse gru!o esto freMaentemente mais interessados na forma do Mue na su/stPncia> se seus do cumentos no esti.erem eWatamente corretosE !odero ser reLeitados1 <K @1J $ A8A-I'TA DE 'I'TEMA' ^ .oc2i $ analista de sistemas 2 um mem/ro essencial de MualMuer !roLeto de desen.ol.imento de sistemasE e as se0es !recedentes deste ca!Xtulo L l"e deram di.ersos eWem!los de como o analista de sistemas interage com outros !artici!antes do !roLeto1 Em um sentido latoE o analista de sistemas desem!en"a .rios !a!2is> ArMueYlogo e escri/a1 Como analista de sistemas uma de suas !rinci!ais tarefas 2 tra&er Z lu& os detal"es e documentar a orientao comercial Mue !ossa eWistir somente como \folclore tri/al]E !assado de gerao em gerao de usurios1 j Ino.ador1 $ analista de sistemas de.e se!arar os sintomas do !ro/lema do usurio de suas .erdadeiras causas1 Com o seu co n"ecimento da tecnologia do !rocessamentoE o analista de.e auWiliar o usurio a eW!lorar as no.as e 3teis a!lica0es dos com!utadores ? e no.as maneiras !ara o usurio condu&ir seus negYcios1 Em/ora muitos dos !rimeiros sistemas de !rocessa mento a!enas !er!etuaram os negYcios do usurio em .elocidade eletrNnicaE os analistas de sistemas esto sendo "oLe desafiados a auWiliar o usurio a encontrar !rodutos e mercados radicalmente no.os e ino.antesE tornados !ossX.eis com o com !utador1 Ed4ard De Bono em -ateral T/in%ing FIDe BonoE 9CKHeO .ale ser lido !elas interessantes no.as maneiras de !ensar so/re !ro/lemas1 j Mediador1 Como L mencionado neste ca!XtuloE 2 o analista de sistemas Mue muitas .e&es se .A no meio de usuriosE gerentesE !rogramadoresE auditores e .rios outros !artici!antes ? Mue freMaentemente se desentendem entre si1 EWiste a tentao do analista de sistemas tentar im!or sua .iso de como o sistema de.a !arecer ou Mue fun0es ele de.a conter1 Mas a !rinci!al atri/uio do analista 2 o/ter um consensoE o Mue reMuer a deli cada arte da di!lomacia e da negociao` j -Xder de !roLeto1 8o 2 um !a!el uni.ersalE mas ocorre com su ficiente freMaAncia !ara ser mencionado aMui1 Como o analista de sistemas costuma ser mais eW!eriente do Mue os !rograma dores do !roLetoE e como ele 2 designado !ara o !roLeto antes Mue os !rogramadores iniciem o tra/al"oE eWiste uma tendAncia natural !ara atri/uir ao analista as res!onsa/ilidades da gerAncia do !roLeto1 <D Isso significa MueE como analista de sistemasE .ocA !recisa de mais do Mue a!enas a ca!acidade de desen"ar fluWogramas e outros diagra mas t2cnicos= QocA !recisa ter "a/ilidade com as !essoas !ara entre.istar usuriosE mediar desentendimentos e so/re.i.er Zs ine.it.eis /atal"as !olXticas Mue ocorrem em todos os !roLetosE mesmo nos mais tri.iais1 Qo cA !recisa de con"ecimento de a!lica0es !ara com!reender e a!reciar a em!resa do usurio1 QocA !recisa de "a/ilidade em !mcessamento !ara com!reender os !otenciais usos do "ard4are e do soft4are dos com!utadores na em!resa do usurio1 E Fo/.iamenteO .ocA necessita de uma mente lYgica e organi&adaV .ocA !recisa ser ca!a& de .isuali&ar um sistema de .rias !ers!ecti.as diferentesE ser ca!a& de su/di.idi?lo em su/sistemas de .rios nX.eis e de !ensar em um sistema em termos a/stratos e fisicos 9: 8ingu2m disse Mue era uma tarefa fcil` @1I P*$RETI'TA' DE 'I'TEMA' Como ficou im!lXcito em nossas discuss0es anterioresE o !roLetista de sistemas 2 a !essoa Fou gru!o de !essoasO Mue rece/e a saXda de seu tra/al"o de anlise de sistemas> a tarefa dele 2 transformar uma lista isenta de tecnologia dos reMuisitos do usurio em um !roLeto arMuitetural de alto?nX.el Mue fornecer a estrutura com a Mual os !rogramadores !odero tra/al"ar1 A nature&a dessa ati.idade 2 discutida no ca!Xtulo ::1 Em muitos casosE o analista de sistemas e o !roLetista so a mesma !essoaE ou mem/ros do mesmo gru!o unificado de !essoas1 Mesmo Mue seLam !essoas diferentesE 2 im!ortante !ara o analista e o !roLetista de sistemas !ermanecerem em estreito contato durante todo o !roLeto1 $ moti.o disso 2 a realimentao Mue ocorre entre a anlise e o !roLeto de sistemas> o analista de sistemas de.e fornecer informa0es suficiente mente detal"adas !ara Mue o !roLetista ela/ore um !roLeto tecnologica mente /omE e o !roLetista de sistemas de.e fornecer informa0es sufi cientemente acuradas !ara Mue o analista de sistemas !ossa di&er se os reMuisitos do usurio Mue ele ou ela est documentando so tecnologica mente .i.eis1 Fundamentando?se nas informa0es rece/idas do !roLetis ta de sistemasE o analista !ode ter de negociar com o usurio !ara mo dificar seus reMuisitos1 @1< P*$G*AMAD$*E' Pode?se argumentar Mue no mel"or dos mundos no "a.eria con tato entre o analista de sistemas e o !rogramador1 Princi!almente nos grandes !roLetos de desen.ol.imento de sistemasE os !roLetistas se <C assemel"am a um _/uffer] entre os analistas de sistemas e os !rogramadoresV isto 2E os analistas de sistemas entregam seus !rodutos Flistas dos reMuisitos do sistemaE inde!endentes da tecnologiaO aos !roLetistas de sistemas MueE !or sua .e&E entregam seus !rodutos Fuma descrio arMuitetural dos com!onentes dc "ard4are e soft4are Mue sero utili&ados !ara im!lementar o sistemaO aos !rogramadores1 EWiste uma outra ra&o !ara Mue o analista de sistemas e os !rogra madores ten"am !ouco ou nen"um contato entre 'i> $ ser.io 2 muitas .e&es eWecutado de maneira estritamente seMaencial em muitos !roLetos de desen.ol.imento de sistemas _1 Desse modoE a tarefa de anlise de sistemas 2 iniciada antes e 2 totalmente eWecutada antes Mue a tarefa de !rogramao comece1 Isso significa Mue o analista de sistemas ter mina seu tra/al"o e tal.e& L ten"a sido designado !ara um no.o !roLe to antes Mue o !rogramador seMuer ten"a iniciado sua !artici!ao no !roLeto1 EntretantoE 2 !ro..el Mue "aLa algum contato entre os !rograma dores e os analistas de sistemas !elas seguintes ra&0es> j Em !eMuenos !roLetosE as tarefas de anliseE !roLeto e !rograma o so com/inados eE assimE !ode acontecer de uma !essoa fa&er o ser.io de anlise e de !roLeto de sistemas e continuar interagindo com o !rogramador1 Pode tam/2m acontecer de uma !essoa desem!en"ar fun0es do !roLetista de sistemas e do !rogramador1 j $ analista Zs .e&es ser.e como gerente do !roLetoE de modo MueE mesmo tendo terminado a tarefa de es!ecificar os reMuisi tos do sistemaE ainda continuar en.ol.ido no !roLeto e ter algum contato com os !rogramadores1 j Muitas .e&es 2 o !rogramador Muem desco/re erros e am/igai dades na _lista de reMuisitos] !rodu&ida !elo analista de sis temasE !orMue ele est !rogramando ondeE como di& meu co lega 'cott Gut"er#> _o !neu toca a estrada]E onde uma lista mal feita do Mue o sistema de.e fa&er torna?se um conLunto de co mandos C$B$- es!ecXficos e detal"ados1 'e esti.er faltando alguma coisaE ou se "ou.er algo errado ou confusoE o !rograma dor tem duas o!0es> !edir ao analista de sistemas mel"ores esclarecimentos ou !erguntas ao usurio 1 j Como dissemos n= ca!Xtulo :E muitas em!resas esto come ando a !erce/er Mue 2 necessrio su/stituir os sistemas o!era ti.os Mue foram consti " :H anos1 8a imensa maioria desses !roLetos de redesei1 ol.imento !raticamente no " KH documentao Mue descre.a como o sistema funcionaE ou Fainda mais im!ortante`O o Mue se imagina Mue o sistema faa1 E como os sistemas L tAm :H anosE L eWiste toda uma no.a gerao de usurios en.ol.idosV os usurios Mue esta.am mi cialmente en.ol.idos na es!ecificao dos reMuisitos do sistema L se a!osentaram ou mudaram de em!rego e a no.a gerao de usurios tem a!enas uma !eMuena id2ia dos detal"ados reMuisi tos normati.os em/utidos no sistema1 8esse momentoE todas as aten0es se .oltam !ara o !rogramador de manutenoE Mue tem feito o sistema continuar funcionando nos 3ltimos anosV essa !essoa 2 tam/2m !ro.a.elmente um funcionrio da segun da ou terceira geraoE no tendo tido MualMuer contato com os !roLetistas e !rogramadores Mue construXram originalmente o sistema` Como afirma 8ic"olas g.egint&o. Fautor do artigo 'oft 4are Maintenance 8e4sO> At2 o !resente momentoE o !rinci!al !rofissional da com!utao era algu2m Mue !odia a!render o suficiente so/re as necessidades das em!resas !ara eW!ress?las na linguagem dos com!utadores1 8o futuroE Muando nossa sociedade tornar?se irre.ersi.elmente com!u tadori&adaE o !rinci!al !rofissional ser algu2m Mue !ossa a!render o suficiente so/re sistemas com!utadori&ados !ara eW!ress?los em linguagem "umana1 'em essa !essoaE teremos !erdido o controle de nossa sociedade1 Esse algu2m 2 o engen"eiro Zs a.essas1 $s man tenedores de soft4are so os engen"eiros Zs a.essas da sociedade1 j Algumas organi&a0es esto cotneando a modificar suas eMui !es de !roLeto da estrutura .ertical !ara uma "ori&ontal1 A dis tri/uio tX!ica de res!onsa/ilidade FMue 2 !ressu!osta em todo este li.roO atri/ui todas as tarefas de anlise de sistemas a uma !essoa Fou gru!o de !essoasOV de modo semel"anteE todas as tarefas de !roLeto so atri/uidas ao !roLetista e todas as ati.ida des de !rogramao so entregues ao !rogramador1 Tuando se adota essa a/ordagem !arece de fato Mue os analistas de sis temas e os !rogramadores tAm !ouco contato entre si1 Por2m algumas organi&a0es comeam a !erce/er Mue eWiste um con flito inerente a essa a/ordagem> os analistas de sistemas soE de "/itoE !essoas mais antigas e mais eW!erimentadas dentro da organi&ao eE mesmo assimE so solicitados a eWecutar no a!e nas a lista conceitual de alto nX.el dos reMuisitos do sistemaE mas tam/2m os detal"es elementares de nX.el inferior dos reMuisitos do usurio1 Igual conflito eWiste entre os !rogramadores Mue ti !icamente so mais Lo.ens e menos eW!ericntes 7ma soluo 2 dar ao !essoal t2cnico _sAnior] FcuLo titulo 2 o de analistas de K9 sistemasO todas as ati.idades de alto nX.el> anlise de sistemas de alto nX.elE !roLetos de alto nX.el e a cod dos mYdulos de nX.el su!erior do sistemaV de modo anlogoE ao !essoal t2cnico de nX.el ;L3nior] so dadas atri/ui0es de detal"es de nX.el infe rior na rea da anlise e na rea de !roLeto e na da !rogramao1 Tuando essa a/ordagem 2 seguidaE os analistas de sistemas e os !rogramadores !ermanecem em estreito contato durante todo o !roLeto1 8a realidadeE cada um deles eWecuta !arte do tra/al"o originalmente feito !elo outro1 Este assunto ser no.amente discutido no ca!Xtulo :@1 @1K PE''$A- DE $PE*A(rE' Assim como algu2m !oderia argumentar Mue o analista de sistemas nunca teria contato com o !rogramadorE !oder?se?ia afirmar Mue o ana lista de sistemas no !recisa ter MualMuer interao com o !essoal de o!era0esE Mue 2 res!ons.el !elo centro de !rocessamentoE !ela rede de telecomunica0esE !ela segurana do "ard4are e dos dados do com !utadorE /em como !ela eWecuo dos !rogramasE !ela montagem dos dis%!ac%s e !ela mani!ulao da saXda das im!ressoras1 Tudo isso acon tece de!ois Mue um no.o sistema foi no somente analisado e !roLetadoE mas tam/2m !rogramado e testado1 EntretantoE " mais so/re isso do Mue se !ode .erE $ analista de sistemas de.e con"ecer algumas das restri0es im!ostas a um no.o siste ma !elo !essoal de o!era0esE !orMue isso de.e fa&er !arte da es!ecifi cao detal"ada !rodu&ida !elo analista de sistemas1 Isto 2E o analista de sistemas !ode !rodu&ir um documento Mue diga> ;o no.o sistema de !edidos de.e ser ca!a& de eWecutar as fun0es XE 6 e g eE !ara se ada!tar aos reMuisitos do De!artamento de $!era0esE ele de.e ocu!ar no mais Mue 9< mega/#tes de memYria do com!utador de grande !or te1 $ sistema de.e ser im!lementado com utili&ao de terminais IBM @:KH comuns interligados Z rede de telecomunica0es X6g da em!resa]1 Em alguns casosE os detal"es o!eracionais do sistema !odem ser uma Muesto de negociao entre o usurio e o gru!o de o!era0es do com!utador central1 Isso 2 !articularmente comum "oLeE Muando os usurios muitas .e&es esto em situao de !oderem adMuirir seus !rY !rios com!utadores !essoais ou minicom!utadores de taman"o adeMua do !ara de!artamentos1 Em/ora muitos desses com!utadores !ossam ser o!erados !elo !essoal /urocrata ou administrati.o da organi&ao usuria F!ortanto no !recisando dos talentos es!eciali&ados do !essoal de o!era0esOE e em/ora muitos desses com!utadores !ossam funcionar no am/iente de um escritYrio normal Fno !recisando da fiao es!ecial e do eMui!amento de ar condicionado tX!ico dos mainframesOE ainda 2 K: .erdade Mue essas !eMuenas mMuinas tero de se comunicar com o mainframe F!1eW1E !ara descarregar !arte de um /anco de dados com/inadoE ou !ara transferir os resultados do !rocessamento de!arta mentalOE e 2 muitas .e&es .erdadeiro Mue os !eMuenos PC Fcom !utadores !essoaisO eGou minicom!utadores !recisam se comunicar uns com os outros atra.2s de uma rede local ou de algum dis!ositi.o de telecomunica0es1 Tudo isso normalmente en.ol.e interao com o !essoal de o!era0esV somente um sistema _stand alone] realmente inde!endente !ode ser construXdo sem a assistAncia e a!ro.ao daMuele !essoal1 Esses !ro/lemas o!eracionais so documentados em uma !arte do esforo de anlise de sistemas con"ecida como modelo de im!lemen tao do usu Isso ser .isto detal"adamente no ca!itulo :91 @1D *E'7M$ Como .imos neste ca!XtuloE o analista de sistemas 2 um orMuestra? dorE um comunicador e um facilitador1 Ficar e.idente nas !artes II e III Mue o analista de sistemas eWecuta um grande .olume de tra/al"o !or ele mesmoE !or2m ainda mais esforo 2 feito em "armonia com os ou tros !artici!antes do Logo de sistemas1 Como analista de sistemasE Muan to mais .ocA sou/er a res!eito das !essoas com Muem .ocA .ai tra/al"arE mel"or .ocA se sair1 Todos os !artici!antes so !essoas e elas tAm diferentes metasE di ferentes !rioridades e diferentes !ers!ecti.as1 Em/ora elas !ossam estar com!rometidas com o sucesso do !roLetoE eles !odem ter !reocu!a0es ocultas Mue se o!0em a um ou mais as!ectos desse !roLeto1 As !erguntas e eWercXcios no final deste ca!Xtulo destinam?se a fa&er .ocA !ensar um !ouco mais so/re esses as!ectos1 QocA de.e con sultar tam/2m o eWcelente li.ro de Bloc% so/re a !olXtica de !roLetos FiBioc%E 9CD:D ou at2 o clssico li.ro de 'un T&u so/re a arte da guerra d 9CD@e1 *EFE*b8CIA' 91 Paul 'trassmanE Information Pa#off 8o.a lorMue> Free PressE 9CDI1 :1 *o/ert Bloc%E T"e Politics of ProLecis1 8o.a lorMue> 6$7*D$8 PressE 9CD:1 @1 Alan BrilIE BuildinD Controis mio 'tructured '#stems1 8o.a lorMue> 6$7*D$8 PressE 9CD:1 J1 'un T&uE T"e A of 5ar1 8o.a lorMue> Delacorte PressE 9CD@1 K@ I1 Ed4ard De BonoE -ateral fl 8o.a lorMue> Penguin Boo%sE 9CKH1 <1 MarLorie -eesonE '#stems Anal#ss and Desi C"icago> 'cience *esearc" AssociatesE 9CD91 K1 -a.ette C1 TeagueE Rr1E e C"risto!"er PidgeonE 'tructured Anal#sis Met"ods for Com!uter Infonnation '#stems1 C"icago> 'cience *e searc" AssociatesE 9CDI1 PE*G78TA' E EXE*CcCI$' 91 IndiMue !elo menos um !artici!ante adicionai com Muem .oce es!era interagir em um !roLeto de desen.ol.imento de sistemas1 :1 Descre.a um !roLeto no Mual o analista de sistemas no te.e conta to direto com o .erdadeiro usurio1 Tuais foram as .antagens e des.antagens dessa situao[ Tue arranLos alternati.os foram feitos[ @1 QocA !ode citar algum outro termo !ara usurio al2m de !ro!rie trio ou cliente[ J1 QocA !ode imaginar alguma situao em Mue o analista de sistemas no de.esse falar com o usurio[ I1 Tuais so as .antagens e des.antagens de o usurio ser um mem /ro em tem!o integral da eMui!e de !roLeto de desen.ol.imento de um sistema[ QocA !ode imaginar alguns !roLetos es!ecXficos em Mue seria !articularmente recomend.el Mue o usurio !artici!asse da eMui!e de !roLeto[ <1 Tuais so as .antagens e des.antagens de o usurio ser o gerente da eMui!e de !roLeto de desen.ol.imento de um sistema[ QocA !ode imaginar alguns !roLetos es!ecXficos em Mue seria !articular? mente recomend.el Mue o usurio gerenciasse o !roLeto[ K1 Tuais so as .antagens e des.antagens de o !rY!rio usurio desen .ol.er inteiramente um sistema de informa0es[ QocA !ode imagi nar alguns !roLetos em Mue seria !articularmente recomend.el Mue o usurio fosse o analistaE o !roLetistaE o !rogramador e o gerente[ D1 Tual o con"ecimento Mue o usurio de.e ter so/re com!utadores e so/re soft4are !ara !oder !artici!ar de uma eMui!e de !roLeto durante a fase de anlise[ Tual o con"ecimento Mue ele de.e ter a res!eito das ferramentas e t2cnicas da anlise de sistemas[ C1 Tual o con"ecimento Mue o usurio de.e ter so/re com!utadores e so/re soft4are !ara !oder gerenciar uma eMui!e de !roLeto de desen.ol.imento de sistema[ Tual o con"ecimento Mue ele de.e ter a res!eito da anlise de sistemas !ara !oder ser um eficiente gerente[ KJ 9H1 Tual o con"ecimento Mue o usurio de.e ter so/re com!utadores e so/re soft4are !ara !oder desen.ol.er !or ele mesmo todo o !roLeto de desen.ol.imento de um sistema[ Tual o con"ecimento Mue ele de.e ter so/re anlise de sistemas[ 991 Tue !recau0es es!eciais .ocA tomaria como analista de siste mas se .ocA no ti.esse contato direto com o usurio[ QocA ac"a Mue as ferramentas de modelagem descritas neste li.ro seriam suficientes[ 9:1 A seo @191: relaciona di.ersas !reocu!a0es Mue o usurio o!e rati.o !oderia ter com um no.o sistema1 A!resente mais trAs !ro. .eis as!ectos com Mue ele !ode se !reocu!ar1 QocA ac"a Mue essas !reocu!a0es so ra&o.eisE ou elas a!enas refletem o tX!ico des con"ecimento do usurio so/re com!utadores[ 9@1 Tue res!onsa/ilidade 2tica ou moral tem o analista de sistemas em relao ao usurio o!erati.o se ele esti.er con.encido de Mue no "a.er dis!ensas de em!regadosE mas o usurio est !reocu!ado com Mue "aLa[ FQeLa tam/2m a !ergunta 9CO1 9J1 Descre.a as circunstPncias em Mue os usurios o!erati.os !ode riam causar o fracasso de um no.o sistema1 QocA ac"a Mue essas circunstPncias so realistas[ $ usurio su!er.isor no !oderia sim !lesmente determinar Mue o sistema fosse utili&ado[ 9I1 Tuando .ocA ac"a Mue os !ro/lemas da interface "umana de.em ser discutidos com os usurios[ -ogo no inXcio do !roLeto[ Mais tarde[ $ Mue de.eria ser negociado[ FQocA !ode consultar o ca!Xtu lo :9E se o deseLarO1 9<1 QocA ac"a Mue no 2 .erdadeiro Mue os usurios o!erati.os te n"am a!enas uma .iso local do sistema do Mual !artici!am[ QocA ac"a Mue 2 seguro !ara o analista de sistemas considerar is so como correto[ QocA ac"a Mue essa 2 uma /oa situao[ De.e o analista de sistemas tentar dar uma .iso glo/al aos usurios o!erati.os[ 9K1 DA um eWem!lo de uma .iso fXsicaE ou orientada !ara a im!le mentaoE de um sistemaE Mue um usurio o!erati.o !ode ter1 QocA .A algum !ro/lema nisso[ 9D1 $ Mue de.e fa&er o analista de sistemas se o usurio su!er.isor no deiWar Mue ele se diriLa diretamente aos usurios o!erati.os[ Como o analista de sistemas de.e enfrentar tal situao[ 9C1 Tue res!onsa/ilidade moral ou 2tica tem o analista de sistemas com o usurio su!er.isor se os usurios o!erati.os demonstrarem !reocu!ao com !ossX.eis demiss0es causadas !elo no.o siste ma[ FQeLa tam/2m a !ergunta 9@O1 :H1 DA um eWem!lo de um sistema onde o usurio su!er.isor !ode no estar familiari&ado com os detal"es !olXticos da em!resa Mue so !resentemente eWecutados !elos usurios o!erati.os1 KI :91 Por Mue os usurios de nX.el eWecuti.o normalmente no se inte ressam ou se !reocu!am com a !ossX.el economia a ser o/tida com a reduo do !essoal F!or dis!ensas ou demiss0es a !edidoO tornada !ossX.el com o no.o sistema[ ::1 Tual o grau de en.ol.imento Mue os usurios de nX.el eWecu ti.o de.em ter no desen.ol.imento de um no.o sistema de informa0es[ :@1 Tue o!0es tem o analista de sistemas se o usurio no entende modelos a/stratos em !a!el[ :J1 Como o analista de sistemas de.e lidar com os no.atos descritos neste ca!Xtulo[ E se o usurio insistir em uma determinada o!o de "ard4are ou soft4are !ara o no.o sistema[ :I1 Tue res!onsa/ilidade tem o analista de sistemas em conseguir o consenso entre os usurios[ E se ele fal"ar nesse as!ecto[ :<1 Tuais os riscos enfrentados !elo analista de sistemas em relao Z direoE como .imos na seo @1:[ $ Mue !ode ser feito !ara diminuir esses riscos[ :K1 $ Mue de.e fa&er o analista de sistemas se as metas e !rioridades da direo forem conflitantes com as do usurio[ :D1 TuandoE na sua o!inioE o !essoal de o!era0es de.e se en.ol.er no !roLeto[ :C1 A anlise e o !roLeto de sistemas Fe tam/2m a !rogramaoO de.em ser desem!en"adas !ela mesma !essoa Fou !or um gru!o coeso de !essoasO[ Tuais so as .antagens e des.antagens[ 8$TA' 9 7ma situao desse ti!o ocorre comumente com o agente contra tante de uma em!resa go.ernamental1 8a maioria dos casosE essa !essoa no 2 o usurio e !ode no sa/er muito a res!eito das reais necessidades deleE mas ele ou ela 2 a !essoa designada !ara man ter toda a comunicao oficial com o desen.ol.edor ou com a em!resa desen.ol.edora do sistema1 : EWistem .aria0es desta terminologiaV FTeague e PidgeonE 9CDI9E !or eWem!loE referem?se tam/2m ao ;usurio /eneficiadolE Mue 2 o Mue rece/e os /eneficios do no.o sistema1 Essa !essoa !ode no ter MualMuer contato direto com o sistemaE mas se /eneficiar de algum modo com1 a mel"ora do ser.io ou com a funcionalidade do no.o sistema1 @ EWistem !ro/lemas relacionados Mue enfau&am o fato de Mu2 o no.o sistema seLa !arte de um sistema maiorE $ usurio !ergunta r> _ser Mue ficarei cansado ou .ou adMuirir tendinite !or ficar sentado frente a um terminal o dia inteiro[]V _de.o me !reocu!ar K< com a emanao de radiao da tela do monitor[]V _e se eu no sou/er digitar[]V eE ainda mais im!ortanteE \e se esse no.o sistema eWecutar o meu ser.io e me fi&er !erder o em!rego[ J 8o caso eWtremoE isso tam/2m significa Mue so os usurios o!era ti.os Mue !odem iniciar ou !arar um no.o sistema1 Eles !odem !arecer !assi.os e tal.e& no dis!on"am de !oder ou autoridade !ara a!ro.ar o !roLeto de desen.ol.imento de um sistemaE mas se eles o sa/otarem ou sim!lesmente no o utili&aremE o no.o sistema ter fracassado1 I $/ser.e Mue essa 2 uma caracterXstica dos sistemas o!erati.os Fcomo o termo foi definido no ca!Xtulo :OE mas geralmente no 2 uma caracterXstica dos sistemas de a!oio Z deciso1 $/ser.e ainda Mue a alta direo est "a/itualmente mais interessada nos sistemas Mue !ro!orcionaro .antagem com!etiti.a do Mue com os Mue redu&em a eMui!e o!erati.a a uma ou duas !essoas1 < Mesmo Mue todos os usurios Mue .ocA encontrar no con"eam ou no se interessem !ela tecnologia do !rocessamento de dadosE .ocA de.e e.itar o erro comum de trat?los como uma forma su/? "umana de .ida1 $s Lo.ens analistas de sistemas e !rogramadoresE !rinci!almente os no.atos Mue comearam a /rincar com com!uta dores Muando esta.am no !rimrioE !resumem Mue todos de.em ser fascinados e "/eis com com!utadoresE e Mue os Mue no so assim de.em ser ou deficientes mentais ou !ertencentes a uma gerao antiga e !ortanto no merecedora de MualMuer res!eito e considerao1 8o entanto o mundo est c"eio de usurios Mue no gostam de com!utadores !or .rios e legXtimos moti.os e " usu rios Mue esto ocu!ados demais como !er7os em suas !rY!rias !rofiss0es ou negYcios !ara se !reocu!arem em se tornarem !eritos em com!utadores1 Eles tAm so/re !rogramadores e analistas de sistemas a mesma o!inio Mue tAm de eletricistasE car!inteirosE encanadores e mecPnicos de automY.eis> um saud.el res!eito !ela !erXcia e "a/ilidade !rofissional eWigida !elo ser.ioE mas uma total falta de interesse !elos detal"es1 A com!reenso deste as!ecto irE em muitos casosE determinar se .ocA ter sucesso ou fracassar em seus !rinci!ais !roLetos como analista de sistemas1 K 7ma analogia> se .ocA Muisesse mandar construir uma casaE .ocA comearia !or con.ersar com um arMuiteto so/re as deseLadas ca racterXsticas da casa1 De!ois de muita discussoE o arMuiteto iria !ara seu escritYrio e de!ois e.entualmente l"e a!resentaria alguns desen"os eGou modelos em escala da casa1 'e .ocA se recusasse a eWaminar os desen"os ou o/Letasse serem eles ;muito matemti cos]E as !ossi/ilidades de sucesso do arMuiteto seriam /em redu&i das1 $ Mue .ocA !oderia fa&er era condu&ir o arMuiteto a uma casa R eWistente e di&er> _faa?me uma casa como esta`]1 Infeli&menteE KK dificilmente !odemos fa&er isso na rea do !rocessamento de da dos eE !or causa dissoE a !rotot 2 !or .e&es um modo .i.el de se o/ter a mesma coisa1 D ^ tam/2m encoraLador .er?se Mue mais e mais desses _!eritos] es to se transferindo !ara !osi0es de alta direo de em!resas co merciais e de liderana em outros setores da sociedade1 $ Cit#/an% e a American AirlinesE !ara no mencionar .rias em!resas de !rocessamento e outras de alta?tecnologiaE so dirigidas !or !es soas Mue galgaram essa !osio .indo dos Muadros do !rocessa mento de dados eE em meados da d2cada de DHE "a.ia cerca de meia?d3&ia de mem/ros do Congresso Mue tin"am sido original? mente !rogramadores e analistas de sistemas1 C EntretantoE Zs .e&es o analista de sistemas est muito en.ol.ido na gerAncia do !roLeto1 Discutiremos esse as!ecto com mais detal"es no ca!Xtulo 9< e no a!Andice B1 9H Estudaremos mais detal"adamente o /ac%log de a!lica0es no ca!Xtulo <1 99 EntretantoE !elo menos em alguns casosE isso est se modificando1 Por eWem!loE muitas das D grandes firmas de conta/ilidade nos Estados 7nidos esto agora inteiramente familiari&adas com as fer ramentas de documentao de anlise estruturada descritas neste ca!XtuloV assimE elas no de.em ter !ro/lemas em !artici!ar de um dos seus !roLetos como auditor1 9: 8a realidadeE 2 !or causa dessa necessidade de con"ecimento em muitas reas Mue a maioria dos cientistas do !rocessamento de da dos considera Mue a inteligAncia artifical e os sistemas es!ecialistas no !odero ser a!licados Z anlise de sistemas !or mais alguns anos ainda1 Este assunto tam/2m 2 a/ordado no ca!Xtulo :I1 9@ Discutiremos algumas alternati.as a essa a/ordagem seMaencialE !rinci!almente as con"ecidas como desen.ol.imento e.oluti.oE ou _fast trac%ing]E no ca!Xtulo I1 8a realidadeE em alguns !roLetos a anlise de sistemas continua em andamento Luntamente com a !rogramao1 9J 8a realidadeE o contato direto entre o !rogramador e o usurio 2 mais comum do Mue .ocA !ode imaginar1 Em muitos casosE o ana lista de sistemas no se esfora em escre.er os detal"es do nX.el inferior do sistemaE e os usurios de alto nX.el com Muem o analista de sistemas se comunica !odem descon"ecer ou estar desinteressa dos nesses detal"es1 AssimE muitas .e&es acontece de o !rograma dor !recisar falar diretamente ao usurio de /aiWo nX.el !ara des co/rir eratamente o Mue o sistema de.e fa&er1 Isso 2 im!ortanteE !orMue muitas em!resas de!loram o fato de Mue IHf de seus !ro Letos de desen.ol.imento de sistemas so des!endidos em testesV na .erdadeE !ode ser Mue o tra/al"o Mue esteLa em andamento so/ KD o tXtulo oficial de testes seLamE de fatoE tarefas de anlise de siste mas Mue !oderiam Fe !ro.a.elmente de.eriamO ter sido eWecutadas mais cedo1 KC J FE**AME8TA' DA A8+,'E E 'T*7T7*ADA A 8ature&a tem algum ti!o de sistema coordenado aritm2tico? geom2tricoE !orMue ela tem todas as es!2cies de modelosE $ Mue con"e cemos da nature&a est em modelosE e todos os modelos da nature&a so muito /elosE $ Mue me sur!reende 2 Mue o sistema da nature&a seLa de uma /ele&a fracionriaE !orMue em MuXmica consideramos Mue as asso cia0es so sem!re em /elos n3meros inteiros ? no e1W fra0es1 *1 Buc%minster FuilerE em _In t"e $utla4 Area> !rofile /# Cal.in Tom!%ins]E T"e 8e4 6or%erE D de Laneiro de 9C<< $ "omem 2 um animal utili&ador de ferramentas 111 'em ferramentas ele no 2 nadaE com ferramentas ele 2 tudo1 T"omas Carl#leE 'artor *esartusE -i.ro 9E Ca!Xtulo J 8este ca!XtuloE a!renderemos> 91 Para Mue um analista de sistemas usa ferramentas de modelagem1 :1 A nature&a e os com!onentes de um diagrama de /anco de dados1 @1 $s com!onentes de um dicionrio de dados1 J1 $s com!onentes de uma es!ecificao de !rocessos1 I1 Como modelar dados arma&enados e relacionamen tos de dados1 <1 Como modelar o com!ori1amcnto tem!o?de!endente de um sistema1 K1 Como modelar a estrutura de um !rograma1 D9 A maior !arte do tra/al"o Mue .ocA ir fa&er como analista de sistemas en.ol.e a modelagem do sistema Mue o usurio deseLa1 Como .eremos neste ca!XtuloE e em maiores detal"es na !arte IIE eWistem mui tos diferentes ti!os de modelos Mue !odemos desen.ol.er ? assim como eWistem muitos modelos diferentes Mue um arMuiteto !oder usar na construo de uma no.a casa1 $s modelos de anlise de sistemas discutidos neste li.ro soE na maior !arteE modelos de !a!el de sistemas? em?serE isto 2E re!resenta0es a/stratas daMuilo MueE e.entualmenteE se tornar uma com/inao de "ard4are e soft4are de com!utadores1 $ termo modelo !ode soar um tanto formal e amedrontadorE !o r2mE re!resenta um conceito Mue .ocA tem usado !or Muase toda a sua .ida1 Considere os seguintes ti!os de modelos> j Ma!as> modelos /idimensionais do mundo em Mue .i.emos1 j Glo/os> modelos tridimensionais do mundo em Mue .i.emos1 j FluWog ramas> *e!rescnta0cs esMuemticas dc decis0es e se MaAncia de ati.idades !ara eWecuo dc algum !rocedimento1 j Desen"os arMuitetNnicos> *e!resenta0es esMuemticas de um edifXcio ou de uma !onte1 j Pautas musicais> *e!resenta0es grficasGteWtuais das notas mu sicais e tem!o de uma !ea musical1 Em/ora .ocA no sai/a como inter!retar o modelo arMuitetNnico mostrado na figura J19E o conceito de tal modelo no de.er assust?lo1 8o 2 muito difXcil imaginar Mue se !ode a!render a ler e a com!reender tal modeloE mesmo Mue .ocA no !retenda criar algum1 'imilarmenteE .ocA !ro.a.elmente ainda no sa/e como inter!retar muitos dos mode los usados !elos analistas de sistemasE mas sa/er como lA?los e cri?los no final deste li.ro1 $s usurios com Muem .ocA tra/al"a certamente estaro a!tos a inter!retar os modelos Fcom uma !eMuena assistAncia inicialO e de.eroE tam/2mE ser ca!a&es de cri?los1 Por Mue de.emos construir modelos[ Por Mue no /asta a!enas construir o sistema[ A res!osta 2 Mue !odemos construir modelos de maneira a realar ou enfati&arE certos recursos decisi.os de um sistemaE enMuantoE simultaneamenteE relegamos outros as!ectos do sistema1 Isto !ermite Mue nos comuniMuemos com o usurio de uma maneira claraE sem nos distrairmos !elos as!ectos e caracterXsticas do sistema Mue consideramos irrele.antes1 EE se a!rendermos Mue o nosso con"eci mento so/re os reMuisitos do usurio esta.a incorreto Fou Mue o usu rio mudou de o!inio so/re elesOE !odemos modificar o modelo ou D: a/andon?lo e construir um no.oE se necessrio1 A alternati.a 2 enta /ular algumas discuss0es iniciais com o usurio eE em seguidaE construir o sistema inteiroV o riscoE certamenteE 2 Mue o !roduto final !ode ser ina ceit.el e !ode ser eWtraordinariamente caro modific?lo nessa altura1 EntoE o analista de sistemas usa ferramentas de modelagem !ara> j Focali&ar a ateno nas caracterXsticas im!ortantes do sistemaE dando menos ateno s menos im!ortantes1 j Discutir modifica0es e corre0es nos reMuisitos do usurio com /aiWo custo e mXnimo risco1 j Qerificar se o analista de sistemas con"eceE corretamenteE o am/iente do usurio e o documentou de uma tal maneira Mue os !roLetistas e !rogramadores !ossam construir o sistema1 8em todas as ferramentas de modelagem cum!rem essas finali dades> !or eWem!loE uma descrio narrati.a de IHH !ginas dos reMuisi tos do usurio FMue 2E na realidadeE um modeloO !oder F9O tornar com !letamente o/scuras todas as caracterXsticas do sistemaE F:O tornar a construo do sistema mais cara do Mue o !rY!rio sistemaE F@O fal"ar na .erificao do entendimento do analista de sistemas so/re as reais neces sidades do usurio1 8o ca!Xtulo DE eW!loraremos detal"adamente Mue caracterXsticas uma ferramenta de modelagem de.e ter !ara Mue seLa 3til ao analista de sistemas1 r r ? > ri 9 Figura J19> 7m modelo arMuitetNnico tX!ico D@ AgoraE .amos a!resentar e discutir resumidamente trAs im!ortant ferramentas de modelagem de sistemas> o diagrama de fluWo de dadosE diagrama de entidades? relacionamentos e o diagrama de transi0es estado1 $ diagrama de fluWo de dados ilustra as Lisn0es Mue o sisten de.e eWecutarV os diagramas de entidades?relacionamentos do Anfa aos relacionamentos de dadosE e o diagrama de transi0es de esta focali&a o com!ortamento tem!o?de!endente do sistema1 $s ca!Xtulos e 9< eW!loram essas e outras ferramentas de modelagem com mai res detal"es1 Como .eremosE as trAs !rinci!ais ferramentas de m delagem consistem em grficos FfigurasO e ferramentas de modelage teWtual de su!orte1 $s grficos fornecem uma maneira .i.ida e de f leitura !ara o analista de sistemas mostrar aos usurios os !rinci! com!onentes do modeloE /em como as coneW0es Fou interfacesO entre com!onentes1 As ferramentas de modelagem teWtual de su!orte forn cem defini0es !recisas ou eWatas do s9*n dos com!onentes das coneW0es1 J19 A M$DE-AGEM DA' F78(rE' D$ 'I'TEMA> $ DIAG*AMA DE F-7X$ DE DAD$' 7m antigo ditado da ati.idade de desen.ol.imento de sistem enfati&a Mue um sistema de !rocessamento de dados en.ol.e dados !rocessamentoE e Mue no se !ode construir um sistema com AWito sem !artici!ao de am/os os com!onentes1 $ !rocessamento de um sist ma 2E certamenteE um as!ecto im!ortante !ara ser modelado e eWarr nado com o usurio1 A modelagem de Mue estamos tratando !ode k descrita de .rias maneiras> j Tue fun0es de.e o sistema eWecutar[ Tuais so as intera0 entre as fun0es[ j Tue transforma0es de.e eWecutar o sistema[ Tue entradas si transformadas em Mue saXdas[ j Tue es!2cie de tra/al"o fa& o sistema[ $nde ele o/t2m a info mao !ara fa&A?lo[ Para onde ele remete os resultados do tr> /al"o[ A ferramenta de modelagem Mue usamos !ara descre.er a transfo mao de entradas em saXdas 2 o diagrama de fluWo de dados1 7i diagrama de fluWo de dados tX!ico 2 mostrado na figura J1:1 $s diagramas de fluWo de dados consistem em !rocessosE d !Ysitos de dadosE fluWos e terminais> DJ Figura J1:> 7m diagrama defluWo de dados tX!ico j Processos so mostrados como cXrculos ou _/ol"as] no diagrama1 Eles re!resentam as di.ersas fun0es indi.iduais Mue o sistema eWecuta1 Fun0es transformam entradas em saXdas1 j Flu1Wos so re!resentados !or setas direcionadas cur.as1 Elas so as coneW0es entre os !rocessos Ffun0es do sistemaOE e re!re sentam a informao Mue os !rocessos eWigem como entrada eGou as informa0es Mue eles geram como saXda1 j De!Ysitos de dados so mostrados !or duas lin"as !aralelas ou !or uma eli!se1 Eles mostram cole0es FagregadosO de dados Mue o sistema de.e manter na memYria !or um !erXodo Ftem!oO1 Tuando os !roLetistas de sistemas e !rogramadores terminam a construo do sistemaE os de!Ysitos eWistiroE ti!i camenteE como arMui.os ou /ancos de dados1 j Terminadores mostram as entidades eWternas com as Muais o sistema se comunica1 $s terminadores soE ti!icamenteE indi.XduosE gru!os de !essoas F!1eW1E um outro de!artamento DI ou di.iso da orgam&aoOE sistemas eWternos de com!utador e organi&a0es eWternas1 $ diagrama de fluWo de dados 2 discutido em maiores detal"es no ca!Xtulo C Fal2m de !rocessosE fluWos e de!YsitosE o diagrama de fluWo de dados !ode tam/2m ter fluWos de controleE !rocessos de controle e de!Ysitos de controle1 Eles so 3teis !ara a modelagem de sistemas de tem!o?real e so discutidos em mais detal"es no ca!itulo CO1 Em/ora o diagrama de fluWo de dados oferea uma !rtica .iso geral dos !rinci!ais com!onentes funcionais do sistemaE no fornece MualMuer detal"e so/re esses com!onentes1 Para mostrar os detal"es de Mual informao 2 transformada e como 2 transformadaE !recisamos de duas ferramentas de su!orte teWtual de modelagem> o dicionrio de dados e a es!ec de !rocessos1 A figura J1@ mostra um tX!ico dicionrio de dados !ara o diagrama de fluWo de dados Mue .imos na figura J1:1 De modo anlogoE a figura J1J mostra uma tX!ica es!ecifica o de !rocessos !ara um !rocesso do diagrama de fluWo de dados Mue .imos na figura J1:1 nome s nome?de?cortesia t !rimeiro?nome t Fnome?intermedirioO t 3ltimo?nome tXtulo?de?cortesia s d !rimeiro?nome s Icaracter?.lidol 3ltimo?nome s lcaracter?.lidou caracter?.lido s FA?gla?&I=I?l I Figura J1@> 7m dicionno de dados tJ 91 lF a Muantia em dYlares das faturas .e&es o n3mero de semanas de.idas for maior do Mue q9H1HHH T,E8> a1 DA uma fotocY!ia da fatura !ara o .endedor a!ro!riado Mue ir c"amar o cliente1 /1 Anote no .erso da fitura Mue uma cY!ia foi dada ao .endedorE com a data m Mue isso foi feito1 c1 *ecoloMue a fatura no arMui.o !ara eWame em duas semanas a !artir desta data1 D< :1 $T,E*5I'E IF mais do Mue Muatro faturas atrasadas forem en.iadas T,E8> a1 DA uma fotocY!ia da fatura ao .endedor adeMuado !ara Mue o cliente seLa c"amado1 /1 *egistre no .erso da fatura Mue a cY!ia foi dada ao .endedorE com a data em Mue isso foi feito1 c1 *ecoloMue a fatura no arMui.o !ara ser eWaminada uma semana a!Ys essa data1 @1 $T,E*5I'E Fa situao ainda no atingiu s2rias !ro!or0esO> a1 Acrescente 9 Z contagem da o/ser.ao de atraso no .erso da fatura Fse a conta no foi registradaE escre.a _contagem de fatura atrasada s 9]O1 /1 IF a fatura no arMui.o est ilegX.el T,E8 digite uma outra1 c1 En.ie ao cliente uma fotocY!ia da faturaE com o carim/o En2sima nota > atraso de fatura1 Por fa.orE remeta imedia tamente]E onde 8 2 o .alor da contagem da nota de atraso1 d1 *egistre no .erso da fatura a data em Mue a en2sima o/ser .ao de atraso foi en.iada1 e1 *ecoloMue a fatura no arMui.o !or duas semanas a !artir dessa data1 Figura J1J> 7ma rX!ica es!ec de !rocessos Ainda eWiste muito mais a ser dito so/re diagramas de fluWo de dadosE dicionrios de dados e es!ecifica0es de !rocessosV os detal"es constam nos ca!Xtulos C a 991 QeremosE !or eWem!loE Mue a maioria dos sistemas com!leWos 2 modelada com mais de um diagrama de fluWo de dados1 T fato !odem eWistir de&enas ou mesmo centenas de diagramas organi&ados em nX.eis "ierrMuicos1 QeremosE tam/2mE Mue eWistem con.en0es !ara a rotulao e numerao de itens do diagramaE /em como algumas diretri&es e regras Mue aLudam a distinguir entre os /ons e os maus diagramas1 DK J1: A M$DE-AGEM DE DAD$' A*MAgE8AD$'> $ DIAG*AMA DE E8TIDADE' ? *E-ACI$8AME8T$' Em/ora o diagrama de fluWo de dados seLaE de fatoE uma ferramen ta 3til !ara a modelagem de sistemasE ele somente enfati&a um as!ecto !rinci!al de um sistema> suas fun0es1 A notao de de!Ysito de dados no DFD nos a!resenta a eWistAncia de um ou mais gru!os de de!Ysitos de dadosE masE deli/eradamenteE di& muito !ouco acerca de detal"es de dados1 Todos os sistemas arma&enam e usam informa0es so/re o am /iente com o Mual interagemV algumas .e&es as informa0es so mXni masE !or2m na maioria dos sistemasE atualmenteE so /astante com!le Was1 8o somente Mueremos sa/erE em detal"esE Mue informao est contida em cada de!Ysito de dadosE mas tam/2m Mue relacionamentos eWistem entre os de!Ysitos de dados1 Esse as!ecto do sistema no est realado !elo diagrama de fluWo de dadosE mas est ati.amente retratado !or uma outra ferramenta de modelagem> o diagrama de entidades?rela cionamentos1 7m diagrama entidades? relacionamentos tX!ico 2 mostrado na figura J1I1 $ diagrama entidades?relacionamentos !ossui dois im!ortantes com!onentes> 91 T de o/Letos so a!resentados !or um Muadro retangular no diagrama de entidades? relacionamentos1 7m ti!o de o/Leto re!resenta uma coleoE ou conLuntoE ou o/Letos FcoisasO do mundo real cuLos mem/ros desem!en"am um !a!el no sistema Mue est sendo desen.ol.ido1 Eles !odem ser identificados de forma 3nicaE !odendo serem descritos !or um ou mais fatos Fatri/utosO1 :1 *elacionamentos so re!resentados !or losangos no diagrama1 7m relacionamento re!resenta um conLunto de coneW0es ou as socia0esE entre os ti!os de o/Letos interligados !or setas ao relacionamento1 Assim como no caso do diagrama de fluWo de dadosE eWiste muito mais !ara ser dito so/re o diagrama de entidades?relacionamentosV nYs o discutiremos mais detal"adamente no ca!Xtulo 9:1 Qeremos Mue eWistem certos ti!os de o/Letos es!eciali&adosE /em como algumas diretri&es !ara assegurar Mue o diagrama de entidades?relacionamentos est com!leto e consistente1 Assim como no caso do diagrama de fluWo de dadosE ele ser ne cessrio !ara aumentar o diagrama de entidades?relacionamentos com DD Figura J1I> 7m diagrama de entidades?relaciona n4nLos detal"adas informa0es teWtuaisE $ dicionrio de dadosE Mue .imos !ri meiro na figura J1@E tam/2m !ode ser usado !ara manter informa0es a!ro!riadas so/re o/Letos e relacionamentos1 Isto ser eW!loradoE mais adianteE nos ca!Xtulos 9H e 9:1 J1@ A M$DE-AGEM D$ C$MP$*TAME8T$ TEMP$? DEPE8DE8TE> $ DIAG*AMA DE T*A8'I(rE' DE E'TAD$ 7m terceiro as!ecto de muitos sistemas com!leWos 2 o com!or tamento tem!o? de!endenteE a seMaAncia na Mual se tem acesso aos dados e em Mue as fun0es sero eWecutadas1 Para alguns sistemas co merciais de !rocessamentoE isso no 2 um as!ecto im!ortante !ara ser destacadoE uma .e& Mue a seMuAncia 2 tri.ial em !rincX!io1 Desse modoE DC em muitos sistemas de !rocessamento /atc" FaMueles Mue no s on une e nem de tem!o? realOE a funo 8 no !ode eWecutar sua tarefa at2 Mue rece/a as entradas necessriasV e sua entrada 2 !rodu&ida como saXda da funo 8?9V etc1 EntretantoE muitos sistemas on?line e de tem!o?realE am/os na rea de negYcios e na rea cientXfica e de engen"ariaE tAm com!leWos relacio namentos de tem!o Mue de.em ser modelados to cuidadosamente Muanto as fun0es e relacionamentos de dados1 Muitos sistemas de tem !o?realE !or eWem!loE de.em res!onder dentro de um inter.alo de tem!o muito curtoE tal.e& em !oucos segundosE a determinadas entradas Mue c"egam do am/iente eWterno1 E !recisam estar !re!arados !ara di.ersas com/ina0es e seMaAncias de entradas !ara as Muais res!ostas a!ro!riadas de.em ser ela/oradas1 A ferramenta de modelagem Mue usamos !ara descre.er esse as !ecto do com!ortamento de um sistema 2 o diagrama de transi0es de estadoE algumas .e&es a/re.iado como DTE1 7m diagrama tX!ico 2 mostrado na figura J1<V ele modela o com!ortamento de uma mMuina de la.ar controlada !or com!utador1 8esse diagramaE os retPngulos re !resentam os estados em Mue o sistema !ode estar Fisto 2E _cenriosl ou _situa0es] recon"ecX.eisO1 Cada estadoE !ortantoE re!resenta um !erXo do de tem!o durante o Mual o sistema eWi/e algum com!ortamento o/ ser..elV as setas Mue interligam os retPngulos mostram a mudana de estado ou transi0es de um esrado !ara outro1 Associada a cada mudan a de estado " uma ou mais condi0es Fos e.entos ou circunstPncias Mue causaram a mudana de estadoO e &ero ou mais a0es Fa res!ostaE saXda ou ati.idade Mue ocorrem como !arte da mudana de estadoO1 EWaminaremos o diagrama de transi0es de estado em mais detal"es no ca!Xtulo 9@1 J1J A M$DE-AGEM DA E'T*7T7*A D$ P*$G*AMA> $ DIAG*AMA E'T*7T7*A- A!esar de no o usar muito como analista de sistemasE .ocA de.e conscienti&ar?se de Mue muitas ferramentas adicionais dc modelagem so usadas durante o desen.ol.imento de um sistema com!leWo1 Por eWem !l$E $' !roLetistas de sistemas costumam usar o diagrama de fluWo de dadosE o dicionrio de dadosE as es!ecifica0es de !rocessosE os diagra mas de entidades?relacionamentos e os diagramas de transi0es de esta do criados !elo analista de 'istemas !ara criar uma arMuitetura em soft4areE isto 2E uma "ierarMuia de mYdulos Falgumas .e&es citados como su/?rotinas ou !rocedimentosO !ara im!lementar os reMuisitos do sistema1 7ma ferramenta de modelagem grfica comum usada !ara re!resentar essa "ierarMuia de soft4are 2 um diagrama estruturalV um CH I8ICIA* ATIQA* _E8C,E8E -AQAD$*A C,EIA ATIQA* _-AQA8D$] -AQA8D$ O DE -AQAGEM TE*MI8AD$ ATIQA* _'ECAGEM] L 'ECA8D$ - CIC-$ DE 'ECAGEM TE*MI8AD$ DE'ATIQA* _'ECAGEM] Figura J1<> Diagrama de Itransi0es de estado diagrama estrutural tX!ico 2 mostrado na figura J1K1 8esse diagramaE cada retPngulo re!resenta um mYdulo F!1eW1E uma su/?rotina F$*T*A8E um !rocedimento PA'CA-E um !argrafo ou su/!rograma C$B$-O1 As setas Mue interligam os Muadros re!resentam c"amadas de mYdulos F!1eW1E c"amadas de su/?rotina ou de !rocedimentosO1 $ diagrama tam /2m a!resenta os !arPmetros de entrada !assados !ara cada mYdulo c"amadoE e os !arPmetros de saXda retornados !elo mYdulo Muando ele termina a sua tarefa e restitui o controle a Muem o c"amou1 Em/ora o diagrama estrutural seLa uma eWcelente ferramenta !a ra os !roLetistas de sistemasE no 2 o ti!o de modelo MueE normalmenteE de.e ser mostrado ao usurioE !orMue ele modela um as!ecto da im!le mentao do sistemaE em .e& dos reMuisitos su/Lacentes 1 Discutiremos os diagramas estruturais no.amente no ca!Xtulo ::1 - PA*ADA R PA*A* DE'ATIQA* _E8C,E8D$] E8C,E8D$ PA*A* DE'ATIQA* -AQA8D$ C9 Figura J1K> 7m diagrama estrutural J1I *E-ACI$8AME8T$' E8T*E $' M$DE-$' Como se !ode .erE cada modelo grfico descrito neste ca!Xtulo focali&a um as!ecto diferente de um sistema> o DFD mostra as fun0esE o DE* reala os relacionamentos de dados e o DTE enfati&a o com!ortamento tem!o? de!endente do sistema1 ^ 3til estudar cada um desses as!ectos isoladamenteE !ois eWiste muita com!leWidade em um sistema tX!icoV !or outro ladoE essas trAs .is0es do sistema de.em ser consistentes e com!atX.eis entre si1 8o ca!Xtulo 9JE eWaminaremos algumas regras de consistAncia Mue asseguram Mue os trAs !rinci!ais modelos de sistemaE com/inados com detal"ados modelos teWtuais soE de fatoE consistentes1 Por eWem!loE .eremos Mue cada de!Ysito no DFD de.e corres!onder a um o/Leto ou a um relacionamento do DE*1 J1< *E'7M$ $s modelos a!resentados neste ca!Xtulo soE relati.amenteE sim !les e fceis de ler1 Muito cuidado foi tomado !ara fa&A?los dessa maneiraE !ois eles foram conce/idos !ara serem lidos e entendidos !or usurios sem muito treinamento ou !re!arao1 EntretantoE como C: .eremos nos ca!Xtulos C a 9<E 2 necessrio um grande .olume de cuida doso tra/al"o !ara criar os diagramas e assegurar Mue eles seLam re!re senta0es com!letasE consistentes e corretas dos reMuisitos do usurio1 PE*G78TA' E EXE*CcCI$' 91 A introduo ao ca!Xtulo J lista ma!asE glo/osE fluWogramasE dese n"os arMuitetNnicos e !autas musicais como eWem!los de modelos1 Enumere mais trAs eWem!los de modelos de uso comum1 :1 Tual 2E no dicionrioE a definio de modelo[ Essa definio a!lica? se aos sistemas de informa0es[ @1 Por Mue os modelos so usados no desen.ol.imento de sistemas de informa0es[ A!resente trAs moti.os1 J1 Como res!onder se o usurio l"e dissesse Mue os modelos so uma !erda de tem!o e Mue .ocA de.eria iniciar a codificao[ I1 QocA ac"a Mue uma descrio .er/al do usurio so/re os reMui sitos do sistema seriam considerados um modelo[ Por Mue[ <1 Por Mue seria 3til ter mais de um modelo !ara um sistema[ K1 Todos os modelos discutidos no ca!Xtulo J so modelos em !a!el1 Pode .ocA imaginar MuaisMuer outras formas de modelos[ D1 $s modelos discutidos no ca!Xtulo J soE em sua maioriaE ferra mentas grficas Fisto 2E figurasO1 Tuais so as .antagens do uso de figuras como ferramentas de modelagem[ C1 QocA acredita Mue as ferramentas grficas de modelagem so sufi cientes !ara re!resentar os reMuisitos de um sistema de informa 0es[ Por MuA[ 9H1 Tuem 2 o res!ons.el !ela criao dos modelos necessrios Z descrio dos reMuisitos de um sistema de informa0es[ 991 $s usurios de.em criar seus !rY!rios modelos[ 'e assim forE so/ Muais circunstPncias[ 9:1 Tuais so os trAs !rinci!ais o/Leti.os de um diagrama de fluWo de dados[ 9@1 Tuais so os Muatro !rinci!ais com!onentes de um diagrama de fluWo de dados[ 9J1 $/ser.e Mue os !rocessos de um DFD so re!resentados !or cXr culos e os terminadores !or retPngulos1 QocA ac"a Mue isso seLa significati.o[ E se os !rocessos fossem re!resentados !or re tPngulos e os terminadores !or cXrculos[ 9I1 $/ser.e Mue a figura J1: mostra trAs diferentes !rocessos mas no indica como muitos com!utadores !artici!aro do sistema1 Isso 2 im!ortante[ Tue mudanas seriam necessrias se a eMui!e de !ro Leto decidisse im!lementar o sistema com um com!utador[ E com trAs com!utadores[ C@ ?RcIIR $/ser.e Mue a figura J1: mostra di.ersos fluWos de dados entre os !rocessosE mas no indica o meio fXsico Mue ser utili&ado !ara trans!ortar os dados1 Isso 2 im!ortante[ E se os im!le mentadores do sistema decidissem transmitir os dados entre os !rocessos utili&ando lin"as de telecomunica0es[ E se resol.essem trans!ortar os dados de um !rocesso !ara outro !or meio de fitas magn2ticas[ Para Mue ser.e o dicionrio de dados[ Tuem 2 o res!ons.el !ela criao do dicionrio de dados[ E !or sua atuali&ao[ A figura J1@ mostra a definio de dicionrio de dados !ara um nome1 Tual 2 o significado dos !arAntesesE F OE naMuela definio[ Para Mue ser.e a es!ecificao de !rocessos[ Tuantas es!ecifica0es de !rocessos de.em constar de uma com !leta es!ecificao dos reMuisitos do usurio[ Tuem 2 o res!ons.el !ela criao da es!ecificao de !rocessos[ E !or sua atuali&ao[ $/ser.e Mue a es!ecificao de !rocessos mostrada no eWem!lo do ca!Xtulo 2 um tanto !arecida com um !rograma1 $ Mue .ocA ac"a da id2ia de se utili&ar !seudocYdigo !ara se escre.er es!eci fica0es de !rocessos[ $ Mue .ocA !ensa da id2ia de se usar uma linguagem de !rogramao real como AdaE como muitos L sugeriram ? !ara a es!ecificao de !rogramas[ Por Mue uma lin guagem de !rogramao seria /oa ou m[ Para Mue ser.e o diagrama de entidades?relacionamentos[ Tuais so os trAs !rinci!ais com!onentes de um DE*[ Tuantos ti!os de o/Letos so mostrados na figura J1I[ Tuantos relacionamentos so mostrados na figura J1I[ $ DE* mostra ao leitor alguma informao relati.a Zs fun0es eWecutadas !elo sistema[ $ DFD mostra ao leitor alguma informao relati.a aos ti!os de o/Letos ou aos relacionamentos entre os ti!os de o/Letos de um sistema[ $nde de.emos descre.er os detal"es dos ti!os de o/Letos e dos relacionamentos mostrados em um DE*[ Para Mue ser.e o diagrama de transi0es de estado[ Tuais so os com!onentes de um DTE[ $s DTE so 3teis !ara a modelagem de sistemas de !rocessamen to /atc"[ Por MuA[ Para Mue ser.e um diagrama estrutural[ Tuais so os com!onentes grficos de um diagrama estrutural[ $ usurio de.e ser ca!a& de ler e entender um diagrama estrutural[ De.e?se es!erar Mue o usurio seLa ca!a& de criar um[ Descre.a o relacionamento eWistente entre um DE* e um DFD1 9<1 9K1 9D1 9C1 :H1 :91 ::1 :@1 :J1 :I1 :<1 :K1 :D1 :C1 @H1 @91 @:1 @@1 @J1 @I1 @<1 @K1 CJ @D1 EWiste algum relacionamento entre um DFD e um diagrama estrutu ral[ 'e assim forE Mual 2[ 8$TA Como dissemos no ca!Xtulo @E alguns usurios so mais con"ece dores de com!utadores do Mue outrosE e alguns usurios tAm !arti ci!ao mais ati.a no !roLeto de desen.ol.imento de sistemas do Mue outros1 'e .ocA esti.er tra/al"ando com um usurio Mue 2 um mem/ro de tem!o integral da eMui!e do !roLetoE ou tal.e& mesmo o lXder do !roLeto e se o usurio tem algum con"ecimento so/re !roLeto de sistemasE no eWiste ra&o !ara Mue no l"e seLa a!re sentado um diagrama estrutural1 EntretantoE se o usurio esti.er interessado a!enas em descre.er o Mue o sistema tem de fa&erE !ro.a.elmente no estar interessado em eWaminar um diagrama descre.endo a organi&ao de su/?rotinas F$*T*A8 Mue im!le mentaro aMueles reMuisitos1 CI I CIC-$ DE QIDA D$ P*$RET$ Todo o erro "umano 2 a im!aciAnciaE uma ren3ncia !rematura ao m2todoE uma ilusYria fiWao a uma iluso1 Fran& Kaf%aE Cartas 8este ca!XtuloE a!renderemos> 91 $ conceito de ciclo de .ida de um !roLeto1 :1 As caracterXsticas do ciclo dc .ida do !roLeto clssico1 @1 As diferenas entre !roLetos clssicos e semi?estrutu rados1 J1 $s com!onentes do ciclo de .ida estruturado1 I1 As diferenas entre ciclos de .ida radicais e conser.a dores1 Para sermos analistas de sistemas eficientesE !recisamos de algo al2m de ferramentas de modelagemV !recisamos de m2todos1 8a ati.ida de de desen.ol.imento de sistemasE os termos m2todoE metodologiaE ciclo de .ida do !roLeto e ciclo de .ida do desen.ol.imento de sistemas so usados alternati.amente1 8a !arte III eWaminaremos detal"adamente os m2todos de anlise de sistemasE no conteWto mais am!lo de m2todo ? con"ecido como ciclo de .ida estruturado de !roLeto ? !ara a eWecu o de todo o desen.ol.imento de um no.o sistema1 Antes da introduo do ciclo de .ida estruturado de !roLetoE 2 im!ortante eWaminar o ciclo de .ida do !roLeto clssico discutido em muitos li.ros e usados atualmente em muitas organi&a0es de desen.ol .imento de sistemasE !rinci!almente !ara identificar suas limita0es e fraMue&as1 Esse eWame ser seguido !or uma /re.e discusso so/re o CK cido de .ida de um !roLeto semi?estruturado> um ciclo de .ida de !ro Leto Mue inclui algunsE mas no todos os elementos do moderno de sen.ol.imento de sistemas1 Em seguidaE a!resentaremos o ciclo de .ida de !roLeto estruturadoE atra.2s de uma .iso geral mostrando as !rinci!ais ati.idades e como elas se aLustam1 Para finali&arE eWaminare mosE resumidamenteE o ciclo de .ida de !rotou!ao !o!ulari&ado !or Bernard BoarE Rames Martin e di.ersos fornecedores de linguagens de !rogramao de Muarta gerao1 EW!loraremosE tam/2mE o conceito de desen.ol.imento iterati.o ou to!?do4n1 De modo es!ecialE a!resentaremos a noo de desen.ol .imento to!?do4n radical e desen.ol.imento to!?do4n conseK.ador1 De!endendo da nature&a do !roLeto de desen.ol.imento de sistemas !oder "a.er ra&0es .lidas !ara a adoo de uma a/ordagem em detrimento da outraV na realidadeE alguns !roLetos sugerem uma com/i nao das duas1 I19 $ C$8CEIT$ DE CIC-$ DE QIDA DE 7M P*$RET$ Como se !oderia es!erarE as !eMuenas organi&a0es de PED ten dem a ser relati.amente informais1 $s !roLetos de desen.ol.imento de sistemas so iniciados como resultado de um entendimento .er/al entre o usurio e o gerente do !roLeto FMue !ode serE tam/2mE o analista de sistemasE o !rogramadorE o o!erador de com!utador e o &eladorOE e o tra/al"o se estende desde a anlise de sistemas at2 o !roLeto e im!le mentao sem muito estardal"ao1 8as grandes organi&a0esE entretantoE tudo 2 feito de maneira muito mais formal1 As comunica0es entre os usuriosE a gerAncia e a eMui!e do !roLeto tendem a ser documentadas !or escrito e todos enten dem Mue o !roLeto correr atra.2s de di.ersas fases at2 sua !rontificao1 Mesmo assim 2 sur!reendente .er as grandes diferenas com Mue dois gerentes de !roLetos na mesma organi&ao condu&em seus res!ecti.os !roLetos1 8a realidadeE muitas .e&es 2 deiWado a crit2rio do gerente do !roLeto a determinao de Muais fases e ati.idades seu !roLeto ser cons tituXdo e como essas fases sero condu&idas=1 *ecentementeE entretantoE a a/ordagem utili&ada no desen.ol.i mento de sistemas comeou a se modificar1 Cada .e& maisE grandes e !eMuenas organi&a0es esto adotando um 3nico ciclo de .ida de !roLe to uniforme ? tam/2m con"ecido como !lano de !roLeto ou metodolo gia de desen.ol.imento de sistemas ouE sim!lesmenteE _o modo como fa&emos as coisas !or aMui]1 ,a/itualmente contido em um li.ro de a!ontamentos to .olumoso como os manuais comuns Mue costumam estar Fno lidosO em MualMuer mesa de analista ou de !rogramadorE o CD ciclo de .ida do !roLeto documentado oferece um modo sim!les !ara MualMuer !essoa da organi&ao de desen.ol.imento de sistemas entrosar?se com a ati.idade de desen.ol.imento de um sistema de !rocessamento1 A a/ordagem !ode ser do ti!o feita em casa ou como alternati.aE a organi&ao de desen.ol.imento de sistemas !ode !referir com!rar um !acote de gerenciamento de sistemas eE em seguidaE ada!t?lo Zs necessidades da em!resa Parece ser e.idente Mue al2m de em!regos !ara as !essoas Mue criam manuais de ciclo de .ida de !roLetos Fe !ara os Mue escre.em li.ros so/re elesOE a metodologia de !roLeto 2 deseL.el1 Tual 2E entoE o !ro!Ysito de ter?se um ciclo de .ida de !roLeto[ EWistem trAs o/Leti.os !rinci!ais> 91 Para definir as ati.idades a serem eWecutadas em um !roLeto de desen.ol.imento de sistemas1 :1 Para introdu&ir consistAncia entre muitos !roLetos de desen.ol .imento de sistemas da mesma organi&ao1 @1 Para introdu&ir !ontos de .erificao !ara o controle gerencial de decis0es1 $ !rimeiro o/Leti.o 2 !arucularmente im!ortante em uma grande organi&ao na Mual no.as !essoas constantemente alcanam os cargos de gerenciamento de !roLetos1 $ ineW!eriente gerente de !roLeto !ode no !erce/er ou su/estimar a signiflcPncia das fases im!ortantes do !roLeto se a!enas seguir a intuio1 De fatoE !ode acontecer de os !rogramadores L3nior e os analistas de sistemas no entenderem onde e como seus esforos se aLustam no !roLeto a menos Mue rece/am uma descrio correta de todas as fases dele1 $ segundo o/Leti.o tam/2m 2 im!ortante em uma1 grande em!re sa1 8os nX.eis mais altos de gerenciamentoE !ode ser eWtremamente desconcertante su!er.isionar uma centena de !roLetos di.ersosE cada Mual sendo eWecutado de um modo di.erso1 Por eWem!loE se o !roLeto A define a ati.idade da anlise de sistemas de forma diferente do !roLeto B e o !roLeto B no !re.A uma fase de !roLeto de sistemasE como o gerente de segundo ou de terceiro nX.el !oder sa/er Mual !roLeto est com !ro/lemas e Mual continua dentro dos !ra&os !re.istos [ $ terceiro o/Leti.o do ciclo de .ida de um !roLeto comum relacio na?se com a necessidade da gerAncia de controlar um !roLeto1 Em !ro Letos tri.iais o 3nico !onto de .erificao 2E !ro.a.elmenteE o fim do !roLeto1 Ele terminou a tem!o e dentro do oramento es!ecificado[ $u mais sim!lesmenteE ele est todo terminado[ $/ser.ou os reMuisitos do usurio[ MasE em !roLetos maioresE a gerAncia de.e ter .rios !ontos de CC .erificao intermedirios durante o !roLetoEos Muais oferecem as o!or tunidades de determinar se o !roLeto est fora das !re.is0es e se ser !reciso o/ter recursos adicionais1 Al2m dissoE um usurio inteligente tam/2m eWigir !ontos de .erificao em .rios estgios do !roLeto a fim de !oder determinar se de.e continuar in.estindo nele ;1 Em .ista dissoE !ermita?me enfati&ar Mue o ciclo de .ida de !roLeto de mod/ algum 2 res!ons.el !elo !roLeto1 Ele no li/era o gerente da dificil res!onsa/ilidade de tomar decis0esE a.aliar alternati.asE tra.ar /atal"as !olXticasE negociar com usurios recalcitrantesE le.antar o moral de !rogramadores desanimados ou MualMuer das !ro.a0es e tri/ula0es relacionadas ao !roLeto1 $ gerente do !roLeto ainda tem Mue gerenciarE em todos os sentidos da !ala.ra1 A 3nica aLuda Mue o ciclo de .ida do !roLeto !ode dar 2 o[gani&ar as ati.idades do gerenteE tornando mais !ro..el Mue os !ro/lemas seLam atacados no momento a!ro!riado1 I1: $ CIC-$ DE QIDA D$ P*$RET$ C-+''IC$ $ ti!o de ciclo de .ida do !roLeto usado em muitas organi&a0es "oLe difere daMuele ao Mual iremos dar maior ateno na !arte III1 $ ciclo de .ida do !roLeto clssico ou con.encional 2 mostrado na figura I191 Todo !roLeto 2 eWecutado mediante algum ti!o de anlise de siste masE !roLeto e im!lementaoE mesmo Mue isso no seLa feito eWatamen te da maneira mostrada no diagrama1 $ ciclo de .ida de !roLeto usado na sua organi&aoE !or eWem!loE !ode di.ergir do mostrado na figura I19 em um ou em todos os seguintes !ontos> j A fase de le.antamento e a fase de anlise !odem ser reunidas em uma sY fase Fisso 2 es!ecialmente comum em organi&a0es em Mue MualMuer coisa Mue o usurio Mueira 2 considerado .i.el em !rincX!ioO1 j Pode no "a.er uma fase c"amada estudo do "ard4are se for garantido Mue MualMuer no.o sistema !ode ser im!lementado em um com!utador eWistente sem causar s2rios im!actos o!era cionais1 j As fases !reliminares de !roLeto e de !roLeto detal"ado !odem ser reunidas em uma 3nica fase c"amada !roLeto1 j Algumas das fases de teste !odem ser agru!adas numa sY fase1 8a realidade elas !odemE at2E ser reunidas Z codificao1 AssimE o ciclo de .ida de !roLeto de uma organi&ao indi.idual 9HH !ode ter cincoE sete ou do&e fasesE !or2mE ainda cCntinuar sendo da .ariedade clssica1 $ Mue 2 Mue de fato caracteri&a o ciclo de .ida de um !roLeto como clssico[ Duas caracterXsticas eWistem> uma forte tendAncia Z im!lemen tao /ottom?u! do sistema e a insistAncia na !rogresso linear e se Maencia` entre uma fase e a seguinte1 I1:19 A Im!lementao Bottom?7! $ uso da im!lementao /ottom?u! 2 uma das maiores fraMue &as do ciclo de .ida do !roLeto clssico1 Como .ocA !ode .er na figura I19FaOE es!era?se Mue os !rogramadores eWecutem todos os testes de seus mYdulos !rimeiroE em seguida o teste de su/sistemas eE !or fimE o teste do sistema1 Essa a/ordagem 2E tam/2mE con"ecida na rea com!utacio na` como _ciclo de .ida em cascata]E com /ase em um diagrama a!resen tado em d 9CKH9E e de!ois !o!ulari&ado !or Barr# Boe"m em EBoe"mE 9CD9e1 Esse diagrama 2 mostrado na figura I19 F/O1 8o se con"ece a origem dessa a/ordagemE !or2m !ode ter sido em!restada de ind3strias de fa/ricao em lin"a de montagem1 A a/or dagem de im!lementao /ottom?u! 2 /oa !ara montar automY.eis em uma lin"a de montagemE mas somente de!ois Mue o !rotYti!o ti.er sido com!letamente corrlEido ` Infeli&menteE muitas organi&a0es de desen .ol.imento de sistemas esto ainda !rodu&indo sistemas um?de?cada?ti !oE !ara os Muais a a/ordagem /ottom?u! tem .rias dificuldades s2rias> j 8ada est terminado at2 Mue esteLa totalmente !ronto1 AssimE se o !roLeto esti.er atrasado e o !ra&o fina` coincidir com o meio do teste de sistemaE no "a.er nada !ara mostrar ao usurio eWceto uma enorme !il"a de listagens de !rogramas ? Mue nada significam !ara ele` j $s erros mais tri.iais so encontrados no inXcio do !erXodo de teste e os erros mais s2rios so encontrados no fina`1 Isso 2 Muase uma tautologia1 Testes de mYdulos co/rem os erros relati .amente sim!les de lYgica dentro dos mYdulos indi.iduaisV os testes de sistemaE !or outro ladoE co/rem os erros !rinci!ais de interface entre os su/sistemas1 $ !onto 2 Mue os mais im!ortan tes erros de interface no so os Mue o !rogramador deseLa encontrar no final de um !roLeto em desen.ol.imento1 Tais er ros !odem le.ar Z modificao de muitos mYdulosE e !odem ter um de.astador im!acto no !rograma na "ora em Mue todos se sentem cansados e irritados de ter tra/al"ado de maneira eWaus ti.a !or tantos meses1 9H9 reMuisitos do oramentoE cronograma es!ecificao funcional de !rogramas sistema testado Figura I19FaO> $ cirlo de .ida do !roLeto clssico 9H: j A de!urao de erros tende a ser eWtremamente dificil durante os estgios finais dos testes do sistema1 $/ser.e Mue distingui mos aMui entre teste e de!ura o1 A de!urao 2 a arte de des co/rir onde est o erro Fe a determinao su/seMaente de como corrigi?loO de!ois do !rocesso de teste ter determinado Mue eWiste um erro1 Tuando um erro 2 desco/erto durante a fase de teste de sistema de um !roLeto /ottom?u! muitas .e&es 2 eWtremamente difXcil di&er Mual o mYdulo Mue cont2m o erroV ele 9 Figura I19F/O> $ modelo em cascata de desen.ol.imento de sistemas 9H@ !ode estar em MualMuer uma das centenas Fou mil"aresO de mYdulos Mue ten"am sido com/inados !ela !rimeira .e&1 -ocali &ar o erro 2E freMaentementeE o mesmo Mue !rocurar uma agul"a em um !al"eiro1 As necessidades de tem!o de com!utador !ara testes aumentam eW!onencialmente durante os estgios finais dos testes1 Mais es !ecificamenteE o gerente do !roLeto muitas .e&es considera Mue necessita de !erXodos contXguos maiores de tem!o do com!uta dor !ara testes do sistemaE tal.e& 9: "oras ininterru!tas !or dia1 Como todo esse tem!o de um com!utador 2E muitas .e&esE difXcil de se conseguir <E o !roLeto !oder sofrer um atraso1 I1:1: Progresso 'eMaencial A segunda !rinci!al fraMue&a do ciclo de .ida do !roLeto ciassico e sua insistAncia em Mue as fases se organi&em seMaencialmente uma em seguida Z outra1 EWiste uma tendAncia natural e "umana !ara Mue seLa assim1 DeseLamos ser ca!a&es de di&er Mue terminamos a fase de anlise de sistemas e Mue nunca mais teremos Mue nos !reocu!ar com ela no.amente1 8a realidadeE muitas organi&a0es formali&am essa noo com um ritual con"ecido como congelamento das es!ecifica0es ou congelamento dos documentos do !roLeto1 $ 3nico !ro/lema com esse deseLo de !rogresso metYdica 2 Mue ela 2 com!letamente irreal` Em !articularE a a/ordagem seMaencial no !ermite Mue os fenNmenos do mundo real ocorram com o !essoalE com a orientao ou com a economia da em!resa1 Por eWem!loE a !essoa Mue est fa&endo o tra/al"oE tal como o analista de sistemas ou o !roLetistaE !ode ter cometido um erro e ter !rodu&ido algo defeituoso1 8a realida deE como seres "umanosE raramente reali&amos corretamente um tra/a l"o com!leWo na !rimeira .e&E mas somos muito /ons no a!erfeioa mento re!etido de um tra/al"o im!erfeito1 $u a !essoa Mue re.isa o tra/al"oE em !articularE o usurio Mue reeWamina o ser.io do analista de sistemasE !ode ter cometido um erro1 $u tal.e& a !essoa Mue eWecuta o tra/al"o associado a cada fase !ode no ter tem!o suficiente !ara terminarE mas !ode no Muerer admitir esse fato1 Esse 2 um modo !olido !ara se di&er MueE nos !roLetos mais com!leWosE a anlise e o !roLeto de sistemas Fe os testes de sistemaE tam/2mO terminam Muando algu2m de ade Mue seu tem!o aca/ouE e no Muando .ocA !retende finali&ar aMuelas ati.idades` $utros !ro/lemas esto normalmente associados ao ciclo de .ida do !roLeto clssico seMaencial1 Durante muitos meses Fou anosO Mue se le.a !ara desen.ol.er o sistemaE o usurio !ode mudar de id2ia so/re o 9HJ Mue o sistema de.e fa&er1 Durante o !erXodo Mue se le.a !ara desen.ol .er o sistemaE certos as!ectos do am/iente do usurio !odem se alterar F!1eW1E a economiaE a com!etio ou os regulamentos do go.erno Mue afetam as ati.idades do usurioO1 7ma caracterXstica adicional do ciclo de .ida do !roLeto clssico 2 Mue ele se /aseia em t2cnicas ultra!assadas1 Isto 2E ele no fa& uso de !roLeto estruturadoE !rogramao estruturadaE camin"amentos ou Mual Muer uma das outras t2cnicas modernas de desen.ol.imento MasE como a .ida do !roLeto clssico ignora a eWistAncia dessas t2cnicasE no " nada Mue im!ea o gerente do !roLeto de us?las1 Infeli&menteE muitos !rogramadoresE analistas de sistemas e lXderes de !roLeto de !rimeiro nX.el ac"am Mue o ciclo de .ida do !roLeto 2 uma diretri& da orientao da alta direo e se a direo nada disser so/re o uso de !rogramao estruturadaE elesE como meros mem/ros de !roLeto e lXderesE no sero o/rigados a usar a/ordagens no clssicas1 I1@ $ CIC-$ DE QIDA 'EMI?E'T*7T7*AD$ $s comentrios na seo anterior fa&em com Mue a maioria das organi&a0es de PED !aream ainda estar .i.endo na era do o/scurantis mo1 8a realidadeE tal caracteri&ao 2 inLusta> nem todas as organi&a0es usam a .ida do !roLeto clssico1 Comeando no final da d2cada de KH e no inXcio da d2cada de DH "ou.e um crescente recon"ecimento de Mue as t2cnicas como !roLeto estruturadoE !rogramao estruturada e im!le mentao to!? do4n de.eriam ser oficialmente recon"ecidas no ciclo de .ida de !roLetos1 Esse recon"ecimento condu&iu ao ciclo de .ida de !roLeto semi?estruturado mostrado na figura I1:V ali a!arecem duas e.i dentes caracterXsticas ausentes na a/ordagem clssica> 91 A seMaAncia /ottom?u! de codificaoE testes de mYdulos e testes de sistema 2 su/stituXda !ela im!lementao to!?do4nE uma a/ordagem onde os mYdulos de alto nX.el so codificados e testados em !rimeiro lugarE seguidos !elos mYdulos deta l"ados de /aiWo nX.el1 ,E tam/2mE uma forte indicao de Mue !rogramao estruturada ser usada como m2todo real de codificao1 :1 $ !roLeto clssico 2 su/stituXdo !elo !roLeto estruturadoE uma a/ordagem formal de !roLeto de sistemas discutida em li.ros como l6ourdon e ConstantineE 9CDC9 e IPage?RonesE 9CDD91 Paralalemante a essas diferenas Y/.iasE eWistem alguns !ontos sutis acerca desse ciclo de .ida modificado1 ConsidereE !or eWem!loE Mue a im!lementao to!?do4n significa Mue alguma codificao e alguns 9HI testes ocorram !aralelamente1 Isso certamente re!resenta um im!ortante afastamento das fases seMaenciais Mue .imos no ciclo de .ida clssica` Em !articularE !ode significar uma realXmentao entre a ati.idade de codificao e de teste e a de de!urao de erros1 Tuando o !rogramador testa a .erso redu&ida de alto nX.el do sistemaE ele !ode ser .isto resmungandoE _$raE eu no sa/ia Mue essa instruo F*AMMI' de du!la !reciso funciona.a assim`= 8aturalmenteE .ocA !ode ter certe&a de Mue o su/seMaente em!rego da instruo F*AMMI' de du!la !reciso ser com!letamente diferente1 Tal.e& mais im!ortanteE o uso da im!lementao to!?do4n le.a os im!lementadores Fe os analistas de sistemasE se eles no a/andonaram o !roLeto nessa alturaO a consultar os usurios a!Ys as es!ecifica0es terem sido cerimoniosamente congeladas1 Desse modoE 2 !ossX.el Mue o usu rio a!onte erros e eMuX.ocos na es!ecificaoV o usurio !ode at2 eW !ressar o deseLo de alterar a es!ecificaoE e se a entre.ista acontecer diretamente entre o usurio e o im!lementadorE uma alterao !ode realmente ser efetuada antes Mue o gerente do !roLeto sai/a o Mue est acontecendo1 *esumindoE a im!lementao to!?do4n muitas .e&es cau sa a realimentao entre o !rocesso de im!lementao e o !rocesso de anlise ? em/ora essa realimentao no seLa es!ecificamente mostrada na figura I1: e o usurio e o gerente do !roLeto de PED !ossam !er feitamente negar Mue isso ocorra` EWiste um detal"e final so/re o ciclo de .ida semi?estruturado> uma !arte significati.a do tra/al"o Mue ocorre so/ o tXtulo de _!roLeto estruturado] 2 realmente um esforo manual !ara corrigir es!ecifica0es narrati.as mal feitas1 Pode?se notar isso na figura I1@E Mue descre.e os detal"es do !roLeto estruturado F$/ser.e Mue essa figura consiste em detal"es do !rocesso @ da figura I1:O1 8a figura I1@E a ati.idade @19 Frotulada C$DIFICAT E'PECIFI CA()$ F78CI$8A-O re!resenta uma tarefa Mue os !roLetistas tin"am de fa&er tem!os atrs> transformar um documento narrati.oE monolXti coE am/Xguo e redundante em um modelo 3tilE no !roceduralE !ara ser.ir como /ase na deri.ao da "ierarMuia dos mYdulos Mue im !lementaro os reMuisitos dos usurios1 Em outras !ala.rasE as !essoas Mue utili&am !roLeto estruturado tAm !resumidoE tradicionalmenteE Mue rece/eriam uma es!ecificao clssica1 Em conseMaAnciaE a !rimeira tarefaE do !onto de .ista delasE 2 transformar essas es!ecifica0es em um !acote de diagramas de fluWo de dadosE dicionrios de dadosE diagramas de entidades?relacionamentos e es!ecifica0es de !rocesso1 Este 2 um tra/al"o mais dificil do Mue .ocA !ossa imaginarV "isto ricamenteE tem sido uma tarefa eWecutada no .cuo1 $s !roLetistasE geralmenteE tin"am !ouco contato com o analista de sistemas Mue escre.ia a longa es!ecificao narrati.a e elesE certamenteE no tin"am contato com o usurio` 9H< de testes !roLeto em!acota sistema Figura I1:> $ ciclo de .ida do !roLeto semi?estruturado $/.iamenteE tal situao est !ronta !ara ser alterada1 A introdu o da anlise estruturada do ti!o moderno de a/ordagem de anlise de sistemas a!resentado neste li.ro ? no conteWtoE e a eW!anso da id2ia de realimentao entre uma !arte do !roLeto e um outroE cria um ti!o inteiramente diferente do ciclo de .ida do !roLeto1 ^ o ciclo de .ida de !roLeto estruturadoE Mue discutiremos a seguir1 9HK eWigAncias de oramentoE cronograma dados de configurao de "ard4are es!ecificao funcional diagramas de fluWo de dados DE *I QAF DIAG*A* diagrama estrutural diagramas de fluWo de dadosE es!ecifica0es de !rocessosE dicionrio de dadosS? @1@ P*$RETA* MnD7-$ diagr estrul dados de configurao Figura I1@> Detal"es da ati.idade de !roLeto 9HD I1J $ CIC-$ DE QIDA DE P*$RET$ E'T*7T7*AIOFO Agora Mue L .imos o ciclo de .ida do !roLeto clssico e o ciclo de .ida de !roLeto semi?estruturadoE estamos !rontos !ara eWaminar o ciclo de .ida estruturadoE Mue 2 mostrado na figura I1J1 EWaminaremos sucintamente as no.e ati.idades e os trAs terminais do ciclo de .ida do !roLetoE como mostrado na figura I1J1 $s terminais consistem em usuriosE gerentes e !essoal da o!erao Fcomo .ocA de .e estar lem/radoE discutimos essas fun0es no ca!Xtulo @O1 Eles so indi.Xduos ou gru!os de indi.iduos Mue fornecem entradas Z eMui!e do !roLeto e Mue so os 3ltimos rece!tores do sistema1 Eles interagem com as no.e ati.idades Mue mostramos na figura I1J1 Cada uma das ati.idades 2 resumida nas se0es seguintes> I1J19 Ati.idade 9> $ -e.antamento Essa ati.idade 2 tam/2m con"ecida como estudo de .ia/ilidade ou estudo inicial das ati.idades1 Ti!icamenteE comea Muando um usurio solicita Mue uma ou mais !artes de sua ati.idade seLam automati&adas1 $s !rinci!ais o/Leti.os da ati.idade de le.antamento so os seguintes> Ident os usurios res!ons.eis e desen.ol.er um _esco!o] inicial do sistema1 Isso !ode en.ol.er a reali&ao de uma s2rie de entre.istas !ara .er Muais usurioFsO esto en.ol.idos no Fou afetados !eloO !roLeto !ro!osto e Muais no esto Pode en .ol.erE tam/2mE o desen.ol.imento de um diagrama de con teWto inicial ? um sim!les diagrama de fluWo de dados do ti!o mostrado na figura J1:E no Mual o sistema inteiro est re!resen tado !or um 3nico !rocesso 1 Ident as atuais deficiAncias no am/iente do usurio1 Con sistirE "a/itualmenteE em uma lista narrati.a sim!les das fun 0es Mue esteLam faltando ou Mue esteLam atuando de modo in satisfatYrio no sistema atual1 Por eWem!loE ela !oderia incluir de clara0es como as Mue se seguem> j $ "ard4are do sistema atual no 2 confi.elE e o fornecedor aca/a de entrar em falAncia1 j 8o 2 !ossX.el efetuar a manuteno do soft4are do sistema atual e no !oderemos mais contratar !rogramadores de ma nuteno Mue concordem em manter soft4are na linguagem de !rogramao usada !ara desen.ol.er o sistema atual1 9HC 99H Figura I1J> $ ciclo de .ida de !roLeto estruturado j $ tem!o de res!osta !ara o sistema atual on?line de entrada de !edidos 2 to ruim Mue muitos clientes desistemE frustra dosE antes de a!resentarem seus !edidos1 j $ sistema atual 2 inca!a& de !rodu&ir relatYrios do go.erno reMuisitados !elo TaW *eform Act do ano !assado1 j $ sistema atual 2 inca!a& de rece/er relatYrios de limite de cr2dito do de!artamento de conta/ilidade e no !ode !rodu&ir os relatYrios de taman"o m2dio de !edidos !ara o de!artamento de comerciali&ao1 j Esta/elecer metas e o/Leti.os !ara um no.o sistema1 Isto !ode ser tam/2m uma lista narrati.a sim!les constituXda !elas fun0es eWistentes Mue necessitem ser reim!lementadasE no.as fun0es Mue necessitem ser acrescentadasE e crit2rios de desem!en"o !ara o no.o sistema1 j Determinar se 2 !ossX.el automati&ar o sistema eE se assim forE sugerir alguns esMuemas aceit.eis1 Isto en.ol.er algumas esti mati.as grosseiras e a!roWimadas do cronograma e do custo de construo de um no.o sistema e dos /enefXcios a serem o/ti dosV=m ele tam/2m en.ol.er dois ou mais esMuemas F!1eW1E o esMuema do mainframeE o esMuema de !rocessamento dis tri/uXdo etc1O1 A!esar da gerAncia e dos usuriosE muitas .e&esE deseLarem uma estimati.a detal"adaE !recisa neste !ontoE o analista de sistemas ter sorte se !uder estimar o tem!oE os recursos e os custos dentro dos limites de vIHf neste estgio !rimiti.o do !roLeto1 j Pre!arar uma !re.iso do !roLeto Mue ser usada !ara con du&ir o restante do !roLeto1 A !re.iso do !roLeto incluir toda a informao listada acimaE /em como identificar o gerente res !ons.el do !roLeto1 Pode descre.erE tam/2mE os detal"es do ciclo de .ida Mue o resto do !roLeto seguir1 $ le.antamento ocu!aE ti!icamenteE somente If a 9Hf do tem!o e dos recursos de todo o !roLetoE e !ara os !eMuenos e sim!les !ode no ser tam/2m uma ati.idade formal1 EntretantoE mesmo Mue no .en"a a consumir muito do tem!o ou dos recursos o le.antamento 2 uma ati.ida de crXtica> ao fimE a gerAncia !ode decidir cancelar o !roLeto se ele no !arecer atrati.o do !onto de .ista custoG/enefXcio1 Como analista de sistemasE .ocA !ode ou no estar en.ol.ido no le.antamento1 $ usurioE Luntamente com os elementos dos nX.eis a!ro !riados de gerAnciaE !ode tA?lo feito antes mesmo de .ocA ter ou.ido falar so/re o !roLeto1 8o entantoE !ara !roLetos grandes e com!leWosE o le.antamento en.ol.e tanto tra/al"o detal"ado Mue o usurio muitas .e&es solicitar ao analista de sistemas Mue se en.ol.a to logo seLa !ossX.el1 8Ys no discutiremos o le.antamento em mais detal"es neste li.ro1 'e .ocA se en.ol.er nessa ati.idadeE !ode ac"ar 3teis os a!Andices E e C1 Para detal"es adicionaisE consulte lDic%insonE 9CD99E Core e 'tu//eE 9CD@9 e -6ourdonE 9CDD91 999 I1J1: Ati.idade :> Anlise de 'istemas $ !rinci!al !ro!Ysito da ati.idade de anlise 2 transformar as suas duas !rinci!ais entradasE crit2rio do usurio e !re.iso do !roLetoE em uma es!ecificao estruturada1 Isso en.ol.e a modelagem do am/iente do usurio com diagramas de fluWo de dadosE diagramas de entidades? relacionamentosE diagramas dc transi0es dc estado e as outras ferra mentas a!resentadas no ca!Xlulo JV essas ferramentas so co/ertas em detal"es na !arte II1 $ !rocesso !asso a !asso da anlise de sistemas F!1eW1E as su/ati .idades da ati.idade de anlise na figura I1JO 2 discutido na !arte III1 Como .eremosE ele en.ol.e o desen.ol.imento de um modelo am/iental Fdiscutido no ca!Xtulo 9DO e o desen.ol.imento de um modelo com!ortamental Fdiscutido nos ca!Xtulos 9C e :HO1 Esses dois modelos se com/inam !ara formar o modelo essencial Fdiscutido no ca!Xtulo 9KO Mue re!resenta uma descrio formal do Mue o no.o sistema de.e fa&erE in de!endente da nature&a da tecnologia Mue ser usada !ara im!lementar aMueles reMuisitos1 Em acr2scimo ao modelo do sistema descre.endo os reMuisitos do usurioE um mais cuidadoso e detal"ado conLunto de oramentos e cl culos de custo?/enefXcio 2 !re!aradoE geralmenteE ao final da ati.idade de anlise1 Isso 2 estudado em mais detal"es no a!Andice C1 $/.iamenteE como analista de sistemasE isto 2 onde .ocA !oder gastar a maior !arte do seu tem!o1 8o " mais nada a di&er so/re a ati.idade de anlise neste !ontoE uma .e& Mue ele 2 o assunto do restan te deste li.ro1 I1J1@ Ati.idade @> ProLeto A ati.idade de !roLeto ocu!a?se da alocao de !artes da es!ecifi cao Ftam/2m con"ecida como o modelo essencialO aos !rocessadores a!ro!riados F7CP eGou !essoasO e !ara tarefas a!ro!riadas Fou Lo/sE ou !arti0es etcO no interior de cada !rocessador1 8o interior de cada tare faE a ati.idade de !roLeto ocu!a?se com o desen.ol.imento de uma "ierarMuia a!ro!riada de mYdulos de !rograma e interfaces entre esses mYdulos !ara im!lementar a es!ecificao criada na ati.idade :1 Al2m dissoE a ati.idade de !roLeto ocu!a?se com a transformao de modelos de dados de entidades?relacionamentos cm um !roLeto de /anco de dados1 Qer llnmonE 9CDD9 !ara maiores detal"es1 Parte dessa ati.idade ser do seu interesse como analista de siste mas> o desen.ol.imento de alguma coisa c"amada de modelo de im!le mentao do u1surto1 Esse modelo descre.e os !ro/lemas de im!le mentao Mue o usurio se sente firme o suficiente !ara no deiW?los a 99: crit2rio dos !roLetistas e !rogramadores dos sistemas1 $s !rinci!ais !ro/lemas !elos Muais o usurio normalmente est interessado so a es !ecificao da fronteira "omem? mMuina e a es!ecificao da interface "omem?mMuina1 A fronteira "omem?mMuina se!ara as !artes do modelo essencial Mue de.em ser eWecutadas !or uma !essoa Fcomo uma ati.idade manualO das !artes Mue de.em ser im!lementadas em um ou mais com!utadores1 'imilarmcnteE a interface "omem?mMuina 2 uma descrio do formato e da seMaAncia de entradas fornecidas !elos usu rios "umanos ao com!utador F!1eW1E !roLetos de tela e Y dilogo on?line entre o usurio e o com!utadorOE /em como o formato e seMuAncia das saXdas fornecidas !elo com!utador ao usurio1 $ modelo de im!lemen tao do usurio 2 descrito no ca!Xtulo :91 7ma introduo ao !rocesso de !roLeto de sistemas !ode ser en contrada no ca!Xtulo ::1 Material adicional !ode ser encontrado em l6ourdon e ConstantineE 9CDC9E IPage?RonesE 9CDD9E 7ac%sonE 9CKI9 e outros1 I1J1J Ati.idade J1 Im!lementao Essa ati.idade inclui a codificao e a integrao de mYdulos em um resumo !rogressi.amente mais com!leto do sistema final1 Desse modoE a ati.idade J inclui a !rogramao estruturada e a im!lementao to!?do4n1 Como .ocA !ode imaginarE essa 2E ti!icarnenteE uma ati.idade em Mue o analista de sistemas no est en.ol.idoE em/ora eWistam alguns !roLetos Fe algumas organi&a0esO onde a anlise de sistemasE o !roLeto e a im!lementao so feitos !ela mesma !essoa1 Esse tY!ico 2 discutido em mais detal"es no ca!Xtulo :@1 I1J1I Ati.idade I> A Gerao do Teste de Aceitao A es!ecificao estruturada de.e conter todas as informa0es ne cess !ara definir um sistema aceit.el do !onto de .ista do usurio1 8o entantoE uma .e& Mue a es!ecificao ten"a sido geradaE o tra/al"o !ode comear na ati.idade de gerar um gru!o de casos de testes de aceitao a !artir da es!ecificao estruturada1 ;Como o desen.ol.imento dc testes de aceitao !ode ocorrer em !aralelo com as ati.idades de !roLeto e im!lementaoE 2 !ossX.el Mue .ocA !ossa ser designado !ara essa tarefa de!ois dc terminar o desen.ol .imento do modelo essencial na ati.idade :1 $s testes so discutidos em maiores detal"es no ca!Xtulo :@1 99@ ow I1J1< Controle de Tualidade Controle de Mualidade 2 con"ecido tam/2m como teste final ou teste de aceitao1 Esta ati.idade eWige como entrada os dados do teste de aceitao gerados na ati.idade I e um sistema integrado !rodu&ido !ela ati.idade J1 $ analista de sistemas !ode estar en.ol.ido na ati.idade de con trole de MualidadeE mas isso normalmente no acontece1 7m ou mais mem/ros da organi&ao usuria !ode assumir a res!onsa/ilidadeE ou ela !ode ser eWecutada !or um gru!o inde!endente de testes ou !e lo De!artamento de Controle de Tualidade1 ConseMaentementeE no discutiremos a funo de controle de Mualidade em MualMuer outro detal"e1 $/ser.eE a !ro!YsitoE Mue algumas !essoas se referem a esta ati.i dade como controle de Mualidade em .e& de garantia de Mualidade1 In de!endentemente da terminologiaE !recisamos de uma ati.idade !ara garantir Mue o sistema a!resentar o nX.el a!ro!riado de MualidadeV isto 2 o Mue c"amamos neste li.ro de controle de Mualidade1 $/ser.eE tam /2mE Mue 2 im!ortante eWecutar ati.idades de controle de MualidadeE atra.2s de todas as ati.idades iniciais !ara assegurar Mue elas esto sen do reali&adas em um nX.el a!ro!riado de Mualidade1 Desse modoE a ati.idade CT de.e ser reali&ada atra.2s das ati.idades de anliseE !roLeto e !rogramao !ara assegurar Mue o analista est desen.ol.endo es!eci fica0es de alta MualidadeE o !roLetista est desen.ol.endo um !roLeto de alta Mualidade e o !rogramador est escre.endo cYdigo de alta Mua de1 A ati.idade de controle identificada aMui 2 meramente o teste final da Mualidade do sistema1 I1J1K Ati.idade K Descrio dos Procedimentos Por todo este li.ro nYs nos !reocu!amos com o desen.ol.imento de um sistema inteiro ? no somente a !arte automati&adaE mas tam /2m a !arte a ser eWecutada !or !essoas1 Desse modoE uma das ati.i dades im!ortantes a serem reali&adas 2 a gerao de uma descrio for mal das !artes do no.o sistema Mue sero manuaisE e de uma descrio de como os usurios realmente .o interagir com a !arte automati&ada do no.o sistema1 A saXda da ati.idade 2 o manual do usurio1 Como se !ode imaginarE isso 2 tam/2m uma ati.idade na Mual .ocA !oder se en.ol.er como analista de sistemas1 Em/ora no a discutamos mais detal"adamente neste li.roE .ocA !ode consultar li.ros t2cnicos !ara o/ter informa0es adicionais so/re como escre.er os manuais do usurio1 99J I1J1D Ati.idade D> Con.erso de Bancos de Dados Em alguns !roLetosE a con.erso de /ancos de dados en.ol.ia mais tra/al"o Fe mais !laneLamento estrat2gicoO do Mue o desen.ol.imento de !rogramas !ara o no.o sistemaV em outros casosE !oderia no "a.er MualMuer /anco de dados a ser con.ertido1 8o caso mais geralE essa ati.idade eWigeE como entradaE o /anco de dados atual do usurioE /em como a es!ecificao do !roLeto !rodu&ida !ela ati.idade @1 De!endendo da nature&a do !roLetoE .ocA !oder ou no se en.ol .er na ati.idade de con.erso de /anco de dados como analista de sistemas1 EntretantoE no discutiremos essa ati.idade em maiores deta l"es neste li.ro1 I1J1C Ati.idade C> Instalao A ati.idade finalE o/.iamenteE 2 a instalao1 'uas entradas so o manual do usurio !rodu&ido !ela ati.idade KE o /anco de dados con .ertido !rodu&ido !ela ati.idade DE e o sistema a!ro.ado !rodu&ido !ela ati.idade <1 Em alguns casosE entretantoE a instalao !ode significarE sim!lesmenteE uma _!assagem] noturna !ara o no.o sistemaE sem ne n"uma comemoraa ou fanfarraE em outros casosE a instalao !oder ser um !rocesso gradualE com um gru!o de usurios a!Ys o outro rece /endo os manuais do usurioE o "ard4are e sendo treinado no uso do no.o sistema e realmente comeando a us?lo1 I1J19H *esumo do Ciclo de Qida do ProLeto Estruturado ^ im!ortante Mue .ocA .eLa a figura I1J !elo Mue ela 2> um diagra ma de fluWo de dados1 Ela no 2 um fluWogramaV no eWiste im!licao Mue toda a ati.idade 8 de.a terminar antes do inXcio da ati.idade 8t91 Ao contrrioE a rede de fluWos de dados interligando ati.idades im!lica em Mue algumas ati.idades !odem ser eWecutadas em !aralelo1 ^ !or esse as!ecto no seMaencial Mue usamos a !ala.ra ati.idade no ciclo de .ida do !roLeto estruturadoE em lugar da !ala.ra mais con.encional fase1 $ termo fase referia?seE tradicionalmenteE a um !erXodo d tem!o de um !roLeto em Mue uma e somenteuma ati.idade era eWecutada1 EWiste mais alguma coisa Mue de.e ser enfati&ada so/re o uso de um diagrama de fluWo de dados !ara descre.er o ciclo de .ida do !ro Leto1 7m diagrama de fluWo de dados clssicoE tal como o da figura I1JE no mostra eW!licitamente realimentao nem controlk=1 Qirtualmente cada uma das ati.idades na figura I1J !ode !rodu&ir e "a/itualmente !rodu& informa0es Mue !odem causar modifica0es a!ro!riadas a uma 99I ou mais das ati.idades !recedentes1 Desse modoE a ati.idade de !roLeto !ode !rodu&ir informa0es Mue tAm a !ossi/ilidade de causar a re.iso de algumas das decis0es de custoG/eneficio Mue acontecem na ati.idade de anlise1 8a realidadeE o con"ecimento o/tido na ati.idade de !roLeto !ode at2 eWigir a re.iso das !rimeiras decis0es so/re a .ia/ilidade /si ca do !roLeto1 8a realidadeE nos casos eWtremosE certos e.entos Mue acontecem em MualMuer ati.idade !odem causar o t2rmino re!entino de todo o !roLeto1 A entrada da gerAncia 2 mostrada somente !ara a ati.idade de anlise !or ser a 3nica ati.idade Mue necessita de dados da gerAnciaV !resume?seE entretantoE Mue a gerAncia eWera controle so/re todas as ati.idades1 *esumindoE entoE a figura I1J somente nos informa aFsO entradaFsO necessriaFsO a cada ati.idade e aFsO saXdaFsO !rodu&idas1 A seMaAncia de ati.idades !ode estar en.ol.ida a!enas na eWtenso em Mue a !resena ou ausAncia de dados torna !ossX.el o inXcio de uma ati.idade1 I1I IMP-EME8TA()$ *ADICA- QE*'7' T$P?D$58 C$8'E*QAD$*A 8a seo anteriorE mostrei Mue o iclo de .ida do !roLeto estrutura do !ermite Mue mais de uma ati.idade ocorra de cada .e&1 DeiWe?me di&er isso de uma outra maneira> na situao mais eWtremaE todas as ati.idades do ciclo de .ida do !roLeto estruturado !odem acontecer simultaneamente1 8o outro eWtremoE o gerente do !roLeto !ode decidir a adoo da a/ordagem seMaencialE com o t2rmino de toda uma ati.idade antes do inXcio de uma outra1 ^ !rtico ter?se uma terminologia !ara aLudar na discusso so/re esses eWtremosE /em como so/re com!romissos entre os dois eWtremos1 7ma a/ordagem radical do ciclo de .ida do !roLeto estruturado 2 uma em Mue as ati.idades de 9 a C tAm lugar em !aralelo desde o inXcio do !roLetoE isto 2E a codificao comea no !rimeiro dia do !roLeto e o le.antamento e a anlise continuam at2 o 3ltimo dia do !roLeto1 Em contrasteE numa a/ordagem con1ser.adora de ciclo de .ida do !roLeto estruturadoE toda a ati.idade 8 2 com!letada antes do inXcio da ati.idade 8t91 $/.iamenteE nen"um gerente de !roLeto em seu LuX&o !erfeito ado taria MualMuer desses dois eWtremos1 $ Mue 2 !reciso entender 2 Mue os eWtremos radical e conser.ador definidos acima so as duas !ontas de um leMue de escol"as ? isso est ilustrado na figura I1I1 EWiste um n3mero infinito de escol"as entre os eWtremos radical e conser.ador1 7m gerente de !roLeto !oderia decidir finali&ar KIf da ati.idade de le.anta mentoE seguidos !ela com!lementao de KIf de anlise de sistemasE eE 99< em seguidaE KIf do !roLetoE a fim de !rodu&ir uma ra&o.el .erso redu&ida de um sistema cuLos detal"es !oderiam ser a!erfeioadosE em seguidaE !or um segundo !asso atra.2s do ciclo de .ida do !roLeto1 $uE o gerente !oderia decidir terminar todo o le.antamento e a anliseE seguida !ela com!lementao de IHf do !roLeto e IHf da im!lemen tao1 As !ossi/ilidades so .erdadeiramente intermin.eis` 7-T*A M$DE*ADAME8TE M$DE*ADAME8TE 7-T*A *ADICA- *ADICA- C$8'E*QAD$*A C$8'E*QAD$*A Figura I1I> $!0es de im!lementao radical e consei.adora Como um gerente de !roLeto decide se adota uma a/ordagem radi cal ou uma a/ordagem conser.adora[ BasicamenteE no " uma res!osta eWata1 A deciso 2 "a/itualmente /aseada nos seguintes fatores> j Tuo inconstante 2 o usurio[ j Tual 2 a !resso so/re a eMui!e do !roLeto !ara !rodu&ir resul tados imediatos e tangX.eis[ j Tual 2 a !resso so/re o gerente do !roLeto !ara !rodu&ir um cronogramaE um oramento e a.aliao de !essoas e outros recursos[ j Tuais so os !erigos de ser cometido um grande erro t2cnico[ Como .ocA !ode !erce/erE nen"uma dessas !erguntas tem uma res!osta sim!les e direta1 Por eWem!loE no se !ode !erguntar ao usu rio do sistemaE em uma con.ersa casual> \A !ro!YsitoE Muo inconstante .ocA est "oLe[] Por outro ladoE o gerente do !roLeto de.e estar a!to a a.aliar a situaoE com /ase na o/ser.aoE es!ecialmente se ele for um .eterano Mue negociou com muitos usurios e com muitos gerentes de nX.el su!erior antes1 'e o gerente do !roLeto conclui Mue est tratando com um usurio inconstante ? um cuLa !ersonalidade 2 do ti!o Mue adia as decis0es finais at2 Mue ele .eLa como o sistema .ai funcionar ? ele !ro.a.elmen te o!taria !or uma a/ordagem mais radical1 $ mesmo .ale se o gerente esti.er lidando com um usurio ineW!erienteE Mue ten"a tido muito !ou cos sistemas construXdos !ara ele1 Por Mue le.ar anos desen.ol.endo um conLunto a/solutamente !erfeito de es!ecifica0es somente !ara des co/rir Mue o usurio no entendeu o significado das es!ecifica0es[ 99K 'eE entretantoE o gerente esti.er tratando com um usurio .eterano Mue est a/solutamente seguro do Mue MuerE e se o usurio tra/al"a em uma rea de negYcios est.el e Mue dificilmente se modificar radical? mente em !erXodos mensaisE ento o !roLeto !ode rece/er uma a/orda gem mais conser.adora1 Certamente eWistem muitas situa0es interme dirias> o usurio !ode ter certe&a de algumas fun0es comerciais a se rem reali&adasE mas !ode se sentir um !ouco inseguro a res!eito dos ti!os de relatYrios e informa0es gerenciais Mue gostaria Mue o sistema fornecesse1 $uE se o usurio esti.er familiari&ado com os sistemas de !rocessamento /atc"E ele !oderia se sentir inseguro do im!acto Mue um sistema on?line teria na em!resa1 Al2m da inconstPncia eWiste um segundo fator a ser considerado> a !resso !ara !rodu&ir resultados imediatos e !al!.eis1 'eE de.ido a !ress0es !olXticas ou outras !ress0es eWternasE a eMui!e de !roLeto !reci sar sim!lesmente acelerar um !roLeto e eWecut?lo em uma data es!ecXfi caE ento 2 recomend.el uma a/ordagem um tanto radical1 $ gerente do !roLeto ainda corre o risco de ter somente CHf do sistema com!leto Muando c"egar a data fatalE masE ele !elo menos ter um sistema funcio nando em CHfE o Mue !oder ser demonstrado e tal.e& at2 !osto em !roduo1 Isto 2 normalmente mel"or do Mue ter terminado toda a an lise de sistemasE todo o !roLeto e todo o cYdigoE !or2m nada de testes1 8aturalmenteE todos os !roLetos esto so/ alguma !resso !or re sultados tangX.eisV 2 sim!lesmente uma Muesto de grauE e 2 um as!ecto Mue !ode ser /astante dinPmico1 7m !roLeto se Mue inicia com /aiWa intensidadeE com um cronograma confort.elE !ode de re!ente tornar?se de alta !rioridade e ter a data limite adiantada em seis meses ou em um ano1 7ma das .antagens de fa&er a anlise de sistemasE o !roLetoE a codi ficao e a im!lementao to!?do4n 2 Mue se !ode !arar uma ati.idade em MualMuer !onto e deiWar os detal"es restantes !ara considera0es su/seMaentesV enMuanto issoE a anlise de sistemas de alto nX.el Mue te n"a sido com!letada !ode ser usada !ara comear o !roLeto de alto nX.elE e assim !or diante1 $utro fator em gerenciamento de !roLeto 2 o reMuisito sem!re !resenteE em organi&a0es maioresE !ara !rodu&ir cronogramasE a.alia 0esE oramentos e coisas semel"antes1 Em algumas organi&a0esE isso tende a ser feito de uma forma considera.elmente informalE ti!icamente !orMue os !roLetos so relati.amente !eMuenos e !orMue a direo sente Mue MualMuer erro de a.aliao te= um im!acto insignificante em toda a organi&ao1 8esses casosE !o e?se adotar uma a/ordagem radicalE mesmo Mue as estimati.as seLan a!enas adi.in"a0es1 Em contrasteE !roLetos maiores necessitam de estimati.as relati.amente detal"adas de reMuisitos de !essoalE recursos de com!utador e assim !or dianteV e isso sY !ode ser feito de!ois Mue ti.erem sido feitos o le.antamentoE a anlise e o !roLeto detal"ados1 Em outras !ala.rasE Muanto mais detal"adas e 99D eWatas ti.erem ue ser as estimau.asE mais !ro.a.ei sera Mue o !roLeio siga uma a/ordagem conser.adora1 FinalmenteE o gerente de !roLeto de.e considerar o !erigo de cometer um erro t2cnico maior1 Por eWem!loE su!on"a Mue toda a sua eW!eriAncia anterior como gerente de !roLeto ten"a sido com um !eMue no sistema de !rocessamento /atc" em um IBM '#stemG@<1 E agoraE su/itamenteE se encontre com a incum/Ancia de desen.ol.er um sistema de informa0es gerenciais de /anco de dados distri/uXdo de multi!ro cessamento de tem!o? real on?line Mue !rocessar : mil"0es de transa 0es !or diaE a !artir de I1HHH terminais es!al"ados !elo mundo1 Em tais situa0esE um dos !erigos da a/ordagem radical 2 desco/rir uma grande fal"a de !roLeto de!ois Mue uma grande !arte do sistema inicial de alto nX.el ter sido im!lementado1 Ele !ode desco/rirE !or eWem!loE Mue !ara o seu mara.il"oso siste ma funcionarE um mYdulo de /aiWo nX.el tem de eWecutar sua tarefa em 9C microssegundos ? !or2m seus !rogramadoresE de re!enteE a.isam Mue no eWistem meios de codificar um mYdulo to eficiente ? no em C$B$-E nem em CE e nem mesmo em Fug"`O linguagem assem/l#1 En toE ele de.e estar atento ao fato de Mue a adoo da a/ordagem radical eWige Mue seus analistas de sistemas e !roLetistas escol"am um _to!] !ara o seu sistema relati.amente cedo rio LogoE e eWiste sem!re o !erigo de desco/rirE na descida at2 a /aseE Mue eles escol"eram o to! errado` 8o entantoE considere um outro cenrio> o gerente de !roLeto deci diu construir um sistema de PED com um no.o "ard4areE um no.o sistema o!eracionalE um sistema de gerenciamento de /anco de dados F!rodu&ido !or algu2m Mue no o fornecedor do "ard4areO e um no.o !acote de telecomunica0es F!rodu&ido !or um outro fornecedorO1 Todos os fornecedores tAm manuais atraentes e lustrosos descre.endo seus !rodutosE mas eles nunca interfacearam seus res!ecti.os !rodutos de "ard4are e soft4are1 Tuem sa/e se eles tra/al"aro Luntos[ Tuem sa/e se a taWa de desem!en"o a!regoada !or um fornecedor ser des truXda !elos recursos de sistema usados !or um dos demais fornecedo res[ CertamenteE em um caso como esseE o gerente de !roLeto !oderia escol"er uma a/ordagem radicalE de modo Mue a .erso inicial do siste ma !udesse ser usada !ara eW!lorar !ossX.eis !ro/lemas de interface e de interao entre os com!onentes dos fornecedores1 'e o gerente do !roLeto esti.er na direo de um ti!o familiar de sistemaE algo assim como o seu sistema de !agamentoE entoE !ro.a.el menteE ter uma /oa id2ia so/re Muo realistas so suas metas1 ^ !ossX.el Mue se lem/re de seu 3ltimo !roLetoE Mue es!2cies de mYdulos ir !reci sar no nX.el detal"adoE e lem/rar?se? com muita clare&a de como se !arecia a estrutura de sistema de alto nX.el1 8esse casoE ele !ode estar !retendendo aceitar os riscos de cometer um engano !or causa dos outros /enefXcios Mue a a/ordagem radical .ai l"e oferecer1 99C *esumindoE a a/ordagem radical 2 mais a!ro!riada !ara !esMuisas e esforos de desen.ol.imento de !ouca montaE em Mue ningu2m esteLa com!letamente seguro do Mue o sistema final de.er fa&er1 Tam/2m 2 indicada !ara am/ientes em Mue alguma coisa de.e estar funcionando em uma certa data e em situa0es onde a !erce!o do usurio so/re o Mue ele deseLa Mue o sistema faa est suLeito a altera0es1 A a/ordagem conser.adoraE !or outro ladoE tende a ser usada em grandes !roLetosE nos Muais Muantias macias de din"eiro !odem ser gastas e !ara os Muais seLam necessrios anlise e !roLeto cuidadosos !ara !re.enir desastres su/seMaentes1 8o entantoE cada !roLeto 2 diferente e eWige sua !rY!ria mistura indi.idual de im!lementao to!?do4n radical e conser.adora1 Para lidar com a nature&a indi.idual de MualMuer !roLetoE o gerente do !roLeto de.e estar !re!arado !ara modificar sua a/ordagemE a meio do camin"oE se necessrio for1 I1< $ CIC-$ DE QIDA DA P*$T$TIPA()$ 7ma .ariao da a/ordagem to!?do4n discutida acima tornou?se con"ecida " !oucos anos atrs1 ^ geralmente con"ecida como a/orda gem de !mtot e foi !o!ulari&ada !or Bernard BoarE Rames Martin e outros1 Como a descre.e Boar em d 9CDJe> _7ma a/ordagem alternati.a !ara a definio de reMuisitos 2 o/ter um conLunto inicial de necessidades e im!lement?las ra!ida mente com a inteno declarada de eW!andi?las e refin?las iterati.a mente Z !ro!oro do aumento do con"ecimento m3tuo do sistema !or !arte do usurio e do desen.ol.edor1 A definio do sistema ocorre atra.2s da desco/erta gradual e e.oluti.a em o!osio Z !re.iso onisciente111 Esse ti!o de a/ordagem 2 c"amada de !rotoci !ao1 Ela tam/2m 2 con"ecida como modelagem de sistemas ou desen.ol.imento "eurXstico1 Ela oferece uma alternati.a atraente e funcional !ara m2todos de !r2?es!ecificao !ara Mue se !ossa lidar mel"or com a incerte&aE a am/igaidade e a inconstPncia dos !ro Letos do mundo real]1 'o/ .rios as!ectosE isso se assemel"a eWatamente Z a/ordagem radical to!?do4n discutida na seo acima1 A !rinci!al diferena 2 Mue a a/ordagem estruturada discutida neste li.ro !resume MueE mais cedo ou mais tardeE ser construXdo um com!leto modelo de !a!el do sistema Fisto 2E um com!leto conLunto de diagramas de fluWo de dadosE diagra mas de entidades?relacionamentosE diagramas de transi0es de estadoE es!ecifica0es de !rocessos etcO1 $ modelo ficar com!leto mais cedo com a a/ordagem conser.adora e mais tarde com a a/ordagem radical mas no final do !roLeto eWistir um conLunto formal de documentos Mue 9:H su/sistir !ara sem!re com o sistema enMuanto ele su!ortar manuteno e re.iso1 A a/ordagem de !rototi!aoE !or outro ladoE Muase sem!re !res su!0e Mue o modelo ser um modelo Mue funcioneE isto 2E uma coleo de !rogramas de !rocessamento Mue simularo alguma ou todas as fun 0es Mue o usurio deseLe1 MasE como aMueles !rogramas de !rocessa mento so !retensamente a!enas um modeloE " tam/2m a su!osio de MueE Muando a modelagem esti.er terminadaE os !rogramas sero des!re&ados e su/stXtuXdos !or !rogramas *EAI'1 $s !rototi!adores normalmente se utili&am dos seguintes ti!os de ferramentas de soft4are> j 7m dicionrio de dados integrado j 7m gerador de tela j 7m gerador de relatYrios no?!rocedural j 7ma linguagem de !rogramao de Muarta gerao j 7ma linguagem de consultas no?!rocedural j *ecursos !oderosos de gerenciamento de /anco de dados $ ciclo de .ida da !rototi!ao !ro!osto !or Boar 2 mostrado na figura I1<1 Ele comea com uma ati.idade de le.antamentoE semel"ante Z Mue foi !ro!osta neste li.roV segue?se imediatamente uma determinao se o !roLeto 2 um /om candidato !ara a a/ordagem de !rototi!ao1 $s /ons candidatos !ara a a/ordagem de !rotou!ao so !roLetos Mue tAm as seguintes caracterXsticas> j $ usurio no 2 ca!a& ou no deseLa eWaminar modelos a/stra tos de !a!el como diagramas de fluWo de dados1 j $ usurio no 2 ca!a& ou no deseLa articular Fou _!r2?es!ecifi car]O seus reMuisitos de MualMuer forma e sY !ode determin?los atra.2s de um !rocesso de tentati.a e erro1 $uE como meu cole ga Bo/ '!urgeon costuma di&erE essa 2 a situao onde o usu rio di&E]Eu no sei o Mue MueroE mas eu sa/ereiE se o .ir`]1 j $ sistema est !re.isto !ara ser on?line com ati.idades de termi nal em tela c"eiaE em o!osio a sistemas /atc" de edioE atu ali&ao e emisso de relatYrios1 FTuase todas as ferramentas de soft4are da !rototi!ao so orientadas !ara a a/ordagem on une dirigida !or /anco de dados e orientada !ara terminaisV 9:9 P9 P*I 8)$ 8)$ 'IM Figura I1<V $ ciclo de .ida da !rot 'IM 9:: eWistem !oucas ferramentas de soft4are oferecidas !elos forne cedores !ara aLudar a construir !rotYti!os de sistemas /atc"O1 j $ sistema no eWige a es!ecificao de grandes Muantidades de detal"amento algoritmicoE isto 2E a escrita de in3meras es!ecifi ca0es de !rocessos !ara descre.er os algoritmos !elos Muais sero criados os resultados de saXda1 Desse modoE o a!oio Z de cisoE a recu!erao ad /oc e os sistemas de gerenciamento de registros so /ons candidatos Z !rototi!ao1 $s /ons candida tos tendem a ser os sistemas nos Muais o usurio est mais inte ressado no formato e na diagramao da entrada de dados !or terminal de .Xdeo e nas telas de saXda e mensagens de erro do Mue na com!utao /sica reali&ada !elo sistema1 ^ im!ortante o/ser.ar Mue o ciclo de .ida da !rototi!ao mostra do na figura I1< conclui !ela entrada na fase de !roLeto de um ciclo de .ida estruturado ;tradicional] do ti!o descrito neste li.ro1 IssoE es!ecifi camenteE significa Mue o !rotYti!o no 2 feito !ara um sistema o!erati .oE ele 2 feito unicamente como um meio de modelar os reMuisitos do usurio1 A a/ordagem de !rototi!ao certamente tem .alor em .rias si tua0es1 Em alguns casosE o gerente do !roLeto !ode Muerer usar a a/or dagem de !rototi!ao como uma alternati.a Z a/ordagem de anlise estruturada descrita neste li.roV em outros casos !ode Muerer us?lo em com/inao com o desen.ol.imento de modelos em !a!el como os diagramas de fluWo de dados1 Ten"a em mente os seguintes !ontos> A a/ordagem to!?do4n descrita na seo anterior 2 uma outra forma de !rototi!aoE mas ao in.2s de usar ferramentas ofere cidas !or um fornecedorE tais como geradores de telas e lin guagens de Muarta geraoE a eMui!e de !roLeto usa o !rY!rio sistema como seu !rY!rio !rotYti!o1 Isto 2E as di.ersas .ers0es de um sistema inicial fornecem um modelo Mue funcionaEcom o Mual o usurio !ode interagir !ara o/ter uma id2ia mais rea lista das fun0es do sistema do Mue !oderia ter com um modelo de !a!el1 j $ ciclo de .ida da !rototi!aoE como descrito acimaE en.ol.e o desen.ol.imento de um modelo de tra/al"o Mue 2E de!oisE descartado e su/stituXdo !or um sistema de !roduo1 EWiste o significati.o !erigo de o usurio ou a eMui!e de desen.ol.imen to tentarem transformar o !rY!rio !rotYti!o em sistema em !ro duo1 Isto normalmente se con.erte em um desastre !orMue o !rotYti!o no !ode mani!ular eficientemente grandes .olumes 9:@ de transa0esE e !orMue ele carece de detal"es o!erati.os corno recu!erao de errosE auditoriasE facilidades de /ac%u!GrestartE documentao do usurio e !rocedimentos de con.erso1 'e o !rotYti!o for de fato descartado e su/stituido !elo sistema de !roduoE eWiste um real !erigo de Mue o !roLeto !ossa ter minar sem ter um registro !ermanente dos reMuisitos do usurio1 Isso !ro.a.elmente tornar a manuteno cada .e& mais difXcil com o !assar do tem!o F!1eW1E de& anos a!Ys o sistema ter sido construXdoE ser difXcil !ara os !rogramadores de manuteno incor!orarem uma alteraoE !orMue ningu2mE incluindo os usurios da _segunda gerao] Mue esto agora tra/al"ando com o sistemaE !odero lem/rar?se do Mue o sistema se !ro!un"a a fa&er em sua origemO1 $ ciclo de .ida a!resentado neste li.ro 2 /aseado na id2ia de Mue os modelos em !a!el desen.ol.idos na ati.idade de anlise sero no a!enas entradas !ara a ati.ida de de !roLetoE mas sero tam/2m conser.ados Fe modificadosE Muando necessrioO durante a manuteno contXnua1 De fatoE os modelos !odem so/re.i.er ao sistema Mue os im!lementa e !odem ser.ir como es!ecificao !ara o sistema su/stituto1 I1K *E'7M$ $ !rinci!al !ro!Ysito deste ca!Xtulo foi !ro!orcionar uma .iso geral dos ciclos de .ida de !roLeto em geral1 'e .ocA eWaminar o ciclo de .ida de !roLeto formal em MualMuer em!resa de desen.ol.imento de sistemasE .ocA !oder afirmar se ele !ertence ao ti!o clssicoE semi?es truturadoE estruturado ou de !rototi!ao1 'e seus !roLetos sY !ermitem uma ati.idade de cada .e&E a discus so so/re im!lementao to!?do4n radical e im!lementao to!?do4n conser.adora na seo I1< !ode tA?lo confundido1 Esse foi o meu inten toE !orMue o !rinci!al o/Leti.o daMuela seo foi fa&er .ocA !ensar so/re a !ossi/ilidade de so/re!or algumas das !rinci!ais ati.idades de um !roLeto de desen.ol.imento de sistemas1 E.identementeE 2 mais difXcil gerenciar MualMuer !roLeto Mue ten"a di.ersas ati.idades acontecendo em !aralelo ? masE at2 certo !ontoE isso sem!re acontece em todo !roLeto1 Ainda Mue o gerente de !roLeto decida Mue seu !essoal concen trar todos os esforos em uma ati.idade im!ortante de cada .e&E "a.er sem!re algumas su/ati.idades acontecendo em !aralelo1 M3lti!los ana listas de sistemas estaro entre.istando m3lti!los usurios simultanea menteV .rias !artes do !roduto final da anlise de sistemas estaro em di.ersos estgios de !rogresso !or toda a fase de anlise1 7ma das tarefas do gerente de !roLeto 2 eWercer suficiente controle so/re essas 9:J su/ati.idades !ara assegurar Mue elas se aLustem Z !erfeio1 E .irtualmente em todo !roLeto de PEDE essa mesma es!2cie de ati.idade !aralela funciona em nX.el mais ele.ado tam/2mV isto 2E a des!eito do Mue o ciclo de .ida de !roLeto formal da organi&ao !ossa ter reco mendadoE a realidade 2 Mue muitas das !rinci!ais ati.idades do !roLeto se su!er!0em em certo grau1 8o o/stanteE se o gerente de !roLeto resol.er insistir em uma !rogresso estritamente seMaencial das ati .idades de !roLetoE o ciclo de .ida do !roLeto a!resentado neste li.ro continuar .lido1 Para maiores detal"es so/re ciclos de .ida de !roLetosE consul te d 9CD9e e E6ourdonE 9CDD91 $ conceito 2 tam/2m co/erto em di.ersos li.ros so/re engen"aria de soft4are e gerenciamento de !roLeto1 *EFE*b8CIA' 91 Ed4ard 6ourdon e -arr# -1 ConstantineE 'tructurecl Design> Funda mentais and A!!lications in 'oft4are EngineeringE := ed1 Engle 4ood CliffsE 81R1> 6$7*D$8 PressE 9CDC1 :1 Meilir Page?RonesE T"e Practical Guide lo 'truclured '#stems De signE :9 ed1E Engle4ood CliffsE 81R1> 6$7*D$8 PressE 9CDD1 @1 Bernard BoarE A!!lication Pmtot *eadingE Mass1> Addison? 5esle#E 9CDJ1 J1 Rames Grier MilIerE R1i.in '#stems1 8o.a lorMue> McGra4?,illE 9CKD1 I1 Brian Dic%insonE De.elo!ing 'truclureci '#stems1 8o.a lorMue> 6$7*D$8 PressE 9CD91 <1 Ed4ard 6ourdonE Managing t"e '#stems - C#cleE : ed1 En gle4ood CliffsE 81R1> Prentice?,allE 9CDD1 K1 Rames Grier MillerE -i.ing '#stems1 8o.a lorMue> McGra4?,illE 9CKD1 D1 Mic"ael Rac%sonE Princ ofPmgram Design1 8o.a lorMue> Aca demic PressE 9CKI1 C1 5inston 51 *o#ceE _Managing t"e De.elo!ment of -arge 'oft4are '#stemslE ProceedingsE IEEE 5esconE agosto de 9CKHE !gs1 9?C1 9H1 Barr# Boe"mE 'oft4are EngineerXng Economics1 Engle4ood CliffsE 81R1> Prentice? ,allE 9CD91 991 Bili InmonE Information EngineerinEg for t"e Practitioner Putl&ng T/eot# Into Practice1 Engle4ood CliffsE 81R1> Prentice?,allE 9CDD1 9:1 Mar.in Gore e Ro"n 'tu//eE Elements of '#stems Anal#sisE @= ed1 Du/uMueE Io4a> 5illiam Bro4nE 9CD@1 9:I PE*G78TA' E EXE*CcCI$' 91 A!resente dois sinNnimos !ara metodologia1 :1 Tual 2 a diferena entre uma ferramentaE como usada no conte deste li.roE e uma metodologia[ @1 Tuais so os trAs !rinci!ais o/Leti.os do ciclo de .ida de u !roLeto[ J1 ProLeto de !esMuisa> encontre o !reo de trAs !rodutos comercia de metodologia oferecidos !or fornecedores de soft4are ou ! firmas de consultoria1 I1 Por Mue as menores organi&a0es de !rocessamento de dadosE !icamenteE no usam metodologias formais[ <1 Por Mue uma metodologia 2 3til !ara no.os gerentes[ K1 Por Mue 2 im!ortante ter uma metodologia em uma organi&a com muitos !roLetos diferentes em andamento[ D1 Por Mue 2 3til ter?se uma metodologia !ara controlar !roLetos[ C1 Tuais so as maiores caracterXsticas Mue distinguem o ciclo de .i clssico[ 9H1 $ Mue significa im!lementao /ottom?u![ 991 Tuais so as Muatro maiores dificuldades com a estrat2gia de ir !lementao /ottom?u![ 9:1 Tue es!2cie de am/iente 2 a!ro!riado !ara a a/ordagem de ir !lementao /ottom?u![ 9@1 Tual 2 a im!ortPncia de _nada est !ronto at2 Mue esteLa com!l to]E Mue caracteri&a a a/ordagem /ottom?u![ 9J1 Por Mue os erros tri.iais de.em ser encontrados !rimeiro na fase testes de um !roLeto[ 9I1 Tual 2 a diferena entre testes e de!urao de erros[ 9<1 Por Mue a de!urao de erros 2 difXcil na im!lementai /ottom?u![ 9K1 $ Mue significa a eW!resso _!rogresso seMaencial] ao se descr .er o ciclo de .ida de um !roLeto[ 9D1 Tuais so os dois !rinci!ais !ro/lemas da !rogresso seMaencia 9C1 Tuais so as !rinci!ais diferenas entre o ciclo de .ida clssico e semi?estruturado[ :H1 Tuais so as duas !rinci!ais conseMaAncias da a/ordagem de ir !lementao to!?do4n[ :91 Por Mue a ati.idade de !roLeto no ciclo de .ida semi?estruturac muitas .e&es en.ol.e tra/al"o redundante[ ::1 Tuais so as !rinci!ais diferenas entre o ciclo de .ida semi?estr turado e o estruturado[ :@1 A!resente as no.e ati.idades do ciclo de .ida de !roLe estruturado1 9:< :J1 Tuais so os trAs ti!os de !essoas Mue fornecem as entradas !rinci !ais do ciclo de .ida de um !roLeto[ :I1 Tuais so os cinco !rinci!ais o/Leti.os da ati.idade de le.an tamento[ :<1 $ Mue 2 um diagrama de conteWto[ :K1 Tual 2 o !rinci!al !ro!Ysito da ati.idade de anlise[ :D1 Tuais so os ti!os de modelos !rodu&idos !ela ati.idade de anlise[ :C1 Tual 2 o !ro!Ysito da ati.idade de !roLeto[ @H1 Tuais so os dois !rinci!ais !ro/lemas nos Muais o usurio est ti !icamente interessado na ati.idade de !roLeto[ @91 Tuando !ode se iniciar a gerao dos testes de aceitao Fati.idade IO[ @:1 Tual 2 o !ro!Ysito da ati.idade de descrio de !rocedimentos[ @@1 Por Mue foi usado um DFD na figura I1J !ara mostrar o ciclo de .ida de !roLeto estruturado[ @J1 DA um sinNnimo .lido !ara ati.idade1 @I1 Por Mue 2 im!ortante a realimentao no ciclo de .ida de !roLeto estruturado[ @<1 Tual 2 a diferena entre a a/ordagem conser.adora e radical do ciclo de .ida de !roLeto estruturado[ @K1 Tuais so os Muatro !rinci!ais crit2rios !ara escol"a da a/ordagem radical .ersu1s a a/ordagem conser.adora @D1 QocA !ode imaginar MuaisMuer crit2rios adicionais Mue !oderiam ser usados !ara escol"a de uma a/ordagem radical .ersus uma a/ordagem conser.adora[ @C1 Tue es!2cie de a/ordagem Fradical .ersus conser.adoraO de.eria um gerente de !roLeto escol"er se "ou.esse a !ossi/ilidade de o usurio alterar sua o!inio so/re os reMuisitos do sistema[ JH1 Tue es!2cie de a/ordagem Fradical .ersus conser.adoraO de.eria um gerente de !roLeto escol"er se o !roLeto esti.esse so/ fortes !ress0es de tem!o[ J91 Tue es!2cie de a/ordagem Fradical .ersu1s conser.adoraO de.eria um gerente de !roLeto escol"er se o !roLeto se defrontasse com grandes riscos t2cnicos[ J:1 Tual 2 a diferena entre ciclo de .ida de !rototi!ao e ciclo de .ida radical[ J@1 Tuais as caracterXsticas Mue tem o !roLeto de !rototi!ao ideal[ JJ1 Tue es!2cie de ferramentas so ti!icamente necessrias usadas em um !roLeto de !rototi!ao[ JI1 Por Mue no so os sistemas /atc" /ons candidatos !ara !roLetos de !rototi!ao[ J<1 Tuais so os !erigos da a/ordagem de !rototi!ao[ 9:K JK1 Como !odem ser usados Luntos em um !roLeto a a/ordagem de !rotou!ao e o ciclo de .ida de !roLeto estruturado 8$TA' Isso fa& !arecer Mue a anarMuia !re.alece na maioria das em!resas de PED1 EntretantoE eWistem duas situa0es comuns Mue condu&em a essa a/ordagem indi.idualista mesmo nas em!resas mais eWem!lares> F9O a organi&ao altamente descentrali&adaE onde to do de!artamento tem seu !rY!rio gru!o de PED com seus !rY!rios !adr0es locais e F:O o !erXodo dc .rios anos imediatamente a!Ys o 3ltimo _ciclo de .ida de !roLeto oficial] ter sido considerado como um fracasso eE !ortantoE dis!ensado1 : EWistem di.ersos !acotes desse ti!o no mercadoE custando de q9H1HHH a q9HH1HHH ou mais1 Alguns dos mais con"ecidos eWem!los so o '!ectrum Fda '!ectrum International Cor!OE '$M?KH Fda AG' 'oft4areOE e Met"odG9 Fda Art"ur AndersenO1 8o farei comentrios so/re MualMuer !acote es!ecifico de gerenciamento de !roLetoV A!enas sugiro Mue .ocA guarde os conceitos a!resentados nes te li.ro se a sua organi&ao usa um !acote adMuirido de um fornecedor1 @ Miller indica em d 9CKD9 Mue isso 2 um fenNmeno comumen te o/ser.adoV de fatoE ele o a!resenta como uma _"i!Ytese] geral a!lic.el a todos os sistemas .i.os> ,IPnTE'E :?9> Com!onentes de sistemas inca!a&es de se associa remE ou carentes da eW!eriAncia Mue formou tais associa0esE de.em funcionar so/ rXgida !rogramao ou regras o!eracionais fortemente !adroni&adas1 'egue?se Mue Muando a modificao de com!onentes se coloca acima da taWa na Mual esses com!onentes !odem desen .ol.er as associa0es necessrias !ara a o!eraoE a rigide& da !ro gramao aumenta1 J De fatoE a orientao da maioria dos !roLetos de PED 2 de Mue "aLa a!enas um !onto de .erificao em Mue o usurio tem um camin"o Y/.io e claro de recuo> ao fim da fase de le.antamento ou de estu do de .ia/ilidade1 TeoricamenteE contudoE o usurio de.e ter a o!ortunidade de cancelar um !roLeto de PED ao fim de MualMuer faseE se ele considerar Mue est !erdendo din"eiro1 I Muitos consideram Mue a metodologia /ottom?u! tam/2m !ode ser originria da ind3stria de "ard4are de com!utadoresE !orMue muitos dos !rimeiros !rogramadores de com!utador e gerentes de !rogramao nos anos IH e <H eram engen"eiros el2tricos Mue se "a.iam anteriormente en.ol.ido no desen.ol.imento de "ard4are1 9:D < Estou con.encido Mue ainda " uma outra lei do ti!o Mur!"# Mue se a!lica nesse as!ecto> Muanto maior e mais crXtico for o !roLeto mais !ro.a.elmente sua data limite coincidir com o !rocessamen to de fim de ano e outras crises organi&acionais Mue consumiro todo o tem!o do com!utador1 K Essas t2cnicas modernas de desen.ol.imento sero .istas em forma resumida no ca!Xtulo K1 D As t2cnicas de entre.istas so discutidas no a!Andice E1 C $ diagrama de conteWto fa& !arte do modelo am/iental Mue es tudaremos em detal"es no ca!Xtulo 9D1 'eu !rinci!al !ro!YsitoE como indicado aMuiE 2 definir o cam!o de a!licao do sistema Fo Mue est no sistema e o Mue est fora do sistemaOE /em como os di.ersos terminadores F!essoasE unidades organi&acionaisE outros sistemas de !rocessamento etc1O com os Muais o sistema de.er interagir1 9H $s clculos de custo?/eneficio so discutidos no a!Andice C1 99 EWistemE na realidadeE maneiras de eWi/ir rcalimentao e controle em diagramas de fluWo de dadosE como .eremos no ca!Xtulo C1 As nota0es com!lementares Fde !rocessos de controle e de fluWos de controleO so normalmente utili&adas !ara modelar sistemas de tem!o?real e temos e.itado seu uso neste modelo do _sistema !ara construir sistemas]1 9:C P*I8CIPAI' P*$B-EMA' D$ DE'E8Q$-QIME8T$ DE 'I'TEMA' $s dogmas do !assado silencioso so inadeMuados !ara o tem!estuoso !resente1 $ momento atual es- re!leto de d e !recisamos acordar !ara esse momento1 Assim como nosso caso 2 notnE de.emos !ensar e agir de uma maneira no.a1 Precisamos nos li/ertar eE assimE sal.aremos nosso !aXs1 A/ra"am -incoin 'egunda Mensagem Anual ao Congresso 8este ca!XtuloE a!renderemos> 91 PorMue a !roduti.idade 2 um !ro/lema im!ortante1 :1 As solu0es comuns do !ro/lema da !roduti.idade1 @1 $ n3mero dc erros cm um sistema tX!ico1 J1 A relao entre a idade de um sistema e o n3mero de erros encontrados1 Como analista de sistemasE .ocA far !arte de uma eMui!e cuLo !ro!Ysito 2 desen.ol.er um sistema de informa0es 3til e de alta Muali dadeE Mue satisfaa as eWigAncias do usurio final1 Ao eWecutar essa tare faE .ocA e seus com!an"eiros da eMui!e de !roLeto seroE sem d3.idaE influenciados !elos seguintes as!ectos rele.antes> j Produti.idade j Confia/ilidade j Manuteni/ilidade K 9@9 8aturalmenteE todos so a fa.or da !roduti.idadeV este termo 2 utili&ado da mesma forma Mue maternidade e lealdade em relao a nosso !aXs1 Por2mE " uma geraoE Muando a maioria dos sistemas o!e racionais atuais esta.am sendo construXdosE !roduti.idade no era algo a Mue se !restasse muita ateno1 $s analistas de sistemas e !rograma doresE nos anos <HE tra/al"a.am longas "oras Fem/ora nem sem!re em "oras !re.istasOE mas nen"um deles tin"a certe&a do .olume de tra/al"o Mue !rodu&iriam em uma semanaE ou de Muanto tem!o le.ariam na ela /orao de um sistema com!leto1 A sensao geral era de Mue a eMui!e de desen.ol.imento de sistemas tra/al"aria duramente todos os diasE at2 Mue ? .oilJ` IncrX.el` ? o sistema estaria !ronto1 8os dias atuaisE a !roduti.idade 2 algo /em mais s2rio1 $ mesmo acontece com a confia/ilidade> uma fal"a de um sistema grande e com !leWo !ode ter conseMaAncias de.astadoras1 A manuteni/ilidade tornou? se um !ro/lema im!ortante> "oLe 2 e.idente Mue muitos dos sistemas rec2m?construXdos le.aro :H anos ou mais at2 Mue !ossam ser refeitosE e !recisaro de constantes re.is0es e modifica0es durante seu tem!o de .ida1 Cada um desses as!ectos 2 analisado mais detal"adamente neste ca!Xtulo1 Alguns delesE como a manuteni/ilidadeE !odem a!arentar ter !ouco ou nada a .er com a anlise de sistemasE masE como .eremosE a anlise de sistemas tem um !a!el fundamental na o/teno do aumento da !roduti.idade e da confia/ilidade e de uma mel"or manuteni/ilidade1 <19 P*$D7TIQIDADE> A DEMA8DA *EP*IMIDA P$* AP-ICA(rE' $ !ro/lema mais e.idente Mue os !rofissionais de desen.ol.i mento de sistemas enfrentam "oLe tal.e& seLa o da !roduti.idade1 $s negYcios e a sociedade moderna !arecem estar eWigindo cada .e& mais sistemasE mais sofisticaoE e tudo com maior ra!ide&1 Como analista de sistemasE .ocA de.e !erce/er os dois as!ectos mais im!ortantes desse !ro/lema> um 2 a demanda re!rimida F/ac%logO !or no.os sistemas Mue !recisam ser desen.ol.idosE e o outro 2 o tem!o necessrio !ara a cons truo de cada um deles1 Em Muase todas as organi&a0es americanas onde eWiste um gru!o central res!ons.el !elo desen.ol.imento de no.os sistemasE eWistem ser.ios aguardando " .rios anos !ara serem eWecutados=1 Em realida deE muitas organi&a0es tAm um /ac%log de Muatro a sete ou mais anos1 $ /ac%log se constitui de trAs diferentes ti!os de sistemas> j Bac%log .isX.el> so os no.os sistemas solicitados oficialmente !elos usurios e Mue foram aceitos e ti.eram suas .er/as 9@: a!ro.adas !elas comiss0es a!ro!riadas dc gerAncia1 EntretantoE os !roLetos no foram iniciados !or falta dos recursos neces srios Ftais como analistas de sistemasE !rogramadores etc1O1 Bac%log in.isX.el> so os no.os sistemas Mue os usurios sa/em Mue !recisamE mas Mue no se do ao tra/al"o de solicitar !elas .ias _oficiais] !orMue ainda esto aguardando a !rontificao de !roLetos do /ac%log .isX.el1 Bac%log descon"ecido> so os no.os sistemas Mue os usurios ainda no sa/em Mue !recisamE mas Mue emergiro logo Mue seLam terminados alguns dos sistemas dos /ac%logs .isX.el e in.isX.el1 Em um clssico estudo so/re a demanda re!rimida !or sistemas de informa0es FAlio4a# e TuillardE 9CD:OE os !esMuisadores *o/ert Allo4a# e Rudit" TuillardE da MIT 'loan 'c"oolE desco/riram Mue o /ac% log in.isX.el de no.os sistemas era u!icamente IE@I .e&es maior Mue o .isX.el1 Isso indica Mue o !ro/lema da demanda re!rimida 2 muito !are cido com o !ro.er/ial ice/erg> a!enas uma !eMuena !arte se mant2m .isX.elE com um enorme .olume oculto so/ a gua1 IssoE naturalmenteE re!resenta um !ro/lema im!ortante !ara a em!resa Mue !re!ara seu oramento e seu !laneLamento com /ase a!enas na demanda con"ecida e .isX.el !or seus ser.ios1 7m segundo as!ecto do !ro/lema da !roduti.idade 2 o tem!o necessrio !ara desen.ol.er um determinado sistema : ^ Y/.io Mue se o !roLeto m2dio de desen.ol.imento de sistemas !uder ser diminuXdo de trAs !ara um anoE o !ro/lema da demanda re!rimida desa!arecer ra!i damente1 A Muesto 2 Mue os usurios esto geralmente !reocu!ados no a!enas com o !ro/lema glo/al do /ac%logE mas tam/2m com o !ro /lema local da !roduti.idade em relao a um determinado !roLeto1 Eles receiam MueE Muando o no.o sistema ficar !rontoE as condi0es se tero modificado to drasticamente Mue os reMuisitos originais tero !erdido a im!ortPncia1 EW!licando em outras !ala.rasE um sistema no.o muitas .e&es est associado a uma o!ortunidade comercial !erce/ida !elo usurioE e essa o!ortunidade freMaentemente tem uma _Lanela]E um !erXodo de tem!o a!Ys o Mual a o!ortunidade comercial ter desa!arecido e no mais "a.er necessidade do no.o sistema1 EWiste um terceiro moti.o !ara a !reocu!ao com a !roduti.ida de em algumas organi&a0es> alguns !roLetos fal"am melancolicamen te e so cancelados !ela gerAncia antes mesmo de estarem !rontos1 8a realidadeE .rias !esMuisas desco/riram Mue cerca de :If de todos os !roLetos em grandes organi&a0es de 'IG F'istemas de Informa0es 9@@ GerenciaisO nunca so terminados1 EWistemE naturalmenteE muitas ra&0es !ara o fracasso de um !roLeto> !ro/lemas t2cnicosE !ro/lemas geren ciaisE ineW!eriAncia da eMui!eE falta de tem!o !ara ser feita uma ade Muada tarefa de anlise e !roLeto dc sistemas FMue normalmente 2 um !ro/lema da c"efiaOE escasso en.ol.imento !or !arte da gerAncia ou dos usurios1 8o eWcelente tra/al"o de *o/crt Bloc%E T"e PolitXcs ofProLects d 9CDH9E " um Ytimo estudo so/re as ra&0es dos fracassos de !roLetos1 $ !ro/lema da !roduti.idade eWiste na !rofisso de desen.ol.i mento de sistemas " muito tem!o e muitas em!resas esto .igorosa mente /uscando meios de redu&ir radicalmente o /ac%log de a!lica0es e de diminuir o tem!o necessrio ao desen.ol.imento de um no.o siste ma1 Entre as t2cnicas mais utili&adas esto> j A contratao de mais !rogramadores e analistas de sistemas1 Isso 2 !articularmente comum cm em!resas no.as e em eW!an so F!1eW1E organi&a0es resultantes dc fus0esE ou no.as organi &a0es formadas !ara a eW!lorao dc no.os mercados e no.os negYciosO 1 Essa a/ordagemE entretantoE tem sido e.itada nas em!resas antigasV na realidadeE muitas organi&a0es consideram Mue L tAm !rogramadores e analistas demais e Mue a atitude a!ro!riada 2 torn?los mais !roduti.os 1 j A contratao de !rogramadores e analistas de sistemas mais talentososE oferecendo?se? l"es mel"ores condi0es de tra/al"o1 Em .e& de utili&ar um eW2rcito de dcscn.ol.edores medXocres de sistemasE algumas em!resas !referem contar com um !eMueno gru!o dc !rofissionais altamente talentososE treinados e /em am!arados Fe !rcsumi.elmcntc /em !agos`O1 Essa a/or dagem se /aseia na /em con"ecida dis!aridade de desem!en"o entre !rogramadores eW!erientes1 7m estudo clssicoE le.ado a efeito em 9C<D Ft'ac%manE Eric%son e GrantE 9C<D9OE documen touE !ela !rimeira .e&E o fato de Mue alguns !rogramadores so :If mais !roduti.os Mue outros1 7ma forma eWtrema dessa id2ia 2 o _su!er!rogramador] ou _!rogramador?c"efe de eMui!e]E conceito !o!ulari&ado !ela IBM nos anos KH F.eLa d 9CK<9E d 9CK:9 e d e Ba%erE 9CK@DEuma eMui!e de !roLeto formada !or es!ecialistas F/i/liotecriosE ferramentistasE dou tores em linguagem etc1O !restando a!oio a um eWtraordinaria mente talentoso !rofissional Mue se encarrega tanto da anlise de sistemas como Io !roLeto e da !rogramao do sistema1 A maioria das em!resasE naturalmenteE no !ode construir toda uma organi&ao de des de sistemas em torno de uma !essoa de& .e&es mel"oi do Mue a m2dia 1 EntretantoE algo 9@J eWiste a ser dito so/re a !re!arao de uma organi&ao com !essoas duas .e&es mais !roduti.as do Mue o analistaG!rograma dor m2dioE ainda Mue essas !essoas de.am ser !agas em do/ro1 Tam/2m eWiste algo a ser dito a res!eito de tornar a eMui!e eWistente to !roduti.a Muanto !ossX.elE !ro!orcionando?l"e treinamento atuali&adoE modernas ferramentas de desen.ol.i mento de soft4are Fdiscutidas detal"adamente mais adianteO e adeMuadas condi0es de tra/al"o < DeiWar Mue os usu rios desen.ol.am seus !rY!rios sistemas1 ^ interessante o/ser.ar Mue muitos outros a.anos tecnolYgicos inter!0em algu2m entre o usurio e o dis!ositi.o tecnolYgicoV dois eWem!los e.identes desse fato so o motorista e a telefo nista1 ^ claro Mue a maioria entre nYs no tem motorista nem !recisa da telefonista !ara fa&er nossas liga0esV o automY.el e o telefone so suf%ientemente amistosos ao usurio !ara Mue os !ossamos o!erar !or nYs mesmos1 De modo semel"anteE a com/inao de com!utadores !essoaisE centros de informao e linguagens de Muarta geraoE introdu&idos cm muitas organi &a0es americanas em meados da d2cada de DHE tornou !ossX.el !ara muitos usurios Finclusi.eE como .imos no ca!Xtulo :E uma gerao de usurios Mue a!rendeu os fundamentos da com!u tao no segundo grau ou na faculdadeO o desen.ol.imento de suas !rY!rias a!lica0es mais sim!les1 *elatYrio Ad ,ocE consul tas a /ancos de dadosE a!lica0es de !lanil"as eletrNnicas e determinadas modifica0es de manuteno de !rogramas eWis tentes esto entre os !roLetos Mue um moti.ado usurioE en tendido em com!utaoE !ode certamente fa&er !or si mesmo1 Mel"ores linguagens de !rogramao1 As linguagens de !rogra mao sofreram enormes modifica0es desde os anos IHE Muando os !rogramadores cria.am os !rogramas de com!uta dor codificando la/oriosamente os $s e Is Mue o "ard4are eWe cuta1 A !rimeira gerao de linguagens de mMuina deu lugar Z segunda gerao das linguagens de montagem nos anos <HE e 2 interessante notar Mue a linguagem de montagem ainda 2 utili &ada em alguns !roLetos "oLe em dia1 EntretantoE as linguagens !rocedurais de terceira gerao comearam a !re.alecer nos anos KH e !ermanecem como o mais comum ti!o de linguagem atualmente1 $s eWem!los s$> C$B$-E F$*T*A8E BA'ICE Pas calE CE M$D7-A?: e Ada1 EnMuanto a ind3stria de soft4are con tinua a mel"orar essas linguagens Fa .erso do F$*T*A8 "oLe dis!onX.el 2 imensamente mel"or Mue a .erso utili&ada !elos !rogramadores no inXcio dos anos KHOE /oa !arte do enfoMue 9@I transferiu?se !ara as no.as linguagens de !rograrilao de Muarta gerao Mue eliminam a necessidade de o !rogramador se !reocu!ar com os confusos detal"esE consumidores de tem !oE de edio e .alidao das entradasE formatao de relatYrios e mani!ulao de arMui.osV eWem!los dessas linguagens so F$C7'E *AMI'E MAPPE* E MA*K Q Fe tam/2m linguagens como PC?F$C7'E dBA'E III E */ase?IHHH !ara com!utadores !essoaisO1 Muitos argumentam Mue essas no.as linguagens !o dem aumentar a !roduti.idade da !rogramao !or um fator igual a de&1 EntretantoE como a !rogramao normalmente re!resenta a!enas 9H a 9If do !roLeto geral de desen.ol.i mento de um sistemaE o gan"o total cm !roduti.idade 2 muitas .e&es /em menos su/stancial1 $ ataMue ao !ro/lema cia manuteno1 A manuteno 2 um grande !ro/lema na rea do desen.ol.imento de sistemasE como .eremos na seo <1J1 ContudoE a ateno maior est sem!re focali&ada Fcomo era de se es!erarO na manutenilEilidade dos no.os sistemasV enMuanto issoE como L foi mencionadoE muitas em!resas esto destinando IH a KIf de seus recursos !ara a manuteno dos sistemas antiEos1 PortantoE a Muesto > o Mue !ode ser feito !ara tornar mais fcil a manutenao dos sis temas antigosE al2m da id2ia Y/.ia de Log?los fora e su/stitui?los !or outros[ 7ma a/ordagem cuLa !o!ularidade .em aumen tando 2 a da restruturao ? a con.erso mecnica dos !ro gramas antigos FcuLa lYgica L foi to remendada e modificada Mue muitas .e&es est totalmente ininteligX.elO em !rogramas no.osE /em organi&ados e estruturados 7ma id2ia relacionada com isso 2 o em!rego de !acotes automati&ados de documen tao Mue !odem !rodu&ir listagens de referAncias cru&adasE dicionrios de dadosE fluWogramas dctal"adosEdiagramas estrutu rais ou fluWogramas de sistemas diretamente a !artir do !ro grama Fisso 2 citado !or alguns com!onentes da manuteno como engen"aria in.ertidaO1 $utra a/ordagemE L mencionadaE 2 encoraLar os usurios a fa&erem suas !rY!rias modifica0es de manuteno D e uma outra 2 documentar cuidadosamente a nature&a es!ecifica da tarefa de manutenoV isso muitas .e &es demonstra Mue a!enas If do cYdigo de um sistema o!e racional so res!ons.eis !or IHf ou mais do tra/al"o de manuteno1 j controles de engen"ana de 'oft4are1 $utra maneira de mel"o rar a !roduti.idade 2 reali&ada atra.2s de uma coleo de fer ramentasE t2cnicas e controles geralmente con"ecida como 9@< engen"aria de soft4are ou t2cnicas estruturadas1 Incluem?se aX a !rogramao estruturadaE o !roLeto estruturado e a anlise estruturada /em como os controles relacionadosE como as m2tricas de soft4areE as !ro.as de correo de !rogramas e o controle de Mualidade de soft4are1 Em geralE as t2cnicas estruturadas tAm tido um modesto im!actoE uma mel"oria de ti!icamente 9H a :HfE so/re a !roduti.idade dos !rofissionais de desen.ol.i mento de sistemas durante a fase de desen.ol.imento do !ro Leto1 EntretantoE os sistemas desen.ol.idos com utili&ao das t2cnicas estruturadas tAm geralmente custo de manuteno su/s tancialmente inferior e confia/ilidade maiorE muitas .e&es !or um fator igual ou maior Mue 9H1 Isso le.a Z li/erao de recursos MueE de outra formaE seriam utili&ados em manuteno ou elimi nao de errosE mel"orandoE assimE a !roduti.idade geral da organi&ao1 j Ferramentas automati&adas !ara desen.ol.imento de sistemas1 Finali&andoE o/ser.amos Mue um moti.o do !ro/lema da !rodu ti.idade 2 Mue /oa !arte do tra/al"o de desen.ol.imento de um sistema automati&ado de informa0es 2E ironicamenteE eWe cutado de forma manual1 Assim como os fil"os do sa!ateiro so os 3ltimos a gan"arem sa!atosE os !rogramadores e analistas de sistemas tAm tradicionalmente sido os 3ltimos a se /eneficiarem da automati&ao de suas tarefas1 ^ e.idente Mue algu2m !ode lem/rar Mue um com!ilador 2 uma ferramenta automati&ada !ara a !rogramaoE assim como os !acotes de testes e os auWXlios Z eliminao de erros oferecem alguma automati&ao1 MasE at2 recentementeE !ouca aLuda automati&ada eWistia !ara o !roLetista de sistemas e Muase nada "a.ia !ara o analista1 Agora eWistem terminais grficos Mue !odem automati&ar o cansati.o tra/al"o de desen.ol.er e manter diagramas de fluWo de dadosE diagramas de entidades?relacionamentos e outros modelos gr ficos .istos no ca!Xtulo J1 Essas ferramentas automati&adas tam /em desem!en"am .rias ati.idades de .erificao de errosE assegurandoE desse modoE Mue a es!ecificao !rodu&ida !elo analista de sistemas fiMue com!letaE sem am/igaidades e inter namente consistente1 Al2m dissoE em alguns casosE as ferramen tas automati&adas !odem at2 gerar cYdigo diretamente da es!ecificaoE eliminandoE dessa formaE a ati.idade manual da !rogramao1 $s detal"es dessas ferramentas automati&adas !ara anlise de sistemas so eWaminados no a!Andice A1 Muitas dessas a/ordagens so/re !roduti.idade !odem ser usa das em conLunto !orMue en.ol.em conceitos e t2cnicas Mue se 9@K com!lementam1 Indi.idualmenteE cada a/ordagem discutida acima !ode condu&ir a uma mel"oria de 9H a 9IfV com/inadasE !odem facilmente do/rar a !roduti.idade da organi&ao eE em casos es!eciaisE tal.e& !os sam mel"orar a !roduti.idade !or um fator igual a de&1 7m eWcelente es tudo do im!acto Muantitati.o dessas a/ordagens e de um grande n3me ro de fatores de !roduti.idade !odem ser encontrados em d 9CD<e1 Como analista de sistemasE sua reao a tudo isso !oderia ser> _E daX[ Tual a im!ortPncia disso[]1 8a .erdadeE !arece Mue muitos dos !ro/lemas de !roduti.idade esto na rea da !rogramaoE dos testes e da manuteno e nen"um deles na rea da anlise de sistemas1 8o o/stanteE eWistem trAs moti.os !ara Mue .ocA se sensi/ili&e efeti.amente !elo !ro/lema da !roduti.idade como analista de sistemas> 91 A Mualidade do tra/al"o eWecutado !elo analista de sistemas !ode ter grande im!acto na !roduti.idade do !roLetista de sistemas e do !rogramadorV !odeE tam/2mE ter forte efeito no .olume de tem!o gasto em testesE uma .e& Mue IHf dos erros Fe KIf do custo da eliminao de errosO de um sistema estoE "a/itualmenteE associados a erros do analista de sistemas1 $s !rogramadores !odem ser acusados !ela /aiWa !roduti.idade !or causa do tem!o Mue eles gastam em testesE !or2m isso 2 muitas .e&es um indXcio da /aiWa Mualidade do ser.io feito !elo analista de sistemas1 :1 Algumas das t2cnicas de !roduti.idade ? maior n3mero de !es soasE mel"ores !rofissionaisE mel"ores condi0es de tra/al"o eE !rinci!almenteE ferramentas automati&adas ? tAm direta im!ortPncia !ara o analista de sistemas1 Qale a !ena !ensar no Mue !ode ser feito !ara tornar .ocA e seu tra/al"o mais !roduti.os1 @1 A !roduti.idade da anlise dc sistemas 2 um !ro/lema !olitica mente sensX.elE !orMue muitas .e&es !arece ao usurio FeE !or .e&esE aos gerentes !ertencentes Z eMui!e de desen.ol.imento de sistemas ou a outras !artes da em!resaO Mue !ouco est sendo feito durante a fase de anlise do sistemaV freMaentemente ou.e?se o comentrio> _Tuando .ocAs comearo a escre.er os !rogramas[ 8o !odemos ficar sentados !ara sem!re falando so/re o sistemaE !recisamos Mue ele seLa im!lementado`]E e ao !roduto da anlise do sistemaE a es!ecificao funcionalE 2 dado muito !ouco .alor1 A reao Zs es!ecifica0es algumas .e&es ser> _Para Mue ser.em todas essas figuras e !ala.ras[ 8Ys L eW !licamos o Mue Mueremos Mue o sistema faaE !ara Mue escre .eram tudo isso[]1 9@D $ fato 2 Mue no se !ode construir com sucesso um sistema manu tenX.el e de alta Mualidade se no se sou/er !recisamente com o neces srio detal"amento o Mue de.e ser feito1 AssimE em/ora alguns usurios e gerentes !ossam reclamar Mue a anlise de sistemas 2 meramente um !erXodo _de re!ousol at2 ser iniciado o .erdadeiro tra/al"o do !roLeto Fa !rogramaoOE o certo 2 Mue isso de.e ser feito com cuidado e rigorE mas tam/2m de.e ser reali&ado com tanta eficiAncia e !roduti.idade Muanto !ossX.elV dessa maneiraE o analista de sistemas no de.e considerar Mue a !roduti.idade seLa a!enas um !ro/lema de !rogramao` <1: C$8FIABI7DADE 7m segundo !ro/lema im!ortante a ser enfrentado !elos desen .ol.edores de sistemas 2 o da confia/ilidade1 $ enorme tem!o des!en dido em testes e de!urao dc errosE ti!icamente IHf do !roLeto de desen.ol.imento de um sistemaE e a eWtremamente /aiWa !roduti.ida de FMue muitos !ensam estar relacionada com o tem!o gasto nos tes tesO !odem ser aceit.eis se os resultados forem sistemas altamente confi.eis e de fcil manuteno1 A e.idAncia dos 3ltimos trinta anos 2 Lustamente o o!osto> os sistemas !rodu&idos !elas em!resas em to do o mundo esto c"eios de erros e so Muase im!ossX.eis de serem modificados1 _C"eio de erros] tem significados diferentes !ara !essoas diferen tes1 $ soft4are desen.ol.ido nas em!resas americanas temE em m2diaE de trAs a cinco erros em cada cem comandos de!ois do soft4are ter sido testado e entregue ao clienteV .eLa 7oncsE 9CD<91 A!enas alguns !oucos !roLetos eWem!lares de desen.ol.imento de soft4are a!resenta ram somente trAs a cinco erros em cada 9H1HHH sentenas de !rogramaE da 2!oca do !roLeto do su!er!rogramador da IBM F 9CK:eO1 ,ou .eE aindaE algumas informa0es !essimistasE como em d 9CDI9E relatando Mue o soft4are americano !ode ter de trAs a cinco erros !ara cada de& sentenas` $s erros de soft4are .o do su/lime ao ridXculo1 7m erro tri.ial !ode consistir de uma saXda FresultadoO corretaE mas no im!ressa ou formatada to correta ou arrumadamente como Mueria o usurio1 7m erro de soft4are moderadamente s2rio !ode se constituir dc um caso em Mue o sistema se recusa a aceitar certos ti!os dc entradasE mas Mue o usurio final consegue um meio de contornar o !ro/lema1 $s erros s2rios so os Mue fa&em o !rograma !arar de ser !rocessadoE com !erda consider.el de din"eiro ou de .idas "umanas1 Entre os eWem!los de erros s2rios relati.os a soft4are Mue foram documentados atra.2s dos anos incluem?se os seguintes> 9@C j Em 9CKCE o sLstema 'ACG8$*AD F'trategic Air CommandG 8ort" American Air Defense ? Comando A2reo Estrat2gicoG Defesa A2rea 8orte?AmericanaO registrou cinMaenta alertas fal sosE inclusi.e um ataMue simulado cuLas saXdas !ro.ocaram aci dentalmente a decolagem de interce!tadores1 j 7m erro no !rograma de simulao de .No do F9< fa&ia com Mue o a.io .irasse de ca/ea !ara /aiWo sem!re Mue cru&a.a a lin"a do eMuador1 j $ mXssil de um F9D dis!arou Muando ainda esta.a !reso ao a.ioE fa&endo?o !erder cerca dc <1IHHm de altitude1 j As !ortas do trem do sistema 'o Francisco BA*TE controlado !or com!utadorE Zs .e&es se a/rem durante longas tra.essias entre esta0es1 j 7m alerta 8$*AD do Ballistic Missile Earl# 5arning '#stem FBME5'O detectou a -ua como um mXssil Mue se a!roWima.a1 j $ 'toc% IndeW de Qancou.er !erdeu IKJ !ontos em um !erXodo de :: meses !or causa de erros dc arredondamento F!1eW1E o ar redondamento de @E9J9IC !ara @E9J9<O1 j Em :D de no.em/ro de 9CKC um .No da Air 8e4 gealand es !atifou?se contra uma montan"aV in.estiga0es !osteriores de monstraram Mue um erro nos dados de rumo do com!utador tin"a sido detectado e corrigidoE mas isso no tin"a sido infor mado ao !iloto1 Infeli&menteE a lista .ai muito al2mV .eLa eWem!los em d 9CDI91 Muitos outros erros de soft4are nunca foram di.ulgados !orMue a !essoa ou em!resa _cul!ada] !refere no admitir !u/licamente o fato1 Tuando este li.ro esta.a sendo escritoE "a.ia uma id2ia generali &ada de Mue erros desse ti!o !oderiam condu&ir a conseMaAncias desagrad.eis !ara o !rograma 'tar 5ars do De!artamento de Defesa dos E7AE ou !ara alguns dos !rinci!ais sistemas com!leWos de defe sa a2rea controlados !or soft4areV .eLa anlises so/re isso em 7ac%#E 9CDI9 e em FAdams e Fisc"ettiE 9CDI91 8a .erdadeE ainda Mue a confia/ilidade do !rograma 'tar 5ars seLa 9HH .e&es maior do Mue a m2dia dos sistemas desen.ol.idos nos Estados 7nidosE ele ainda !oderia conter 9H1HHH erros ? uma !ers!ecti.a nada tranMaili&ado ra Muando um desses erros !ode causar a eliminao da .ida neste !laneta` 9JH Em muitos casosE ningu2m est totalmente seguro de Muantos erros em um sistema !orMue F9O alguns erros nunca c"egam a ser desco/ertos u2 Mue o sistema morra de .el"ice e F:O o !rocesso de documentao e egistro de erros 2 to relaWado Mue a metade dos erros encontrados no di.ulgada= nem mesmo dentro da organi&ao de desen.ol.imento de Vistemas1 Em todos os casosE a ati.idade tX!ica de desco/erta de errosE m um !erXodo de .rios anos de .ida 3til de um sistema de soft4are >omaE "a/itualmenteE a forma mostrada na figura <191 A forma daMuela cur.a 2 influenciada !or di.ersos fatores1 Por Wem!9oE Muando o sistema 2 li/erado !ara os usurios finais !ela !ri rneira .e&E eles muitas .e&es no esto ca!acitados a coloc?lo em total !roduoE le.aro algum tem!o !ara con.erterem o sistema antigo FMue tal.e& fosse um sistema manualO e !ara treinarem a eMui!e o!erati.a1 Al2m dissoE ainda estaro um tanto receosos do com!utadorE e no .o Muerer eWigir muito da mMuinaE de modo Mue !oucos erros sero desco /ertos1 Tuando con.erterem o modo antigo de o!erar !ara o no.o siste maE Muando a eMui!e o!erau.a esti.er mais /em treinada e ti.erem !erdido o medo da mMuinaE comearo a eWigir mais do soft4areE e mais erros sero encontrados _1 8aturalmenteE se isso !rosseguisse inde finidamente ? mais e mais erros desco/ertos a cada dia ? os usurios !ro.a.elmente deiWariam de usar o soft4are e o Logariam fora1 8a maioria dos casosE os !rogramadores .o freneticamente corrigindo os no.os erros !ro!oro em Mue so desco/ertos !elos usurios1 8ormalmenteE c"ega um dia em Mue o sistema comea a se esta/ili&ar e os usurios encontram cada .e& menos erros1 , trAs as!ectos negati.os na figura <191 Em !rimeiro lugarE a cur.a nunca atinge o &eroE isto 2E Muase nunca encontramos uma situao em Mue o tem!o !asse sem Mue no.os erros seLam encontrados1 'egundoE a Fa o D co o FO c aO Fo o $O aO H o $O E & Figura <19> En desco/ertos em funo do tem!o Tem!o decorrido 9J9 rea so/ a cur.aE Mue re!resenta o n3mero total de erros encon"tauos em relao ao tem!oE 2 demasiadamente grande ? a m2dia 2 de trAs a ci co erros !ara cada 9HH sentenas de !rograma1 EE em terceiro lugarE a cur.a !or .e&es so/e de no.o ? de modo geral a!Ys alguns anosE masE Zs .e&esE de!ois de a!enas alguns meses1 $casionalmenteE todos os sistemas de soft4are atingem a situao de uma colc"a de retal"osE Muando MualMuer esforo !ara corrigir um erro introdu& dois no.os errosE e as modifica0es necessrias !ara corrigir esses no.os erros !ro.ocam Muatro outros errosE e assim !or diante1 EWiste um 3ltimo !ro/lema acerca de erros de soft4are> eles no so fceis de serem corrigidos1 Tuando algu2mE o !rogramadorE o usu rio final ou algum outro intermedirioE !erce/e Mue o soft4are no est funcionando corretamenteE duas coisas de.em ocorrer> F9O o !rograma dor de.e identificar a fonte e a nature&a do erro e F:O de.e encontrar um modo de corrigir o erro Fmodificando alguns comandosE eliminando outros comandos ou acrescentando no.os comandosO sem afetar ne n"um outro as!ecto da o!erao do sistema1 Isso no 2 uma tarefa sim!les1 8a realidadeE o !rogramador tem menos de IHf de !ro/a/ilida de de sucesso na !rimeira tentati.aE e as estimati.as caem ra!idamente se o !rogramador ti.er de modificar mais de 9H ou :H sentenas do !rograma F.eLa E6ourdonE 9CD<9O1 <1@ MA87TE8IBI-IDADE A correo de erros 2 um dos as!ectos da manuteno1 -ient& e '4anson F e '4ansonE 9CDHeO desco/riram Mue os erros res!on diam !or a!roWimadamente :9f do esforo geral de manuteno nas em!resas americanas de !rocessamento de dados A manuteno est tam/2m .inculada Z modificao deum sistema em conseMaAncia de altera0es no "ard4areE Zs modifica0es !ara acelerar certos as!ectos o!eracionais do sistema e Zs modifica0es face a altera0es dos reMuisi tos do sistema introdu&idas !elo usurio1 A manuteno de soft4re 2 um im!ortante !ro/lema !ara a maioria das em!resasV de IH a DHf do tra/al"o reali&ado na maior !arte das organi&a0es de desen.ol.imento de sistemas esto associados Z re.isoE Z modificaoE Z con.ersoE ao a!erfeioamento ou Z de!urao de um !rograma Mue algu2m escre.eu tem!os atrs1 E esse 2 um tra/al"o caro1 8o !rincX!io dos anos KHE o De!artamento de Defesa dos E7A relatou Mue o custo de desen.ol.imento de !rogramas de !rocessamento de um !roLeto atingia em m2dia qKI !or instruo e o custo da manuteno do sistema atingia qJHHH !or instruo1 Em termos mais eW!ressi.osE considere os seguintes eWem!los oriundos da 71'1 'ocial 'ecurit# Administration> 9J: j $ clculo do aumento do Custo de .ida !ara IH mil"0es de Cida dos Mue rece/em /eneficios da 'ocial 'ecurit# toma :H mil "oras de !rocessamento em sistemas mais antigos do 'ocial 'e curit# '#stem F.eLa F*oc"ester e Gant&E 9CD@9O1 j TuandoE em 9CD9E o 'ocial 'ecurit# '#stem con.erteu seus siste mas de !rocessamento de cinco dXgitos de .erificao !ara seisE foram necessrios :H mil "omens?"ora de tra/al"o e :1IHH "oras de tem!o de !rocessamento !ara modificar <HH !rogramas se !arados de !rocessamento1 j $ moral no de!artamento dc manuteno da 'ocial 'ecurit# es ta.a to /aiWo em determinada ocasio Mue um dos !rograma dores foi !il"ado Muando urina.a em uma unidade de disco na sala do com!utador1 Em/ora isso seLa uma no.a maneira de desafogar a frustraoE no 2 muito aconsel".el !ara a unidade de disco1 $ resultado de tudo issoE em um n3mero sem!re crescente de organi&a0es de !rocessamento de dadosE 2 Mue os sistemas desen.ol.i dos " 9H ou :H anos sim!lesmente no !odem ser modificados !ara satisfa&er as no.as eWigAncias do go.ernoE da economiaE das condi0es climticas ou da inconstPncia do usurio1 o !ro!oro em Mue as em!re sas e a sociedade tornam?se mais e mais de!endentes dos com!utadoresE !ode?se o/ser.ar um interessante !aralelo> Muando ocorre a estagnao do soft4areE a em!resa ou sociedade atendida !or esse soft4are tam/2m fica estagnada1 $ !ro/lema 2 ainda !ior do Mue isso1 'e fosse a!enas o caso de o soft4are no ser /omE !oder?se?ia dis!ens?lo e su/stitui?lo1 Por2m muitas em!resas nunca ca!itali&aram o soft4are Fos custos so gastos a cada anoOE e a !olXtica de conta/ili&ao e de com2rcio torna !roi/iti.a? mente cara a su/stituio dos sistemas antigos1 EWiste outro !ro/lema ainda mais fundamental> na maioria das organi&a0es no " uma descri o coerente do Mue os sistemas de.em fa&er1 A documentao !or .entura eWistente 2 Muase sem!re o/soleta e confusaE oferecendoE Muando muitoE algumas id2ias de como o soft4are funcionaE mas no de Mual seLa seu !ro!Ysito ou de Mual doutrina comercial ele se !ro!0e a im!lementar1 AssimE mesmo Mue algu2m !ossa argumentar Mue a manuteni/ili dade seLa funo da im!lementao Fisto 2E algo da com!etAncia do !rogramadorOE 2 im!ossX.el mantoc um sistema se no eWistir um modelo acurado e atuali&ado dos reMuisitos do sistema1 IssoE afinal de contasE 2 da res!onsa/ilidade do analista de sistemasV como .eremos no ca!Xtulo 9J@ DE as es!ecifica0es funcionais desen.ol.idas !elos analistas de sistemas !rogrediram gradualmente de no.elas .itorianas Fmil"ares de !ginas de teWtoO de manuteno a/solutamente im!ossX.el !ara modelos grficosE do sistemaE desen"ados Z mo e !ara modelos gerados e mantidos !elo com!utador1 8o ca!Xtulo :J tam/2m ser discutido o !ro/lema da ma nuteno contXnua das es!ecifica0es do sistema1 <1J $7T*$' P*$B-EMA' Com Mue tem o analista de sistemas de se !reocu!arE al2m da !roduti.idadeE da confia/ilidade e da manuteni/ilidade[ BemE a lista .a ria de em!resa !ara em!resa e de !roLeto !ara !roLetoE mas normal mente se com!0e do seguinte> j EficiAncta1 7m sistema de.e funcionar com uma adeMuada taWa de desem!en"o F"a/itualmente medida em transa0es !or segundoO e com um tem!o de res!osta aceit.el !ara os termi nais on?line1 Isso normalmente no 2 um !ro/lema com Mue o analista de sistemas de.a se !reocu!arE uma .e& Mue os !roLetis tas e os !rogramadores tero a maior !arte da influAncia na eficiAncia geral do sistema im!lementado1 Esse as!ectoE na reali dadeE est se tornando um !ro/lema cada .e& menor nos sis temas modernosE L Mue os custos do "ard4are continuam a cair a cada anoE enMuanto a ca!acidadc e a ra!ide& do "ard4are continuam a crescer j Porta/ilidade1 A maioria dos no.os sistemas 2 im!lementada em uma marca de com!utadorE mas !ode "a.er necessidade de desen.ol.er o sistema de modo a Mue !ossa ser transferido com facilidade !ara outros com!utadores1 Isso tam/2m no costuma ser um !ro/lema da alada do analista de sistemasE em/ora ela ou ele !ossam !recisar es!ecificar a necessidade da !orta/ili dade no modelo de im!lementao1 j 'egurana1 Como os modernos sistemas de !rocessamento tAm acesso cada .e& mais fcil Fcm face da tendAncia dc serem on uneOE e como so res!ons.eis !elo crescente gerenciamento dos ati.os mais im!ortantes das em!resasE a segurana .em tor nando?se uma im!ortante !reocu!ao em muitos !roLetos de desen.ol.imento de sistemas> o no.o sistema de.e im!edir acessos no?autori&ados assim como a atuali&ao e o a!aga mento no?autori&ados de dados im!ortantes1 9JJ <1I *E'7M$ Qrios es!ecialistas !redi&em Mue a !ro!oro !reoGdesem!en"o do "ard4are dos com!utadores ser mel"orada !or um fator igual a 9HHH e tal.e& !or 9 mil"oE dentro dos !rYWimos 9H a 9I anos1 Infeli& menteE a "istYria do desen.ol.imento de soft4are nas 3ltimas trAs d2ca das le.a o o/ser.ador comum a concluir Mue a tecnologia do soft4are mel"orar muito !ouco1 Como o soft4re tornou?se atualmente a maior des!esa e o ;camin"o critico] da maioria dos sistemasE essa !eMuena mel"ora no !ode ser considerada aceit.el1 Em toda a ind3stria do !rocessamentoE eWiste um esforo macio e organi&ado !ara a o/teno de mel"oras rele.antes no !rocesso de desen.ol.imento de soft4are1 As t2cnicas de anlise de sistemas a!resentadas neste li.ro fa&em !arte desse esforo1 Como .imosE !arte do esforo 2 !ro/lema da !ro gramao e do !roLeto do sistemaE !or2m a /oa es!ecificao 2 a /aseE a !edra fundamentalE so/re a Mual se a!Yiam o !roLeto e a !rogramao1 *EFE*b8CIA' 91 *o/ert Allo4a# e Rudit" TuillardE _7ser Management '#stems 8eeds]E CI'* 5or%ing Pa!er D<1 Cam/ridgeE Mass1> MIT 'loan 'c"ool for Information '#stems *esearc"E a/ril 9CD:1 :1 ,arold 'ac%manE 51R1 Eric%son e E1E1 GrantE _EW!lorator# EW!eri mental 'tudies Com!aring $nline and $ffiine Programming Perfor mance]E CommunicatXons of i"e ACME Laneiro 9C<DE!gs1@?991 @1 R1 AronE _T"e 'u!er?Programmer ProLect]E 'oft4are Engineering Conce!-s and Tec"nlMues1 Eds1 R1M1 BuWtonE P1 8aur e B1 *andell1 8o.a lorMue> PetroceiliGC"arterE 9CK<E !ginas 9DD?9CH1 J1 F1T1 Ba%erE _C"ief Programmer Team Management of Production Programming]E IBM '#stems RournalE Qolume 99E 83mero 9 FLanei ro de 9CK:OE !gs1 I<?K@1 I1 ,1D1 Mills e F1T1 Ba%erE _C"ief Programmer Teams]E DatamationE Qolume 9CE 83mero 9: Fde&em/ro de 9CK@OE !gs1 ID?<91 <1 Ed4ard 6ourdonE Managing t"e 'tructured Tec"niMues> 'trategies for 'oft4are De.elo!ment in l"e 9CCHsE @ cd1 8o.a lorMue> 6$7*D$8 PressE 9CD<1 K1 Bennett P1 -ient& e E1 Burton '4ansonE 'oft4are Maintenance Management1 *eadingE Mass> Addison?5esle#E 9CDH1 D1 T1 Ca!ers RonesE Programming Producli.it#1 8o.a lorMue> McGra4?,illE 9CD<1 C1 T1 Ca!ers RonesE _A 'oft4are Producti.it# 'ur.e#]E !alestra !roferi da na First 8ational Conference on 'oft4are Tualit# and Producti .it#E 5illiams/urg"E QirginiaE maro de 9CDI1 9JI 9H1 Ed4ard 6ourdonE o! cit1 991 F1T1 Ba%erE o! cit1 9:1 Da.id 'angerE _'oft4are Fears on 'tar 5ars]E 8e4 6or% TimesE J de Lul"o de 9CDI1 9@1 Peter G1 8eumanriE _'ome Com!uter?*elated Disasters and $t"er Egregious ,orrors]E ACM 'IG'$FT 'oft4are EngineerXnEg 8otesE Laneiro de 9CDI1 9J1 Ronat"an Rac%#E _T"e 'tar 5ars Defense 5on=t Com!ute]E Atlantic Mont"l#E Lun"o de 9CDI1 9I1 Ro"n A1 Adams e Mar% A1 Fisc"ettiE _'tar 5ars?'DI> T"e Grand EW!eriment]E IEEE '!ectruniE setem/ro de 9CDIE !gs1 @J?<J1 9<1 Artigo do 8e4 6or% Times de cerca de 9< de setem/ro de 9CD<E comentando o n3mero de erros do sistema 'tar 5ars1 9K1 Dines ,ansenE u! and *unning1 8o.a lorMue> 6$7*D$8 PressE 9CDJ1 9D1 Ed4ard 6ourdonE o! cit1 9C1 Bennett P1 -ient& e E1 Burton '4ansonE o! cit1 :H1 Rac% *oc"ester e Ro"n Gant&E T"e 8a%ed Com!uter1 8o.a lorMue> 5illiam Morro4E 9CD@1 :91 Ed4ard 6ourdonE 8ations at *is%1 8o.a lorMue> 6$7*D$8 PressE 9CD<1 ::1 *o/ert Bloc%E T"e Polilics of ProLecis1 8o.a lorMuc> 6$7*D$8 PressE 9CD91 PE*G78TA' E EXE*CcCI$' 91 EWamine o relatYrio financeiro de uma grande em!resa !3/lica e .eLa se .ocA !ode determinar o Muanto 2 des!endido em desen.ol .imento de sistemas1 Tuanto !oderia ser economi&ado se a !rodu ti.idade das em!resas de desen.ol.imento de sistemas !udesse ser du!licada[ :1 Escol"a uma grande em!resa !3/lica Mue de!enda nilidamente dos com!utadores !ara seu funcionamento normal1 Estime durante Muantos diasE semanas ou meses a em!resa !oderia continuar fun cionando se seu sistema de !rocessamento !arasse1 @1 Tuais so os trAs !rinci!ais !ro/lemas do desen.ol.imento de sis temas nos dias de "oLe[ J1 Por Mue a !roduti.idade !arece ser "oLe o !ro/lema mais e.idente[ I1 Tuais so os trAs ti!os de /ac%log Mue !odem ser encontrados em uma em!resa tX!ica[ <1 ProLeto de PesMuisa> efetue um le.antamento em sua em!resa !ara determinar a eWtenso do /ac%log de desen.ol.imento de sistemas1 Esse conceito 2 /em con"ecido entre os usurios de sua em!resa[ 9J< K1 Tual 2 a diferena entre o /ac%log .isX.el e o in.isX.el[ D1 Por Mue eWiste o /ac%log descon"ecido[ C1 Por Mue o /ac%log in.isX.el !arece ser muito maior do Mue o .isX.el[ 9H1 Tuais so as sete solu0es comuns Mue as em!resas utili&am !a ra resol.er seus !ro/lemas de !roduti.idade[ QocA !ode sugerir outras[ 991 Como .ocA ac"a Mue uma em!resa de.e medir a !roduti.idade do setor de desen.ol.imento de sistemas[ 9:1 Contratar mais !rogramadores ou analistas de sistemas 2 uma solu o !rtica !ara o !ro/lema da !roduti.idade[ Tuais so as .anta gens e des.antagens[ 9@1 QocA considera !rtico resol.er o !ro/lema da !roduti.idade !ela contratao de !rogramadores ou analistas de sistemas mais talen tosos[ Por MuA[ 9J1 Imagine Mue eWistisse um !rogramador de& .e&es mais !roduti.o Mue um !rogramador m2dio Mue gan"a q:I1HHH !or ano1 QocA ac"a Mue os diretores de uma em!resa tX!ica estariam dis!ostos a des!ender q:IH1HHH !or ano com aMuele !rogramador talentoso[ QocA ac"a Mue eles de.eriam estar dis!ostos[ Por MuA[ 9I1 QocA considera !rtico resol.er o !ro/lema da !roduti.idade !er mitindo Mue os usurios desen.ol.am seus !rY!rios sistemas[ Tuais so as .antagens e as des.antagens[ 9<1 Tue ti!os de !roLetos de desen.ol.imento de sistemas so mais adeMuados !ara serem desen.ol.idos !elos !rY!rios usurios[ Tual 2 a !ercentagem de !roLetos Mue !odem ser incluXdos nessa categoria em uma em!resa tX!ica[ 9K1 QocA considera !rtico utili&ar no.as linguagens de !rogramaoE de terceira geraoE como AdaE ou de MuartaE como FocusE *AMI' e 8$MADE !ara resol.er o !r/lema da !roduti.idade[ Tuais so as .antagens e des.antagens dessa a/Yrdagem[ 9D1 ProLeto de PesMuisa> Mual seria a mel"ora da !roduti.idade em sua em!resa nos !rYWimos cinco anos se fosse iniciada a utili&ao de uma no.a linguagem de !rogramao[ 9C1 Por Mue as linguagens de Muarta gerao !ermitem uma mel"ora da !roduti.idade maior do Mue as linguagens con.encionais de tercei ra gerao[ :H1 Tual seria a mel"ora da !roduti.idade em uma em!resa tX!ica se a manuteno !udesse ser redu&ida !or um fator de de&[ :91 ProLeto de PesMuisa> use um !roduto comercial ti!o _structuring engine] Fdis!ositi.o de estruturaoO !ara reestruturar um !rogra ma eWistente em sua em!resa e mea a reduo dos custos de manuteno1 $ Mue isso re!resenta em relao aos !otenciais /enefXcios de um dis!ositi.o de estruturao[ 9JK ::1 QocA ac"a Mue a reestruturao !ode transformar !rogramas ruins em /ons[ Por MuA[ 'e .ocA res!ondeu noE eW!liMue Mual 2 o !ro !Ysito da reestruturao de !rogramas1 :@1 Podem os usurios eWecutar a manuteno de seus !rY!rios !ro gramas[ $ Mue 2 necessrio !ara Mue isso !ossa ser feito[ Tual a !ercentagem do ser.io de manuteno de soft4are Mue .ocAE de forma realistaE considera Mue os usurios !ossam fa&er de fato[ :J1 Por Mue a engen"aria de soft4are !ode mel"orar a !roduti.idade[ :I1 Por Mue as ferramentas automati&adas de desen.ol.imento de soft 4are !odem aumentar a !roduti.idade[ :<1 Como o tra/al"o do analista de sistemas !ode afetar a !roduti .idade de um !roLeto de desen.ol.imento de sistemas[ :K1 Tual 2 o tem!o de um !roLeto tX!ico gasto em testes e de!urao de erros[ :D1 ProLeto de PesMuisa> Mual 2 o n3mero m2dio de erros nos sistemas desen.ol.idos em sua em!resa[ Tual 2 a .arlPncia ? a diferena entre a !ior o/ser.ao e a mel"or[ :C1 ProLeto de PesMuisa> encontre !elo menos dois eWem!los docu mentados de fal"as de sistemasE no ano !assadoE Mue ten"am cau sado uma !erda de .ida ou ten"a resultado em um custo de mais de q9 mil"o1 Como essas fal"as !oderiam ter sido e.itadas[ @H1 Por Mue o n3mero de erros de um sistema tende a aumentar de !ois Mue o sistema 2 !osto em o!erao !ela !rimeira .e&[ @91 Por Mue o n3mero de erros de um sistema tende a aumentar gra dualmente de!ois Mue o sistema est em funcionamento a alguns anos[ @:1 ProLeto de PesMuisa> Mual 2 o !erceritual dos recursos de sua orga ni&ao de desen.ol.imento de sistemas Mue 2 gasto com a manu teno[ A alta direo de sua em!resa est ciente desses n3meros[ @@1 Tue fatoresE al2m da !roduti.idadeE Mualidade e confia/ilidade so im!ortantes nas organi&a0es tX!icas de desen.ol.imento de soft 4are "oLe[ @J1 Tual 2 o !a!el desem!en"ado "oLe !elo analista de sistemas na determinao da eficiAncia de um sistema de informao[ @I1 Tual 2 o !a!el desem!en"ado "oLe !elo analista de sistemas na determinao da !orta/ilidade de um sistema de informao[ @<1 Tual 2 o !a!el desem!en"ado "oLe !elo analista de sistemas na determinao da segurana de um sistema de informao[ 8$TA' 9 As con.ersas informais Mue ti.e com gerentes de PED no CanadE na Euro!aE na AustrliaE na Am2rica do 'ul e em .rias outras 9JD !artes do mundo me fa&em acreditar Mue esse !ro/lema no 2E de forma algumaE restrito aos Estados 7nidos1 Para dar uma id2ia do alcance desse !ro/lemaE Ca!ers Rones con cluiuE em uma !esMuisa em a!roWimadamente :HH grandes em!re sas americanasE Mue o !roLeto tX!ico esta.a um ano atrasado e 9HHf acima do oramento1 QeLa ILonesE 9CD<e1 @ 7m /om eWem!lo disso ocorreu em meados da d2cada de DH Muando alguns !aXses li/eraram os /ancos e a ati.idade de com!ra e .enda de estoMues1 AustrliaE Ra!o e Inglaterra esto entre os !aXses Mue su/itamente se .iram com d3&ias de no.os /ancos e em!resas comerciais estrangeiras a/rindo as !ortas !ara o com2r cio1 -ondres foi tal.e& o caso mais e.identeE com a li/erao FBig BangO de :K de outu/ro de 9CD<1 Essas ati.idades eWigiram o de sen.ol.imento de grandes sistemas no.os de informaoE o Mue ge ralmente era conseguido !ela contratao de tantos !rogramadores e analistas Muantos fossem !ossX.eisE no menor tem!o Mue se !udesse1 J Isso contraria a som/ria !re.iso da reduo do n3mero de !rogra madores a nX.el nacional emitida !ela 71'1 Comrnerce De!artment and t"e 8ational 'cience Foundation1 Para maiores detal"es .eLa o ca!Xtulo :D de d 9CD<e1 I Para uma anlise detal"ada so/re a ra&o de o conceito de su!er? !rogramador no ser !rtico !ara a maioria das em!resasE .eLa Managing t"e 'tructured Tec"nlMues L6ourdonE 9CDDD1 < 7ma inter!retao Y/.ia de condi0es adeMuadas de tra/al"o 2 dar a cada mem/ro de um !roLeto de desen.ol.imento de sistemas um escritYrio !ri.ati.oE ou um escritYrio !ara cada duas !essoas ou um com!artimento Z !ro.a de somE Mue oferea !ri.acidade e concen trao ? isso tende a mel"orar a !roduti.idade do analistaG!rogra mador em 9Hf ou maisE em com!arao com o Mue tra/al"a em uma am!la sala a/ertaE com som .indo do teto1 $utra inter!retao 2 deiW?los tra/al"ar em casa1 Para mais detal"es so/re esse concei toE a _casa eletrNnica]E .eLa o ca!Xtulo @ de d 9CD<e1 K EWistem di.ersos !rodutos comerciais nessa rea1 Entre os mais co n"ecidos esto 'u!erstructure da Grou! $!erationsE Inc1V 'truc tured *etrofitE comerciali&ado !or PeatE Mar4ic%V e *ecorderE da -anguage Tec"nolog#E Inc1 D Isso tem uma im!ortPncia es!ecialE !orMueE de acordo com um es tudo em d e '4ansonE 9CDHeE a!roWimadamente J:f da ati.i dade de manuteno em uma em!resa tX!ica consiste em ;a!erfei oamentos do usurio]E em contraste com 9:f de ;re!aros emer genciais de !rogramas]E Cf de ;de!ura0es rotineiras]E <f de _acomoda0es Zs altera0es de "ard4are] etc1 Da !arte des!endi da em a!erfeioamentos do usurioE JHf referem?se Z incluso de 9JC no.os relatYriosE :Kf so gastos com o acr2scimo de dados a relatYrios L eWistentesE 9Hf so gastos com a reformatao de rela tYrios sem altera0es de conte3do e <f com a consolidao dos dados de relatYrios eWistentes e linguagem de !rogramao de Muarta geraoE 2 muito !ro..el Mue muitas Fseno todas`O dessas modifica0es relati.as a dados !ossam ser feitas diretamente !elo usurio1 C A a/ordagem de anlise de sistemas discutida neste li.ro re!resen ta a forma atual da anlise estruturada1 Como .eremos no ca!Xtulo KE algumas modifica0es ocorreram desde Mue a anlise estruturada foi a!resentada !ela !rimeira .e& em li.ros no final dos anos KH1 9H Isso se /aseia na !esMuisa le.ada a efeito !or -ient& e '4anson F e '4ansonE 9CDH9O1 99 EWistemE naturalmenteE eWce0es a esse faseamento gradualE mor mente Muando o no.o sistema tem de rece/er todo o .olume de ser.io Ftransa0esO do sistema antigo de uma sY .e&1 QeLa em d 9CDJ9 um interessante eWem!lo de um !roLeto desse gAne roE no Mual um sistema dinamarMuAs de com2rcio em Pm/ito nacio nal foi con.ertido !ara um no.o sistema1 9: Como a ind3stria da com!utao re!resenta a!roWimadamente D a 9Hf do G8P americanoE isso significa Mue eles esto gastando cer ca de qKI !er ca!ita !or ano em manuteno de soft4are1 9@ EWistem algumas eWce0es a essa otimista afirmati.a1 8o caso de certas a!lica0es crXticas F!re.iso do tem!oE !esMuisa nuclearE modelagem das !ro!riedades aerodinPmicas de a.i0es e automY .eis etc1OE a tecnologia atual de !rocessamento ainda no 2 ade Muada F!ara uma anlise mais detal"ada so/re isso .eLa F6ourdonE 9CD<D1 Em/ora !ara muitos sistemas de tem!o?real e em/utidos a tecnologia atual de !rocessamento seLa adeMuadaE os !roLetistas de sistemas e os !rogramadores !recisam desen.ol.er grande esforo !ara alcanarem um aceit.el nX.el de eficiAncia1 Al2m dissoE em alguns casos a tecnologia do "ard4are !arece adeMuadaE mas o no.o soft4are FeW1> as no.as linguagens de Muarta geraoO re.ela? se to ineficiente Mue o sistema como um todo no tem um nX.el de eficiAncia aceit.el1 9IH K M$DIFICA(rE' 8A A8A-I'E DE 'I'TEMA' 8o.as eJOrass0es como tenso t2cnica e c"oMue t2cnico foram criadas !ara definir as man !sicolYgicas de um !3/lico su/Lugado !or coisas desde fornos de microondas a Logos dom2sticos t ;Pac?Man]1 Infeli&menteE essas c no descre.em de modo correto o !rogresso no cam!o do !rocessamento de dados !ertencente ao desen.ol.imento de soft4are1 Para muitos !rofissionais do !rocessamento de dadosE a tenso t2cnica !ode ser definida de modo mel"or como a frustrao com o ritmo lento das mod nos m2todos de desen.ol.imento de soft4areE em face da crescente demanda !or ser.ios de !d1 Em/ora no "aLa d3.idas de Mue algum !rogresso foi feito nos 3lti mos @H anos rumo a mel"ores m2todos de desen.ol.imento de sistemasE tam/2m no se discute Mue acima de tudoE todo !rocesso de mod o 2 lento e descontXnuo1 $/ser.ando?se a !artir de uma !ers!ecti.a "istYricaE !arece MueE !ara Mue seLa o/tido algum !rogressoE 2 necessrio reconsiderar !eriYdica e coleti.amente as id2ias /sicasE $s !erXodos entre os grandes a.anos !odem ser de de&enas ou de centenas de anos1 FL1 GrantE _T4ent# Centur# 'oft4are] DatamalionE 9 de a/ril de 9CDI 8este ca!XtuloE a!renderemos> 91 $s !ro/lemas da anlise de sistemas clssica1 :1 As modifica0es ocorridas na anlise estruturada clssica1 @1 PorMue as ferramentas automati&adas so im!ortan tes !ara o futuro da anlise dc sistemas1 J1 PorMue os !ro/lemas da anlise estruturada clssica condu&iram Z !rotou!ao1 9I9 $s m2todos e ferramentas a!resentados neste li.ro re!resentam a a/ordagem Mue ser utili&ada na maioria das organi&a0es de desen.ol .imento de sistemas no final dos anos DH e inXcio dos CH1 8os meados da d2cada de CH 2 !ro..el Mue a anlise de sistemas ten"a e.oluXdo su/s tancialmenteV o ca!Xtulo :I discute a !ro..el nature&a dessa e.oluo1 Por2mE no /asta estar ciente das t2cnicas atuais da anlise de sistemas1 ^ necessrio con"ecer tam/2m as modifica0es introdu&idas nos 3ltimos cinco ou de& anosE modifica0es essas Mue condu&iram Zs fcL e t2cnicas Mue eW!loraremos em !rofundidade nas !artes II e III1 EWistem trAs moti.os !ara Mue .ocA esteLa familiari&ado com a e.oluo da anlise de sistemas1 PrimeiroE .ocA tal.e& .en"a a !erce/er Mue a em!resa de desen .ol.imento de sistemas !ara a Mual .ocA tra/al"a no e.oluiu e Mue nin gu2m tem MualMuer inteno de fa&er altera0es1 Em/ora as modifica 0es discutidas neste ca!Xtulo ten"am ocorrido em cerca de DHf das organi&a0es de !rocessamento de dados da Am2rica do 8orteE da Euro !a e de outras !artes do mundoE ainda eWistem aMueles /asu0es da mediocridade Mue no .Aem ra&0es !ara modificar o modo como .Am fa&endo as coisas " :H anos1 8o caso de .ocA se encontrar nessa situa oE a coisa mais lYgica a fa&er 2 mudar de em!regoV ouE se .ocA esti.er a/orrecidoE !rocure oci uma !osio de liderana e aLude sua em !resa a ingressar no mundo moderno da anlise de sistemas 1 'egundo Fe mais freMaenteOE .ocA !ode o/ser.ar Mue sua em!resa L comeou a im!lementar algumas das modifica0es .istas neste ca!Xtu loE mas Mue o !rocesso de mudana ainda continuar !or alguns anos1 7m /om eWem!lo disso 2 o desen.ol.imento dc ferramentas automati&a das de anlise de sistemas1 Tuase todos os analistas de sistemas l"e afirmaro Mue as ferramentas /aseadas em PC so uma eWcelente id2ia e alguns gerentes de PED esto comeando a a!oiar esse conceito1 Mas as ferramentas so relati.amente no.asE !raticamente nen"uma delas eWis tia antes de 9CDJ1 E as organi&a0es modificam?se com lentidoV no final de 9CDKE estima.a?se Mue menos de :f dos analistas de sistemas nos Estados 7nidos tin"am acesso Zs ferramentas discutidas neste li.ro1 Esti ma?se MueE !or .olta de 9CCHE a!roWimadamente 9Hf dos analistas de sistemas estaro utili&ando essas ferramentas e Mue uma .erdadeira satu rao do mercado de tra/al"o !ro.a.elmente no ocorrer antes dos meados da d2cada de CH1 Desse modoE mesmo Mue .ocA e outros mem j/ros de sua em!resa sai/am o ti!o de ferramentas e de t2cnicas Mue sero instaladas daMui a trAs anosE a a/ordagem atual da anlise de sistemas !ode ser algo diferente1 ^ im!ortante con"ecer a a/ordagem Mue a organi&ao utili&a.a anteriormente e Mual o ti!o de transio est em andamento1 TerceiroE a noo de transio 2 im!ortante mesmo Mue .ocA tra /al"e em uma das em!resas _de !onta]E Mue ten"a L im!lementado a 9I: a/ordagem de anlise de sistemas tratada neste li.ro1 $ cam!o da anli se de sistemasE como todos os outros as!ectos da rea do !rocessamen toE 2 dinPmicoV a maneira como faremos anlise de sistemas em 9CCI ser indu/ita.elmente da maneira como a reali&amos agoraE mas !ara sa/er Muais sero as mudanas Mue ocorrero no meio e no final da d2cada de CHE torna?se necessria a a!reciao de !ro.eniAncia desse cam!o e !ara onde ele se dirige1 K19 A PA''AGEM PA*A A A8+7'E E'T*7T7*ADA At2 o final dos anos KHE a imensa maioria dos !roLetos de desen.ol .imento de sistemas comea.a !ela criao de uma _no.ela .itoriana] so/re os reMuisitos do usurio1 Isto 2E o analista de sistemas documenta .a o Mue ele ou ela con"ecia daMueles reMuisitos em um macio doai mento constituXdo !rinci!almente de uma narrati.a no idioma adeMuado1 $s autores dos !rimeiros li.ros so/re _anlise estruturada]E es!ecialmen te d 9CKDeE d e 'arsonE 9CKK9 e l5ein/ergE9CKD9 mostraram Mue aMueles tornos !onder.eis Fmuitas .e&es c"amados de es!ecifica o funcionalO !adeciam ti!icamente de alguns grandes !ro/lemas> Eles eram monolXticos> era necessrio ler toda a es!ecificao funcionalE do !rincX!io ao fimE !ara !oder com!reendA?la1 As sim como uma no.ela .itorianaE se no lAssemos a 3ltima ! ginaE no sa/erXamos como a "istYria termina.a :j Isso era uma deficiAncia im!ortanteE !orMue eWistem muitas situa0es em Mue o analista de sistemasE ou o usurioE Mueria ler e com!reender urna !arte da es!ecificao sem necessariamente ter de ler MualMuer outra !arte1 Eles eram redundantes> a mesma informao era muitas .e&es re!etida em di.ersas !artes diferentes do documento 1$ !ro/lema disso era Mue se MualMuer as!ecto dos reMuisitos do usurio fosse alterado durante a fase da anlise de sistemas FouE !ior aindaE de!ois da fase de anlise ter sido considerada como concluXdaOE a alterao teria de se refletir em di.ersas !artes do documento1 Isso "oLe em dia seria um !ro/lema menorE uma .e& Mue mesmo as mais !rimiti.as organi&a0es tAm am!lo aces so Zs facilidades do !rocessamento de !ala.rasV !or2mE nas d2cadas de <H e KHE a maioria das em!resas cria.a suas es!ecifi ca0es funcionais sem nada mais sofisticado do Mue uma mMuina de escre.er el2trica 1 Corno era muito dificil atuali&ar e re.isar o documentoE a redundPncia inerente condu&ia a um gra.e !ro/lema> inconsistAncia1 Assim como uma !essoa com 9I@ muitos relYgios dificilmente sa/er Mue "oras realmente s uma es!ecificao funcional com a mesma informao re!eti trAs ou Muatro .e&es !ossi.elmente conter erros nessa inforrr Zo em algumas o!ortunidades1 Eles eram am/Xguos> o detal"amento dos reMuisitos do usui !odia ser Fe geralmente eraO inter!retado de modo difereii !elo usurioE !elo analista de sistemasE !elo !roLetista e !e !rogramador1 Estudos feitos no final dos anos KH concluira Mue IHf dos erros e.entualmente encontrados em um sisten o!erati.o e KIf do custo da eliminao de erros !odiam s im!utados a fal"as de inter!retao ou a erros da es!ccifica funcional1 A manuteno deles era im!ossX.el> !or -odos os moti.os aciff descritosE a es!ecificao funcional Muase sem!re esta.a ol soleta no final do !rocesso de desen.ol.imento do sistema Fist 2E Muando o sistema entra.a em o!eraoOE o Mue muitas .e& ocorria no final da fase de anlise1 Isso significa Mue a maior dos sistemas desen.ol.idos durante os anos <H e KH ? sistem Mue tAm agora :H anos ou mais ? no tAm o registro atuali&ad da direti.a Mue eles su!ostamente conser.a.am1 Como os an> listas de sistemas e os usurios originais " muito tem!o L n esto mais !resentesE a triste realidade 2 Mue ningu2m sa/e Mue a maior !arte dos !rinci!ais sistemas de !rocessamen fa& "oLe1 EnMuanto todos esses !ro/lemas esta.am sendo de/audosE u conLunto com!lementar de id2ias L esta.a sendo adotado na rea c !rogramao e !roLeto1 Essas id2iasE geralmente mencionadas coit !rogramao estruturada e !roLeto estruturadoE !rometiam grandes mi 9"oras na organi&aoE codificaoE testes e manuteno de !rogramas tin"amE na .erdadeE se mostrado de geral sucessoV !or2m mais e ma em!resas de PED comearam gradualmente a !erce/er Mue no "a. como se escre.er /ril"antes !rogramas e como !roLetar sistemas alt mente modulares se sou/esse realmente o Mue os sistemas de.eria fa&er1 8a realidadeE algu2m !oderia argumentar Mue a !rograma estruturada e o !roLeto estruturado !ossi/ilita.am Mue algumas eMui! de !roLeto c"egassem a um desastre com mais ra!ide& Mue nunca ? construindo uma /ril"ante soluo !ara o !ro/lema errado` Como resultado tem "a.ido um mo.imento gradual ? gradu no sentido de Mue a ati.idade de desen.ol.imento de sistemas le.c cerca de de& anos !ara aceitar ? rumo a es!ecifica0es funcionais M seLam> 9IJ Grficas ? com!ostas !or .rios diagramasE a!oiados !or material teWtual detal"ado MueE em muitos casosE ser.e mel"or como material de referAncia cio Mue o cor!o !rinci!al da es!ecificao1 j Particionadas ? de modo a Mue !artes indi.iduais da es!ecifi cao !ossam ser lidas inde!endentemente de outras1 j De redundPncia mXnima ? !ara Mue as altera0es dos reMuisi tos do usurio !ossam ser incor!oradas em a!enas uma !arte da es!ecificao1 Essa a/ordagemE con"ecida !or todos como anlise estruturadaE 2 agora utili&ada na maioria das em!resas comerciais de desen.ol.imento de sistemas e em grande n3mero das em!resas de engen"aria1 Ainda eWistem algumas em!resas !re!arando es!ecifica0es do ti!o no.ela .itorianaE mas elas L esto em minoria eE como os dinossaurosE se eWti guiro em algum momento1 K1: M$DIFICA(rE' DA A8+7'E E'T*7T7*A- C-+''ICA Como L dissemosE a anlise tradicional de sistemas Fcaracteri&ada !elas es!ecifica0es .itorianasO comeou a se modificar no final dos anos KH1 A maioria das em!resas Mue agora usa anlise estruturada /a seia sua a/ordagem nos !rimeiros li.ros dc DeMarcoE Gane e 'arsonE 5ein/erg e outrosE /em como nos seminriosE .ideotei!es e outros re cursos de treinamento fundamentados nesses li.ros1 EntretantoE alguns anos de eW!eriAncia !rtica com a anlise estruturada clssica indicaram di.ersas reas em Mue !recisam ser feitas algu mas altera0es ou eWtens0es1 As !rinci!ais altera0es I A Anfase na construo de modelos _fisicos] e _lYgicos] atuais do sistema do usurio mostrou?se !oliticamente !erigosa1 A eMui!e de !roLeto muitas .e&es gastou tanto tem!o F!or .e&es seis mesesE um ano ou maisO estudando o antigo sistema do usurioE um sistema Mue todos sa/iam Mue seria dis!ensado e su/stituido !or um no.oE Mue o !roLeto aca/ou cancelado !or um usurio im!aciente an-es Mue a eMui!e de !roLeto !udesse iniciar a tarefa de estudar o no.o sistema !ro!osto1 Isso no Muer di&er Mue ten"amos decidido e.itar a modelagem do sis tema atual do usurio em todos os casosE mas a!enas Mue reco n"ecemos ser essa uma ati.idade !oliticamente !erigosaE e Mue 9II !ro.a.elmente de.er ser minimi&adaE se no totalmente elimi nada1 Esse !onto .oltar a ser discutido no ca!Xtulo 9K1 A anlise estruturada clssica fa&ia uma distino .aga e !o/re mente definida entre modelos fisicos FMue fa&em conLecturas so/reE ou so influenciados !ela tecnologia da im!lementaoO e modelos lYgicos FMue so inde!endentes da tecnologia da im!lementaoOV na .erdadeE at2 os termos lYgico e fisico so confusos !ara muitos1 Id2ias im!ortantes nessa rea foram intro du&idas !or d e PalmerE 9CDJe e mesmo !artes da terminologia foram modificadas> agora nos referimos a modelos essenciais Fmodelos da _essAncia] de um sistemaO em lugar de modelos lYgicosE e a modelos de im!lementao em lugar de modelos fisicos1 j Mais e mais em!resas esto utili&ando t2cnicas de anlise estruturada !ara construir sistemas de tem!o?real EntretantoE a an lise estruturada clssica no tem como modelar o com!or tamento tem!o?de!endente de um sistemaV falta?l"e a notao !ara a!resentar interru!0es e sinaisE e !ara mostrar a sincroni &ao e a coordenao de diferentes tarefas de !rocessamento1 Para resol.er esse !ro/lemaE foi?l"e acrescentada uma notao adicional e toda uma no.a ferramenta de modelagem ? fluWos de controleE !rocessos de controle e diagramas de transi0es de estado1 Mais detal"es so/re isso nos ca!Xtulos C e 9@1 j A anlise estruturada clssica concentra.a?se Muase inteiramente na modelagem das fun0es a serem eWecutadas !elo sistemaV a modelagem dos dados era feita de uma forma !rimiti.a ; e mui tas .e&es sem rece/er muita Anfase e at2 ignorada1 EnMuanto issoE um n3mero crescente de em!resas !erce/eu Mue seus sis temas en.ol.iam fun0esE relacionamentos de dados e carac terXsticas de tem!o?real com!leWas1 Como .imosE os diagramas de transi0es de estado foram acrescentados Z anlise estrutu rada !ara !ossi/ilitar a modelagem de sistemas de tem!o? realV !ara !ossi/ilitar a modelagem de sistemas com com!leWos rela cionamentos de dadosE foram acrescentados os diagramas de entidades?relacionamentos1 Mais im!ortante Mue o sim!les acr2scimo de uma ou duas ferramentas de modelagem 2 o fato de Mue trAs das !rinci!ais ferramentas de modelagem !ossam ser integradasE isto 2E utili&adas em conLunto de maneira Mue cada uma !reste a!oio Z outra1 $s diagramas de entidades?rela cionamentos so estudados no ca!Xtulo 9: e o conceito de modelos integrados 2 .isto no ca!Xtulo 9J1 9I< j $ !rocesso da anlise estruturada modificou?se su/stancialmen te1 A anlise estruturada clssica !resumia Mue o analista de sis temas comearia desen"ando um diagrama de conteWtoE um diagrama de fluWo de dados com uma 3nica /ol"a re!resen tando todo o sistemaE e de!ois su/di.idiria o sistema em di.er sas fun0es e .rios de!Ysitos de dados em uma forma estri tamente to!?do4n1 Infeli&menteE isso no funciona.a /emE !elas ra&0es a!resentadas no ca!Xtulo :HE e em conseMaAnciaE foi acrescentada uma no.a a/ordagem denominada su/di. de e.entos1 A terminologia e os conceitos /sicos da su/di.iso de e.entos foram a!resentados !or d e PalmerE 9CDJe e estendidos !or d e MellorE 9CDIe1 K1@ $ '7*GIME8T$ DA' FE**AME8TA' A7T$MATIgADA' DE A8+7'E Tuando as t2cnicas de modelagem grfica da anlise estruturada comearam a se disseminar !elas em!resas de desen.ol.imento de siste mas no final dos anos KH e inXcio dos DHE os analistas de sistemas come aram a !erce/er Mue eWistia um !ro/lema im!ortante> o tra/al"o artXs tico necessrio !ara criar diagramas de fluWo de dadosE diagramas de entidades?relacionamentosE diagramas estruturaisE diagramas de transi 0es de estado e outros modelos grficos era muitas .e&es eWcessi.oE $ !ro/lemaE na maior !arte dos casosE no era a criao inicial dos diagra masE mas a re.iso e a manuteno1 A criao do diagrama inicial consome tem!o masE !elo menos d a satisfao de ser uma ati.idade desafIadoraE criati.a e intelectual1 Em um !roLeto tX!icoE o analista de sistemas sa/e Mue ter de redescn"ar os modelos grficos .rias .e&es at2 Mue ele e o usurio c"eguem a um acordo so/re os reMuisitos do sistema Em um grande sistemaE !ode "a.er IH a 9HH ou mais diagramas de fluWo de dadosE alguns diagramas de entidades?relacionamentos e !ossi .elmente .rios diagramas de transi0es de estadoV desse modoE o .olu me de tra/al"o artXstico en.ol.ido !ode ser realmente assustador1 A con seMaAncia !rtica dissoE em muitas em!resasE 2 Mue a anlise estruturada clssica no foi to /em?sucedida Muanto de.eria1 $correram os seguin tes !ro/lemas> j A!Ys a segunda ou terceira re.iso do diagramaE o analista de sistemas torna.a?se !rogressi.amente "ostil e relutante em fa&er no.as modifica0es1 AssimE era !ossX.el encontrar diagramas ;congelados] Mue no refletiam .erdadeiramente os reMuisitos do sistema do usurio1 9IK j Em face do .olume de ser.io en.ol.idoE o analista de sistemas !or .e&es no mais su/di.idia o modelo do sistema em modelos de nX.el mais /aiWo ? isto 2E em .e& de desen.ol.er um modelo constituXdo de cinco nX.eis de diagramas de fluWo de dadosE ele !ara.a no Muarto nX.el1 $ modelo resultante contin"a fun0es _!rimiti.as] Fisto 2E as /ol"as do Muarto nX.elO Mue de fato no o eramV isso se torna.a t com!leWo Mue o !rogramador !reci sa.a eWecutar algumas tarefas de anlise de sistemas !ara !oder escre.er os !rogramas 1 j As altera0es dos reMuisitos do usurio a!Ys a fase de anlise do !roLeto muitas .e&es no eram incor!oradas ao modelo do sis tema1 Muitas dessas altera0es ocorriam durante as fases de !roLetoE !rogramao e de testes do sistemaE enMuanto outras ocorriam de!ois de o sistema ter sido im!lementado1 $ resul tado era uma es!ecificao o/soleta1 Al2m do tra/al"o necessrio !ara criar e manter os diagramasE a anlise estruturada clssica eWige um grande .olume de tra/al"o !ara .erificar os diagramas !ara garantir Mue esteLam com!letos e consis tentesV essas normas so discutidas no ca!Xtulo 9J l$ 8os anos KH e na maior !arte dos DHE os analistas de sistemas de!endiam de t2cnicas manuais de .erificao Fins!e0es .isuais dos diagramas !ara locali&ar errosO1 Como esse tra/al"o 2 uma ati.idade intensa e a/orrecidaE tende a ser suLeita a erros1 Em conseMaAnciaE muitos erros de es!ecificao dei Waram de ser encontrados1 Muitos desses !ro/lemas !odem ser resol.idos com um adeMuado a!oio automati&adoV isso era /em con"ecido mesmo Muando a anlise estruturada clssica foi a!resentada !ela !rimeira .e&E mas o custo da automati&ao era muito mais ele.ado do Mue o Mue as em!resas !o diam su!ortar1 EntretantoE o desen.ol.imento de !oderosos terminais grficos em meados da d2cada dc DH condu&iu a uma ati.idade total mente no.a con"ecida !or CA'E Fcom!uter?Aided E Engine eringOV algumas d3&ias de fornecedores oferecem !rodutos Fgeralmente !ara PCO Mue desen"am diagramas de fluWos de dados e coisas seme l"antesE /em como eWecutam di.ersas tarefas dc .erificao de erros1 As caracterXsticas e eWem!los dessas ferramentas so discutidas no a!Andice A1 Como L foi mencionadoE a!enas :f dos analistas de sistemas nos Estados 7nidos dis!un"am dessas ferramentas em 9CDKE e estima?se Mue a!enas 9Hf as tero em 9CCH1 Toda.iaE isso 2 o/.iamente o camin"o do futuro e !odemos es!erar Mue todos os analistas !rofissionais insistiro nelas Z !ro!oro Mue o tem!o !assar1 Isso le.arE em !rincX!ioE a um mel"or nX.el de Mualidade dos modelos dc sistemas !rodu&idosV em 9ID segundo lugarE le.ar a modelos grficos de sistema .isualmente mais atraentes1 o !ro!oro Mue os conceitos de .erificao de erros discuti dos no ca!ituio 9J forem automati&adosE isso !ode eliminar a necessida de de os analistas de sistemas con"ecerem o material do ca!Xtulo 9J` E Z !ro!oro em Mue as ferramentas CA'E comecem e.entualmente a gerar !rogramas Fem C$B$-E Pascal ou tal.e& em uma linguagem de Muarta geraoO diretamente a !artir das es!ecifica0esE "a.er uma reduo na necessidade de !rogramadores` K1J $ 7'$ DA P*$T$TIPA()$ Como mostramos no ca!itulo @E alguns usurios tAm dificuldade em lidar com os modelos grficos da anlise estruturadaE !referindo al gum $utro modo de modelar os reMuisitos e o com!ortamento do siste ma1 As ferramentas de !rototi!aoE Mue comearam a se tornar am!la mente dis!onX.eis em meados da d2cada de DHE tAm sido .istas !or alguns como uma alternati.a Z anlise estruturada !ara tais usurios1 EWiste um outro moti.o !ara a !o!ularidade da !rototi!ao> a anlise estruturada clssica 2 .ista em algumas em!resas como consumi dora eWagerada de tem!oV no momento em Mue a fase de anlise termi naE o usurio L esMueceu o Mue ele Mueria inicialmente do sistema1 IssoE de "/itoE resulta dos seguintes !ro/lemas> j A eMui!e de !roLeto gastou tem!o demais desen.ol.endo modelos do sistema atual do usurio e de!ois te.e de des!en der ainda mais tem!o modelando o no.o sistema1 Como L foi mencionadoE a modelagem do sistema atual agora 2 .ista como uma ati.idade !oliticamente !erigosa1 j A em!resa in.estiu anteriormente !ouco ou nen"um tem!o em fa&er MualMuer anlise do sistemaE !referindo comear a codifi cao logo Mue !ossX.el1 Em um am/iente assimE o !rolongado tra/al"o da anlise de sistemasE Mue a!arenta no !rodu&ir saXdas eWceto figuras com cXrculos e MuadrosE !ode !arecer im!roduti.a1 j $s !rimeiros !roLetos utili&ando a anlise estruturada !odem cons3mir mais tem!o do Mue o normalE !orMue os analistas de sistemas esto a!rendendo no.as t2cnicas e consultando um ao outro Mual a mel"or maneira de a!lic?las1 As ferramentas de !rototi!ao Fferramentas de soft4are Mue !er mitem ao analista de sistemas construir uma imitao do sistemaO esto 9IC sendo consideradas corno uma efeti.a soluo !ara esses !ro/lemas $/ser.e tam/2m Mue a !rototi!ao tende a se concentrar no as!ecto da interface "umana de um !roLeto de desen.ol.imento de sistema1 Infeli&menteE as ferramentas de !rototi!ao Zs .e&es so utili&adas !ara e.itar os detal"es com/inados da anlise e do !roLeto de sistemasV o uso adeMuado da !rototi!ao foi mostrado na seo I1<1 K1I $ CA'AME8T$ DA A8+-I'E E D$ P*$RET$ DE 'I'TEMA' Como L foi anteriormente mencionado neste ca!XtuloE os a!erfei oamentos na rea da engen"aria de soft4are se iniciaram com a !rogra mao estruturada e com o !roLeto estruturado1 8a realidadeE esses dois tY!icos foram tema de consider.el de/ate em em!resas de desen.ol.i mento de sistemas durante a !rimeira metade da d2cada de KH1 Foi tam/2m nessa 2!oca Mue comearam a surgir os !rimeiros li.ros so/re !roLeto estruturado F.eLa lM#ersE 9CKIe e d e ConstantineE 9CKIeO1 Esses !rimeiros li.ros no fa&iam referAncia Z anlise estruturada Fuma .e& Mue os conceitos ainda no tin"am sido desen.ol.idosOE enMuanto os li.ros !osterioresE como d 9CDHeE incluXam uma /re.e .ista geral do assunto1 $ tra/al"o so/re anlise estruturada comeou em meados dos anos KHE e os !rimeiros li.ros comearam a a!arecer no final daMuela d2cadaV mas "a.ia !ouca ou nen"uma coneWo entre a discus so da anlise estruturada e a so/re !roLeto estnsturado1 $ !ro/lema !rinci!al esta.a em Mue a anlise estruturada lida.a com a es!ecificao de sistemas grandes e com!leWosE enMuanto o !roLeto estruturado !are cia mais a!ro!riado !ara o !roLeto de !rogramas indi.iduais a serem !rocessados em um sY com!utador1 Falta.a a !onte entre a anlise de sistemas e o !roLeto de !rogramasE isto 2E o !roLeto de sistemas1 Esse !ro/lema foi tratado !or di.ersos consultoresE autores e em !resas de desen.ol.imento de sistemas nos anos DH1 -i.ros recentes de d e MeliorE 9CDI9E /em como no.as edi0es de li.ros !or d RonesE 9CDDe e d e ConstantineE 9CDC9E agora tratam dos !ro/le mas do !roLeto de sistemas e do !roLeto de !rogramas1 K1< *E'7M$ Como MualMuer cam!o da ciAncia da engen"ariaE a anlise de siste mas !assou !or uma s2rie de modifica0es e.oluti.as durante os 3ltimos :H anos1 Como indicado no inXcio deste ca!XtuloE 2 im!ortante sa/er Muais foram essas modifica0esE !orMue a ati.idade de desen.ol.imen to de soft4are 2 to grande e .ariada Mue ningu2m utili&a as mesmas 9<H t2cnicas Mue outros1 'ua em!resa !ode estar no \/ordo de ataMue] da tecnologia ou no \/ordo de fuga]1 Podemos es!erar Mue a rea da anlise de sistemas continue !ro gredindo e Mue as t2cnicas a!resentadas neste li.ro tero e.oluXdo ainda mais nos !rYWimos cinco a de& anosE $ ca!Xtulo :I eWamina a !ro..el nature&a das futuras modifica0es e.oluti.as1 *EFE*b8CIA' 91 Tom DeMarcoE 'tructuredAnal#sts and '#stem '!ec 8o.a lorMue> 6$7*D$8 PressE 9CKD1 :1 C"ris Gane e Tris" 'arsonE 'tructured '#stems Anal#sis and Design1 8o.a lorMue> Im!ro.ed '#stems Tec"nologiesE Inc1E 9CKK1 @1 Qictor 5ein/ergE 'tructured Anal#sis1 8o.a IorMue>6$7*D$8 PressE 9CKD1 J1 Paul 5ard e 'te.e MellorE 'tructured De.elo!ment for *eal?Time '#stems1 Qolumes 9?@1 8o.a TorMue> 6$7*D$8 PressE9CDI1 I1 'te.e McMenamin e Ro"n PalmerE Essential '#stems Anal#sis1 8o.a lorMue> 6$7*D$8 PressE 9CDJ1 <1 Glen M#ersE *elia/le '#stems t"roug" Com!osite Design1 8o.a lor Mue> PetroceiliGC"arterE 9CKI1 K1 Ed4ard 6ourdon e -arr# ConstantineE 'tnsctured DesXgnE 9] cd1 8o.a lorMue> 6$7*D$8 PressE 9CKI1 D1 Meilir Page?RonesE T"e Practical Guide to 'tructured '#stems De signE 9= ed1 8o.a lorMue> 6$7*D$8 PressE 9CDH1 C1 Meilir Page?RonesE T"e Practical Guide to 'tructured '#stems De signE := ed1 Engle4ood CliffsE 81R1> Prentice?,allE 9CDD1 9H1 Ed4ard 6ourdon e -arr# ConstantineE 'iructured DesignE := cd1 Engle4ood CliffsE 81R1> Prentice?"allE 9CDC1 PE*G78TA' E EXE*CcCI$' 91 Tuais so os trAs !rinci!ais moti.os !ara Mue .ocA con"ea a e.oluo da anlise de sistemas[ :1 $ Mue .ocA de.eria fa&er se a organi&ao em Mue .ocA tra/al"a no ti.er feito as modifica0es discutidas neste ca!Xtulo[ @1 A!resente Muatro !rinci!ais !ro/lemas de uma es!ecificao narra ti.a clssica1 J1 Por Mue a redundPncia 2 indeseL.el na es!ecificao de um siste ma[ ^ !ossX.el remo.er toda a redundPncia de uma es!ecificao[ I1 QocA !ode imaginar algum moti.o !elo Mual a redundPncia !ode ria ser 3til na es!ecificao de um sistema[ 9<9 <1 Tuais so as trAs ra&0es comuns !elas Muais a redundPncia 2 intro du&ida em uma es!ecificao clssica[ K1 Tue !ercentagem de erros em um sistema o!erati.o !ode ser atri /uIda aos erros ocorridos durante a fase de anlise de sistemas do !roLeto[ D1 ProLeto de PesMuisa> Mual 2 a !ercentagem de erros em sua organi &ao Mue !ode ser atri/uida a erros ocorridos durante a fase de anlise de sistemas do !roLeto[ C1 Tuais so as conseMaAncias de uma es!ecificao im!ossX.el de ser mantida[ 9H1 Faa uma /re.e descrio de !rogramao estruturada1 991 Faa uma /re.e descrio de !roLeto estruturado1 9:1 Por Mue algumas organi&a0es desco/riram Mue no so /em sucedidas Muando utili&am a !rogramao estruturada e o !roLeto estruturado[ 9@1 Tuais so as trAs !rinci!ais caracterXsticas da es!ecificao estruturada[ 9J1 Tuais so as cinco !rinci!ais modifica0es Mue ocorreram na an use estruturada clssica[ 9I1 Tual o !ro/lema Mue a anlise estruturada clssica a!resenta ao lidar com sistemas de tem!o?real[ 9<1 Tuais so os riscos associados Z modelagem do sistema atual de informa0es do usurio[ Tuanto tem!o se de.e des!ender com essa modelagem[ 9K1 Tuais so os trAs !rinci!ais !ro/lemas Mue o analista de sistemas tal.e& encontre se no dis!u ser de a!oio automati&ado em seu tra/al"o[ 9D1 ^ im!ortante dis!or de a!oio automati&ado nos !roLetos de desen .ol.imento de !eMuenos sistemas de informa0es[ Por MuA[ 9C1 Tue !ro/lemas !odem ser encontrados se o analista de siste mas ti.er de eWecutar manualmente as ati.idades de .erificao de erros[ :H1 Por MueE em sua o!inioE a!enas :f dos analistas de sistemas nos Estados 7nidos dis!un"am de esta0es de tra/al"o !ara anlise automati&ada de sistemas em 9CDK[ :91 Tue /enef%ios adicionais !odem ser o/tidos da introduo de uma rede de ferramentas automati&adas de anlise de sistemas[ F$/s1> um desses /enefXcios 2 a mala eletrNnicaO1 ::1 Tuais so os trAs !ro/lemas comuns Mue as organi&a0es encon traram na im!lementao da anlise estruturada clssica[ :@1 Tue !ro/lemas de interfacc eWistiam entre a anlise estruturada e o !roLeto estruturado na d2cada de KH e no inXcio da de DH[ 9<: 8$TA' Isso no 2 uma sugesto frX.ola1 'e essas organi&a0es no se modificaremE estaro fora do mercado em um determinado mo mento da d2cada de CH1 : $uE em outras !ala.rasE no "a.ia seWo at2 a 3ltima !gina1 @ EWistem .rias teorias !ara eW!licar !orMue a redundPncia era uma caracterXstica to comum1 Pela min"a !rY!ria eW!eriAncia a es!eci ficao funcional ser.ia a trAs diferentes o/Leti.os na em!resa Fe !or isso a mesma informao era a!resentada em trAs modos diferentesO> !rimeiro> ela era a declarao ;oficial] dos reMuisitos do usurioV segundo> ela era um manual de treinamento no?ofi cialE destinado a eW!licar como os \est3!idos] usurios de.eriam o!erar o sistemaE e terceiro> ela era uma ferramenta de .endas !o liticamente orientadaE destinada a fa&er crer Z direo Mue o sistema iria ser to /om Mue .aleria o !reo de sua ela/orao1 J 7m dos mel"ores eWem!los desse !ro/lema tal.e& seLa o Mue ocor reu em uma im!ortante organi&ao de PED de um /anco no.a iorMuino em meados da d2cada de KH1 *eunidos em uma tX!ica _"orda mongYlica] de !roLeto de desen.ol.imento de sistemasE o gru!o de analistas de sistemas entre.istou d3&ias de usurios !or todo o /anco e desen.ol.eu gradualmente a es!ecificao .itoria? na de taman"o entor!ecedor1 A datilografia do documento ocu!ou o !ool de datilYgrafos !or duas semanas e todas as co!iadoras XeroW foram reMuisitadas !or di.ersos dias !ara Mue fossem feitas cY!ias suficientes !ara distri/uio aos usurios1 Foi dada uma se mana !ara Mue a comunidade usuria lesse toda a es!ecificao funcional e a!ontasse MuaisMuer modifica0es ou corre0esV !ara grande sur!resa Fe imenso alX.ioO os analistas no rece/eram ne n"um comentrio !or !arte dos usurios na data limite1 AssimE a es!ecificao funcional foi declarada como _congelada] e deu?se a !artida nos tra/al"os de !roLeto e !rogramao1 TrAs semanas mais tardeE seis mem/ros da comunidade usuria anunciaram Mue ti n"am finalmente terminado de ler toda a es!ecificao eE simE eles tin"am algumas !eMuenas altera0es1 'eguiu?se um !eMueno !Pni co> o Mue seria feito com a es!ecificao[ A!Ys duas furiosas reu ni0es nas Muais os usurios e os analistas de sistemas insulta.am os ancestrais e a inteligAncia uns dos outros em termos Mue no !o dem ser re!etidos em um li.ro como esteE c"egaram a uma de ciso> as modifica0es no seriam incluidas na es!ecificao datilo grafada F!orMue isso seria muito dificilOE mas seriam incor!oradas ao sistema1 $uE em outras !ala.ras> a eMui!e de !roLeto ac"ou Mue seria mais fcil alterar o C$B$- do Mue o inglAs1 9<@ I QeLa Rames MartinE An Information '#stems Man FEngle4ood CliffsE 81R1> Prentice? ,allE 9CDJO1 < *e.eLa a definio e os eWem!los de sistemas de tem!o?real no ca!itulo :1 K Isso tal.e& seLa um tanto inLustoE !orMue IDeMarcoE 9CKD9 e IGane e 'arsonE 9CKK9 dedicam um ou mais ca!Xtulos Zs estruturas de dados1 Mas a notao utili&ada F_diagramas de estruturas de dados]O 2 atualmente considerada o/soletaV al2m dissoE /oa !arte da Anfase dos !rimeiros li.ros esta.a na con.erso de um conLunto ar/itrrio de estruturas de dados !ara a terceira forma normalE Mue F9O 2 to sim!ies Mue o !rocesso foi mecani&ado e F:O 2 mais um !ro/lema de im!lementaoE ou de !roLetoE Mue de anlise de sistemas1 D Isso tal.e& no seLa e.idente !ara .ocA !or enMuantoE !orMue .i mos a!enas alguns diagramas de anlise estruturada no ca!Xtulo J1 ContudoE no final da !arte IIE ficar /astante e.identeV caso contr rioE aguarde at2 o final de seu !rimeiro !roLeto _real] de anlise estruturada` C Como .eremos no ca!Xtulo 99E de.e "a.er uma es!ecificao de !rocesso F"a/itualmente escrita como uma ta/ela de decisoE um fluWograma ou em formato de !ortuguAs estruturadoO !ara cada /ol"a !rimiti.a de 3ltimo nX.el no diagrama de fluWo de dados1 'e o sistema ti.er sido adeMuadamente su/di.ididoE a maioria das es!ecifica0es de !rocessos de.e ter menos de uma !gina1 9H EWem!los de normas de .erificao> todos os fluWos de dados de um DFD de.em ter nomeE e esses nomes de.em estar definidos no dicionrio de dados1 Todas as entradas do dicionrio de dados de.em corres!onder a fluWos de dados ou de!Ysitos no DFD1 Cada /ol"a no DFD de.e ter !elo menos um fluWo de dados Mue c"ega e !elo menos um fluWo de dados Mue sai1 E assim !or diante1 9<J CA*ACTE*c'TICA' DA' FE**AME8TA' DE M$DE-AGEM TualMuer coisa fcilE se .ocA !uder incluX?la em sua coleo de modelos1 'e#mour Pa!ertE Mindstorins 8este ca!XtuloE a!renderemos> 91 PorMue as ferramentas de modelagem de sistemas so "a/itualmente grficas1 :1 PorMue as ferramentas de modelagem de sistemas so su/di.isX.eis na modalidade to!? do4n1 @1 PorMue as ferramentas de modelagem de sistemas tAm redundPncia mXnima1 J1 PorMue as ferramentas de modelagem de sistemas auWiliam a modelagem do com!ortamento de sis temas1 $s !rYWimos ca!Xtulos deste li.ro descre.em as di.ersas ferramen tas de modelagem Mue .ocA usar como analista de sistemas1 Antes de mergul"armos nos detal"es dos diagramas de fluWo de dadosE dos dia gramas entidade?relacionamentos etc1E eWistem alguns as!ectos introdu tYrios Mue !recisamos re.er1 QocA se recordar do ca!Xtulo J Mue um modelo 2 um fac?simile /arato de um sistema com!leWo Mue deseLamos estudar1 $s modelos de sistemas so construXdos !or trAs moti.os> 91 Para focali&ar caracterXsticas im!ortantes de sistemas deiWando de lado as menos im!ortantes1 9<K :1 Para discutir altera0es e corre0es nos reMuisitos do usurio a /aiWo custo e com mXnimo risco1 @1 Para confirmar Mue entendemos o am/iente do usurio e o do cumentamos de uma tal maneira Mue os !roLetistas de sistemas e !rogramadores !odem construir o sistema1 Mas eWistem muitas es!2cies diferentes de modelos Mue !odemos construir !ara o usurio> modelos narrati.osE modelos de !rotYti!osE . rios modelos grficos e assim !or diante1 8a realidadeE o sistema final Mue construXmos !ara o usurio !ode re.elar ser um modelo ? no sentido de Mue ele !ode re!resentarE !ela !rimeira .e&E um meio de o usurio .isuali&ar o Mue ele deseLa1 8este li.roE focali&aremos nossa ateno nos modelos em !a!el Fou modelos em !a!el !rodu&idos !or sistemas automati&ados CA'EO1 EWisteE !or2mE uma grande .ariedade deles> como .eremos em maiores detal"es nos !rYWimos ca!XtulosE eWistem fluWogramasE diagramas ,IP$E ta/elas de decisoE diagramas de fluWo de dadosE fluWogramas de sistemasE dia gramas de transi0es de estadoE r.ores de decisoE diagramas de entida de? relacionamentosE diagramas de FerstlE diagramas de ,amilton?geldinE diagramas DAP e um conLunto intermin.el de diagramasE ta/elas e gr ficos Mue !odemos a!resentar ao usurio1 Tual deles de.eremos utili&ar[ A !remissa /sica deste li.ro 2 Mue .ocA de.e utili&ar MualMuer modelo Mue seLa 3til !ara .ocA e !ara a situao em Mue .ocA se encon trar1 Diferentes usurios !odem !recisar de diferentes ferramentas de modelagem !ela eW!eriAncia anterior ou !orMue eles consideram Mue certas es!2cies de diagramas os confundem e intimidam=1 Diferentes !roLetos !odem eWigir diferentes ferramentas de modelagem face aos !adr0es de documentao im!ostos !or organi&a0es eWternas1 E dife rentes ti!os de sistemas !odem eWigir modelos diferentes !ara realar adeMuadamente as caracterXsticas im!ortantes1 -e.ando essa Muesto mais adianteE muitos sistemas eWigem mode los m3lt cada modelo focali&a um n3mero limitado de as!ectos do sistemaE deiWando de lado Fou ignorandoO outros as!ectos do sistema1 Isso .ale es!ecialmente !ara muitos sistemas construXdos "oLeE uma .e& Mue eles tAm com!leWas caracterXsticas funcionaisE com!leWas estruturas de dados e com!leWas considera0es tem!orais1 TualMuer ferramenta Mue .ocA utili&e de.e ter as seguintes caracterXsticas> j Ela de.e ser grficaE com adeMuado detal"amento teWtual de a!oio1 9<D j Ela de.e !ermitir Mue o sistema !ossa ser .isuali&ado de forma su/di.ididaE na modalidade to!?do4n1 j Ela de.e ter mXnima redundPncia1 j Ela de.e aLudar o leitor a !rognosticar o com!ortamento do sistema1 j Ela de.e ser trans!arente !ara o leitor1 EW!loraremos cada um desses !ontos a seguir1 D19 M$DE-$' G*+FIC$' A maioria dos modelos de sistemas mais con"ecidosE e todos aMue les usados neste li.roE a!Yia?se firmemente em grficos1 $ uso de grfi cos no 2 o/rigatYrio em um modelo de sistemaE !or2m o .el"o adgio de Mue numa figura .ale !or mil !ala.ras] 2 uma /oa Lustificati.a !ara a nossa !referAncia !or grficos em lugar de teWtos narrati.os1 7ma figura /em escol"ida !ode englo/ar uma imensa Muantidade de informa0es de forma concisa e com!acta1 Isso no significa Mue uma figura !ossa descre.erE necessariamen teE tudo so/re um sistemaV !ara isso !oderia criar algo to confuso Mue ningu2m se interessaria em eWaminar1 Geralmente usamos grficos !ara identificar os com!onente1s de um sistema e as lnteKface?s entre elesV todos os outros detal"es Fisto 2E as res!ostas !ara !erguntas como \Tuantos[] e \Em Mue seMaAncia[] etc1O so a!resentadas em documentos teWtuais de a!oio1 $s documentos teWtuais de a!oio descritos neste li.ro so a es!ecificao do !mcesso e o dicionrio de dados1 Isso no significa Mue todos os analistas de sistemas de.am usar o conLunto de ferramentas de modelagem orientadas !ara grficos e teWtos a!resentado neste li.ro1 $ Grande Analista de 'istemas celestial no o fulminar com seus raios !ela no utili&ao de diagramas de fluWo de dados1 8o entantoE .ocA !ro.a.elmente ser atingido !or raios se escol"er um ou outro dos eWtremos de tudo em grficos Fsem teWto de a!oioO ou tudo em teWto Fsem grficosO1 E .ocA ser Mueimado com !elo menos um !eMuenino raio se fi&er do teWto a !arte dominante do modeloE com grficos desem!en"ando um !a!el menor e su/ordinado1 7m ou mais grficos de.em ser o !rinci!al documento a Mue o usurio !oder recorrer !ara com!reender o sistemaV os documentos teWtuais de.em ser.ir como material de referAncia a ser consultado Muando necessrio1 9<C D1: M$DE-$' '7BD5-'cQEI' 8A M$DA-IDADE T$P?D$58 7m segundo as!ecto im!ortante de uma /oa ferramenta de mode lagem 2 a sua a!tido !ara retratar um sistema de forma su/di.idida to! do4n1 Isso no 2 im!ortante !ara !eMuenos sistemasE !orMue !odemos di&er tudo Mue !recisa ser dito em uma ou duas !ginasE e MualMuer um Mue necessite con"ecer MualMuer as!ecto do sistema !oder a!render tudo do sistema1 EntretantoE os !roLetos reais do mundo real no so geralmente !eMuenos 8a realidadeE a maioria dos !roLetos em Mue .ocA !ro.a.el mente se en.ol.er .ariar de m2dios a gigantescos1 Em conseMaAnciaE ser im!ossX.el !ara MualMuer umE seLam eles usuriosE analistas de sistemas ou !rogramadoresE focali&ar todo o sistema de uma sY .e&1 8em seria !ossX.el a!resentar um modelo grfico de um grande e com!leWo sistema em uma sim!les fol"a de !a!el ? a menos Mue se Mueira consi derar o eWtremo /urlesco de uma fol"a de microfic"a de D !or 9H !2s` Dessa maneiraE nossas ferramentas de modelagem de.em nos !ermitir retratar !artes indi.iduais do sistema de uma forma isoladoE Luntamen te com um modo dXreto de !assar de uma !an do modelo do sistema !ara outro1 EntretantoE necessitamos /em mais do Mue isso> no seria a!ro!ria doE !or eWem!loE criar um enorme modelo grfico de @H X @Hm eE em seguidaE di.idi?lo em C mil !edaos se!arados de HE9 X $ElmE com mil"a res de conectores de !ginas1 Isso eMui.aleriaE a!roWimadamenteE ao desen"o de um ma!a das ruas de todo os Estados 7nidos em uma 3nica Fem/ora grandeO fol"a de !a!el eE em seguidaE su/di.idi?la em mil"a res de !edaos do taman"o de !ginas1 8a realidadeE nossa eW!eriAncia com ma!as e atlas demonstra como !recisamos organi&ar um modelo de sistema com!leWo1 7m atlas dos Estados 7nidosE !or eWem!loE normalmente comea com um dia grama de uma 3nica !gina de todo o !aXsE como mostrado na figura D191 Essa !gina mostra os estadosE e !ode mostrar tam/2m as !rinci!ais interfaces entre os estados FriosE rodo.ias interestaduaisE ferro.iasE rotas a2reas etc1O1 As !ginas su/seMaentes so "a/itualmente dedicadas a cada estadoE de forma indi.idualE com cada !gina a!resentando as ci dades e municX!ios de um estadoE /em como as rodo.ias estaduais lo cais Mue no foram mostradas no ma!a a nX.el de !ais1 Pode?se imaginar ma!as de nX.el inferiorE Mue mostram detal"es so/re cada municX!ioE cada cidade dentro de um municX!io e cada /airro dentro de uma cidade1 7m /om modelo de um com!leWo sistema de informa0es de.e !roceder da mesma forma to!?do4n1 7ma .iso geral de alto nX.el de uma !arte do modelo de.e dar ao leitor uma /oa id2ia dos !rinci!ais 9KH com!onentes de alto nX.el e das interfaces do sistema1 As !artes su/se Maentes do modelo forneceriam informa0es so/re com!onentes deta l"ados de /aiWo nX.el do sistema1 EE assim como um atlas fornece um mecanismo !rtico !ara !ercorrermos todo o conLunto de ma!as indi.i duais Fisto 2E !artindo do ma!a de nX.el de !aXs !ara o ma!a em nX.el de municX!io sem grandes dificuldadesOE um /om modelo de um sistema de informa0es fornece um modo !rtico !ara !assar sua.emente de alto !ara /aiWo nX.el1 D1@ M$DE-$' DE Mc8IMA *ED78Dw8CIA $s modelos so re!resenta0es de algum sistema do mundo realE e o !rY!rio sistema !ode ser esttico Finalter.elO ou dinPmico1 $ ma!a dos Estados 7nidosE !or eWem!loE 2 uma re!resentao grfica do !aXs onde moramos1 EE em/ora muitos as!ectos do nosso !aXs seLam cla ramente muito dinPmicosE !ode?se o/Letar Mue os as!ectos modelados !or um ma!a so relati.amente estticos> estados indi.iduais no a!a recem ou desa!arecem com freMaAnciaE e as fronteiras entre os estados tAm estado relati.amente constantes !or um longo !erXodo Fem con trasteE no !odemos di&er o mesmo em relao a um ma!a do mundo inteiro`O1 Em Mue isso interessa a uma !essoa ao construir um modelo[ 'im!lesmente !orMue 2 deseL.el manter o modelo em uma forma correta e atual1 'e o sistema se alterarE o modelo de.e ser modificado se Figura D19> Ma!a dos Estados 7nidos 9K9 Muisermos mantA?lo atuali&ado1 E.identementeE se somente um as!ecto local do sistema for modificadoE !referirXamos modificar a!enas um corres!ondente as!ecto local do modeloE sem sermos forados a alterar MualMuer outro as!ecto dele1 8a realidadeE se forem necessrias m3l ti!las mudanasE eWiste uma /oa !ossi/ilidade de Mue elas no seLam feitasE ou Mue elas seLam feitas de MualMuer maneira1 E isso significa Mue o modelo se tornar gradualmente menos correto1 Para ilustrar isso considere uma .e& mais nosso eWem!lo do atlas dos Estados 7nidos1 PoderXamos imaginarE no caso mais sim!lesE uma !gina a!resentando o !aXs inteiroE e IH !ginas su/seMaentes mostran do os detal"es de cada estado1 Agora imagine o Mue aconteceria se o es tado de 8o.a Rerse# desa!arecesse > o ma!a do !aXs !recisaria ser re desen"ado !ara mostrar o no.o !aXs de JC estadosE e o ma!a original do estado de 8o.a Rerse# seria descartado1 Por2mE seria um !ouco mais difXcil com atlas reais !orMueE como 2 tX!ico com muitos modelos de 'istemasE eWiste alguma redundPncia em /utida1 Cada ma!a de estado mostra no somente o estado Mue est sendo descritoE mas !artes dos estados .i&in"os ? informa0es Mue so adeMuadamente fornecidas no ma!a do !aXsE mas Mue con.2m tA?las em nX.el de estadoE tam/2m1 Isso Muer di&erE !ortantoE Mue se 8o.a Rerse# desa!arecesseE terXamosE !ro.a.elmenteE Mue redesen"ar os ma !as de 8o.a lorMue e da Pensil.PniaE e tal.e& Mar#land e Dela4are1 Tue a/orrecimento` CartYgrafos !rofissionais !oderiam desa!ro.ar isso e argumentar Mue uma certa redundPncia 2 necessria !ara tornar o atlas mais fcil de ser lido1 EntretantoE 2 e.idente Mue Muanto maior for a redundPncia Mue o modelo conti.erE maior ser a dificuldade !ara mantA?lo1 ImagineE !or eWem!loE Mue nosso atlas mXtico mostre as rodo.ias interestadu&is no ma!a a nX.el de !aXs e todos os ma!as a nX.el de estado1 ImagineE tam /2mE Mue um fa/ricante de ma!as ten"a decidido mostrar toda a eW tenso de cada rodo.ia interestadual em cada ma!a de estado atra.2s do Mual !assa a estrada1 AssimE a Interestadual CIE Mue corre do Maine Z FlYridaE a!areceria nos ma!as de cerca de uma d3&ia de estadosE cada um dos Muais estaria afetado !elo FredundanteO fato de Mue toda a estra da tem a!roWimadamente 91KHH mil"as de eWtensoE $ Mue aconteceria se fosse desco/erto Mue essa figura esta.a errada ou Mue !arte da estrada ten"a sido !rolongada ou redesen"ada[ $/.iamenteE uma d3&ia de diferentes ma!as estaduais teriam de ser alterados1 D1J M$DE-$' T*A8'PA*E8TE' Para finali&arE um /om modelo de.e ser to fcil de ler Mue o leitor no !recise !arar !ara !ensar Mue ele ou ela est ol"ando !ara a 9K: re!resentc1o de um sistemaE em .e& do !rY!rio sistema1 Isso no 2 sem!re fcil de ser conseguidoE e muitas .e&es reMuer alguma educao e !rtica de !arte do leitor1 Pense em um ma!aE !or eWem!lo> Muantas .e&es .ocA !ensou estar ol"ando !ara uma re!resentao a/strata do estado de 8o.a Rerse# em lugar do !rY!rio estado[ Por outro ladoE o/ser.e uma !eMuena criana eWaminando um ma!a enMuanto seus !ais ou seu !rofessor tentam eW!licar Mue 8o.a Rerse# se limita com 8o.a lorMue e Mue 8e4ar% est a de& mil"as de distPncia de 8o.a RorMue1 _8oE no 2]E a criana dirE _8e4ar% fiGa somente a meia !olegada de distPncia da cidade de 8o.a lorMue1 o !ro!oro Mue ficamos mais .el"osE no entantoE tornamo?nos gradualmente mais familiari&ados com o conceito de re!resenta0es a/stratas desde Mue elas se acomodem conforta.elmente em nossas ca /eas1 Cientistas estudaram o com!ortamento e organi&ao do c2re/ro "umano e desco/riram Mue o lado esMuerdo do c2re/ro lida com !ro cessamento seMaencialE uma coisa de cada .e&V 2E tam/2mE o lado es Muerdo do c2re/ro Mue lida com teWtoE !or eWem!loE as !ala.ras Mue .ocA est lendoE uma de cada .e&E nesta !gina de !a!el1 $ lado direito do c2re/ro lida com figuras e com !rocessamento assXncronoE \mui tas coisas ao mesmo tem!o]1 Isso nos mostra Mue se eW!erimentarmos modelar alguma coisa Mue seLa intrinsecamente linear e seMaencialE tal como o fluWo de controle em um !rograma de !rocessamentoE de.emos utili&ar uma ferramenta de modelagem teWtual Mue se acomode conforta.elmente no lado esMuerdo do c2re/roE Mue 2 mais a!to !ara lidar com ela1 E se esti.ermos tentando modelar alguma coisa Mue seLa intrinsecamente multidimensionalE com muitas ati.idades sendo eWecutadas ao mesmo tem!oE de.emos utili&ar uma ferramenta de modelagem grfica1 D1I *E'7M$ 8o ten"o d3.idas de Mue .ocA estar to ocu!ado a!rendendo as ferramentas de modelagem a!resentadas neste li.ro Mue no !ensar na !Yssi/ilidade da eWistAncia de outras ferramentas de modelagem1 Entre tantoE elas eWistemE e logo eWaminaremos di.ersas ferramentas alternati .as no ca!itulo 9I1 QocA ser eW!osto a uma .ariedade de ferramentas de modelagem em !roLetos do mundo real1 Em/ora os detal"es Fe formas e formatosO dessas ferramentas de modelagem !ossam .ariar enormementeE .ocA de.e .erificar cuidadosamente se elas seguem os !rincX!ios /sicos e diretri&es a!resentados neste ca!Xtulo1 9K@ PE*G78TA' E EXE*CcCI$' 91 Tuais so as trAs !rinci!ais ra&0es !ara se construir modelos de sistemas[ :1 Descre.a trAs diferentes ti!os de modelos de sistemas1 @1 Tuais so as !rinci!ais caracterXsticas Mue uma ferramenta de modelagem de sistemas de.e ter[ J1 Por Mue as ferramentas de modelagem grfica so geralmente !re feridas em relao Zs ferramentas de modelagem teWtual[ I1 ^ necessrio utili&ar ferramentas de modelagem grfica !ara desen .ol.er um sistema de informa0es[ QocA !ode imaginar alguma si tuao em Mue no deseLaria utili&ar tais ferramentas[ <1 Tue coisas os modelos grficos normalmente no mostram so/re um sistema[ K1 Por Mue 2 im!ortante Mue uma ferramenta de modelagem retrate um sistema de forma to!?do4n[ EWiste alguma situao em Mue isso no 2 im!ortante[ D1 A descrio to!?do4n de um sistema eWige Mue esse sistema seLa !roLetado na modalidade to!?do4n[ C1 Descre.a uma situao onde seria aceit.el incluir redundPncia no modelo de um sistema1 8$TA' 9 7m corolrio disso 2 Mue as /oas ferramentas de modelagem nor malmente en.ol.em nota0es muito sim!lesE com muito !oucas re grasE sim/olos e no.as !ala.ras !ara o usurio a!render1 7m !uris ta !oderia mesmo argumentar Mue uma /oa ferramenta de modela gem no reMuer eW!lana0es e nem treinamentoV em MualMuer casoE no de.e ser necessrio ler as KHH !ginas de um li.ro como este !ara a!render como ler e com!reender um modelo desen.ol .ido !elo analista de sistemas1 : Em outras !ala.rasE mais e mais desses _!eMuenos] !roLetos esto sendo desen.ol.idos !elos usurios sem 1 assistAncia de analistas de sistemas e !rogramadores1 Com a crescente dis!oni/ilidade de com!utadores !essoaisE !acotes de !lanil"as eletrNnicas e lingua gens de Muarta geraoE muitas tarefas Mue eWigiriam alguns dias Fou mesmo semanasO de tra/al"o de um !rofissional em !rocessa mento !odem agora ser feitas em Muesto de minutos ou de "oras !elo usurio1 EntretantoE continuam a eWistir muitos sistemas de 9KJ informa0esE "oLeE Mue necessitam de mais de 9H mil"0es de instru 0es de !rograma !ara eWecutar seu o/Leti.o1 @ 'e .ocA .i.e em 8o.a Rerse# ou tem alguma outra !atolYgica cone Wo com esse estadoE esteLa Z .ontade !ara utili&ar um outro estado !ara esse eWem!lo1 Min"as descul!as a Bruce '!ringsteen1 9KI C DIAG*AMA DE F-7X$ DE DAD$' A forma sem!re se segue a funo1 -ouis ,enr# 'uili.an ;T"e Tal` $ffice Building Artisticall# Considered]E -i!!incott ;s Maga&ineE maro de 9CD< 8este ca!Xtulo a!renderemos> 91 $s com!onentes de um diagrama de fluWo de dados1 :1 Como desen"ar um diagrama de fluWo de dados sim!les1 @1 Diretri&es !ara desen"ar diagramas de fluWo de da dos com sucesso1 J1 Como desen"ar diagramas de fluWo de dados ni.elados1 8este ca!Xtulo .amos eW!lorar uma das trAs !rinci!ais ferramentas de modelagem grfica da anlise estruturada> o diagrama de fluWo de dados1 Esse diagrama 2 uma ferramenta de modelagem Mue nos !ermite imaginar um sistema como uma rede de !rocessos funcionaisE interliga dos !or _dutos] e _tanMues de arma&enamento] de dados1 8a literatura do !rocessamento de dados e em suas con.ersas com outros analistas de sistemas e usuriosE .ocA !ode usar MualMuer um dos termos a/aiWo como sinNnimo de diagrama de fluWo de dados> j Diagrama de /ol"as j DFD Fa/re.iatura Mue utili&aremos em todo este li.roO 9KK j Modelo de !rocesso j Diagrama de fluWo de tra/al"o j Modelo funcional j _uma re!resentao do Mue est acontecendo !or aMui] $ diagrama de fluWo de dados 2 uma das mais utili&adas ferramen tas de modelagem de sistemasE !rinci!almente !ara sistemas o!erati.o nos Muais as fiJnes do sistema seLam de fundamental im!ortPncia mais com!leWas do Mue os dados mani!ulados !elo sistema1 $s DPII foram utili&ados !ela !rimeira .e& na rea da engen"aria de soft4ar como uma re!resentao !ara o estudo dos !ro/lemas do !roLeto d sistemas F!EeWE> nos !rimeiros li.ros e artigos so/re !roLeto estruturado como d M#ers e ConstantineE 9CKJ9E l6ourdon e Constantine 9CKI9E d 9CKI9 et aliiO1 A re!resentaoE !or sua .e&E foi tra&id de antigos tra/al"os so/re a teoria dos grafos e continua a ser usada como uma forma cNmoda de notao !or engen"eiros de soft4ar interessados na im!lementao direta de modelos dos reMuisitos dc usurio1 Isso 2 um retros!ecto interessanteE mas !ro.a.elmente Xrrele.ant !ara os usurios a Muem so mostrados os modelos do sistema em DFD Em realidadeE 2 !ro..el Mue a !ior coisa Mue se !ode fa&er 2 di&er> _'r 7surioE gostaria de l"e a!resentar um modelo io!?do4nE !articionado fundamentado na teoria dos grafosE dc seu sistema]1 Muitos usurio esto familiari&ados com o conceito su/Lacente dos DFDE !orMue mesmo ti!o de re!resentao tem sido utili&ado !or cientistas !esMuisa dores de o!era0es durante cerca de KH anos !ara ela/orar os modelo do fluWo de tarefas das organi&a0es1 ^ im!ortante lem/rar isto> os DF- !odem ser usados no sY !ara modelar sistemas de !rocessamento d informa0esE mas tam/2m como um meio de se modelar organi&a0e inteirasE isto 2E como uma ferramenta !ara o !laneLamento comercial estrat2gico1 Iniciaremos nosso estudo de diagramas de fluWo de dados !e% eWame dos com!onentes de um DFD tX!ico> o !rocessoE o fluWoE o de!Y sito e o terminador1 Em!regaremos uma notao am!lamente !adroni&a da !ara DFDE seguindo a notao de li.ros clssicos como d 9CKD9E d e 'arsonE 9CKK9 e outros1 ConiudoE tam/2m incluiremos re!resentao de DFD !ara a modelagem de sistemas de tem!o?rea FfluWos de controle e !rocessos de controleO1 Essa re!resentao su!le mentar geralmente no 2 necessria !ara sistemas orientados !ara com2rcioE mas torna?se essencial !ara a modelagem de .rios sistema> de engen"aria e cientXficos1 9KD A seguirE .amos re.er algumas diretri&es !ara a construo de dia gramas de fluWo de dados !ara Mue !ossamos minimi&ar a !ossi/ilidade de construirmos um DFD confusoE incorreto ou inconsistente1 Para termi narE discutiremos o conceito dc DFDs ni.elados como um m2todo de modelar sistemas com!leWos1 -em/re?se Mue o DFD 2 a!enas uma das ferramentas de modela gem dis!onX.eis !ara o analista de sistemas e Mue ele oferece a!enas uma .iso do sistema ? a .iso orientada !ara fun0es1 'e esti.ermos desen.ol.endo um sistema no Mual os relacionamentos entre os dados seLam mais im!ortantes Mue as fun0esE !odemos dar menor im!ortPncia aos DFD Fe at2 no desen.ol.ermos nen"umO e nos dedicarmos ao de sen.ol.imento de um conLunto de diagramas de entidades?relaciona mentos como !odemos .er no ca!Xtulo 9:1 Como alternati.aE se o com !ortamento tem!o?de!endente do sistema so/re!uLar todos os outros as!ectosE !odemos nos dedicar aos diagramas dc transi0es de estado discutidos no ca!Xtulo 9@1 C19 $' C$MP$8E8TE' DE 7M DFD A figura C19 mostra um DFD tX!ico de um !eMueno sistema1 Antes de analisarmos seus com!onentes em detal"eE o/ser.e Mue> Ele no !recisa de eW!lica0esV /asta ol"armos !ara ele !ara com!reendA?lo1 A re!resentao 2 sim!les e sem intrus0es eE de uma certa formaE /astante intuiti.o1 Isso 2 es!ecialmente im!or tante Muando lem/ramos Muem su!ostamcnte eWaminar a fi gura ? no o analista dc sistemasE mas o usurio` 'e !recisar de uma enciclo!2dia !ara ler e entender o modelo do sistemaE !ro.a.elmente no se interessar !or nada daMuilo1 $ diagrama acomoda?se facilmente em uma !gina1 Isso tem dois significados> F9O uma !essoa !ode eWaminar o diagrama sem se confundir e F:O o sistema Mue est sendo modelado no 2 muito com!leWo1 Tue fa&er se o sistema for intrinsecamente to com!leWo Mue "a.er literalmente centenas de cXrculos e lin"as no diagrama= Dicutiremos isso na seo C1J1 $ diagrama foi desen"ado !or um com!utador1 8ada eWiste de errado com diagramas desen"ados Z moE mas a figura C19 e muitos dos DFD mostrados neste li.ro foram desen"ados com auWXlio do !rograma MacDra4 da Macintos"1 Isso Muer di&er Mue o diagrama 2 desen"ado com mais eWatido e de um modo mais !adroni&ado do Mue seria !ossX.el se ti.esse sido desen"ado Z 9KC nome do clienteE detal"es de faturas Figura C19> 7m DFD tX!ico mo e Mue as altera0es !odem ser feitas e no.as .ers0es !c dem ser !rodu&idas em Muesto de minutos C1919 $ Processo $ !rimeiro com!onente dc um DFD 2 con"ecido como !mcess $s sinNnimos mais con"ecidos so /ol"aE funo e transformao1 F !rocesso mostra uma !arte do sistemaE a Mue transforma entradas em sa> das ? isto 2E mostra como uma ou mais entradas so con.ertidas er saXdas1 $ !rocesso 2 re!resentado graficamente !or um cXrculoE como s .A na figura C1:FaO1 Alguns analistas de sistemas !referem usar um o. ou um retPngulo de .2rtices cur.osE como mostrado na figura C1:F/ outros !referem ainda um retPnguloE corno na figura C1:FcO1 As dif renas entre esses trAs formatos so !uramente cosm2ticasE em/ora seL o/.iamente im!ortante utili&ar o mesmo formato de maneira consistent !ara re!resentar todas as fun0es do sistema1 8este li.ro usaremos serr !re o cXrculo ou /ol"a :j 9DH CA-C7 -A* IMP$'T$ '$B*E QE8DA' Figura C1: FaO> 7m eWem!lo de !rocesso F CA-C7-)M 9 IMP$'T$ '$B*E E8 DA' Figura C1:F/O> *e!resentao alternati.a de um !rocesso CA-C7-A* IMP$'T$ '$B*E QE8DA' Figura C1: FcO> $utra re!resentao de um !rocesso $/ser.e Mue o !rocesso 2 denominado ou descrito com uma 3nica !ala.ra ou sentena sim!les1 8a maioria dos modelos de DFD Mue .ere mos neste li.roE o nome do !rocesso descre.er o Mue o !rocesso fa&1 8a seo C1:E falaremos mais so/re a adeMuada atri/uio de nomes Zs /ol"as de !rocessosV !or enMuantoE 2 suficiente di&er Mue um /om no me geralmente 2 com!osto !or uma frase constituXda de um um .er/o e de um o/LetoE como QA-IDA* E8T*ADA ou CA-C7-A* QA-$* D$ IMP$'T$1 Em alguns casosE o !rocesso conter o nome de uma !essoa ou de um gru!o de !essoas Fum de!artamento ou di.iso de um em!resaE !1eW1OE ou de um com!utador ou de um dis!ositi.o mecPnico1 Isto 2E o !rocesso Zs .e&es descre.e Muem ou o Mue eWecuta o !rocessoE em lugar de descre.er o Mue o !rocesso 21 Discutiremos isso com mais detal"es no ca!Xtulo 9KE Muando estudarmos o conceito de modelo essencialE e na !arte IQE Muando eWaminarmos os modelos de im!lementao1 C191: $FluWo 7m fluWo 2 graficamente re!resentado !or uma seta Mue entra ou sai de um !rocessoV a figura C1@ a!resenta um eWem!lo de fluWo1 $ fluWo 9D9 2 utili&ado !ara mostrar o mo.imento de fragmentos ou de !acotes informa0es de um !onto a outro do sistema1 Desse modoE o flu re!resenta dados em mo.imentoE enMuanto os de!Ysitos Fdescritos m adiante na seo C1-@O re!resentam dados cm re!ouso1 8a maioria dos sistemas Mue .ocA modela como analista de sXst masE os fluWosE na realidadeE re!resentam dadosE isto 2E /itsE caractere mensagensE n3meros de !onto flutuante e os di.ersos outros ti!os de i forma0es com Mue o com!utador lida1 Mas os DFD tam/2m !odem s usados !ara modelar outros sistemas al2m dos automati&ados o com!utadori&adosV !odemosE !or eWem!loE usar um DFIO !ara model uma lin"a de montagem onde no "aLa com!onentes com!utadori&ado Em um caso assimE os !acotes ou fragmentos trans!ortados !elos fluWc !odero ser materiais fXsicos F!ode?se .er um eWem!lo na figura C1J Em muitos sistemas com!leWos do mundo real o DFD mostra o fluWo d materiais e de dados1 $/ser.e Mue os fluWos das figuras C1@ e C1J tAm nomes1 $ noni re!resenta o significado do !acote Mue se mo.e !elo fluWo1 7m corolri disso 2 Mue o fluWo trans!orta a!enas um ti!o de !acoteE o Mue 2 indic do !elo nome do fluWo1 $s analistas de sistemas no de.em atri/uir um fluWo de dados um nome como MA()' E -A*A8RA' E Q+*IA $7T*A' C$I'A'1 EntretantoE como .eremos na !arte 999E eWistem eWa 0es a essa con.eno> Zs .e&es 2 3til reunir di.ersos fluWos de dadc elementares em um fluWo consolidado1 Desse modoE !oderXamos ter ui 3nico fluWo de dados denominado QEGETAI' em lugar de .rios fluWc diferentes rotulados como BATATA'E CEB$lA' e E*QI-,A'1 Como . remosE isso eWige algumas eW!lica0es no dicionrio de dadosE Mue e tudaremos no ca!Xtulo 9H1 Em/ora isso !ossa !arecer um tanto Y/.ioE lem/re?se Mue um me mo conte3do !ode ter significados diferentes em !ontos diferentes d sistema1 ConsidereE !or eWem!loE o fragmento de sistema da figura C1I C$8'7-TA DE C-IE8TE Figura C1@> 7m eWem!lo defluWo 9D: $ fragmento de dados F!1 eW1> :9:?J9H?CCIIO tem significado dife rente Muando !assa !elo fluWo rotulado 8xME*$?DE?TE-EF$8E e Muando !assa !elo fluWo denominado 8xME*$?DE?TE-EF$8E? Q+-ID$1 8o !rimeiro caso ele indica um n3mero de telefone Mue !ode ser .lido ou noE enMuanto Mue no segundo ele indica um n3mero de telefone MueE no conteWto do sistemaE 2 sa/ido ser .lido1 MI'T7*A PA*A B$-$' B$-$ Figura C1J> 7m DFD com fluWos mdteriais F$8E A* 8xME*$ 8xME*$?DE?TE-EF$8E?Q+-ID$ Figura C1I> 7m DFD tX!ico $utro modo de se inter!retar isso 2 .er o fluWo denominado _n3mero de telefone] como um dutoE ca!a& de !ermitir a !assagem in discriminada de n3meros de telefone .lidos e in.lidos atra.2s deleV o fluWo 8xME*$?DE?TE-EF$8E?Q+-ID$ 2 mais estreitoE ou mais discri minati.oE !ermitindo Mue !asse !or ele a!enas um conLunto estreita? mente definido de dados1 $/ser.e tam/2m Mue o fluWo mostra dXt.o> uma seta em uma das eWtremidades do fluWo Fou em am/asO indica se os dados Fou o materialO entram ou saem do !rocesso Fou as duas coisasO1 $ fluWo .isto na figura C1<FaOE !or eWem!loE mostra claramente Mue um n3mero de telefone est sendo en.iado !ara o !rocesso rotulado QA-IDA* 8xME*$ DE 9D@ TE-EF$8E1 E o fluWo rotulado E'CAIA?DE?E8T*EGMO$*E' na figura C1<F/O 2 claramente um fluWo de saXda gerado !elo !rocesso GE*A*? E'CA-A?DE? E8T*EGAD$*E'V os dados Mue se mo.imentam !or aMuele fluWo ou iro transitar !ara outro !rocesso Fcomo entradaO ou !ara um de!Ysito Fcomo discutido na seo C191@O ou !ara um terminador Fcomo discutido na seo C191JO1 $ fluWo com duas setas mostrado na figura C1<FcO 2 um diIo uma !rtica Luno de dois !acotes de dados Fconsulta e informao ou !ergunta e res!ostaO no mesmo fluWo1 8o caso de um dilogoE os !acotes em cada eWtremidade da seta de.em ser rotuladosE como se .A na figura C1<FcO $s fluWos de dados !odem di.ergir e con.ergir em um DFDV con ceitualmenteE 2 mais ou menos como um rio de grande .olume su/di.i dindo?se em rios menoresE ou tri/utrios reunindo?se em um maior1 IssoE entretantoE tem es!ecial significado em um DFD tX!ico no Mual !acotes de dados transitam !elo sistema> no caso de um fluWo di.ergenteE isso Muer di&er Mue cY!ias de um !acote de dados so en.iadas !ara diferen 8xME*$ Figura C1< FaO> 7m fluWo de entrada Figura C1< F/O> 7m fluWo de saXda C$8'7-TA?'$B*E?'IT7A()$?DE?PEDI D$ Figura C1< FeO> 7mflu1Wo de dilo*o 9D G tes !artes do sistemaE ou Mue um !acote com!leWo de dados est sendo di.idido em .rios !acotes de dados mais sim!lesE cada um dos Muais 2 encamin"ado !ara !ontos diferentes do sistema ou Mue o duto de dados trans!orta itens com .alores diferentes FeW1> .egetais cuLos .alores seLam _/atata]E ce/ola] ou _er.il"a]O Mue esteLam sendo se!arados1 In .ersamenteE no caso de um fluWo con.ergenteE isso Muer di&er Mue .rios !acotes elementares de dados esto sendo reunidos !ara formar !acotes de dados com!leWos e agregados1 Por eWem!loE a figura C1KFaO mostra um DFD onde o fluWo DETA-,E'?DE? PEDID$' di.erge e trans!orta cY!ias dos mesmos !acotes !ara os !rocessos GE*A* D$C7ME8T$' DE EMBA*T7EE AT7A-IgA* I8QE8T+*I$ e GE*A* FAT7*A1 A figura C1KF/O a!resenta o fluWo rotulado como E8DE*E($?DE?C-IE8TE su/di.idido em !acotes mais sim!les rotulados como 8xME*$?DE? TE-EF$8EE CnDIG$? P$'TA- e E8DE*E($E Mue so remetidos !ara trAs !rocessos diferentes de .alidao y ;EDID$' I8Q+-ID$' Figura C1K FaO> 7m fluWo di& 9DI PEDID$ ;DETA-,E' DE 9 Figura C1K F/O> $utro eWem!lo defluWo di.ergente $/ser.e Mue o fluWo no res!onde a muitas !erguntas !rocedura Mue .ocA !oderia fa&er ao eWaminar o DFD1 Ele nada informa so/i !rom!ts !ara entradasE !or eWem!loE e nem res!onde !erguntas so/i fluWos de saXda1 Por eWem!loE a figura C1DFaO mostra o caso sim!les d um fluWo de entrada c"egando ao !rocesso P*$CE''A* PEDID$1 M como isso acontece[ P*$CE''A* PEDID$ solicita eW!licitamente entrada[ Por eWem!loE ele a!resenta um !rom!t ao usurio de ui sistema on?lineE indicando Mue deseLa uma entrada[ $u ser Mue !acotes de dados transitam !elo fluWo !or suas !rY!rias .ontadesE sei serem c"amados[ De modo semel"anteE a figura C1DF/O mostra um fluW sim!les de saXda emanando de GE*A* *E-ATn*I$ DE FAT7*AV 'ei Mue as FAT7*A' transitam !or aMuele fluWo Muando GE*A *E-ATn*I$ DE FAT7*A as Muer remeterE ou Muando outro setor d sistema reclama o !acote[ Para finali&arE considere a situaoE ma comumE a!resentada na figura C1DFcOE na Mual eWistem m3lti!los fluWc de entrada e de saXdaV em Mue seMaAncia c"egam os fluWos de dados ei Mue seMaAncia so gerados os fluWos de saida[ EWiste uma !ro!or um?!ara?um entre os !acotes de entrada e os de saXda[ Isto 2E o !rocess 9D< E 8 DE*E($?DE?C-IE8TE CnDIG$?P$'TA- T eWige eWatamente um !acote dos fluWos de entrada AE B e C !ara !ro du&ir eWatamente um !acote de saXda !ara os fluWos XE 6 e g[ $u so dois A !ara cada trAs B[ A res!osta a todas essas !erguntas 2 muito sim!les> no sa/emos1 Todas essas !erguntas en.ol.em detal"es !roceduraisE o ti!o de !er guntas Mue normalmente seriam modeladas cm um fluWograma ou em alguma outra ferramenta de modelagem !rocedural1 $ DFD sim!les men te no trata desses as!ectos1 'e essas !erguntas ti.erem im!ortPncia Figura C1D FaO> 7m fluWo de entrada xAT Figura C1D F/O> 7m fluWo de saXda A B Figura C1D FcO> Com/inao defluWos de entrada e de saXda 9DK !ara .ocAE ento ser necessrio modelar o !rocedimento interno de di .ersos !rocessosV as ferramentas !ara isso so estudadas no ca!Xtulo 991 C191@ $ De!Ysito $ de!Ysito 2 utili&ado !ara se modelar uma coleo de !acotes de dados em re!ouso1 A re!resentao !ara um de!Ysito so duas lin"as !aralelasE como na figura C1CFaOV uma notao alternati.a 2 mostrada na figura C1CF/O outra re!resentaoE usada no estudo dc caso do a!Andi ce FE 2 a!resentada na figura C1CFcO1 8ormalmente o nome escol"ido !ara identificar o de!Ysito 2 o !luraldo nome dos !acotes trans!ortados !elos fluWos !ara dentro e !ara fora do de!Ysito1 PEDID$' Figura C1C FaO> *e!resentao grfica de um de!Ysito D R PEDID$' Figura C1C F/O> 7rna re!resentao aliernati.a !ara um de!Ysito F PEDID$' Figura C1C FcO> A re!resentao utili&ada no A!Andice F Para o analista de sistemas com retros!ecto de !rocessamento de dadosE 2 tentador referir?se aos de!Ysitos como arMui.os ou /ancos de dados FeW1> um arMui.o em fita magn2tica ou um arMui.o em disco orga ni&ado com o IM'E DB:E ADABA'E IDM' ou com algum $utro con"ecido sistema de gerenciamento de /anco de dadosO1 8a realidadeE isso 2 como os de!Ysitos so muitas .e&es im!lementados em sistemas com!u tadori&adosV mas um de!Ysito tam/2m !ode conter dados arma&enados em cart0es !erfuradosE microfilmesE microfic"asE discos Yticos e .rias outras modalidades eletrNnicas1 7m de!Ysito tam/2m !ode ser com!os to !or cart0es de @ !or I indeWados em uma caiWaE ou nomes e endere os em um li.ro de endereosE ou !or algumas !astas de arMui.os em um armrio ou !or di.ersas outras formas no com!utadori&adas1 A fi gura C1CFdO mostra um eWem!lo tX!ico de um _de!Ysito] de um sistema manual1 ^ !recisamente !or causa da .ariedade de im!lementa0es 9DD 9 Figura C1C FdO> $utra forma de de!Ysito !ossX.eis de um de!Ysito Mue dcli/eradamente escol"emos uma re!re sentao grfica sim!les e a/strata e o termo de!Ysito em lugar deE !or eWem!loE /anco de dados < Al2m da a!arAncia fisica Mue o de!Ysito assumeE eWiste ainda a Muesto de seu !ro!Ysito> o de!Ysito eWiste !or causa de um reMuisito /sico do usurio ou !or um as!ecto !rtico da im!lementao do sis tema[ 8o !rimeiro caso o de!Ysito eWiste como uma necessria rea de arma&enamento de es!era entre dois !rocessos Mue ocorrem em mo mentos diferentes1 Como eWem!loE a figura C19H mostra um fragmento de um sistema em MueE como uma Muesto de mtina do usurio Finde!en dentemente da tecnologia Mue ser usada !ara im!lementar o sistemaOE o !rocesso de entrada de !edidos !ode funcionar em momentos diferentes Fe !ossi.elmente at2 no mesmo momentoO do !rocesso de consulta a !edidos1 $ de!Ysito PEDID$' tem Mue eWistir dc alguma formaE em discoE fitaE cart0es ou em ta/uin"as de argila1 A figura C199FaO mostra um ti!o diferente de de!Ysito> o de!Ysito de im!lementao1 Podemos imaginar o !roLetista de sistemas inter!on do o de!Ysito PEDID$' entre I8T*$D7gI* PEDID$ e P*$CE''A* PEDID$ !orMue> j Am/os os !rocessos de.em ser eWecutados no mesmo com!uta dorE mas no " memYria suf%iente Fou algum outro recurso de "ard4areO !ara acomodar am/os os !rocessos simultaneamente1 AssimE o de!Ysito PEDID$' foi criado como arMui.o interme dirioE tendo em .ista Mue a tecnologia de im!lementao dis !onX.el forou Mue os !rocessos seLam eWecutados em momen tos diferentes1 j 7m ou am/os os !rocessos de.em ser eWecutados em uma configurao de "ard4are no totalmente confi.el1 Por causa dissoE o de!Ysito PEDID$' foi criado como um mecanismo de /ac%u! !ara a e.entualidade de um dos !rocessos ser mal sucedido1 9DC C$8FI*MA()$ Figura C19H> 7m de!Ysito necessrio j $s dois !rocessos de.em ser im!lementados !or diferentes !rogramadores FouE no caso mais eWtremoE !or diferentes gru!os de !rogramadores tra/al"ando em locais geograficamente dife rentesO1 $ de!Ysito PEDID$' foiE assimE criado !ara ser.ir co mo facilidade !ara testes e de!u rao de modo a Mue se o sis tema inteiro no funcionarE am/os os gru!os !ossam eWaminar o conte3do do de!Ysito !ara desco/rir o !ro/lema1 j $ analista e o !roLetista de sistemas imaginaram Mue o usurio !oderia e.entualmente Muerer ter acesso ao de!Ysito PEDID$' !ara alguma finalidadeE mesmo Mue no ti.esse indicado tal interesse1 8esse casoE o de!Ysito foi criado em anteci!ao a fu turas necessidades do usurio Fe como .ai custar alguma coisa a im!lementao do sistema com esse recursoE o usurio .ai !agar !or um recurso do sistema Mue no foi solicitadoO1 'e eWcluXssemos os !ro/lemas e modelssemos somente os reMuisi tos essenciais do sistemaE no "a.eria necessidade do de!Ysito PEDI D$'V terXamosE assimE um DFD como o da figura C199F/O1 Como !udemos .er !elos eWem!los a!resentados at2 agoraE os de!Ysitos so interligados aos !rocessos !or fluWos1 Dessa maneiraE o conteWto em Mue um de!Ysito se a!resenta em um DFD 2 um Fou am /osO dos seguintes> 9CH DETA-,E' DE PEDID$' PEDID$ PEDID$' PEDID$ DETA-,E' DE PEDID$' j 7m fluWo de um de!Ysito j 7m fluWo !ara um de!Ysito 8a maioria dos casos os fluWos so rotulados como .imos na seo C191@1 EntretantoE muitos analistas dc sistemas no se !reocu!am em rotular o fluWo se todo um gru!o de um !acote entra ou sai do de!Ysito Para eWem!lificarE a figura C19: mostra um fragmento de DFD1 7m fluWo Mue !arte de um de!Ysito 2 normalmente inter!retado como uma leitura ou um acesso feito Zs informa0es desse de!Ysito1 Es!ecificamenteE !ode significar Mue> j 7m !acote isolado de dados foi recu!erado do de!Ysito> este 2E de fatoE o eWem!lo mais comum de um fluWo Mue sai de um de !Ysito1 ImagineE !or eWem!loE um de!Ysito c"amado C-IE8 TE'E onde cada !acote Cont2m informa0es de nomeE endereo e telefone de clientes1 7m fluWo tX!ico Mue saXsse desse de!Ysito ,E' DE PEDID$' PEDID$ PEDID$' EDID$ G+uD$ *E'P$'TA Figura C199 FaO> 7m de!Ysito de _im!lementao] PEDID$' F EDID$ R+-ID$ *E'P$'TA Figura C199 F/O> $ de!Ysito de im!lementao remo.ido 9C9 Figura C19:> De!Ysitos com Rgu no?rotulados en.ol.eria a recu!erao de um !acote com!leto de infor ma0es so/re um cliente1 j Mais de um !acote foi recu!erado do de!Ysito1 Por eWem!lo o fluWo !oderia recu!erar !acotes de informa0es so/re todo os clientes da cidade de 8o.a lorMue a !artir do de!Ysit C-IE8TE'1 j A!enas uma !arte do !acote foi recu!erada do de!Ysito Em alguns casosE !or eWem!loE a!enas a !arte do n3mero d telefone de um cliente !oderia ser recu!erada do de!Ysit C-IE8TE'1 j Partes de mais de um !acote foram recu!eradas do de!Ysito Por eWem!loE um fluWo !ode recu!erar do de!Ysito CIRE8TE o cYdigo !ostal de todos os clientes do estado de 8o.a lorMue Como o/ser.amos ao eWaminarmos fluWos Mue entram e saem d um !rocessoE teremos muitas !erguntas1 !rocedurais Muando eWami namos fluWos Mue entram e saem de um de!Ysito> o fluWo re!resent um 3nico !acoteE m3lti!los !acotesE !artes de !acote ou !artes de . rios !acotes[ Em alguns casosE essas d3.idas !odem ser res!ondida !elo sim!les eWame do rYtulo do fluWoV se o fluWo no !ossuir um rYtulo isso Muer di&er Mue um !acote inteiro de informa0es est send recu!erado Fcomo indicado acimaE isso 2 a!enas uma con.en 9C: PET7E8$' $BRET$' QE*ME-,$' I8G*EDIE MA()' 8)$?MA()' !rticaOV se o rYtulo do fluWo for o mesmo Mue o do de!YsitoE ento um !acote inteiro Fou m3lti!las instPncias de um !acote inteiroO est sendo recu!eradoV e se o rYtulo do fluWo for algo diferente do nome do de !YsitoE ento um ou mais com!onentes de um ou mais !acotes esto sendo recu!erados Dj Em/ora algumas das !erguntas !rocedurais !ossam ser res!ondi das !elo eWame cuidadoso dos rYtulos dos fluWosE nem todos os detal"es so e.identes1 8a .erdadeE !ara sa/ermos tudo o Mue Mueremos so/re um fluWo Mue !arte de um de!YsitoE temos Mue eWaminar os detal"es ? a es!ec de !rocessos? do !rocesso ao Mual o fluWo est interliga doV as es!ecifica0es de !rocessos sero discutidas no ca!Xtulo 991 , um detal"e !rocedural do Mual !odemos estar certos> o de!Ysi to 2 !assi.o e os dados no transitam a !artir dele !elos fluWos a menos Mue um !rocesso os solicite eW!licitamente1 EWiste outro detal"e !roce dural Mue 2 !ressu!ostoE !or con.enoE !ara os sistemas de !rocessa mento de informa0es> 7m de!Ysito no se altera Muando um !acote de informa0es se mo.imenta a !artir dele !or um fluWo1 $s !rograma dores referem?se a isso como leitura no?destruti.aV em outras !ala.rasE uma cY!ia do !acote 2 recu!erada do de!YsitoE Mue !ermanece em suas condi0es originais 1 7m fluWo !ara um de!Ysito 2 muitas .e&es descrito como uma escritaE uma atuali&ao ou !ossi.elmente uma eliminao1 Em termos es!ecXficosE ele !ode ter um dos seguintes significados> 7m ou mais no.os !acotes esto sendo introdu&idos no de!Ysito1 De!endendo da nature&a do sistemaE os no.os !aco tes !odem ser acrescentados Fa!!endedO Fisto 2E colocados de tal forma Mue fiMuem de!ois dos !acotes L eWistentesOV ou !o dem ser colocados em algum lugar entre os !acotes L eWisten tes1 Isso muitas .e&es 2 um !ro/lema de im!lementao Fcon trolado !elo es!ecXfico sistema de gcrcnciamento de /anco de dadosOE caso em Mue o analista dc sistemas no de.e se !reocu !ar com isso1 EntretantoE !ode ser uma Muesto de orientao do usurio1 j 7m ou mais !acotes esto sendo eliminados ou remo.idos do de!Ysito1 j 7m ou mais !acotes esto sendo modificados ou alterados1 Isso !ode en.ol.er a alterao de todo um !acoteE ou Fmais "a/itualO a!enas !arte dc um !acote ou !arte de m3lti!los !acotes1 Para eWem!lificarE su!on"a Mue uma delegacia manten"a um de!Ysito de !ossX.eis criminosos e Mue cada !acote conten"a o nome e endereo de um sus!eitoV a delegacia !oderia oferecer 9C@ uma no.a _identidade] !ara um sus!eito Mue cola/orasseE caso em Mue todas as informa0es relati.as ZMuele sus!eito seriam alteradas1 Como alternati.aE considere o de!Ysito C-IE8TE' Mue cont2m informa0es so/re os clientes residentes em Man "attanV se os Correios decidissem alterar o cYdigo !ostal de uma rea de Man"attan Fcomo ocorreu em 9CD@E Muando a rea de Man"attan onde eu mora.a te.e o cYdigo !ostal alterado de 9HH:D !ara 9H9:DOE seria necessria a alterao de uma !arte de .rios !acotes1 Em todos esses casos 2 e.idente Mue o de!Ysito se altera em resul tado da entrada do fluWo1 $ res!ons.el !ela alterao do de!Ysito 2 o !rocesso F$u !rocessosO interligado Z outra eWtremidade do fluWo1 7m as!ecto Mue de.e ter ficado e.idente de todos os eWem!los mostrados at2 aMui> os fluWos interligados a um de!Ysito sY !odem trans !ortar !acotes de informa0es Mue o de!Ysito !ode aceitar1 Desse modoE um fluWo interligado ao de!Ysito C-IE8TE' sY !ode trans!ortar infor ma0es relati.as aos clientes Mue o de!Ysito conten"aE no !odendo trans!ortar !acotes de in.entrio ou de fa/ricao nem dados astronNmicos1 C191J $ Ter $ com!onente seguinte do DFD e o tenntnador ele 2 grafi camente re!resentado !or um retPnguloE como mostrado na figura C19@1 $s terminadores re!resentam entidades eWternas com as Muais o sistema se comunica1 Ti!icamenteE o terminador 2 uma !essoa ou um gru!o de !essoasE !or eWem!loE uma organi&ao eWterna ou uma em!resa do go.erno ou um gru!o ou setor Mue esteLa dentro da mesma com!an"ia ou organi&aoE mas fora do controle do sistema Mue est sendo mode lado1 Em alguns casosE o terminador !ode ser outro sistemaE !or eWem!loE algum outro sistema de !rocessamento com o Mual nosso sistema se comunicar1 DEPA*TAME8T$ DE C$8TABI-IDADE Figura C19@> *e!resentao grfica de um terininador 9CJ Costuma ser muito fcil identificar os terminadores do sistema em modelagem1 Zs .e&es o terminador 2 o usurioV isto 2E em nossas discus s0es com o usurioE ele dir> _Pretendo fornecer os itens de dados XE 6 e g !ara o sistema e es!ero rece/er dele os itens de dados AE B e C]1 Em outros casosE o usurio considera?se !arte do sistema e o aLudar a iden tificar os terminadores im!ortantesV !or eWem!loE ele !oder di&er?l"e> ;Precisamos estar !rontos !ara rece/ermos formulrios ti!o @:9 do De!artamento de Conta/ilidade e temos de remeter semanalmente *ela tYrios $ramentais !ara a Comisso de Finanas=1 8esse 3ltimo casoE 2 claro Mue o De!artamento de Conta/ilidade e a Comisso de Finanas so terminadores se!arados com os Muais o sistema se comunica1 EWistem trAs im!ortantes as!ectos a serem lem/rados so/re termi nadores> 91 Eles so eWternos ao sistema Mue estamos modelandoV os fluWos Mue interligam os terminadores aos di.ersos !rocessos Fou de? !YsitosO de nosso sistema re!resentam a interface entre o sis tema e o mundo eWterno1 :1 Como conseMaAnciaE 2 e.idente Mue nem o analista nem o !ro Letista de sistemas esto em !osio de modificar o conte3do de um terminador ou o modo como o terminador funciona1 8a linguagem de .rios li.ros clssicos so/re anlise de sistemasE o terminador est fora do domXnio das modifica0es1 $ Mue isso Muer di&er 2 Mue o analista de sistemas est modelando um sistema com a inteno de !ro!orcionar ao !roLetista um consider.el grau de fleWi/ilidade e li/erdade de escol"er a mel"or Fou mais eficiente ou mais confi.el etc1O im!lementa o !ossX.el1 $ !roLetista de sistemas !ode im!lementar o sis tema em um modo considera.elmente diferente da forma como ele est no momento im!lementadoV o analista de sistemas !o de !referir modelar os reMuisitos do sistema de um modo Mue !area considera.elmente diferente da forma com Mue o usu rio imagina o sistema agora Fmais so/re isso na seo C1J e na !arte IIIO1 Mas o analista de ststemas no !ode mod o con te3doE ou a organi&ao ou os !rocedimentos relati.os aos terminadores1 @1 TualMuer relacionamento eWistente entre terminadores no ser mostrado no DFD1 Alguns relacionamentos desse ti!o !odem eWistir de fatoE masE !or definioE eles no fa&em !ar te do sistema Mue estamos estudando1 In.ersamenteE se eWis tirem relacionamentos entre terminadores e for essencial Mue o analista de sistemas os modele !ara documentar de forma 9CI -urreta os reMuisitos do sistemaE entoE !or definioE os tem nadores so realmente !arte do sistema e de.em ser modelad como !rocessos1 8os modelos sim!les eWaminados at2 agot .imos a!enas um ou dois terminadores1 Em um sistema tX!i do mundo realE !ode "a.er literalmente d3&ias de terminador diferentes interagindo com o sistema1 A identificao d terminadores e a interao deles com o sistema 2 !arte d !rocesso de construo do modelo am"icntalE Mue ser .isto n ca!Xtulo 9K1 C1: DI*ET*IgE' PA*A A E-AB$*A()$ DE DFD 8a seo !recedente .imos Mue os diagramas de fluWo de dado so com!ostos !or Muatro com!onentes sim!les> !rocessos F/ol"asV fluWosE de!Ysitos e terminadores1 Munido dessas ferramentasE .ocA agor> !ode comear a entre.istar usurios e a construir DFD de sistemas1 EntretantoE eWistem algumas diretri&es adicionais necessrias !ar> utili&ar DFD com sucesso1 Algumas dessas diretri&es o auWiliaro a n construir DFD incorretos Fisto 2E incom!letos ou logicamente inconsis tentesO e algumas outras destinam?se a aLud lo a desen"ar DFD agrad .eis Z .ista e !ortanto com mais !ossi/ilidades de serem eWaminado com ateno !elo usurio1 As diretri&es so as seguintes> 91 Escol"er nomes significati.os !ara os !rocessosEfluWosE de!Ysi tos e terminadores1 :1 8umerar os !rocessos1 @1 *efa&er os DFD tantas .e&es Muantas forem necessrias at2 o/te uma /oa est2tica1 J1 E.itar DFD com!leWos demais1 I1 Certificar?se de Mue o DFD seLa internamente consistente al2n de manter a consistAncia com os outros DFD1 C1:19 Escol"er 8omes 'ign !ara os ProcessosE FluWosE De!Ysitos e Terminadores Como L .imosE um !rocesso cm um DFD !ode re!resentar um> fi no Mue esteLa sendo eWecutada ou !ode indicar como a funo est 9C< sendo eWecutadaE !ela identificao da !essoaE gru!o ou mecanismo en.ol.ido1 8o 3ltimo casoE torna?se e.idente a im!ortPncia dc rotular acuradamente o !rocesso !ara Mue as !essoas Mue eWaminem o !roces soE !rinci!almente os usuriosE seLam ca!a&es de confirmar de Mue aMue le seLa um modelo correto1 EntretantoE se o !rocesso for eWecutado !or uma sY !essoaE 2 recomend.el identificar o !a!el Mue essa !essoa de sem!en"aE em .e& do nome ou da identidade da !essoa1 AssimE em .e& de desen"ar um !rocesso como o da figura C19JFaOE com o nome Fred imortali&adoE sugerimos Mue o !rocesso seLa re!resentado como na Fi gura C19JF/O1 A ra&o !ara isso 2 tri!la> 91 Fred !ode ser su/stituXdo na !rYWima semana !or Maria ou !or Roo1 Para Mue introdu&ir o/solescAncia no modelo[ :1 Fred !ode desem!en"ar di.ersas tarefas no sistema1 Em lugar de desen"ar trAs /ol"asE todas com o rYtulo Fred mas re !resentando ati.idades diferentesE 2 !referX.el indicar a .erdadeira tarefa Mue ali 2 eWecutada ? ou !elo menos o !a!el Mue Fred desem!en"a no momento Fcomo modelado em cada uma das /ol"asO1 @1 A identificao de Fred !ro.a.elmente atrair ateno !ara o modo como ele eWecuta seu tra/al"o1 Como .eremos na !arte IIIE de.emos geralmente nos concentrar na onentao comercial su/Lacente Mue de.e ser seguidaE sem referAncias aos !roce dimentos FMue !odem ser /aseados em costumes e antecedentes no mais rele.antesO em!regados no cum!rimento daMuela orientao1 'e !udermos e.itar o uso de nomes de !essoas Fou de gru!osO e de fun0es !olXticasE !odemos rotular os !rocessos de modo a identificar !edidos .lidos !edidos Figura C19J FaO> 7m nome de !rocesso inadeMuado 9CK as fi Mue o sistema eWecuta1 7m /om m2todo !ara nomes de !ro cessos 2 utili&ar um .er/o e um o/Leto1 Isto 2E em!regar um .er/o Mue re!resente ao Fum .er/o transiti.oE Mue eWige um o/LetoO e um o/Leto adeMuado formando uma sentena descriti.a do !rocesso1 Eis alguns eWem!los de nomes de !rocessos> j CA-C7-A* T*ARETn*IA 9OH Mc''I- j P*$D7gI* *E-ATn*I$ DE I8QE8T+*I$ j QAliDA* 8xME*$ DE TE-EF$8E j DE'IG8A* A-78$' PA*A 'A-A' QocA .erE ao seguir esta diretri&E Mue 2 consXdera.elmente mais fcil em!regar .er/os e o/Letos es!ccfficos se o !rY!rio !rocesso for sim!les e /em definido1 Mesmo nos casos sim!lesE toda.iaE eWiste a tentao de usar nomes .agos como FAgE*E MA8IP7-A* e P*$CE''A*1 Tuando so utili&ados .er/os desse ti!o \elstico] F.er/os cuLo sentido !ode ser estendido !ara significar Muase tudoOE muitas .e&es significa Mue o analista de sistemas no est /em certo de Mual funo est sendo eWecutada ou Mue .rias fun0es foram reunidas mas Mue no o de.e riam ser1 Eis alguns eWem!los de maus nomes de !rocessos> 9CD j FAgE* 'E*QI($ j F78(rE' DIQF= j MA8IP7-A* E8T9FAIOi !edidos !edidos !edidos in.lidos Figura C19J F/O> 7m nome de !rocesso mais adeMuado 9 j C7IDA* D$' C-IE8TE' j P*$CE''A* DAD$' j EDI()$ GE*A- $s nomes escol"idos !ara os !rocessos Fe tam/2m !ara os fluWos e os terminadoresO de.em !ro.ir de um .oca/ulrio con"ecido !elo usu rio1 Isso acontecer naturalmente se o DFD for desen"ado como resulta do de uma s2rie de entre.istas com o usurio e se o analista de sistemas ti.er um mXnimo con"ecimento do o/Leto su/Lacente da a!licao1 Por2m duas !recau0es de.em ser tomadas> 91 EWiste a natural tendAncia !or !arte dos usurio sem utili&a rem as a/re.ia0es e acrNnimos Mue l"es seLam familiaresV isso ocorre tanto !ara os !rocessos Muanto !ara os fluWos Mue eles descre.em1 Isso infeli&mente resulta em um DFD fortemente orientado !ara o modo como as coisas so feitas agora1 AssimE o usurio !oderia di&er> \BemE nYs !egamos uma cY!ia do formulrio 9HK ? o cor?de?rosaE .ocA sa/e ? e o en.iamos !ara o Ros2 !ara ser riscado]1 7ma /oa maneira de e.itar termos eW cessi.amente idiossincrsicos 2 escol"er .er/os Fcomo _riscar]O e o/Letos Fcomo _formulrio 9HK]O Mue sero com!reensX.eis !ara algu2m da mesma ind3stria ou a!licaoE mas tra/al"ando em outra em!resa ou organi&ao1 'e .ocA esti.er ela/orando um sistema /ancrioE os nomes dos !rocessos e dos fluWos de .emE idealmenteE ser com!reensX.eis !ara os Mue tra/al"am em outros /ancos1 :1 'e o DFD esti.er sendo desen"ado !or algu2m com retros!ecto em !rogramaoE "a.er tendAncia de serem utili&ados termos !ro.enientes daMuela ati.idade como _*$TI8A]E _'7B'I'TEMA] e _F78()$]E em/ora tais termos !ossam no ter significado no mundo do usurio1 A menos Mue .ocA oua os usurios uti li&arem essas !ala.ras em con.ersas entre eles mesmosE e.ite?as nos DFD1 C1:1: 8umerar os Processos Como um m2todo !rtico de referenciar os !rocessos de um DFDE a maioria dos analistas de sistemas costuma numerar cada /ol"a1 8o im!orta a maneira de fa&er isso ? da esMuerda !ara a direitaE de /aiWo !ara cimaE ou de outra maneira MualMuer ? desde Mue .ocA seLa consis tente no modo como atri/ui os n3meros1 9CC A 3nica coisa Mue .ocA dc.e ter cm mente 2 Mue o esMuema numerao im!licarE !ara os e.entuais leitores do seu DFDE uma det miiWada seMuAncia de eWecuo1 Isto 2E ao a!resentar o DFD a um us rioE ele !oder indagar> _$"E Muer di&er Mue a /ol"a 9 2 eWecuta !rimeiroE de!ois a /ol"a : e de!ois a /ol"a @[]1 8a .erdade .ocA !o o/ter a mesma !ergunta de outros analistas de sistemas e !rogramac resV MualMuer um Mue con"ea fluWogramas cometer o engano dc !res mir Mue os n3meros das /ol"as im!licam uma seMuAncia1 Mas no 2 assimE $ DFD 2 uma rede de !rocessos assXncronos Mi se intercomunicamE e 2E de fatoE uma eWata re!resentao do modo c mo realmente funciona a maioria dos sistemas1 7ma certa seMaAncia ! de ser dedu&ida !ela !resena ou ausAncia de dados FeW1> !ode ser sX.el Mue a /ol"a : no !ossa eWecutar sua funo antes de rece/er d dos da /ol"a 9OE mas o esMuema de numerao nada tem a .er com iss 'endo assimE ento !ara Mue numerar as /ol"as[ Em !arteE com eW!licado acimaE como um meio !rtico de identificar os !rocessosV muito mais fcil em uma discusso so/re um DFD di&er?se _/ol"a 9] ei .e& de \EDITA* E**$' DE T*A8'A(rE' E DE *E-ATn*I$']1 Aind mais im!ortanteE os n3meros so a /ase !ara o esMuema de numer o "ierrMuica Muando a!resentarmos diagramas de fluWo de dadc ni.elados na seo C1@1 C1:1@ E.itar DFD Com!leWos Demais $ !ro!Ysito de um DFD 2 modelar corretamente as fun0es Mu um sistema de.e eWecutar e as intera0es entre elas1 Por2m um ouu o/Leti.o do DFD 2 ser lido e com!reendidoE no somente !elo analisi de sistemas Mue ela/orou o modeloE mas tam/2m !elos usurios Mue s os con"ecedores do assunto correlacionado1 Isso significa Mue o DF de.e ser !rontamente com!reendidoE facilmente a/sor.ido e agrad.i aos ol"os1 8a !rYWima su/seo discutiremos algumas diretri&es est2tica mas " uma diretri& !rinci!al Mue de.e ser sem!re lem/rada> no cr um DFD com demasiados !mcessosE fluWosE de!Ysitos e terminaderes1 maioria dos casos isso Muer di&er Mue no se de.e incluir mais dc me d3&ia de !rocessos e de!YsitosE fluWos e terminadores a eles relacion dos em um 3nico diagrama $utra maneira de se di&er isso 2 Mue DFD de.e se acomodar conforta.elmente cm um fol"a !adroni&ada c !a!el de DEI !or 99 !olegadas1 EWiste uma im!ortante eWceoE como .eremos no ca!Xtulo 9DV DFD es!ecialE con"ecido como diagrama de conteWtoE Mue re!reseni todo o sistema como um 3nico !rocesso e Mue ressalta as intcrfaccs cmi o sistema e os terminadores eWternos1 A figura C19I mostra um diagra :HH de conteWto tX!icoE e .ocA !ode notar Mue ele 2 ca!a& de assustar muitos analistas de sistemasE Muanto mais um usurio des!re!arado` 8ormal mente os diagramas de conteWto como o da figura C19I no !odem ser sim!lificadosE !or re!resentaremE mesmo no nX.el mais ele.ado de deta l"amentoE uma realidade Mue 2 intrinsecamente com!leWa]1 Figura C19I> 7m diagrama de conteWto tX!ico C1:1J *efa&er o DFD Tantas Qe&es Tuantas Forem 8ecessrias Em um !roLeto de anlise de sistemas do mundo realE o DFD Mue discutimos neste ca!Xtulo ter de ser feitoE refeito e no.amente refeitoE !or de& ou mais .e&esE at2 Mue esteLa F9O tecnicamente corretoE F:O acei t.el !elo usurio e F@O to /em desen"ado Mue .ocA no fiMue constran gido em mostr?lo Z Lunta de diretores de sua em!resa1 Isso !ode !arecer muito tra/al"oE mas .ale o esforo de desen.ol.er um modelo corretoE consistente e agrad.el dos reMuisitos do sistema1 Isso tam/2m 2 .lido em MualMuer $utra ati.idade de engen"aria> .ocA gostaria de .iaLar em um a.io !roLetado !or engen"eiros Mue ficassem entediados com seus desen"os a!Ys a segunda iterao 9:[ $ Mue torna um diagrama de fluWo de dados esteticamente agrad .el[ Isso logicamente 2 uma Muest! de gosto !essoal e de o!inioE e !ode ser determinado !or !adr0es esta/elecidos !or sua em!resa ou !elas caracterXsticas idiossincrsicas de algum !acote automati&ado de :H9 diagramao em terminais de .Xdeo Mue .ocA esteLa utili&ando1 Al2m dissoE a o!inio do usurio !ode ser um tanto diferente da suaV dentro dos limites do Mue seLa ra&o.elE o Mue Muer Mue o usurio considere como esteticamente agrad.el de.e nortear a maneira como .ocA de.e desen"ar os diagramas1 Alguns dos !ro/lemas Mue costumeiramente surgem !ara discusso nessa rea '$> Taman"o e forma das /ol"as1 Algumas organi&a0es desen"am diagramas de fluWo de dados com retPngulos ou o.ais em .e& de cXrculosV isso 2 naturalmente uma Muesto de est2tica1 Al2m dis soE alguns usurios !reocu!am?se Muando as /ol"as do DFD no so todas do mesmo taman"o ? consideram Mue Muando uma /ol"a 2 maior Mue outraE significa Mue aMuela !arte do sistema 2 mais im!ortante ou 2 diferente de algum modo Fisso de fato acontece a!enas !orMue o nome da /ol"a era to grande Mue o analista de sistemas !recisou desen"ar um /ol"a maior !ara acomodar esse nome`O1 FluWos de dados cur.os .e fluWos de dados retos1 Para ilus trarmos esse as!ectoE considere os DFD das figuras C19<FaO e F/O1 Figura C19< FaO> 7ma .erso de um DFD :H: Figura C19< F/O> 7ma .erso d&ferente do mesmo DFD Tual deles 2 mais agrad.el esteticamente[ Muitos o/ser.ado res encol"eriam os om/rosE di&endoE \Eles na realidade so iguais]1 MasE $utros ? e essa 2 a Muesto ? escol"ero um e reLeitaro .i.amente o outro1 ^E e.identementeE uma /oa id2iaE sa/er de antemo Mual a o!o Mue ser aceita e Mual ser reLei tada1 $ !ro/lema das setas Mue se cru&am 2 mais ou menos da mesma categoria> so ou no !ermitidas[ Diagramas desen"ados Z mo .e diagramas gerados !or mMuina1 Dentro de !oucos anosE .irtualmente todos os dia gramas de fluWo de dados e os modelos de sistemas sero dese n"ados !or sistemas de !rocessamento grficoV "oLe em diaE contudoE muitos desses diagramas ainda so desen"ados Z mo !orMue os analistas de sistemas no tAm acesso a essas ferra mentas1 $ !ro/lemaE entretantoE 2 a reao do usurio a esses diagramas> alguns demonstram forte !referAncia !elos diagra mas gerados em mMuina !or serem mais lim!osE enMuanto $utros !referem as figuras desen"adas Z mo !orMue l"es do a sensao de Mue os diagramas ainda no foram terminados ou _congelados] e ainda !odem sofrer modifica0es1 :H@ C1:1I CerMflcar?se de Mue o DFD 'eLa -ogicamente Consistente Como .eremos no ca!Xtulo 9JE eWistem algumas normas e diretri&es Mue auWiliam a garantir Mue o diagrama de fluWo de dados seLa consisten te com os outros modelos do sistema ? o diagrama de entidades?relacio namentosE o diagrama de transi0es de estadoE o dicionrio de dados e a es!ecificao de !rocessos1 EntretantoE eWistem algumas diretri&es Mue so utili&adas !ara fa&er com Mue o !rY!rio DFD seLa consistente1 As !rinci!ais diretri&es !ara a consistAncia so estas> j E.ite os !oos sem fundoE /ol"as Mue tAm entradas mas no tAm saXdas1 Tam/2m con"ecidas !elos analistas de sistemas como _/uracos negros]E em analogia a estrelas cuLo cam!o gra .itacional 2 to forte Mue nem mesmo a lu& !ode l"es esca!ar1 7m eWem!lo de !oo sem fundo 2 mostrado na figura C19K1 j E.ite /ol"as com gerao es!ontPneaV /ol"as Mue tAm saXdas mas no entradas so sus!eitas e geralmente incorretas1 7m eWem!lo !lausX.el de /ol"a de saXda?a!enas 2 um gerador de n3meros aleatYriosE mas 2 difXcil imaginar outro eWem!lo ra &o.el1 7ma /ol"a tX!ica de saXda?a!enas 2 mostrada na figura C19D1 j Cuidado com os fluWos e !rocessos sem rYtulo1 Isso geralmente 2 sinal dc desatenoE mas !ode re.elar erros mais '2rios> Zs .e&es o analista de sistemas omite o rYtulo de um fluWo ou de um !rocesso !orMue sim!lesmente no conseguiu encontrar um nome satisfatYrio1 8o caso de um fluWo sem rYtuloE isso !ode significar Mue .rios itens elementares de dados no relaciona dos foram ar/itrariamente reunidosV no caso de um !rocesso no rotuladoE isso !ode indicar Mue o analista de sistemas esta.a to confuso Mue desen"ou um fluWograma disfarado em lugar de um diagrama de fluWo dc dados $ j Cuidado com de!Ys ilos de leitura ?a!enas ou escrita?a!enas1 Esta diretri& 2 anloga Z diretri& so/re !rocessos de entrada? a!enas ou de saXda?a!enasV um de!Ysito tX!ico de.e ter entra das e saXdas A 3nica eWceo a esta diretri& 2 o de!Ysito eWter no Mue ser.e como interface entre o sistema e um terminador eWterno1 A figura C19C mostra um eWem!lo de um sistema de mercado de a0es com um legXtimo de!Ysito de escrita?a!enas :HJ C1@ DFD C$M 8cQEI' At2 o !resente momentoE neste ca!XtuloE os 3nicos diagramas de fluWo de dados com!letos Mue .imos so o sistema sim!les de trAs /o l"as da figura C19 e o de uma sY /ol"a da figura C19C1 Mas os DFD Mue .eremos em !roLetos reais so considera.clmcnte maiores e mais com !leWos1 ConsidereE !or eWem!loE o DFD mostrado na figura C1:H1 R ima ginou mostr?lo a um usurio tX!ico[ 8a seo C1:1@ L foi sugerido Mue de.emos e.itar diagramas como o da figura C1:H1 Mas como[ 'e o sistema for intrinsecamente com!leWo e tem d3&ias ou mesmo centenas de fun0es a serem modeladasE como !odemos e.itar o ti!o dc DFIO da figura C1:H[ A res!osta est em modelar o DFIO geral em uma s2rie de nX.eis de modo a Mue cada nX.el oferea succssi.amcntc mais detal"es so/re uma !arte do nX.el Mue l"e seLa su!erior1 Isso 2 anlogo Z organi&ao dos ma!as em um atlasE como discutido no ca!Xtulo D> !odemos eWaminar um ma!a de .iso geral de todo um !aXsE ou mesmo dc todo o mundoV a W Figura C19K> 7m eWem!lo de !oo sem fundo a W Figura C19D> 7m eWem!lo de /ol"a de saXda?a!enas :HI Dados do relatYrios anuais DAD$' D$ ME*CAD$ Figura C19C> 7m caso legXtimo de de!Ysito de escrita?a!enas Figura C1:H> 7m DPIO com!leWo :H< os ma!as su/seMaentes nos mostraro os detal"es de !aXses de modo indi.idualE de estados dentro de !aXses e assim !or diante1 8o caso dos DFDE a organi&ao dos nX.eis mostrada conceitualmente na figura C1:91 $ DFD dc nX.el mais alto consiste de uma 3nica /ol"aE re!resen tando o sistema inteiroV os fluWos de dados mostram as interfaces entre o sistema e os terminadores eWternos FLuntamente com MuaisMuer de!Ysi tos eWternos Mue !ossam estar !resentesE como ilustrado !ela figura C19CO1 Esse DFD es!ecial 2 con"ecido como diaEgrama de conteWto e 2 discutido no ca!Xtulo 9D1 $ DFD imediatamente a/aiWo do diagrama de conteWto 2 con"eci do como figura $1 Ele re!resenta a .iso de mais alto nX.el das !rinci!ais fun0es do sistema /em como as !rinci!ais interfaces entre essas fun 0es1 Como .imos na seo C1:1:E cada uma dessas /ol"as de.e ser numerada !ara mais fcil identificao1 $s n3meros tam/2m ser.em como um meio !rtico de se relacio nar uma /ol"a com o DFD de nX.el imediatamente inferior Mue descre.e essa /ol"a de modo mais com!leto1 Por eWem!lo> j A /ol"a : da figura $ est associada ao DFD de nX.el inferior con"ecido como figura :1 As /ol"as da figura : so numeradas como :19E :1:E :1@ etc1 j A /ol"a @ da figura $ est associada ao DFD de nX.el inferior con"ecido como figura @1 As /ol"as da figura @ so numeradas como @19E @1:E @1@ etc1 j A /ol"a :1: da figura : est associada ao DFD de nX.el inferior con"ecido como figura :1:1 As /ol"as da figura :1: so numera das como :1:1E :1:1:E :1:1@ etc1 j 'e uma /ol"a !ossuir um nome Fe de fato de.e !ossui?lo`OE ento esse nome 2 trans!ortado !ara a figura de nX.el imedia tamente a/aiWo1 AssimE se a /ol"a :1: tem o nome de CA-C7 -A* TAXA DE QE8DA'E ento a figura :1:E Mue su/di.ide a /ol"a :1: mais detal"adamenteE de.e ser rotulada como _figura :1:> CA-C7-A* TAXA DE QE8DA']1 Como se !ode .erE esse 2 um modo /astante direto de se organi&ar um !otencialmente enorme diagrama de fluWo de dados em um gru!o de !artes mani!ul.eis1 Mas eWistem algumas coisas Mue de.em ser acrescentadas a essa descrio da su/di.iso em nX.eis> :HK DIAG*AMA DE C$8TEXT$ FIG7*A $ FIG7*A @ Figura C1:9> Diagramas defluWo de dados em nX.eis :HD 91 Como sa/er Muantos nX.eis de.e ter um DFD[ A res!osta a esta !ergunta foi sugerida na seo C1:1@> cada figura de DFD de.e ter no mais de meia d3&ia de /ol"as e de de!Ysitos a elas relacionados1 AssimE se .ocA ti.er su/di.idido um sistema grande em trAs nX.eisE mas os DFD de nX.el mais /aiWo ainda contAm IH /ol"as cada umE .ocA de.e esta/elecer !elo menos mais um nX.el a/aiWo desse1 7m !onto de .erificao alternati.o 2 oferecido no ca!Xtulo 99E onde discutimos as es!ecifica0es de !rocessos !ara as /ol"as dos DFD do nX.el mais /aiWo> se no !udermos escre.er uma ra&o.el es!ecificao de !rocesso !ara uma /ol"a em uma sY !ginaE ento ela !ro.a.elmente est demasiado com!leWaE e de.e ser su/di.idida em um DFD de nX.el mais /aiWo antes de tentarmos escre.er a es!ecificao do !rocesso1 :1 EWistem diretri&es so/re o n3mero de nX.eis Mue de.em ser es !erados em um sistema tX!ico[ Em um sistema sim!lesE encon tram?se !ro.a.elmente dois ou trAs nX.eisV um sistema de m2dio !orte a!resenta costumeiramente de trAs a seis nX.eisV e um sis tema grande ter de cinco a oito nX.eis1 De.e?se ter cautela com !essoas Mue afirmam Mue MualMuer sistema !ode ser modelado em eWatamente trAs nX.eis ? algu2m assim tam/2m .ai tentar .ender?l"e a !onte *io?8iterYi1 Por outro ladoE lem/re?se de Mue o n3mero total de /ol"as cresce eW!onencialmente Muando se !assa de um nX.el !ara o imediatamente inferior1 'eE !or eWem!loE cada figura ti.er sete /ol"asE ento "a.er @J@ /ol"as no terceiro nX.elE 9<1DHK /ol"as no Muinto nX.el e JH1@I@1<HK de /ol"as no nono nX.el1 @1 Todas as !artes do sistema de.em ser su/di.ididas at2 o mesmo nX.el de detal"amento[ Por eWem!loE se a /ol"a : da figura $ eWigir mais trAs nX.eis de detal"amentoE 2 necessrio su/di.idir tam/2m a /ol"a @ em mais trAs nX.eis[ Isto 2E uma figura @V um conLunto de figuras rotuladas figura @19E figura @1:E 111V e um conLunto de figuras rotuladas @1919E @191:E 111E @1:19E @1:1:E e assim !or diante[ A res!osta 2 ;8o]1 Algumas !artes de um sistema !odem ser mais com!leWas Mue outras e !odem eWigir a su/? di.iso em mais um ou dois nX.eis1 Por outro ladoE se a /ol"a : da figura $ do nX.el mais ele.ado for !rimiti.aE enMuanto a /ol"a @ reMuer su/di.iso cm sete nX.eisE ento o modelo geral do sistema est assim2trico e foi !ro.a.elmente mal organi&ado1 8esse casoE algumas !artes da /ol"a @ de.eriam ser transferi das !ara uma /ol"a se!arada ou tal.e& redesignadas !ara a /ol"a :1 :HC J Como se mostram esses nX.eis !ara o usuz Muitos usurios sY deseLaro .er um diagrama1 7m usurio eWecuti.o de alto nX.el !ode Muerer .er a!enas o diagrama de conteWto ou tal.e& a figura $V um usurio de nX.el o!erati.o !ode Muerer .er a!enas a figura Mue descre.e a rea do sistema em Mue ele esteLa interessado1 Mas se algu2m Muiser .er uma grande !arte do sistema ou tal.e& o sistema intciroE ento fa& sentido a!resentar? l"e os diagramas na metodologia to!?do4n> comeando !elo diagrama de conteWto e descendo aos nX.eis inferiores de maior detal"amento1 Muitas .e&es 2 !rtico ter?se dois diagramas lado a lado na mesa F$u eWi/idos !or um !roLetorO !ara mostr?los> o diagrama em Mue .ocA esteLa !arucularmente interessado em eWaminar e o diagrama de nX.el su!erior Mue oferece um conteWto de alto nX.el1 I1 Como garantir Mue os nX.eis dos DFD seLam consistentes entre si[ $ as!ecto da consistAncia re.este?se de tanta im!ortPncia !orMue os di.ersos nX.eis dos IOFD so normalmente desen.ol.idos !or d !essoas nos !roLetos do mundo real1 7m analista de sistemas sen"or !ode se dedicar ao diagrama de conteWto e Z figura $E enMuanto alguns analistas de sistemas Luniors se encarregam das figuras 9E : etc1 Para garantir Mue cada figura seLa consistente com sua figura de nX.el su!e riorE seguimos uma regra sim!les> os fluWos de dados Mue en tram e saem de uma /ol"a em um nX.el de.em corres!onder aos fluWos Mue entram e saem de uma figura inteira do nX.el Imediatamente inferior Mue descre.e aMuela /ol"a1 A figura C1::FaO mostra um eWem!lo de um diagrama de fluWo de dados eMuili/radoV a figura C1::F/O mostra dois nX.eis de um DFD no? eMuili/rado1 <1 Como mostrar de!Ysitos nos di.e= nX.eis[ Esta 2 uma rea em Mue a redundPncia 2 deli/eradamente introdu&ida no modelo1 A diretri& 2 a seguinte> mostre um de!Ysito no nX.el mais alto onde ele set.e !rimeiramente como interface entre duas ou mais /ol"asV em seguidaE mostre?o no.amente em CADA diagrama de nX.el inferior Mue descre.a Fou su/di.idaO as /ol"as interfa ceadas1 A figura C1:@ mostra um de!Ysito com!artil"ado !or dois !rocessos de alto nX.elE A e BV o de!Ysito seria no.amente mostrado nas figuras de nX.el mais /aiWoE Mue am!liam a descrio de A e B1 $ corolr"o disso 2 Mue os de!Ysitos locaisE utili&ados a!enas !elas /ol"as de uma figura de nX.el inferiorE no sero mostrados nos nX.eis su!erioresE !orMue estaro incluXdos em um !rocesso do nX.el imediatamente su!erior1 :9H DIAG*AMA DE C$8TEXT$ o FIG7*A @ Figura C1:: FaO> 7m fragmento de DFD eMuili/rado :99 DIAG*AMA DE C$8TEXT$ o FIG7*A @ Figura C1:: F/O> 7m fragmento de DFD deseMuili/rado :9: K1 Como realmente se fa& a su/di.Xso dos DFD em nX.eis[ A dis cusso at2 agora orientou mal de um modo um tanto sutil> em/ora seLa .erdadeiro Mue os DFD de.am ser a!resentados aos usurios na modalidade to!?do4nE no 2 necessariamente .erdadeiro Mue o analista de sistemas de.a desen.ol.er os DFD segundo essa modalidade1 A a/ordagem to!?do4n 2 intuiti.a? mente muito atraente1 Pode?se imaginar comear !elo diagrama de conteWto e de!ois desen.ol.er a figura $ eE em seguidaE des cer metodicamente aos nX.eis inferiores de detal"amento]1 EntretantoE .eremos no ca!Xtulo 9K Mue eWistem !ro/lemas nes sa a/ordagemV uma a/ordagem mais /em?sucedida 2 identificar !rimeiramente os e.entos eWternos aos Muais o sistema de.e reagir e usar esses e.entos !ara criar um es/oo de DFD1 8o ca!Xtulo :HE .eremos Mue essa !rimeira .erso do DFD !ode ter de ser su/di.idida !ara cima F!ra criar DFD de nX.eis mais Figura C1:@> A eWi/io de de!Ysitos nos nX.eis inferiores :9@ ele.adosO e !ara /aiWo F!ara criar DFD de nX.eis mais /aiWosO1 Por enMuantoE 2 suficiente Mue .ocA com!reenda a!enas Mue a organi&ao e a a!resentao de um conLunto de DFD em .rios nX.eis no corres!onde necessariamente Z estrat2gia de se desen.ol.er esses nX.eis em !rimeiro lugar1 C1J EXTE8'rE' A$ DFD PA*A 'I'TEMA' DE TEMP$?*EA- $s fluWos discutidos neste ca!Xtulo so d de dadosV eles atuam como dutos !elos Muais transitam !acotes de dados entre !rocessos e de!Ysitos1 De forma semel"anteE as /ol"as dos DFD .istos at2 o !resente momento !odem ser consideradas como !rocessadores de dados1 Para uma grande classe de sistemasE !articularmente os sistemas comerciaisE esse 2 o 3nico ti!o de fluWo necessrio !ara a modelagem de sistemas1 Mas !ara outro ti!o de sistemasE os de tem!o?realE !recisamos de um meio de modelar fluWos de controle FeW1> sinais ou interru!0esO e de um modo de mostrar !rocessos de controle ? F/ol"as cuLa 3nica tarefa 2 coordenar e sincroni&ar as ati.idades de outras /ol"as do DFDO Essas /ol"as se a!resentam em lin"as traceLadas no DFDE como se !ode .er na figura C1:J1 7m fluWo de controle !ode ser imaginado como um duto Mue !ode trans!ortar um sinal /inrio Fisto 2E !ode estar ligado ou desligadoO1 Contrariamente aos outros d discutidos neste ca!XtuloE o d de controle no trans!orta dados com .alores1 $ fluWo de controle 2 en.ia do de um !rocesso !ara outro Fou de algum terminador eWterno !ara um !rocessoO como uma forma de di&er> ;Acorde` Est na "ora de tra/a l"ar`]1 A im!licaoE naturalmenteE 2 Mue o !rocesso esta.a adormecidoE ou inati.o antes da c"egada do fluWo de controle1 7m !rocesso de controle !ode ser imaginado como uma /ol"a su!er.isora ou eWecuti.a cuLa tarefa 2 coordenar as ati.idades das outras /ol"as do diagramaV suas entradas e saXdas consistem a!enas em fluWos de controle1 $s fluWos de controle Mue !artem do !rocesso de controle so utili&ados !ara des!ertar outras /ol"asV os Mue c"egam geralmente indicam Mue uma das /ol"as terminou a eWecuo de alguma tarefaE ou Mue alguma situao eWtraordinrir surgiu e so/re a Mual a /ol"a de controle de.e ser informada1 8orrialmente eWiste a!enas um !rocesso de controle em um DFD1 Como indicado acimaE um fuWo de controle 2 utili&ado !ara des !ertar um !rocesso normalV a!Ys des!ertoE o !rocesso normal eWecuta sua tarefaE descrita !or uma es!ecificao de !rocesso F.eLa o ca!Xtulo 99O1 $ com!ortamento interno de um !rocesso de controle 2E !ortantoE diferente> 2 onde o com!ortamento tem!o?de!endente do sistema 2 :9J J do sat2lite P*$CE''A sinal do sat2lite DAD$' D$ 'AT^-ITE ? S? ati.ar !rocessamento C$8T*$-A* do sat2lite DAD$' DE QIGI-w8CIA ati.ar !rocessamento do radar dados do radar Figura C1:J> 7m DFD com fluWos de controle e !rocessos de controle modelado em detal"e1 $ interior de um !rocesso de controle 2 modela do !or um diagrama de transi0es de estadoE Mue mostra os .rios esta dos em Mue todo o sistema !ode estar e as circunstPncias Mue condu&em a uma mudana de estado1 $s diagramas de transi0es de estado so discutidos no ca!Xtulo 9@1 C1I *E'7M$ Como .imos neste ca!XtuloE o diagrama de fluWo de dados 2 uma ferramenta sim!les mas !oderosa !ara a modelagem das fun0es de um sistema1 $ material das se0es C19E C1: e C1@ de.e ser suficiente !a ra modelar a maioria dos sistemas comerciais clssicos de informa0es1 'e .ocA esti.er tra/al"ando em um sistema de tem!o?real F!1eW1E con trole de !rocessosE orientao de mXsseis ou comutao telefNnicaOE as eWtens0es !ara tem!o? real discutidas na seo C1J sero im!ortantesV !ara mais detal"es so/re !ro/lemas de tem!o?realE consulte d e MeliorE 9CDI91 Infeli&menteE muitos analistas de sistemas !ensam Mue os diagra mas de fluWo de dados so tudo de Mue !recisam sa/er so/re anlise de sistemas1 'e .ocA !erguntar a um de seus colegas se ele est familiari &ado com a anlise estruturadaE ele !ro.a.elmente res!onder> _$"E simE :9I a!rendi tudo so/re /ol"as e o resto]1 Por $utro ladoE isso 2 um tri/uto ao !oder dos diagramas de fluWo de dados ? ele 2 muitas .e&es a xni ca coisa de Mue um analista de sistemas se recorda de!ois de ler um li .ro ou fa&er um curso so/re anlise estruturada` 8o entantoE isso 2 uma situao !erigosa> sem as ferramentas de modelagem adicionais a!resentadas nos !rYWimos ca!XtulosE os diagramas de fluWo de dados no tAm .alor1 Mesmo Mue os relacionamentos de dados e o com!or tamento tem!o?de!endente do sistema seLam tri.iais Fo Mue 2 !ouco !ro..elOE ainda 2 necessrio com/inar os DFD com o dicionrio de dados Fdiscutido no ca!Xtulo 9HO e a es!ecificao de !rocessos Fdis cutida no ca!Xtulo 99O1 PortantoE no guarde o li.ro ainda` Ainda " mais a a!render` *EFE*b8CIA' 91 5a#ne 'te.ensE Glen M#ers e -arr# ConstantineE _'tructured Design]E IBM '#stems RournalE maio de 9CKJ1 :1 Ed 6ourdon e -arr# ConstantineE 'tructured Deslgn1 8o.a lorMue> 6$7*D$8 PressE 9CKI1 @1 Glen M#ersE *elia/le 'oft4are t"roug" Com!osite Design1 8o.a lorMue> PetroceiliGC"arterE 9CKI1 J1 Tom DeMarcoE 'tructured Anal#sis and '#stems '!ec Engle4ood CliffsE 81R1> Prentice?,allE 9CKC1 I1 C"ris Gane e Tris" 'arsonE 'truclured '#stems Anal#sks> Tools and Tec"nXMuesE Engle4ood CliffsE 81R1> Prentice?,allE 9CKD1 <1 Doug *oss e Ken 'c"omanE Rr1E _'tructured anal#sis for *eMuire ments Definition]E IEEE Transactions on 'oft4are EnglneeringE Laneiro de 9CKKE !gs1 J9?JD1 *eim!resso em Ed 6ourdonE Clas1sXcs in 'oft4are EngXneering1 8o.a lorMue> 6$7*D$8 PressE 9CKC1 K1 Paul 5ard e 'te.e MellorE 'tructured De.elo!ment of *eal?Time '#stemsE Qolumes 9? @1 8o.a RorMue> 6$7*D$8 PressE 9CD<1 D1 Edsger 51 DiL%straE _Coo!erating 'eMuential Processes]1 Program ming -anguagesE F1 Genu#s FeditorO1 8o.a lorMue> Academic PressE 9C<D1 C1 Paul 5ardE _T"e Transformation 'c"ema> An EWtension of t"e Data flo4 Diagram to *e!resent Control and Timing]E IEEE Transactions on 'oft4are Engineering fe.ereiro dc 9CD<E !gs1 9CD?:9H1 9H1 Dere% ,atle#E _T"e 7se of'tructured Met"ods in t"e De.elo!ment of -arge 'oft4are?Based A.ionics '#stems]E AIAAGIEEE <t" Digital A.ionics ConferenceE BaltimoreE 9CDJ1 991 M1 5e// e Paul 5ardE _EWecuta/le Dataflo4 Diagrams> An EW!eri mental Im!lementation]E 'tructured De.elo!ment FonimE 'eattleE agosto de 9CD<1 :9< 9:1 E1 *eill# e R1 Brac%ettE _An EW!erimental '#stem for EWecuting *eal Time 'tructured Anal#sis Modeis]E Pmceedings of l"e 9:9" 'tructu red Mel"ods ConferenceE C"icagoE agosto de 9CDK1 PE*G78TA' E EXE*CcCI$' 91 DA uma /re.e descrio de um diagrama de fluWo de dados1 Tual 2 a diferena entre um DFD e um fluWograma[ :1 A!resente seis sinNnimos !ara diagrama de fluWo de dados1 @1 Em Mue os DFD !odem ser usados al2m da modelagem de siste mas de informa0es[ J1 Tuais so os Muatro !rinci!ais com!onentes de um DFD[ I1 Tuais so os trAs sinNnimos comuns !ara !rocesso em um DFD[ <1 EWiste alguma im!ortPncia na escol"a de um cXrculo !aia um !ro cesso[ 'eria mel"or usar um triPngulo ou um "eWgono[ Por MuA[ K1 $ Mue est errado no !rocesso a/aiWo[ D1 $ Mue est errado com o !rocesso a/aiWo IFXi@ G$T$ $ 7A*KK C1 $ Mue est errado com o !rocesso a/aiWo[ :9K 9H1 $ Mue est errado com o !rocesso a/aiWo[ *EGI'T*$ DE C-IE8TE 991 $ Mue est errado com o !rocesso a/aiWo[ 9:1 Por Mue um analista de sistemas desen"aria um DFD com un !rocesso com!osto do nome de uma !essoa ou de um gru!o d organi&ao[ 9@1 $s fluWos de um DFD restringem?se a mostrar a!enas o mo.iment de informa0es[ Podem mostrar o mo.imento de outras coisas[ 9J1 $ Mue est errado neste DFD[ 9I1 $ Mue est errado neste DFD[ 9<1 Como !ode o mesmo conLunto de dados ter diferentes significado em um DFD[ Desen"e um eWem!lo de tal situao1 :9D 9K1 Tual 2 o significado do DFD a/aiWo[ W i W U' 9D1 EWiste algum limite !ara o n3mero dc entradas e saXdas Mue um !rocesso !ode ter em um DFD[ Tual seria sua reao ao .er um !rocesso com 9HH entradas e 9HH saXdas[ 9C1 $ Mue est errado no DFD a/aiWo[ :H1 $ Mue est errado no DFD a/aiWo[ 9 :91 $ Mue est errado nos DFD a/aiWo[ / :9C ::1 $ Mue est errado no DFD a/aiWo[ a c / :@1 $ Mue est errado no DFD a/aiWo[ c / :J1 Descre.a um fluWo de dilogo1 :I1 $ DFD a/aiWo 2 .lido[ EWiste alguma outra maneira c desen"?lo[ 6 W ::H :<1 $ DFD a/aiWo 2 .lido[ EWiste alguma outra maneira de desen"?lo[ :K1 'o/ Mue circunstPncias .ocA !oderia .er cY!ias du!licadas de um fluWo de saXda de um !rocesso[ :D1 Por Mue os DFD e.itam mostrar detal"es !rocedurais[ :C1 8o diagrama a/aiWoE Muantos elementos W e Muantos elementos # so necessrios !ara !rodu&ir uma saXda &[ W & @H1 $ Mue um de!Ysito mostra em um DFD[ @91 Tual 2 a con.eno !ara a atri/uio dc nomes de de!Ysitos em um DFD[ @:1 Tuais so os nomes alternati.os !ara um de!Ysito[ ^ aceit.el o em!rego do termo arMui.o[ Por MuA[ @@1 Tue nomes so costumeiramente utili&ados !ara descre.er !acotes de informa0es em um de!Ysito[ @J1 Tuais so os trAs moti.os "a/ituais !ara se mostrar de!Ysitos de im!lementao em um DFD[ @I1 QocA concorda com a eWi/io de de!Ysitos de im!lementao em um DFD[ Por MuA[ @<1 Tual 2 o significado de um fluWo sem rYtulo entrando ou saindo de um de!Ysito[ @K1 EWiste algum limite !ara o n3mem dc fluWos Mue c"egam ou saem de um de!Ysito[ 'e assim forE determine esse limite1 ::9 @D1 $ Mue est errado nos DFD a/aiWo[ FaO /G FcO FdO o FeO ::: @C1 Tuais so as Muatro !ossX.eis inter!reta0es de um fluWo de dados Mue !arte de um de!Ysito !ara um !rocesso[ JH1 $ DFD a/aiWo fa& sentido[ Por MuA[ C-IE8TE' registro de cliente J91 DA um eWem!lo de uma situao onde um !rocesso !ode eWtrair !artes de mais de um registro de um de!Ysito em um 3nico acesso lYgico1 J:1 DA um eWem!lo de uma situao onde um !rocesso !ode eWtrair mais de um !acote de informa0es de um de!Ysito em um 3nico acesso lYgico1 J@1 EWaminando os diagramas a seguir .ocA !ode di&er se os DFD esto corretos[ FaO SSSSSSSSSSSSSSSSSSSSSSS C-I E8TE' n3mero?de?telefone ::@ F/O CcO C-IE8TE' JJ1 $ Mue ocorre com um de!Ysito de!ois Mue dados saem dele !or um fluWoE !ara um !rocesso[ Isso 2 .erdadeiro !ara todos os ti!os de sistemas ou a!enas !ara sistemas de informa0es[ JI1 Tuais so as trAs !ossX.eis inter!reta0es da c"egada de um fluWo a um de!Ysito[ J<1 Como !odemos mostrar !acotes de dados sendo eliminados Cdeletados]O de um de!Ysito[ JK1 $ Mue est errado no DFD a/aiWo[ C-IE8TE' dados?de?in.entrio traLetYria?do?mXssil ::J JD1 Tual 2 o !ro!Ysito de se mostrar um terminador em um DFD[ JC1 Como fa& o analista de sistemas !ara identificar os terminadores[ IH1 Tue re!resentam os fluWos entre termiriadores e !rocessos[ I91 $ Mue est errado nos DFD a/aiWo[ FaO F/O SSSSSSSS C-IE8TE 9 'I'TEMA DE PEDID$' FcO im!ostos FdO ::I I:1 $ analista de sistemas !ode alterar o conte3do ou a organi&ao de um terminador como !arte de seu !roLeto[ E se ele ac"ar Mue de.e ser modificado= I@1 Por Mue um !rocesso no de.e ter o nome da !essoa Mue !re sentemente desem!en"a aMuela funo[ IJ1 Tual 2 uma /oa diretri& !ara atri/uir nomes a !rocessos em um DFD[ II1 DA cinco eWem!los de nomes de !rocessos Mue .ocA no gostaria de .er em um DFD1 I<1 Como .ocA !ode afirmar se o nome escol"ido !ara um !rocesso 2 significati.o[ IK1 Tual 2 o erro de inter!retao Mue o usurio !ode cometer em relao aos n3meros das /ol"as de um DFD[ ID1 Como se !ode sa/er se um DFD ser muito com!leWo !ara ser entendido !elo usurio[ IC1 Tuo rigidamente de.e ser o/edecida a diretri& da com!leWidade[ De.e ser !ermitida alguma eWceo[ Por MuA[ <H1 Por Mue 2 freMaentemente necessrio redesen"ar um DFD muitas .e&es[ <91 Tuais so os !rinci!ais as!ectos Mue determinam se um DFD 2 esteticamente agrad.el[ QocA ac"a Mue esses as!ectos !odem ser eW!ressos como !adr0es[ <:1 'eus colegas !referem re!resentar os !rocessos com /ol"as ou com o.ais[ E .ocAE como !refere[ <@1 QocA ac"a Mue os fluWos de dados entre !rocessos de.em ser de sen"ados como lin"as cur.as ou como lin"as retas[ Tuais so as .antagens e des.antagens de cada ti!o[ Esse as!ecto 2 im!ortante[ <J1 $ Mue 2 um !oo sem fundo[ Por Mue a !resena dele de.e ser considerada um erro em um DFD tX!ico[ <I1 Tue so /ol"as de gerao es!ontPnea em um DFD[ Por Mue de.em ser e.itadas em um DFD[ <<1 Por Mue os fluWos e !rocessos sem rYtulo so !erigosos[ <K1 Por Mue os de!Ysitos de leitura?a!enas e de escrita?a!enas con figuram?se "a/itualmente como um erro em um DFD[ <D1 Por Mue os DFD em nX.eis so im!ortantes no modelo de um sistema[ <C1 Tuantos nX.eis de DFD um analista de sistemas de.e es!erar encontrar em um tX!ico sistema de grande !orte[ QocA !ode sugerir um limite su!erior !ara o n3mero de nX.eis em um DFD[ KH1 Em um DFD em nX.eis> FaO $ Mue !odemos c"amar de /ol"as _fil"as] a/aiWo da /ol"a :1@[ F/O Tual seria o nome de figura da figura na Mual a!arece a /ol"a :1@[ ::< FcO Tuantas figuras de nX.el su!erior eWistem acima da figura na Mual a!arece a /ol"a :1@[ Como so c"amadas[ K91 ^ necessrio Mue todas as !artes de um sistema seLam su/di.ididas nos mesmos nX.eis de detal"amento[ Por MuA[ K:1 'u!on"a Mue algu2m l"e mostre um DFD no Mual a /ol"a 9 esteLa su/di.idida em dois nX.eis inferiores e a /ol"a : esteLa su/di.idi da em 9K nX.eis inferiores1 Tual seria sua reao[ Tue reco menda0esE se "ou.er algumaE .ocA faria[ K@1 Tue significa eMuilX/rioE no conteWto deste ca!Xtulo[ Como se !ode di&er se um DFD est eMuili/rado[ KJ1 Por Mue a figura C1::F/O deste ca!Xtulo est des/alanceada[ KI1 Tual 2 a diretri& !ara a eWi/io de de!Ysitos em diferentes nX.eis de um DFD[ K<1 $ Mue 2 um de!Ysito local[ Tuais so as diretri&es !ara a eWi/io de um de!Ysito local em um DFD em nX.eis[ KK1 ProLeto de PesMuisa> Mual 2 a relao entre a diretri& !ara a eWi/io de de!Ysitos locais e o conceito de !roLeto orientado !ara o o/Leto[ Para isto detal"es so/re issoE leia os ca!Xtulos 9C e :H1 KD1 Tue !ro/lemas !odem estar associados ao desen.ol.imento de um conLunto de DFD em nX.eis na metodologia to!?do4n Fem com!arao com a leitura de um conLunto L desen.ol.ido de DFD !ela metodologia to!?do4nO[ KC1 $ Mue 2 um fluWo de controle[ Por Mue 2 diferente de um fluWo de dados[ DH1 $ Mue 2 um !rocesso de controle[ Por Mue 2 diferente de um !rocesso normal de um DFD[ D91 $ Mue 2 um de!Ysito de controle[ Por Mue 2 diferente de um de!Ysito normal de um DFD[ D:1 Desen"e um diagrama de fluWo de dados !ara modelar a seguinte receita de Fruits de Mer au *i& FMeWil"0es com Arro&OE tirada do T/e 8e4 6or% Times <H?Minute GourmetE !or Pierre Frane# F8o.a lorMue> TIME' Boo%sE 9CKCO1 _91 Para comearE !re!are e mea todos os ingredientes !ara o arro&1 Para gan"ar tem!oE !iMue uma WXcara eWtra de ce/ola e : dentes eWtras de al"o !ara a mistura1 DeiWe de lado1 :1 AMuea : col"eres de so!a de Yleo !ara o arro& em uma !anela e acrescente 9GJ de WXcara de ce/olaE !imento e al"o e aMuea at2 ficar co&ido1 Acrescente o aafro e co&in"e !or mais : minutos1 @1 Acrescente arro&E guaE sal e !imento e tam!e1 AMuea !or cerca de 9K minutos ou at2 Mue o arro& esteLa co&ido1 EnMuanto o arro& co&in"a !re!are os frutos do mar1 -em/re?se de Mue Muando o arro& esti.er ::K co&idoE de.e ser retirado do fogo1 Ele !ode ficar tam!ado !or alguns minutos sem !ro/lemas1 J1 AMueaE em uma caarolaE 9GJ de WXcara de Yleo e acrescente uma WXcara de ce/olas e : dentes de al"o1 MeWa e aMuea at2 ficar co&ido1 Acrescente !imento .ermel"oE tomatesE .in"o e or2gano1 Acrescente sal e !imenta1 Tam!e e co&in"e !or 9H minutos1 I1 ColoMue os mariscos e meWil"0es na !anela e tam!e de no.o1 AMuea !or @ minutos e acrescente os camar0esE escalo!esE sal e !imenta a seu gosto1 Tam!e e aMuea !or I minutos]1 D@1 Desen"e um diagrama de fluWo de dados !ara a seguinte receita de CoMulile 't1 RacMues Meunlere FEscalo!es Fritos na ManteigaOE tirada do K/e 8e4 6or% Times <H? Minute GourinetE !or Pierre Frane# F8o.a lorMue> TIME' Boo%sE 9CKCO> _7m !onto a ser lem/rado cem .e&es 2 a organi&ao1 Antes de co&in"arE !iMue o Mue for !reciso !icar e mea o Mue ti.er de ser medido1 Pro.idencie as !anelas e caarolas Mue forem necessrias !ara o ser.io ? neste casoE duas frigideiras Fuma !ara os escalo!es e outra !ara os tomatesO e uma caarola F!ara as /atatasO1 91 ColoMue os escalo!es em uma tigela e acrescente leiteE meWendo at2 ficarem co/ertos1 DeiWe descansar !or alguns instantes1 :1 Pon"a a farin"a de trigo em um !rato e acrescente sal e !imenta a seu gosto1 Misture /astante1 Escorra os escalo!es1 Pol.il"e?os com a farin"a e coloMue?os em uma !eneira1 Agite !ara retirar o eWcesso de farin"a1 Es!al"e?os em uma fol"a de !a!el laminado ou encerado de modo a Mue no se toMuem !ara Mue no grudem1 @1 $s escalo!es de.em ser co&idos em fogo alto em !eMuenas Muantidades1 AMuea @ col"eres de so!a de Yleo e 9 de manteiga em uma frigideira grande1 Tuando a mistura esti.er /em MuenteE mas no fumegandoE acrescente metade dos escalo!esE meWendo?os e agitando? os na frigideira de modo a Mue co&in"em r!ida e uniformemente at2 adMuirirem um marrom dourado1 J1 7se uma col"er fendida !ara transferir os escalo!es !ara uma tra.essa Muente1 Acrescente as : col"eres de so!a restantes de Yleo Z frigideira e Muando esti.er /astante MuenteE coloMue os escalo!es restantesE meWendo?os e agitando?os na frigideira como antes1 Tuando esti.erem marronsE !asse?os !ara a tra.essa com os outros escalo!es1 -im!e a frigideiraE acrescente a manteiga restante e aMuea at2 ficar marrom claro ou acastan"ado1 'al!iMue os escalo!es com suco de limo e salsa !icada]1 ::D DJ1 Desen"e um diagrama de fluWo de dados !ara a seguinte receita de $melefle Pa.ilion F$melete com frangoE tomates e MueiLoOE tirada do T/e 8e4 6or% Times <H?Minute GourmetE !or Pierre Frane# F8o.a RorMue> TIME' Boo%sE9CKCO> _Antes de comear a !re!arar os omeletesE Mue/re trAs o.os !ara cada omelete em tantas tigelas Muantas forem necessrias !ara a Muantidade de omeletes a serem !re!arados Fuma !ara cada umO1 Acrescente sal e !imenta a gosto e duas col"eres de so!a de creme grosso1 $s o.os tam/2m !odem ser /atidos !ara acelerar o !re!aro dos omeletes1 91 AMuea : col"eres de so!a de manteiga em uma caarola e Lunte farin"a de trigo1 Bata com um /atedor de o.os at2 Mue fiMue /em mis turado1 Runte o caldo de frango e aMueaE /atendo .igorosamente com o /atedor1 ColoMue o creme e deiWe fer.er1 Fer.a !or cerca de 9H minutos1 :1 EnMuanto issoE aMuea outra col"er de so!a de manteiga em uma caarola e acrescente ce/ola1 AMueaE meWendoE at2 Mue esteLa co&idoE e Lunte tomatesE tomil"oE fol"as de louroE sal e !imenta1 Fer.aE meWendo .e& !or outraE !or uns 9H minutos1 @1 AMuea outra col"er de manteiga e Lunte o frango1 DeiWe co&in"arE meWendoE !or cerca de @H segundos1 Runte @ col"eres de so!a de mol"o cremoso1 DeiWe fer.er e retire do fogo1 Pon"a de lado1 J1 Runte as gemas dos o.os ao mol"o restante e meWa !ara misturar1 Acrescente sal e !imenta a gosto e MueiLo suXo ralado1 AMuea e meWa at2 Mue o MueiLo derreta1 Pon"a de lado1 I1 Bata os o.os com sal e !imenta1 Runte < col"eres de so!a de mol"o de tomate1 AMuea as @ col"eres restantes de manteiga em uma omeleteira ou em uma frigideira de TeXlon e Muando esti.er /em MuenteE acrescente os o.os1 Co&in"eE meWendoE at2 Mue o omelete esteLa consis tente em /aiWo mas 3mido e !astoso no meio1 Pon"a uma col"er de frango com creme no centro do omelete e um !ouco do mol"o de tomate Mue so/rou1 Passe o omelete ra!idamente !ara uma tra.essa1 <1 Passe mol"o de tomate !or so/re o omelete e sal!iMue?o com MueiLo !armeso ralado1 Pon"a !ara assar na grel"a at2 ficar marrom?dourado1 8$TA' EntretantoE a des.antagem do MacDra4 Fe de outros !rogramas do gAneroO 2 Mue ele nada sa/e a res!eito da es!ecial nature&a dos diagramas de fluWo de dados ou dos outros modelos de sistemas ::C a!resentados neste li.ro1 Ele sY con"ece formas !rimiti.as como retPngulosE cXrculos e lin"as1 $s !rodutos do estoLo de ferramentas do analista de sistemasE discutidos no a!Andice AEso muito mais !oderososE !orMue sa/em muito mais so/re o tema dos diagramas de fluWo de dados1 : $ formato utili&ado !elo analista de sistemas !ara os !rocessos 2 muitas .e&es associado a um determinado _cam!o] da anlise estruturada1 $ cXrculo 2 associado ao cam!o _6ourdonGDeMarco=E !or ser utili&ado em .rios li.ros !u/licados !ela 6$7*D$8 Press e nas ati.idades de treinamento e consultoria da 6$7*D$8 Inc1 De maneira semel"anteE o formato o.al 2 muitas .e&es associado ao cam!o ;GaneG'arson]E !or ter sido a!resentado !or C"ris Gane e Tris" 'arson em seu li.ro d e 'arsonE 9CKKeE e foi usado !ela McDonnell Douglas Automation Com!an# FMcAutoO e .rias outras em!resas1 $ retPngulo 2 comumente associado ao cam!o ;'ADT]E !or ter sido !o!ulari&ado em .rios artigos so/re a 'oftec" 'tructured Anal#sis Design Tec"niMue F'ADTOV .eLaE !or eWem!loE d e 'c"omanE 9CKKeE @ 7ma alternati.a aceit.el !ara o dilogo 2 a utili&ao de .rios fluWosE um mostrando a entrada FconsultaO !ara o !rocesso e o ou tro eWi/indo a saXda Fres!ostaO1 Essa 2E de fatoE a mel"or maneira de mani!ular casos em Mue uma entrada !ode le.ar a .rias a0es Fe res!ostasO com!letamente diferentes !or !arte do !rocesso1 8o caso de uma situao sim!les de consulta?res!ostaE o uso de um fluWo de dilogo ou de fluWos se!arados de entrada e saXda 2 uma Muesto de escol"a1 A maioria dos analistas de sistemas !refere a re!resentao de dilogo !orMue F9O ela atrai a ateno !ara o fato de Mue a entrada e a saXda so relacionadas entre si e F:O ela redu& o congestionamento do DFD com muitos fluWos e !rocessos e !ro !orciona ao leitor um diagrama mais lim!o e mais sim!les1 J $ modo eWato como essa multi!licao eGou decom!osio de !acotes de dados ocorre 2 considerado um !ro/lema de im!lementaoE isto 2E algo com Mue o !roLetista de sistemas ter de se !reocu!arE mas no 2 algo Mue o analista de sistemas !recise mostrar no modelo do sistema1 Ele !ode e.entualmente ser eWecutado !or "ard4are ou !or soft4areE ou manualmenteE ou !or magia negra1 'e o analista de sistemas esti.er modelando um sistema L eWistenteE ele !ode ser tentado a mostrar o mecanismo Fo !rocessoO Mue se incum/e da multi!licaoGde com!osio dos dados1 Discutiremos isso mais detal"adamente na !arte III1 I A notao Dl na figur] CCF/O 2 a!enas um esMuema de numerao !ara Mue se !ossa distingair aMuele de!Ysito dos demais de!Ysitos do diagrama1 A con.eno seguida neste li.ro no en.ol.e a ro tulao e a numerao dos de!usitos F!or !arecer desnecess rio e :@H in3tilOE mas Fcomo .eremos na seo C1:O en.ol.e a numerao das /ol"as1 < Tam/2m 2 comum algu2m se referir a um !acote de informa0es do de!Ysito como um registro e aos com!onentes de cada !acote como cam!os1 8ada " de errado com essa terminologiaE mas ela 2 usada com tanta freMaAncia no conteWto de /anco de dados de com!utadores Mue !ossi.elmente criaria o mesmo ti!o de !ro /lemas acima discutidos1 Dora.ante usaremos o termo !acote !ara descre.er uma 3nica ocorrAncia de uma coleo de o/Letos relacionados no de!Ysito1 K 8este ca!Xtulo mencionaremos .rias con.en0es como essaE /em como con.en0es semel"antes relati.as a outras ferramentas de modelagem1 'eu gerente de !roLetoE o manual de !adr0es de sua em!resa ou a ferramenta CA'E Mue .ocA usa em seu !roLeto F.eLa o a!Andice AO !odem o/rig?lo a utili&ar uma determinada con.enoV mas .ocA !ode !erce/er Mue eWiste uma certa fleWi/ilidade Muanto Zs ferramentas de modelagem e notao de modelagem aMui a!resentadas1 $ im!ortante 2 a consistAncia> todos os fluWos com !acotes entram ou saem dos de!Ysitos Muer esteLam consistentemente rotulados Muer esteLam consistentemente no?rotulados1 D Como sa/emos Mue os rYtulos do fluWo tAm algo a .er com os com!onentes de um !acote de informa0es do de!Ysito[ Como sa /emosE !or eWem!loE Mue um fluWo rotulado 8xME*$?DE? TE-EF$8E tem algo a .er com os !acotes de informa0es do de!Ysito C-IE8TE'[ EWiste a tentaoE !rinci!almente em !roLetos do mundo real onde todos con"ecem relati.amente o assunto centralE de di&er> ;$raE isso 2 intuiti.amente Y/.io` ^ e.idente Mue o telefone fa& !arte do !acote de cliente]1 MasE !ara ter certe&aE !recisamos .er uma rigorosa definio da com!osio de um !acote de C-IE8TE'E Mue 2 encontrada no dicionrio de dadosE Mue discutiremos no ca!Xtulo 9H1 C 'e .ocA esti.er utili&ando um DFD !ara modelar algo al2m de um sistema de !uro !rocessamento de informa0esE isso !ode no ser .erdadeiro1 Por eWem!loE o de!Ysito !ode conter itens fXsicos e o fluWo !ode ser um mecanismo !ara trans!ortar material de de!Ysito !ara o !rocesso1 8este casoE um !acote seria remo.ido fisicamente do de!YsitoE e o de!Ysito sofreria uma reduo em seus itens como resultado1 Em um modelo de sistema contendo de!Ysitos de informa0es e de!Ysitos fXsicosE 2 im!ortante acrescentar notas ao DFD Fou colocar uma eW!licao no dicionrio de dadosO !ara Mue o leitor no se confunda1 9H Essa diretri& !ro.2m de ;T"e Magical 8um/er 'e.enE Plus or Minus T4o]E de George MilIerE Ps#c"olog# *e.ie4E 9CI<1 :@9 99 8a .erdadeE eWistem algumas coisas Mue !odemos fa&er> se "ou.er .rios fluWos de dados entre um terminador e a /ol"a 3nica do sistemaE !odemos consolid?las em um 3nico fluWo de dadosE $ di cionrio de dadosE discutido no ca!Xtulo 9HE ser usado !ara eW!licar a com!osio e o significado do fluWo agregado de dados1 'e o diagrama de conteWto de.er ser mostrado a di.ersos gru!os diferentes F!1eW1E diferentes gru!os de usurios com diferentes interessesOE !odem ser desen"ados diferentes diagramas de con teWto !ara realar a!enas os terminadores e fluWos em Mue cada gru!o de usurios esti.er interessado1 Por2mE na maioria dos casosE no " como esca!ar disso> se o sistema como um todo for in trinsecamente com!leWoE o diagrama de conteWto tam/2m o ser1 $ ca!Xtulo 9D a!resenta mais detal"es so/re esse as!ecto1 9: A no ser Mue .ocA considere Mue os a.i0es seLam diferentes dos sistemas automati&ados de informac0es ou Mue eles seLam mais crXticosE lem/re?se Mue os sistemas de !rocessamento "oLe con trolam a maioria dos a.i0es em Mue .ocA .iaLaV um grande a.io de !assageiros de ti!o comum !ode ter uma d3&ia ou mais de com!leWos sistemas de !rocessamentoE MueE !or sua .e&E tAm interface com com!leWos sistemas de tem!o?real como o Mue 2 utili&ado !ela Federal A.iation Administration !ara monitorar o es!ao a2reo em torno dos aero!ortos1 9@ EWiste uma con.eno idiomtica Mue .iola essa diretri&E Mue 2 discutida na seo C19@> um fluWo sem rYtulo entrando ou saindo de um de!Ysito 2E !or con.enoE uma indicao de Mue toda uma instPncia Fou um registroO est sendo introdu&ido ou retirado desse de!Ysito1 9J Por .e&es !ode no ser e.idente de imediato se o de!Ysito tem tanto entradas como saXdas1 Como .eremos na !rYWima seoE os DFD so muitas .e&es su/di.ididos em !artesV desse modoE emos nos de!arar com uma !arte do sistema Mue a!arenta ter de!Ysitos de leitura?a!enas Fou escrita a!enasO1 Algum outro trec"o do sistemaE documentado em um DFD se!aradoE !ode ter a ati.idade de escrita?a!enas Fou leitura?a!enasO Mue falta1 'o necessrias muitas tediosas .erifica0es de consistAncia !ara assegurar Mue uma !arte do sistema lA o arMui.o e Mue alguma outra escre.a neleV este 2 um as!ecto em Mue os !acotes automati &ados de anlise de sistemas discutidos no a!Andice A so eWtre mamente .aliosos1 9I Tam/2m 2 muito atraente !ara os gerentes de !roLetos1 $ geren te de um grande !roLeto disse Z sua eMui!e> _9 4ant a, of #ou to /u//le on do4n to t"e neWt le.ei of detail /# t"e end of t"is 4ee%`] :@: 9< Em alguns casosE !ode mesmo ser a!ro!riada a incluso de de!Ysitos de controle ou de!Ysitos de e.entosE Mue so anlogos ao conceito de semforosE a!resentados !rimeiramente !or DiL%stra em d 9C<De1 Para detal"es com!lementaresE .eLa d e MeliorE 9CDI91 :@@ lo $ DICI$8+*I$ DE DAD$' $s dicionrios so como relYgiosV o !ior 2 mel"or do Mue nen"umE e no se !ode es!erar Mue o mel"or seLa totalmente fie- Mrs1 Prio&&iE Anecdotes of'amuelRo"nsonE 9KD< 8este ca!XtuloE a!renderemos> 91 PorMue !recisamos de um dicionrio de dados em um !roLeto de desen.ol.imento de sistemas1 :1 A notao !ara defini0es de dicionrios de dados1 @1 Como um dicionrio de dados de.e ser a!resentado ao usurio1 J1 Como im!lementar um dicionrio de dados1 A segunda ferramenta im!ortante de modelagem Mue estudaremos 2 o dicionrio de dados1 Em/ora ele no ten"a o fascXnio e o encanto grfico dos diagramas de fluWo de dadosE dos diagramas de entidade reladonamentos e dos diagramas de transi0es de estadoE o dicionrio de dados 2 fundamental1 'em eleE seu modelo de reMuisitos do usurio no !ode ser considerado com!letoV ser a!enas um es/oo grosseiroE uma _re!resentao artXstica] do sistema1 A im!ortPncia do dicionrio de dados 2 muitas .e&es des!re&ada !or muitos adultosE Mue ficam sem us?lo de 9H a :H anos1 EW!erimente recordar os dias da escola elementarE Muando .ocA era constantemente assediado !or no.as !ala.ras em seu tra/al"o escolar1 *ecordeE tam/2mE os cursos de lXnguas estrangeirasE es!ecialmente aMuelas Mue eWigiam :@I Mue .ocA lesse li.ros e re.istas1 'em um dicionrioE .ocA estaria !erdido1 $ mesmo !ode ser dito em relao ao dicionrio de dados em anlise de sistemas> sem eleE .ocA estar !erdidoE e o usurio no ter certe&a de .ocA "a.er entendido os detal"es da a!licao1 A eW!resso dicionrio de dados 2 Muase auto?eW!licati.a1 $ di cionrio de dados 2 uma listagem organi&ada de todos os elementos de dados !ertinentes ao sistemaE com defini0es !recisas e rigorosas !ara Mue o usurio e o analista de sistemas !ossam con"ecer todas as entra dasE saXdasE com!onentes de de!Ysitos e clculos intermediriosE $ di cionrio de dados define os elementos de dados da seguinte maneira> j Descre.endo o significado dos fluWos e de!Ysitos mostrados nos diagramas de fluWo de dados1 j Descre.endo a com!osio de !acotes agregados de dados Mue se mo.imentam !elos fluWosE isto 2E !acotes com!leWos Fcomo o endereo de um clienteO Mue !odem ser di.ididos em itens mais elementares Fcomo cidadeE estado e cYdigo !ostalO1 j Descre.endo a com!osio dos !acotes de dados nos de!Ysitos1 j Es!ecificando os rele.antes .alores e unidades de !artes ele mentares de informa0es dos fluWos de dados e de!Ysito de dados1 j Descre.endo os detal"es dos relacionamentos entre os de!Ysi tos realados em um diagrama entidades?relacionamentos1 Esse as!ecto do dicionrio de dados ser estudado em mais detal"es no ca!Xtulo 9: a!Ys termos a!resentado a notao de entidades? relacionamentos1 9H19 A 8ECE''IDADE DA 8$TA()$ DE DICI$8+*I$ DE DAD$' 8a maioria dos sistemas do mundo real em Mue .amos tra/al"ar os !acotes ou elementos de dados sero suficientemente com!leWos !ara Mue .ocA !recise descre.A?los em termos de outras coisas1 $s elementos de dados com!leWos so definidos em termos de elementos de dados mais sim!lesE e elementos de dados sim!les so definidos em termos das unidades .lidas e dos .alores Mue eles !odem assumir1 PenseE !or eWem!loE na maneira como .ocA res!onderia Z seguinte !ergunta de um marciano FMue 2 como muitos usurios .Aem os ana listas de sistemas`O so/re o significado do nome de uma !essoa> :@< Marciano> \EntoE o Mue 2 um nome[] QocA Fdemonstrando im!aciAnciaO> \BemE .ocA sa/eE 2 somente um nome1 Tuero di&erE 2 comoE /emE 2 como nYs c"amamos um ao outro1] Marciano F!er!leWoO> _Tuer di&er Mue .ocA os c"ama de maneira diferente Muando est &angado e Muando est feli&[] QocA Fle.emente es!antado com a ignorPncia desse estran"oO> _8oE certamente Mue no1 7m nome 2 sem!re o mesmo1 $ nome de uma !essoa 2 o Mue nYs usamos !ara distingui?la de outras !essoas1] Marciano Fentendendo su/itamenteO> _A""E agora eu entendi1 8Ys fa&emos a mesma coisa no meu !laneta1 Meu nome 2 @19J9IC:<I@IDCKC@:@DJ<:<J@1] QocA Fincr2duloO> \Mas isso 2 um n3mero e no um nome1] Marciano> _E 2 um nome muito /omE tam/2m1 Eu 'into orgul"o dele1 8ingu2m !ossui um nome assim1] QocA> _Mas e o seu !rimeiro nome[ $u o seu !rimeiro nome 2 @E e o 3ltimo nome 2 9J9IC:<I@I[] Marciano> _$ Mue Muer di&er com !rimeiro e 3ltimo nome[ 8o entendi1 Eu ten"o somente um nomeE e 2 sem!re o mesmo1] QocA> _BemE no 2 assim Mue fa&emos aMui1 8Ys temos um !rimei ro nomeE e um 3ltimo nomeE e Zs .e&es temos um nome intermedirio tam/2m1] Marciano> _Isso Muer di&er Mue .ocA !ode ser c"amado de :@ JI CC[] QocA> _8oE nYs no !ermitimos n3meros em nossos nomes1 'Y utili&amos os caracteres alfa/2ticos de A a g1] Como se !ode imaginarE a con.ersa !oderia continuar !or um longo tem!o1 QocA !oderia !ensar Mue o eWem!lo foi in.entadoE !orMue raramente encontramos marcianos Mue no tAm noo do significado de um nome1 Mas isso no est muito distante das discuss0es Mue ocorrem Fou de.eriam ocorrerO entre um analista de sistemas e um usurioE nas Muais as seguintes !erguntas !oderiam ser feitas> :@K j Todos de.em ter um !rimeiro nome[ E o !ersonagem _Mr1 T con"ecida s2rie de TQE _T"e A Team][ j E os caracteres de !ontuao no 3ltimo nome de urna !es comoE !or eWem!loE _D=Arc#][ j $s nomes centrais !odem ser a/re.iadosE comoE !or eWemL _Ro"n X Rames][ j EWiste a eWigAncia de um com!rimento mXnimo !ara o nome uma !essoa[ Por eWem!loE o nome _X 6] 2 .lido[ FPodc imaginar Mue isto !oderia causar grandes !ro/lemas nos temas de !rocessamento atra.2s do !aXsE masE eWiste algu ra&o legalGcomercial !ara Mue uma !essoa no !ossa ter o meiro nome X e o 3ltimo nome 6[O1 j Como de.emos lidar com os sufiWos MueE algumas .e&esE acc !an"ani o 3ltimo nome[ Por eWem!loE o nome _Ro"n RonesE 2E !resumi.elmenteE legXtimoE mas o Rr1 de.e ser considen !arte do 3ltimo nome ou uma no.a categoria es!ecial[ E se uma no.a categoriaE de.emos !ermitir tam/2m dXgitos num cos como 'am 'mit" @rd[ $/ser.eE a !ro!YsitoE Mue nen"uma dessas !erguntas tem alg .er com a maneira como e.entualmente arma&enamos as informai no com!utadorV estamos tentando a!enas determinarE como um assu de interesse da orientao comercialE o Mue constitui um nome .lidi Como se !ode imaginarE 2 um tanto tedioso descre.er a comL sio de elementos de dados em forma de narrati.a1 Precisamos de u notao concisa e com!actaE como um dicionrio !adroni&ado 5e/st Mue tem uma notao com!acta e concisa !ara definir o significado !ala.ras comuns1 9H1: 8$TA()$ DE DICI$8+*I$ DE DAD$' EWistem muitos esMuemas de notao comuns usadas !elos a listas de sistemas1 $ Mue est mostrado a seguir est entre os mais munsE e usa alguns sim/olos sim!les> s 2 com!osto de t e FO o!cional F!ode estar !resente ou ausenteO {u iterao :@D E 9 escol"a uma das o!0es alternati.as ; comentrio | identificador Fcam!o c"a.eO de um de!Ysito 9 se!ara o!0es alternati.as na construo Ee Para eWem!lificarE !odemos definir nome !ara nosso amigo mar? ciano da seguinte maneira> nome ? tXtulo?cortesia t !rimeiro?nome t Fnome IntermedirioO t 3ltimo?nome tXtulo?cortesia ? d 9 'rta1 9 'ra1 'ras1 9 Dr1 9 Professore !rimeiro?nome ? Fcaracter?.lidoO nome?intermedirio ? Fcaracter?.lidoO 3ltimo?nome ? Fcaracter?.lidoO caracter?.lido ? d II Como se !ode .erE os sIm/olos !arecem /astante matemticosV .ocA tal.e& receie Mue isso seLa demasiadamente com!licado !ara se com!reender1 Como logo .eremosE a notao 2 muito fcil de ler1 A eW!eriAncia de alguns mil"ares de !roLetos de PD e algumas de&enas de mil"ares de usurios nos mostraram Mue a notao tam/2m 2 com!reen sX.el !ara Muase todos os usurios se a!resentada a!ro!riadamenteE estudaremos isso na seo 9H1@1 9H1:19 Defini0es 7ma definio de elemento de dados 2 a!resentada com o sXm/olo ____V neste conteWtoE o _s_ 2 lido como _2 definido como]E ou \2 com!os to de]E ou sim!lesmente _significa]1 EntoE a notao A?BtC !oderia ser lida de MualMuer das maneiras seguintes> j 'em!re Mue dissermos AE Mueremos di&er B e C j A com!0e?se de E e C j A 2 definido como B e C :@C Para definir com!letamente um elemento de dadosE nossa defini o incluir o seguinte> j $ significado do elemento de dados no conteWto desta a!lica o do usurio1 Isso 2 normalmente a!resentado como um co mentrioE usando?se a notao _ j A com!osio do elemento de dadosE se ele for com!osto !or com!onentes elementares significati.os1 j $s .alores Mue o elemento de dados !oder assumirE se ele for um elemento de dados elementar Mue no !ossa ser decom !osto1 Deste modoE se esti.2ssemos construindo um sistema m2dico Mue controlasse !acientes !oderXamos definir os termos !eso e altura da seguinte maneira> !eso s ;!eso do !aciente ao c"egar ao "os!ital } } unidades> MuilogramasV inter.alo> 9?:HH= altura s ;altura do !aciente ao c"egar ao "os!italj j unidades> centXmetrosV inter.alo> :H?:HH } $/ser.e Mue descre.emos as unidades e os Intei.alos rele.antes com caracteres \;_ cor 8o.amenteE essa 2 uma con.eno de notao considerada !rtica !or muitas organi&a0esE mas Mue !ode r ser alterada se necessrio1 Al2m das unidades e do inter.aloE .ocA tam/2m !ode !recisar es !ecificar a eWatido ou a !reciso com Mue o elemento de dados 2 me dido1 Para um elemento de dados como !reoE !or eWem!loE 2 im!or tante indicar se os .alores sero eW!ressos na forma inteiraE at2 o 3ltimo centa.o etc1 EE em muitas a!lica0es de engen"aria e cientXficasE 2 im!ortante indicar o n3mero de dXgitos significati.os no .alor dos ele mentos de dados1 9H1:1: Elementos de dados elementares Elementos de dados elementares so aMueles !ara os Muais no eWiste decom!osio significati.a no conteWto no am/iente do usurio1 Isto 2E muitas .e&esE uma Muesto de inter!retao e Mue de.e ser eW!lo rada cuidadosamente com o usurio1 Por eWem!loE .imos na discusso acima Mue o termo nome !oderia ser decom!osto em 3ltimo?nomeE :JH !rimeiro?nomeE nome?Intermedirio e tXtulo?cortesia MasE tal.e&E em alguns am/ientes nen"uma dessas decom!osi0es seLa necessriaE rele.ante ou mesmo significati.a Fisto 2E onde os termos 3ltimo?nome etcE no tAm significado !ara o usurioO1 Tuando os itens de dados elementares ti.erem sido identificadosE de.em ser introdu&idos no dicionrio de dados1 Como indicado acimaE o dicionrio de dados de.e a!resentar um ligeiro comentrio narrati.oE entre os caracteres ;_E descre.endo o significado do termo no conteWto do usurio1 CertamenteE !odero eWistir alguns termos Mue seLam auto? eW!licati.osE isto 2E termos cuLos significados so uni.ersalmente os mesmos em todos os sistemas de informa0esE ou Mue o analista de sistemas !ode concluir Mue no 2 necessria nen"uma outra ela/orao1 Por eWem!loE os seguintes termos !odem ser considerados como auto? eW!licati.os em um sistema Mue manten"a informa0es so/re !essoas> altura?atual !eso?atual data?de?nascimento seWo telefone?residencial 8esses casosE nen"um comentrio narrati.o 2 necessrioV muitos analistas de sistemas utili&am a notao _;_ !ara indicar um ;coment rio nulo= Muando o elemento de dados 2 auto?eW!licati.o1 EntretantoE 2 im!ortante es!ecificar os .alores e unidades de medida Mue o item de dados elementares !ode rece/er1 Por eWem!lo> altura?atual ? Hj ;unidades> li/rasV inter.alo> 9?JHH } !eso?atual ? ;unidades> !olegadasV inter.alo> 9?C<= data?de?nascimento ? ;unidades> dias desde 9E LanE 9CHHV inter.alo> H?@<IHH= seWo ? ;.alores> lM FI= :J9 9H1:1@ Elementos de dados o!cionais 7m elemento de dados o!cionalE como o nome di&E 2 o Mue !ode estar ou no !resente como um com!onente dc um elemento de dados com!osto1 EWistem muitos eWem!los de elementos de dados o!cionais em sistemas de informa0es> j 7m nome de cliente !oder ou no incluir um nome interme dirio1 j 7m endereo de cliente !oder ou no incluir alguma infor maZo secundria como o n3mero do a!artamento1 j 7m !edido de um cliente !oder conler um endereo de co /ranaE um endereo !ara remessas ou !ossi.elmente am/os1 'itua0es como esta 3ltima de.em ser cuidadosamente conferidas com o usurio e de.em ser cuidadosamente documentadas no dicionrio de dados1 Por eWem!loE a notao endereo?cliente s Fendereo?de?remessaO t Fendereo?de co/ranaO significaE literalmenteE Mue o endereo do cliente !oderia constituir? se de> j a!enas do endereo de remessas ou j a!enas do endereo de co/rana ou j o endereo de remessas e o endereo de co/rana ou j nem do endereo de remessa nem do endereo de co/rana A 3ltima !ossi/ilidade 2 um tanto du.idosa1 ^ /em mais !ro..el Mue o usurio realmente !retenda Mue o endereo de cliente de.a con sistir em um endereo de remessas ou em um endereo de co/rana ou em am/os1 Isto !oderia ser eW!resso da seguinte maneira> :J: endereo?de?cliente ? d 9 endereo?de co/rana 9 endereo?de?em/arMuet endereo?de?co/ranae Algu2m tam/2m !oderia o/Letar Mue em uma ati.idade de !edidos !elo correioE 2 sem!re necessrio o endereo de remessa !ara onde de.e ser en.iado o !edido do clienteV um endereo de co/rana se!arado F!1eW1E de!artamento de conta/ilidade do clienteO 2 o!cional1 Assim sendoE 2 !ossX.el Mue a !olXtica .erdadeira da em!resa do usurio ficaria mais /em eW!ressa !or> endereo?do?diente ? endereo?de?remessa t Fendereo?de co/ranaO Por2mE certamenteE o 3nico meio de ter certe&a disso 2 c"amar o usurio e eW!licar?l"eE cuidadosamenteE as im!lica0es das diferentes nota0es mostradas acima :j 9H1:1J Iterao A notao de iterao 2 usada !ara indicar a ocorrAncia re!etida de um com!onente de um elemento de dados1 Ela 2 lida como _&ero ou mais ocorrAncias de]1 Deste modoE a notao !edido ? nome?do?cliente t endereo?de?remessa t fitemO significa Mue um !edido de.e conter sem!re o nome do cliente e o en dereo de em/arMueE e conterE tam/2mE &ero ou mais ocorrAncias de um item1 Dessa maneiraE !oderemos lidar com um cliente Mue a!resente um !edido en.ol.endo a!enas um item ou dois itensE ou algu2m em f3ria com!radora Mue decide !edir @CK itens diferentes 1 Em muitas situa0es do mundo realE o usurio deseLar es!ecificar os limites su!erior e inferior da iterao1 8o eWem!lo acimaE o usurio !ro.a.elmente afirmar Mue no fa& sentido Mue um cliente a!resente um !edido com &ero itensV de.e "a.er !elo menos um item no !edido1 E o usurio !ode deseLar es!ecificar um limite su!eriorV tal.e& 9H itens seLa o mWimo Mue ser !ermitido1 Podemos indicar limites su!eriores e inferiores da seguinte maneira> !edido ? nome?de?cliente t endereo?de?remessa t 9{ltemu 9H Pode?se es!ecificar a!enas um limite inferiorE ou a!enas um limite su!eriorE ou am/os ou nen"um1 Deste modoE todas as es!ecifica0es a seguir so .lidas> :J@ a 9{/u a ? F/u9$ a s 9F/u9$ a s {/u 9H1:1I 'eleo A notao de seleo indica Mue o elemento de dados consiste er eWatamente uma escol"a de um conLunto de o!0es alternati.as1 A o!0es so delimitadas !or colc"etes _E] e _9] e se!aradas !elo caracter de /arra .ertical _9]1 EWem!los tX!icos ' seWo d 9 Femininoe ti!o de cliente s d 9 Ind3stria 9 7ni.ersidade 9 $utroe ^ im!ortante re.er as o!0es de seleo com o usurio !ara garan tir Mue todas as !ossi/ilidades foram identificadas1 8o 3ltimo eWem!loE usurio !odia tender a concentrar sua ateno nos clientes _do go.erno= _da ind3stria] e \de uni.ersidades] e !odiam !recisar ser lem/rados d Mue alguns clientes se enMuadram na categoria de _nen"uma das categc rias acima]1 9H1:1< 'inNnimus 7m sinNnimo Fum _alias]OE como o termo indicaE 2 um nome altei nati.o !ara um elemento de dados1 ^ uma ocorrAncia comum Muando s lida com gru!o di.ersificado de usuriosE muitas .e&es em de!artamer tos diferentes ou locali&a0es geograficamente diferentes Fe algumas .e &es com diferentes nacionalidades e lXnguasOE Mue insistem em utili&a nomes diferentes !ara indicar a mesma coisa1 $ sinNnimo 2 incluXdo n dicionrio de dados !or uma Muesto de com!letudeE e de.e ter uma rc ferAncia cru&ada com o nome !rinci!al ou oficial do dado1 Por eWem!lc cliente s sinNnimo de cliente $/ser.e Mue a definio de cliente no mostra a com!osio FiI to 2E no mostra Mue um cliente consiste em nomeE endereoE telefon :JJ 9 etc1O1 Tcdos esses detal"es de.em ser fornecidos somente no nome !rinci!al !ara diminuir a redundancia no modelo ;1 Mesmo Mue o dicionrio de dados relacione corretamente os sinN nimos aos nomes de dadosE de.e?se e.itar o uso de sinNnimos sem!re Mue !ossX.el1 Isso !orMue os nomes de dados so comumente .istos !rimeiroE e so mais .isX.eis !or todos os usuriosE nos diagramas de fluWo de dadosE onde !ossa no ser e.idente Mue freguAs e cliente seLam sinNnimos1 ^ muito mel"orE se for !ossX.elE conseguir Mue os usurios concordem com um nome comum 9H1@ AP*E'E8TA()$ D$ DICI$8+*I$ DE DAD$' A$ 7'7+*I$ $ dicionrio de dados 2 criado !elo analista de sistemas durante o desen.ol.imento do modelo do sistemaE mas o usurio de.e ser ca!a& de ler e com!reender o dicionrio de dados !ara conferir o modelo1 Isso d origem a algumas !erguntas Y/.ias> j $s usurios so ca!a&es de com!reender a notao do di cionrio de dados[ j Como os usurios .erificam se o dicionrio est com!leto e correto[ j Como 2 criado o dicionrio[ A Muesto da aceitao !elo usurio da notao do dicionrio 2 ;uma tentati.a !ara se des.iar do assunto] em muitos casos1 'imE a nota o do dicionrio !arece um tanto matemticaV masE como L .imosE o n3mero de sim/olos Mue o usurio tem Mue a!render 2 !eMueno1 $s usurios esto "a/ituados a di.ersas nota0es formais no tra/al"o e na .ida !essoalV considereE !or eWem!loE a notao de !auta musicalE Mue 2 muito mais com!leWa1 > Piar 9 ao`` R=i , ? ,,,- E Figura 9H19> A notao da !auta musical :JI ?? 9 J + + 9 1>11 I 9 % >>>> 1>11 1 >111j> A A A 9 A A a B Z 1 n ? T"e PIT#er HH>HH1JK J1 / 9?e@ I1? T"e C"essmas ter HH>HH> 9@ J1 XD?/J Figura 9H1:> 8otao de Wadre& 'imilarmenteE a notao !ara /ridgeE Wadre& e !ara di.ersas outras ati.idades 2E !elo menosE to com!leWa Muanto a notao de dicionrio de dados mostrada neste ca!Xtulo1 A Muesto da .erificao do dicionrio de dados !elo usurio cos tumeiramente le.a !ergunta> \os usurios de.em ler o dicionrio intei roE item !or itemE !ara se certificarem de Mue esteLa correto[] ^ difXcil imaginar Mue algum usurio Mueira fa&er isso` ^ mais !ro..el Mue o usurio .erifiMue a eWatido do dicionrio de dados em com/inao com o diagrama defluWo de dadosE com o diagrama de entidades?relaciona mentosE com o diagrama de transi0es de estado ou com as es!ec 0es de !rocessos Mue esteLa lendo1 EWistem alguns !ro/lemas de correo Mue o analista de sistemas !ode eWecutar !essoalmenteE serr a assistAncia do usurio> ele !ode assegurar Mue o dicionrio esteLa >om!letoE consistente e sem contradi 0es1 Desse modoE ele !ode eWan mar o dicionrio e formular as seguin tes !erguntas> j Todos os fluWos no diagrama de fluWo de dados foram definidos no dicionrio de dados[ :J< j Todos os com!onentes dos elementos de dados com!ostos foram definidos[ j Algum elemento de dados foi definido mais de uma .e&[ j A notao correta foi utili&ada em todas as defini0es do di cionrio de dados[ j EWiste algum elemento de dados no dicionrio de dados Mue no esteLa referenciado nos diagramas de fluWo de dadosE nos diagramas de entidades?relacionamentos ou nos diagramas de transi0es de estado[ 9H1J A IMP-EME8TA()$ D$ DICI$8+*I$ DE DAD$' Em um sistema de m2dio ou grande !orteE o dicionrio de dados !ode re!resentar um .olume muito grande de tra/al"o1 8o 2 incomum .ermos um dicionrio de dados com mil"ares de entradasE e mesmo um sistema relati.amente sim!les !oder ter .rias centenas de entradas1 Deste modoE alguma ateno de.e ser dada Z maneira com Mue o dicio nrio estar sendo desen.ol.idoE ou a tarefa !ro.a.elmente so/recarre gar o analista de sistemas1 A a/ordagem mais fcil 2 fa&er uso de um recurso automati&ado Fcom!utadori&adoO !ara introdu&ir as defini0es do dicionrioE .erific las relati.amente Z com!lementao e consistAnciaE e !rodu&ir informa 0es adeMuadas1 'e a sua organi&ao esti.er usando algum MualMuer sistema moderno de gerenciamento de /anco de dados F!1eW1E IM'E ADABA'E T$TA-E IDM'OE um recurso de dicionrio L est dis!onX.el1 8esse casoE .ocA !ode tirar !ro.eito dessa .antagem e utili&?la !ara construir o seu dicionrio de dados1 EntretantoE cuidado com as seguin tes !ossX.eis limita0es> j QocA !oder ser forado a limitar os nomes em um certo com !rimento F!1eW1E 9I ou @: caracteresO1 IssoE !ro.a.elmenteE no ser um grande !ro/lemaE mas !ode acontecer de o seu usurio in com um nome como destino?da?remessa?do?cliente e Mue o seu !acote de dicionrio de dados o o/rigue a a/re.iar o nome !ara dest?rem?dli1 j $utras limita0es artificiais !odem ser colocadas no nome1 Por eWem!loE o caractere "Xfen _?_ !ode no ser !ermitidoE e .ocA tal.e& seLa forado a utili&ar no lugar dele o su/lin"ado _S_1 $u :JK .ocA !ode ser forado a !refiWar Fou sufiWarO todos os nomes com um cYdigo do !roLeto indicando o nome do !roLeto de desen.ol.imento dos sistemasE con du&indo a nomes como acct1!a#1G,g1@JIP9J1fornecedorStelefoneSn3mero1 j QocA !ode ser forado a designar atri/utos fisXcos F!1eW1E o n3 mero de /#tes ou /locos de memYria em discoE ou certas re!re senta0es de dados como decimais com!actadosO !ara um item de dadosE mesmo Mue no seLa uma eWigAncia do usurioE $ dicionrio de dados estudado neste ca!Xtulo de.e ser um di cionrio de anltses e no de.e cWig decis0es desnecessrias ou irrele.antes de im!lementao1 Alguns analistas de sistemas tam/2m esto comeando a usar !a cotes automati&ados de ferramentas Mue incluem recursos grficos !ara diagramas de fluWo de dadosE e congAneresE /em corno a!tid0es de di cionrio de dados1 8o.amenteE se tal recurso eWistirE .ocA de.e us?lo1 As ferramentas automati&adas sero discutidas em maiores detal"es no a!Andice A1 'e .ocA no dis!user de nen"um recurso automati&ado !ara construir o dicionrio de dadosE .ocA de.e !elo menos ser ca!a& de utili&ar um sistema con.encional de !rocessamento de !ala.ras !ara construir um arMui.o de teWto com as defini0es do dicionrio de dados1 $uE se .ocA ti.er acesso a um com!utador !essoalE !oder usar Mual Muer !rograma de gerenciamento de arMui.os e de gerenciamento de /anco de dados F!1eW1E dBA'E?```E */ase?IHHHE PF'?FileE Microsoft File no A!!le Macintos"O !ara construir e gerenciar o seu dicionrio de dados1 'omente nos casos mais eWtremos .ocA de.e recorrer a dicionrios de dados manuaisE isto 2E @ a I cart0es indeWados !ara cada entrada do dicionrio1 Esse recurso foi muitas .e&es necessrio nos anos KH e mes mo nos DH1 A des!eito da !o!ularidade dos com!utadores !essoais e dos recursos de !rocessamento de !ala.rasE 2 desanimador .er Mue muitas organi&a0es manti.eram seus !rogramadores e analistas de siste mas na Idade M2dia1 $s fil"os do sa!ateiroE como se di&E so "a/itual mente os 3ltimos a gan"arem sa!atos1 Mas isso "oLe 2 im!erdo.elV se .ocA esti.er tra/al"ando em um !roLeto onde no ten"a acesso a um !acote de dicionrio de dados ou a uma ferramenta automati&ada de anlise ou a um com!utador !essoal ou a um sistema de !roces samento de !ala.rasE entoE .ocA de.e F9O desistir e encontrar um tra /al"o mel"orE ou F:O o/ter seu !rY!rio com!utadorE ou F@O as duas coisas simultaneamente1 :JD 9H1I *E'7M$ A construo de um dicionrio de dados 2 um dos as!ectos mais tediosos e consumidores de tem!o da anlise de sistemas1 Mas 2 tam/2m um dos as!ectos mais im!ortantes> sem um dicionrio formal Mue defina o significado de todos os termosE no "a.er es!eranas de !reciso1 8o !rYWimo ca!Xtulo .eremos como usar o dicionrio de dados e o diagrama de fluWo de dados !ara construir es!ecifica0es de !rocessos !ara cada um dos !rocessos de /aiWo nX.el1 *EFE*E8CIA' 91 R1D1 -omaWE Data Dictiona[# '#stems1 *oc"eile Par%E 81R1> 8CC Pu/licationsE 9CKK1 :1 Tom DeMarcoE 'tructured Anal#sis and '#stems '!eclflcatlon1 8o.a lorMue> 6$7*D$8 PressE 9CKC1 @1 D1 Kroen%eE Data/ase Processing1 C"icago> 'cience *esearc" Asso ciatesE 9CKK1 J1 '"a%u AtreE Data Base> 'tructured Tec"nlMues for DeslgnE Perfor manceE and Management1 8o.a lorMue> 5ile#E 9CDH1 PE*G78TA' E EXE*CcCI$' 91 Defina dicionrio de dados1 :1 Por Mue 2 im!ortante um dicionrio de dados em anlise de sistemas[ @1 Tuais as informa0es Mue um dicionrio de dados fornece so/re um elemento de dados[ J1 Tual 2 o significado da notao ;s_ em um dicionrio de dados[ I1 Tual 2 o significado da notao _t_ em um dicionrio de dados[ <1 Tual 2 o significado da notao _$] em um dicionrio de dados[ K1 Tual 2 o significado da notao { u_ em um dicionrio de dados[ D1 Tual 2 o significado da notao _liii em um dicionrio de dados[ C1 QocA ac"a Mue os usurios com os Muais tra/al"a !odem enten der a notao !adro de dicionrio de dados a!resentada neste ca !Xtulo[ Em caso negati.oE !ode sugerir uma alternati.a[ 9H1 DA um eWem!lo de um item de dados elementar1 991 DA trAs eWem!los de elementos de dados o!cionais1 9:1 Tuais so os !ossX.eis significados das eW!ress0es a/aiWo[ FaO endereo s FcidadeO t FestadoO F/O endereo end?rua t cidade t FestadoO t FcYdigo !ostalO :JC 9@1 DA um eWem!lo do uso da notao { 9 de iterao1 9J1 Tual 2 o significado de cada uma das nota0es a/aiWo[ FaO a s 9{/u F/O a s {/u9$ FcO a 9{/u9H FdO a s 9H{/u9H 9I1 Fa& sentido ter um !edido definido desta forma[ !edido s nome?do?cliente t endereo?de?remessas t <{Itemu Por MuA[ 9<1 DA um eWem!lo da construo F de seleo1 9K1 Tual 2 o significado de um sinNnimo FaliasO em um dicionrio de dados[ 9D1 Por Mue a utili&ao de sinNnimos de.e ser minimi&ada sem!re Mue for !ossX.el[ 9C1 Tue es!2cie de anotao !ode ser usada em um DFD !ara indicar Mue o elemento de dados 2 um sinNnimo[ :H1 Tuais os trAs !rinci!ais !ro/lemas Mue o usurio encontra ao eWa minar um dicionrio de dados[ :91 8a sua o!inio os usurios na sua organi&ao sero ca!a&es de com!reender a notao de dicionrio de dados[ ::1 8a sua o!inio a notao de dicionrio de dados mostrada neste ca!Xtulo 2 mais com!leWa ou menos com!leWa do Mue a notao musical[ :@1 Tuais so as trAs ati.idades de .erificao de erros Mue o ana lista de sistemas !ode eWecutar no dicionrio de dados sem o usurio[ :J1 Tuais so as !ossX.eis limita0es de um !acote de dicionrio de dados automati&ado[ :I1 DA uma definio de dicionrio de dados !ara nome?de?cliente /aseada na seguinte es!ecificao .er/al de um usurio> _Tuando nos lem/ramos do nome de um clienteE temos o cuidado de incluir um tXtulo de cortesia Mue !ode ser _'r1]E ;'rta1]E _'ra1]E _'rs1]E ou _Dr1] FEWistem muitos outros tXtulos como _Professor]E _'ir] etc1E !or2m no nos ocu!aremos delesO1 Cada um dos nossos clientes tem um !rimeiro nomeE mas nYs !ermitimos uma 3nica inicial se eles !referirem1 8omes intermedirios so o!cionais1 EE natu ralmenteE o 3ltimo nome 2 o/rigatYrioV !ermitimos muitos ti!os de 3ltimos nomesE incluindo nomes com "ifens F_'mit"?Fris/#]E !or eWem!loO e a!Ystrofos F_D=Arc#]O e assim !or diante1 Permitimos :IH ainda um sufiWo o!cional !ara nomes como _Tom 'mit"E Rr1] ou _,ar.e# '"mrdlu @rd1] :<1 $ Mue est errado nas defini0es de dicionrio de dados a/aiWo[ FaO a / c d F/O a s / t t c FcO asl/ FdO a s J{/u@ FeO a s {WO FEO W s FF#OO FgO a s J{ :K1 8o eWem!lo de "os!ital da seo C1:E Muais so as im!lica0es da definio de altura e !eso[ Comentrio> ela indicaria Mue somente medimos em unidades integrais e no controlamos os centXmetrosE e assim !or diante1 :D1 Escre.a uma definio de dicionrio de dados das informa0es contidas na sua carteira de motorista1 'e .ocA no a !ossuirE en contre um amigo Mue !ossua uma1 :C1 Escre.a uma definio de dicionrio de dados das informa0es contidas no carto de cr2dito de um /anco adeMuado F!1eW1E Mastercard ou QisaO1 @H1 Escre.a uma definio de dicionrio de dados das informa0es contidas em um !assa!orte1 @91 Escre.a uma definio de dicionrio de dados das informa0es contidas em um carto de loteria1 8$TA' Por outro ladoE 2 !ro..el Mue a !olXtica de negYcios atualmente em .igor seLa fortemente influenciada !elos sistemas de !rocessa mento Mue a organi&ao .em utili&ando nos 3ltimos @H anos1 , cinMaenta anosE uma !essoa !oderia ser considerada eWcAntrica se decidisse se c"amar _FreId 'miKt" mas isso !ro.a.elmente seria aceito !or muitas organi&a0esE !orMue os nomes eram transcritos !ara !edaos de !a!el !or mos "umanas1 $s !rimeiros sistemas de !rocessamento Fe a maioria delesE atualmenteO tAm um !ouco mais de dificuldades com nomes fora do comum1 : EWiste uma !ossi/ilidade Mue !oderia eW!licar a ausAncia do en dereo de remessas e do endereo de co/rana em um !edido do cliente> o cliente e.entual Mue deseLa com!rar um item e le.?lo consigo1 ^ !ro..el Mue Muis2ssemos identificar eW!licitamente esse cliente Fdefinindo um no.o elemento de dados denominado :I9 e.entual Mue !ode ter .alor .erdadeiro ou falsoO !orMue F9O clien tes e.entuais !odem !recisar ser tratados de modo diferente F!or eWem!loE seus !edidos no tero MuaisMuer co/ranas de em/ar MueOE e F:O 2 um /om meio de efetuar a du!la .erificao e garan tir Mue a falta do endereo?de?em/arMue ou do endereo?de? co/rana constitui um erro1 @ -em/re?se uma .e& mais Mue estamos definindo o significado t2cnico intrXnseco de um elemento de dadosE sem considerar a tecnologia Mue ser usada !ara im!lement?lo1 ^ !ro..elE !or eWem!loE Mue nossos !roLetistas de sistemas .en"am solicitar um limite su!erior ra&o.el !ara o n3mero de itens Mue !odem estar contidos em um !edido1 \Para fa&er com Mue as coisas funcionem eficientemente com nosso sistema de gerenciamento de /anco de dados '7PE*5,IgE teremos Mue restringir o n3mero de itens em <J1 ^ im!ro..el Mue MualMuer !essoa deseLe !edir mais do Mue <J itens diferentesE e se isso acontecerE /asta a!resentar mais de um !edido]1 E o usurio !ode ter suas !rY!rias limita0esE funda mentadas nos formulrios em !a!el ou nos relatYrios im!ressos com Mue ele lidaV isso fa& !arte do modelo de im!lementao do usu rioE Mue discutiremos no ca!Xtulo :91 J QocA !ode ignorar esta ad.ertAncia se esti.er usando um !acote automati&ado de dicionrio de dados Mue !ossa gerenciar e con trolar a redundPnciaE em/ora isso seLa /astante incomumE $ !onto !rinci!al a ser lem/rado 2 Mue se modificarmos a definio de um elemento !rimrio de dados F!1 eW1E se decidirmos Mue a definio de um cliente no mais de.e incluir o n3mero do telefoneO a modificao tam/2m de.e a!licar?se a todos os sinNnimos1 I 7ma alternati.a 2 anotar o fluWo no dXa de fluWo de dados !ara indicar Mue ele 2 um sinNnimo de alguma coisaV um asteriscoE !or eWem!loE !ode ser acrescentado no final dos nomes sinNni mos1 Por eWem!loE a notao freguAs !oderia ser utili&ada !ara indicar Mue freguAs 2 um sinNnimo de algum outro nome1 Mas isto tam/2m no 2 muito !rtico1 :I: 99 E'PECIFICA(rE' DE P*$CE''$' 8ossos !eMuenos sistemas tAm seu dia1 AlfredE -ord Tenn#son In MemoriamE 9DIH 8este ca!XtuloE a!renderemos> 91 Como escre.er es!ecifica0es de !rocessos em lin guagem estruturada1 :1 Como escre.er es!ecifica0es de !rocessos com condi0es !r2G!Ys @1 Como utili&ar ta/elas de deciso !ara escre.er es!e cifica0es de !rocessos1 J1 Tuando utili&ar ferramentas alternati.as de es!ecifi cao1 8este ca!itulo .amos eW!lorar a es!ec de !rocessosE a descrio do Mue ocorre dentro de cada /ol"a !rimiti.aE do nX.el mais /aiWoE em um diagrama de fluWo de dados1 Qrios li.rosE inclusi.e d 9CKDeE d e 'arsonE 9CKK9 e d 9CKDe tam/2m usam o termo minis!ec Fa/re.iao de \miniature s!ecification]O como alterna ti.a !ara es!ecificao de !rocessos1 TualMuer Mue seLa seu nomeE Eo !ro!Ysito de uma es!ecificao de !rocessos 2 totalmente direto> ela define o Mue de.e ser feito !ara transformar entradas em saXdas1 Ela 2 uma detal"ada descrio da orientao em!resarial do usurio eWecu tada !elas /ol"as1 Como .eremos neste ca!XtuloE eWistem di.ersas ferramentas Mue !odemos utili&ar !ara !rodu&ir uma es!ecificao de !rocessos> ta/elas : de decisoE linguagem estruturadaE condi0es !r2G!YsE fluWogramasE diagramas de 8assi? '"neidermanE e outras1 Em/ora a maioria dos ana listas de sistemas !refiram a linguagem estruturadaE no de.emos esMuecer Mue !odemos usar MualMuer m2todoE desde Mue ele satisfaa dois essenciais reMuisitos> A es!ec de !rocessos de.e ser eW!ressa de uma forma Mue !ossa ser .erificada !elo usurio e!elo analista de sistemas1 ^ !recisamente !or essa ra&o Mue e.itamos a linguagem comum como ferramenta de es!ecificao> ela 2 notoriamente am/XguaE !rinci!almente !ara descre.er a0es Fdecis0esO alter nati.as e re!etiti.as FlaosO1 Por sua nature&aE ela tam/2m tende a causar grande confuso ao eW!ressar condi0es /ooleanas com!ostas Fisto 2E com/ina0es dos o!eradores /ooleanos A8DE $* e 8$TO1 j A es!ecificao de !rocessos de.e ser eW!ressa de uma forma Mue !ossa ser efeti.amente comunicada Zs di.ersas audiAncias en.ol.idas1 Em/ora costumeiramente seLa o analista de sistemas Muem redige a es!ecificao de !rocessosE normalmente " uma di.ersificada audiAncia de usuriosE gerentesE auditoresE contro ladores de Mualidade e outrosE Mue iro ler a es!ecificao1 A es!ecificao de !rocessos tal.e& !ossa ser eW!ressa em clculo de !redicadosE ou em Pascal ou em uma a/ordagem de dia gramao formal como o 7'E?IT= da ,ig"er $rder 'oft4areE !or2m se a comunidade usuria recusar?se a ler tais es!ecifi ca0esE elas sero in3teisE $ mesmo !ode ser dito a res!eito de ta/elas de decisoE linguagem estruturada ou so/re outras fer ramentas de es!ecificaoV trata?se mais de uma funo da !er sonalidadeE retros!ecto e da atitude dos usurios com os Muais lidamos1 Como L dissemosE a maioria dos analistas de sistemas usa a lingua gem estruturada como m2todo !referido !ara redigir es!ecifica0es de !rocessos1 Tal.e& seLa mais im!ortante di&er Mue a maioria dos analistas de sistemas e das em!resas usa uma ferramenta !ara ela/orar todas as es!ecifica0es IssoE na min"a o!inioE 2 um grande erro> de.e?se ter a li/erdade de se em!regar uma com/inao de ferramentas de es!ecifi caoE de!endendo de FaO a !referAncia do usurioE F/O suas !rY!rias !referAncias e FcO a nature&a dos di.ersos !roLetos1 A /oa ferramenta de es!ecificao de !rocessos de.e !ossuir uma terceira caracterXstica tam/2m> no de.e im!or Fou im!licarO deci s0es ar/itrrias de !roLeto e de im!lementao1 Isso muitas .e&es 2 difX cilE !orMue o usurioE de Muem de!endemos !ara esta/elecer a _!olXtica] :IJ - I seguida em cada /ol"a no DFDE est dis!osto a descre.er a orientao em termos de como ela 2 eWecutada "oLe1 ^ tarefa suaE como analista de sistemasE destilar dessa a!resentao a essAncia do Mue seLa a orientao e no como ela 2 eWecutada atualmente1 Considere o seguinte eWem!lo> o analista de sistemas est discutin do um !eMueno fragmento de um sistemaE mostrado na figura 99191 Ele Muer desen.ol.er uma es!ecificao !ara a /ol"a rotulada como CA- C7lA* FAT$* IIIPHT^99CH1 Como o analista de sistemas no est fa miliari&ado com a a!licaoE ele entre.istou o usurio e a!rendeu Mue a doutrina !ara calcular fatores "i!ot2ticos !ara MualMuer .alor do elemen to de dados de entradaE WE 2 a seguinte> 91 $ fator "i!ot2tico no 2 !rodu&ido como resultado de um clcu lo sim!les1 8a realidadeE temos de comear !or uma su!osio1 $ usurio nos disse Mue gosta muito do 9J como su!osio inicial1 :1 Em seguidaE fa&emos outra su!osio1 Di.idimos o n3mero WE com Mue comeamosE !ela su!osio corrente1 @1 Tomamos o resultado desse clculo e o su/traimos da su!osio corrente1 J1 Tomamos o resultado do item @ e o di.idimos !or dois1 Essa 2 a nossa no.a su!osio1 I1 'e a no.a su!osio e a su!osio corrente esto muito !rYWi mas uma da outraE digamosE dentro dc HEHHH9E !odemos !ararV a W FAT$* ,IP$FXO Figura 9919> Clculo do fator "i!ot2tico :II no.a su!osio 2 o fator "i!ot2tico1 Caso contrrioE .oltamos ao item : e fa&emos tudo no.amente1 QocA !oderia argumentar Mue essa es!ecificao de !rocesso 2 dificil de ser lida e com!reendida !orMue est escrita em linguagem nar rati.a1 De fatoE a descrio a seguir 2 muito mais com!acta Fo/ser.e Mue as /arras .erticais _9] na clusula 78TI- significam _.alor a/soluto] da eW!resso entre elasO> fator?"i!o s 9J *EPITA !ara 8 s $ em saltos de 9 fator s Ffator ? FXGfator?"i!o8OOG AT^ 9 fator ? fator?"i!o8 9 hH1HHH9 EntretantoE isso tam/2m tem um defeito> descre.e a norma da em!resa em termos de uma determinada im!lementao !rocedural1 A normaE como !ode ter ficado e.idente Fmas Mue tam/2m !ode no ter ficado e.identeOE 2 o algoritmo de 8e4ton?*a!"son de a!roWimao da rai& Muadrada 1 A es!ecificao de !rocesso a/aiWo descre.e a mesma normaE !or2m d ao !roLetistaG!rogramador com!leta li/erdade na esco l"a de seu !rY!rio algoritmo> P*^?C$8DI()$ EWiste um n3mero XE no negati.o1 Pn'?C$8DI()$ 7m fator?"i!o 2 !rodu&ido de modo Mue X s fator?"l!o } fator?"i!o $ !rogramador !ode at2 escol"er o algoritmo do usurio !ara calcular a rai& MuadradaE mas ele no ficar restrito a utili&?lo !elo analista de sistemas1 8a .erdadeE a eWtraordinria ateno dada ao algo? ritmo !roceduralE !rinci!almente na !rimeira .erso da es!ecificao acimaE no !ermitiu Mue se !erce/esse de Mue !rocesso se trata.a` Antes de eW!lorarmos as di.ersas ferramentas de es!ecificao de !rocessosE de.emos enfati&ar um !onto> as es!ecifica0es de !rocessos sY so desen.ol.idas !ara os !rocessos do nX.el mais /aiWo dos diagra mas de fluWo de dados em nX.eis1 Como !odemos .er na figura 991:E todos os !rocessos de um determinado nX.el so definidos !ela rede de !rocessos do nX.el inferior seguinte1 Em outras !ala.rasE a es!e cificao de !rocessos !ara uma /ol"a de um nX.el 2 o DFD do nX.el :I< 8o " es!ecifica0es de !rocessos !ara estas /ol"as Estas /ol"as tAm es!ecifica0es de !rocessosE !resumindo?se Mue seLam /ol"as do nX.el mais /aiWo FIG7*A @ Figura 991:> Fs!ec de !rocessos de /ol"as do nX.el mais /aiWo :IK imediatamente inferior1 Escre.er uma es!ecificao adicional de !rocessos em linguagem estruturada seria no somente su!2rfluo mas tam/2m redundanteV isto 2E criaria uma es!ecificao Mue seria mais difXcil de ser mantida atuali&ada y Qamos nos concentrar nas trAs !rinci!ais ferramentas de es!ecifica o de !rocessos neste ca!Xtulo> j -inguagem estruturada j Condi0es !r2G!Ys j Ta/elas de deciso Faremos tam/2m alguns r!idos comentrios so/re outras ferra mentas de es!ecificao menos utili&adas> linguagem narrati.aE fluWogra mas e diagramas de 8assi?'"neiderman1 9919 -I8G7AGEM E'T*7T7*ADA -inguagem estruturadaE como o nome di&E 2 _linguagem com es trutura]1 Isto 2E 2 um su/conLunto da linguagem normal com algumas restri0es Muanto ao ti!o de sentenas Mue !odem ser utili&adas e Z maneira como essas sentenas !odem ser reunidas1 Ela tam/2m 2 co n"ecida !or outros nomesE como -PP F-inguagem de ProLeto de ProgramasO e -EP F-inguagem de Es!ecificao de Pro/lemaO1 'eu !ro!Ysito 2 o/ter um ra&o.el eMuilX/rio entre a !reciso de uma linguagem de !rogramao formal e a casual informalidade e legi /ilidade da lXngua Mue utili&amos normalmente1 7ma sentena em linguagem estruturada !ode consistir em uma eMuao alg2/ricaE !or eWem!loE XsF6gOGFT~9JO ou em uma sim!les sentena im!erati.a com!osta !or um .er/o e um o/Leto1 $/ser.e Mue essa sentena no tem o !onto?e?.Xrgula Mue ter mina uma sentena de !rogramao em muitas linguagens de !rogra maoV ela !ode ou no terminar !or um !onto F_1_OE de!endendo de sua !referAncia Muanto a esse ti!o de coisa1 $/ser.e tam/2m Mue sen tenas Mue descre.em clculos !odem ser !refiWadas com os .er/os C$MP7TEE ADDE 'ETE e outrosV assimE o eWem!lo acima !oderia ser escrito como C$MP7TE XsF6gOGFTt 9JO :ID e tam/2m !odemos escre.er clculos em linguagem estruturada como as seguintes> 'ET TAXA T$ 9@ ADD @ T$ X M7-TIP-6 P*EC$?78IT B6 T7A8T DIQIDE ATIQ$?C$**E8TE B6 PA''IQ$?C$**E8TE1 $s .er/os de.em ser escol"idos a !artir de um !eMueno conLunto de .er/os de ao como> GET Fou ACCEPT ou *EADO P7T Fou DI'P-A6 ou 5*ITEO FI8D Fou 'EA*C, ou -$CATEO ADD '7BT*ACT M7-TIP-6 DIQIDE C$MP7TE DE-ETE FI8D QA-I DATE M$QE *EP-ACE 'ET '$*T A maioria das organi&a0es considera Mue JH a IH .er/os so sufi cientes !ara descre.er MualMuer !olXtica em MualMuer es!ecificao de !rocessos1 $s o/Letos Fo tema de sentenas im!erati.as sim!lesO de.em ser com!ostos a!enas !or elementos de dados Mue ten"am sido definidos no dicionrio de dados ou em termos locais1 Termos locais so !ala.ras eW!licitamente definidas na es!ecificao de um !rocesso indi.idual1 Elas sY so con"ecidasE rele.antes e significati.as nessa es!ecificao de !rocesso1 7m eWem!lo tX!ico de termo local 2 um clculo intermedirioE utili&ado !ara !rodu&ir a saXda final do !rocesso 1 Por eWem!loE a es !ecificao de !rocesso em linguagem estruturada a/aiWo eWamina uma s2rie de registros de !edidos no de!Ysito PEDID$' !ara calcular um total dirio1 total?dirio ? $ D$ 5,I-E eWistirem mais !odido1 em PEDID$' como data fatura ? data?"oLe *EAD !rYWimo !odido em PEDID$' como data?fatura s data?"oLe :IC DI'P-A6 em Conta/ nun noi total geral total?dirio ? total?dirio t total?geral E8DD$ DI'P-A6 em Conta/ total?dirio A linguagem estruturada !ermite ainda a com/inao de senten as em algumas formas limitadasV as Mue se seguem so /aseadas nas co n"ecidas constru0es da !rogramao estruturada <j j A construo ff?T,E8?E-'E 2 utili&ada !ara descre.er sen tenas alternati.as Mue de.em ser eWecutadas de acordo com o resultado de uma deciso /inria1 Essa construo !ode tomar uma das duas seguintes formas> 95 condio?9 senena?9 :IDIF ou 95 condio?9 sentena?9 sentena?: E Desse modoE o analista de sistemas !oderia escre.er> 95 cliente .i.e em 8o.a lorMue add cliente a PP$'PECg$' : ou 95 idade?cliente maior Mue <I set categ?co/rana em categ?senior set categ?co/rana em categ?normal : j A construo CA'E 2 utili&ada !ara descre.er sentenas alterna ti.as a serem eWecutadas com /ase no resultado de uma deciso multi.alorada Fdiferente da deciso /inria Mue ocorre com a construo IF?TIIE8O1 A construo CA'E assume a forma geral> D$ Cri'E :<H CA'E .ari.el ? .alor?9 sentena?9 CA'E .ari.el ? .alor?n seniena?n $T9 sentena ?nt9 'E Dessa maneiraE o analista de sistemas !oderia escre.er> D$ CA'E CA'E idad1?ce h 9@ set catTg?co/&ana em cat1g?irifant CA'E idada?clionte i 9: e idade?cliente h :H set categ?co/rana em categ?a CA'E idade?cliente i 9C e idade?cliente h <I set categ?co/rana em categ?adulto $T,E*5I 'E set categ?co/rana em categ?senior E8D CA'E $uE como outro eWem!loE considere o seguinte trec"o de uma es!ecificao de !rocesso em linguagem estruturada> D$ CA'E CA'E estado set taWa?.endas em H1HD:I CA'E estado ? set taWa?.endas em H1HK CA'E estado _CA] set taWa?.endas em H1HI set taWa?.endas em $ E8D CA'E $/ser.e Mue a clusula $T,E*5I'E 2 muitas .e&es utili&ada !ara resol.er situa0es em Mue o usurio esMuece de es!ecificar e Mue o analista de sistemas esMuece de !erguntar a res!eitoV ela .ai muitas .e&es indu&ir algumas discuss0es entre o usurio e o analista de sistemas Mue de outro modo no ocorreriam at2 Mue o sistema esti.esse em o!erao1 Considere o seguinte eWem!lo> :<9 D$ CA'E CA'E ti!o?!ag _din"] set taWa?d1ac em H1HI CA'E ti!o?!ag s _cart?cred] set taWa?dGac em H1H9 $9 set taWa?d em $ : CA'E $ usurio !oderia Muestionar essa es!ecificao de !rocesso e !erguntar !orMue o analista de sistemas incluiu a clusula $T,E*5I'EV o analista de sistemas !oderia res!onder !er guntando so/re !agamentos em c"eMueE em c"eMue de .iagemE em moedas de ouro e !or !ermuta1 A construo D$?5,9-E 2 usada !ara descre.er uma sentena Mue de.e ser eWecutada re!etidamente at2 Mue uma determinada condio /ooleana seLa .erdadeira1 'ua forma geral 2> D$ 5,I-E condio?9 sentena?9 D$ $ teste F_condio?9] no eWem!lo acimaO 2 feito antes da eWecuo da sentena?9V assim sendoE se a condio no for satisfeitaE 2 !ossX.el Mue sentena?9 seLa eWecutada &ero .e&es1 Por eWem!loE o analista de sistemas !oderia escre.er> D$ 5,I-E enMuanto "ou.er mais itens no !edido do cliente !reo s !reoSunit}MuantSitem D$ Muitas organi&a0es utili&am uma outra estrutura Mue eWecuta uma es!ecificada sentena ao menos uma .e& antes de testar se ela de.e ser re!etida1 Essa .ariaoE con"ecida "a/itualmente como *EPEAT?78TI-E tem a seguinte forma> sentena?9 78TI- condio?9 Pode?se construir sentenas com!ostas a !artir de com/ina0es de sentenas sim!les - das estruturas sim!les acima a!re sentadasE de acordo com as s regras> :<: 91 7ma seMaAncia linear de sentenas sim!les 2 eMui.alente Festru turalmenteO a uma sentena sim!les1 PortantoE a seMaAncia sentena?` sentena?: sentena?n 2 estruturalmente eMui.alente a uma 3nica sentena sim!les e !ode ser utili&ada onde Muer Mue seLa es!erada uma sentena sim!les1 Isso nos !ermite construir estruturas como esta> IF condio?` sentena?` sentena?: sentena?@ sentena?J sentena?I : ou D$ 5*I-E condio?` sentena?9 sentena?: sentena?@ 4$ :1 7ma construo IF?T,E8?E-'E sim!les 2 considerada estrutu ralmente eMui.alente a uma 3nica sentena sim!les1 Isso !ermite Mue as estruturas IF?T,E8?E-'E seLam anin"adas dentro de outras estruturas IF?T,E8?E-'EE ou dentro de estruturas D$? 5,I-E ou dentro de estruturas CA'E1 Por eWem!loE IF condio?` sentena?` IF condio?: sentena?: sentena?@ sentena?J sentena?I : :<@ senrena?< sentena? K IF condio?@ sentena?D IT sentena?C @1 7ma estrutura D$?5,I-E sim!les 2 considerada estru turalmente eMui.alente a uma 3nica sentena sim!les1 Isso !ermite Mue as estruturas D$?5,I-E seLam anin"adas dentro de outras estruturas D$?5,I-EE ou dentro de estruturas if T,E8?E-'E ou dentro de estruturas CA'E1 Dessa formaE !odemos ter a seguinte es!ecificao em linguagem estruturada> total?geral $ D$ 5,I-E "ou.er !edidos a serem !rocessados total?faturas ? $ *EAD !rYWimo !edido em PEDID$' D$ 5III-E "ou.er itens no !edido total?faturas ? total?faturas t .alor?item DI'P-A6 ru total?faturas total?geral ? total?geral t total?faturas E8DD$ DI'P-A6 total?geral J1 7ma estrutura CA'E sim!les 2 considerada estruturalmente eMui.alente a uma 3nica sentena sim!les1 Isso !ermite Mue estruturas CA'E seLam anin"adas dentro de outras estruturas CA'EE ou dentro de estruturas IF?T,E8?E-'E ou dentro de estruturas D$? 5,--E1 Como se !ode .erE isso nos !ossi/ilita construir descri0es ar/itra riamente com!leWas da !olXtica da em!resaE mantendo?se estrito controle so/re o .oca/ulrioE a organi&ao e a estrutura da descrio1 EntretantoE essa com!leWidade ar/itrria 2 tam/2m a maior des.antagem da lingua gem estruturada> se o analista de sistemas com!user uma es!ecificao de !rocessos Mue seLa demasiadamente com!leWa !ara o usurio enten der e .erificarE ele ter fracassado1 Isso !ode normalmente ser e.itado !ela adoo das trAs seguintes diretri&es> :<J 91 *estrinLa a es!ecificao de !rocessos em linguagem estrutura da a uma 3nica !gina de teWto FeW1> uma fol"a de D X 99E com << lin"as de teWto em um editor de teWtoO1 'e a es!ecificao eWigir mais de uma !ginaE ento o analista de sistemas Fcom auWXlio do usurioO de.e recorrer a um modo inteiramente diferente de formular a !olXtica F!1eW1> utili&ar um diferente algoritmo sim!lesO1 'e isso no !uder ser feitoE 2 !ossX.el Mue o !rY!rio !rocesso Fisto 2E a /ol"a no DFDO seLa com!leWo demais e de.a ser su/di.idido em uma rede de !rocessos mais sim!lesE de nX.el mais /aiWo1 :1 8o use mais de trAs nX.eis dc anin"amento Fisto 2E trAs nX.eis de estruturas `F?T,E8? E-'E anin"adas ou trAs nX.eis de estru turas CA'E anin"adas etc1O1 Princi!almente no caso de es truturas IF?T,E8?E-'EE mais do Mue dois nX.eis de ani n"amento L re!resentam um forte indXcio de Mue seria !re ferX.el a es!ecificao de uma ta/ela de decis0esV isso ser discutido na seo 991@1 @1 E.ite confus0es so/re nX.eis de anin"amento utili&ando a en dentaoE como mostrado nos eWem!los acima1 Isso !ode ser feito e controlado com muita facilidade se .ocA utili&ar algum ti!o de auWXlio automati&ado !ara desen.ol.er as es!ecifica0es de !rocessos Fmesmo algo sim!les como um sistema comum de !rocessamento de !ala.rasO1 'e as es!ecifica0es de !rocessos forem digitadas manualmente !or um funcionrio no .ersado em !rogramao estruturada ou anlise estruturadaE ser necessrio eW!licar?l"e minuciosamente o ti!o de endentao deseLadoV tam/2m ser necessrio .erificar cuidadosamente a correo do teWto resultante1 Muitos analistas de sistemas !erguntam se de.em es!erar Mue o usurio leia e com!reenda uma es!ecificao de !rocessos redigida em linguagem estruturada1 Min"a eW!eriAncia tem sido uniformemente !osi ti.a nesse as!ecto> os usurios !odem ler a linguagem estruturadaE com as seguintes condi0es> 91 EWamine todo o documento uma ou duas .e&es !ara se asse gurar de Mue eles entendem o formato e as di.ersas constru 0es1 8a !rimeira leituraE ele !ode muito /em !arecer um documento legalE es!ecialmente se .ocA ti.er ressaltado a construo IF?T,E8?E-'E e outras coisas do gAnero1 :<I :1 8o se refira Z es!ecificao de !rocessos como \lingua gem estruturada]1 'e necessrioE refira?se a ela como _uma descrio formal da !olXtica da em!resa !ara a eWecuo dessa ati.idade]1 @1 DA es!ecial ateno ao formato geral e diagramao Fla#outO do documentoV a endentao de /locos anin"ados 2 !ar ticularmente im!ortante1 Alguns usurios !referem o ti!o numerado de endentaoE no Mual os nX.eis rece/em n3meros como 919E 91919E 9191919E e assim !or diante1 $ estudo de caso do a!Andice F mostra alguns eWem!los de es!e cificao de !rocessos em linguagem estruturada1 991: C$8DI(rE' P*^GPn' As condi0es !r2G!Ys so um modo !rtico de descre.ermos a funo Mue de.e ser eWecutada !or um !rocessoE sem Mue seLa necess rio nos estendermos muito so/re o algoritmo ou so/re o !rocedimento Mue ser em!regado1 Essa a/ordagem 2 !articularmente 3til Muando> F9O $ usurio tende a eW!ressar a !olXtica eWecutada !or uma /ol"a em termos de um algoritmo es!ecial e !articulari&ado Mue ele ou ela ten"am estado utili&ando !or muito tem!o1 F:O $ analista de sistemas est ra&oa.elmente seguro de Mue eWis tem muitos algoritmos Mue !odem ser usados1 F@O $ analista de sistemas Muer deiWar Mue o !rogramador eW!lo re alguns desses algoritmosE mas no deseLa se en.ol.er !es soalmente nesses detal"esE e !rinci no Muer se en gaLar em discuss0es com o usurio so/re os m2ritos relati.os desses algoritmos1 7m eWem!lo de es!ecificao de !rocesso escrita com a condio !r2G!Ys 2 mostrada na figura 991@> E'PECIFICA()$ DE P*$CE''$ @1I> CA-C7-A* IMP$'T$ '$B*E QE8DA' Pr2?condio 9 DAD$'?DE?QE8DA ocorre com TIP$?DE?ITEM Mue :<< coincide com CATEG$*IA?DE?ITEM em CATEG$*IA'? DE?IMP$'T$' PYs?condio 9 TAXA?QE8DA' 2 aLustado em T$TA-?QE8DA' } QA-$*?TAXA Pr2?condio : DAD$'?DE?QE8DA ocorre com TIP$?DE?ITEM Mue no coincide com CATEG$*IA? DE?ITEM em CATEG$*IA'? DE?IMP$'T$' PYs?condio : ME8'AGEM?E**$ 2 gerada Figura 991@> 7ma es!ec de condi0es !r2G!Ys Como se !ode .erE uma es!ecificao tem duas !artes !rinci!ais> !r2 condi0es e !Ys condi0es1 Al2m dissoE essas es!ecifica0es !odem conter termos locaisE como foi eW!licado na seo 9919 F.eLa tam/2m a nota IO1 As !r2?condi0es descre.em tudo Mue de.e ser .erdadeiro Fse "ou.er algoO antes Mue o !rocesso inicie seu funcionamento1 os .e&es 2 !rtico imaginar o !rocesso como uma \!rincesa adormecida] e as !r2? condi0es como o ;/eiLo mgico] Mue des!ertar o !rocesso e o !or a tra/al"ar1 Como alternati.aE as !r2?condi0es !odem ser consideradas como uma garantia do usurio> \Garanto Mue Muando este !rocesso for ati.adoE as seguintes coisas sero .erdadeiras]1 CostumeiramenteE as !r2? condi0es descre.ero o seguinte> j Tue entradas de.em estar dis!onX.eis1 Essas entradas sero re ce/idas !or meio de um fluWo interligado ao !rocessoE como mostrado no diagrama de fluWo de dados1 $/ser.e Mue !ode "a.er casos em Mue "aLa .rios fluWos c"egando a um !rocessoE !or2m sY um deles seLa uma !r2?condio necessria Z ati.ao do !rocesso1 Por eWem!loE se .Xssemos uma es!ecificao Mue comeasse !or Pr2?condio o elemento de dados X ocorre em com/inao com o diagrama de fluWo de dados mostrado na figura 991JE nossa inter!retao seria a seguinte> a c"egada do elemento de dados X 2 o estimulo ati.ador Mue d !artida no funcionamento do !rocesso1 Como !arte de sua tarefaE ele !rocura entradas !ro.enientes dos fluWos de dados 6 ou gE ou :<K de am/osE mas 6 e g no so necessrios !ara Mue o !rocesso inicie seu funcionamento1 Tue relacionamentos de.em eWistir entre as entradas ou no in terior delas1 Com muita freMaAncia uma !r2?condio es!ecifi car Mue de.em c"egar duas entradas com cam!os corres!on dentes FeW1> detal"es de !edidos e detal"es de remessas com o mesmo n3mero de contaO1 $u a !r2?condio !ode es!ecificar Mue um com!onente de um elemento de dado de entrada de.e estar dentro de um certo inter.alo F!1 eW1> ocorre um !edido com data de entrega su!erior a <H diasO1 j Tue relacionamentos de.em eWistir entre entradas e de!Ysitos de dados1 7ma !r2? condio !ode esti!ular Mue eWista um regis tro em um de!Ysito Mue coincida com algum as!ecto de um ele mento de dado de entrada FeW1> a !r2?condio !oderia di&er> \eWiste um !edido?de?cliente com um n3mero?de?conta?de? cliente Mue coincide com um n3mero?de?conta?de?cliente no de!Ysito de clientes]O1 j Tue relacionamentos de.em eWistir entre diferentes de!Ysitos ou no interior de um de!Ysito1 Desse modoE a !r2?condio !oderia di&er> \eWiste um !edido no de!Ysito de !edidos cuLo n3mero? de?conta?de?cliente coincide com o n3mero?de?conta?de?cliente no de!Ysito de clientesl1 $u a !r2?condio !oderia esta/elecer> _eWiste um !edido no de!Ysito de !edidos com uma data?de? em/arMue igual Z data atual]1 As !Ys?condi0es descre.em de forma anloga o Mue de.e ser .erdadeiro Muando o !rocesso terminar sua tarefa1 Tal como antesE is so !ode ser considerado como uma garantia> \Garanto Mue Muando o :<D W 6 T Figura 991J> 7m DFD com entradas XE 6e g 9 !rocesso ti.er terminado o Mue se segue ser .erdadeiro]1 As !os? condi0es "a/itualmente descre.em o seguinte> j As saXdas Mue sero geradas ou !rodu&idas !elo !rocesso1 Essa 2 a forma mais comum de !Ys?condio FeW1> _'er !rodu&ida uma fatura]O1 j $s relacionamentos Mue eWistiro entre os .alores de saXda e os .alores origina is de entrada1 Isso 2 comum nas situa0es em Mue uma saXda 2 funo matemtica direta de um .alor de en trada1 AssimE uma !Ys?condio !oderia di&er> _$ total?fatu rado ser calculado como soma dos !reos?unitrios?de?Item mais taWas?de?em/arMue]1 j $s relacionamentos Mue eWistiro entre os .alores de saXda e os .alores em um ou mais de!Ysitos1 Isso 2 comum Muando as in forma0es de.em ser recu!eradas de um de!Ysito e usadas com !arte de uma saXda do !rocesso1 Por eWem!loE a es!ecificao de um !rocesso !oderia ter como !Ys?condio o seguinte> _$ /alano?!endente no de!Ysito I8QE8T+*I$ ser aumentado !elo .alor?rece/ido e o no.o in.entrio?!endente ser !ro du&ido como saXda deste !rocesso]1 j As altera0es Mue de.ero ser feitas nos de!nsito'> acr2scimo de no.os itensE modifIcao ou eliminao de itens L eWistentes1 Desse modoE !oderXamos .er declara0es como> _$ !edido ser acrescentado ao de!Ysito PEDID$'] ou _$ registro cliente ser eliminado do de!Ysito CIRE8TE']1 Tuando for ela/orar a es!ecificao de uma condio !r2G!YsE comece !or descre.er em !rimeiro lugar as situa0es de !rocessamento normal1 Podem eWistir di.ersas situa0es normais diferentes FeW1> com/i na0es 3nicas de relacionamentos .lidos entradaGde!YsitoO cada uma das Muais eW!ressa !or uma !r2?condio distinta e se!arada1 Para cada uma dessas !r2?condi0esE .ocA de.e descre.er a condio da /ol"a de !rocesso Muando as saXdas ti.erem sido !rodu&idas e os de!Ysitos te n"am sido modificados1 A!Ys terem sido descritas as situa0es normais de !rocessamentoE de.em ser incluXdas as !r2 e !Ys?condi0es adeMua das !ara os casos de erros e situa0es anormais1 Considere a es!ecifica o de condi0es !r2G!Ys mostrada na figura 991IF/O Mue seriam desen .ol.idas !ara um no.o sistema a !artir da es!ecificao narrati.a da figura 991IFaO1 :<C 'e um cliente me di& ter cr2dito ao .ir Z caiWa registrar sua des!esaE eu .erifico sua conta em meu arMui.o1 'e eu a erXcontrar e ela no esti.er marcada com sus!ensa= ou cancelada]E eu !reenc"o o formulrio do d2/ito com o n3mero da conta e o .alor da .enda1 Caso contrrioE eu informo ao cliente Mue ele ter de !agar em di n"eiro ou con.ersar com o gerente1 Figura 991I FaO> 7m eWem!lo de es!ecifica0es narrati.as Pr2?Condio 9 $ cliente se a!resenta com um n3mero?de?conta Coincidente com um n3mero de conta em C$8TA'E cuLo cYdigo?de est aLustado em _.lido]1 PYs?condio i A fatura 2 emitida contendo n3mero?de e .alor?da?.enda Pr2?Condio : A Pr2?condio i fal"a !or algum moti.o Fo n3mero?de no 2 encontrado em C$8TA' ou o cYdigo?de1 no 2 igual a _.lido]1 Pn'?Condio : E emitida uma mensagem de erro1 Figura 991IF/O> 7m eWem!lo de condi0es !r2?!Ys Em/ora a a/ordagem de condi0es !r2G!Ys seLa 3til e a!resente di.ersas .antagensE " ocasi0es em Mue ela !ode no ser adeMuada1 A falta de eta!as intermedirias entre as entradas F!r2?condi0esO e as saXdas F!Ys?condi0esO 2 deli/erada e consciente ? mas !ode tornar a es!ecificao dificil de ser entendida se o leitor no !uder .isuali&ar algum ti!o de !rocedimento Mue condu&a das entradas !ara as saXdas1 Al2m dissoE se "ou.er relacionamentos com!leWos entre as entradas e as saXdasE !ode ser mais fcil escre.er a es!ecificao usando a lingua gem estruturada1 7m eWem!lo de uma es!ecificao de !r2?condioG !Ys?condio Mue 2 !ossi.elmente muito com!leWa !ode ser .isto na figura 991<1 :KH DETE*MI8A* EMP*^'TIM$ C$M BA'E 8$' FAT$*E' D$ C-IE8TE Pr2?condio 9 !edido?de?em!r2stimo ocorre e tem!o?de?ser.io i I ou .alor?lXMuido i .alor?do? em!r2stimo e des!esas?mensais h H1:I } .alor?do? em!r2stimo ou garantia?colateral i : } .alor?do?em!r2stimo e idadei :I ou garantia?colateral i .alor?do?em!r2stimo e idade i @H ou tem!o?de?ser.io i : e .alor?lXMuido i : } .alor?do? em!r2stimo e idadei :9 e des!esas?mensais h H1I } .alor? do?em!r2stimo PYs?condio 9 .alor?a!ro.ado s .alor?do?em!r2stimo Figura 99<> 7ma es!ec de condi0es !r2G!Ys demasiadamente com!leWa Assim como em todas as formas de es!ecifica0es de !rocessosE .ocA de.e deiWar Mue seu !rY!rio Lulgamento e rea0es do usurio o guiemV se o usurio considerar dificil ler a es!ecificao de !r2?condi 0esG!Ys?condi0esE escol"a outro formato1 A a/ordagem de !r2?condi 0esG!Ys?condi0es 2 mostrada no estudo de caso do a!Andice GV a a/ordagem alternati.a de linguagem estruturada 2 utili&ada no estudo de caso do a!Andice F1 EWamine cuidadosamente esses dois estudos de ca sos !ara determinar a adeMua/ilidade dessas duas ferramentas de es!eci ficao de !rocessos1 991@ TABE-A' DE DECI'rE' EWistem situa0es em Mue nem a linguagem estruturada e nem as condi0es !r2G!Ys so adeMuadas !ara se ela/orar uma es!ecificao de !rocessos1 Isso 2 es!ecialmente .erdadeiro Muando o !rocesso de.e !rodu&ir alguma saXda ou eWecutar a0es com /ase em decis0es com!le Was1 'e as decis0es forem /aseadas em di.ersas .ari.eis F!1eW1> elemen tos de dados de entradaOE e se essas .ari.eis !uderem assumir muitos .alores diferentesE ento a lYgica eW!ressa !ela linguagem estruturada ou !elas condi0es !r2G!Ys ser !ro.a.elmente to com!leWa Mue o usurio no a entender1 A a/ordagem mais recomend.el ser !ossi.elmente a ta/ela de decis0es1 :K9 9:@J I<KD ldadei:9 ' ' ' ' 8 8 8 8 'eWo M M F F M M F F Pesoi9IH ' 8 ' 8 ' 8 ' 8 Medicao 9 X X X Medicao : X X Medicao @ X X X 8en"uma medicao X X Figura 991K> 7ma ta/ela de decis0es tX!ica Como se .A na figura 991KE uma ta/ela de decis0es 2 criada relacio nando?se todas as .ari.eis rele.antes Ftam/2m con"ecidas como condi 0es ou entradasO e todas as a0es rele.antes no lado esMuerdo da ta /elaV o/ser.e Mue as .ari.eis e as a0es esto se!aradas !or uma lin"a "ori&ontal grossa1 8este eWem!loE todas as .ari.eis so lYgicasE o Mue significa Mue !odem assumir .alor .erdadeiro ou falso1 Em muitas a!lica0esE 2 fcil Fe !referX.elO eW!ressar as .ari .eis como /inrias FfalsoG.erdadeiroOE mas as ta/elas de decis0es tam/2m !odem ser construXdas a !artir de .ari.eis Mue !odem assu mir muitos .alores diferentesV !or eWem!loE !ode?se construir uma ta/ela de decis0es com uma .ari.el c"amada _idade?do?cliente] cuLos .alores rele.antes seLam _menor Mue 9H]E]entre 9H e @H= e _maior Mue @H]1 Em seguidaE cada com/inao !ossX.el de .alores das .ari.eis 2 listada em uma coluna se!aradaV costuma?se c"amar cada coluna de norma1 7ma norma descre.e a ao Fou a0esO Mue de.e ser tomada !ara uma es!ecXfica com/inao de .alores das .ari.eis1 Pelo menos uma ao de.e ser es!ecificada !ara cada norma Fisto 2E !ara cada colu na .ertical na ta/ela de decis0esOE ou o com!ortamento do sistema !ara aMuela situao no ser es!ecificado1 'e "ou.er 8 .ari.eis com .alores /inrios FfalsoG.erdadeiroOE en to "a.er : normas distintasV assimE se "ou.er trAs condi0esE "a.er D normasE e se "ou.er K condi0esE "a.er 9:D normas1 A enumerao de todas as normas 2 um !rocesso /astante direto> considerando?se o 'im Fou D como um &ero /inrio e o 8o Fou FO como um um F9O /inrioE 2 fcil gerar uma seMaAncia de HHHE HH9E H9HE H99E 9HHE 9H9 e assim !or dianteE at2 Mue todas as :8 com/ina0es ten"am sido geradas ;1 QocA de.e discutir cada norma com o usurio !ara garantir Mue ten"a sido identificada a ao corretaE ou a0es corretasE !ara cada com/inao de .ari.eis1 ^ muito comumE Muando se fa& issoE desco/rir Mue o usurio nunca !ensou em certas com/ina0es de .ari.eis ou Mue :K: elas nunca ocorreram anteriormente *j A .antagem da ta/ela de decis0es 2 Mue .ocA !ode se concentrar em uma norma de cada .e&1 $utra .antagem da utili&ao das ta/elas de decis0es 2 Mue elas no im!licam MualMuer forma de im!lementao em !articular1 Isto 2E Muando o analista de sistemas entrega a ta/ela de decis0es FLuntamente com os DFD e etc1O ao !roLetistaG!rogramadorE " uma imensa li/erdade de escol"a em termos de estrat2gia de im!lementao> a ta/ela de de cis0es !ode ser !rogramada com sentenas IF anin"adasE com uma cons truo CA'E ou com uma construo G$ T$ DEPE8DI8G $8 em C$B$-V no caso eWtremoE o gerador de cYdigo de ta/ela de decis0es !o de gerar cYdigo automaticamente a !artir da ta/ela de decis0es1 AssimE as ta/elas de decis0es so muitas .e&es consideradas como uma ferra menta no?!roceclural de modelagem de sistemasE !orMue no deter minam MualMuer es!ecXfico algoritmo !rocedural !ara eWecutar as a0es necessrias1 Para resumirE de.emos seguir as eta!as a/aiWo !ara a criao de uma ta/ela de decis0es !ara uma es!ecificao de !rocessos> 91 IdentifiMue todas as condi0es ou .ari.eis na es!ecificao1 IdentifiMue todos os .alores Mue cada .ari.el !ode assumir1 :1 Calcule o n3mero de com/ina0es de condi0es1 'e todas as condi0es forem /inriasE "a.er : com/ina0es de 8 .ari.eis1 @1 IdentifiMue cada ao !ossX.el na es!ecificao1 J1 Crie uma ta/ela de decis0es _.a&ia]E relacionando todas as con di0es e a0es no lado esMuerdo e numerando as com/ina0es de condi0es no alto da ta/ela1 I1 *elacione todas as com/ina0es de condi0esE uma !ara cada coluna .ertical da ta/ela1 <1 EWamine cada coluna .ertical FnormaO e identifiMue as a0es adeMuadas a serem em!reendidas1 K1 IdentifiMue todas as omiss0esE contradi0es e am/igaidades da es!ecificao FeW1> normas da ta/ela de decis0es !ara as Muais a es!ecificao no indiMue Mue a0es de.em ser em!reendidasO1 D1 Discuta as omiss0esE contradi0es e am/igaidades com o usurio1 :K@ 991J $7T*A' FE**AME8TA' DE E'PECIFICA()$ DE P*$CE''$' 991J19 Grafos e Diagramas Em alguns casos !ode ser a!ro!riado eW!ressar uma es!ecificao de !rocessos !or meio de um grafo ou de um diagrama1 8a .erdadeE o usurio !ode L dis!or de um grafo ou de um diagrama Mue seLa !resen temente usado !ara eWecutar aMuela !arte da a!licao1 'e for assimE use?o` 8o " necessidade de o analista de sistemas tradu&ir um grafo !ara linguagem estruturadaV em .e& dissoE deiWe o !rogramador tradu&i? lo diretamente !ara o C$B$-E F$*T*A8E ou !ara outra linguagem de !rogramao Muando for a "ora de im!lementar o sistema1 ConsidereE como eWem!loE uma es!ecificao de !rocessos Mue determina o !rAmio de seguro de um cliente em funo da idade1 $ usurio informou Mue a orientao atual da em!resa 2 esta/elecer o !rAmio a !artir do grafo mostrado na figura 991D1 Presumindo Mue a orientao no se altere Muando for ela/orado um no.o sistema e !resumindo Mue o !rAmio de seguro seLa funo a!enas da idadeE no " necessidade de o analista de sistemas eWecutar MualMuer tra/al"o adicional1 A figura 991D 2 a es!ecificao de !rocessos1 PrAmio @HH Idade Figura 991D> PrAmio de seguro em funo da idade 991J1: -inguagem 8arrati.a Como ficou im!lXcito !or di.ersas .e&es neste ca!XtuloE a lingua gem narrati.a no 2 uma ferramenta recomend.el !ara se redigir es!e cifica0es de !rocessos1 Isso !orMue> :KJ j 7m .oca/ulrio irrestrito Fcom indiscriminado uso de su/stan ti.osE .er/os e adLeti.osO torna !ro..el Mue a descrio do !ro cesso inclua termos Mue no esteLam no dicionrio de dados e cuLo significado no seLa claro1 j As a0es alternati.as Fdecis0esO so muitas .e&es eW!ressas de uma forma mal feita e am/Xgua1 Isso torna?se !ior se as decis0es forem eW!ressas com utili&ao do anin"amento1 j As a0es re!etiti.as FlaosO tam/2m so eW!ressas de forma de saLeitada e am/Xgua1 $s laos alin"ados so eWtremamente !eri gosos Muando eW!ressos em linguagem comum1 j $ conceito de estruturas de /loco sY !ode ser eW!resso com endentao ou com a!resentao em estilo de sumrioV se al gu2m Muisesse ir at2 esse !onto !oderia tam/2m utili&ar a nota o da linguagem estruturada formal1 'eE !or alguma ra&oE .ocA for forado a utili&ar a linguagem narra ti.aE con.2m !elo menos conser.ar algumas das .antagens da anlise estruturada altamente su/di.idida Mue .imos discutindo neste li.ro1 Isto 2E so/ nen"uma circunstPncia admita ser o/rigado a escre.er uma es!e cificao ti!o no.ela .itoriana monolXtica de : mil !ginas1 Em 3ltimo casoE su/di.ida a es!eciflcao em !eMuenas !artesE de forma a Mue .ocA !ossa escre.er : mil _"istorin"as] inde!endentes1 991J1@ FluWogramas Temos e.itado a utili&ao de fluWogramas at2 agora em nossa discussoE mas isso 2 um refleWo do atual desinteresse em fluWogramas e no uma acusao contra eles 1 Grande !arte das crXticas em relao aos fluWogramas de.e?se Z mt utili&ao deles nas seguintes reas> 91 Como ferramenta de modelagem de alto nX.el de sistemasE os fluWogramas so muito !reLudicados1 $s fluWogramas a!re sentam lYgica !rocedural e seMaencial1 Como .imos no ca!Xtulo CE um diagrama de fluWo de dados 2 uma ferramenta mais adeMuada !ara modelar uma rede de !rocessos comunicantes assincronos1 :1 8ada im!ede Mue o analista de sistemas crie um fluWograma ar/itrariamente com!leWo e desestruturado da ordenao FsortO mostrada na figura 991C1 :KI EntretantoE se o fluWograma for utili&ado a!enas !ara descre.er lY gica detal"ada e se o analista de sistemas se restringir a incluir no fluWograma sXm/olos eMui.alentes Zs constru0es da linguagem estrutu rada descritas na seo 9919E nada "a.er de errado com seu em!rego1 Para criar um fluWograma estruturadoE o analista de sistemas de.e orga ni&ar sua lYgica com com/ina0es anin"adas dos sim/olos de fluWogra ma mostrados na figura 9919H19H Figura 991C> 7mRluWograma no?estruturado Figura 9919H> $s sXm/olos dofluWograma estruturado de BN/m?Raco!ini :K< 7ma alternati.a 2 o em!rego dos diagramas de 8assi?'"neidermanE discutidos na seo 99J1J1 ContudoE de.e?se di&er Mue muito !oucos analistas de sistemas usam fluWogramas !ara es!ecificar !rocessos Fe nem !ara !roLetos de !rogramasE tam/2mO1 Em/ora as ferramentas auto mati&adas descritas no a!Andice A !ossam ser utili&adas !ara criar e manter fluWogramasE a .erdade 2 Mue a linguagem estruturadaE as ta/elas de decis0es e as es!ecifica0es de condi0es !r2G!Ys so mais fceis !ara criar e manter1 991J1J Diagramas de 8assi?'"neiderman Tuando a !rogramao estruturada tornou?se !o!ular em meados dos anos KHE os diagramas de 8assi?'"neiderman foram a!resentados como uma t2cnica de fluWogramao estruturadaV .eLa I8assi e '"neider manE 9CK@9 e d 9CKJ91 7m diagrama de 8assi? '"neiderman tX!ico toma a forma mostrada na figura 991991 $/ser.e Mue uma sentena im!erati.a sim!les 2 re!resentada !or um retPnguloE como se !ode .er na figura 9919:FaOV o retPngulo tam/2m !ode ser usado !ara re!resentar um /loco de sentenas seMaenciais1 A 81 U Figura 99199> 7m diagrama de 8assi?'"neiderman tX!ico Figura 9919: FaO> *e!resentao de uma sentena seMaencial sentena 9 sentena : :KK construo /inria IF?TIIE8?EI'E 2 re!resentada !ela notao grfica mostrada na figura 9919:F/OV e a construo re!etiti.a D$?5,I-E 2 re!resentada !ela notao grfica mostrada na figura 9919:FcO1 $s diagramas de 8assi?'"neiderman so geralmente mais organi&a dosE mais estruturados e mais a/rangentes Mue os fluWogramas comunsV !or esse moti.oE eles so !or .e&es !referidos como ferramenta !ara a criao de es!ecifica0es de !rocessos1 EntretantoE eles eWigem uma Muantidade no tri.ial de grficosE e no est /em claro se os grficos !ro!orcionam uma .antagem corres!ondente1 Muitos analistas dc siste mas L foram .istos comentando de!ois de gastarem uma "ora criando um diagrama de 8assi? '"neiderman> _Isso 2 a mesma coisa Mue usar linguagem estruturada com alguns Muadros desen"ados em .olta das sentenas`]1 Por outro ladoE uma !esMuisa recente condu&ida !or Da.id 'canlan na 7ni.ersidade do Estado da CalifYrnia FI'canlanE 9CDK9O mostrou Mue KIf a DHf dos estudantes de ciAncia do !rocessamento !referem dec%li damente os diagramas de 8assi?'"neiderman em lugar de !seudocYdigo no a!rendi&ado de algoritmos com!leWos1 Em/ora isso esteLa em o!osi o Z tX!ica reao negati.a dos !rogramadores eW!erientes em relao aos fluWogramasE as conclus0es de 'canlan so /aseadas em cuidadosos estudos analXticos dos fatores de algumas centenas de estudantes1 Ainda Mue os usurios finais no ten"am necessariamente as mesmas !referAn cias dos estudantes da ciAncia do !rocessamentoE eWiste !elo menos a !ossi/ilidade de Mue eles !refiram a re!resentao grfica da es!ecifica o de um !rocesso em .e& de uma re!resentao narrati.aGteWtual1 condio T F sentenal sentena: Figura 9919: F/O> *e!resentao de uma construo IF?KK?IE8?E-'E 991I *E'7M$ $ !ro!Ysito deste ca!Xtulo foi mostrar Mue eWistem muitas maneiras diferentes de descre.er a orientao detal"ada do usurio no interior de cada /ol"a !rimiti.a de um diagrama de fluWo de dados1 Em/ora a lin guagem estruturada seLa a t2cnica mais comumente utili&ada nos dias de "oLeE .ocA de.e considerar o uso de ta/elas de decis0esE fluWogramasE condi0es !r2G!Ys e outras a/ordagens Mue !odem ser .erificadas e transmitidas facilmente a seus usurios1 :KD Condio D$ 78TI- sentena 9 sentena : sentena n Figura 9919: FcO> *e!resentao de uma construo D$?5,I-E -em/re?se Mue as es!ecifica0es de !rocessos re!resentam o maior .olume de tra/al"o minucioso na construo do modelo de um sistemaV !odem eWistir centenas e at2 mil"ares de es!ecifica0es de !rocessosE e cada uma !ode ocu!ar uma !gina1 Face ao .olume de esforo en.ol .idoE considere a a/ordagem da im!lementao to!?do4n discutida no ca!Xtulo I ? comece a fase de !roLeto e im!lementao de seu sistema antes do final das es!ecifica0es de !rocessos1 -em/re?se tam/2m Mue a ati.idade de escre.er es!ecifica0es de !rocessos ser.e como um \teste de sanidade] dos diagramas de fluWo de dados Mue L foram desen.ol.i dos1 QocA !ode desco/rir Mue a es!ecificao de !rocessos necessita de fluWos de dados de entrada adicionais FfluWos Mue no foram mostrados no DFDO eE ao escre.er a es!ecificao de !rocessosE !ode surgir a necessidade de mais fun0esV !or eWem!loE ao escre.er a es!ecificao de !rocesso !ara uma funo Mue acrescente um no.o registro ao de !Ysito C-IE8TE'E .ocA !ode o/ser.ar Mue o DFD no tem uma /ol"a Mue modifiMue ou su!rima um registro daMuele de!Ysito1 AssimE .ocA de.e es!erar Mue seLam necessrias modifica0esE re.is0es e corre0es no DFD fundamentadas no minucioso tra/al"o de escre.er as es!ecifi ca0es de !rocessos1 *EFE*b8CIA' 91 Tom DeMarcoE 'tructured Anal#sis and '#stems '!eciflcation1 Engle4ood CliffsE 81R1> Prentice?,allE 9CKC1 :1 C"ris Gane e Tris" 'arsonE 'tructured '#stems Anal#sis> Tools and Tec/niMues1 Engle4ood CliffsE 8L1> Prentice?,allE 9CKD1 :KC @1 Ed4ard 6ourdonE Tec"nXMues ofProgram 'iructure and DesignE : ed1 Engle4ood CliffsE 81R1> Prentice?,allE 9CDD1 J1 Rames Martin e Carma McClureE Diagramming Tec"niMue1s for 'oft 4are EngineerXng1 Engle4ood CliffsE 81R1> Prentice?,allE 9CDI1 I1 Qictor 5ein/ergE 'lructured Anal#sis1 Engle4ood CliffsE 81R1> Pren tice?,allE 9CKD1 <1 Ed4ard 6ourdonE Classics in 'oft4are Engineering1 8o.a lorMue> 6$7*D$8 PressE 9CKC1 K1 Corrado B0"m e Giuse!!e Raco!iniE _Flo4 DiagramsE Turing Ma c"inesE and -anguages 4it" $nl# T4o Formation *ules]E Commu nication1s of l"e ACME Qolume CE 83mero I Fmaio de 9C<<OE !gs1 @<<?@K91 *eim!resso em Classics in 'oft4are Engineei Fo!1 cit1O1 D1 91 8assie B1 '"neidermanE _Flo4c"art Tec"niMues for 'tructured Programming]E ACM 'IGP-A8 8otXcesE Qolume DE 83mero D Fagosto de 9CK@OE !gs1 9:?:<1 C1 8ed C"a!inE \8e4 Format for Flo4c"arts]E 'oft4are ? Pracace and EW!ertenceE Qolume JE 83mero J Foutu/ro?de&em/ro 9CKJOE !gs1 @J9?@IK1 ? 9H1 ,1 McDanielE editorE A!!lication of Decision Ta/les1 PrincetonE 81R1>E Brandon '#stems PressE 9CKH1 991 '1 PollacE ,1 ,ic%s e 51 ,arrisonE Decision Ta/les T"eoi# and Practice1 8o.a lorMue> 5ile#E 9CK91 9:1 T1 *1 Gilderslee.eE Decislon Ta/les and T"eir Practical A!!lica tions in Data Processing1 Engle4ood CliffsE 81R1> Prentice?,allE 9CKH1 9@1 Da.id 'canlanE _Cogniti.e Factors in t"e Preference for 'tructured Flo4c"arts> A Factor Anal#tic 'tud#]E a!resentado na First Annual 6$7*D$8 Press Aut"or=s ConferenceE I de de&em/ro dc 9CDK1 PE*G78TA' E EXE*CcCI$' 91 Considere a es!ecificao a seguirE a!resentada em forma narra? u.a1 Tual das ferramentas de es!ecificao .istas neste ca!Xtulo .ocA ac"a Mue seria a mais adeMuada[ Por MuA[ Tuando rece/o um !edido de com!ra meu tra/al"o 2 escol"er um fornecedor em nosso arMui.o de fornecedores dis!onX.eis1 8atura` menteE alguns so eliminados de imediato !or causa de seus attos !reosE ou !orMue esto tem!orariamente na _lista negra] !ela m Mualidade1 Mas o .erdadeiro tra/al"o 2 escol"er o fornecedor Ytimo entre os mel"oresE aMuele Mue entregar nosso !edido no mais curto tem!o1 Meu c"efe tem um sistema !ara estimar o tem!o de entregaE e ele me ensinou a usar esse sistemaE mas neste momento eu a!enas :DH II eWamino o endereo do fornecedorE a Muantidade de itens do !e dido e a data em Mue !recisamos da mercadoriaE e eu sei Mual ser o mel"or fornecedor111 Eu no sei !orMue ainda fao isso :1 $ Mue 2 uma es!ecificao de !rocessos[ Tuais so seus o/Leti.os[ @1 Cite cinco ferramentas comuns !ara modelar es!ecifica0es de !rocessos1 J1 Tuais so os trAs reMuisitos Mue uma es!ecificao de !rocessos de.e satisfa&er[ I1 7m !roLeto de desen.ol.imento de sistemas de.e usar a!enas uma ferramenta !ara es!ecificao de !rocessos[ Por MuA[ <1 ProLeto de PesMuisa> Mue ferramentas de es!ecificao so utili&a das em sua em!resa[ EWistem restri0es Muanto Zs ferramentas Mue !odem ser usadas[ QocA ac"a Mue esteLam sendo em!regadas as ferramentas adeMuadas[ K1 Tue /ol"as de um DFD eWigem es!ecifica0es de !rocessos[ D1 Tuais so as conseMaAncias de escre.ermos es!ecifica0es de !ro cessos !ara /ol"as no?atNmicas Fno?!rimiti.asO[ C1 Como o analista de sistemas de.e determinar Muais de.em ser as es!ecifica0es de !rocesso !ara uma /ol"a[ 9H1 Como as es!ecifica0es de !rocessos !or .e&es im!0em decis0es ar/itrrias de !roLeto e de im!lementao[ Tuais so as conse MaAncias disso[ 991 ProLeto de PesMuisa> encontre um eWem!lo de es!ecificao de !rocessos em sua em!resa Mue a!resente decis0es ar/itrrias de !roLeto ou de im!lementao1 Como .ocA a reescre.eria !ara e.itar esse !ro/lema[ 9:1 DA uma definio !ara a eW!resso linguagem estruturada1 A!re sente alguns sinNnimos dessa eW!resso1 9@1 Tuantos .er/os so necessrios !ara formar sentenas em lingua gem estruturada[ 'ugira uma lista de :H .er/os1 9J1 Por Mue as eMua0es alg2/ricas costumam ser necessrias em uma es!ecificao de !rocessos em linguagem estruturada[ 9I1 Tue caracterXsticas de.em ter os o/Letos em uma es!ecificao de !rocessos em linguagem estruturada[ 9<1 Tue so termos locais[ 9K1 De.em os termos locais ser incluXdos em um dicionrio de dados[ Por MuA[ 9D1 $s termos locais a!arecem como fluW0s nos DFD[ 9C1 A!resente um eWem!lo es!ecXfico de um termo local1 :H1 Tuais constru0es da !rogramao estruturada so utili&adas em linguagem estruturada[ :91 Tual 2 o !ro!Ysito da clusula $T,E*5I'E na linguagem estruturada[ :D9 ::1 Tual 2 a diferena entre a construo D$?5III-E e a construo *EPEAT?78TI- em linguagem estruturada[ :@1 $ Mue 2 uma sentena com!osta[ :J1 A construo CA'E 2 necessria Z linguagem estruturada[ Tuais so as .antagens e des.antagens da construo CA'E[ :I1 Tuais so os Muatro com!onentes de uma sentena com!osta[ :<1 Tual 2 a diferena entre FaO e F/O[ FaO 99 A ;fliE8 IF B T9 senrena?9 sentena?: sentena?:1 F/O IF A A8D B T9 sentena?` i sentena?:1 Tuais desses dois eWem!los .ocA considera mais fcil de com!re ender[ Por MuA[ :K1 ProLeto de PesMuisa> construa alguns eWem!los semel"antes ao da !ergunta :< e faa um le.antamento entre os usurios !ara .erifi car Mual .erso eles !referem1 :D1 Tuais so as trAs diretri&es Mue de.em ser seguidas !ara garantir Mue uma es!eificao em linguagem estruturada ser legX.el[ :C1 QocA concorda em Mue trAs nX.eis de IF anin"ados em uma es!eci ficao em linguagem estruturada so aceit.eis[ Por MuA @H1 ProLeto de PesMuisa> !re!are alguns eWem!los de es!ecifica0es de !rocessos em linguagem estruturada en.ol.endo doisE trAs e Muatro nX.eis de IF anin"ados1 Faa um le.antamento !ara determinarE em m2diaE Muantos nX.eis os usurios em sua em!resa esto dis!ostos a aceitar1 @91 Tual 2 o !ro!Ysito da endentao em uma es!ecificao de !ro cessos em linguagem estruturada[ @:1 Por Mue 2 im!ortante condu&ir camin"amentos F4al%t"roug"sO em uma es!ecificao de !rocessos em linguagem estruturada com o usurio a!ro!riado[ @@1 Tual 2 o !ro!Ysito de se utili&ar numerao em estilo de sumrio em uma es!ecificao em linguagem estruturada[ @J1 DA uma definio da t2cnica de es!ecificao !r2?condioG!Ys condio1 :D: @I1 Tual 2 a diferena entre a t2cnica de es!ecificao em linguagem estruturada e a t2cnica de !r2?condioG!Ys?condio[ @<1 'o/ Muais circunstPncias a t2cnica de es!ecificao !r2?condioG !Ys?condio 2 recomend.el !ara ser utili&ada !elo analista de sistemas[ @K1 DA uma definio de !r2?condio1 @D1 Tuais so as trAs coisas Mue uma !r2?condio "a/itualmente descre.e[ @C1 Tual 2 o relacionamento entre !r2?condi0es em uma es!ecifi cao de !rocessos e fluWos de entrada em um DFD[ JH1 Tue acontece se as !r2?condi0es de uma es!ecificao de !roces sos no forem satisfeitas[ J91 DA uma definio de !Ys?condio1 J:1 Tuais so as Muatro coisas Mue uma !Ys?condio "a/itualmente descre.e[ J@1 Tual 2 o relacionamento entre !Ys?condi0es e fluWos de saXda em um DFD[ JJ1 'e uma es!ecificao de !rocessos ti.er Muatro conLuntos de !r2? condi0esE Muantos conLuntos de !Ys?condi0es de.er !ossuir[ JI1 Tual 2 o n3mero mXnimo de !r2?condi0es Mue uma es!ecificao de !rocessos !ode ter[ J<1 Tuais so as !otenciais des.antagens da a/ordagem !r2?condioG !Ys?condio[ JK1 ProLeto de PesMuisa> encontre um eWem!lo de uma es!ecificao de !rocessos do mundo real Mue no se adeMuaria /em Z a/orda gem de es!ecificao de !r2? condioG!Ys?condio1 Por Mue ela no se adeMuaria /em[ JD1 EWamine a figura 991<1 Tual seria a mel"or ferramenta de mo delagem !ara criar uma es!ecificao de !rocessos !ara aMuela situao[ JC1 ProLeto de PesMuisa> encontre um eWem!lo de uma es!ecificao de !rocessos do mundo real Mue se adeMuaria /em Z a/ordagem de !r2?condioG!Ys?condio1 Por Mue ela se adeMuaria[ IH1 $ Mue 2 uma ta/ela de decis0es[ Tuais so os com!onentes de uma ta/ela de decis0es[ I91 'o/ Mue condi0es uma ta/ela de decis0es 2 uma /oa ferramenta !ara es!ecifica0es de !rocessos[ :D@ A I:1 $ Mue est errado na ta/ela de decis0es a/aiWo[ Idadesu!eriora: T E F 'eWo masculino T T F Medicao 9 Medicao : X I@1 $ Mue est errado na ta/ela de decis0es a/aiWo[ Altura su!erior a 9EDHm T T E F Pesosu!erioraC T F T E PrAmiodesegurosq9HH i X PrAmio de seguro s q:HH X X PrAmio de seguro s q@HH IJ1 $ Mue est errado na ta/ela de decis0es a/aiWo[ Altura su!erior a 9EDHm T T E F Pesosu!erioraCo%g T E T F PrAmiodesegurosq9HH W i W PrAmio de seguro s q:HH X PrAmio de seguro s q@HH W :DJ II1 Tual 2 a diferena entre uma ta/ela de decis0es com .ari.eis /inrias e uma ta/ela com .ari.eis Mue !odem assumir m3lti!los .alores[ I<1 'e uma ta/ela de decis0es ti.er 8 .ari.eis /inriasE Muantas nor mas ela de.er ter[ IK1 'o/ Mue circunstPncias o analista de sistemas de.e usar um grafo !ara ela/orar a es!ecificao de !rocessos[ ID1 Tuais so as .antagens de um grafo so/re a linguagem estruturada como ferramenta de modelagem !ara es!ecifica0es de !rocessos[ IC1 Tuais so as Muatro maiores des.antagens da linguagem narrati.a como ferramenta de modelagem !ara es!ecifica0es de !rocessos[ <H1 Tue diretri&es de.em ser seguidas se a linguagem narrati.a ti.er de ser utili&ada como ferramenta de modelagem !ara es!ecifica0es de !rocessos[ <91 Tuais so as duas maiores crXticas aos fluWogramas como ferramen tas de modelagem[ <:1 Tuais so os trAs com!onentes de um fluWograma estruturado[ <@1 A!resente a um usurio a mesma es!ecificao em linguagem es truturada e em forma de fluWograma1 Tual a/ordagem ele !refere[ Para maiores informa0es so/re isso .eLa E'canlanE 9CDK91 <J1 $ Mue 2 um diagrama de 8assi?'"neiderman[ Tual 2 a diferena entre um fluWograma e um diagrama de 8assi?'"neiderman[ <I1 De 'tructured Anal#sis de Qictor 5ein/erg F8o.a lorMue> 6$7*D$8 PressE 9CKDO> Pre!are uma ta/ela de decis0es !ara a seguinte es!ecificao narrati.a e indiMue MuaisMuer omiss0esE am/igaidades e contradi0es Mue .ocA encontrar> \A firma '4ell 'tore em!rega alguns .endedores !ara .ender di.er sos itens1 A maioria desses .endedores rece/e seus gan"os a !artir de uma comisso !aga so/re os itens Mue eles .enderemE mas alguns so em!regados Mue rece/em salrio t comiss0esV isto 2E rece/em um salrio fiWoE no im!ortando a Muantidade ou o ti!o de itens Mue .endamE mais uma comisso so/re certos itens1 A '4ell 'tore comercia com .rias diferentes lin"as de mercadoriasE algumas das Muais so con"ecidas como itens comuns Fuma lata de so!a de tomatesE !or eWem!loO !orMue so am!lamente aceitas e no eWi gem t2cnicas criati.as de .endaV al2m dissoE eWistem itens !ri.ilegia dos Mue so altamente lucrati.os mas diriceis de .ender Fum cadillac dourado e cra.eLado de diamantesE tal.e&O1 $s ilens comuns e os !ri.ilegiados re!resentam de modo geral as eWtremidades inferior e su!erior do es!ectro de !reosE ensanduic"ando um grande n3mero de itens no meio do es!ectro1 $s clientes tam/2m so di.ididos em categorias1 Alguns so con"e cidos como regularesE !orMue fa&em com!ras com tanta freMaAncia :DI Mue no " necessidade de .endas criati.as1 A maioria dos freguesesE contudoE fa& um !eMueno .olume de com!ras na '4ell 'toreV .Am da ruaE entram na loLaE com!ram alguma coisa e desa !arecem !ara sem!re1 $ crit2rio de comiss0es da direo 2 o seguinte> se um em!regado no?assalariado .ender um item Mue no seLa comum nem !ri.ile giado !ara algu2m Mue no seLa um freguAs regularE rece/e uma co misso de 9H !or centoE a menos Mue o item custe mais de q9H1HHHE em cuLo caso a comisso 2 de I !or cento1 Para todos os .endedoresE se um item comum for .endido ou se MualMuer item for .endido a um freguAs regularE no 2 !aga MualMuer comisso1 'e um .endedor assalariado .ender um item !ri.ilegiadoE rece/er uma co misso de I !or centoE a menos Mue o item custe mais de q91HHHE caso em Mue ele rece/e uma comisso sim!les de q:I1 'e um .ende dor no?assalariado .ender um item !ri.ilegiado a algu2m Mue no seLa um freguAs regularE rece/e comisso de 9H !or centoE a menos Mue o item custe mais de q91HHHE caso em Mue rece/er uma comis so sim!les de qKI1] 8$TA' 9 Para maiores informa0es so/re o 7'E?ifE .eLa 'tructured iec/ fiMues for Com!utingE de Rames Martin e Carma McClure1 FEngle 4ood CliffsE 81R1> Prentice?,allE 9CD<O1 : Isso muitas .e&es 2 causado !ela introduo de todo um conLunto de !adr0es de anlise estruturada na organi&ao1 Em/ora os !a dr0es seLam um admir.el esforo no com/ate Z indolAnciaE Z igno rPncia e Z anarMuia totalE eles Zs .e&es .o longe demais e im!0em uma rXgida e uniformi&adora soluo !ara todos os !ro/lemas1 Como di& um ditado !o!ular> _'e .ocA sY tem um marteloE o mundo todo !arece um !rego]1 @ EW!erimente usar o algoritmo em di.ersos casos1 QocA .er Mue ele con.erge /astante ra!idamente1 J A des!eito desse a.isoE de.emos ressaltar Mue .ocA !recisarE Zs .e&esE como analista de sistemasE ela/orar uma es!ecificao es crita !ara !rocessos de nX.el ele.ado1 Isso ocorrer se o usurio de cidir Mue Muer mostrar a es!ecificao a seu c"efe e esti.er !reo cu!ado em Mue ele no aceite a id2ia de DFD em nX.eis1 Desse mo doE o usurio l"e dir> _BemE eu sei Mue .ocA no !recisa de uma es!ecificao de !rocessos !ara as /ol"as de nX.el su!eriorE mas eu gostaria Mue .ocA a fi&esse !ara Mue o c"efe !ossa entender co mo 2 o sistema]1 QocA ter de se "a.er com !ro/lemas assim com a mesma "a/ilidade di!lomtica usada !ara solucionar todos os outros !ro/lemas !olXticos em seu !roLeto1 :D< I Termos locais so definidos dentro da es!ecificao do !rocesso onde eles ocorrem e no so definidos no dicionrio de dados1 Eles so muitas .e&es deri.ados Fcalculados diretamenteO de termos Mue L constam no dicionrioE assimE seria redundante incluir os termos locais1 Al2m dissoE !or definioE os termos locais sY so con"eci dos em um conteWto local Fisto 2E no interior de uma /ol"a de um diagrama de fluWo de dadosO1 Eles no de.em a!arecer como um fluWo no DFD e "a/itualmente no fa&em !arte do .oca/ulrio normal orientado?!ara?a?a!licao utili&ado !elo usurio1 < 'e .ocA no esti.er familiari&ado com a !rogramao estruturadaE consulte um dos teWtos !adr0es so/re o assuntoE ou .eLa alguns dos !rimeiros artigos so/re esse tema coligidos em E6ourdonE 9CKCe1 K 8aturalmenteE "a.er situa0es em Mue as condi0es da ta/ela de decis0es no sero /inrias !or nature&aE mas so ca!a&es de assu mir di.ersos .alores F!1eW1> uma a!licao de seguros !oderia en.ol.er idade?do?cliente e usar os .alores _a/aiWo de 9D anos]E _9D a <J] e _<I ou mais]O1 Para determinar o n3mero total de nor mas em uma ta/ela de decis0es desse ti!oE 2 !reciso multi!licar o n3mero de .alores Mue a .ari.el 9 !ode assumir !elo n3mero de .alores Mue a .ari.el : !ode assumir !elo 111 n3mero de .alores Mue a .ari.el 8 !ode assumir1 PortantoE se ti.ermos uma a!licao onde a .ari.el 9 !ode assumir @ .aloresE a .ari.el : !ode assumir I .alores e a .ari.el @ !ode assumir J .aloresE sero necessrias @ X I X J s <H normas distintas1 D EWistem diretri&es !ara sim!lificar ta/elas de decis0es e !ara com /inar di.ersas normas em normas com!ostasE mas no trataremos delas neste li.ro1 QeLa -6ourdonE 9CK<9E onde se encontram detal"es so/re isso1 C EntretantoE 2 interessante o/ser.ar Mue os fluWogramas !odem es tar renascendo1 7m recente tra/al"o de Da.id 'canlan da 7ni.ersi dade do Estado da CalifYrnia em 'acramento mostrou Mue os estu dantes de !rogramao !referem os fluWogramas aos m2todos mais a!reciados !ara o a!rendi&ado de algoritmos1 'e isso 2 .erdadeiro !ara estudantes de !rogramaoE tal.e& tam/2m o seLa !ara os usurios1 Para mais detal"esE .eLa o artigo de 'canlan entitulado _A 8ic"e for 'trutured Flo4c"arts]E Proceedings of t"e 9CDK ACM Com!uter 'cience Conference1 9H Para mais informa0es so/re fluWogramas estruturadosE .eLa o cls sico artigo d e Raco!iniE 9C<<e1 :DK 9: DIAG*AMA' DE E8TIDADE'? *E-ACI$8AME8T$' $/.iamenteE a ca!acidade de Lulgamento de um "omem no !ode ser mel"or do Mue as informa0es em Mue ele est fundamentado1 DAem?l"e a .erdade e ele !ode continuar errado Muando ti.er a o!ortunidade de estar certoE mas !n.em?no de notXcias ou a!resentem?l"e somente dados dXstorcidos ou incom!letosE com relatYrios ignorantesE mal feitos ou tendenciososE com !ro!aganda e falsidades deli/eradasE e destruiro seus !roc de raciocXnio e o transformaro em algo inferior a um "omem1 Art"ur ,a#s 'ul&/erger AddressE 8e4 6or% 'tate Pu/lis/er=s AssociationE 9CJD 8este ca!XtuloE a!renderemos> 91 PorMue os modelos de dados so 3teis em anlise de sistemas1 :1 $s com!onentes de um diagrama de entidades? relacionamentos1 @1 Como desen"ar um diagrama de entidades?relaciona mentos1 J1 Como refinar um diagrama inicial de entidades? relacionamentos1 8este ca!Xtulo .amos eW!lorar uma notao grfica !ara modela gem de dados1 $ diagrama de entidades?relacionamentos Ftam/2m con"ecido como diagrama DE* ou E?*O 2 um modelo em rede Mue :DC descre.e a diagramao dos dados arma&enados de um sistema em alto nX.el de a/strao1 Ele 2 inteiramente diferente de um diagrama de fluWo de dados Mue modela as fun0es eWecutadas !or um sistema e 2 diferente do diagrama de transi0es de estadoE Mue modela o com!or tamento tem!o?de!endente de um sistema1 Por Mue estarXamos interessados no modelo de dados de um siste ma Primeiro !orMue as estruturas de dados e os relacionamentos !odem ser to com!leWos Mue deseLamos e.idenci?los e eWamin?los inde!en dentemente do !rocessamento Mue ocorrer1 IssoE na realidadeE 2 es!e cialmente .erdadeiro Muando mostramos nosso modelo do sistema aos usurios eWecuti.os de alto nX.el na organi&ao F.ice?!residentes ou c"efes de de!artamentos Mue !odem no estar interessados nos detal"es o!eracionais do dia?a?dia do sistemaO1 Esses usurios esto muitas .e&es mais interessados em> de Mue dados !recisamos !ara nossos negYcios[ Como esses dados se relacionam com outros dados[ A Muem !ertencem os dados[ Tuem est autori&ado a ter acesso a esses dados[ Algumas dessas !erguntasE acesso a dados e !ro!riedade de dadosE !or eWem!loE !odem ser da res!onsa/ilidade de um dedicado gru!o dentro da organi&ao1 $ gru!o de administrao de dados Fou gru!o de ADO muitas .e&es 2 res!ons.el !elo gerenciamento e controle das informa0es essenciais da em!resaV sem!re Mue for iniciar a construo de um no.o sistema de informa0es .ocA !recisar con.ersar com essas !essoas !ara !oder coordenar as informa0es de seu sistema com o modelo glo/al de informa0es de nX.el em!resarial de res!onsa/ilidade delas1 $ diagrama de entidades?relacionamentos 2 uma ferramenta de modelagem 3til !ara esses contatos1 Muitas .e&es eWiste um outro gru!o com o mesmo nome dentro da organi&ao> o gru!o de administrao do /anco de dados FZs .e&es con"ecido !elo nome de gru!o de ABD ou DBAO1 Esse gru!o "a/itual mente est locali&ado dentro do de!artamento de PD Fem/ora o gru!o de administrao de dados no esteLa necessariamente locali&ado da mesma maneiraOE e sua tarefa 2 assegurar Mue os /ancos de dados com !utadori&ados seLam organi&adosE gerenciados e controlados de modo eficiente1 Dessa formaE eles muitas .e&es formam a eMui!e de im!lemen tao res!ons.el !or tomar um modelo essencial Finde!endente de uma tecnologia es!ecXficaO e tradu&i?lo !ara um !roLeto de /anco de dados fisico e0ea& e eficiente !ara o IM'E ADABA'E IDM'E T$TA- ou algum outro sistema de gerenciamento de /anco de dadosE $ diagrama de entidades?relacionamentos 2 uma efica& ferramenta de modelagem !ara comunicao com o gru!o de ABD1 Com /ase nas informa0es a!resentadas !elo DE*E o gru!o de administrao de /ancos de dados !ode iniciar a .erificao de Mue ti!o de c"a.esE Xndices ou !onteiros sero necessrios !ara o/ter acesso eficiente aos registros dos /ancos de dados1 :CH Para o analista de sistemas o DE* tam/2m 2 um im!ortante /ene ficio> ele reala os relacionamentos entre os de!Ysitos de dados de um DFD Mue de outro modo sY seriam !erce/idos nas es!ecifica0es de !rocessos1 Por eWem!loE um DE* tX!ico 2 mostrado na figura 9:191 Cada um dos retPngulos corres!onde a um de!Ysito de dados de um DFD Fessa corres!ondAncia ser eWaminada mais adianteE no ca!Xtulo 9JO e !ode?se .er Mue eWistem relacionamentos FconeW0esO Mue normalmente no seriam .istos em um DFD1 Isso se de.e ao fato de Mue o DFD focali&a a ateno do leitor !ara as fun0es Mue o sistema eWecuta e no !ara os dados de Mue ele necessita1 Consideremos um caso eWtremo> e se no "ou.esse fun0es a eWecutar[ E se o !ro!Ysito do sistema em construo no fosse fa&er alguma coisaE mas a!enas ser o re!ositYrio de um grande .olume de informa0es de interesse[ 7m sistema assim !oderia ser c"amado de sistema de consultas ad "Yc ou sistema de a!oio a decis0es1 Em tal sis temaE !odemos nos concentrar inteiramente no modelo de dados sem nem mesmo nos !reocu!armos na ela/orao do modelo de DFD orien tado !ara as fun0es1 Essa situao 2E de fatoE muito rara> a maioria dos sistemas tem fun0es a serem eWecutadasV com freMaAncia desco/rimos Mue construir o modelo de dados em !rimeiro lugar facilita desco/rir Muais so as fun0es necessrias1 8aturalmente Mue a notao do DE* da figura 9:19 2 inteiramente misteriosa !or enMuanto1 8as !rYWimas se0es eWaminaremos a estrutura e os com!onentes de um DE*V de!ois discutiremos diretri&es !ara dese n"armos um DE* /em estruturado1 A notao a!resentada neste ca!Xtulo *EP1 DE QE8DA' Figura 9:19> 7m diagrama de entidades?relacionamentos tX!ico :C9 deri.a de -Fla.inE 9CD99 e 2 semel"ante Z notao desen.ol.ida !or d 9CK<9E d 9CD:9E d 9CD<9 e outros1 9:19 $' C$MP$8E8TE' DE 7M DE* $s Muatro !rinci!ais com!onentes de um diagrama de entidades? relacionamentos I 91 Ti!os de o/Letos :1 *elacionamentos @1 Indicadores associati.os de ti!os de o/Letos J1 Indicadores de su!erti!osGsu/ti!os 9:1919 Ti!os de $/Letos 7m ti!o de o/Leto 2 re!resentado !or um retPngulo em um diagra ma de entidades? relacionamentosV a figura 9:1: mostra um eWem!lo1 Ele re!resenta uma coleo ou um conLunto de o/Letos FcoisasO do mundo real cuLos mem/ros indi.iduais FeWem!lares ou instPnciasO tAm as seguintes caracterXsticas> j Cada um deles sY !ode ser identificado de uma 3nica forma1 EWiste algum modo de diferenar as instPncias indi.iduais do ti!o de o/Leto1 Por eWem!loE se ti.ermos um ti!o de o/Leto c"a mado de C-IE8TEE !recisamos ser ca!a&es de distinguirmos um cliente de outro Ftal.e& !or um n3mero de contaE !elo 3ltimo so/renome ou !ela inscrio no I8P'O1 'e todos os clientes fo rem iguais Fno caso de uma em!resa cuLos clientes seLam !es soas descon"ecidas Mue entram e fa&em com!rasOE C-IE8TE' ser um ti!o de o/Leto sem significado1 C-IE8TE Figura 9:1:> 7m ti!o de o/Leto :C: j Cada um eWerce um !a!el no sistema em construo1 Isto 2E !ara Mue o ti!o de o/Leto seLa legXtimo 2 necessrio Mue o sis tema no !ossa funcionar sem acesso aos mem/ros desse ti!o de o/Leto1 'e esti.ermos desen.ol.endo um sistema de entrada de !edidos !ara nossa loLaE !or eWem!loE !ode ocorrer?nos MueE al2m dos clientesE a loLa tem um gru!o de ser.entesE cada um dos Muais 2 identificado indi.idualmente !elo nome1 Em/ora os ser.entesE !resumi.elmenteE eWeram um !a!el 3til na loLaE o sistema de entrada de !edidos !ode funcionar !erfeitamente sem elesE !ortantoE eles no merecem ter um !a!el de ti!o de o/Leto no modelo de nosso sistema1 $/.iamenteE isso 2 algo Mue de.e ser confirmado com os usurios Muando .ocA esti.er construindo o modelo1 j Cada um !ode ser descrito !or um ou mais elementos de dados1 Desse modoE um C-IE8TE !ode ser descrito !or esses elemen tos de dados !elo nomeE endereoE limite de cr2dito e n3mero do telefone1 Muitos li.ros so/re /ancos de dados descre.em isso como sendo atri/uio de elementos de dados a um ti!o de o/Leto1 $/ser.e Mue os atri/utos de.em se a!licar a cada ins tancia do ti!o de o/LetoV !or eWem!loE cada cliente de.e ter um nomeE endereoE limite de cr2ditoE n3mero dc telefoneE e assim !or diante1 Em muitos dos sistemas Mue desen.ol.emosE os ti!os de o/Letos sero a re!resentao de uma coisa material do mundo real1 Desse modoE o/Letos tX!icos so clientesE itens de in.entrioE em!regadosE !eas fa/ricadas e coisas semel"antes1 $ o/Leto 2 a coisa material do mundo realE e o ti!o de o/Leto 2 a re!resentao no sistema1 EntretantoE um o/Leto tam/2m !ode ser imaterial> escalasE !lanosE !adr0esE estrat2 gias e ma!as so a!enas alguns eWem!los1 Como !essoas so muitas .e&es ti!os de o/Letos em um sistemaE lem/re?se de uma outra coisa> uma !essoa FouE !ara este assuntoE Mual Muer outra coisa materialO !ode re!resentar .rios ti!os diferentes de o/Letos em modelos de dados diferentes ou at2 no mesmo modelo de dados1 Ros2 da 'il.aE !or eWem!loE !ode ser um EMP*EGAD$ em um modelo de dados e um C-IE8TE em um outro modeloV ele !oderia ser tam/2m um EMP*EGAD$ e um C-IE8TE no mesmo modelo de dados1 $/ser.e Mue em todos os eWem!los de o/LetosE utili&amos a forma singular de um su/stanti.o Fem!regadoE clienteO1 Isso no 2 o/rigatYrioE mas 2 uma con.eno 3til1 Como .eremos no ca!Xtulo 9JE eWiste uma corres!ondAncia entre os o/Letos do DE* e os de!Ysitos do DFDV assimE se eWiste um o/Leto C-IE8TE no DE*E de.e "a.er um de!Ysito C-IE8TE' no DFD1 :C@ 9 9:191: *elacionamentos $s o/Letos so interligados !or relacionamentos1 7m relaciona mento re!resenta um conLunto de coneW0es entre o/Letos e 2 re!resenta do !or um losango1 A figura 9:1@ mostra um relacionamento sim!les Mue !ode eWistir entre dois ou mais o/Letos1 Figura 9:1@> 7m relacionamento ^ im!ortante recon"ecer Mue o relacionamento re!resenta um conLunto de coneW0es1 Cada instPncia do relacionamento re!resenta uma associao entre &ero ou mais ocorrAncias de um o/Leto e &ero ou mais ocorrAncias de outro o/Leto1 Dessa formaE na figura 9:1@E o relacio namento rotulado C$MP*A !ode conter as seguintes instPncias indi.iduais> j instPncia 9> cliente 9 com!ra item 9 j instPncia :> cliente : com!ra iteris : e @ j instPncia @> cliente @ com!ra item J j instPncia J> cliente J com!ra itens IE < e K j instPncia I> cliente I no com!ra itens j instPncia <> clientes < e K com!ram item D j instPncia K> clientes DE C e 9H com!ram itcns CE 9H e 99 j etc1 AssimE como se !ode .erE um relacionamento !ode interligar duas ou mais instPncias do mesmo o/Leto1 $/ser.e Mue o relacionamento re!resenta alguma coisa Mue de.e ser recordada !elo sistema ? alguma coisa Mue no !ode ser calculada ou deri.ada mecanicamente1 Akm sendoE nosso modelo de dados da figura 9:1@ indica Mue eWiste alguma im!ortante ra&o relati.a ao usurio :CJ !ara recordar o fato de Mue o cliente 9 com!ra o item 9 etc1 $ relacio namento tam/2m indica Mue no " nada a !riori Mue nos !ermitisse determinar Mue o cliente 9 com!rasse o item 9 e nen"um outro item1 $ relacionamento re!resenta a memYria do sistema= Fum o/Leto tam/2m re!resenta a memYria do sistemaE 2 claroO1 $/ser.e tam/2m Mue !ode "a.er mais de um relacionamento entre dois o/Letos1 A figura 9:1JE !or eWem!loE mostra dois diferentes relacio namentos entre um PACIE8TE e um M^DIC$1 o !rimeira .istaE .ocA !oderia !ensar Mue isso 2 insistir no Y/.io> a cada .e& Mue o m2dico atende o !aciente ele co/ra alguma coisa desse mesmo !aciente1 Mas a figura 9:1J sugere Mue a situao !ode ser diferenteV ela !ode re.elarE !or eWem!loE Mue eWistem di.ersas instPncias diferentes de um _tra tamento] entre um m2dico e o mesmo !aciente Fuma consulta inicialE as consultas su/seMaentes etc1O1 A figura 9:1J mostra tam/2m Mue o rela cionamento de co/rana 2 totalmente se!arado do relacionamento de consulta> alguns !acientes tal.e& sY seLam co/rados !ela !rimeira con sultaE enMuanto outros o seLam em cada consultaE e outros ainda tal.e& nunca seLam co/rados1 7ma situao mais corriMueira 2 "a.er m3lti!los relacionamentos entre m3lti!los o/Letos1 A figura 9:1I mostra o relacionamento Mue Figura 9:1J> M3lti!los relacionamentos entre o/Letos :CI ti!icamente eWiste entre um com!radorE um .endedorE um corretor imY.eisE o re!resentante do com!rador e o re!resentante do .ende !ara a com!ra e .enda de uma casa1 Em um diagrama com!leWo como o da figura 9:1I FMue 2 tX!ico no mais sim!lesE dos DE* Mue .ocA !ro.a.elmente encontrar em Letos reaisOE o relacionamento e seus ti!os de o/Letos interligados de ser udos em conLunto1 $ relacionamento !ode ser descrito do !onto .ista de MualMuer dos ti!os de o/Letos !artici!antesE e todos esses !or de .ista so .lidos1 8a .erdadeE 2 o conLunto desses !ontos de .ista descre.e de maneira com!leta o relacionamento1 Por eWem!loE na fig 9:1I !odemos ler o relacionamento negocia !reo em MualMuer das maneiras seguintes> 91 Corretor de imY.eis negocia !reo entre com!radoi .endedor1 :1 Com!rador negocia !reo com .endedor !or interm2dio corretor de imY.eis1 @1 Qendedor negocia !reo com com!rador !or interm2dio corretor de imY.eis1 Figura 9:1I> M3lti!los relacionamentos entre m3lt& o/Letos $/ser.e MueE em alguns casosE !odemos ter relacionamentos cn diferentes instPncias do mesmo ti!o de o/Leto1 ImagineE !or eWcm! um sistema em desen.ol.imento !or uma uni.ersidadeE no Mual C7*' E'T7DA8TE E P*$FE''$* seLam ti!os de o/Lctos1 A maioria d :C< relacionamentos em Mue .amos nos concentrar est entre instPncias de diferentes ti!os de o/Letos F!1eW1 _inscre.e?se]E _ensina] etc1O1 EntretantoE !odemos !recisar modelar o relacionamento _2 !r2?reMuisito !ara] entre uma instPncia e outra de C7*'$1 9:191@ 8otao Alternati.a !ara *elacionamentos Como .imos na seo 9:191: os relacionamentos no diagrama E?* so multidlreciona !odem ser udos em MualMuer direo1 Qimos tam /2m Mue o diagrama E?* no a!resenta cardinalidadeE isto 2E no mostra o n3mero de o/Letos Mue !artici!am de um relacionamento1 Isso 2 algo consciente e deli/erado> 2 !referX.el colocar esses detal"es no dicionrio de dados1 Isso ser discutido na seo 9:1@1 7ma notao alternati.a usada !or alguns analistas de sistemas mostra tanto a cardinalidade como a ordinalidade1 Por eWem!loE a figura 9:1<FaO mostra um relacionamento entre C-IE8TE e ITEM no Mual a notao adicional indica Mue F9O $ C-IE8TE 2 o !onto dc fiWaoE o o/Leto !rinci!al de cuLo !onto de .ista ser lido o relacionamento : F:O $ relacionamento consiste em um cliente interligado a 8 itens1 Isto 2E um cliente indi.idual !ode com!rar $E 9E :E 111 ou 8 itens1 EntretantoE o relacionamento indica Mue a!enas um cliente !ode estar en.ol.ido em cada instPncia de um relacionamento1 Isso im!ediriaE !or eWem!loE o caso em Mue .rios clientes esteLam en.ol.idos na com!ra do mesmo item1 Ii 8I Cliente1 Item Figura 9:1< FaO> 8otao de !onto defira o !ara diagramas E?* $utra notao de uso comum 2 mostrada na figura 9:1<F/OV a seta de !onta du!la 2 utili&ada !ara indicar um relacionamento um?!ara? muitosE enMuanto a seta de !onta singela 2 em!regada !ara indicar rela cionamentos um?!ara?um entre o/Letos1 com!ra ClienteItem Figura 9:1< F/O> 8otao alternati.a !ara relacionamentos um?!ara?muitos :CK Diagramas E?* assim so discutidos detal"adamente em d 9CK<eE d 9CD:e e lDateE 9CD<91 EntretantoE eu !refiro no incluir esses detal"es !orMue eles !odem ser facilmente incluXdos no dicionrio de dados Fcomo !ode ser .isto na seo 9:1JOE e eles fa.orecem o des.io da ateno do !ro!Ysito !rinci!al do diagrama E?*E Mue 2 dar uma .iso geral dos com!onentes de um sistema e das interfaces entre os elemen tos de dados desse mesmo sistema1 A!esar de no "a.er nada intrinseca mente errado com anota0es !rocedurais no diagramaE min"a eW!eriAn cia ensina Mue os analistas de sistemas muitas .e&es le.am uma /oa id2ia longe demais e so/recarregam o diagrama com muito mais informa0es do Mue seria adeMuado1 9:191J Indicadores de Ti!os de $/Letos Associati.os 7ma notao es!ecial em diagramas E?* 2 o indicador de ti!os de o/Leto associati.osV ele re!resenta alguma coisa Mue funciona tan to como um o/Leto Muanto como um relacionamento1 $utro modo de encarar o ti!o de o/Leto associati.o 2 considerar Mue ele re!resen ta um relacionamento so/re o Mual Mueremos manter algumas informa0es 1 ConsidereE !or eWem!loE o caso sim!les de um cliente Mue com!ra um item Fou itensOE re!resentado na figura 9:1<1 8o im!ortando se incluXmos a anotao !rocedural ou noE o im!ortante 2 Mue o relacio namento de C$MP*A nada mais fa& do Mue associar um C-IE8TE e um ou mais ITEM F8'O1 MasE su!on"a Mue eWistam alguns dados Mue deseLamos lem/rar so/re cada instPncia de uma com!ra FeW1> a "ora do dia em Mue ela ocorreuO1 $nde !oderXamos arma&enar essa informao[ _,ora do dia] no 2 certamente um atri/uto de C-IE8TE nem de ITEM1 Em .e& dissoE atri/uXmos _"ora do dia] !rY!ria com!ra e a mostramos em um diagrama como o da figura 9:1K1 %lgura 9:1K> 7m indicador de ti!o de o/Leto associati.o :CD $/ser.e Mue C$MP*A 2 agora escrita dentro de um retPngulo e Mue est ligada !or uma lin"a direta a um losango sem nome de relacio namento1 Isso ser.e !ara indicar Mue C$MP*A funciona como> j 7m ti!o de o/LetoE alguma coisa so/re a Mual Mueremos arma&e nar informa0es1 8este casoE Mueremos lem/rar a "ora em Mue ocorreu a com!ra e o desconto oferecido ao cliente Fno.amente se !resume Mue tais informa0es no !odem ser deri.adas !elo sistema de!ois do fato ocorridoO1 j 7m relacionamento interligando os ti!os de o/Letos C-IE8TE e rFEM1 $ im!ortante aMui 2 Mue C-IE8TE e ITEM !ermanecem como esto1 Eles eWistiriam ocorrendo ou no uma com!ra 1 Por outro ladoE uma C$MP*A de!ende o/.iamente de CIRE8TE e de ITEM !ara sua !rY!ria eWistAncia1 Ela sY !assa a eWistir como resulta do de um relacionamento entre os o/Letos aos Muais ela est interligada1 $ relacionamento na figura 9:1K foi deli/eradamente deiWado sem nome1 Isso se de.e ao fato de o indicador do ti!o de o/Leto associati.o FC$MP*AO ser tam/2m o nome do relacionamento1 9:191I Indicadores de 'u/ti $s ti!os de o/Letos su/ti!oGsu!erti!o consistem em um o/Leto e uma ou mais su/categoriasE interligados !or um relacionamento1 A figu ra 9:1D t um su/ti!oGsu!erti!o tX!ico> a categoria geral 2 EM P*EGAD$ e as su/categorias so EMP*EGAD$ A''A-A*IAD$ e EMP*EGAD$ ,$*+*I$1 $/ser.e Mue os su/ti!os so interligados ao su!erti!o !or meio de um relacionamento sem nomeV note ainda Mue o su!erti!o 2 interligado ao relacionamento !or uma lin"a cortada !or uma !eMuena /arra1 8essa notao o su!erti!o 2 descrito !or elementos de dados Mue se a!licam a todos os su/ti!os1 Por eWem!loE na figura 9:1DE !odemos imaginar Mue todos os em!regados so descritos !or> j 8ome j Anos de ser.io j Endereo j 8ome do su!er.isor :CC Figura 9:1D> 7m indicador de su!ert&!oGsu/>i!o EntretantoE cada su/ti!o 2 descrito !or diferentes elementos de dadosV caso contrrioE nada "a.eria Mue os !udesse distinguir1 Por eWem !loE !odemos imaginar Mue um EMP*EGAD$ A''A-A*IAD$ seLa des crito !or> j 'alrio mensal j Percentagem anual de /Nnus j Total !ermitido !ara o carro da em!resa E o EMP*EGAD$ ,$*+*I$ fosse descrito !or> j 'alrio "orrio j Qalor da "ora eWtra j ,ora de inXcio 9:1: DI*ET*IgE' PA*A A C$8'T*7()$ DE DIAG*AMA' DE E8TIDADE'? *E-ACI$8AME8T$' A notao mostrada na ser anterior 2 suficiente !ara cons truLr diagramas de entidades? relacionamentos ar/itrariamente com !leWos1 EntretantoE .ocA !ode estar se !erguntando> \Como sa/er Muais o/Letos e relacionamentos esto em !rimeiro lugar[]1 'eu modelo inicial @HH de ti!os de o/Letos e relacionamentos deri.ar "a/itualmente de F9O seu con"ecimento da a!licao do usurioE F:O entre.istas com o usurio e F@O alguma outra !esMuisa e coleta de dados Mue .ocA faa Fas t2cnicas !ara entre.istas e coleta de dados so discutidas no a!Andice EO1 QocA no de.e es!erar Mue o !rimeiro diagrama de E?* Mue .ocA desen"ar ser uma .erso final Mue ser re.ista com a comunidade usuria ou Mue ser entregue aos !roLetistas de sistemas1 Assim como os diagramas de fluWos de dados e todas as outras ferramentas de modela gem de sistemasE os diagramas de E?* de.em ser re.istos e a!erfeioa dos .rias .e&es1 A !rimeira .erso ser normalmente nada mais Mue um es/ooE e as .ers0es su/seMaentes sero !rodu&idas com a utili&ao de uma s2rie de diretri&es de refinamento a!resentadas nesta seo1 Algu mas das diretri&es de refinamento condu&iro Z criao de ti!os de o/Le tos adicionaisE enMuanto outras le.aro Z eliminao de ti!os de o/Letos eGou de relacionamentos1 9:1:19 A Incluso de T de $/Letos Adicionais Como dito acimaE seu DE* inicial ser normalmente criado a !artir de entre.istas iniciais com o usurio e de seu con"ecimento do ramo da em!resa do usurio1 IssoE naturalmenteE !ro!orcionar?l"e? uma /oa indicao de como identificar os !rinci!ais o/Letos e relacionamentos A!Ys o desen.ol.imento da .erso inicial do DE*E a eta!a seguinte a ser eWecutada 2 a de designar os elementos de dados do sistema aos di.ersos ti!os de o/Letos1 Isso naturalmente !resume Mue .ocA con"ea Muais so os elementos de dados` Isso !ode ocorrer em uma de trAs maneiras> 91 'e o modelo do !rocesso FDFDO L foi desen.ol.ido ou esti.er sendo desen.ol.ido em !aralelo com o modelo de dadosE ento L eWiste um dicionrio de dados1 Ele !ode ainda no estar com!letoE mas ser suficiente !ara se dar inXcio ao !rocesso de designa0es1 :1 'e o modelo do !rocesso no foi desen.ol.ido FouE no caso eWtremoE .ocA no !retende desen.ol.er umOE ento .ocA ter de comear a entre.istar todos os usurios a!ro!riados !ara ela/orar uma lista com!leta de elementos de dados Fe suas defini0esO1 Ao termin?laE .ocA !ode atri/uir os elementos de dados !ara os o/Letos do diagrama E?* FentretantoE o/ser.e Mue isso 2 um !rocesso /ottom?u! Mue consome muito tem!o e Mue !ode causar atrasos e frustra0esO1 @H9 @1 'e .ocA esti.er tra/al"ando com um gru!o de administrao de dados ati.oE " uma /oa !ossi/ilidade de Mue o dicionrio de dados L eWista1 QocA !oder rece/A?lo logo nas eta!as iniciais do !roLetoE a !artir de Muando .ocA !oder iniciar o !rocesso de designa0es1 $ !rocesso de designa0es !ode a!resentar um destes trAs moti.os !ara a criao de no.os ti!os de o/Letos> 91 QocA !ode desco/rir elementos de dados Mue !odem ser desig nados !ara algumas instPncias de um ti!o de o/LetoE mas n !ara outros1 :1 QocA !ode desco/rir alguns elementos de dados Mue seLam a!li c.eis a todas as instPncias de dois o/Letos diferentes1 @1 QocA !ode desco/rir Mue alguns elementos de dados descre.em relacionamentos entre outros ti!os de o/Letos1 'eE durante o !rocesso de designao de elementos de dados a ti!os de o/LetosE .ocA desco/rir Mue alguns elementos de dados no !odem ser a!licados a todas as instPncias dc um ti!o de o/LetoE .ocA !recisar criar um conLunto de su/ti!os a/aiWo do ti!o de o/Leto com Mue .ocA est tra/al"ando e designar aMueles elementos de dados aos su/ti!os adeMuados1 'u!on"aE !or eWem!loE Mue .ocA esteLa desen.ol.endo um sis tema de !essoalE e identificou Fcom eWtraordinrio /ril"o e criati.idade`O um ti!o de o/Leto c"amado EMP*EGAD$1 Ao re.isar os elementos de dados dis!onX.eisE .ocA desco/riu Mue muitos deles FIdadeE alturaE data?de?admisso etc1O so a!lic.eis a todas as instPncias de um em!regado1 EntretantoE !osteriormente .ocA desco/re um elemento de dado c"amado n3mero?de?gra.ide&esV isso 2E e.identementeE um ele mento de dado im!ortante !ara em!regados mul"eres mas no !ara em!regados "omens1 Isso o le.aria a criar EMP*EGAD$?,$MEM e EMP*EGAD$?M7-,E* como su/ti!os !ara a categoria geral de em!regado1 $/.iamenteE no estou sugerindo Mue todos os sistemas de !es soal de.am controlar o n3mero de gra.ide&es Mue cada em!regado te.eV o eWem!lo foi escol"ido a!enas !orMue 2 do consenso geral Mue os em!regados "omens no !odem engra.idar1 Com!are issoE no en tantoE com o elemento de dado nome?do?cNnLuge> eWistem di.ersas instPncias de EMP*EGAD$ !ara as Muais nome?do?cNnLuge tal.e& no !ossa F81T1> no original _ma# not]O se a!licar F!orMue no esto !resentemente casadosOE mas esta 2 uma situao muito diferente da de @H: um elemento de dado Mue no !ode F8T1> no original \cannot]O ser a!licado < 8a maioria dos casosE o !rocesso de criao dc no.os su/ti!os e de designao de elementos de dados de forma a!ro!riada 2 muito direto1 EntretantoE lem/re?se de uma eWceo> !ode ocorrer Mue lodos os elementos de dados rele.antes seLam designados !ara um dos su/ti!os e Mue nen"um desses elementos de dados !ossa ser designado !ara o o/Leto su!erti!oV isto 2E !ode ocorrer Mue os elementos de dados seLam mutuamente eWclusi.osE !ertencendo a um su/ti!o ou a outroE mas no a am/os1 'u!on"a Mue os 3nicos elementos de dados Mue !odemos designar !ara em!regados seLam n3mero?de? gra.ide&es e anos?de?eW !eriAnc lorMue1 PoderXamos decidir com ra&o Fde!ois de imaginar Mue ti!o de luntico seria o usurio res!ons.el !or tal sistema`O Mue o su!erti!o geral de EMP*EGAD$ no 2 a!lic.el1 A situao o!osta tam/2m !ode ocorrer> os elementos dc dados !odem descre.er instPncias de dois Fou maisO diferentes ti!os de o/Letos do mesmo modo1 'e isso ocorrerE ser !reciso criar um no.o su!erti!o e designar os elementos de dados comuns !ara o su!eru!o1 Por eWem!loE !odemos ter identificado ClIE8TE?DI8,EI*$ e ClIE8TE? CA*T)$? DE?C*^DIT$ como dois ti!os de o/Letos distintos ao ela/orarmos o !ri meiro DE* !ara um sistema dc entrada dc !edidos Ftal.e& !orMue o usurio nos ten"a dito Mue eram duas categorias distintasO1 EntretantoE !ode logo tornar?se e.idente Mue os elementos de dados nome?do? cliente e endereo?do?cliente descre.em am/os os ti!os de cliente da mesma formaV isso le.aria Z criao dc um su!erti!oE como mostrado na figura 9:1C1 De modo semel"anteE se um elemento de dados descre.er a interao de um ou mais ti!os de o/LetosE de.emos su/stituir o C-IE8TE DE C-IE8TE A CA*TA$ DE DI8,EI*$ C*^DIT$ SSSSSSSSSSSS Figura 9:1C> Criao de um no.o o/Leto su!erli!oGsu/ti!o @H@ relacionamento _nu] entre os dois o/Letos !or um ti!o de o/Lete as sociati.o1 EWamineE !or eWem!loE o DE* de !rimeira .erso mostrado na figura 9:19HFaO na Mual eWiste o relacionamento C$MP*A entre C-IE8TE e 9TEM1 Durante a designao dos elementos de dadosE !o demos desco/rir Mue " um elemento dc dado c"amado data?da?com!ra Mue F9O !arece !ertencer ao relacionamento C$MP*A e F:O o/.iamente descre.eE ou fornece dados so/reE a interao de um C-IE8TE e um ITEM1 Isso sugere Mue de.erXamos su/stituir o relacionamento C$MP*A !or um ti!o de o/Leto associati.oE como se .A na figura 9:19HF/O1 C-IE8TE ITEM Figura 9:19H FaO> 7m diagrama de E?* inicial Figura 9:19H F/O> 'u/stituio dc um relacionamento !or um ti!o de o/Leto associati.o Por .e&es o diagrama dc E?* inicial cont2m um ti!o de o/Leto Mue em mel"or anlise merece ser um ti!o dc o/Leto associati.o1 Por eWem !loE a figura 9:199FaO mostra um diagrama de l com trAs o/Letos rela cionados entre 'i> C-IE8TEE PEDID$ e P*$D7T$1 IOurante o !rocesso de designao de elementos dc dados !ara os di.ersos o/LetosE desco/ri mos Mue data?da?entrega de.e !ertencer ao o/Leto PEDID$V afinalE os clientes no so _entregues] e os !rodutos sY so entregues como resul tado de um !edido1 8a .erdadeE o raciocXnio so/re isso torna e.idente Mue PEDID$ 2 um relacionamento entre C-IE8TE e P*$D7T$E /em como um o/Leto so/re o Mual deseLamos memori&ar certos fatos1 Isso nos le.a figura 9:199F/O1 Por fimE temos o caso dos gru!os re!etiti.os1 ConsidereE !or eWem !loE $ ti!o de o/Leto EMP*EGAD$E com elementos de dados Y/.ios como nome e endereo1 Agora su!on"a Mue encontramos os elementos de dados adicionais nome?do?fil"oE idade?do?fil"o e seWo? do?fil"o1 Pode?se argumentar Mue nome?do?fil"oE idade?do?fil"o e seWo?do? fil"o seLam maneiras de se descre.er um no.o ti!o de o/Leto c"amado @HJ FI-,$E Mue inad.ertidamente foi em/utido anteriormente em EMP*EGAD$1 Tam/2m se !oderia argumentar Mue eWistem F!o tencialmenteO m3lti!las instPncias de informa0es relati.as a fil"os asso ciadas a cada instPncia de um em!regado e Mue cada instPncia de in forma0es relati.as a fil"os 2 identificada de forma eWclusi.a !or nome? do?fil"o1 8esse casoE o ti!o de o/Leto Mue ideali&amos inicialmente so/ a forma mostrada na figura 9:19:FaO de.e ser transformado em dois ti!os de o/LetosE interligados !or um no.o relacionamentoE como se !ode .er na figura 9:19:F/O1 Figura 9:19: FaO> Qiso inicial de um o/Leto Figura 9:199 FaO> 7m diagrama de E?* inicial Figura 9:199 F/O> 7m o/Leto transformado em o/Leto associati.o EMP*EGAD$ FI-,$ @HI Figura 9:19:F/O> Diagrama de E?* re.isto Esse !rocesso de remoo de o/Letos em/utidos 2 !arte de uma ati.idade de refinamento mais a/rangente con"ecida como normali&a oE $ o/Leti.o da normali&ao 2 !rodu&ir ti!os de o/Letos em Mue cada instPncia Fou mem/roO consiste em um .alor de c"a.e !rimria Mue identifica alguma entidadeE Luntamente com um conLunto de .alores de atri/utos mutuamente inde!endentes Mue descre.em aMuela entidade de algum modoE $ !rocesso dc normali&ao 2 descrito cm detal"es no ca!Xtulo 9J de d 9CD<9 e no ca!Xtulo 9C dc IDeMarcoE 9CKD91 9:1:1: A 'u!resso dc= Ti!os de $/Letos A seo anterior tratou dc refinamentos cm DE* Mue criam o/Letos eGou relacionamentos adicionais1 EntretantoE eWistem algumas situa0es em Mue o refinamento do DE* condu& Z su!resso de ti!os de o/Letos e relacionamentos redundantes ou errNneos1 Qamos eWaminar Muatro si tua0es comuns> 91 Ti!os de o/Letos com!ostos !or a!enas um identificador :1 Ti!os de o/Letos !ara os Muais eWiste a!enas uma instPncia @H< @1 Ti!os de o/Letos associati.os alternati.os J1 *elacionamentos deri.ados 'e "ou.er um diagrama dc E?* no Mual um dos ti!os dc o/Le tos tem a!enas um ident a ele designado como elemento dc da doE !ode "a.er uma o!ortunidade dc se eliminar o ti!o de o/Leto e de signar o identificador como um elemento dc dado cm um ti!o dc o/ Leto relacionado1 Por eWem!loE imaginemos Mue construXmos um dia grama de E?* inicial como mostrado na figura 9:19@FaO !ara um sistema de !essoal> EM P*EGAD$ ado com C8R7GE Figura 9:19@FaO> 7m diagrama de E?* inicial Durante o !rocesso de designao de elementos de dados !ara os di.ersos o/LetosE entretantoE !odemos desco/rir Mue a 3nica informao Mue o sistema de !essoal conser.a so/re um cNnLuge 2 o nome Fisto 2E o identificador Mue distingue um cNnLuge de todos os outros cNnLuges no sistemaO1 8esse casoE um refinamento Y/.io 2 eliminar C8R7GE como ti!o de o/Leto e incluir nome?do?cNnLuge como elemento de dados no o/Leto EMP*EGAD$1 $/ser.e Mue esse refinamento sY fa& sentido Muando eWiste uma corres!ondAncia de um? !ara?um entre as instPncias do o/Leto a ser elimi nado e as instPncias do o/Leto Mue l"e seLa relacionado1 $ eWem!lo imediatamente acima fa& sentido !orMue a sociedade moderna !resume @HK Mue uma !essoa dc.a terE no mWimoE um cNnLugeE o Mue nos condu& ao diagrama dc E?* redu&ido da figura 9:19@ - EMP*EGAD Figura 9:19@F/O> 7m dia*rama de E?* redu&ido Podemos o/ter uma reduo ainda maior se desco/rirmos Mue nosso diagrama de E?* inicial cont2m um o/Leto !ara o Mual o 3nico fato 2 o identificador e Mue 2 um o/Leto de uma 3nica instPncia Considere o diagrama de E?* inicial most1rado na figura l Figura 9:19J FaO> 7m diagrama de E?* inicial o !rimeira .istaE !arece ser um modo ra&o.el de mostrar o relacionamento entre !acientes e rem2dios Fou drogasE medicinaisE 2 claro`O em um "os!ital1 MasE su!on"a Mue a 3nica informao Mue temos so/re o rem2dio seLa seu nome FidentificadorOV e imagine Mue o "os!ital administra a!enas um li!o de droga FeW1> as!irinaOE 8esse casoE o rem2 dio 2 uma constante e nem mesmo !recisa a!arecer no diagrama Fo/ser .e Mue isso tam/2m significa Mue nosso sistema no ter um de!Ysito @HD c"amado rem2diosO1 $ diagrama redu&ido ficaria como o da figura 9:19JF/O1 Figura 9:19J F/O> Diagrama de E?* redu&ido Tendo cm .ista a situao acimaE 2 !ossX.el criar um ti!o de o/Le to associati.o alternati.o1 Considere a seguinte .ariao do eWem!lo anterior do "os!italE como mostrado na figura 9:19IFaO1 'eE como acima sugeridoE *EM^DI$ for um o/Leto somente identificador e dc instPncia 3nicaE de.e ser eliminado1 Isso daria como resultado o diagrama redu&ido mostrado na figura 9:19IF9iOV o/ser.e Mue T*ATAME8T$ ain da 2 um ti!o de o/Leto associati.oE a!esar de estar interligado a somente um outro ti!o de o/Leto1 Isso 2 con"ecido como um ti!o de o/Leto associati.o alternati.o e 2 inteiramente .lido Fem/ora um tanto inco mumO em um DE*1 Finali&andoE os relacionamentos Mue !ossam ser deri.adosE ou cal culadosE de.em ser remo.idos do diagrama de E?* inicial1 Como L foi dito neste ca!XtuloE o DE* de.e mostrar os reMuisitos dc dados arma&e nados1 Desse modoE na figura 9:19<FaOE se o relacionamento reno.a en tre M$T$*I'TA e -ICE8(A !uder ser deri.ado Fcom /ase na data de ani.ersrio do motoristaE ou na !rimeira letra de seu 3ltimo nome ou em PACIE8TE Figura 9:19I FaO> 7m d4 rama de E?* inicial @HC Figura 9:19<F/O> $ DE* redu&ido MualMuer crit2rio Mue seLa utili&ado !elo DET*A8OE de.eE entoE ser eliminado1 Isso nos condu& Z figura 9:19< na Mual os ti!os de o/Letos no so interligados1 Isso 2 inteiramente .lido em um DE*V no 2 ne cessrio Mue todos os u!os de o/Letos se interliguem1 9:1@ EXTE8'rE' A$ DICI$8+*I$ DE DAD$' PA*A DIAG*AMA' DE E?* Para finali&arE o/ser.amos Mue o dicionrio de dados discutido no ca!Xtulo 9H !recisa ser estendido !ara Mue seLa incluXda a notao !ara o Figura 9:19I F/O> $ diagrama de E?* redu&ido Figura 9:19< FaO> 7m E*D inicial M$T$*I'TA -ICE8(A @9H DE* discutida neste ca!Xtulo1 Em geralE os o/Letos do DE* corres!ondem aos de!Ysitos do DFDV o ca!Xtulo 9J a!resenta mais detal"es so/re este assunto1 Isso significa Mue na definio de dicionrio de dados a/aiWoE C-IE8TE tanto 2 uma definio do ti!o de o/Leto como uma instPncia do de!Ysito C-IE8TE'1 C-IE8TE' ? FC-IE8TEO C-IE8TE ? |8C}JE?D$??C-IE8TE t E8DE*E($ t 8xM Tgr $/ser.e tam/2m Mue a definio de um C-IE8TE inclui uma es!e cificao do cam!o de c"a.eE Mue 2 o elemento de dado Fou atri/utoO Mue distingue uma instPncia de um cliente de outraE $ sXm/olo _arro/a] F|O 2 utili&ado !ara indicar oFsO cam!oFsO c"a.eFsO 1 ContudoE tam/2m !recisamos incluir no dicionrio de dados uma definio de todos os relacionamentos mostrados no DE*1 A definio dos relacionamentos de.e incluir a descrico do significado do relacio namentoE dentro do conteWto da a!licaoV e de.e indicar os o/Letos Mue com!0em a associao1 De.em ser es!ecificados adeMuados limites su!erior e inferior !ara indicar se a associao 2 do ti!o um?!ara?umE um?!ara? muitos ou muitos?!ara?muitos1 Por eWem!loE o relacionamento com!ra mostrado na figura 9:19HFaO !oderia ser definido no dicionrio de dados da seguinte maneira> com!ra ? }a associao de um cliente e um ou mais itens } |id?cli1c t 9 { |id?item t Muantidada?com !rada 9:1J *E'7M$ $ DE* !ode ser uma .aliosa ferramenta !ara MualMuer sistema com m3lti!los de!Ysitos Fo/LetosO e com!leWos relacionamentos de dados1 Como .imos neste ca!XtuloE ele 2 inteiramente .oltado !ara os re lacionamentos de dadosE sem oferecer MuaisMuer informa0es so/re as flsn0es Mue criam ou utili&am os dados1 Em/ora ten"amos utili&ado o DE* neste li.ro como ferramenta de modelagem grfica !ara mostrar os relacionamentos de dadosE .ocA de .e estar cNnscio de Mue .rias outras ferramentas de modelagem so usadas !ara o mesmo fimV d 9CD:e e d 9CD<e mostram muitos eWem!los de ferramentas alternati.as de modelagem1 8este !ontoE muitos estudantes !erguntam se o DFD de.e ser desen.ol.ido antes do DE*E ou se 2 mel"or desen.ol.er !rimeiro o DE* @99 e de!ois o DFD1 8a realidadeE alguns estudantes indagam at2 se 2 de fato necessrio desen.ol.er am/os os modelosE uma .e& Mue tanto o DFD como o DE* oferecem tantas informa0es de interesse1 A res!osta Z !rimeira !ergunta 2 sim!les> no im!orta Mual seLa o modelo desen.ol .ido em !rimeiro lugar1 De!endendo de suas !rY!rias !referAncias ou das !referAncias do usurioE ou da nature&a do !rY!rio sistema Fisto 2E se ele 2 rico em fun0es ou rico em dadosOE um dos modelos muitas .e&es se e.idenciar como de.endo ser desen.ol.ido !rimeiro1 Em outros casosE entretantoE .ocA !erce/er Mue am/os de.em ser desen.ol.idos concorrentementeV isso 2 es!ecialmente comum Muando a eMui!e de !roLeto cont2m um gru!o distinto de !roLeto de /ancos de dadosE ou Muando o setor de PED tem um gru!o dc administrao de dados Mue desen.ol.e modelos consolidados de dados1 A segunda !ergunta 2 mais im!ortanteV 2 realmente im!ortante desen.ol.er dois diferentes modelos de um sistema FeE como .eremos no ca!Xtulo 9@E um terceiro modeloE o do com!ortamento tem!o? de!endente do sistemaO[ A res!osta 2 Mue isso de!ende do ti!o do sistema Mue se esteLa desen.ol.endo1 Muitos dos clssicos sistemas comerciais de !rocessamento de dados desen.ol.idos nos anos <H e KH a!arenta.am F!elo menos su!erficialmenteO consistir em muitas fun 0es com!leWasE mas com estruturas de dados relati.amente tri.iaisV desde ento foi enfati&ado o DFDE enMuanto o DE* foi muitas .e&es ignorado1 De maneira in.ersaE muitos dos sistemas de a!oio Z deciso e sistemas de consulta a /ancos de dados ad "oc construXdos nos anos DH a!arenta.am F!elo menos su!erficialmenteO ser com!ostos !or com!leWos relacionamentos de dadosE mas Muase sem ati.idades funcionaisV a !artir daX foi enfati&ado o lOE* e um tanto relegado o DFD1 As caracterXsticas tem!orais dos sistemas de tem!o?real construX dos nos anos <H e KH !areciam F!elo menos su!erflcialmcnteO domi nar MuaisMuer considera0es so/re fun0es e relacionamentos de dados1 8esses sistemas o modelo de transi0es de dados Fdiscutido no ca!Xtulo 9@O foi muitas .e&es enfati&ado a !onto de eWcluir os DFD e IOE*1 $s sistemas do final da d2cada de DH e dos anos CHE entretantoE ten dem a ser muito mais com!leWos do Mue $' sistemas de em!rego geral de uma ou duas d2cadas !assadasV na .erdadeE muitos deles so de 9HH a 91HHH .e&es maiores e mais com!leWos1 Muitos desses sistemas grandes e com!leWos tAm fun0es e relacionamentos e com!ortamento tem!o? de!endente incri.elmente com!leWosV considereE !or eWem!loE o siste ma 'tar 5arsE Mue se estima necessitar de 9HH mil"0es de instru0es de !rocessamento e Mue ter um com!ortamento de tem!o?real de es!anto sa com!leWidade1 Para sistemas assim to com!leWosE 2 Y/.io Mue todas as trAs ferramentas de modelagem discutidas neste li.ro sero critica mente im!ortantes1 Por outro ladoE se .ocA esti.er en.ol.ido em um sim !les sistema unidimensionalE .ocA tal.e& decida Mue !ode se concentrar @9: na ferramenta de modelagem Mue ilumina e reala o as!ecto mais im!ortante do sistema1 8o ca!Xtulo 9J .eremos como o DE*E o DFDE o diagrama de tran si0es de estadoE a es!ecificao de !rocessos e o dicionrio de da dos !odem ser .erificados um em relao aos outros !ara Mue se !ossa !rodu&ir um com!leto modelo do sistema Mue seLa internamente consistente1 *EFE*b8CIA' 91 Matt Fla.inE Fundamental Conce!ts ofinformation Modeling 8o.a lorMue> 6$7*D$8 PressE 9CD91 :1 Peter C"enE _T"e Entit#?*elations"i! Model ? To4ard a 7nified Qie4 of Data]E ACM Tran1sactions on Data/ase '#stemsE Qolume 9E 83mero 9 Fmaro 9CK<OE !gs1 C?@<1 @1 Peter C"enE T/e Entlt#?*elatXons"i! A!!roac" to -ogical Data/ase Design1 5ellesle#E Mass1> T1E1D1 Information 'ciencesE 9CKK1 J1 DC1 Tsic"rit&is e F1,1 -oc"o.s%#E Data Modeis1 Engle4ood CliffsE 81R1> Prentice?,allE 9CD:1 I1 Rames MartinE Com!uter Data/ase $i Engle4ood CliffsE 81R1> Prentice?,allE 9CD:1 <1 Proceedings oft"e International Conference on Data Engineering1 5as"ingtonE D1C1> IEEE PressE 9CDJ1 K1 C1R1 DateE An Introduction to Data/ase '#stemsE J ed1 *eadingE Mass1> Addison? 5esle#E 9CD<1 D1 'all# '"laer e 'te!"en MeliorE $/Lect?$riented '#stems Anal#sis> Modeling t"e 5orld in Data1 Engle4ood CliffsE 81R1> 6$7*D$8 PressE 9CDD1 C1 *1 Qer#ardE Pragmatic Data Anal#sis1 $WfordE 71K1> Blac%4ell 'cientific Pu/licationsE 9CDJ1 9H1 Reffre# 7llmanE Princi!ies of Data/ase '#stems1 PotomacE Md1> Com!uter 'cience PressE 9CD:1 991 Tom DeMarcoE 'tructuredAnal#sis and '#stem '!ec 8o.a TorMue> 6$7*D$8 PressE 9CKD1 PE*G78TA' E EXE*CcCI$' 91 $ Mue 2 um diagrama de entidades?relacionamentos[ Para Mue ser.e[ :1 Por Mue um DE* 2 diferente de um diagrama de fluWo de dados[ @1 Por Mue as !essoas se interessam !or modelos de dados[ @9@ J1 Tue gru!o al2m dos analistas de sistemas !ode criar modelos de dados em uma em!resa[ I1 Por Mue o gru!o de DBA de uma em!resa 2 normalmente interes sado em modelos de dados[ <1 Tuais so os Muatro !rinci!ais com!onentes de um diagrama de entidades? relacionamentos[ K1 Tual 2 a definio de um ti!o de o/Leto[ D1 Tual 2 a diferena entre um o/Leto e um ti!o de o/Leto[ C1 Tuais so os trAs crit2rios Mue um ti!o de o/Leto de.e satisfa&er[ >9H Tue itens da lista a/aiWo !odem ser ti!os de o/Letos aceit.eis em um sistema comercial tX!ico[ Para os Mue .ocA considerar como no aceit.eisE eW!liMue o !orMuA1 FaO \cliente] F/O ;calcular im!osto so/re .endas] FcO ;altura] FdO ;!roduto] FeO \tomate] FfO \religio] Fk ;tem!eratura] F"O _transao de edio] FiO ;!ea fa/ricada] FLO _ma!a] F%O ;caracter A'CII] 991 Tual 2 a definio de relao[ 9:1 Tuantos ti!os de o/Letos !odem ser interligados !or uma relao[ 9@1 Tue itens da lista a/aiWo !odem ser considerados como relacio namentos em um DE* e Muais no !odem[ Por MuA[ FaO ;com!ra] F.er/oO F/O ;cliente] FcO _!ertence a] FdO ;!eso] FeO ;!rodu&] FfO _clculo do im!osto so/re .endas] 9J1 Tual 2 a diferena entre um relacionamento deri.ado e um recor dado[ Tual deles 2 mostrado em um DE*[ 9I1 DA dois eWem!los de relacionamento deri.ado entre dois o/Letos1 9<1 Tuantos relacionamentos !odem eW entre dois o/Letos em um DE*[ @9J 9K1 EWamine o DE* a/aiWo1 FaO Escre.a uma descrio narrati.a dos o/Letos e dos relaciona mentos1 F/O Tuantas faturas !odem eWistir entre uma instPncia de fa/ri cante e uma instPncia de cliente[ FcO Tuantos !rodutos um cliente !ode com!rar em uma instPncia do relacionamento com!ra[ 9D1 $s DE* a!resentam cardinalidade[ 9C1 7se a notao da figura 9:1< !ara mostrar uma .erso aceit.el do diagrama da figura 9:1I1 :H1 Tue argumentos eWistem contra se mostrar ordinalidade e cardina lidade em um DE*[ :91 A!resente uma notao alternati.a !ara DE* Mue mostre tanto a ordinalidade como a cardinalidade1 ::1 Desen"e um DE* Mue re!resente a seguinte situao !ara uma em!resa de lin"as a2reas> _A em!resa de lin"as a2reas X6g !ossui trAs im!ortantes recursos> a.i0esE !ilotos e tri!ulantes1 $s !ilotos e os tri!ulantes tAm suas res !ecti.as /ases dom2sticasE !ara as Muais retornam a!Ys um .No !ara o Mual ten"am sido designados1 7m .No de.e ter !elo menos um !iloto e um ou mais tri!ulantes escalados !ara um a.io1 Cada a.io tem uma /ase dc manuteno1] :@1 Desen"e um DE* !ara descre.er a seguinte situao de uma editora> @9I _A ABC Press tra/al"a com di.ersos autores Mue escre.em os li.ros Mue ela !u/lica1 Alguns autores escre.eram a!enas um li.roE en Muanto outros L escre.eram muitosV al2m dissoE alguns li.ros foram escritos em conLunto !or .rios autores1 A ABC tam/2m tra/al"a com m3lti!las im!ressorasV cada li.roE !ortantoE 2 im!resso !or a!enas uma im!ressora1 7m editor da ABC Press tra/al"a com .rios autores ao mesmo tem!oE editando e !rodu&indo os !roLetos de li.rosV 2 tarefa do editor le.ar a cY!ia final !ara a im!ressora Muando o manuscrito est co!ieditado e com!osto1] :J1 Desen"e um DE* !ara a seguinte situao de uma em!resa de consultoria gerencial1 _Cada re!resentante de .endas tra/al"a com di.ersos clientes e tem acesso a di.ersos consultores da em!resa1 7m contrato de consulto? ria com um cliente !ode en.ol.er .rios consultores diferentes1 Durante a .igAncia do contratoE o .endedor no 2 en.ol.ido e os consultores tratam diretamente com o cliente1] :I1 Desen"e um DE* !ara a seguinte situao> _7m !rofessor !ode dar aulas a di.ersas classesE desde Mue ele ou ela esteLa Mualificado !ara ensinar a mat2ria1 Cada classe de.e ter um !rofessorE mas !ode ser freMaentada !or .rios alunos1 8o inXcio de cada semestre as classes so designadas !ara as salasE uma !ara cada classeE Mue ali com!arece regularmente1] :<1 $ Mue 2 um ti!o de o/Leto associati.o[ :K1 $ Mue 2 um !onto de fiWao[ :D1 DA trAs eWem!los de ti!os de o/Letos associati.os1 :C1 EWamine a figura 9:1K1 'u!on"a Mue no eWistam dados so/re a com!ra Mue o sistema de.a memori&ar1 Em Mue isso modificaria o diagrama[ @H1 $ Mue 2 um su/ti!oGsu!erti!o em um DE*[ @91 DA trAs eWem!los de su/ti!osGsu!erti!os1 @:1 Por Mue nos !reocu!armos em termos su/ti!osGsu!erti!os em um DE*[ 8o /asta termos os ti!os _comuns] de o/Letos[ @@1 Tue refinamentos o analista de sistemas de.e es!erar fa&er de!ois de desen"ar a !rimeira .erso de um DE*[ @J1 Tuais so os trAs meios Mue o analista de sistemas !ossi.elmente usar !ara desco/rir os elementos de dados em um modelo de dados[ @I1 $ Mue significa designao no conteWto deste ca!Xtulo[ @<1 Como o analista de sistemas de.e continuar com o DE* se o DFD L ti.er sido desen.ol.ido[ @9< @K1 Tuais so os trAs moti.os !ara criarmos ti!os de o/Letos adicionais em um DE* de!ois Mue a !rimeira .erso est !ronta[ @D1 $ Mue de.e fa&er o analista de sistemas se desco/rir elementos de dados Mue !odem ser designados !ara algumas instPncias de um ti!o de o/Leto mas no !ara outras[ @C1 $ Mue de.e fa&er o analista de sistemas se desco/rir elementos de dados Mue seLam a!lic.eis a todas as instPncias de dois difereni ti!os de o/Letos[ JH1 $ Mue de.e fa&er o analista de sistemas se desco/rir elementos de dados Mue descre.em relacionamentos entre outros ti!os de o/Letos[ J91 $ Mue de.e fa&er o analista de sistemas se desco/rir conLuntos re!etiti.os em um ti!o de o/Leto[ J:1 Descre.a o Mue significa termos conLuntos re!etiti.os em um ti!o de o/Leto1 DA um eWem!lo1 J@1 Tuais so os Muatro /sicos comuns !ara se remo.er um ti!o de o/Leto da !rimeira .erso de um DE*[ JJ1 $ Mue 2 um ti!o de o/Leto associati.o alternati.o[ JI1 $ Mue de.e fa&er o analista de sistemas se desco/rirE na !rimeira .erso de um DE*E um ti!o de o/Leto constituXdo !or a!enas um identificador[ J<1 $ Mue de.e fa&er o analista de sistemas se desco/rirE na !rimeira .erso de um DE*E um ti!o de o/Leto do Mual sY " uma instPncia[ JK1 $ Mue de.e fa&er o analista de sistemas se desco/rirE na !rimeira .erso de um DE*E um relacionamento deri.ado[ JD1 Tue eWtens0es de.em ser feitas ao dicionrio de dados !ara a!oiar o DE*[ JC1 $ Mue significa a notao | em um item do dicionrio de dados[ 8$TA' 9 Entre os o/Letos !odem eWistir outros relacionamentos Mue no so mostrados no DE*1 Como o DE* 2 um modelo de dados arma&e nadosE os relacionamentos Mue !odem ser calculados ou deri.ados no a!arecem ali1 ConsidereE !or eWem!loE o o/Leto M$T$*I'TA e o o/Leto -IcE8(A1 Pode "a.er o relacionamento de data de re no.ao entre os doisE Mue 2 calculado em funo da data de nas cimento do motorista Fo motorista de.e reno.ar sua licena a cada ano na data de seu ani.ersrioO1 Tal relacionamento no de.e ser mostrado no DE*E !or no ser um relacionamento de dados arma &enados1 EntretantoE se a data de reno.ao fosse escol"ida alca toriamenteE ela !ro.a.elmente teria de ser lem/rada !elo sistema1 : A eW!resso !onto de fiWao foi introdu&ida !or IFla.inE 9CD9e1 @9K @ Alguns li.ros so/re /ancos de dados referem?se a isso como dados de interseo1 J 7m !urista !oderia argumentar Mue isso no 2 .erdadeiro a longo !ra&o1 'e no "ou.esse ITEMF8'O !or di.ersos dias na !rateleiraE os C-IE8TEF'O desa!areceriam de cena e fariam suas com!ras em outro lugar1 E se no "ou.esse C-IE8TEF'O a loLa e.entualmente fec"aria e os ITEMF8'O desa!areceriam1 Mas na est.el situao a curto !ra&oE 2 Y/.io Mue os clientes e itens !odem coeWistir tranMailamente sem terem necessariamente algo a .er uns com os outros1 I EntretantoE !ro.a.elmente no identificar todos os relaciona mentos entre os o/Letos1 Dado um sistema com 8 o/LetosE a Muanti dade de relacionamentos !ossX.eis 2 !ro!orcional a 8`E Mue nor malmente 2 um n3mero muito grande1 Muitos dos FteoricamenteO relacionamentos !ossX.eis re.elar?se?o como no tendo F9O um significado legXtimo em MualMuer lugar do sistema ou F:O rele.Pncia no conteWto do sistema em modelagem1 Algu2m !oderia imaginarE !or eWem!loE um sistema em Mue o !rinci!al relacionamento entre clientes e o !essoal de .endas seLa QE8DE1 Tam/2m !ode ocorrer de um cliente e um .endedor serem casadosV ou Mue a .endedora seLa fil"a do clienteV ou Mue o cliente e o .endedor seLam colegas de escola1 Tudo isso !ode ser muito interessanteE mas no ser re!resentado no modelo do sistema a menos Mue seLa rele.ante1 < 8esse eWem!lo o/.iamente estamos ignorando algumas eWce0es o/scuras1 IgnoramosE !or eWem!loE o caso de urna em!regada Mue de!ois de trAs gra.ide&es su/meteu?se a uma o!erao de mudan a de seWo1 EE no caso do nome do cNnLugeE su!usemos Mue ne n"um dos em!regados seLam crianas menores de idadeE !ara as Muais o casamento 2 !resumi.elmente uma im!ossi/ilidade1 K Alguns li.ros usam a con.eno de su/lin"ar oFsO cam!oFsO c"a.eFsO1 Desse modoE !oderXamos definir cliente como s nc} t andar t num @9D 9@ DIAG*AMA' DE T*A8'I(rE' DE E'TAD$ Todos os cor!os !ermanecem em estado de r ou em mo.imento un segundo uma lin"a retaE a menos Mue seLam o/rigados a modificar esse estado !or foras Mue l"es seLam a!licadas1 'ir Isaac 8e4tonE P"iloso!/tae 8aturalts Princ Mat"ematicaE -e- do Mo.imentoE 9E 9<DK 8este ca!Xtulo a!renderemos> 91 A notao !ara diagramas de transi0es de estado1 :1 Como desen"ar diagramas de transi0es de estado su/di.ididos1 @1 Como ela/orar um /om diagrama de transi0es de estado1 J1 $ relacionamento entre DTE e outros modelos1 8os ca!Xtulos anteriores .imos ferramentas de modelagem Mue realam as ftin0es desem!en"adas !or um sistema e os dados arma&e nados Mue o sistema de.e memori&ar1 Agora .eremos um terceiro ti!o de ferramenta de modelagemE o diagrama de transi0es de estado Ftam /2m con"ecido !or DTEOE Mue enfati&a o com!ortamento tem!o? de!endente do sistema1 At2 /em !ouco tem!oE os modelos do com!ortamento tem!o? de!endente de um sistema de um sistema somente eram im!ortantes !ara uma categoria es!ecial de sistemas con"ecidos como sistemas de @9C tem!o?real1 EWem!los desses sistemas FMue discutimos su!erficialmente no ca!Xtulo :O so controle de !rocessosE sistemas de comutao telefN nicaE sistemas de o/teno r!ida de dados e sistemas de comando e controle militares1 Alguns desses sistemas so !assi.os no sentido de Mue no !rocuram controlar o am/iente em Mue se encontram eE em .e& dissoE reagem a ele e o/tAm dados so/re ele1 Muitos 'istemas de o/ten o r!ida de dados !ertencem a essa categoria FeW1> um sistema Mue o/t2mE em alta .elocidadeE dados cientXficos de um sat2liteO1 $utros sis temas de tem!o?real so mais ati.osE no sentido de Mue /uscam o/ter controle so/re algum as!ecto do am/iente circundante1 A essa categoria !ertencem os sistemas de controle de !rocessos e di.ersos outros sis temas em/utidos1 Como .ocA !ode imaginarE sistemas desse ti!o lidam com fontes eWternas de dados de alta .elocidade e de.em !rodu&ir res!ostas e da dos de saXda com suficiente ra!ide& !ara interagir com o am/iente eWter no1 7ma !arte im!ortante da es!ecificao desses sistemas 2 a descrio do Mue acontece Muando1 8o caso dos sistemas orientados !ara o com2rcioE esse !ro/lema no tem sido to im!ortante1 As entradas !odem c"egar ao sistema de muitas fontes diferentes e em .elocidades relati.amente altasE !or2m essas entradas !odem "a/itualmente ser retardadas se o sistema esti.er ocu!ado com alguma outra coisa1 7m sistema de !agamentoE !or eWem !loE no tem de se !reocu!ar com interru!0es nem com sinais de uma unidade eWterna de radar1 Em casos tX!icosE os 3nicos !ro/lemas de tem!o Mue encontramos nesses sistemas so es!ecifica0es de tem!o de res!ostaE Mue 2 incluXdo no modelo de im!lementao do usurioE Mue .eremos no ca!Xtulo :91 EntretantoE esto comeando a surgir alguns grandes e com!le Wos sistemas de orientao comercial Mue tAm as!ectos de com!or tamento tem!o?de!endente1 'e o sistema lidar com entradas !ro.e nientes de mil"ares de terminais e com entradas de alta .elocidade de $utros sistemas ou de dis!ositi.os de comunicao .ia sat2liteE ele !oder ter o mesmo ti!o de !ro/lemas de de!endAncia do tem!o Mue tem um clssico sistema de tem!o?real1 AssimE em/ora .ocA no lide com tais !ro/lemas em todos os sistemas Mue construirE .ocA de.e se familiari&ar com as ferramentas de modelagem !ara o com!ortamento tem!o?de!endente1 9@19 A 8$TA()$ PA*A $' DIAG*AMA' DE T*A8'I(rE' DE E'TAD$ 7m diagrama tX!ico de transi0es de estado 2 mostrado na figu ra l@19FaO Fem/ora ele seLa algo mais sim!les Mue os diagramas Mue @:H .eremos de!ois neste ca!XtuloO1 Esse diagrama mostra o com!ortamento de uma mMuina comum de res!ostas telefNnicas1 $s !rinci!ais com!onentes do diagrama so os estados e as setas Mue re!resentam altera0es de estado1 EWistem di.ersas notaNes alterna? 7.as !ara diagramas de transi0es de estadoV uma /astante comum 2 mostrada na figura 9@19F/O1 Em/ora seLa eMui.alente em conte3do Z figu ra 9@19FaO ela tem a des.antagcm de ser muito !arecida com um diagra ma de fluWo de dados1 Para e.itar confus0esE usaremos neste li.ro figura 9@19FaO1 9@1919 Estados do 'istema Cada Muadro retangular re!resenta um estado em Mue o sistema !ode estar1 $ 5e/ster=s 8e4 5orld Dictionar# define estado FstateO da seguinte maneira> ConLunto de circunstPncias ou atri/utos Mue caracteri&am uma !es soa ou o/Leto em determinado momentoV modo ou forma de serV condio1 Dessa maneiraE os estados tX!icos de um sistema !odem ser um dos seguintes> j Aguardando Mue o usurio introdu&a uma sen"a j AMuecendo uma mistura MuXmica j Aguardando o !rYWimo comando j Acelerando um motor j Misturando ingredientes j Aguardando dados !ara instrumentos j Enc"endo o tanMue j $cioso $/ser.e Mue muitos desses eWem!los a!resentam o sistema aguardando !ela ocorrAncia de alguma coisa e no indicam Mue o com !utador esteLa fa&endo algo1 Isso se de.e ao fato de o diagrama de tran si0es de estado ser utili&ado !ara desen.ol.er um modelo essencial do sistema um modelo de como o sistema se com!ortaria se ti.2ssemos @:9 Figura 9@19 FaO> 7m tX!ico diagrama de transi0es de estado tecnologia !erfeita1 7ma caracterXstica da tecnologia !erfeita seria o com!utador funcionar com ra!ide& infinitaE de modo a Mue MualMuer !rocessamento ou clculo Mue o sislema ti.esse de eWecutar ou MualMuer ao Mue ele ti.esse de em!reender fosse feita em tem!o &ero1 Dessa formaE MualMuer estado o/ser..el em Mue o sistema esteLa sY !ode corres!onder a !erXodos de tem!o em Mue ele esteLa F9O aguardando a ocorrAnca de alguma coisa do am/iente eWterno ou F:O aguardando Mue a atual ati.idade do am/iente FmisturandoE la.andoE enc"endoE aceleran do etc1O se modifiMue !ara alguma outra ati.idade1 Isso no Muer di&er Mue nossos sistemas seLam inca!a&es de em!re ender uma ao ou Mue no !retendamos mostrar essas a0es1 'ignifica a!enas Mue essas a0esE Mue ocorrem instantaneamente em nosso mo delo de tecnologia !erfeitaE no so iguais a estadosE Mue re!resentam as condi0es o/ser..eis em Mue o sistema !ode estar1 Desse modoE um estado re!resAnta um com!ortamento do sistema Mue 2 o/ser..el e Mue !erdura !or um !erXodo finito de tem!o1 9@191: Mudanas de Estado 7m sistema Mue eWistisse em a!enas um estado no seria muito interessante de ser estudado> ele seria esttico1 8a realidadeE os sistemas @:: Figura 9@19 F/O> 7ma notao alternati.a de diagrama de transi0es de estado Mue costumamos modelar !odem ter d3&ias de estados diferentes1 Mas como um sistema !assa de um estado a outro[ 'e o sistema ti.er normas regulamentares dirigindo seu com!ortamentoE ento somente certos ti !os de mudanas de estado sero significati.as e .lidas1 As modifica0es .lidas de estado no DTE so mostradas interli gando?se !or uma seta os !ares de estados rele.antes1 AssimE a figura 9@1: mostra Mue o sistema !ode !assar do estado 9 !ara o estado :V mos tra tam/2m Mue Muando o sistema est no estado : !ode !assar !ara o estado @ ou .oltar ao estado 91 EntretantoE de acordo com o DTEE o sistema no !ode !assar diretamente do estado 9 !ara o estado @1 Por $utro ladoE o diagrama ainda nos di& Mue o sistema !ode !assar direta mente do estado @ de .olta ao estado 91 $/ser.e Mue o estado : tem dois estados sucessores1 Isso 2 comum nos DTEV MualMuer estado !ode con du&ir a um ar/itrrio n3mero de estados sucessores1 Em/ora a figura 9@1: nos dA algumas informa0es interessantes so/re o com!ortamento tem!o?de!endente de um sistemaE ele nada nos di& so/re algo Mue !ode .ir a ser muito im!ortante> Muais so os estados inlcialefinaldo sistema1 8a realidadeE a figura 9@1: 2 um modelo est tico de um sistema Mue tem estado ati.o desde sem!re e Mue continuar ati.o !ara sem!re1 A maioria dos sistemas tem um recon"ecX.el estado inicial e outroE finalV isso 2 mostrado na figura 9@1@1 @:@ E'TAD$ 9 E'TAD$ : E'TAD$ @ Figura 9@1:> Mudanas de estado $ estado inicial normalmente 2 desen"ado no alto do diagramaE em/ora isso no seLa o/rigatYrioV o Mue realmente identifica o estado 9 na figura 9@1@ como estado inicial 2 a seta Mue no est ligada a MualMuer outro estado1 AnalogamenteE o estado final muitas .e&es 2 desen"ado na /ase do diagramaE mas isso tam/2m no 2 mandatYrio1 $ Mue de fato identifica o estado I como estado final 2 a ausAncia de setas Mue !artam dele1 Em outras !ala.rasE ao se c"egar ao estado I no se .ai a MualMuer lugar mais` $ senso comum nos di& Mue um sistema sY !ode ter um estado inicialV entretantoE ele !ode ter m3lti!los estados finaisV esses estados finais so mutuamente eWclusi.osE o Mue Muer di&er Mue a!enas um deles !ode ocorrer durante a eWecuo do sistema1 A figura 9@1J mostra um eWem!lo no Mual os !ossX.eis estados finais so estados J e <1 Como estamos utili&ando DTE !ara construir um modelo essencialE .amos tam/2m !resumir Mue as mudanas de estado ocorram instanta neamenteV isto 2E o sistema no !recisa de tem!o o/ser..el !ara !assar de um estado a outro1 Tuando os !roLetistas e !rogramadores come arem a construir o modelo de im!lementao isso ser um !ro/lema real> normalmente so necessrios alguns microssegundos !ara um com!utador !assar de uma ati.idade de !rocessamento !ara outraE e eles de.em assegurar Mue isso ocorra com suficiente ra!ide& !ara Mue o am/iente no fiMue fora de controle1 @:J Figura 9@1@> Estados inicial efinal Figura 9@1J> M3lt estados finais de um sistema @:I 9@191@ Condi0es e A0es Para tornar com!leto nosso diagrama de transi0es de estadoE !re cisamos acrescentar mais duas coisas> as condi0es Mue causam uma mu dana de estado e as a0es Mue o sistema em!reende Muando muda de estado1 Como mostra a figura 9@1IE as condi0es e a0es so eWi/idas Lunto Z seta Mue liga os dois estados inter?relacionados1 E'TAD$ 9 Condio Ao E'TAD$ : 9 Figura 9@1I> Indicao das condi0es e das a0es 7ma condio 2 um e.ento no am/iente eWterno Mue o sistema seLa ca!a& de detectarE !odendo ser um sinalE uma interru!o ou a c"egada de um !acote de dados1 Isso normalmente far o sistema !assar do es tado de aguardando X !ara o estado de aguardando 6 ou de eWecutando a ati.idade X !ara eWecutando a ati.idade 61 MasE como !arte da mudana de estadoE o sistema normalmente em!reender uma ou mais a0esV !rodu&ir uma saidaE a!resentar uma mensagem no terminal do usurioE efetuar um clculo etc1 PortantoE as a0es mostradas no DTE ou so res!ostas en.iadas ao am/iente eWterno ou so clculos cuLos resultados so memori&ados !elo sistema Fgeral mente em um de!Ysito de dados constante no diagrama de fluWo de da dosO !ara reagir a algum e.ento futuro :j 9@1: DIAG*AMA' '7BDIQIDID$' Em um sistema com!leWo !ode "a.er d3&ias de estados distintos> tentar mostr?los todos no mesmo diagrama seria dificilE seno im!ossX .el1 AssimE da mesma forma Mue utili&amos nX.eis e su/di.is0es nos dia gramas de fluWo de dak=sE !odemos su/di.idir os DTE1 A figura 9@1<FaO a!resenta um eWem!lo 1 dois nX.eis de diagramas de transi0es de estado de um sistema com!leWo $/ser.e Mue nesse casoE Mu ; ?uer estado indi.idual de um dia grama de nX.el mais ele.ado !ode tornar?se o estado inicXal de um @:< diagrama de nX.el inferior Mue descre.a mais detal"adamente aMuele estado de nX.el mais ele.adoV e oFsO estadoFsO final FfinaisO de um dia grama de nX.el mais /aiWo corres!ondeFmO Zs condi0es de saXda do estado associado de nX.el su!erior1 Em outros casosE o analista de siste mas !ode !recisar mostrarE eW!licitamenteE como um DTE de nX.el in ferior sai !ara um !onto adeMuado do diagrama su!erior1 7m eWem!lo da necessidade de um diagrama su/di.idido de tran si0es de estado !ode ser o dos caiWas automticos "oLe .istos na maioria dos /ancosV um DTE !ara essa a!licao 2 a!resentado na figura 9@1<F/O1 -S-S E'TAD$@ Figura 9@1< FaO> Dois nX.eis de DKE @:K _start] !ress EWi/ir _inserir carto] AG7A*DA8I CA*T)$ _*eset] Carto inserido !ressionado ou sen"a errada EWi/ir _introdu&a sen"a] -im!ar tela IAG7A*DA8D$ EWi/ir _Muanto deseLa[ AG7A*DA8D$ E8T*ADA Cliente introdu& im!ortPncia J EWi/ir _!or fa.orE aguardeE din"eiro sendo !ro.idenciado] E8T*EGA8D$ DI8,EI*$ Din"eiro dis!oni.el J _!or fa.orE recol"a o din"eiro] AG7A*DA8D$ *EC$7?BME8T$ *etornar ao estado de _AG7A*DA8D$ E'C$-,A] na figura su!erior Flgural@1< F/O> 7m DTE su/di.idido !ara uma mMuina de caiWa automtico @:D 'en"a introdu&ida EWi/ir _selecione funo] ?L _*eset] !ressionado J -im!ar tela IAG7A*DA8I E'C$-,A _*ecol"a o din"eiro] 9 9@1@ A C$8'T*7()$ D$ DIAG*AMA DE T*A8'I(rE' DE E'TAD$ Agora Mue L .imos a notao !ara diagramas de transi0es de estadoE .amos discutir ra!idamente as eta!as da construo deles1 Pode mos seguir uma destas duas a/ordagens> 91 QocA !ode comear !ela identificao de todos os estados !os sX.eis do sistemaE re!resentando cada um deles como um re tPngulo em uma fol"a de !a!el1 Em seguidaE .ocA !ode eW!lorar todas as coneW0es significati.as FeW1> mudanas de estadoO entre os retPngulos1 :1 Como alternati.aE .ocA !ode comear !elo estado inicialE conti nuando metodicamente seu camin"o !ara oFsO estadoFsO se guinteFsOV e de!oisE doFsO estadoFsO secundrioFsO !ara oFsO tercirioFsO e assim !or diante1 A a/ordagem Mue .ocA .ai adotar serE em muitos casosE ditada !elo usurio com Muem .ocA esti.er tra/al"andoE !rinci!almente se ele for o 3nico familiari&ado com o com!ortamento tem!o?de!endente do sistema1 A!Ys "a.er terminado de ela/orar o DTE !reliminarE .ocA de.e eWecutar as seguintes diretri&es de .erificao de consistAncia> j Foram definidos todos os estados[ EWamine detidamente o siste ma !ara .erificar se " MualMuer outro com!ortamento o/ ser..el ou MualMuer outra condio em Mue o sistema !ossa estar al2m daMueles Mue .ocA ti.er identificado1 j Todos os estados !odem ser atingidos[ Ai gum estado foi definido sem Mue "aLa camin"os Mue le.em a ele[ j Todos os estados tAm saXda[ Como L dissemosE o sistema !ode ter um ou mais estados finais com m3lti!las entradasV mas todos os outros estados de.em ter um estado sucessor1 j Em cada estadoE o sistema reage adeMuadamente a todas as condi0es !ossX.eis[ Este 2 o erro mais comum na ela/orao de um diagrama de transi0es de estado> o analista de sistemas identifica as mudanas de estado Muando ocorrem as condi0es normaisE mas esMuece de es!ecificar o com!ortamento do sis tema em condi0es ines!eradas1 'u!on"a Mue o analista ten"a modelado o com!ortamento de um sistema como mostrado na @:C figura 9@1KV ele es!era Mue o usurio !ressione uma tecla de funo do terminal !ara causar uma transio do estado 9 !ara o estado : e uma outra tecla de funo !ara !assar do estado : !ara o estado @1 MasE e se o usurio acionar a mesma tecla duas .e&es seguidas[ $u alguma outra tecla[ 'e o com!ortamento do sistema no for es!ecificadoE !ro.a.elmente os !roLetistas e !ro gramadores no !rogramaro !ara essa e.entualidadeE e o sis tema a!resentar um com!ortamento im!re.isX.el so/ di.ersas circunstPncias1 9@1J $ *E-ACI$8AME8T$ C$M $' $7T*$' C$MP$8E8TE' D$ M$DE-$ $ diagrama de transi0es de estado !ode ser utili&ado isoladamen te como ferramenta de modelagem1 EntretantoE ele !ode ser usado em com/inao com as outras ferramentasE o Mue normalmente acontece1 8a maioria dos casosE o diagrama de transi0es de estado re!re senta a es!ecificao de !rocesso de uma /ol"a de controle de um diagrama de fluWo de dados1 A figura 9@1D ilustra este fatoV o/ser.e Mue as condi0es do DTE corres!ondem aos fluWos de controle Mue c"egam de um DFDE e as a0es do DTE corres!ondem aos fluWos de controle Mue saem em um DFD1 Como ferramenta de alto nX.elE o diagrama de E'TAD$ 9 tecla de funo 9 eWi/ir mensagem 9 E'TAD$ : tecla de funo : eWi/ir mensagem : E'TAD$@ 9 Figura 9@1K> 7m DTE incom!leto @@H sinal W sinal # Figura 9@1D> $ relacionamento entre o DFD e o DTE transi0es de estado !ode ser.ir como es!ecificao de !rocesso !ara todo o sistema1 Dessa formaE se re!resentarmos o si>stema inteiro como um diagrama de fluWo de dados de uma sY /ol"a !oderemos utili&ar o diagrama de transi0es de estado !ara mostrar a seMaAncia das ati.i dades dentro do sistema1 9@1I *E'7M$ $ diagrama de transi0es de estado 2 uma !oderosa ferramenta de modelagem !ara descre.er o necessrio com!ortamento de sistemas de tem!o?real e a !arte de interface "umana de muitos sistemas on?line1 A!esar de no ser am!lamente con"ecido ou utili&ado no desen.ol.i mento de sistemas comerciais de informa0esE ele 2 uma ferramenta Mue .ocA de.e !rocurar con"ecer !orMueE no futuroE !odemos es!erar Mue mais e mais sistemas de nature&a comercialE cientXfica ou de engen"ariaE se a!roWimaro dos de tem!o?real1 @@9 *EFE*b8CIA' 91 5e/ster=s 8e4 5orld Dicttona 'econd Coliege Edition1 8o.a lorMue> 'imon k 'c"usterE 9CDH1 PE*G78TA' E EXE*CcCI$' 91 $ Mue 2 um diagrama de transi0es de estado[ Para Mue ser.e[ :1 Em Mue ti!o de sistema se costuma utili&ar o DTE como ferramen ta de modelagem[ @1 $s DTE so ferramentas im!ortantes !ara se descre.er os reMuisi tos de um tX!ico sistema de informa0es comerciais[ Por MuA[ J1 $s DTE so ferramentas im!ortantes !ara se descre.er o !roLeto e a im!lementao de um tX!ico sistema de informa0es comerciais[ !or MuA[ Caso afirmati.oE de Mue ti!o de sistemas comerciais[ I1 Tuais so os dois !rinci!ais com!onentes de um DTE[ <1 A!resente uma notao alternati.a !ara um DTEE isto 2E uma Mue seLa diferente dos diagramas comuns mostrados neste ca!Xtulo e em todo este li.ro1 K1 Tual 2 a definio de estado[ D1 DA trAs eWem!los de estado1 C1 $ Mue 2 uma mudana de estado[ Como se mostra isto em um DTE[ 9H1 $ Mue 2 um estado sucessor[ 991 $ Mue 2 o estado inicial de um sistema[ Tuantos estados iniciais um sistema !ode ter[ 9:1 $ Mue 2 o estado final de um sistema[ Tuantos estados finais um sistema !ode ter[ 9@1 $ Mue so condi0es em um DTE[ Como so mostradas[ 9J1 $ Mue so a0es em um DTE[ Como so mostradas[ 9I1 Tuantas condi0es !ode "a.er em um diagrama de transi0es de estado[ 9<1 Tuantas a0es !odem estar associadas a cada condio em um diagrama de transi0es de estado[ 9K1 Tuais dos estados a/aiWo so aceit.eis[ Para os Mue no o forem eW!liMue !orMuA1 FaO Calcular im!osto so/re .endas F/O Monitorando mistura de reagentes FcO Endereo?de?co/rana?de?cliente FdO ArMui.o?de?!rodutos FeO Ascenso de ele.ador FfO Tem!eratura do reagente fora da medida @@: FgO Atuali&ar total faturado F"O Parar ele.ador FiO Tecla de interru!o !ressionada CiO Processando dados 9D1 $ Mue 2 um diagrama de transi0es de estado su/di.idido[ 9C1 Tual 2 o relacionamento entre os estados iniciais e os estados finais de um DTE su/di.idido[ :H1 Tuantos nX.eis !odem eWistir em um DTE su/di.idido[ :91 Tuais so as duas a/ordagens comuns !ara a ela/orao de um DTE[ ::1 Tuais so as Muatro diretri&es !ara determinar se um DTE est consistente[ :@1 Tual 2 o relacionamento entre um DTE e um DFD[ :J1 $ Mue est errado no DTE a/aiWo[ E'TAD$ :I1 $ Mue est errado com o DTE a/aiWo[ E'TAD$ 9 E'TAD$ : :<1 $ Mue est errado com o DTE a/aiWo[ @@@ :K1 $ Mue est errado com o DTE a/aiWo[ :D1 $ Mue est errado com o DTE a/aiWo[ :C1 $ Mue est errado com o DTE a/aiWo[ @@J @H1 $ Mue est errado com o DTE a/aiWo[ @91 $ Mue est errado com o DTE a/aiWo[ 'e .ocA ac"ar Mue nada est errado com eleE descre.a o Mue !oderia acontecer com o sistema modelado !or este DTE1 condio?9 @:1 $ Mue est errado com o DTE a/aiWo[ condio?9 @@1 Em um sistema com!leWoE de.e o analista de sistemas comear desen"ando um conLunto de DFD !ara o sistemaE ou comear !elos DE* ou !elos DTE[ @J1 $nde de.em ser descritos os detal"es das condi0es e a0es do DTE no modelo de um sistema[ @I1 Desen"e um diagrama de transi0es de estado !ara um gra.ador de fila ou !ara um toca?fitas1 @<1 Desen"e um diagrama de transi0es de estado !ara o caiWa eletrNnico de seu /anco1 @K1 Desen"e um diagrama de transi0es de estado !ara um relYgio digital de !ulso Fa maioria dos relYgios digitais de "oLe tem a!a rAncia _normal] /em como um des!ertador e um cronYgrafoO1 condio?9 ao?9 condio?9 @@I 9 @D1 Desen"e um diagrama de transi0es de estado !ara um forno de microondas1 @C1 Desen"e um diagrama de transi0es de estado !ara o menu de interface "umana !ara o -otus 9?:?@1 8$TA' 9 Discutiremos com mais detal"es o conceito de modelo essencial no ca!Xtulo 9K1 : $/ser.e Mue !ara eWecutar uma ao o sistema !ode !recisar de entradas adicionais do am/iente eWterno1 AssimE !odemos di&er Mue cada condio corres!onde a um e.ento eWterno ao Mual o sis tema de.e res!onder e Mue esses e.entos eWternos sero "a/i tualmente recon"ecidos !elo sistema !ela c"egada de um fluWo de dados1 EntretantoE no 2 necessariamente .erdadeiro Mue cada flu Wo de dados Mue c"ega ao sistema seLa um e.ento corres!ondente a uma condio do DTE1 @ Esse diagrama 2 con"ecido como diagrama de conteWto1 $ diagra ma de conteWto ser discutido em detal"es no ca!Xtulo 9D1 @@< 9J $ ET7I-cB*I$ D$' M$DE-$' Todas as !essoas esto suLeitas a errarE e a maioria delasE so/ muitos as!ectosE !or !aiWi ou !or interesseE 2 tentada a isso1 Ro"n -oc%eE F ConcerninEg ,uman 7ndei 9<CH 8este ca!XtuloE a!renderemos 91 Como eMuili/rar um diagrama de fluWo de dados em relao ao dicionrio de dados1 :1 Como eMuili/rar um diagrama de fluWo de dados em relao Z es!ecificao de !rocessos1 @1 Como eMuili/rar uma es!ecificao de !rocessos em relao ao dicionrio de dados1 J1 Como eMuili/rar um DE* em relao ao DFD e Z es!ecificao de !rocessos1 I1 Como eMuili/rar um DE* em relao ao dicionrio de dados1 <1 Como eMuili/rar um diagrama de fluWo de dados em relao ao diagrama de transi0es de estado1 8os 3ltimos cinco ca!Xtulos eWaminamos di.ersas ferramentas de modelagem im!ortantes !ara a anlise estruturada> j Diagramas de fluWo de dados j Dicionrio de dados @@K 9 j Es!ecificao de !rocessos j Diagramas de entidades?relacionamentos j Diagramas de transi0es dc estado Cada uma dessas ferramentasE como .imosE enfoca um dos as!ec tos fundamentais do sistema Mue est sendo modelado1 ^ im!ortante ter isso em menteE !orMue significa Mue a !essoa Mue lA o modelo tam/2m est focali&ando um dos as!ectos fundamentaisE isto 2E o as!ecto !ara o Mual sua ateno est sendo atraida !ela !rY!ria ferramenta de modela gem1 Como o sistema su/Lacente !ossuX muitas diferentes dimens0es de com!leWidadeE Mueremos Mue o diagrama de fluWo de dados atraia a ateno do leitor !ara as frn0es do sistema sem Mue os relacionamentos entre os dados distraiam sua atenoV e Mueremos tam/2m Mue o diagra ma de entidades?relacionamentos focali&e a ateno so/re os relaciona mentos entre os dados sem !ermitir Mue as caracterXsticas funcionais distraiam a ateno do leitorV MueremosE aindaE Mue o diagrama de tran si0es de estado focali&e a ateno !ara as caracterXsticas do timing do sistema sem distra0es com fun0es ou dados1 Mas c"ega o momento de com/inar todas as ferramentas de mode lagemE e 2 so/re isso Mue falaremos neste ca!Xtulo1 A situao com Mue o modelador de sistemas se defronta 2 um tanto anloga Z antiga f/ula dos trAs s/ios cegos indianos Mue es/arraram em um elefante1 Como mostra a figura 9J19E eles emitiram trAs o!ini0es diferentes concernen tes Z _realidade] com Mue se de!ara.am tocando diferentes !artes do elefante> Figura 9J19> TrAs cegos eWaminando um elefante @@D j 7m dos cegos tocou a !onta afiada de uma das longas !resas do elefante1 A"a`]E disse eleE _temos aMui um touro1 Posso !erce/er seus c"ifres`] j $ segundo tocou o couro "irsuto do elefante1 _'em d3.idaEl disse eleE _isto 2 um 1 11MuA[ 7m !orco?es!in"o[ 'imE claro ? um !orco?es!in"o`]1 j $ terceiro cego a!al!ou uma das grossas !ernas do elefante e declarou> _Isto de.e tratar?se de uma r.ore]1 De modo semel"anteE Muando modelamos trAs diferentes as!ectos de um sistema Ffun0esE dados e _timing]OE /em como Muando modela mos as caracterXsticas detal"adas do sistema em um dicionrio de dados e um conLunto de es!ecifica0es de !rocessoE 2 fcil desen.ol.er .rias inter!reta0es inconsistentes diferentes da realidade1 Isso re!resenta um !erigo !articularmente s2rio em grandes !roLetosE onde .rias !essoas e .rios gru!os de interesses es!eciais !ro.a.elmente estaro en.ol.idos1 Tam/2m 2 arriscado Muando uma eMui!e de !roLeto FeGou a comunidade usuriaO en.ol.e !essoas com forma0es muito diferentes1 EWiste um outro moti.o !ara se focali&ar a consistAncia do modelo> MuaisMuer Mue seLam os erros eles sero encontrados em algum momen toE mas isso se torna cada .e& mais difXcil e caro nas fases finais do !roLeto1 8a realidadeE os erros Mue forem introdu&idos no modelo de reMuisitos durante a fase de anlise !ro.a.elmente se !ro!agaro e se am!liaro nas fases de !roLeto e de im!lementao do !roLeto1 Isso re!resenta um risco es!ecialmente s2rio em grandes !roLetos em Mue a anlise de sistemas 2 muitas .e&es feita !or diferentes !essoas Fou mes mo !or diferentes em!resas`O e no as de !roLeto e im!lementao1 AssimE Martin a!onta Mue IHf dos erros detectados em um sistema e KIf do custo da remoo de erros relacionam?se aos erros cometidos na fase de anlise do sistema e os estudos em lBoe"mE 9CD99 mostraram Mue o custo de correo de um erro cresce eW!onencialmente nos estgios derradeiros de um !roLetoV 2 de& .e&es mais /arato corrigir um erro de anlise durante a fase de anlise do Mue corrigi?lo na fase de !roLeto1 Alguns desses erros soE naturalmenteE erros sim!les em cada modelo FeW1> um diagrama de fluWo de dados com um !oo sem fundoO1 Alguns desses erros !odem ser caracteri&ados como inter!reta0es errN neas do Mue o usurio realmente deseLa.a1 Por2mE muitos desses erros mais difXceis e insidiosos so inter?modelosE isto 2E inconsistAncias entre um modelo e outro1 7ma es!ecificao estruturada na Mual todas as ferramentas de modelagem so .erificadas mediante referAncias cru&a das em relao a cada uma das outras em /usca de consistAncia 2 dita ser eMuili/rada1 @@C $ erro de eMuilX/rio mais comum en.ol.e afaltade uma definio> alguma coisa definida F$u descritaO em um modelo no est adeMuada mente definida em outro1 Qeremos alguns eWem!los disso nas !rYWimas se0es FeW1> um de!Ysito mostrado no DFD mas no definido no dicio nrio de dadosE ou um o/Leto no DE* no mostrado como um corres !ondente de!Ysito de dados no DFDO1 $ segundo ti!o comum de erro 2 a inconsistAncia> a mesma _realidade] 2 descrita de modos diferentes e contraditYrios em dois diferentes modelos1 Qamos eWaminar alguns dos !rinci!ais as!ectos do eMuilX/rio> j EMuili/rar o diagrama de fluWo de dados em relao ao dicionrio de dados1 j EMuilX/rio do diagrama de fluWo de dados em relao Zs es!eci fica0es de !rocessos1 j EMuilX/rio das es!ecifica0es de !rocessos em relao ao dicio nrio de dados1 j EMuilX/rio do DE* em relao ao DFD e Zs es!ecifica0es de !rocessos1 j EMuilX/rio do DE* em relao ao dicionrio de dados1 j EMuilX/rio do DFD em relao ao diagrama de transi0es de estado1 Como .eremosE as regras do eMuilX/rio so todas muito diretasV elas eWigem muito !ouco raciocXnio ou criati.idade !ara serem eWecutadas1 Mas elas de.em ser eWecutadas e de maneira diligente1 9J19 $ ET7I-cB*I$ D$ DFD EM *E-A()$ A$ DD As normas !ara eMuili/rar o diagrama de fluWo de dados em rela o ao dicionrio de dados so as seguintes> j Cada fluWo de dados Fuma fleWa no DFDO e cada de!Ysito de dados de.e ser definido no dicionrio de dados1 'e no constar no dicionrio de dadosE o fluWo de dados ou o de!Ysito 2 con siderado como indefinido1 j In.ersamenteE cada elemento de dados e cada de!Ysito de da dos definido no dicionrio de dados de.e a!arecer em algum @JH lugar de um DFD1 Caso negati.oE o elemento ou de!Ysito de dados em Muesto 2 um _fantasma] ? algo definido mas no _utili&ado] no sistema1 Isso !ode acontecer se os elementos de dados forem definidos !ara corres!onderem a uma .erso anterior do DFDV o !erigo est em Mue o DFD !ode ser alterado Fisto 2E um fluWo ou um de!Ysito de dados !ode ter sido su!ri midoO sem uma corres!ondente alterao no dicionrio de dados1 IssoE naturalmenteE significa Mue o analista de sistemas de.e re.er meticulosamente os DFD e o dicionrio de dados !ara se certificar Mue esteLam eMuili/rados1 8o im!orta Mue modelo seLa eWaminado em !ri meiro lugarE em/ora a maioria dos analistas comece !elo DFD !ara garantir Mue todos os elementos esteLam definidos no dicionrio de da dos1 Como todas as outras ati.idades de eMuilX/rio F/alanceamentoO neste ca!XtuloE esse 2 um ser.io entediante e Mue se !resta muito /em aos !rodutos automati&ados1 9J1: $ ET7I-cB*I$ D$ DFD EM *E-A()$ o E'PECIFICA()$ DE P*$CE''$' Eis as normas !ara o eMuilX/rio do DFIO em relao Zs es!ecifica 0es de !rocessos> Cada /ol"a no DFD de.e estar associada a um DFD do nX.el imediatamente inferior ou a uma es!ecificao de !rocessosE mas no a am/os1 Dessa formaE se o DFD mostrar uma /ol"a identificada como 91J1:E ento de.e eWistir ou uma figura corres!ondenteE identificada como figura 91J1:E cuLas /ol"as so identificadas como 91J1:19E 91J1:1: etc1E ou a es!ecificao es truturada de.e conter uma es!ecificao dc !rocesso !ara a /ol"a 91J1:1 'e am/as eWistiremE o modelo 2 dcsnecessariamente Fe !erigosamenteO redundante1 Cada es!ecificao de !rocesso de.e estar associada a uma /ol"a do nX.el /sico de um IOFIO1 Como a es!ecificao de !rocessos no eWige grande .olume de isa/al"oE !oder?se? ia !ensar ser altamente im!ro..el Mue !ossa "a.er es!ecifica0es de !rocessos _errantes] flutuando no sistema1 Mas isso !ode acontecer> a es!ecificao de !rocessos !ode ter sido escrita !ara uma .erso !reliminar do DFDE a!Ys o Mue algumas das /ol"as do DFD !oderiam ter sido eliminadas em algum !ro cesso de re.iso1 @J9 j Entradas e saXdas de.em corres!onder1 $ DFD de.e a!resentar fluWos Mue c"egam e Mue saem de cada /ol"aE /em como co neW0es com os de!Ysitos1 Tudo isso tam/2m de.e estar e.idente na es!ecificao de !rocessos> assim sendoE de.emos es!erar .er um comando *EAD Fou GETE ou I8P7TE ou ACCEPTE ou algum outro .er/o semel"anteO corres!ondente a cada fluWo de dados Mue c"ega a um 5*ITE Fou P7TE ou DI'P-A6 etc1O !ara cada fluWo Mue sai1 $/ser.e Mue esses comentrios a!licam?se es!ecificamente a /o l"as de !mcessaniento1 Para as /ol"as de conirole de um DFD eWistem corres!ondAncias entre essas /ol"as e os diagramas associados de transi 0es de estadoE como discutimos na seo 9J1<1 9J1@ $ ET7I-cB*I$ DA' E'PECIFICA(rE' DE P*$CE''$' EM *E-A()$ A$ DFD E A$ DD As normas !ara eMuili/rar as es!ecifica0es de !rocessos em rela o ao diagrama de fluWo de dados e ao dicionrio de dados !odem ser descritas da forma Mue se segue> cada referAncia a dados na es!ecifica o de !rocessos F"a/itualmente um su/stanti.oO de.e satisfa&er uma das seguintes normas> j ela coincide com o nome dc um fluWo de dados ou de um de !Ysito de dados interligado Z /ol"a descrita !ela es!ecificao de !rocessosE ou j ela 2 um termo localE eW!licitamente definido na es!ecificao de !rocessosE ou j ela a!arece como um com!onenlecm um item do dicionrio de dados !ara um fluWo ou de!Ysito de dados interligado Z /ol"a1 Desse modoE os elementos de dados X e 6 a!arecem na es!e cificao de !rocesso da figura 9J1:E mas no como um fluWo de dados interligado no DFD mostrado na figura 9J1@1 EntretantoE o dicionrio de dadosE do Mual um fragmento 2 mostrado na figura 9J1JE indica Mue X e 6 s com!onentes de g e na figura 9J1@ .emos Mue g 2E na .erdadeE um fluWo de dados interligado Z /ol"aE assimE concluXmos Mue o modelo 2 eMuili/rado 9j @J: E'PECIFICA()$ DE P*$CE''$ @1I> CA-C7-A* FAT$* ,IP$T^TIC$ } P E $ ')$ TE*M$' -$CAI' 7TI-IgAD$' EM *E'7-TAD$' I8TE*MEDI+*I$' P s @19J9I< } $ s :1KD9:D } 6 ? 9@ FAT$*?,IP$T^TIC$ s P } T t : Figura 9J1:> 7m com!onente de uma es!ec de !rocesso de um modelo de sistema g fator?"i!ot2tico Figura 9J1@> 7m com!onente de DFD de um modelo de sistema X s } com!onente "ori&ontal do fator frammis } } unidade> centXmetrosV inter.alo> $ ? 9HH } s } com!onente .ertical do fator frammis } } unidade> centXmetrosV inter.alo> H? 9H } g s } fator frammisE como definido !elo Dr1 Frammis } Wt6 Figura 9J1J> 7m com!onente do dicionrio de dados de um modelo de sistemas @J@ 9J1J $ ET7I-cB*I$ D$ DICI$8+*I$ DE DAD$' EM *E-A()$ A$ DFD E o' E'PECIFICA(rE' DE P*$CE''$' Da discusso acimaE !ode?se .er Mue o dicionrio de dados est consistente com o restante do modelo se o/edecer Z seguinte regra> j Cada item do dicionrio de.e ser referenciado !or uma es!eci ficao de !rocessoE ou !or um DFDE ou !or outro item do di cionrio de dados1 Isso naturalmente !ressu!0e Mue estamos modelando o com!or tamento essencial de um sistema1 7m dicionrio de dados com!leWo e com!leto de uma im!lementao eWistente dc um sistema !ode conter alguns elementos de dados Mue L no so mais usados1 Algu2m !oderia tam/2m argumentar Mue o dicionrio de dados !oderia ser !laneLado de tal forma Mue !ermitisse sua futura eW!ansoV isto 2E ele cont2m elementos Mue no so necessrios "oLeE mas !odem .ir a ser 3teis no futuro1 7m /om eWem!lo disso 2 um dicionrio de dados Mue cont2m elementos Mue !ossam ser 3teis !ara !esMuisas id /oc 1 A eMui!e de !roLetoE tal.e& em com/inao com o usurioE !ode determinar se esse ti!o de modelo deseMuili/rado 2 realmente algo adeMuado a ser feito1 EntretantoE 2 im!ortante ao menos ter cautela com essas decis0es deli/eradas1 9J1I $ ET7I-cB*I$ D$ DE* EM *E-A()$ A$ DFD E os E'PECIFICA(rE' DE P*$CE''$' $ diagrama de entidades?relacionamentosE como .imos no ca!Xtulo 9:E a!resenta uma .iso de um sistema /astante diferente daMuela Mue 2 !ro!orcionada !elo diagrama de fluWo de dados1 EntretantoE eWistem alguns relacionamentos Mue de.em ser conser.ados !ara Mue o modelo do sistema como um todo seLa com!letoE correto e consistente> j Cada de!Ysito do DFD de.e corres!onder a um ti!o de o/Leto ou a um relacionamento ou Z com/inao de um ti!o de o/Leto e de um relacionamento Fisto 2E um ti!o associati.o de o/LetoO do DE*1 'e "ou.er um de!Ysito no DFD Mue no a!area no DE*E algo est erradoV e se "ou.er um o/Leto ou um relacio namento no DE* Mue no a!area no DFDE tam/2m " algum erro1 @JJ j $s nomes de o/Letos no DE* e os de de!Ysitos de dados no DFD de.em coincidir1 Como .imos nos ca!Xtulos C e 9:E a con .eno neste li.ro 2 usar a forma !lural FeW1> C-IE8TE'O no DFD e a forma singular no DE*1 j $s itens do dicionrio de dados de.em a!licar?se tanto ao mo delo de DFD como ao de DE*1 Dessa formaE o item do di cionrio de dados !ara o eWem!lo acima de.e incluir defini0es !ara o o/Leto no DE* e !ara o de!Ysito no DE*1 Isso im!lica uma definio no dicionrio de dados como a Mue se segue> C-IE8TE' s IC-IE8TEu C-IE8TE s nome t endereo t n3mero?de?telefone t111 $s itens do dicionrio de dados !ara a forma singular FeW1> C-IE8TEO de.em informar o significado e a com!osio de uma 3nica instPncia do conLunto de o/Letos mencionados Fno singularO no DE* e Fno !luralO no de!Ysito de dados de um DFD1 $s itens do dicionrio de dados !ara a forma !lural FeW1> C-IE8TE'O do o significado e a com !osio do conLunto de instPncias1 De modo semel"anteE eWistem normas !ara assegurar Mue o DE* esteLa consistente com a !arte da es!ecificao de !rocessos relati.a ao modelo orientado !ara fun0es Flem/re?se Mue as es!ecifica0es de !rocessos so os com!onentes detal"ados do modelo cuLa _encarnao] grfica 2 o DFDO1 As normas esta/elecem Mue o conLunto com/inado de todas as es!ecifica0es de !rocessos de.eE em sua inteire&a> j Criar e su!rimir instPncias de cada ti!o de o/Leto e de cada re lacionamento mostrado no DE*1 Isso !ode ser entendido me l"or eWaminando?se o DFD da figura 9J1I> como sa/emosE o de!Ysito C-IE8TE' corres!onde ao o/Leto C-IE8TE1 Alguma coisa de.e ser ca!a& de criar e su!rimir instPncias de um clienteE o Mue significa Mue alguma /ol"a do DFD de.e ter um fluWo de dados interligado ao de!Ysito C-IE8TE'1 Mas a tarefa real de escre.er no de!Ysito Fisto 2E de criar ou su!rimir uma instPncia do o/Leto C-IE8TE corres!ondente no D*DO de.e ocorrer den tm dessa /ol"aE o Mue Muer di&er Mue de.e ser documentado !ela es!ecificao de !rocesso associada ZMuela /ol"a : j Alguma /ol"a do DFD esta/elece .alores !ara cada elemento de dado atri/uXdo a cada instPncia de cada ti!o de o/LetoE e algum !rocesso do DFD usa Fou lAO .alores de cada elemento de dado1 9J1< $ ET7I-cB*I$ D$ DFIO EM *E-A()$ A$ DIAG*AMA DE T*A8'I(rE' DE E'TAD$ A condio de estado !ode ser considerada eMuili/rada em relao ao diagrama de flaWo de dados se forem o/ser.adas as seguintes normas> j Cada /ol"a de controle no DFD tem associado a si um diagrama de transi0es de estado como sua es!ecificao de !rocesso1 De modo semel"anteE cada diagrama de transi0es de estado no modelo geral do sistema de.e estar associado a um !rocesso de controle F/ol"aO no DFD1 j Cada condio no diagrama de transi0es de estado de.e cor res!onder a um fluWo de controle Mue c"ega ao !rocesso de controle associado ao diagrama de transi0es de estado1 De modo semel"anteE cada fluWo de controle Mue c"ega Z /ol"a de controle de.e estar associado a uma condio a!ro!riada no corres!ondente diagrama de transi0es de estado1 Figura 9J1I> Criao e eliminao de instPncias do DE* C-IE8TE' detal"es?de?cliente ITE8' @J< j Cada ao no diagrama de transi0es de estado de.e corres!on der a um fluWo de controle Mue sai no !rocesso de controle associado ao diagrama de transi0es de estado1 Do mesmo modoE cada fluWo de controle Mue sai na /ol"a de controle de.e estar associado a uma ao a!ro!riada no corres!ondente dia grama de transi0es de estado1 Essas corres!ondAncias so mostradas na figura 9J1<1 Figura 9J1<> Corres!ondAncias entre o DFD e o DTE 9J1K *E'7M$ $/ser.e Mue todas as normas de eMuilX/rio neste ca!Xtulo foram a!resentadas como se .ocA fosse eWaminar !essoalmente todos os com !onentes de um modelo de sistema !ara desco/rir !ossX.eis erros ou inconsistAncias1 Isso !oderia eWigir Mue .ocA desen"asseE no c"o ou em um Muadro de a.isos de grandes dimens0esE todos os DFDE es!ecifica 0es de !rocessosE DE*E DTE e dicionrio de dadosE e em seguida ca min"asse de um ao outroE .erificando cuidadosamente se tudo est em seu lugar1 sinal W sinal # @JK EnMuanto este li.ro est sendo !re!aradoE em 9CDKE isso 2 !rec-ga mente o Mue .ocA teria de fa&er em CDf das organi&a0es de desen.ol .imento de sistemas no mundo1 'e .ocA ti.er a sorte de o estar lendo !or .olta de 9CCHE a estimati.a !ode ter caXdo !ara CHf1 E se .ocA ainda esti.er lendo este li.ro em 9CCI FMuando meu editor L de.e ter?me o/rigado a !rodu&ir uma no.a edio na Mual toda esta seo ter sido eliminadaOE a !ers!ecti.a de.er ser de IHf1 $ im!ortante 2 Mue as normas de eMuilX/rio Mue a!resentamos neste ca!Xtulo !odem ser auto mati&adasE e L eWistem di.ersas ferramentas !ara esta0es de tra/al"oE /aseadas em PCE Mue eWecutaro mecanicamente algumas ou todas as .erifica0es de erros1 QimosE !or2mE eWatamente o mesmo fenNmeno em .rias outras reas1 Algu2m !oderia o/Letar Mue a !roliferao dos /aratos sistemas de !rocessamento de !ala.ras eliminou a necessidade de se a!render a escre.er Z moV na .erdadeE tam/2m se !oderia argumentar Mue a dis!o ni/ilidade de .erificadores da correo da escrita eliminou at2 mesmo a necessidade de se sa/er escre.er corretamente1 E a uni.ersal dis!oni/i lidade de calculadoras de /olso dis!ensou a necessidade dc sa/ermos fa&er longas di.is0es1 Do mesmo modo a u/XMua !resena dos carros de mudana automtica de marc"a eliminou a necessidade dc se a!render a dirigir automY.eis com ala.anca de mudana1 EuE na .erdadeE no consigo imaginar MualMuer ra&o !ara se en sinar uma !essoa na Am2rica do 8orte a dirigir um carro com ala.anca de mudana Muando L nos a!roWimamos do final do s2culo XX1 8em !osso imaginar MualMuer moti.o !ara se enfati&ar a arte da caligrafia e da escrita Z mo FeWcetoE naturalmenteE como uma forma de arteO em uma 2!oca em Mue os sistemas de !rocessamento de !ala.ras esto !restes a serem su/stituXdos !elos sistemas de recon"ecimento de .o&1 Mas !osso entender a necessidade de se a!render os !rincX!ios /sicos de uma longa di.isoE mesmo Mue ten"amos a/soluta certe&a de Mue nunca es taremos sem uma calculadora de /olsoV como Ros"ua 'c"4art&E da 7ni .ersidade de ,ar.ard lem/raE issoE no mXnimoE nos aLudar a sa/ermos se a res!osta !rodu&ida com a calculadora tem o !onto decimal no lugar correto1 Algu2m !ode defender os m2ritos de se a!render a escre.er ma nualmente em 9CDKE Muando F9O menos da metade das crianas !ri.ile giadas nos Estados 7nidos tem um com!utador !essoal em casaV F:O a!enas cerca de @f da !o!ulao americana em geral tem um com!uta dor !essoal em casaV F@O cerca de somente 9Hf dos !rofessores america nos tem seu !rY!rio PC e FJO a!enas uma !eMuenina !ercentagem das escolas nos E7A est !re!arada !ara ensinar as "a/ilidades mecPnicas da digitao1 A escrita manual 2 tecnologXcamenLe o/soletaE e 2 doloroso !ara os !ais .ersados em com!utao F!ara no mencionar os fil"os .ersados em com!utao`O serem forados a ensinar essa antiga e @JD !rimiti.a t2cnica de comunicaoV mas ela !ro.a.elmente ainda 2 uma "a/ilidade necessria na sociedade de "oLe1 Afinal de contasE foi a!enas " uns !oucos anos atrs Mue a maioria dos !ais !arou de ensinar aos fil"os como su/stituir as .elasE trocar o Yleo e consertar um !neu /aiWo do automY.el1 Estou igualmente con.encido de Mue o analista de sistemas !rofis sional !recisa con"ecer os !rincX!ios dc eMuilX/rio a!resentados neste ca!Xtulo1 Como analista de sistemas 2 !ro..el Mue .ocA no ten"a outra alternati.a seno eWecutar essas normas de .erificao de erros mecanicamente !elos !rYWimos anos at2 Mue as ferramentas adeMuadas de engen"aria de soft4are esteLam am!lamente disseminadas1 $ !rocesso manual de .erificao de erros ser normalmente .alidado em am/iente de camin"amentos F4al%t"roug"OV essa t2cnica 2 discutida no a!Andice D1 *EFE*b8CIA' 91 Rames MartinE An Information '#stems Manifesto1 Engle4ood CliffsE 81R1> Prentice?,allE 9CDJ1 :1 Barr# Boe"mE 'oft4are Engineering Economics1 Engle4ood CliffsE 81R1> Prentice? ,allE 9CD91 PE*G78TA' E EXE*CcCI$' 91 Por Mue 2 im!ortante eMuili/rar os modelos da es!ecificao de um sistema[ Tuais so os riscos de uma es!ecificao deseMuili/rada[ :1 Por Mue 2 im!ortante desco/rir os erros do modelo de um sistema o mais cedo !ossX.el[ @1 Tue !ercentagem do custo da eliminao de erros est associada Z fase de anlise de sistemas de um !roLeto[ J1 Tuais so as duas formas mais comuns de erros de eMuilX/rio[ I1 $ DFD de.e ser eMuili/rado em relao a Muais !artes do modelo do sistema[ <1 $ DE* de.e ser eMuili/rado em relao a Muais !artes do modelo do sistema[ K1 $ DTE de.e ser eMuili/rado em relao a Muais !artes do modelo do sistema[ D1 $ dicionrio de dados de.e ser eMuili/rado em relao a Muais !artes do modelo do sistema[ C1 A es!ecificao de !rocessos de.e ser eMuili/rada em relao a Muais !artes do modelo do sistema[ @JC 9H1 EWistem outros com!onentes do modelo do sistema Mue de.am scr eMuili/rados[ 991 Tuais so as normas !ara eMuili/rar o DFD em relao ao dicio nrio de dados[ 9:1 'o/ Mue condi0es !ode um item ser definido no dicionrio de dados sem a!arecer em algum lugar de um DFD[ 9@1 Tuais so as normas !ara eMuili/rar o DFD em relao Zs es!ecifi ca0es de !rocessos[ $ Mue aconteceria se uma es!ecificao de !rocesso fosse escrita !ara uma /ol"a no? !rimiti.a Fou no?atNmicaO do DFD[ De.e eWistir uma es!ecificao de !rocesso !ara !rocessos de controle do DFD[ 'e assim forE ela de.e ter a mesma forma Mue a es!ecificao de um !rocesso normal[ Tuais so as normas !ara eMuili/rar a es!ecificao de !rocessos em relao ao DFD e ao dicionrio de dados[ $ Mue so \dados errantes][ 'o/ Mue condi0es 2 aceit.el "a.er um termo F$u referAncia de dadoO na es!ecificao de !rocessos !ara no ser definido no di cionrio de dados[ Tuais so as normas !ara eMuili/rar o dicionrio de dados em relao ao DFD e Z es!ecificao de !rocessos[ 'o/ Mue condi0es 2 !ossX.el Mue a eMui!e de !roLeto coloMue deli/eraa=amenLe itens no dicionrio de dados Mue no constem no DFD[ Tuais so as normas !ara eMuili/rar o DE* em relao ao DFD[ Tual 2 a con.eno !ara nomes no DE* coincidentes com de!Ysi tos no DFD[ Tuais so as normas !ara eMuili/rar o DE* em relao Z es!ecifi cao de !rocessos[ Tuais so as normas !ara eMuili/rar o DTE em relao ao DFD[ 'o/ Mue circunstPncias 2 .lido no "a.er um DTE no modelo de um sistema[ Como as normas de eMuilX/rio a!resentadas neste ca!Xtulo de.em ser o/ser.adas em um tX!ico !roLeto de desen.ol.imento de siste mas[ Tuem de.eria ser o res!ons.el cm .erificar se isso foi feito[ 'e .ocA dis!user de uma estao automati&ada de tra/al"o !ara anlise de sistemasE 2 necessrio con"ecer as normas de eMuilX/rio a!resentadas neste ca!Xtulo[ Por MuA[ 'e os modelos de sistema ti.erem sido eMuili/radosE !odemos confiar em Mue esteLam corretos[ Por MuA[ :C1 Mostre trAs erros de eMuilX/rio no modelo de sistema a/aiWo 8$TA' ContudoE !ode .aler a !ena fa&er mais algumas .erifica0es nesse !onto> se X for o 3nico com!onente de g utili&ado na es!e cificao do !rocessoE !odemos seriamente Muestionar !or Mue g foi mostrado !rimeiramente como entrada1 Isto 2E os demais com!onentes de g !odem ser _dados errantes] Mue _flutuam] !ela /ol"a sem serem utili&ados1 Isso muitas .e&es reflete um modelo de uma Im!lementao ar/itrria de um sistemaE em .e& de um modelo do com!ortamento essencial do sistema1 : A situao !ode ser um !ouco mais com!licada> a /ol"a mostrada no DFD !ode no ser uma /ol"a do nX.el mais /aiWo1 Desse modoE 2 !ossX.el Mue a /ol"a rotulada I8T*$D7gA?8$Q$?C-IE8TE na figura 9J1I !ossa ser descrita !or um diagrama defluWo de dados de nX.el inferiorE no !or uma es!ecificao de !rocesso1 'e for esse o casoE ento uma das /ol"as de nX.el inferior Ftal.e& no um nX.elE mas .rios nX.eis a/aiWoO ser !rimiti.a e ter acesso ao de!Ysito diretamente1 -em/re?seE do ca!Xtulo CE Mue !ela nossa con.eno no DFD o de!Ysito 2 mostrado no mais alto nX.el em Mue ele 2 uma interface entre duas /ol"as e 2 re!etido em todos os diagramas de nX.el inferior1 & 6 @H1 $ DTE de.e ser eMuili/rado em relao ao DE*[ Por MuA[ @I9 = 9I FE**AME8TA' ADICI$8AI' DE M $DE-AGEM A necessidade de desco/rir a ineficiAncia o Muanto antes torna im!or tante Mue se eWternali&e Fisto 2E Mue se torne .isX.elO cada estgio de um !roLeto em andamento1 As !lantas de engen"ariaE !or eWem!loE cum !re.i esta finalidade e so 3teis no somente !ara um !roLetistaE atrain do sua ateno !ara !ontos du.idosos e !otenciais inconsistAnciasE masE tam/2mE !ara uma eMu ou toda uma organi&ao Mue esteLa desen tol.endo um !roduto1 $s !lanos so os !rinci!ais meios de comunica oE crXtica e refinamento coleti.a1 Al2m dissoE os m2todos de re!resenta o de.em ser relati.amente sim!les e diretos !ara trans!or o es!ao entre a realidade e o !rogramaV e de.em ser eficientes em todas as m3lti!las eta!as iterati.as1 -1A1Belad#E !refcio a 'oft4are DesignE EPetersE 9CD99 8este ca!XtuloE a!renderemos> 91 Como identificar di.ersas .aria0es dos fluWogramas1 :1 Como desen"ar diagramas FIIP$ e diagramas estruturais1 @1 Como identificar di.ersas .aria0es dos DFD1 J1 Como identificar di.ersas .aria0es dos DE*1 As ferramentas de modelagem a!resentadas nestes 3ltimos ca!Xtu los seriam suficientes !ara MualMuer !roLeto em Mue .ocA esti.esse tra/a l"ando1 EntretantoE .ocA de.e se familiari&ar com algumas ferramentas adicionais de modelagemV mesmo Mue no as utili&eE .ocA !ode encon tr?las no seu tra/al"oE e de.eE !elo menosE sa/er lA?las e inter!ret?las1 @I@ As ferramentas adicionais dc modelagem Mue estudaremos neste ca!Xtulo incluem> j FluWogramas e suas .ariantes1 j FluWogramas de sistemas1 j Diagramas ,IP$ e grficos estruturais1 j Qaria0es nos diagramas de fluWo de dados1 j Qaria0es nos diagramas de entidades?relacionamentos1 $ !ro!Ysito deste ca!Xtulo no 2 fa&er de .ocA um !erito em Mual Muer dessas ferramentas de modelagemE mas a!enas mostrar?l"e Mue elas eWistem como alternati.as !ossX.eis1 Detal"es su!lementares de cada ferramenta de modelagem !odem ser encontrados nas referAncias do final do ca!Xtulo1 9I19 F-7X$G*AMA' E '7A' QA*IA8TE' 9I1919 $ FluWograma Clssico 7ma das mais antigas e mel"ores ferramentas de modelagem co n"ecidas 2 o fluWograma clssicoV um fluWograma tX!ico 2 mostrado na figura 9I191 'e .ocA L te.e algum contato com com!utadoresE ou !rograma oE ou !rocessamento de dadosE 2 !ro..el Mue ten"a tido !elo menos alguma relao informal com os fluWogramas1 8o os estudaremos em detal"e neste li.roE e somente daremos uma ol"ada em um su/conLunto da notao de diagramao1 Para detal"es so/re notao de fluWogra masE recorra a d 9CKH91 A notao a!resentada na figura 9I19 tem somente trAs com!o nentes> j $ Muadro retangular re!resenta uma instruo eWecut.el de com!utador ou uma seMuAncia de inslru0es conlX j $ Muadro em forma de losango re!resenta uma decisoV no caso mais sim!les re!resenta uma deciso /inria1 j As setas Mue interligam os Muadros re!resentam o fluWo de con trole1 'Y !ode "a.er uma seta saindo de um Muadro retangularV @IJ Figura 9I19> 7mfluWoEgrama tX!ico isto 2E Muando uma instruo termina sua eWecuoE o fluWo !ode !rosseguir !ara alguma instruo ou deciso 3nica su/ seMaente1 De modo semel"anteE sY !ode "a.er duas setas ori ginando?se de uma deciso1 Como .ocA !ode .erE os fluWogramas nos !ermitem re!resentar graficamente a lYgica !rocedural de um !rograma de com!utador1 ^ nessa rea Mue os fluWogramas so mais usadosE em/ora a introduo de linguagens de !rogramao de alto nX.el nos anos <H e KH ten"a elimi nado grande !arte da necessidade de fluWogramas detal"ados1 Por2mE se os fluWogramas so uma das ferramentas de !rograma oE !or Mue=discuti?los nesse li.ro[ A res!osta L l"e de.e ter ocorrido> alguns analistas de sistemas usam fluWogramas como um meio de docu?E mentar as es!ecifica0es de !rocessos Fisto 2E como uma alternati.a Z linguagem estruturada e Zs outras ferramentas a!resentadas no ca!itulo 99O1 Como se !ode recordar do ca!Xtulo 99E min"a o!inio 2 Mue Mual Muer t2cnica de documentao Mue descre.a corretamente as eWigAncias do usurio e Mue comuniMue efeti.amente essas eWigAnciasE 2 aceit.el1 Desse modoE se o usurio gosta de ler fluWogramas e se estes descre.em @II com eWatido a norma eWecutada dentro de uma /ol"a em um diagrama de fluWo de dadosE eles !odem ser utili&ados1 EntretantoE muito !oucos analistas dc sistemas fa&em usoE realmen teE de fluWogramas detal"ados !ara es!ecifica0es de !rocessos1 EWistem di.ersas ra&0es !ara i''$> j A menos Mue seLa tomado um grande cuidadoE o fluWograma !ode tornar?se incri.elmente com!licado e dificil !ara ser lido=1 7m eWem!lo de um tX!ico fluWograma no?estruturado 2 mos trado na figura 9I1:1 j Em/ora o su!orte automati&ado Fem esta0es de tra/al"o /asea das em PCO esteLa agora dis!onX.elE ele ainda reMuer um tra /al"o consider.el !ara se desen.ol.er os grficos de um fluWograma1 EE se os detal"es da orientao do usurio se modi ficaremE ou se o analista de sistemas ti.er Mue alter?los muitas .e&es at2 Mue ten"a alguma coisa Mue o usurio aceite como corretaE ser uma tarefa tediosa e consumidora de tem!o rede sen"ar o fluWograma a cada .e&1 'e a es!ecificao de !rocessos esti.er re!resentada so/ alguma forma teWtual Mue !ossa ser mani!ulada com um !rocessador de !ala.rasE as mudanas costumam ser muito mais fceis1 j $s modelos grficos so geralmente mais efica&es como meio de ilustrar uma realidade mull%limensional1 $s diagramas de fluWo de dadosE !or eWem!loE ilustram de forma .X.ida o fato de Mue todas as /ol"as do sistema !odem estar ati.as ao mesmo tem!o1 Mas o fluWo de controle cm um !rograma ou em uma es!ecificao de um !rocesso indi.idual !ode ser descrito so/ forma unidimensionalV isto 2E a lYgica !ode ser organi&ada de forma a fluir uniformemente de _alto a /aiWo] l>ace a isso os grficos tornam?se desnecessrios1 9I191: Qaria0es dos FluWogramas Em/ora os fluWogramas clssicos seLam os mais utili&ados ? Muan do so utili&ados ? eWistem algumas .aria0es Mue .ocA de.e con"ecer1 Mencionaremos Muatro delas> 91 Diagramas de 8assi?'"neiderman :1 Diagramas de Ferstl @1 Diagramas de ,amilton?geldin J1 Diagramas de anlise de !ro/lemas @I< $s diagramas de 8assi?'"neiderman FZs .e&es citados como dia gramas de C"a!inO foram a!resentados nos anos KH F.eLa d e '"nei dermanE 9CK@9 e EC"a!inE 9CKJ9O como uma forma de reforar a estrita a/ordagem da !rogramao estruturada1 A figura 9I1@ mostra um dia grama de 8assi?'"neidcrman tX!ico1 Como se !ode .erE o diagrama 2 fcil de ser lido1 EntretantoE !ode?se o/Letar Mue os diagramas de 8assi '"neiderman nada mais so do Mue declara0es cm linguagem estruturada com Muadros ao redor1 $s diagramas de Fersil so uma outra .ariao do fluWograma cls sicoV d 9CKD9 a!resenta uma com!leta descrio deles1 A figura 9I1JFaO mostra um diagrama de Fcrstl tX!ico1 Al2m de mostrar a lYgica seMaencia` normal de !rogramasE o diagrama de Ferstl tam/2m !ode ser usado !ara mostrar o !rocessamento em !araleloV a notao Ferstl !ara !rocessamento em !aralelo 2 mostrada na figura 9I1JF/O1 $s diagramas de RXamilton?geldin foram desen.ol.idos como !arte das ati.idades de desen.ol.imento de soft4are !ara o !roLeto '!ace '"uttle FNni/us es!acialO da 8A'AV .eLa I,amilton e geldinE 9CK:91 A figura 9I1I a!resenta um tX!ico diagrama de ,amilton? geldinE tam/2m con"ecido !or diagrama estruturado de !roLeto1 8esses diagramasE os Muadros retangulares tAm o mesmo significado Mue os dos fluWogramas A8'I> um comando eWecut.el ou um gru!o de comandos eWecut.eis Figura 9I1:> 7mfluWograrna no?estruturado @IK $/ter registro mestre $/ter registro de transao 8 D$ 5,I-E eWistirem mais transa0es $* eWistirem mais registros mestres Im!rimir mestre .er ? mestre htransao[ g atuali&ar mestre dadeiro falso o/ter no.o mestre Im!rimir mestrel im!rimir erro o/ter no.a transao Fec"ar arMui.o mestre Fec"ar arMui.o de transa0es contXnuos17m !entgono alongado 2 em!regado !ara mostrar coman dos IF e itera0es D$?5,I-EG*EPEAT? 78TI-1 $ controle flui normal mente de cima !ara /aiWM no diagramaE eWceto no caso de testes IF e de itera0es FD$s e *EPEA Mue .o da esMuerda !ara a direita1 Diagramas de anlise c !ro/lemas FDAPOE desei4ol.ido na ,itac"i Cor!oration F.eLa IFutam= Ka4aiE ,ori%os"i e TsutsumiE 9CD9eOE so uma re!resentao /idimensionalE com estrutura em r.oreE Figura 9I1@> 7m diagrama de 8assi?'"neiderman tX!ico Figura 9I1J FaO 7m diagrama de Fers>9 tX!ico @ID da lYgica de !rogramas1 $s com!onentes dc um DAP so mostrados na figura 9I1<FaO1 Assim comt os diagramas de Ilamilton?geldinE os DAP so lidos de cima !ara /aiWoE com as estruturas dc IF e as itera0es mos tradas da esMuerda !ara a direitaV a figura 9I1<F/O mostra um eWem!lo1 Como os diagramas de FerstlE um DAP !ode mostrar o !rocessa mento em !araleloV ele tam/2m utili&a uma com/inao de fluWo se Maencial .ertical com nX.eis dc anin"amento "ori&ontais FcW1> laos dentro de laos dentro de outros laosO semel"ante Z dos diagramas de ,amilton geldin1 9I1: F-7X$G*AMA' DE 'I'TEMA As a/ordagens de fluWogramas .istas nas se0es !recedentes so 3teis !ara mostrar lYgica detal"adaE em um !rograma de com!utador ou em uma es!ecificao de !rocesso !ara uma determinada /ol"a de um DFD1 ContudoE uma .iso de alto nX.el da organi&ao de um sistema !ode ser mostrada !or outro ti!o de fluWograma c"amado de LKu1Wograma de sistema1 A figura 9I1K mostra um RluWoDrama de sistema tX!ico1 1 Isso indica Mue o !rocesso P 2 com!osto !elos !rocessos P9 PnE Mue !odem ser eWecutados em !aralelo Figura 9I1J F/O> 8otao de !rocessamcnto cm !aralelo em diagramas Fe @IC J Figura 9I1I> 7m diagrama de ,amilton?geldin t& E8T7A8T$ C P*$CE''A* P F.erdadeiroO P*$CE''A* P C$8DI()$ FfalsoO P*$CE''A* T Figura 9I1< FaO> Com!onentes de um DAP $/ser.e Mue os Muadros retangulares re!resentam agregados o!e racionais de soft4are FeW1> !rogramasE Lo/ ste!sE eWecu0es e outras uni dades de soft4are de !rocessamentoO1 $ fluWograma de sistema tam/2m mostra di.ersos ti!os de arMui.os fisicos FeW1> arMui.os em fita magn2tica ou em discosOE !odendo mostrar ainda a !resena de terminais on?line e elos de telecomunicao1 $ fluWograma de sistema 2 muitas .e&es um diagrama /astante 3til !ara os !roLetistas de sistemas Mue tAm de desen.ol.er a arMuitetura @<H AT^ c: P: P@ 8T7A8T$c@PJ Figura 9I1<F/O> 7m DAP tX!ico geral de "ard4are e soft4are de um sistema !ara im!lementar os reMui sitos do usurio1 EntretantoE min"a o!inio 2 Mue esse recurso no 2 uma ferramenta adeMuada de modelagem !ara a anlise de sistemas !ela sim!les ra&o de Mue ele enfati&a os detal"es fisicos da im!lementao Mue o usurio e o analista de sistemas no de.em discutir1 Em lugar de tecerem considera0es so/re um arMui.o em discoE !or eWem!loE o ana lista de sistemas e o usurio de.em discutir o conte3do do arMui.oV em .e& de falarem so/re !rogramas indi.iduais eles de.em discutir as fun0es Mue de.em ser eWecutadas1 EWiste uma situao em Mue o fluWograma de sistema !ode ter muita utilidade como ferramenta de modelagem> no final da ati.idade da anlise do sistemaE Muando o modelo de im!lementao do usurio esti .er sendo ela/orado1 8aMuele !ontoE o usurioE o analista de sistemas e a eMui!e de im!lementao F!roLetistas e !rogramadoresO discutem as restri0es da im!lementao Mue de.em ser im!ostas ao sistemaV essas restri0es incluem coisas como a determinao da fronteira da automati &ao FMue !artes do sistema sero automati&adas e Mue !artes sero manuaisO e a interface "umana Fdetal"es da interao entre o sistema e os usurios "umanosO1 @<9 Figura1 9I1K> 7m tX!ico fluWograma de sistema 9I1@ $' DIAG*AMA' ,IP$ $s diagramas ,IP$ foram desen.ol.idos !ela IBM nos anos KH F.eLa d 9CKJe e EKat&anE 9CK<eO e tAm sido utili&ados !or alguns analistas de sistemas !ara a!resentar uma .iso de alto nX.el das fun0es eWecutadas !or um sistemaE /em como a decom!osio de fun0es em su/fun0es etc1 A figura 9I1D mostra um diagrama ,IP$ tX!ico1 Em alguns am/ientes usuriosE os diagramas ,IP$ !odem ser fer ramentas 3teis !ara modelagemE !orMue se !arecem com o con"ecido diagrama organi&acional ForganogramaO Mue descre.e a "ierarMuia de gerentesE su/gerentes etc1 EntretantoE o diagrama no mostra os dados utili&ados ou !rodu&idos !elo sistemaV em/ora seLa com!reensX.el Mue @<: Figura 9I1D> 7m diagrama ,IP$ tX!ico algu2m Mueira deserifati&ar os relacionamentos de dados em um modeloE no creio Mue isso aLude a eliminar todas as informa0es so/re os dados1 Em realidade eWiste um segundo com!onente do diagrama ,IP$ Mue no mostra os dados1 $ diagrama mostrado na figura 9I1D 2 con"e cido como QT$C F.isual ta/le of contentsO1 Cada funo re!resentada !or um Muadro retangular !ode ser descrita com mais detal"es em um diagrama IP$ Fin!ut?!rocess?out!u$V a figura 9I1C a!resenta um diagrama IP$ tX!ico1 Em/ora os detal"es dos dados seLam de fato mostrados nesse nX.elE no o so no diagrama QT$C de alto nX.el1 AssimE algu2m Mue eWamine uma .ista geral do sistema no .er com facilidade as interfaces entre os di.ersos com!onentes do sistema1 9I1J DIAG*AMA' E'T*7T7*AI' 7ma .ariao dos diagramas ,IP$ Mue tem am!la utili&ao 2 o diagrama estrutural1 A figura 9I19H mostra um diagrama estrutural @<@ Eeniente de AT7A-IgA*?CAMP$?ME'T*E E8T*ADA P*$CE''$> $/ter transao .lida 'AcD P$I8TE* s $ CA-- I8ICIA-IgAT*A8' transao *EPEAT 78TI- fim do arMui.o $* fim da transao !rimeiro CA-- $BTE* CAMP$ Q+-ID$ !rimeir@ carto daT IF 8$T fim do arMui.o or fim carto da transao da transao transac E8DIF C$-ETA* CAMP$' seguinte E8D*EPEAT do?ar Para> I8ICIA-IgAT*A8' $BTE* CAMP$' Q+-ID$' C$-E9rA* CAMP$' Figura 9I1C> 7m diagrama IFQ tX!ico tX!icoV o/ser.e Mue al2m de mostrar a "ierarMuia funcionalE ele tam/2m mostra as interfaces de dados entre os com!onentes1 De modo di.erso de muitos dos diagramas anterioresE o Muadro retangular em um diagrama estrutural no re!resenta uma 3nica de clarao com!utacional ou um gru!o contXguo de declara0esV em .e& dissoE ele re!resenta um mYdulo FeWem!los comuns de mYdulos so su/?rotinas F$*T*A8E !rocedimentos PascalE su/!rogramas e se0es C$B$-O1 As setas Mue interligam os mYdulos no re!resentam coman dos G$T$ eE simE c"amadas a su/?rotinasV a notao im!lica em Mue a su/?rotina sair ou retornar !ara o !onto de onde foi c"amadaE ao terminar de eWecutar sua funo1 Em/ora o diagrama estrutural seLa mais utili&ado Mue o diagrama ,IP$E ele de fato no tem uso na rea da anlise de sistemas1 Por MuA[ PorMue ele 2 utili&ado como uma ferramenta de !roLeto !ara modelar a "ierarMuia sincront&ada de mYdulos de um sistemaV sincroni&ada Muer @<J Figura 9I19H> 7m diagrama estrutural tX!ico di&er Mue a!enas um mYdulo 2 eWecutado a cada momentoE o Mue 2 uma acurada re!resentao da maneira como as coisas funcionam na maioria dos !rocessamentos atuaisE $ analista dc sistemasE !or seu ladoE necessita de uma ferramenta de modelagem Mue l"e !ermita mostrar uma "ierarMuia de redes assXncronas dc !rocessosV isso 2 efeti.amente reali&ado com o conLunto de diagramas dc fluWo de dados em .rios nX.eis1 $ diagrama estrutural 2 eWtensi.amente utili&ado em !roLeto de !rogramasV .eremos isso detal"adamcnte no ca!Xtulo ::1 9I1I QA*IA(rE' D$' DIAG*AMA' DE F-7X$ DE DAD$' Como dissemos no ca!Xtulo CE eWistem di.ersas diferenas _cosm2 ticas] entre os diagramas de fluWo de dados deste li.ro e os a!resentados em outros li.ros1 As !rinci!ais diferenas soE geralmenteE relati.as a detal"es como a utili&ao de retPngulos ou o.ais em lugar de /ol"as !ara mostrar as fun0es eWecutadas !or um sistemaV os diagramas de fluWo de dados desen"ados com o.ais costumam ser c"amados de dia gramas de Gane? 'arson1 EntretantoE eWiste !elo menos uma significati.a .ariao do diagra ma de fluWo de dados clssicoV essa .ariao 2 con"ecida como diagrama @<I 'ADTE tendo sido desen.ol.ido !ela 'ofiec" F.eLa l*oss e 'c"ornanE 9CKK9O1 A figura 9I199 mostra um diagrama 'ADT tX!ico1 Em/ora semel"ante em nature&a aos diagramas de fluWo de dados mostrados neste li.roE os diagramas 'ADT distinguem entre fluWos de dados e fluWos de controle !elo !osicionamento das setas nos Muadros retangulares1 Em/ora certamente !ossa ser feitoE isso introdu& algumas restri0es to!olYgicas no diagramaE o Mue muitos analistas de sistemas consideram com!licado1 mecanismo de su!orte Figura 9I199> 7m diagrama '+DT tX!ico 9I1< QA*IA(rE' D$' DIAG*AMA' DE E8TIDADE'? *E-ACI$8AME8T$' $s diagramas de entidades?relacionamentos a!resentados no ca!X tulo 9: so considerados !ela maioria dos analistas de sistemas como sendo o recurso mais geral e a/strato de re!resentar relacionamentos de dados1 ContudoE eWistem !elo menos trAs outras con"ecidas nota0es de estruturas de dados> j Diagramas de Bac"man j Diagramas de estruturas de dados dc DeMarco j Diagramas de estruturas de dados de Rac%son 7ma das formas mais con"ecidas de modelos de dados 2 o diagra ma de Bac"manE desen.ol.ido !rimeiramente !or C"arles Bac"man na @<< d2cada de <H1 A figura 9I19: mostra um diagrama de Bac"man tX!ico1 $/ser.e Mue ele 2 semel"ante ao diagrama de entidades?relacionamen tos discutido no ca!Xtulo 9:E !or2m no mostra eW!licitamente o relacio namento entre os o/Letos1 $/ser.e tam/2m a seta de duas !ontas> ela indica um relacionamento de um?!ara?muitos FeW1> um cliente !ode !os suir mais de uma casaE mas Fno modeloO uma casa sY !ode !ertencer a um clienteO1 $s diagramas de estruturas de dados de DeMarco o/ti.eram consi der.el !o!ularidade nos 3ltimos de& anosV a figura 9I19@ a!resenta um diagrama de estrutura de dados tX!ico1 $/ser.e Mue al2m de mostrar cada o/Leto do modelo de dadosE o diagrama mostra o cam!o c"a.eV como .ocA de.e recordarE a con.eno usada neste li.ro 2 mostrar o cam!o c"a.e no dicionrio de dados1 Em/ora os diagramas de estrutura de dados de Rac%son no seLam largamente utili&ados nos Estados 7nidos atualmenteE eles so muito !o!ulares na InglaterraE Euro!a e em outras !artes do mundoV Rean DominiMue 5arnierE d 9CK<9 e Ken $rr l$rrE 9CKK9E desen.ol.e ram modelos de dados semel"antesE e Mue so um tanto mais !o!ulares nos Estados 7nidos1 Em .e& de focali&arem os relacionamentos entre os Figura 9I19:> 7m diagrama de Bac" man tX!ico @<K Figura 9I19@> 7m diagrama de estrutura de dados de DeMarco ti!%o diferentes o/Letos de um sistemaE os diagramas de Rac%son oferecem um recurso grfico !ara mostrar a estrutura "ierrMuica de um 3nico o/Leto1 $s com!onentes de um diagrama de Rac%son so mostrad0s na figu ra 9I19JFaOV o/ser.e Mue essa mesma estrutura "ierrMuica tam/2m !ode ser documentada diretamente no dicionrio de dados utili&ando? se a notao a!resentada no ca!Xtulo 99E como se mostra na figura 9I19JF/O1 9I1K *E'7M$ A lista de ferramentas de modelagem a!resentada neste ca!Xtulo no 2 com!leta e nen"uma das ferramentas alternati.as de modelagem foi discutida detal"adamenteV !ara o/ter mais detal"es .ocA ter de consultar as referAncias no final do ca!Xtulo1 EntretantoE lem/re?se Mue .ocA !ode Lamais .er MualMuer desses diagramas em um !roLeto real Fcom a !ro..el eWceo do u/XMuo fluWogramaOV desse modoE no recomendo Mue .ocA con"ea !rofundamente os diagramas de ,amil ton?geldinE DAPE Fersti e outrosE a menos Mue .ocA esteLa tra/al"ando em um !roLeto em Mue eles seLam eWigidos1 -em/re?seE aindaE de Mue .ocA !ode ser su/metido a t2cnicas de diagramao totalmente idiossincrsicas Mue no ten"am sido .istas neste li.ro Fe tal.e& no discutidas em nen"um li.ro`O1 Isso no de.e @<D $ asterisco ; 2 usado !ara indicar iteraoE e o _o] 2 usado !ara indicar uma o!o F_eit"er?or]O1 Dessa formaE este modelo indica Mue o elemento de dados Fou o/LetoO X consiste em &ero ou mais ocorrAncias de AE seguidas !or um DE seguido !or um E1 $ elemento de dados D consiste em um C ou um $1 Figura 9I19J FaO> 7m tX!ico diagrama de estrutura de dados deRac%son X s {Au t B t E B s IC 9 D Figura 9I19J F/O> 8otao de dicionrio de dados corres!ondente Z estrutura de dados Rac% dafigura 9I19JFaO @<C deiW?lo !reocu!ado> nada eWiste de es!ecialmente sagrado a res!eito d ferramentas de modelagem utili&adas neste li.ro1 ContudoE eWiste uma diferena entre /oas e mJs ferramentas de modelagemV se .ocA se de!arar com no.as t2cnicas de diagramaoE releia o ca!Xtulo D !ara identificar os crit2rios !ara /oas ferramentas de modelagem1 *EFE*b8CIA' 91 8ed C"a!inE _Flo4c"arting 4it" t"e A8'I 'tandard> A Tutorial=E ACM Com!utXng 'u[.e#sE Qolume :E 83mero : FLun"o de 9CKHOE !gs1 99C?9J<1 :1 Corrado B e Giuse!!e Raco!iniE Flo4 DiagramsE Turing Ma c"ines and -anguages 4it" $nl# T4o Formation *ules]E Communi cation1s of l"e ACME Qolume CE 83mero I Fmaio de 9C<<OE !gs1 @<<? @K91 Tam/2m !u/licado em Clas1sics in 'oft4are EngineeringE E1 6ourdon FeditorO1 8o.a lorMue> 6$7*D$8 PressE 9CKC1 @1 91 8assi e B1 '"neidermanE _Flo4c"art Tcc"niMues for 'tructured Programming]E ACM 'RGP-A8 8olice1sE Qolume DE 83mero D Fagos to de 9CK@OE !gs1 9:?:<1 J1 8ed C"a!inE _8e4 Format for Flo4c"ar-s]E 'oft4are ? Pract and EW!erienceE Qolume JE 83mero J Foutu/ro?de&em/ro de 9CKJOE !gs1 @J9?@IK1 I1 $1 FerstlE _Flo4c"arting /# 'te!4ise *efinement]E ACM 'IGP-J8 8oticesE Qolume 9@E 83mero 9 FLaneiro de 9CKDOE !gs1 @J?J:1 <1 M1 ,amilton e '1 geldinE To!?Do4nE Bottom?7!E 'tructured Pn gramming and Program 'trucluringE C"arles 'tar% Dra!er -a/o rator#E Document E?:K:D1 Cam/ridgeE Mass1> Massac"usetts Insti tute of Tec"nolog#E de&em/ro de 9CK:1 K1 61 Futamura e outrosE _De.elo!ment of Com!uter Programs /# PAD FPro/lem Anal#sis DiagramO]E ProceedinEgs of l"e F Inter national 'oft4are Engineering Conference1 8o.a lorMue> IEEE Com!uter 'ociet#E 9CD9E !gs1 @:I?@@:1 D1 ,IP$ ? A Design Aid and Documentation Tec"niMueE IBM Cor!1E Manual nr1 GC:$? 9DI9?H1 5"ite PlainsE 8161> IBM Data Processing Di.1E outu/ro de 9CKJ1 C1 ,arr# Kat&anE Rr1E '#stems DesiEgn and Documentalion> An Intro duction lo l"e ,IP$ Mel"od1 8o.a lorMue> Qan 8ostrand *ein"oldE 9CK<1 9H1 Doug *oss e Ken 'c"omanE _'tructurcd Anal#sis for *eMuiremen-s Definition]E IEEE Transaclion1s on 'oft4are Engineering Qolume 'E?@E 83mero 9E Laneiro dc 9CKKE !gs1 <?9I1 *cim!resso em Classics in 'oft4are EngineerXngE E1 6ourdori FeditorO1 8o.a lorMue> 6$7*D$8 PressE 9CKC1 @KH 991 C151 Bac"manE _Data 'tructure Diagrams]E Data BaseE T"e Tuar terl# 8e4sletler of l"e '!ecial lnlerest Grou! on Business Data Pro cessXnEg oft"e ACME Qolume 9E 83mero : FQero de 9C<COE !gs1 J?9H1 9:1 Tom DeMarcoE 'tructured Anal#sis and '#stems '!ec&fication1 8o.a lorMue> 6$7*D$8 PressE 9CKD1 9@1 Mic"ael Rac%sonE Princi!ies of Program DesXgn1 -ondres> Academic PressE 9CKI1 9J1 -arr# PetersE 'oft4are Design> Met"ods and Tec"niMues1 8o.a lor Mue> 6$7*D$8 PressE 9CD91 9I1 Ken $rrE 'tructured '#stems De.eio!ment1 8o.a RorMue> 6$7*D$8 PressE 9CKK1 9<1 Rean?DominiMue 5arnierE -ogXcal Construction of ProgramasE @ ed1E tradu&ida !or B1 FlanaganE 8o.a RorMue> Qan 8ostrand *ein"oldE 9CK<1 PE*G78TA' E EXE*CcCI$' 91 Por Mue 2 im!ortante con"ecer outras ferramentas de modelagem al2m de DFDE DE* e DTE[ :1 Tuais so os trAs !rinci!ais com!onentes de um? fluWograma[ @1 ProLeto de PesMuisa> Tue Xcones adicionais so Zs .e&es utili&ados em fluWogramas[ FConsulte C"a!in IC"a!inE 9CKHe !ara maiores informa0esO1 J1 Tuantas setas !odem emanar de um Muadro de !rocesso em um fluWograma[ I1 Tual 2 a diferena entre um fluWograma e um diagrama de fluWo de dados[ <1 Desen"e um fluWograma !ara um algoritmo de !esMuisa /inria1 K1 Desen"e um fluWograma !ara um algoritmo de ordenao FsortO de sim!les troca1 D1 Desen"e um fluWograma !ara uma a!roWimao de 8e4ton?*a !"son !ara o clculo da rai& Muadrada1 C1 Tuais so os trAs !rinci!ais moti.os !ara no se usar os fluWo? gramas[ 9H1 Tuais so as Muatro !rinci!ais .aria0es dos fluWogramas[ 991 $ Mue 2 um diagrama de 8assi?'"neiderman[ A!resente um sinNni mo con"ecido !ara esse diagrama1 9:1 Desen"e um diagrama de 8assi?'"neiderman !ara um algoritmo de !esMuisa /inria1 9@1 Desen"e um diagrama de 8assi?'"neidcrman !ara uma ordenao Fsor$ de sim!les troca1 9J1 Desen"e um diagrama de 8assi?'"neiderman !ara a!roWimao da funo rai& Muadrada !elo m2todo de 8e4ton?*a!"son1 @K9 9I1 $ Mue 2 o diagrama de Ferstl 9<1 Desen"e um diagrama de Ferstl !ara um algoritmo de !esMuisa /inria1 9K1 Desen"e um diagrama de Ferstl !ara uma ordenao FsortO de sim!les troca1 9D1 ;Desen"e um diagrama de Ferstl !ara o m2todo de 8e4ton *a!"son !ara a rai& Muadrada a!roWimada1 9C1 Por Mue o diagrama de Ferstl 2 diferente de um fluWograma[ $ Mue ele !ode mostrar Mue o fluWograma no !ode[ :H1 $ Mue 2 um diagrama de ,amilton?geldin[ A!resente um sinNnimo !ara esse diagrama1$nde ele foi desen.ol.ido[ :91 Desen"e um diagrama de ,amilton?geldin !ara um algoritmo de !esMuisa /inria1 ::1 Desen"e um diagrama de ,amilton?gcldin !ara uma ordenao FsortO de sim!les troca1 :@1 Desen"e um diagrama de 9?lamilton?geldin !ara a a!roWimao da rai& Muadrada !elo m2todo dc 8c4ton?*a!"son1 :J1 $ Mue 2 um DAP[ $nde ele foi desen.ol.ido[ :I1 Desen"e um DAP !ara um algoritmo de !esMuisa /inria1 :<1 Desen"e um DAP !ara uma ordenao FsortO de intercPm/io sim!les1 :K1 Desen"e um DAP !ara a a!roWimaZo da rai& Muadrada !elo m2to do de 8e4ton? *a!"son1 :D1 Tuais as caracterXsticas Mue os diagramas de Ferstl e os DAP tAm em comum[ :C1 $ Mue 2 um fluWograma de sistema[ Para Mue ser.e[ @H1 Em Mue estgio do desen.ol.imento de um sistema de informa0es 2 !ro..el Mue seLa utili&ado o fluWograma de sistema[ @91 $ Mue 2 um diagrama ,IP$[ @:1 Desen"e um diagrama ,IP$ mostrando o !roLeto de um !rograma !ara o Logo da .el"a1 @@1 $ Mue 2 um diagrama de entrada?!rocessamento?saXda Fin!ut !rocess?out!ut ? IP$O[ Tual 2 o relacionamento entre um diagra ma IP$ e o conceito ,IP$[ @J1 Desen"e um diagrama IP$ !ara um algoritmo de !esMuisa /inria1 @I1 Desen"e um diagrama IP$ !ara uma ordenao Fsor$ de sim!les troca1 @<1 Desen"e um diagrama IP$ !ara a a!roWimao da rai& Muadrada !elo m2todo de 8e4ton?*a!"son1 @K1 $ Mue 2 um diagrama estrutural[ @D1 Tual 2 a diferena entre um diagrama estrutural e um diagrama ,IP$[ @C1 Desen"e um diagrama estrutural !ara um !rograma sim!les do Logo da .el"a1 @K: JH1 Por Mue o diagrama estrutural costuma ser insuficiente como ferra menta de modelagem da anlise de sistemas[ J91 $ Mue 2 um diagrama 'ADT= Tual 2 a diferena entre um diagrama 'ADT e um diagrama de fluWo de dados[ J:1 $ Mue 2 um diagrama de Bac"man[ Tual 2 a diferena entre um diagrama de Bac"man e um diagrama de entidades?relacio namentos[ J@1 $ Mue 2 um diagrama de estrutura de dados de DeMarco[ Tual 2 a diferena entre um diagrama de estrutura de dados d DeMarco e um diagrama de entidades?relacionamentos[ JJ1 $ Mue 2 um diagrama de estrutura de dados de Rac%son[ Tual 2 a diferena entre um diagrama de estrutura de dados de Rac%son e um diagrama de entidades?relacionamentos[ 8$TA' 9 Como conseMaAncia dissoE uma es!eMflcao desen.ol.ida com fluWogramas seria enormemente maior do Mue uma es!ecificao desen.ol.ida com as outras ferramentas de modelagem estudadas neste li.ro1 : $ fato de Mue MualMuer lYgica ar/itrria de fluWograma !ossa ser reorgani&ada em seu eMui.alente fluWo de alto a /aiWo 2 o funda mento da !rogramao estnsturada1 B0"m e Raco!inil:l foram os !rimeiros a !ro.ar Mue isso !odia ser feito em termos de fluWogra masV em termos de !rogramaoE isso significa Mue MualMuer !ro grima !ode ser escrito em linguagens ti!o Pascal sem comandos G$T$1 @K@ 9- 9< FE**AME8TA' DE M$DE-AGEM PA*A GE*E8CIAME8T$ DE P*$RET$' Para o /em das !essoas de diferentes ti a .erdade cientffica de.e ser a!resentada so/ diferentes as!ectosE e de.e ser .ista como igualmente cient Muer se mostre com a forma ro/usta e o .i.o colorido de uma ilustrao r Muer com a fragilidade e !alide& de uma eJresso sim/Ylica1 Rames Cler% MaW4ell Address lo l"e Mal"ematics and P"#sics 'ection Brit Associalion for l"e Ad.ancement of'cience 9DKH 8este ca!XtuloE a!renderemos> 91 PorMue a gerAncia necessita de suas !rY!rias ferra mentas de modelagem1 :1 Como desen"ar diagramas PE*I=1 @1 Como desen"ar diagramas de Ganti1 J1 $s relacionamentos entre as ferramentas de geren ciamento e outras ferramentas de modelagem1 9<19 I8T*$D7()$ Em/ora este no seLa um li.ro so/re gerenciamento de !roLetosE de.emos fa&er uma !eMuena !ausa aMuiE neste 3ltimo ca!Xtulo so/re ferramentas de modelagemE !ara a!resentar algumas ferramentas de modelagem 3teis !ara se gerenciar o !roLeto de desen.ol.imento de um sistemaV focali&aremos nossa ateno !rinci!almente nas ferramentas de modelagem con"ecidas como diagramas PE*T e diagramas de Gantt1 @KI Por Mue .ocA de.eria se interessar !or ferramentas gerenciais de modelagem[ EWistem di.ersos !ossX.eis moti.os> j Al2m de seu !a!el como analista dc sistemasE .ocA !ode ser o gerente do !roLetoV os analistas de sistemas Luniores e os !ro gramadores !odem tratar diretamente com .ocA durante o !ro Leto1 Desse modoE .ocA mesmo !ode desen.ol.er seus modelos gerenciais !ara a!resent?los aos nX.eis mais ele.ados da di reo ou !ode solicitar a um dos seus su/ordinados Mue os desen.ol.a !ara .ocA1 j Como o mais graduado t2cnico da eMui!eE o gerente do !roLeto !ode solicitar?l"e Mue desen.ol.a modelos gerenciais !ara ele ou ela1 8esse cenrioE .ocA !ode ser o a!rendi& de gerente de !roLetoE a Muem ele d assistAncia e orientao em di.ersos !ro /lemas de nature&a gerencial e t2cnica1 j Mesmo Mue .ocA no seLa res!ons.el !elo desen.ol.imento dos modelosE 2 im!ortante con"ecA?losE !orMue eles refletem a !erce!o da gerAncia so/re como est o andamento dos tra/al"os do !roLeto1 QocA !ode tirar suas !rY!rias conclus0es so/re o !ro..el sucesso ou !ossX.el fracasso do !roLeto !ela com!arao dos modelos com a sua !rY!ria !erce!o da realidade1 j A organi&ao do tra/al"o e a distri/uio de !essoas !ara as di.ersas ati.idadesE muitas .e&es con"ecidas como a su/di.iso das tarefas do !roLetoE ser "a/itualmente feita em !aralelo com a su/di.iso t2cnica do !roLeto1 Como .ocA estar estreitamente en.ol.ido com a decom!osio do sistema em suas fun0es e o/Letos de dadosE .ocA !oder ter alguma influAncia no modo como o !roLeto ser organi&ado 9 8o restante deste ca!Xtulo eWaminaremos as ferramentas de mode lagem gerencial mais utili&adas e .amos .er como elas tratam os !rinci !ais !ro/lemas enfrentados !elos gerentes dc !roLetos1 Qeremos tam /2m como as ferramentas de gerenciamento de !roLetos relacionam?se com as demais ferramentas de modelagem de sistemas discutidas nos 3ltimos ca!Xtulos1 9<1: P$* T7E A GE*b8CIA P*ECI'A DE M$DE-$'[ EWistem trAs !rinci!ais ra&0es !ara Mue a gerAncia de !roLetos !recise de modelos relati.os a !roLetos de desen.ol.imento de sistemas> @K< 9 I- 91 Para estimar o din"eiroE tem!o e !essoal necessrios ao desen .ol.imento do !roLeto1 :1 Para atuali&ar e re.er essas estimati.as durante o andamento do !roLeto1 @1 Para gerenciar as tarefas e ati.idades das !essoas en.ol.idas no !roLeto1 $ramentos e estimati.as soE naturalmenteE uma im!ortante ati.i dade dos gerentes em MualMuer !roLetoV elas se constituem nas at1i.ida des mais difXceis em muitos !roLetos de desen.ol.imento !orMue cada !roLeto 2 Fou !elo menos !arece serO in2ditoE $ a!Andice B discute algumas das fYrmulas e alguns dos m2todos !ara se estimar o .olume de tra/al"o a ser eWecutado em um !roLeto e a Muantidade dc !essoas Mue ser necessria1 EntretantoE a gerAncia necessita de modelos ? e os modelos grficos so deseL.eisE !elos mesmos moti.os Mue esses modelos so 3teis em outros as!ectos da anlise dc sistemas ? !ara sa/er Muando as !essoas esto dis!onX.eis !ara desem!en"ar tarefas no !roLetoE o Mue acontecer se essas !essoas no esti.erem dis!onX.eisE e assim !or diante1 Esses as!ectos sero eWaminados detal"adamente na seo 9<1I1 Mesmo o mel"or dos !lanosE entretantoE !ode fracassar se for im!lementado Zs cegas1 As circunstPncias mudam continuamente duran te o !roLeto> os recursos fundamentais !odem no estar dis!onX.eis no eWato momento em Mue se fa&em necessriosV im!ortantes mem/ros da eMui!e !odem adoecer ou deiWar o !roLetoV a estimati.a original do .olume de tra/al"o a ser feito !ode re.elar?se ineWataV o usurio !ode su/itamente anunciar Mue o sistema !recisa estar o!eracional um mAs antes da data !re.istaV o gerente !ode desco/rir Mue o tra/al"o est sendo feito com mais lentido Mue o es!erado1 Desse modoE 2 im!ortan te !ara o gerente de !roLeto dis!or dc modelos Mue l"e !ossi/ilitem resol.er as conseMaAncias das altera0es do !lano1 EE !or fimE o gerente de !roLeto de.e no sY c"efiar tarefasE mas tam/2m de.e c"efiar !essoas1 $ gerente de.e assegurar Mue todos os analistas de sistemasE os !rogramadoresE os !roLetistas de sistemas e todos os demais faam o Mue de.em fa&er no momento certo1 AssimE o gerente !recisa dc ferramentas de modelagem Mue se focali&em nas !essoasE al2m das?Mue se focali&am nas tarefas1 @KK 9<1@ $' DIAG*AMA' PE*T PE*T 2 um acrNnimo !ara Program E.aluation *e.le4 Tec"nlMue1 Essa t2cnica foi originalmente desen.ol.ida nos anos <H como uma ferramenta de gerenciamento !ara o !loLeto do su/marino Polaris da Marin"a dos E7AV Boo& Alien Fa firma consultoraOE a -oc%"ead Aircraft e a Marin"a dos E7A so geralmente creditadas !elo desen.ol.imento do conceito1 $s diagramas PE*T tAm sido am!lamente usados em !roLetos industriais e go.ernamentais desde entoV muitos os denominam atual mente de diagramas de ati.idades1 A figura 9<19 mostra um tX!ico diagrama PE*T !ara um !roLeto "i!ot2tico1 Cada retPngulo re!resenta uma tarefa ou ati.idade Fisto 2E uma !arte recon"ecX.el de um ser.io Mue !recisa ser feitoO1 $s Muadros com cantos arredondados so con"ecidos como marcosE e tAm um signi ficado Y/.io no conteWto de um !roLeto1 As lin"as Mue interligam os Muadros mostram de!endAnciasV isto 2E mostram Mue ati.idades de.em ser terminadas antes do inXcio de alguma outra ati.idade1 As lin"as mais grossas e escurasE Mue formam um camin"o contXnuo do inXcio ao fim do !roLeto re!resentam o camin"o crXticoE as ati.idades cuLo atraso causar o atraso de todo o !roLeto Fas ati.idades fora do camin"o crXtico tAm uma \folga]V elas !odem ser iniciadas em data mais tardia Mue a !re.ista at2 o total das folgas dis!onX.eisE se assim for deseLadoE sem Mue isso afete o !roLeto inteiroO1 JG9 Plano do !roLeto X6g -tda Figura 9<19> 7m diagrama PE*T @KD Atente !ara o fato de Mue 2 o gerente do !roLeto Fou um su/or dinadoO Muem determina as tarefas Mue sero de!endentes de outras tarefas1 Em muitos casosE a de!endAncia 2 relacionada aos dados> a ati .idade 8 t 9 eWigeE como entradaE algo Mue seLa !rodu&ido como saXda !ela ati.idade 81 Em outros casosE a de!endAncia re!resenta um !onto de .erificao do !roLeto FeW1> o marco 8 !ode ser uma reunio de re.iso da gerAncia Mue de.e a!ro.ar o tra/al"o feito at2 aMuele !ontoE antes Mue a ati.idade 8 t 9 !ossa ser iniciadaO1 $/ser.e Mue o eWem!lo da figura 9<19 2 /astante tri.ial> ele cont2m a!enas de& ati.idades e termina Muando a ati.idade de anlise de siste mas comea1 7m !roLeto tX!icoE naturalmenteE !rossegue a!Ys a conclu so da ati.idade de anlise dc sistemas e dcs!cndc um consider.el .olume de tem!o na rea de !roLetoE codificaoE testes etc1 8a realida de um !roLeto tX!ico ter !ro.a.elmente algumas centenas de ati.idades Mue sero mostradas em um diagrama PF*T1 Esse diagrama !ode ser colocado na !arede do escritYrio do gerenle do !roLetoE mas certamente no ca/eria nas !ginas deste li.ro1 7m as!ecto da maior im!ortPncia 2 Mue a maioria dos !roLetos identifica as !rinci!ais ati.idades Mue so de!ois su/di.ididas em outras menores1 Por eWem!loE a figura 9<19 mostra uma ati.idade rotulada ;Condu&ir ati.idades de anlise de sistemas]1 Como temos .isto neste li.roE eWistem muitas e muitas coisas Mue se enMuadram so/ o tXtulo de ;condu&ir] anlise de sistemas> na .erdadeE !oderXamos ter um grande diagrama PE*T dedicado a essas su/ati.idades1 AssimE do mesmo modo como .imos o conceito de diagramas de fluWo de dados em nX.eis no ca!Xtulo CE !odemos imaginar o conceito de diagramas PE*T em nX.eis !ara auWiliar a organi&ar a com!leWidade de muitas centenasE ou tal.e& de mil"aresE de ati.idades de um grande !roLeto1 A !ro!YsitoE o/ser.e Mue o diagrama PE*=F focali&a as ati.idades e interde!endAncias entre as ati.idadesE mas informa !ouco ou nada so/re muitos outros as!ectos de um !roLeto Mue so do interesse de um ge rente1 Ele no indicaE !or eWem!loE Mue !essoa ou gru!o de !essoas de.e eWecutar as di.ersas ati.idades e nada nos di& eW!licitamente so/re o tem!o Fou n3mero de "omens?diasO Mue cada ati.idade eWige1 Ele tam/2m no mostra Mue !rodutos ou saXdas so fornecidos em cada ati.idade1 Algumas dessas informa0es so ressaltadas nos outros modelos gerenciais discutidos a seguir1 Por fimE o/ser.e Mue o diagrama PE*T !arece !resumir Mue tudo se mo.imenta !ara a frenteE como indica a seMaAncia esMuerda?!ara?a direita das ati.idades1 8a realidadeE muitas .e&es 2 necessrio .oltar e refa&er algumas das ati.idades anteriores no caso de serem encontrados !ro/lemas em algum estgio !osterior1 Esse ti!o de ati.idade iterati.a no 2 /em mostrada em um diagrama PE*T tX!ico1 @KC Por outro ladoE o diagrama PE*T mostraE com clare&aE o fato de Mue muitas ati.idades !odem ocorrer em !aralelo em um !roLeto do mundo real1 Isso 2 im!ortanteE !orMue muitos dos outros modelos do !roLeto do a entender Mue as ati.idades de.em ocorrer de modo se Maencial F.eLaE !or eWem!loE a figura I19O1 $s gerentes de !roLeto geral mente Muerem tirar o mWimo !ro.eito !ossX.el do _!aralelismo]E uma .e& Mue ele !ode a/re.iar o tem!o necessrio !ara o !roLeto1 9<1J DIAG*AMA' DE GA8TF 7m segundo ti!o de modelo de gerenciamento de !roLetos 2 o diagrama de GanitE Zs .e&es c"amado de lin"a cronolYgica dc tarefas1 A figura 9<1: mostra um diagrama de Gantt !ara o mesmo !roLeto "i!ot2 tico utili&ado na figura 9<191 Perce/a Mue cada ati.idade 2 mostrada com a indicao de Muando se inicia e de Muando terminaV a rea som/reada indica o tem!o de folgaE enMuanto as ati.idades em retPngulos /rancos so as Mue !ertencem ao camin"o crXtico1 Como se !ode .erE o diagrama de Gantt a!resenta Muase Mue o mesmo ti!o de informa0es Mue o diagrama PE*TV a !rinci!al diferena 2 Mue ele mostra a durao de cada ati.idade :E o Mue o diagrama PE*T no fa&1 Como ele 2 algo mais do Mue uma re!resentao ta/ular do JG9 9G: :CG: :DG@ :IGJ InXcio FJar com re do usurio Des2n.ol.er as!ectos iniciais do !roLeto d instala0es do usurio A!resentar estudo de .ia/ilidade *e.er C reguladores ln.estig alternati.as financeiras Condu&ir ati.idades de anlise de sistemas A!resentar resultados da anlise de siste Figura 9<1:> 7m diaEgrama de Gana @DH !roLetoE !ode muitas .e&es ser em!regado !ara a!resentar grandes .olu mes de informa0es de forma relau.amente com!acta1 9<1I FE**AME8TA' ADICI$8AI' DE M$DE-AGEM GE*E8CIA- Al2m das duas !rinci!ais ferramentas de modelagem acima discuti dasE os gerentes do !roLeto muitas .e&es !rocuram utili&ar outros diagra mas e ta/elas !ara auWili?los a controlar seu tra/al"o1 Por eWem!loE em .e& de mostrar as tarefas como fi&emos na figura 9<1:E !oderXamos facil mente ela/orar um diagrama mostrando a ati.idade de cada recurso do !roLeto @1 A figura 9<1@ mostra uma lista de recursos !ara o mesmo !ro Leto "i!ot2ticoV elaE o/.iamenteE seria 3til !ara se manter controle so/re as di.ersas ati.idades so/re as Muais cada mem/ro do !roLeto 2 res !ons.el1 De forma semel"anteE !odemos decidir Mue seria !rtico termos uma lista das di.ersas ati.idades do !roLetoE !ossi.elmente com a indicao da data mais !rYWima cm Mue cada ati.idade !ode ser iniciada e a data mais tardia !ara seu inXcio sem !reLudicar outras tarefas nem atrasar o t2rmino do !roLeto1 ^ e.idente Mue as informa0es da X 9<1J so uma outra .iso dos as!ectos gerenciais do !roLetoV ela de.e ser com!atX.el com as ou tras .is0esE do mesmo modo como os modelos DFDE DE* e DTE de um sistema de informa0es so com!atX.eis entre si1 Tendo criado MualMuer um dos modelos de gerenciamento do !roLetoE de.emos !oder deri.ar os outros mecanicamenteV .oltaremos a este assunto na seo 9<1K1 9<1< $ *E-ACI$8AME8T$ E8T*E A' FE**AME8TA' DE GE*E8CIAME8T$ DE P*$RET$' E A' $7T*A' FE**AME8TA' Tual ser o relacionamento eWistente entre os diagramas PE*TE diagramas de Gantt e os di.ersos modelos de sistemas FDFDE DE*E DTE etc1O Mue esti.emos discutindo neste li.ro[ $ mais forte !arece ser o relacionamento entre o diagrama PE*T e o diagrama de fluWo de dados> am/os mostram as ati.idades Fou fun0esO Mue so eWecutadasE e am/os tam/2m mostram algumas coisas relati.as Z interao entre essas fun 0es1 EntretantoE o DFD no mostra a/solutamente nada a res!eito da seMaAncia em Mue as fun0es so eWecutadasE enMuanto o diagrama PE*T indica as ati.idades Mue funcionam dc maneira concorrente e as Mue so eWecutadas de modo seMaencial1 Al2m dissoE .imos Mue o dia grama PE*T no mostra a saXda !rodu&ida cm cada ati.idadeE nem indica as entradas Mue cada ati.idade eWige1 @D9 JG9 9G: :CG: :DG@ :<GJ Bet" Desen.ol.er as!e tos iniciais do roie A!resentar estud de .ia/ilidade *e.er !rocedime reguladores ln.estig alterna .as financeiras Da.id ; instal Yes do usurio A!resentar estudo de .ia/ilidade Condu&ir ati.idaJs de anlise de sist mas Qar# Inicio I insta a0es do usurio Condu&ir ati.idaF es de anlise de sistemas Caro 9 ?i Falar com re!resentantes do usuano Ros Figura 9<1@> 7ma lista de recursos Como .imos no ca!Xtulo IE os DFD !odem ser utili&ados !ara mostrar as ati.idades de um !roLetoE e tam/2m as entradas e saXdasV assim sendoE !odem ser usados como ferramentas de modelagem em lugar do diagrama PE*T1 ContudoE a maioria dos gerentes de !roLeto !oderiam utili&ar o diagrama !ara Mue fosse mostrado o camin"o crXticoV !recisariam ainda de informa0es adicionaisE como a durao de cada ati.idade e o !essoal en.ol.ido em cada ati.idade1 AssimE 2 comum .er se o diagrama PE*T clssico usado em com/inao com o diagrama de Gantt e com a lin"a cronolYgica de recursos Mue discutimos antes1 Mais significati.o 2 o fato de Mue as ati.idades Mue a!arecem em um diagrama PE*T so as ati.idades de desen"ar DFDE DE* etc1 Portan toE em/ora a figura 9<19 mostrasse a ati.idade de alto nX.el _condu&ir @D: anlise de sistemas]E um diagrama PE*T mais realista !ro.a.elmente mostraria uma lista de ati.idades como esta> j Desen"ar os diagramas de dados do no.o sistema j Desen"ar os diagramas de entidades?relacionamentos do no.o sistema j Desen"ar os diagramas de transi0es de estado do no.o sistema j Ela/orar o dicionrio de dados do no.o sistema j *edigir as es!ecifica0es dc !rocessos !ara as /ol"as do nX.el mais /aiWo j EMuili/rar os modelos j EWecutar os clculos de custoG/enefXcio j Etc1 Como .eremos na !arte IQE os diagramas de fluWo de dados e outras ferramentas de modelagem semel"antes so utili&adas !ara ela /orar uma s2rie de modelos do no.o sistema1 AssimE 2 !ro..el Mue encontremos as seguintes ati.idades dc alto nX.el> j Desen.ol.er o modelo am"icntal j Desen.ol.er a !rimeira .erso do modelo com!ortamental j *efinar o modelo com!ortamcntal j Desen.ol.er o modelo de im!lementao do usurio 8o !resente momenioE nen"um desses itens de.e fa&er muito sen tido !ara .ocAV discutiremos o modelo am/iental no ca!Xtulo 9DE o modelo com!ortamental nos ca!Xtulos 9C e :HE e o modelo de im!le mentao do usurio no ca!Xtulo :91 $ !rinci!al as!ecto a ser lem/rado 2 Mue as ati.idades Mue mostra mos no diagrama PE*T e nos diagramas de Gantt corres!ondem Zs ati.i dades de ela/orao de modelos Mue .imos discutindo neste li.ro1 ^ claro Mue um diagrama PE*T real !ara um !roLetoE a/rangendo todo o ciclo de .idaE tam/2m de.e mostrar as ati.idades de desen"o F!roLetoOE !rogramaoE testesE con.erso de /ancos de dados e instalao1 @D@ InXcio T2rmino InXcio T2rmino Tarefa Dias mais mais mais mais cedo cedo tardio tardio 9 InXcio $ 9GJGDD 9GJGDD 9GJGDD 9GJGDD : Falar com re!resen? I 9GJGDD 9G99GDD 9G9CGDD 9G:<GDD tante do usurio @ Desen.ol.er as!ectos :H 9GJGDD :G9GDD 9GJGDD :G9GDD iniciais J Qisitar instala0es do J 9G99GDD 9G9IGDD 9G:<GDD :G9GDD usurio I A!resentar estudo de $ :G9GDD :G9GDD :G9GDD :G9GDD .ia/ilidade < *e.er !rocedimentos 9H :G9GDD :G9IGDD :G9IGDD :G:CGDD reguladores K In.estigar alternati.as 9H :G9GDD :G9IGDD :G9IGDD :G:CGDD financeiras D Condu&ir ati.idades de :H :G9GDD :G:CGDD :G9GDD :G:CGDD anlise de sistemas C A!resentar resultados $ :G:CGDD :G:CGDD :G:CGDD :G:CGDD Figura 9<1J> 7ma lista de tarefas 9<1K $ P*$B-EMA DA A7T$MATIgA()$ TrAs coisas de.em ter ficado e.identes a!Ys a discusso so/re fer ramentas de gerenciamento de !roLetos deste ca!Xtulo> 91 Algumas das ferramentas de modelagem en.ol.em grficosV !ortantoE !ara fa&A?las funcionarE algu2m ou alguma coisa tem Mue desen"ar figuras1 :1 Para um grande !roLeto do mundo realE os modelos tornam?se imensos1 EE como as coisas se modificam Fcomo ine.ita .elmente ocorre durante um !roLetoOE os modelos tAm Mue ser refeitos1 Isso acarreta um enorme .olume de tra/al"o1 @1 Todos os modelos relacionam?se uns com os outrosV !ortantoE dis!ondo de suficientes informa0es so/re o !roLetoE algu2m de.e ser ca!a& de criar um diagrama PE*TE ou um diagrama de GanttE ou uma lin"a cronolYgica dc recursos e tam/2m o adeMuado su!orte narrati.o1 @DJ - Isso le.a a uma concluso Y/.ia> seria eWtremanente 3til se as ferramentas gerenciais de modelagem !udessem ser com!utadori&adas1 E de fato tAm sidoV eWistem atualmente di.ersos !acotes de gerenciamen to de !roLetos dis!onX.eis em com!utadores !essoaisE /em como em minicom!utadores e em com!utadores dc grande !orte 1 8a realidadeE um gerente de !roLeto do final dos anos DH seria ingAnuo em gerenciar algo al2m de um !roLeto tri.ial sem essas ferramentas automati&adas1 Al2m das ati.idades de modelagem sim!les discutidas neste ca!XtuloE as ferramentas com!utadori&adas normalmente !ossuem as seguintes caracterXsticas> j Ca!acidade de es!ecificar o cu1slo de cada recurso do !roLeto1 Isso 2 de enorme auWXlio em ati.idades oramentrias1 j Ca!acidade de esta/elecer o calendrio dentro do Mual o !roLeto de.e correr FeW1> feriadosE "oras normais de tra/al"o etc1O1 Al guns !rogramas !ermitem at2 Mue cada recurso ten"a seu !rY!rio calendrioE considerandoE desta maneiraE o fato de Mue diferentes !essoas tAm diferentes escalas de f2riasE e coisas desse ti!o1 j Ca!acidade de escalonar !ara diante ou !ara trs1 Em um !ro Leto normalE a data inicial 2 con"ecida e o o/Leti.o 2 estimar Muando o !roLeto estar !ronto1 MasE em outros casosE a data de t2rmino 2 con"ecida F!orMue um limite foi eWternamente im !osto ao !roLetoOE e o o/Leti.o 2 determinar a data mais tardia de inXcio !ara cada uma das ati.idades 1 j Ca!acidade de di.ersos relatYrios em .rios formatos1 j Ca!acidade de interface com .rios outros !rogramas FeW1> !lanil"as eletrNnicas e !rogramas grficosO1 j Ca!acidade de mostrar a com!arao entre o desem!en"o real e o estimado de modo a Mue o gerente !ossa .erificar o grau de eWatido de sua estimati.a e !ossi.elmente us?la como meio de re.iso de estimati.as futuras1 Para !roLetos de !eMueno ou m2dio !orteE um !acote de geren ciamento de !roLetos Mue funcione em um PC 2 normalmente adeMuadoV entre os !acotes de gerenciamento de !roLetos mais con"ecidos !ara PC esto o Microsoft ProLectE o Timeline e o ,ar.ard ProLect Manager1 Para grandes !roLetos com mil"ares de tarefas e centenas de recursos !ara gerenciarE !ode ser necessrio um com!utador de grande !orte1 Al2m @DI dissoE muitas grandes em!resas re3 nem os !lanos de !roLetos indi.iduais em modelos e oramentos agregadosV desse modoE 2 im!ortante Mue cada um utili&e um sistema de modelagem com!atX.el com o PC ou Mue com!artil"em um sistema maior /aseado em um com!utador de grande !orte1 9<1D *E'7M$ $ gerenciamento de !roLetosE naturalmenteE no se resume a dese n"ar diagramas PE*T1 $ gerente de !roLeto tX!ico contrataE des!edeE negociaE moti.aE comunica?se e !ersuade !rogramadoresE analistas de sistemasE usurios e mem/ros dos nX.eis mais ele.ados da direo1 MasE sem as ferramentas de modelagem dos ti!os descritos neste ca!XtuloE 2 Muase im!ossX.el !ara o gerente de !roLeto controlar as ati.idadesE os custos e os recursos en.ol.idos1 *EFE*b8CIA' 91 P"ili! Met&gerE Mana a I=rogramming R=roLectE :} cd1 Engle 4ood CliffsE 81R1> Prenticc?llallE 9CD@1 :1 Tom Gilderslee.eE 'ucessful Data I=mcessinEg '#stems Anal#sisE :} ed1 Engle4ood CliffsE 81R1> Prentice?,allE 9CDI1 @1 Mar.in Gore e Ro"n 'tu//eE Elemenis of '#stems Anal#sisE @} cd1 Du/uMueE Io4a> 5illiam C1 Bro4nE 9CD@1 PE*G78TA' E EXE*CcCI$' 91 A!resente trAs moti.os !elos Muais os gerentes de !roLeto neces sitam de modelos relati.os a !roLetos de desen.ol.imento de sistemas1 :1 $ Mue significa o acrNnimo PE*T[ @1 DA uma definio sucinta do diagrama PE*T1 J1 $ Mue 2 o camin"o crXtico em um diagrama PE*T[ Tual 2 a sua im!ortPncia[ I1 Tue informa0es relati.as a um !roLeto o diagrama PE*T no a!resenta[ <1 DA uma definio sucinta dc um diagrama dc Gantt1 A!resente um sinNnimo !ara esse diagrama1 K1 Tue informa0es o diagrama dc Gantt a!resenta Mue o diagrama PE*T no mostra[ D1 DA uma definio sucinta de uma lista dc recursos1 @D< C1 Tual 2 o relacionamento eWistente entre os diagramas PE*TE os diagramas de Gantt e os modelos de DFD de um sistema[ 9H1 Tual 2 a .antagem de termos ferramentas automati&adas !ara a ela/orao de diagramas PE*T A de Gantt[ 8$TA' 9 os .e&es ocorre eWatamente o in.erso1 Como disse o consultor da IBM George Meal# a res!eito dc alguns !roLetosE _A estrutura do sistema 2 isomorfa em relao Z estrutura da organi&ao Mue o constrYi]1 : 8o indicamos eWatamente como o gerente de !roLeto determina a durao de cada tarefa1 8os casos mais sim!lesE ele !ode fa&er !or si mesmo a estimati.aE ou !ode solicitar Zs !essoas incum/i das daMuela tarefa Mue faam essa a.aliao1 'e a tarefa for gran de ou com!leWaE ela geralmente 2 su/di.idida em ati.idades menores Fsu/ati.idadesO1 As fYrmulas !ara se estimar o tem!o e os recursos de !rogramao e coisas semel"antes so a!resentadas no a!Andice B1 @ 8a maioria dos !roLetosE o recurso Mue temos maior interesse em gerenciar 2 o !essoalV mas " outros recursosE como uma mMuinaE uma sala de conferAncias ou MualMuer outra coisa Mue seLa F9O necessria ao !roLeto em algum momento e F:O escassa o /astante !ara Mue de.a ser gerenciada1 J $s diagramas mostrados neste ca!ftulo foram criados usando?se o MacProLect em um com!utador A!!le Macintos"1 EWiste um gru!o um tanto maior de o!0es de !acotes de gerAncia de !roLetos !ara o IBM PC1 I Tom DeMarco gosta de referir?se a isso como _!ensamento !ositi.o Zs a.essas]1 @DK 9" 9K $ M$DE-$ E''E8CIA- EWamine a essAncia das coi1sasE Muer seiam as!ectos de doutrinaE de !rtica ou de inlei!retao1 Marco Aur2lioE Medita0es QIII 8este ca!XtuloE a!renderemos> 91 $s Muatro !rinci!ais modelos do ciclo de .ida1 :1 PorMue 2 arriscado modelar o sistema atual do usurio1 @1 A distino entre o modclo essencial e o modelo de im!lementao1 J1 Como _logicali&ar] um modelo de im!lementao1 8a seo anterior Fca!Xtulos C ao 9<OE eWaminamos algumas ferra mentas dc modelagem Mue todos os analistas de sistemas de.em ter Z sua dis!osio1 EntretantoE dc !osse dessas ferramentasE Mue ti!o de modelos de.emos ela/orar[ 7m modelo da atual im!lementao de um sistema do usurio[ 7m modelo da no.a im!lementao !ro!osta[ $u um Mue seLa inde!endente da tecnologia de im!lementao[ $u todos esses trAs[ Essas !erguntas sero tratadas nos !rYWimos ca!Xtulos1 Comearemos !or eWaminar a clssica a/ordagem de anlise de sistemas !ara desen.ol.er modelos dc sistemasV como .eremosE eWistem s2rios !ro/lemas com essa a/ordagem1 DiscutiremosE em seguidaE o modelo essencialE Mue 2 o !rinci!al modelo da anlise de sistemas Mue recomendamos construir1 Por fimE discutiremos algumas diretri&es !ara a @C9 construo de um modelo essencial a !artir dc um modelo de im!lemen tao eWistente1 9K19 A AB$*DAGEM C-+''ICA DE M$DE-AGEM E P$*T7E E-A 8)$ F78CI$8AQA 9K1919 $s Tuatro Modelos de 'istemas Tuando a anlise estruturada foi a!resentada !ela !rimeira .e&E era comumente dito Mue o analista de sistemas de.ia desen.ol.er Muatro modelos distintos1 Eles so mostrados na figura 9K19 $ modeloflsico atual2 um modelo do sistema Mue o usurio !re sentemente utili&a1 Ele !ode ser um sistema manualE um sistema automa ti&ado ou uma com/inao das duas coisas1 GeralmenteE os !rocessos F/ol"asO do diagrama de fluWo de dados do sistema fisico atual rcce/em os nomes das !essoasE dos setores da em!rc1sa ou dos sistemas dc !ro cessamento Mue eWecutam o tra/al"o de transformar entradas em saXdas1 7m eWem!lo disso 2 mostrado na figura 9K1:1 $/ser.e tam/2m Mue os fluWos de dados geralmente mostram formas fXsicas de dados sendo trans!ortados de /ol"a em /ol"aV al2m dissoE os de!Ysitos de dados !odem ser re!resentados !or !astas de arMui.osE arMui.os em fitas magn2ticas ou alguma outra tecnologia1 $ no.o modelo lYgico 2 um modelo dos reMuisitos !uros ou essen ciais do no.o sistema Mue o usurio deseLa1 8o caso ideal Fdo !onto de .ista do analista de sistemasOE ele 2 igual ao modelo lYgico atualE isto 2E cont2m as mesmas fun0es e os mesmos dados1 Essa situao !ode ocorrer se o usurio esti.er !lenamente satisfeito com a funcionalidade do sistema atualE mas no com a im!lementao 8a maioria dos casosE entretantoE o usurio solicita no.as fun0es> _A!ro.eiteE e inclua uma no.a transao !ara cuidar da seguinte situao111]1 $u o usurio !ode solicitar Mue o sistema controle uma no.a forma de dados1 Desse modoE em/ora DH a CHf dos no.os modelos lYgicos !ossam ser idAnticos ao modelo lYgico atualE 2 !ro..el Mue "aLa !elo menos algumas !eMuenas modifica0es e acr2scimos1 $ modelo lYgico atual2 um modelo dos reMuisitos !uros ou essen ciais eWecutados !elo sistema atual do usurio1 AssimE so su!rimidos os detal"es ar/itrrios d2 im!lementao e o modelo resultante mostra o Mue o sistema faria se uma !erfeita tecnologia esti.esse dis!onX.el : A figura 9K1@ mostra um eWem!lo de um modelo lYgico atual1 $ no.o modelo fisico mostra as restri0es de im!lementao im !ostas !elo usurio1 7ma das restri0es mais im!ortantes 2 a determina o das fronteiras da automati&ao Fisto 2E a determinao de Mue fun0es no no.o sistema sero automati&adas e Muais sero eWecutadas @C: modelo lYgico atual no.o modelo lYgico no.o modelo fXsico Figura 9K19> $s Muatro modelos de sistema @C@ contrato do !roLeto atual !edidos acar/onodo formulrio :9HK CAIXA DE E8T*ADA formulrio :9HK A*T7IQ$ DE PEDID$' C$MP7TAD$* DE P*$CE' 'AME8T$ /locos de DE PEDID$' taman"o fiWo manifesto de em /a rM u e F78CI$8+*I$ D$ EMBA*T7E lista de em/a !edidos Figura 9K1:> 7m modelo fXsico atual !edido in.lido relatYrio de !edid fatura Figura 9K1@> $ modelo lYgico atual @CJ manualmenteO1 $ no.o modelo fXsico corres!onde ao Mue agora deno minamos de modelo de im!lementao do usurioE Mue discutiremos mais detal"adamente no ca!Xtulo :91 9K191: PorMue a A/ordaDem Clssica 8o Funciona.a A a/ordagem clssicaE Mue aca/amos dc descre.erE /asea.a?se em trAs im!ortantes su!osi0es> 91 $ analista de sistemas !ode no con"ecer a a!licao ou o ra mo comercial> ele !ode ser um !erito em tecnologia de !rocessamento de dadosE mas con"ecer a!enas su!erficial? mente as ati.idades /ancriasE dc segurosE de controle de in.entrios de material ou de MualMuer outra rea em Mue o usurio tra/al"e1 Por causa dissoE 2 im!ortante Mue o analista de sistemas comece !or um modelo fXsico atual como meio de se auto?instruir1 $ modelo desen"ado ser fcil de .erificarE !or Mue conter di.ersos marcos fXsicos Mue !odem ser o/ser.a dos no am/iente fXsico atual1 A!Ys ter o/tido o con"ecimento necessrioE o analista de sistemas !ode !rosseguirE transfor mando o modelo fXsico cm modelo lYgico1 :1 $ usurio tal.e& no Mueira ou no !ossa tra/al"ar com o no.o modelo lYgico no inXcio do !roLeto1 $ moti.o mais comum !ara isso 2 a desconfiana na ca!acidade do analista de sistemas em desen.ol.er o modelo lYgico do no.o sistema1 Mesmo Mue o analista de sistemas Lulgue ser !erito na rea da em!resa do usurioE este !ode no concordar1 _Por Mue de.o confiar em Mue .ocA desen"ar um no.o sistema !ara mim]E !erguntar eleE _se .ocA nem seMuer sa/e como funciona min"a em!resa atualmente[] Al2m dissoE alguns usurios consideram difXcil eWaminar um modelo a/strato do sistema sem marcos re con"ecX.eisV eles !odem !recisar dc um modelo do sistema fXsico atual como meio de se familiari&arem com o !rocesso de anlise estruturada e de se certificarem de Mue o analista no deiWou de lado alguma coisa Fuma alternati.a 2 a a/ordagem de !rotou!ao discutida no ca!Xtulo IO1 @1 A transformao do modelo lYgico atual em um no.o modelo lYgico no eWige muito tra/al"o eE cm !articular no eWige muito des!erdfcio de tra/al"o1 Como L dissemosE o usurio normalmente acrescentar algumas no.as fun0esE ou no.os dadosE ao sistema eWistenteE mas a maior !arte do sistema lYgico eWistente Fou tal.e& todo eleO !ermanecer intacta1 @CI Essas su!osi0es re.elaram?se corretas cm muitos !roLetos1 Entre tantoE elas ignoram um risco muito maior> o !rocesso de desen.ol.imen to de um modelo do s aluaG!ode tomar tanto tem!o e esforo Mue o usurio !oder se tornar fn e im!acienteE c"egando ao !onto de cancelar o !roLeto1 Para entender este !ro/lemaE lem/re?se do seguinte> j Alguns usurios Fe alguns gerentes e !rogramadores?analistasO .Am MualMuer forma de anlise de sistemas como uma !erda de tem!o ? um modo de _descansar] antes Mue o tra/al"o .er dadeiro Fisto 2E a codificaoO se inicie1 j Muitos usurios tAm com!reensX.eis d3.idas so/re os m2ritos da cuidadosa modelagem de um sistema MueE !or definioE ser su!erado e su/stituXdo como resultado do desen.ol.imento do no.o sistema1 $ !ro/lema ocorre com mais freMaAncia !orMue o analista de sistemas se en.ol.e com a tarefa da modelagem do sistema atual e !assa a encar?la como um fim em si mesma1 AssimE em .e& de a!enas desen"ar oFsO diagramaFsO de fluWo de dados e documentar somente as1 !rinci!ais es!ecifica0es de !rocessosE o analista de sistemas muitas .e&es desen"a todos os diagramas de fluWos de dadosE documenta todas as es!ecifica0es de !rocessos e desen.ol.e um dicionrio de dados com!leta Infeli&menteE essa a/ordagem Muase sem!re en.ol.e um grande des!erdXcio de tem!o1 Pode?seE de fatoE es!erar Mue cerca de KIf do modelo fXsico seLam Logados fora na transio do modelo fXsico !ara o modelo lYgico atualV ouE em outras !ala.rasE o modelo fXsico atual 2 ti!icamente trAs ou Muatro .e&es maior Mue o modelo lYgico atual1 Isso se de.e Z redundPncia Fa mesma funo 2 eWecutada cm .rias !artes do sistema atual e di.ersos elementos dc dados so du!licados ou tri!lica dosO e Z .erificaoE .alidao e correo de errosE Mue so adeMuadas no sistema fXsico atual mas no no sistema lYgico atual 1 Isso tudo !ode !arecer um tanto Y/.io !ara o leitor ocasional1 EntretantoE !roLeto a!Ys !roLetoE os analistas dc sistemas tAm?se .isto to en.ol.idos no !rocesso de modelagem Mue esMueceram o o/Leti.o final do usurio> um sistema Mue funcione1 Como disse 'te.e McMenamin Fco?autor de lMcMenamin e PalmerE 9CD=llOE _As /ol"as no so com!il.eis] 1 Em conseMaAnciaE este li.ro recomenda Mue o analista de sistemas e.iteE tanto Muanto !ossX.elE modelar o sistema atual do usurio1 As ferramentas de modelagem discutidas na !arte II de.em ser utili&adas !araE assim Mue for !ossX.elE desen.ol.er um modelo do no.o sistema @C< deseLado !elo usurio1 Esse no.o sistemaE mencionado na literatura so/re a anlise estruturada clssica como o no.o sistema lYgicoE 2 aMui tratado como o modelo essencial do sistema1 $casionalmente !ode "a.er uma situao em Mue o analista de sistemas de.a construir o modelo do sistema atual do usurioV isso ocor reE !or eWem!loE Muando o analista de sistemas !recisa modelar o siste ma fXsico atual !ara desco/rir Muais soE de fatoE os !rocessos essenciais1 Esta situao 2 a/ordada com mais detal"es na seo 9K1@1 9K1: $ M$DE-$ E''E8CIA- 9K1:19 $Mue^ $ modelo essencial do sistema indica o Mue o sistema de.e fa&er !ara satisfa&er os reMuisitos do usurioE mencionando o mXnimo !ossX.el Fde !referAncia nadaO so/re como o sistema ser im!lementado1 Como foi ditoE isso significa Mue o nosso modelo de sistema !ressu!0e Mue dis!omos de !erfeita tecnologia e Mue !ode ser o/tido a custo &ero1 De uma forma es!ecXficaE isso significa Mue Muando o analista de sistemas con.ersar com o usurio so/re os reMuisitos do sistemaE de.e e.itar descre.er as im!lementa0es es!ecXficas dos !rocessos F/ol"as do diagrama de fluWo de dadosO do sistemaV isto 2E ele ou ela no de.e mostrar as fun0es do sistema eWecutadas !or !essoas ou !or um siste ma de !rocessamento L eWistente1 Como as figuras 9K1JFaO e F/O demons tramE essas so o!0es ar/itrrias de como o sistema !oderia ser im!le mentadoV mas 2 uma deciso Mue de.e ser !rotelada at2 Mue se inicie a ati.idade de !roLeto do sistema 1 A figura 9K1JFcO mostra um modelo essencial mais adeMuado do Mue a funo do sistema de.e eWecutar inde!endentemente de sua im!lementao1 Isso tam/2m .ale !ara fluWo de dados e de!Ysitos de dados> o modelo essencial de.e descre.er o conte3do dos fluWos e dos de!Ysitos de dadosE sem considerar o meio Fisto 2E disco ou fitaO ou a organi&ao fXsica dos dados1 9K1:1: Dificuldades na Construo do Modelo Essencial A!esar de as diretri&es acima !oderem !arecer sim!les e Y/.iasE muitas .e&es torna?se /astante difXcil eliminar com!leta mente do mode lo essencial todos os detal"es da im!lementao1 $s eWem!los mais comuns de detal"es de im!lementao so os seguintes> @CK j 'eMaAncia ar/itrria de ati.idades em um modelo de fluWo de dados1 A 3nica seMaAncia no diagrama de fluWo de dados de.e ser a Mue 2 eWigida !elos dados Fisto 2E a /ol"a : !ode eWigir um elemento de dado !rodu&ido !ela /ol"a 9 eE !or issoE no !ode iniciar seu tra/al"o at2 Mue a /ol"a 9 ten"a terminado o delaO ou !elos e.entos eWternos ao sistema1 j ArMui.os desnecessriosE de!Ysitos de dados Mue no seriam necessrios se esti.esse dis!onX.el a tecnologia !erfeita1 $s ar Mui.os tem!orrios Fou intermediriosO fa&em?se necessrios em um modelo de im!lementao !orMue os !rocessos so escala dos !ara funcionar em momentos diferentes FeW1> um !rograma em /atc" eWecutado durante a noite !rodu& um arMui.o utili &ado !elo sistema diurnoE on?lineOV eles tam/2m so intro du&idos nos modelos de im!lementao !ara fins de /ac%u! e recu!eraoE uma .e& Mue a tecnologia da im!lementao 2 !ro!ensa a errosE assim como as !essoas Mue o!eram os com!utadores1 j Desnecessrias .erifica 0es de erros e .alidao de erros e !rocessos dentro do sistema1 As ati.idades de .alidao so necessrias em um modelo de im!lementao !or ser necess rio tra/al"ar com !rocessos tendentes a erros FeW1> algumas fun0es so eWecutadas !or seres "umanos Mue so notoria mente suLeitos a errosO e !or ruidosos camin"os de dados entre esses !rocessos1 j Dados redundantes ou deri.ados1 Por .e&es so incluXdos ele? ? mentos de dados redundantes em de!Ysitos de dados em !rol da eficiAnciaV em/ora isso normalmente seLa ra&o.elE de.e ser feito durante a fase de !roLeto e no durante a modelagem das fol"as de tem!o A*T7IQ$ DE EMP*EGAD$' Figura 9K1J FaO> 7m modelo de como uma funo do sistema eWecuta sua tarefa @CD cartYes de tem!o Figura 9K1J F/O> $utro modelo de como aGuno ser eWecutada "oras tra/al"adas EMP*EGAD$' Figura 9K1J FcO> 7m modelo do Mue aGuno 2 fun0es e dados essenciais1 Al2m dissoE o analista de sistemas !ode inad.ertidamente incluir elementos de dados Mue !odem ser deri.adosE ou calculadosE a !artir dc .alores de outros ele mentos de dados1 9K1:1@ com!onentes do Modelo Essencial $ modelo essencial 2 com!osto !or dois !rinci!ais com!onentes> 91 $ modelo am/iental :1 $ modelo com!ortamental $ modelo am/iental define a fronteira entre o sistema e o resto do mundo Fisto 2E o am/iente onde reside o sistemaO1 Ele ser discutido com @CC mais detal"es no ca!Xtulo 9CV como .eremosE ele com!0e?se de um dia grama de conteWtoE uma lista de e.cntos e uma !eMuena descrio do !ro!Ysito do sistema1 $ modelo com!ortamcntal descre.e o com!ortamentoE do interior do sistemaE necessrio !ara intcragir com sucesso com o am/iente1 $s ca!Xtulos :H e :9 descre.em uma estrat2gia !ara se deri.ar o modelo com!ortamentalV o modelo com!0e?se dos con"ecidos diagramas de fluWo de dadosE diagramas de entidades?relacionamentosE diagramas de transi0es de estadoE itens do dicionrio de dados e es!ecifica0es de !rocessos Mue L estudamos anteriormente neste li.ro1 9K1@ $ T7E FAgE* 'E Q$Cb TIQE* T7E E-AB$*A* 7M M$DE-$ DE IMP-EME8TA()$ Como L foi dito neste ca!XtuloE eWistem circunstPncias em Mue .ocA !ode ac"ar necessrio ou deseL.el ela/orar um modelo de im!lementa o antes dc construir o modelo essencial do sistema1 Isso geralmente ocorre !orMue o usurio no est con.encido de Mue .ocA con"ece o assunto suficientemente /em !ara modelar um no.o sistemaE ou !orMue .ocA decidiu Mue !recisa estudar o am/iente atual antes dc !ro!or o no.o sistema1 'e .ocA decidir continuar nessa modalidadeE a !rimeira coisa a ser lem/rada 2 Mue seu !rinci!al o/Leti.o 2 o/ter o con"ecimento e uma .iso geral do sistema eWistente1 8o 2 seu o/Leti.o documentar o siste ma atual em suas min3cias1 Dessa formaE ser !ro.a.elmente 3til e ade Muado criar um ou mais nX.eis de diagramas de fluWo dc dados !ara o sistema atualV ser tam/2m !ro.a.elmente adeMuado ela/orar um dia grama de entidades?relacionamentos1 Tam/2m !oderia ser 3til escre.er es!ecifica0es de !rocessos !ara algumas das mais crXticas Fou o/scurasO fun0es do sistemaV !odena ser 3til reunir alguns dos documentos fXsicos Mue re!resentariam um dicionrio de dados fXsico1 Mas .ocA no de.e tentar escre.er es!ecifica0es de !rocessos !ara todas as fun0es nem desen.ol.er um com!leto dicionrio de dados !ara o sistema eWistente1 Tuando ti.er terminado dc desen.ol.er o modelo da im!lemen tao atualE sua !rYWima tarefa 2 torn?la lYgica Fisto 2E su!rimir tantos detal"es orientados !ara a im!lementao Muantos forem !ossX.eisO1 Isso normalmente a/range as seguintes eta!as> Procure os fluWos essenciais Mue ten"am sido ar/itrariamente reunidos e se!are?os1 Por eWem!loE .ocA !ode desco/rir Mue no sistema atual di.ersos elementos de dados so transmitidos Lun tos a !artir de um com!utador !ara outro atra.2s de um elo de telecomunicao comumV ou Mue alguns elementos de dados JHH no relacionados so co!iados em um formulrio de !a!el a ser transmitido !ara di.ersas fun0es1 Procure fluWos aEgregados ou em!acotados Mue seLam remetidos !ara /ol"as Fre!resentando !essoasE com!utadores etc1O Mue no necessitam de todos os dados desses fluWos1 AssimE a figura 9K1IFaO mostra um !rocessoE CAI1C7-A* FAT$* F*AMMI'E Mue eWige a!enas o elemento de dado XV enMuanto issoE outro !rocessoE CA-C7-A* FAT$* 5IDGETE eWige somente o ele mento de dado 61 Por con.eniAnciaE a im!lementao atual em!acotou X e 6 em um elemento de dado agregado gV a _logi cali&ao] deste modelo resulta no diagrama de fluWo de dados mostrado na figura 9K1IF/O1 Faa a distino entre o tra/al"o essencial feito !or um !rocesso e a idenl do !rocessador mostrado no modelo de im!lementao1 $ !rocessador !ode ser uma !essoa ou um com!utador ou MualMuer forma de tecnologiaV e um !rocessador indi.idual !ode eWecutar fragmentos de um ou mais !rocessos essenciais ouE em sua inteire&aE eWecutar m3lti!los !rocessos fator framm is JH9 W fator 4idget Figura 9K1I FaO> FRm modelo fi r fator 4idget essenciais1 Como .eremos no ca!Xtulo :HE os !rocessos essen ciais de.em ser agru!ados se forem !ro.ocados !elo mesmo e.enio eWterno1 j Elimine os !rocessos cuLo 3nico !ro!Ysito seLa o de Ira ns!orlar dados de um !onto a outro do sitema1 Elimine tam/2m as /o l"as res!ons.eis !elas entradas e saXdas fXsicas entre o sistema e o am/iente eWterno1 $ modelo fXsico de um sistema !ode mostrarE !or eWem!loE uma funo dc correio ou de entrega de mensagensV ela de.e ser eliminada do modelo essencial1 Mui tos DFD fXsicos tAm !rocessos com nomes como _o/ter entra da do usurio] ou _im!rimir relatYrio] Mue tam/2m de.em ser eliminados1 j Elimine os !rocessos cuLa tarefa seLa .erificar dados Mue seLam !rodu&idos e utili&ados no interior do sistema1 Como estamos !ressu!ondo !erfeita tecnologia no modelo essencialE esses tes tes internos e .erifica0cs cru&adas no so necessrios1 ^E con tudoE aconsel".elE introdu&ir .eriflca0cs dc erros !ara dados !ro.enientes do am/iente eWterno e tra&idos !ara o sistema1 Dessa formaE os !rocessos cuLos nomes seLam _du!la .erifica o 111_ ou _.erificar 111_ ou _.alidar 111_ ou _editar 111_ de.em ser W 6 Figura 9K1I F/OV A .erso com lY*ica JH: .istos com sus!eitaE a menos Mue esteLam nas fronteiras do sis tema e lidem com entradas eWternas1 j QenfiMue a !resena de situa0es em Mue de!Ysitos essenciais ten"am sido a no mesmo de!Ysito de im!lementao FeW1> arMui.os cm discoE arMui.os em fita $7 cm !a!elOV isso 2 muito comum cm sistemas de segunda gerao e em sistemas Mue ten"am sido otimi&ados durante um !erXodo dc alguns anos !ara mani!ular grandes .olumes dc dados com eficiAncia1 'e!a re o conte3do do de!Ysito do meio dc arma&enamento1 j *emo.a dos de!Ysitos MuaisMuer elementos de dados se no forem utili&ados !or MualMuer !rocessoV al2m dissoE remo.a tam/2m dos de!Ysitos os elementos de dados Mue !ossam ser calculados ou deri.ados diretamente de outros elementos de dados Fo/ser.e Mue elementos dc dados deri.ados e cY!ias redundantes dc elementos dc dados !odem ser reinseridos mais tardeE Muando o modelo Re im!lementao for desen.ol.ido durante a fase de !roLeto de sistemasO1 j Para finali&arE su!nma todos os de!Ysitos de dados Mue eWistam entre !rocessos a!ena1s como retardos de!endentes da im!le mentao1 Isso inclui arMui.os intermediriosE arMui.os dc re latYriosE arMui.os s!ool e outros congAneres1 9K1J *E'7M$ $ conceito de modelo essencial a!arenta ser algo muito naturalE mas ele no 2 to fcil dc ser !c!arado cm !roLetos do mundo real como se !ode !ensar1 A maioria dos usurios est to en.ol.ida nos detal"es da im!lementao dc seu sistema atual Mue !ara eles 2 difXcil entender a .iso de _tecnologia !erfeita] dc um sistema1 E isso tam/2m 2 difXcil !ara muitos analistas dc sistemas .eteranosE !orMue !assaram tantos anos construindo sistemas Mue !ara eles se torna difXcil e.itar fa&er su!osi0es de im!lementao ao descre.erem um sistema1 -em/re?se Mue 2 de suma im!ortPncia desen.ol.er o modelo es sencial de um sistemaE !orMue Fcomo L foi dito di.ersas .e&es neste li.roO a maioria dos grandes sistemas de informa0es tem um ciclo de .ida de 9H a :H anos1 Durante esse !erXodo de tem!o !odemos contar com o a!erfeioamento da tecnologia de "ard4are de com!utadores !or um fator de milE no mXnimoE e !ro.a.elmente !rYWimo de um fator de um mil"o ou mais1 7m com!utador Mue seLa um mil"o de .e&es mais r!idoE menor e mais /arato Mue um com!utador atual estE de fatoE iH@ !rYWimo da !erfeita tecnologiaV 2 !reciso comearmos "oLe a ri nossos sistemas como se L dis!us2ssemos dessa tecnologia1 *EFE*b8CIA' 91 Tom deMarcoE 'tructured A nal#sis and '#stems '!eMflcatlon1 8o.a lorMue> 6$7*D$8 PressE 9CKD1 :1 C"r] Gane e Tris" 'arsonE 'lructured '#stems Anal#s&s> Tools and Tec"niMues1 Engle4ood CliffsE 81R1> Prentice?,allE 9CKD1 @1 Ed4ard 6ourdonE Managing l"e '#stems - C#cleE 8o.a lorMue> 6$7*D$8 PressE 9CD:1 J1 Qictor 5ein/ergE 'tnsctured Anal#sisE 8o.a lorMue> 6$7*D$8 PressE 9CKD1 I1 'te.e McMenamin e Ro"n PalmcrE Essential '#stems Anal#sisE 8o.a lorMue> 6$7*D$8 PressE 9CDJ1 PE*G78TA' E EXE*CcCI$' 91 Tuais so os Muatro modelos recomendados !elos li.ros clssicos so/re anlise de sistemas[ :1 $ Mue 2 o modelo fXsico atual[ @1 DA trAs eWem!los de !rocessos fXsicos FIWOl"asO1 J1 DA trAs eWem!los de de!Ysitos flsicos1 I1 DA trAs eWem!los de fluWos de dados fXsicos1 <1 $ Mue 2 um o modelo lYgico atual[ K1 Tual 2 a diferena entre o modelo fXsico atual e o modelo lYgico atual[ D1 $ Mue 2 tecnologia !erfeita no conteWto deste ca!Xtulo[ C1 $ Mue 2 o no.o modelo lYgico[ 9H1 Tual 2 a diferena entre o modelo lYgico atual e o no.o modelo lYgico[ 991 'o/ Muais circunstPncias !odem ser iguais o modelo lYgico atual e o no.o modelo lYgico de um sistema[ 9:1 Tue grau de so/re!osio de.e o analista de sistemas es!erar Mue ocorra entre o modelo lYgico atual e o no.o modelo lYgico de um sistema[ 9@1 $ Mue 2 o no.o modelo fXsico[ 9J1 A!resente um outro nome !ara o no.o modelo fXsico1 9I1 Tual 2 a !rinci!al restrio descrita !elo no.o modelo fXsico[ 9<1 Tuais so as trAs !rinci!ais su!osi0es em Mue se a!Yia a a/or dagem clssica da anlise estruturada[ GJHJ 9K1 ProLeto de PesMuisa> Em sua organi&aoE Mual 2 o !ercentual de !roLetos Mue tAm analistas de sistemas Mue no esto intimamente familiari&ados com o ramo dc negYcios do usurio[ Em sua o!inioE esse !ercentual 2 aceil.el[ Ele est se modificando[ 9D1 Tuais so os dois maiores moti.os !ara Mue o usurio encontre dificuldades em ler e com!reender um modelo lYgico[ 9C1 Tual 2 o !rinci!al !ro/lema com a a/ordagem clssica da anlise estruturada[ :H1 Por Mue alguns usurios tAm d3.idas so/re os m2ritos de se modelar seu sistema atual[ :91 Tue frao do modelo fXsico atual ser !ro.a.elmente des!re&ada na transio !ara o modelo lYgico atual[ ::1 Tuais so os moti.os !ara Mue o modelo f atual seLa to maior Mue o modelo lYgico atual dc um sistema[ :@1 A!resente um sinNnimo !ara o no.o modelo lYgico1 :J1 Tue ti!o de .erificao de erros 2 adeMuada em um modelo lYgico[ Tue ti!o no 2[ Por MuA[ :I1 DA uma definio do modelo essencial de um sistema1 :<1 $ Mue significa !rotelao construti.a no conteWto deste li.ro[ :K1 TuandoE no !roLeto de desen.ol.imento de sistemasE de.e?se decidir se a im!lementao de uma funo Fisto 2E um !rocesso do DFDO ser feita com uma !e1ssoa ou com um com!utador[ :D1 Tuais so os Muatro erros ou enganos comuns normalmente cometidos ao tentarem criar um modelo essencial[ :C1 Por Mue os arMui.os tem!orrios no de.em a!arecer em um modelo essencial[ @H1 Tuando os arMui.os tem!orrios de.em ser mostrados em um modelo de sistema[ Por MuA[ @91 Tuando os dados redundantes de.em ser mostrados em um modelo de sistema[ @:1 Tuando dados deri.ados de.em ser mostrados em um modelo de sistema[ @@1 Tuais so os dois com!onentes do modelo essencial de um sistema[ @J1 Para Mue ser.e o modelo am/iental de um sistema[ @I1 Para Mue ser.e o modelo com!ortamental de um sistema[ @<1 'e .ocA ti.er Mue documentar a im!lementao atual de um sistemaE o Mue .ocA de.e ter o cuidado de e.itar[ @K1 ^ uma /oa medida documentar todos os fluWos de dados da im!lementao atual de um sistema[ Por MuA[ @D1 ^ uma /oa medida documentar todas as es!ecifica0es de !rocessos da im!lementao atual de um sistema[ Por MuA[ @C1 ^ uma /oa medida documentar todos os elementos do dicionrio de dados da im!lementao atual dc um sistema[ Por MuA[ JHI JH1 Tuando se introdu& lYgica Flogicali&a]O o modelo fXsico atualE o Mue se de.e fa&er com os fluWos essenciais Mue ten"am sido em!acotados no mesmo meio[ J91 Tuando se _logicali&a] o modelo fXsico atualE o Mue se de.e fa&er com fluWos em!acotados en.iados !ara !rocessos Mue no necessi tam de todos os dados[ J:1 Tuando se _logicali&a] o modelo fXsico atualE o Mue se de.e fa&er com os !rocessos cuLo 3nico !ro!Ysito seLa trans!ortar dados de um lugar !ara outro[ J@1 Tuando se _logicali&a] o modelo fXsico atualE o Mue se de.e fa&er com as /ol"as cuLo 3nico !ro!Ysito seLa o de .erificar dados Mue so criados dentro do sistema[ JJ1 Tuando se _logicali&a] o modelo fXsico atualE o Mue se de.e fa&er com os de!Ysitos essenciais Mue ten"am sido em!acotados no mesmo meio[ JI1 Tuando se _logicali&a] o modelo fXsico atualE o Mue se de.e fa&er com os elementos de dados Mue eWistem nos de!Ysitos mas Mue no so utili&ados em lugar algum do sistema[ J<1 Tuando se _logicali&a] o modelo fXsico atualE o Mue se de.e fa&er com os arMui.os tem!orrios encontrados no sistema fXsico atual[ 8$TA' 9 EWistem muitos !ossX.eis moti.os !ara issoE $ sistema !ode estar im!lcmentado em "ard4are L o/soleto ou cuLo fa/ricante L esteLa fora do mercado1 Pode acontecer tam/2m o sistema ter mau de sem!en"o ou tem!o de res!osta inadeMuado1 $ usurio !ode solicitar Mue alguns dados de manuteno manual FeW1> arMui.os em !a!elO seLam com!utadori&ados1 $uE o Mue ocorre cada .e& mais nos dias dc "oLeE o soft4are !ode estar to mal documentado Mue L no !ode mais ser mantido ou modificado1 : Perfeita tecnologia !ode ser inter!retada como "ard4are Mue nada custaE Mue no ocu!a es!aoE Mue no consome energia nem gera calorE Mue funciona cm .elocidade infinita Fisto 2E Mue eWecute MualMuer o!erao em tem!o &eroOE Mue arma&ena um .olume infinito dc dadosE Mue !odem ser recu!erados indi.idualmente ou todos de uma .e& cm tem!o &ero e como o com!utador Mue nuncaE LamaisE Mue/ra nem comete erros1 @ 'em considerarmos se estamos construindo um modelo lYgico FessencialO ou fXsico Fde im!lementaoOE costuma ser a!ro!riado eWecutar algumas .erifica0es de erros de dados Mue entram no sistema a !artir do mundo eWterior1 EntretantoE como os dados so transmitidos de !onto !ara !onto dentro do sistemaE o modelo JH< lYgico FessencialO no fa& .erifica0cs de erros !or !resumir Mue o sistema ser im!lementado com tecnologia !erfeita1 8o modelo fXsico Fde im!lementaoOE !nnci!almente em um modelo do sistema fXsico atualE a .erificao dc erros 2 .ital !orMue F9O !arte do !rocessamento tende a ter errosE mormente Muando eWecutada !or !essoasE F:O o trans!orte dc dados dc um !rocesso !ara outro !ode ser !ro!enso a errosE de!endendo do meio de comunicao em!regado e F@O o arma&enamento e a recu!erao de dados de de!Ysitos fXsicos de dados !ode ser uma ati.idade tam/2m !ro!ensa a erros1 J E.entualmente as /ol"as !odem ser com!iladas1 Isto 2E a com/i nao de diagramas dc fluWos dc dadosE de dicionrios de dados e de rigorosas es!ecifica0es dc !rocessos !odem ser a entrada de um gerador de cYdigo Mue !rodu& !rogramas eWecut.eis1 Entre tantoE mesmo nesse casoE o esforo !ara !rodu&ir um modelo flsico com!leto e detal"ado 2 um des!erdXcio dc tem!o1 8ingu2m Muer uma r2!lica com!utadori&ada do sistema atual1 I EWiste um nome !o!ular !ara i''$> _!rotelao construti.a]1 Meu colega 'te.e 5eiss !refere _!rotelao de segurana] Mue 2 menos !eLorati.oE e Mue 2E na .erdadeE o !rincX!io em Mue se /aseia a a/ordagem to!?do4n1 JHK 9D $ M$DE-$ AMBIE8TA- A esta/ilidade do meio in4rno 2 a condio /sica !ara a li/erdade e inde!endAncia de certos Cor!os .i.entes era relao ao am/iente Mue os cerca1 Claude BernardE -eons sur les P"enomAnes de la Qie Communs au1W AnimauW ei auW QegetauWE 9DKI?9DKC 8este ca!XtuloE a!renderemos> 91 PorMue as fronteiras do sistema so ar/itrrias !or2m fundamentais1 :1 Como desen"ar um diagrama dc conteWto !ara um sistema1 @1 Como !rodu&ir urna lista dc e.cntos !ara um sistema1 J1 Como usar o diagrama de conteWto e a lista de c.en tos !ara construir o modelo arnlOiental1 Para o analista de sistemasE a tarefa mais difXcil na es!ecificao de um sistema 2E muitas .e&esE a determinao dcO Mue fa& !arte dcO sistema e o Mue no fa&1 TualMuer sistema Mue .ocA desen.ol.aE no im!ortando Muo am/icioso ou grandiosoE far !arte de um sistema ainda maior1 Como foi .isto no ca!Xtulo :E .irtualmente todos os sistemas com os Muais temos eW!eriAncia "umana soE meramenteE su/sistemas dc siste mas ainda maiores> mesmo se nossa tarefa fosse _!roLetar o mundo]E terXamos Mue recon"ecer Mue o mundo 2 somente uma !arte do sistema solarE Mue 2 !arte de uma galWia !eMuena e o/scuraE Mue 2 Fafinal de contasO !arte do uni.erscO1 JHC Desse modoE o !rimeiro modelo im!ortante Mue .ocA de.e dcsen .ol.er como analista de sistemas 2 um Mue no faa nada mais do Mu definir as interfaces entre o sistema e o resto do uni.ersoE isto 2E o am /Xente1 Por ra&0es Y/.iasE esse modelo 2 con"ecido como model am/iental1 Ele modela a !arte eWterior do sistemaV o modelo do interio> do sistemaE con"ecido como modelo com!orsamenialE ser discutido no ca!Xtulos :H e :91 Al2m de determinar o Mue est dentro do sistema e o Mue est fora Fo Mue se consegue !ela definio da fronteira entre o sistema e o am /ienteOE tam/2m 2 fundamentalmente im!ortante definir as interfac entre o sistema e o am/iente1 Precisamos con"ecer Mue informa0es !e netram no sistema !ro.enientes do am/iente eWternoE e de.emos con"ecer Mue informa0es Mue o sistema !rodu& como saXdas !ara serem transmitidas ao am/iente eWterno1 8aturalmenteE entradas e saidas no 'o !rodu&idas ao acaso> nen"um sistema de informa0es englo/a todos os dados dis!onX.eis do uni.ersoE nem MualMuer sistema real emite saXdas alcatoriamcnte !ara consumo do am/iente eWterno1 $s sistemas Mue construXmos so racionais e o/Leti.osV es!ecificamenteE eles !rodu&em saXdas como res!osta a um e.entoE ou a um estXmuloE do am/iente1 Desse modoE um outro as!ecto /sico do modelo am/iental 2 a identificao dos e.en tos Mue ocorrem no am/iente aos Muais o sistema de.e reaEgfr 8em todos os e.entosE isto 2E o am/iente cm sua totalidadeE gera um n3 mero infinito de e.entos` Estamos interessados a!enas nos e.en-os Mue F9O ocorrem no am/iente eWternoE e F:O eWigem uma res!osta do sistema1 $/ser.eE Mue a fronteira entre um sistema e seu am/ienteE como se !ode .er na figura 9D19E 2 ar/itrria1 Ela !ode ser esta/elecida !or deter minao da direoE ou como resultado de uma negociao !olXticaE ouE sim!lesmenteE !or acidente1 E 2 algo cm Mue o analista de sistemasE "a/itualmenteE tem alguma o!ortunidade de influenciar1 Em geralE o usurio tem uma /oa id2ia dos limites gerais entre o sistema e o am/iente1 MasE como ilustrado na figura 9D1:E eWiste muitas .e&es uma _rea cin&enta] a/erta !ara negocia0esE uma rea em Mue o usurio F9O no est muito seguroE F:O ainda no !ensouE F@O tem algu mas id2ias !reconce/idas Mue !recisam ser re!ensadasE ou F;iO tudo isso em conLunto1 AssimE !ara eWem!lificarE o usurio !oder solicitar ao analista de sistemas o desen.ol.imento de um sistema de contas a rece/er1 Em/ora isso !ossa re!resentar uma fronteira /em definida e firme entre o sistema Fcon"ecido como o sistema CG*O e o am/ienteE o analista de sistemas de.e considerar a _rea cin&enta]E ilustrada !ela figura 9D1@E de contas a !agarE controle de in.entrioE controle de caiWaE faturamcntoE e controle de !edidos como uma a/rangAncia um tanto maior1 J9H Figura 9D19> A fronteira entre o sistema e o am/iente Figura 9D1:> A rea cin&enta entre o sistema e o am/iente J99 Figura 9D1@> A rea cin&enta em torno do sistema de contas a rece/er 'e o analista de sistemas escol"er um esco!o demasiado !eMuenc !ara um !roLetoE ele est !redestinado ao fracassoE !orMue o usurio !ode ter sa/iamente identificado o sintoma do !ro/lema F!1eW1E _nossas contas a rece/er esto fora de controle]O em .e& da causa do !ro/lema1 EE se o analista de sistemasE !or eWcesso de confianaE ingenuidade ou eWu/erPncia escol"er um esco!o grande demais !ara o !roLetoE ele estar !redestinado a fal"arE !orMue estar lidando com uma situao !olXtica muito mais com!leWaE e estar tentando desen.ol.er um sistema Mue ser !ro.a.elmente grande demais !ara ser desen.ol.ido so/ MuaisMuer circunstPncias1 E ele !odcr estar lidando com !ro/lemas com Mue o usurio no se im!orta ou Mue no !odem ser modificados de forma alguma1 Desse modoE 2 im!ortante gastar o tem!o Mue foi necessrio e o/ter suficiente !artici!ao do usurio na escol"a de uni limite de sistema !ro!riado1 Em um grande sistemaE !odem ser considerados alguns fatore Muando o esco!o do !roLeto est sendo escol"ido1 Entre os fatores maiI im!ortantes esto> J9: U j $ deseLo do usurio em o/ter uma certa fatia do mercad=T !ara o !roduto ou !ara aument?la al2m do seu nX.el atual1 Isto !oderia ser feito !ela oferta dc um no.o !roduto ou !elo aumento da funcionalidade de um !roduto eWistente F!1eW1E maior funcionalidade oferecida !elos sistemas de caiWa au tomtico e sistemas /ancrios dom2sticos on?lineO1 $u o usurio !oderia tentar aumentar a !artici!ao no mercado !ela oferta de um ser.io mel"or e mais r!ido F!1eW1E _Todos os nossos !edidos so remetidos em :=i "orasE e temos um sofisticado sis tema Mue locali&a o seu !edidoE !ossi/ilitando?nos sa/er onde ele est a MualMuer momento]O1 j A legislao decretada !elo go.erno munici!alE estadualE oufe deral1 A maioria desses sistemas 2 de sistemas de relatYriosE !or eWem!loE sistemas Mue informam o em!rego Fou desem!regoO de tra/al"adores com /ase na idadeE seWoE nacionalidade e as sim !or diante1 $u um no.o sistema !oderia ser construXdo !ara acomodar altera0es nas leis de im!ostos1 j 7m deseLo do usurio em minimi&ar os gastos o!eracionais de alguma rea da sua em!resa1 Isso era es!ecialmente comum em grandes com!an"ias nos anos <H e 2 .erdadeiro !ara muitas em!resas !eMuenas Mue esto instalando "oLe seu !rimeiro com!utador1 Por2m a maioria das organi&a0es Mue tAm com!u tadores instalados " 9H anos ou mais L se /eneficiou das e.i dentes o!ortunidades de redu&ir o eWcesso de funcionrios1 j 7m deseLo do usurio em o/ter alguma .antagem estrat2gica !ara a lin"a de !rodutos ou rea de negYcios Mue ele est o!e rando1 $ usurio !oderia tentar fa&er isso organi&ando e geren ciando informa0es so/re o mercado !ara Mue ele !ossa !ro du&ir mercadorias dc urna forma mais o!ortuna e econNmica1 7m /om eWem!lo disso so as lin"as a2reas F/em como muitas outras ind3strias Mue ti.eramE recentementeE suas restri0es a/olidasO onde mel"ores informa0es so/re tendAncias de mer cado e !referAncias dos clientes !odem condu&ir a escalo namentos e !reos mais eficientes1 A rea dentro das fronteiras do sistema 2 algumas .e&es c"amada de domXnio da mod Com isso Mueremos sim!lesmente di&er Mue tudo Mue esti.er no interior das fronteiras do sistema est suLeito a modifica0es F!1eW1E reorgani&ao eGou automati&aoOE enMuanto tudo Mue esti.er fora dos limites de.er !ermanecer na sua forma atualE no sendo eWaminado !elo analista de sistemas1 J9@ Para .er dois eWem!los dc limites dc sistemasE eWamine os estudos de casos nos a!Andices F e G1 8o caso do 6$7*IXO8 Press Information '#stem Fa!Andice FOE o limite do sistema 2 um tanto maior do Mue se !oderia es!erar> ele inclui o faturamento e a mani!ulao de receitas de caiWa Mue fariam !arteE caractcristicamcntcE dcO lOe!artamcnto de Conta /ilidade FeE !ortantoE fora dos limites do sistemaO1 'imilarmcnteE o con trolador dos ele.adores no a!Andice G tem uma fronteira um tanto menor do Mue o deseLado> um sistema /em diferente !oderia ter sido desen.ol.ido se os !ain2is de controle do ele.ador ti.essem sido consi derados !arte do sistema em .e& de !arte do am/iente1 Em am/os os casosE as escol"as foram ar/itrrias1 9D19 FE**AME8TA' 7TI-IgADA' 8A DEFIM()$ D$ AMBIE8TE A modelagem am/iental consiste em trAs com!onentes> 91 Declarao dc o/Leti.os :1 Diagrama de conteWto @1 -ista de e.entos Cada um desses com!onente ser discutido a seguir1 9D1919 A Declarao de $/Leti.os $ !rimeiro com!onente do modelo am/iental 2 uma declarao teWtual concisa e /re.e dos o/Lc=li.os dcO sistema1 Ela 2 .oltada !ara a direo su!eriorE direo usuria e $utros Mue no esto diretamente en.ol.idos no desen.ol.imento do sistema1 7m eWem!lo de uma declarao tX!ica de o/Leti.os 2> $ !ro!Ysito do Afa& Boo% Processing '#siem 2 mani!ular todos os detal"es dos !edidos de lic=rosE /em como remessasE faturamento e co/ranas a clientes com faturas em atraso1 Informa0es so/re!e didos de li.ros de.em estar dis!onX.eis !ara outros sistemasE tal como rnar%etingE .endas e conta/ilidade1 A declarao de o/Leti.os !ode ter com!rimento de umaE duas ou di.ersas sentenas1 EntretantoE !oderia ter a!enas um 3nico !argrafoE1 !ois ela no se destina a dar uma descrio detal"ada e a/rangente do sistema1 Tal esforo seria in3til> 2 tarefa do restante do modelo am/iental e do modelo com!ortamcntal !reenc"er -odos os detal"es1 J9J Como resultadoE a declarao de o/Leti.os ser deli/eradamente .aga em relao a muitos detal"es1 8o eWem!lo da ALaWE !oderXamos !erguntar> j EWatamente Mue es! de informao 2 fornecida !ara a conta /ilidadeE .endas e mar%eting !elo sistema de !edidos de li.ros[ j Como o sistema de !edidos de li.ros determina se um cliente 2 merecedor de cr2dito[ Isto 2 determinado !elo !rY!rio sistema ou !or interm2dio de recomenda0es do de!artamento de conta/ilidade[ j Como o sistema toma con"ecimento Mue no.os li.ros foram !u /licados e L esto dis!onX.eis !ara .enda[ Essas !erguntas detal"adas somente !odem ser res!ondidas com o eWa me do modelo com!ortamentalE Mue discutiremos nos ca!Xtulos 9C e :H1 Em/ora as !erguntas detal"adas de com!ortamento no seLam res !ondidas !ela declarao de o/Leti.osE 2 geralmente suficiente res!on der a uma s2rie de !erguntas de alto nX.el> j $ sistema de !edidos de li.ros 2 res!ons.el !elas ati.idades de fol"a de !agamento[ 8oE .irtualmente MualMuer um Mue leia o material acima concordaria Mue a fol"a de !agamento est fora do esco!o do sistema e est !ro.a.elmente incluXda no sistema de conta/ilidade1 j $ sistema de !edidos de li.ros 2 res!ons.el !elo en.io de fatu ras aos clientes Mue encomendam li.ros[ 'imE a declarao de o/Leti.os di& isso1 Pode?se imaginar Mue isto seLa um assunto de de/ate entre o de!artamento de !edidos de li.ros e o de!ar tamento de conta/ilidade1 AssimE 2 a!ro!riado Mue ele seLa mencionado na declarao de o/Leti.os1 j $ sistema de !edidos de li.ros 2 res!ons.el !elo controle de in.entrioE isto 2E !ela determinao de Muando se de.e enco mendar li.ros Mue esto esgotados[ 8oE a declarao de o/Leti .os no fa& tal declarao1 ^ altamente conce/X.el Mue o con trole de in.entrio seLa um dos muitos outros sistemas Fou de !artamentosO Mue faro uso das informa0es so/re !edidos de li.rosE !rodu&idas !elo sistema de !edidos de li.ros1 Muitos analistas de sistemas tam/2m consideram Mue a declarao de o/Leti.os de.e relacionar os /enefXcios tangX.eis e Muantific.eis Mue J9I sero o/tidos !elo no.o sistemaV !or eWem!loE \o !ro!Ysito do sistema 2 redu&ir o tem!o necessrio !ara !rocessar um !edido de trAs !ara um dia]1 Em/ora isto !ossa ser muito 3til em !eMuenos !roLetos for temente direcionadosE no 2 fcil de ser conseguido em grandes !ro Letos1 Em seu lugarE costuma ser eWigida uma anlise de custoG/eneficio em se!arado1 Figura 9D1J> 7m dia* rama de conteWto 9D191: $ Diagrama de ConteWto A !arte seguinte do modelo arn/icntal comea !or res!onder algumas das !erguntas le.antadas !ela declarao de o/Leti.os1 $ diagrama de conteWto 2 um caso es!ecial do diagrama dc fluWo de da dosE no Mual uma 3nica /ol"a re!resenta o sistema inteiro1 $ diagrama de conteWto !ara o sistema dc !edido de li.ros 2 mostrado na figura 9D1J1 EWem!los de diagramas dc conteWto !ara dois sistemas reais esto a!resentados nos a!Andices F e G1 $ diagrama de conteWto reala di.ersas caracterXsticas im!ortantes do sistema> j As !essoasE organi&a0es ou sistemas com os Muais nosso sis tema comunica?se1 Esses elementos so con"ecidos como terEnXnadores1 j $s dados Mue nosso sistema rece/e do mundo eWterior e Mue de.em ser !rocessados de alguma maneira1 J9< j $s dados !rodu&idos !elo nosso sistema e en.iados !ara o mundo eWterior1 j $s de!Ysitos de dados Mue so com!artil"ados !or nosso sistema e os terminadores1 Esses de!Ysitos de dados ou so criados na !arte eWterna do sistema e usados !or nosso siste ma ou so criados !or nosso sistema e usados eWternamente ao sistema1 j $s limites entre o nosso sistema e o resto do mundo1 As t2cnicas !ara construo do diagrama de conteWto so discuti das na seo 9D1:1 9D191@ A -ista de E.entos A lista de e.entos 2 uma lista narrati.a dos _estXmulos] Mue ocorrem no mundo eWteriorE e aos Muais nosso sistema de.e res!onder> uma lista de e.entos !ara o sistema de !edidos de li.ros 2 mostrada na figura 9D1I> 91 Cliente entrega !edido1 FFO :1 Cliente cancela !edido1 FFO @1 Direo solicita relatYrio de .endas1 FTO J1 Pedido de reim!resso de li.ro c"ega ao de!Ysito1 FCO Figura 9D1I> 7rna "sia de e.enlos $/ser.e Mue cada e.ento 2 rotulado com um FE um T ou um C1 Isto 2 !ara mostrar se o e.ento 2 orientado !or fluWoE um e.ento tem!oral ou um e.ento de controle1 7m e.ento orientado !or fluWo 2 associado a um fluWo de dadosV isto 2E o sistema toma con"ecimento da ocorrAncia do e.ento Muando c"ega um gru!o de dados Fou !ossi.elmente di.ersos gru!os de dadosO1 Como se !ode imaginarE isso corres!onde a um fluWo de dados no diagrama de conteWto1 EntretantoE nem todos os fluWos de dados no diagrama de conteWto s necessariamente e.entos orientados !or fluWos1 ConsidereE !or eWem!loE o diagrama de conteWto !arcial mostrado na figura 9D1<1 o !rimeira .istaE !oder?se?ia concluir Mue os fluWos de dados AE B e C fossem todos indicadores de e.entos se!arados e discretos1 EntretantoE !ode ser Mue a!enas o fluWo de dados A esteLa associado a um e.ento F!1eW1E o fluWo de dados 2 iniciado !elo terminadorO1 Para !rocessar o e.entoE !ode ser Mue o sistema eWiLa eW!licita mente outros terminadores J9K !ara entradas relati.as aos fluWos dc dados 9@ e C !ara !rodu&ir alguma res!osta do sistema1 Desse modoE no eWiste necessariamente uma corres!ondPncXa um !ara um entre os fluWos de dados do diagrama de conteWto e os e.entos da lista de e.entos1 Em geralE cada fluWo de dados ou 2 um e.ento FouE mais !recisamenteE a indicao Mue o e.ento ocor reuO ou2 eWigido !elo sistema com a finalidade de !rocessar um e.ento1 Figura 9D1<> 7m diagrama de conteWto !arcial Al2m dos e.entos fluWo?orientadosE um sistema !ode ter tam/2m e.entos tem!orais1 Como o nome di&E e.entos tcm!orais ' dis!arados em um determinado momento1 Desse modoE eWem!los de e.entos tem !orais !odem 'er> j 7m relatYrio dirio de todos os !edidos de li.ros 2 solicitado Zs C>HH "oras1 j As faturas de.em ser geradas Zs 9I>HH "oras1 j $s relatYrios !ara a direo de.em ser gerados uma .e& a cada "ora1 $/ser.e Mue os e.entos tem!orais no so dis!arados !or fluWos de dados de entradaV !ode?se imaginar Mue o sistema tem um relYgio interno com o Mual ele !ode controlar a !assagem do tem!o1 -em/re?seE entretantoE Mue um e.ento tem!oral !ode eWigir Mue o sistema solicite entradas de um ou mais terminadores1 AssimE um ou mais fluWos de dados !odem estar associados a um e.ento tem!oralE em/ora os fluWos de dados no re!resentem o !rY!rio e.ento1 J9D $s e.entos de controle !odem ser considerados casos es!eciais de 4enlos teln!orais> um estXmulo eWterno Mue ocorra em algum momento m!re.isX.el1 Ao contrrio dc um e.ento tem!oral normalE o e.ento de >ontrole no se relaciona com a !assagem regular do tem!oE assim o Vistema no o !ode !re.er !elo uso do relYgio interno1 E ao contrrio de im e.ento fluWo?orientado normalE o e.ento dc controle no marca sua resena !ela c"egada dc dados1 Como a!resentado na figura 9D1KE um .ento de controle est associado a umfiu1Wo de controle no diagrama de >onteWto1 $ fluWo de controle !ode ser considerado um fluWo dc dados /in L$> ele est ligado ou desligadoE e !ode !assar dc um estado a outro em ualMuer momentoE informandoE assimE ao sistema Mue ele necessita Wecutar alguma ao imediata1 $s sistemas de informa0es orientados ara em!resas no costu ter fluWos dc controle nos diagramas le conteWtoV o 6$7*D$8 Press Information '#stem descrito no t!Andice FE !or eWem!loE no os a!resenta1 Por2mE os fluWos de controle o muito comuns nos sistemas de tem!o?realV !ara um eWem!lo dissoE Wamine o diagrama de conteWto do sistema de controle de ele.adores io a!Andice G1 fluWo de Figura 9D1K> -lmflu1Wo de conirole associado a um e.ento de controle D191J Com!onenles Adicionais do Modelo Am/iental 8a maioria dos !roLetosE a lista de c.cntosE o diagrama de conteWto a definio de o/Leti.os so suficientes1 EntretantoE dois com!onentes dicionais !odem ser 3teisE de!endendo da nature&a e da com!leWidade lo sistema> j Dicionrio de dados inicialE definindo fluWos e de!Ysitos eWternos1 j Modelo de entidades?relacionamentos dos de!Ysitos eWternos1 J9C Mesmo um sistema dc m2dio !orte costuma ter algumas de&ena dc fluWos dc dados Mue entram e saemV um grande sistema !ode terE lite ralmenteE centenas1 Em/ora esses fluWos dc dados e.entualmente seLam definidos em grande detal"e fl$ modelo com!ortamental Fdiscutido no ca!Xtulo :HOE !ode ser 3til iniciar agora a !re!arao de um dicionrio de dados1 Isso !ode ser im!ortante se as interfaces entre o sistema e os di.ersos terminadores esti.erem suLeitas a mudanas e negocia0esV Muanto mais cedo comear?se a definir formalmcnte essas interfaces Fde finindo a com!osio e o significado dos de!YsitosOE mais cedo elas !odero ser finali&adas1 De forma anlogaE um diagrama dc entidades?relacionamentos !ode ser construXdo a !artir dos de!Ysitos eWternos Fse "ou.er algumO1 Isso !ode aLudar a eW!or os relacionamentos entre os de!Ysitos MueE dc outra maneiraE no se tornariam e.identes at2 Mue o modelo com!orta? mental esti.esse sendo desen.ol.ido1 Pela concentrao nesses relacio namentosE nesse !rimeiro estgioE teremos um meio dc du!licar a .erifi cao das intera0es entre os terminadorcs FMue costuma incluir os usu rios finais do sistemaO e o !rY!rio sistema1 9D1: A C$8'T*7()$ D$ M$DE-$ AMBIE8TA- A discusso acima !ro.a.elmente fa& com Mue o modelo am/ien tal !area ser um tanto sim!les e direto> afinal dc contasE eWiste somente um !rocessoE alguns fluWos de dados e tcrminadorcsE uma !eMuena des crio narrati.a do o/Leti.o do sistemaE e uma lista de e.entos1 Em/ora isso seLa .erdadeiroE muitas .e&es o modelo am/Xental eWige muito tra/al"oV al2m dissoE ele 2 "a/itualmente desen.ol.ido com uma s2rie de refinamentos iterati.osE com detal"es adicionais sendo introdu&idos e refinados1 7rna im!ortante ra&o !ela Mual tantos refinamentos e re.is0es costumam ser necessrios 2 Mue ningu2m "a/itualmente entende o esco!o com!leto do sistema como ele 2 inicialmente definido1 'e o !ro Leto en.ol.er um no.o sistema Mue su/stituir um sistema L eWistenteE ser .i.el falar so/re ele com os usurios Mue esto !resentemente eWecutando as fun0es do sistemaV de um certo modoE eles tAm a !ers !ecti.a de !essoas locali&adas no lado internoE ol"ando !ara foraE como ilustrado !ela figura 9D1D1 EntretantoE mesmo nesse casoE os di.ersos usurios internos normalmente esto familiari&ados com a!enas uma !arte do sistemaE e suas diferentes .is0es so !or .e&es conflitantes1 Pior aindaE as suas entre.islas iniciais com a comunidade usuria !odem omitir um ou dois usurios im!ortantesE cuLas intera0es com os termina? dores eWternos ao sistema de.em ser modeladas J:H Figura 9D1D> A .iso Mue o usuno tem do sistema ^ im!ortante gastar tem!o e energia no modelo am/ientalE !ois ele muitas .e&es 2 o !onto central de .rias reuni0es e a!resenta0es im !ortantes desde o inXcio da .ida de um !roLeto de desen.ol.imento de sistemas1 EleE na .erdadeE muitas .e&es 2 a 3nica !arte de todo o modelo do sistema Mue muitos usurios de alto nX.el e diretores FaMueles Mue tAm o din"eiro !ara continuar !atrocinando o !roLeto e o !oder de cancel?lo`O c"egaro a .er1 De!ois de construXdo e a!ro.adoE ele !ode r ser .isto afiWado em di.ersas !aredes e Muadros de a.isos ? eE assimE 2 im!ortante Mue esteLa correto1 9D1:19 A Construo do Diagrama de ConteWto $ diagrama de conteWtoE como L .imosE com!0e?se de termina? doresE fluWos de dados e fluWos de controleE de!Ysitos de dados e um 3nico !rocesso re!resentando todo o sistema1 Estudaremos cada um deles a seguir> A !arte mais fcil do diagrama de conteWto 2 o !rocessoV como L .imosE ele consiste em uma 3nica /ol"aE $ nome dentro do !rocesso 2 normalmente o nome do sistema ou um acrNnimo con.encionado !ara o sistema1 Alguns eWem!los so mostrados na figura 9D1CFaO e F/O1 $/ser.e MueE no caso mais eWtremoE o no.o sistema !ode re!re sentar toda uma organi&aoV nesse casoE o nome do !rocesso seriaE nor malmenteE o da !rY!ria organi&aoE como mostrado na figura 9D1CFcO 'I'TEMA DE C$8TABI -IDADE Figura 9D1C FaO> 7m nome ti!ico de !rocesso !ara um diagrama de conte J:9 $s terminadoresE como L .imosE so rc!rcscntados !or um Muadro retangular no diagrama dc conteWto1 $s tcrminadores comunicam?se diretamente com o sistema atra.2s dos fluWos dc dados ou dos fluWos de controleE como mostrado na figura 9D19HFaOE ou atra.2s dc de!Ysitos dc dados eWternosE como mostrado na figura 9D19H5O1 $/ser.e Mue os terminadores no se comunicam diretamente entre 'iV desse modoE o diagrama dc conteWto mostrado na figura 9D199 est incorreto1 8a realidadeE os terminadores tAm comunica0es entre siE mas uma .e& MueE !or definioE os terminadores so eWternos ao sistemaE a nature&a e o conte3do das intera0es terminador? !ara?terminador so irrele.antes !ara o sistema1 'e durante os entendimentos com os usu rios .ocA decidir Mue 2 essencial sa/er MuandoE !or Mue ou como um terminador comunica?se com outroE ento os tcrminadores so !arte do sistema e eles de.em ser colocados dentro da /ol"a do !rocesso do diagrama de conteWto1 Figura 9D1CF/O> $utro nome 9XG1ico de !rocesso Figura 9D1C FcO> B8ome de !rocesso re!resentando toda uma organi&ao Figura 9D19H FaO> Comunicao direta terminador?sistema J:: DAD$' DE PE'T7I'A DE ME*CAD$ FI*MA' DE PE'T7I'A Figura 9D19H F/O> Comunicao atra.2s de um um de!Ysito eWterno TrAs outras o/ser.a0es de.em ser feitas so/re os terminadores> 91 Alguns terminadores !odem ter um grande n3mero de entradas e saXdas1 Para e.itar um diagrama desnecessariamente conges tionadoE !ode ser con.eniente desen"ar o terminador mais de uma .e&E como mostrado na figura 9D19:FaO1 $/ser.e Mue os terminadores du!licados so marcados com um asteriscoV uma con.eno alternati.a 2 re!resentar os tcrminadores du!licados com uma lin"a diagonalE como mostrado na figura 9D19:F/O1 an3ncio !edidos Pedidos de reco m !9 eta me nto Figura 9D199> 7m diagrama de conteWto incorreto J:@ Figura 9D19: F/O> 7m modo alternati.o de mostrar terminadores du!licados J:J Figura 9D19: FaO> Terminadores du!licados no dia* rama de conteWto :1 Tuando o terminador 2 urna sY !essoaE 2 geralmente !referX.el indicar o !a!el Mue a !essoa desem!en"aE em .e& de indicar a identidade dessa !essoaV desse modoE a figura 9D19@FaO 2 mel"or Mue a figura 9D19@F/O1 EWistem dois moti.os !ara is'o> !rimeiroE a !essoa Mue eWecuta o !a!el !ode ser su/stituida em um de terminado momentoE e 2 deseL.el Mue o diagrama de conteWto !ermanea est.el e corretoE mesmo Mue ocorram mudanas no !essoal1 EE segundoE uma sY !essoa !ode desen!en"ar di.er sos diferentes !a!2is no sistemaV ao in.2s de mostrar um ter? minador rotulado _Ro"n 'mit"] com di.ersos fluWos no inter? relacionados de entrada e dc saXdaE 2 mais significati.o a!re sentar os .rios !a!2is Mue Ro"n 'mit" desem!en"aE cada um como um tcrminador se!arado1 @1 Como estamos interessados !rinci!almente no desen.ol.imento de um modelo essencial do sistemaE 2 im!ortalite distinguirmos entre fontes e mani!uladores Muando desen"armos os ter? minadores no diagrama dc conteWto1 7m mani!ulador 2 um me canismoE dis!ositi.oE ou meio fisico usado !ara trans!ortar dados !ara dentro ou !ara fora do sistema1 Como esses mani !uladores soE muitas .e&esE con"ecidos e .isX.eis aos usurios da im!lementao atual do sistemaE eWisteE iuitas .e&esE uma tendAncia !ara mostrar o mani!uladorE em lugar da .erdadeira fonte dos dados1 EntretantoE como o no.o sistema normalmente ter a o!o de modificar a tecnologia !ela Mual os dados so tra&idos !ara dentro e en.iados !ara fora do sistemaE o mani !ulador no de.e ser mostrado1 Desse modoE o diagrama de conteWto mostrado na Xgura 9D1l=XFaO 2 !referX.el ao mostrado na figura 9D19JF/O1 E8CA**EGAD$ DE *EME''A' Figura 9D19@ FaO> 7m modo mel"or d mosirar um terminador F*ED T7IMB6 Figura 9D19@ F/O> 7m modo menos usado de mostrar um terminador J:I Como um com!romissoE !rinci!almente se o usurio insistirE !ode? se rotular um terminador !ara mostrar a .crdadcira origem e o mani!u lador Mue condu& os dados !ara dentro ou !ara fora do sistema> isso est ilustrado na figura 9D19JFcO1 $s fluWos mostrados no diagrama dc conteWto modelam os dados Mue c"egam ao sistema e os Mue so trans!ortados !ara fora dele /em como os sinais de controle rece/idos !elo sistema ou gerados !or ele1 $s fluWos de dados sero incluXdos no diagrama dc conteWto se forem necessrios !ara detectar um e.ento no am/iente ao Mual o sistema de.a res!onderE ou se forem necessrios Fcomo dadosO !ara Mue seLa !rodu &ida uma res!osta1 $s fluWos de dados tam/2m !odem a!arecer no diagrama de conteWto !ara mostrar dados Mue seLam trans!ortados entre terminadores !ara o sistema1 Finali&andoE os fluWos de dados so mostra dos no diagrama de conteWto Muando os dados so !rodu&idos !elo sistema !ara res!onder a um e.ento1 Como L afirmamosE o diagrama de conteWto de um modelo essen cial e.ita Fsem!re Mue !ossX.elO mostrar os mani!uladores orientados !edido Figura 9D19J FaO> 7m terminador mostrando a .erdadeira fonte de dados !edido Figura 9D19J F/O> 7m lerininador Mue alua como um mani!ulador J:< !ara a im!lementao Mue trans!ortam dados !ara dentro e !ara fora do sistema1 Al2m dissoE deseLamos e.itar a a!resentao das mensagens e "ands"a%ings orientados !ara a im!lementao !elos Muais o sistema e os terminadores informam?se Mue esto !rontos !ara entradas e saXdas1 Desse modoE Mueremos e.itar o desen"o dc diagramas de conteWto como o mostrado na figura 9D19IFaOE !orMue ele incor!ora !ressu!osi 0es de im!lementao Mue !odem ser drasticamente alteradas Muando o no.o sistema for im!lementado1 Em .e& dissoE de.emos desen"ar o diagrama de conteWto na "i!Y tese de Mue as entradas so causadas e iniciadas !elos terminadoresE e de Mue as saXdas so causadas e iniciadas !elo sistema1 E.itando?se as mensagens indeseL.eis e as entradas e saXdas orientadas !ara a im!le mentaoE modelaremos somente um fluWo de dados lim!o1 !edido Figura 9D19J FcO> 7m terniinador Mue com/ina fonte e mani!ulador !ronto !ara Figura 9D19I FaO> 7m diagrama de conteWto com mensagens desnecessrias J:K Ent1retantoE "a.er ocasi0es cm Mue um terminador no iniciar entradasE !orMueE mesmo face Z tecnologia !erfeitaE o terminador no sa/e Mue o sistema necessita da sua entrada1 'imilarmenteE " ocasi0es em Mue o sistema no inicia a gerao de saXdasE !ois ele no sa/e Mue o terminador a necessita ou a deseLa1 Em am/os os casosE uma mensagem do sistema Fum !rom!tO 2 uma !arte essencial do sistemaE e de.e ser mostrada no diagrama dc conteW toV um eWem!lo est mostrado na figura 9D19IF/O1 Algumas .e&es 2 con.eniente mostrar o !rom!i e o corres!on dente fluWo de entrada ou saXda com um fluWo de dilogo Fuma seta de duas !ontasOE como mostrado ria Figura 9D19IFcO 9D1:1: A Construo da -ista dc= E.c A lista de e.entosE como L .imosE uma sim!les listagem teWtual dos e.entos do am/iente aos Muais o sistema de.e res!onder1 Tuando construir a lista de e.entosE assegure?se de distinguir entre um e.ento e um fluWo relacionado a um e.ento1 $ eWem!lo a/aiWo !ro.a.elmente no 2 um e.ento> _$ !edido do cliente rece/ido !elo sistema] Em .e& dissoE ele !ro.a.elmente 2 o fluWo dc dados de c"egada !elo Mual o sistema toma con"ecimento da ocorrAncia do e.ento1 7m nome mais a!ro!riado !ara o e.ento !oderia ser _Cliente entrega !edido] Isso !ode !arecer um eWercXcio semPnticoE mas no 21 'e descre .ermos o e.ento do !onto de .ista do sistema Fisto 2E .isto de dentroOE !oderemos identificar erroneamente os fluWos de c"egada Mue no so e.entos !or eles mesmosE mas Mue so necessrios !ara !rocessar algum outro e.ento1 Desse modoE sem!re deseLamos descre.er os e.entos do !onto dc .ista do am/iente Fisto E de fora do sistemaO1 8a maioria dos casosE o meio mais fcil !ara identificar os e.entos rele.antes !ara um sistema 2 .isuali&ar o sistema em ao> eWaminamos cada terminador e nos !erguntamos Mual o efeito Mue as a0es do termi nador !odem ter no sistema1 Isso "a/itualmente feito em com/inao com os usurios do sistemaE Mue !odem desem!en"ar o !a!el dos ter? minadores1 8o entantoE de.emos ter cuidado em distinguir entre os e.entos discretos Mue ten"am sido acidentalmente _em!acotados] Luntos como se fossem um 3nico e.entoV isso acontece Muase sem!re com os e.entos orientados !or fluWo1 De.emos eWaminar o e.ento candidato e nos !erguntarmos se todas as instPncias do e.ento en.ol.em os mesmos dadosV se os dados esti.erem !resentes em algumas instPncias e ausentes em outrasE !odemos ter de fato dois e.entos distintos1 Por eWem!loE se J:D consulta so/re res!osta so/re situa 'I'TEMA DE solicitao de C$8T*$-E .erificao de cr2dito DE PEDID$' res!osta Z .erificao de cr2dito PA*TAM E8T$ DE I8TABI-IDADE C-IE8TE consulta so/re situao de !edido Figura 9D19I FcO>E 7m meio alternati.o de mostrar fluWos de dilogo itao de ficao de cr situao de !edido res!osta Z .erificao de cr2dito Figura 9D19I F/O> FluWos de dilogo !ara mostrar mensagens essenciais J:C eWaminarmos cuidadosamente o e.ento _cliente entrega !edido]E .ere mos Mue algumas instPncias do e.ento incluem o elemento de dad=s ;.endedor?ID] e outros n$V e .eremos Mue a res!osta do sistema ser diferente Muando um .endedor esti.er en.ol.ido do Mue Muando no "ou.er .endedor1 Desse modoE seria mais a!ro!riado termos dois e.en tos se!arados> _cliente entrega !edido]E e _.endedor entrega !edido de cliente]1 Al2m dissoE lem/re?se Mue a lista dc e.entos de.e incluir no somente as intera0es normais entre o sistema e seus terminadoresE masE tam/2mE situa0es de fal"as1 Como estamos criando um modelo essen cialE no temos de nos !reocu!ar com fal"as do sistemaV mas temos de le.ar em considerao as !ossX.eis fal"as ou erros causados !elos termi nadores1 Como assinalam Paul 5ard e 'te!"en Meilor em 'tructured De.elo!ment for *eal?Time '#stems F8o.a lorMue> 6$7*D$8 PressE 9CDIO1 Como os terminadores estoE !or definioE fora dos limites do esforo da construo do sistema re!resentados !elo modeloE os im !lementadores no !odem modificar a tecnologia do terminador Z sua .ontade !ara mel"orar a confia/ilidade1 Ao in.2s dissoE eles de.em construir res!ostas aos !ro/lemas do terminador no modelo essencial do sistema1 7ma 3til a/ordagem !ara modelar res!ostas aos !ro/lemas do terminador 2 construir uma lista de e.entos _nor mais] eE em seguidaE !erguntar a cada e.entoE _$ sistema necessita res!onderE se o e.ento no ocorrer da maneira es!erada[]1 Por eWem!loE nossa lista de c.entos !ara o ALaW Boo% $rder '#s tem Ffigura 9D1IO incluiu o e.ento _Pedido de reim!rimir li.ro c"ega ao de!Ysito]1 Por2m e se o !edido no c"egar dc forma o!ortuna F!1eW1E dentro de uma semana da data !rometida !ela grficaO[ $ Mue far o sistema [ Pro.a.elmenteE !recisaremos dc um e.ento iniciado !elo siste ma !ara fa&er com Mue o sistema efetue um contato com a grfica e .erifiMue o moti.o da demora1 9D1:1@ $ Tue Qem PrimeiroE o Dia de ConteWto ou a -ista de E.entos[ Pode?se iniciar com a lista de c.entos ou com o diagrama de con teWto1 *ealmenteE isso no im!ortaE Z medida Mue .ocA e.entualmente !rodu& com!onentes do modelo am/ienial e confirma Mue eles esteLam consistentes entre si QocA tam/2m !ode encontrar?se falando com !essoas Mue esto cientes de tudo o Mue entra e sai do sistemaV alguns usurios !odem ser ca!a&es de fornecer?l"e essa informaoE ou os !rogramadores de J@H manuteno res!ons.eis !ela manuteno dc uma .erso atual do siste ma !oderiam ter con"ecimento nessa rca1 Isso l"e fornecer !artes do diagrama de conteWto como !onto dc !artida1 De!oisE .ocA !ode discutir as transa0es Mue os usurios en.iam !ara o sistema e as res!ostas Mue eles es!eram do sistema1 Isso !ermite criar a lista de e.entos do diagra ma de conteWto1 EntretantoE .ocA !ode encontrar?se cm uma situao onde o dia grama de conteWto no esteLa dis!onX.el1 Isso 2 !articularmente comum no inXcio de alguns !roLetos de desen.ol.imento de sistemas> !ode no ser fcil identificar imediatamente os terminadores e os .rios fluWos Mue entram e saem do sistema1 8esse casoE muitas .e&es 2 mais !rtico comear com um diagrama DE* Mue mostra os o/Letos e os relaciona mentos1 $s e.entos candidatos !odemE de!oisE ser encontrados !ela !rocura de ati.idades ou o!era0es Mue fa&em com Mue seLam criadas ou eliminadas instPncias de um relacionamento1 A criao da lista de e.en tos !ode condu&irE !ortantoE ao desen.ol.imento do diagrama de con teWtoV isso est ilustrado na figura 9D19<1 'u!on"aE !or eWem!loE Mue identificamos os o/Letos C-IE8TE e -IQ*$ em um sistema dc uma editoraV nosso usurio tam/2m !oderia di&er?nos Mue eWiste um relacionamento _!edidos] entre C-IE8TE e -IQ*$1 7m e.ento !ro..elE entoE seria uma ao Mue criasse uma ins tPncia do relacionamento de !edidos> um outro e.ento seria uma ao Mue anulasse uma instPncia do relacionamento1 Isso nos condu&iria a identificar _Cliente !ede li.ro] e _Cliente cancela !edido de li.ro] como e.entos da lista de e.entos1 8o 2 !reciso muita in.estigao !ara !erce/er Mue _cliente] 2 um terminador !ara o sistema FenMuanto _li.ro] no 2OV em seguida !oderemos comear a desen"ar o diagrama de conteWto1 Tuando am/os os com!onentes do modelo am/iental esti.erem terminadosE estaremos a!tos a confirmar o seguinte> j Cada fluWo de entrada no diagrama de conteWto seria necess rio ao sistema !ara recon"ecer Mue um e.ento ocorreuE ou seria necessrio ao sistema !ara a !roduo de uma res!osta a um e.entoE ou am/os1 j Cada fluWo de saXda de.e ser uma res!osta a um e.ento1 j Cada e.ento no tem!oral da lista de e.entos de.e ter entradas a !artir das Muais o sistema !ode detectar Mue o e.ento ocorreu1 j Cada e.ento de.e ou !rodu&ir urna saXda imediata como res !ostaE ou arma&enar dados !ara serem emitidos como saXda !osteriormente Fcomo res!osta ou !arte de uma res!osta !ara i@9 DE EQE8T$' Figura 9D19<> Criao do dia de conteWto a !artir de um DE* algum outro e.entoOE ou ele de.e fa&er com Mue o sistema a mude de estado Fcomo indicado no diagrama de transa0es de estadoO1 9D1@ *E'7M$ A construo do modelo am/icntal 2 a !rime`ra e mais im!ortante !arte da construo de um modelo com!leto dos reMuisitos do usurio !ara um no.o sistema1 A essa alturaE isso !oderia !arecer uma tarefa fcilV afinal de contasE o diagrama de conteWto consiste em uma 3nica /ol"aE e a lista de e.entos se !arece com uma sim!les lista de transa 0es1 MasE em um grande !roLetoE !ode estar en.ol.ido um grande .o lume de tra/al"o> a 3nica /ol"a no diagrama de conteWto !ode intera gir com de&enas de terminadores eWternos e !odem ter mais de uma J@: !edidosE 91 E.ento 9111 :1 E.ento :111 @1 E.ento @111 J1 I1 faturaE fatur C$8TABI-I ? DADE lii- centena de fluWos de dados c"egando e !artindo1 E a lista de e.entos 2 tam/2m um im!ortante esforo em grandes sistemasV !ode eWistir facil mente mais de uma centena de e.entos com Mue o sistema ter de lidarE e todos de.ero ser identificados1 Al2m dissoE !ode ser difXcil conseguir uma declarao sim!les consensual do moti.o da eWistAncia do sistema1 7ma .e& construXdo o modelo am/icntalE ele de.e ser minucio samente re.isto !or todos os re!resentantes dos usurios !rinci!aisE /em como !ela eMui!e do !roLeto1 De!ois dissoE .ocA estar !ronto !ara iniciar a construo do modelo com!ortamentalE o modelo do interior do sistema1 Isso ser discutido nos ca!Xtulos 9C e :H1 PE*G78TA' E EXE*CcCI$' 91 Tuais so as trAs coisas definidas !elo modelo essencial[ :1 Tue es!2cie dc e.entos de.em ser modelados em um modelo essencial[ @1 Como a fronteira entre o sistema e o am/iente 2 determinada !elo analista de sistemas[ ;91 Tual 2 a !ro..el conseMaAncia de o analista de sistemas escol"er um esco!o demasiado !eMueno !ara o !roLeto[ 1 Tual 2 a !ro..el conseMaAncia de o analista de sistemas escol"er um esco!o demasiadamente grande !ara o !roLeto[ <1 Tue fatores de.em ser le.ados em conta na definio dc um esco!o !ara o !roLeto[ K1 Como o deseLo do usurio de conseguir uma certa !artici!ao no mercado afeta o Pm/ito de um sistema[ D1 Como a legislao decretada !elos di.ersos nX.eis go.ernamentais afeta o esco!o de um sistema[ C1 Como o deseLo do usurio !ara minimi&ar F$u redu&irO des!esas o!eracionais afeta o Pm/ito dc um sistema[ 9H1 Como o deseLo do usurio em o/ter alguma .antagem estrat2gica contra os com!etidores afeta o esco!o dc um !roLeto[ 991 ProLeto de PesMuisa> eWamine um !roLeto da sua !rY!ria organi &ao1 Tue fatores .ocA considera Mue mais influXram na escol"a do esco!o do sistema[ QocA ac"a Mue o usurioE o analista de sistemas e a eMui!e do !roLeto esta.am cientes dele e esta.am de acordo[ 9:1 8a sua o!inioE de um modo geralE Muais sero os !rinci!ais fatores dos sistemas desen.ol.idos nos anos CH[ Por eWem!loE a reduo das des!esas o!eracionais ser mais im!ortante do Mue as mudanas causadas !ela legislao go.ernamental[ 9@1 Tuais so os trAs !rinci!ais com!onentes do modelo am/iental[ J@@ 9J1 Tual de.e ser a!roWimadamente a eWtenso da declarao de o/Leti.os[ 9I1 Tuais so as cinco caracterXsticas dc um sistema mostradas !elo diagrama de conteWto[ 9<1 Tuais so os com!onentes dc um diagrama dc conteWto[ 9K1 $ Mue 2 uma lista de e.entos[ 9D1 Tuais so os trAs ti!os dc e.entos Mue de.em ser modelados em um diagrama de conteWto[ 9C1 Tual 2 o relacionamento entre fluWos e e.entos no diagrama de conteWto[ :H1 $ Mue 2 um e.ento tem!oral[ :91 Tue com!onentes adicionais !odem ser encontrados em um modelo am/iental al2m do diagrama de conteWtoE a lista de e.entos e a declarao de o/Leti.os[ ::1 Por Mue costuma ser necessrio fa&er muitas re.is0es e refina mentos do modelo am/icntal[ :@1 Por Mue 2 im!ortante garantir Mue o modelo am/iental esteLa correto[ :J1 Tue ti!o de nome de.e ser colocado na /ol"a de um diagrama de conteWto[ :I1 $ Mue 2 um modelo de em!resa[ :<1 Como os terminadores comunicam?se com o sistema :K1 $s terminadores comunicam?se entre si cm um modelo de sistema[ Por MuA[ :D1 'o/ Mue condi0es seria um terminador desen"ado mais do Mue uma .e& em um diagrama de conteWto[ Como seria mostrado[ :C1 'e um terminador for uma !essoaE como de.e ele ou ela ser mos trado no diagrama de conteWto[ @H1 Como !ode o analista de sistemas ter certe&a de Mue ele ou ela identificou todos os terminadores no diagrama dc conteWto[ @91 $ Mue 2 um mani!ulador[ Tual 2 a diferena entre urna fonte e um mani!ulador[ @:1 Por Mue de.em ser mostradas fontes e no mani!uladores em um diagrama de conteWto[ @@1 $ Mue de.e fa&er o analista de sistemas se o usurio insistir em mostrar os mani!uladores no diagrama de conteWto[ @J1 'o/ Mue condi0es os fluWos so mostrados em um DFD[ @I1 Por Mue as mensagens F!rom!tsO e "ands"a%ings em geral no so mostrados em um diagrama de conteWto[ @<1 $ Mue significa a eW!resso fluWo lim!o de dados[ @K1 'o/ Mue condi0es um terminador no inicia a entrada em um1 sistema[ @D1 'o/ Mue condi0es o sistema no inicia a saXda !ara um terminador[ J@J @C1 $ Mue de.e ser desen.ol.ido !rimciroE o diagrama de conteWto ou a lista de e.entos[ Por MuA[ JH1 Tuais so as Muatro coisas Mue de.em ser .erificadas !ara garantir Mue o modelo am/iental esteLa correto[ J91 $ Mue est errado no diagrama dc conteWto a/aiWo[ J:1 $ Mue est errado no diagrama de conteWto a/aiWo[ J@1 $ Mue est errado no diagrama de conteWto a/aiWo[ ! G JJ1 $ Mue est errado no diagrama de conteWto a/aiWo[ a -I'TA DE EQE8T$' 91 Cliente !recisa de um _al :1 Fornecedor !recisa de fatura1 @1 Fornecedor fa& uma remessa1 J1 Cliente entrega !edido1 8$TA' Alguns usurios !odem no ser im!ortantes em termos de "ierar Muia organi&acionalV eles !odem ser considerados como funcion rios su/alternosE secretrios ou administradores1 ContudoE as fun0es Mue eles desem!en"am !odem ser .itaisE e !ode ser fun damental modelar eWatamente as entradas Mue eles rece/em do mundo eWterior e as saXdas Mue eles en.iam ao mundo eWteriorE $ moti.o !elo Mual o analista de sistemas muitas .e&es esMuece de falar !ara essas !essoas 2 muito sim!les> um usurio de nX.el mais ele.ado Fisto 2E o c"efeO informar ao analista de sistemas com Muem de.e falar1 _8o a/orrea nen"um dos meus funcionrios]E dir o c"efe ao analistaE _eles esto muito ocu!ados e 2 !or isso Mue !recisamos de um no.o sistema1 Eu direi tudo Mue .ocA necessita sa/er so/re o sistema]1 Como L estudamos no ca!Xtulo @E !ode no "a.er um meio di!lomtico !ara e.itar issoV mas 2 essencial .erificar cuidadosamente o modelo am/iental !ara ga rantir Mue nada esteLa faltando1 : Esse 2 um im!ro..el cenrio !ara o !roLeto de desen.ol.imento de um sistemaE mas est comeando a ocorrer gradualmente maisE Z !ro!oro Mue as !essoas esto utili&ando diagramas de fluWo de dados e outras ferramentas de modelagem descritas neste li.ro !ara a construo de modelos de em!resas1 Isso !ode ser feito sem MualMuer inteno de se com!utadori&ar toda a em!resaE mas sim !lesmente !ara a/ranger o Mue L eWiste ? !rinci!almente !ara1 a/ranger os dados de Mue a organi&ao necessita !ara eWecutar seu o/Leti.oE $ tema dc modelos dc em!resas 2 discutido em Information Engineering for l"e PractilionerE de 5illiam Inmon J@< / FEngle 4ood CliffsE 81R1> Prentice?"allE 9CDKO e 'lrategic Data Base ModelingE de Rames Martin FEnglc4ood CliffsE 81R1> Prentice?,allE 9CDIO1 @ 8o 2 o/rigatYrio o uso dc um fluWo dc dilogoE mas ele fa& com Mue o diagrama de conteWto fiMue mais legX.el !ela agregao das entradas e saXdas associadas de forma a Mue fiMuem imediatamente .isX.eis ao leitor1 Al2m dissoE a utili&ao de uma seta !ara mostrar Mue o dilogoE em o!osio a duas setas se!aradasE cria um de diagrama de conteWto menos congestionado1 Isso 2 im!ortante em grandes sistemasE onde !ode eWistir uma centena ou mais de diferentes intera0es com terminadores eWternos1 J@K I- 9C A C$8'T*7()$ D$ M$DE-$ C$MP$*TAME8TA- P*E-IMI8A* As coisas so sem!re mel"ores no inXcio1 Blaise PascalE -eilres Pro.incialesE 9<I<?9<Ig nr1 J 8este ca!XtuloE a!renderemos> 91 PorMue a a/ordagem to!?do4n difXcil !ara o mo delo com!ortamental1 :1 Como desen.ol.er um modelo com!ortamental !re liminar usando a su/di.iso de c.cntos1 @1 Como desen.ol.er o modelo dc dados DE* inicial1 8o ca!Xtulo anterior .imos como desen.ol.er o modelo am/iental !ara um sistema1 'eE neste momentoE .ocA esti.esse tra/al"ando em um !roLeto realE .ocA teria !rontificado o diagrama de conteWtoE a lista de e.entos e uma declarao de o/Leti.os1 Al2m dissoE .ocA teria iniciado a !re!arao do dicionrio de dadosE com !elo menos a definio dos elementos de dados Mue re!resentam as intcrfaces entre os terminadores eWternos e o sistema1 8ossa tarefa agora comear a construir o modelo com!ortamentalE isto 2E o modelo do Mue de.a ser o com!ortamento interno do sistema !ara Mue !ossa interagir corretamente com o am/ien te1 Isso en.ol.e o desen.ol.imento de um diagrama de fluWo de dados !reliminar e um diagrama de entidades?relacionamentosE /em como a ela/orao dos itens iniciais dcO dicionrio de dados1 Essa a/ordagem en.ol.e fundamentalmente o desen"o da !rimei ra .erso de um diagrama de fluWo dc dadosE com um !rocesso F/ol"aO J@C !ara a res!osta do sistema a cada e.ento M tcn"a sido identificado na lista de e.entos1 Em seguidaE desen"amos de!Ysitos cm nossa !rimeira .erso de DFD !ara modelar s dados Mue de.em ser memori&ados entre e.entos assXncronos1 Finali&andoE interligamos os fluWos adeMua dos de entrada e de saXda Zs /ol"as e .erificamos nosso conLunto de DFD em relao ao diagrama dc conteWto !ara manter a consistAncia1 Feito issoE damos !artida cm um !rocesso de lim!e&aE descrito no ca!Xtulo :HE !ara !rodu&irmos um modelo /em organi&ado de !rocessos e de dados !ara a!resentao ao usurio final1 A esta a/ordagm foi dado o nome de su/di.iso dc e.cntos cm lMcMenamin e PalmerE 9CDGd1 Comearemos com!arando esta a/ordagem com a clssica a/orda gem to!?do4n1 9C19 A AB$*DAGEM C-+''ICA A a/ordagem sugerida neste ca!Xtulo 2 su/stancialmente diferente da a/ordagem to!? do4n descrita em li.ros clssicos como DeMarco d 9CKC9E Gane d e 'arsonE 9CKC9 e outros1 A a/ordagem clssica !resume Mue .ocA L desen"ou o diagrama de conteWtoV mas tam/2m !resume Mue .ocA !rosseguir direlarncnie da /ol"a 3nica do diagrama de conteWto !ara um 9O99O de alto nX.el Fcon"ecido como figura HOE em Mue cada uma das /ol"as re!resenta um im!ortante su/ sistema1 Cada /ol"a da figura $ 2E de!oisE di.idida em figuras de nX.el mais /aiWoE e cada /ol"a dessas figuras dc nX.el mais /aiWo so tam /2m di.ididasE e assim !or dianteE at2 Mue se alcance o nX.el de /ol"as _atNmicas]E Mue L no eWigem mais decom!osi0es1 Isso 2 ilustrado na figura 9C191 Em/ora essa a/ordagem to!?do4n seLa diferente da Mue 2 a!resen tada neste li.roE eu nada ten"o contra elaE 111 clesc9e Mue funcione1 Entre tantoE lem/re?se de Mue muitos analistas de sistemas encontram os se guintes !ro/lemas Muando utili&am a a/ordagem to!?do4n> j Paralisia da anlise1 Em muitos sistemas grandes e com!leWosE sim!lesmente no eWiste algo Mue !ossa orientar o analista de sistemas no desen"o da figura $ adeMuada a !artir do diagrama de conteWto1 Dessa formaE o analista senta?se Z sua mesaE con tem!lando o diagrama dc conteWtoE es!erando !ela ins!irao di.inaE ou !or algu2m Mue l"e diga Mue o !roLeto ultra!assou o tem!o !ara anlise e Mue L 2 "ora de se iniciar a codificao1 j $ fenNmeno dos seis anolislas1 Em um sistema grande e com !leWo muitas .e&es " mais dc um analista de sistemas contem !lando o diagrama de conteWto1 Para di.idir o tra/al"o sem Mue JJH Figura $ rigura 9C19> li aesen.oi.&menro ro!?do4n do modelo com!ortamental um interfira no ser.io dos outrosE eles criam ar/itrariamente uma figura $ com uma /ol"a !ara cada analista de sistemas1 Desse modoE se "ou.er seis delesE a figura $ se constituir de seis /ol"as1 Desnecessrio di&er Mue isso !ode no ser a mel"or su/di.iso do sistemaE $ Mue acontecerE !or eWem!loE se o mesmo sistema for es!ecificado !or trAs analistas de sistemas[ E !or no.e[ E !or um sY[ A su/di.iso fl ar/itrria1 Em muitos casos o no.o sistema fundamenta?se em outro sistema L eWistente ou 2 a com!uta dori&ao de uma organi&ao1 A su/di.iso em alto nX.el do sistema atual FeW1> as unidades atuais da organi&ao ou os sis temas de !rocessamento eWistentesO 2 muitas .e&es utili&ada como /ase lYgica !ara se su/di.idir o no.o sistema1 PortantoE se o sistema atual 2 re!resentado !elo De!artamento de Com!ras e !elo De!artamento de Controle de TualidadeE o no.o sistema freMaentemente tem um 'u/sistema de Com!ras e um 'u/sis tema de Controle de Tualidade mesmo Mue essa no seLa Fe muitas .e&es no 2O a mel"or forma de su/di.idir Fdo !onto de .ista funcionalO o sistema1 JJ9 A a/ordagem descrita neste ca!Xtulo no 2 !uramente to!?do4n e tam/2m no 2 !uramente /ottom?u!1 Ela 2E dc certa formaE uma a/orda gem _do meio]V de!ois Mue o DFIO inicial est !rontoE !ode ser !reciso criar alguns nX.eis !ara cima e alguns outros nX.eis !ara /aiWo1 9C1: A IDE8TIFICo()$ DE *E'P$'TA' A EQE8T$' A a/ordagem dc su/di.isZo dc e.cntos en.ol.e as Muatro eta!as a/aiWo> 91 Desen"a?se uma /ol"aE ou !rocessoE !ara cada e.ento da lista de e.entos1 :1 A /ol"a rece/e um nome de acordo com a res!osta Mue o siste ma de.e dar ao e.ento associado1 @1 Desen"am?se entradas e saXdas a!ro!riadas de modo a Mue a /ol"a seLa ca!a& de emitir a res!osta necessria e desen"am?se de!YsitosE como for mais adeMuadoE !ara comunicao entre as /ol"as1 J1 $ resultante DFD inicial 2 .erificado em relao ao diagrama de conteWto e Z lista de e.entos !ara Mue se confirme se est com!leto e consistente1 A !rimeira eta!a 2 diretaE Muase mecPnica !or nature&a1 'e "ou.er :I e.entos na listaE .ocA ter de desen"ar :I /ol"as1 Para facilitar consul tasE numere cada /ol"a de modo a coincidir com o e.ento a ela associa do1 AssimE o e.ento 9@ corres!onder /ol"a 9@ F!osteriormenteE como .eremos no ca!Xtulo :HE rcnumerarcmos as /ol"as adeMuadamenteO1 A segunda eta!a tam/2m 2 direta e mecPnica> cada /ol"a rece/e um nome a!ro!riadoE de acordo com sua necessria res!osta1 Isso igni fica Mue .ocA de.e eWaminar o e.ento e !erguntar a .ocA mesmo Tue res!osta o sistema de.e dar a este e.ento[]1 -em/re?seE contudoE Mue .ocA de.e escol"er nomes to es!ecXficos Muanto !ossX.el1 AssimE se um e.ento for C-IE8TE EFET7A PAGAME89$E um nome adeMuado !ara uma /ol"a seria AT7A-IgA* C$8TA' A *ECEBE* Fse for esta a 3nica res!osta eWigida do sistemaOE em .e& dc P*$CE''A* PAGAME8T$ DE C-IE8TE FMue nada nos informa so/re a nature&a da res!ostaO1 A terceira eta!a definiti.amente no mecPnicaE mas 2 normal mente /astante direta1 Para cada /ol"a desen"adaE 2 !reciso identificar as entradas Mue a /ol"a necessita !ara eWecutar sua tarefaV 2 !reciso identificar as saXdas Fse "ou.er algumaO Mue a /ol"a !rodu&E sendo ainda JJ: necessrio identificar os de!Ysitos a Mue a /ol"a de.e ter acesso1 Isso normalmente 2 feito mediante entre.istas com os usurios a!ro!riados e focali&ando cada e.ento e sua /ol"a associada1 _De Mue necessita esta /ol"a !ara fa&er seu ser.io[] ? .ocA !erguntar ao usurio ? e _Tue saXdas ela gera[] Em muitos casosE o e.ento 2 dirigido !elos fluWosV isso Muer di&er Mue o sistema se torna interessado na ocorrAncia do e.ento !or causa da c"egada de alguns dados de um tcrminador eWterno1 Isso o/.iamente significa Mue o fluWo de dados a!ro!riado de.e ser associado ao !roces so necessrio !ara res!onder ZMuele e.ento1 Por2mE como mostram as figuras 9C1:FaO e F/OE !odem ser necessrias entradas adicionais Fde ou tros terminadores e !ossi.elmente de de!Ysitos de dadosO !ara Mue o !rocesso !ossa !rodu&ir a necessria saXda1 Do mesmo modoE 2 !reciso desen"ar as saXdas a!ro!riadas !rodu &idas !elo !rocesso como !arte da res!osta1 Em muitos casosE isso en .ol.er saXdas Mue so encamin"adas de .olta aos terminadores fora do sistemaV entretantoE isso !ode en.ol.er saXdas en.iadas aos de!YsitosE !ara serem utili&adas como entradas !or outros !rocessos1 Isso est ilus trado nas figuras 9C1@FaO e F/O1 Por fimE a Muarta eta!a 2 uma ati.idade de .erificao de consistAn cia semel"ante Zs eta!as de eMuilX/rio descritas no ca!Xtulo 9J1 QocA de.e se certificar de Mue cada entrada no diagrama de conteWto esteLa associada a uma entrada em um dos !rocessos do DFD !reliminar e de Mue cada saXda !rodu&ida !or um !rocesso no DFD !reliminar seLa 9 SSS Figura 9C1: FaO> FluWo de dados sinali&ando a ocorrAncia de um e.ento JJ@ Figura 9C1@ FaO> 7ma saXda en.iada de um !rocesso !ara um terminador en.iada !ara um de!Ysito ou seLa uma saXda eWterna mostrada no diagra ma de conteWto1 EWistem dois casos es!eciais> F9O e.entos unitrios Mue !ro.ocam m3lti!las saXdas e F:O e.entos m3lti!los Mue causam a mesma res!osta1 8o !rimeiro casoE um e.ento unitrio !ode !ro.ocar m3lti!las res!ostasE sendo cada uma delas modelada com sua !rY!ria /ol"a no DFD !reliminar1 Isso 2 ilustrado na figura 9C1J1 Isso sY 2 adeMuado se todas as JJJ 6 Figura 9C1: F/O> Entradas ad%ionaLs necessrias !ara a !roduo da res!osta Figura 9C1@F/O> 7ma saXda sendo en.iada de um !rocesso !ara um de!Ysito edido de cliente Figura 9C1J> M3lti!las res!ostas !ro.en ientes do mesmo e.ento res!ostas usarem o mesmo fluWo de dados Mue c"egaE e somente se todas elas forem inde!endentes entre si1 8en"uma saXda de uma !arte da res!osta geral de.e ser necessria como entrada !ara outra !arte da res!osta geral De forma in.ersaE "a.er ocasionais situa0es em Mue um !ro cesso esteLa associado a mais de um e.entoV isso 2 mostrado na figura 9C1I1 Isso sY 2 .lido e adeMuado se a res!osta emitida !ela /ol"a for JJI !edidoG din"eiro idAntica !ara os di.ersos e.cntos e somente se os dados de entrada e os de saXda forem idAnticos !ara as di.ersas res!oslas aos e.entos1 9C1@ A I8TE*-IGA()$ DA' *E'P$'TA' A$' E QE8T$' $/ser.e MueE nos eWem!los anterioresE nen"um dos !rocessos do diagrama de fluWo de dados !reliminar era interligado a outro> /ol/as no falam diretamente com outras /ol"as1 Ao in.2s dissoE as /ol"as se intercomunicam atra.2s dos de!Ysitos de dados1 Por Mue 2 assim[ 'im!lesmente !orMue as /ol"as do DFD !reli minar re!resentam res!ostas a um e.entoE e os e.entos Mue ocorrem no am/iente eWterno soE no caso geralE assmncronos1 Isto 2E no temos meios de garantir Mue dois e.entos ocorrero no mesmo instanteE ou defasados um do outro !or dois segundosE ou !or MualMuer inter.alo de tem!o1 $s e.entos acontecem no am/iente eWterno Muando o am/iente decide fa&A?los acontecer1 E desde Mue> j a res!osta a um e.ento !ossa eWigir dados !rodu&idos !or al gum outro e.entoE e j no ten"amos meios dc sa/er Muando os e.entos ocorreroE e j ten"amos de !resumirE em um modelo essencialE Mue cada !ro cesso eWecutar sua tarefa de modo infinitamente r!idoE e !edido` carto de cr2dito Figura 9C1I> E.entos m3lti!los com a mesma res!osta JJ< daX de!reende?se Mue o 3nico modo dc sincroni&armos m3lti!los e.en tos interde!endentes 2 atra.2s dc um de!Ysito1 Atente !ara o fato de Mue esse 2 um de!Ysito essencial> necessrioE no !or causa dos retardos de tem!o relacionados Z tecnologia im!crfcitaE mas de.ido s considera 0es tem!orais do am/iente1 Desse modoE .ocA no de.e .er um diagrama de fluWo de dados !reliminar como o mostrado na figura 9C1<FaOV como os e.cntos associa dos so assXncronosE a figura 9C1<FaO sY !oderia funcionar se um de!Ysi to de dados com retardo esti.esse oculto cm um dos !rocessos ou no !rY!rio fluWo de dados1 Assim sendoE a figura 9C1<F/O 2 a maneira correta de mostrar as comunica0es entre !rocessos1 9C1J $ DE'E8Q$-QIME8T$ D$ M$DE-$ DE DAD$' I8ICIA- Como .imosE o !rocedimento dc es/oar o DFD inicial englo/a o desen"o de de!Ysitos de dados entre !rocessos assmncronos1 8a maioria dos casosE a nature&a desses de!Ysitos ser Y/.ia e os nomes !ode ro ser escol"idos a !artir do seu con"ecimento do o/Leti.o do !roLeto1 Toda.iaE enMuanto issoE .ocA ou um dc seus colegas de.e ter co meado a tra/al"ar na .erso inicial do diagrama de entidades?re lacionamentos como ati.idade inde!endenteE em !aralelo com o desen .ol.imento do DFD inicialE o Mue de.e ser feito com o em!rego das t2cnicas descritas no ca!Xtulo 9:1 Como o DE* e o DFD so desen.ol.idos cm !araleloE eles !odem ser usados !ara .erifica0es cru&adas entre eles1 Dessa formaE os de!Ysitos Mue ten"am sido definidos cW!crimcnta`mcntc no DFD !reliminar !odem ser utili&ados !ara sugerirem o/Letos no DE* !re liminar e os o/Letos Mue ten"am sido cW!crimcntalmcnte identificados no DE* !reliminar !odem ser usados !ara auWiliar a escol"a dos de!Ysitos adeMuados no DFD !reliminar1 8en"um dos modelos de.e ser considerado como sendo o modelo dominanteE Mue controla os demaisV todos esto no mesmo !2 dc igualdade e !odem dar inestim.el auWXlio ao outro1 QocA tam/2m desco/rir Mue a lista de e.entos 2 to 3til na ela/o rao do DE* inicial como na do DFD inicia`1 $s su/stanti.os na lista de e.entos muitas .e&es se mostraro como o/Letos no DE*V !or eWem!loE se um e.ento for _Cliente introdu& !edido]E identificamos imediatamen te cliente e !edido como o/Letos eW!erimentais1 Podemos usarE do mesmo modoE a lista de e.entos como meio de .erificao cru&ada do j cada fluWo de dados atue como um duto Mue !ossa trans!ortar elementos de dados em .elocidade infinitaE !edido de cliente consulta so/re !edido de cliente de cliente situao de !edido Figura 9C1< FaO> Modelo incorreto de comunicao com retardo entre !rocessos !edido de cliente ''A* PEDID$ DE @ PEDID$' situao de !edido Figura 9C1< F/O> Modelo correto de comunicao com retardo entre !rocessos consulta so/re !edido de cliente JJD DE* inicial> todos os ti!os de o/Letos do DE* de.em corres!onder a su/stanti.os na lista de e.entos1 9C1I *E'7M$ A concluso mais im!ortante deste ca!itulo e Mue .ocA no !rodu &ir um modelo com!ortamental Mue esteLa !ronto !ara ser mostrado ao usurio1 Ele no est terminadoE no est atraente e no 2 suficientemen te sim!les ou /em organi&ado !ara ser inteiramente com!reendido1 Pode?se .er um eWem!lo disto eWaminando?se o estudo de caso do a!Andice F1 EntoE o Mue ele 2[ Tual 2 o momento de eWecutar as eta!as descri tas na seo 9C1@[ Muito sim!lesE ele um comeoE uma estrutura so/re a Mual .ocA !ode assentar o desen.ol.imento da .erso finalE com!letaE do modelo essencial1 8este momento .ocA no de.e estar !reocu!ado com a !re!arao do modelo com!ortamentalE ou com sua com!leWidade ou com!reensi /ilidade1 QocA de.e resistir resolutamente tentao de reorgani&arE em!acotarE decom!or ou _recom!or] MualMuer /ol"a do DFD !relimi nar1 Tudo com Mue .ocA de.e se !reocu!ar neste momento 2 com a correo su/Lacente do modelo> ele tem um !rocesso !ara cada e.ento[ Eie a!resenta as necessrias entradas e saXdas !ara cada e.ento[ E ele mostra as necessrias coneW0es entre os e.entos[ De!ois de "a.er esta/elecido -udo issoE.ocA !ode comear a tra/a l"ar na reorgani&ao do modelo1 Isso ser discutido mais detal"ada? mente no ca!Xtulo :H1 *EFE*b8CIA' 91 Tom DeMarcoE 'l Anal#sis and '#stems '!ecification1 Engle4ood CliffsE 81R1> Prentice?` lalIE 9CKC1 :1 C"ris Gane e Tris" 'arsonE 'truclured '#stems Anal#sis> l/ols and Tec/niMues1 Engle4ood CliffsE 81R1> Prentice?` laIlE 9CKC1 @1 'te.e McMenamin e Ro"n PalmerE Essential '#stems Anal#s-Xs1 8o.a lorMue> 6$7*D$8 PressE 9CDJ1 PE*G78TA' E EXE*CcCI$' 91 $ Mue 2 o modelo com!ortamental de um sistema[ Para Mue ser.e[ :1 Tuais so os trAs !rinci!ais com!onentes do modelo com!orta? mental !re9imina JJC @1 Tual 2 a a/ordagem clssica de construo do modelo com!orta? mental[ Por Mue ela 2 caracteri&ada como uma a/ordagem to! do4n[ J1 Tuais so os trAs !rinci!ais !ro/lemas normalmente encontrados !elos analistas de sistemas ao tentarem seguir a a/ordagem to! do4n clssica !ara !re!arar o modelo com!ortamental de um sistema de informa0es[ I1 Por Mue .ocA ac"a Mue alguns analistas de sistemas so tomados de !aralisiaE ou do ;/loMueio de escritor]E ao tentarem desen.ol.er o DFD da figura $ a !artir do diagrama dc conteWto[ <1 Por Mue o modelo com!ortamental de alguns !roLetos a!resenta uma su/di.iso fisica ar/itrria[ K1 $ Mue significa a eW!resso su/di.iso de e.entos[ D1 Tuais so as Muatro eta!as da su/di.iso dc e.entos[ C1 'e o analista de sistemas ti.er desco/erto 9@ e.entos no modelo am/ientalE Muantos !rocessos F/ol"asO de.e "a.er na !rimeira .erso do modelo com!ortamental[ 9H1 Tue ti!o de esMuema de numerao 2 utili&ado !ara se numerar as /ol"as na !rimeira .erso do DFD do modelo com!ortamental[ 991 Tue /ase lYgica 2 utili&ada !ara se dar um nome a cada /ol"a na !rimeira .erso do DFD do modelo com!ortamentaP 9:1 Como o analista de sistemas de.e determinar as entradasE saXdas e de!Ysitos necessrios a cada /ol"a na !rimeira .erso do DFD[ 9@1 'e um e.ento for dirigido !or fluWosE Muantos fluWos de dados de entrada de.e rece/er a /ol"a Mue !rocessa esse e.ento[ 9J1 Tuais so as diretri&es dc .erificao dc consistAncia Mue o analista de sistemas de.e seguir ao desen"ar a !rimeira .erso do DFD do modelo com!ortamental[ 9I1 Como de.e ser desen"ada a !rimeira .erso do DFD !ara o caso de um e.ento Mue !rodu& m3lti!las res!ostas[ 9<1 'o/ Mue condi0es !ode urna /ol"a 3nica na !rimeira .erso do DFD estar associada a mais dc um e.ento[ 9K1 8a !rimeira .erso do DFIOE como as /ol"as comunicam?se entre si[ Isto 2E como a saXda !rodu&ida !or uma /ol"a torna?se a entrada de outra /ol"a[ 9D1 Como a !rimeira .erso do lOFlO mostra a sincroni&ao de e.entos m3lti!losE assmncronos e interde!endentes[ 9C1 $ Mue de.e ser desen.ol.ido !rimeiro> a !rimeira .erso do DFD ou a !rimeira .erso do modelo de dados FIOEl$[ Por Mue[ :H1 $ Mue o analista dc sistemas dc.c fa&er com a !rimeira .erso do DFD e do DE* de!ois de "a.A?las com!letado[ :91 Tuando a !rimeira .erso do IOFD est !rontaE de.e ser re.ista com o usurio[ Por MuA[ JIH ::1 $ Mue est errado na !rimeira .erso dc DFD a/aiWo[ :@1 $ Mue est errado na !rimeira .erso de DFD a/aiWo[ cr2dito oO P*$CE''A* o T$ o 4 o -I'TA DE EQE8T$' Fdo modelo am/ientalO 91 Cliente !ede item1 :1 Cliente de.ol.e um item1 :1 Cliente efetua !agamento1 JI9 :H C$M$ C$MP-ETA* $ M$DE-$ C$MP$*TAME8TA- DAem?nos as ferramentas e com!letaremos nossa tarefa1 5inston C"urc"illE transmisso radiofNnicaE 9CJ 8este ca!XtuloE a!renderemos> 91 Como su/di.idir um DFD inicial em nX.eis deforma ascendente1 :1 Como ocultar de!Ysitos dc dados locais1 @1 Tuando e como su/di.idir dc forma descendente as /ol"as de um DFD inicial1 J1 Como com!letar o dicionrio de dados inicial1 I1 Como com!letar as es!ecifica0es dc !rocessos1 <1 Como com!letar o modelo de dados1 K1 Como com!letar o diagrama de transi0es de estado1 8o ca!Xtulo anteriorE a!resentei um estrat2gia !ara desen.ol.er uma .erso inicial do modelo com!ortamental1 EntretantoE 2 e.idente Mue aMuele modelo no !ode ser a!resentado ao usurio !ara .erifica o1 Por Mue no[ Em !rimeiro lugar !orMue ele 2 com!licado demais1 Como .imos no ca!Xtulo 9CE o DFD !reliminar ter um !rocesso !ara ca da e.ento Mue identificamos no modelo am/iernalV assimE ele !ode ter JH cu IH /ol"asE e !ossi.elmente mais1 Dc maneira semel"anteE a .erso inicial do DE* 2 !ro.a.elmente muito tosca !ara ser re.ista com os usu riosV como discutimos no ca!Xtulo 9:E 2 necessrio algum refinamento !ara eliminar os o/Letos desnecessrios eGou acrescentar no.os o/Letos1 JI@ EWiste um segundo !ro/lema com o modelo> ele 2 com!osto !o muitos grficosE com !ouco ou nen"um su!orte teWtual1 Em/ora o dia grama de fluWo de dados e o de entidades?relacionamentos seLam eWce lentes .eXculos de a!resentao dc uma .ista geral do sistema a usurio eles necessitam do a!oio de um dicionrio de dados e de um conLunt com!leto de es!ecifica0es dc !rocessos1 :H19 C$M$ C$MP-ETA* $ M$DE-$ DE P*$CE''$' :H1919 A 'u/di.iso do DE`O em 8X.eis $ !rimeiro !asso 2 reorgani&ar o DFD Mue desen.ol.emos no ca!Xtulo 9C1 Como .imosE ele com!0e?se de um 3nico nX.elE com dema siadas /ol"as1 EntoE !recisamos su/di.idir o IOFD em nX.eis ascenden tes1 Isso Muer di&er Mue deseLamos agru!ar !rocessos relacionados em agregados significati.osE cada um re!resentando uma /ol"a de um dia grama de nX.el mais ele.ado1 Isso 2 ilustrado na figura :H191 EWistem trAs diretri&es Mue .ocA de.e ter em mente ao fa&er isso> 91 Cada agru!amento de !rocessos de.e en.ol.er res!ostas estrei tamente relacionadas Flem/re?se Mue cada /ol"a no DFD !reliminar tem um nome relati.o res!osta a um e.ento da lista de e.entosO1 Isso "a/itualmente significa Mue $' !rocessos lidam com dados estreitamente relacionados1 :1 Procure o!ortunidades !ara ocultarE ou _se!ultar]E dados arma &enados Mue a!aream no nX.el inferior1 AssimE se .ocA en contrar um gru!o de !rocessos no DFD !reliminar relati.o ao mesmo de!YsitoE sem Mue oulros !rocessos no DFD !reliminar se refiram a esse de!YsiloE ento .ocA de.e criar uma /ol"a em nX.el mais alto Mue oculte aMuele de!Ysito1 Isso 2 ilustrado na figura :H1:1 @1 -em/re?se de Mue a !essoa Mue eWaminar seus diagramas de fluWo de dadosE seLa ela um usurio ou um analista de sistemasE no Muer .er tudo de uma sY .e&1 lm face dissoE .ocA de.e criar agregados ou gru!os !ro.enientes do DFD !reliminar com !ostos !or cerca de K mais ou menos : fragmentos de informa oE onde um !rlc Fe os fluWos Mue l"e seLam relacionadosO ou um de!Ysito !ossa ser considerado um fragmento IssoE naturalmenteE significa Mu Oodemos !recisar de algum esfor o de su/di.iso em nX.eis ascendentes1 Por eWem!loE se comeamos JIJ 9 *E'7-TAD$ DA '7BDIQI'+$ EM 8cQEI' A'CE8DE8TE' DFD P*E-IMI8A* Figura :H19> 'u/di.iso de um DFD em nX.eis ascendentes com um DFD !reliminar Mue tin"a F!ara fins de argumentaoO CD !rocessos e organi&amos o diagrama em gru!os de K /ol"as FignorandoE !ara fa.orecer a sim!licidadeE todos os de!YsitosOE !oderXamos criar um diagrama de nX.el mais alto com 9J /ol"asE cada uma delas re!resentan do uma _a/strao] de sete /ol"as do n inferior1 Mas 9J /ol"as 2 um n3mero ele.ado !ara se mani!ular e muito grande !ara ser mostrado ao usurio de uma sY .e&V desse modoE nYs !ossi.elmente criarXamos um diagrama de nX.el ainda mais ele.adoE como na figura :H1@E com a!enas duas /ol"as1 $/ser.e Mue este eWem!lo en.ol.e n3meros inteiramente artifi ciais1 QocA no de.e orientar sua ati.idade de su/di.iso em nX.eis de forma a garantir Mue cada diagrama ten"a eWatamente sete /ol"as` 8a .erdadeE as duas !rimeiras diretri&es acima citadasE agru!ar /ol"as se gundo os dados comuns e /uscar o!ortunidades de ocultar de!Ysitos JII *E'7-TAD$ DA '7BDIQI' EM 8cQEI' A'CE8DE8TE' DFD P*E-IMI8A* Figura :H1:> A ocultao de um de!osito local no ni.el su!erior locaisE de.em ser sua !rinci!al /ase lYgica !ara a su/di.iso em nX.ei ascendentesE e no uma lei aritm2tica1 $/ser.e ainda Mue .ocA tam/2m !ode !recisar fa&er su/di.is0e em nX.eis descendentes1 Isto 2E os !rocessos idcntif%ados no DFD !reli minar !odem no ser !rocessos !rimiti.os e eWigirem su/di.is0es !ar /aiWoE em DFD de nX.eis inferiores1 Isso significa a!enas Mue os !roces sos iniciaisE cada um dos Muais 2 res!ons.el !ela !roduo da res!ost a um e.entoE !odem ser demasiadamente com!leWos !ara serem descri tos em uma es!ecificao de !rocessos de uma !gina1 Isso muitas .e &es torna?se e.idente Muando se eWamina cuidadosamente o !rocesso ou Muando se solicita ao usurio uma eW!licao do Mue a /ol"a de. fa&er1 'e o usurio "esitar !or um instanteE ins!irar !rofundamente JI< Figura :H1@> M39t su/di.is0es ascendentes de um DFD disser _BemE 2 uma longa "istYriaE mas 2 mais ou menos o seguinte 2 uma /oa indicao de Mue aMuela /ol"a !reliminar ter de ser su/di.idida` Em outros casosE a necessidade dc su/di.idir cm nX.eis no sentido descendente !ode no se tornar e.idente at2 Mue .ocA realmente tente redigir a es!ccif%ao de !rocessosV se .ocA notar Mue L escre.eu trAs FIG7*A o Fduas /ol"asi lesultado da !rimeira su /di.iso m nX.eis ascendentes F9J /ol"asO o o o o o DFD !reliminar FCD /ol"asO o o JIK !ginas so/re uma /ol"a !reliminar e ainda " maisE muito mais a se escritoE 2 outra indicao da necessidade da su/di.iso1 Eis algumas diretri&es !ara a su/di.iso em nX.eis descendentes> Em alguns casosE a a/ordagem de decom!osio funciona !ura 2 adeMuada1 Isto 2E se .ocA encontrar uma /ol"a de !roces1 so Mue eWecute uma funo com!leWaE tente identificar su/1 fun0esE cada uma das Muais !odendo ser uma /ol"a de nX.eE mais /aiWo1 'u!on"aE !or eWem!loE Mue ten"amos um !rocessc c"amado _ALustar traLetYria do mXssil]V ele !oderia ser a /ol"a res!ons.el !ela manuteno dc um e.ento tem!oral em uni sistema de direo dc mXsseis cm tem!o?real1 A funo geral de aLustar a traLetYria do mXssil !oderia ser decom!osta em .riaI su/fun0es> Calcular a .ariao da coordenada W1 ? Calcular a .ariao da coordenada #1 ? Calcular a .ariao da coordenada &1 ? Calcular o no.o fator de _arrasto] atmosf2rico1 ? Calcular a no.a .elocidade do .ento1 ? Calcular fora de im!ulso da coordenada W1 ? Calcular fora de im!ulso da coordenada #1 ? Etc1 j Em outros casosE os fluWos de dados Mue c"egam e Mue saem da /ol"a daro a mel"or indicao !ara a su/di.iso em nX.eis descendentes1 Por eWem!loE su!on"a Mue ten"amos uma /ol"a como a da figura :H1J1 ^ !ro..el Mue um DFD de nX.el inferior !ossa ser criado com a forma geral mostrada na figura :H1I1 E.identementeE !ode ser necessrio mais de uma /ol"a !ara com/inar ou agregar os elementos de dadosE mas a id2ia 2 a mesma> deti os dados sei.irein de guias1 EnMuanto .ocA esti.er en.ol.ido com a ati.idade de su/di.Xdir os nX.eis de maneira ascendente ou descendente lem/re?se da im!or tPncia do eMuilX/rio1 Isto 2 Fcomo .imos no ca!Xtulo 9JOE 2 !reciso .eri ficar se as entradas e saXdas de urna /ol"a de um determinado nX.el JID W ! corres!ondem Zs entradas e saXdas dc um diagrama do nX.el ime diatamente inferior1 Para .er um eWem!lo da ati.idade de su/di.iso ascendenteE leia o estudo de caso do 'istema dc Informa0es da 6$7*D$8 Press no a!Andice F1 8aMuele caso comeamos com um DFD !reliminar contendo JH /ol"asV tornou?se necessrio um nX.el de Vu/di.iso ascendenteE condu&indo?nos a um DFD da figura $ com no.e ol"as1 Figura :H1J> Decom!osio de uma /ol"a com!leWa em nX.eis descendentes entrada intermediria FX=O Figura :H1I> $ DFD de nX.el inferior JIC :H191: Como Com!letar o Dicionrio de Dados Tuando .ocA comeou a desen.ol.er o DFD !reliminar no ca!X tulo 9CE de.e tam/2m ter iniciado o desen.ol.imento do dicionrio d dadosV na .erdade 2 /astante comum comear?se o dicionrio de dado Muando o diagrama de conteWto est sendo desen.ol.ido1 EntretantoE dc ainda est longe de estar com!leto1 8ormalmenteE ainda ser necessric fa&er a descrio do st dc cada itcm de dadoV !or uma Muestc de clare&aE!odc tam/2m ser necessrio di.idir os itens de dados com!le Wos em su/itens1 Tuando o dicionrio de dados esti.er ficando !rontoE 2 !recisc .erificar se ele est consistente e com!leto1 Ins!ecione?o !ara .er se est internamente consistente FcW1> se uma !arte do dicionrio no contra? di& alguma outra !arteO1 CertifiMue?se tam/2m Mue o dicionrio est eMuili/rado em relao ao diagrama de fluWo de dados em nX.eisE ao dia grama de entidades?relacionamentos e Zs es!ecifica0es de !rocessos1 :H191@ Como Com!letar as Es!ec de Processos Tuando desen.ol.emos o diagrama de fluWo de dados !reliminarE utili&ando a a/ordagem da su/di.iso dc e.entos mostrada no ca!Xtulo 9CE " grandes !ossi/ilidades dc Mue no ten"amos feito MualMuer es!e cificao de !rocesso1 Poder "a.er algum caso de uma determinada es!ecificao ter sido es/oada face a um interesse !articular de sua !arte ou de !arte do usurioE mas sua !rinci!al !reocu!ao ser a!enas com a !re!arao do !rY!rio DErO1 8a .erdadeE muitas .e&es 2 uma m id2ia gastar tem!o com a escrita de es!ecifica0es de !rocessos antes Mue o DFD esteLa !rontoE !orMue o desen.ol.imento inicial do IOFlO est suLeito a muitas modifica 0esE corre0es e re.is0es1 As /ol"as !odem a!arecerE desa!arecerE ser mo.idas e re/ati&adas1 Tuando o DFD !reliminar comea a se assentar e !assa !elo teste da su/di.iso cm nX.eis ascendentes Fisto 2E essa ati.i dade no desco/re maiores fal"as no modeloOE .ocA !ode comear a redigir as es!ecifica0es de !rocessos1 Esse tra/al"o 2 muitas .e&es !rolongado e consumidor de tem!oE !orMue cada /ol"a do nX.el mais /aiWo do IOFD eWige uma es!ecificao de !rocesso1 Desse modoE !ode ser !ossX.el a um gru!o de dois ou trAs analistas de sistemas desen"ar algumas de&enas de DFDV mas ser neces srio um gru!o maior de analistas !ara com!letar todas as es!ecifica0es1 de !rocessos em tem!o satisfatYrio1 Tuando as es!ecifica0es de !rocessos esti.erem !rontasE de.em ser eMuili/radas e !assar !or uma .erificao cru&ada em relao ao J<H d de dados e ao DE*E o/ser.ando?se as diretri&es a!resentadas -o ca!Xtulo 9J1 $1: C$M$ C$MP-ETA* $ M$DE-$ DE DAD$' Como dissemos no ca!Xtulo 9:E o DE* 2 desen.ol.ido em uma nodalidade um tanto semel"ante Z Mue foi a!resentada so/re o DFD> s/oamos um DE* e de!ois o refinamos e mel"oramos1 Grande !arte lo mel"oramento 2 feita designando?se ou atri/uindo?se elementos de lados aos adeMuados ti!os de o/LetosV isso costuma ser uma /oa aLu la na identificao de no.os ti!os de o/Letos ou de ti!os de o/Letos lesnecessrios1 -em/re?seE contudoE Mue o DE* muitas .e&es 2 desen.ol.ido mais Ou menos ao mesmo tem!o Mue o DFD1 ^ muito comum encontrar tlgu2m Fou um !eMueno gru!oO da eMui!e de !roLeto tra/al"ando no OE*E enMuanto outra !essoa Fou um outro !eMueno gru!oO trata do OFD1 $u ento o DFD !ode ser desen.ol.ido !ela eMui!e de !roLetoE nMuanto o DE* 2 desen.ol.ido !or um gru!o de administrao centra i&ada de dados dentro da organi&ao de PED1 Em MualMuer Mue seLa O casoE se o DE* e o DFD forem desen.ol.idos a!roWimadamente ao mesmo tem!oE o con"ecimento adMuirido com o DFD FeWistAncia de Re!YsitosE fluWos de dados etc1O !ode muitas .e&es ser usado !ara refinar fa&er .erifica0es cru&adas do DE* $1@ C$M$ C$MP-ETA* $ DIAG*AMA DE T*A8'I(rE' DE E'TAD$ 'e o seu sistema !ossuir caracterXsticas de tem!o?realE .ocA desen ol.er um diagrama de transi0es de estado em acr2scimo ao DFD e ao R1iagrama de entidades?relacionamentos1 $ con"ecimento detal"ado do >om!ortamento do sistema !oder aLud?lo a refinar esse modelo1 Como Rissemos no ca!Xtulo 9@E .ocA de.e eWaminar o diagrama inicial de tran i0es de estado em /usca dos seguintes ti!os comuns de erros> j Todos os estados foram definidos[ j Todos os estados !odem ser atingidos[ j Pode?se sair de todos os estados[ j $ sistema res!onde adeMuadamenteE em cada estadoE a todas as condi0es !ossX.eis[ J<9 :H1J *E'7M$ AtingimosE aMuiE o final do modelo essencial1 'e .ocA acom!an"o todas as eta!as dos ca!Xtulos 9DE 9C e este ca!XtuloE de.e estar de !oss de um modelo com!letoE detal"adoE formal e rigoroso de tudo o Mue sistema de.e fa&er !ara satisfa&er os reMuisitos do usurio1 Ele cont2n todos os itens a/aiWo> j Diagrama de conteWto j -ista de e.entos j Declarao de o/Leti.os j 7m conLunto com!leto de diagramas de fluWo de dados e&r nX.eis j Diagrama de entidades?relacionamentos terminado e com!leto j 7m conLunto com!leto de diagramas de transi0es de estado j Dicionrio de dados com!leto F!ara a fase de anlise dc !roLetoO j 7m com!leto conLunto de es!ecifica0es de !rocessosE con uma es!ecificao !ara cada !rocesso do nX.el mais /aiWo1 Presumindo Mue .ocA ten"a re.isado os com!onentes da es!eci1 ficao !ara certificar?se de Mue esto com!letos e consistentes e Mue c usurio re.isou e a!ro.ou o documentoE .ocA terminou1 QocA !ode !assar um /elo lao .ermel"o em .olta do !acote e entreg?lo Z eMui!e de !roLetoG!rogramao cuLa tarefa ser construir o sistema1 Em seguidaE !ode recol"er?se ao aconc"egante conforto de seu escritYrio at2 Mue suna o !rYWimo !roLeto1 MasE es!ere` Ainda " uma 3ltima eta!a1 Tudo o Mue desen.ol .emos no modelo essencial !ressu!un"a a eWistAncia de !erfeita tecno logiaE mas tam/2m Mue o usurio no teria restri0es de im!lementac a im!or ao sistema1 Perfeita tecnologia 2 uma fantasia de nossa ima ginaoE mas !odemos deiWar Mue a eMui!e de im!lementao decida como alcanar um com!romisso ra&o.el coma tecnologia eWistente1 A id2ia de Mue o usurio .ai ignorar todas as restri0es de im!le1 mentao tam/2m 2 uma fantasiaE com a Mual teremos de lidar anteI de !assarmos a .erso final da es!ecificao !ara a eMui!e de im!le mentao1 Essa ati.idade finalE Mue de.e ser feita com a cola/orao do J<: usuriosE dos analistas e de alEguns mem/ros da eMui!e de im!lemen taoE 2 o desen.ol.imento do modelo de im!lementao do usurio1 Esse assunto ser discutido no !rYWimo ca!Xtulo1 PE*G78TA' E EXE*CcCI$' 91 Por Mue a !rimeira .erso do modelo com!ortamental no !ode ser a!resentada ao usurio[ :1 A !rimeira .erso do modelo com!ortamcntal 2 com!leta[ 'e no 2E Mue elementos l"e faltam[ @1 $ Mue significa su/di.iso em nX.eis ascendentes no conteWto des te ca!Xtulo[ J1 Tual 2 a /ase lYgica Mue o analista de sistemas de.e usar !ara agru!ar /ol"as cm um DFIO[ I1 Tuais so as trAs diretri&es Mue o analista dc sistemas de.e lem/rar ao fa&er uma su/di.iso em nX.eis ascendentes[ <1 $ Mue significa o conceito de ocultao de dados arma&enados no conteWto deste ca!Xtulo[ K1 Tuantos nX.eis de DFD dc nX.el mais ele.ado de.em ser criados a !artir de um 3nico DFD de !rimeira .erso[ EWiste alguma fYrmula matemtica Mue !ossa ser utili&ada !ara dar uma a!roWimao do n3mero necessrio de nX.eis[ D1 'o/ Mue condi0es a su/di.iso de um DFD em nX.eis descenden tes torna?se necessria[ C1 ^ !ossX.el Mue o analista de sistemas !recise eWecutar a su/di.iso de um DFD em nX.eis ascendentes e descendentes[ Por MuA[ 9H1 Por Mue o dicionrio de dados normalmente de.e estar !ronto du rante o estgio de desen.ol.imento do modelo com!ortamental[ 991 Tue ti!o de .erificao de erros de.e ser feita no dicionrio de dados durante esse !erXodo do !roLeto[ 9:1 Por Mue muitas .e&es no 2 uma /oa medida Mue o analista de sistemas des!enda tem!o redigindo es!ecifica0es de !rocessos antes Mue o DFD !reliminar esteLa com!leto[ 'o/ Mue condi0es faria sentido escre.er !elo menos algumas es!ecifica0es[ 9@1 Tuais so os oito !rinci!ais com!onentes do modelo terminado dos reMuisitos do usurio[ 8$TA' 9 Esse n3mero a!arentemente ar/ilrrio Fsete mais ou menos doisO 2 uma diretri& !ara controlar a com!leWidade em di.ersas situa0es de resoluo de !ro/lemas1 Ela se fundamenta na o/ra de George J<@ MilierE Mue foi o !rimeiro a !erce/er a dificuldade das !essoas err lidar com m3lti!los fragmentos de informaoE em um clssico ar tigo intitulado _T"e Magical 8um/er 'e.enE Plus or Minus l=4o 'ome -imits on $ur Ca!acit# for Processing Information]E !u/lica do em Ps#c"olo *e.Xe4E Qolume <@ F9CI<OE !gs1 D9?CK1 : $ ideal 2 Mue os modelos IOE* e 9O9>9O seLam desen.ol.idos !elc mesmo gru!oE tra/al"ando cm conLunto1 Isso e.ita !ro/lemas d comunicaoE e tende a garantir Mue seLa dada a mesma Anfase a am/os os modelos1 Infeli&menteE isso raramente acontece no mun do real1 J<J :9 $ M$DE-$ DE IMP-EME8TA()$ D$ 7'7A*I$ De.e ser o/ser.ada uma sim!licidade es!artana1 8ada !oder ser feito a!enas !orMue contri/ui !ara a /ele&aE con.eniAnciaE conforto ou !restXgio1 $ffice of l"e C"ief'i1gnal $ffXcerE 71 '1 Ar[n#E :C de Maio de 9CJI 8este ca!XtuloE a!renderemos> 91 Como escol"er as fronteiras da automati&ao !ara um sistema1 :1 Como selecionar os dis!ositi.os de entrada e os dis !ositi.os de saXda !ara o usurio1 @1 Como desen.ol.er os formatos dc entrada e os for matos de saXda1 J1 Como !roLetar formulrios !ara o sistema1 I1 Como desen.ol.er esMuemas de codificao !ara entradas de sistemas1 <1 Como identificar ati.idades manuais de su!orte1 K1 Como descre.er as restri0es o!eracionais do sistema1 Ao finali&armos o 3ltimo ca!Xtulo terminamos o desen.ol.imento do modelo essencial de um sistema dc informa0es1 Esse modelo con t2m uma descrio com!leta do Mue o sistema de.e fa&er !ara satisfa&er o usurio1 Es!ecificamente o modelo essencial descre.e> J<I 9 j A ao essencial ou lYgica das fun0es Mue de.em s eWecutadas1 j $ conte3do essencial dos dados arma&enados !elo sistema Mue se mo.imentam atra.2s dele1 j $ com!ortamento essencial tem!o?de!endente Mue o sistern de.e eWi/ir !ara lidar com os sinais e as interru!0es do arr /iente eWterno1 8o mel"or de todos os mundos Fdo !onto dc .ista do analista d sistemas e da eMui!e de im!lementaoOE isso re!resenta informa0c suficientes !ara os !roLetistas e !rogramadores> nYs sim!lesmente l"c daremos o modelo essencial e os deiWaremos escol"er o mel"or "arc 4areE o mel"or sistema o!cracionalE o mel"or sistema de gcrcnciament de /anco de dados e a mel"or linguagem de !rogramaoE dentro da restri0es gerais de tem!oE din"eiro e recursos "umanos !ara o !roLetc EntretantoE isso no 2 to sim!les> em .irtualmente todos os !roLeto de desen.ol.imento dc sistemasE o usurio insistir em Mue se incluar informa0es adicionais1 Essas informa0es adicionais en.ol.em !ro/lemas de im!9emei lao ? mas !ro/lemas de im!lementao Mue seLam suficientementi im!ortantes e Mue ten"am im!acto suficiente na ca!acidade do usuri em utili&ar o sistema !ara Mue !recisem ser es!ecificados agora1 $ !ro /iema mais e.idente de im!lementao de interesse do usurio 2 a fron teira da automati&aoE isto 2E Mue !artes do modelo essencial ser im!lementadas em com!utadorE e Mue !artes sero eWecutadas manual mente na organi&ao do usurio[ $ analista de sistemas !ode ter um o!inio so/re issoE e o gru!o !roLetistaG!rogramador !ode tam/2m Mue rer eW!rimir sua o!inioE mas esteE naturalmenteE 2 um !ro/lema so/re Mual o usurio tem a 3ltima !ala.ra1 De modo anlogoE ofonnaio das entradas do sistema Ftam/2m co n"ecido como interface "umanaO 2 de grande interesse !ara o usurio? muitas .e&esE ele !arece ser dc interesse maior do Mue as fun0es dc sistema` Desde Mue os sistemas dc !rocessamento comearam a gerai relatYrios im!ressosE os usurios tAm manifestado fortes o!ini0es so/re organi&ao e o la#out das informa0es do relatYrio1 $nde de.em ficai os n3meros das !ginas[ $nde de.em ser colocados os tXtulos das ! ginas[ Como de.e ser arrumada cada lin"a de informao !ara mWima legi/ilidade[ De.e "a.er um resumo ou um su/total ao final de cada !gina ou somente ao final do relatYrio[ E assim !or diante1 Com o ad.ento dos sistemas on?line nos anos KHE esse !ro/lema eW!andiu?se incluindo o interesse do usurio na formatao das telas dc entrada do terminal de .Xdeo1 $nde de.em ser a!resentadas na tela as J<< mensagens de entrada[ Tue es!2cies de mensagens de erros de.em ser eWi/idas[ Como o usurio de.er mo.er?se de uma tela !ara outra[ Mais recentemente di.ersas outras o!0es e !ossi/ilidades .ieram aumentar a im!ortPncia desses !ro/lemas de im!lementao do usurio> $s usurios finais muitas .e&es tAm a o!ortunidade de usar com!utadores !essoais FPCO como !arte de uma rede distri/uX da de com!utadores F!1eW1E so?l"es dados PCs interligados ao com!utador de grande !orte da organi&aoO1 Isso le.anta uma s2rie de Muest0es> Mue !artes do mode essencial sero desig nadas !ara o PC Fso/ controle do usurioO e Muais ao main frame[ Tue !artes dos dados sero designadas !ara o PC e Mue !artes ao mainframe[ Tual ser o formato da entrada Mue o usurio fornecer ao PC[ Tuais as ati.idades adicionais de a!oio Mue de.em ser oferecidas !ara assegurar Mue o usurio no danifiMue inad.ertidamente os dados do PC ou do mainframe[ $s usurios finais atualmente esto tendo cada .e& mais o!or tunidades !ara escre.er seus !rY!rios !rogramas em linguagens de Muarta gerao como F$C7'E 8$MAD e IDEA- em com!uta dores de grande !orteE ou dBA'E?III e */ase?IHHH nos PCs1 o !ro!oro Mue se en.ol.em com tais !ro/lemas de im!lemen taoE eles !recisam es!ecificar os formatos das entradas e saXdas do sistema1 E maisE eles !odem Muerer decidir Mue !artes do sistema sero im!lementadas usando linguagens de Muarta gerao e Mue !artes sero im!lementadas com linguagens con .encionais de terceira gerao Em muitas situa0es "oLe em diaE o usurio e o analista de sis temas !odem decidir !rototi!ar !artes do sistemaE usando ou uma linguagem de Muarta gerao de alto nX.el ou um !acote gerador de a!lica0es1 A !rototi!ao !ode ser feita !orMue o usurio est inseguro da ao detal"ada Mue e.entualmente ter de ser escrita nas es!ecifica0es de !rocessos do modelo essen cialV !or2mE a ati.idade de !rototi!ao estE na maioria das .e&esE interessada na eW!lorao e eW!erimentao com forma tos de entradaE dilogos on?line e formatos de saXda !ara telas e relatYrios1 j Para muitas a!lica0es da em!resaE uma o!o dis!onX.el ao usurio 2 a escol"a e aMuisio de um !acote de soft4areE isto 2E um !roduto de soft4are Mue !ode ser utili&ado so/ licena ou adMuirido de um fornecedor1 8esse casoE os mesmos !ro/lemas de im!lementao so im!ortantes !ara o usurio> Mue !artes J<K das fun0es essenciais sero im!lementadas !elo !acote adMui rido e Mue !artes tero dc ser eWecutadas !elo usurio Fou im !lementadas !elo setor dc 'IG do usurio como um sistema se !aradoO[ Tue !artes dos dados essenciais sero mantidos !e% !acote e Mue !artes tero dc ser mantidas !elo usurio[ sero a forma e a seMaAncia das entradas eWigidas !elo sistem adMuirido e sero elas aceit.eis E= !ro/lemas de.em ser tratados como !arte do modelo de Im !lementa do usurio1 Eles !odem ser originados !elo aumentoE !e% incluso de o/ser.a0es e !ela re.iso do modelo essencialE como .e remos nas se0es su/seMaentes deste ca!ftulo1 *ecomendoE entretanto Mue .ocA manten"a sem!re intacta uma cY!ia do modelo essencial origi na`V isto !ermitir Mue .ocA eW!erimente modelos alternati.os de im!le mentao do usurio no futuro1 Em termos geraisE o modelo dc im!lementao do usurio a/rang os Muatro as!ectos seguintes> 1 A alocao do modelo essencial a !essoas .ersus mMuinas1 :1 Detal"es da interao "omemGmMuina1 @1 'u!lementares ati.idades manuais Mue !odem .ir a se necessrias1 J1 *estri0es o!eracionais Mue o usurio deseLa im!or ao sistema1 Todos esses as!ectos sero discutidos cm maiores detal"es seguir1 :919 A DETE*MI8A()$ D$' -IMITE' DA A7T$MATIgA()$ -em/re?se de Mue o modelo de sistema em Mue estamos tra/a l"ando neste momento identifica todas as ati.idades Ffun0esO essenciai e todos os dados essenciais1 A !ergunta a esta altura > Mue fun0es Mue dados sero mani!ulados manualmenteE e Muais sero automati&a dos[ Em/ora !ossa ter "a.ido uma eW!erimental escol"a !reliminai dos limites da automati&ao durante o estudo de .ia/ilidade no de1 .emos consider?los como fiWados1 8a realidadeE o limite da auta mati&ao 2 Muase irrele.ante no modelo essencialE !ois em/ora c usurio o/.iamente deseLe Mue desen.ol.amos um sistema auto mati&adoE ele tam/2m necessita de uma /em ela/orada declarao dc J<D reMuisitos das fun0es e dos dados Mue ficaro fora das front-iras da automati&ao1 EWistem trAs casos eWtremos Mue mencionaremos sucintamente> $ usurio !ode no se im!ortar com onde esteLa a fronteira da automati&ao1 ^ im!ro..el Mue isso aconteaE mas 2 uma !ossi/ilidade teYrica1 8a !rticaE o usurio solicita Z eMui!e de im!lementaoE _Diga?me Mue !artes do sistema de.em ser manuais ou automati&adas]1 Al2m do fato de Mue o usurio normalmente tem grande sensi/ilidade so/re esse !ro/lemaE es !era?se Mue o analista de sistemas !rodu&a Fcomo !roduto se cundrio do seu tra/al"oO uma anlise re.isada de custoG/e nefXcio de todo o !roLeto1 Isso costuma eWigir !elo menos al guma deciso !reliminar de Mue !artes do modelo essencial sero automati&adas e Muais sero manuais1 $ usurio !ode o!tar !or um sistema inteiramente automati &ado1 Essa 2 uma situao muito comumE !rinci!almente se o sistema esti.er sendo desen.ol.ido !ara su/stituir um outro sis tema L eWistente e suas fronteiras no sero alteradas1 Desse modoE as ati.idades manuais eWecutadas !elo usurio !odem L estar fora dos limites do sistema ? re!resentadas no diagrama de conteWto como terminadores com os Muais o sistema se comunica1 j $ usurio !ode o!tar !or um sistema inteiramente manual1 F1ssa 2 uma o!o /astante incomumE es!ecialmente nesta era da automati&aoE !ois o analista dc sistemas "a/itualmente tem interesse em com!utadori&ar o Muanto for !ossX.el1 EntretantoE isso !ode ocorrer em ocasi0es cm Mue a inteno eW!ressa do usurio no seLa com!utadori&ar coisa algumaE mas sim!les mente reorgani&ar a maneira com as ati.idades esteLam !resen temente sendo eWecutadas em uma organi&ao1 8ormalmenteE esses casos eWtremos no ocorremV com /ase nas intera0es entre o usurioE o analista de sistemas e a eMui!e de im!le mentaoE algum acordo ser aLustado1 Isto 2E alEguinas das ati.idades do modelo essencial sero automati&adasE e outras sero identificadas como fun0es manuaisV de forma anlogaE alguns dos dados essenciais sero identificados como candidatos certos !ara com!utadori&ao FsendoE !resumi.elmenteE colocados so/ o controle de uma organi&ao de 'IGO e alguns sero deiWados so/ o controle direto do usurio1 A menos Mue o usurio faa uma escol"a imediatista e ar/itrria !or ordemE ser aconse l".el Mue as trA1s !artes Fo usurioE o analista dc sistemas e a eMui!e de J<C im!lementaoO eWaminem di.ersas o!0es1 Como as figuras :919FaOE F/ e FcO demonstramE !ode "a.er di.ersas alternati.as ra&o.eis !ara detei minar o limite da automati&ao1 Cada alternati.a ter custos diferente Fem cuLa estimati.a a eMui!e de im!lementao de.e auWiliarE uma .e PA*TE MA87A- Figura :919 FaO> 7ma o!o !ara afronteira da automati&ao Figura :919 F/O> $utra o!o !ara os limites da automati&ao JKH PA*TE A7T$MATIgADA Figura :919 FcO> 7ma terceira o!o !ara os limites da automati&ao Mue eles tAm o con"ecimento das !ossi/ilidades da tecnologia de im!le mentaoO e ramifica0es organi&acionais diferentes na rea do usurio1 A tarefa de determinar os limites da automati&ao no 2 da ala da do analista de sistemas e nem da eMui!e de im!lementaoV ela 2E em 3ltima anliseE da res!onsa/ilidade do usurioE e este li.ro no a!resentar MualMuer diretri& !ara determinar Mual seria a mel"or escol"a1 MasE o/ser.e como o modelo essencial ser.e como uma 3til ferramenta !ara o usurio e !ara a eMui!e de im!lementao eWami narem as di.ersas o!0es1 7ma .e& Mue a fronteira da automati&ao ten"a sido escol"idaE o analista de sistemas !ode !ensar Mue ele tem o !ri.il2gio de eliminar os !rocessos manuais e dados manuais Fisto 2E as /ol"as e de!Ysitos Mue no sero automati&adosO sem maiores con sidera0es1 Por2mE geralmente no 2 assim1 8o caso mais sim!lesE as ati .idades e dados manuais !odem ter de .oltar !ara os terminadores Mue en.ol.em o sistemaE como ilustrado nas figuras :91:FaO e F/O1 MasE em geralE o analista de sistemas de.e recon"ecer Mue mesmo as ati.idades manuais fa&em !arte do no.o sistema1 PortantoE o analista !ode ter de escre.er !rocedimen !ara Mue os mem/ros da comunida de usuria sai/am como eWecutar as fun0es reMueridas1 E o analista !ode ter de fornecer alguma orientao na organi&ao de de!Ysitos Mue no sero automati&ados $/ser.e Mue esse as!ecto do modelo de im!lementao do usurio !recisa a!enas Mue seLam feitas o/ser.a0es no DFD e no P*D !ara indicar Muais ati.idades e dados so manuais e Muais so automati&ados1 JK9 PA*TE 7T$MATIgADA Figura :91: FaO> 7m modelo essencial com os limites da automati&ao Figura :91:F/O> As ati.idades manuais foram colocadas dentro dos terininadores JK: $/ser.e Mue Muando se determinam as fronteiras da automati&a o !ode ser im!ortante considerar alguns !ro/lemas am/ientaisV .olu me do somE radiaoE iluminaoE as!ectos ergonNmicos do terminal de .XdeoE es!ao de tra/al"o e assim !or diante1 Tuase sem!re o no.o sistema desorgani&a o am/iente normal dc tra/al"o do usurio F!1eW1E ele far com Mue um terminal dc .Xdeo seLa colocado na mesa do usu rioE onde nunca tin"a eWistido um antesO $u !ode introdu&ir ati.idades de !rocessamento de informa0es em um am/iente onde nunca tin"am sido eWecutadas essas ati.idades antes FeW1E um !iso dc f/rica em um am/iente de manufaturaO1 AssimE 2 im!ortante garantir Mue esses fatores "umanos ten"am sido cuidadosamente estudados antes da determina o final das fronteiras da automati&ao1 $ usurio muitas .e&es tem im!ortantes o!ini0es a eW!ressar so/re esses as!ectosE !or2m se ele no ti.er eW!eriAncia anterior em sistemas dc informa0esE !ode no ser ca!a& de adiantar Muais sero os !ro/lemas1 QocA !ode se aconsel"ar com $utros !rofissionais dc sistemas Mue desen.ol.eram e instalaram sistemas semel"antes em iguais condi0es am/ientais1 Para finali&arE o/ser.e Mue uma .e& Mue ten"a sido decidida a fronteira da automati&aoE !ode ser necessrio aumentar o modelo es sencial !ara mostrar como dar !artida no sistema e como termin?loV o modelo essencial mostra somente o com!ortamento _stead#?state] do sistemaE e !ressu!0e Mue o sistema este.e sem!re funcionando e assim continuar !ara sem!re1 Desse modoE !odemos !recisar incluir !rocessos F/ol"as no DFDOE fluWos de dados e de!Ysitos adicionais !ara mostrar as ati.idades iniciali&adoras e tcrminadoras do sistemaV isso !ode incluir relatYrios !ara a direo Fou !ara os usurios ou !ara o de !artamento de o!era0esO so/re as caracterXsticas o!eracionais do sistema1 :91: A DETE*MI8A()$ DA I8TE*FACE ,7MA8A A ati.idade mais consumidora dc tcm!o e na Mual o usurio estar mais interessadoE 2 !ro.a.elmente a es!ecificao da interface "umana1 Isso en.ol.e Muatro !ro/lemas relacionados> 91 A escol"a de dis!ositi.os dc entrada e saXda F!1eW1E terminais de .XdeoE dis!ositi.os de %=itura YticaE cart0es !erfurados etc1 !ara entrada e relatYrios im!ressosE imagens na tela do monitorE ou lu&es !iscantes como saXdaO1 :1 $ formato de todas as entradas Mue fluem dos terminadores !ara o sistema1 JK@ @1 $ formato de todas as saXdas Mue fluem de .olta do sistema !ara os terminadores1 J1 A seMaAncia e o _timing] de entradas e saXdas em um sistema on?line1 :91:19 Dis!ositi.os de Entrada e 'aXda A escol"a dos dis!ositi.os de entrada e saXda !ode ser im!osta !elos terminadores eWternos ao sistemaV !or eWem!loE se o sistema !ro du&ir relatYrios de saXda a serem en.iados ao go.ernoE !ode no "a.er outra escol"a seno !rodu&ir relatYrios im!ressos1 $s dis!ositi.os Mue costumam ser usados !ara entrada de dados incluem> Cart0es !erfurados1 $s cart0es !erfurados foram a forma mais comum de entrada de dadosE !or2m so raramente utili&ados atualmenteE eWceto em alguns sistemas /atc" de !rocessamento muito grandes1 7ma .antagem dos cart0es !erfurados 2 Mue eles !odem ser usados como documentos fonte !elo usurio eWterno F!1eW1E considere os c"eMues !rodu&idos !or alguns sistemas do go.ernoV eles so documentos negoci.eisE mas tam/2m so usados como entrada direta !ara um sistema de !rocessamentoO1 As maiores des.antagens dos cart0es !erfurados so o taman"o .olumosoE ca!acidade limitada de arma&enamento de dadosE o fato de sY !oderem ser utili&ados uma .e& e a susceti/ilidade a erros do o!erador1 j Fita magn2tica1 A fita magn2tica !ode ser uma forma a!ro !riada de entradas !ro.indas de outros sistemasV ela tam/2m !ode ser um meio adeMuado de entrada se o usurio dis!user de um dis!ositi.o de entrada de dados teclado?fita1 A !rinci!al .antagem desse recurso 2E naturalmenteE Mue o .olume de da dos de entrada Mue !ode ser arma&enado em uma fita 2 muito maior Mue em um cartoV a des.antagem 2 Mue os dados no !odem ser mani!ulados com facilidadeE uma .e& Mue eles esto gra.ados na fita1 $ carto !erfuradoE !or outro ladoE 2 mais !ri miti.oE mas oferece ao usurio a !ossi/ilidade de rearrumar os cart0es ou anular alguns deles FLogando?os foraO antes de su/ metA?los ao sistema1 j Discos fleWX.eis1 Com o a!arecimento dos com!utadores !es soais no inXcio dos anos DHE os discos fleWX.eis tornaram?se uma forma !o!ular de meio de entrada1 $s dados normalmente so JKJ gra.ados nos discos fleWX.eis !ela interao off?line com um com!utador !essoal F!or off?line Mueremos di&er Mue a ati .idade no tem coneWo com o sistema de informa0es em de sen.ol.imentoO1 7m disco fleWX.el comum !ode arma&enar entre @<H1HHH e 91: mil"0es de caracteresV isso no 2 tanto Muanto uma fita magn2ticaE mas 2 satisfatYrio !ara muitas a!li ca0es de taman"o m2dio1 Terminais e com!utadores !essoais1 $s terminais de .XdeoE tor naram?se um dos mais comuns meios de entrada durante os 3ltimos de& anos Z medida Mue o !reo caiu de q@HHH Fou maisO !ara q@HH Fou menosO1 ^ im!ortante distinguir entre os terminais comuns Fno inteligentesO Mue no oferecem nada al2m de um teclado e uma telaE os terminais inteligentes Mue oferecem di.er sos recursos de edio local e ca!acidade de arma&enamento local e os com!utadores !essoaisE Mue tAm ca!acidade de ar ma&enamento muito maior e todos os !oderes com!utacionais de um com!utador de em!rego geral1 Terminais inteligentes e PCs !ossi/ilitam Mue o usurio faa altera0es e corriLa erros tri.iais imediatamenteE em .e& de es!erar !ela demora do en.io das entradas atra.2s de lin"as de telecomunica0es ao com!uta dor !rinci!alV a ca!acidade de arma&enamento local torna !ossX.el ao usurio introdu&ir um grande .olume de entradasE ainda Mue o sistema !rinci!al de !rocessamento no esteLa o!eracional durante todo o tem!o1 -eitoras Yticas e leitoras de cYdigos de /arra1 -eitoras Yticas e leitoras de cYdigos de /arra !odem ler informa0es im!ressas ou codificadas em .rios ti!os de documentosV isso 2 es!ecial mente .antaLoso !ara a!lica0es como a co/rana em uma loLaE onde o usurio !recisa introdu&ir o cYdigo e outros dados rele .antes so/re um !roduto1 Como esses dis!ositi.os !odem ler diretamente os dadosE elimina?se a necessidade de o usurio digitar manualmente os dados em um terminal1 Algumas leitoras Yticas !odem ler documentos datilografados da forma normal e algumas !odem ler documentos manuscritos1 A maior des.an tagem desse ti!o de meio de entrada 2 o seu custoV outra des .antagem 2 sua tendAncia a erros1 j Telefone1 Para algumas a!lica0esE o telefone Touc"?Tone !ode ser um meio de entrada a!ro!riada <j Isso 2 !articularmente .an taLoso !ara os sistemas Mue de.em lidar com o !3/lico em geral> !oucas !essoas tAm um terminal ou um PC em suas casasE mas a!roWimadamente CDf da !o!ulao dos Estados 7nidos tAm JKI G !elo menos um telefone cm suas casas1 7ma .e& Mue o telefone somente fornece entradas num2ricasE as a!lica0es so um tantc limitadasV ele 2 !rtico !ara situa0es onde o usurio necessita fornecer informa0es como um n3mero de contaE mas no !rtico !ara situa0es Mue reMuerem entrada de teWto1 Entrada de .o&1 Para finali&arE alguns sistemas !odem usar a .o& "umana como meio de entrada1 A tecnologia de entrada de .o& no final dos anos DH 2 ca!a& de recon"ecer um .oca/ulrio com algumas centenas de !ala.ras !ara um usurio indi.idualV esse recurso !recisa ser reensinado !ara cada no.o usurio1 As .antagens desse meio dc entrada so Y/.iasV as des.antagensE no momento atualE so F9O o custo do dis!ositi.oE F:O seu .oca /ulrio limitadoE F@O o longo tem!o dc res!osta e FJO !ro/lemas reais se a .o& do usurio se alterar significati.amente !or causa de um resfriado ou !or outros moti.os1 Assim como o usurio tem a o!o de escol"er entre di.ersos meios diferentes de entrada !ara seu sistemaE eWistem .rios meios !ossX.eis de saXda1 $s meios mais comuns usados !ara saXda so os seguintes> 'aXda im!ressa1 A forma mais comum de saXda em sistemas de !rocessamentoE "oLeE 2E de longeE a saXda im!ressa1 Ela !ode ser !rodu&ida em .rios dis!ositi.os> im!ressoras de matri& de !onto Fmuitas .e&es ligadas ao terminal utili&ado !ara entradaOE im!ressoras de lin"a de alta .elocidadeE im!ressoras laser de alta .elocidadeE im!ressoras !essoais a laserE im!ressoras !es soais de margarida e outras1 A !rinci!al .antagem da saXda im !ressa 2 Mue ela 2 um documento !ermanenteE Mue !ode ser usado em di.ersas a!lica0es eWternas ao sistema1 As des.an tagens dos relatYrios im!ressos so o seu .olumeE a !ro/a/ili dade de Mue sero im!ressas mais informa0es Fou mais cY !ias de informa0esO do Mue 2 realmente necessrioE e a rela ti.amente /aiWa .elocidade com Mue as informa0es so !rodu&idas1 j cart0es !erfurados1 Assim como os cart0es !erfurados !odem ser.ir como meio de entradaE tam/2m !odem ser.ir como meio de saXda1 Como L foi mencionadoE $' cart0es !erfurados !odem ser usados como documentos legaisV como MarLorie -eeson afirma I-eesonE 9CD99E os cart0es !erfurados !odem ser.ir como um _documento de turnaround] Fisto 2E um documento Mue 2 JK< en.iado !ara fora do sistema a um terminador eWterno e de!ois torna?se entrada !ara o sistema a !artir do mesmo terminadorO1 MasE de um modo geralE os cart0es !erfi1irados so .olumosos e no !odem a/rigar muita informaoV eE !or issoE no so usa dos na maioria dos sistemas de informa0es atuais1 Terminal1 $s sistemas on?line Mue usam terminais como meio de entrada costumam utili&?los tam/2m como meio de saida1 A .antagem do terminal 2 Mue ele !ode eWi/ir uma Muantidade su/stancial de informa0es em alta .elocidadeV com terminais modernosE !odemos eWi/ir com/ina0es !rticas de teWto e grficos1 A !rinci!al des.antagem do terminal 2 Mue ele no re!resenta uma saida im!ressaV a saXda 2 transiente e 2 !erdida ao ser eWi/ida a tela seguinte1 j 'aXda de &W& Para algumas a!lica0esE a .o& 2 um meio ade Muado de saXda1 Isso 2 .erdadeiro em a!lica0es onde o telefone 2 usado como um meio de entrada F.eLa acimaOV o mesmo tele fone !ode ser usado !ara condu&ir a saXda de .o& !ara o usu rio1 Alguns terminais tam/2m so eMui!ados com dis!ositi.os de saXda de .o&E ainda Mue isso seLa um tanto raro1 A !rinci!al .antagem da saXda de .o& 2 Mue ela !ode ser usada !ara con du&ir /re.es mensagens de saXda em um am/iente FeW1> um dis !ositi.o de manufaturaO onde o usurio !ossa no ter o!ortuni dade de ler saXdas im!ressas1 j Plotador1 7m !lotador 2 normalmente usado !ara !rodu&ir dia gramas e desen"os grandes e intricados F!1eW1E desen"os arMui tetNnicos e im!ressos em a&ulO1 Desen"os Mue se acomodam em uma !gina de !a!el de taman"o normalE !odem ser "a/itual mente !rodu&idosE "oLeE !or im!ressoras laser ou im!ressoras de matri& de !ontoE mas os !lotadoresE muitas .e&esE !rodu&em saXdas medindo dois ou trAs !2s de largura !or .rios !2s de com!rimento1 A des.antagem desse meio de saXda 2 o seu custoE seu .olume fXsico e o tem!o necessrio !ara !rodu&ir a saXda1 j Fita ou disco magn2ticos1 ^ e.idente Mue se a fita magn2tica e o disco magn2tico !odem ser usados !ara entradaE tam/2m !o dem ser usados !ara saXda1 Isso normalmente sY 2 !rtico nos casos em Mue a saXda ser en.iada !ara outros sistemas de !rocessamento Fisto 2E onde o terminador do sistema no 2 uma !essoaE mas um com!utadorO1 JKK j C$M1 C$M 2 um acrNnimo !ara o Com!uler $ut!ut Microform1 A saXda C$M 2 normalmente reser.ada !ara saXda !ara arMui.os F!1eW1E grande .olume de material de referAncia Mue seria muito caro e eWcessi.amente .olumoso !ara ser !rodu&ido como re latYrios im!ressos normaisO1 EWem!los de C$M so rolos de mi crofilmes FusadosE !or eWem!loE !or /ancos !ara conser.ar cY !ias de c"eMues canceladosO ou microfic"as1 :91:1: Formatos de EniradasG'aXdas De!ois Mue os dis!ositi.os dc entradaGsaXda foram cscoinidosE a eta!a seguinte 2 determinar os formaGos das entradas e saXdas do siste ma1 Em alguns casosE os formatos dessas entradas e saXdas !odem no ser assunto de negociaoE mas sim!lesmente o caso dc o usurio infor mar ao analista de sistemas _como de.em ser as coisas]1 Isso 2 es!ecial mente .erdadeiro Muando o no.o sistema de.e comunicar?se com outros sistemas de !rocessamento ou com !essoas F$u gru!os de !essoasO eW ternas Z organi&ao Mue ela/ora o no.o sistema1 $rgani&a0es eWternas ou outros sistemas de !rocessamento !odem fornecer dados !ara o no.o sistema em um formato fisico !rescrito Mue no !ode ser alterado1 E eles !odem eWigir saXdas do sistema cm um formato igualmente !res crito rigidamente1 'e o dilogo "omem?mMuina no ti.er sido inteiramente aLustadoE o Mue eWiste !ara ser negociado[ 8o a re!resentao interna dos dados no sistema de !rocessamentoV o usurio no se interessa e nem seMuer de.e ter consciAncia dessa informao1 E no as!ectos como .alores e inter.alos .lidos dos elementos de dados dc entradaE !orMue eles de .em ter sido es!ecificados como !arte do modelo essencial1 8o entantoE esse 2 um lugar !ara negociar ra&o.eis restri0es de im!lementao de .rios as!ectos dos elementos de dados1 'eguem?se alguns eWem!los> j $ modelo essencial !ode "a.er identificado o elemento de dados x-TIM$?8$ME?D$? C-IE8TE1 'endo um assunto de in teresse essencialE !ode no "a.er limite !ara o com!rimento Fn3mero de caracteresO desse elemento de dados1 AfinalE o Mue est errado com um 3ltimo nome Mue !or acaso ten"a @IK ca racteres de com!rimento[ Em/ora isso no acontea com freMaAnciaE alguns mem/ros da aristocracia euro!2ia !odem Muerer demonstrar suas lin"agens !ela incluso dos nomes de todos os seus ancestrais no 3ltimo nome1 Isso 2 interessante e !ode ser de alguma significPncia "istYricaE !or2m o usurio e o analista de sistemas !odemE contudoE concordar em restringir x-TIM$?8$ME?D$? C-IE8TE !ara :I caracteres1 $/ser.eE a JKD !ro!YsitoE Mue isso .ai eWigir uma alterao naFsO a!ro!riadaFsO es!ecificaoF0esO de !rocesso Mue lidaFmO com a entrada do IX-99M$?8$ME !ara garantir Mue seLa .lidaE de acordo com essa restrio dc im!lementao1 Em um sistema de controle dc !edidosE um PEDID$?DE? C-IE8TE !ode ser definido da seguinte maneira> PEDID$?DE? C-IE8TE ? 8$ME t E8DE*E($ t FITEM? PEDID$O1 8o mo delo essencial !ode no "a.er moti.o !ara limitar o n3mero de itens diferentes Mue um cliente !ode com!rar em um !edido1 Da !ers!ecti.a de im!lementao do usurioE entretantoE !ode "a.er di.ersas ra&0es> F9O como ati.idade de su!orte manual Fdiscutida mais detal"adamente na seo :91@E o usurio !ode deseLar Mue o funcionrio do setor dc .endas !reenc"a o !edido em um formulrio !r?im!resso Mue sY ten"a es!ao !araE diga mosE oito itensV F:O o usurio !ode estar !reocu!ado em Mue o funcionrio do setor dc .endas !oder cometer um engano se tentar lidar com mais do Mue um n3mero limitado de itens em cada !edidoV F@O o usurio !ode ficar !reocu!ado em Mue o dis!Andio eWcessi.o de tem!o no atendimento a um sY cliente com seus ICK diferentes itensE !ossa a/orrecer outros clientes Mue es!eram !ara ser atendidos1 EE assim !or diante1 Por esta ra&oE !ode "a.er alguns /ons moti.os !ara im!or?se uma restrio de im!lementao definida !elo usurio so/re os ele mentos de dados1 $/ser.e Mue os !ro/lemas da im!lementao do usurioE desse ti!oE en.ol.em o/ser.a0es su!lernentares no dicionrio de dados e lY gica adicional Fse isso for a!ro!riadoO nas es!ecifica0es de !rocesso Mue tratam da .alidao dos elementos dc dados de entrada1 Mas eWiste um outro as!ecto do dilogo "omem?mMuina Mue eWige algo mais do Mue o/ser.a0es no dicionrio de dados> a seMaAncia de entradas e saXdasE !rinci!almente em um sistema on?lineE !ode ser con.eniente? mente modelada com a utili&ao do diagrama dc transi0es de estado1 A figura :91@ mostra um eWem!lo tX!ico de um diagrama de transi0es de estado usado !ara modelar a seMaAncia das telas dc .Xdeo Mue o usurio final utili&a !ara se comunicar com o sistema1 Isso 2 3til es!ecialmente !ara lidar com !erguntas como> _Posso retornar Z tela do menu !rinci!al a !artir da tela 9:[] e _Tuais so os meios !ara atingir a tela de entrada dc !edidos][ $utros im!ortantes !ro/lemas de entradaGsaXda incluem a organi&ao fXsica de elementos de dados de entrada em uma tela de .XdcoE a nature&a das mensagens de erro Muando se comete um erro de entradaV e a organi&ao fXsica de elementos de dados de saXda nas telas e em relatYrios1 Com o imenso JKC Cancela !edido Introdu&ir Cancelar det detal"es de !edidos de !edidos SSSSSSSSSS Figura : 91@> 7m diagrama de transi0es de estado !ara a modelagem de telas de .Xdeo conLunto atual das linguagens de Muarta geraoE ferramentas de !rototi !ao e PCsE eu recomendo Mue .ocA dA ao usurio a o!ortunidade de di.ertir?se com di.ersas .aria0es de telas de entradaE imagens de saXda e coisas desse ti!o 7ma .e& o/tido o consentimento do usurioE .ocA de.e .incular uma cY!ia das imagens de telaE formatos de relatYrio e adeMuados diagramas de transi0es de estado ao modelo essencialE com a!ro!riadas referAncias cru&adas aos elementos de dados essenciais do dicionrio de dados1 ^ claro Mue em muitos casos o usurio no ter grandes sugest0es !ara fa&er !orMue no tem eW!eriAncia anterior em tra/al"ar com um sistema de !rocessamentoV isso 2 um tanto anlogo a algu2m Mue ten"a morado em um a!artamento durante toda a sua .ida e agora deseLa es !ecificar os detal"es da sua !rimeira casa so/ encomenda em estilo de ranc"o1 8o caso dos sistemas de informa0es com!utadori&adasE as se guintes diretri&es o aLudaro a desen.ol.er uma interface "umana amis tosa ao usurio na maioria dos casos1 91 'eu sistema Ude.e reMuisitar entradas e !rodu&ir saXdas em uma forma c[fr Isso 2 !articularmente .erdadeiro nos sistemas on?line em Mue o usurio !ode introdu&ir uma entre di.ersas transa0es diferentes eGou rece/er uma de di.ersas imagens diferentes1 'u!on"aE !ara eWem!lificarE Mue o seu sis tema solicite a data ao usurio sem!re Mue uma transao for introdu&idaV seria desastroso se um ti!o de transao eWigir a ? data na forma 9:G:@GDKE enMuanto outra transao eWige a data na forma DKG9:G:@1 E tam/2m seria desastroso se uma !arte do JDH sistema eWigisse Mue o usurio es!ecificasse o estado como um cYdigo de dois caracteres F!1eW1E *R !ara *io de RaneiroOE en Muanto outra !arte do sistema eWigisse Mue o nome do estado fosse escrito !or eWtenso1 De forma anlogaE se uma !arte do sistema eWigir Mue o usurio fornea um cYdigo de rea Muando introdu&ir um n3mero dc telefoneE todas as !artes do sistema de.em eWigir um cYdigo de rea Muando for intro du&ido um n3mero de telefone1 :1 Pea Informa0es em uma seMaAncia lYgica1 Em muitos casosE isso de!ende da nature&a da a!licao e eWigir minuciosos entendimentos com o usurio1 Por eWem!loE su!on"a Mue .ocA esteLa desen.ol.endo um sistema de controle de !edidosE e deseLe Mue o usurio es!ecifiMue o nome do cliente1 'e a in formao for introdu&ida em cart0es !erfurados ou Fcom maior !ro/a/ilidadeO a !artir de um terminal de .XdeoE .ocA ter de es!ecificar a seMaAncia na Mual deseLa Mue seLam introdu&idos os com!onentes de _nome de cliente]1 7ma seMaAncia lYgica seria solicitar ao usurio Mue introdu&isse a informao na se guinte seMaAncia> tXtulo F'r1G'ra1 etc1O !rimeiro nome inicial do nome intermedirio 3ltimo nome Por2m o usurio !ode ac"ar isso muito desaLeitadoV su!on"a Mue o usurio ten"a o/tido o nome do cliente de alguma fonte eWterna como um catlogo de telefones1 8esse casoE seria muito mais !rtico Mue o usurio introdu&isse 3ltimo nome !rimeiro nome inicial doE nome intermedirio tXtulo A 3nica coisa so/re a Mual !odemos ter certe&a Mue a seguinte seMaAncia seria definili.amenle desa!ro.ada !elo usurio> inicial do nome intermedirio JD9 JD: !rimeiro nome tXtulo 3ltimo nome @1 E.idencie ao usurio o ti!o de erro Mue cometeu e onde est1 Em muitos sistemasE o usurio fornece uma Muantidade su/stancial de informa0es ao sistema !ara cada e.ento ou transao1 Em um sistema dc controle de !edidosE !or eWem !loE o usurio !ode es!ecificar o nome do clienteE endereo e n3mero do telefoneE /em como informa0es so/re os itens Mue esto sendo !edidosE desconto a!lic.elE instru0es de em /arMue e im!osto so/re .endas1 Todas essas informa0es !o dem ser introdu&idas em urna 3nica tela de informa0es antes de serem en.iadas ao sistemaV eE certamenteE o sistema !oder determinar em seguida Mue !arte da entrada est errada ou toda ela1 $ im!ortante 2 ter certe&a de Mue o usurio com !reenda a es!2cie dc erro Mue foi cometido e onde o erro est locali&adoV no 2 aceit.el Mue o sistema sim!lesmente emita um sinal sonoro e eWi/a a mensagem M+ E8T*ADA1 Cada erro F!resumindo?se Mue "aLa mais de umO de.e ser identificadoE ou com uma mensagem descriti.a ou Fno caso de um sistema on uneO ressaltando ou codificando em cores os dados errados1 De!endendo da nature&a do sistema e do nX.el de sofisticao do usurioE !ode ser tam/2m im!ortante eWi/ir uma men sagem eW!licati.aV isso ser discutido em maiores detal"es no item I1 J1 Faa a distino entre edi0es de cam!os e edi0es de telas1 Em muitos casosE o seu sistema ser ca!a& de determinar se o elemento de dados fornecido !elo usurio est correto ou in corretoE sem referAncia a MuaisMuer outros elementos de dados1 Por eWem!loE se o usurio introdu&ir um cYdigo de dois ca racteres !ara um estadoE o sistema de.er ser ca!a& de de terminarE imediatamenteE se os dois caracteres re!resentam um dos cinMaenta estadosE ou uma das !ro.Xncias canadensesE e assim !or diante1 MasE se o usurio ti.er Mue introdu&ir um cYdigo !ost elemento de dados indi.idualE eWistir somente um .olume limitado de edi0es de cam!o Mue o siste ma !oderia reali&ar sem entradas adicionaisV necessitarXamos do cYdigo !ostal e do cYdigo dc estado !ara determinar se o cYdigo !ostal de.eria ser um cYdigo de cinco Fou de C dXgitosO ou um cYdigo !ostal canadense de < caracteres1 $ sistema !oderia com!ararE tam/2mE o cYdigo de estado e o cYdigo de &ona !ara .er se o cYdigo !ostal est dentro do inter.alo certo F!1eW1E se o cYdigo de estado for 86E o cYdigo !ostal come aria com o dXgito 9O1 $ relacionamento entre os elementos de dados !odem ser e.identes !ara o analista de sistemasV en tretantoE isso !ode eWigir con"ecimento Xntimo e detal"ado da a!licao Mue !ode ser o/tida somente do usurio1 I1 Torne a edio e a .erificao de erros de!endentes do usu rio1 Como L dissemosE 2 normalmente uma /oa id2ia Mue o sis tema eWi/a uma mensagem eW!licati.a Muando for detectado um erro1 Mas isso sY 2 .erdade se o usurio no for ca!a& de determinar !or etc mesmo o Mue fe& de errado1 'e o usurio ti.er digitado um cYdigo !ostal dc trAs dXgitosE !or eWem!loE no de.e ser necessrio Mue o sistema eWi/a uma mensagem muito ela/orada so/re o com!rimento dos cYdigos !ostaisV en tretantoE isso seria a!ro!riado se o usurio digitasse um cYdigo !ostal de cinco dXgitos e o sistema esti.esse es!erando !or um dos no.os cYdigos !ostais dc no.e dXgitos1 $/ser.e tam/2m Mue FaO alguns usurios so mais ca!acitados do Mue outros e !odem ficar a/orrecidos ainda mais ra!idamente se eles ti .erem de ler mensagens de erros longas e .olumosas e F/O de !ois do uso re!etidoE at2 mesmo o usurio no.ato tornar?se? !erito em algumas !artes do sistema1 Portanto 2 muitas .e&es im!ortante fa&er com Mue as mensagens de erros seLam fleWX.eis e tal.e& mesmo alter.eis !elo usurioV o com!ro misso mais fcil 2 urna com/inao de mensagens de erro curtas FMue !odem consistir em nada mais do Mue o realce das entradas erradas e um sinal sonoro !ara atrair a ateno do usurioO e mensagens de erro longas Fcom teWto eW!licati.o e uma referAncia Z !arte adeMuada do manual de treinamento do usurioO1 $ item K a!resenta mais detal"es so/re este assunto1 <1 $ferea ao usurio um modo de FaO cancelar !arte de uma transao e F/O cancelar toda uma transao1 ^ ingAnuo !ressu!or Mue o usurio sem!re terminar a introduo de uma transao inteira sem ter interrom!ido1 Com um sistema de !rocessamento /atc"E isso no re!resenta um !ro/lemaV o sistema normalmente no eWaminar MualMuer coisa !ro.e niente do usurio at2 Mue di.ersas transa0es indi.iduais ten"am sido com!ostas Mas em sistemas on?line isso 2 um !ro/lema im!ortante> o usurio !ode ter introdu&ido um no me e endereo de cliente antes de desco/rir Mue esta.a tra /al"ando com o cliente erradoV ele deseLar ser ca!a& de JD@ JDJ anular o Mue foi digitado e comear dc no.o1 $u o usurio !ode "a.er terminado a introduo da maior !arte das infor ma0es do cliente eE entoE !erce/er Mue escre.eu mal o !ri meiro nome do clienteV ele .ai Muerer !oder retornar ZMuele elemento de dados e corrigi?lo sem !erder todas as outras in forma0es L digitadas1 K1 Pro.idencie um mecanismo !rtico de ; 8os sistemas on?lineE 2 cada .e& mais im!ortante oferecer ao usurio um mecanismo !rtico !ara a o/teno de informa0es so/re como usar o sistema1 Em alguns casosE a facilidade do _socorro] sim!lesmente fornecer urna eW!licao se o usu rio cometer um erroV cm outros casosE o _socorro] !oderia ser usado !ara eW!licar os detal"es dc .rios comandos ou transa 0es dis!onX.eis ao usurio1 EWistem muitos meios de im!le mentar essa facilidadeE e .ocA e o usurio de.em eWaminar di.ersos eWem!los tX!icos Fa maioria dos !acotes de soft4are dis!onX.el no IBM PC e no A!!le Macintos" tem facilidades de _socorro]V so /ons !ara iniciarO antes de tomar uma deciso1 D1 Faa a distino entre os sistemas clirigidos !or menus e sistemas dirigidos !or comandosV se for adeMuado dA a o!o ao usurio1 7m sistema dirigido !or menu 2 o Mue a!resenta ao usurio uma lista de escol"as alternati.as Fou fun0esE ou transa0es etc1OV ao escol"er urnaE !ode ser a!resentado um $utro su/menuE Mue !oder condu&ir a su/menus de nX.eis ainda mais /aiWos antes Mue o sistema finalmente eWecute algu ma ao1 7m sistema dirigido !or comandosE !or outro ladoE es!era Mue o usurio a!resente um detal"ado FeE Zs .e&esE muito longoO comando indicando o Mue ele Muer Mue o sistema faa1 $s sistemas dirigidos !or mcnus so considerados mais amistososE uma .e& Mue eles eWi/em todas as o!0es dis!o nX.eis ao usurioV !or esta ra&oE a a/ordagem de menus 2 muitas .e&es considerada !referX.el !ara no.os usurios ou Muando o sistema ti.er dc interagir com uma grande .ariedade de usurios com diferentes eW!eriAncias e nX.eis de "a/ilidade1 Mas o sistema dirigido !or menu 2 considerado tedioso !elo usurio eW!erienteE !ois ele freMaentemente eWige duas ou trAs intera0es se!aradas com o sistema Fcada uma com algum tem!o de antes Mue ele finalmente sai/a o Mue o usurio des eW!erimentado geralmente !refere um sistema dirigido !or comandos !ara Mue ele !ossa eWecutar o Mue deseLa to ra!idamente Muanto !ossX.el1 a C1 'e o seu sistema esti.er em!en"ado em um !rocessamento muito !rolongadoE eWi/a uma mensagem !ara Mue o usuJrio no !ense Mue o sistema caiu1 'e o seu sistema ti.er de eWe cutar clculos eWtensos ou se ele !ro.a.elmente a!resentar demoras !eriYdicas !or causa de entradas .olumosasE 2 im!ortante eWi/ir uma adeMuada mensagem !ara o usurioV caso contrrio 2 !ossX.el Mue ele imagine Mue o seu terminal _congelou] ou _ficou !reso]E ou Mue o sistema _caiu]E ou Mue ocorreu uma falta dc energia1 $ sistema de.eE no mXnimoE emitir uma mensagem F!1eW1E 'I'TEMA $PE*A8D$ ? P$* FAQ$*E E'PE*EO em inter.alos regulares1 Mel"or ainda seria uma s2rie de mensagens informando ao usurio Muanto do tra/al"o L foi eWecutado e a!roWimadamente Muanto tem!o falta !ara com!let?lo1 9H1 Fornea defaults !ara entradas !adroni&adas1 Em muitos ca sosE o sistema !ode fa&er uma /oa su!osio so/re o !ro..el .alor de uma entrada fornecida !elo usurioV tornando?o um defaultE .ocA !ode economi&ar !ara o usurio um consider.el tem!o e a ati.idade dc digitao1 Essa a/ordagem 2 .lida !a ra todos os ti!os de sistemasE mas 2 es!ecialmente a!arente em sistemas on?lineE cm Mue o usurio !ode no ser um digi tador !rofissional1 7m eWem!lo de .alor default 2 a data> em muitas a!lica0es a data mais !ro..el Mue o usurio intro du&ir 2 a data atual1 $uE su!on"a Mue .ocA esteLa construindo um sistema de controle dc !edidosE e o usurio di& Mue CIf dos clientes .i.em nas redonde&asV em seguidaE Muando .ocA !edir Mue o usurio informe o n3mero do telefone do clienteE o sistema de.e !resumir Mue o cYdigo de rea default 2 o seu cYdigo de rea local1 991 Beneficie?se das cores e do somE mas no eWagere1 $s moder nos terminais on?line tAm di.ersos efeitos de cores e somV eles !odem ser /astante 3teis !ara a enfati&ao de ti!os diferentes de entrada ou !ara atrair a ateno do usurio !ara as!ectos im!ortantes da interface "umana1 Dessa formaE .ocA node usar a cor .erde !ara tudo o Mue for eWi/ido !elo sisten1 ul !ara todos os dados de entrada fornecidos !elo usurioE e .ermel"o !ara todas as mensagens de erro1 EntretantoE no se deiWe ar re/atar> a maioria dos usurios !oder no gostar se as telas ficarem !arecendo r.ores de 8atal1 Isso tam/2m .ale !ara efeitos sonorosV uma ocasional cam!ain"a ou "i!e 2 3tilE mas o usurio no deseLa Mue o terminal !rodu&a todos os efeitos sonoros do filme Guerra nas Estrelas1 JDI :91:1@ $ Desen"o de Formulrios $ desen"o dos formatos de entradas e saXdas dos sistemas tem tra dicionalmente sido c"amado de desen"o de formulriosE !orMue maioria dos sistemas nos anos <H e KH eWigia Mue o usurio codificasse a entradas em formulrios de !a!el Mue eram de!ois transcritas !ara car t0es !erfurados antes de serem introdu&idas em um sistema de !rocessa mento /atc"1 Por2mE mesmo nos sistemas on?line de "oLeE !odem eWistii alguns desen"os de formulrios a serem feitosV considereE !or eWem!lo a situao comum em Mue a entrada do sistema origina?se com um clien te eWterno1 $ cliente !ode fornecer a entrada eWigida !reenc"endo un formulrio de !a!el e en.iando?o aos usurios Mue interagem com c sistemaV um eWem!lo de um formulrio do mundo real 2 mostrado n figura :91J1 Desse modoE alguma ateno de.e ser dada ao desen"o dc formulrio1 Em alguns casosE o analista de sistemas !oder recorrer a um dc !artamento dom2stico de grficos ou a um fa/ricante eWterno de formu lrios !ara auWiliar no desen"o do formulrioV alternati.amente o usuric !oder L !ossuir formulrios relacionados ao sistema eWistente Mue de seLar continuar usando no no.o sistema1 MasE eWistem tam/2m muita situa0es em Mue o analista de sistemas e o usurio de.em desen"ar urr no.o formulrio !ara um no.o sistema1 Em/ora eWistam muitos estilos diferentes !ara um formulrioE todos de.em conter as seguintes infor ma0es /sicas> j TXtuloE !ara distinguir um formulrio de MuaisMuer outros formu lrios1 $ tXtulo 2 "a/itualmente im!resso cm letras grandes en negrito na !arte su!erior do formulrio !ara Mue o usurio sai/a Mue aMuele 2 um _formulrio de !edido] ou _um formulrio dc relatYrio de !ro/lemas]1 j Instru0esE !ara informar ao usurio como !reenc"er as infor ma0es necessrias do formulrio1 As instru0es gerais so "a /itualmente colocadas no inXcio do formulrio !erto da !arte su!eriorV instru0es es!ecXficas so normalmente a!resentadas em seguida ou a/aiWo de cada item de dados Mue !recise ser !reenc"ido1 j C a !arte !i1 !ai do formulrio na Mual os dados so introdu&idos1 Este !odc ser organi&ado cm estilo a/ertoE em es> tilo em Muadros ou uma co.= nao de am/os1 $ estilo em Mua dros 2 normalmente utili&ado !ara informa0es /inrias FeW1E JD< T$TA- q<1E * dooE ool C$<1$nIeo EEEoo"ine oEmqa<i/iIit# !ie / soro ia sinec% !rodoal reMoiremen/1 Figura :91J> 7m eWem!lo deformul rio _confirme neste Muadro se Muiser o seu nome acrescido Z nossa lista !ostal !ara futuras informa0es so/re !rodutos]O ou de formalo fiWo FeW1E um n3mero dc telefone ou cYdigo !ostalO1 $ estilo a/erto costuma ser em!regado !ara informa0es de com !rimento .ari.el como nomes ou endereos1 Decidir eWatamente como o formulrio de.e ser diagramado 2 uma arte !or si mesma e 2 mais /em feita !or !essoas eW!erientes em !roLetos de formulrios1 7m dos erros mais comuns dos !roLetistas no.atos de for mulriosE !or eWem!loE 2 no deiWarem es!ao adeMuado !ara o usurio com!letar as informa0es eWigidas1 Isso .ale es!ecialmente em formu lrios Mue eWigem informa0es manuscritas 1 9 ITEM' $*DE*ED G1 A II SRI $*DE*' DHHG::D?DC9H Good an#4"ere In -I'1 JHDG<:I?HJ<I MAI-$*DEA' PH <HH C99 j HH99< H9HKK j MoEeece#1 HJ C@CJ: DATE $F $*DE* 'l l $E'CPCP9I$( :TH 78FI P$l$ IHEH 9IKHH9 HHFICF ',IPPI8GG,A8D-I8CE C,A*GE1' BI-- T$> FPlnao Pr>ntO <<:<1 $TTE89 q@<CJH CHH 9 I <f '$-$' HH@ ? ?? $ ? } 'I<PP q@ I ?? ,7M$ IKJHII 1C 'toP iaildIH1C HD<:CH1 EHH9HHi<lEd /# HH< HH ilTo CE deC c"oroE laE H1 ondeE c"s!! 7P$ GEoond oE 99q nnoL- 1 add $"E l"i!!iroe c"aga qCJ ao !oroEDoEes 9 dJec"# H99EHHHE CHH: loa H:HD HH9H oldenod ood add q9HH lo 9"E 9H9H9 PE<ec< secola1 1ll1/%eV EEii Iec sI HH<I<1 C1 C<:He$l C BotoE II #ea reMoone de" ca/ide l"e HHI9OHH9I@ HHH? ei '/ote1E1 !iEase add $fle H9 l"ese '!Ecoal c"arges lo #oor HEH9EE c H9 oronq l"e HIH9E ai 9<99 ,aoaa1J caD loE c"aEoEs C ac" Df1 q9I nononornon1 Foreloeo HHHHEH1 ac" :9f1 q@I Ennonq@nn AI CCHHHE999H $lilai 'e ir 7 - doli HH<> HH9egn HE99E9E so/LEcl lo FIC rEH9HHIHHI HH9 H delaq 9 ',IP T$> F diff Itian Bili ToO 9HIIHH<:H $ HH<<HH ao $ a!!Earon oE EnoEag 9C1I 8$ME C$MPaP$ H HHHoHHJl H9HH9II IKH HH loE IJHHIK ara s 9 &i! I<HICz PHH< HHHz PHHHHH MET,$D $F PA6ME8T H< M$I$' l z8 EE <:II9H $ .oa -i C$$$$ E PH 87M<9H -R P HH<:EHHE< HE<E9HHC1< qH9 ar1 1 HH crEdir <1HEH1< ,,II,,,II $CC$78I IH F9HH CIEl$ME CA $IT$ 'IG8$T7*E JDK De!endendo da a!licaoE o analista dc sistemas !ode desen"ai formulrios de corte ou formulrios es!eciais1 $s formulrios de cortc costumam ser im!ressos em fol"as sim!les de !a!el e so a!ro!riado !ara a grande maioria de situa0esV com a disseminada dis!oni/ilidadc dos sistemas de editorao de mesa e !rogramas de desen"o de formu lriosE o usurio e o analista de sistemas !odem facilmente !roLetar seus !rY!rios formulrios1 $s formulrios es!eciais so mais com!leWos e !odem ser !roLeta dos com a assistAncia dc um eW!eriente !roLetista de formulrios Fnor malmente associado a um fa/ricanie de formulriosOE $ eWem!lo mais comum de formulrio es!ecial 2 um formulrio multi!artesE Mue !ode tei fol"as de !a!el car/ono entre as cY!ias de !a!el es!ecial sem car/onoE $s ti!os mais con"ecidos de formulrios es!eciais ' j Formulrios encadernados como li.ros FeW1E /locos de !edidos de .endasO1 j Formulrios com !artes destac.eisE com um original e m3lti!las cY!ias Mue !odem ser se!aradas FeW1E formulrios de co/rana de carto de cr2ditoO1 j Formulrios contXnuosE !reenc"idos manualmente ou gerados !or com!utador1 j Post.eis> formulrios !r2?im!ressos L inseridos em um en.e lo!eE fiWados Luntos como um formulrio contXnuo1 $ com!uta dor !ode ento im!rimir informa0es !adroni&adas tais como c nome e endereo do cliente e Fatra.2s do correto !osicio1 namento do !a!el car/onoO a im!resso ser feita no en.elo!e e na carta Mue esti.er em seu interior1 $s formulrios es!eciais soE como era de se es!erarE /em mais caros do Mue os formulrios de fol"a 3nica1 Assim sendoE de.e?se ter cuidado em Mue eles no re!resentem uma im!ortante fonte de custos do sistema1 $s formulrios es!eciais de.em ser !rodu&idos em Muantida de ra&o.el !ara manter /aiWo o custo unitrio> o custo de im!resso de 9H1HHH cY!ias de um formulrio es!ecial 2 muitas .e&es a!enas de 9H a :Hf maior Mue o custo de im!resso de I1HHH cY!ias1 De.e?se utili&ar formulrios de taman"o !adroni&ado !ara Mue a im!ressora no ten"a de eWecutar dis!endiosas ati.idades dc corte e aLusteV a maioria dos for mulrios de taman"o !adroni&ado 2 de DEI !olegadas !or 99 !olcgada ou de IEI !olegadas !or DEI !olegadas1 JDD 91:1J CYdigos de Enirada e 'aXda Como !arte da tarefa de es!ecificao de formatos de entrada e udaE o analista de sistemas muitas .e&es de.e es!ecificar cYdigosE isto a/re.ia0es !ara informa0es Mue seriam de difXcil mani!ulao e Onsumidoras de tem!o !ara serem descritas detal"adamente1 EWem!los cYdigos so 'ocial 'ecurit# 8um/ers F83meros de 'egurana 'ocialOE Odigos !ostaisE n3meros de li.ros !u/licados FI'B8O e Em!lo#er Ide nti cation 8um/ers F83meros de Identificao de Em!regadores FEI8OO 1ie o I*' atri/ui s em!resas Mue arMui.am declara0es de im!ostos1 $s eWem!los acima re!resentam cYdigos eWternos !ara a maioria nYsV isto 2E MualMuer Mue seLa o ti!o dc sistemaE temos Mue usar os VMuemas de codificao desen.ol.idos !elo I*'E !elos Correios dos 71A1E e !ela 'ocial 'ecurit# Administration1 Mas " freMaentes situa0es ;n Mue !recisamos !roLetar no.os cYdigos associados ao !rY!rio siste a FeW1E n3meros de contas de clientesE n3meros de fa/ricantesE n3me OI de formulriosE cYdigos de !rodutosE cYdigos de cores e n3meros de os de lin"as a2reasO1 Assim Como o desen"o de formulrios 2 uma leE as t2cnicas de codificao tam/2m so uma rea es!eciali&ada de rXciaV como Gore e 'tu//e mostram em IGore e 'tu//eE 9CD@9E um 2todo de codificao de.e ser> j EW!ansX.el ? $ cYdigo de.e dis!or de es!ao !ara entradas adicionais Mue !ossam ser necessrias1 j Preciso ? $ cYdigo de.e identificar o itcm es!ecXfico1 j Conciso ? $ cYdigo de.e ser curto e ainda assim descre.er adeMuada mente o item1 j Prtico ? $ cYdigo de.e ser fcil de ser codificado e descodificado1 j 'ignificati.o ? $ cYdigo de.e ser 3til Zs !essoas Mue lidam com ele1 'e !ossX.elE de.e indicar algumas das caracterXsticas do item1 j Funcional ? $ cYdigo de.e ser com!atX.el com os m2todos !resentes e anteci!ados do !rocessamento de dados ? manual ou Z mMuina1] Em alguns casos !ode no ser necessrioE deseL.el ou !rtico Mue cYdigo ten"a algum relacionamento e.idente com o item Mue ele des e.e1 7m /om eWem!lo 2 um n3mero dc clienteE um n3mero de conta i um n3mero de em!regado em muitos sistemas> o cYdigo 2 sim!les? ente um n3meroE escol"ido seMaencialmente1 EntretantoE tam/2m 2 mum Mue a t2cnica de codificao reser.e /locos de n3meros Fou trasO !ara itens Mue se enMuadram em uma categoria comumV !or JDC eWem!loE um sistema de controle de !edidos !oderia usar um n3men de Muatro dXgitos como um n3mero de !rodu&oE com os n3meros de 9 IHH reser.ados !ara itens comunsE e os n3meros dc IH9 a CCC reser.ado !ara itens es!eciais1 Ainda mais comum 2 o cYdigo de cIass Mue utili&a gru!o de dXgitos Fou letrasO no cYdigo !ara identificar classifica0es maiores intermedirias e menores no item Mue est sendo descrito1 Por eWem!lo !ara ligar !ara meu escritYrio em -ondresE eu disco os seguintes dXgitos H99?JJ?9?<@K?:9D: $s trAs !rimeiros dXgitos identificam o n3mero do telefone com um n3mero internacional Fem com!arao a um n3mero c"amado den tro da Am2rica do 8orteO1 $s dois dXgitos seguintes so o cYdigo v cidadeE sendo JJ o cYdigo do *eino 7nido1 $ dXgito seguinte 2 o cYdig de rea de -ondresE anlogo ao cYdigo dc rea de trAs dXgitos uiili&ad nos Estados 7nidos1 $s trAs dXgitos seguirnes re!resentam um centrc telefNnico e muitas .e&es dar ao usurio es!erto uma /oa id2ia do /air ro londrino onde est locali&ado esse telefone1 EE !ara finali&arE os 3l timos Muatro dXgitos identificam um telefone es!ecXfico1 $s cYdigos alfa/2ticos tam/2m so muito usados em sistemas d informa0es1 A maioria dos cYdigos alfa/2ticos 2 uma tentati.a de auWX lio mnemNnico ou da memYriaE Mue o usurio ser ca!a& de lem/rai com facilidade 9H 'e a tentati.a ter ou no sucesso de!ender d eWtenso do cYdigo Fisto 2E dois caracteres contra de& caracteresOE a di1 .ersificao e a dis!aridade dos !rY!rios elementos dc dadosE e a fami liari&ao do usurio com os elementos dc dados1 Por eWem!loE conside re os cYdigos de duas letras usadas !ara identificar diferentes lin"as a2 reasV a maioria dos cidados americanos !erce/e imediatamente Mue AA re!resenta American Airlines e Mue 7A re!resenta 7nited Airlines1 Toda .iaE Muantos sa/em Mue ,5 re!resenta ,a.asu AirlinesE ou Mue AT re !resenta Alo"a Airlines[ Com cYdigos de trAs letrasE temos uma c"anc mel"or na escol"a de cYdigos mnemNnicosE como 2 demonstrado !eloI cYdigos utili&ados !ara identificar aero!ortos1 Tuase todos sa/em Mue RFK re!resenta o aero!orto Ro"n F1 Kenried# em 8o.a lorMue e Mue 'FC re!resenta o aero!orto dc 'o Francisco1 MasE mesmo assim " dificul dadesE a menos Mue o usurio ten"a memori&ado muitos cYdigos Mue no so mnemNnicos FeW1E $*D !ara $=,are e 66g !ara o aero!orto de Toronto`O1 Para finali&arE alguns cYdigos so dc au9o?.enficaa isto 2E con tAm informa0es adicionais FredundantesO Mue !odem ser usadas !ara certificar Mue o cYdigo foi introdu&ido corretamente1 Cm con"ecido eWem!lo de cYdigo de auto?.erificao 2 o Mue cont2m um dXgito .eri ficadorE Mue costuma ser acrescentado ao final do cYdigo num2rico1 JCH O dXgito .erificador !ode ser calculado de di.ersas maneirasE uma das luais 2 mostrada a/aiWo> digito?.erif ? o F$* cada digito no cYdigo num2rico soma ? digito in1 !elo n3mero de sua H 'i ( digito?.erificador ? digito?.erificador t sorna D$ 5,I-E eWistir mais do Mue um digito em digito .erif digito?.erificador soma de todos os digitos em digito?.erif E8DD$ Por eWem!loE se ti.2ssemos o cYdigo num2rico CDK<E o dXgito .eri icador seria calculado como FC9O t FD:O t FK@O t F<JOE Mue resulta em $1 A soma dos dXgitos K e $ dar o resultado final K como dXgito .erifica lor1 $ o/Leti.o disso no 2 o/rigar Mue o usurio faa todo esse clculoE nas sim utili&ar um cYdigo Mue cont2m um dXgito .erificador em/utido eW1> CDK<?KO1 Em seguidaE Muando o usurio introdu&ir o cYdigo no sis emaE o com!utador !oder recalcular automaticamente o dXgito .erifica lor es!erado Futili&ando o algoritmo acima descritoO e com!ar?lo ao lXgito .erificador real1 'e "ou.er algum erroE isso normalmente significa? Mue um dos dXgitos foi introdu&ido erroneamente !elo usurio1 fl1@ A1 IDE8TIFICA()$ DE ATIQIDADE' C$MP-EME8TA*E' DE '7P$*TE MA87A- 8o modelo essencialE !resumimos a eWistAncia de uma tecnologia Oerfeita ? Mue significaE entre outras coisasE Mue consideramos Mue nos? a tecnologia de im!lementao nunca fal"a nem comete erros1 $s isurios !odem no estar dis!ostos a aceitar issoE e Muem os !ode cul Oar[ Al2m dissoE o usurio !ode decidir Mue certas !artes do sistema -utomati&ado !odero ficar so/ seu !rY!rio controle o!erati.o FeW1> um ou um minicom!utador em sua rea de tra/al"oO e ele !ode ficar -!reensi.o com !ossX.eis erros de o!erao Mue o seu !rY!rio !essoal Oode cometer1 -em/re?seE aindaE Mue ele !ode estar tra/al"ando com lados financeirosE caso em Mue !odem eWistir eWigAncias legais Fou eWi Ancias im!ostas !elos auditoresO !ara assegurar a integridade das en radasE saXdas e dos arMui.os do sistema1 8a maioria dos casos essas ti.idades com!lementares de su!orte sero re!resentadas !or no.os JC9 !rocessos no DFD do modelo com!ortamental1 7m eWem!lo 2 a!res tado na figura :91I1 De um modo geralE temos Mue nos !reocu!ar com a !ossi/ilida da tecnologia defeituosa em Muatro im!ortantes reasE como mostra figura :91<1 A Introduo da entrada no sislema1 'e os dados de entra forem introdu&idos !elos terminais de .Xdeo interligados a Figura :91I> 7ma ati.idade de .erificao de erros de su!orte manual terminal de entrada *elatYrio de said Figura :91<> PossX.eis reas de tecnologia defeituosa JC: com!utadores !rinci!ais !or lin"as dc telecomunicaoE 2 !ossX.el Mue alguma transao ou todas elas seLam !crdidas ou em/aral"adas1 $ mesmo !ode acontecer com Muase todas as outras formas dc eniradaV !or eWem!loE um ou dois cart0es de entrada !odem ser !erdidos !elo o!erador do com!utador ou um dos discos fleWX.eis de um conLunto !ode no ser lido !ara o sistema1 j A eWecuo dos clculos1 7ma .e& introdu&ida a entrada no sis temaE eWiste a remota !ossi/ilidade dc Mue o !rY!rio com!uta dor a!resente um defeito e a !ossi/ilidade muito maior F`O de Mue um erro nos !rogramas de !rocessamento !rodu&a um re sultado incorreto1 $s erros dc "ard4are do com!utador !odem ocorrer em uma 7CP indi.idual ou na interface entre as di.crsas 7CPs na configurao do sistema1 j Arma&enamento de dados !or lon !erXodos1 A maioria dos sistemas ret2m dados !or longos !erXodos dc tem!o em discos magn2ticosE fitas magn2ticasE discos fleWX.eis e congAncres1 ^ !ossX.el Mue alguns desses dados Fou todosO seLam dcstruXdos !or causa dc erros do "ard4are do com!utador eGou erros do soft4are1 $s erros de "ard4are !odem consistir cm !ro/lemas no !rY!rio dis!ositi.o dc arma&cnamcnto ou !ro/lemas na co neWo entre a 7CP e o dis!ositi.o de arma&enamcnto1 $s erros de soft4are !odem ocorrer nos !rogramas dc a!licao desen .ol.idos !ela eMui!e do !roLeto ou no soft4are de gerencia mento de /anco dc dados do fornecedor1 A o/teno de saXdas do sistema1 $s !otenciais !ro/lemas neste as!ecto so anlogos aos !rotOlemas da introduo dc entradas no sistema1 Em alguns casosE a saXda de.e ser transmitida !or lin"as de telecomunicaoE muitas .e&es !ara o mesmo terminal de .Xdeo utili&ado !ara entrada1 Em outros casosE a saXda 2 !ro du&ida em fitas magn2ticas ou em relatYrios im!ressos1 Em to dos os casosE 2 !ossX.el Mue as informa0es de saXda seLam !er didas ou modificadas incorretamente cm conseMaAncia de erros de "ard4are ou de soft4are1 $ Mue de.e ser feito em relao a essas !ossX.eis reas de tecno logia defeituosa E.identementeE isso .ai de!ender muito F9O do nX.el estimado de confla/ilidade do "ard4are e do soft4are Mue esti.erem sendo utili&adosE F:O da nature&a da a!licao do usurio e F@O dos custos ou !enalidades associadas a entradas ou saXdas defeituosas1 ^ claro Mue isso eWige um detal"ado entendimento entre o usurioE os analistas de ;XC@ sistemas e a eMui!e de im!lementaoV eles !odem resol.er acrescen tar alguns dos seguintes itens ao modelo essencial !ara lidar com a tec nologia defeituosa> Entradas eGou saXdas redundantes1 8o caso mais eWtremoE !o dem ser fornecidas cY!ias du!licadas dc entradas !ro.eniente de duas diferentes origens FeW1> de dois diferentes usurios en diferentes terminais de .XdcoO1 E o sistema !ode !rodu&ir saXda> du!licadas FeW1> duas cY!ias diferentes de um relatYrio de saXd im!resso em diferentes im!ressorasO1 Essa 2 uma "i!Ytese inco mumE mas !ode !recisar ser considerada no caso de a!lica0e> eWtremamente sensX.eis1 Tecnologia de !rocessador redundante1 $s dados mantidos !clc sistema !odem ser arma&enadosE em du!licataE cm dois diferen tes discos ou em duas diferentes fitas magn2ticas1 E os clculo eWecutados !elo sistema !odem ser efetuadosE cm du!licata em duas diferentes 7CP1 Em realidadeE !ode ser eWigida re dundPncia ainda maior> em/ora uma segunda 7CP ou uma se gunda unidade dc disco !ermita Mue o sistema continueE se !rimeira unidade fal"ar com!letamenteE isso no re!rcsent !roteo contra erros sutis1 E se a 7CPI e a 7CP: eWecutaremc mesmo clculo FcW1> o clculo dc Luros em contas dc !ou!an ou o clculo da traLetYria de um mXssil !ara um .No Z -uaO F !rodu&irem res!ostas diferentes[ Tual 7CP estar correta[ 8c caso mais eWtremoE !odemos insistir at2 em !rocessadores tri!li cados e arma&enamento dc dados tri!licadosE com a maioria de cidindo Mual dos dois com!utadores tem a res!osta certa1 MasE c se os trAs com!utadores di.ergirem[ *edundancia interna1 7ma forma comum de lidar com tecnolo gia defeituosa 2 a redundPncia !arcial1 Por eWem!loE um fun cionrio de /anco Mue introdu& dados so/re um de!Ysito err um sistema /ancrio on?line !ode ser solicitado a fornecer c n3mero da conta e o nome do de!ositante1 Em/ora o n3merc da conta normalmente seLa suficiente !ara identificar o registrc do cliente no sistemaE sem!re eWiste a !ossi/ilidade de o fun cionrio do /anco introdu&i?lo incorretamenteE ou Mue c n3mero da conta !ossa ser alterado !or causa de um erro de telecomunicaoE ou um erro no terminal dc .XdeoE ou um erro na 7CP1 Como alternati.aE o sistema !ode eWigir Mue o fuft cionrio do /anco introdu&a somente o n3mero da contaE .erifi cando se est correto !ela eWi/io do nome do cliente a!Ys o registro ter sido recu!erado1 JCJ j Controles /atc"1 Essa 2 uma t2cnica introdu&ida !rimeramente nos sistemas de !rocessamento /atc" de segunda geraoE mas Mue ainda 2 im!ortante cm muitos sistemas atuais1 Ela eWige Mue o usurio manten"a um contador das transa0es Mue introdu& no sistemaE /em como um acumulador de MuaisMuer itens de dados im!ortantes dessas transa0esV em sistemas financeirosE a coisa mais Y/.ia a ser totali&ada seria o .alor em din"eiro de cada transao1 EntrementesE o sistema mant2m sua !rY!ria to tali&ao Z !ro!oro Mue rece/e as transa0esV !eriodicamenteE o sistema e o usurio com!aram seus totais !ara assegurarem Mue nada foi !erdido ou alterado1 A mesma t2cnica !ode ser usada com as saXdas> o sistema !ode manter sua !rY!ria totali &ao do n3mero dc transa0es Mue ele !rodu&iuE e isso !ode ser com!arado com uma totali&ao manual feita !elo usurio1 j Qerifica 0es de seMaAncia1 A t2cnica dc .erificao de seMaAncia est relacionada ao conceito dc controles /atc"1 $ usurio !ode designar um n3mero seMaencial ou um n3mero de transao !ara cada entradaE e o sistema !ode .erificarE Z medida Mue !ro cessa essas entradasE se elas esto cm seMaAncia e se nen"uma transao foi !erdida1 De modo semel"anteE o sistema !ode atri /uir um n3mero seMaencial !ara cada saXda !rodu&idaE e o usurio !ode confirmar manualmente Mue nen"uma das saXdas ten"a sido !erdida1 :91J A E'PECIFICA()$ DE *E'T*I(rE' $PE*ACI$8AI' 8o final de tudoE a eMui!e de im!lementao ter de dec%iir Mue com/inao de "ard4areE sistema o!eracionalE recursos de telecomuni caoE linguagens de !rogramao e estrat2gia de !roLeto im!lementaro mel"or os reMuisitos1 MasE ser difXcil fa&er isso sem o esta/elecimento de algumas restri0es de o!eraoE Mue o modelo essencial e.ita de li/eradamente1 $s !rinci!ais !ro/lemas soE normalmente> j Qolumes de dados1 $ usurio !recisa es!ecificar os .olumes de transa0es de entrada e o taman"o necessrio dos de!Ysitos de dados1 Isso 2 es!ecialmente im!ortante se "ou.er grandes .a ria0es no .olume de transa0es FeW1> durante as "oras mais tumultuadas do dia ou 2!ocas mais tumultuadas do anoO1 AssimE o usurio !oder di&er> _8ormalmente !rocessamos :1HHH !edi dos !or diaE !or2mE o .olume salta !ara J1HHH !edidos ao dia durante o mAs de de&em/ro]1 Al2m dissoE o usurio !recisa JCI estimar o aumento dos Xndices de transa0es e os reMuisitos d memYria em relao Z .ida 3til estimada do sistema1 Dess modoE o usurio !ode di&erE _$ de!Ysito I8QE8T+*I$ !recisV ser ca!a& de mani!ular o mo.imento dc J1HHH !eas diferente agoraE e es!eramos lidar com cerca de <1HHH !eas dentro do !rYWimos cinco anos]1 De um modo geralE !ode?se es!erar Mu o .olume de dados arma&enados !or um sistema de informa 0es cresa de a!roWimadamente 9Hf ao ano ; Tem!o de res!osta !ara .rias entradas1 Pode ser esta"clecid em termos a/solutosE mas 2 esta/elecido de modo mais realist como uma !ro/a/ilidade> _CHf dc todas as transa0es de.en ter tem!o de res!osta inferior a : segundos]1 Em alguns casos !ode ser es!ecificado em termos dc limites> _H relatYrio X6: de.e ser !rodu&ido antes das D>HH "oras FAMO dc todas a man"s]E ou todas as transa0es dc de!Ysitos de.em ser !roces sadas Z meia?noite !ara Mue os clientes !ossam sa/er seu saldc atual a !artir de seus res!ecti.os sistemas /ancrios1 j *estri0es !olXticas em o!0es de im!lementao1 o usurio !o1 deE !or moti.os racionais ou irracionaisE es!ecificar a marca dc "ard4are a ser usado Fou a marca de "ard4are a ser e.itadaOE a linguagem de !rogramao a ser utili&ada F_a !rogramao de .er ser feita em Ada]OE o fornecedor do eMui!amento de tele comunicao Mue ser utili&adoE e assim !or diante1 Isso de.e ser e.itado sem!re Mue !ossX.elE mas .ocA de.e es!erar !elo menos algumas !ress0es dessa es!2cie1 $/ser.e Mue 2 mais !ro..el Mue as restri0es dc im!lementao seLam im!ostas !elo de!artamento dc o!era0es da organi&aoV isto 2E .ocA !ro.a.elmente ou.ir coisas comoE _BemE esse no.o sistema !arece muito /omE mas naturalmente de.er ser !rocessado no com!utador da em!resa1 PortantoE certifiMue?se Mue ele no ocu!e mais do Mue D mcga"#tcsV alocaremos um ! de discos !ara .ocA]1 j *estri0es am/ientais1 Tem!eratu raE umidadeE interferAncia el2trica F*FIOE consumo dc foraE limita0es de !esoE taman"o ou emiss0es el2tricasE .i/raoE !oluioE ruXdoE radiao e outras restri0es am"icntais !odem ser im!ostas !elo usurio Z eMui!e de im!lementao1 Algumas .e&es o usurio no a/orda r eW!licitamente a MuestoV ele a!enas !artir do !rincX!io1 Mue o no.o sistema funcionar satisfatoriamente no seu am /iente normal FeW1> em refinarias de !ctrYleoE em f/ricasE ou em um am/iente a/erto de escritYrioO1 Desse modoE !ode ser JC< necessrio documentar os recursos rele.antes do am/iente do usurio !ara facilitar o tra/al"o da eMui!e de im!lementao1 QocA !ode !referir sim!lesmente indicar no modelo de im!le mentao do usurio Mue o sistema de.e o!erar no am/iente do usurioE e deiWar Mue a eMui!e de im!lemenaZo descu/ra !or si mesma o Mue isso significa1 *esin0es de se e conR[a/ilidade1 $ usurio !ode es !eciflcar o tem!o m2dio entre fal"as FMT e o tem!o m2dio entre !aradas !ara manuteno FMTT*OE do sistema1 A confia /ilidade eWigida do sistema tam/2m !ode ser eW!ressa em ter mos de dis!oni/ilidadeV !or eWem!loE o usurio !ode di&erE _8o !odemos admitir nada a/aiWo de CC1If de dis!oni/ilidade do sistema1] *estri0es de se $ usurio !ode es!ecificar uma .a riedade de restri0es com a inteno de minimi&ar o uso no autori&ado do sistema1 Isso !ode incluir n3meros de contas e sen"as Fos usurios tero de identificar?seO1 Tam/2m !ode in cluir mecanismos !ara im!edir acesso no autori&ado a dados confidenciaisV alguns usurios !odem ter !ermisso !ara ler registros em di.ersos de!YsitosE enMuanto outros usurios !o dem ter !ermisso !ara modificar Fou eliminarO dados eWisten tesE e ainda outros !odem ter !ermisso !ara acrescentar no .os registros1 E o usurio !ode eWigir mecanismos !ara im!edir Mue usurios no autori&ados eWecutem cerl:s fun0es do sis tema FeW1> nem todos de.em ser ca!a&es de eWecutar o sistema de !agamentoO1 Qrias medidas dc segurana !odem ser im !ostas so/re os dados Mue entram e saem do sistemaV isso !ode incluirE !or eWem!loE a codificao de dados transmitidos !or li n"as de telecomunicao 9: EE !ara fins de seguranaE o sistema !ode ser o/rigado a !rodu&ir uma 7sta de audiloria> uma lis tagem com!leta de todas as transa0es introdu&idas no sistemaE todas as saXdas !rodu&idas e tal.e& mesmo um registro de todas as altera0es feitas nos arMui.os do sistema1 :91I *E'7M$ $ modelo de im!lementao do usurio 2 muitas .e&es descrito como a _&ona som/ria] entre a anlise estruturada e o !roLeto estrutura do1 Ele no !ode ser feito a!enas !elo analista de sistemasE e 2 arriscado !ara o analista e !ara o usurio desen.ol.erem o modelo de im!lemen tao do usurio sem a !artici!ao dos !roLetistas e !rogramadores Mue JCK construiro o sistema1 Em/ora as fun0esE os dados e o com!ortamentc tem!o? de!endente seLamE cm 3ltima anliseE as caracterXsticas mais im !ortantes de um sistema de informaoE a intcrface "umana 2 muitas .e &es a rea Mue !ro.oca as rea0es mais emocionais do usurio1 Formatos com!licados de entradaE mensagens dc erro confusas e tem!o !ro longado de res!osta !odem tornar mesmo as fun0es mais elegantes do sistema inaceit.eis !ara o usurio1 Tam/2m de.e ser lem/rado Mue as restri0es de im!lementao im!ostas !elo usurio F"a/itualmente de forma inocenteO !odem destruir at2 o mais /em gerenciado !roLeto> sim!lesmente !ode no ser !ossX.el im!lementar o sistema dentro das restri0es do usurio1 Tuando o modelo de im!lementao do usurio ii.er sido cons truXdo e re.isto !elos usuriosE !elos analistas dc sistemas e !elo gru!o !roLetistaG!rogramadorE a tarefa dc anlise dc sistemas estar terminada1 8esse !ontoE costuma ser necessrio a!resentar Z direo os resultados de toda a fase de anlise de sistemas do !roLeto !ara Mue se o/ten"a a!ro.ao !ara !rosseguir com o !roLeto e a im!lementao do sistema1 A a!resentao de.e incluir as seguintes informa0es> 91 A situao atual do sistema eWistente F!resumindo?se Mue eWistaO1 :1 Pro/lemas FfragilidadesE fun0es ausentes etc1O Mue foram identi ficados no sistema atual durante o le.antamento inicial ou es tudo de .ia/ilidade1 @1 'olu0es alternati.as Mue foram identificadas1 J1 7ma .iso geral do modelo essencial e do modelo de im!le mentao do usurioE com tantos detal"es Muantos a gerAncia deseLe .er1 8ormalmenteE a!resenta?se o modelo de DFD de alto nX.el e os com!onentes detal"ados do modelo so tornados dis !onX.eis Z direo !ara su/seMucn -es consultas1 I1 Custos e /enefXcios !roLetados do no.o sistema <1 Estimati.as de custosE cronogramas e recursos F"oras de tra/a l"oO !ara as fases restantes do !roLeto1 K1 *ecomenda0es da eMui!e do !roLeto ou do analista de sistemas1 Admitindo?se Mue a a!ro.ao da direo esteLa !rYWimaE o !roLeto est a!enas comeando> eWiste ainda um grande .olume de tra/al"o de JCD !roLetoE !rogramao e testes a ser feito antes Mue o usurio finalmente rece/a o sistema deseLado1 Essas reas sero estudadas nos !rYWimos ca!Xtulos1 *EFE*b8CIA' 91 MarLorie -eesonE '#stems Anal#sis and Design C"icago> 'cience *esearc" AssociatesE 9CD91 :1 Tom Gi// e Gerald 5ein/ergE ,umani&ed In!ut1 Cam/ridgeE Mass1> 5int"ro! Pu/lis"ersE 9CKK1 @1 Rames MartinE Design of Man?mac"ine Dialogues1 Engle4ood CliffsE 81R1> Prentice? ,allE 9CK@1 J1 Mar.in Gore e Ro"n 'tu//eE Elements of '#stems Anal#sisE @a ed1 Du/uMueE Io4a> 5illiam C1 Bro4n Co1E 9CD@1 I1 Data Processing Tec"niMues> Coding Met"odsE Form GF:$?DHC@1 5"ite PlainsE 8161> IBM Tec"nical Pu/lications De!artment1 PE*G78TA' E EXE*CcCI$' 91 Tuais so as trAs !rinci!ais coisas Mue o modelo essencial de um sistema descre.e[ :1 Por Mue o modelo essencial "a/itualmente no re!resenta infor mao suficiente !ara os !roLetistas de sistemas e !rogramadores !ara Mue seLa iniciada a im!lementao do sistema[ @1 Tue informa0es adicionais !recisam ser acrescentadas ao modelo essencial[ J1 $ Mue 2 um modelo de im!lementao do usurio[ Tuais so seus !rinci!ais com!onentes[ I1 Tuais o os dois !rinci!ais !ro/lemas de im!lementao Mue sensi/ili&am fortemente os usurios em relao a um !roLeto de in formao de sistemas[ <1 DA uma definio de fronteiras de automati&ao de um sistema1 Tue outros termos ou sinNnimos !odem ser usados em lugar de fronteira de automati&ao[ K1 Por Mue os usurios muitas .e&es tAm im!ortantes o!ini0es so/re o formato de entradas e saXdas de um sistema de informao[ D1 DA Muatro eWem!los de !ro/lemas de formatao Fen.ol.endo en tradasE saXdas ou as duas coisasO Mue um usurio !ode Muerer es !ecilicar como !arte do seu modelo de im!lementao1 C1 DA trAs eWem!los de !ro/lemas de formatao associados a siste mas on?lineE Mue um usurio !ode Muerer es!ecificar como !arte do seu modelo de im!lementao1 JCC 9H1 Como o ad.ento dos com!utadores !essoais afetou o tra/al"o Mue o analista de sistemas de.e fa&er !ara desen.ol.er o modelo de im!lementao do usurio[ 99 DA trAs eWem!los de !erguntas Mue !recisaro ser res!ondidas no modelo de im!lementao do usurio se os PCs controlados !or usurios fi&erem !arte da im!lementao do sistema1 9:1 Como o ad.ento das linguagens de !rogramao de Muarta gera o em muitas organi&a0es afeta o tra/al"o Mue o analista de sistemas de.e fa&er !ara desen.ol.er o modelo de im!lementao do usurio[ 9@1 Como o conceito de !mloli!ao afeta o desen.ol.imento do mo delo de im!lementao do usurio em um tX!ico !roLeto de desen .ol.imento de sistemas[ 9J1 Como a !ossX.el com!ra dc um !acote de soft4are de um forne cedor afeta o desen.ol.imento do modelo de im!lementao do usurio em um tX!ico !roLeto dc desen.ol.imento de sistemas[ 9I1 Tue erro muitas organi&a0es cometem no desen.ol.imento de um modelo essencial em situa0es em Mue es!eram utili&ar um !acote de soft4are de um fornecedor[ 9<1 Tuais so os trAs casos eWtremos Mue !odem ocorrer Muando as fronteiras da automati&ao so determinadas !ara um sistema de informa0es[ 9K1 'o/ Mue condi0es o usurio !ro.a.elmente no ter o!inio so/re onde de.er ficar a fronteira da automati&ao no !roLeto de de sen.ol.imento de um sistema[ Tual 2 a !ro/a/ilidade da ocorrAn cia disso em uma organi&ao tX!ica[ 9D1 'o/ Mue condi0es o usurio tende a o!tar !or um sistema total mente automatiV1ado Muando a fronteira da automati&ao est sendo determinadaE com todas as fun0es eWecutadas !or com!u tadores e todos os dados arma&enados de forma com!utadori&ada[ 9C1 'o/ Mue condi0es o usurio tende a o!tar !or um sistema total mente manual Muando a fronteira da automati&ao est sendo de terminada[ QocA ac"a isso !ro..el[ :H1 Tuantas fronteiras alternati.as de automali&ao .ocA ac"a Mue a eMui!e de !roLeto de.e eWaminar com $' usurios antes da defini o final[ A!resente uma Lustificati.a !ara a sua res!osta1 :91 Do !onto de .ista do analista dc sistemasE Mual 2 a coisa mais sim !les Mue !ode ocorrer aos !rocessos e dados Mue foram deiWados fora da fronteira de automati&ao Muando esta foi esta/elecida[ ::1 Tual 2 a coisa mais !ro..el Mue o analista de.er fa&er com os !rocessos manuais e com os dados manuais de!ois da definio d fronteira da automati&ao[ :@1 Tuais so os trAs !rinci!ais !ro/lemas Mue !recisam ser tratados ao IHH se definir a fronteira de automati&ao no modelo de im!lementa o do usurio[ J1 $nde o analista de sistemas de.e documentar os detal"es da maio ria dos !ro/lemas relati.os Z fronteira da automati&ao Mue foram discutidos com o usurio[ I1 A!resente dois eWem!los de restri0es de im!lementao de um elemento de dados Mue !ossa ser definido como !arte da fronteira de automati&ao1 <1 Como o diagrama de transi0es de estado !ode ser efeti.amente utili&ado durante o desen.ol.imento do modelo de im!lementao do usurio[ K1 Tue ti!o de ati.idades dc su!orte manual !ode !recisar ser es!e cificado durante o desen.ol.imento do modelo de im!lementao do usurio[ D1 Tuais so os cinco !rinci!ais ti!os dc restri0es o!eracionais de um sistema Mue costumam !recisar ser es!ecificados no modelo de im!lementao do usurXo[ C1 Por Mue 2 im!ortante es!ecificar no modelo dc im!lementao do usurio o .olume de dados Mue o sistema de.e mani!ular[ H1 A!resente trAs eWem!los de restri0es !olXticas Mue !odem ser im!ostas a um sistema como !arte do modelo de im!lementao do usurio1 91 $ sistema de caiWa automtico de seu /anco 2 dirigido !or menus ou !or comandos[ Tuais so as .antagens e as des.antagens da t2cnica adotada !elo 'istema[ '$TA' 9 Isso ilustra a necessidade dc uma /oa comunicao entre os usu rios e a eMui!e de im!lementaoE /em como com os analistas de sistemas1 Em/ora os usurios !ossam estar muito interessados no em!rego de linguagens dc Muarta geraoE a eMui!e dc im!lemen tao !ode !recisar in.estigar o desem!en"o da linguagem1 $s sistemas com grandes .olumes dc entrada e saXda !odem desco/rir Mue as linguagens de Muarta gerao so demasiadamente inefi cientes1 Isso ser analisado mais detal"adamente no ca!Xtulo :@1 : 7ma su!osio muito im!ortante est sendo feita aMuiV o modelo essencial de.e ser desen.ol.ido !rimeiroE antes Mue o !acote do fornecedor seLa a.aliado1 Muitas organi&a0es fa&em Lustamente o in.erso> elas !rimeiro a.aliam o !acote eE de!oisE tentam o/ter um modelo dos reMuisitos essenciais dos recursos do !acote1 @ $s !rocedimentos do usurio !ara os !rocessos manuais !odem /asear?se na es!ecificao daMueles !rocessos1 De fatoE no caso IH9 mais sim!lesE a es!ecificao do !rocesso 2 o !rocedimento d usurioV entretantoE como as es!ecifica0es do !rocesso forar cuidadosamente redigidas !ara e.itar MualMuer tendAncia de im!% mentao desnecessriaE elas !odem !recisar1 ser eW!andidas o rcescritas !ara !ro.er orientao aos usurios1 J Pense !or um momento so/re os ti!os dc !ro/lemas Mue !oder ser criados !ela sim!les colocao dc um terminal na mesa d usurio1 PrimeiroE !ode no "a.er es!ao !ara ele> o usurio !od !recisar de todo o es!ao dc tra/al"o dis!onX.el !ara outras coisa Mue faa1 'egundoE !ode no "a.er suficientes tomadas el2trica !ara ligar o terminal de .XdeoE a im!ressoraE o modem e a !arafei nlia restante1 TerceiroE a mesa !ode ter altura correta !ara leitura escritaE masE tal.e&E no !ara digitao1 TuartoE a iluminao d escritYrio !ode causar tanta claridade Mue torne difXcil ler as infor ma0es na tela do terminal1 TuintoE o ruXdo causado !ela digita do usurio no terminal !ode desagradar os outros usurios d mesma rea1 I $/ser.e Mue estamos discutindo entradas fornecidas !elo usurio Muitos sistemas Fes!ecialmente sistemas dc tem!o?realO de.em ne gociar com dis!ositi.os Mue forneam entradas sem interferAnciV "umana F!1eW1E rdarE gra.adores de dados e sinais dc sat2liteO1 < $/ser.e Mue estamos fa&endo distino aMui entre o uso do a!are l"o telefNnico Fo a!arel"o !ro!riamente ditoO e a lin"a de tele comunica0es1 Muitos terminais so interligadosE atra.2s dc urr modemE a uma lin"a telefNnicaV mas aMui estamos falando so/re c a!arel"o telefNnico como meio dc entrada1 K 8a realidadeE .ocA tam/2m !ode !recisar usar ferramentas de IA de Muinta geraoE !ara fa&er eW!eriAncias com entradas cm lingua gem materialE entrada de .o&E saXda de grficos e assim !or diante1 D Por2mE mesmo em um sistema /atc"E o usurio !ode ac"ar Mue introdu&iu alguns dados no sistema !or engano1 ^ Muase sem!re necessrio su!rir o usurio com a facilidade de desfa&er ou re.erter o Mue Muer Mue ten"a introdu&ido1 Mas isso de.eria ter sido desco /erto durante suas entre.istas com o usurioE e L de.eria ser e.i dente no DFD e nas es!ecifica0es de !rocessos !ara o sistema1 C DeiWeE !elo menosE meia !olegada de es!ao .ertical !ara cada lin"a de informao manuscrita em um formulrio1 DeiWe !elo menos 9G@ de !olegada e alguns m3lti!los de 9G< de !olegada !ara cada lin"a de informao datilografada em um formulrio1 Certifi Mue?se de Mue o datil<grafo no ten"a de realin"ar a mMuina de escre.er !ara cada lin"a de informao1 9H Alguns outros esMuemas de codificao alfa/2tica !arecem ser eWa tamente o!ostos aos mnemNnicosV so os cYdigos deri.ados de um ou mais dos atri/utos do elemento dc dado1 7m eWem!lo disso 2 o IH: cYdigo encontrado no rYtulo !ostal dc muitas re.istasV o cYdigo do assinante costuma ser com!osto !or uma !arte do 3ltimo nome do assinanteE seu endereoE cYdigo !ostalE data da eW!irao da as sinatura e outros detal"esE no sendoE !ortantoE muito mnemNnico> no " como algu2m !ossa memori&ar um cYdigo Mue muitas .e &es atinge :H ou @H caracteres dc com!rimento1 EntretantoE de!ois Mue o cYdigo 2 introdu&ido no sistemaE o registro do assinante !o de ser recu!erado com muita ra!ide&E o Mue !ode ser muito im !ortante em um /anco de dados de assinantes com alguns mil"0es de registros1 Mais informa0es so/re esses cYdigos deri.ados !o dem ser encontrados no IBM Form GF:$? DHC@E Data Processing Tec"nXMues1 Coding Met/ods1 99 Essa estimati.a 2 /aseada em um le.antamento feito em a!roWima damente IHH instala0es de com!utadores nos E7AE documentada !or -ient& e '4anson em 'oft4are Maintenance Management F*eadingE Mass1> Addison?5esle#E 9CDHO1 9: A segurana do com!utador 2 um im!ortante as!eclo !or si mesma e no 2 discutida em detal"es neste li.ro1 Para maiores in forma0esE consulte li.ros so/re segurana dc com!utadores e crimes em com!utadoresV al2m dissoE esta/elea entendimentos com o Com!uter 'ecurit# Institute FInstituto de 'egurana de Com!utadoresO1 9@ $s clculos de custoG/eneficio sero discutidos no a!Andice C1 IH@ 9 :: A FA'E DE P*$RET$ For dose desXgns and croo%ed counseis fliE 'agaciousE /oldE and tur/uieni of 4ilE *estiessE unfiW=d in !rinci!ies and !laceE in !o4er un!leas=dE im!atien> of dtsgrace A fier# soulE 4"ic" 4or%ing oul &i 4a#E Fretted l"e !#gm#?/od# lo deca#1111 Ro"n Dr#denE A/salorn and Ac"ito!"elE 9<DH 8este ca!XtuloE a!renderemos> 91 $s trAs nX.eis do !roLeto de sistemas1 :1 $s trAs !rinci!ais crit2rios de a.aliao do !roLeto de um sistema1 @1 Como desen"ar um diagrama estrutural1 J1 Como utili&ar o aco!lamento e a coeso !ara a.aliar um !roLeto1 Tuando o modelo de im!lementao do usurio est !rontoE a tarefa do analista de sistemas est oficialmente terminada1 Tudo Mue esti.er al2m desse !onto !assa a ser uma Muesto de im!lementao1 A !arte .isX.el desse tra/al"o so a !rogramao e os testesE Mue discutire mos no ca!Xtulo :@1 A !rogramaoE toda.iaE de.e ser !recedida !or uma ati.idade de nX.el mais ele.ado> o !mL elo1 Como analista de sistemasE .ocA !ode no !erce/er Mue est in teressado nos detal"es de !roLeto de sistemas ou de !roLeto de !rogra masV entretantoE como .imos no ca!Xtulo anteriorE as tarefas do analista IHK de sistemas e do !roLetista no !odem estar sem!re se!aradas1 Princi!al mente na rea do modelo de im!lementao do usurioE o analista de. certificar?se de Mue con"ece os reMuisitos do usurioE enMuanto o !roLe1 tista de.e garantir Mue esses reMuisitos seLam corretamente im!lementa1 dos com a atual tecnologia eWistente1 Dessa maneiraE 2 im!ortante Mue .ocA ten"a algum con"ecimento do !rocesso Mue o !roLetista eWecutar Muando sua tarefa esti.er terminada1 EWiste mais um moti.o !ara Mue .ocA se interesse !elo !roLeto dc sistemas> !ode acontecer de .ocA ter de fa&er o ser.io` Princi!almente nos sistemas de !eMueno e m2dio !orteE 2 normal a mesma !essoa do cumentar os reMuisitos do usurio e desen.ol.er o !roLeto1 AssimE .ocA !ode ter de decidir a mel"or maneira de ma!ear o modelo dos reMuisitos do usurio em uma configurao de .rias 7CPV .ocA !ode ter de decidir Mue o modelo de dados lYgicos Fdocumentado com os DE*O !ode ser im!lementado mel"or com um sistema de gerenciamenlo de /anco de dados e ter de decidir como as fun0es do sistema de.em ser alocadas a diferentes tarefas em cada !rocessador1 8o 2 !ro!Ysito deste li.ro discutir as ati.idades do !roLeto de sistemas com muitos detal"esV isso 2 mais /em feito em li.ros dedicados ao assuntoE como d 9CDD9E E6ourdon e ConstantineE 9CDC9E d e MeilorE 9CDIeE d 9CKIeE d 9CKKe e outros1 ContudoE eWaminaremos ra!idamente os !rinci!ais estgios de !roLeto e alguns dos mais im!ortantes o/Leti.os Mue o !roLetista de sistemas de.e tentar alcanar1 Como o !roLeto de sistemas e o !roLeto de !rogramas so as suntos se!aradosE .ocA de.e consultar as referAncias ao final deste ca!Xtulo no caso de !recisar de maiores informa0es1 ::19 $' E'T+GI$' D$ P*$RET$ A ati.idade de !roLeto inclui o desen.ol.imento de di.ersos mode losE Muase do mesmo modo como o analista de sistemas desen.ol.e modelos durante a fase de anlise de sistemas1 $s modelos de !roLeto e seu relacionamento com os modelos da anlise de sistemas discutidos neste li.ro so mostrados na figura ::191 $s modelos mais im!ortantes !ara o !roLetista so o modelo de im!lementao de s- e o modelo de im!lementao de !mg rama1 $ modelo de im!lementao de sistema su/di.ide?se em um modelo de !rocessador e um modelo de tarefa1 ::1919 $ Modelo de Processador A !rimeira tarefa Mue o !roLetista enfrenta 2 decidir como o modelo essencial FouE !ara ser mais eWatoE a !arte automaii&ada do modelo de IHD Figura ::19> Modelos de anlise e modelos de !roLeto IHC $DE-$ E''E8CIA- Incor!ora di.ersos dei essenciais de dados ; DE 8cQE- DE P*$CE''AD$* 8cQE- DE TA*EFA M$DE-$ DE 8cQE- DE P*$G*AMA im!lementao do usurioO ser alocado Zs !rinci!ais !eas de "ard4are e Z tecnologia de soft4are de sistemas1 Em nX.el de modelo de !rocessa dorE o !roLetista de sistemas tenta decidir !rinci!almente como o mode lo essencial de.er ser alocado aos diferentes !rocessadores F7CPO e como esses !rocessadores se intercomunicaro1 Costumam eWistir .rias o!0es> j Todo o modelo essencial !ode ser alocado a um sY !rocessador1 Isso costuma ser c"amado de soluo mainframe1 j Cada /ol"a no DFD figura $ do modelo essencial !ode ser aio? cada a uma diferente 7CP Fti!icamente um mmi ou microcom !utadorO=1 Isso costuma ser c"amado de soluo distri/uXda1 j Pode ser escol"ida uma com/inao de mainframesE minis e micros !ara minimi&ar custosE maWimi&ar a confia/ilidade ou alcanar algum outro o/Leti.o1 Assim como os !mcessos !odem ser designados !ara com!onen tes de "ard4are adeMuadosE os de!Ysitos de dados !odem tam/2m ser alocados1 Desse modoE o !roLetista de.e decidir se um de!Ysito ser im !lementado como um /anco de dados no !rocessador 9 ou no !ro cessador :1 Como a maioria dos de!Ysitos 2 com!artil"ada !or muitos !rocessosE o !roLetista tal.e& ten"a de decidir tam/2m se ser necessrio designar cY!ias du!licadas de de!Ysitos !ara !rocessadores diferentes1 A ati.idade de alocar !rocessos e de!Ysitos !ara os !rocessadores 2 mostrada na figura ::1:1 $/ser.e Mue MualMuer coisa al2m de uma im!lementao de !ro cessador?3nico en.ol.er algum mecanismo de comunicao entre !ro cessadoresV o Mue tradicionalmente 2 mostrado como fluWos de dados de.e agora ser es!ecificado em termos fXsicos1 Algumas das o!0es dis !onX.eis ao !roLetista de sistemas em termos de comunicao !rocessa dor?!rocessador 'o> j ConeWo direta entre os !rocessadores1 Isso !ode ser im!lemen tado !ela interligao dos !rocessadores !or um ca/oE ou !or um canal ou !or uma rede local1 Esse ti!o de comunicao costuma !ossi/ilitar a transmisso de dados de um !rocessador !ara outro a .elocidades Mue .ariam de IH1HHH /its !or segundo FZs .e&es a/re.iado como IH KBO a .rios mil"0es de /its !or segundo1 j 7m elo de telecomunica0es entre os !rocessadores1 Isso 2 al go /astante comum Muando os !rocessadores so fisicamente I9H Figura ::1:> Alocao de !rocessos e de!Ysitos a !rocessadores se!arados !or mais do Mue !oucas de&enas de metros1 De!en dendo da nature&a do elo de telecomunica0esE os dados sero normalmente transmitidos entre os !rocessadores a .elocidades entre @HH /its !or segundo e IH1HHH /its !or segundo1 7m elo indireto entre os !rocessadores1 $s dados !odem ser es critos em fitas magn2ticasE discos fleWX.eisE cart0es !erfurados ou em algum outro meio em um !rocessador e em seguida le.ados a outro !rocessador !ara serem usados como entrada1 $ 3ltimo F!or .e&es c"amado de ;interface disfaradalO 2 um caso um tanto eWtremoE mas ilustra um as!ecto im!ortante> a comunicao !ro cessador?!rocessador 2 normalmente muito mais lenta Mue a comunica o entre !rocessos F/ol"asO no mesmo !rocessador1 Por causa dissoE o !roLetista de sistemas "a/itualmente tenta agru!ar !rocessos e de!Ysitos Mue ten"am alto grau de comunicao no mesmo !rocessador1 Qrios fatores de.em ser le.ados em conta !elo !roLetista de sistemas ao fa&er essas aloca0es1 8ormalmenteE os !rinci!ais !ro/lemas so> I99 j Custo1 De!endendo da nature&a do sistemaE a im!lernentac de !rocessador?3nico !ode ou no ser a mais /arata1 Para algu mas a!lica0esE um gru!o de microcom!utadores de /aiWe !reo !ode ser a soluo mais econNmicaV !ara outrasE a im!le mentao no com!utador de grande !orte da em!resa !ode ser a mais !rtica e econNmica : j EficiAncia1 $ !roLetista de sistemas normalmente se !reocu!a com o tem!o de res!osta !ara sistemas on?line e com o tem!o de retorno !ara os sistemas de !rocessamento em lotes1 AssimE o !roLetista de.e escol"er !rocessadores e dis!ositi.os de arma&e namento de dados Mue seLam suficientemente r!idos e !odero sos !ara satisfa&er os reMuisitos de desem!en"o es!ecificados no modelo de im!lementao do usurio1 Em alguns casosE o !roLetista !ode escol"er uma im!lementao de m3lti!los !rocessadores de modo a Mue diferentes !artes do sistema !os sam ser eWecutadas em !araleloE acelerandoE dessa formaE o tem!o geral de res!osta do sistema1 Ao mesmo tem!oE o !roLe tista de.e se !reocu!ar com a ineficiAncia da comunicao !rocessador?!rocessadorE como L foi discutido1 Para eWem!lificarE su!on"amos Mue o !roLetista .eLa Mue o sistema cont2m uma funo de edio e uma funo de !ro cessoE como mostrado na figura ::1@1 Colocando cada funo em um !rocessador se!aradoE o !roLetista sa/e Mue o sistema !oder editar uma transao enMuanto simultaneamente eWecuta o !rocessamento de outra transaoE !resumi.elmente me l"orando a eficiAncia geral do sistema1 Por outro ladoE as transa0es editadas tero de ser remetidas de uma 7CP !ara a outraV isso !ode ser muito eficiente se !uder ser feito atra.2s de uma coneWo direta de "ard4areE ou muito ineficienteE se a comunicao se !rocessar !or meio de .agarosas lin"as de telecomunicao1 j 'egurana1 $ usurio final !ode ter reMuisitos de segurana Mue determinem a instalao de alguns Fou de todosO !rocessadores eGou dados im!ortantes em locali&a0es !rotegidas1 $s reMuisi tos de segurana tam/2m !odem determinar a nature&a da Fou a ausAnciaO comunicao !rocessador?!rocessadorV !or eWem!loE o !roLetista !ode ser o/stado de transmitir dados de um !roces sador !ara outro !or lin"as telefNnicas comuns no caso de as? informa0es serem confidenciais1 I9: Figura : :1@> Comunicao !rocessador?!rocessador j Confia/ilicJade1 $ usurio final normalmente es!ecifica reMuisi tos de confia/ilidade !ara um no.o sistemaV esses reMuisitos !odem ser eW!ressos em termos de inter.alo de tem!o entre fal"as Fmean time /et4een failure ? MTBFO ou inter.alo de tem!o entre re!aros Fmean time to re!air ? MTI=*O ou de dis !oni/ilidade do sistema 1 Em MualMuer cisoE isso !ode ter in fluAncia decisi.a no ti!o de configurao do !rocessador escol"ido !elo !roLetista> ele !ode decidir se!arar os !rocessos do sistema em di.ersos !rocessadores diferentes de modo a Mue alguma !arte do sistema se manten"a dis!onX.el ainda Mue outras !artes esteLam ino!erantes face a uma fal"a de "ard4are1 Como alternati.aE o !roLetista !ode decidir im!lementar cY!ias redundantes de !rocessos eGou dados em m3lti!los !rocessa doresE tal.e& at2 com !rocessadores de reser.a Mue !ossam entrar em ao no caso de alguma fal"a1 Isso 2 mostrado na figura ::1JV mesmo Mue a 7CP fal"e Fo Mue 2 mais !ro..elE !or ser um com!leWo com!utador de grande !orteOE as 7CP indi.i duais de edio !odem continuar o!eracionais ? coletandoE editando e arma&enando transa0es !ara !osterior !rocessa mento1 De forma anlogaE se alguma das 7CP a!resentar !ro/le masE as outras !ossi.elmente continuaro funcionando1 j *estri0e !olXticas e o!eracionais1 A configurao de "ard4are tam/2m !ode ser influenciada !elas restri0es !olXticas dire tamente im!ostas !elo usurio finalE !elas !essoas de outros nX.eis de c"efia da organi&ao ou !elo de!artamento de o!e ra0es res!ons.el !ela manuteno e o!erao de 1todos os sistemas de !rocessamento1 Isso !ode le.ar a uma es!ecXfica I9@ transao res!osta DC Cn 1H oE CD F9O CD o DC o DC Cfl Figura ::1J> M3lti!los !rocessadores .isando a confia /ilXdade escol"a de configurao de "ard4areE ou !ode o/star a escol"a de certos fornecedores1 De forma anlogaE as restri0es am/ien tais Ftem!eraturaE umidadeE eW!osio a radiaoE !oeiraGsuLeiraE .i/ra0esO !odem ser im!ostas ao !roLetistaE tendo forte in fluAncia na configurao do !rocessador Mue ele ou ela escol"er1 ::191: $ Modelo de Tarefa De!ois de alocar !rocessos e de!Ysitos a !rocessadoresE o !roLetis ta de.eE usando um m2todo de !rocessador !or !rocessadorE designar !rocessos e de!Ysitos de dados a tarefas indi.iduais em cada !rocessa dor1 A noo de tarefa 2 comum a .irtualmente todas as marcas de "ard 4areE em/ora a terminologia !ossa di.ergir de fornecedor !ara fornece dor> alguns utili&am a eW!resso !artioE enMuanto outros !referem usar as eW!ress0es Lo/ ste!E o.erla# ou !onto de controle1 'em considerar os nomesE a figura ::1I mostra como um !rocessador tX!ico di.ide sua rea de arma&enamento dis!onX.el em reas se!aradasE cada uma gerencia da !or um sistema o!eracional centralE $ !roLetista de sistemas nor malmente tem de aceitar o sistema o!eracional do fornecedor Fem/ora !ossa escol"er entre .rios sistemas o!eracionais diferentes !ara um determinado com!utadorOE mas o !roLetista tem a li/erdade de decidir Muais !artes do modelo essencial designado !ara aMuele !rocessador de.em ser alocadas a tarefas indi.iduais dentro do !rocessador1 $/ser.e Mue os !rocessos em um mesmo !rocessador !odem !recisar se comunicar atra.2s de alguma forma de !rotocolo de I9J res!osta comunicao intertarefas1 $ mecanismo Mue se ocu!a disso .aria de for necedor !ara fornecedorE mas 2 Muase uni.ersalmente .erdadeiro Mue a comunicao ocorre atra.2s do sistema o!eracional do fornecedorE como ilustrado !ela figura ::1<1 Assim como a transmisso de dados de um !rocessador !ara outro !rocessador 2 relati.amente lenta e ineficienteE a comunicao de dados Fou sinais de controleO de uma tarefa !ara outra tarefa no mesmo !rocessador tam/2m 2 ineficiente1 A comunicao entre !rocessos na mesma tarefa costuma ser muito mais eficiente1 Assim sendoE o !roLetista de sistemas normalmente tentar conser.ar na mesma tarefa os !rocessos Mue ten"am grande .olume de comunica0es1 Em um !rocessador indi.idual nem sem!re 2 e.idente se as ati.i dades ocorrem sincroni&adamente ou noV isto 2E nem sem!re 2 e.idente se a!enas uma coisa !ode acontecer em um determinado instante ou se m3lti!las coisas1 8o caso tX!icoE cada !rocessador indi.idual tem a!enas uma 7CPE Mue sY !ode eWecutar instru0es !ara um !rocesso de cada .e&1 EntretantoE se um !rocesso esti.er es!erando !or alguma entrada ou saXda de um dis!ositi.o de arma&enamento FdiscoE fitaE terminal de .Xdeo etc1OE o sistema o!eracional do !rocessador !ode !assar o con trole !ara outra tarefa1 Desse modoE o !roLetista de sistemas muitas .e &es !ode simular Mue cada tarefa seLa uma ati.idade inde!endente e assXncrona1 ::191@ $ Modelo de Im!lementao de ProEg rama Por fimE atingimos o nX.el dc tarefa indi.idualV nesse !ontoE o !ro Letista de sistemas L !re!arou dois nX.eis de alocao dc !rocessos e 'I'TEMA $PE*ACI$8A- IAKtI?A 9 9 AK/I?A : 9 A8-I?A Figura ::1IV A organi&ao de tarefas em um !rocessador I9I IIIE` liii I arma&enamento de dados1 Em uma tarefa indi.idualE o com!utado funciona na modalidade assXncronaV sY !ode ocorrer uma ati.idade k cada .e&1 $ modelo mais utili&ado !ara organi&ar a ati.idade com um sY unidade sincroni&ada 2 o diagrama estruturalE Mue mostra a orga ni&ao "ierrMuica dos mYdulos de uma tarefa1 $s !rinci!ais com !onentes de um diagrama estrutural so a!resentados na figura ::1K1 A leitura dessa !eMuena estrutura de.e ser feita da seguint maneira> notao de mYdulo notao de c"amada Fca99O de um mYdulo 'I'TEMA $PE*ACI$8A- Figura ::1<> Comunicao entre tarefas com um !rocessador J?mYdulo dec"a notao de !arPmetros de entrada sendo !assados !ara o mYdulo c"amado de c"amada ? o mYdulo c" Figura : :1K> Com!onentes de um diagrama estrutural I9< j $ mYdulo A 2 o mYdulo eWecuti.o mais ele.ado do sistema com!osto !elos mYdulos A e B1 $ moti.o !elo Mual A 2 identi ficado como o mYdulo su!erior Fsu!erordenadoO no 2 !orMue esteLa to!ologicamente situado acima do mYdulo BE e sim !orMue no 2 c"amado !or MualMuer mYduloE $ mYdulo BE !or outro ladoE 2 dito ser su/ordinado ao mYdulo A F!resume?se Mue o mYdulo A seLa c"amado !elo sistema o!eracional do com!utadorO1 j $ mYdulo A cont2m uma ou mais instru0es eWecut.eisE in cluindo uma c"amada ao mYdulo B1 Essa c"amada !ode ser im !lementada !or um comando CA-- em linguagens como F$* T*A8V ou um comando PE*F$*M ou CA-- 7'I8G em C$B$-V ou sim!lesmente !ela c"amada do nome de B em outras lingua gens1 $ diagrama estrutural e.ita deli/eradamente indicar Muan tas .e&es o mYdulo A realmente c"ama o mYdulo BV isso .ai de !ender da lYgica interna de !rograma no mYdulo A1 Desse modoE !ode "a.er no mYdulo A um comando como este> ; guerra?nuclear?correar CA-- MYdulo?E em cuLo caso o mYdulo B Lamais ser c"amado1 Mas tam/2m !oderia eWistir um comando de !rograma no mYdulo A do se guinte ti!o> D$ 5BI-E eWistirem !edidos no arMui.o PEDID$' CA-- MYdulo?B D$ em cuLo caso o mYdulo B !oderia ser c"amado mil"ares de .e&es1 j Tuando o mYdulo B 2 c"amadoE a eWecuo do mYdulo A 2 sus !ensa1 $ mYdulo B comea a ser eWecutado a !artir de sua !rimeira instruo eWecut.el e Muando terminaE sai ou retorna !ara o mYdulo AE Mue reenceta sua eWecuo a !artir do !onto em Mue "a.ia !arado1 j $ mYdulo A !ode ou no !assar !arPmetros de entrada !ara o mYdulo B como !arte de sua c"amada e o mYdulo B !ode retornar ou no !arPmetros de saXda ao restituir o controle !ara I9K o mYdulo A1 8o eWem!lo mostrado na figura ::1KE o mYdulo !assa os !arPmetros X e 6 !ara o mYdulo BE e este retorna o !arPmetros P e T1 As defini0es detal"adas de XE 6E P e F seriam normalmente encontradas no dicionrio de dados1 mecPnica real de transmisso de !arPmetros .ariam de uma lir guagem de !rogramao !ara outra1 A figura ::1D mostra um eWem!lo de um com!leto diagrama estru tural1 $/ser.e Mue ele cont2m Muatro nX.eis de mYdulosV isso normal mente re!resentaria um !rograma de cerca de IHH a 9HHH instm0e !resumindo?se Mue cada mYdulo re!resente de IH a 9HH instru0es di !rograma y EWiste uma Y/.ia !ergunta neste !onto> como o !roLetista de siste mas transforma um modelo de !rocessos em rede de um diagrama dJ fluWo de dados no modelo sincroni&ado re!resentado !or um diagram estrutural[ Alguns li.ros so/re !roLeto de sistemasE incluindo lPage?Rone 9CDDe e d e ConstantineE 9CDCeE discutem detal"adamente ess Muesto1 Como a figura ::1C mostraE eWiste uma estrat2gia !ara transfor mar o modelo de rede de fluWo de dados em um modelo de diagram estrutural sincroni&adoV na realidadeE a estrat2gia 2 em geral con"ecid como !roLeto centrali&ado na transformao1 $ !roLeto centrali&ado ru transformao 2 a!enas uma das di.ersas estrat2gias !ara con.erte um modelo de rede de fluWo de dados em um modelo "ierrMuico sin Figura ::1D> 7m eWem!lo de diagrama estrutural I9D Diagrama estrutural deri.ado1 Figura ::1C> Estrat2gia de !roLeto centrali&ado na transformao >roni&adoV d 9CDDeE -6ourdon e ConstantineE 9CDCe e d e .9ellorE 9CDIe discutem .rias dessas estrat2gias1 $/ser.e Mue cada /ol"a le !rocesso no diagrama de fluWo de dados mostrado na figura ::1C >orna?se um mYdulo no diagrama estrutural deri.adoV essa situao 2 ealista se os !rocessos forem relati.amente !eMuenos e sim!les FeW1> se i es!ecificao do !rocesso for menor Mue uma !gina de linguagem struturadaO1 Al2m do mYdulo Mue im!lementa os !rocessos do fluWos le dadosE 2 e.idente Mue o diagrama estrutural tam/2m cont2m mYdulos Lara coordenar e gerenciar a ati.idade geralE /em como mYdulos ledicados a tra&er entradas !ara o sistema e le.ar saXdas !ara fora do Vistema1 I9C Oiagrama a/strato de fluWo de dados $utras estrat2gias de !roLeto utili&am o diagrama de entidade relacionamentos ou outras formas de diagramas de estrutura de dado como !onto de !artida da deri.ao do adeMuado diagrama estrutura .eLa d 9CKI9 e d 9CKK9 !ara mais informa0es so/re essa estrat2gias de !roLeto1 ::1: META' E $BRETIQ$' D$ P*$RET$ Al2m de ter de alcanar os o/Leti.os de !roLeto es!ecificados o modelo de im!lementao do usurioE o !roLetista tam/2m se !reocu! com a Mualidade geral do !roLeto1 A ca!acidade dos !rogramadores er im!lementar um sistema de alta Mualidade e li.re de erros de!ende sc /remaneira da nature&a do !roLeto criado !elo !roLetista1 Analogameni a ca!acidade dos !rogramadores de manuteno em fa&er altera0es ni sistema de!ois Mue ele entrar em o!erao de!ende da Mualidade di !roLeto1 A rea do !roLeto estruturado cont2m di.ersas diretri&es detal"ada Mue aLudam o !roLetista a determinar Mue mYdulos e Mue interligaNe entre eles im!lementaro de forma mel"or os reMuisitos es!ecificado !elo analista de sistemasV todos os li.ros relacionados no final deste ca !Xtulo /aseiam?se nessas diretri&es1 As duas diretri&es mais im!ortante so o aco!lamento e a coeso1 Essas e algumas outras diretri&es comun sero discutidas agora1 j Coeso1 $ grau em Mue os com!onentes de um mYdulo Fti!ica mente as instru0es indi.iduais de !rocessamento Mue com !0em o mYduloO so necessrios e suficientes !ara eWecuta uma funo 3nica e /em definida1 Isso na !rtica significa Mue 9 !roLetista de sistemas de.e assegurar Mue ele ou ela no su/di .idiu !rocessos essenciais em mYdulos fragmentadosV e o !roLe tista de.e assegurar tam/2m Mue ele ou ela no agru!ou !roces sos no relacionados Fre!resentados !or /ol"as no DFDO en mYdulos sem significado1 $s mel"ores mYdulos so os fisncic nalmente coesos Fisto 2E mYdulos nos Muais cada instruo d !rograma 2 necessria !ara a eWecuo de uma tarefa 3nic e /em definidaO e os !iores so os coesos !or coincic FmYdulos cuLas instru0es de !rogramas no tAm MualMuer rela cionamento significati.o entre siO 1 j Aco!lamento1 ^ o grau em Mue os mYdulos se interligam ou s relacionam entre si1 Tuanto mais forte for o aco!lamento entn os mYdulos de um sistemaE mais difXcil ser sua im!lementa e manutenoE !orMue a modificao de um mYdulo necessitar I:H um cuidadoso estudoE assim como as !ossX.eis altera0es e mo difica0es de um ou mais dos outros mYdulos1 Isso na !rtica significa Mue cada mYdulo de.e ter interfaces sim!les e claras com outros mYdulos e Mue o menor n3mero !ossX.el de ele mentos de dados de.e ser com!artil"ado !elos mYdulos1 Tam/2m significa Mue um mYdulo no de.e modificar a lYgica interna ou os dados de outro mYduloE o Mue 2 con"ecido !or coneWo !atolYgica Fo temido comando A-TE* do C$B$- 2 um Ytimo eWem!loO1 Taman"o do mYdulo1 'e !ossX.elE cada mYdulo de.e ser sufi cientemente !eMueno de modo a Mue a listagem de seu !ro grama cai/a em uma !gina FouE como alternati.aE Mue !ossa ser eWi/ido er! uma tela do terminalO1 8aturalmenteE Zs .eses no 2 !ossX.el determinar Mual ser a eWtenso do mYdulo at2 Mue ten"am sido escritas as instru0es do !rograma realV mas as ati.idades iniciais de !roLeto muitas .e&es do ao !roLetista uma /oa !ista do taman"o e com!leWidade Mue o mYdulo ter1 'e for o casoE o mYdulo grande e com!leWo !oder ser di.idido em um ou mais nX.eis de su/mYdulos Fem raras ocasi0esE os !roLe tistas criam mYdulos eWtremamente tri.iaisE !or eWem!loE mYdu los com !ostos de duas ou trAs lin"as de cYdigo1 8esse casoE .rios mYdulos !odem ser reunidos em um su!ermYdulo maiorO1 j Am!litude do contmle1 ^ o n3mero de su/ordinados imediatos Mue !odem ser c"amados !or um mYdulo gerenciador1 7m mYdulo no de.e c"amar mais do Mue a!roWimadamente meia d3&ia de mYdulos de nX.el inferior1 A ra&o !ara isso 2 e.itar a com!leWidade> se um mYdulo ti.erE digamosE :I mYdulos de nX.el inferiorE ele !ro.a.elmente conter lYgica de !rogramas demasiadamente com!leWa Fna forma de declara0es IF ani n"adasE itera0es D$?5,I-E anin"adas etc1O Mue ningu2m ser ca!a& de com!reender1 A soluo !ara uma situao dessas 2 introdu&ir um nX.el intermedirio de mYdulos gerenciadoresE como um gerente em uma organi&ao "umana fa& Muando !erce/e Mue est su!er.isionando diretamente :I su/ordinados imediatos < j Esco!o do efeitoGesco!o do controle1 Esta diretri& sugere Mue MualMuer mYdulo afetado !elo resultado de uma deciso seLa su/ordinado Fem/ora no necessariamente su/ordinado ime diatoO ao mYdulo Mue toma a deciso1 Isso 2 algo anlogo a uma diretri& gerencial Mue di& Mue MualMuer funcionrio afetado !ela I:9 conseMaAncia de uma deciso de um gerente Fisto 2E dentro d esco!o do efeito da decisoO de.e estar dentro do esco!o d controle daMuele gerente Fisto 2E tra/al"ando em algum !ont na "ierarMuia de !essoas Mue se su/ordinam ZMuele gerenteO1 .iolao dessa diretri& em um am/iente de !roLeto estruturad "a/itualmente condu& Z !assagem desnecessria de sinais c"a.es Fo Mue aumenta o aco!lamento entre os mYdulosOE a de cis0es redundantes ou Fo Mue 2 !iorO coneW0es !atolYgicas entr os mYdulos1 ::1@ *E'7M$ Ainda " muito o Mue a!render so/re !roLetoE mas com esta intro duo .ocA de.e com!reender o !rocesso desen.ol.ido !elo !roLetist de sistemas1 Como .imosE a !rimeira eta!a 2 ma!ear o modelo essencia dos reMuisitos do usurio em uma configurao de !rocessadores1 En seguidaE em cada !rocessadorE o !roLetista de.e decidir como aloca !rocessos e dados a diferentes tarefas1 Por fimE de.e organi&ar os !roces sos de cada tarefa em uma "ierarMuia de mYdulosE utili&ando o diagram estrutural como ferramenta de modelagem1 $/ser.eE aindaE Mue !ro.a.el.ente !recisaro ser acrescentadoE !rocessos e re!ositYrios de dados adicionais ao modelo de im!lementa o !ara acomodar os recursos es!ecXficos da tecnologia de im!lementa o1 Por eWem!loE !odem ser necessrios !rocessos adicionais !ara au .idades de .erificao de errosE edio e .alidao Mue no foram mos tradas no modelo essencialV mais outros !rocessos !odem se fa&er ne cessrios !ara o trans!orte de fluWos de dados entre 7CPs1 De!ois diss !rontoE a !rogramao !ode se iniciar1 A !rogramao e os testes 'Cr discutidos no ca!Xtulo :@1 *EFE*b8CIA' 91 Meilir Page?RonesE T/e Practical Guide to 'tructured '#stem DeslgnE :a ed1 Engle4ood CliffsE 81R1> Prentice?,all1 9CDD1 :1 Ed4ard 6ourdon e -arr# -1 ConstantineE 'tructured Design> Funda mentais of a D of Com!uter Program and '#stems Desig Engle4ood CliffsE 81R1> P 9CDC1 @1 Paul 5ard e 'te.e MellorE 'tructured De.elo!ment for *ea9?Tin '#stemsE Qolume @1 8o.a RorMue> 6$7*D$8 PressE 9CD<1 J1 Mic"ael Rac%sonE Princi!ies ofProgram Design1 8o.a lorMue> Aca demic PressE 9CKI1 I:: I1 Ken $rrE 'truclured '#stems De.elo!ment1 8o.a lorMue> 6$7*D$8 PressE 9CKK1 PE*G78TA' E EXE*CcCI$' 91 Tual 2 a ati.idade Mue se segue ao desen.ol.imento do modelo de im!lementao do usurio em um !roLeto tX!ico de desen.ol.i mento de sistemas[ :1 Tuais so os trAs !rinci!ais estgios da fase de !roLeto no desen .ol.imento de um sistema[ Tue modelos o !re!arados durante essas trAs eta!as[ @1 Por Mue os modelos so im!ortantes durante a fase de !roLeto[ 91 Tual 2 o !rinci!al !ro!Ysito do modelo de !rocessador durante a ati.idade de !roLeto[ I1 DA trAs eWem!los de como os !rocessos em um modelo essen cial !odem ser ma!eados !ara as 7CP em um modelo de im!lementao1 <1 Tue decis0es de.em ser tomadas durante a ati.idade de modela gem de !rocessadores em relao aos de!Ysitos de dados Mue foram identificados no modelo essencial[ K1 A!resente trAs m2todos con"ecidos !ara a comunicao entre !rocessadores1 D1 Tuais fatores o !roLetista de.e le.ar em considerao ao escol"er um desses trAs m2todos[ Tual desses fatores .ocA considera ser o mais im!ortante[ C1 'e .ocA esti.er tra/al"ando em um !roLeto de desen.ol.imento de sistemas em Mue a confia/ilidade tem alta !rioridadeE como isso afetaria sua deciso so/re a alocao dos !rocessos essenciais e dos de!Ysitos essenciais a diferentes !rocessadores[ 9H1 DA um eWem!lo de como as restri0es !olXticas !odem influir na alocao de tarefas e de!Ysitos essenciais a diferentes !rocessadores1 991 $ Mue 2 um modelo de tarefa no conteWto deste ca!Xtulo[ Tuais so seus com!onentes[ 9:1 A!resente trAs sinNnimos con"ecidos !ara tarefa1 9@1 'o/ Mue circunstPncias tarefas diferentes !odem funcionar simultaneamente[ 9J1 ProLeto de PesMuisa> escol"a um com!utador comum e um sistema o!eracional1 EW!liMue como diferentes tarefas funcionando so/ o controle de um sistema o!eracional !odem comunicar?se umas com as outras1 Tual 2 a so/recarga tX!ica Fem termos de tem!o de 7CPE utili&ao de memYria e de outros recursos significati.os de "ard4areO causada !or essa comunicao intertarefas[ I:@ 9I1 DA uma definio de modelo de im!lementao de !rograma Tuais so seus com!onentes[ 9<1 Como o !roLetista de.e transformar um modelo essencial de DFI assXncrono e orientado !ara redes em um modelo sincroni&ado "ierrMuico[ 9K1 'o/ Mue condi0es cada /ol"a no modelo essencial torna?se ur mYdulo no modelo de im!lementao de !rograma[ 9D1 A!resente duas estrat2gias de !roLeto con"ecidas1 Faa uma resu mida descrio de cada uma1 9C1 Tual 2 o !rinci!al o/Leti.o Mue o !roLetista tenta alcanar Muar do ele ou ela con.erte o modelo essencial em um modelo d im!lementao[ :H1 Tue outros o/Leti.os o !roLetista "a/itualmente tenta atingir Muar do ele ou ela cria um modelo de im!lementao[ 8$TA' 9 Perce/a Mue isso 2 algo irrealE em face da tecnologia com!uta cional do final dos anos DHE !ara MualMuer sistema no?tri.ial1 ' um sistema ti.er IHH /ol"as !rimiti.as no DFD do modeli essencialE seria realista considerar a im!lementao do sistema er IHH 7CP se!aradas[ Isso mudar em meados da d2cada de CH1 : -em/re?se de Mue eWiste um oramento !ara todo o !roLetoE Mu de.e ter sido esta/elecido como !arte do !rocesso de anlise F.eL o ca!Xtulo IO1 Assim sendoE o !roLetista de.e escol"er o sistem mais eficiente Mue se enMuadre nesse oramento1 EntretantoE n se esMuea do fato de Mue os oramentos !odem se modificar> o oramentos feitos na fase de anlise eram a!enas estimati.as !odem estar suLeitos a re.iso se o !roLetista demonstrar Mue 2 ne cessrio gastar mais din"eiro !ara uma im!lementao aceit.el1 @ Costuma?se definir dis!oni/ilidade de um sistema como a !ercen tagem de tem!o em Mue o sistema est dis!onX.el !ara o uso1 El> !ode ser calculada com /ase no MTBF e no M9T* da seguint maneira> dis!oni/ilidade s MTBFG FMTBFtMTT*O J 8aturalmenteE um mYdulo c"amado EXT*AI* CA*ACTE* ni soa como se eWigisse de IH a 9HH instru0esV ele !oderia !recisa de a!enas dois ou trAs comandos em uma linguagem de !rc gramao de alto nX.el tX!ica1 EntretantoE em uma linguagem d /aiWo nX.elE orientada !ara a mMuinaE seriam eWigidas muitas ins tru0es a mais1 I:J I EWem!los de mYdulos funcionalmente coesos so CA-C7-A* *AIg?T7AD*ADAE CA-C7-A*?'A-+*I$?-cT7ID$ e QA-IDA*? E8DE*E($?DE?C-IE8TE1 7m eWem!lo de mYdulo coeso !or coin cidAncia 2 F78(rE'?MI'TA'1 < EWiste uma eWceo !ara issoE con"ecida como centro de transa 0es1 'e o mYdulo gerenciador fa& a!enas uma deciso sim!les !ara c"amar um dos su/ordinados imediatosE ento a lYgica do !rograma desse gerenciador ser !ro.a.elmente /astante sim!les1 8esse casoE no !recisamos nos !reocu!ar com a am!litude de controle do gerenciador1 I:I :@ P*$ G*AMA()$ E TE'TE' ^ im!ossX.el dissociar a linguagem da ciAncia ou a ciAncia da lingua gemE !orMue toda ciAncia natural sem!re en4%e trAs coisas1 a seMuAncia dos fenN menos nos Muais a ciAncia se fundamentaE os conceitos a/stratos Mue tra&em esses fenNmenos menteV e as !ala.ras em Mue os conceitos so e Para es!ressar um conceito uma !ala.ra 2 necessriaV !ara descre.er um fenNmeno 2 necessrio um conceito1 $s trAs refletem todos a mesma e 3nica realidade1 Antoine -aurent -a.oisier Trait2 Elementaire de C"imieE 9KDC $ Mue temos de fa&er 2 estar sem!re testando no.as o!ini0es e !rocuran do no.as im!ress0es com curiosidade1 5alter PaterE T"e *enaissanceE 9DK@ 8este ca!XtuloE a!renderemos> 91 $ !a!el do analista de sistemas na !rogramao e nos testes1 :1 PorMue o fast?trac%ing 2 .antaLoso durante a !rogra mao e os testes1 @1 $ Mue o analista de sistemas de.e !rocurar Muando eWaminar um !rograma1 J1 As !rinci!ais formas de testes Mue de.em ser eWecutados1 A !rogramao e os testes normalmente comeamE como era de se es!erarE Muando termina a ati.idade de !roLeto1 A !rogramaoE ou fase I:K de im!lementao de um !roLeto tX!ico en.ol.e a escrita de instru0e em C$B$-E Pascal ou em alguma outra linguagem de !rogramao !ar im!lementar o Mue o analista de sistemas es!ecificou e o Mue o !roLeti ta organi&ou em mYdulos1 $s testesE como o !rY!rio nome di&E en.ol .em a eW!erimentao do sistema !ara .er se ele !rodu& as saXdas corre tas e a!resenta o com!ortamento correto !ara um grande n3mero1d= entradas1 Por Mue isso de.e interessar ao analista de sistemas= 8o 2 .erdadi Mue .ocA L de.eria no estar mais en.ol.ido neste !onto= 8oE no ne cessariamente1 Por .rios moti.osE o tra/al"o Mue os !rogramadores e o testadores fa&em !odem influir em seu tra/al"oE e a maneira como .oo organi&a seu tra/al"o !ode influir na maneira como eles reali&am deles1 Esse interrelacionamento entre a anlise de sistemas e a !rograma oGtestes 2 o assunto deste ca!Xtulo1 :@19 $ PAPE- D$ A8A-I'TA 8A P*$G*AMA()$ E 8$' TE'TE' 8o caso mais eWtremoE o analista de sistemas termina seu tra/al" de es!ecificar o sistema eE em seguidaE dcs!cnde algum tem!o com eMui!e de !roLeto Muando o modelo de im!lementao est desen.ol.i do e Muando ocorrem os !rimeiros estgios de !roLeto1 MasE Muando !rogramao se iniciaE o analista de sistemas !ode ter se transferido !ar outro !roLeto1 Por2mE eWistem alguns moti.os !ara Mue .ocAE como ana lista de sistemasE !ossa !recisar !ermanecer en.ol.ido no !roLeto Muan do comear a ati.idade de !rogramao> 7m moti.o sim!les1 QocA 2 o lXder do !roLetoE e 2 o res!ons.e !elos !rogramadores1 ^ Y/.io Mue .ocA no os !ode a/ando nar1 QocA estar en.ol.ido no !roLeto at2 os testes finaisE aceita o e entrega ao usurio final1 PortantoE 2 im!ortante Mue .oc sai/a se os !rogramadores escre.eram !rogramas de alta Muali dadeE e 2 igualmente im!ortante sa/er se eles testaram os !ro gramas adeMuadamente1 j $utro moti.o sim!les1 QocA 2 um analista de sistemas L3niorE e c seu cargo 2 !rogramadorGanalista ou analistaG!rogramador1 As simE al2m de desen.ol.er as es!ecifica0es do sistemaE .ocA tam/2m est en.ol.ido na escrita dos !rogramas1 j 7m moti.o mais inleressanle1 QocA fa& !arte do gru!o Mu !re!ara casos de testes Mue sero usados !ara testar os !ro1 gramas escritos !elos !rogramadores1 Em muitos !roLetosE .oc I:D !ode ser acom!an"ado nessa ati.idade !or um ou mais usuriosE de acordo com a teoria segundo Mual os usurios so as !essoas mais ca!acitadas a imaginar os mais incomuns e eW ce!cionais casos !ara teste1 $ desen.ol.imento de dados de teste !ode comear assim Mue a es!ecificao ti.er terminado Fna .erdadeE at2 antes de estar totalmente terminadaOV como Tom DeMarco di&E _A es!ecificao 2 o teste do sistema]1 Como nesse momento .ocA sY con"ece o conte3do lYgico das entra das e saXdasE .ocA !ro.a.elmente ter de es!erar at2 Mue o modelo de im!lementao do usurio esteLa !ronto antes de !oder esta/elecer o formato fXsico das entradas e saXdas1 QocA tam/2m !recisar do modelo de im!lementao do usurio !ara sa/er Muais restri0es o!eracionais Ftem!o de res!ostaE .olu mes etc1O !recisaro ser testadas1 Mas essa ati.idade !ode facil mente mantA?lo ocu!ado at2 o final do !roLetoV afinalE se os !ro gramas fracassarem nos testesE .ocA ter de tra/al"ar com os !rogramadores !ata .er se o caso de teste est errado ou se os !rogramas esto errados1 j 7m mot4o no to n/.io1 QocA !ode estar en.ol.ido no desen .ol.imento dos manuaisE treinando os usuriosE !laneLando a instalao do no.o sistema e a con.erso dos dados do sistema antigo1 8a maioria dos casos isso !ode ocorrer em !aralelo com a !rogramao e testes do no.o sistema1 'endo .ocA o analista en.ol.ido com o no.o !roLeto desde o inXcioE .ocA muitas .e&es ser .isto como o candidato ideal !ara desem!en"ar essa tarefa1 j 7m moti.o de1sencoraLador1 $s !rogramadores !odem no en tender sua es!ecificao1 $u ela !ode estar incom!letaE incon sistente ou contraditYria1 Ts%` Ts%` Mas essas coisas acontecemE e .ocA !ode !erce/er Mue os !rogramadores !recisam !rocur?lo !eriodicamente !ara re.isar e esclarecer a es!ecificao na medida em Mue eles a con.ertem !ara uma linguagem de !ro gramao1 $utra .ariao deste tema> os !rogramadores !odem !edir?l"e Mue mod a es!ecificao !orMue esto tendo dificuldades !ara im!lement?la1 8esse casoE naturalmenteE .ocA ter de ser o mediador Fe tam/2m o int2r!reteO entre os !rogra madores e os outros analistas de sistemas1 j $utro moti.o desencoraLador1 $s usurios !odem comear a mudar de o!inio a res!eito dos reMuisitos Muando os !ro gramadores L esti.erem im!lementando os reMuisitos Mue dis seram deseLar1 Al2m do fato de alguns usurios serem irritadios e fa&erem isso sY !elo !ra&er de o fa&eremE eWistem /oas ra&0es I:C !ara esse fenNmenoV os usurios .i.em em um mundo dir e muitas .e&es !recisam cum!rir altera0es de normas Mue l"e so im!ostas !ela legislao go.ernamentalE !or eWigAncia dc clientes ou !elas condi0es gerais do mercado1 AssimE !od ocorrer de .ocA ter de modificar a es!ecificao Lusto Muando o !rogramadores a esteLam im!lementandoE algo Mue no fa& nir gu2m feli&E mas !ode ter de ser feito1 Isso ser discutido n seo :@1J1 :@1: $ IMPACT$ DA A8+II'EE DA P*$G*AMA()$ 9 D$' TE'TE' 8A E'T*7T7*A $*GA8IKACI$8Ae Atra.2s deste li.roE ficou e.idente Mue a anlise estruturada en.o .e uma firme !rogresso desde os as!ectos de modelagem de alto nX. FeW1> diagramas de fluWo de dados de nX.el su!eriorO aos as!ectos d modelagem dos nX.eis mais /aiWosE como o desen.ol.imento de es!eci fica0es de !rocessos e de um dicionrio de dados com!leto e detal": do1 De forma semel"anteE o !rocesso de !roLeto en.ol.e o desen.ol.i mento de modelos de !roLeto desde diagramas estruturais de alto nX.el elementos de /aiWo nX.elE como !seudocYdigo e fluWogramas1 A !rogn mao de.e seguir esse mesmo !adro> os !rogramas tAm de ser escrito !ara mYdulos de eWecuo de alto nX.el e sero e.entualmente deser .ol.idos !ara os mYdulos do nX.el mais /aiWoE Mue eWecutam clculo detal"adosE .alidao de elementos de dados etc1 7ma coisa so/re a Mual ainda no discutimos 2 o relacionament entre os nX.eis do sXslema e os nX.eis da oi Mue constrYi sistema1 Por2m 2 !ro..el Mue .ocA ten"a ficado com a im!ressoE a! ler Muase todo este li.roE Mue as !essoas Mue ostentam o tXtulo de anali tas de sistemas so res!ons.eis !or todo o tra/al"o de anlise de sistc masE as Mue tAm o tXtulo de !roLelistas de sistemas so res!ons.eis !el tra/al"o de !roLeto e as Mue tAm o tXtulo de !rogramadores so as re !ons.cis !elo tra/al"o de escre.er os !rogramas1 8o o/stanteE eWiste um !ro/lema com essa a/ordagem ? de fatc dois !ro/lemas relacionados1 PrimeiroE as !essoas Mue tAm o tXtulo d analistas de sistemas so normalmente sen"ores com .rios anos d eW!eriAncia1 Em/ora esses sen"ores geralmente a!reciem a tarefa d desen"ar diagramas de fluWo de dados e de entidades?relacionamento 2 im!ro..el Mue se interessem !ela !ers!ecti.a de escre.er centena de es!ecifica0es de !rocessos e de definir mil"ares de elementos d dados1 EE de!oisE " o outro lado desse !ro/lema> se o !essoal mais gr duado eWecuta de fato todo esse detal"ado tra/al"oE o Mue so/ra !ara o !rogramadores[ A tarefa deles torna?se Muase mecPnica !or nature&a I@H con.ertendo cuidadosamente es!ecifica0es de !rocessos em C$B$- ou F$*T*A81 TualMuer Mue fosse a criati.idade Mue eles !ensa.am !ossuir em suas tarefas !arece ter desa!arecido 9 7ma soluo !ara esse a!arente dilema 2 !ermitir Mue o !essoal mais graduado eWecute todas as ati.idades de alto nX.el do !roLeto e deiWar os elementos de nX.el L3nior fa&erem todo o ser.io detal"ado de /aiWo nX.el1 Isso significariaE !or eWem!loE Mue o !essoal sAnior FMue !ossui o tXtulo de analista de sistemas sAnior ou algo igualmente res!ei t.elO no somente eWecutaria as ati.idades de alto nX.el da anlise de sistemas Fdesen"ando diagramas de fluWo de dados e congAneresO mas tam/2m as ati.idades de alto nX.el de !roLeto de sistemas e se encarre garia at2 FarMueLem` estremeam`O da escrita de cYdigo de alto nX.el1 EnMuanto issoE o !essoal de nX.el L3nior estaria en.ol.ido no !roLeto desde o !rincX!io Fou to logo os mais graduados ti.essem terminado os as!ectos de alto nX.el da anliseO e estaria tam/2m en.ol.ido na tarefa de escre.er es!ecifica0es de !rocessos e de mYdulosE de redigir os itens do dicionrio de dados e de escre.er os !rogramas dos mYdulos de /aiWo nX.el1 A .antagem desse esMuema !ara os !rogramadores 2 Mue eles tAm de fa&er o tra/al"o criati.o dc escre.er as es!ecifica0es de !rocessos e assim tAm o !ra&er de transformar em cYdigo suas !rY!rias es!ecifica 0es de !rocessos1 Esse esMuema os en.ol.e no !rocesso de anlise de sistemas desde os estgios iniciais de suas carreiras do Mue seria !ossX.el de outra forma1 A!resenta ainda a .antagem de conser.ar os elementos de nX.el sAnior em contato com a tecnologia !or for?los a continuar eWecutando tarefas de !roLeto e de !rogramao1 8em todos os analistas de sistemas sAnior concordam em Mue isso seLa uma /oa id2iaE em/ora admitam Mue a eles no agrade a maada de escre.er todas as es!ecifica0es detal"adas de !rocessos como !arte de seu tra/al"o1 Em MualMuer casoE eWiste uma crescente concordPncia em Mue a tarefa de !rogramaoE Muando !recedida !or uma cuidadosa e detal"ada anlise de sistemas do ti!o descrito neste li.roE torna?se uma tarefa ser.il e /urocrtica Mue !ode desa!arecer com!letamente Muando desen.ol.ermos geradores de cYdigo Mue !ossam com!ilar as es!ecifi ca0es de !rocessos diretamente1 Dessa formaE !odemos es!erar Mue as em!resas modificaro gradualmente o modo de tra/al"ar nos !rYWimos I a 9H anos !ara se ada!tarem s id2ias acima discutidas1 :@1@ FA'T?T*ACKI8G E IMP-EME8TA()$ T$P?D$58 J= $utra im!resso Mue .ocA !ode ter tido da leitura deste li.ro> Mue as ati.idades de anlise dc sistemas de.em ser eWecutadas e com!letadas I@9 antes Mue as ati.idades de !roLeto e !rogramao seLam iniciadas1 Ein/c ra muitos !roLetos seLam desen.ol.idos dessa maneiraE isso no 2 estri tamente necessrio1 As ati.idades de anlise de sistemasE de !roLeto e d !rogramao !odem a.anar em !aralelo umas em relao Zs outras1 $ conceito de desen.ol.imento !aralelo da es!ecificaoE do !ro Leto e da codificao de um sistema 2 !or .e&es c"amada de fast?trac%in e 2 referenciada em alguns li.ros F.eLaE !or eWem!loE l6ourdonE 9CDDe como im!lementao to!?do4n1 Ela no 2 3nica na rea do !rocessa mento1 A id2ia foi discutida de maneira sucinta no ca!Xtulo IE mas .oo !ode re.er o conceito de im!lementao to!?do4n como !arte do ci cio de .ida do desen.ol.imento de sistemas Mue discutimos naMuel ca!Xtulo1 A ind3stria da construo e muitas disci!linas de engen"aria se guem essa a/ordagem em muitos !roLetos1 Como muitos gerentes d !roLetos de construo di&emE ;8o 2 necessrio sa/er o n3mero d maanetas de um edifXcio antes Mue os alicerces esteLam !rontos]1 8 caso do desen.ol.imento de um sistema de informa0esE isso signific Mue os !rodutos de alto nX.el da anlise de sistemasE os documento estruturais de diagramas de fluWo de dadosE diagramas de entidades relacionamentos e diagramas de transi0es de estadoE !odem ser usado como fundamentos !ara o !roLeto de alto nX.el1 E esse !roLeto de ait nX.el !ode ser em!regado como fundamento !ara se escre.er cYdigo d alto nX.el antes Mue os detal"es da anlise de sislemas ten"am sid com!letados1 Esta a/ordagem a!resenta muita fleWi/ilidae1 Pode?se com!leta DHf do tra/al"o de anlise de sistemas antes de iniciar?se o !roLeto e !rogramaoE ou !ode?se com!letar a!enas 9Hf1 7m !lano Mue eWiL> um tra/al"o de anlise dc sistemas Muase com!leto antes do !roLeto di sistemas costuma ser c"amado de a/ordagem conser.adoraV um !lan Mue necessite de Muase total !aralelismo da anlise de sistemasE do !ro Leto de sistemas e da !rogramao 2 con"ecido como uma a/ordagen radical1 Todo gerente dc !roLeto !ode decidir Muo radical ou conser.a dor de.er ser seu !roLetoE e !ode mudar de o!inio dinamicamenti durante o !roLeto1 Por Mue o gerente do !roLeto escol"eria a a/ordagem radical[ Po Mue algu2m iria Murer comear o tra/al"o de !roLeto de sistemas e di !rogramao antes de terminar a anlise de sistemas[ EWistem muito moti.osE dos Muais os Mue se seguem so os mais im!ortantes> Como as ati.idades de anlise de sistemasE de !roLeto e dc !ro gramao so eWecutadas de forma concorrenteE eWiste "a/i tualmente uma o!ortunidade de encurtar su/stancialmente tem!o decorrido de um !roLeto1 Em alguns am/ientes isso !od ser imensamente im!ortanteV !or eWem!loE Muando um sistemV I@: temE de maneira a/soluta e !ositi.aE de ser terminado at2 uma certa data1 j $ tra/al"o de desen.ol.imento concorrente !ode ser utili&ado como uma forma de !rototi!ao> ele !ossi/ilita Mue a eMui!e do !roLeto mostre uma .erso esMueleto do sistema ao usurio antes Mue todo o tra/al"o detal"ado de anlise de sistemas esteLa terminado1 Isso !ode aLudar a e.itar maiores mal?entendi dos entre o usurio e o analista de sistemas Mue de outra forma !oderiam ocorrer mesmo com a es!ecificao estruturada mais cuidadosamente desen.ol.ida1 j Comear o tra/al"o de !rogramao em um momento anteci !ado do !roLeto muitas .e&es sua.i&a di.ersas necessidades de recursosE como tem!o de mMuinaE MueE de outra formaE !oderia transformar?se em um gargalo1 Por eWem!loE a a/ordagem con ser.adora muitas .e&es eWigiu enormes .olumes de tem!o du rante os estgios finais de testesE e isso !ode ser um grande !ro/lema1 'e o gerente de !roLeto .ai decidir?se !ela a/ordagem conser.ado ra ou !ela radical est fora do esco!o deste li.roV alguns am/ientes de !roLeto !odem fa.orecer a a/ordagem conser.adora e outros se mostra ro mais indicados !ara uma a/ordagem altamente radical1 $ !rinci!al a ser lem/rado 2 Mue a a/ordagem de anlise estruturada descrita neste li.ro no desaconsel"a MualMuer a/ordagem e nem insiste em MualMuer delas1 :@1J P*$G*AMA()$ E -I8G7AGE8' DE P*$G*AMA()$ 'e .ocA ainda esti.er en.ol.ido no !roLeto durante o estgio de im!lementaoE .ocA de.e ter !elo menos um con"ecimento geral dos as!ectos e t2cnicas de !rogramao1 8esta seoE discutiremos> j -inguagens de !rogramao dc Muarta gerao j As!ectos im!ortantes de !rogramao j $ Mue !rocurar Muando .ocA eWaminar a codificao do !rogramador I@@ :@1J19 As Tuatro Gera0es das -inguagens de Programao $s !rogramas .Am sendo escritos desde Mue os com!utadores d em!rego geral foram desen.ol.idos a cerca dc JH anos atrs1 $s !rogra mas so escritos em linguagens de !rogramaoE das Muais BA'IC C$B$- e F$*T*A8 so eWem!los con"ecidos1 ^ !rtico agru!ar toda as diferentes linguagens de !rogramao FeWistem algumas centenas k linguagens diferentes em uso !elo mundoO em Muatro gera0es distintas j -inguagens de !rimeira gerao1 As linguagens de !rograma o de !rimeira gerao foram as linguagens de mMuina usada nos anos IHV os !rogramadores Mue deseLassem Mue o com!uta dor fi&esse alguma coisa codifica.am as instru0es em uns e &e ros /inrios1 ,oLe ainda " ocasi0es em Mue um com!utador de feituoso emite !ginas de dXgitos confusosV e ainda " alguns Lo .ens mal orientados Mue !ensam Mue linguagem de mMuina 2 mel"or meio de Logar com com!utadores !essoais1 Mas o restr do mundo !arou de !ensar em linguagem de mMuina " cerca de :I anos1 j -inguagens de segunda gerao As linguagens de segunda ge rao so as sucessoras da linguagem de mMuinaV elas so ge ralmente con"ecidas como linguagens de montagem ou assem /ler1 As linguagens de segunda gerao so de /aiWo nX.el nc sentido de Mue a !rogramadora tem de escre.er uma instruc !ara cada instruo de mMuina1 AssimE em/ora ela conceitual mente !ossa !ensar em termos da instruo X s 6 t gE teria dc con.erter as seguintes declara0es cm linguagem de montagem C-EA* AC7M7-AD$* -$AD 6 I8T$ AC7M7-AD$* ADD g T$ C$8TE7D$ DE AC7M7-AD$* 'T$*E AC7M7-AD$* I8 X Mesmo este !eMueno eWem!lo mostra a !rinci!al des.antageni da linguagem de montagem1 Em .e& de ser ca!a& de raciocinai em termos do !ro/lema Mue ela Muer resol.erE a !rogramadora tem de !ensar em termos de mMuina1 A !artir de cerca de 9C<HE linguagens mais !oderosas comearam a a!arecerV os !ro1 gramadores mais eMuili/rados a/andonaram a linguagem d montagem desde ento1 Infeli&menteE ainda " algumas si tua0es em Mue tais linguagens so necessrias1 A maioria delas en.ol.e com!utadores muito !eMuenos e de /aiWa energia FMue I@J !odem ser fa/ricados a /aiWo custo e Mue so suficientemente !eMuenos !ara ca/eremE digar=iosE em um relYgio digitalO Mue no tAm ca!acidade !ara tolerar a so/recarga associada s linguagens de alto nX.el1 -inguagens de terceira gerao As linguagens de terceira gera o so a norma "oLe cm diaV elas incluem BA'ICE C$B$-E F$*T*A8E PascalE CE Ada e muitas outras1 Elas so de alto nX.el no sentido de Mue um 3nico comando Fcomo _M$QE A T$ B] em C$B$-O "a/itualmente re!resenta de cinco a de& instru0es em linguagem de montagem FeE Zs .e&esE em torno de cem instru0esOV elas so de alto nX.el no sentidoE ainda mais im!or tanteE de Mue !ermitem Mue a !rogramadora eW!resse !ensa mentos de uma forma mais com!atX.el com a rea do !ro/lema em Mue ela est tra/al"ando1 EntretantoE elas so de /aiWo nX.el so/ alguns as!ectos im!ortantes1 Elas eWigem Mue o !rograma dor esteLa estreitamente en.ol.ido no tedioso tra/al"o de forma tar a diagramao Fla#outO dos relatYrios e editar e .alidar as entradas do !rograma1 $ !rogramador muitas .e&es dir !ara si mesmo> \este relatYrio de.eria ter o ca/eal"o !adro no alto de cada !ginaE com o n3mero da !gina Z direita e a data Z esMuerdaE como todos os nossos outros relatYrios]E mas ele !ode ter de escre.er :H ou @H comandos C$B$- !ara o/ter isso As linguagens de terceira gerao tam/2m se caracteri&am como linguagens !rocedurais1 Elas eWigem Mue o !rogramador medite cuidadosamente so/re a seMaAncia de clculosE ou so/re o !ro cedimentoE necessrio !ara eWecutar alguma ao1 Em uma a!li cao cientXficaE !or eWem!loE o !rogramador !ode sa/er Mue deseLa somar o arra# A ao arra# BV entretantoE ele !ode ser forado a escre.er as eta!as !rocedurais detal"adas !ara somar cada um dos elementos dos dois arra#sE em lugar de di&er sim !lesmente _'ome estes dois arra#s] sem se !reocu!ar com as eta!as !rocedurais1 j -Xn de Muarta gerao As linguagens de Muarta gera oE ou -JGE constituem a atrao atual e so consideradas !or alguns consultores de com!utao como o mais im!ortante a.ano na rea de soft4are dos 3ltimos :H anos1 Algumas delas L eWistem !or cerca de uma d2cadaE !or2m sY tornaram?se con"ecidas " !oucos anos1 EWem!los de -JG I F$C7'E IDEA-E MA*K IQE MA8TI'E MAPPE*E dBA'E?III Plus e */ase IHHH1 A maioria dessas linguagens tAm as caracterXsticas da !ro gramao estruturada de Mue carecem as antigas linguagens de I@I terceira geraoE mas elas dis!0em ainda de outros recursos1 En !articularE a maioria dos tediosos detal"es de !rogramao asso ciados Z o/teno de dados !ara o com!utador F.ia terminalO oculta do !rogramadorV com um sim!les comandoE o !rograma dor !ode es!ecificar Mue o com!utador de.e aceitar um deter minado ti!o de dado a !artir do tecladoE .alid?lo e arma&en?% em um elemento de dado indicado1 A mesma tarefa !oderi eWigir 9H ou :H comandos de uma linguagem de !rograrnac de terceira gerao ou de 9HH a :HH instru0es de uma lin guagem de segunda gerao1 De modo semel"anteE muitos dos a/orrecidos detal"es de !ro gramao associados Z !roduo de relatYrios de saXda FeW1 listas de in.entriosE c"eMues de !agamentoE faturas ou um re sumo dirio dos !edidosO so mani!ulados automaticament !elas linguagens de Muarta gerao1 'e o !osicionamento eWat da informao no dis!ositi.o de saXda do com!utador for relati .amente sem im!ortPncia Fo Mue freMaentemente 2 o casoOE !rogramador nem seMuer !recisa es!ecific?loV caso contrra Fcomo no caso de c"eMues de !agamento !rodu&idos em com !utadorE onde os .alores de.em ser im!ressos em local eWatoO os detal"es so facilmente es!ecificados em !oucas instru0e de -JG1 :@1J1: As!ectos Im!ortantes da Programao TualMuer Mue seLa a linguagem de !rogramao usadaE eWisten alguns !ro/lemas Mue se de!aram a todos os !rogramadores1 Comc analista de sistemas .ocA de.e con"ecA?los1 $s !ro/lemas mais comun so os seguintes> Produti.idade $ mais im!ortante !ro/lema de !rogramac "oLe !ro.a.elmente 2 o da !roduti.idade> a o/teno de mai soft4are escrito com mais ra!ide& do Mue nunca1 $ !rinci!a moti.o disso 2 o enorme /ac%log de sistemas e a!lica0es ainda no escritos nas grandes organi&a0es> a grande organi&ac tX!ica tem um /ac%log de Muatro a sete anos dc no.os ser.ios serem feitos : Dessa maneiraE as linguagens e t2cnicas de !ro gramao Mue fa.orecem a !roduti.idade esto sendo adotada eE eWceto em raros casosE a !roduti.idade est sendo conside1 rada como mais im!ortante "oLe do Mue a eficiAncia1 I@< j EficiAncia> Em algumas a!lica0esE a eficiAncia ainda 2 im!or tante1 Isso .ale !ara muitos sistemas de tem!o?real e !ode .aler !ara outros ti!os de sistemas Mue !rocessam grandes .olumes de dados FeW1> a maioria dos sistemas eWecutados na 'ocial 'ecu rit# Agenc#E /em como outros igualmente muito grandes em /ancosE em o!era0es de reser.a de !assagens a2reasE em!re sas corretoras de .alores e em!resas de segurosO1 Para essas a!lica0esE costuma ser im!ortante minimi&ar o tem!o de 7CP eWigido !elo !rogramaV !ode tam/2m ser im!ortante minimi&ar a utili&ao da memYria e a utili&ao de outros recursos como os discos1 $/ser.e Mue a meta da eficiAncia est "a/itualmente em conflito com as outras metas discutidas nesta seo> Muando se des!ende mais tem!o desen.ol.endo um !rograma eficien teE ele !ro.a.elmente ser menos manutenX.el e menos !orttilE tendo !ro.a.elmente sutis erros residuais e !ossi.elmente de gradar a !roduti.idade de Muem escre.eu o !rograma1 j Correa Pode?se argumentar Mue este seLa o as!ecto mais im !ortante1 AfinalE se um !rograma no funcionar corretamenteE no im!orta Muo eficiente ele 21 As linguagens de !rogramao como Ada e Pascal so consideradas !referX.eis Muando a cor reo 2 um fator essencial Fcomo seriaE !or eWem!loE !ara al gu2m tra/al"ando no sistema 'tar 5ars ou construindo um sis tema de controle !ara um reator nuclearO !orMue elas so _forte mente ti!adas]> o !rogramador 2 solicitado a declarar a nature&a de suas .ari.eis Fse so inteirasE caracteresE de !onto flutuante etc1O e a linguagem .erifica cuidadosamente !ara im!edir referAncias ilegais a dadosE e coisas semel"antes1 j Porta/ilidacle Em alguns am/ientes a !orta/ilidade 2 im!or tanteV o usurio !ode Muerer !rocessar o mesmo sistema em di.ersos ti!os de com!utadores1 Algumas linguagens de !ro gramao so mais !ortteis do Mue outrasV ironicamenteE isso 2 mais .lido !ara linguagens de terceira gerao FCE PascalE F$*T*A8E C$B$- etc1O do Mue !ara as de Muarta1 EntretantoE nM eWiste uma linguagem inteiramente !orttilV sem!re eWiste uma forma !ara o !rogramador /eneficiar?se dos recursos es!e ciais de um determinado com!utador ou de um determinado sistema o!eracional1 Desse modoE al2m da linguagem de !ro gramaoE tam/2m de.emos nos !reocu!ar com o estilo da !rogramao Muando a !orta/ilidade for um fator im!ortante1 j Manuteni/ilidade Por fimE de.emos lem/rar?nos Mue os sis temas .i.em !or um longo tem!o e o soft4are !recisa ser I@K mantido1 A manuteno ser discutida em maiores detal"es nc ca!Xtulo :J1 :@1J1@ As!ectos a 'erem EWaminados Como analista de sistemasE .ocA !ode ter ocasio de eWaminar F ser.io feito !elos !rogramadores do !roLetoV na .erdadeE .ocA !ode sei o su!er.isor deles1 Como acima indicadoE .ocA de.elem/rar?se de Mue !roduti.idadeE eficiAnciaE correoE !orta/ilidade e a manuteni/ilidad so !ro.a.elmente as!ectos im!ortantes1 MasE como essas metas !oden ser alcanadas[ QocA de.e consultar outros li.rosE como l6ourdonE 9CK< e d e Plaug"erE 9CKI9E Mue a!resentam detal"es so/re a t2cnicas de !rogramaoV contudoE eis alguns im!ortantes as!ectos v !rogramao> Programao estruturada> Presumindo?se Mue os !rogramas es teLam escritos em uma linguagem de terceira ou Muarta gerao de.e ser seguida uma a/ordagem de !rogramao estruturada Ela organi&a toda a lYgica do !rograma Fdecis0es e laosO en com/ina0es anin"adas de constru0es de IF?T,E8?E-'E e D$ 5,I-E1 Tuase todos os li.ros modernos de !rogramao ensi nam uma a/ordagem de !rogramao estruturadaV .eLaE !H eWem!loE E5elisE 9CD<9E IBenton e 5ee%esE 9CDI9E l6ourdon Gane e 'arsonE 9CK<9 e l6ourdon e -isterE 9CKK91 MYdulos !eMuenos> ^ essencial Mue os !rogramas seLam organi &ados em !eMuenos mYdulos !ara Mue a lYgica da !rogramac !ossa acomodar?se em uma !gina da listagem de um !ro grama1 ^ im!ortante lem/rar Mue a com!leWidade de um !ro grama no cresce linearmente com o taman"o do !rograma> urr !rograma com 9HH instru0es ser Muase sem!re mais de dua .e&es mais com!leWo Mue um dc IH instru0es1 Como .imos nc ca!Xtulo ::E isso est !rinci!almente so/ o centrole do !roLe tistaV mas o !roLetista !ode no estar a!to a di&er Muo grand ser um mYduloE !rinci!almente se no con"ecer /em a lingua gem de !rogramao Mue ser em!regada no !roLeto1 Assin sendoE o !rogramador !ode ter de eWercer a tarefa de !roLeto di.idindo o mYdulo em su/mYdulos de nX.el inferior de forma Mue cada um re!resente no mais de IH instru0es1 'im!licidade de eslXlo> Muitos li.ros de !rogramaoE com F6ourdonE9CK<9 e FKernig"an e Plaug"erE 9CKI9E oferecem de tal"adas diretri&es !ara a escrita de !rogramas sim!les ? I@D !rogramas Mue o !rogramador m2dio !ode com!reender e Mue !odem ser confiados ao !rogramador de manutenoV entre es sas diretri&es est a sugesto de Mue o !rogramador de.e e.itar instru0es com eW!ress0es /ooleanas com!ostas1 Por eWem!loE IF A A8D B $* 8$T C A8D D T,E8 ADD @ T$ X1 ^ interessante o/ser.ar Mue alguns modelos matemticos da com!leWidade de !rogramas foram desen.ol.idos nos 3ltimos de& anos ? um dos mais con"ecidos 2 o modelo de com!leWi dade ciclomtica de McCa/e F.eLa FMcCa/eE 9CK<eOE Mue oferece uma medida Muantitati.a da com!leWidade intrXnseca de um !rograma 1 Algumas em!resas atualmente determinam Mue todos os no.os !rogramas seLam eWecutados atra.2s de um .e rificador automati&ado de com!leWidade !ara assegurarem?se de Mue eles no seLam demasiadamente com!leWos1 :@1I TE'TE' $ !rocesso de testes !ro.a.elmente ocu!ar cerca de metade do cronograma de desen.ol.imento de seu sistemaE de!endendo do cuida do com Mue ten"am sido eWecutadas as ati.idades iniciais de anliseE !roLeto e !rogramao1 Mesmo no caso de ter sido eWecutada uma tarefa rerfeita de anlise de sistemasE !roLeto e !rogramaoE 2 !reciso algum esforo !ara .erificar se no " erros1 'eE !or outro ladoE ti.er sido feito um mau ser.io Fo Mue Muase sem!re acontece`OE ento os testes tornam Ie iterati.os> a !rimeira rodada de testes denuncia a !resena de erros e as rodadas su/seMaentes .erificam se os !rogramas corrigidos L esto Funcionando corretamente1 $ Mue .ocA !recisa sa/er so/re testes como analista de sistemas[ d naturalmente de!ender de Muanto .ocA esti.er en.ol.ido no !ro >esso1 Em muitos casosE o analista de sistemas tra/al"a em estreita asso >iao com o usurio !ara desen.ol.er um conLunto com!leto e a/ran ;ente de casos de testes fundamentados no modelo essencial e no nodelo de im!lementao do usurio do sistema1 Esse !rocesso de tesen.ol.imento de casos de testes de aceitao !ode ser eWecutado em Daralelo com as ati.idades de im!lementao de !roLeto e !rogramaoE te modo MueE Muando os !rogramadores ti.erem terminado seus !ro ramas e eWecutado seus !rY!rios testes locaisE a eMui!e usurioGanalista star !ronta !ara seus !rY!rios casos de testes1 Al2m desse conceito /sico FMue a descrio dos reMuisitos do isurio forma a /ase dos casos de testes finaisOE .ocA de.e con"ecer I@C os .rios ti!os de testesE /em como alguns conceitos estreitament relacionados com eles1 ^ o Mue discutiremos a seguir1 :@1I19 Ti!os de Testes A esta alturaE !ode no l"e "a.er ocorrido Mue eWiste mais de un ti!o de teste> Mue mais !ode "a.er al2m de imaginar casos de testes de!ois .erificar se o sistema funciona corretamente[ A !rimeira coisa a com!reender 2 Mue eWistem diferentes estrat2 glas de testes> as duas mais con"ecidas so os testes /ottom?u! e os to! do4n1 A a/ordagem /ottom?u! comea !or testar os mYdulos !eMueno de forma indi.idualV essa modalidade 2 muitas .e&es c"amada de tes te de unidadeE teste de mYdulo ou teste de !rograma1 Em seguidaE o mYdulos indi.iduais so reunidos em unidades cada .e& maiores !arV serem testadas em conLuntoV isso costuma ser c"amado de teste de su/ sistemas1 Por fimE todos os com!onentes do sistema so com/inado !ara serem testadosE o Mue 2 con"ecido como teste do sistemaE e muitas .e&es seguido !elos testes de aceitaoE Muando o usurio !od su/meter seus !rY!rios casos de teste !ara .erificar se o sistema est funcionando corretamente1 A a/ordagem de testes to!?do4n !rinci!ia com um arca/ouo dF sistemaV isto 2E a estrat2gia de testes !resume Mue os mYdulos de eWecu o de alto nX.el do sistema foram desen.ol.idosE mas Mue os mYdulo de /aiWo nX.el eWistem a!enas como simula0cs ou _stu/s] ComoV maioria das fun0es detal"adas do sistema no foram im!lementadasE o testes iniciais so muito limitadosE $ !ro!Ysito 2 a!enas comear a testa as interfaces entre os !rinci!ais su/sistemas1 $s testes su/seMaentes tor nam?se em seguida cada .e& mais a/rangentesE testando as!ectos cadV .e& mais detal"ados do sistema1 A a/ordagem to!?do4n de testes geralmente considerada mel"or !ara a maioria dos sistemas atualment F!ara mais detal"esE .eLa d 9CD<9O1 Al2m desses conceitos /sicosE .ocA de.e con"ecer os seguinte ti!os de testes> j Testes funcionais> Esta 2 a mais con"ecida forma de testes1 F o/Leti.o 2 .erificar se o sistema eWecuta corretamente suas fun 0es normais1 PortantoE os casos de testes sero desen.ol.idos introdu&idos no sistemaV as saXdas Fe os resultados da atuali &ao de arMui.osO sero eWaminadas !ara testar sua correo1 j Testes de recu!era o $ o/Leti.o deste ti!o de teste 2 .erifica se o sistema !ode recu!erar?se adeMuadamente de .rios ti!o de fal"as1 Isso 2 es!ecialmente im!ortante em grandes sistema IJH on?line e em .rios ti!os de sistemas de tem!o?real Mue con trolem dis!ositi.os fXsicos eGou !rocessos de fa/ricao1 $s tes tes de recu!erao !odem eWigir Mue a eMui!e de !roLeto simule Fou !ro.oMueO fal"as de "ard4areE faltas de energiaE fal"as do sistema o!eracional do fornecedor e assim !or diante1 Testes de desem!en"ct $ o/Leti.o deste ti!o de teste 2 .erificar se o sistema !ode mani!ular o .olume de dados e transa0es rece/idas es!ecificadas no modelo de im!lementao do usurioE /em como .erificar se ele a!resenta o tem!o de res !osta necessrio1 Isso !ode eWigir Mue a eMui!e de !roLeto si mule uma eWtensa rede de terminais on?lineE de modo a le.ar o sistema a !ensar Mue est funcionando so/ uma grande carga1 EWiste ainda um 3ltimo conceito Mue .ocA de.e con"ecer> a noo de testes com!letos1 8o !roLeto idealE gerarXamos casos de testes Mue co/ririam todas as entradas !ossX.eis e toda !ossX.el com/inao de si tua0es com Mue o sistema !oder se defrontarV ento testarXamos eWaus ti.amente o sistema !ara assegurar Mue seu com!ortamento seria !er feito1 , um 3nico !ro/lema Muanto a i''$> no funciona` A Muantida de de casos de teste !ara um tX!ico sistema grande e com!leWo 2 to a/surdamente grandeE muitas .e&es da ordem de 9H casos distintos ou mais MueE ainda Mue !ud2ssemos efetuar um teste a cada milissegundoE le.arXamos mais tem!o Mue a idade do uni.erso !ara eWecutar todos os testes` Em conseMaAnciaE ningu2m efetua realmente testes eWausti.os em algo al2m de um sistema tri.ialV na mel"or das "i!Yteses os desen.ol.edores do sistema !odem es!erar criar casos de teste Mue .erificaro Fou co/riroO uma grande !ercentagem dos diferentes cami n"os de deciso Mue o sistema !ode seguir 1 Isso fa& com Mue seLa ainda mais im!ortante garantir Mue o modelo dos reMuisitos do usurio e os di.ersos modelos de im!lementao seLam to corretos Muanto !ossX.el1 'u!on"aE !or eWem!loE Mue algu2m Muisesse !re!arar casos de teste !ara a !arte de um sistema Mue calcula o salrio lXMuido de um em!regadoE como mostrado na figura :@191 Imagine Mue salrio /ruto esteLa definido no dicionrio de dados como um inteiro Fisto 2E um sa lrio eW!resso !or um .alor inteiro na moeda correnteO .ariando entre $ e 9H1HHH1 EntoE !oderia !arecer Mue um teste com!leto consistiria em es!ecificar Mual seria o salrio lXMuido correto !ara cada uma das 9H1HHH !ossi/ilidades do .alor de salrio /ruto1 Poder?se?ia su!or MueE se a eMui!e de im!lementao eWecutasse os 9H1HHH casos de teste e .eri ficasse Mue fora !rodu&idoE de fatoE o salrio lXMuido corretoE !NderXa mos confiar em Mue o !rocesso estaria funcionando corretamente1 Es!ere` E os .alores !otencialmente incorretos do salrio /ruto[ E se o usurio introdu&ir um salrio /ruto negati.o[ E se ele introdu&ir IJ9 um salrio /ruto de 9HH1HHH[ Como eWiste um n3mero !otencialmence infinito de .alores !ossX.eis !ara salrio /ruto <E e como no temos co n"ecimento do com!ortamento interno do !rograma Mue im!lementa CA-C7lA* 'Al+*I$ -cTIRID$E nYs nos defrontamos com um a!aren temente infinito n3mero de casos de teste1 'e os casos de teste forem de sen.ol.idos no final da fase de anlise do !roLetoE com utili&ao do di cionrio de dados e da es!ecificao de !rocessosE no " meio de sa /ermos como o !rograma funcionar Muando o !rogramador escre.er o cYdigo eE desse modoE somos forados a eWecutar um teste ti!o caiWa !reta1 Tuando con"ecemos a lYgica e a estrutura interna do !rograma Fisto 2E de!ois de o !rogramador ter escrito o !rogramaOE !odemos Fun damentar os casos de testes na lYgica do !rograma e eWecutar o Mue muitas .e&es 2 c"amado de testes de ;caiWa de .idro] ou de ;caiWa /ranca]1 Geralmente !odemos demonstrar Mue seE !or eWem!loE o !ro grama identificar corretamente um .alor de salrio /ruto inferior a &eroE ele identificar corretamente todos os .alores negati.os de salrio /ruto1 Em geralE de.emos ser ca!a&es de demonstrar Mue o !rograma a!resentar com!ortamento consistente !ara di.ersos inte[ .alos de salrio /rutoE eE assimE redu&irmos o n3mero necessrio de testes a um n3mero gerenci.el1 Em/ora isso no se constitua em testes com!letosE !odemos !resumi.elmente alcanar um nX.el de confiana mais ele.ado de Mue desen.ol.emos casos de testes !ara todos os camin"os significati.os Mue o !rograma !ode tomar1 MasE es!ere` CA-C7-A* 'A-+*I$ -cT7ID$ 2 a!enas um !ro cessoE uma /ol"a entre centenasE e tal.e& mil"aresE de um grande siste ma1 'e forem necessriosE digamosE 9HHH casos de testes !ara .erificar se CA-C7-A* 'A-+*I$ -cT7ID$ est funcionando corretamente Fem termos de correo funcionalOE ento !oderiam ser necessrios 9HHH testes !ara cada um dosE digamosE 9HHH outros !rocessos do sistema1 A Muantidade total de casos de testes distintos !oderiaE entoE alcanar 9HHH } 9HHH s 91HHH1HHH1 E isso em uma estimati.a moderada Fsem considerar a dimenso de com!leWidade adicionada !elos testes de desem!en"oE testes de recu!erao etc1O` Desse modoE temos de admitir Mue testes com!letos so uma im!ossi/ilidade1 Mas !odemosE como eW!licamos acimaE escol"er salrio /ruto salrio lXMuido Figura :@19> 7ma !eMuena !arte de um sistema IJ: Ludiciosamente casos de testesE de forma a .erificarmos tantos camin"os lYgicos do sistema Muantos seLam !ossX.eis1 Mesmo assimE !recisamos estar !re!arados !ara um grandeE seno enormeE .olume de testes1 Para Mue esses testes seLam eWecutados de maneira efica&E a eMui!e de desen .ol.imento de sistemas necessita de trAs coisas> !lanos de testesE descri0es de testes e !rocedimentos de testes1 7m !lano de teste 2 eWatamente o Mue o nome di&E um documento organi&ado Mue descre.e alguma ati.idade de teste1 7m !lano de teste tX!ico cont2m as seguintes informa0es> j $/Leti.o do teste> Mual 2 o o/Leti.o do teste e Mue !arte do sistema ser testada1 j -ocali&ao e cronograma do teste> onde e Muando o teste ser reali&ado1 j Descri0es de testes> uma descrio das entradas Mue sero intro du&idas no sistema e as saXdas e resultados anteci!ados1 As des cri0es das entradas de teste "a/itualmente so fornecidas no formato do dicionrio de dados discutido no ca!Xtulo 9H1 j Procedimentos de testes> uma descrio de como os dados de testes de.em ser !re!arados e su/metidos ao sistemaE como os resultados de saXda de.em ser col"idosE como os resultados dos testes de.em ser analisados e de MuaisMuer outros !rocedimen tos o!eracionais Mue de.am ser o/ser.ados1 :@1I1: Conceitos *elacionados Em/ora muitas em!resas eWecutem os testes na modalidade acima descritaE eWistem alguns conceitos relacionados Mue !odem ser utili&ados !ara mel"orar o !rocesso !adro de testes1 Entre eles esto os seguintes> j Camin"amentos F5al%t"roug"sO j Ins!e0es j Pro.as de correo $s camin"amentosE discutidos no a!Andice DE so uma forma de re.iso de !rodutos t2cnicosV so am!lamente utili&ados na ind3stria de !rocessamento de dados !ara re.isar diagramas de fluWo de dados Fe outros !rodutos da anlise de sistemasOE diagramas estruturais Fe outros IJ@ !rodutos de !roLetoO e tam/2m !rogramas1 Em/ora diferentes dos testes seus o/Leti.os so os mesmos> desco/rir !ossX.eis erros no sistema1 As ins!e0es so semel"antes aos camin"amentosE mas com um agenda um !ouco mais formal de itens Mue de.em ser eWaminados n !rograma Fou na es!ecificaoE ou no !roLetoE de!endendo do ti!o dc ins!eoO !ara Mue ele !ossa ser a!ro.ado1 Para fa&er uma analogia considere o Mue ocorre a cada ano em Mue seu carro 2 ins!ecionado> c mecPnico tem uma lista es!ecXfica de .erificao de caracterXsticas ? freiosE farYisE descarga etc1 ? Mue de.em ser eWaminadas !ara Mue elc a!on"a o adesi.o adeMuado no carro1 Por fimE eWiste um n3mero limitado de casos em Mue !ro.as d correo formais sero desen.ol.idas !ara um !rogramaV o !rocessc aMui 2 um tanto anlogo ao !rocesso de o/teno de !ro.as geom2trica Mue um dia estudamos no col2gio1 Infeli&menteE 2 eWtremamente difici desen.ol.er uma rigorosa !ro.a de correo de !rogramasE al2m dc tem!o Mue ie gastaE e raramente isso tem sido feito !ara coisas maiores Mue umas !oucas centenas de instru0es de !rograma1 EntretantoE !elc menos um !roLeto do go.erno americano desen.ol.eu uma !ro.a dc correo assistida !or com!utador !ara um sistema Mue en.ol.ia a!ro Wimadamente 9H1HHH instru0esV em/ora custasse cerca de qIHH1HHH e eWigisse < meses de tra/al"oE Lustifica.a?se !ara certos sistemas de altc risco ou de alta segurana1 Para uma discusso so/re !ro.as de correoE .eLa o ca!Xtulo < de -DunnE 9CDJ9 ou os le.antamentos em EEls!as et a9X 9CK:9 e d e BasiliE 9CD:e1 :@1< A MA87TE8()$ DA E'PECIFICA()$ D7*A8TE A P*$G*AMA()$> 7M P*E-xDI$ PA*A $ CAPcT7-$ :J Como L dissemosE a es!ecificao estruturada !ode ser modificada durante o !rocesso de !rogramao1 Isso !ode ocorrer como resultado da estrat2gia de fast?trac%ing anteriormente descritaE ou !orMue a es !ecificao original esta.a errada ou sim!lesmente !orMue os usurios mudaram de o!inio so/re seus reMuisitosE De MualMuer formaE isso 2 uma realidade Mue ressalta um as!ecto im!ortante> a es!ecificao do sistema no !ode ser considerada imut.el a!Ys a fase de anlise de sistemas ter sido declarada como terminada1 Ela de.e ser considerada um documento .i.o Mue necessitar de continua manuteno antes mesmo Mue afase de manuteno do !rY!rio sistema ten"a sido inicia da1 $ ca!Xtulo :J estuda esse as!ecto com mais detal"es1 IJJ :@1K E DEP$I' D$' TE'TE'[ QocA tal.e& !ense Mue seu tra/al"o esteLa totalmente terminado Muando os testes do sistema ti.erem sido feitos1 Infeli&menteE " mais a fa&erE em/ora .ocA !ossa no estar en.ol.ido em seu !a!el de analista de sistemas1 EntretantoE algu2m Fe muitas .e&es um grande gru!o de !essoasO de.e eWecutar as ati.idades finais de um !roLeto de desen.ol .imento de sistemas1 j Con.erso j Instalao j Treinamento Con.e[so 2 a tarefa de !assar os atuais arMui.osE formulrios e /ancos de dados do usurio !ara o formato reMuerido !elo no.o siste ma1 Em alguns raros casosE isso !ode no ser uma tarefa de rele.PnciaE !orMue !ode no "a.er dados1 ContudoE se o usurio esti.er trocando um sistema antigo !or um sistema no.oE essa tarefa !oder ser delicada e difXcil1 7m !lano de con.erso de.e ser ela/oradoE de !referAnciaE as sim Mue o modelo de im!lementao do usurio esteLa !rontoE !ara tratar dos seguintes !ro/lemas> j 'e o usurio L !ossuir dados relati.os a um sistema eWistenteE ele !ro.a.elmente .ai Muerer us?los at2 o 3ltimo momento !ossX.el antes de !assar !ara o no.o sistema1 PortantoE 2 difXcil considerar os dados eWistentes como estticos1 j Pode "a.er um .olume to grande de dados eWistentes Mue seLa im!ratic.el con.ertA? los todos de uma sY .e&1 $s arMui.os e registros !odem !recisar ser con.ertidos de forma !aulatinaE Muando isso se fi&er necessrio1 IssoE 2 claroE eWigir coorde nao e controle cuidadosos1 j A con.erso de.e ser eWecutada dc modo automticoV isso sY !ode ser feito se os arMui.os e dados atuais eWistirem so/ al guma forma automati&ada1 'e assim forE ser relati.amente sim!les escre.er?se um !rograma Fou utili&ar?se um !acote de 1algum fornecedorO !ara con.erter os arMui.os atuais !ara o for mato reMuerido !elo no.o sistema1 EntretantoE Zs .e&es 2 um tanto difXcil con.erter os dados de maneira automati&adaE !rinci !almente Muando os arMui.os eWistentes esto locali&ados em .rios com!utadores diferentesE em diferentes formatosE e assim IJI !or diante1 8a .erdadeE o desen.ol.imento de um soft4are d con.erso !ode tornar?seE !or ele mesmoE um im!ortante !ro1 Leto de desen.ol.imento de sistemas` $s dados eWistentes !odem conter errosV na .erdadeE se esse dados foram criados e mantidos manualmenteE .ocA !ode estai .irtualmente certo Mue "a.er erros1 AssimE !arte do !rocesso de con.erso 2 destinada Z deteco e correo de errosE o Mue !ode tornar o !rocesso ainda mais difXcil e consumir maiI tem!o1 Alguns arMui.os e registros eWistentes !odem re.elar?se ilegX.eis ou incom!reensX.eisV em outros casosE !ode ser e.i dente Mue os dados eWistentes esteLam erradosE mas !ode no ser to e.idente Muais seLam os .alores corretos1 Al2m da con.erso dos arMui.os eWistentesE !ode ser necessrio con.erter !rogramas e !rocedimentos1 Em alguns casosE os !ro gramas e !rocedimentos eWistentes !odem ser utili&ados na forma atualV em outrosE tero de ser inteiramente su/stituXdos1 A instalao do no.o sistema !ode ser uma ati.idade instantPneaE !or2m muitas .e&es 2 uma tarefa im!ortante1 ,a/itualmenteE duas coisas !recisam ser feitas> j $ !re!aro da locali&ao do com!utador de.e !receder a insta lao do no.o sistemaE de "/ito !or .rios meses1 Isso en.ol.e a construo ou o aluguel das acomoda0es do com!utador com foraE es!aoE iluminao e controle do am/iente Ftem!era turaE umidadeE !oeiraE eletricidade esttica etc1O1 Isso muitas .e&es 2 feito mediante acordo com o fornecedor do "ard4are ou com o setor de o!era0es do com!utador da em!resa1 j $ !re!aro da locali&ao do usurio tam/2m !ode ser neces srioE !rinci!almente no caso de sistemas on?line Mue tAm termi nais e im!ressoras no setor de tra/al"o do usurio1 8os casos mais sim!lesE os terminais !odem ser distri/uXdos !ara a rea de tra/al"o do usurio imediatamente antes da instalao do sis temaV em alguns casosE toda.iaE !ode ser necessria a cons truo de todo um no.o am/iente de tra/al"o FconsidereE !or eWem!loE um terminal de reser.a de !assagens em um aero!ortoO1 j A instalao do "ard4areE !resumindo?se Mue o no.o sistema eWiLa seu !rY!rio "ard4are de !rocessamentoE costuma ser le .ada a efeito !elo fornecedor do "ard4areV !or .e&es esto IJ< en.ol.idos m3lti!los fornecedoresE !rinci!almente no caso de sistemas on?line e de tem!o real1 8o caso de um sistema sim!les desen.ol.ido !ara um com!utador !essoalE a instalao !ode consistir a!enas em retirar?se o com!utador da caiWa e lig?lo Z tomada1 A instalao do soft4areE Mue en.ol.e o carregamento de todos os !rogramas Mue foram escritos !ara o no.o sistema noFsO com!utadorFesO a!ro!riadoFsO e sua !re!arao !ara funcionamento1 -em/re?se Mue os as!ectos acima descritos !resumem Mue eWista a!enas uma instalao em um 3nico lugar1 Mas nem sem!re 2 assimV no caso de um sistema distri/uXdoE de grande !orteE !ode "a.er uma 3nica e centrali&ada locali&ao do com!utador e de&enas ou mesmo centenas de locali&a0es de usurios1 Desse modoE !ode ser necessrio instalar o sistema !or estgiosE com eMui!es de instalao es!ecialmente treinadas .isitando cada locali&ao de usurio de acordo com uma es cala !re.iamente !re!arada1 8esse casoE a instalao e a !assagem !ara o no.o sistema no !ode ocorrer de uma sY .e&E masE ao in.2s dissoE de.e ser di.idida em fases com !erXodos de diasE semanas e mesmo meses1 $ treinamento 2 a tarefa final da eMui!e de desen.ol.imento de sistemas> treinamento dos usurios Fo/.iamente`O e do !essoal de o!era 0esE dos !rogramadores de manuteno e dos di.ersos nX.eis de dire o1 7m !lano de treinamento de.e ser desen.ol.ido no inXcio do !roLe toE !orMue eWiste um /om .olume de tra/al"o a ser feitoE e esse !lano !recisa estar !ronto ao mesmo tem!o Fou antesO Mue o sistema esteLa a!to !ara entrar em o!erao1 $ !lano de treinamento de.e tratar dos seguintes as!ectos> j Como o treinamento de.e ser reali&ado[ A maioria dos !roLetos de desen.ol.imento de sistemas a!Yia?se em manuais do usurio e guias de referAncia !ara oferecer documentao escrita !ara os usurios1 EntretantoE aulas e seminrios ao .i.o !odem ser adeMuadosE /em como !alestras de orientao !ara gerent2s e outros Mue necessitem con"ecer o sistema mesmo Mue no .en"am a interagir com ele todos os dias1 EE com a tecnologia atualE " uma gama de o!0es de meios de treina mento> treinamento !or .ideotei!e e .ideodiscoE treinamento com uso do com!utador e at2 .ers0es simuladas do sistema real !ara Mue os usurios !ossam treinar a introduo de transa0es e a!render como interagir com o sistema1 IJK 8o caso mais eWtremoE o treinamento !ode consistir em fac lidades de auWXlio eWtremamente sofisticadas em/utidas n !rY!rio sistema1 Isso .em tornando?se crescentemente !o! lar com a !roliferao dos com!utadores !essoaisE mas no muito !rtico !ara grandes sistemas Mue interagem cor uma comunidade grande e di.ersificadaV !or outro ladoE !c de ser usado !ara aumentar e reforar outras formas d treinamento1 Tuem ministrar o treinamento[ Em alguns casos elementos d eMui!e de desen.ol.imento do sistema !artici!am do !rocess de treinamentoE !rinci!almente !orMue su!ostamente so o Mue mais con"ecem o funcionamento do sistema1 Entretantc lem/re?se de Mue o mel"or !rogramador Fou analista de sis temasO nem sem!re 2 o mel"or treinador1 8a .erdadeE os desen .ol.edores muitas .e&es com!ortam?se de um modo muito de fensi.o Muando os usurios comeam a !erguntar o Mue ele consideram ofensi.o1 Al2m dissoE os desen.ol.edores est FMuase !or definioO terri.elmente ocu!ados com !roLetoE codi ficao e testes do sistema at2 o 3ltimo minutoV o analista d sistemas !ode ter mais tem!o dis!onX.el de!ois Mue o mode% essencial e o modelo de im!lementao do usurio esti.eren !rontos1 Tuem ser treinado e em Mue escala de tem!o[ $/.iamenteE $> usurios !recisam ser treinados !ara Mue !ossam comear a uti li&ar o sistemaV !or outro ladoE no 2 muito eficiente trein?lo seis meses antes Mue !ossam ter acesso a ele11 Desse modoE treinamento de.e ser feito em um !erXodo /astante redu&ido mas issoE !or sua .e&E muitas .e&es .ai interferir com o tra/al% dirio normal Mue os usurios tAm Mue cum!rir1 PortantoE 2 ne cessrio negociar com os usurios um cuidadoso calendrio d ati.idades de treinamento1 :@1D *E'7M$ Este ca!Xtulo discorreu so/re uma am!la gama de tY!icos> !rogra maoE testesE con.ersoE instalao e treinamento1 $ es!ao no ofere ce ocasio !ara uma detal"ada co/ertura desses tY!icosE !or2m a sucinta co/ertura a!resentada neste ca!Xtulo de.e dar ao analista de sistema uma .iso geral das ati.idades finais do !roLeto de desen.ol.imento dc sistemas1 Detal"es com!lementares !odem ser encontrados em muitas referAncias no final deste li.ro1 IJD *EFE*b8CIA' 91 Ed4ard 6ourdonE Managing t/e '#stems -ife C#cleE := ed1 Engle 4ood CliffsE 81R1> Prentice?,allE 9CDD1 :1 Ed4ard 6ourdonE 8ations at *is% 8o.a lorMue> 6$7*D$8 PressE 9CD<1 @1 Ed4ard 6ourdonE Tec"niMues ofPro 'fructure and DesignE := ed1 Engle4ood CliffsE 81R1> Prentice?,allE 9CK<1 J1 Brian KernigR e P1R1 PlaugerE T"e Elements ofProgramming 'l#le1 *eadingE Mass1> Addison?5esle#E 9CKI1 I1 Timot"# 5ellsE 'tructured '#stems De.elo!ment in C$B$- 8o.a lorMue> 6$7*D$8 PressE 9CD<1 <1 Timot"# 5elisE 'tructured '#stems De.elo!ment in BA'IC1 8o.a lorMue> 6$7*D$8 PressE 9CDI1 K1 Timot"# 5ellsE 'tructured '#stems De.elo!ment in Pascal1 8o.a lorMue> 6$7*D$8 PressE 9CD<1 D1 'tan Benton e -eonard 5ee%esE Program It *ig"t> 'tructured Pt. gramming in BA'IC 8o.a lorMue> 6$7*D$8 PressE 9CDI1 C1 Ed4ard 6ourdonE C"ris Gane e Tris" 'arsonE -eaniing to Program in 'tructured C$B$-E Part 91 8o.a lorMue> 6$7*D$8 P*E''E 9CK<1 9H1 Ed4ard 6ourdon e Timot"# -isterE -earning to Program in 'truc tured C$B$J Part II1 8o.a lorMue> 6$7*D$8 PressE 9CKK1 991 Tom DeMarcoE Controlling 'oft4are ProLects1 8o.a lorMue> 6$7*D$8 PressE 9CD:1 9:1 Glenford M#ersE K Art of 'oft4are Testing1 8o.a lorMue> 5ile#E 9CKC1 9@1 Tom McCa/eE _A Com!leWit# Measure]E IEEE Transactions on 'oft 4are EngineeringE Qolume 'E?:E 83mero 9: Fde&em/ro de 9CK<OE !gs1 @HD?@:H1 9J1 Ed4ard 6ourdonE Managing t"e 'tructured Tec"nXMuesE @1] ed1 8o.a lorMue> 6$7*D$8 PressE 9CD<1 9I1 *o/ert DunnE 'oft4are Defect *emo.al1 8o.a lorMue> McGra4? ,illE 9CDJ1 9<1 B1 Els!as e outrosE ;An Assessment of Tec"niMues for Pro.ing Pro gram Correctness]E ACM Com!uting 'ur.e#sE Qol1 J FLun"o de 9CK:OE !gs1 CK?9JK1 9K1 D1 Dunlo! e Q1 BasiliE \A Com!arati.e Anal#sis of Functional Cor rectness]E ACM Com!uting 'u[.e#sE Qol1 9J FLun"o de 9CD:OE !gs1 ::C?:JJ1 IJC PE*G78TA' E EXE*CcCI$' 91 Tue ati.idades de um !roLeto de desen.ol.imento de sistem comeam Muando termina a fase de !roLeto[ :1 Tuais so os seis moti.os !elos Muais o analista de sistemas !oc !recisar !ermanecer en.ol.ido com um !roLeto durante as ati.id des de !rogramao e testes[ @1 'e o analista de sistemas for tam/2m o lXder do !roLetoE .ocA acn dita Mue seLa im!ortante Mue ele con"ea as t2cnicas de !rogram o e de testes[ Por Mue[ J1 Em sua em!resa es!era?se Mue os analistas de sistemas tam/2r !artici!em das ati.idades de !roLeto e de !rogramao[ QocA cor sidera isso uma /oa id2ia[ Por Mue[ I1 Por Mue o analista de sistemas tende a !artici!ar do desen.ol. mento de dados dc teste !ara um sistema[ Tuem mais de.er sc en.ol.ido[ <1 $ Mue de.e fa&er o analista de sistemas se os !rogramadores solici tarem Mue ele modifiMue a es!ecificao do sistema durante a fas de !rogramao do !roLeto[ K1 $ Mue de.e fa&er o analista de sistemas se os usurios solicitarem modificao dos reMuisitos do sistema de!ois Mue os !rogramado res ti.erem comeado a im!lementao do sistema[ Tuo !ro..e 2 uma situao dessas[ D1 Por Mue 2 !ossX.el Mue um usurio Mueira modificar os reMuisito do sistema de!ois de terminada a fase de anlise do !roLeto[ C1 Tue dificuldades !odemos es!erar se um analista de sistemas s2 nior ti.er de eWecutar todo o ser.io de anlise de um !roLeto[ 9H1 Tue ti!o de reao negati.a !odemos es!erar dos !rogramadore de uma em!resa Muando os analistas de sistemas eWecutam toda as ati.idades detal"adas dc es!ecificao discutidas atra.2s destr li.ro[ 991 Tue ti!o de estrutura organi&acional !ode ser esta/elecida !ara acomodar a com/inao de !essoal sAniorGL3nior e ati.idades t2c nicas de alto e /aiWo nX.el de um !roLeto[ 9:1 'e as ati.idades de anlise e de !roLeto de sistemas ti.erem sido eWecutadas com!leta e detal"adamcnte !odem os as!ectos da !ro gramao ser automati&ados[ Por MuA[ QocA acredita Mue essa situa o !ossa se modificar nos !rYWimos I ou 9H anos[ 9@1 ^ necessrio eWecutar as ati.idades de anlise de sistemas at2 o final !ara Mue a 1 !ossa comear[ Por MuA[ 9J1 $ Mue significa fast trac%ir 9I1 Em Mue $utras ati.idadesE al2ri o desen.ol.imento de sistemasE 2 utili&ada a t2cnica do fast trac%ing[ IIH 9<1 $ Mue 2 uma a/ordagem conser.adora de im!lementao de um sistema[ $ Mue 2 uma a/ordagem radical[ 9K1 Tuais so os trAs !rinci!ais moti.os !elos Muais o gerente de !ro Leto !oderia adotar uma a/ordagem radical na im!lementao de um sistema[ 9D1 Por Mue a es!ecificao de um sistema no !ode ser considerada imut.el no final da fase de anlise do !roLeto[ 8$TA' 9 8a .erdadeE as coisas !oderiam ser !iores e !oderiam ser mel"o res1 A !ior situao Fdo !onto de .ista do !rogramadorO 2 Mue !oderemos no !recisar de !rogramadores` 'e a es!ecificao de !rocessos for escrita em uma linguagem suficientemente formalE !oder ser com!ilada sem MualMuer inter.eno "umana` Isso L est acontecendo em casos isolados FeW1> es!ecifica0es de !ro cessos escritas na linguagem ADA e com!iladas diretamenteO1 Por outro ladoE eWiste a !ossi/ilidade de Mue o !rogramador continue a ter um grande tra/al"o criati.o !ara fa&er se o analista de sistemas redigir a es!ecificao de !rocessos utili&ando a a/ordagem !r2? condioG!Ys?condio discutida no ca!Xtulo 991 8esse casoE o analista ter es!ecificado as entradas e saXdas !ara cada mYduloE mas ter deiWado !ara o !roLetista eE em 3ltima anliseE !ara o !ro gramadorE a tarefa de escol"er o mel"or algoritmo1 : Isso no significa Muatro a sete anos de tra/al"o !ara uma 3nica !essoaE masE simE Muatro a sete anos de tra/al"o !ara toda a orga ni&ao de sistemas de informa0es gerenciais1 Para mais detal"esE leia d 9CD<e1 @ Para linguagens de terceira gerao como C$B$-E a com!leWidade ciclomtica 2 a!roWimadamente igual ao n3mero de comandos IF no !rograma1 Para maiores informa0esE .eLa d 9CD:91 J 7m eWem!lo de _stu/] 2 um mYdulo Mue no eWecuta MualMuer !rocesso e se retira to logo seLa c"amadoV outro eWem!lo 2 um mYdulo Mue retorna os mesmos !arPmetros de saXdaE MuaisMuer Mue ten"am sido os !arPmetros de entrada Mue l"e ten"am sido !assados ao ser c"amado1 Dessa maneiraE os testes to!?do4n ini ciais de um sistema de !agamento !odem conter mYdulos stu/ Mue !aguem a todos q9HH !or semanaE inde!endentemente de catego ria !rofissionalV o mYdulo stu/ !ara clculo de im!ostos !ode de du&ir q9H de im!ostos do contrac"eMue de cada um1 $ o/Leti.o do teste to!?do4n inicial 2 a!enas .erificar se o sistema !ode fun cionar e se 2 de fato ca!a& de gerar uma s2rie de contrac"eMues de q9HH1 II9 I -DunnE 9CDJ9 e -M#ersE 9CKC9 a!resentam detal"adas discuss0es so/re a/rangAncia de testes1 < 8a realidadeE o n3mero de casos de testes no 2 infinitoE em .irtu de da limitada !reciso dos n3meros arma&enados na memYria do com!utador1 'e um n3mero for arma&enado como um inteiroE um com!utador comum !ermitir o arma&enamento de n3meros at2 : ou tal.e& : 'e o n3mero for de !onto flutuanteE !oderemos re!resentar n3meros at2 9H9HH ou maioresE mas normalmente sY dis!oremos d2 oito ou no.e dXgitos significati.os de !reciso1 Desse modoE isso no re!resenta infinidadeE masE de MualMuer maneiraE 2 um n3mero muitoE muito grande1 II: :J A MA87TE8()$ DA E'PECIFICA()$ At2 agoraE o !rinci!al !rofissional de !rocessamento de dados era al gu2m Mue !odia a!render o suficiente so/re as necessidades das organi &a0es !ara e1 na linguagem do com!utador1 8o futuroE Muando nossa sociedade se tomar irre4ga.elmente com!utadori&adaE o !rinci!al !rofissional FserO algu2m Mue !ossa a!render o suficiente so/re sistemas com!utadori&ados !ara es!ress?los na linguagem "u mana1 'em essa !essoaE teremos !erdido o controle da sociedade1 Essa !essoa 2 um engen"eiro Zs a.essas1 $s mantenedores de soft4are so o in.erso dos engen"eiros da sociedade1 8ic"olas g.egint&o.E editorE 'oft4are Maintenance 8e4s 8este ca!XtuloE a!renderemos> 91 PorMue 2 im!ortante manter?se a es!ecificao atuali&ada1 :1 Tue ti!os dc modifica0es !recisam ser feitas em uma es!ecificao1 Para muitos analistas dc sistemas o !roLeto est terminado Muando as es!ecifica0es estruturadas esto !rontas e aceitas !elo usurio1 8esse momentoE a es!ecificao 2 entregue Z eMui!e de im!lementao com !osta !or !roLetistas e !rogramadores Mue construiro um sistema a !artir da es!ecificao1 8aturalmenteE alguns analistas dc sistemas !ermanecem com o sis tema durante as fases de !roLeto e de im!lementao1 os .e&es o analista II@ 9 de sistemas atua como gerente de !roLetoE orientando e dirigindo o esforos da eMui!e de im!lementao1 Por .e&es o analista de sistema !ermanece com o !roLeto !ara continuar fa&endo anliseE isto12E !ar continuar atuando como intermedirio entre o usurio e a eMui!e d im!lementao1 E o analista de sistemas !ode ainda estar incum/ido d desen.ol.imento dos manuais do usurioE dos dados do teste de aceita oE do !laneLamento das instala0es e de di.ersas outras ati.idadeE com!lementares Mue !odem ocorrer de forma concorrente com o !ro cesso de im!lementao1 EntretantoE Muase todos os analistas de sistemas deiWam o !roLet a!Ys o desen.ol.imento ter sido terminado e o no.o sistema ter entrad em o!erao1 Alguns !rogramadores !ermanecem !ara eWecutar ati.ida des de manutenoE masE Muando termina a fase dc desen.ol.imentoE festa aca/aE e a maioria dos analistas dc sistemasE !roLetistas e !rograma dores 2 deslocada !ara no.os !roLetos Fe muitas .e&es no.as em!resas onde !ossam o/ter salrio su!erior ao Mue seu atual em!regador !od !agar`O1 Por2m o tra/al"o feito !elo analista de sistemas Ftodo o tra/al"F discutido neste li.roO continua a ser im!ortante1 Assim como os !mgra mas de.em ser mantidos durante os IE 9H ou :H anos da .ida o!eraciona do sistemaE tam/2m a es!ecificao !recisa ser mantida1 $uE dito d outra formaE .rios as!ectos da im!lementao do sistema sero modi ficados durante o tem!o dc .ida do sistemaE e !ara cada uma dessa modifica0es de.e ser feita uma alterao adeMuada e corres!ondente n es!ecificao1 Em/ora o analista de sistemas original !ossa no !ermanecer con o !roLeto durante seu tem!o de .ida o!eracionalE 2 im!ortante Mu deiWe um legado Mue !ossa ser modificado1 Este ca!Xtulo discute manuteno da es!ecificao do sistema1 :J19 P$*T7E ^ IMP$*TA8TE A essa alturaE .ocA !ode estar um tanto confusoV afinal de contas .ocA de.e estar !ensandoE 2 !erfeitamente Y/.io Mue a es!ecificao d sistema de.a ser atuali&ada1 Por Mue algu2m faria de modo diferente Infeli&menteE a "istYria da rea do desen.ol.imento de sistemas indica outra coisa> a imensa maioriaE !ro.a.elmente mais de DHfE dos sistema !resentemente em o!erao no tem uma declarao eWata e atuali&ada dos reMuisitos do usurio Mue o sistema eWecuta1 Isto no 2 um fenNmeno Mue ocorra a!enas na rea do !rocessi mento de dados1 Tuantas constru0es centenrias !ossuem documento atuali&ados Mue descre.am a fiaoE os encanamentosE o aMuecimento IIJ outros detal"es arMuiteturais[ A .erdade nua e crua 2 Mue muitas .e&es 2 /em mais fcil fa&er uma correoE um a!erfeioamento ou uma modificao _de MualMuer maneira] cm um sistema do Mue comear !ela alterao do documento de reMuisitosE e de!ois ir !ro!agando a modifi cao !elo documento de !roLeto e !ela !rY!ria im!lementao1 Isso 2 !articularmente .erdadeiro Muando as modifica0es !recisam ser feitas !ara corrigir um !ro/lema imediatoE !remente e urgente 1 _Faremos as modifica0es do documento mais tarde] dir o encarregado da manuten oE _mas !rimeiro temos Mue corrigir o !ro/lema]1 A documentao 2 a 3ltima coisa Mue algu2m deseLa fa&erE e muitas .e&es aca/a !or no seW feita1 $s sistemas de informa0es tAm uma im!ortante caracterXstica rela ti.a manuteno> eles duram mais Mue os desen.ol.edores ou os usu rios Mue esti.erem en.ol.idos no desen.ol.imento original do sistema1 Isso tam/2m .ale !ara constru0esV nem o arMuiteto e nem o usurio final de uma residAncia .itoriana de 9DDH est dis!onX.el !ara consultas "oLe1 E isso .ale tam/2m !ara muitos sistemas dc informa0esV de!ois de 9H ou :H anosE o sistema est sendo usado !ela terceira gerao de usurios Falguns dos Muais !odem no ter id2ia dos o/Leti.os originais do desen.ol.imento do sistemaO e est sendo mantido !ela terceira ge rao de !rogramadores dc manuteno Falguns dos Muais !odem no ter id2ia do moti.o Mue le.ou os desen.ol.edores originais a adotarem uma determinada estrat2gia de !roLetoO Eis !or Mue 8ic"olas g.e gint&o. descre.e os !rogramadores de manuteno como o _in.erso dos engen"eiros da sociedade]1 EWiste outro !onto im!ortante a res!eito de sistemas de informa 0es> eles tendem a ser com!leWos desde o inXcioE e a com!leWidade cresce durante os anos de manuteno1 Tuando um sistema 2 sim!les FdigamosE :IH instru0es em PascalO sua manuteno 2 fcil mesmo no "a.endo documentao1 Mas um sistema tX!ico tem !elo menos 9HH1HHH instru0es de !rogramasV muitosE dos maiores sistemas em manuteno "oLe tAm /em mais de IHH1HHH instru0esV e alguns tAm mais de um mi l"o de instru0es1 8ingu2m !ode com!reender um sistema assim to com!leWoE !rinci!almente se F9O essa !essoa no esta.a en.ol.ida no desen.ol.imento do sistema original e F:O os reMuisitos e o !roLeto do sistema original no esti.erem documentados1 EE no entantoE isso 2 eWa tamente o Mue mais !edimos Mue os !rogramadores de manuteno faam 1 j EWistem de&enasE e tal.e& centenasE de eWem!los de organi&a0es com gra.es !ro/lemas de manuteno do gAnero acima descrito1 Qirtual mente todas as maiores em!resas Mue se com!utadori&aram " :H anos atrs agora esto se defrontando com !ro/lemas comE os sistemas de :H anos cuLas im!lementa0es so um mist2rio eE !ior aindaE cuLos re Muisitos dos usurios tam/2m so um mist2rio1 III A 3nica soluo !ara essa crise no futuro 2 conser.ar a documen tao correta e atuali&ada !or tanto tem!o Muanto o sistema durar1 Ma como fa&A?lo[ :J1: P*^?*ET7I'IT$' 8ECE''+*I$' 8o se !ode conser.ar atuali&ado um sistema e a documentao ele associada se essa documentao no esti.er correta1 AssimE eis !onto de !artida> !recisamos Egaran"ir MueE Muando um sistema entra em o!eraoE todos os documentos a ele relati.os esteLam com!letos consistentesE corretos e atuali&ados1 Atra.2s deste li.roE discutimos as caracterXsticas de um modelo cor reto dos reMuisitos do usurio e as diretri&es !ara assegurar Mue o mo delo de sistema seLa com!leto e internamente consistente1 Para Mue manuteno continuada ten"a sucessoE essas diretri&es de.em ser im!os1 tas e uma !essoa ou gru!o inde!endente de.e .erificar se a documenta1 o est correta antes Mue o sistema seLa !osto em o!erao1 Al2m de nos certificarmos de Mue os documentos esto corretosE de.emos nos assegurar de Mue eWiste um mecanismo !ara eWecutaE modifica0es continuadas nesses documentos1 8o con.2m Mue a es!e cificao estruturada ten"a sido inscrita !ara sem!re com uma !ena de ao inoWid.el em !lacas de !edra como uma !ermanente recordao !ara as futuras gera0esV a es!ecificao de.e ser .ista como um docu mento .i.oE suLeito a altera0es constantesE a!esar de controladas1 :J1@ C$M$ FAgE* A !rimeira e mais /sica regra da manuteno de sistemas 2 esta> MualMuer modificao !ro!osta do sistema o!erati.o atual de.eE em todos os casosE iniciar?se !or um eWame dos im!actos na es!ecificao de reMuisitos do sistema1 Isso de.e ser feito em todos os casos a!resenta dos a seguirE Luntamente com MualMuer outra !ro!osta de modificao do sistema> j $ usurio decide Mue gostaria de acrescentar uma no.a funo ao sistema atual1 j $ usurio no est satisfeito com a maneira como uma funo atual 2 eWecutada e deseLa modific?la1 j $ usurio Muer um no.o relatYrio de saXda al2m dos Mue L eWistem1 II< j $ usurio Muer modificar o formato ou a organi&a de um re latYrio de saXda L eWistente1 j $s !rogramadores de manuteno deseLam refa&er um mYdulo !ara torn?lo mais eficiente1 j $ de!artamento de o!era0es anunciou Mue !laneLa ele.ar o nX.el dos sistemas com!utacionais da em!resa e Mue sero ne cessrias determinadas modifica0es1 j $ usurio reclama Mue o sistema !rodu& saXdas incorretas !ara determinada com/inao dc entradas1 j $ setor de desen.ol.imento dc sistemas decidiu adotar Ada como no.a linguagem !adro de !rogramao1 Esto sendo !re!arados os !lanos !ara con.erter todo o soft4are eWistente !ara aMuela linguagem1 j Foi determinado Mue o sistema !assasse a remeter relatYrios de saXda !ara uma no.a agAncia do go.ernoE Mue ainda no eWistia Muando o sistema foi originalmente desen.ol.ido1 TualMuer modificao desse ti!o de.e ser ilustradaE documentada e .erificada com o usurioE fa&endo?se as adeMuadas modifica0es no modelo do sistema1 Isso costuma ser feito !elo !reenc"imento de um formulrio con"ecido como solicitao de alterao de sistema1 A modi ficao de manuteno !ode en.ol.er algum dos itens a/aiWo ou todos eles> j Pode ser necessrio acrescentar no.os terminadores ao dia grama de conteWtoE ou eliminar terminadores1 Pode ser ne cessrio acrescentarE eliminar ou modificar fluWos de dados entre o sistema e os terminadores1 Fun0es anteriormente eWecutadas !or terminadores !odem !recisar agora ser eWecutadas no inte rior do sistemaV de modo in.ersoE fun0es eWecutadas !elo sis tema !odem agora ser consideradas fora do sistema e dentro do domXnio de um terminador1 j Pode ser necessrio acrescentar no.os e.entos Z lista de e.en tosE ou !ode ser necessrio eliminar e.entos eWistentes1 j 'e a modificao for su/stancialE !ode ser necessrio alterar a declarao de o/Leti.os no modelo am/iental1 IIK j Pode ser necessrio modificar os modelos de fluWo de dadosE d entidades? relacionamentos eGou de transi0es de estado1 j Pode ser necessrio refinar ou modificar as es!ecifica0es d !rocessos e o dicionrio de dados1 j Pode ser necessrio modificar di.ersos as!ectos do modelo d im!lementao do usurioE en.ol.endo a interface "omem mMuinaE as restri0es de im!lementao relati.as a tem!o d res!osta etc1 TualMuer modificao desse gAnero no ser li.re1 ^ !ossX.el Mu algumas modifica0es seLam mXnimas e sY reMueiram alguns minutos d tra/al"o !ara serem incor!oradas ? a!enas alguns minutos !ara seren feitas as necessrias altera0es Z es!ecificao e aos !rogramas eWisten tes1 EntretantoE a !essoa ou gru!o res!ons.el !ela alterao tem a o/ri gao de escre.er a declarao de trn!acto> uma declarao !recisa detal"ada das mudanas Mue tero de ser feitas na es!ecificao do sis tema !ara im!lementar a modificao !ro!osta1 Runtamente com isso de.e "a.er uma declarao do im!acto econNmico> uma declarao dc custo da im!lementao da alterao e o /enefXcio estimado Mue deri.a1 r daMuela alterao1 Isso 2 es!ecialmente im!ortante se a ati.idade dc manuteno mudar o esco!o do sistema1 8aturalmenteE " algumas modifica0es Mue no causam im!acto na es!ecificao do sistema> a correo de um erro de um !rogramaE a modificao do cYdigo !ara mel"orar a legi/ilidade ou a eficiAncia do sistema ou uma mudana do "ard4are eWistente ou do soft4are de siste ma Fo com!iladorE o sistema o!eracionalE o sistema de gerenciamento de /anco de dados etc1O1 ContudoE mesmo nesses casosE de.e ser emitida uma declarao do im!acto econNmico !ara Mue o usurio e o setor de desen.ol.imento de sistemas seLam informados dos custos e /enefXcios relacionados ZMuela alterao1 TualMuer modificao feita em um sistema normalmente resulta em uma modificao no soft4are eGou no "ard4are do sistemaV !ode tam /em causar a alterao dos manuaisE dos !rocedimentos de o!erao e de .rios outros com!onentes do sistema1 Por2m o documento mais im!ortante a ser mantido atuali&ado 2 a declarao de reMuisilos do usurio` 'em issoE as futuras modifica0es sero cada .e& mais difXceis de serem feitasV e a mudana !ara um no.o sistema ser infinitamente mais dis!endiosaE mais consumidora de tem!o e mais !enosa do Mue normalmente seria1 ? 8o " d3.ida de Mue esta insistAncia !or um es!ecificao de sistema atuali&ada seria .ista com desconfiana !or um .eterano analista de sistemas com :H anos de eW!eriAncia1 AfinalE o !rocesso de anlise de IID sistemas tem sido to difXcil !or tantos anos /em como a tarefa de desen .ol.er es!ecifica0es corretasE Mue a id2ia de mantA?la !ermanentemente atuali&ada !arece Muase ridXcula1 A res!ostaE a longo !ra&oE ser a automati&ao1 Agora L esto dis!onX.eis esta0es de tra/al"o automati&adas de anlise de sistemas do ti!o descrito no a!kidice A a !reos mYdicos1 Elas re!resentam um su/stancial a.ano so/re a tecnologia usada !ela maioria dos analistas de sistemas de "oLe em diaE assim como os sistemas de !rocessamento de !ala.ras re!resentam um enorme a!erfeioamento so/re as mMuinas de escre.er el2tricas dos anos <H1 Esto em andamento !lanos mais am/iciosos !ara desen.ol.er am/ientes de engen"aria de soft4are inte grados e a/rangentes Mue ser.iro como rc!ositYrios centrais !ara todos os documentos relati.os ao desen.ol.imento de um sistema1 EntretantoE essa a.anada tecnologia !ro.a.elmente no estar totalmente desen.ol .ida at2 meados dos anos CH1 ContudoE ainda " muito a ser feito mesmo com a tecnologia "oLe dis!onX.el1 'im!lesmente no " descul!a !ara fa&er?se uma modifica o em um sistema sem Mue se efetue a corres!ondente alterao na es!ecificao do sistema1 Para fa&er com Mue isso funcioneE entretantoE 2 necessria uma gerAncia forte e disci!linada na organi&ao de gerencia mento de sistemas de informa0es1 :J1J *E'7M$ EWiste um crescente .olume de o/ras so/re o tema da manuteno de soft4areE e !elo menos uma sociedade !rofissional Fa 'oft4are Main tenance AssociationO dedicada aos !ro/lemas da manuteno1 Entretan toE a maior !arte da Anfase atual 2 .oltada !ara a gerAncia e !ara a reno.ao de !rogramas L eWistentesV eWiste tam/2m alguma Anfase no uso de /oas t2cnicas de !roLeto !ara a criao de !rogramas manutenX .eis1 Mas a ind3stria do desen.ol.imento dc sistemas somente agora est comeando a com!reender Mue sem es!ec manutenX.eis nunca teremos soft4are manutenX.el1 *EFE*b8CIA' 91 1 Bennett -ienta e B1 '4ansonE 'oft4are Maintenance Management1 *eadingE Mass1> Addison?5esle#E 9CDH1 :1 Rames Martin e Carma McClureE 'oft4are Maintenace> T/e Pro/lem and lis 'olution1 Engle4ood CliffsE 81R1> Prentice?,allE 9CD@1 @1 Giris" Pari%"E editorE Tec"niMues ofProgram and '#stems Mainte nance1 -incolnE 8e/1> Et"notec"E Inc1E 9CDH1 IIC J1 Carma McClureE Managing 'oft4are De.elo!ment and MaintenaE ce1 8o.a lorMue> Qan 8ostrand *ein"oldE 9CD91 I1 *o/ert Glass e *1A1 8oiseuWE 'oft4are MaXntenance Guide/ocn Engle4ood CliffsE 81R1> Prentice?,allE 9CD91 <1 8ed C"a!iriE ;'oft4are Mairitenance 4it" fourt"?generation -ar guages]E ACM 'oft4are Engineering 8otesE Qolume CE 83mero Laneiro de 9CDJE !gs1 J9?J:1 K1 *181 Britc"er e RL1 CraigE ;7sing Modern Design Practices to 7 grade Aging 'oft4are '#stems]E IEEE 'oft4areE Qolume @E 83mer @E maio de 9CD<E !gs1 9<?:J1 D1 'ala" Bendifalla" e 5alt 'cacc"iE ;7nderstanding Maintenanc 5or%]E REEE Transaction1s on 'oft4are EngineeringE Qolume 'E 9@E 83mero @E maro de 9CDK1 PE*G78TA' E EXE*CcCI$' 91 Por Mue 2 necessrio Mue a es!ecificao de um sistema seL> mantida mesmo de!ois Mue o sistema ten"a sido totalmenti desen.ol.ido[ :1 Por Mue os !rogramadores de manuteno so tentados a modifica um sistema o!erati.o sem atuali&ar os corres!ondentes documen tos da es!ecificao[ @1 ProLeto de PesMuisa> Encontre a idade m2dia dos sistemas !resen temente em o!erao em sua em!resa1 Algo de maior interesse descu/ra !or Muanto tem!o eles de.em continuar funcionandc antes de serem su/stituXdos !or no.os sistemas1 J1 ProLeto de PesMuisa> Descu/ra Muantos dos sistemas !resentement em o!erao tAm es!ecifica0es atuali&adas1 $s usurios e geren tes de sua em!resa tAm con"ecimento dessas estatXsticas[ I1 Tue dificuldades so causadas !elo fato de um sistema ser utili&a do !or usurios e mantido !or !rogramadores Mue no !artici!a ram do desen.ol.imento original do sistema[ <1 DA seis eWem!los do ti!o de modifica0es Mue um usurio !oderia Muerer fa&er a um sistema o!erati.o1 K1 Por Mue 2 !ossX.el Mue no.os terminadores ten"am Mue ser acres centados ao diagrama de conteWto durante a manuteno de urr sistema[ D1 Por Mue 2 !ossX.el Mue no.os e.entos ten"am Mue ser acrescenta dos Z lista de e.entos durante a manuteno de um sistema[ C1 'o/ Mue condi0es a declarao de o/Leti.os de um sistema !od ter de ser modificada durante a manuteno[ 9H1 $ Mue 2 a declarao de im!actos[ Por Mue ela 2 im!ortante[ I<H 991 Por Mue costuma ser difXcil conser.arem?se atuali&ados os docu mentos da anlise de sistemas Fo modelo essencial do sistemaO na maioria das em!resas[ 9:1 Tue ti!os de desen.ol.imentos tecnolYgicos sero !ro.a.elmente necessrios !ara assegurar Mue os documentos da anlise de siste mas sero mantidos atuali&ados[ 8$TA' 9 7m le.antamento em l-ient& e '4ansonE 9CDH9 mostrou Mue a!roWi madamente C de todo o tra/al"o de manuteno consiste em _a!uros emergenciais de !rogramas]1 : 7m estudo efetuado nos anos KH !ela fa/ricante /ritPnica de com !utadores IC- indicou Mue o sistema tX!ico era mantido !or sete aera0es de !rogramadores de manuteno antes de ser finalmente aliLado1 Isso d a entender Mue /oa !arte do Mue denominamos de !rogramao de manuteno !oderia ser descrita mais eWatamente como arMueologia1 @ 7m dos eWem!los mais eWtremos de um sistema grande e com!le Wo com reMuisitos de manuteno continuada 2 o !roLeto da Esta o Es!acial !resentemente em desen.ol.imento !ela 8A'A1 'eu o/Leti.o> coloni&ar e industriali&ar as !roWimidades do sistema solar1 'eu !ra&o !re.isto de desen.ol.imento> @H anos1 Ele necessi tar de !ermanenle manuteno1 I<9 :I $ F7T7*$ DA A8+-I'E E 'T*7T7*ADA Todas as tentati.as de !re.iso do futuro em MualMuer nX.el de detal"e !arecem ridXculas em !oucos anos1 Este li.ro tem um al.o mais realistaE e tam/2m mais am/icioso1 Ele no tenta descre.er o futuroE mas a!enas definir as fl.nteiras dentro das Muais o futuro !oder estar1 'e encarar mos os tem!os Mue se estendem adiante de nYs como uma regio ignota e ineW!loradaE Muero desco/rir suas fronteiras e ter alguma id2ia de sua eWtenso1 $s detal"es geogrficos de seu interior !ermanecero desco n"ecidos ? at2 Mue l esteLamos1 Art"ur C1 Clar%eE Profiles of l"e Future Atra.2s deste li.ro .imos a e.oluo de id2ias e t2cnicas na rea da anlise de sistemas1 Elas enMuadram?se em trAs largos !erXodos de tem!o> 91 Anlise de sistemas con.encionalE at2 meados da d2cada de KHV caracteri&ada Fse o fosseO !or es!ecifica0es narrati.as seme l"antes a no.elas .itorianasE dificeis dc ler e com!reenderE e .irtualmente im!ossX.eis de manter1 :1 Anlise estruturada clssicaE de meados dos anos KH a meados dos anos DHE como descrito em d 9CKD9E d e 'arsonE 9CKKe e outros1 Ela caracteri&a.a?se !or .ers0es iniciais de modelos grficos e !ela Anfase na modelagem de im!le menta0es atuais de um sistema antes da modelagem do no.o sistema1 @1 Anlise estruturada modernaE mostrada neste li.ro e em outras o/ras recentesE como I5ard e MeilorE 9CDIe e d e PalmerE 9CDJ91 I<@ Este ca!Xtulo resume algumas das maiores mudanas ocorra desde a a!resentao da anlise estruturada clssica no final dos anos e utili&a o tema como !onto de !artida !ara uma discusso so/re !ro..eis modifica0es nos !rYWimos I a 9H anos1 :I19 $ T7E M7D$7 Alguns as!ectos da anlise estruturada modificaram?se gradu> mente durante os 3ltimos de& anos1 As !rinci!ais reas de mudan incluem> Mudanas da terminologia1 Agora utili&amos a eW!resso m delo am/iental como meio de descre.ermos o Mue se costuma= c"amar de diagrama de conteWto1 Isso de.e?se ao fato de a an use estruturada clssica no incluir a lista de e.entos como !ar do modelo formal do sistema1 Al2m dissoE agora utili&amos termo essencial ao in.2s de lYgicoE !ara descre.er o modelo Mi1 se concentra naMuilo Mue o sistema de.e fa&erE e a !ala.ra X !lementao em lugar de fisico !ara descre.er o modelo .olta !ara como o sistema de.e ser desen.ol.ido1 Essas soE e.ident menteE modifica0es menoresE mas elas auWiliaram a redu&ir confuso ao se tratar com usurios Mue !ensam Mue o o!osto um sistema lYgico seLa um sistema ilYgico1 j 'u/di.iso de e.ento1s1 7m dos mais significati.os a.anos anlise estruturadaE Mue discutimos nos ca!Xtulos :H e :9E 2 utili&ao de uma lista de e.entos !ara orientar o desen.ol mento inicial do modelo com!ortamental1 Ela su/stitui a a/c dagem da estrita su/di.iso to!?do4n do diagrama de conteW ao diagrama de fluWo de dados de nX.el su!erior Ffigura HO e figura $ aos nX.eis inferioresE e assim !or diante1 Em/ora a/ordagem to!?do4n no seLa errada so/ MualMuer sentido !ala.raE tem sido de utili&ao dilicil !ara muitos analistas sistemasV a a/ordagem de su/di.iso de e.entosE Mue 2 un a/ordagem middle?outE !ro.ou ter tido mais sucesso em muit !roLetos de anlise1 j Diminuio da Anfase no modelo fisico atual1 Como o ca!Xti lo 9K ressaltouE eWistem .rios moti.os !ara Mue o analista sistemas sea tentado a modelar a im!lementao atual de u sistema1 Por2mE freMaentemente !erce/emos ser essa un I<J tentao !erigosa e Mue o analista de sistemas des!ende mais tem!o nessa ati.idade do Mue ela merece1 Em/ora no !reten damos declarar fora da lei o modelo fisico atualE nYs desencora Lamos e desenfati&amos sua utili&ao1 A anlise estruturada moderna enfati&a o desen.ol.imentoE logo Mue !ossX.elE do modelo essencial do no.o sistema do usurio1 Ferramentas de modelagem de tem!o?real1 A anlise estruturada clssica era inicialmente .oltada !ara o desen.ol.imento de sis temas comerciais diretosV ela no trata.a de !ro/lemas de inter ru!0esE sinais e tem!o1 EntretantoE muitos dos com!leWos sis temas de "oLe incluem di.ersos as!ectos de tem!o?realE e as ferramentas de modelagem da anlise estruturada foram estendi das de acordo1 $s fluWos de controle e !rocessos de controle foram utili&ados !ara aumentar os diagramas de fluWos de dadosV e os diagramas de transi0es de estado foram a!resenta dos como uma no.a ferramenta de modelagem !ara re!resentar os reMuisitos de tem!o?de!endAncia de um sistema1 j Estreita Integrao entre a modelagem de !rocessos e a modela gem de dados1 A anlise estruturada clssica utili&a.a diagramas de estruturas de dados !ara modelar o relacionamento entre os de!Ysitos de um diagrama de fluWo de dados1 EntretantoE os relacionamentos eram muitas .e&es o/scurecidos !ela notaoE Mue tendia a !ro.ocar intensas discuss0es e de/ates so/re o !roLeto e a im!lementao do /anco de dados fisico1 $ dia grama de entidades?relacionamentos a!resentado neste li.ro oferece um modelo mais lYgico ou conceitual dos dados eWi gidos !elo sistemaE e !ossi/ilita Mue os relacionamentos entre as entidades de1 dados seLam descritas rigorosa e detal"adamente1 Al2m dissoE as normas de /alanceamento discutidas no ca!Xtulo 9J asseguram Mue o modelo de dados Fdocumentado com os DE*O seLa totalmente consistente e com!atX.el com o modelo de !rocessos Fdocumentado com os DFD e es!ecifica0es de !rocessosO1 8o 2 im!ortante Mue .ocA esteLa familiari&ado com essas modifi ca0esE !orMue .ocA !ode estar tra/al"ando em uma em!resa Mue ainda no incor!orou as altera0es a seus !adr0esV em 9CDKE Muando este li.ro esta.a sendo escritoE muitas grandes em!resas Mue .isitei nos Estados 7nidos ainda esta.am utili&ando m2todos de desen.ol.imento de siste mas de !elo menos 9H anos atrs1 I<I :I1: F7T7*$' DE'E8Q$-QIME8T$' DA A8+-I'E E'T*7T7*ADA 8ingu2m !ode ter a !retenso de con"ecer o futuroV o mWim Mue se !ode es!erar 2E como di& Art"ur C1 Clar%e na introduo dest ca!XtuloE encontrar alguns sinais do futuro1 A.anos recentes sugerer .rias tendAncias Mue !ro.a.elmente se estendero Z !rYWima d2cad As tendAncias '$> :I1:19 Maior Disseminao do Interesse !ela Anlise de 'istemas $s com!utadoresE como sa/emosE esto tornando?se uma !art u/iMua da .ida de todos1 Em conseMaAncia dissoE uma !arte gradua mente maior da sociedade est a!rendendo a utili&?los e a falar so/r elesV um as!ecto ainda mais im!ortante Fno conteWto deste li.roO 2 Mu muitas !essoas esto gradualmente tornando?se familiari&adas com anlise estruturada e com outros as!ectos da engen"aria de soft4are1 E estou !articularmente interessado no futuro im!acto da anlise estrutun da em trAs gru!os> a alta direo de nossas organi&a0es em!resariais go.ernamentaisE crianas e !rofissionais do !rocessamento de dados no !aXses do Terceiro Mundo1 8a maioria das grandes organi&a0esE os com!onentes dos nX.ei su!eriores de direo soE normalmenteE !essoas entre JH e <H anos d idadeE o Mue significa Mue foram educadas e !assaram !elos anos d formao de suas carreiras " :HE @H ou JH anos atrs1 $s com!utadore como 2 sa/idoE L eWistiam " :H anos Fe mesmo @H anos atrsOE mas n esta.am am!lamente dis!onX.eis nem fa&iam !arte da tecnologia ou d cultura com Mue essas !essoas cresceram1 Mas isso est comeando mudarV estamos comeando a .er !essoas de nX.eis ele.ados de c"efi Mue ou F9O iniciaram suas carreiras nos setores de !rocessamento d dados ou de MI' FManagement Information '#stems ? 'istemas de Ir forma0es Gerenciais ? 'IGO 9E ou F:O comearam em alguma outra !art da organi&ao Fconta/ilidadeE .endasE fa/ricao etc1O cuLa o!era diria foi su/stancialmente afetada !ela tecnologia com!utacional1 Iss Muer di&er Mue .ocA !ode es!erarE como analista de sistemasE Mue a alt direo se torne !rogressi.amente cNnscia da estrat2gica im!ortPnci dos sistemas de !rocessamento de informa0es em sua em!resa e !r gressi.amente interessada em eWaminar modelos de alto nX.el dos !rinc !ais sistemas no.os1 'e .ocA tentasse mostrar um fluWo de dados a eWecuti.o !rinci!al de sua em!resa "oLeE 2 !ro..el Mue ele no o er tendesse e nem Muisesse com!reender !orMue de.erXa entender1 Der tio dos !rYWimos I anosE creio Mue a alta direo entender Mue 2 t I<< im!ortante ser ca!a& de ler Fe criticarO um modelo de sistema Muanto o 2 ler e criticar um /alano ou um demonstrati.o de lucros e !erdas1 As crianas tam/2m tornar?se?o mais familiari&adas com a anlise estruturada nos !rYWimos anos1 A !rogramao estruturada e o !roLeto estruturado L esto sendo ensinados no segundo grau escolar em algu mas !artes dos Estados 7nidos1 A anlise estruturadaE Mue antes era mat2ria dos seminrios do nX.el de graduaoE agora 2 ensinada no terceiro e Muarto anos dos curriculos uni.ersitrios da ciAncia da com!u tao e das escolas comerciaisE e logo far !arte de uma mat2ria !adro do !rimeiro ano uni.ersitrio1 Di.is0es longas eram assunto do curso su!erior e agora so ensinadas Zs crianasV a anlise estruturada ser igualmente um tY!ico Mue as crianas a!rendero durante seu !rocesso educacional normal1 Foi feita uma estimati.a de Mue uma criana nascida em 9CDH estar formada na escola secundria no final do s2culoE tendo escrito 9H1HHH lin"as de cYdigoV isso eMui.ale a!roWimadamente a dois anos de eW!e riAncia de !rogramao em tem!o integral de um !rogramador adulto de "oLe1 Durante essa eW!eriAncia em !rogramaoE !re.A?se Mue a gerao atual de Lo.ens adMuirir crescente eW!eriAncia com o !roLeto e a anlise de sistemas1 8em todos os com!onentes dessa gerao seguiro a !rofis so de !rogramador ou de analista de sistemasV na .erdadeE a!enas uma !eMuena frao se decidir !or essas carreiras1 Mas as demais crianas dos dias atuaisE Muer !refiram ser contadores ou engen"eirosE comercian tesE !rofessores ou !olXticosE formaro uma comunidade de usurios finais inteligentes de sistemas de informa0esV os usurios sa/ero muito mais so/re o Mue !odem es!erar de um analista de sistemas e so/re o Mue l"e !ode ser solicitado1 Grande !arte de nosso tra/al"o atualE de .idaE a!arentementeE Z dificuldade de tratar com usurios ignorantesE !oder ser desnecessria no futuro1 EWiste um outro as!ecto do crescente interesse !ela anlise estrutu rada Mue merece ser mencionado> o im!acto nas ind3strias de soft4are do Terceiro Mundo1 8a d2cada !assadaE a com!etio internacional em di.ersas ind3strias manufatureiras intensificou?se e as ind3strias america nas muitas .e&es !erderam terreno Fou foram aliLadasO na com!etio com as ind3strias La!onesaE coreanaE c"inesa ou /rasileiraE Mue oferecem !rodutos de alta Mualidade a !reos com!etiti.os1 $ mesmo fenNmeno est comeando a acontecer na ind3stria de desen.ol.imento de siste mas1 As t2cnicas de engen"aria de soft4areE incluindo as t2cnicas de anlise estruturada discutidas ne'te li.roE !odem auWiliar as organi&a0es com!etiti.as a desen.ol.erem sistemas com !roduti.idade de& .e&es su!erior Z de muitas organi&a0es americanas e com nX.el de Mualidade FeW!resso em tem!o m2dio entre fal"as ou n3mero de errosO cem .e&es maior Mue os das organi&a0es americanas com!ar.eis : EE tendo em .ista MueE em grau crescenteE todos os nossos !rodutos e todos os nossos ser.ios de!endem de sistemas de informa0es fundamentados ei com!utadoresE isso tem !rofundas im!lica0es !ara toda a ind3stri americana1 :I1:1: A ProJferao das Ferramentas Automati&adas 8o decorrer deste li.ro mencionamos a !ossi/ilidade da utili&a de ferramentas /aseadas em esta0es de tra/al"o !ara automati&ar cli.ei sos as!ectos da anlise estruturadaE !articularmente as ati.idades d intenso la/or como a criao de modelos grficos de sistemas e a .erifi cao da com!letude e correo deles1 $ a!Andice A descre.e as caracterXsticas de muitas dessas ferra mentas do analista Mue esta.am dis!onX.eis no mercado !or .olta di 9CDKE /em como os recursos Mue !ro.a.elmente sero acrescentados ao !rodutos comerciais nos !rYWimos anosE $ Mue interessa 2 Mue esse !rodutos eWistem agoraE e tornar?se?o crescentemente !oderosos n> !rYWima d2cada1 Por2mE !oucos analistas utili&am essas ferramentas "oLe1 Em 9CD estima.a?se Mue menos de :f dos analistas de sistemas na Am2rica dc 8orte e na Euro!a tin"am acesso !essoal a uma ferramenta automati&a da adeMuada1 Isso significa Mue a tX!ica em!resa de desen.ol.imento d sistemas tem uma ou duas esta0es de tra/al"o !ara desen"ar diagrama de fluWo de dadosE diagramas de entidades?relacionamentos etc1 Essa esta0es de tra/al"o !odem ser com!artil"adas !or toda uma organi &ao de cem ou mais !essoasE mas so muitas .e&es mais utili&adas !oi uma eMui!e isolada de !roLeto Mue te.e a sorteE a tenacidade ou a c ri.idAncia de in.estir nessa tecnologia1 Estima?se Mue !or .olta de 9CCH a!roWimadamente 9Hf dos analis tas de sistemas na Am2rica do 8orte e na Euro!a Fe em outras regi0e ci.ili&adas do mundoO tero suas !rY!rias esta0es !essoais de tra/al"o E em meados dos anos CH 2 ra&o.el es!erar Mue !elo menos IHf do analistas tero suas !rY!rias esta0es de tra/al"o1 Tuando ti.ermos o/ti do essa massa crXtica ser ra&o.el argumentar Mue nossa a/ordagem anlise de sistemas modificou?se fundamentalmenteE !orMue a maiorii dos analistas !raticantes estar utili&ando no.as e !oderosas ferramentasE Para fa&er uma analogia> 2 interessante falar a res!eito dos mel"oramen1 tos Mue !odem ser o/tidos na rea da car!intaria utili&ando?se uma serra el2trica ao in.2s de sua congAnere manualE mas o assunto 2 discutX.el sc a!enas 9f das car!intarias dis!user de eletricidade1 E o !oder da ferra1 menta afeta realmente o modo como lidamos com o mundo Z nossa .oltaV Craig Brod falou so/re isso com muita eloMaAncia em um clssicc li.ro intitulado Tec"nostress FEBrodE 9CDJ9O> I<D As ferramentas sem!re causaram grandes mudanas nas sociedades "umanas1 Elas nos criam da mesma forma como nYs as criamos1 A lanaE !or eWem!loE fe& muito mais do Mue estender o alcance do ca adorV ela mudou sua maneira de andar e a utili&ao de seus /raos1 Ela estimulou a mel"or coordenao ol"os?mosV ela con du&iu Zs organi&a0es sociais !elo rastreamentoE a/ate e reco l"imento de grandes !resas1 Ela am!liou a distPncia entre o caador in/il e o caador "/il e tornou o ac3mulo de informa0es mais im!ortante Muando as caadas tomaram?se mais com!leWas1 ,ou.e outros efeitos menos e.identes> altera0es na dieta dos gru!os caadores le.aram ao com!artil"amento da comida e Z formao de no.as rela0es sociais1 $ .alor da "a/ilidade artesanal nasceu1 As !essoas comearam a !laneLar anteci!adamenteE arma&enando ar mas !ara reutili&ao1 Todas essas no.as necessidades relati.as Zs ferramentasE !or sua .e&E estimularam maior desen.ol.imento do c2re/ro1 A com!leWidade do c2re/ro le.ou a no.os utensXliosE e no.os utensXlios tornaram os c2re/ros ainda mais com!leWos .an taLosos !ara a so/re.i.Ancia da es!2cie1 A esta alturaE !arece e.idente Mue a tecnologia de ferramentas automati&adas continuar a !rogredir durante os !rYWimos 9H anos1 $ estoLo de ferramentas do analista dos meados da d2cada de CH Muase certamente ter sofisticados recursos de .erificao de erros e a ca!aci dade de gerar cYdigo e at2 sugerir Fusando t2cnicas de inteligAncia artificialO !ossi/ilidades de reutili&ao de cYdigos de /i/liotecas de soft4are1 :I1:1@ $ Im!acto dos Desastres da Manuteno 8o ca!Xtulo anterior discutimos o uso do modelo de anlise estruturada !ara facilitar a manuteno e a modificao contXnuas de sistemas1 Por2mE esse 2 um !ro/lema Mue muitas .e&es !arece a/stratoE filosYfico e !oliticamente sem im!oriancia durante a fase de desen.ol.imento de um !roLetoE Muando a Anfase !rinci!al !arece ser conseguir entregar o sistema ao usurio1 De !referAnciaE um sistema Mue funcioneV se !ossX.el o sistema Mue o usurio deseLa.a1 MasE no caso disso fal"arE MualMuer sistema Mue !area funcionar e satisfaa ao menos alguns dos reMuisitos do usurio1 A realidade !olXtica 2 sim!lesmente a seguinte> a im!ortPncia da anlise estruturada e dos rigorosos e formais modelos de sistemas no foi totalmente com!reendida !or muitos dirigentes de nossas organi&a Nes1 Mesmo nas fileiras do gerenciamento de PEDE a anlise estruturada no merece o mesmo entran"ado sentimento de urgAncia Mue a necessi dade !olXtica de entregar?se em tem!o ao usurio um sistema Mue fun cione Fou Mue conste estar funcionandoO1 I<C Como L sugeri anteriormenteE essa situao !ode modificar?s Muando a !o!ulao usuria con"ecer mel"or a tecnologia do !rocessa mento e Muando a com!etiti.idade dos !aXses do Terceiro Mundo tomai se mais intensa1 EWisteE !or2mE um $utro fenNmeno Mue e.idenciar necessidade de modelos de sistemas atuali&ados Mue seLam mantidos d forma to diligente Muanto os !rogramas?fonte> desastres de manuren Mue faro os sistemas atuais entrarem em cola!so1 8o caso mais eWtremoE isso !ode fa&er com Mue um sistema eWi tente ? um grandeE com!leWo e no documentado sistema ? termin anormalmenteE ou !areE sem Mue algu2m seLa ca!a& de imaginar com re!ar?lo1 Mas isso 2 difXcil de ocorrerV 2 mais !ro..el Mue a causa d fal"a seLa identificada e sim!lesmente eW!urgada1 A ad.ertAncia ser ;8o se !ode mais introdu&ir uma transao ti!o X:I no sistema !orMu causa !ro/lemas]1 8oE a causa !ro..el de um grande desastre de manuteno 2 total im!ossi/ilidade de fa&er?se uma necessria e uigente mod de um sistema1 Essas modifica0es muitas .e&es so determinadas !c no.a legislao ou !ela !olXtica go.ernamentalV mas tam/2m !odem se necessrias !or causa de mudanas no am/iente da em!resa ou n> situao da com!etio1 Muitas em!resas L esto enfrentando esse !ro/lemaV muitos do sistemas !roLetados no final dos anos <H ou no inXcio dos KH esto Z /eir> do cola!soE e isso um dia acontecer1 Parte do !ro/lema estar relacio nado Z Im!lementao do sistemaE isto 2E o cYdigo L foi emendado remendado tantas .e&es Mue no 2 mais !ossX.el determinar com eWati do como o sistema funciona1 Mas o maio- !ro/lemaE em min"a o!inioE 2 Mue ningu2m sa/e oi lem/ra o Mue esses iistemas realmente de.em fa&er1 A terceira gera de !rogramadores de manuteno est agora interagindo com usurio de terceira gerao !ara discutir !ossX.eis modifica0es em um sistem> cuLos reMuisitos originais so um mist2rio !ara todos1 8esse am/ienteE ine.it.el Mue os !rogramadores de manuteno um dia cru&em os /ra os e se recusem a fa&er mais altera0es1 Ao defrontar?se com um !ro/lema desse gAneroE a alta direo ter> !ro.a.elmente uma reao automtica> comiss0es sero formadasE nor mas sero im!ostas e no.os !rocedimentos sero eWigidos1 Assim com temos .isto lXderes do go.erno reagirem a !ro/lemas de resXduos tYWi cosE derramamentos de !etrYleoE corru!o e .rios outros !ro/lemas somente de!ois da ocorrAncia de um grande desastreE acredito Mu muitos dirigentes da c3!ula em!resarial e go.ernamental reagiro a !ro/lema de modelos no eWistentes de sistemas somente a!Ys "a.e ocorrido um s2rio !ro/lema de manuteno1 IKH :I1:1J $ Casamento entre a Anlise Estruturada e a InteligAncia A rt 8o momento em Mue este li.ro est sendo escritoE uma imensa ateno est sendo de.otada !elas em!resasE !elo go.erno e !ela ind3s tria do !rocessamento de dados Z inteligAncia artificial FIAO> sistemas es!ecialistasE sistemas em linguagem naturalE ro/Ytica e muitos assuntos coneWos1 Em/ora a IA ten"a um dia sido considerada um assunto aca dAmico de !ouca a!licao !rticaE e a!esar de ter sido im!lementada em "ard4are eWYtico com linguagens de !rogramao incomuns como -I'P e P*$-$GE ela agora est tornando?se um tema de crescente im!or tPncia ? !rinci!almente a rea de sistemas es!ecialistasE os sistemas Mue !odem imitar o com!ortamento de !essoas !eritas em certos cam!os estreitamente definidos1 7m crescente n3mero de !acotes de soft4are e de li.ros de IA est dis!onX.el !ara am/ientes /aseados em C$B$- e em PC F.eLaE !or eWem!loE d 9CDI9E d 9CDI9E d 9CDIOE d 9CD<e e d 9CDI91 7ma crescente Muantidade de a!lica0es de IAE de diagnYs ticos m2dicos a eW!lorao de !etrYleoE a.alia0es comerciais e !laneLa mento de im!ostosE esto entrando no fluWo !rinci!al do mundo dos negYcios 1 $ Mue isso tem a .er com a anlise estruturada[ A coneWo entre a inteligAncia artificial e os sistemas es!ecialistas funciona em am/as as dire0es> a anlise estruturada !ode auWiliar no !rocesso de construo de um sistema es!ecialistaE e a tecnologia dos sistemas es!ecialistas e aLudar no !rocesso de anlise estruturada1 Tuando se constrYi um sistema es!ecialistaE trAs as!ectos do siste ma !odem ser dominantes> a incerface "omem?mMuinaE a re!resentao do con"ecimento e o mecanismo de inferAncia Mue a.alia e interroga o /anco de con"ecimentos1 A interface "omem?mMuina !ode en.ol.er entradas em linguagem natural FInglAsE FrancAsE Alemo etc1O e uma com/inao de grficosE teWto e som como saXda1 $ /anco de con"eci mentos !ode ser eW!resso como uma s2rie de regras IF?T,E8?E-'E ou como uma s2rie de Muadros 1 $ mecanismo de inferAncia !ode /asear? se na t2cnica de camin"amento em a.ano Ffor4ard c"ainingO ou na de carnin"amento retros!ecti.o F/ac%4ard c"ainingO e ser im!lementado com uma ;eW!ort s"ell] oferecida !or um fornecedor1 Mas o Mue " de significati.o so/re tudo isso 2 Mue os com!onen tes dos sistemas es!ecialistas esto agora tornando?se !arte de um siste ma maiorE !or eWem!loE um sistema o!erati.o Mue alimenta e atuali&a o /anco de con"ecimentos ou Mue utili&a a saXda do com!onente do siste ma es!ecialista !ara eWecutar outras fun0es do sistema1 AssimE as fer ramentas de modelagem da anlise estruturada !odem ser usadas !ara IK9 auWiliar a modelar o sistema geral1 Por2mE ainda mais im!ortanteE is Muer di&er Mue durante os !rYWimos I ou 9H anosE .ocA ter Mue a!rei der a tecnologia dos sistemas es!ecialistas e artificiais !ara !oder ser ui /om analista de sistemasE $ li.ro de Kelier FIKelIerE 9CD<OO 2 um /oi meio !ara comearE L Mue ele mostra muitas das intera0es entre anlise estruturada e os sistemas es!ecialistas1 Em sentido in.ersoE a IA !ode auWiliar no !rocesso de anlise e truturadaE agindo como um guia !ara um analista L3nior atra.2s dV di.ersas eta!as e !rocessos descritos neste li.ro1 Pode?se facilmeni imaginarE !or eWem!loE um _analista assistente] Mue res!onderia un= s2rie de !erguntas do analista "umano e Mue !rodu&iria um diagrama c conteWto !ro!osto ou uma lista de e.entos1 Pense um !ouco> .ocA coi segue recordarE agora Mue atingiu o fim do li.roE todas as normas diretri&es das centenas de !ginas lidas[ QocA acredita Mue se lem/rai delas daMui a um ano[ 8o seria Ytimo ter um sistema es!ecialista dis! nX.el em um PC Mue o !udesse lem/rar de como desen"ar DFDE DE* 'TD Mue fossem corretamente eMuili/rados[ Em/ora isto seLa entusiamanteE .ocA no de.e imaginar Mue F sistemas es!ecialistas afastaro os analistas "umanos1 $s !esMuisador nesta rea indicam Mue todos os sistemas es!ecialistas /em?sucedido de diagnosticadores m2dicos a analisadores de documentosE de.em es sucesso ao fato de concentrarem?se em um domXnio muito limitado d con"ecimento1 7m analista de sistemasE !ortantoE realmente !recisa s !erito em di.ersas reas diferentes> ele !recisa con"ecer a tecnologia d anlise estruturada a!resentada neste li.roV !recisa con"ecer a rea d a!licao do usurioV tem Mue sa/er /astante so/re conta/ilidadeE !ai !oder !rodu&ir clculos eWatos de custoG/eneficioV de.e ser !erito ei comunica0es e !sicologia cogniu.aE !ara !oder comunicar?se de mod efica& com o usurioV e tam/2m de.e ser .ersado em "ard4are e sof 4are de com!utadoresE !ara !oder comunicar?se efica&mente com c !roLetistas e os !rogramadores1 As estimati.as atuais F.eLaE !or eWem!" EBarsto4E 9CDK9 so de Mue os sistemas es!ecialistas estaro a!tos a auW liar na tarefa do analista em sistemas sim!les em meados da d2cada d CHE mas sY de!ois do fim do s2culo 2 Mue a tecnologia dos sistemas ei !ecialistas ser ca!a& de fa&er a anlise de grandes sistemas1 :I1:1I $ Im!acto das 8o.as Gera0es de ,ard4are Enormes somas de din"eiro esto sendo gastas "oLe !or em!resa !ri.adasE uni.ersidadesE Yrgos de !esMuisaE esta/elecimentos militares go.ernos !or todo o mundoE com o o/Leti.o de !rodu&ir "ard4are su/i tancialmente mais !oderoso durante os !rYWimos 9H ou 9I anos1 7ni recente !re.iso feita em uma !alestra na 9CD< FalI Roint (om!ut IK: Conference !or Gordon BeilE da 8ational 'cience FoundationE afirmou Mue a tecnologia do "ard4are ser a!erfeioada !or um fator de 9H nos !rYWimos I anosE e de!ois !or outro fator de 9H nos I anos seguintesE e !or mais outr fator de 9H nos I anos su/seMaentes1 8a mesma confe rAnciaE o fXsico laureado com o !rAmio 8o/elE Ken 8ilsonE fe& uma !re.iso ainda mais otimista> um a!erfeioamento !or um fator de 9HH nos !rYWimos I anosE seguido !or outro fator de 9HH nos I anos seguin tes e !or mais outro fator de 9HH nos I anos su/seMaentes1 Desse modoE esses dois eminentes cientistas sugeriram Mue dentro dos !rYWimos 9H a 9I anos !odemos es!erar Mue o "ard4are seLa de 9H a 9H< .e&es mais !oderoso Mue os com!utadores de "oLe1 $ Mue tem isso a .er com anlise de sistemas[ 'im!lesmente isto> a definio dos reMuisitos do usurio !ara um sistema de informa0es de.e ser feita dentro do conteWto do Mue o usurio e o analista de sis temas consideram ser !ossX.el com a tecnologia dis!onX.el1 Mas o Mue Lulgamos ser !ossX.el fundamenta?se am!lamente no Mue sa/emos agora so/re a tecnologia de com!utadores1 Pode?se o/Letar Mue a maioria dos usurios finais e dos analistas de sistemas seMuer utili&a a tecnologia de "ard4are eWistenteE eE !ortantoE o Mue faro com uma tecnologia um mil"o de .e&es mais a.anada[ A eW!eriAncia !assada com outros !rogressos tecnolYgicosE !or eWem!loE na rea das comunica0es Fdos sinais de fumaa ao tel2grafoE telefone etc1O e dos trans!ortes Fdos ca.alos aos automY.eisE a.i0es etc1O d?nos uma !istaV nossa !rimeira reao Z tecnologia radicalmente a!er feioada 2 continuar fa&endo o mesmo ti!o de coisas Mue fa&Xamos an tesE !or2m de maneira um !ouco mais r!ida e com mais facilidade Fe mais economicamenteE em muitos casosO1 'Y mais tarde 2 Mue comea mos a .islum/rar a!lica0es inteiramente no.as !ara a no.a tecnologia1 Como eWem!loE considere o ramo dos trans!ortesE Mue todos co n"ecemosV em/ora as .iagens a2reas seLam relati.amente no.as Fcom!a radas Z "istYria da es!2cie "umanaOE elas tAm estado conosco durante toda a nossa .ida e tAm um im!ortante im!acto na id2iaE consciente ou inconscienteE eW!lXcita ou im!lXcitaE Mue fa&emos do modo como de.e mos .i.er nossas .idas1 'u!on"a Mue algu2m l"e diga Mue um trem su!ersNnico esteLa dis!onX.el !ara le.?lo da costa oriental dos Estados 7nidos Z costa ocidental Z .elocidade de J1DHH MuilNmetros !or "ora 1 Tual seria o efeito disso em sua .ida !rofissional[ E em sua .ida social[ Tue ti!o de modifica0es .ocA comearia a fa&er "oLe se esti.esse ra &oa.elmente certo de Mue essa a.anada tecnologia estaria dis!onX.el dentro dos !rYWimos @ a I anos[ ^ eWatamente nessa situao Mue nos encontramos como analistas de sistemas no restante deste s2culoV a cada .e& Mue somos /rindados com tecnologia de !rocessamento mais !oderosaE nossa !rimeira reao Fe a dos usurios finaisE tam/2mO 2 reim!lementar as a!lica0es L IK@ eWistentes de uma forma um !ouco mais eficienteE $ desafio ser encor trar a!lica0es Inteiramente no.as ? usos inteiramente no.os e rad> calmente d da tecnologia de com!utao ? em relao a a!lica0es Mue so !resentemente desen.ol.idas1 :I1@ C$8C-7')$ ^ im!ortante Mue .ocA ten"a uma !ers!ecti.a .oltada !ara o futun ao concluir este li.ro e comear a !raticar anlise estruturada no mund real1 Em/ora a modelagemE a resoluo iterati.a de !ro/lemasE a su/di .iso to!?do4n e outras id2ias discutidas neste li.ro sero Muase segura mente .lidas !ara um futuro .isX.elE muitos detal"es FeW1> a tecnologi> dis!onX.el de a!oio Z anlise estruturada e at2 outras t2cnicas como su/di.iso de e.entosO !odem ser modificados ou su/stituidos1 QocA no de.e su!or Mue o Mue a!rendeu neste li.ro seLa imut.el !ermanente e imune a modifica0es1 Como toda ciAnciaE e !rinci!almen te como todos os outros as!ectos da ciAncia da com!utaoE a rea d anlise de sistemas est destinada a continuar modificando?seE e.oluind e Fes!eramosO a!erfeioando?se durante o s2culo .indouro e al2m1 Pan algunsE 2 assustador !erce/er Mue metade do Mue se a!rende ness rea t2cnica estar o/soleto em I anos1 Para outrosE e es!ero Mue .oc se inclua nesta categoriaE isso 2 uma fonte de constante reno.ao entusiasmo1 E com essa o/ser.ao c"egamos ao final deste li.ro1 QocA aindi no 2 um .eterano analista de sistemasE mas de.e !ossuir suficiente> ferramentas e t2cnicas !ara iniciar a !rofisso sem receio de fracassar Possa .ocA desfrutar da !rtica da anlise estruturada em sistemas d informa0es Mue iro /eneficiar a sociedade1 E Mue .ocA retorne err menos de I anos !ara .er o Mue mudou1 Tc"au` *EFE*b8CIA' 91 Tom deMarcoE 'tructured Anal#sis and '#stems '!ec Engle4ood CliffsE 81R1> Prentice? ,allE 9CKC1 :1 C"ris Gane e Tris" 'arsonE 'lnsctured '#stems Anal#sis> Tools an Tec"niMues1 Engle4ood CliffsE 81R1> Prentice?,allE 9CKD1 @1 Art"ur C1 Clar%eE ProL=iles of t"e Future1 8o.a RorMue> ,olt *ine"artE and 5instonE 9CDJ1 J1 Rared Ta#lorE _-ig"i#ear=s A"ead of Pa!er]E PC Maga&ineE 9< k a/ril de 9CDI1 I1 Fran% DerfierE _EW!ert?Ease Ma%es R^s $4n *ules]E PC Maga&ine 9< de a/ril de 9CDI1 IKJ <1 *o/in 5e/sterE \M1 9 Ma%es a Direct ,it]E PC Maga&ineE 9< de a/ril de 9CDI1 K1 *o/ert E1 KelierE EW!ert '#stem Tec"nolog#> De.elo!ment and A!!licalion1 Engle4ood CliffsE 81R1> 6$7*D$8 PressE 9CD<1 D1 Fran% *oseE m/ l"e ,eart of l"e Mmd1 8o.a lorMue> ,ar!er k *o4E 9CDI1 C1 D1 Barsto4E \Artificial Intelligence and 'oft4are Engineering]E ProceedXngs of t"e Ct" Intemational Conference on 'oft4are Engi neering1 5as"ingtonE D1C1> IEEE Com!uter 'ociet# PressE maro de 9CDK1 9H1 Paul 5ard e 'te.e MeliorE 'tructured De.elo!ment of *eal?Time '#stems1 8o.a lorMue> 6$7*D$8 PressE 9CD<1 991 'te.e McMenamin e Ro"n PalmerE Essential '#stems Anal#sis1 8o.a lorMue> 6$7*D$8 PressE 9CDJ1 9:1 Craig BrodE Tec"nostress1 8o.a lorMue> Ro"n 5ile#E 9CDJ1 PE*G78TA' E EXE*CcCI$' 91 Tuais so os trAs grandes estgios e.oluti.os da anlise de sistemas ocorridos nos 3ltimos :H anos[ :1 Tuais so as cinco !rinci!ais modifica0es ocorridas na rea da anlise de sistemas nos 3ltimos 9H anos[ @1 $ Mue os termos lYgico e fXsico significam no conteWto deste ca!itulo[ J1 $ Mue 2 su/di.iso de e.entos[ $ Mue ela .eio su/stituir na rea da anlise de sistemas[ I1 Por Mue a modelagem fXsica do sistema atual foi relegada na anlise de sistemas[ <1 Tue ferramentas foram acrescentadas Z rea da anlise de sistemas !ara auWiliar na modelagem de sistemas de tem!o real[ K1 $ Mue 2 um diagrama de estrutura de dados[ Como ele foi su/sti tuXdo na rea de anlise de sistemas[ D1 Como os com!utadores esto comeando a afetar as tarefas e ati .idades dos c"efes mais graduados das organi&a0es[ C1 Por Mue o ensino da anlise estruturada e do !roLeto estruturado Zs crianas nos anos .indouros ter im!acto nos !roLetos de desen .ol.imento de sistemas[ 9H1 1 Por Mue a anlise estruturada !ossi.elmente ser um fator de com!etio internacional entre os Estados 7nidosE Euro!a e muitos !aXses do Terceiro Mundo[ 991 ProLeto de PesMuisa> Mual a !ercentagem de !rogramadores e analistas de sistemas Mue dis!0e de esta0es de tra/al"o com es toLo de ferramentas em suas organi&a0es[ IKI 9:1 Por Mue as ferramentas automati&adas so im!ortantes !ara anlise d2 sistemas[ 9@1 Por Mue os desastres de manuteno tero im!acto na anlis estruturada no futuro[ 9J1 Tue rela0es !ossi.elmente "a.er no futuro entre a inteligAncia artificial e a anlise estruturada[ 9I1 Por Mual !ercentagemE ou m3lti!loE es!era?se Mue o "ard4are seLa a!erfeioado nos !rYWimos 9H a 9I anos[ 9<1 Por Mue os contXnuos a!erfeioamentos do "ard4are tero im!actc na forma como 2 feita a anlise de sistemas[ 8$TA' 9 TrAs eWem!los so Ro"n *eedE atual !residente da Citico!E *ic"ard CrandailE dirigente da American AirlinesE e Fran% -auten/ergE Mue foi !residente da ADP Fem!resa de ser.ios de !agamento de !es soalO e atualmente 2 um dos dois senadores !or 8o.a Rerse#1 EWistem tam/2m di.ersas !essoas Mue foram !rogramadores e analistas de sistemas e Mue "oLe so mem/ros do Congresso1 : QeLa a discusso desse assunto em _T"e Com!uter Industr# in Ra!an=E de D1 TaLima e T1 Matsu/araE Com!uterE Qolume 9JE n I Fmaio de 9CD9OE !gs1 DC?C<1 @ 7m grande .olume de tra/al"o ainda 2 eWecutado em "ard4are de !rocessamento es!eciali&adoE com utili&ao de linguagens de !rogramao es!eciali&adasE como -is! e Prolog> EntretantoE F9O a maioria das em!resas !referiria integrar suas a!lica0es de IA com as outras a!lica0es Mue eWecutam em seu "ard4are de grande !orte !adro IBME F:O a maioria dos !rogramadores !referiria utili&ar linguagens con"ecidasE como C$B$-E do Mue linguagens esot2ricas como Prolog e F@O as a!lica0es de IA orientadas !ara os negYcios tero de o/ter informa0es !or meio de _gram!os] no /anco de con"ecimentosE Mue L eWiste no com!utador de Drand !orte1 J QeLa a descrio de Muadros em IKelierE 9CD<91 I Isso no 2 fico cientXfica1 Planos s2rios de engen"aria !ara esse trem su!ersNnico foram !re!arados no MIT1 IK< P1 9 J= A FE**AME8TA' A7T$MATIgADA' $ "omem 2 um animal Mue utili&a ferramentas1111 'em ferramentas ele nada rz!resentaE com elas ele 2 tudo1 T"omas Carl#leE 'artor *esartusE -i.ro 9E Ca!Xtulo J A19 $' A8TECEDE8TE' DA' FE**AME8TA' A7T$MATIgADA' 7ma ferramenta automati&ada !ode ser definida como algo Mue su/stitui o tra/al"o manual do !rogramadorE do analista de sistemasE ou at2 do usurio final Mue !recisa informar seus reMuisitos aos !rofissionais da com!utao1 Desse modoE eWistem muitas coisas Mue !odem ser consideradas como ferramentas> -inguagens de !rogramao de alto nX.elE desde o C$B$- e PascalE at2 as atuais linguagens de Muarta gerao Mue !ermitem aos !rogramadores o uso de sentenas semel"antes Z linguagem naturalE de alto nX.elE Mue so automaticamente con.ertidas nas instru0es !rimiti.asE de /aiWo nX.elE Mue o com!utador com!reende1 11 -istagens de referAncias cru&adasE !rogramas de im!resso de relatYriosE e outros !rogramas utilitrios Mue oferecem informa 0es auWiliares e estticas so/re seus !rogramas1 Ferramentas de testes e de de!ura oE simuladores e con gAneresE Mue !restam informa0es ao !rogramador so/re o IKC com!ortamento dinPmico de seu !rograma em tem!o de e= cu As ferramentas de testes auWiliam o !rogramador a cri uma grande .ariedade de casos de teste !ara garantir Mue u !rograma seLa /em testado1 As ferramentas de de!urao aL dam o !rogramador a locali&ar erros de!ois de !erce/er Mi algo est errado1 $s simuladores oferecem uma re!resenta mais .isual e grfica da eWecuZY do !rogramaE !or eWem!i a!resentando o !rograma como um fluWograma na tela do t mina`E e simulando o com!ortamento do !rograma durante eWecuo mostrando o fluWo de controle atra.2s do fluWograni Terminais de time?s"aring Ftem!o com!artil"adoO Mue su/s tuem os am/ientes de desen.ol.imento /atc"1 Essa /atal"a tra.ada e .encida " 9I anos na maioria das organi&a0es soft4areE mas 2 im!ortante com!reender Mue o terminal time?s"aring 2 uma ferramenta1 8os anos <H e no inXcio dos an KHE os !rogramadores tin"am de escre.er seus !rograma manualmenteE em formulrios adeMuadosV os comandos do !r grama eram de!ois !erfurados em cart0es Flem/ra?se d cart0es !erfurados[O eE em seguidaE alimentados no com!utad durante a noite1 'e "ou.esse algum erro Fse o !rogramador .esse escrito um comando sintaticamente incorreto ou se o!erador da !erfuradora ti.esse errado alguma !erfuraoOE s ria entregue um relatYrio de erros !ara o !rogramador na m n" seguinte1 E o ciclo recomearia1 Tudo isso desa!areceu e meados da d2cada de KH na maioria das em!resas atualmenteE !rogramador digita seu !rograma diretamente em um termin de time?s"aringE concorrentemente com centenas de outros !r gramadores eGou usurios finais1 $ !rograma !ode ter sua cc reo sinttica conferida de imediatoE o mesmo acontecenc com os testes e com de!urao1 ,oLe 2 difXcil imaginar?se u am/iente diferente1 Mas isso 2 de.ido em !arte ao fato de terminais no?inteligentes !oderem ser adMuiridos !or menos qIHH1 , de& anos o !reo esta.a em torno dos q@1HHH ou mai e ningu2m tin"a certe&a de Mue um !rogramador merecesse u in.estimento dessa en.ergadura1 Com!utadores !essoais Mue !ossi/ilitam o desen.ol.imento !rogramas oLL?line1 ,oLeE o in.estimento de q@1HHH 2 um com! tador !essoal1 $s terminais no?inteligentes so /onsE !or2 somente se o com!utador de grande !orte ao Mual eles est iam ligados !ode !ro!orcionar tem!o de res!osta r!ido consistente !ara Mue os !rogramadores !ossam tra/al"ar !rodi ti.amente1 A maioria deles no !odeV muitas .e&es le.am IDH segundos !ara reagir Z mais tri.ial entradaE e 9H !ara entradas mais significati.as1 7ma alternati.a atraente 2 um com!utador !essoal Mue o !rogramador !ode uti9i&ar !ara ela/orar um !ro gramaE fa&er as corre0es necessrias e re.is0es utili&ando um !rograma comum de !rocessamento de !ala.rasE com!ilar o !rograma !ara .er se " erros de sintaWe Mue o com!utador !rinci!al reLeitariaE e eWecutar alguns limitados testes off?line1 Pacotes de controle de cYdigo fonte Mue im!edem Mue um !ro?1 gramador faa modifica0es no autori&adas nas .ers0es oficiais de !rogramas no meio da noite1 8os grandes !roLetos de !ro gramaoE uma das dificuldades 2 $ gerenciamento da configu rao> assegurar a eWistAncia de total controle so/re os .rios com!onentes do sistema final1 Cada !rogramador tra/al"a em sua !rY!ria tarefa e !ode necessitar de de&enas de re.is0es daMuela tarefa antes de com!let?la1 Mas a !arte dele interage com outras !artes semel"antes da res!onsa/ilidade de di.ersos outros !rogramadores1 A menos Mue todos sai/am Mue .erso de Mue !arte de.e ser considerada a .erso oficial a anarMuia ser geral1 7m !acote de controle de cYdigo fonte 2 como um /i/liotecrio automati&ado> ele im!ede a retirada e a adulterao de documentos oficiais1 j Anlise de sistemas e /ancadas de !roL ei o1 As ferramentas acima descritas referem?se !rinci!almente Z tarefa de escre.er !ro gramas Fisto 2E decidir Muais comandos C$B$- ou F$*T*A8 de.em ser utili&ados !ara resol.er um /em definido !ro/lemaO1 Mas no 2 aX Mue reside a maior dificuldade de se construir um sistema de soft4are1 $ !ro/lema real est nos !rimeiros estgios da anlise de sistemas Fdesco/rir o Mue o sistema de.e fa&erO e de !roLeto Fdesco/rir como de.e ser a estrutura geral do sistemaO1 Atualmente estamos comeando a .er ferramentas Mue oferecem auWXlio aos analistas de sistemas e !roLetistas de sistemas1 A maioria das ferramentas acima descritas tAm estado dis!onX.eis nos 3ltimos 9H a 9I anos e muitas so largamente utili&adas nas organi&a 0es de sistemas de informa0es gerenciais F'IGO1 As /ancadasE !or outro ladoE so muito recentes e mal comeam a a!arecer na ind3stria de soft4are de 9CDK1 'o es1sas ferramentas MueE em min"a o!inioE tAm a !otencialidade de sal.ar a ind3stna amencana de soft4are1 Como !udemos .er neste li.roE a anlise de sistemas /em?sucedida 2 firmemente fundamentada nos modelos do sistema Mue de.e ser com!utadori&ado1 As ferramentas de /ancada do analista e do !roLetista ID9 esto relacionadas !rinci!almente com o desen.ol.imento eficier desses modelos1 Por eWem!loE eles auWiliam o analista de sistemas construir diagramas grficos Mue ca!acitam o usurio final a entender Mue o sistema far !ara ele1 As /ancadas tam/2m auWiliam o analista e !roLetista a garantir Mue o modelo seLa com!letoE acurado e consisteni de modo a Mue os erros desco/ertos no decorrer da fase de !rograrr o sero a!enas erros de !rogramaoE e no um refleWo de um m> entendido !ermanente entre o usurio final e o analista de sistemas 1 !ara finali&arE as /ancadas !odem !restar auWilio ao !rogramador i con.erso do modelo em um !rograma atuante1 FuturamenteE !resuni se Mue as /ancadas automati&aro com!letamente esse !rocesso1 A ind3stria de soft4are .em falando em ferramentas como essa 9 cinco anos ou maisV entretantoE no se fe& muito a res!eito1 Isso se de= em !arte ao fato de a tecnologia de engen"aria de soft4are ainda no i !ermeado a ind3striaE !or2m isso 2 mais uma Muesto econNmica1 Con afirmeiE no foi antes dos meados dos anos KH Mue a maioria das orgai &a0es de 'IG aceitou a id2ia de Mue cada !rogramador de.e ter u terminal no? inteligente em sua mesaE e !assaram?se outros cinco an !ara Mue muitas em!resas realmente adMuirissem os terminais e destin: sem um com!utador de grande !orte em se!arado !ara a eMui!e desen.ol.imento de sistemas Fnesse XnterimE dois ou trAs !rogramador muitas .e&es tin"am de com!artil"ar um terminalE de modo muito sem l"ante a duas ou trAs !essoas com!artil"ando o mesmo telefone em u escritYrio e toda a eMui!e de desen.ol.imento de sistemas tin"a com!artil"ar o mainframe com centenas de usurios finais tentan eWecutar tra/al"o 3til em seus terminaisO1 8esse meio tem!oE os com!utadores !essoais e as esta0es i teligentes comearam a a!arecer no mercado consumidor1 8o final d anos KH e inXcio dos DHE a maioria dos !rogramadores ignora.a mMuinasE !or no serem muito !oderosasE no !elos !adr0es mainframe !elos Muais eles Lulga.am a ca!acidade de um com!utadc 7ma estao inteligente de !oder suficientemente altoE ca!a& de auWili o analistaG!roLetista em seus modelos de engen"aria de soft4are custal entre qIH1HHH e q9HH1HHH !or .olta de 9CDH? 9CD9E o Mue deiWa.a o a sunto fora de cogita0es !ara a maioria das em!resas de 'IG1 A!en umas !oucas organi&a0es com enormes !roLetos e imensos oramentJ !oderiam considerar tal des!esaV e o mWimo Mue se !odia es!erar e uma estao inteligente !ara todo um de!artamento com centenas !essoas1 Algumas das !rimeiras esta0es foram desen.ol.idas em er !resas aeroes!aciaisE contratadas da defesa e fa/ricantes de sofisticad esta0es grficas de com!utadoresE mas a comunidade estudiosa corrente !rinci!al de 'IG descon"ecia a id2ia1 Por .olta de 9CD@E as coisas comearam a mudar1 Poderos com!utadores !essoaisE com grficos de alta resoluo e adeMua ID: ca!acidade de memYriaE caXram a/aiWo da mgica /arreira dos q9$1$$$ Alguns eram esta0es inteligentes orientadas !ara a engen"ariaE construX das !or no.as e agressi.as com!an"ias de com!utadoresE como a A!olio Com!uter e 'un Com!uterV alguns foram .erdadeiros lam!eLos de lu& como o com!utador -isa da A!!le1 A maioriaE contudoE re.elou?se como configura0es !ersonali&a das do !o!ularXssimo com!utador !essoal da IBM1 Com sua arMuitetura a/ertaE a IBM !ossi/ilitou a todos os interessados a construo de confi gura0es de em!regos es!eciais adeMuadas Zs suas necessidades1 Dessa formaE a ind3stria de ferramentas de soft4are !Nde construir uma !ode rosa estao inteligente com!osta !elo c"assis de um PC?IBME !ela !laca grfica do fornecedor AE !ela eW!anso de memYria do fornecedor B e um monitor de .Xdeo de alta resoluo do fornecedor C1 A ca!acidade de construir uma !oderosa estao de tra/al"o com a sigla IBM na !arte frontal 2 de fundamental im!ortPncia no mercado1 A realidade 2 Mue nas em!resas comerciais ? /ancosE em!resas de segu rosE e as agAncias go.ernamentais no?militares ? o com!utador !essoal de.e ter a sigla IBM no !ainel frontalV istoE infeli&menteE 2 mais im!ortan te Mue a su!erioridade tecnolYgica do "ard4are1 As em!resas cientXficas e de engen"aria no se !reocu!am tanto com o com!utador Mue utili &am Fem/ora muitas !referissem Mue MualMuer com!utador !essoal Mue com!rassem fosse !arecido com o DEC QAXO e as em!resas de defesa no se im!ortam com o ti!o de com!utador Mue usamE desde Mue seu custo !ossa ser incluXdo no contrato com o go.erno1 EWistem atualmente algumas em!resas nos Estados 7nidos e na Euro!a adMuirindo !rodutos de soft4are e esta0es de "ard4are !ara auWiliarem analistas e !roLetistas de sistemas1 A ta/ela A19 a!resenta uma lista re!resentati.a dos fornecedores e dos !rodutos Mue esta.am dis !onX.eis em 9CDK1 7ma das foras im!ulsoras !or trs deste Muadro de em!resas 2 a crena de Mue nos !rYWimos I a 9H anos .irtualmente todos os funcionrios de colarin"o /ranco dos Estados 7nidos e es!ecialmente todos os !rogramadoresE analistas de sistemasE !roLetistas de sistemas e os usurios finais de sistemas de !rocessamentoE tero um !oderoso com!utador !essoal em suas mesas1 $ !oder do "ard4are estar lV agora tudo Mue !recisamos fa&er 2 am!liar esse !oder com uns !oucos recursos adicionais de "ard4are e alguns soft4are muito !oderosos1 A maioria dos !rodutos funciona nos IBM PCE em/ora alguns for necedores ten"am escol"ido o A!!le Macintos" ou os com!utadores mais !oderosos A!ollo ou QAX1 Qirtualmente todos os !rodutos ofere cem ao usurio um conLunto de Xcones Fformas Mue !odem ser utili&adas na criao de desen"osO e um _mouse] !ara selecionar os Xcones1 Isso !ode ser?l"e familiar se .ocA L ti.er utili&ado !rogramas grficos como o MacPaint ou MacDra4 no Macintos" ou o PC?Dra4 ou o EGA?Paint em IBM PC1 EntretantoE os !rodutos de esta0r@ de tra/al"o de analistas so ID@ Ta/ela A19> Fornecedores de Esta0es Inteligentes !ara Analista Fornecedor Produto AIM' PlusE Inc1 Aims Plus 9KH9 Directors Bl.d1 AustinE DC KI:@J Cadre Tec"nologies Inc1 Team4or% 'GA ::: *ic"mond 'reet Pro.idenceE *I H:CH@ Ca! Gemini 'oft4are `.lulti Pro :@IH QaIle# Qie4E J:H DailasE DC KI:@J CGI '#stems Inc1 Pac/ase $ne Blue ,ill Pla&a P1$1 BoW 9<JI Peari *i.erE 86 9HC<I Com!uter Cor!1 ofAmerica PCG5or%s"o! Four Cam/ridge Center Cam/ridgeE MA H:9J: CorteW Cor!1 CorQision 9:D *o/erts *oad 5alt"amE MA H:9IJ DBM'E Inc1 De.elo!er 5or%stauon 9K9K Par% 'treet 8a!er.ilieE I- <HIJH IconiW 'oft4are EngineeringE Inc1 IconiW 9H@K T"ird 'treetE 'uite 9HI 'anta MonicaE CA CHJH@ IndeW Tec"nolog# EWcelerator 9H9 Main 'treet Cam/ridgeE MA H:9J: Ken $rr k AssociatesT"e Design Mac"ine 9K:I Gage Bl.d1 To!e%aE K' <<<HJ IDJ Kno4ledge4are Information Engineering @@JH Peac"tree *oad 8E 5or%/enc" AtlantaE GA @H@:< Meta '#stems 'tructured Arc"itect @9I E1Eisen"o4er Par%4a# 'uite :HH Ann Ar/orE MI JD9HJ 8astec Cor!1 DesignAid :J<D9 8ort"eastern ,ig"4a# 'ot"fieldE MI JDHKI Promod Inc1 Promod ::CD9 Alcade Dri.e -aguna ,ilisE CA C:<I@ 'tar'#sE Inc1 MacBu//les 9999@ 8ortee Dri.e 'il.er '!ringE MD :HCH:?@<9C Te%troniW CA'E P1$1 BoW IHHE 'tation 6@?@9J Bea.ertonE $* CKHKK 6ourdon Inc1 AnalistGDesigner Tool%it 9IH9 Broad4a# 8e4 6or%E 86 9HH@< em n3mero muito maiorV eles a/rangem o recurso de desen"os1 EE como .eremos a seguirE eles dis!0em de muitos recursos no encontrados em sim!les !rogramas de desen"o1 A1: *EC7*'$' IMP$*TA8TE' EM FE**AME8TA' A7T$MATIgADA' ^ fcil !ensar em /ancadas automati&adas !ara analistas e !roLetis tas de sistemas como nada mais Mue !rodutos !ara desen"ar eletronica mente1 Certamente 2 .erdadeiro Mue a ca!acidade grfica desses !rodu tos 2 a !arte mais .isX.el e mais _seW#]E !or2m 2 a!enas um de seus im!ortantes recursos1 As /ancadas de.em oferecer os seguintes recursos !ara Mue sua utili&ao seLa significati.a no desen.ol.imento de um sis tema com!leWo> IDI j 'u!orte grfico !ara m3lti!los ti!os de modelos j *ecursos de .erificao de erros !ara garantir a correo dc modelos j *eferAncias?cru&adas dos diferentes modelos j 'u!orte adicional de engen"aria de soft4are A1 :19 'u!orte Grfico Como temos .isto neste li.roE os modelos da anlise estruturad a!Yiam?se em di.ersos ti!os de informa0es> teWtoE dicionrios de dado e diagramas grficos1 $s teWtos e os dicionrios de dados !odem ser au tomati&ados com utili&ao de !rocessadores de !ala.ras e com!utadc res de grande !orte con.encionaisV o Mue sem!re faltou foi o su!ort grfico1 $ analista de sistemas !recisa de uma estao inteligente de tra /al"o Mue o !ermita com!orE re.isar e arma&enar os seguintes ti!os d diagramas> j Diagramas de fluWo de dados FDFDO j Diagramas estruturais FDEO j FluWogramas FFGO j Diagramas de entidades?relacionamentos FDE*O j Diagramas de transi0es de estado FDTEO Desse modoE uma /ancada de analista de.e !ossi/ilitar a com!o sio do DFD mostrado na figura AiFaO1 A tela Mue o analista contem!la ao com!or um diagrama desse ti!c 2 mostrada na figura A1iF/O1 De.o di&er Mue com!us esse diagrama utili&ando um sim!les !ro grama de desen"o c"amado MacDra4 em um com!utador A!!le Macintos"E Mue estou usando !ara escre.er este li.ro -e.ei 9I minuro !ara com!or o diagrama e mais @H segundos !ara co!i?lo diretamente no teWto deste ca!Xtulo1 Eu !oderia ter desen"ado o diagrama manual mente em @ minutosE colando?o no ca!Xtulo com tesoura e fita gomada em cerca de @ minutos1 A .antagem do su!orte grfico e.identemente no !ro.2m do desen"o inicial do diagramaE e sim da facilidade da modifica0es1 ID< > Figura A19 F/O> 7ma tX!ica tela de uma estao de tra/al"o de analista IDK Figura A19 FaO> 7m DFD tX!ico Figure 719F SSSSS *elatYrio de `defaturas Em um tX!ico !roLeto de desen.ol.imento de sistemasE um di grama como o da figura A1 9 !ode ser modificado uma d3&ia de .e&es1 8 realidadeE um analista de sistemas da Te%troniW disse?me Mue ele e usurio final tin"am modificado um DFIO como o da figura A1 9 mais cem .e&es at2 Mue finalmente concordassem Mue ele finalmente era ur modelo correto dos reMuisitos do usurio 8ingu2m em s consciAnci de.e !retender redesen"ar manualmente um diagrama cem .e&e entretanto a introduo de uma !eMuena mudana em um diagrama n tela de um com!utador costuma le.ar cerca de a!enas um minutc Alguns resultados iniciais do ,artford Insurance Grou!E Mue tem mais d <HH esta0es de tra/al"o instaladasE a!ontaram uma mel"ora da !rc duti.idade em torno de JHf de.ida unicamente ao a!oio grfic automati&ado F.eLa ECra4fordE 9CDI9O1 Tam/2m Muero ressaltar Mue os !rogramas grficos de em!reg geral como o MacDra4 ou o MacPaint Fno Macintos"O ou o PC Dra4 oi EGAPaint Fno IBM PCO no so de fato adeMuados ao engen"eiro d soft4are1 Para construirmos modelos formais de engen"aria de soft4are de.emos !rimeiro decidir Mue XconesE ou sim/olos grficosE sero em !regados1 Em seguida de.emos definir regras Mue definam as !ro!rieda des dos Xcones e as coneW0es .lidas entre esses Xcones1 A figura AIE !H eWem!loE utili&a os Muatro Xcones associados a um DFD !adro> o cXrcu loE o retPnguloE a notao !ara de!Ysito de dados e uma lin"a re!resen tando o fluWo de dados entre um lugar e outro1 $ MacDra4E toda.ia !ermitiu?me a incluso de triPngulosE "eWgonos e MualMuer outra re!re sentao grfica no diagrama1 E o MacDra4 no sa/e Mue Muando un fluWo de dados 2 interligado a uma /ol"a os dois o/Letos de.emE daX en dianteE ser tratados como um gru!o ou um o/Leto com!osto Em un nX.el mais sim!lesE ti.e dificuldades em criar /ol"as FcXrculosO de tama n"o uniformeE e le.ei uma eternidade !ara colocar !onta de setas na eWtremidades das lin"as1 A1:1: *ecursos de Qerificao de Erros Em/ora o su!orte grfico seLa indu/ita.elmente necessrioE ele d modo algum Lustifica !or si sY o dis!Andio de q9H1HHH em uma estac de tra/al"o1 7ma /ancada de analista de.e eWaminar o modelo criad !elo analista ou !elo !roLetista de sistemas !ara garantir Mue esteLa com!leto e internamente consistente1 A figura A19E !or eWem!loE de.eri ser analisada do seguinte modo> j Todos os Xcones esto interligados[ EWiste algum de!Ysito di dados ou /ol"a de !rocesso flutuando li.res !elo diagramaE serr entradas e saXdas[ IDD j Todas as /ol"as de !rocesso tAm !elo menos uma saXda[ 'e noE ela 2 um !ossX.el /uraco negro Mue de.ora os dados mas no !rodu& MualMuer saXda1 j Todos os fluWos dc dados Fas lin"as com nomes Mue interligam os Muadros e /ol"asO tAm nome[ Todos os nomes constam no dicionrio de dados[ j Todos os !rocessos Fas /ol"asO tAm nomes 3nicos FeWclusi.osO[ Podem ser feitas .eriXica0es de erros anlogas nos DEE FGE DE* e DTE1 E essa .erificao !ode ser estendida a diferentes nX.eis de mode lagem1 A figura AiE !or eWem!loE !oderia ser um su/sistema de /aiWo nX.el re!resentado !or uma 3nica /ol"a F/ol"a n3mero 9O em um siste ma de conta/ilidade de nX.el mais ele.ado modelado na figura A1:1 A /ancada do analista de.e garantir Mua as entradas e saXdas mos tradas na figura A19 corres!ondam Zs da /ol"a 9 da figura A1:1 'e no "ou.er essa corres!ondAncia o modelo estar inconsistente e ser um inferno algumas semanas Fou mesesO mais tarde Muando algu2m tentar declaraYes Figura A1:> 7m DFD de nX.el mais ele.ado IDC o de de ?as con.erter o modelo grfico em C$B$-1 $ mesmo ti!o de /ala ceamento FeMuilX/rioO !ode ser a!licado a di.ersos outros modelos Mi com!0em uma .iso to!?do4n de um sistema1 A1:1@ Qerificao Cru&ada de Diferentes Modelos $ recurso mais im!ortante de uma /ancada de tra/al"o de anali taG!roLetista 2 sua a!tido em efetuar .erifica0es cru&adas da consi tAncia dos .rios ti!os diferentes de modelos de um sistema1 EWiste dois as!ectos> .erificao cru&ada de modelos em uma fase do !roLeto .erificao cru&ada de modelos em diferentes fases do !roLeto1 8a fase de anlise de um !roLetoE !or eWem!loE o !rinci!al o/Letis 2 determinar o Mue o usurio deseLa do sistemaE com !ouca ou nen"urr referAncia Z es!ecXfica tecnologia de !rocessamento Mue ser utili&a !ara im!lementar os reMuisitos1 Para issoE !recisamos dos DFD !ara re saltar a di.iso dos reMuisitos em fun0es se!aradas e a interface enti as fun0es1 Precisamos dos DE* !ara ressaltar os o/Letos de dados arm> &enados no sistema e os relacionamentos entre esses o/Letos1 E !recis1 mos de DTE !ara ressaltar os estados em Mue o sistema !ode se encoi trar e o com!ortamento tem!o? de!endente desse sistema1 Al2m dissi utili&amos um dicionrio de dados !ara manter a definio de todos elementos de dados do sistema e alguma forma de descrio teWtual !a definir a orientao formal da em!resa !ara cada funo de nX.el ma /aiWo do sistema1 $ !onto !rinci!al 2 Mue todos esses modelos de.em ser conslstei tes entre si1 'e o DFD referir?se a um elemento de dados Mue no este !resente no dicionrio de dadosE algo est erradoV se o dicionrio d dados definir elementos de dados Mue no a!aream em MualMuer outi modeloE algo est errado1 'e o DFD eWi/ir de!Ysitos de dados Mue n esteLam definidos no DE*E eWiste uma inconsistAnciaV e se o DE* a!n sentar o/Letos Mue no esteLam definidos no dicionrio de dados e n esteLam !resentes em um DFDE tam/2m eWiste uma inconsistAncia1 Com discutimos no ca!Xtulo 9JE toda essa .erificao cru&ada !ode ser feii manualmenteE masE na mel"or das "i!YtesesE 2 um !rocesso entediante suLeito a erros1 Meus di.ersos anos de eW!eriAncia com engen"aria d soft4are em tX!icos am/ientes de 'IG !ermitem?me afirmar com algurr confiana Finfeli&menteO Mue essa ati.idade no de.e ser feita manua menteE a!esar das eWorta0es dos gerentes de !roLeto e das mel"or inten0es dos t2cnicos1 Al2m da .erificao de consistAncia entre os modelos de uma fa do !roLetoE 2 im!ortante com!arar os modelos desen.ol.idos em fas diferentes1 Por eWem!loE os modelos desen.ol.idos durante a fase d anlise de.em ser com!arados com os modelos desen.ol.idos durani ICH a fase de !roLeto1 A com!arao de.e demonstrar corres!ondAncia um? !ara?um entre eles> cada reMuisito descrito no modelo de anlise FDFDE DE* etc1O de.e estar re!resentado em algum !onto do modelo de !roLe to FDE etc1O e cada caracterXstica descrita no modelo de !roLeto de.e corres!onder a um reMuisito descrito em algum !onto do modelo de anlise1 $ !ro/lema mais comum 2E naturalmenteE Mue um reMuisito no modelo de anlise seLa esMuecido e no a!area em lugar algum do modelo de !roLeto1 Isso ocorre com freMaAncia Muando o modelo de anlise de siste mas 2 ela/orado !or um gru!o de !essoas e o modelo de !roLeto Fe a codificao e os testes su/seMaentesO o 2 !or outro gru!o1 8o caso mais eWtremo FMue muitas .e&es ocorre em !roLetos do go.ernoOE os dois gru!os !odem tra/al"ar em em!resas diferentes1 Em MualMuer dos casosE os dois gru!o muitas .e&es re!resentam diferentes interesses e !ers !ecti.asE e !odem no ter /oas comunica0es entre si em MualMuer nX .el1 Dessa formaE um reMuisito Mue a eMui!e de anlise ten"a conside rado como !erfeitamente claro !ode no ser com!reensX.el !ara a eMui !e de !roLeto1 , ocasi0es em Mue o !ro/lema 2 eWatamente o in.erso do Mue .imos acima> a eMui!e de !roLeto decide introdu&ir caracterXsticas Mue nunca foram solicitadas !elo usurio nem documentadas no modelo da anlise1 Isso !ode acontecer inocentementeE mas costuma ocorrer Muan do algu2m da eMui!e de !roLeto di&> \em/ora no ten"am !edidoE a!os to Mue os usurios .o adorar este recurso]1 $u o .eterano e le.emente cXnico !roLetista comenta> \a!esar de os usrios no terem !edido o recurso XE eu seiE !ela min"a eW!eriAnciaE Mue .o !edi?lo na !rYWima semana1 ^ mais fcil incluX?lo agora do Mue es!erar Mue o !eam]1 8o im!orta se esses moti.os so ou no ra&o.eis1 $ im!ortante 2 Mue o assunto seLa discutido em lugar de !ermitir?se Mue o !roLetista tome uma deciso unilateral1 Da mesma formaE o modelo de !roLeto de.e ser com!arado com os !rogramas codificados1 Como antesE de.e "a.er uma corres!ondAncia de um?!ara?um entre os com!onentes do cYdigo Fa im!lementao real dos modelos de anlise e de !roLetoO e os com!onentes do modelo de !roLeto1 A1@ A F7T7*A TEC8$-$GIA DA' FE**AME8TA' j A7T$MATIgADA' Muitos dos recursos acima descritos L eWistem nas /ancadas de tra/al"o de analistasG!roLetistas Z dis!osio no mercado1 Alguns desses recursos esto im!lementados de uma forma um tanto !rimiti.aE mas esto sendo a!erfeioados Muase Mue diariamente1 8o o/stanteE todos IC9 os !rodutos de.em ser .istos como ferramentas de !rimeira gerai eles re!resentam a!enas o inXcio de uma s2rie de desen.ol.imentos Mi ocorrero nos !rYWimos I ou 9H anos1 $ cronograma !ara a segunda e a terceira gera0es de ferrament automati&adas de desen.ol.imento 2 !ouco nXtido1 Algumas delas d !endem dos recursos das em!resas Mue as esto ela/orandoV outras d !endem do desen.ol.imento continuado da tecnologia de "ard4are Mi !ro!orcionar crescente ca!acidade Zs esta0es !essoais de tra/al"o1 muitas ainda de!endem do !ro/lema da transferAncia de tecnologia1 grandes em!resas esto a!enas comeando a eW!erimentar com un ou duas esta0es em meados dos anos DH e decorrero alguns anos a Mue a tecnologia de !rimeira gerao !ermeie a ind3stria de dese .ol.imento de soft4are1 EntretantoE ten"o es!eranas de Mue se .ocA .isitar uma gran em!resa !rofissional de 'IG em 9CCIE desco/rir Mue cada !rogram dor Fse ainda "ou.er !rogramadoresO e cada analista de sistemas e ca usurio final e cada gerente de !roLeto tem em sua mesa uma estai inteligente Mue 2 9H a 9HH .e&es mais !oderosa Mue as esta0es atuai Elas oferecero os seguintes recursos> j *edes !ara utili&ao a nX.el de !roLetos j 'u!orte !ersonali&ado de metodologia de engen"aria d soft4are j Controle de documentos j *ecursos !ara gerAncia de !roLetos j M2tricas !ara estatXsticas de !roduti.idade e de soft4are j Qerificao anteci!ada de com!leWidade eWcessi.a j Testes e simula0es automati&ados j Pro.as de correo assistidas !or com!utador j Gerao de cYdigo Fcodificao de !rogramasO j 'u!orte de IA de cYdigo reutXli&.el j ;Tuadros negros] !ara a eMui!e de !roLeto IC: A1@E9 *edes !ara 7tili&ao a 8X.el de ProLetos As ferramentas automati&adas so 3teis mesmo em !eMuenos !ro Letos de uma sY !essoaV o mesmo .ale !ara a engen"aria de soft4are1 Por2m o !roLeto !eMueno tem a .antagem de o ser.io !oder ser refeito di.ersas .e&es at2 ficar !rontoE de modo Mue o uso de modelos e ferra mentas formais no tem conotao de urgAncia1 As ferramentas automati&adas sero muito utili&adas nos grandes !roLetos de desen.ol.imento de soft4are multi!essoasE multianos e de muitos mil"0es de dYlares1 Em !roLetos desse ti!o eWistem alguns analis tas de sistemas Fmuitas .e&es uma de&ena ou maisOE alguns usurios fi nais Fmuitas .e&es em diferentes locali&a0es geogrficasO e alguns !ro Letistas e !rogramadores1 Em am/ientes assimE 2 im!ortante Mue no somente o tra/al"o de cada analista de sistemas seLa internamente con sistenteE mas tam/2m o tra/al"o dos analistas A e B seLam consistentes entre si1 Isso Muer di&er Mue 2 necessrio "a.er um nX.el de inteligAncia acima do nX.el do analista de sistemas ou !rogramador1 Em/ora "aLa muitas maneiras de se im!lentar issoE uma das arMuiteturas mais atraen tes 2 mostrada na figura A1@1 Muitos dos fornecedores listados na ta/ela A19 esto diligenciando !ara oferecer esse ti!o de redeE !rinci!almente em minicom!utadores 5ang ou DEC QAX1 $ minicom!utador a nX.el de !roLeto de.e ter suficiente ca!acida de de memYria e suficiente !oder de !rocessamento !ara eWecutar a .erificao de consistAncia em nX.el de !roLeto1 Tam/2m de.e dis!or de suficiente ca!acidade !ara desem!en"ar fun0es adicionais1 De.e !os si/ilitar Mue os !rogramadores !ossam ser diretamente interligados ao com!utador de grande !orte da organi&ao !ara a eWecuo dos testes Esta0es remotas de tra/al"o Figura A1@> 7ma /ancada de ana"staG!roLetista a nX.el de !roLeto IC@ e de outras tarefas de rotina1 E 2 aX o lugar onde de.e ser colocada inteligAncia associada a muitas das fun0es descritas a seguir1 ^ e.idente Mue a utili&ao de tal minicom!utadorE com sua ca!a dade de memYriaE canais de comunicaoE e outras caracterXsticasE onerar o custo do su!orte automati&ado1 Em dYlares de 9CDIE o custo uma estao de tra/al"o de utili&ao eWclusi.a e adeMuadamente con gurada est entre qD1HHH e q9I1HHHV com o "ard4are e o soft4are !ara minicom!utador de nX.el de !roLetoE o !reo !ode facilmente do/n Trata?se de um !reo /em !agoE mas dificilmence ser su!ortado !or u oramento de o!erao !ara um sY ano de uma grande eMui!e de 'Ii custaria mil"0es de dYlares !ara uma em!resa com algumas centenas desen.ol.edores de sistemas1 Ele de.er ser recon"ecido como !arte um in.estimento de ca!ital no esforo de tornar a eMui!e mais !roduti= e mais !rofissional1 A1@1: 'u!orte Personali&ado de Metodologia de Engen"aria de 'oft4are As ferramentas automati&adas costumam su!ortar uma es!ecXfi forma de notao e de !rocedimentos de engen"aria de soft4are1 F diagramas deste a!AndiceE !or eWem!loE e os a!resentados anteriormeL te neste li.roE usam a notao descrita em di.ersos li.ros da 6$7*D$ Press1 'ur!resa` Mas di.ersos !rodutos CA'E tam/2m su!ortam outr con"ecidas metodologias de engen"aria de soft4areE como a notai GaneG'arson e a 5arnierG$rr1 Di.ersas outras ferramentas automati&ad de su!orte atualmente dis!onX.eis su!ortam mais de uma marca d metodologias de engen"aria de soft4are1 EWisteE contudoE algo /em mais im!ortante Mue a!enas su!ortar metodologia do fornecedor A ou do fornecedor B> a ferramenta autom ti&ada de.e !ossi/ilitar uma metodologia !ersonali&ada1 7ma organi& o de 'IG Muase sem!re !erce/e Mue MualMuer das con"ecidas met dologias de engen"aria de soft4are no a!resenta uma adeMuada not o ou um adeMuado conLunto de diretri&es !ara o ti!o !eculiar c sistema Mue est desen.ol.endo1 Para eWem!lificarE !ode ser Mue organi&ao de 'IG Mueira utili&ar triPngulos !ara ressaltar as entradas saXdas de marcianos e dos eW!loradores da Rornada nas Estrelas c Ca!ito Kir% Fa maioria de nYs no !recisa se !reocu!ar com tais entr das e saXdasE !orMue Lamais !ensamos em eWigir triPngulos em nossa fe ramenta automati&adaO1 E tal.e& a organi&ao de 'IG ten"a resol.id !u/licar um edito !elo Mual nen"um diagrama de fluWo de dados !odei ter mais de 9@ /ol"asV uma outra em!resa !ode decidir Mue nen"ui sistema de.er ter mais de trAs nX.eis de diagramas de fluWo de dados1 assim !or diante1 ICJ ^ claro Mue esse ti!o de !ersonali&ao de.er ser !ossX.el ou a ferramenta deiWar gradualmente de ser utili&ada Z !ro!oro Mue os analistas de sistemas desco/rirem Mue ela no !reenc"e suas necessida des1 A maioria das ferramentas automati&adas atuais no dis!0e desse recursoV .irtualmente todos os !rodutos da segunda gerao o !ossuiro ou desa!arecero do mercado1 A1@1@ Controle de Documentos Como .imosE a anlise estruturada a!Yia?se em di.ersos modelos grficos formaisE su!ortados !or elementos teWtuais como dicionrios de dados e es!ecifica0es de !rocessosV as esta0es inteligentes automati &am o desen.ol.imento e a manuteno desses documentos1 EntretantoE !ossi/ilitam algo mais> o controle dos documentos1 IssoE em/ora !ossa a!arentar ser diretoE 2 um conceito radical na maioria das organi&a0es de 'IG1 Muitas delas sY recentemente comearam a controlar o cYdigo fonte !rodu&ido na fase de !rogramao do !roLeto1 MasE assim como 2 desastroso !ermitir Mue um !rogramador efetue _!eMuenas] modifica0es em um !rograma o!erati.o no meio da noiteE tam/2m 2 !erigoso !ermitir Mue um analista de sistemas eWecute uma _ligeira] mudana em um DFD ou em um DE* no meio da fase de anlise de um !roLetoE a menos Mue a alterao ten"a sido autori&ada e a!ro.ada1 Para Mue esse recurso funcioneE !recisamos distinguir entre as /i /liotecas !ri.ati.as Mue cada mem/ro do !roLeto mant2m em sua estao eWclusi.a e o arMui.o do !roLeto mantido no minicom!utador de nX.el de !roLeto mostrado na figura A1@1 $ Mue Mueremos controlar 2 o arMui.o do !roLeto1 7ma .e& Mue o analista ou o !roLetista ten"a indicado Mue com!letou um modelo Fou um diagramaO e est !ronto !ara su/metA?lo ao arMui.o do !roLetoE o analista deiWa de ser o 3nico !ro!rietrio do material1 A1@1J GerAncia de ProLetos $ controle de documentos 2 um as!ecto de outro recurso Mue !ode ser !ro.ido !or um minicom!utador de nX.el de !roLeto> a gerAn cia de !roLetos1 $ gerente de um !roLeto !ode ter sua !rY!ria estao inteligente de tra/al"o e utili&ar os recursos do minicom!utador !ara coordenar e su!er.isionar as ati.idades da eMui!e do !roLeto1 Com ade Muado su!orte de soft4areE ele !ode ter certe&a de sa/er Muando o analista A terminar o DFD em Mue esti.er tra/al"andoV ele !ode instruir o minicom!utador a encamin"ar o DFD ao analista B !ara re.iso e ICI comentriosE !odendoE assimE atri/uir outra tarefa ao analista A1 9 !oder em!regar todo esse material !ara atuali&ar o cronograma e oramento do !roLetoV eE tendo em .ista Mue o minicom!utador cons .a o registro im!arcial de Muando o analista A comeou e terminou s DFDE ele !ro.a.elmente ter uma entrada muito mais acurada e n tendenciosa !ara as ati.idades de escalonamento do !roLeto1 $ gerer do !roLeto !ode utili&ar as a!tid0es de mala eletrNnica Mue Muase ceLi mente sero oferecidas !ela arMuitetura da figura A !ara comunicar? com sua eMui!e1 Tal.e& seLa dificil fa&er uma estimati.a grosseira .alor desse recursoE mas a maioria das eMui!es de !roLetos desco/ri Mue no !ode mais !assar sem ele de!ois de tA?lo utili&ado1 A1@1I M2tricas !ara EstatXsticas de Produti.idade e de 'oft4are Como foi dito acimaE o minicom!utador de !roLeto !ode cons .ar seu !rY!rio registro das datas de inXcio e t2rmino de cada tarefa desen.ol.imento de um DFDE a re.iso do DFDE o camin"amento !c DFD etc1O eWecutada !or um analista de sistemasE !roLetista ou !rogi madorE Dessa maneiraE as medi0es da !roduti.idade !odem ser efet- das de modo Muase in.isX.elE Mue es!eramos Mue !ossa redu&ir o im! to do !rincX!io da incerte&a de ,eiscn/erg 1 Com!are isso com o !ro to de desen.ol.imento de soft4are de "oLe em diaE em Mue os !rogi madores e analistas de sistemas gastam uma "ora ou !erto disso a ca semana registrando informa0es so/re como des!enderam seu tem EWiste uma mal disfarada tendAncia !ara !reenc"er o formulrio maneira a fa&A?lo !arecer?se com o Mue o c"efe deseLa Fos !rograrr dores !odem ser marotos e .igaristasE mas no esto totalmente d ligados da realidade`O Al2m dissoE se o !rocesso de registro tomar ur "oraE ento ele estar interferindo com o !rY!rio tra/al"oV esta 2 a rr neira como os fsicos nucleares referem?se ao !rincX!io da incerte&a ,eisen/erg1 Tuase todas as outras m2tricas de soft4are Mue a eMui!e de !roLe decidir controlar !odem ser eWecutadas !elo minicom!utador de nX de !roLeto1 AssimE a eMui!e !ode decidir Mue 2 im!ortante sa/er Muant DFD sero necessrios !ara o sistemaE ou Muantos elementos de dadF ou Muantas !rimiti.as funcionais ou Muantas re.is0es foram eWigidas um DFD antes Mue ele fosse finalmente aceito !elo usurio1 Essas inft ma0es !odero ser .aliosas !ara futuros !roLetosE !odendo tam/2m 3teis !ara estimati.as de taman"o e custo de !roLetos1 IC< A1@1< Qerificao Anteci!ada da Com!leWidade EWcessi.a 7ma das m2tricas mais 3teis a longo !ra&o 2 a da com!leWidade1 EWistem modelos matemticos da com!leWidade de !rogramas Mue !o dem ser usados !ara !redi&er a dificuldade de testar e manter um !rogra ma 'e os modelos matemticos forem a!licados automaticamente a cada mYdulo ou a cada !rograma do sistema em desen.ol.imentoE os desen.ol.edores e o gerente do !roLeto tero um a.iso anteci!ado de !artes !otencialmente !erigosas do sistemaE !ossi/ilitando Mue seLam eW!erimentadas constru0es alternati.as1 A1@1K Testes e 'imula 0es Assistidos !or Com!utador Como L mencionado neste a!AndiceE L eWistem !acotes de testes e animadores assistidos !or com!utador Mue !ro!orcionam ao !rograma dor a re!resentao grfica da eWecuo de seu !rograma1 8o eWiste moti.o !elo Mual esse recurso inteligente no !ossa ser introdu&ido na estao remota do minicom!utador de nX.el de !roLeto1 8a realidadeE Muase todas as ferramentas con.encionais de su!orte de !rogramas relacionadas no inXcio deste a!Andice !odem ser incor!o radas a /ancadas automati&adas de tra/al"o1 Tuando as esta0es !es soais inteligentes tornarem?se mais !oderosasE de.er ser !ossX.el Mue o !rogramador acom!an"e o !rocesso de modelagem com a codificao Fse no for !ossX.el ger?la automaticamenteOE com a com!ilao e com os testes1 'omente Muando o !rograma esti.er !ronto 2 Mue o !rograma dor de.er carreg? lo no minicom!utador de nX.el de !roLeto1 A1@1D Pro.as de Correo Assistidas !or Com!utador Como discutimos no ca!Xtulo :@E a rea de !ro.as de correo assistidas !or com!utador ainda no est desen.ol.ida a um grau em Mue !rogramadores e analistas m2dios !ossam utili&?las1 Mas eWiste um -argo es!ectro entre a .erificao informal de consistAncia e as !ro.as formais de correo1 Com as ferramentas automati&adas de su!orte a.anaremos gradualmente da .erificao informal dc consistAnciaE a!roWimando?nos das !ro.as formais com!letas de correo1 A o/teno Lisso eWigir um nX.el de treinamento e sofisticao !or !arte dos !ro ramadores mais ele.ado Mue o atual1 PortantoE no se de.e es!erar a !resena desse recurso na maioria das esta0es orientadas !ara as em !resas dentro dos !rYWimos I anos1 ICK A1 @1C Gerao de CYdigo 7ma im!ortante meta de muitos fa/ricantes de ferramentas 2 gerao automati&ada de cYdigo C$B$- ou F$*T*A8 !elas /ancad de tra/al"o1 Dessa maneiraE no seria !reciso eWaminar?se o cYdig assim como "oLe dificilmente algu2m eWamina os Is e $s /inrios Mue "ard4are do com!utador realmente entende1 8esse conteWtoE estariam lidando com es!ecifica0es com!ut.eisE desen.ol.idas !elo usur final e !elo analista de sistemas1 Tal.e& nunca seLamos ca!a&es de conseguir isso !ara todos sistemasE nem seLamos ca!a&es de insistir no necessrio nX.el de es!ec fica0es rigorosas e formais de todos os usurios finais1 Por2mE dando?> mais Anfase Zs ati.idades de anlise e !roLetoE !odemos facilmente r du&ir a !rogramao a uma sim!les ati.idade /urocrtica1 Ainda Mue ni !ossamos automati&?la com!letamenteE !odemos fa&er com Mue se eWecutada !elos funcionrios de nX.el L3niorE em .e& de ocu!ar os gr duados em CiAncia da Com!utao Mue gan"am qJH1HHH !or ano1 A1@19$ 'u!orte de IA de CYdigo *eutili&.el Ainda mais atraente Mue o conceito da gerao automtica de cYc go 2 o conceito de cYdigo reutili&.el1 8a imensa maioria dos !roLetF Forientados !ara o com2rcio e orientados !ara fins cientXficos e de engi n"ariaO a maior !arte do soft4are Mue !retendemos desen.ol.er L f feito antes1 $ no.o sistema deste ano 2E de fatoE Muase igual ao sisten do ano !assadoE e no muito diferente do anterior a este1 E muitas d !rimiti.as funcionais de /aiWo nX.el L foram !rogramadas centenas c .e&es antes e eWistem grtis como rotinas de /i/liotecas oferecidas corr !arte do sistema o!eracional do fornecedor1 A 3nica coisa Mue disting- o no.o sistema deste ano como 3nico 2 a eWclusi.a com/inao d fun0es !re.iamente im!lementadas ou alguns !arPmetros Mue !odei ser introdu&idos no !rograma ao comear sua eWecuo1 Por eWem!loE sistema de !agamento deste ano 2 /asicamente o mesmo do ano !a sadoE com a alterao de a!enas algumas taWas1 Isso indica Mue o analista de sistemas Fe mais ainda o !roLetista c sistemasO no de.e encarar cada no.o !roLeto como uma grande eW!li rao cientXfica mas como uma ca:da em /usca de mYdulos de /i/liot casE su/?rotinas1e !rograma L eW11stentesE Mue !ossam ser interligadc !ara atender Zs necessidades do i1surio1 ^ nesse as!ecto Mue a inteligAncia artificial !ode ser um Ytim auWXlio1 Com!arando as caracterXsticas de uma funo identificada ! analista de sistemas FeW1> n3mero de entradasE nature&a das saXdas e ei !ecifica0es das transforma0es ou as normas Mue descre.em como ICD entradas con.ertem?se em saXdas etc1O com uma /i/lioteca de fun0es im!lementadasE um sistema es!ecialista !ode sugerir ao !roLetista di.er sos !otenciais candidatos a serem utili&ados na im!lementao do siste ma1 E ele !ode interagir com o analista de sistemas !ara mostrar?l"e Mue com uma !eMuena modificao dos reMuisitos Fisto 2E com um ligeiro com!romisso dos reMuisitos originais do usurioO uma funo eWistente de /i/lioteca !ode ser usada in situ1 A1@1 99 Tuadros 8egros !ara a EMu&Le do ProLeto Alguns dos !rinci!ais !esMuisadores do !aXs Fem la/oratYrios de !esMuisa como o MCCE em AustinE TeWasE !or eWem!loO acreditam Mue a mel"ora real da !roduti.idade nos anos CH .ir dos efeitos sinerg2ticos de uma eMui!e de !roLeto ao in.2s de !ro.ir de um indi.XduoV isso !orMue os grandes sistemas atuais no so construXdos !or indi.XduosE mas !or gru!os de gru!os de !essoas Fmuitas .e&es em em!resas dife rentesO1 A maioria dos conceitos descritos at2 agora refere?se Z mel"ora da !roduti.idade de um 3nico funcionrioE mas a inteligAncia do mmi com!utador de nX.el de !roLeto !oderia ser utili&ada !ara !ro.er uma .iso !rtica a nX.el de !roLeto de todo um sistema Z !ro!oro Mue ele toma forma e cresce1 A id2ia de um Muadro negro de !roLeto est sendo im!lementada no MCC como !arte do !roLeto -eonardoV ele de.e a!resentar resultados fascinantes !elo final da d2cada1 $ gru!o de !esMuisa est reali&ando eW!eriAncias com a id2ia de um Muadro negro !ara uso comum na forma de um .Xdeo com as dimens0es de uma !arede1 Esto tam/2m in.esti gando a id2ia de usar as sensa0es de aroma e somE /em como as coresE !ara acrescentar no.as dimens0es aos modelos grficos descritos neste li.ro1 'e o/ti.er sucessoE o !roLeto -eonardo ser a /ancada automati&a da de tra/al"o de terceira ou Muarta gerao !ara os desen.ol.edores de sistemas de meados da d2cada de CH` A1J C$8C-7')$ ;Min"a tendAncia e entusiasmo !or este as!ecto do desen.ol.i mento de sistemas 2 e.identeV no !osso esconder e no ten"o !orMue me descul!ar1 Eu realmente creio Mue ele re!resenta o 3nico mecanismo Mue nos !ode auWiliar a alcanar e manter contato com as "ordas de !rogramadores !elos !aXses do mundo Mue dis!ensaro a mgica ind3s tria Mue criamos nos Estados 7nidos nos 3ltimos :I anos1 Alguns diro Mue essa tecnologia 2 muito caraE Mue nen"um !ro gramador .ale um in.estimento de q:I1HHH1 Tal.e& noE mas como os !reos do "ard4are esto sem!re caindoE os q:I1HHH de "oLe ser q9H1HHH aman" e qI1HHH no ano seguinte1 Parece?me uma grande ironi Mue um !aXs Mue in.este de qIH1HHH a qKI1HHH em eMui!amento !ar seus fa&endeiros e o!errios negue uns !oucos mil"ares de dYlare !ara seus tra/al"adores da informao1 Essa relutPnciaE essa negao en admitir Mue os in.estimentos !ossam ser necessriosE 2 o 3ltimo sus!in da *e.oluo IndustrialE o 3ltimo alento do Mue Al.in Toffler denomino de \'egunda $nda]1 Admito Mue uma ati.idade de soft4are dominada !elas esta0e automati&adas origine algumas !erguntas rele.antes> ela torna o/soleto os !rogramadores[ ela destruir nossa criati.idade[ !odemos su!orta os custos[ ela garante Mue o/teremos mel"orias su/stanciais em noss ca!acidade de !rodu&ir soft4are de alta Mualidade com maio !roduti.idade[ 8ada eWiste de mgico nas ferramentas automati&adas de soft4are MualMuer !essoa com senso comum !ode res!onder a essas !erguntas As ferramentas automati&adas certamente no tornaro o/soletos o !rogramadores a curto !ra&o nem tornaro o/soletos os !rogramadore de manuteno !elos !rYWimos :H anos ou mais1 EnMuanto issoE seria /om desenfati&ar a ati.idade da !rogramaoE Mue manter a tendAnci a!resentada desde a in.eno da !rimeira linguagem de alto nX.el err fins dos anos IH1 Isso no ameaa o em!rego de nen"um !rogramador lem/re?se Mue temos uma demanda de sete anos de tra/al"o de desen1 .ol.imento de sistemas na maioria das organi&a0es` As esta0es automati&adas destruiro a criati.idade dos de sen.ol.edores de soft4are[ Bo/agem` Ta!eao` $s 'istemas CADGCAI Fcom!uter?aided designO destroem a ca!acidade de um !roLetista e !roLetar um automY.el ou um a.io esteticamente /elo[ 8oGCem .e&es 8oE no e no` Muito ao contrrio1 A dis!oni/ilidade de ferramenta automati&adas de su!orte aLudam o !rogramador e o analista de sistema a concentrarem? se na !arte realmente criati.a da tarefa e a des!endereni menos tem!o !reocu!ando?se com os as!ectos mundanos dela1 7ma .e& Mue a /ancada de tra/al"o !ossi/ilite Mue o analista de sistemas gaste mais tem!o in.entando mais modelos dos reMuisitos do usurioE ela o tornar mais criati.o1 Podemos su!ortar o custo dessas esta0es de tra/al"o[ A res!osta sim!les 2> no !odemos su!ortar o custo de no utili&armos essas esta 0es` Com elasE teremos uma o!ortunidade de sal.ar a ind3stria america na de soft4areV sem elasE no " es!eranas1 Para os Mue deseLarem algo mais !rticoE lem/rem?se Mue o custo de uma sofisticada estao de tra/al"oE !resumindo?se a incluso do su!orte do minicom!utador de nX.el de !roLetoE est em torno d- q:I1HHH 1 Esse .alor eMui.ale a!roWi madamente ao salrio anualE em 9CDKE de um !rogramador comum com um ou dois anos de eW!eriAncia1 'e incluirmos o custo eWtra FseguridadeE <HH !ens0es de 9HHfOE isso re!resentar cerca de seis mese do custo de um !rogramador1 Como !odemos facilmente Lustificar a amorti&ao do custo do "ard4are e do soft4are associado em @ anosE o custo 2 a!roWi madamente igual a 9If do custo anual de um !rogramador1 Em outras !ala.rasE se ela aumentar a !roduti.idade do !rogramador em 9If em cada anoE ela se !aga !or si mesma1 Por2mE uma /ancada automati&ada de desen.ol.imento de soft 4are garante o aumento da !roduti.idade !or um fator de 9H[ Tuem emite seriamente uma !ergunta dessas ainda de.e acreditar no coel"i n"o da Pscoa1 Ir Z igreLa todos os domingos garante Mue .ocA ir !ara o c2u[ Estu!ide&E arrogPnciaE !reguiaE e outras fraMue&as "umanas sem !re tornaro !ossX.el o fracasso a!esar das mel"ores ferramentas e su !ortesV no " como im!edir essa !ossi/ilidade1 MasE se acreditarmos no !oder dos sistemas de informa0es e dos su!ortes automati&ados !ara a sociedade e !ara as em!resasE de.emos acreditar nele !ara a ati.idade Mue constrYi sistemas !ara o resto da "umanidade1 8o de.e ser sem!re .erdade Mue os fil"os do sa!ateiro sero os 3ltimos a usar sa!atos1 *EFE*b8CIA' 91 Rac% Cra4fordE !alestra na 5ang Com!uter Com!an#E em < de maio de 9CDI1 :1 Rames MartinE An InforEnation '#stems Man Engle4ood CliffsE 81R1> Prentice?,allE 9CDJ1 @1 Paul 5ard e 'te.e MellorE 'tructured '#stems De.elo!ment for *eal?Time '#stemsE Qolumes 9?@1 8o.a lorMue> 6$7*D$8 PressE 9CDI1 J1 Meilir Page?RonesE T/e Practical Gulde to 'tructured '#stems De signE := ed1 8o.a lorMue> 6$7*D$8 PressE 9CDD1 I1 'te.e McMenamin e Ro"n PalmerE Essential '#stems Anal#sis1 8o.a TorMue> 6$7*D$8 PressE9CDJ1 <1 Paul 5ardE '#stems De.elo!ment 5it"out Pain1 8o.a lorMue> 6$7*D$8 PressE 9CDJ1 K1 Brian Dic%insonE De.elo!ing 'tructured '#stems1 8o.a lorMue> 6$7*D$8 PressE 9CDH1 D1 Ed4ard 6ourdonE Managing t"e '#stem - C#cleE :1 ed1 8o.a lorMue> 6$7*D$8 PressE 9CDD1 C1 Ed4ard 6ourdon e -arr# ConstantineE 'tructured Design1 Engle 4ood CliffsE 81R1> Prentice?,allE 9CKC1 9H1 Da.id KingE Current Praclices in 'oft4are Englneering1 8o.a lor Mue> 6$7*D$8 PressE 9CD@1 <H9 991 Tom DeMarcoE 'tructured Anal#sis and '#stem '!ecificatXoi? Engle4ood CliffsE 81R1> Prentice?,allE 9CKC1 9:1 Tom DeMarcoE Concise 8otes on 'oft4are Engineering1 8o.a lor Mue> 6$7*D$8 PressE 9CKC1 9@1 C"ris Gane e Tris" 'arsonE 'tructured '#stems Ana 9# and Desig 8o.a lorMue> Im!ro.ed '#stems Tec"nologiesE 9CKK1 9J1 Ken $rrE 'tructured '#stems De.elo!ment1 8o.a IorMue 6$7*D$8 PressE 9CKK1 8$TA' Isso 2 im!ortante !orMue sa/emos Mue IHf dos erros de um !roLe to comum de desen.ol.imento de sistemasE "oLeE de.em?se a mal entendidos entre o usurio final e o analista de sistemasV KIf d custo da remoo de erros de um sistema o!erati.o so relati.os erros originados na fase de anlise de sistemas1 : 'egundo a o!inio da maioria dos !rogramadoresE 2 mais ou me nos como duas ou trAs !essoas com!artil"ando a mesma esco.a d dentes1 @ q9H1HHH 2 considerado mgico !or ser o nX.el no Mual so eWigido graus mais ele.ados de autori&ao !ara Mue se !ossa des!ende fundos incor!orados1 7m gerente de !roLeto !ode muitas .e&e1 o/ser.ar os /eneficios !rticos de uma estao inteligente de eri gen"aria de soft4are e a!resentar estudos realistas de custoG/ene ficio1 Por2m se a deciso en.ol.er q:H1HHHE ela su/ir ao nX.el d um .ice?!residente assistente Mue !assou semanas tentando man ter?se acordado o tem!o suficiente !ara fa&er algo 3til na em!resa Agora ele !ode organi&ar uma comissoE esta/elecer !adr0esE !es Muisar a ind3stria e enderear memorandos a de&enas de outro igualmente sonolentos .ice?!residentes assistentes1 EnMuanto tod essa tomada de deciso de alto nX.el est em andamentoE o gerent de !roLeto encol"e os om/rosE tenta esMuecer Mue ele um dia su/ meteu a solicitao em !rimeiro lugarE e .olta a utili&ar suas t2cni cas da Idade da Pedra de construo de sistemas1 Como .ocA !od !erce/erE eu sou inteiramente o/Leti.o e de forma alguma m eWalto emocionalmente com este assunto1 J A maioria dos desen.ol.edores de soft4are usa !rodutos CA'E Mu !odem ser !rocessados em com!utadores IBM PCE mas os diagra mas deste li.ro no foram !rodu&idos !or esses !rodutos1 Pan utili&?los eu teria de enconirar um modo de mesclar os diagrama1 com os arMui.os de teWto deste li.roE Mue estou redigindo em un Macintos"1 <H: I Trata.a?seE e.identementeE de um diagrama mais com!licado Mue o da figura A191 8a realidadeE a maioria dos diagramas de fluWo de dados do mundo real 2 mais com!leWaV eles tAm sete ou oito /o l"asE trAs ou Muatro de!YsitosE do&e ou mais fluWos de dados e alguns terminadores eWternos1 < 8a realidadeE .ocA !ode di&er a MacDra4 Mue certos o/Letos do desen"o de.eriam ser agru!adosE de modo a Mue !udessem ser mo.imentados em conLuntoV mas isso no garante Mue o resultadoE a!Ys a mo.imentaoE fosse o deseLado1 Alguns outros !acotes de desen"oE como o DesignE da Meta 'oft4are FII 5"eeler 'treetE Cam/ridgeE MA H:9@DOE so mais sofisticados no modo como ma ni!ulam o/Letos e conectores1 MasE MualMuer Mue seLa a sofisticao Mue o !acote de desen"o a!resenteE isso no im!orta muito sem as regras de .erificao de erros discutidas na seo A191:1 K Em/ora o !rincX!io da incerte&a de ,eisen/erg seLa "a/itualmente associado Z rea da fisica nuclearE ele tam/2m 2 a!lic.el aMui1 $ !rincX!io afirma Mue no 2 !ossX.el medir um fenNmeno sem se modificar o fenNmeno1 'e um tra/al"ador !recisar des!ender 9Hf de seu tem!o medindo seu !rY!rio tra/al"oE sua !roduti.idade re du&?se em !elo menos 9Hf ? e o fato de ele sa/er Mue est sendo a.aliado Fface Zs medidas Mue ele !rY!rio est fa&endoO tende a modificar seu com!ortamento1 D Como discutimos no ca!Xtulo :@E um dos modelos mais con"ecidos 2 a medida de com!leWidade ciclomtica de McCa/e1 DeseLando mais detal"es so/re esse e outros modelosE .eLa Controlling 'oft 4are Profects de Tom DeMarco F8o.a RorMue> 6$7*D$8 PressE 9CD:O1 C Programas sim!les de desen"o esto dis!onX.eis !or menos de q9HHE e mesmo os !rogramas mais sofisticados de desen"o custam a!enas algumas centenas de dYlares1 A mais /arata estao inteli gente de tra/al"o !ara analistasE com os recursos descritos na se o A1:E custa cerca de qDCI em 9CDKV esses !reos !ro.a.elmente cairo gradati.amente nos !rYWimos dois anos1 Mesmo uma esta o de tra/al"o dis!endiosa est custando em torno de a!enas qD1HHH em 9CDK1 <H@ B DI*ET*IgE' PA*A E'TIMATIQA' B19 I8T*$D7()$ Como analista de sistemasE .ocA !ro.a.elmente ser solicitado a !rodu&ir .rias estimati.as em relao a seu !roLeto1 8a realidadeE .ocA !ode ser o 3nico res!ons.el !ela !roduo das estimati.as em alguns casosV em outras situa0esE o gerente do !roLeto !ode !edir?l"e Mue de sen.ol.a algumas estimati.as !ara seu uso1 Tue coisas !recisam ser estimadas em um !roLeto de desen.ol.i mento de sistemas[ Isso de!ende do !roLetoE !or2m as !rinci!ais coisas Mue normalmente !recisam ser estimadas ')$> j *ecursos "umanos1 Tuantos !rogramadoresE analistas de sis temasE !roLetistas de /ancos de dadosE !eritos em telecomuni ca0esE re!resentantes do usurio e outros ti!os de !essoas se ro necessrias ao !roLeto[ j Cronog ramas1 Por Muanto tem!o o !roLeto se estender[ Tuanto tem!o de.er ser gasto em cada uma das fases do !roLeto FeW1> anliseE !roLetoE !rogramaoE testes etc1O[ j Escalonamento do !essoal1 Al2m de sa/ermos de Muantas !es soas o !roLeto necessitarE !recisamos sa/er Muando essas !es soas sero necessrias1 'e o !roLeto !recisa de de& !rograma? j doresE sero os de& necessrios ao mesmo tem!o[ j $ramento1 Tuanto custar o desen.ol.imento do sistema[ $ !rinci!al custo ser !ro.a.elmente o causado !elos salrios !agos eMui!e de desen.ol.imentoE e isso "a/itualmente !ode ser calculado diretamente Muando a eMui!e e o escalonamento dela L forem con"ecidos1 MasE naturalmenteE eWistem outros <HI custos associados a um !roLetoV esses custos so tratados deta l"adamente no a!Andice C1 -em/re?se de Mue .ocA normalmente ter de fa&er essas estimati.a mais de uma .e&1 Geralmente 2 feito um conLunto de estimati.as no estgios iniciais do !roLeto Fdurante o estudo de .ia/ilidadeE !or eWem !loOE mas eles !odem !recisar ser feitos muitas .e&esE Muando os usu rios e a direo eWaminarem as ramifica0es das diferentes /argan"as 7m eWem!lo e.idente disso 2 a /argan"a entre tem!o e funcionalidad FeW1> o gerente do !roLeto !ode di&er ao usurio> ;ten"o certe&a de Mu !oderemos entregar o sistema em 9m de LaneiroE se .ocA a/andonar a fun0es XE 6 e g]OV outro eWem!lo 2 a /argan"a entre tem!o e !essoa FeW1> o usurio !oderia di&er ao gerente do !roLeto> \se .ocA dis!usess de mais trAs !rogramadoresE conseguiria !rontificar o sistema em tem !H[]1 Pode "a.er algumas itera0es at2 Mue a eMui!e de !roLetoE direo e a comunidade usuria atinLam um com!romisso aceit.el B1: $' *I'C$' DA' E'TIMATIQA' Costumamos ter uma grande eW!eriAncia na rea das estimati.as /asta !ensarmos em todas as situa0es originadas !ela !ergunta> _Tuan to tem!o .ocA ac"a Mue le.aremos at2 a casa de sua a.Y[]1 E todo con"ecemos intuiti.amente o conceito de uma estimati.a otimista e d uma !essimista1 Mas estimar o !roLeto dc desen.ol.imento de um siste ma 2 um tanto diferenteE !orMue F9O a a/rangAncia da tarefa 2 muit maior e mais com!leWa e F:O as conseMaAncias de um erro de estimati.a costumam ser muito mais se.eras Mue as de c"egarmos meia "ora atrasa dos na casa de nossa a.Y :j EWistem di.ersos !ro/lemas aos Muais .od de.e estar atento antes de comear a estimar oramentosE cronograma e reMuisitos de recursos> j A diferena entre estimar e negociar j A grande .ariao das "a/ilidades t2cnicas j $ !erigo de estimar seu !rY!rio tra/al"o j A falta de um /anco de dados de estimati.as j A insistAncia da direo !or !rematuras estimati.as detal"adas j A dificuldade a nX.el industrial de medir?se a unidade di tra/al"o <H< j Estimati.as fundamentadas em !ressu!osi0es de "oras eWtras no remuneradas De!endendo de sua !osio no !roLeto e de sua influAncia Lunto Z direo e aos usuriosE .ocA !ode conseguir e.itar Mue alguns desses !ro/lemas .en"am a tornar?se s2rios1 MasE ainda Mue .ocA seLa um ana lista L3nior no !roLetoE de.e con"ecer os !ro/lemas das estimati.asE !oisE afinal de contasE so eles Mue determinam o sucesso ou o fracasso de seu !roLeto1 Discutiremos em seguida cada um desses !ro/lemas detal"adamente1 B1:19 A D Entre Estimar e 8egociar Geralmente " muitas negocia0es no inXcio de um !roLeto Fe muitas .e&es durante a fase de desen.ol.imento do !roLeto`O1 Isso 2 normalE !orMue a comunidade usuria muitas .e&es tem !ouco con"eci mento do .olume de tra/al"o Mue en.ol.e um com!leWo sistema de informa0es e tende a _!edir a -ua]E isto 2E uma imensa funcionalidade em um a/surdamente redu&ido es!ao de tem!oE e !or !ouco ou ne n"um din"eiro1 EntrementesE o gerente do !roLeto .A?se frente a uma limitada eMui!e e um !eMueno oramentoV !ortantoE ele !recisa tra/al"ar com os usurios !ara aLud?los a desco/rir Muais os arranLos !ossX.eis1 Por2m esse !rocesso de negociaoE to necessrio e to comum em !roLetos de desen.ol.imento de sistemasE no de.e ser confundido com as estimati.as1 $ Mue se de.e e.itar 2 o entendimento entre o usu rio e o analista Fou Muem Muer Mue faa as estimati.asO em con.ersas deste ti!o> 7surio> _EntoE Muanto tem!o .ocA le.ar !ara construir o sistema X6g[ Analista> _BemE !arece Mue ele estar !ronto em l de a/ril]1 7surio> _8o est /omE !recisamos dele em 9 de Laneiro]1 sem a inteno de discutir outras /argan"as entre funcionalidade e recur sos rsso Zs .e&es 2 seguido !or um a!elo do usurio aos sentimentos de de.ooE de.er e !atriotismo da eMui!e de !roLeto1 Isso ser discutido como um !ro/lema Z !arte na seo B191D1 Em alguns casosE essa situao sim!lesmente reflete a falta de co n"ecimento da !arte do usurioV ela "a/itualmente !ode ser corrigida com uma cuidadosa eW!licao das ati.idades de desen.ol.imento de um sistema1 Em outros casosE entretantoE ela reflete a a/ordagem geral <HK do usurioE seu _!aradigma] de ao !ara lidar com !essoas e organi& 0es Mue l"e fornecem !rodutos e ser.ios1 Para o usurio tX!icoE .o de.e estar !erce/endoE a organi&ao interna de !rocessamento dados no 2 muito diferente de um fornecedor eWternoV a negocia na tentati.a de /aiWar o !reo ou redu&ir os !ra&os em alguns mesesE algo muito natural1 E 2 ra&o.el agir assim Fdo !onto de .ista dei Muando a !essoa ou a organi&ao Mue fornece o ser.io tem uma rn gem de lucro Mue !ode ser redu&ida mediante "a/ilidosas negocia0e Mesmo no caso de uma organi&ao interna de !rocessamento dadosE a negociao Fsem aceitar /argan"as em funcionalidadeE recu sosE oramento ou !ra&osO !ode ser ra&o.el se as suas estimati.as incli rem uma margem de erro Ftam/2m con"ecida !or fator de contingAnci Mue o usurio imagina ser eWcessi.amente grande1 Mas se .ocA ti.er feii estimati.as cuidadosas e realistasE e o usurio !ro!user a reduo !a uma eMui!e menorE um oramento menor e !ra&os mais a!ertado ento seu !roLeto ter adentrado o domXnio dos altos interesses !ara Muais as t2cnicas e ferramentas discutidas neste li.ro !ro.a.elmente ni sero de muita aLuda1 Pode ter c"egado o momento de acertar as su contas1 B1:1: A Grande Qariao das ,a/ilidades T2cnicas ^ comum fa&erem?se estimati.as do tra/al"o a ser eWecutado co /ase no talento m2dio Fisto 2E o tX!ico !rogramador ou analista c sistemasE Mue !ode escre.er 9I lin"as de cYdigoE ou desen"ar Muati /ol"as de DFDE em um dia m2dioO1 ^ im!ortante ter?se em mente Mu numerosos estudos feitos nos 3ltimos 9H anos documentaram uma o dem de diferena de magnitude entre !rofissionais talentosos e mede cres na rea 1 'e o seu !roLeto dis!0e de um gru!o dos assim c"amadc su!er!rogramadoresE .ocA !oder su!erestimar drasticamente o tem!o din"eiro necessrios !ara terminar o !roLeto1 De im!ortPncia maior 2 fato de Mue uma eMui!e com!osta !or !essoal tecnicamente limitad !ode fa&er com Mue seu !roLeto no cum!ra os !ra&os e ultra!asse oramento de modo su/stancial1 7m grande !ro/lema dessa rea 2 Mue o desem!en"o real d !essoal eW!eriente no se correlaciona fortemente com a maioria dc testes !adroni&ados da ca!acidade de !rogramar1 AssimE .ocA de.e fur damentar suas estimati.as na re!utao ou na eW!eriAncia de tra/al" anterior de cada !essoaE !odendoE tam/2mE !artir do !ressu!osto d Mue todos no !roLeto estPo dentro da m2dia1 Como a maioria das em!r sas no mant2m registros cuidadosos e detal"ados so/re a !roduti.idad de cada !essoa em um am/iente de desen.ol.imento de sistemasE se l"e? muito difXcil o/ter e.idAncias documentadas em Mue se !oss <HD confiar1 Tudo o Mue .ocA tem a fa&er 2 reali&ar seu !rY!rio Lulgamento e modificar as estimati.asE do modo mais adeMuadoE durante o desenrolar do !roLeto1 B1:1@ $ Perigo de Fstimar seu PrY!rio Tra/al"o 7m dos !iores erros Mue .ocA !ode cometer 2 estimar seu !rY!rio tra/al"oV 2 Muase to arriscado Muanto utili&ar a estimati.a de uma sY !essoaE uma .e& Mue o Lulgamento dessa !essoa !ode ser afetado !or uma s2rie de fatores1 'e .ocA a.aliar seu !rY!rio tra/al"oE !ro.a.elmente aca/ar .iti mado !or um dos seguintes mitos> j _'ou mel"or Mue a maioria das !essoas aMuiE e ten"o certe&a de Mue !osso terminar o !roLeto muito mais cedo] ^ muito comum so/restimarmos a ca!acidade de algu2m1 Ao a.aliarmos a ca!a cidade de outra !essoaE tendemos a ser conser.adoresV ao esti marmos nossa !rY!ria ca!acidadeE tendemos ao otimismo1 j _'ei Mue o c"efe !recisa Mue este !roLeto seLa feito muito ra!ida menteE e de fato Muero aLud?lo]1 8a maioria dos casosE isso 2 um sentimento altruXstaV 2 muito natural Muerer Mue seu c"efe seLa /em?sucedido1 Mas isso !ode nu/lar seu Lulgamento so/re o .erdadeiro tem!o necessrio !ara terminar o !roLeto1 8a !ior das "i!YtesesE as estimati.as otimistas so feitas como um esforo !ara im!ressionar seu su!erior Flem/re? se Mue ele est fa&endo o mesmo !ara o su!erior deleE Mue est fa&endo a mesma coisa !ara o c"efe dele etc1O .isando uma mel"oria ou !romoo1 'e .ocA sou/er o Mue est fa&endo e for ca!a& de aceitar o riscoE Ytimo mas no se esMuea de Mue estar /rin cando com fogo1 j ;Tuero tra/al"ar duro !ara terminar este !roLeto no !ra&o] A inteno de tra/al"ar al2m da "ora 2 elogi.elE mas !erigosa como L foi sugerido1 Al2m dissoE lem/re?se de Mue a deciso de tra/al"ar longas "oras 2 muitas .e&es feita em um momento de j entusiasmo no inXcio do !roLetoV seis meses mais tardeE !ode no !arecer uma id2ia assim to /oa1 j ;L tra/al"ei em sistemas assim antesE este .ai ser fcil= BemE tal.e&E se .ocAE de fatoE L tra/al"ou em um !roLeto eWatamente como esteE ou muito !arecido1 EntretantoE eWiste uma tendAncia no inXcio de um !roLeto !ara enWergarmos similaridades com <HC !roLetos anteriores e !resumirmos de forma otimista Mue ser mos ca!a&es de !rontificar o no.o !roLeto com maior ra!ideV QocA !ro.a.elmente desco/rir Mue o no.o !roLeto 2 de fato ur tanto diferenteE ao entrar nos detal"esV e !ro.a.elmente e Muecer todos os !ro/lemas encontrados no 3ltimo !roLeto1 Por esses moti.osE 2 muito im!ortante Mue as estimati.as seLar feitas !or algu2m Mue no seLa a !essoa res!ons.el !elo tra/al"o1 tam/2m altamente deseL.el Mue ningu2m ten"a um /anco de dados d estimati.as Fdiscutido na seo B191JO ou um !acote de estimati.as co !utadori&adas Fdiscutido na seo B1JO !ara o/ter estimati.as de mais d uma !essoa1 $/ten"a a.alia0es !ro.enientes de !elo menos trAs !e soasV isso !ro!orcionar?l"e? estimati.as do mel"or caso e do !ior casc Luntamente com uma a.aliao do caso intermedirio1 B1:1J A Falta de um Banco de Dados de Estimati.as Tuando nos defrontamos com um no.o !roLetoE gostarXamos d dis!or de estatXsticas so/re uma centena de !roLetos semel"antes !ar !odermos !rodu&ir estimati.as corretas1 Algumas firmas de consultoria ;soft4are "ouses] esto ca!acitadas a fa&er i''$> Muando solicitadas a.aliar o tem!o e o custo deE digamosE um sistema de controle de !edi dosE eles !odem di&es> ;BemE este 2 Muase igual ao sistema de control de !edidos 9@K Mue construXmosE !ortanto ele le.ar X "omensGmAsE dYlares e g !essoas]1 Mesmo dentro de nossa !rY!ria organi&ao 2 !ossX.el Mue ten"an sido desen.ol.idos 9@K sistemas de controle de !edidos nos 3ltimos de ou .inte anos1 Mas isso no significa necessariamente Mue ser fcil es timar o oramento ou o cronograma !ara o l sistema de controle d !edidosV se os registros no ti.erem sido cuidadosamente conser.ado tudo o Mue .ocA !oder utili&ar sero /oatos e rumores1 Em uma or gani&ao de !rocessamento de dadosE Mue atua como um setor d ser.ios internosE sem ter de se !reocu!ar com as!ectos de lucrosG!er das ou com considera0es de fluWo de caiWaE no eWiste um incenti. real !ara conser.ar cuidadosamente esses registros1 Algumas grandes organi&a0es de !rocessamento de dados est comeando a modificar essa atitude e esto iniciando o desen.ol.imen to de grandes /ancos de dados detal"ados Mue !odem ser em!regado na gerao de estimati.as muito mais acuradas !ara futuros !roLetos Algumas firmas de consultoria Mue se esto es!eciali&ando nessa re desen.ol.eram /ancos de dados de literalmente mil"ares de !roLetos esses /ancos de dados costumam ser usados !ara fornecer !arPmetro> aos modelos de estimati.as com!utadori&adas discutidas na seo B1J1 <9H EntrementesE eWiste uma grande !ro/a/ilidade de Mue .ocA se de fronte com a estimati.a de algo 3nico1 Certamente Mue .ocA de.e !rocu rar outros !roLetos semel"antes em seu local de tra/al"oE mas lem/re?se de Mue .ocA !oder .er?se em uma situao anloga Z do arMuiteto a Muem !erguntaram em Muanto tem!o ele construiria uma casa su/terrP nea em um !Pntano1 B1:1I A InsistAncia da Direo !or Estimati.as Detal"adas Prematuras Como regra geralE 2 Muase im!ossX.el !rodu&ir?se estimati.as deta l"adas de custosE de tem!o e de reMuisitos de recursos !ara um !roLeto antes de ter sido eWecutado um consider.el .olume de tra/al"o detal"a do de anlise e de !roLeto do sistema1 AfinalE como informar ao usurio Muanto .ai custar um sistema se .ocA ainda no sa/e o Mue ele deseLa[ 8o o/stanteE muitas .e&es " uma grande !resso dos usurios e da direo !ara Mue se a!resente uma estimati.aE Mue am/os !resumem ser uma !re.iso eWata e detal"adaE em um estgio muito inicial do !roLeto1 Por MuA[ 'im!lesmente !orMue eles !recisam tomar uma deciso ti!o simGno em in.estir tem!oE din"eiro e !essoal necessrios Z construo do sistema1 A demanda !or uma estimati.a !rematura 2 /astante com!reen sX.elV a 3nica coisa Mue no 2 realista 2 a !ressu!osio de Mue uma a.aliao !rematura !ode ser detal"ada ou acurada1 ^ muito mais ade Muado oferecer?se Z direo uma s2rie de estimati.as durante o !roLetoE sendo cada uma !rogressi.amente mais detal"ada e mais eWata do Mue a anterior1 Desse modoE se a eMui!e de !roLeto esti.er desen.ol.endo um sistema !ara uma a!licaoE com a Mual seus com!onentes esteLam /astante familiari&adosE !ode ser !rodu&ida a seguinte s2rie de estimati.as> j Ao final do le.antamento ou estudo de .ia/ilidade> uma estima ti.a Mue !ode .ariar !or mais ou menos IHf1 Isto 2E a eMui!e de !roLeto !ode informar Z direo Mue o sistema tomar um ano e custar q:HH1HHHE mais ou menos IHf1 A direo de.eE !ortantoE !re.er a !ossi/ilidade de o !roLeto le.ar 9D meses e custar q@HH1HHH1 j Ao final da fase de anlise> uma estimati.a Mue !ode .ariar em v :If1 j Ao final da fase de !roLeto> uma estimati.a re.ista Mue !ode .ariar em v 9Hf1 <99 j Ao final da fase de !rogramao FMuando os testes ainda est !or serem feitosO> uma estimati.a final Mue no de.e .ariar en mais de v If1 B1:1< 7ma D`ficuldade a 8X.el Industrial em Medir a 7nidade de Tra/al"o Muitas ind3strias tAm meios !adroni&ados de medir o .olume d tra/al"o a ser feito em um !roLeto1 Algu2m Mue esteLa construindo um casaE !or eWem!loE !ode medir a tarefa em termos do n3mero de tiLolo a serem colocados ou o n3mero de cNmodos a serem construXdos1 Mas na rea do desen.ol.imento de sistemas ainda no eWiste um mod con.encionado de medir?se a unidade do tra/al"o a ser feito1 $ m2todo mais comum 2 medir?se o n3mero de instru0es d !rograma a serem escritas1 Esse m2todo tam/2m 2 con"ecido como li n"as de cYdigo1 AssimE em alguns !roLetosE !odemos .er referAncias K-$CE Mue significa %ilo lines of code FMuilolin"as de cYdigoO1 Mas eWis tem muitos !ro/lemas com as lin"as de cYdigo como medida da unidad de tra/al"o1 j $s comentrios em um !rograma de.em ser contados com lin"as de cYdigo[ j De.emos considerar somente o cYdigo entregue ao usurioE ot1 tam/2m de.emos contar o cYdigo escrito !ara testesE !rograma utilitrios e outras ati.idades de su!orte durante o !roLeto[ F9 em uma escala maiorE de.emos contar as lin"as associadas !roLetos cancelados na tentati.a de medir a !roduti.idade d em!resa[O j E se o !rogramador ti.er escrito mais de uma instruo !or li n"a da listagem do !rograma[ E as sentenas com!leWas Mu ocu!am mais de uma lin"a[ j Ainda mais im!ortanteE como de.emos considerar o fato de Muc alguns !rogramadores usam mais lin"as !ara escre.er a mesma funo Mue outros !rogramadores[ Como .imos na seo B1:1: isso !ode re!resentar uma ordem de diferena de magnitude` Como afirmou Ca!ers Rones em Programming Producli.XtL FERonesE9CDIeO maneiras diferentes de medir a unidade de tra/al"o !o dem distorcer de duas ordens de magnitude os resultados relatados d !roduti.idadeV tal.e& seLa !or isso Mue alguns !rogramadores !ro!alarr <9: _ ser 9H e at2 9HH .e&es mais !roduti.os Mue seus colegas` Em face desses !ro/lemasE algumas organi&a0es esto agora comeando a utili&ar !on tos de fun0es como unidade de tra/al"oV isso corres!onde grosseira mente Zs /ol"as atNmicas do nX.el mais /aiWo de um DFD B1:1K Estimati.as Fundamentadas em Pressu!osi0es de ,oras EWtras 8o *emuneradas Como L dissemosE os usurios e os gerentes de !roLeto !odem reagir aos conflitos de cronogramas sugerindoE im!lXcita ou eW!licita menteE Mue a eMui!e de !roLeto tra/al"e em "oras eWtrasE em fins de se manaE dis!ense os feriados e adie as f2rias1 Isso normalmente .em acom !an"ado !or a!elos Z lealdadeE ao !rofissionalismoE dedicaoE de .ooE orgul"oE "onra e !atriotismo dos !artici!antes do !roLeto1 DeiWo a .ocA decidir se a determinao de tra/al"ar "oras eWtras 2 uma necessria demonstrao de !atriotismo1 Em alguns esta/elecimen tos isso !ode ser .erdadeiro> cada !roLeto !ode ser organi&ado de tal modo Mue sY ser /em?sucedido se a eMui!e de !roLeto tra/al"ar regu larmente DH "oras !or semana1 Alguns !roLetos Fcomo o !roLeto A!olloE da 8A'AE Mue !Ns os !rimeiros "omens na -ua no final da d2cada de <HO !odem ser to estimulantes Mue todos ficaro mais do Mue satisfeitos em a!resentarem?se !ara o necessrio ser.io eWtraordinrio1 E no 2 inco mum desco/rir?se Mue um !roLeto Mue a!arenta.a estar so/ controle ultra!assou o !ra&o no 3ltimo mAsE o/rigando a algumas semanas de dias !rolongados e fins de semana de tra/al"o1 Mas .ocA de.e lem/rar?se Mue tra/al"ar 2 como correr> .ocA !ode correr Z mWima .elocidade !or algumas de&enas de metrosE mas no !ode correr em uma maratona Z mWima .elocidade1 Da mesma formaE .ocA !ode tra/al"ar 9J "oras !or dia durante algumas semanasE mas 2 irrealE na maioria dos casosE !resumir Mue !ossa tra/al"ar 9J "oras !or dia em um !roLeto de trAs anos1 Pessoas casadasE com fil"osE ou $utros interessesE sim!lesmente se recusaro a continuar tra/al"ando nesse "orrio a!Ys !oucos mesesV se necessrioE !ediro demisso e !rocura ro outro em!rego1 Pessoas Lo.ens e solteiras !odem estar mais decidi das a de.otar todos os seus momentos de .igXlia F/em como seus so n"osO ao !roLetoE !rinci!almente se !erce/erem Mue isso !ode acelerar suas carreiras ou seu con"ecimento !rofissional1 Mesmo Mue os mem/ros da eMui!e concordem em tra/al"ar 9J "oras !or diaE nada garante Mue o tra/al"o deles seLa eficiente1 Isso 2 !rinci!almente .lido no caso de o ser.io eWtraordinrio !rolongar?se !or um !erXodo de .rios meses> as longas "oras .es!ertinas so muitas .e&es im!roduti.asE e !ode?se notar Mue so cometidos mais erros Muan do os funcionrios tra/al"am cansados e com suas mentes eWauridas1 B1@ DI*ET*IgE' PA*A E'TIMATIQA' EWistem Muatro im!ortantes diretri&es a serem lem/radas ao fa&er mos estimati.as do .olume de tra/al"o a ser feito em um !roLeto d desen.ol.imento de sistemas> j Faa as unidades de estimati.a to !eMuenas Muanto !ossX.el1 j Faa as unidades de tra/al"o to inde!endentes Muant !ossX.el1 j -e.e em considerao o fator de comunicao1 j Faa a distino entre ser.io no.o e ser.io a!ro.eitado1 Essas diretri&es sero discutidas a seguir1 B1@19 Faa as 7nidades de Estimati.a To PeMuenas Tuanto PossX.el Esta de.eria ser uma sugesto e.identeE mas ela no 2 to o/ser.a da Muanto .ocA imaginaV ela tam/2m tem algumas armadil"asE comc .ocA !oder .er1 MasE em geralE 2 /em mel"or estimar o oramento e cronograma !ara uma unidade de tra/al"o de uma semana do Mue fa&ei estimati.as em termos de ;"omemGmilAnio] 1 Grandes !roLetos tAm gran de com!leWidadeV se tentar estimar o .olume de tra/al"o en.ol.ido .ocA Muase certamente cometer grandes erros1 ^ muito mais sensat fundamentar as estimati.as em !eMuenos .olumes de tra/al"o Isso naturalmente im!lica em Mue todo o !roLeto seLa fragmentad em !eMuenas unidades de tra/al"oE o Mue acontece naturalmente com resultado da anliseE !roLeto e !rogramao estruturadosV infeli&mente como .imos na seo B191IE .ocA !ode ser solicitado a !re!arar um detal"ada estimati.a dos reMuisitos de oramento e de recursos antes di ocorrAncia da su/di.iso detal"ada do tra/al"o1 8o eWiste uma solu mgica !ara este !ro/lemaV tudo o Mue .ocA !ode fa&er 2 tentar con.en cer seus su!eriores e os usurios Mue uma estimati.a detal"ada e corre ta eWige algum esforo inicial !ara identificar as unidades do tra/al"o ser feito1 Mas Mual de.e ser o taman"o das unidades de tra/al"o[ Alguma em!resas medem o tra/al"o em unidades de um mAsE o Mue !arece sei muito grande ? os !roLetos !odem ficar seriamente fora de controle flF inter.alo de um mAs1 Tal.e& seLa iis ra&o.el medir o tra/al"o err unidades iguais a uma semanaV como disse um .eterano gerente k <9J !roLeto> _8ada 3til !ode ser feito em menos de uma semanal1 EntretantoE a unidade mais comum tal.e& seLa o diaV ele se aLusta Z !erfeio ao modo como organi&amos nossa .ida !rofissional1 Algumas organi&a0es realmente medem seu tra/al"o em unidades de uma "oraV em/ora de fato eWistam muitas ati.idades Mue tomam uma "ora ou menos FeW1> definir um elemento de dados no dicionrio de dadosOE essa unidade !arece ser eWcessi.amente !eMuena !ara ser utili&ada1 B1@1: Faa as 7nidades de Tra/al"o To PeMuenas Tuanto PossX.el 7m !ro/lema Mue tem !reLudicado muitas estimati.as 2 a intera oE ou o aco!lamentoE entre dois fragmentos de tra/al"o1 'e um sistema esti.er di.idido em muitas e muitas intera0esE o .olume total de tra/a l"o !ara desen.ol.er esse sistema ser muito maior Mue a soma linear do tra/al"o de todos os fragmentos1 'e for feita uma modificao no fragmento 9@E !or eWem!loE essa modificao !ode causar !ro/lemas no fragmento 9JE e uma modificao no fragmento 9J !ode resultar em modifica0es no fragmento 9IE e assim !or diante1 Esse efeito de onda tem feito estragos em muitos !roLetos1 A soluo 2 di.idir o sistema em fragmentos !eMuenos e inde!en dentes Mue se aco!lem a!enas frouWamente com outros fragmentos1 Isso reMuer um cuidadoso tra/al"oV esse as!ecto foi discutido no ca!Xtulo :H como a !rinci!al ra&o lYgica !ara agru!armos as /ol"as de /aiWo nX.el no modelo com!ortamental !reliminar em agregados de nX.el mais ele.ado1 A id2ia de inde!endAncia modular tam/2m 2 im!ortante duran te a fase de !roLetoV isso foi discutido no ca!Xtulo ::1 B1@1@ -e.e em Considerao o Fator de Comunicao Mesmo em um !roLeto em Mue todos os mYdulos seLam inde!en dentes entre siE as !essoas !recisam falar umas com as outras1 'e o !roLeto esti.er sendo condu&ido !or uma sY !essoaE ento as 3nicas comunica0es necessrias sero com o usurio Fe tal.e& alguns entendi mentos com a direoO1 Por2m um !roLeto tX!ico tem muitos analistas de sistenXasE !roLetistasE es!ecialistas em /ancos de dados e !rogramadoresV !ior aindaE algumas dessas !essoas !odem tra/al"ar em em!resas dife rentes ou at2 falarem linguas diferentes1 Assim sendoE suas estimati.as de.em incluir algum tem!o !ara a comunicao entre todos os com!onentes do !roLeto1 Essas comunica 0es !odem tomar a forma de reuni0esE memorandosE con.ersas telefN nicasE e outras1 -em/re?se Mue o .olume de comunica0es am!lia?se Z <9I !ro!oro Mue cresce o taman"o da eMui!e do !roLeto> o n3mero de .iV de comunicao entre os mem/ros da eMui!e cresce com o fatonal d n3mero de indi.Xduos1 B1@1J Faa a Distino Entre 'er.io 8o.o e 'er.io A!ro.eitado 'e ti.er sorteE a eMui!e do !roLeto !oder fa&er uso de ser.i feitos !ara !roLetos anterioresV muitas .e&es isso toma a forma de mYdi los em uma /i/lioteca comum de soft4are 1 EntretantoE .ocA no de !ressu!or Mue os mYdulos reutili&.eis esteLam li.resV ser !reciso ui certo tra/al"o !ara F9O encontr?losE F:O eWamin?los !ara .er se e% !erfa&em as fun0es deseLadas e F@O con"ecA?los mel"orE !ara sa/ como utili&?los1 ^ mais a!ro!riado estimar Mue os mYdulos a!ro.eitV dos eWigiro uma certa frao Ftal.e& :If ou tal.e& menos de 9HfO d tra/al"o Mue seria necessrio !ara desen.ol.er esses mYdulos desde !rincX!io1 B1J Fn*M7-A' PA*A E'TIMATIQA' Durante os 3ltimos :H anosE a ind3stria de desen.ol.imento de si temas in.estiu um enorme .olume de tem!o e esforo no desen.ol. mento de modelosE ou fYrmulasE !ara aLudar a !redi&er o tem!o a ' des!endidoE os recursos e o custo de um sistema1 Alguns desses modelc esto agora am!lamente em usoV tal.e& o mais con"ecido seLa o model C$C$M$ desen.ol.ido !or Barr# Boe"m na T*5 1 MasE como di& Tor DeMarco em Controlltng 'oft4are Profec-sE 8o eWistem modelos de custos trans!ort.eis1 'e .ocA ficar es!e rando Mue algu2m em algum lugar desen.ol.a um conLunto de fYr mulas Mue .ocA !ossa utili&ar !ara !re.er os custos de seu !rY!rio negYcioE .ocA tal.e& fiMue es!erando !ara sem!re1 Grande !arte de nossa ind3stria concluiuE le!ois de admitir este fatoE Mue a mode lagem de custos era irrele.ante1 Eu considero essa concluso errada1 'e os modelos de custos desen.ol.idos localmente !uderem ser usados !ara mel"orar a !reciso do !rocesso de a.aliao de custosE e a mel"ora .ale o custo do desen.ol.imento dos modelosE ento a id2ia 2 .i.el1 ContudoE 2 interessante eWaminarmos algumas das fYrmulas usada em outras organi&a0esV elas !odem dar?nos um !onto dc !artida !ara desen.ol.imento de nossas !rY!rias fYrmulas1 Algumas dessas fYrmula <9< n.ol.em at2 JH fatores ou !arPmetrosV masE como .eremosE algumas n.ol.em a!enas um fator1 B1JE9 FYrmulas !ara Estimar o Tem!o de Tra/al"o TrAs fYrmulas comuns !ara a estimati.a do esforo Fmedido em !essoasGmAsO so /aseadas em lin"as de cYdigo1 5alston e FeliW desen .ol.eram um modelo na IBM F.eLa d e FeliWE 9CKKeOE fundamenta do em cerca de sessenta !roLetosE Mue 2 eW!resso como EsI1:- HC9 onde E 2 medido em !essoasGmAs e - 2 medido em mil"ares de lin"as de cYdigo1 De forma semel"anteE Baile# e Basii desen.ol.eram uma fYrmula /aseada em 9C !roLetosV ela 2 eW!ressa como Es@1JtH1K:=D- 99K mais ou menos :If onde o esforo era tam/2m medido em !essoasGmAs e D- significa mi l"ares de lin"as de cYdigo entreguesV .eLa IBaile# e BasiliE 9CD@e1 Para finali&arE o modelo C$C$M$E de Barr# Boe"mE tem uma fYrmula de esforo !ara trAs diferentes ti!os de sistemas> sistemas orgP nicosE sistemas sernidestacados e sistemas em/utidos> Es:1JKD'I 9HI Fsistemas orgPnicosO Es@1$KD'I 919: Fsistemas semidestacadosO Es@1<=KD'I 91:H Fsistemas em/utidosO onde KD'I re!resenta _%ilo deli.ered source inkructions] FMuilo?instru 0es?fonte entreguesOV .eLa maiores detal"es em d 9CD991 B1J1: FYrmulas !ara a Estimati.a do Tem!o A!Ys desen.ol.er uma estimati.a do .olume do tra/al"o a ser feitoE .ocA !ode !ensar Mue seLa fcil estimar a eWtenso do tem!o Mue o !roLeto eWigir1 AfinalE se .ocA tem um !roLeto estimado em 9H !essoasG mAs de tra/al"oE e " I !essoas dis!onX.eisE ele de.e le.ar : meses !ara ser com!letado1 MasE e se somente : !essoas esti.erem dis!onX.eis[ $ !roLeto le.ar I meses !ara ficar !ronto[ <9K De um modo geralE a nossa !reocu!ao aMui 2 com a /argan tem!o e !essoal1 Muitos anos de dolorosa eW!eriAncia ensinaram?n Mue a /argan"a no 2 sim!les> du!licar o n3mero de !essoas em i1 !roLeto no redu& necessariamente a durao do !roLeto !ela metade1e realidadeE Fred Broo%sE o arMuiteto do original sistema o!eracior $'G@<HE cun"ou a frase> _$ acr2scimo de mais !essoas a um !roLeto soft4are atrasado a!enas o atrasa ainda mais]1 , dois moti.os !ara is F9O a incluso de mais !essoas aumenta as comunica0es necessri entre os mem/ros da eMui!eE o Mue redu& a !roduti.idade e F:O algum tarefas do !roLeto so indi.isX.eisE sY !odendo serem feitas !or ur !essoa e a incluso de mais gente de nada adiantar1 Em/ora seLa uti id2ia 3tilE ela no nos di& es!ecificamente de Muantas !essoas um !roLe necessitar e nem Muanto tem!o ser com ele des!endido1 Essa r tam/2m foi tema de !esMuisaV Barr# Boe"m encontrouE !or eWem!i Mue o tem!o de desen.ol.imento de um !roLeto !ode ser eW!resso !e seguinte fYrmula> Ts:1IE H1@@ onde E 2 o esforo do !roLeto medido em !essoasGmAsV .eLa os detal" em EBoe"mE 9CD9eE Tam/2m foram feitos estudos so/re _man!o4er loading] Flotai de ca!acidade "umanaO Ytima !ara um !roLetoV as trAs fYrmulas ma con"ecidas fundamentam?se na o/ra de 8ordenE Putnam e ParrV .e d 9C<@9E d e Fit&simmonsE 9CKCe e tParrE 9CDHe1 8orden foi !rimeiro a desco/rir Mue a eMui!e de um !roLeto o/edece a uma cun semel"ante Z mostrada na figura B191 $ diagrama tam/2m 2 con"ecido como a distri/uio de *a#leige com /ase na fYrmula matemtica da cur.a1 Putnam a!resentou uma fY mula Mue determina o n3mero de !essoas necessrias ao !roLeto ei funo do tem!o1 PessoasF$s:K}a}t}eW!F :O onde K 2 o esforo total do !roLeto FeW!resso em !essoasGmAsO e a 2 ur fator de acelerao Mue esta/elece a su/ida inicial da cur.a Fo/ser.e Mu K re!resenta a rea total so/ a cur.aO1 7m modelo alternati.o foi desen.ol.ido !or Parr lParrE 9CDH em/ora a forma geral a!resente alguma semel"ana com a figura B19E ei estima uma Muantidade maior de !essoas nas fases iniciais do !roLeto1 F modelo de Parr 2 descrito !ela seguinte fYrmula> PessoasFtOs 9GJsec" : <9D 9: 9J 9< 9D Tem!o Figura B19> A alocao tX!ica de !essoas em um !roLeto B1I M$DE-$' DE E'TIMATIQA C$MP7TAD$*IgADA A id2ia de utili&ar fYrmulas com eW!oentes e secantes "i!er/Yli cas !ro.a.elmente no 2 muito atraenteV .ocA !ode ter certe&a de Mue a maioria dos analistas de sistemas .eteranos " muito L esMueceu o Mue seLa uma secante "i!er/Ylica e no fa& id2ia de como calcular um eW !oente` Mas no 2 !reciso guardar de memYria MualMuer das fYrmulasE e nem 2 necessrio eWecutar os clculos manualmente1 EWistem dis!onX .eis atualmente muitos !acotes de a.aliao de !roLetosV a maioria fun dona em PC e muitos deles utili&am o modelo C$C$M$ de Boe"m e o modelo de PutnamE acima descrito1 Alguns tam/2m !odem incor!orar os diagramas PE*T e GA8TT discutidos no ca!Xtulo 9<1 'e esti.er tra/al"ando em algo Mue no seLa um sistema tri.ialE .ocA definiti.amente de.e eWaminar esses !acotes1 Eles no somente eWecutam os clculos !ara .ocAE mas !ossi/ilitar?l"e?o fa&er simula0es do ti!o _e se] !ara .erificar os efeitos da incluso dc !essoas ao !roLeto ou d diminuio de !essoas face a doenas ou outras calamidades1 *EFE*b8CIA' 91 Tom DeMarcoE Controllin 'ofG4are G;roLecls1 8o.a lorMue> 6$7*D$8 PressE 9CD:1 <9C :1 Barr# Boe"mE 'oft4are EngXneering EconornXcs1 Engle4ood Cl 8L1> Prentice?,allE 9CD91 @1 5or%s"o! on TuantXtati.e 'oft4are Modeis for *elXa/ilit#E Com WXt#E and Cost> An Assessment oft"e 'tate oft"e Art1 IEEE Cata 8o1 T,HH<K?C1 8o.a lorMue> Institute of Electrical and Electror EngineersE 9CKC1 J1 Qictor BasiliE Tutorial on Model and Metrics for 'oft4are Mana ment and Engineering1 8o.a -orMue> Institute of Electrical Electronics EngineersE 9CDH1 I1 C1E1 5aiston e C1P1 FeliWE \A Met"od of Programming Measu ment and Estimation]E lBM'#steinsRournalE Qolume 9<E 83merJ FLaneiro de 9CKKOE !gs1 IJ?K@1 *eim!resso em 5ritings oft"e *e lutionE Ed4ard 6ourdori FeditorO1 8o.a lorMue> 6$7*D$8 Pre 9CD:E !gs1 @DC?JHD1 <1 L151 Baile# e Q1*1 BasiliE \A Meta?Model for 'oft4are De.elo!m and *esource EW!enditures]E Proceedings of t"e It" Internatioi Conference on 'oft4are Engineering1 8o.a lorMueE Institute Electrical and Electronic EngineersE 9CD@1 K1 P1Q18ordenE _7seful Tools for ProLect Management]E $!erat *e in *esearc" and De.elo!ment1 8o.a lorMue> 5ile#E 9C D1 -arr# Putnam e A1 Fit&simmonsE \Estimating 'oft4are Costs]E Da mationE setem/ro de 9CKCE !gs1 DC?CDV outu/ro de 9CKCE !gs1 r 9KDV no.em/ro de 9CKCE !gs1 9@K?9JH1 C1 F181ParrE \An Alternati.e to t"e *a#leig" Cur.e Model for 'oft4 De.elo!ment Effort]E IEEE Transactions on 'oft4are Engineer Qolume 'E?<E 83mero @ Fmaio de 9CDHOE !gs1 :C9? :C<1 9H1 T1Ca!ers RonesE Programming Producti.it#1 8o.a IorMue> McGra ,illE 9CDI1 8$TA' 9 -em/re?se tam/2m Mue as estimati.as Muase certamente !recisat ser re.istas durante o !roLeto Z !ro!oro Mue as circunstPnc mudarem1 Fatores eWternos Fcondi0es comerciaisE no.os comI tidoresE fus0es etc1O !odem fa&er com Mue o usurio mude s o!inio so/re a funcionalidade reMueridaE so/re as des!esas or mentrias ou so/re a data eWigida de entrega1 Fatores interr Fmudanas na eMui!eE dificuldades ines!eradas de im!lementa etc1O tam/2m !odem causar modifica0es nos oramentos e cror gramasE "a/itualmente de modo su/stancial1 : Algumas a.Ys tal.e& discordem totalmente dessa su!osio` @ EWiste um $utro elemento de /argan"aE mas dificilmente fala so/re ele eW!licitamente> a Mualidade1 Muitos gerentes de !roL <:H tentam o!erar milagres entregando toda a funcionalidade eWigida dentro dos !ra&os im!ostos !elo usurio e com os recursos menos? Mue?Ytimos oferecidosV mas o ine.it.el resultado 2 um sistema Mue tem mais erros e 2 menos manutenX.el do Mue seria se as coisas fossem diferentes1 J 7ma das !rimeiras indica disso foi um artigo intitulado _EW !lorator# EW!erimental 'tudies Concerning $nline and $ffline Programming Performance]E de ,1 'ac%manE 5L1 Eric%sn e E1E1 Grant na edio de Laneiro de 9C<D de Communtcations of t"e ACM $ estudo mostrou uma .ariao de :<G9 entre os mel"ores e os !iores !rogramadoresE Mue "a.iam rece/ido a mesma tarefa de !rogramao1 Essa .ariao entre /ons e maus !rogramadores foi o/ser.ada di.ersas .e&es duranie os 3ltimos :H anos1 I Deus est ol"ando !or so/re meu om/ro e est di&endo> _8oE no 2 Ytimo]1 Tal.e& .ocA Mueira assumir o risco de no ser ca!a& de entregar o !roLeto no !ra&o e oramento otimistas Mue .ocA esti.er !rometendoE !or2m um fracasso far mais do Mue !reLudicar sua carreira1 Fa&er estimati.as otimistas e irreais 2 anti2ticoE anti!rofis sional e intelectualmente desonestoE Muando seu su!eriorE seus usurios e toda a organi&ao !odem sofrer consider.eis !erdas !or sua inca!acidade de entregar o Mue !rometeu1 < A eW!resso !onto de funo foi a!resentada !or A1R1 Al/rec"t !ara descre.er issoV .eLa _Measuring A!!lication De.elo!ment Producti .it#]E Proceedings of t"e Roint 'I?IA *FRG7IDE A!!lication De.elo! ment '#m!osium FC"icago> G7IDE International Cor!1E 9CKCO1 Tom deMarco utili&a a eW!resso _function /ang] mais ou menos da mesma formaV .eLa seu li.roE Controlling 'oft4are Profects F8o.a RorMue> 6$7*D$8 PressE 9CD:O !ara maiores detal"es1 QeLa tam /2m Programming Producti.it#E de Ca!ers Rones F8o.a lorMue> McGra4? ,illE 9CD<OE onde consta uma com!leta discusso das di ficuldades de medir a !roduti.idade e os muitos fatores Mue a afetam1 K 7m "omemGmilAnio 2 o mesmo Mue mil "omensGano de tra/al"o1 Eu utili&o a !ala.ra \"omem] deli/eradamenteE !orMue estou con .encido Mue as mul"eres so demasiadamente inteligentes !ara se deiWarem indu&ir a fa&er estimati.as em unidades to grandes e to mac"istas` A eW!resso \"omemGmilAnio] foi sugerida originalmen te !or um cliente da min"a firmaE uma grande em!resa de utilidade !3/lica da CalifYrnia1 D Mas tam/2m !ode ser !ossX.el reutili&ar !artes de um !roLetoE !artes de um modelo de reMuisitos de usurio ou at2 !artes de um estudo de .ia/ilidade1 8o !assadoE normalmente no se fa&ia isso !orMue o modelo de !roLetoE os modelos da anlise e os estudos de .ia/ilidade no eram /em documentados e nem se fa&ia sua <:9 manuteno1 AgoraE com a !roliferao dos !rodutos de estaN inteligentes de anlise do ti!o discutido no a!Andice AE isso e tornando?se mais !rtico1 C Para uma discusso mais detal"ada desse modelo .eLa 'oft4a Engtneertng EconomicsE de Barr# Boe"m FEngle4ood CliffsE 8E Prentice?,allE 9CD9O1 <:: c C+-C7 DE C7'T$GBE8EFcCI$ C19 I8T*$D7()$ Este a!Andice dedica?se Zs t2cnicas de clculo do custoG/eneficioE uma im!ortante !arte do esforo de analise de MualMuer sistema1 'eu o/Leti.o 2E naturalmenteE demonstrar aos usurios do no.o sistemaE /em como a outros gru!os de diretores da em!resaE Mue os /enefXcios do no.o sistema eWcedem os custos es!erados1 Como analista L3nior .ocA tal.e& no seLa en.ol.ido nesse esforoE ou tal.e& rece/a a tarefa de desen.ol.er o modelo de custoG/eneficio !ara uma !eMuena !arte do sistema geral1 Mesmo como analista de sistemas sAnior a cargo de todo o !roLetoE .ocA !ode no !artici!ar dos clculos de custoG/enefXcioV eles !odem ser feitosE !or eWem!loE !or um inde!endente gru!o de finanasE em se!arado1 $u ele !ode no ser eWecutado` Muitos sistemas so desen.ol.idos em algumas organi&a0es sim!lesmente !ara satisfa&er eWigAncias go.ernamentais o/rigatYrias FeW1> sistemas de relatYrios !ara o _EMual Em!lo#ment $!!ortunit# Act] ou no.os sistemas !ara lidar com as modifica0es da legislao so/re im!ostosO1 ^ claro MueE mesmo nesses casosE Muando no " /enefXcios a serem auferidos do sistema FeWceto !elo fato de e.itar san0es e ter autori&ao de !ermanecer no merca do`OE normalmente a direo deseLa sa/er Mual ser o custo do sistemaV mas isso !ode ser eWecutado como !arte das ati.idades de a.aliao discuiidas no a!Andice B1 EWiste um outro moti.o !elo Mual o estudo de custoG/enefXcio !ode no ser eWecutado> o usurio tal.e& no o deseLe1 Assim como um consumidor !ode no ser ca!a& de Lustificar um CadillacE em termos de custo Fele tal.e& !recisasse a!enas de um !eMueno ,onda ou at2 de uma /icicletaOE muitos usurios so inca!a&es de LustificarE Muanto ao custoE um no.o sistema Mue ten"am solicitado1 Por .e&es eles solicitam <:@ um no.o sistema !elos mesmos moti.os Mue um consumidor adMuire un carro dis!endioso ? !ara manter o nX.el em relao a seus !ares ;1En outros casosE o usurio !ode ac"ar Mue eWiste a legXtima necessidade dc no.o sistemaE em/ora recon"ecendo Mue todos os /enefXcios sP intangX.eis ou eWtremamente difXceis de MuantificarV o usurio !odc Lustificar a solicitao do no.o sistema alegando uma _intuio d em!resrio] de Mue ele .aler o custo1 Como analista de sistemasE no 2 da sua com!etAncia insXstfr en Mue de.a ser efetuado um clculo de custoG/eneficioV afinal de contasE sistema 2 do usurioE e se ele Muiser construX? lo sem Lustific?loE 2 !rerro gati.a dele1 EntretantoE 2 uma /oa id2ia desco/rir se foi feito um clcu% de custoG/eneficio !ara o !roLeto eE caso afirmati.oE se ele 2 ra&o.el 'e no eWistir esse estudoE ou se os /enefXcios forem muito .agos Fou s os custos foram su/estimados de forma gritanteOE .ocA de.e com!ene trar?se de Mue o !roLeto 2 .ulner.el1 8o !ior dos casosE .ocA !erce/er Mue o usurio no est muitc> entusiasmado com o !roLetoE mas foi !ressionado !ela direo su!erior com /ase nos clculos otimistas do gerente do !roLeto Mue realment deseLa construir o sistema F!orMue .ai mel"orar sua carreiraE !orMue e% ac"a Mue todos os usurios de.em ser com!utadori&adosE ou !or cc outras ra&0esO1 8o mel"or dos casosE o usurio autori&ou o sistema e est muito entusiasmado com ele a des!eito da falta de um clculo raciona de custoG/eneficio1 Mas os usurios so .ol3.eis> o sistema !redileto di "oLe !ode tornar?se o sistema descartado de aman"1 E os usurios .o e .Am> o usurio Mue autori&ou o !roLeto onterr !ode ser su/stituXdo aman" !or um no.o usurio Mue tem uma .isc muito diferente da con.eniAncia do !roLeto1 Desse modoE se no "ou.e um estudo de custoG/enefXcio Fe for e.idente Mue ningu2m Muer ela/ r?loOE meu consel"o 2 muito sim!lesV manten"a seus assentamento atuali&adosE !orMue .ocA !oder estar em /usca de um no.o em!regc antes do !roLeto terminar1 8as se0es a seguirE eWaminaremos di.ersos as!ectos dos clculo de custoG/enefXcio> j Anlise de custos j Anlise de /enefXcios j Como eW!ressar a economia j Anlise de riscos <:J C1: A8+7'E DE C7'T$' $ o/Leti.o desta ati.idade 2E naturalmenteE calcular anteci!ada mente todos os custos associados ao sistema ? no somente o custo de construir o sistemaE mas tam/2m o custo de sua InstalaoE o!erao e manutenoE /em como os custos agregados1 Discutiremos todos eles a seguir1 C1:19 $ Custo da Construo do 'istema 8o a!Andice B discutimos as t2cnicas !ara estimar a eWtenso do tem!o necessrio !ara construir um sistema e o n3mero necessrio de !essoas1 -em/re?se Mue .ocA no sY !recisa calcular o custo dos !rogra madores e dos analistas de sistemasE mas tam/2m o de todas as outras !essoas en.ol.idas no desen.ol.imento do sistema> j Burocratas j Diretores j Mem/ros da comunidade usuria j Consultores e !rogramadores contratados j Possi.elmente mem/ros da auditoriaE do controle de Mualidade ou da eMui!e de o!era0es 8a maioria dos casos .ocA !oder o/ter com a direo Fou com o de!artamento de conta/ilidadeO o salrio m2dio das categorias de !es soas incluXdas em seu !roLetoV esse salrio m2dio !ode ser eW!resso em termos de custos "orriosE custos mensais ou anuais1 CertifiMue?se de considerar o fator de encargos de sua em!resaV isto 2E .ocA !ro.a.el mente ter de multi!licar cada salrio !or um fator deE digamosE 9IHf !ara co/rir os custos de segurosE /eneficiosE e di.ersos outros fatores agregados de encargos1 QocA tam/2m !ode o/ter esses .alores com a dire ou com o de!artamento de conta/ilidade1 -em/re?se de Mue as !essoas Mue tra/al"am no !roLeto no estaro dis!onX.eis 9HHf do tem!o> algum tem!o ser necessariamente !erdido face Z inati.idadeE Zs f2riasE licenas e coisas semel"antes1 'ua firma !ode ter um fator !adroni&ado !ara a!licar a esse tem!o !erdido> caso contrrioE .ocA !ode admitir o .alor mXnimo de 9HfV :H a :If no so to irreais F2 !ossX.el Mue isto L ten"a sido considerado nas estimati.as de recursos .ista no a!Andice B1 QerifiMue esse detal"e !ara assegurar?se <:I de Mue o fator de tem!o !erdido no ten"a sido deiWado de lado e ne seLa a!licado du!lamenteO1 Em muitos !roLetos .ocA de.e incluir tam/2m o custo do trem mento da eMui!e de desen.ol.imento1 $s com!onentes da eMui!e ! dem !recisar ser adestrados em no.as metodologias de desen.ol.imei toE no.as linguagens de !rogramao ou em di.ersos recursos de "ar 4are e de soft4are relati.os ao fornecedor do eMui!amento Mue esti. sendo utili&ado1 $utro custo Mue de.e ser le.ado em considerao 2 do tem!o de mMuinaE terminaisE esta0es de tra/al"o e ferramentas c desen.ol.imento FeditoresE !acotes de testes etc1O Mue seLam necessr% ao desen.ol.imento do sistema1 Em alguns casosE os terminais e ferramentas de desen.ol.imento !odem L eWistir e seu !roLeto !ode n incorrer em des!esas adicionaisV em .irtualmente MualMuer casF !ortantoE o !roLeto de.er incluir os custos do tem!o de mMuina en.o .ido Fo/ser.e Mue isso !ode incluir os custos de memYria em discoE custos de telecomunica0esE e os custos relati.os a !a!elE formulrios $utros itens correlatosO1 Alguns !roLetos no.os so desen.ol.idos com !essoas no.asE ist 2E !essoas Mue no tra/al"a.am !ara a organi&ao anteriormente a !roLeto e !ara as Muais !resumi.elmente no eWistiam acomoda0es nc escritYrios1 Assim sendoE .ocA tal.e& ten"a de incluir custos de recrutV mento Fdes!esas de trans!orte !ara os candidatos a em!regosE taWas d recrutamento !ara as agAncias de em!regos etc1OE assim como des!esa com !essoal relati.as ao treinamento de ada!tao inicial !elo Mu de.em !assar todos os no.os em!regados1 E !ode ser necessrio inclu o custo do es!aoE mo/ilirioE telefones e outros eMui!amentos !ara no.o !essoal1 Em alguns !roLetos eWistem tam/2m custos de trans!orte de .isit Mue !recisam ser feitas a instala0es remotas dos usurios Mue !recisei ser entre.istados1 E.identementeE este no 2 um fator !ara um !roLet em Mue todos os usurios esteLam locali&ados na mesma rea geogrfic da eMui!e de desen.ol.imentoV masE nos !roLetos em Mue eWistem di.e sos gru!os de usurios em diferentes locali&a0es Fmuitas .e&es ei diferentes !aXsesOE essa des!esa !ode ser im!ortante1 A !ro!YsitoE a dir o muitas .e&es !resumir Mue todas as informa0es necessrias !odei ser coletadas em uma .iagemV nos !roLetos reaisE muitas .e&es so n cessrias di.ersas .iagens !ara resol.er d3.idas e mal?entendidos 1 Dessa formaE os custos do desen.ol.imento de um sistema !odei ser muitos e diferentes entre si1 A lista a seguir resume a discusso acim ela !ode no ser com!letaE mas co/re os itens mais im!ortantes> j 'alrios e encargos relati.os a todo o !essoal ligado ao !roLeti j Custos de treinamento <:< j Tem!o de mMuina e ferramentas de desen.ol.imento !ara a eMui!e j Custos do recrutamento da no.a eMui!e j Es!ao e eMui!amento de escritYrio !ara a no.a eMui!e j Des!esas de trans!orte com .isitas a usurios remotos C1:1: $ Custo da Instalao do 'istema Em um !roLeto sim!lesE !ode ser suficiente telefonar ao usurio e informar Mue o desen.ol.imento do sistema est terminadoV .ocA !ode ser ca!a& de entreg?lo em um disMueteE e deiWar Mue ele o instale em seu !rY!rio com!utador !essoal1 MasE no caso de sistemas grandes e com!leWosE o !rocesso de instalao 2 muito mais do Mue issoE "a.endo muitos custos en.ol.idos1 Entre eles esto> j Custos de treinamento de usurios j Custos de con.erso de /ancos de dados j Custos de instalao do fornecedor j Custos da a!ro.ao legal j Custo do !rocessamento !aralelo j Custo da eMui!e de desen.ol.imento durante a instalao 8ormalmenteE toda a comunidade usuria !recisar de algum trei namento !ara familiari&ar?se com a utili&ao do sistema1 Pode ser ne cessrio um treinamento adicional !ara os usurios su!er.isoresE !oden doE aindaE ser necessrio algum treinamento !ara a eMui!e de o!era0es e !ara di.ersos outros gru!os auWiliares1 $/ser.e Mue isso significa Mue tam/2m de.emos incluir o custo do desen.ol.imento dos cursos de treinamento do usurioE o custo dos manuais de treinamento ou da do cumentao dos cursosE /em como o custo dos recursos de treinarnento dos usurios Fsalas de aula etc1O1 Para terminarE no esMuea o custo do tem!o do usurio durante o !rocesso de treinamentoV .ocA !ode ser solicitado a calcular este 3ltimo em termos dos salrios dos usuriosE ou a ter de calcul?lo em termos do custo de su/stituio das !essoas Mue <:K esti.erem desem!en"ando as tarefas dos usurios enMuanto est esti.erem sendo adestrados1 $s custos de con.erso de /ancos de dados !odem ser ignorad se .ocA esti.er instalando um no.o sistema !ara o Mual no eWiste !rec cessor1 Mas se esse no.o sistema esti.er su/stituindo um outro sisterr ento Muase certamente "a.er um /anco de dados Mue !recise I ada!tado !ara o no.o sistema1 'e o /anco de dados L eWistente no com!utadori&ado Fisto 2E !astas de arMui.os re!letas de !edaos !a!elOE !oder "a.er um su/stancial custo relacionado Z entrada dadosV isto 2E algu2m Fou tal.e& um grande gru!o de !essoasO !ro.a. mente ter de sentar?se a um terminal e introdu&ir todos os dados im!c tantes no com!utador1 'e os dados eWistentes L esti.erem com!utado &adosE !oder "a.er um custo um tanto menor en.ol.ido na con.ers mecPnica dos arMui.os antigos !ara o no.o formato $s custos de instalao do fornecedor no de.em ser ignoradc !rinci!almente se o sistema en.ol.er no.o "ard4areE no.o eMui!amen de telecomunica0es eGou no.o soft4are1 $s fornecedores geralmen do uma /oa estimati.a dos custos de instalaoE e .ocA de.e consegi1 Mue eles a!resentem cota0es a custos fiWos1 Para alguns sistemas !oder "a.er um custo de licenas ou outr formas de a!ro.a0es de .rias autoridadesE locaisE estaduais ou do g .erno federal1 Isso tam/2m !ode incluir testes am/ientais dc emiss0 de radiao !ro.eniente das telas dos terminais utili&ados !elos o!er dores de entrada de dados do usurio1 'e a a!ro.ao legal for u !rocedimento sim!lesE en.ol.endo a!enas o !reenc"imento de formi lriosE .ocA !oder estimar os custos de modo /em acuradoV seE in.2sE ela en.ol.er um !rocesso de testes no rigorosamente fiWadosE si estimati.a ser a!enas a!roWimada1 $s custos do !rocessamento !araleloE se "ou.er esse !rocess mentoE tam/2m de.e ser incluXdo na a.aliao dos custos de instala Em muitos ti!os de sistemas o usurio insistir em Mue o sistema anti seLa !rocessado em !aralelo com o no.o !or um certo !erXodo1 Is1 !ode im!licar na du!licao tem!orria da eMui!e usuria ou outn des!esas relacionadas1 QocA de.e informar?se Fse !ossX.elE na es!ecific o do sistemaO do !erXodo em Mue esse !rocessamento em !aralelo . !erdurarV essa informao !oder aLud?lo a desen.ol.er uma estimatii adeMuada1 Ten"a cuidado em no esMuecer o custo da eMui!e de desen.c .imento en.ol.ida na instalao1 8ormalmenteE os !rogramadores analistas de sistemas Mue esti.eram en.ol.idos no desen.ol.imento d !roLeto estaro fortemente en.ol.idos em sua instalao1 E.identementi al2m de seus salrios Fe !ossi.elmente as "oras eWtrasO e encargosE Q$F tam/2m de.e considerar MuaisMuer des!esas de trans!orte necessriV Z instalao do sistema em uma locali&ao remota do usurio1 <:D Finali&andoE lem/re?se Mue a instalao de grandes sistemas no ocorre de uma sY .e&V um no.o sistema /ancrioE !or eWem!loE !ode ser instalado em uma agAncia de cada .e&E durante um !erXodo de .rios meses1 Isso significa MueE de um modo geralE o custo de instalao das !rimeiras ramifica0es F$u reas de usuriosO sero mais caras do Mue as seguintesE !orMue a eMui!e de instalao ir adMuirindo mais eW!e riAncia e Fes!eramosO MualMuer !ro/lema inicial com o sistema ser resol.ido a!Ys as !rimeiras instala0es1 Por outro ladoE se o !rocesso de instalao !rolongar?se !or di.ersos meses Fou mesmo anosOE .ocA de.e considerar a !ossi/ilidade da reno.ao da eMui!e> !essoas Mue adMuiri ram eW!eriAncia com a instalao do sistema e com o treinamento de gru!os usurios !odem cansar?se do !rocesso e transferirem?se !ara um no.o em!rego em outro lugar1 C1:1@ $ Custo do Din"eiro $ din"eiro necessrio !ara desen.ol.er e instalar um sistema no d em r.oresV ele !ode ser o/tido !ela em!resa atra.2s de um em!r2s timo ou !ode !ro.ir de suas atuais reser.as1 Dessa formaE eWiste um cus to relacionado Z utili&ao do din"eiro1 De!endendo de sua organi&a oE .ocA !ode ser solicitado a eW!ress?lo como sendo o custo do em !r2stimo feito ou em termos dos Luros Mue o din"eiro !oderia estar ren dendo se ti.esse sido in.estido em lugar de ser utili&ado em seu !roLeto1 Essa 2 uma rea em Mue .ocA de.e recorrer Z orientao do de!ar tamento de conta/ilidade1 Eles certamente tero uma diretri& !adr !ara tratar desses assuntosE e 2 im!ortante Mue seu !roLeto o/ser.e a mesma a/ordagem1 C1:1J Custos $!eracionais A!Ys "a.er instalado o sistemaE "a.er um custo !ara Mue o usu rio !ossa continuar sua o!erao1 EntretantoE isso tam/2m de.e re!re sentar uma rea em Mue seu no.o sistema economi&ar din"eiroE !or Muanto ele !resumi.elmente ser mais /arato Mue o atual sistema de Mue o usu dis!0e Fa menos Mue .ocA l"e ten"a acrescentado um grande .olume J funcionalidadeO1 $s custos o!eracionais tX!icos 'o> j Custos de "ard4are e de su!rimentos e eMui!amentos correlatos j Custos de soft4are j Custos de !essoal <:C j Custos de manuteno j Custos dos recursos ,ard4are 2 em!regado aMui em um sentido muito a/rangent incluindo o custo dos eMui!amentos com!utacionais F!resumindo? Mue eles ainda no ten"am sido adMuiridos em sua totalidadeE mas .e tam/2m a seo C1:1<OE eMui!amentos de telecomunica0esE terminai esta0es inteligentes e su!rimentos F!a!elE formulriosE discos fleWX.ei dis% !ac%sE fitas !ara im!ressoras etc1O1 -em/re?se de Mue alguns iter de "ard4are !odem ser considerados como material consumX.el un .e& Mue se desgastam com o uso e !recisam ser su/stituXdos1 Isso mcli terminaisE algumas im!ressoras e tal.e& outros ti!os de materiais c "ard4are1 CertifiMue?se de Mue os !erXodos futuros reflitam os custos dV su/stitui0es Mue forem necessrias1 Custos de soft4areE nesta discussoE significam os custos continu> dos de _leasing] de sistemas o!eracionaisE !acotes de gerenciamento c /ancos de dados e outros soft4ares de sistemas Mue sua em!resa !oc ter com um fornecedor de soft4are1 Custos de !essoal incluem a eMui!e de o!era0esE o !essoal d su!orte t2cnicoE !rogramadores de manutenoE e o custo dos usur% diretamente en.ol.idos na o!erao diria do sistema1 Como L foi disci tidoE .ocA !ro.a.elmente ter de eW!ressar isso como um custo !ai considerar segurosE /eneficios e outros encargos1 Custos de manuteno incluem o es!erado custo mensal Fo anualO da manuteno dos eMui!amentos com!utacionaisV sua estimati neste as!ecto de.e incluir no somente o custo da manuteno !re.ei ti.a oferecida !elo fornecedorE mas tam/2m MualMuer custo com!lemei tar relati.o aos re!aros !ro.ocados !elas fal"as dos eMui!amento Tam/2m de.em ser incluXdos os custos de manuteno do soft4are dc fornecedoresE se isto for a!lic.elV o contrato de manuteno oferecid !elos fornecedores costuma incluir um telefone es!ecial !ara su!oil t2cnicoE /em como mudanas gratuitas Fou a !reos redu&idosO !ai no.as .ers0es de seus !acotes1 Al2m dissoE o custo de manuteno de.e incluir uma estimati.a d custo do re!aro e do a!erfeioamento do soft4are a!licau.oE Mue !od ser um im!ortante fator de custoE o Mue 2 e.idenciado !elo fato de Mu a maioria das organi&a0es des!e ide mais de IHf de seus oramentc de !rocessamento de dados em manuteno1 EWistem di.ersas maneirV de estimar os custos de manuteno do no.o sistema> j 'e o seu sistema for su/stituir um sistema antigoE .ocA !ode e timar Mue o no.o sistema eWigir o mesmo .olume de esforo d <@H manuteno1 Esse esforo 2 /astante conser.adorE !or im!licar em Mue o sistema antigo ten"a sido desen.ol.ido com utili&ao de t2cnicas de engen"aria de soft4are modernas e Mue o no.o sistema no utili&ar t2cnicas ainda mais modernas e mais efi cientes1 Isso 2 im!ro..el no caso de o sistema antigo ter L 9H ou 9I anosE mas !elo menos re!resenta um ti!o de estimati.a de !ior !ossi/ilidade1 j 7ma estimati.a otimista !ode fundamentar?se na economia es!erada na manuteno do sistema atual1 Muitas organi&a 0es desco/riramE !or eWem!loE Mue seus custos de manuten o redu&iram?se !or um fator de cinco ou mais em .irtude da utili&ao cuidadosa da anlise estruturadaE do !roLeto estrutu rado e da !rogramao estruturada QocA de.e eWaminar outros !roLetos semel"antes no Pm/ito de sua !rY!ria em!resa !ara .erificar se foram o/tidas economias desse ti!oV se assim forE !ode ser ra&o.el es!erar economias semel"antes em seu !roLeto1 Acautele?seE contudoE contra a tentao de mostrar su/stanciais redu0es no !essoal com /ase na instalao de seu !roLetoV isso raramente ocorreE !elos moti.os discutidos na seo C1@191 j Caso no eWista um sistema atual !ara ser usado em com!a ra0es Fou se .ocA Muiser e.itar estimati.as eWcessi.amente otimistas ou !essimistasOE eW!erimente determinar o custo m2dio de manuteno de sistemas semel"antes em sua organi&ao1 Ele !ro.a.elmente ser /aseado em alguma unidade normali &ada FeW1> .alor da manuteno !or lin"a de cYdigo !or ano ou .alor da manuteno !or !onto dc funo !or anoOE mas as es timati.as Mue .ocA fe& no a!Andice B de.em !ossi/ilitar Mue .ocA efetue as adeMuadas estimati.as de manuteno !ara o seu !roLeto1 7m custo final Mue de.e ser estimado Muando calculamos o custo o!eracional do no.o sistema 2 o das instala0es fXsicas Fa sala do com!u tador e as comodidades de escritYrio !ara a eMui!e de o!era0esE !ara o !ess de manuteno do fornecedor e !ara a eMui!e usuriaO1 'e o no.o sistema for ser eWecutado em um mainframe central L instaladoE esses custos de comodidades !odem L estar em/utidos no custo geral do "ard4are acima discutido1 EntretantoE se .ocA esti.er desen.ol.endo um sistema totalmente no.o Mue ter suas !rY!rias comodidades de funcionamentoE isso !ode ser um custo im!ortante1 <@9 C1:1I $ Custo das Fal"as EWiste ainda um outro custo a ser considerado> o custo das !otei ciais fal"as do no.o sistema1 ^ !rtico em/utir esse custo na categor dos custos de funcionamentoE mas isso tende a ocultar o Mue se tomai um as!ecto de crescente im!ortPncia dos sistemas de informa0es r futuro> a confia/ilidade1 EWistemE como !ode?se imaginarE di.ersas formas de fal"as de ui sistema> em alguns casosE o sistema torna?se com!letamente indis!on .el at2 Mue o erro seLa corrigidoE enMuanto Mue em outros casos o si tema continua funcionandoE !or2m uma ou mais de suas saidas est incorretas1 Em alguns casosE algumas fun0es do sistema !odem n funcionarE e em outros casosE alguns usurios !odem no consegu acesso ao sistema1 Todas essas formas de fal"as tAm um custo associad custos de "ard4areE custos de soft4areE custos do !essoal en.ol.ido r correo do erroE !ossX.eis custos legais se o sistema ti.er !ro.ocad !erdas financeiras ou alguma outra !erda gra.eE e !ossi.elmente !erd de receita ou !erda de clientes1 Como de.emos estimar coisas assim[ 'eria ingenuidade ignori toda essa reaE !ois ainda no atingimos a ca!acidade de constru sistemas !erfeitosV !or outro ladoE se .ocA indagar a um dos !rogramV dores ou a um dos analistas de sistemas do !roLeto Muantas fal"as elc calculam Mue eWistam no no.o sistemaE eles iro ol"?lo como se .oc esti.esse sofrendo de alguma no.a forma de senilidade1 A atitude mais res!ons.el Mue .ocA !ode adotar 2 F9O eWaminar taWa de fal"as do sistema atualE se .ocA esti.er construindo um no. sistema !ara su/stituir um L eWistenteE e F:O eWaminar a taWa de fal"as d todos os outros sistemas de sua organi&ao <j A!Ys isso .ocA !oder e tar ca!acitado a fa&er algumas su!osi0es ra&o.eis so/re a taWa de f l"as Mue !ode ser es!erada do no.o sistema1 'eu !roLeto tal.e& seL construXdo com su/stancialmente menos erros Mue o sistema atualE o at2 mesmo menos Mue o sistema m2dio de sua em!resaV .ocA de.eE n .erdadeE em!en"ar?se em um a!erfeioamento de no mXnimo de& .e& ou mais1 'e no eWistirem estatXsticas dis!onX.eis so/re confia/ilidade d soft4are do sistema atual de sua em!resa e nem uma /ase so/re a MuV !ossa ser feita uma estimati.a !ara o no.o sistemaE .ocA de.eE !el menosE incluir este fato no documento da anlise de riscosV .eLa maiorc informa0es na seo C1I1 'e .ocA esti.er construindo um sistema grar de e com!leWo no Mual uma fal"a teria conseMaAncias de longo alcanc !otencialmente desastrosasE 2 !rofissionalmente inaceit.el no eWist um modelo de confia/ilidade de soft4areE a des!eito do fato de Mu a maioria das em!resas atualmente no se !reocu!e com isso1 Par <@: maiores informa0es nessa reaE .eLa 'oft4are *elia/ilil#E de Glen M#ers F*eadingE Mass1> Addison?5esle#E 9CKCO1 C1:1< Faa Distino entre Custos de Ca!ital e Custos de Des!esas Alguns dos custos relati.os ao no.o sistema sero des!endidos durante o ano em Mue ocorremV isto 2E sua organi&ao recon"ecer esses custos na declarao de -kP Fe nos !agamentos de im!ostos arMui .ados no I*'O durante o ano de sua ocorrAncia1 $utros custos so ca!i tali&adosE isto 2E os custos so diluXdos !or um !erXodo de di.ersos anos1 Em/ora isso no afete o custo total do sistemaE a classificao de um custo como de des!esa e no como de ca!ital !ode ter grande im!acto na situao da em!resa em relao aos im!ostos1 De forma semel"anteE a deciso de incluir alguns custos como relati.os a com!ras em lugar de alugu2is !ode ter significati.o im!acto no fluWo de caiWa da em!resaE ainda Mue o custo total !ermanea o mesmo1 8ormalmente as aMuisi0es de "ard4are so consideradas como des!esas de ca!italE e o custo 2 distri/uXdo !or um !erXodo de I a K anos Fde!endendo das leis .igentes so/re im!ostosO1 $ custo do desen.ol.i mento de soft4are !ode ou no ser ca!itali&ado1 Custos de instalao e de o!erao so normalmente des!endidos no !erXodo em Mue ocorremE em/ora !ossa "a.er !eMuenas .aria0es nessa rea1 E.identementeE essa no 2 uma rea em Mue .ocA !ossa criar sua !rY!ria doutrina de conta/ili&ao1 ^ im!ortante desco/rir Mue !adr0es financeiros so utili&ados em sua em!resa e segui?los de modo consistente1 C1@ A8+7'E DE BE8EFcCI$' ^ /em mais dificil calcular os /eneficios es!erados de um no.o sistema de informa0es do Mue calcular seus custos1 Em alguns casosE como mencionado no inXcio deste a!AndiceE !ode ser im!ossX.el ? ou !orMue o sistema seLa mandatYrio ou !orMue o usurio decidiu Mue Muer o sistema MuaisMuer Mue seLam os /eneficios concretos Mue !ossam ser identificados1 ^ a tentati.a de calcular /eneficios concretos Mue causa tantos !ro/lemas1 $s usurios no costumam se deiWar le.ar !elo entusiasmo com coisas como _mel"or controle] ou _informa0es no momento a!ro !riado] ou _mel"ores am/ientes !ara tomadas de decis0es]E mas se l"es for !erguntado Muanto !ensam economi&ar ou Mual o !ro.eito Mue ser o/tidoE eles !ro.a.elmente res!ondero .agamente> _$"E muitoE muito111 <@@ Ten"o certe&a Mue ser Ytimo`]1 8a .erdadeE o no.o sistema ser <" ? mas !ala.ras como Ytimo no se aLustam muito /em a uma !lani Mue mostra com!ara0es num2ricas de custos e /enefXcios1 Dessa maneiraE seu maior tra/al"o ao eWecutar um clculo de c toG/eneficio ser o de fa&er com Mue os usurios esti!ulem /enefi concretos Mue !ossam ser medidos e calculados de forma Muantitati Caso .ocA no seLa ca!a& de fa&er isso Fo Mue acontece em mui !roLetos e com muitos analistas de sistemasOE tente fa&er com Mue analistas de sistemas com!arem seu no.o sistema com algum outro si ma com /enefXcios con"ecidos1 Desse modoE .ocA !ode di&er ao us rio> _'u!on"a Mue .ocA ti.esse de escol"er entre o no.o sistema so Mue estamos falando e o 'istema X1 Tual deles .ocA considera mais !ortante[ 'e sY !ud2ssemos im!lementar um delesE Mual .ocA escol ria[] Presumindo Mue o 'istema X ten"a alguns /enefXcios concreto ele associadosE isso de.e dar?l"e !elo menos um modo grosseiro determinar o .alor a!roWimado do no.o sistema1 8as !rYWimas se faremos a diferenciao entre os /enefXcios tticos e os /enefXcios esi t2gicos oferecidos !elo no.o sistema1 8este conteWtoE um /eneficio co 2 o Mue !ermite Mue a organi&ao continue eWecutando a mes ati.idade comercialE mas a um custo mais /aiWo Fou com lucros maion um /enefXcio estrat2gico 2 o Mue !ossi/ilita Mue a organi&ao inicie ti!o inteiramente no.o de ati.idade ou inicie ati.idades em uma rn rea ou com no.os clientes1 C1@19 Beneficios Tticos $s /enefXcios tticos esto muitas .e&es relacionados a redui do !essoal /urocrata ou administrati.oV em/ora isso no !area m3s !ara os ou.idos dos usurios /urocratasE 2 sem d3.ida um fato da .i 7m no.o sistema de informa0es !ode !ossi/ilitar Mue uma funo s eWecutada com a metade do n3mero de usurios e at2 menos Mue is Isso geralmente 2 moti.ado !elo fato de Mue os usurios esto !resen mente eWecutando clculos ou registros de dados Z moE Muando i !oderia ser com!utadori&adoV ou so forados a eWecutar as mesn ati.idades Fou registrar os mesmos dadosO m3lti!las .e&esE Muando i !oderia ser feito !elo com!utador dc uma sY .e&V ou eles des!end um tem!o consider.el na recu!erao de dadosE o Mue !oderia ser fc ra!idamente !or um com!utador1 Em/ora isso seLa um e.idente /eneficio do no.o sistemaE cui em no su!erestimar o efeito1 Em alguns casosE !ode "a.er menos e nomia do Mue foi estimadoV as leis e a nature&a !aternal dos nX.eis termedirios de c"efia da organi&ao usuria !odem im!edir M alguns daMueles usurios /urocratas seLam des!edidos1 EE igualmei <@J im!ortanteE .ocA de.e com!reender Mue os nX.eis mais graduados de direo esto cada .e& menos im!ressionados !ela economia de um ou dois funcionriosV eles esto interessados em maiores e mel"ores /enefcios !ro.enientes da introduo de um no.o sistema1 7ma forma de /enefXcio ttico ligeiramente mais interessante 2 a economia ad.inda da ca!acidade de !rocessar as transa0es da em!resa com maior ra!ide&1 $ tem!o de retorno mais .elo& Fou a ca!acidade de mani!ular mais transa0es !or segundoO no somente !ro!orciona a o!ortunidade de redu&ir os custos com funcionrios como condu& a um mel"or fluWo de caiWa !ara a organi&ao Fisto 2E con.ertendo os !edi dos dos clientes em din"eiro mais ra!idamenteE acelerando o tem!o de entrega dos !edidos etc1O1 $ Mue se tem a fa&er 2 Muantificar e eW!ressar isso em din"eiro1 MasE !ara eWem!lificarE considere o seguinte dilogo entre o analista de sistemas e o usurio> Analista> Tuantos !edidos .ocA !rocessa !or dia[ 7surio> BemE !rocessamos 9H1HHH !edidos !or dia1 MasE sem!re " alguns atrasados ? de modo MueE em m2diaE um !e dido le.a cerca de uma semana !ara ser !rocessado e remetido1 Analista> E a fatura 2 en.iada !ara o cliente Luntamente com seu !edidoE certo[ AssimE o cliente no tem Mue !ag?la antes de rece/er o !edidoE no 2[ 7surio> Isso mesmo1 Analista> EntoE se !udermos redu&ir o tem!o de !rocessamento de um !edido de cinco dias !ara a!enas umE !H? derXamos rece/er o !agamento do cliente Muatro dias mais cedoE em m2dia1 E se o !edido m2dio gira em torno de q9HHH e nYs !rocessarmos 9H1HHH !edidos !or diaE significa Mue estaremos lidando com cerca de q9H mil"0es ao dia1 A !osse de q9H mil"0es Muatro dias mais cedo do Mue antesE !ara os !edidos de cada diaE .aleria 7m sistema no.o tam/2m !ode !ro!orcionar economia em reta o ao eMui!amento com!utacionalV o sistema antigo !ode estar sendo !rocessado em um dis!endioso com!utador de grande !orteE enMuanto o no.o sistema 2 eWecutado em um !eMueno PC na mesa do usurio1 Essa mudana no somente diminui os custos do "ard4are de !roces samentoE como tam/2m economi&a din"eiro na rea dos custos das <@I acomoda0esE dos o!eradoresE e coisas semel"antes1 EE se o no.o s tema redu&ir o .olume de !a!2is e formulrios im!ressosE isso tam/2 de.er refletir?se como economia1 Assegure?se de Mue seus clculos c teLam com!letos neste as!ectoV lem/re?se de Mue sero necessri menos armrios !ara arMui.amento de documentosE menores escritYrir menos mMuinas de escre.er eE tal.e&E menos c"amadas telefNnicas e tre sua em!resa e os clientesE e assim !or diante1 $s custos de manuteno do no.o sistema tam/2m de.em !ro!c cionar um /eneficioE como .imos na seo anterior1 As des!esas manuteno do "ard4are de.em redu&ir?se Fa menos Mue o no.o sist ma seLa !rocessado no mesmo eMui!amento instalado na organi&aoOE os custos da manuteno de soft4are sero !resumi.elmente menor Mue os do sistema atual1 C1@1: Beneficios Estrat2gicos do 8o.o 'istema Em muitos casosE os /eneficios de um sistema Mue realmente tA interesse e im!ortPncia so os estral2gicas ? no somente a o!ortunid de de economi&ar uns !oucos funcionrios ou algumas fol"as de !a! mas a ca!acidade de a organi&ao fa&er coisas Mue no seriam !ossX4 com o sistema atual1 EWistem di.ersos eWem!los de /enefXcios estrat2l cos em !otencial> j -ocali&ar ou atrair no.os clientes Mue a organi&aoE de out modoE no seria ca!a& de locali&ar1 j Penetrar em no.os mercados ou oferecer no.os !rodutos Mi no esta.am dis!onX.eis anteriormente1 j $/terE re!rodu&ir ou distri/uir con"ecimentos e "a/ilidad Mue antes eram eWclusi.os de um ou dois funcionrios em!resa1 Em uma economia to com!etiti.a como !arece ser a nossaE u sistema de informa0es Mue !ossa atrair no.os clientes ou Mue !os e.itar a !erda dos clientes atuais !ara os concorrentes 2 realmente .ali so1 Em alguns casosE isso !ode ser !ossX.el !orMue o no.o sistema ofer ce fun0es Mue no esta.am dis!onX.eis antesV em outros casosE !ode s conseMaAncia da ca!acidade do sistema em identificar !ossX.eis no. clientes Mue a em!resa descon"ecia anteriormente1 TualMuer Mue seLa situaoE .ocA de.e tentar Muantificar esse /enefXcio em termos aumento de clientes ou do aumento da !artici!ao no mercado eE !artir daXE em termos de receita e lucros1 <@< 7ma forma mais difXcil de /eneficio estrat2gico 2 a ca!acidade do no.o sistema em fornecer informa0es no dis!onX.eis anteriormente1 $ eWem!lo tX!ico disso 2 a ca!acidade do sistema em identificar tendAn cias e !adr0es FeW1> tendAncias de .endas !or territYrio ou !or 2!oca ou a !referAncia dos clientes !or diferentes !rodutosO1 Isso 2 !ossX.el em Muase todos os sistemas automati&ados Mue su/stituem um sistema ma nualV e normalmente eWiste a o!ortunidade !ara MualMuer ti!o de siste ma on?line ou de tem!o? real de a!resentar essas tendAncias de uma forma mais o!ortuna do Mue seria !ossX.el com um sistema na modali dade /atc"1 De modo anlogoE um sistema com a!tid0es grficas !ode fornecer informa0es de uma forma mais eficiente do Mue um sistema atual Mue !rodu& informa0es em formato ta/ular ou em relatYrios num2ricos1 E um sistema ela/orado com uma linguagem de !rograma o de Muarta gerao e um moderno sistema de gerenciamento de /anco de dados !ode !ossi/ilitar a leitura de todo o /anco de dados com essa finalidade1 7ma forma relati.amente no.a de /eneficio tornada !ossX.el !elos sistemas es!ecialistas comerciais 2 o enca!sulamento de con"ecimentos Mue anteriormente eram eWclusi.os de uma ou duas !essoas1 Esse con"e cimento 2 normalmente .oltado !ara a!recia0esE diagnYsticos ou a.a lia0esE e o !erito "umano Mue !ossua essas a!tid0es 2 "a/itualmente considerado um .alioso /em !ara a em!resaV dessa maneiraE a ca!acida de do no.o sistema em simular essas a!tid0es 2 um /eneficio cuLo .alor de.e !oder ser calculado1 o !ro!oro Mue as t2cnicas de inteligAncia artificial continuarem a crescerE !oderemos identificar como /eneficio a ca!acidade do sistema em dfsseminar o con"ecimento originalmente !ertencente a somente um ou dois !eritos "umanos da em!resa1 AssimE um !erito "umano da em!resa !ode ter algumas normas de Lulgamento Mue ele utili&a !ara diagnosticar as !ro..eis causas das fal"as de algum sistema mecPnico Fuma !lataforma de eWtrao de !etrYleoE !or eWem!loO1 E.identementeE seria estrategicamente /en2fico o/ter o con"ecimento daMuele !erito "u mano e simul?lo !ara utili&ao !or outras !essoasV mas a ca!acidade de estender essa !erXcia e aumentar a a!tido de diagnosticar !ara lidar com fal"as do sistema !ode ser de uma ordem de grande&a mais .aliosa1 C1J C$M$ EXP*E''A* $' C7'T$' E BE8EFcCI$' D$ 'I'TEMA 'e todas as des!esas e todos os /enefXcios do sistema ocorressem de forma instantPneaE seria relati.amente sim!les re!resentar o .alor do sistema como sendo a diferena entre os /enefXcios e os custos1 Por2mE como L dissemosE os custos "a/itualmente ocorrem !or um !erXodo de <@K anosV e ainda Mue uma des!esa realmente acontea em um determinad momento Fa com!ra de um eMui!amentoE !or eWem!loOE as normas d conta/ili&ao da em!resa !odem desdo/r?la em um !erXodo de .rio anos1 Assim sendoE .ocA tal.e& ten"a de demonstrar os custos e os /ene ficios do no.o sistema !ro!osto ao longo de um determinado !erXodo d tem!o1 EWistem Muatro m2todos con"ecidos !ara i''$> j FluWo de caiWa j *etornos de in.estimentos F*DIO j TaWa interna de retorno FTI*O j Qalor atual lXMuido FQA-O EWaminaremos cada um deles a seguir1 C1J19 Flu Tuer o seu sistema a!resente ou no um e.entual lucro F/ene fXcios Mue eWcedam os custosOE a direo !oder Muerer sa/er Muant !recisar ser in.estido !ara Mue se !ossa es!erar um fluWo de caiWV !ositi.oV e.identementeE eles estaro mais interessados nisso em rela aos grandes !roLetos do Mue em relao aos !eMuenos1 $/ser.e Mue fluWo de caiWa do !roLeto !ode ser inteiramente diferente da informa oficialmente di.ulgada como lucros e !erdas da em!resa1 Por eWem!lo a eMui!e do !roLeto !ode ser res!ons.el !or uma des!esa de q9HH1HHF em salrios durante um esforo de um ano em desen.ol.imento d sistemasV mas as leis dos im!ostos !odem !ermitir Mue esse custo seLV de!reciado Fou amorti&adoO !or um !erXodo deE digamosE I anos1 Assim a organi&ao !ode relatar custos dc a!enas q:H1HHH em seus !agamen tos de im!ostos do anoE mas os q9HH1HHH em din"eiro L se foram1 D forma semel"anteE os /enefXcios do no.o sistema !odem !arecer to talmente diferentes do !onto de .ista de fluWo dc caiWa em relao a !onto de .ista dos lucros e !erdas informados ao Internal *e.en4 'er.ice1 8a maioria dos casosE 2 con.eniente a!resentar tantu o fluWo d caiWa anual omo o agregado1 'ua anlise de custoG/enefXcio !ode !ro du&irE !ara a direoE uma ta/ela como esta> <@D ProLe0es ProLeto X FluWo dc CaiWa Ano 9 Ano : Ano @ Ano J T$TA- Economias de CaiWa $ 9H1HHH IH1HHH 9HH1HHH 9<H1HHH Des!esas de CaiWa IH1HHH @H1HHH :H1HHH 9H1HHH 99H1HHH CaiWa -XMuida ?IH1HHH ?:H1HHH @H1HHH CH1HHH IH1HHH CaiWa Agregada ?IH1HHH ?KH1HHH ?JH1HHH IH1HHH IH1HHH C1J1: *etornos de In.estimentos $utra maneira de a.aliar os custos e /enefXcios do sistema 2 calcu lar o retorno de in.estimento1 'u!on"aE !or eWem!loE Mue .ocA ten"a in.estido q99H1HHH em a0es ou em imY.eis e Mue !ossa re.endA?los !or q9<H1HHH Fo/ser.e Mue so os mesmos .alores usados no eWem!lo do fluWo de caiWaO1 Isso significaria Mue .ocA lucrou qIH1HHH em um in.esti mento de q99H1HHHV em termos !erccntuaisE isso re!resentaria um retor no de in.estimento de JIf1 Isso soa mel"or do Mue in.estir cm !ou!ana` MasE es!ereV no eWem!lo acimaE o lucro no ocorreu ao final do !rimeiro anoV na .erda deE le.ou J anos1 AssimE isso fa& com Mue o retorno do in.estimento esteLa em torno de 99f ao ano1 Mesmo isso !ode condu&ir a conclus0es erradasE !orMue no foi considerado o .alor atual do din/eiro futuro1 Isso 2 discutido a seguir1 C1J1@ Qalor Atual -XMuido 'e algu2m l"e desse q9HH "oLeE .ocA sa/eria o .alor desse din"eiro> .ocA teria uma /oa noo de Muanto .ocA !oderia com!rar com essa im!ortPncia1 Mas Muanto .alem q9HH se .ocA sou/er Mue sY os ter daMui a um ano[ Isso 2 con"ecido como o .alor atual ou o .alor descontado1 $ .alor atual da Muantia Mue .ocA rece/er no futuro 2 definido como a im!ortPncia Mue .ocA teria de in.estir "oLeE Z taWa de Luros .igentesE !ara atingrr o montante es!ecificado1 Desse modoE o .alor atual de q9HH do !rYWimo ano 2 a!roWimadamente qCIE:J Z taWa de Luros de If1 GeralmenteE Muando Mueremos calcular o .alor atual de alguma Muantia FMue c"amaremos de FOE daMui a n anosE usamos a seguinte fYrmula> PsFGF9 ti6 <@C onde i 2 a taWa de Luros1 AssimE no eWem!lo acimaE o .alor atual do /enefXcios !ode ser calculado da seguinte forma Fadmitindo?se a taWa d Luros de IfO> Clculos ProLeto X Qalor Atual Ano 9 Ano : Ano @ Ano J T$TA Economias de CaiWa $ 9H1HHH IH1HHH 9HH1HHH 9<H1HH Qalor Atual $ C1HKH J@19C: D:1:KH 9@J1I@ Como !ode?se .erE isso torna os retornos financeiros do !roLet /em menos im!ressi.osE mas 2 muito mais realista1 Para ser ainda mai realistaE !recisamos entender Mue os custos futuros !recisam sofrer des contos anlogos aos dos /enefXcios futuros1 Assim como um /enefXcio d q9H1HHH no final do segundo ano .ale "oLe a!enas qC1HKHE um custo d q9H1HHH Mue ocorrer no final do segundo ano re!resenta um custo atua de a!enas qC1HKH1 Isso le.a Z definio do .alor atual lXMuido de um !roLeto> a dife rcna entre o .alor atual dos /enefXcios e o .alor atual dos custos1 Para nossa amostra de !roLetoE isso condu&iria aos seguintes clculos> Clculos ProLeto X Qalor Atual -XMuido Anol Ano: Ano@ AnoJ T$TAl Economias de CaiWa $ 9H1HHH IH1HHH 9HH1HHH 9<H1HHF Qalor Atual dos BenefXcios $ C1HKH J@19C: D:1:KH 9@J1I@ Des!esas de CaiWa IH1HHH @HHHH :H1HHH 9H1HHH 99H1HHF Qalor Atual dos Custos JK1<9C :K1:99 9K1:KK D1::K 9$H1@@ Qalor Atual -XMuido Acumulado ?JK1<9C ?<I1K<H ?@C1DJI @J19CD @J19C% AssimE o .alor atual lXMuido do sistema ? o .alor de "oLe do /ene fXcio Mue es!eramos o/ter do sistema ao final de J anos ? 2 q@J19CD1 <JH C1J1J TaWa Interna de *etorno A taWa interna de retorno 2 anloga Z taWa !ercentual Mue os /an cosE os fundos de in.estimento e outras institui0es financeiras anunciam relati.amente a suas contas de !ou!ana e outras modalidades de in .estimento1 A taWa interna de retorno FTI*O 2 definida como a taWa de Luros Mue seria necessria !ara gerar as economias de caiWa a cada ano Fisto 2E os /enefXcios do sistemaE Mue L identificamosO dado um in.esti mento igual Zs des!esas de caiWa Mue identificamos1 8o eWem!lo acimaE imagine Mue ti.2ssemos in.estido um total de q99H1HHH em uma conta de !ou!ana "i!ot2tica !or um !erXodo de J anos1 A Muesto 2> Mual a taWa de Luros Mue de.eria ser usada !ara Mue !ud2ssemos ter direito a uma retirada de q9<H1HHH no final do Muarto anoE sem Mue fosse deiWado din"eiro no _/anco] no final[ Com!arando isso com a \!rime rate] e com .rias outras taWas de in.estimentoE a direo !ode .erificar se o no.o sistema 2 realmente um /om in.estimento1 'u!on"a Mue descre.amos os futuros /enefXcios a serem o/tidos ao final dos anos 9E :E 111 8 como BIE B:E 111 BnV su!on"a ainda Mue os custos futuros seLam descritos como C C:E 111 Cn1 EntoE a seguinte fYrmula !olinomial de.e ser resol.ida !ara encontrar?se a taWa de Luros i> C9GF9 tiOtC:GF9 tiO 1 1 tCnLF9 tLO8sB9GF9 tiOtB:GF9 tiO 11tBnIF9 ~iO8 Essa no 2 uma fYrmula Mue !ossa ser facilmente resol.ida nas costas de um guardana!o ou mesmo com uma sim!les calculadora de Muatro fun0es1 ContudoE !ode?se o/ter calculadoras com fun0es de TI* FI**O em/utidasV al2m dissoE eWistem !rogramas de em!rego es!e cial !ara utili&ao em PC e em com!utadores de grande !orte !ara es se ti!o de anlise financeira1 'e .ocA no dis!user !rontamente dessas ferramentasE solicite auWXlio do setor de finanas ou de conta/ilidade1 C1I A8+7'E DE *I'C$' Como !arte dos clculos de custoG/enefXcioE .ocA de.e estar !re !arado !ara eWecutar uma anlise de riscos !ara o no.o sistemaV .ocA de.e !re!ar?la mesmo Mue a direo no a solicite1 $ moti.o !ara isso 2 MuA no !odemos !redi&erE com a/soluta certe&aE Mue o/teremos os /enefXcios estimados ou Mue ocorrero os custos !re.istos1 As coisas !odem re.elar?se mel"ores do Mue a estimati.aV o Mue causa maior !reo cu!ao 2 o fato de elas !oderem ser muito !iores1 A direo normalmente deseLar sa/er Muais sero as conseMaAn cias se as coisas no correrem /em durante o !roLetoV e deseLaro sa/er o Mue !oder no ir /em1 Es!ecificamenteE deseLaro sa/er as condi0es <J9 so/ as Muais os custos estimados !odero ser significati.amente maiore e so/ Muais condi0es os /eneffcios !odero ser significati.amente infe riores ao es!erado1 Como !odem os custos ser su!eriores Z sua estimati.a[ AMui esti algumas !ossi/ilidadesV ca/e a .ocA identificar os riscos es!ecXficos di seu !rY!rio !roLeto> j $ fornecedor do "ard4are !ode entrar em falAncia1 j A eMui!e do !roLeto !ode sofrer muitas su/stitui0esE doenas outros !ro/lemas1 j A tecnologia utili&ada no !roLeto !ode no funcionar conform foi anunciadaE !rinci!almente se ela for uma no.a tecnoIogi Mue nunca foi usada antes1 j A o!ortunidade !ode ser !erdidaV !or eWem!loE o sistema !odi no estar !ronto !ara ser instalado at2 : de LaneiroE e as norma go.ernamentais !odem im!edir Mue o sistema seLa realmenu instalado at2 o 9 de Laneiro seguinte1 j Pro/lemas doutrinrios ou contratuais !odem surgir de uni0es contratantes eWternos e outros1 j A eMui!e do !roLeto !ode no ter o necessrio con"ecimento d a!licao ou !ode ter outras deficiAncias Ftreinamento inade Muado e !ouca eW!eriAnciaO Mue condu&am a uma !rodu ti.idade inferior Zs eW!ectati.as1 j 8egYcios confusos ou circunstPncias econNmicas !odem forai o cancelamento do !roLeto1 j Di.ersos custos ocultos !odem originar?seE !or eWem!loE d uma so/recarga adicional de !a!2is Mue no eram necessrio no sistema anterior1 $s /eneficios estimadosE de forma anlogaE !odem no se materia li&ar1 Eis alguns !ossX.eis moti.os> j $s usurios o!erati.os !odem ac"ar mais dificil do Mue es!era .am a utili&ao do no.o sistemaE le.ando a demoras e solu0es de continuidade Fisso 2 es!ecialmente im!ortante se os /ene ficios do sistema foram atri/uXdos a maior !roduti.idade do usuriosO1 <J: j Mel"oras es!eradas na !artici!ao no mercado !odem no ocorrer1 $ sistema !ode no originar mais clientesE mais !edi dosE mais negYcios ou maiores receitas1 j $ sistema !ode no a!resentar o com!ortamento !re.istoV !or eWem!loE ele !ode no !rocessar tantas transa0es !or segundo como era de se es!erar1 j $ .alor das no.as informa0es tornadas dis!onX.eis !elo sis tema !ode no ter nen"um /eneficio concreto1 Para lidar com esses riscosE 2 muitas .e&es uma /oa soluo com !arar um !ior casoE um mel"or caso e um caso es!erado1 Tuanto mais !recisa e realista for a maneira !ela Mual isto for feitoE mel"orV no adianta enganar .ocA mesmo e a direo com !ressu!osi0es desneces sariamente otimistas so/re custos e /eneficios1 De forma semel"anteE em/ora ningu2m es!ere Mue ocorra a situao do !ior casoE 2 im!ortan te !ara a direo sa/er Muo mal as coisas !odem ir1 7ma nota final so/re anlise de riscos> a direo muitas .e&es esta r a !ar de mais riscos do Mue .ocA FeW1> uma !otencial fuso entre sua com!an"ia e uma outra em!resa Mue tornar in3til o sistemaO1 Eles !odem a.aliar esses riscosE e muitas .e&es nada l"e diro so/re elesV eles !recisam Mue .ocA a.alie os riscos t2cnicos do !roLeto1 8$TA' 9 Isso 2 es!ecialmente .lido !ara algumas ind3strias altamente com!etiti.asE onde no.os sistemas de !rocessamento de dados so desen.ol.idos !ara oferecer no.os ti!os de ser.ios ao mercado FeW1> no.os sistemas /ancriosE de cart0es de cr2dito e de \!as sageiro assXduo] de lin"as a2reas1 Desse modoE seu usurio tal.e& no !ossa LustificarE Muanto ao custoE esse no.o sistema !or seus !rY!rios m2ritosE mas !ode sa/er Mue ele ou ela de.e desen.ol.er o sistema !ara manter?se com!etiti.o1 : Como analista de sistemas sAniorE .ocA de.e sa/er disso !erfei tamente1 MasE !ara um analista de sistemas L3niorE tra&ido !ara o !roLeto de!ois deste L estar em andamento a seis mesesE isso !ode no ser to e.idente1 A essa alturaE o !roLeto L tem .ida !rY!ria e lutar !or sua eWistAncia inde!endentemente do usurio e de Mual? Muer !rocesso racional de tomada de deciso1 @ Isso Zs .e&es !ode ser redu&ido se a sua em!resa dis!user de eWtensi.os recursos eletrNnicos de comunica0es ou de outras for mas de sistemas de comunicao al2m do telefone1 <J@ EWiste um custo oculto Mue .ocA no de.e esMuecer> durante con.erso do /anco de dados antigo !ara o no.oE 2 ine.it.el desco/erta de erros1 Isso 2 es!ecialmente .lidoE como se !od imaginarE se o /anco de dados eWistente for manual e as entrada ti.erem sido feitas manualmenteV .ocA encontrar dados ausente incom!letosE e dados e.identemente incorretos1 Tuanto mais ant gos forem esses dadosE mais erros !ro.a.elmente sero encontn dos1 Al2m dissoE o !rY!rio !rocesso de con.erso !ode ser suLeit a errosE !rinci!almente se for um !rocesso manual1 AssimE !ro.a .elmente "a.er um custo relacionado Z correo de dados1 'eri !ossi.elmente uma /oa id2ia o/ter uma amostra aleatYria do /ar co de dados eWistente !ara conseguir uma estimati.a do n3mero d erros Mue sero encontrados eE em seguidaE estimar o custo d correo desses erros Fna maioria dos casosE as corre0es tero d ser feitas manualmenteO1 I Para clculos detal"ados dessas economiasE leia ProEramminEg Prc ductt.it#E de Ca!ers Rones F8o.a lorMue> McGra4?,illE 9CDIO1 < Isso naturalmente !resume Mue algu2m em sua em!resa control esse ti!o de coisas1 7m le.antamento em cerca de IHH instala0e americanas de !rocessamento de dadosE le.ado a efeito !or -ient e '4anson em 9CDHE indica Mue a!roWimadamente IHf das eni !resas no controla.am as fal"as de o!erao de seus sistema leia 'oft4are Maintenance ManagementE de -ient& e '4ansor *eadingE Mass1> Addison?5esle#E 9CDH1 <JJ D CAMI8,AME8T$' F5A-KT,*$7G,'O E I8'PE(rE' D19 I8T*$D7()$ Este a!Andice a!resenta uma r!ida .iso geral de uma t2cnica con"ecida como camin"amento1 QocA !oder consider?la 3til !ara condu&ir .erifica0es das es!ecifica0es desen.ol.idas durante um !roLeto de anlise de sistemas1 EntretantoE !ara utili&ar esse conceitoE .ocA !recisar sa/er o Mue 2 um camin"amentoE !ara Mue ser.eE Muais so os seus !artici!antes e Muais so seus !rocedimentos1 De!ois de ler este a!AndiceE .ocA !ode !recisar de mais informa 0es1 Duas !ossX.eis fontes de consulta so 'tructured 5al%t"roug"sE @= ed1E de Ed4ard 6ourdon F8o.a lorMue> 6$7*D$8 PressE 9CDIO e Tec"nical Ins!ections and *e.ie4sE de Daniel Freedman e Gerald 5ein/erg FBoston> -ittleE Bro4nE 9CKKO1 D1: $T7E ^ 7M CAMI8IIAME8T$[ De acordo com a utili&ao do termo na ind3stria de desen.ol.i mento de sistemasE 2 uma re.iso coleti.a de MualMuer !roduto t2cnico1 Isso significa Mue a re.iso en.ol.e outros analistas de sistemas Mue es teLam tra/al"ando com .ocAE /em como usuriosE !rogramadoresE !roLetistas de sistemasE !essoal de o!era0es e outros Mue !ossam estar en.ol.idos em di.ersos as!ectos do !roLeto em Mue .ocA est tra/al"an do1 Mas um camin"amentoE so/ condi0es normaisE no inclui seu c"e feE ou a c"efia do de!artamentoE ou o .ice?!residente da organi&ao usuria1 ^ claro Mue essas eminentes !essoas deseLaro -er uma o!ortuni dade de re.er di.ersos as!ectos do !roLetoE incluindo as es!ecifica0es em Mue .ocA esti.er tra/al"ando1 Mas eles normalmente esto menos en.ol.idos nos detal"es t2cnicos do Mue .ocA !ensaE e !odem no ser <JI ca!a&es de oferecer MualMuer sugesto detal"ada1 E os interesses s "a/itualmente um fator nessas re.is0es de alta !otAncia1 Isso no Mu di&er Mue tais re.is0es seLam ruins ou Mue seLam irrele.antesE sigriific a!enas Mue so diferentes dos camin"amentos tratados neste a!Andia $ !erigo de admitir mem/ros da direo em uma re.iso de eWarn coleti.a 2 Mue geralmente introdu&em?se os interesses !olXticosE eGou camin"amento tornar?se? uma a.aliao do desem!en"o de uma !e soaE ao in.2s de uma re.iso t2cnica de um !mduto1 $/ser.e Mue !ode "a.er muitos ti!os diferentes de camin"amer tos em um !roLeto comum> j Camin"amentos de anlise j Camin"amentos de !roLeto j Camin"amentos de cYdigo j Camin"amentos de testes Como o tema deste li.ro 2 a anlise de sistemasE focali&aremos c camin"amentos de anlise1 Em termos !rticosE isso significa Mue ur gru!o de analistas de sistemasE Luntamente com outras !artes interess dasE re3ne?se !ara re.er diagramas de fluWo de dadosE diagramas d entidades?relacionamentosE diagramas de transi0es de estadoE itens d dicionrio de dados e es!ecifica0es de !rocessosE isto 2E todos os !r dutos t2cnicos desen.ol.idos !elo analista de sistema1 D1@ P$* T7E FAgE* CAMI8TIAME8T$'[ $ !rinci!al moti.o de reali&ar?se um camin"amento 2 locali&a erros to r!ida e economicamente Muanto !ossX.el1 Como L menciona mos anteriormenteE 2 normalmente muito mais /arato desco/rir e elim nar erros to cedo Muanto !ossX.elE cm .e& dc es!erar at2 Mue um !rodi1 to esteLa !ronto e remetido !ara a eta!a seguinte de desen.ol.imento1 EWistem outros meios de desco/rir erros al2m dos camin"amento a !essoa Mue ela/orou o !roduto FeW1> um DFDO !ode re.is?lo e tenta desco/rir seus !rY!rios erros1 Mas o senso comum e muitos anos d eW!eriAncia na rea do !rocessamento de dados indicam Mue esse 2 urr modo muitas .e&es antteconNmtco de (aK1eT as co P !essoas m .e&esso inca!a&es de !erce/er seus !rY!rios errosE no im!ortando !rofundidade com Mue eWaminem seus !rY!rios tra/al"os1 Isso .ale !ar algu2m Mue esteLa lendo um documr rto em /usca de erros ti!ogrficc ou Mue esteLa lendo um !rograma de com!utador Z !rocura de _/ugs <J< ou eWaminando um DFD em /usca de erros1 7m gru!o de !erscrutado res entendidos e interessados no assunto !ode muitas .e&es encontrar erros com ra!ide& muito maior1 $utro meio de encontrar erros 2 usar uma estao de tra/al"o de analista do ti!o discutido no a!Andice AV isso 2 grosseiramente anlogo a usar um com!ilador !ara encontrar erros sintticos em um !rogramaE ao in.2s de eWaminar .isualmente a listagem do !rograma1 'e .ocA dis!user de uma estao de tra/al"o de analistaE no deiWe de us? la !ara identi ficar todos os erros de sintaWe Mue ela for ca!a& de desco/rir1 Por2mE assim como um com!ilador no desco/re todos os erros de um !rogra ma F!1eW1> ele no locali&a erros em tem!o de eWecuo nem erros lYgi cosE !orMue ele eWecuta uma anlise esttica ao in.2s de uma anlise dinPmica do !rogramaOE uma estao de tra/al"o de analista no conse gue encontrar todos os erros de um conLunto de modelos de es!ecifica 0es1 $ camin"amento ainda constitui?se em um 3til com!lemento a MuaisMuer ferramentas Mue esteLam dis!onX.eis1 8a .erdadeE uma das coisas Mue a estao de tra/al"o 2 inca!a& de fa&er 2 a anlise do estilo dos !rodutosE Mue 2 algo Mue as !essoas so altamente Mualificadas !ara fa&er1 Dessa formaE ao eWaminarem um DFDE os re.isores "umanos !odem fa&er !erguntas como> j EWistem /ol"as em demasia no diagrama[ j $s nomes dos !rocessos so significati.os[ j $s diagramas foram desen"ados de forma esteticamente agrad .el[ ^ !ro..el Mue o usurio eWaminar realmente o diagrama ou ficar confuso[ j $s fluWos de dados foram agru!ados de modo significati.o entre um nX.el e outro[ j As ati.idades elementares foram agru!adas de um modo inteli gente !ara com!or /ol"as de nX.el mais ele.ado[ Al2m dissoE eWistem outros /enefXcios Mue as organi&a0es costumam desco/rir na t2cnica do camin"amento> treinamento e segur 7m !rocesso de re.iso coleti.o 2 um eWcelente .eXculo !ara ensinar os mem/ros no.os da eMui!e do !roLeto Fe tam/2m aos mem/ros antigos e desgastados da eMui!e`O os detal"es relati.os Z a!licaoE Z anlise de sistemas ou os detal"es da notao de diagramas de fluWo de dados1 E como todos os com!onentes do gru!o de re.iso tornam?se um tanto familiari&ados com o !roduto Fe muitas .e&es intimamente familiari&ados com eleOE o camin"amento con.erte?se em <JK uma Muesto de segurana contra o ines!eradoE o eWtem!orPneo afa tamento do !rodutor da eMui!e do !roLetoV algu2m de.e ser ca!a& encarregar?se do tra/al"o feito !elo !rodutor e dar?l"e continuidade1 $ grande !erigo de tudo isso 2 Mue o !rodutor !ode no concc dar com os /enefcios e considerar todo o !rocesso de camin"ameni como uma in.aso de sua !ri.acidade1 'e o !rodutor considerar os DF como sendo de sua !ro!riedade Fem .e& de um /em comumOE ento e e ressentir?se de ter de mostr?los a outrem1 'e sua id2ia de estilo d ferir muito da dos eWaminadoresE !odero ocorrer .iolentas discuss0 no camin"amento1 E se o !rodutor for contrrio Z id2ia de treinamento seguranaE ele !ode muito /em reLeitar a id2ia de um camin"amento1 Em geralE os camin"amentos so reali&ados em locais em Mue id2ia de eMui!e L est aceita e consagradaV em um !roLeto tX!icoE sign fica Mue cada com!onente de.e com!reender Mue uma fal"a ou err s2rio em seu tra/al"o !ode com!rometer o sucesso de todo o !roLetoE Mue Muer di&er Mue a !ossi/ilidade de erros em seu tra/al"o 2 urr legXtima !reocu!ao dos demais com!onentes da eMui!e1 Para maiorc detal"es so/re o conceito de eMui!esE es!ecialmente as assim c"amad \eMui!es no?egocAntricas]E leia a clssica o/ra de Gerald 5ein/erg fl Ps#c/olog# of Com!uter Programming F8o.a RorMue> Qan 8ostran *en"oldE 9CK9O1 D1J T7A8D$ $ CAMI8,AME8T$ DEQE 'E* *EA-IgAD$ 7m camin"amento de.e ocorrer em .irtualmente MualMuer !ont do desen.ol.imento de um !roduto t2cnico ? do momento em Mue el re!resenta um /ril"o n0s ol"os do !rodutorE ao !onto em Mue o !rc dutor esteLa a/solutamente con.encido de Mue o !roduto est terminad e !ronto !ara ser entregue ao cliente Fou ao estgio seguinte do !rc cesso de desen.ol.imentoO1 Geralmente 2 !referX.el fa&er um cami n"amento to cedo Muanto !ossX.elE mas no to !rematuramente Mue !roduto ainda esteLa incom!leto e c"eio de erros tri.iais Mue o autor !c deria ter eliminado1 Qamos utili&ar o eWem!lo de um diagrama de fluWo de dados !ar ilustrar esse detal"e1 $ !rodutor normalmente far di.ersas itera0es d F9O discutir a !arte im!ortante do sistema com o usurioV F:O .isuali&a mentalmente um DFDV F@O es/oar di.ersas .ers0es incom!letas do DF em guardana!os de !a!el e no .erso de en.elo!esV FJO es/oar um> .erso relati.amente lim!a do DFD em uma fol"a de !a!el em /ranco FIO introdu&ir os detal"es do DFD em uma estao automati&ada d analista do ti!o discutido no a!Andice AV F<O condu&ir MuaisMuer o!era 0es de .erificao de erros Mue esteLam dis!onX.eis no !roduto d <JD estao !ara eliminar erros de sintaWeV FKO im!rimir uma .erso final do DFD em um !lotadora ou em uma im!ressora laser e FDO entregar o DFD ao c"efe com o triunfante an3ncio de Mue a tarefa terminou antes do !ra&o1 8este casoE 2 cedo demais !ara reali&ar?se um significati.o cami n"amento nos estgios F9OE F:O ou F@OV o camin"amento !oder ser rea li&ado efica&mente nos estgios FJOE FIO ou F<O1 $s estgios FKO e FDO so muito tardios1 $ momento eWato de se reali&ar o camin"amento de!ende do su!orte automati&ado dis!onX.elE de Muo ra!idamente ele !ode tor nar?se dis!onX.el Fisto 2E o analista ter de es!erar Muatro dias !ara ter acesso Z estao de tra/al"oE Mue 2 com!artil"ada !or :K outros analis tas[OE e Muanto custa a utili&ao do su!orte automati&ado1 $ !rinci!al moti.o de e.itar?se um camin"amento em um estgio tardio 2 Mue o !rodutor ter in.estido tanto do seu ego no !roduto Mue normalmente relutar em efetuar MualMuer modificaoE al2m das corre 0es dos erros maiores Fe as .e&es nem mesmo esses`O1 AssimE o !ro dutor !ode ter des!erdiado dcsnecessariamcnte um /om tem!o eli minando erros de seu !rodutoE Muando a eMui!e de re.iso !oderia fa&A lo muito mais r!ida e economicamente se ti.esse eWaminado o !roduto em um momento anterior1 EE !ara terminarE de.emos lem/rar a !sicologia dos !rY!rios re.i sores> eles des!endem seu !rY!rio tem!o !artici!ando da locali&ao dos erros de outremE e ressentir?se?o dissoE no im!orta o Muanto sua eMui!e !ossa ser no?egocAntrica como eles !ro!alam1 Considerando esse sentimentoE no de.e ser mostrado aos re.isores um !roduto mal feito e incom!letoV mas tam/2m no l"es de.e ser a!resentado um !ro duto terminado imut.el e !erfeito1 'e .ocA .ai gastar uma "ora do seu tem!o re.isando o DFD do seu colegaE 2 agrad.el sa/er Mue .ocA fe& algo de 3til ao encontrar um erro Mue o !rY!rio !rodutor no .iu1 'eE !or outro ladoE .ocA gastar uma "ora eWaminando um !roduto sem encontrar nada !ara criticarE eWiste uma natural tendAncia "umana !ara encarar esse esforo como algo semel"ante a um des!erdXcio de tem!o e !ara Mue .ocA esteLa menos dis!onX.el na !rYWima .e& Mue for c"amado !ara !artici!ar de um camin"amento1 D1I PE*'$8AGE8' DE 7M CAMI8,AME8T$ Muitas organi&a0es reali&am camin"amentos sem nen"um trei namento ou formalismo do Mue o Mue foi acima descrito !or2m muitas desco/riram ser .antaLoso introdu&ir algum formalismo ou estrutura na re.isoV daX a con"ecida eW!resso camin"amento estruturado1 7ma ca racterXstica comum de um camin"amento estruturado 2 um conLunto de <JC !ersonagens formais desem!en"ados !elos re.isores1 Diferentes re.isc res !odem desem!en"ar diferentes !a!2is entre um e outro camin": mentoV e em alguns casos um re.isor !ode desem!en"ar mais de ur !a!el1 Eis os !ersonagens Mue costumam ser encontrados em um cam n"amento> A!resentadorE a !essoa Mue eW!lica ao gru!o re.isor o Mue !roduto fa&E Mue !ressu!osi0es foram feitas Muando ele f criadoE e assim !or diante1 Em muitos casosE o a!resentador 2 !rodutorE mas nem sem!re1 Algumas em!resas ac"am Mue se !rodutor a!resentar seu !rY!rio !rodutoE F9O o !roduto !od ser to enigmtico Mue nunca seria aceito se o !rodutor n esti.esse imediatamente dis!onX.el !ara eW!lic?lo e F:O o !rc dutor !ode sutilmente Fe tal.e& inocentementeO fa&er uma 9: .agem cere/ral na audiAncia re.isora e le.?la a cometer o mesmos errosE descuidos e erros de omisso e cometimento Mu cometeu1 j PresidenteE a !essoa Mue organi&a e controla a reunio1 'eu o9 Leti.o 2 manter a discusso desenrolando?se de uma forma orde nada e construti.a !ara im!edir discuss0es !aralelasE /em com crXticas ao a!resentador1 Por moti.os Y/.ios eWiste a tendAnci de deiWar o gerente de !roLeto ser.ir como !residenteV mas !ela ra&0es descritas anteriormente neste a!AndiceE a !resena d um gerente na re.iso coleti.a muitas .e&es modifica o carte da re.iso de um modo muito negati.o1 j Escri.oE a !essoa Mue fa& o registro escrito dos e.entos im!or tantes da re.iso1 Al2m de coisas tri.iais como a data em Mu ocorreu o camin"amentoE Mue !roduto este.e sendo eWami nadoE e Muem com!areceu ao camin"amentoE o escri.o fa> anota0es so/re as Muest0es t2cnicas significati.as Mue foran le.antadasE erros Mue ten"am sido encontrados e sugest0es !an a!erfeioamento ou modifica0es feitas !elos re.isores1 j Porta?.o& da manutenoE um re.isor cuLa !rinci!al orienta 2 a manuteno do !roduto a longo !ra&o1 Ele normalment estar interessado em Mue o !roduto no seLa muito idiossin crsico ou no seLa insuficientemente documentado1 Ele tendeV desem!en"ar um !a!el mais im!ortante nos camin"amento relati.os a !roLetos e cYdigos do Mue nos camin"amentos di anlise1 <IH j Mantenedor dos !adr0esE o !a!el dessa !essoa 2 e.idente> asse gurar Mue o !roduto seLa consistente com os !adr0es gerais Mue ten"am sido adotados !elo !roLeto eGou !ela organi&ao1 os .e&esE o !rinci!al !a!el dessa !essoa 2 orientar o !rodutor e outros mem/ros da eMui!e so/re se o !roduto de.er em 3ltima anlise ser considerado aceit.el Fem termos de o/ediAncia aos !adr0esO !or um gru!o formal de controle de Mualidade1 EWistem duas 3ltimas o/ser.a0es a serem feitas so/re esses !er sonagens> !rimeiroE lem/re?se Mue os !a!2is !odem mudar entre um e outro camin"amerito1 'egundoE lem/re?se de induir o usurio como um desses !ersonagens caso o usurio seLa um ati.o !artici!ante do !roLeto1 D1< P*$CEDIME8T$' DE CAMI8,AME8T$' Como indicamos na seo !recedenteE os camin"amentos /em? sucedidos normalmente caracteri&am?se !or um conLunto de !ersona gens e !rocedimentos formais1 $s !rocedimentos .ariam de em!resa !ara em!resaE mas a seguinte lista 2 tX!ica> 91 Programe o camin"amento com um ou dois dias de adianta mento e distri/ua adeMuado material informati.o aos re.isores1 'e o camin"amento for marcado sem um a.iso suficientemente anteci!adoE os re.isores no tero o!ortunidade de estudar o !roduto antes Mue o camin"amento seLa iniciado1 :1 Assegure?se de Mue os re.isores ten"am des!endido algum tem!o na re.iso do !roduto1 7m modo fcil de fa&er isso 2 solicitar Mue cada re.isor traga !ara o camin"amento !elo menos um comentrio !ositi.o e um negati.o so/re o !roduto1 $ risco Mue eWiste 2 Mue alguns dos re.isores esteLam to ocu!ados ou to desinteressados no !roduto Mue no faam MualMuer tarefa anteci!ada e a!enas manten"am?se sentados silenciosamente durante o camin"amento sem !restar nen"uma contri/uio1 @1 'olicite ao a!resentador Mue faa uma ligeira a!resentao do !roduto1 Isso muitas .e&es 2 feito com utili&ao de diagramas em !ginas sucessi.asE !roLetores dc trans!arAnciasE e coisas desse ti!o1 ^ aX Mue o gru!o literalmente camin"a atra.2s do !roduto1 <I9 J1 'olicite comentrios aos re.isores1 Isso normalmente 2 orMu trado !elo !residenteE Mue !ode resol.er andar !ela salaE licitando a cada re.isor Mue mostre um erro ou faa ui a!reciao so/re o !roduto1 I1 Assegure Mue os !ro/lemas seLam a!resentadosE !or2m no1 lucionados no camin"amento1 Isso 2 es!ecialmente im!ortar no caso de ser a!ontado um erro no tri.ialV deiWe o !rodui discorrer so/re como resol.A?lo em sua .e& de !ronunciar? em .e& de !ermitir a ocorrAncia de um _/rainstorm] c sestruturado1 Isso 2 tam/2m um im!ortante !rocedimer Muando surgem !ro/lemas de estilo> o !rodutor !ode discorc dos comentriosE e 2 !referX.el Mue ele os considere a!Ys a re nio Fou fale se!aradamente com a !essoa Mue fe& a sugest so/re o estiloO1 <1 Faa o camin"amento relati.amente curto ? no su!erior uma "ora1 8o se !ode es!erar Mue algu2m manten"a um ai nX.el de concentrao !or mais do Mue uma "oraV a ateno c mea a di.agarE e eWiste um s2rio risco de Mue o camin"amen degenere em uma con.ersa informal1 K1 Esta/elea uma resoluo de acordo com o resultado da reuniV de camin"amento1 As recomenda0es Mue costumam ser feit !elos re.isores so F9O _Consideramos Mue o !roduto de.a !e manecer como est]E ou F:O _Pensamos Mue alguns erros de.a ser corrigidos e alguns !ro/lemas menores de estilo de.em tratadosE mas confiamos em Mue o !rodutor far as modifica0 necessrias sem mais re.is0es] e F@O _Encontramos tantos em eGou !ro/lemas de estilo Mue gostarXamos Mue fosse feito u outro camin"amento Muando o !rodutor ti.er feito todas modifica0es a!ro!riadas]1 De!endendo da nature&a da eMui e do modo como as !essoas assumem a res!onsa/ilidade ! suas tarefas na em!resaE essa recomendao !ode ser tornac o/rigatYriaE ou !ode re!resentar sim!lesmente uma sugest o!cional feita !elos re.isores1 D1K *E'7M$ Em/ora a t2cnica do camin"amcnto seLa um !rocesso sim!les direto de re.isoE no 2 to am!lamente utili&ada como se !ossa !ensai 7m moti.o disso 2 o a!arente aumento do tem!o necessrio !ara cor du&ir?se os camin"amentos> eles !odem tomar dc I a 9 do tem!o totV <I: do !roLeto1 Por outro ladoE a maioria das organi&a0es Mue utili&aram o camin"amento relataram su/stanciais redu0es no n3mero de erros Mue !ermaneceram ocultos1 $ moti.o mais im!ortante !ara a no utili&ao do camin"amento tal.e& seLa o fato de Mue alguns !rogramadores e analistas de sistemas continuam a considerar seus !rogramas e diagramas de fluWo de dados como de sua !ro!riedade !articularE ao in.2s de um /em comum1 Desse modoE eles !referem no mostrar seu tra/al"o !ara $utros e resistem fortemente Zs crXticas e sugest0es de mel"orias1 Esse 2 um !erigoso mo do de .er as coisasV cada .e& mais em!resas esto comeando a !erce/er Mue de.em introdu&ir alguma forma de re.iso coleti.a !ara terem su cesso no aumento da Mualidade dos sistemas Mue !rodu&em1 <I@ E T^C8ICA' DE E8T*EQI'TA' E DE C$-ETA DE DAD$' E19 I8T*$D7()$ Este a!Andice discute algumas diretri&es !ara as entre.istas Mue .o cA far durante a fase de anlise de sistemas do !roLeto de desen.ol.i mento de um sistema1 QocA !ro.a.elmente entre.istar usuriosE geren tesE auditoresE !rogramadores Mue fa&em a manuteno de sistemas L eWistentes e .rias outras !essoas1 Por Mue fa&emos entre.istas durante a anlise de sistemas[ $s moti.os so estes> j Precisamos coletar informa0es so/re o com!ortamento de um sistema atual ou so/re os reMuisitos de um no.o sistema de !es soas Mue tAm essas informa0es arma&enadas em algum lugar em suas ca/eas1 j Precisamos .erificar nossa !rY!ria com!reensoE como analistas de sistemasE do com!ortamento de um sistema atual ou dos re Muisitos de um no.o sistema1 Essa com!reenso de.e ter sido adMuirida atra.2s de entre.istas !r2.ias em com/inao com informa0es coletadas de modo inde!endente1 j Precisamos coletar informa0es so/re oFsO sistemaFsO atualFisO !ara eWecutarmos os estudos de custoG/enef%io F.eLa maiores informa0es so/re essa rea no a!Andice CO1 Este a!Andice co/re os seguintes tY!icos so/re o !rocesso de entre.istas> j Ti!os de entre.istas <II j Pro/lemas fundamentais das entre.istas j Diretri&es gerais !ara a reali&ao de entre.istas E1: TIP$' DE E8T*EQI'TA' A forma mais comum de entre.ista 2 uma reunio !essoal e dire entre .ocA Ftal.e& acom!an"ado !or um ou dois analistas auWiliares d mesmos !roLetosO e um ou mais interlocutores Fentre.istadosO1 8orma mente tomam?se a!ontamentos com !a!el e l!is !or um dos entre.ist doresV menos costumeiramenteE a entre.ista !ode ser gra.ada ou umF secretrioFaO tomar notas durante a entre.ista1 8este a!AndiceE .am !resumir Mue sua entre.ista ser desse ti!o geralE mas no farei MualMu !ressu!osio so/re gra.adores ou estenYgrafas1 QocA de.e !erce/er Mue as informa0es o/tidas em uma entre.isi tam/2m !odem ser o/tidas !or outros meiosE !or eWem!loE solicitand se Mue os entre.istados res!ondam !or escrito a um Muestionrio forma ou solicitando Mue descre.am !or escrito os reMuisitos do no.o sistem Tam/2m !odemos aumentar as entre.istas !ela !resena de .rios e !ecialistas FMue !odem at2 condu&ir a entre.ista enMuanto o analista d sistemas !artici!a como assistenteOE como !eritos em ind3striaE !sicY% gos com!ortamentais e negociadores1 EE finali&andoE .ocA de.e lem/n Mue outros meios de o/teno de dados FeW1> .ideocasseteO !odem s utili&ados !ara registrar uma entre.ista1 Durante a d2cada de DHE uma forma es!eciali&ada de entre.isi tornou?se !o!ular em algumas em!resas de 'IGV ela 2 con"ecida com RAD Fde Roint A!!lication De.elo!mentO ou !roLeto aceleradoE ou anli em eMui!eE e !or .rios outros nomes1 Ela consiste em uma r!ida entn .ista e um !rocesso acelerado de coleta de dados em Mue todos c !rinci!ais usurios e o !essoal da anlise de sistemas agru!am?se ei uma 3nica e intensi.a reunio FMue !ode !rolongar?se de um dia a uni semanaO !ara documentar os reMuisitos do usurio1 A reunio costuni ser su!er.isionada !or um es!ecialista treinado Mue atua como mediad !ara encoraLar mel"ores comunica0es entre os analistas de sistemas os usurios1 Em/ora todas essas .aria0es ten"am de fato sido usadasE elas s relati.amente raras e no sero discutidas em maiores detal"es nesi a!Andice1 A entre.ista mais utili&ada ainda 2 a reunio !essoal entre ur analista de sistemas e um usurio final1 <I< E1@ P*$B-EMA' F78DAME8TAI' o !rimeira .istaE !ode !arecer Mue o !rocesso de entre.istar um usurio seLa uma Muesto sim!les e direta1 Afinal de contasE .ocA 2 uma !essoa inteligente e ca!a& de eW!ressar?seV e o usurio tam/2m o 21 $s dois so !essoas racionais e am/os tAm o mesmo o/Leti.o> !assar infor ma0es relati.as a um no.o sistema !ro!osto da mente do usurio !ara a sua1 Tual 2 o !ro/lema= 8a realidadeE eWistem muitos !ro/lemas Mue !odem ocorrer1 Em muitos !roLetos de alta tecnologiaE tem?se o/ser.ado Mue a maioria dos !ro/lemas dificeis no en.ol.em "ard4are nem soft4areE mas sim o l!eo!le4are]1 $s !ro/lemas de !eo!le4are na anlise de sistemas so muitas .e&es encontrados nas entre.istas> 2 a entre.ista onde _o !neu toca na estradal entre o usurio e o analista de sistemas1 $s !ro/lemas mais comuns a Mue .ocA de.e estar atento 'o> Er7re. a !essoa errada no momento errado1 ^ muito fcilE !or causa dos !ro/lemas e interesses organi&acioriaisE falar com a !essoa Mue 2 o !erito oficial na orientao do usurioE Mue demonstra nada sa/er a res!eito dos .erdadeiros reMuisitos do sistemaV tam/2m 2 !ossX.el !erder a o!ortunidade de falar com o usurio descon"ecido Mue realmente sa/e Muais so os reMui sitos1 Mesmo Mue encontre a !essoa certaE .ocA tal.e& tente entre.ist?la durante um !erXodo em Mue o usurio no est dis!onX.el ou esteLa mergul"ado so/ outras !ress0es e emergAncias1 j Fa&er !eiguntas erradas e o/ter res!ostas erradas1 A anlise de sistemas 2E como Tom DeMarco gosta de di&erE uma forma de comunicao entre estran"os1 $s usurios e os analistas de sis temas tAm .oca/ulrios diferentesE eW!eriAncias /sicas diferen tes e muitas .e&es um diferente conLunto de !ressu!osi0esE !erce!0esE .alores e !rioridades1 Desse modoE 2 fcil fa&er ao usurio uma !ergunta racional so/re os reMuisitos do sistema e o usurio no entender a/solutamente a !erguntaE sem Mue j nen"um dos dois !erce/a o fato1 E 2 fcil !ara o usurio !restar l"e algumas informa0es so/re os reMuisitos e .ocA no enten der essas informa0esE no.amente sem Mue nen"um dos dois !erce/a o fato1 As ferramentas de modelagem a!resentadas an teriormente neste li.ro so uma tentati.a de fornecer uma lin guagem comum e sem am/igaidades !ara diminuir esses mal entendidos1 Por2m as entre.istas costumam ser reali&adas em uma lXngua comum FinglAsE es!an"olE francAsE !ortuguAs etc1OE !ortanto o !ro/lema 2 real1 Isso eW!lica !orMue 2 to im!ortar marcar entre.istas su/seMaentes !ara confirmar Mue am/as !artes entenderam as !erguntas e as res!ostas1 Criar ressentimentos recX!rocos1 Como .eremos na seo E1 eWistem algumas ra&0es !elas Muais o usurio !ode no se sen Z .ontade ou mesmo colocar?se em !osio antagNnica na e tre.ista com um analista de sistema FeW1> !orMue ele !erce/e Mi o .erdadeiro o/Leti.o do no.o sistema Mue o analista est e !ecificando 2 tomar?l"e o em!regoO1 E o analista !ode ressent se do modo como o usurio est res!ondendo as !erguntas Fe !ode !erce/er Mue o usurio a est insultando sugerindo Mi ela 2 Lo.em demais e ineW!eriente !ara oferecer MualMuer o nio so/re os reMuisitos do no.o sistemaO1 Em MualMuer casoE ressentimento !ode surgir entre as duas !artesE tornando comunicao muito mais difXcil1 8o eWiste um modo mgico de garantir Mue esses !ro/lemas ni ocorreroV eles so a conseMaAncia das intera0es !essoa?a?!essoaE cada uma dessas intera0es 2 3nica1 ContudoE as sugest0es dadas a s guir !odem aLudar a redu&ir a !ro/a/ilidade desses !ro/lemasV fora iss .ocA de!ender de !rtica !ara mel"orar cada .e& mais em cada ents .ista su/seMaente1 E1J DI*ET*IgE' PA*A A *EA-IgA()$ DE E8T*EQI'TA' As seguintes diretri&es !odem ser de grande auWXlio na direo c entre.istas /em?sucedidas com seu usurio1 E1J1 9 Desen.ol.a um Plano Geral de Entre.istas Antes de tudoE 2 eWtremamente im!ortante Mue .ocA descu/ Muem de.e ser entre.istado1 Caso contrrioE .ocA des!erdiar o tem! de todos e criar um enorme tumultoE !or falar com !essoas errav so/re coisas erradas1 Isso reMuer Mue .ocA o/ten"a um organograma da em!resa Mu mostre as !essoas da organi&ao usuriaE /em como a "ierarMuia entr elas1 'e no eWistir um organograma formalE encontre algu2m Mue sai/ como a organi&ao funciona e !ea aLuda1 'e o organograma eWisti certifiMue?se de Mue esteLa correto e atuali&adoV as em!resas muitas .e&e <ID modificam?se com muito mais freMaAncia do Mue o ciclo editorial anual em Mue os diagramas so !rodu&idos` $ fato de con"ecer o esMuema organi&acional no l"e di& necessa riamente com Muem .ocA de.e entender?seV Zs .e&esE a !essoa Mue mais sa/e a res!eito de algum as!ecto de um sistema 2 um funcionrio admi nistrati.o ou /urocrata Mue seMuer a!arece no organograma1 Como .i mos no ca!Xtulo @E muitas .e&es eWistem trAs nX.eis de usurios em uma organi&ao grande e com!leWa ? o usurio .erdadeiroE o usurio su !er.isor o!erati.o e o usurio su!er.isor eWecuti.o ? e 2 muitas .e&es de grande im!ortPncia falar com todos os trAs nX.eis1 Em muitos casos tam/2m 2 im!ortante con.ersar com os usurios na seMaAncia adeMuada e na com/inao certa1 Isto 2E .ocA !ode estar entre.istando MartaE Mue di&> _BemE euE naturalmenteE rece/o todos os meus dados de entrada de RorgeV ele !oder falar?l"e so/re esses dados1 EE em seguidaE fao o seguinte111]1 Em um caso assimE muitas .e&es 2 mel"or falar !rimeiro com RorgeE deiWando !ara falar com Marta de!ois1 $u .ocA !ode estar entre.istando PauloE Mue di&> _BemE na .erdadeE 'usana e eu desem!en"amos essa funo LuntosV ela fa& uma !arte e eu fao o resto111]1 8esse casoE seria e.identemente mais !roduti.o entre.is tar 'usana e Paulo simultaneamente1 Por .e&es .ocA !oder sa/er em Mue seMaAncia os usurios de.ero ser entre.istados face a seu con"eci mento geral da organi&ao e !or .e&es os !rY!rios usurios l"e diro uma .e& Mue sai/am Mue sero entre.istados1 E1J1: Cert de Mue QocA Tem Autori&ao !ara Falar com os 7surios Em algumas organi&a0es ir formais no "a.er restri0es em sua escol"a dos usurios com Muem .ocA Muer falar ou so/re como as entre .istas sero marcadas1 Por2m isso 2 incomum em em!resas grandesV 2 !oliticamente !erigoso .agar !ela organi&ao usuria reali&ando entre .istas sem !r2.ia autori&ao1 8a maioria dos casosE a autori&ao .ir ou do encarregado de um setor usurio Fum de!artamentoE di.iso ou gru!oO ou do re!resentante nomdado Mue estar adido ao !roLeto de desen.ol.imento do sistema1 Em MualMuer casoE os usurios tAm legXtimas ra&0es em Muerer a!ro.arE anteci!adamenteE Muem .ocA for entre.istar> j Eles !odem sa/er Mue alguns usurios no sero ca!a&es de com!reender ou eW!rimir /em os reMuisitos do sistema1 j Eles !odem desconfiar de Mue alguns dos usurios do nX o!erati.o seLam _renegados] Mue a!resentaro reMuisitos fal Fou reMuisitos Mue a direo no a!ro.eO1 j Eles !odem recear Mue as entre.istas interfiram com as ai /ui0es normais de tra/al"o Mue os usurios ten"am de eE cutar1 Por causa dissoE deseLaro marcar as entre.istas !ara momentos a!ro!riados1 j Eles !odem recear Mue as entre.istas seLam .istas como o i&iXc de um esforo de su/stituio dos usurios "umanos !ort1 sistema com!utadori&adoE !ro.ocando demiss0es e coisas des gAnero1 j Eles !odem considerar Mue eles !rY!rios Fos diretoresO sa/c mais a res!eito dos reMuisitos do sistema do Mue MualMuer out e !or isso no deseLam Mue .ocA entre.iste MualMuer usurio nX.el o!erati.o1 j Pode estar "a.endo uma /atal"a !olXtica em andamento em ti nX.el de c"efia muito mais ele.adoE entre o setor usurio e organi&ao de desen.ol.imento de sistemas1 Desse modoE gerente usurio !ode no ter reais o/Le0es a suas entre.ista !or2mE im!edindo Mue elas seLam feitasE ele estar en.ian uma mensagem !olXtica !ara o c"efe do c"efe do seu c"efe1 Por todos esses moti.osE 2 uma /oa medida o/ter uma !r2.ia aul ri&ao1 8a maior !arte dos casosE /asta uma autori&ao .er/alV se organi&ao for terri.elmente /urocrtica ou !aranYicaE .ocA !ode !re sar de uma autori&ao escrita1 IssoE a !ro!YsitoE tam/2m significa Mi .ocA de.e estar cNnscio e atento Z !olXtica organi&acional se ti.er certe da necessidade de falar com um usurio Fnormalmente um usurio nX.el o!erati.oO com Muem .ocA ten"a sido a.isado !ara no con.ers QocA tal.e& !ense em com/inar algumas reuni0es clandestinas fora d instala0esE mas geralmente 2 mais seguro le.ar !ara cima a solicita atra.2s da cadeia de comando de seu setor de forma a Mue ela !os descer !ela cadeia de comando da organi&ao usuria 9j E1J1@ PlaneLe a Entre.ista !ara Fa&er 7so Eficiente do Tem!o $ !rinci!al as!ecto desta sugesto 2 Mue .ocA de.e com!reend Mue est tomando o tem!o do usurio e Mue ele Fou o c"efe deleO !oi <<H ac"ar at2 Mue .ocA esteLa des!erdiando o tem!o dele1 Assim sendoE 2 im!ortante Mue .ocA !laneLe e !re!are to anteci!adamente Muanto !ossX.el !ara !oder fa&er uso eficiente da entre.ista1 A !rimeira coisa a fa&er 2 certificar?se de Mue o usurio con"ece o assunto da entre.ista1 Em alguns casos isso !ode ser feito !or telefoneV em outrosE !ode ser adeMuado !re!arar uma lista das !erguntas Mue sero feitasE ou dos tY!icos Mue sero a/ordadosE ou dos DFD Mue .ocA deseLa re.isarE e remetA?la ao usurio com um dia ou dois de anteci!a o1 'e .ocA no !uder fa&er issoE 2 um indXcio de Mue .ocA de fato no est !re!arado !ara a entre.ista1 E se o usurio no ti.er lido o material remetidoE 2 sinal de Mue F9O est muito ocu!adoE F:O est desinteressadoE F@O o!0e?se a toda a id2ia da entre.ista ou FJO 2 inca!a& de entender as !erguntas a!resentadas1 7m as!ecto relacionado> coleteE antes da entre.istaE tantos dados !ertinentes Muanto !ossX.el1 'e "ou.er formulrios ou relatYrios Mue seLam !ertinentes Z discussoE geralmente .ocA !oder o/tA?los ante ci!adamente1 'e eWistirem outros documentos escritos do usurio des cre.endo o no.o ou o antigo sistema consiga?os e estude?os antes da entre.ista1 'e .ocA ti.er !re!arado suas !erguntas anteci!adamenteE .ocA de.e ser ca!a& de reali&ar a entre.ista em uma "ora ou menos1 Isso 2 im!ortanteV no sY o usurio 2 geralmente inca!a& de reser.ar mais do Mue uma "ora de cada .e&E mas tam/2m Fcomo eu disse no a!Andice DO as !essoas normalmente no conseguem se concentrar intencionalmen te F!rinci!almente se esti.erem eWaminando diagramas um tanto estra n"osO !or mais do Mue cerca de uma "ora1 Isso naturalmente significa Mue .ocA de.e organi&ar a entre.ista !ara a/ranger um esco!o relati.a mente limitadoE focali&ando normalmente uma !eMuena !arte do siste ma1 Isso tam/2m !ode significar Mue .ocA ten"a de marcar algumas entre.istas com o mesmo usurio !ara a/ranger inteiramente a rea em Mue ela ou ele est en.ol.idoFaO1 Finali&andoE marMue uma reunio su/seMaente !ara re.er o mate rial Mue .ocA coletou1 8ormalmenteE .ocA ir !ara sua mesa com todas as informa0es col"idas na entre.istaE colocar seu _c"a!2u de analista]E e eWecutar /astante tra/al"o com os dados /rutos1 Pode "a.er DFD a serem desen"ados ou itens a serem criados no dicionrio de dadosV clculos de custoG/enefXcio !odem !recisar ser feitosV as informa0es !ro.enientes da entre.ista !odem !recisar ser correlacionados com dados de outras entre.istasE e assim !or diante1 Em MualMuer casoE os dados dessa entre.ista sero mani!uladosE documentadosE analisados e con.ertidos em uma forma Mue o usurio !ode nunca ter .isto antes1 Desse modoE .ocA !ode !recisar marcar uma entre.ista !osterior !ara .erificar F9O Mue .ocA no cometeu nen"um engano em seu entendi mento do Mue o usurio l"e disseE F:O Mue o usurio no mudou de <<9 o!inio nesse Xnterim : e F@O Mue o usurio entende a notao ou re!resentao grfica dessas informa0es1 E1J1J 7tili&e Ferramentas Automati&adas Mue 'eLam AdeMuadasE Mas 8o A/use Durante a entre.istaE .ocA !ode ac"ar con.eniente utili&ar ferr mentas de !rototi!aoE !rinci!almente se o o/Leti.o da entre.ista f discutir a .iso Mue o usurio tem da interface !essoa?mMuinaE E modo semel"anteE se .ocA esti.er re.isando um diagrama de fluWo dados e discutindo !ossX.eis modifica0esE ac"ar !rtico usar uma d ferramentas CA'E estudadas no a!Andice A1 -em/re?seE !ortantoE Mue o o/Leti.o dessas ferramentas 2 facl9lt as discuss0es e no com!lic?lasV elas de.em !ermitir Mue .ocA e usurio eWaminem alternati.as e modifica0es com ra!ide& e facilidad elas !odem aLud?lo a registrar seu con"ecimento de um reMuisito c usurio e corrigir imediatamente MuaisMuer erros Mue .ocA teni cometido1 'eE entretantoE a tecnologia introdu&ir?se no assuntoE deiWe?a foi da entre.ista1 'e o usurio ti.er de a.enturar?se al2m de seu am/ieni normal de ati.idade F!ara outro !r2dioE na sala do com!utadorO !odei encarar a ferramenta como um a/orrecimento1 'e o usurio no es-i. familiari&ado com a tecnologia de com!utadores e for solicitado a utili&i a ferramentaE !oder reLeit?la1 E se .ocA no esti.er familiari&ado com ferramenta Fou se a ferramenta for lentaE tendente a erros ou de em!re limitadoO isso interferir sensi.elmente na entre.ista1 Em MualMuer de ses casosE tal.e& seLa !referX.el usar a ferramenta _off?line] de!ois da ei tre.istaV .ocAE entoE !oder mostrar ao usurio a saXda da ferrameni sem causar MuaisMuer !ro/lemas desnecessrios1 E1J1I Tente Desco/rir em Tue Informa0es o 7surio Est Mais Interessado 'e .ocA ti.er de desen.ol.er um modelo com!leto de sistema !ai alguma !arte de um sistemaE .ocA !ossi.elmente necessitar deterLninV entradasE saXdasE fun0esE caracterX> tem!o?de!endentes e a mem ria arma&enada do sistema1 Por2ri a ordem em Mue .ocA o/t2m essa informa0es costuma no ter muita im!ortPnciaE ouE !elo menosE n de.e significar muito !ara .ocA1 Mas !ode significar muito !ara o usurioE e .ocA de.e deiiW?l comear a entre.ista !or onde ele !referir1 Alguns usurios deseLar comear !elas saXdasE isto 2E !elos relatYrios e .alores de dados Mue e% <<: Muerem Mue o sistema !rodu&a Fna realidadeE eles tal.e& nem sai/am Mue entradas sero necessrias !ara !rodu&ir as saXdas deseLadasO1 $u tros usurios !odero estar mais interessados nas entradas ou nos deta l"es de uma transformao funcional1 $utros ainda !referiro falar so/re os detal"es dos dados de um de!Ysito de dados1 Como Muer Mue seLaE faa o Mue !uder !ara enWergar os reMuisitos do sistema da !ers!ecti.a desses usuriosE e conser.e essa !ers!ecti.a em mente Muando l"es fi&er as !erguntas necessrias Z sua entre.ista1 E1J1< 7se um Estilo AdeMuado de Entre.istar Como di& 5illiam Da.is d 9CD@9> 'ua atitude em relao Z entre.ista 2 im!ortante na determinao de seu sucesso ou fracasso1 7ma entre.ista no 2 uma com!etio1 E.ite ataMuesV e.ite o uso eWcessi.o do Largo t2cnicoV condu&a uma entre.istaE no uma tentati.a de !ersuaso1 Fale com as !essoasE no fale muito altoE nem muito /aiWoE nem indiretamente1 7ma en tre.ista no 2 um Lulgamento1 Faa !erguntas detal"adasE mas no faa !erguntas !ara confirmar outras res!ostas1 -em/re?se Mue o en tre.istado 2 o !erito e Mue 2 .ocA Mue !recisa de res!ostas1 Para concluirE de modo algum critiMue a credi/ilidade de outras !essoas1 8o diga _Fulano disse?me algo diferente] ou _QocA no sa/e o Mue est di&endo]1 Fa&er !erguntas detal"adas nem sem!re 2 fcilV de!endendo da !ersonalidade do entre.istado e do tema da entre.istaE .ocA !ode !reci sar de uma gama de estilos !ara eWtrair as informa0es necessrias1 Eis aMui alguns estilos Mue !odem mostrar?se 3teis> j *elacionamentos1 Pea ao usurio !ara eW!licar o relaciona mento entre o Mue est em discusso e as demais !artes do sis tema1 'e o usurio esti.er falando so/re um assunto F!1eW1> um clienteOE !ea?l"e Mue eW!liMue seu relacionamento com outros as!ectosV se ele esti.er descre.endo uma funo FeW1> uma /ol"a de um DFDOE !ea?l"e Mue eW!liMue seu relacionamento com j outras fun0es1 Isso no sY o auWiliar a desco/rir mais detal"es so/re o item em !autaE mas tam/2m o aLudar a desco/rir inter? faces FeW1> fluWos de dados de uma /ol"a !ara outra no DFDO e relacionamentos formais1 j Pontos de .ista alternati.os> 'olicite ao usurio Mue descre.a o !onto de .ista de outros usurios em relao ao item Mue esteLa sendo discutido1 Pergunte ao usurioE !or eWem!loE o Mue seu <<@ c"efe !ensa so/re uma /ol"a do DFDE ou um ti!o de o/Leto DE*V ou !ergunte o Mue !ensa seu su/ordinado1 Detal"amenta 'olicite ao usurio uma informal descrio n rati.a do item em Mue .ocA esti.er interessado1 ;Fale?me so/n modo como .ocA calcula o .alor das remessas]1 $uE se esti falando com o usurio so/re um ti!o de o/Leto no DE*E .c cria di&er> ;Fale?me a res!eito de um cliente1 $ Mue .c sa/e Fou !recisa sa/erO so/re um cliente[] j De!endAncias> Pergunte ao usurio se o item em discusso !endeE !ara sua eWistAnciaE de alguma outra coisa1 Isso 2 es cialmente 3til Muando se discutem !ossX.eis ti!os de o/Leto relacionamentos no DE*1 Em um sistema de controle de !c dosE !or eWem!loE .ocA !ode !erguntar ao usurio se se !ossX.el "a.er um !edido Fse isso for o item em discussoO sc Mue "aLa um cliente1 j Confirmaa Diga ao usurio o Mue .ocA ac"a Mue ou.iu di&erV use suas !rY!rias !ala.ras em lugar das dele e !ea cc firmao1 Desse modoE .ocA !ode di&er> ;DeiWe?me .er se tendi o Mue .ocA disse> sem!re Mue algo entra no sistemaE .c sem!re tem Mue o !rocessar e en.iar uma mensagem de tuao !ara o setor de auditoria]1 E1I P$''cQEI' F$*MA' DE *E'I'Tb8CIA 8A E8T*EQI'TA Como L dissemosE .ocA de.e estar !re!arado !ara o fato de M alguns usurios sero contrrios Z !rY!ria id2ia de uma entre.istaV ess uma das ra&0es !ara garantir Mue o c"efe ou algu2m com autoridade setor esteLa ciente e ten"a !ermitido a entre.ista1 Algumas das o/Le mais comuns Fe alg3mas !ossX.eis res!ostas a essas o/Le0esO so seguintes> j QocA est tomando tem!o demais de mim1 A res!osta a issc eW!licar Mue .ocA com!reendeE e descul!ar?se !elo tem!o M .ocA !recisa tomarE mas Mue .ocA L !re!arou tudo e far entre.ista no tem!o mais curto Mue for !ossX.el1 Isso nai ralmente eWige Mue .ocA c"egue !ontualmente na "ora marca !ara o inXcio da entre.istaE manten"a a discusso no rumo ! .istoE e encerre?a no momento em Mue .ocA ten"a dito Mue faria1 <<J j QocA est ameaando meu em!rego1 Isso muitas .e&es 2 uma reao muito emocional Mue !ode ou no ter fundamento1 Em /ora .ocA !ossa !ensar em di.ersas maneiras de res!onder a esse comentrioE lem/re?se de Mue .ocA no 2 o !atro dessa !essoa e de Mue .ocA no est em !osio de garantir Mue o em!rego dela no esteLa em !erigoE ou de inform?la do con trrio1 QocA !ode tentar negar a res!onsa/ilidade di&endo> _Eu nada ten"o a .er com issoV estou a!enas documentando os re Muisitos do sistema so/ a direo da gerAncia]E mas o usurio entre.istado no aceitar isso1 Ele .ai consider?lo como o _!e rito em eficiAncia] cuLa tarefa 2 orientar a direo em como o em!rego dele !ode ser eliminado !ela com!utadori&ao1 A soluo !ara esse !ro/lemaE caso ele ocorraE 2 fa&er com Mue seLa le.ado ao con"ecimento dos nX.eis su!eriores dos usurios e o/ter o !ronunciamento oficial delesE !essoalmente ou !or escritoE se !ossX.el1 j QocA no con"ece nossa em!resaE como .ocA Muer di&er?nos como de.e ser o no.o sistema[ A res!osta a essa !ergunta 2> _QocA tem ra&o` ^ !or isso Mue o estou entre.istando !ara sa/er o Mue .ocA !ensa so/re Muais de.am ser os reMuisitos`]1 Por outro ladoE se .ocA for um analista engen"osoE de.er su gerir .rias maneiras de _mel"orar] as coisas Fes!ecialmente se !arte Nu todo o ser.io feito atualmente !elo usurio for uma manifestao de uma antiga e ineficiente im!lementao de um sistemaOV assimE esse ti!o de comentrio !ode ser ine.it.el1 EntretantoE o .erdadeiro truMue 2 continuar sendo to res!eitoso Muanto !ossX.el e recon"ecer constantemente a eW!eriAncia do usurio em sua !rY!ria reaE em/ora continuando a !erguntar se ele teria a fine&a de eW!licar?l"e Fe !ortanto aLudando a Mue .ocA a!rendaO !orMue sua id2ia no funcionaria1 j QocA est tentando mudar o modo como as coisas so feitas aMui1 7ma .ariao do comentrio acima1 $ artificio neste caso 2 mostrar ao usurio Mue em/ora .ocA !ossa estar !ro!ondo al j gumas FradicaisO mudanas na im!lementao do sistema atualE .ocA no !ensa em modificar as caracterXsticas essenciais desse sistemaE eWceto nas reas onde eles mesmos ten"am solicitado uma alterao1 -em/re?seE contudoE Mue algumas caracterXsticas da im!lementao do sistema atual !odem ter de ser !reser .adasE !or causa das interfaces do sistema atual com outros sis temas eWternos Mue eWiLam Mue as entradas ou as saXdas a!resen tem formatos !rescritos1 <<I j 8o Mueremos esse sistema1 Esta 2 uma .ariao da MueiWa _.o est Muerendo tirar meu em!rego]1 A .erdadeira res!osta 2 Mi .ocA est aliE condu&indo a entre.istaE !orMue a direo usui Muer o no.o sistema1 8o 2 da sua com!etAncia con.encer usurios o!erati.os Mue eles de.em Muerer o no.o sistema Fn im!orta o Muo mara.il"oso .ocA considere Mue ele seLaOV fa& isso 2 colocar o !eso da res!onsa/ilidade so/re seus om/r onde ele no de.e ficar1 j Por Mue .ocA est des!erdiando nosso tem!o com esta enti .ista[ _'a/emos o Mue MueremosE e se .ocA fosse com!etem .ocA sa/eria imediatamente o Mue Mueremos1 Por Mue .ocA ni .ai em frente e constrYi o sistema[] Esta 2 uma reclamao difi de se lidarE !orMue relaciona?se com o fato fundamental de Mi os usurios e os analistas de sistemas esto falando linguas dif rentes e estran"asV se o usurio no !erce/er esse fatoE ele te grandes !ro/lemas1 7ma soluo !ossX.el 2 fa&er uma analogi !ergunte ao usurio se ele !ermitiria Mue um arMuiteto o measse a construir?l"e uma casa sem detal"ados entendime tos e !lantasE seguidos !or estreita comunicao durante toda construo da casa1 Pergunte ao usurio se ele gostaria de di&= ao arMuiteto> _Construa?me uma /ela casa de trAs Muartos1 Qo sa/e como ela de.e serE no[] -em/re?seE contudoE Mue com disseminada dis!oni/ilidade das linguagens de Muarta gerao dos com!utadores !essoaisE o usurio !ode ac"ar Mue !o construir ele !rY!rio o sistemaV sucessos fceis com !roLet sim!les F!lanil"as eletrNnicasE !or eWem!loO !odem ter?l"e d do a im!resso de Mue todos os sistemas so fceis de im!l mentar1 Isso !ode eW!licar a im!aciAncia dele em relao .ocA1 E1< $7T*$' P*$B-EMA' As diretri&es acima alertaram?no so/re os in3meros !ro/lemas ! lXticos com Mue .ocA !ode se defrontar em uma entre.ista e os muit moti.os !elos Muais o usurio !ode mostrar?se "ostil1 Mas ainda eWistei alguns !ro/lemas !ara os Muais .ocA de.e estar atento> j 7ma discusso Mue focali&e mais os !ro/lemas de im!leme tao do Mue os !ro/lemas dos reMuisilos1 Isso muitas .e&c ocorre Muando o usurio di&> _Eis como eu gostaria Mue .oc construXsse o sistema111]1 Isso acontece Muase sem!re Muando <<< usurio est raciocinando em termos da im!lementao do sistema atualV e !ode acontecer se o usurio con"ecer alguma coisa da tecnologia de com!utadores FeW1> Muando ele !ossui um PC !articular ou Muando ele 2 um eW?!rogramadorO1 -em/re? se Mue no 2 sua o/rigao em uma entre.ista de anlise des cre.er caracterXsticas de im!lementao do sistema a no ser Mue seLam to im!ortantes Mue realmente !ertenam ao modelo de im!lementao do usurio Mue discutimos no ca!Xtulo :91 Confuso entre sintomas e !ro/lemas1 Isso ocorre em muitas reasE no a!enas na rea do !rocessamento de dados1 Imagine um !aciente Mue esteLa con.ersando com um m2dico e diga> \DoutorE meu !ro/lema 2 Mue meu rosto est Muente1 $ sr1 !ode resol.er esse !ro/lema !ara mim[] ^ de se !resumir Mue isso seLa um sintomaE uma es!2cie de fe/reE indicadora de algum ti!o de !ro/lema m2dicoE $ im!ortante 2 com!reender Mue isso seLa um sintoma e no o !ro/lema realE e desco/rir Mual seLa esse !ro/lema1 $ mesmo acontece .e&es sem conta nas entre .istas de anlise de sistemas1 EntretantoE /oa !arte dele de!ende de onde a fronteira foi esta/elecida no diagrama de conteWto> se a MueiWa do usurio 2 um sintoma ou um !ro/lema de!ende de ela estar associada a alguma coisa dentro dos limites do sis tema ou fora deles1 Desse modoE .ocA de.e dar es!ecial ateno ao desen.ol.imento do modelo am/ientalV isso 2 detal"ada? mente discutido no ca!Xtulo 9D1 j $ usuJrXo !ode ser inca!a& de eW!licar o Mue ele Muer Mue o sistema faa ou !ode mudar de o!inio1 Esse 2 um !ro/lema comum e o analista de sistemas de.e estar !re!arado !ara ele1 Tuanto maior for esse !ro/lema mais im!ortante torna?se a !rototi!ao1 Para maiores detal"es so/re a !rototi!ao .eLa o ca!Xtulo I1 j Desentendimento entre usurios de mesmo nX.elE su/ordinados e c"efes1 Infeli&menteE isso coloca o analista de sistemas no !a!el de mediador entre as !artes em desentendimento1 Como analistaE .ocA no !ode a/dicar desse !a!elV .ocA no !ode di&er> \Tuando .ocAs decidirem o Mue Muerem e entrarem em um acordoE !rocurem?me1] Em .e& dissoE .ocA de.e agir como um negociador condu&indo todos os interessados a uma sala e tra/al"ando com eles na tentati.a de c"egar a um consenso1 IssoE infeli&menteE en.ol.e "a/ilidades e !rocedimentos fora do esco!o deste li.ro1 <<K E1K F$*MA' A-TE*8ATIQA' DE C$-ETA DE DAD$' As entre.istas no so o 3nico modo de coletarmos informaN so/re os reMuisitos de um sistema1 8a realidadeE Muanto mais inform> 0es .ocA !uder col"er de outras fontesE mais !roduti.as !odero s suas entre.istas !essoais1 Entre as alternati.as !ara as enke.istas1!od mos citar> j Tuestionrios> QocA !ode remeter Muestionrios escritos !ara usurios dentro de sua organi&aoE !ara as !essoas Fou setore Mue interagem com o sistemaE !ara os diretores Mue a!ro.arai o !roLeto e !ara outros1 j Demonstra0es feitas !elos fornecedores1 $s fornecedores c "ard4are e os fornecedores de soft4are !odem L "a.er desei .ol.ido sistemas !rontos !ara a a!licao em Mue .ocA este interessado1 'olicitando?l"es uma demonstrao dos recuru desses sistemas !ode no somente auWili?lo a decidir se o !n duto 2 uma /oa soluoE mas tam/2m re.elar fun0es e dadc arma&enados Mue .ocA !ode no ter !erce/ido1 j Qrsitas a outras instala0es1 Procure outras em!resas Mue est Lam no mesmo ramo de ati.idades ou Mue ten"am sistem semel"antes ZMuele em Mue .ocA esteLa tra/al"ando1 Com/in uma .isita Z instalao !ara o/ter informa0es diretas so/re caracterXsticas e a!tid0es do sistema1 j Coleta de dados1 Procure formulriosE relatYriosE manuaisE !r cedimentos escritosE registrosE imagens de tela de terminais e l tagens de !rogramas Mue L eWistam na organi&ao usuri> -em/re?seE toda.iaE Mue esses recursos normalmente esto rel cionados com a im!lementao atual do sistemaV como .imc no ca!Xtulo 9DE isso costuma incluir informa0es redundant eGou contraditYrias eGou o/soletas1 8o o/stanteE isso muitX .e&es 2 um /om !onto de !artida !ara .ocA familiari&ar?se coi o terreno antes de iniciar as entre.istas !essoais com o usuri j PesMuisa eWterna1 'e .ocA esti.er construindo um sistema ! ra uma no.a a!licaoE !ara a Mual o usurio no dis!0e d MualMuer eW!eriAncia !ara descre.er os reMuisitosE tal.e& seL necessrio tentar o/ter informa0es em sociedades !rofissionai FACME IEEE ou DPMAOE ou em !eriYdicos e li.ros t2cnicos e ei relatYrios de !esMuisas1 <<D E1D *E'7M$ A "a/ilidade de comunicaoE a di!lomacia e outros as!ectos "u manos relati.os a entre.istas no so facilmente transmitidos !or um li .ro1 Trata?se de algo Mue .ocA tem de a!render fa&endo ou o/ser.ando> como analista de sistemas de nX.el L3niorE 2 uma /oa medida acom !an"ar um .eterano !ara !artici!ar de algumas entre.istas Mue ele reali &e1 Al2m dissoE solicite realimentao> !ea a seus su!eriores Mue des cu/ram o Mue os usurios !ensam do modo como .ocA est condu&indo suas entre.istas1 E oferea realimentao aos usurios> diga?l"es o Mue acontecer com os resultados das entre.istasE !ara Mue no !ensem Mue tudo ten"a sido uma !erda de tem!o1 *EFE*b8CIA' 91 A/ra"am Maslo4E Moti.ation and Personalit#1 8o.a lorMue> ,ar!er k *o41 9CIJ1 :1 C"arles R1 'te4art e Cas" 'te4artE Rntet.ie4ing Princi!ies and PracticesE := cd1 Du/uMueE Io4a> 5illiam C1 Bro4nE9CKD1 @1 5illiam '1 Da.isE '#stems Anal#sis and Design> A 'tructured A!!mac"1 *eadingE Mass1> Addison?5esle#E 9CD@1 8$TA' 9 Tudo isso en.ol.e !olXtica organi&acional Mue est fora do esco!o deste li.ro1 Para maiores informa0esE leia um dos li.ros so/re a teoria gdrencial e organi&acionalV ou consulte o delicioso li.ro de *o/ert Bloc% K Poiitics of ProLects F8o.a lorMue> 6$7*D$8 PressE 9CD9O1 : Por Mue o usurio mudaria de o!inio entre uma entre.ista e a seguinte[ 8ormalmente !orMue a entre.ista fa& com Mue ele foca li&e sua ateno em algo em Mue at2 ali ele sY !ensou de forma .aga1 'uas !erguntas durante a entre.ista !odem fa&er com Mue ele .eLa os reMuisitos de modo diferente1 <<C F E'T7D$ DE CA'$> A 6$7*D$8 P*E'' F19 I8T*$D7()$ 8en"uma discusso so/re anlise de sistemas estaria com!leta sem !elo menos um eWem!lo ilustrati.o das di.ersas ferramentas de modelagem e t2cnicas discutidas neste li.ro1 Infeli&menteE Muase todos os estudos de casos so inteiramente fictXcios ou .ers0es eWtremamente sim!lificadas e _saneadas] de situa0es reais1 Al2m dissoE 2 difXcil en contrar um eWem!lo Mue ilustre uma a!licao tanto comercial como cientXfica1 Este estudo de caso descre.e os reMuisitos !ara a com!utadori&a o das ati.idades de !rocessamento de informa0es da 6$7*D$8 Press1 Por um ladoE ela 2 /astante re!resentati.a de uma ati.idade edito rial real Mue funcionou !or a!roWimadamente 9H anos1 8a .erdadeE uma das coisas Mue deseLo mostrar neste estudo de caso 2 Mue nem tudo 2 feito !or moti.os racionais Finclusi.e a formao de em!resas e o inXcio de muitos !roLetos de desen.ol.imento de sistemas`OE e Mue muitos siste mas tAm de lidar com muitas _incurs0es] a/orrecidas e desagrad.eis no mundo real1 Por outro ladoE a 6$7*D$8 Press agora reuniu?se Zs fileiras dos eWem!los fictXciosE uma .e& Mue foi adMuirida !ela Prentice?,all em 9CD<E e suas ati.idades de !rocessamento de informa0es su/ordinaram? se s da Prentice?,all Desse modoE este estudo de caso descre.e como teriam sido os reMuisitos de !rocessamento de informa0es da 6$7*D$8 PressE caso ela ti.esse continuado como uma editora inde!endente1 As se0es a seguir a!resentam um r!ido retros!ecto das o!era 0es da 6$7*D$8 PressE o modelo am/iental do sistemaE o modelo com!ortamental e o modelo de im!lementao do usurio1 <K9 F1: A8TECEDE8TE' Para se entender os tra/al"os da 6$7*D$8 PressE 2 necess gastar algum tem!o eW!licando o ConteWto maior da cor!orao den da Mual ela eWistia> 6$7*D$8 inc1 'em a 6$7*D$8 inc1 no "a.eri 6$7*D$8 PressV em/ora sem a 6$7*D$8 PressE 2 Claro Mu 6$7*D$8 inc1 no teria alcanado o mesmo sucesso1 A 6$7*D$8 inc1 foi formada como uma eWtenso de ati.ida inde!endentes de consultoria e !alestras Mue eWerci !or alguns anos fins da d2cada de <H ao inXcio da de KH1 A em!resa foi formada em ai de 9CK@ !orMue meu contador me informou de Mue uma cor!ora oferecia certas .antagens fiscais Mue no me seriam oferecidas coi consultor autNnomo1 8o o/stante essa orientao !rtica so/re im! tosE a no.a cor!orao no efetuou de fato MualMuer o!erao antes dia da mentira F!rimeiro de a/rilO de CKJ1 Como acontece com a maioria das em!resas Fe com muitos ! Letos de !rocessamento`OE uma das !rimeiras ati.idades foi criar o noi da em!resa1 Min"a mul"er e euE Mue 2ramos os 3nicos acionistasE di toresE funcionrios e em!regadosE gostamos do nome _Artic"o%es A $t"er Fur?Bearing AnimalsE Inc1]E mas !erce/emos Mue no ca/eria nossa fac"ada1 Por fimE escol"emos o nome _'u!er!rogrammersE -ii ted]E e demos entrada nos !a!2is no estado de 8o.a lorMue !ara reX trar o nome1 De!ois de duas semanasE Muando L Xamos !u/licar alg an3ncios de nossa !rimeira s2rie de seminrios so/re !rogramao truturadaE o Yrgo com!etente nos a.isou Mue o nome de nossa em!n no tin"a sido a!ro.ado> ele era muito !arecido com o nome de ou com!an"ia1 Ao in.estigarmosE desco/rimos Mue a outra com!an"ia denominada _'u!ermar%ets ProductsE Inc1 'em nos deses!erarm ra!idamente escol"emos um nome Mue tXn"amos uma ra&o.el cert de Mue no seria cY!ia de alguma outra> meu !rY!rio nome1 Eni nasceu a 6$7*D$8 inc1 As ati.idades iniciais da em!resa foram seminrios !rofission so/re t2cnicas a.anadas de !rogramao e !roLeto de sistemas on?li dirigidos a !rogramadores e analistas .eteranos de grandes em!resa agAncias do go.erno1 $s seminrios com!un"am?se de cerca de "oras de !alestras em salas de aula e eram acom!an"ados !or cerca uma centena de !ginas de anota0es de aulasV as anota0es de au relati.as ao seminrio so/re t2cnicas a.anadas de !rogramao tori ram?se um li.ro> Tec"niMues of Pro*ram 'truclure and DesignE !ul cado !ela Prentice?,all em 9CKI1 Face ao grande n3mero de !artici!antes do seminrioE tornou econNmico im!rimir as anota0es de aulas em um .olume moderak encadernar as !ginasV desse modoE elas assumiram uma certa semel% a com um li.roE em/ora algumas !ginas esti.essem im!ressas <K: ca/ea !ara /aiWo e outras caXssem do li.ro Z menor !ro.ocao1 A!esar dissoE alguns dos !artici!antes solicitaram a com!ra de cY!ias adicionais das notas de aulaE eE dessa formaE como ati.idade !aralelaE a 6$7*D$8 inc1 entrou no negYcio de .enda de _li.ros]1 EntretantoE a 6$7*D$8 inc1 ocu!a.a?se !rinci!almente em ati.i dades de treinamento> o n3mero de cursos de treinamento distintos cres ceu !ara a!roWimadamente IH !elos meados dos anos DHE e a em!resa atualmente L treinou cerca de :IH1HHH !rofissionais de !rocessamento de dados nos Estados 7nidos e em @H outros !aXses1 As ati.idades de consultoria !rofissional tam/2m comearam a se eW!andir e muitos dos mem/ros t2cnicos da com!an"ia agora tra/al"am como consultoresE lideres de !roLetos e analistas de sistemas em im!ortantes !roLetos de desen.ol.imento de sistemas na Am2rica do 8orte e ria Euro!a1 E em meados da d2cada de DHE a em!resa ingressou no mercado CA'EE com um !roduto ti!o caiWa de ferramentas !ara analistas do ti!o descrito no a!Andice A1 Em 9CDKE a 6$7*D$8 inc1 !ossuXa escritYrios em D cidadesE com uma eMui!e de a!roWimadamente 9IH !essoas1 A 6$7*D$8 Press comeou como uma di.iso da 6$7*D$8 inc1 em 9CK< com a !u/licao em /roc"ura de trAs li.ros> 'tructured DesignE !or 6ourdon e ConstantineV -earning lo Program in 'tru1ctured C$B$J !or 6ourdonE Gane e 'arsonV e ,o4 To Manage 'lructured Pro grammingE de 6ourdon1 Assim como em tantas outras o!era0es co merciasE isso ocorreu sem muito !laneLamento ou !reocu!a0es de orga ni&ao> os li.ros !areciam ser uma /oa maneira de !o!ulari&ar os con ceitos das t2cnicas estruturadas desen.ol.idas e comerciali&adas nos se minrios da 6$7*D$8 inc1 $s trAs !rimeiros li.ros foram !rodu&idos em uma sim!les mMui na de escre.er IBM 'electric e !re!arados em fol"as de D1I !or 99 !o legadasV tudo isso !recedeu os dias da im!resso e editorao adeMua da1 A !u/licidade era /astante modestaE consistindo a!enas em uns !oucos an3ncios na Com!uter4orld e remessas !ara a lista de clientes dos seminrios da 6$7*D$81 As .2ndas eram igualmente modestasV na .erdadeE nos !rimeiros anos de sua eWistAnciaE a 6$7*D$8 Press re !resenta.a somente uma !eMuena frao dos rendimentos gerais da em!resa1 Em conseMaAnciaE o sistema de informa0es Mue englo/a.a as itil dais ati.idades da 6$7*D$8 Press era !eMueno e manual em sua natu re&a1 $s !edidos eram rece/idos !elo telefone ou !elo correioE mas !edidos !or cart0es de cr2dito no eram aceitos1 As faturas eram datilo grafas Z mo em formulrios de fatura em Muatro .ias e os !edidos eram manualmente em!acotados um a um1 $ material era arma&enado em um dos mais elegantes es!aos de arma&enamento do mundo> os escritYrios en.idraados do @D andar da 6$7*D$8 inc1 na A.enue of t"e Ameri casE 99@@E com .ista !ara toda Man"attan1 <K@ A automati&ao c"egou Z 6$7*D$8 inc1 na !rima.era de 9CV na forma de um minicom!utador PDP?I9GJIE de segunda moE e u misterioso sistema o!eracional c"amado 78IX 1 Poucos meses mais t deE uma fotocom!ositoraE duas d3&ias de terminais e o !acote T*$FF com!osio foram acrescentados1 Isso facilitou imediatamente a !rod ZoE em com!osioE de li.ros da 6$7*D$8 Press e terminou !or co du&ir Z automati&ao de di.ersos as!ectos das ati.idades de treiname to e de conta/ilidade geral da 6$7*D$8 inc1 Por2m as ati.idades o racionais da 6$7*D$8 PressE aMuelas Mue !oderiam ser considerad como um sistema de informa0es]E continuaram a funcionar de mo manual !or mais alguns anos1 Em 9CDHE um n3mero limitado de a!lica0es com!utadori&adas 9 desen.ol.ido !ara a 6$7*D$8 PressE com utili&ao dos !rticos reci1 sos de canali&ao do sistema o!eracional 78IX1 Entre 9CDH e 9CDIE linguagem de !rogramao C e alguns s"ell scri!rs do 78IX foram uti &ados !ara acrescentar gradualmente alguns !rogramas sim!les !a !rocessamento de !edidosE relatYrios de .endasE rYtulos de em/arMue di.ersos relatYrios cont/eis1 Em/ora esses !rogramas fossem fceis serem desen.ol.idos e de o!erao ra&oa.elmente confi.elE eles fora desen.ol.idos a retal"oE de modo semel"ante ao Mue se .A muitas .e& "oLe em uma organi&ao de PEDE onde os usurios tAm acesso a !iar l"as eletrNnicasE geradores de relatYrios e linguagens de !rogramao Muarta gerao1 Eles tam/2m eram um !ouco limitadosV !or eWem!loE os detal"es de um !edido !recisassem ser modificados a!Ys sua entrad o sistema no !odia fa&er isso1 $ editor de teWto !adro do 78IX e utili&ado !ara fa&er a modificaoE Mue esta.a arma&enada no com! tador como um sim!les teWto A'CIIE finali&ado !or um caracter fim?de?lin"a1 7ma das mais dificeis ati.idades da o!erao diria da 6$7*DC Press era a tarefa de !rodu&ir uma informao atuali&ada mosiran todos os !edidosE !agamentosE de.olu0es de li.ros e cr2ditos de u cliente relati.os a um determinado !erXodo1 Igualmente dificil era o !r cesso de conciliar essas ati.idades FMue ocorriam como intera0es ent os clientes e o !essoal administrati.o da 6$7*D$8 PressO com registros financeiros mantidos !elo setor de conta/ilidade da 6$7*DC inc1 Por di.ersos moti.osE a 6$7*D$8 Press e o De!artamento Conta/ilidade sem!re !areceram estar _fora de sincronia] entre si1 Is torna.a?se mais com!licado !elo fato de Mue o escritYrio da 6$7*D$ inc1 em -ondres tin"a seu !rY!rio in.entrio de li.ros e fa&ia sei !rY!rios em/arMues e seu faturamento de maneira inde!endente do e critYrio de 8o.a lorMueV os !reos eram esti!ulados em li/ras esterlin em .e& de dYlares e geralmente eram um !ouco mais ele.ados Mue !reos esta/elecidos !elo escritYrio de 8o.a IorMue 1 A cada trimestr Muando tin"am de ser !re!arados os documentos financeirosE eraV <KJ reali&adas longasE frustrantes e entor!ecedoras reuni0es em Mue os rela tYrios im!ressos em com!utador do De!artamento de Conta/ilidade eram com!arados manualmente com os emitidos !ela 6$7*D$8 Press !ara Mue as diferenas fossem conciliadas1 $s Pnimos eW!lodiamV grita .am?se insultosE o/scenidades e di.ersos e!Xtetos reci!rocamenteV s .e&es .oa.am o/Letos em todas as dire0es1 8o era uma ati.idade agra d1.el !ara se es!erar a cada trimestre1 Desse modoE !or .olta de 9CD<E era e.idente Mue teria de ser de sen.ol.ido um com!leto sistema !ara Mue a 6$7*D$8 Press !udesse continuar crescendoV foi ento iniciado o !laneLamento do no.o sistema1 ContudoE tam/2m era e.idente Mue seria necessrio um .ultoso .olume de ca!ital !ara continuar a am!liao dos negYciosE no somente !ara o eMui!amento adicional de com!utaoE mas tam/2m !ara moderni&ar o eMui!amento de com!osio FMue L esta.a o/soletoO e aumentar as ati.idades editoriais e comerciais da di.iso1 Por fimE decidiu?se Mue seria mais sensato !ermitir Mue as ati.idades editoriais fossem adMuiridas !or uma em!resa maiorE o Mue condu&iu fuso com a Prentice?,all1 AssimE os modelos de sistema descritos a seguir re!resentam o Mue os reMuisitos seriam se a 6$7*D$8 Prcss continuasse a funcionar como em!resa inde!endente1 $ !laneLamento do no.o sistema de informa0es tam/2m coincidiu com uma s2rie de mudanas organi&acionais na 6$7*D$8 Press e no restante da 6$7*D$8 inc1 De sua origem em 9CKJ a a!roWima damente 9CD@E a em!resa utili&a.a a estrutura organi&acional mostrada na figura F19 Entre 9CDJ e 9CD<E a com!an"ia adotou uma organi&ao mais regional e acrescentou uma no.a di.iso !ara seus !rodutos de soft4areE como se .A na figura F1:1 [ndas k rciali&a Figura F19> Est organi&acional da 6$7*D$8 inc1E 9CKJ?9CD@ 9 <KI A 'oft 4are Figura F1:> Estrutura or da 6$FR*D$8 inc1E 9(o' EE durante esse !erXodoE a 6$7*IO$8 Prc gradati.amcnte desen.ol.e a estrutura organi&acional mostrada na figura F1@1 Como !arte dessa reorgani&aoE as o!era0es de remessa c 6$7*D$8 Press mudaram? se das elegantes acomoda0es ocu!ada !elo resto da eMui!e !ara um de!Ysito cm 6on%crsE 8o.a lorMue1 Des formaE "a.ia uma se!arao fXsica dc umas :H mil"as entre as !esso Mue da.am entrada a !edidos e as Mue em/ala.am li.ros em caiWas remetiam os !edidos aos clientes1 $s Muatro gru!os !rinci!ais da 6$7*IO$8 Prcss tin"am as seguir tes res!onsa/ilidades> j 'er.ios administrati.os res!onsa/ili&a.a?se !ela maioria da intera0es dirias entre a 6$7*IO$8 Press e os clientes1 Dc se modoE esse gru!o rece/ia !edidosV emitia faturasV rece/i Figura F1@> Estrutura organi&acional da 6$7*D$8 Press <K< !agamentosV discutia de.olu0es de li.ros e cr2ditos com os clientesV interagia com o de!Ysito Muanto a remessas de li.rosV e tam/2m entendia?se com o De!artamento de Conta/ilidadeE como L foi mencionado1 Qendas e comerciali&ao era res!ons.el !ela !roduo de catlogos dos di.ersos li.ros da 6$7*D$8 PressV colocando an3ncios em re.istas so/re com!utadores e Lornais de negYciosV en.iando fol"etos !romocionais a .rias listas !ostaisV e !ro!on do .endas .ia telefone a grandes com!radores de li.ros t2cnicos de com!utao1 j AMuisi0es era res!ons.el !ela !rocura de no.os autores e no .os li.ros1 Esse setor da 6$7*D$8 Press encarrega.a?se de to dos os contatos com os autores at2 o momento da entrega do manuscrito final1 j Editorial era encarregada de rece/er o manuscrito final e trans form?lo em um li.ro !u/licado1 Isso no sY en.ol.ia a co!iedi o do li.roE mas tam/2m entendimentos com grficas .isando !ro!ostas das .ers0es iniciais do li.ro1 Editorial res!onsa/ili&a .a?se tam/2m !elo aca/amento artXstico e !roduo da ca!a e do conte3do1 De.e?se lem/rar Mue a 6$7*IXO8 Press era um esta/elecimento /astante !eMueno em com!arao com outras editoras con"ecidas como McGra4?,illE ,arcourt?BraceE Prentice?,all e *andom ,ouse1 Pode?se ter uma id2ia da scala do em!reendimento eWaminando?se os seguintes dados estatXsticos> j A 6$7*D$8 Press tin"a a!roWimadamente IH li.ros em sua listaV cerca de J a < no.os tXtulos eram incluXdos Z lista a cada ano1 j $s li.ros eram escritos !or cerca de duas d3&ias de autoresE e o gru!o da aMuisio trata.a com a!roWimadamente :HH !oten ciais autoresE isto 2E !essoas Mue demonstra.am interesse em jescre.er um li.roE mas Mue de fato ainda no tin"am nada escrito1 j A 6$7*D$8 Press !rocessa.a em torno de IH !edidos !or dia1 j $ .alor m2dio de um !edido gira.a em torno de q9HHE Mue nor malmente re!resenta.a trAs ou Muatro li.ros1 Alguns !edidosE <KK naturalmenteE eram de a!enas um li.roV outros eram maiore ,a.ia grandes cele/ra0es sem!re Mue a!arecia um !edid su!erior a qI1HHH1 j Eram des!ac"ados cerca de IH1HHH li.ros !or ano1 Malgrado a !eMuena escalaE a 6$7*D$8 Press funciona.a d modo muito semel"ante ao das grandes editoras1 As .endas eram feita .ia !edidos escritosE !or telefoneE ou diretamente Fisto 2E um cliente Mu entra.a nos escritYrios da 6$7*D$8 inc1G6$7*D$8 Press !ara corr !rar um li.roO1 $s !agamentos !odiam ser efetuados a din"eiro Fo Mu era raroOE !or c"eMue ou !or carto de cr2dito1 Como Muesto de normV os !edidos inferiores a q9HH tin"am de ser !agos anteci!adamen os !edidos grandesE !rinci!almente os de li.rarias e em!resasE norma mente eWigiam fatura1 Para entender as o!era0es de uma editoraE 2 !reciso con"ecer conceito de de.olu0es1 'e um cliente indi.idual ou uma cor!ora c"egasse Z concluso de Mue um li.ro no se adeMua.a a suas necessid des ou Mue tin"a sido danificado na remessaE geralmente de.ol.iam li.ro e solicita.am um reem/olso1 Isso ocorria normalmente dentro d alguns dias de!ois Mue a remessa ti.esse sido rece/ida !elo cliente1 A li.rariasE !or outro ladoE tin"am o !ri.il2gio de de.ol.er at2 a metad dos li.ros de um !edido no !ra&o de um ano a !artir da data de cntrad do !edidoV isso 2 normal na ind3stria editorialE !orMue as li.rarias muita .e&es no sa/em de antemo Mual ser a demanda !or um li.ro e Muc rem e.itar encal"es de estoMue Mue no conseguem .ender1 F1@ $ M$DE-$ AMBIE8TA- F1@1 9 A Declarao de $/Leti.os $ o/Leti.o do 6$7*D$8 Press lnformauon '#stem F6PI'O 2 mar ter informa0es necessrias Z .enda de li.ros a clientes1 Isso inclui entra da de !edidosE faturamentoE gerao de documentos de remessasE cor trole de in.entrio e !roduo de relatYrios so/re direitos autorais relatYrios cont/eis1 <KD F1@1: $ Diagrama de ConteWto Figura F1J> Diagrama de ConteWto do sistema 6PR' F1@1@ A -ista de E.entos A lista de e.entos do 6PI' com!0e?se de JH e.entos1 A maioria deles 2 dirigida !elo fluWoE em/ora a maior !arte dos e.entos relati.os ao De!artamento de Conta/ilidade seLa !eriYdica1 $s e.entos so rela cionados a seguirV os e.entos !eriYdicos esto marcados com um T a!Ys a descrio do e.ento1 91 Cliente !ede li.ro Fisso tam/2m inclui !edidos urgentesO1 :1 Cliente en.ia !agamento1 @1 Cli2nte solicita informa0es so/re li.ros F!reo etc1O1 J1 Cliente solicita !ermisso !ara restituir um li.ro1 I1 Cliente indaga a situao de um !edido de li.ros1 <1 Cliente indaga a situao de uma fatura1 <KC K1 Cliente necessita da !osio FmensalO1 F9O D1 Cliente solicita cr2dito1 C1 Cliente Muer c"eMue de reem/olso1 9H1 Conta/ilidade !recisa FdiariamenteO da receita em din"eiro1 FTO 991 Conta/ilidade !recisa FdiariamenteO do relatYrio de receita1 F9O 9:1 Conta/ilidade !recisa FmensalmenteO do relatYrio da receita lXMu da1 F9O 9@1 Conta/ilidade !recisa FtrimestralmenteO do relatYrio de direitF autorais dos autores1 FTO 9J1 Conta/ilidade !recisa FmensalmenteO dos dados de in.entrio1 $ 9I1 Conta/ilidade !recisa FmensalmenteO do relatYrio de comiss0es c .endas1 ( 9<1 A Direo esta/elece no.o limite de cr2dito !ara um cliente1 9K1 Conta/ilidade !recisa FmensalmenteO do relatYrio de contas a rec /er atrasadas1 FD 9D1 Grfica a!resenta cotao !ara !edido dc im!resso Fou reim!re s oO1 9C1 Direo autori&a um !edido de im!resso1 :H1 Grfica informa Muantidade eWata de im!resso e data de entrega :91 Grfica remete fatura de im!resso1 ::1 Direo solicita cotao de !edido de im!resso1 :@1 Comerciali&ao solicita etiMuetas !ostais do /anco de dados d clientes1 <DH :J1 Comerciali&ao !recisa de estatXsticas de .endas de li.ros1 :I1 Comerciali&ao !recisa data de entrada em estoMue de no.os tXtulos1 :<1 Editores anunciam no.o tXtulo de li.ro Fdata de !rontificao grficaO1 :K1 Autores !recisam de relatYrios de direitos autorais trimestrais1 FD :D1 De!Ysito !recisa de dados !ara remessas e etiMuetas !ostais1 F9O :C1 De!Ysito rece/e li.ros da grfica1 @H1 De!Ysito rece/e de.olu0es de li.ros de cliente1 @91 De!Ysito reali&a FmensalmenteO in.entrio fisico1 @:1 De!Ysito remete !edido de li.ros !ara cliente1 @@1 De!Ysito anuncia Mue um li.ro est em falta no estoMue1 @J1 $ De!artamento de AMuisi0es anuncia o !roLeto de um no.o li.ro1 @I1 Qendedor a!resenta !edido cm nome de cliente1 @<1 Comerciali&ao declara Mue um li.ro no 2 mais im!resso1 @K1 Cliente informa mudana de endereo1 @D1 Autor informa mudana de endereo1 @C1 Cliente dcre ao !lano da agAncia1 JH1 Fatura !recisa ser rcmc7da !ara cliente1 F9O <D9 F1J $ M$DE-$ C$MP$*TAME8TA- F1J1 9 $ Modelo Com!ortamental Preliminar> Diagramas de FluWo de Dados Cada um dos JH e.entos listados na seo F1@1@ tem um diagraXr de fluWo de dados associado1 ^ claro Mue a ati.idade de im!resso de ui li.ro torna im!ossX.elE !ara di&er o mXnimoE interligar todos os JH diagrV mas em um 3nico diagrama com!osto re!resentando todo o sistem Como ressaltamos no ca!Xtulo 9CE esse 2 o ti!o de eWercXcio Mue eWi uma fol"a de !a!el muito grande ? ou .rias fol"as !eMuenas colada DeiWo isso como eWercXcio !ara o leitor1 $s diagramas foram desen"ados com a Qerso :1H do !acote d soft4are DesignE da Meta '#stems Inc1E dc Cam/ridgeE Mass1 Em/ora n seLa uma com!leta caiWa de ferramentas CA'EE ele 2 mais sofisticado Mu a maioria dos !acotes grficos sim!lesV e tem a .antagem de funcionV em um com!utador Macintos"E Mue foi utili&ado na !re!arao des li.ro1 Para acomodar o !rograma DcsignE a!resentei os de!Ysitos nc DFD com a notao .ista na figura F1I1 d 8$MED$DEPn'IT Figura F1I> 8otao de de!Ysitos no estudo de caso da 6$7*D$8 Press Ao desen"ar os DFD !reliminaresE tomei nota dos erros Mue encor trei e das modifica0es Mue !erce/i Mue !recisa.am ser feitas em outra !artes do modeloV essas notas esto relacionadas a/aiWo dc cada DFD1 moti.o !ara isso 2 enfati&ar Mue em um !roLeto do mundo real o analist de sistemas raramente desen"a um DFD !erfeito da !rimeira .e&V a! !ensar so/re o sistema e de!ois de continuas entre.istas com o usuric 2 ine.it.el Mue se descu/ram erros no DFD cm eWame ou em algum outra !arte do modelo do sistema1 8o foi feita MualMuer tentati.a de criar um dicionrio de dadc organi&ado durante o desen.ol.imento do modelo com!ortament !reliminar1 A!Ys a criao do modelo dc DFD inicialE foram es/oada as es!ecifica0es de !rocesso !ara .erificar se "a.ia algum erro e.ider teV muitos desses erros a!arecem como comentrio@ nas !ginas seguir tes1 Em seguida foi criado um conLunto dc DFIO cm nX.eisE sendo tarr /2m desen.ol.ido o dicionrio dc dados1 <D: 8otas De!ois de desen"ar a !rimeira .erso deste diagramaE lem/rei?me Mue os !edidos em carto de cr2dito normalmente eWigem uma autori&ao se o .alor esti.er acima de um certo limite1 A 6$7*D$8 Press aceita.a !edidos !agos !elo MastercardE Qisa e American EW!ressE daX a interface com o terminador _AGb8CIA' DE C*^DIT$=1 :1 7m !ouco mais de raciocXnio so/re a situao de cr2dito e.iden ciou Mue a definio de cliente no de!Ysito C-IE8TE' teria de incluir o cam!o limite?de?cr2dito1 Ficou tam/2m e.idente Mue "a.ia a necessidade de um e.ento !ara mudar o limite de cr2dito do cliente Fe.ento 9<O Mue antes no tin"a sido !erce/ida1 @1 $/ser.e Mue os !edidos no so des!ac"ados na modalidade de um !or .e&E com a eWceo dos !edidos urgentes1 $s detal"es de um !edido urgente so en.iados imediatamente !ara o De!YsitoV todos os outros !edidos so sim!lesmente arma&enados no de!Ysi to PEDID$'1 Como um e.ento se!arado Fe.ento :DOE o De!Ysito <D@ E.ento 9> Cliente !ede li.ro rece/e etiMuetas !ostais e instru0es de em/arMue !ara um gru! de !edidos Fnormalmente os !edidos de um diaO1 EsMueci?me dc !edidos urgentes na .erso inicial do diagrama1 J1 Tuando esta.a desen"ando este diagramaE !erce/i tam/2m a n cessidade de um de!Ysito A*T7IQ$'E Mue 2 uma cY!ia do !edid original do cliente FouE no caso de !edido !or telefoneE uma cY! do formulrio do .endedorOE mais uma cY!ia da fatura gerada !ai o !edido1 A cY!ia da fatura no 2 necessria em um modelo esse cia` Fuma .e& Mue !ode ser regeradaOE mas os outros documentc so necessrios no caso de uma d3.ida !osterior com o clienteE no caso de auditorias ou in.estiga0es das autoridades fiscais etc I1 Perce/a Mue os !edidos !odem ser rece/idos !elo correioE ! telefone ou !essoalmente1 8o mostramos isso no DFD acimaE uni .e& Mue so fun0es trans!ortadoras1 <1 $/ser.e Mue o sistema no reno.a !edidos de li.ros da grfic automaticamente1 Em .e& dissoE a direo 2 informada nas di.ersa ocasi0es em Mue o in.entrio caiu a/aiWo de um limite !reesta/e% cido1 Isso !ode ocorrer como resultado do e.ento 9E /em como d di.ersos outros e.entos1 K1 $s !edidos !odem ser rece/idos de no.os clientes F!rinci!almeni no.as li.rarias ou em!resas Mue encetaro contXnuos negYcios coi a 6$7*D$8 PressO1 AssimE um no.o registro ter de ser criado e> C-IE8TE' com a taWa de desconto !adro etc1 Esta 2 a ra&o d seta de duas !ontas entre a /ol"a 9 e o de!Ysito C-IE8TE'1 <DJ E.ento :> Cliente en.ia !agamento1 8otas $ !agamento !ode ser referente a .rias faturas diferentesE mas nem sem!re 2 e.idente Mue faturaFsO est FestoO incluXdaFsO1 os .e &es os clientes no identificam a fatura Mue est sendo !agaV al gumas .e&es eles identificam faturas Mue L foram !agas e Zs .e&es citam n3meros de faturas ineWistentes1 :1 os .e&es no fica /em definido dc onde .em o !agamento1 Isso .ale !rinci!almente !ara as cadeias dc li.rarias> a li.raria X6g na cidade A !ode !ertencer a um conglomeradoE PT*E na cidade B1 'e um c"eMue MualMuerE oriundo da PT* Cor!1E c"egar endereado Z 6$7*D$8 PrcssE !odemos no conseguir identificar a fatura e at2 a em!resa en.ol.ida1 Pagamentos desse ti!o so incluXdos em uma categoria cont/il denominada din"eiro no a!licado1 A !ressu!o sio 2 a de Mue se continuarmos remetendo faturas atrasadas !ara a li.raria X6g eles informaro Mue a fatura foi !aga !ela PT*1 @ 8ada garante Mue o !agamento corres!onda ao .alor eWato da fa Alguns !agamentos so maiores ou menores !or uma !e Muena im!ortPncia aleatYria1 Alguns clientes tentam no !agar os im!ostos so/re .endas ou as taWas dc remessaV isso costuma resul tar em !agamentos inferiores em um ou dois dYlares ao .alor de.ido1 <DI ID?de?cl lente t E.ento @> Cliente solicita informa0es so/re li.ros1 8otas 91 $ cliente geralmente indaga coisas como o !reo de um li.roE o Muando um no.o li.ro de.er estar em estoMueE ou a ta/ela d desconto !or .olume1 <D< t consulta res!osta?de informao?de?li.ro 8otas 91 $s clientes de.em o/ter !ermisso da 6$tR*IO$8 Press antes cc restituir li.ros1 Eles nunca o fa&em1 :1 As de.olu0es reais c"egam mais tarde e !odem ou no coincidir com a de.oluo !retendida e Mue "a.ia sido autori&ada1 @1 $/ser.e Mue uma de.oluo solicitada tem Mue ser com!arada com o !edido original1 E.ento J> Cliente solicita !ermisso !ara restituir um li.ro1 D?de?cliente t solicitao?de?de.oluo 8otas 91 A remessa de um !edido de cliente !ode ser retardada !or caus da demanda no de!Ysito ou !or falta de estoMue do li.ro1 ^ a !c tencial demora Mue !ro.oca a consulta do cliente1 :1 'e o cliente resol.er cancelar o !edido nesse momentoE isso considerado como um e.ento Z !arte1 @1 $utra !ossi/ilidade 2 Mue o !edido no ten"a sido rece/ido n 6$7*D$8 Press Fou !or eWtra.io !elos Correios ou em algur lugar na sala de des!ac"os do escritYrio do cliente ou dV 6$7*D$8 PressO1 J1 $ !edido !ode ter sido rece/ido na 6$7*D$8 Press e !rocessa doV na realidade !ode ser at2 Mue o de!Ysito ten"a remetido !edidoE mas ele ten"a sido eWtra.iado !elos Correios Fou !o outra agAncia de entregasO no camin"o at2 o usurio1 Esse caso tratado do mesmo modo FeW1> o usurio !ode resol.er cancelar !edido nesse momento ou solicitar um cr2dito e entregar o !cdid no.amenteO1 I1 EnMuanto esla.a !re!arando este IOFlOE !erce/i Mue as faturas nZc eram en.iadas !ara o cliente Fo des!ac"o dos li.ros !ci <DD E.ento I> Cliente indaga a situao de um !edido de li.ros1 res!osta?de ID?de?de!Ysito t nade fatura t de?!edido ID?de?cliente t consulta?de? de!YsitoFalmoWarifadoO e o en.io da fatura !elo escritYrio central da 6$7*D$8 Press so dois e.entos distintosO1 AssimE !recisamos de um de!Ysito se!arado !ara faturas e um e.ento !eriYdico !ara fa&er com Mue as faturas seLam remetidas1 E.ento <> Cliente indaga so/re a situao de uma fatura1 8otas 91 A !ergunta do cliente !ode ser relati.a Z taWa de desconto Mue foi cotada na faturaE ou Zs taWas de remessaE im!ostos so/re .endas ou outros detal"es da fatura1 :1 'e o usurio fi&er uma indagao mais geral so/re todos os seus !edidosE !agamentos e coisas assimE o e.ento K 2 a !arte do siste ma Mue cuida do assunto1 @1 Para este e.ento 2 necessrio um n3mero?de?fatura !ara Mue se !ossa recu!erar informa0es so/re o !edido Fn3mero?de?fatura 2 um com!onente de consulta?so/re? faturaE como ser .isto no dicionrio de dadosO1 <DC E.ento K> Cliente necessita da !osio FmensalmenteO1 8otas 91 EnMuanto tra/al"a.a neste DFDE desco/ri a ncccssidadc dc u e.ento !ara !ermitir Mue o cliente solicitasse um cr2dito Fe.ento D :1 $/ser.e Mue este e.ento 2 !eriYdico Fisto 2E as !osi0es so gcn das regularmenteE uma .e& !or mAsO1 <CH E.ento D> Cliente solicita cr2dito1 8otas 91 $ cliente !ode rece/er um cr2dito !or di.ersos moti.os> j 7m erro no !edido original Fo cliente !ode ter rece/ido um des conto errado ou ter sido co/rado um !reo errado etcO1 j $ cliente rece/eu mercadoria danificada FeW1> os li.ros foram rasgados !elo correioO1 j $ cliente rece/eu uma remessa menor do Mue de.eria !or causa de um erro do de!Ysito1 Ento ele deseLa um cr2dito !elos li.ros no rece/idosE em lugar de rece/er os li.ros Mue faltaram1 j $ cliente !agou a mais !or uma ou mais faturas anteriores e sY agora desco/riu o fato Fnormalmente o !agamento eWcessi .o tornar?se?ia e.idente Muando ele rece/esse sua !osio seguinteO1 <C9 ID?de de!Ysito t n de fatura t notificao?de?no?remessa solicitao?de?aut?de?cr2ditoG res!osta?de?a ut?de?cr2d ito ;9 "ou.e uma eWcessi.a demora na remessaE de modo Mue o clier te resol.eu cancelar o !edido1 :1 A tarefa !rinci!al desta /ol"a 2 atuali&ar a situao do cr2dito d cliente1 @1 EntretantoE o/ser.e Mue a direo !ode autori&ar o cr2dito1 Fst e.ento foi desen"ado !ara retratar uma imediata res!osta da dirc oE de forma a Mue uma res!osta !ossa ser dada ao cliente1 lss e.ita um de!Ysito _!endente] dc solicita0es de auiori&a0es d cr2ditoE MueE de outra formaE seria necessrio1 J1 $/ser.e Mue esta ati.idade nada tem a .er com de.olu0es d li.rosE Mue so tratadas se!aradamente1 E.ento C> Cliente Muer c"eMue de reem/olso1 res!osta?de solicitao?de c"eMue reem/olso de?reem/olso 8otas 91 8ada " a o!or se o cliente realmente necessita de um acerto d cr2dito1 8a maioria dos casosE o cliente a!licar um cr2dito su!lc mentar em futuras com!ras1 EntretantoE !or .e&es ele Muer un c"eMueE ou !orMue no !retenda fa&er MualMuer com!ra futura oi !or algum outro moti.o1 <C: E.ento 9H> Conta/ilidade !recisa FdiariamenteO da receita em din"eiro1 E.ento 99> Conta/ilidade !recisa FdiariamenteO do relatYrio da receita1 din"eiro t relatYrio?de?caiWa relatYrio da ? receita ? diria <C@ E.ento 9:> Conta/ilidade !recisa FmensalmenteO do relatYrio da receita lXMuida1 <CJ relatYrios?da?receita E.ento 9@> Conta/ilidade !recisa FtrimestralmenteO do relatYrio de direitos autorais dos autores1 8otas 91 Precisamos ter acesso ao de!Ysito -IQ*$' !ara o/termos a taWa de direitos do autor do li.ro Fo mesmo autor !ode ter taWas diferentes de direitos !ara li.ros diferentesO1 :1 Precisamos ter acesso ao de!Ysito A7T$*E' !ara o/termos o n3mero do 'eguro 'ocial do autorE seu endereo etc1 @ Tam/2m !recisamos ter acesso ao de!Ysito -IQ*$' !ara .ermos se eWiste algum adiantamento !endente FMue !ode ter sido con cedido como resultado do e.ento @JO e !ara atuali&?lo !ara refletir os direitos cumulati.os !resentemente de.idos1 J1 $/ser.e Mue os direitos relati.os a MualMuer !erXodo !odem ser negati.os se as de.olu0es de li.ros relati.as ZMuele !erXodo eWce derem o n3mero de no.os li.ros !edidos1 <CI I1 Precisamos do de!Ysito PEDID$' !orMue a conta/ilidade Muc detal"es so/re Muem com!rou os li.ros1 8o !recisamos disso n e.ento :K1 E.ento 9J> Conta/ilidade !recisa FmensalmenteO dos dados de in.entrio1 relatYrio de in.entrio 8otas 91 $ in.entrio 2 atuali&ado dc forma no sincroni&ada em decoi rAncia de !edidosE de.olu0esE rece/imento dc no.as remessas d grfica e de in.entrios flsicos1 :1 $/ser.e Mue este relatYrio mostra li.ros Mue foram !edidosE ma Mue !odem no ter sido remetidos !elos de!Ysitos1 Ele no corrc !onderia necessariamente a um in.entrio fisico feito simultanca mente em .irtude do duto dc !edidos Mue foram !rocessados ma ainda no ten"am sido remetidos1 <C< 8otas 91 Presume?se Mue os .endedores rece/em uma comisso mesmo Mue o cliente no ten"a !ago !elo !edido1 ^ ignorado o !ro/lema real de restituir a comisso se o cliente nunca .ier a !agar !elo !edido e a fatura corres!ondente ten"a Mue ser anulada1 :1 $/ser.e Mue muitas .endas no esto associadas a um determina do .endedorV os !edidos so rece/idosE sem serem solicitadosE em decorrAncia de cam!an"as !ostais diretasE re.istas so/re !rocessa mento de dadosE e coisas semel"antes1 @1 Este modelo tam/2m !ressu!0e Mue todos os .endedores rece/em a mesma taWa de comissoE e Mue a comisso 2 a mesma !ara todos os li.ros1 EntretantoE a taWa dc comisso !ode ser alterada !ela di1reo a cada .e& Mue este e.ento ocorre1 J1 $ modelo tam/2m !resume Mue temos dc mostrar os delal/es do !edido aos .endedoresE !orMue Fsendo eles tX!icos .endedores !aranYicosO eles no acreditam no com!utador1 <CK E.ento 9I> Conta/ilidade !recisa FmensalmenteO do relatYrio de comiss0es de .endas1 relatYrio de 7m ite?de?crYdito E.ento 9<> Direo esta/elece no.o limite de cr2dito !ara um cliente1 8otas 91 A direo !ode decidir alterar o limite de cr2dito de um cliente ! uma s2rie de ra&0esE das Muais a mais comum 2 o demorado !ag mento de faturas anteriores1 EntretantoE tam/2m !ode ocorrer !} moti.o de falAncia do cliente ou se a direo !erce/er Mue condi0es gerais do mercado se modificaram1 <CD E.ento 9K> Conta/ilidade !recisa FmensalmenteO do relatYrio de contas a rece/er atrasadas1 <CC E.ento 9D> Grfica a!resenta cotao !ara !edido de im!resso Fou de reim!ressoO1 8otas 91 $/ser.e Mue o sistema no !rocessa a cotao da grficaV ela sim!lesmente !assada !ara a X :1 Como o sistema no fa& MualMuer !rocessamentoE no fica e.iden ciado !orMue esse e.ento de.a ocorrer F!or outro ladoE !ode?s o/Letar Mue o sistema tem a res!onsa/ilidade de ser.ir como con dutoE ou interfaceE entre as grficas eWternas e a direo d 6$7*D$8 PressO1 De MualMuer formaE isto !ermite a futura !ossi /ilidade de o sistema fa&er !edidos automaticamenteE com /ase en crit2rios !reesta/elecidos1 KHH E.ento 9C> Direo autori&a um !edido de im!resso1 cYdigo?de?li.ro t Muantidade?!edida t data?de?dis!oni/ilidade KH9 E.ento :H> Grfica informa Muantidade eWata de im!resso e data de entrega1 8otas 91 A conta/ilidade !recisa das informa0es de !edidos de li.ros re.is tos !ara !oder controlar os custos unitrios1 IssoE em com/inac com o e.ento 9JE !ermite Mue a conta/ilidade controle o .alor dc in.entrio na modalidade FIF$ F!rimeiro a entrar ? !rimeiro a sairO1 :1 $/ser.e Mue isso !ressu!0e Mue a grfica no fa& modifica0es im!ortantes em sua cotao original1 8a !rticaE a grfica im!rime uma Muantidade menor ou maior Mue a originalmente !re.ista em cerca de 9 a :f FeW1V um !edido de im!resso de :1HHH cY!ias de um li.ro !ode resultar na im!resso de :1H@K li.rosO1 8ormalmenteE a grfica tam/2m aguarda at2 esse momento !ara cotar a remessa e outras altera0es1 KH: ID?de?grfica t !edido?de?im!resso? E.ento :9> Grfica en.ia fatura de im!resso1 8otas 91 Este diagrama !ressu!0e Mue a direo atender Z fatura da grfica imediatamente1 $/ser.e Mue o 6PI' no !rodu& um c"eMue ? a!enas informa Z conta/ilidade Mue de.e ser emitido um c"eMue1 :1 Este modelo tam/2m !ressu!0e Mue "a.er uma fatura se!arada !ara cada !edido de im!resso e tam/2m Mue "a.er somente um !edido de im!resso !endente em cada momento1 @1 ;$/ser.e Mue o faturamento ocorre de forma no sincroni&ada com a remessa dos li.ros !ela grfica1 Como um e.ento em se!a radoE o de!Ysito informa ao sistema Mue os li.ros foram rece/idos da grfica1 J1 Presume?se tam/2m Mue o .alor da fatura 2 igual ao Mue foi a!re sentado na estimati.a re.ista Fe.ento :HO1 KH@ fatura?de?grfica a!ro.ada cYdigo?de?li.ro t Muantidade t 8otas 91 $/ser.e Mue geralmente so consultadas di.ersas grficas !ara Muc se o/ten"a .rias cota0es de !reos1 Essas cota0es so rece/ida como um e.ento assXncronoE e cada cotao 2 en.iada !ara a dire o Fe.ento 9DO1 :1 $/ser.e Mue as grficas no res!ondem com a cotao de imedia toV contudoE !resume? se Mue e.entualmente o faro1 KHJ I1 $/ser.e Mue algumas grficas insistem em um !agamento !arcia adiantado so/re faturasV este modelo no le.a isso en considerao1 E.ento ::> Direo solicita cotao de !edido de im!resso1 solicitao?de cotao {Muantida E.ento :@> Comerciali&ao solicita etiMuetas !ostais do /anco de dados de clientes1 etiMuetas?!ostais solicitao?de etiMuetas KHI E.ento :J> Comercia9i&a !recisa de estatXsticas de .endas de li.ros1 E.ento :I> Comerciali&ao !recisa de dados de entrada em estoMue de no.os tXtulos1 KH< E.ento :<> Editores anunciam no.o tXtulo de li.ro Fdata de !rontificao grficaO1 8otas 91 EnMuanto dese-l.ol.ia este modeloE !erce/i a necessidade de oca sionalmente su!rimir li.ros do sistema1 Isso raramente aconteceE mas a comerciali&ao .e& !or outra decide \matarl um li.ro decla rando?o fora de im!resso Fe.ento @<O1 :1 Em/ora este e.ento realmente crie um no.o registro li.ro Fo li.ro no 2 considerado real e fa&endo !arte do sistema at2 Mue os editores ten"am terminado de edit?lo e esteLam !restes a en.i?lo !ara uma grficaOE !recisamos criar tam/2m um registro autor1 Isso 2 feito !elo e.ento @J1 KHK 8otas 91 Este e.ento 2 semel"ante ao e.ento 9@E eWceto !elo fato de o rei tYrio ser entregue aos autores e no Z conta/ilidade1 :1 $/ser.e Mue a conta/ilidade Muer .er informa0es detal"adasE ii duindo a identificao dos clientes a Muem foi .endido um li.r Essa informao no 2 dada aos autores1 KHD E.ento :K> Autores !recisam de relatYrios trimestrais de direitos autorais1 relatYrio trimestral? de?direitos - II7/ E.ento :D> De!Ysito !recisa de dados de remessas e etiMuetas !ostais1 KHC E.ento :C> De!Ysito rece/e li.ro da grfica1 8otas 91 8o 2 le.ada em considerao a !ossi/ilidade de uma remess !arcial da grfica1 Isso acontece ocasionalmente> se "ou.er um demanda fora do comum !or um no.o li.ro F$u !ela reim!ress de um li.ro L eWistenteOE a grfica !ode acelerar a entrega da !rimeiras centenas de cY!ias Ftal.e& !or .ia a2reaO e remeter restante do !edido de im!resso !osteriormente1 :1 Este modelo tam/2m !resume Mue o .olume rece/ido !elo de!Ysi to seLa igual ao es!ecificado no e.ento :H1 K9H E.ento @H> De!Ysito rece/e li.ros de cliente1 8otas 91 $ sistema !ode instruir o de!Ysito a recusar de.olu0es de li.ros Mue no ten"am sido autori&adas1 Isso significa Mue o de!Ysito de .er notificar os Correios Fou a em!resa Mue efetuou a remessaO Mue os !acotes de.ero ser de.ol.idos ao remetente1 :1 $/ser.e Mue Zs .e&es 2 im!ossX.el sa/er Muem est fa&endo a de.oluoV isto 2E as informa0es encontradas nos !acotes de li.ros !odem no corres!onder a MualMuer cliente1 K99 E.ento @9> De!Ysito reali&a FmensalmenteO in.entrio fXsico1 K9: ID?de?de!Ysito t contagem?fXsica -IE8'1$E E.ento @:> De!Ysito remete !edido de li.ros !ara cliente1 8ota 91 Presume?se Mue no "aLa remessas !arciais relati.as a um !edido1 K9@ E.ento @@> De!Ysito anuncia Mue um li.ro est em falta no estoMue1 8otas 91 $/ser.e Mue a situao de falta de estoMue !ode ocorrer ou causa de um !edido de reim!resso Mue ainda no foi rece/idoE em decorrAncia de um !edido ines!eradamente grande ou ! furtos ocorridos no de!Ysito etc1 :1 Em conseMaAncia da situao de falta em estoMueE os !edidos !r cessados su/seMaentemente !odem no ser atendidos !or com!i toE mas isso 2 !ro/lema do de!Ysito1 K9J ID?de?de!Ysito t titulo?de?li.ro t fora?de?estoMue 8otas 91 Este diagrama mostra Mue o e.ento 9@ de.e ler o de!Ysito -IQ*$' !ara .erificar se eWiste algum adiantamento !endente1 :1 Este e.ento tam/2m cria um no.o registro de autor caso se trate de um no.o autor1 K9I E.ento @J> $ de!artamento de aMuisi0es anuncia o !roLeto de um no.o li.ro1 E.ento @I> Qendedor a!resenta !edido em nome de cliente1 8otas 91 $/ser.e Mue este e.ento 2 igual ao e.ento 9E eWceto !elo fato Mue o !edido 2 a!resentado !or um .endedor em lugar do client K9< 91? E.ento @<> Comerciali&ao declara Mue um li.ro no ser mais im!resso1 8otas 91 Isso !ode ser eWecutado eWternamente !ela sim!les sus!enso de toda a !u/licidade em torno de um determinado li.ro1 Em algum momento no mais "a.er !edidos dele1 :1 Tuando eWecutado como aMui mostradoE ele im!ede no.os !edi dos1 'u!0e?se Mue os de!Ysitos eliminaro o estoMue remanescente !ara a/rir es!ao de arma&enamento1 @1 Em situa0es reaisE so tomadas medidas !ara _liMuidar] o estoMue eWistente do li.ro1 Pode?se .ender o estoMue remanescente ao autor ou a uma li.raria Mue .ende com descontos !orE digamosE q$19$ o eWem!lar1 J1 //ser.e Mue o registro li.ro no !ode ser eliminado de -IQ*$' !elo menos at2 Mue ten"am sido emitidos o relatYrio cont/il mensal e a relao trimestral de direitos amorais1 Al2m dissoE !ode ainda "a.er !edidos !endentes Mue ainda no ten"am sido des!a c"ados !elo de!Ysito1 K9K I1 $/ser.e Mue todos os de!Ysitos !recisam ser informados da occ rAncia desse e.ento1 <1 8esta alturaE estamos !ressu!ondo Mue no " !edidos !endent na grfica> se as .endas foram insatisfatYrias ao !onto de retirarm o li.ro de im!ressoE 2 .irtualmente im!ossX.el imaginar Mue teni sido emitido um !edido de reim!resso1 E.ento @K> Cliente informa mudana de endereo1 K9D E.ento @D> Autor informa mudana de endereo1 K9C E.ento @C> Cliente adere ao !lano da agAncia1 8otas 91 $ !lano da agAncia 2 con"ecido !or di.ersos nomes na rea edit rial FeW1> _!lano !adro dc remessas]E _!lano garantido de remc sas]E _!lano !ermanente de !edidos] etc1O1 Ele 2 utili&ado Mua= Mue eWc !or li.rarias1 A li.raria a!resenta um !edi inicial de uma certa Muantidade de li.ros e concorda em aceitar u certo n3mero de cY!ias de cada no.o li.ro Mue a 6$7*D$8 Pre !u/licar1 K:H ID?de?cliente t res!osta?a?!lano da?agAncia E.ento JH> Fatura !recisa ser remetida !ara cliente1 K:9 F1J1: $ M$DE-$ C$MP$*TAME8TA- FI8A-> DIAG*AMA' DE F-7X$ DE DAD$' $ modelo com!ortamental inicial mostrado nas 3ltimas !ginas transformado em um conLunto de DFD su/di.idido em nX.eis1 A su/ .iso em nX.eis ascendentes !rodu&iu o diagrama de figura 9 mostraJ na !gina seguinteV ele 2 to com!leWo Mue no mostrei os detal"es todas as entradas e saXdas de todas as /ol"as1 As figuras su/seMaeni mostraro Muais e.entos foram agru!ados1 Em um dos casosE um e.er isolado Fo e.ento :<O no foi su/di.idido em nX.eis ascendentesE a!arece como o !rocesso I na figura 91 Em um outro caso Fe.ento 9O necessria uma adicional su/di.iso descendente !or causa da coi !leWidade do !rocessamento1 K:: Figura $> $ DFD de nX.el mais ele.ado K:@ entrada?de? saXdas?de grficas K:J Figura 9> Processar !ed idos Figura 919> Processar !edido K:I /aiWo K:< Figura :> Gerenciar clientes Figura @> Produ&ir relatYrios cont/eis K:K K:D Figura J> Gerenciar grficas cYdigo?de etiMuetas1!ostais -IQ*$ res!osta?de? Figura <> Interagir com comerciali&ao K:C ID?de?de!Ysito t n3mero?de fatura t data Figura K> Interagir com de!Ysitos K@H relatYrio?de? di adiantamentoG res!osta?de autori&ao?de adiantamento res!osta?de adiantamento Figura D> Interagir com autores K@9 F1J1@ $ DICI$8+*I$ DE DAD$' $ dicionrio de dados est organi&ado na forma descrita no ca! tulo 9H1 $s termos autodefinidos Felementos de dados cuLos significadc so suficientemente /em con"ecidos e Mue no reMuerem definio e !lXcitaO so a!resentados com a definio de 1 QeLaE como eWem!loE definio de _!aXs] e _estado]1 A7T?DE?DEQ$-7(A$? s }de!YsLto de dados utili&ad !ara controlar o n3mero seguin te de uma de.oluo autori&ad } aut?de?de.oluZo? aut?de?de.oluo? s }n3mero seMaencial utili&ad !ara identificar um conLunt es!ecXfico de li.ros de.ol.ido Mue ten"am sido autori&ados} {dXgito?num2ricou autor s }informa0eq eWistentes so/r cada autor} |ID?de?autor t detal"es?de autor t saldo?de?direitos A7T$*E' s {autoru autori&ao?de? de.oluo?de?li.ro }res!osta ao cliente Muando de!Ysito notifica o sistema d Mue as de.olu0es de li.ro foram rece/idas} d de.oluo no est au tori&ada] 9 _Esta de.olu est autori&ada]e autori&ao?de?fatura? de?grfica s }res!osta da direo de!ois d .erificao de uma fatura d grfica} d 9 _8)$]e caracter?alfa/2tico s }uma letra do alfa/eto} }} K@: caracter?alfanum2rico s }um n3meroE uma letra ou um sinal de !ontuaPo} d 9 dXgito? num2rico 9 sinal?de?!ontuao cliente ? }um cliente da 6$7PD$8 Press} |ID?de?cliente t Fnome?de?em !resaO t nome?de?cliente t endereo?de?cl t saldo? atual t limite?de?cr2dito t nX.el?de? !lanoSdaSagAncia }}C-IE8TE' ? {clienteu cYdigo?de?ano s }TI dois 3ltimos dXgitos do ano atual1 P1eW1> _DD]E se o ano atual for 9CDD} : {dX gito?num2rico O : cYdigo?de?li.ro s }cYdigo num2rico Mue ide& cada li.ro} l{dXgito?num2ricou cYdigo?!ostal s }cYdigo !ostal americanoE ca? nadense ou inglAs} }} comisso?totals }total !ago em comiss0es a um .endedor durante o !erXodo de um mAs com /ase em todos os li.ros Mue ele ten"a .endido1 Calculado no !rocesso @1<} }} consulta?de?cr2dito s solicitao de autori&ao a uma agAncia de cart0es de cr2dito !ara a com!ra de li .ros } _'olicitao de autori&ao] t n3mero?do?cartoSdeScr2dito t total?do?!edido contagem?de?in.e s }informao relati.a a uma contagem fXsica efetuada !or um de!Ysito} Fdetal"e?de?in.entrioO t na? data K@@ contagem?fisica s }contagem do n3mero de cY!ia de um mesmo titulo encontrada em um in.entrio fisico reali &ado !or um de!Ysito} }} cotao?de?grfica }cotaPo de uma grficaV um oferta !ara a in!resso de uni certa Muantidade de li.ros !o um determinado !reo} cYdigo?de?li.ro t !reo?de grfica cr2dito }cr2dito !essoal dado a u cliente face a algum !ro/lem com um !edido} |n3mero?da?fatura t ID?de cliente t data?do?cr2dito cYdigo?de?li.ro t Muantidade de?li.ros?de?cr2dito t .alor do?cr2dito C*^DIT$' s Fcr2ditoO cr2ditos?de?.endas }cr2ditos relati.os a um deter minado li.ro durante um !eriod es!ecificado} }unidades> dYlares} data?da?de.oluo s }data em Mue um gru!o de li.ro foi de.ol.ido} }} data?de?dis!oni/ilidade s }data em Mue um li.ro cuL im!resso foi solicitada de. c"egar ao de!Ysito} }} data?de?remessa s }data em Mue o de!Ysito des!a c"a um !edido} }} data?de?.endas s }data a!Ys a Mual todos o !edidosE cr2ditos e de.olu0es de.em ser incluidos no rela tYrio de estatisticas de .en das} }} K@J data?do?cr2dito ? }data em Mue um cr2dito foi concedido } }} data?do?!agamento }data em Mue o !agamento foi feito} }} data?do?reem/olso s }data em Mue o reem/olso foi a!ro.ado } }} data?do?saldo?atual ? }d na Mual o saldo atual do cliente foi calculado !ela 3ltima .e& Fnormalmente sendo !rodu&ido um eWtrato !ara o clXente} data?re.ista }no.a data esti!ulada !ela grfica !ara a entrega de um lote de li.ros !resentemente sendo im!ressos} }} desconto }!ercentual de desconto ofere? ciclo a um !edidoE eW!resso como uma frao do !reo a ser !agoE isto 2> um desconto de 9Hf se ria eW!resso cono H1CH} }LntenLalo> $ l1HH detal"e?de?in.entrio ? }contagem fisica de um 3nico titulo} cYdigo?de?li.ro t contagem fisica des!esas?de?remessa s }im!ortPncia des!endida na re messa de um li.ro !ara o clien te1 Ela !ode ter um .alor !a droni&adoE !1eW1> q9EIHE ou !o de ser }/aseada nas des!esas reais im? !ostas !or um trans!ortador} }unidades> dYlaresV inter.alo> o ? 9HH} K@I detal"es?de?autor ? }tLtuloSde1cortesLa t !rimeirc nome t 3ltimo?nome t endereo cidade t cYdigo?!ostal t F!ai t n3meroSdeStelefone} detal"es?de?cliente ? }Lnfor !ro.indas de cliente !ara alterar d+do' c seus registrosV eW1> um no endereo} Fnome?de?clienteO t Fnome da?em!resaO t Fendereo?de clienteO detal"es?de?de.oluo s }} fitem?de?de.oluoO detal"es?de?!edido s }dados /rutos a !artir do Muais ser !re!arado um !edid .lido e colocado no de!Ysit de dados PEDID$s}U ID de cliente eW!erimental {item?de?!edidou t taWa?de?im !osto?so/re?.endas t des!esas de?remessa t ti!o?de?!agament t F!agamento?de?!edidoO Fn3mero?de?carto?de?cr2ditoO !edido?sem?estoMue?$K t ti!o de?!edido detal"es ?de?!edi do? .lido s }dadog /rutos a !artir do Muais um !edido .lido !ode se1 !re!arado e colocado no de!Y sito de dados PEDID$'} }IDSdeScliente t {item?de?!e didou t taWa?de?im!osto?so/re .endas t des!esas?de?remessa ? ti!o?de?!agamento t F!agamento? de?!edidoO t Fn3mero?de?carto de?cr2ditoO t !edido?sem estoMue?$K t ti!o?de?!edido detal"es?do?!agamento s }info detal"adas so/re !agamento de um item ou faturk Fn3mero?da?faturaO t .alor total K@< de.oluo ? }Lnf$& so/re um gru!o de li.ros de.ol.idos e aceitos !ela 6$7*D$8 Press} data?da?de.oluo t cYdigo?de? li.ro t Muantidade?de.ol.ida t .alor?da?de.oluo de.oluo?autori&ada ? }Lnfo so/re um gru!o de li.ros Mue a 6$7*D$8 Press te n"a autori&ado um cliente a de .ol.er em troca de cr2dito} |aut?de?de.oluo? t detal"es? de?de.oluo DEQ$-7(rE' ? Fde.oluo DEQ$-7(rE'?A7T$*IgADA' } {de.oluo?autori&ada de.olu0es?de?.endas }de.olu0es relati.as a um li .ro durante um !erXodo es!eci ficado de tem!o} }unidades> dYlares} dXgito?num2rico ? }um sim!les digito num2rico`} }} DI8,EI*$ ? {din"eirou din"eiro }informa0es so/re c"eMuesE din"eiro .i.o e outras formas de moeda} |data?do?din"eiro t ID?de? cliente t {n3mero?da?faturau t .alor direito?de?item s }direitos garantidos !ela .enda de uma ou mais cY!ias do mesmo li.ro em um 3nico !edido} }unidades> dYlares} K@K documentos?de?remessa s }lista de se!arao e etiMueta !ostais en.iadas aos de!Ysito !ara Mue !ossam se!arar sufi cientes cY!ias de cada li.ro des!ac"ar os !edidos do diaE mais uma cY!ia de cada !edidc !ara Mue o de!Ysito sai/a Mu li.ros de.em ser em/alados !ara cada cliente} {ID?de?de!Ysito t lista?de? se!arao t {rYtulo?de?remessau t {!edidouu endereo?de?cliente ? }endereo !ara en.io de contas> !ara onde so remetidas as fa turas de clientes} endereo t cidade t estado cYdigo?!ostal t F!aisO endereo?de?grfica ? }endereo em Mue a grfica !ode ser contactada} endereo t cidade t estado t cYdigo?!ostal escol"a?de?!lano?da? agAncia ? }escol"a do cliente de acei tao de um nX.el de !lano da agAncia} $SJ} estado }estado ou !ro.Xncia em um en dereo} }} estatXsticas?de?.endas s }relatYrio !ara a Comerciali &ao so/re as .endas liMuidas de li.ros relati.amente a um determinado !erXodo de tem!o} {cYdigo?de?li.ro t receita?de .endas t de.olu0es?de?.endas t cr2ditos?de?.endas etiMuetas?!ostais ? }etiMuetas !ostais !rodu&idas !ara o de!artamento de comer ciali&ao} {clienteu K@D fatura ? }infor contidas em uma fatura da 6$7*D$8 Press} |n3mero?da??fatura t nome?de? cliente t endereo?de?clie t !edido fatura?de??grfica ? }fatura rece/ida de uma gr ficaE relati.a a um !edido de im!re as o } cYdigo?de?li.ro t .alor?da? fatura fatura?de?grfica a!ro.ada ? fatura de grfica a!ro.ada !ela direo} cYdigo?de?li.ro t .alor?da? fatura FAT7*A' ? {faturau grfica s }Lnfo so/re cada uma das grficas com Mue a 6$7*D$8 Press tem negYcios} |ID?de?grfica t nome?de? grfica t endereo?de?grfica G*+FICA' ? {grficau ID?de }LdentLfLcao de cada autor da 6$7*D$8 Press1 $s n3meros da 'ocial 'ecurit# no so utili &ados !orMue nem todos os au tores so cidados americanos} 3ltimo?nome t !rimeiro?nome ID?de?cliente s }LdentLfLcao de um cliente da 6$7*D$8 Presa1 Clientes desco n"ecidos ou no identificados so citados como _receita no a!li cada]E !rinci!almente Muanto a !agamentos d 9 _receita no a!licada]e K@C eW!erimental s }informa0es so/re um cliente ao ser a!resentado seu !rimeiro !edido} d t Fnome?de? clienteO 9 _no.o] t nome?de? cliente t Fnome?da?em!resaO t endereo?de?clienteO lD?c9e? s }identificao dos di.ersos de!Ysitos onde so arma&enados os li.ros da 6$7PD$8 Press} d 9 _-$8] 9 _DC] _'FH] 9 _6$8KE*'] 9 _$TTA5A]e ID?de?grfica s }cYdigo 3nico Mue identifica uma grfica} Fdigito?num2ricou ID?de?.endedor s }identificao de um .endedo& da 6$7*D$8 inc1 }} im!osto?so/re?.endass }igl!osto local ou estadual so /re .endas relati.o a um !e di do } }unLdades1 dYlares} indicador?de?fora?de? im!resso }indicao /inria se um li.rc est fora do estoMue de forma a Mue !edidos su/seMaentes Fse "ou.er algumO sero reLeitados d 8)$O informao?de?de.oluo? de?li.ro }informa0es so/re um gru!o de li.ros Mue foi de.ol.ido ao de !Ysito !or um cliente} FID?de?clienteO t Fnome?de clienteO t FcYdigo?de?li.ro J Muantidade?de.ol.idau t autori &ao?de?de.oluo? KJH instru0es?deSde.oluo s }nstru0es ao de!Ysito so/re como lidar com um conLunto de li.ros Mue o cliente de.ol.eu} F_Cliente no identificadoV aceitar li.rosE mesmo assim] 9 _De.oluo no autori&adaV fa .or remeter de.olta] 9 _-i.ro no eWiste] 9 _De.oluo au tori&ada]e instru0es?de?!edidoSdeS im!res so }instru0es da direo !ara re im!rimir um li.ro} ID?de?grfica t cYdigo?de?li.ro t Muantidade?a?im!rimir t data? de?dis!oni/ilidade in.entrio?total?de? li.ro total de eWem!lares de um determinado tituloE em todos os de!Ysitos da 6$7*D$8 Press} }} item?de?de.oluo }infon!a0es so/re uma ou mais cY!ias de um 3nico titulo Mue o cliente deseLa de.ol.er} cYdigo?de?li.ro t Muantidade?a? de.ol.er item?de?in.entrLo s }um gru!o de li.rosE com o mes mo tituloE locali&ado em um sY de!Ysito} |cYdigo?de?li.ro t |ID?de de!Ysito t Muantidade?de?in.e ntrio item?de?!edido s |n3mero?da?fatura t |cYdigo?de? li.ro t Muantidade?!edida t !reo?unitrio t desconto I9 {item?de?in.entriou ITE8'?DE?PEDID$ ? {item?de?!edidou KJ9 limite?de?cr2dito ? }.alor do cr2dito Mue ser con cedido a um cliente !ara !edi dos no !re.iamente !agos} }unidades> dYlaresV inter.alo 9?9H1 HHH} lista?de?se!arao s }Lndicao do n3mero de cY!ia de cade li.ro Mue um de !recisa se!arar !ara satisfa&e os !edidos de um dia} {tXtulo?de?li.ro t Muantidade a? se!arar li.ro s }informaNes eWistentes so/r um li.ro da 6$7*D$8 Press} |cYdigo?de?li.ro t tXtulo?de li.ro t total?em?estoMue ? Muantidade?!edida t data?em? estoMue t taWa?de?direitos indicador?de?fora?de?im!ressPc t estoMue?mXnimo -IQ*$' s {li.rou mensagem?de?estoMue? /aiWo }mensagem en.iada o direP Muando o sistema !erce/e Mue estoMue total de um li.ro cai a/aiWo de um limite !r2?esta /elecido} cYdigo?de?li.ro t total?em? estoMue t _tem!o !ara reim !resso] moti.o?do?cr2dito } do cliente !ara solici tar um cr2dito} d em eWcesso] _Demora eWcessi.a] 9 _*emessa insuficiente] _-i.ros danifi cados] 9 na?datas }a data em Mue foi reali&ado uW in.entrio fXsico} }} KJ: nX.el?de?!lano?da? agAncia }cYdigo Mue indica Mue ni.el de _estatutos] o cliente escol"eu !ara os futuros li.ros da 6$7*D$8 Press} }inte $SJ} nome?da??em!resa s }nome de uma em!resa ou de uma organi&ao} }} nome?de?cliente }tLtuloSdeScor t !rimeiro? nome t 3ltimo?nome nome?de?grfica }nome da em!resa grfica} }} nome?de?.endedor s }ncEme de um .endedor da 6$7PD$8 inc1 } }} notificao?de?remessa }mensagem de de!Ysito ao ser rece/ida uma im!resso da gr fica } F_-i.ro no eWiste] 9 _*ece/ido da grfica] t cYdigo?de?li.ro t Muantidade?rece/idae n3mero?da?fatura ? }n 3nico atri/uido a cada faturaV um n3mero tX!ico de fa tura 2 BDDSIH<K} _B] t cYdigo?do?ano t {dXgito num2rico n3mero?de?telefone }um n3mero de telefone} }} n3mero?do?carto?de? cr2dito s }um n3mero de carto de cr2dito fornecido !or um cliente Muando ele deseLa carregar um !edido de li.ros em seu carto de cr2? dito} }} KJ@ !agamento s }!agamento feito em relao um !edido de li.ros ou em re lao a uma fatura} FID?de?clienteO t data?do?!a gamento t detal"es?do?!agamentc !agamento?de?!edidos }!agamento feito ! c9ient C$M o !edido} }unidades> dlares} PAGAME8T$' s {!agamentou !ais s }nome de um !aisE eW1> _Ca nad] } }} !edido s }um !edido de um li.ro d 6$7*D$8 Press} |n3mero?da?fatura t ID?de cliente t data?do?!edido {item?!edidou t des!esas?de? remessa t im!osto?so/re?.endas t data?de?remessa t FID?de .endedorO t total?do?!edido ? ID?de?de!Ysito !edido?de?im!resso s }! de irr feito a urna grfica} cYdigo?de?li.ro t Muantidade?a? im!rimir !edido?de?im!resso? re.isto s }re.iso de um !edido de im !ressoE efetuada !or uma gr fica1 Consiste "a/itualmente en !eMuenas modifica0es na Muan tidade a ser im!ressa} cYdigo?de?li.ro t Muantidade? re.ista t data?re.ista !edido?sem?estoMue?$K s }indicao de se um cliente a!resentar um !edido mesmo Mue no "aLa li.rossuficientes nc estoMue} d 9 _8o]e PEDID$' s {!edidou KJJ !reo?de?grfica ? }!reo relati.o a urna cotao de grfica} }} !reo?unitrio ? }!reo esta/elecido !ara um eWem!lar de um li.ro da 6$7*D$8 Press ou !ara um !edido uni trioV o/ser.e Mue !ode ser di ferente do !reo unitrio _!a dro] ou _a retal"o] anunciado !ara o li.ro} }unidades> dYlares} !rimeiro?nome s }H !rimeiro nome de uma !essoa} }} Muantidade?a?de.ol.er }n de cY!ias do mesmo ti tulo Mue um cliente deseLa res tituir !ara o/ter cr2dito} }} Muantidade?a?im!rimir }ni de cY!ias de um li.ro a serem im!ressas} }} Muantidade?a?se!arar s }n3mero de cY!ias de um li.ro Mue !recisam ser se!aradas !ara satisfa&er os !edidos de um dia no de!Ysito} }} Muantidade?de?in.entrios }contagem do n3mero de eWem !lares do mesmo tituloE locali &ados em um mesmo de!Ysito} }} Muantidade?de??li.ros? do?cr2dito s }n3mero de cY!ias de um li.ro !ara o Mual est sendo !rocu? rado um cr2dito} }} Mua"tidade?de.ol.ida }n3mero de cY!ias de um li.ro Mue foram restituidos ao de? !Ysito !or um cliente} }} KJI Muantidade?do?!edidos }n3n1iero decY!ias de um li.r Mue foram solicitadas} }} Muantidade?!edida ? }n3mero de cY!ias de um li.r !edidas a uma grfica como !ar te de um !edido de im!ressAo} Muantidade?rece/ida ? }n3inero de cY!ias de um li.n Mue foram realmente rece/ida da grfica em conseMaAncia d um !edido de im!ressPo} }} Muantidade?re.ista s }re.iso do n3mero de li.ros serem im!ressos !ela grfica como !arte de um !edido di im!resso} }} receita?de?.endas s }receita /ruta de .endas de ur determinado li.ro durante ur es!ecificado !eriodo de tern!o }unidades> dYlares} receita?total s }.alor total da receita /ruta de todos os !edidos de li.ro em um n }unidades> dYlares} receita?total?de?li.ros s }receita total !ro.eniente d .enda de um li.ro durante un !eriodo de trAs mesesE conside rando?se cr2ditos e de.olu0es } dYlares} reem/olso s }informa0es so/re um reem /ol so} |data?do?reem/olso t |ID?de cliente t .alor?do?reem/olso *EEMB$-'$' s {reem/olsou relatYrio?de?comiss0es s }relatYrLo de comiss0es de .endas } {{ID?de?.endedor t n3mero?da?fatura t .alor?da comissou t total?da?comissZou KJ< relatYrio?de?contas? a?rece/er }relatYrio !ara a Conta/ilidade mostrando o saldo atual de cada cliente} {ID?de?cliente t d2/ito?atualu relatYrio?de?direitos? de?autor s }relatYrio !ara os autores mos trando direitos gan"os ou !er didos em .endasE cr2ditos e de .olu0es de cada li.ro durante um !erlodo de trAs meses } Ftotal?de?cY!ias?de?li.ro t re ceita?total?de?li.ro t total? de?direitos?de?li.ro relatYrio?de?in.entrio }relatYrio !rodu&ido !ara o De!artamento de Conta/ilidade} F{ID?de?de!Ysito t cYdigo?de? li.ro t Muantidade?de?in.en? triou t in.entrio?total?de? li.roO relatYrio?de?receita? diria }relatYrio en.iado ao De!ar tamento de Conta/ilidade a cada dia } Fn3mero?da?fatura t nome?de? cliente t nome?da?em!resa t total?do?!edido 9 t total?da?? receita?diria relatYrio?de ? receita ? mensal }relatYrio da receita totalE de.olu0es e cr2ditos relati.os a um 3nico mAsE en.iado ao De !artamento de Conta/ilidade} receita?total t total?de?de.o lu0es t total de cr2dito relatYrio?trimestral? 9e?direitos ? } relatYrio !ara o De!artamento de Conta/ilidade mostrando os direitos gan"os ou !erdidos em .endasE cr2ditos e restitui0es de cada li.ro durante um !erXo do de trAs meses} KJK {{ ID?de?cliente t nome?de?clienti t n3mero?da?fatura t receita?de item t direito?de? itemu t total de?cY!ias?de?li.ro t receita?to tal?de?li.ro t total?de?direitos de?li.roO renda?de?item ? }renda /ruta da .enda de uma H9 mais cY!ias do mesmo li.ro ei um 3nico !edido} }unidades> dYlares} res!osta?a?alterao? de?cliente ? }res!osta ao cliente Mue noti ficou uma alterao de ende reoE etc} F_Cliente no eWiste] _Ai= terao aceita]e res!osta?a?fatura?de? grfica s }res!osta do sistema Z grfic Muando rece/e uma fatura d grfica} d " !edidos !endente desse li.ro]e res!osta?a?fora?de? estoMue s }mensagem ao de!Ysito em res !osta Z sua indicao de Mue ur titulo est sem estoMue naMuei de!Ysito } d no eWiste] 9 _Erro item de in.entrio no encon trado] 9 _mensagem de falta d estoMue rece/ida]e res!osta?a?informa0es? de?li.ro s }i so/re tituloE !re etc de um li.ro} li.ro res!osta?a?in.?fisico ? }mensagem do sistema a ur de!Ysito em res!osta a um in.e4 trio fisico reali&ado} d no eWiste] _cYdigo de li.ro in.lido] codigo?de?l i.roe KJD res!osta?a?limite?de? cr2dito }res!osta a instru0es da di reo !ara alterar o limite de cr2dito de um cliente} d no eWiste] 9 _limite de cr2dito in.lido] 9 _8o.o limite de cr2dito $K]e a?!edido s }res!osta ao cliente ao intro du&ir um !edido} d da con!ra eWcede .alor !ago] 9 _Cr2dido solicitado ne gado] 9 _Pedido eWcede limite de cr2dito] 9 _8o " li.ros suficientes !ara atender seu !edido] _Cliente no eWiste] 9 _-i.ro no eWiste] 9 _TaWa de im!osto so/re .endas in.lida] 9 _Des!esas de remessa in.li das] 9 _Pedido aceito]e res!osta?a?!edido? de?im!resso }res!osta do sistema a um !e dido de im!resso da direo} d no eWiste] 19 _Tuanti dade de im!resso in.lida] 9 _Pedido de im!resso aceito]e res!osta?a?!edido?de? im!resso?re.isto S }r do sistema ao ser re ce/ido da grfica um !edido re.isto} d no eWiste] 9 _Pedido de im!resso re.isto $K]e res!osta?a?remoo? de?li.ro s }res!osta Z comerciali&ao Muando ela indicar Mue um li.ro de.e ser considerado fora de im!resso} d no eWiste] 9 _-i.ro marcado como fora de im !resso]e KJC res!osta?a?solicitao? de?de.oluo }res!osta a um cliente Mue de seLa de.ol.er um li.ro} d no encontrado] _-i.ros foram remetidos " mai de um ano] _Tuantidade d li.ros no !ode ser de.ol.ida= 9 _De.oluo $K] _Fa.or iden tificar de.oluo real com] 9 aut?de? de.oluo?e res!osta?de?adiantamentos }res!osta ao editor de aMui si0es Muando ele fa& uma soli citao de adiantamento de di reitos !ara um autor} d no eWiste] _-i.rc no eWiste] 9 _Adiantamentc a!ro.ado] 9 _Adiantamento ne gado]O res!osta?de?agAncia? de?cr2dito s }res!osta de uma agAncia dE carto de cr2dito a uma solici tao de autori&ao de co /rana } d 9 _8o]e res!osta?de?autori&ao? de?adiantamento s }res!osta da direo a uma so litao de adiantamento de di reitos !ara um autor} d _8o]O res!osta?de?cr2dito s }res!osta ao cliente Mue deseLa uma carta de cr2dito} d desse cliente nkc eWiste] 9 _Cr2dito L conce dido] _8en"um !agamento foi feito !ara esse n3mero de fa tura] 9 _Cr2dito ser mostradc na !rYWima declarao] 9 _Fa tura no foi !aga em eWcesso] _Qalor total do !edido credita do] 9 _Cr2dito !or remessa in suficiente>] t .alor?do?cr2ditc 9 _Cr2dito !or li.ros danifica dos>] t .alor?do?cr2ditoe KIH res!osta?de?em?estoMue s } a consulta da comer ciali&ao so/re a data em Mue estar em estoMue uma remessa de li.ros da grfica} d no eWiste] _no " remessas es!eradas] 9 data?de? dis!oni/ilidadee res!osta?de?fatura s }res!osta Z consulta de um cliente so/re uma fatura} d " !edidos com esse n3mero de fatura] 9 data?do? !edido t {itens?do?!edidou t des!esas?de?remessa t im!osto? o/re ?.enda s res!osta?de?reem/olso s }res!osta ao cliente Mue soli citou reem/olso} d no eWiste] 9 _*eem /olso inde.ido] t _'aldo atual 2] t saldo?atual 9 _reem/olso a!ro.ado]e res!osca?oe?remessa s }mensagem de erro a um de!Ysito em res!osta a sua notificao de Mue foi remetido o !edido de um cliente} _Pedido no encontrado] res!osta?de??situao? de?!edido s }res!osta a um cliente Mue con sultou a situao de um !edido Mue ele a!resentou} d " !edidos !ara esse n3mero de fatura] 9 data?do? !edido t {itens?de?!edidosu t data?de?remessae rYtulo?de?remessa s }rYtulos !ostais !ara os !edi dos do dia ao de!Ysito} nome?do?cliente t endereo?do? cliente t n3mero?da?fatura saldo?atual s }total em din"eiro !resente mente de.ido !or um clienteE } }8A DATA D$ 'A-D$SAT7A-} }unidades> dYlaresV inter.alo> 9 HHH} KI9 sinal?de?!ontuao s }.irg!ontoE !onto de eW clamaoE etc1} }} solicitao?de ? adiantamento?de? direitos s }solLcitaPo do editor ae aMui si0es !or um adiantamento de direitos !ara um autor relati .amente a um li.ro} ID?de?autor t cYdigo?de?li.ro t .alor?do?adiantamento solicitao?de? autori&ao? de?adiantamento s }mensagem Z direoE solici tando a!ro.ao !ara um adian tamento de direitos !ara o !roLeto de um li.ro} ID?de?autor t cYdigo?de?li.ro t .alor?do?adiantamento solicitao?de?c"eMue? de?adiantamento }mensagem ao De!artamento de Conta/ilidadeEsolicitando Mue seLa !ago um adiantamento au tori&ado de direitos} ID?de?autor t cYdigo?de?li.ro t .alor?do?adiantamento solicitao?de?c"eMue? de?reem/olso }mensagem ao De!artamento de Conta/ilidade solicitando a !re!arao de um c"eMue de re em/olso !ara um cliente} _Fa.or !agar] t ID?de?cliente t .alor?do?reem/olso solicitao?de?cYdigo? de?li.ro s }mensagem Z direo solicitando a atri/uio de um cYdigo?de li.ro a um no.o li.ro} _Fa.or atri/uir no.o cYdigo de li.ro ao seguinte li.roV] KI: solicitao?de?cr2dito s }solLcitao feita !or um cliente !ara cr2dito em relao a um !edido} ID?de?cliente t n3mero?da? fatura t cYdigo?de?li.ro t Muantidade?de?li.roa?do? cr2dito t nDti.o?do?cr2dito t .alor?de? cr2dito?solicitado solicitao?de?de.oluos }info so/re um ou mais li.ros Mue um cliente deseLa de.ol.er em troca de cr2dito} n3mero?da?fatura t detal"es?de? de.oluo solicitao?de?etiMuetas s }solicitao da Comerciali&ao !ara a !roduo de etiMuetas !ostais } _Fa.or !rodu&ir etiMuetas !os tais] solicitao?de?!reo? unitrio }mensagem Z Comerciali&ao solicitando o !reo unitrio de um no.o li.ro} _Fa.or indicar !reo unitrio !ara o seguinte li.ro>] solicitao?de?reem/olsos }solicitao de um cliente !or um c"eMue no .alor do seu saldo de cr2dito atual} ID?de?cliente t _solicitao de reem/ol so] solicitao?de?taWa? de?direitos s }mensagem ao de!artamento de aMuisi0es solicitando uma taWa de direitos !ara um no.o li.ro} _Fa.or indicar taWa de direitos !ara o seguinte li.ro>] solicitao?de?.endas }solicLtao do de!artamento de Comerciali&ao !ara Mue seLa !rodu&ido um relatYrio de .en? das !ara todos os !edidosE cr2 ditos e de.olu0es Mue ten"am ocor rido a!Ys a data es!ecificada} data?de?.endas KI@ taWa?de?comisso }taWa de comisso !aga a u .endedor !ela .enda de li.ros ^ eW!ressa !or uma frao} }inte $ ? H1:I} taWa?de?direitos }taWa de direitos !aga a u autor !or um li.ro eW!ress como uma !ercentagem1 EW1> 9 significa lHf} }inter.alo> IS:I} taWa?de??im!osto?so/re? .endas s }!ercentual do im!osto so/r .endasE eW!resso como uma fra o decimal1 P1eW1> um in!ost de Kf so/re .endas seria mdi cado como H1HK} }inteW H1HH ? 91HH} ti!o?de?!edido s }indica se o !edido foi a!re= sentado !or telefoneE !e- correio ou de forma ocasional d _Correio] 9 _$ca= sional]e ?? M }modo como o cliente !retendi !agar a com!ra de li.ros de 7` !edido} d _C"eMue] 9 _Car to de cr2dito] 9 _Co/rana]e titulo?de?cortesia s }!refiWo antes do !rimeiro nomi de uma !essoa} d 9 _'ra1] 9 _'rs1] _'rta1] 9 _Dr1] 9 _Prof1]e titulo?de?li.ro s }tXtulo com!leto de um li.ro d 6$7*D$8 Press} 9 {caracter?alfanum2rLcou total?da?receita?diria s }.alor total de no.as .enda registrado a cada dia} }unidades> dYlares} KIJ total?de?cY!ias?de?li.ros }n total de cY!ias de um li.ro .endidoE considerando de.olu0es e cr2ditosE durante um !erXodo de trAs meses} }} total?de?cr2dito s }.alor total dos cr2ditos con cedidos a todos os clientes em um 3nico mAs} }unidades> dYlares total?de?de.olu0es ? }im!ortPncia total relati.a a li.ros Mue foram de.ol.idos !or todos os clientes em um mAs} }unidades> dYlares} total?de?direitos?de? li.ro ? }direitos totais gan"os Fou !erdidosO em .endasE de.olu0es ou cr2ditos de um li.ro durante um !erXodo de trAs meses} } dYlares} total?do?!edido s }total faturado de um !edido} }unidades> dYlares} total?em?estoMue }n3mero de cY!ias de um li.ro da 6$tR*D$8 Press Mue temos em estoMue em todos os de!Ysitos} }inte 9 ? 9H1HHH} 3ltimo?nome }H 3ltimo nome de uma !essoa} .alor s }.alor em din"eiro rece/ido em um 3nico !agamento} }unidades> dYlares} .alor?da??comisso s }.alor da comisso !agaa um .endedor relati.a a um !edido de li.rosV calculada no !ro? cesso @1<} }} .al0r?da?de.oluo s }.alor de um gru!o de li.ros Mue ten"am sido de.ol.Xdos} }unidades> dYlares} KII .alor?da?fatura s }MuantLa co/rada !or uma gr fica em uma fatura relati.a um !edido de im!ressZo} }unLdadeg> dYlares} .alor?de?cr2dito? solicitado }.alor solicitado como cr2ditc }un idades> dYlares} .alor?do?adiantamento ? }Lm!ortPncLa solicitada con adiantamento de direitos} } dYlares} .alor?do?cr2dito s }.alor dado como cr2dito} }unLdades> dYlares} .alor?do?reem/olso ? a ser restituida um cliente} }unidades> dYlares } .endedor s |IDde.endedor t nome?de?.er dedor QE8DED$*E' s {.endedoru KI< F1J1 J $ Diagrama de Entidades?*elacionamentos KIK F1J1I Es!ec de Processos P*C 91919 ITA* DETM9 DE P BEGI8 IF Id?ds?cliente?eW!1rin s _no.o] ID?da?cliente s ID?de?cliente dis!oni.el seguinte limite?de?cr2dito ? limite de cr2dito !adro saldo?atual $ ni.el?da?!lano?da?agNncia $ cliente ID?de?cliente t nome?de?cliente t Fnome?da em!resaO t endereo?de?cliente t saldo?atual t limite?de?cr2dito t ni.al?de?!lano?da?agAncie APPE8D registro de no.o cliente a C-IE8TE' E-'E FI8D cliente em C-IE: com ID?de?cflent ? ID?da?cliente em detal"e a ?da?!edido IF registro no encontrado res!osta?a?!edido ? _Cliente no eWiste] DI'P-A6 res!osta?a? !edido EXI T }o/s1 >isto significa Mue o !edido no mais ser !roces sado } E8DIF D$ 5,I-E "ou.er item?da?!edido em detal"es?da?!edido FI8D li.ro em -IQI com cYdigo?da?li.ro s cYdigo?da? li.ro em item?d1?!edido IF registro no encontrado res!osta?a??!edido ? _-i.ro no eWiste] DI 'P-A6 res!osta?a? !edido EXI T }o/s1 > isto significa Mue o !edido no mais ser !rocessado } E8D 9 F E8D D$ IF taWa?de?i4!osto?sc esti.er fora do inter.alc res!osta?a?!edido ? _taWa de ir!osto so/re .endas in.lida] DI'P-A6 res!osta?a?!edido EXI T }o/s1> isto significa Mue o !edido no mais ser !rocessado} E8DIF IF des!esas?da?remessa esti ier fora do inter.alo res!osta?a?!edido s _der ;esas de remessa in.lidas] DI'P-A6 res!o a?a?!edido EXI T KID }o/s1 >isto significa Mue o !edido no mais ser !roces sado} E8DIF d1tal1"ea?de?!edido?.lido s ID?de?cliente t Fitein?da !edidoO t taWa?de?im!osto?so/re? .endas t des!esas?da r t ti!o?da?!agamento t F!agamento?da?!edidoO t Fnun t !edido? sam?estoMue?$ t ti!o?de?!edido DI'P-A6 F!ara o !rocesso 9191:O detal"es?da?!edido?.lido E8D 9=*$ 9191:> QE*IFICA* E'T$T7E DE -IQ*$ BEGI8 IF !edido?sem?estoMua?$K _'im] DI'P-A6 F!ara a /ol"a 9191@O detal"es?de?!edido? .lido t _6$8KE*'] E-'E IF ti!o?da?!edido s _$casional] D$ 5,I-E "ou.er item?da?!edido em detal"es?da?!edido .lido FI8D item?de?in.antrio em ITE8'?DE?I8QE8T com cYdigo?da?li.ro s cYdigo?de? li.ro em detal"es? de?!edido?.lido e ID?de?de!Ysito s local onde foi rece/ido esse !edido?ocasional *EAD registro item?da?in.entrio IF Muantidade?da?in.entrio h Muantidade?!edida res!osta?a?!edido s _8o " li.r suficientes !ara atender seu !edido] EXI T }o/s> isto significa Mue este !edido no ser mais !rocessado} E8D 9 F E8D D$ DI'P-A6 F!ara a /ol"a 9 1 91JO detal"es?da?!edido? .lido t ID?da?de!Ysito Fdo de!Ysito onde foi rece/ido este !edido ocasionalO E-'E li.ros?suficientes s _'im] PEPEAT?78TI- no "aLa de!Ysitos em DEPn'IT$' ou j li.ros?suficientes s _'im] j }o/s1> isto significa Mue !elo menos um de!Ysito ser eWaminado} li.ros?suficientes s _'im] D$ 5,I-E "ou.er item?da?!edido em detal"es?de? !edido?.lido FI8D item?de?in.entrio em ITE8'?DE?I8QE8T+*I$ com cYdigo?de?li.ro s cYdigo?de?li.ro em detal"es? KIC de?!edido?.lido e ID?de?de!Ysito ? ID?da de!Ysito do registro de!Ysito corrente *EAD registro iteWn?de?in.entrio IF Muantidade?da?in.entrio h Muantidade?!edida li.ros?suficientes ? _8o] E8DIF E8D D$ E8D *EPEAT IF li.ros?suficientes _8o] res!osta?a?!edido s _8o " li.ros suricientes !ar atender seu !edido] DI 'P-A6 res!osta?a?!edido E-'E DI'P-A6 F!ara a /ol"a 9191JO detal"es?de?!edido .lido t ID?de?de!Ysito do registro de!Ysito corrente E8DIF E8DIF E8D P*$ 9191@ Q A7T$PRgA(o$ DE 1tDIT$ BEGI8 !reo?total s $ PEPEAT 78TI- no "aLa itam?de??!edido em detal"es?de? !edido?.lido ADD FMuantidade?!edidaO } !reo?unitrio } descontoO a !reo?total E8D PEPEAT M7-TIP-6 !reo?total !or F9 t taWa?de?inosto?so/re .endasO ADD des!esas?de?remessa a !reo?total cr2dito?$K s _'im] CA'E ti!o?de?!agamento de CA'E ti!o?de?!agamento _Din"eiro] ou ti!o?de? !agamento s _C"eMue] IF !reo?total i !agamento?de?!edido res!osta?a?!edido _Qalor de com!ra eWcede .alor !ago] DI'P-A6 res!osta?a?!edido }o/s1> isto significa Mue este !edido no ser mais !rocessado} cr2dito?$K _8o] E8DIF CA'E ti!o?de?!agamento s _Carto de cr2dito] consulta?da?cr2dito s _'olicitao de autori&ao] t !reo?total DI'P-A6 F!ara a agAncia do carto de cr2ditoO K<H consulta?de?cr2dito ACCEPT Fda agAncia de cr2ditoO res!osta?da?agencia da?cr2dito IF res!osta?da?agAncia?de?cr2dito _8o] res!osta?a?!edido s _'olicitao de cr2dito negada] DI 'P-A6 res!osta?a?!edido cr2dito?$K _8o] }o/s1> isto significa Mue este !edido no ser mais !rocessado } E8DIF CA'E ti!o?da?!agamento ? _Co/rana] FI8D client1 em C-I com ID?da?client1 ? ID?de cliente em detal"es?da?!edido?.lido *EAD registro client1 IF saldo?atual1 t !reo?total i limite?de??cr2dito res!osta?a?!edido s _Pedido eWcede limite de cr2dito] DI'P-A6 res!osta?a?!edido cr2dito?$K ? _8o] }o/s> isto significa Mue este !edido no ser mais !rocessado} E8DIF E8D CA'E IF cr2dito?$K ? _'im] DI'P-A6 F!ara a /ol"a 9191JO detal"es?de?!edido?.lido t !reo?total t ID?de?de!Ysito DI'P- F!ara a /ol"a 9191IO detal"es?de?!edido?.lido t ID?de?de!Ysito E8DIF E8D P*$CE''$ 9191J I8T*$D7gI* PEDID$ BEGI8 D$ 5,I-E "ou.er item?da?!edido em detal"es?da?!edido? .lido C*EATE registro item?de?!edido a !artir do !rYWimo item?da?!edido em detal"es?da?!edido?.lido APPE8D registro item?da?!edido em ITE8'?DE?PEDID$ E8RO D$ C*EATE registro !edido a !artir de detal"es?de?!edido? .lido e ID?d1?de!Ysito APPE8D registro !edido em PEDID$' C*EATE registro fatura a !artir de detal"es?da?!edido .lido P registro fatura em F IF ti!o?do?!agamento s _Din"eiro] Nu _C"eMue] ou _Carto de cr2dito] K<9 CPEATE registro din"eiro a !artir de detal"es?de !edido?.lido APPE8D registro din"eiro a Dfl C*EATE registro !agamento a !artir de detal"es?de? !edido?.lido PPE8D registro !agamento a PAG9 E8DIF APPE8D detae1"es?d?!edido?.l ido a K Q$' res!osta?a?!edido ? _Pedido aceito] DI 'P-A6 res!osta?a?!edido E8D P*$ 9191I Q I8QE8T+*I$ PA*A *EI BEGI8 D$ 5,I-E "ou.er item?da?!edido em detal"es?da?!edido? .lido FI8D item?de?in.entrLo em ITE8'?DE?I8QE8T+*I$ com cYdigo?de?li.ro s cYdigo?de?li.ro em item?de?!edido ID?de?de!Y1ito coincidindo com ID?de?da!Ysito fornecido como entrada neste !rocesso *EAD registro item?da?in.entrio '7BT*ACT Muantidade?!edida de Muantidade?da? in.entrio }o/s1> esta o!erao !ode resultar em saldo negati.oE }H Mue significa Mue o de!Ysito no !oder satisfa&er= o !edido at2 Z c"egada de uma reim!resso} 5*ITE registro item?da?in.entrio FI8D li.ro em -IQ com cYdigo?de?li.ro cYdigo?da? li.ro em itam?da?!edido *EAD registro li.ro '7BT*ACT Muantidade?!edida de total ?em??estoMue 5*ITE registro li.ro IF total?em?estoMue h estoMue?minimo mensagem?de?estoMue?/aiWo s cYdigo?da?li.ro t total? em?estoMue t _"ora de reim!rimir] DI'P-A6 mensagem?da?estoMue?/aiWo E8D 9 F E8D D$ E8D P*$ 91:> PI PEDID$ DE QE A esta alturaE a norma !ara o !rocessamcnio do !edido 7-I .endedor 2 a mesma Mue a do !rocessamento de um !edido normal dc cliente1 QeLa os detal"es na figura 9191 K<: P*$ 91@> *EGI'T*9 C-IE8TE 8$ P-A8$ DA K Pr2?condio ?9 EWiste um cliente em C-IE8TE' Mue coincide com ID?de clientE com nX.el?de?!lano?da? agAncia ? $ e com escol"a?de?!lano??da?agAncia i $ e escol"a?da?!lano?da? agAncia menor ou igual ao nX.el mWimo da agAncia1 PYs?condio?91 ni.el?de?!lano?da?agAncia em cliente 2 aLustado em escol"a?de?!lano?da?agAncia1 P*$CE''$ 91J> E8QIA* FAT7*A' BEGI8 D$ 5,I-E "ou.er faturas em FPIT7*A' *EAD !rYWima fatura DI'P-A6 fatura E8D D$ E8D P*$CE''$ :19> P*$CE''A* PAGA BEGI8 IF ID?da?client1 !resente FI8D registro em C-IE8TE' com ID?da?cliente coincidente IF registro no encontrado 5*ITE detal"es?de?!agamento em PA com ID?de?client _receita no a!licada] E-'E 'tRBT*ACT .alor?total de saldo?atual 5*ITE registro em C-I 5*ITE detal"es?de?!agamento em PAGA E-'E 5*ITE detal"es?da?!agamento em PA com ID?da cliente ? _receita no a!licada] 5*ITE data de "oLe t ID?de?cliente t detal"es?de !agamento em DI8*EI*$ E8DIF E8D P*$CE''$ :1:> F$*8E I8F$*8A(rE' '$B*E -IQ*$' BEGI8 FI8D registro li.ro em -IQ*$' com tXtulo?de?li.ro coincidente res!osta?a?informa0es?da?li.ro s conte3do de todo o registro li.ro DI'P-A6 res!osta?a?informa0es?de?li.ro E8D K<@ P*$ :1@> P*$ '$-ICITA( DE DEQ$-7( BEGI 8 FI8D !edido em P Mue satisfaa n ei solicitao?da?de.oluo IF registro no encontrado ras!osta?a?solicitao?da?da.oluo s _Pedido no encontrado] DI 'P-A6 res!osta?a?solicitao?da?da.oluo E-'E *EAD registro !edido IF data?d1?r mais de um ano atrs res!osta?a?solicitao?da?de.oluo ? _-i.ros foram remetidos a mais de um ano] DI 'P-A6 res!osta?a?solicitako?da?da.o E-'E tudo?$K s _sim] *EPEAT TR8TI- no "aLa itam?de?de.oluo em detal"es de?de.oluo FI8D itam?da?!edido em ITE8'?DE?PEDID$ Mue satisfaa numero da fatura em solicitao?da de.oluo e cYdigo?da?li.ro em ite&n?de? da.oluJ IF registro no encontrado DI'P-A6 _-i.ro no fe& !arte do !edido] tudo?$K _no] E-'E *EAlO registro item?de?!edido IF Muantidade?a?de.ol.er em item?da?da.oluo maior Mue metade de Muantidade?!edida em item?da?!edido res!osta?a?solicitao?da?de.oluo s _Tuantidade de li.ros no !ode ser de.ol.ida= DI 'P-A6 res!osta?a?solicitao?da?de.oluo tudo?$K ? _no] E8DIF E8DIF E8D?*EPEAT IF tudo?$K s _sim] *EAlO aut?de?da.oluo? de A7T?DE?DEQ$-7(A$? res!osta?a?solicitao?da?de.oluo _De.oluo $KE] t _Fa.or identificar de.oluo real com] 9 aut?da?da.oluo? DI'P-A6 res!osta?a?solicitao?da?de.oluo 5*ITE detal"es?da?de.oluoE aut?da?da.oluko?f em DEQ$-7(rE' A7T$*IgADA' ADD 9 a aut?da?de.oluo?9 5*ITE aut?da?de.oluZo? em A7T?DE?DEQ$-7(A$? E8DIF E8D 9 F K<J E8DIF E8D P*$ :1J> *E A c ' 'IT7Af DE PEDID$ BEGI 8 FI8D !edido em PEDID$' com numero?da?fatura coincidente IF registro no encontrado res!osta?de _8o " !edidos !ara esse n3mero de fatura] DI'P-A6 res!osta?de E-'E *EAlO registro !edido em PEDID$' com n3mero?da?fatura coincidente res!ostaSd1 data? do? !edido t Fitem?da??!edidoO t data?da?remessa DI 'P-A6 res!osta?de?situa E8DIF E8D P*$ :1I> *E'P$8D A C$8'7-TA '$B*E T7*A BEGI8 FI8D !edido em PEDID$' com n3mero?da?fatura coincidente IF registro no encontrado res!osta?de?fatura ? _no " !edidos !ara esse n3mero de fatura] DI'P-A6 res!osta?da?fatura E-'E *EAlO registro !edido res!osta?de?fatura s data?do?!edido t Fitem?da?!edidoO t des!esas?de?remessa t im!osto?so/re?.endas DI'P-A6 res!osta?de?fatura E8DIF E8D P* :1<> P*$D7gI* CA* DE C*^DIT$ BEGI8 FI8D !edido em PEDID$' com ID?de?cliente coincidente e fl3mero?da?fatura coincidindo com n3mero?da?fatura em solicitako?da?crYdLto IF registro no encontrado res!osta?de?cr2dito _Pedido desse cliente no eWiste] DI'P-A6 res!osta?da?cr2dito E-'E FI8D cr2dito em C com n3mero?da?fatura K<I coincidindo com n3mero?da?fatura em solicitao?de cr2dito IF registro no encontrado res!osta?da?cr2dito ? _Cr2dito L foi concedido] DI 'P-A6 res!osta?da?cr2d E-'E CA'E n $F CA'E moti.o?do?cr2dito ? _Pagamento em eWcesso] FI8D !agamento em P com numero?da? fatura coincidente com n3mero?da?fatura em so IF registro no encontrado res!osta?da?cr2dito _8en"um !agamento foi feito !ara esse n3mero de fatura] DI'P-A6 res!osta?da?cr2dito E-'E read !agamento FI8D !edido em PEDID$' com nun n3mero?da?fatura em solicitaZo?de?cr2 IF .alor?total i total?do?!edido res!osta?de?cr2dito ? _Cr2dito ser a!resentado na !rYWima declarao] E-'E res!osta?de ? _Fatura no foi !aga em eWcesso] E8DIF DI 'P-A6 res!osta?d1?cr2 E8DIF CA'E moti.o?do?cr2 ? _Demora eWcessi.a] cr2dito n3mero?da?fatura t ID?da?clLente t dat?atual t total?do !edido APPE8D cr2dito em DIT$' res!osta?d1?ci s _Qalor total do !edido creditado] DI'P-A6 res!osta?da?cr2dito CA'E moti.o?do?cr2dito _*emessa insuficiente] IF total?do !edido i .alor?da?cr2ditoSsolicitado cr2dito n3mero?da?fatura t ID?da?cliente t data?atual t .alor?da?cr2ditoSsolicitado res!osta?da?cr2dito _Cr2dito !or remessa insuficiente>] t .alor?da?cr2ditoSsolicitado DI'P-A6 res!osta?da?cr2dito E-'E cr2dito ? numero?da?fatura t ID?da cliente t data?atual t total?do?!edido res!osta?da? cr2dito ? _Cr2dito !or remessa insuficiente>] t total?do?!edido K<< DI'P-A6 res!osta?da?cr2dito E8DIF APPE8D cr2dito em C*^DIT$' CA'E moti.o?do?cr2dito _-i.ros danificados] IF total?do?!edido i .alor?de?cr2dito?solicitado cr2dito ? n3mero?da?fatura t ID?de?client1 t data?atual t .alor?de?cr2dito? sol1 icitado res!osta?de?cr2dito _Cr2dito !or li.ros danificados> _t .alor?de?cr2dito?solicitado DI'P-A6 res!osta?de?cr2dito E-'E cr2dito ? n3mero?da?fatura t ID?de?cliant1 t data?atual t total?do?!edido res!osta?de?cr2dito ? _Cr2dito !or li.ros danificados>] ~ total?do?!edido DI'P-A6 res!osta?de?cr2dito E8DIF APPE8D cr2dito em DIT$' E8DCA'E E8DIF E8DIF E8D P*$ :1K> I8FCC5 C$8TABI-IDADE DA MBCE''IDADE DE * BEGI8 FI8D cliente em C-IE com ID?de?cliente igual a ID?de?cliente em solicitaao?da?ream/olso IF registro no encontrado res!osta?de?reem/olso ? _cliente no eWiste] DI'P-A6 res!osta?da?reem/olso E-'E *EAD registro cliente IF saldo?atual maior ou igual a &ero res!osta?de?reem/olso s _*eem/olso inde.ido] t _D2/ito atual 2] t saldo?atual DI'P-A6 res!osta?de?reem/olso E-'E res!osta?de?reem/olso _reem/olso a!ro.ado] solicitaao?de?c"eMue?de?reaWn/olao s _Fa.or !agar] t ID?de?client1 t saldo?atual DI'P-A6 res!osta?de?reem/olso DI'P-A6 solicitaao?de?c"eMue?de?reem/olso 5*ITE &ero em saldo?atual em registro cliente 5*ITE data?atual t ID?de?cliante t saldo?atual em *EEMB$-'$' E8DIF K<K E8DIF E8D P*$a1''$ :1D> E'TABE-EX 8$Q$ -IMITE DE C BEGI 8 FI8D cliente em C-IE8TE' com ID?de?cliente coincidente IF registro no encontrado res!osta?a?limite?de?cr2dito _Cliente no eWiste] E-'E read registro cliente IF no.o?limite?de?cr2dito h $ res!osta?a?limite?de?cr2dito s _-imite de cr2dito in.lido] DI'P-A6 res!osta?a?limite?de?cr2dito E-'E res!osta?a?limite?de?cr2dito _8o.o limite de cr2dito $K] DI'P-A6 res!osta?a?limite?de?cr2dito *EP-ACE limite?de?cr2dito com no.o?limite?de? cr2dito 5*ITE registro cliente E8DIF E8DIF E8D P*$ :1C> A-T DETAI9 DE C-IE8TE BEGI 8 FI8D cliente em C-IE8TE' com ID?de?cliente coincidente IF registro no encontrado res!osta?a?alterao?de?cliente ? _Cliente no eWiste] DI 'P-A6 res!osta?a?alterao?de?cliente E-'E read registro de cliente *EP-ACE nome?de?clienteE nome?da?em!resaE endereo?de? cliente com nome?de?clienteE nome?da?em!resaE endereo?de?cliente em detal"es?de?cliente res!osta?a?alterao?de?cliente s _Alterao aceita] DI 'P-A6 res!osta?a?alterao?de?cliente E8DIF E8D Pfl''$ @19> P*$D7gI* *E DE CAD| BEGI 8 caiWa s $ D$ 5,I-E "ou.er registros em DI8,EI*$ *EAD !rYWimo registro din"eiro K<D DI'P-A6 din"eiro caiWa ? caiWa t .alor E8D D$ relatYrio?de?caiWa ? caiWa DI 'P-A6 relatYrio?de?caiWa E8D P*$CE''$ @1:> P*$D7gI* *E-ATn*I$ DA *ECEI DI+*IA BEGI8 total?dirio ? $ D$ 5,I-E "ou.er !edido em PEDID$' com data?do?!edido s data?atual *EAD !rYWimo !edido com data?do?!edido s data?atual ADD n3mero?da?faturaE nome? do?clienteE nome?da? c!resaE total?do?!edido como uma no.a lin"a em relatYrio?da?receita?diria ADD total?do?!edido a total?dirio E8D D$ ADD total?dirio como uma no.a lin"a em relatYrio?da? receita?diria DI'P-A6 relatYrio?da?receita?diria P*$CE''$ @1@> P*$D7gI* *E-ATn*I$ DA *ECEI 8'A- receita?total $ total?da?de.olu0es $ total?de?cr2dito ? $ D$ 5,I-E "ou.er !edido em PEDID$' com data?do?!edido deste mAs ADD total?do?!edido a receita?total E8D D$ D$ 5,I-E "ou.er de.oluao em DEQ$-7F com data?da da.olu}o deste mAs ADD .alor?da?de.olu a total?da?de.olu0es E8D D$ D$ 5,I-E "ou.er cr2ditos em CE com data?do?cr2dito deste mAs ADD .alor?do?cr2dito a total?de?cr2dito E8D D$ relatYrio?da?receita?mensal s receita?totalE total?da? de.olu0esE total?da?cr2dito DI'P-A6 relatYrio?da?receita?mensal E8D K<C P*$Cg''$ @1J> P*$D7gI* *E-ATr*I$ T*IO DE DI*EIT$' BEGI8 D$ 5,I-E "ou.er li.ro em -IQ*$' total?da?li.ros ? $ receita?total s $ total?de?direitos ? $ BF1AD !rYWimo registro li.ro D$ 5,I-E "ou.er !edido em PB com data?do?!edido deste trimestre *EAD !rYWimo registro deste !edido D$ 5,I-E "ou.er itam?de?!edido em IT com numero?da?fatura igual a n3mero?da? fatura no registro !edido atual e cYdigo?de?li.ro igual a cYdigo?de?li.ro no registro li.ro atual *EAD itam?da?!edido seguinte ADD Muantidade?!edida a total?de?li.ros esta?receita ? Muantidade?!edida } !reo?unitrio } das conto ADD esta?receita a receita?total ADD Festa?receita } taWa?da?direitosO a total?de? direitos APPE8D ID?de?clianteE noma?da?clienteE n3mero?da? faturaE esta?receitaE Festa?receita } taWa?de? direitosO a !rYWima lin"a de relatYrio? trimestral?de?direitos E8D D$ E8D D$ D$ 5,I-E "ou.er cr2dito em tDIT$' com cYdigo?de? li.ro igual a cYdigo?de?li.ro no registro li.ro atual e data?do?cr2dito deste trimestre *EAD cr2dito seguinte '7BT*ACT Muantidade?da?li.ros?do?cr2dito de total? de?li.ros '7BT*ACT .alor?de?cr2dito de receita?total '7BT*ACT F.alor?do?cr2dito } taWa?de?direitosO de total?de?direitos APPE8D ID?de?clienteE nome?de?clienteE n3mero?da? faturaE .alor?do?cr2ditoE F.alor?do? cr2dito } taWa?de?direitosO Z !rYWima lin"a de relatYrio? trimestral?da?direitos E8D D$ D$ 5,I-E "ou.er de.oluo em DEQ$-7(rE' com cYdigo?da? li.ro igual a cYdigo? de?li.ro no registro li.ro atual e data?da?de.oluo deste trimestre *EAD de.oluo seguinte 'T1RBT*ACT Muantidade?de.ol.ida de total ?de?li.ros '7BTBACT .alor?da?de.oluo de receita?total '7BT*ACT F.alor?da?de.oluo } taWa?da?direitosO KKH de total?de?direitos APPE8D ID?de?clienteE nome?de?clienteE n3mero?da faturaE .alor?da?da.oluZoE F.alor? da?da.oluZo } taWa?de?direitosO Z !rYWima lin"a de relatYrio trimestral?da?direito@ E8D D$ APPE8D total?de?li.rosE receita?totalE total?de? direitos Z !rYWima lin"a de rai1atYrio?triWneatral d?direitos E8D D$ DI'P-A6 relatYrio?trimeetral?da?direitos E8D P*$CE''$ @1I> P*$D7gI* *E-ATn*I$ DE I8QE8T BEGI8 *EPEAT 78TI- no "aLa li.ro em -IQ*$' *EAD !rYWimo li.ro em -IQ*$' total?de? in.entrio $ *EPEAT 78TI- no "aLa iten?de?in.entrio em ITE8'?DE I8QE8T com cYdigo?de? li.ro igual a cYdigo?de? li.ro em li.ro ADD Muantidade?da?in.entrio a total?de?in.entrio ADD ID?de?da!YsitoE cYdigo?de?li.roE Muantidade?de? in.entrio Z !rYWima lin"a de relatYrio?da? in.entrio E8D *EPEAT ADD total?de?in.entrio Z !rYWima lin"a de relatYrio? da?in.entrio E8D *EPEAT E8D P*$ @1<> PP *E-ATn*I$ DE C$MI''rE' DE QE8DA' BEGI8 D$ 5,I-E "ou.er .endedor em QE: *EPRD !rYWimo registro .endedor comisso?de? .endedor ? $ D$ 5,I-E "ou.er !edido em PEDID$' com ID?de?.endedor igual a ID?de?.andedor em .endedor e com data?do?!edido deste mAs *EAD registro !edido seguinte comisso taWa?de?comisso } total?do?!edido ADD comisso a comisso?de?.endedor APPE8D ID?de?.endedorE n3mero?da?faturaE comisso Z !rYWima lin"a de relatYrio?da?comiss0es E8D D$ APPE8D comisso?de?.endedor Z !rYWima lin"a de KK9 relatYrio?d1?conu E8D D$ E8D P*$Fg''$ @1K> P*$D7gI* DEC-A*A(rE' BEGI8 *EPEAT tR8TI- no "aLa cliente em C-IE8TE' *EAD !rYWimo registro cliente no.o?saldo ? saido?atual D$ 5,I-E no "aLa !edido em P com ID?d?cliente ID?de?cliente no registro cliente atual e data?do? !edido !osterior a data?do?saldo?atual *EAD registro !edido seguinte ADD total?do?!edido a no.o?saldo APPE8D !edido Z !rYWima lin"a de declarao E8D D$ D$ 5,I-E "ou.er !agamento em PAGAg1 com ID?de?cliente ? ID?de?cliente no registro cliente atual e data?do?!agamento !osterior a data?do?saldo?atual *EAD registro !agamento seguinte '7BT*ACT .alor?total de no.o?saldo IPPE8D !agamento Z !rYWima lin"a de declarao E8DD$ D$ 5uiI-E "ou.er reem/olso em *EEMB$-'$' com ID?de?cliente s ID?de?cliante no registro cliente atual e data?do?reem/olso !osterior a data?do? saldo?atual PEAD !rYWimo registro reem/olso ADD .alor?do?reem/olso a no.o?saldo APPE8D reem/olso Z !rYWima lin"a de declarao E8D D$ D$ 5,I-E "ou.er cr2dito em C* com ID?da?cliente ID?de?cliente no registro cliente atual e data?do?cr2dito !osterior a data?do?saldo?atual *EAD !rYWimo registro cr2dito '7BT*ACT .alor?do?cr2dito de no.o?saldo APPE8D cr2dito Z !rYWima lin"a de declarao E8D D$ D$ 5,I-E "ou.er de.oluo em DEQ$-7(rE' com ID?da?cliente s ID?de?cliente no registro cliente atual e data?da?de.oluo !osterior a data?do?saldo atual *EAlO !rYWimo registro de.oluo '7BT*ACT .alor?da?de.oluo de no.o?saldo APPE8D !agamento Z !rYWima lin"a de declarao E8D D$ KK: APPE8D no.o?saldo Z !rYWima lin"a de declarao DI'P-A6 declarao 'ET data?do?saldo?atual no registro !edido atual na data atual 'ET saldo?atual no registro !edido atual em no.o?saldo E8D *EPEAT E8D P* @1D> P*$D7gI* *EIwTF DE C$8= A *ECEBE* BEGI8 *EPEAT 78TI- nPo "aLa cliente em 1IE8TE' PEAD !rYWimo registro cliente no.o? saldo saldo?atual D$ 5,I-E "ou.er !edido em PEDID$' com ID?da?clienta s ID?da???cliente no registro cliente atual e data?do? !edido !osterior a data?do?saldo?atual *EAD !rYWimo registro !edido ADD total?do?!edido a no.o?saldo E8D D$ D$ 5,I-E "ou.er !agamento em PP1 com ID?de?oliente s ID?da?cliante no registro cliente atual e data?do?!agamento !osterior a data?do?saldo? atual *EAD !rYWimo registro !agamento '7BT*ACT .alor?total de no.o?saldo E8D D$ D$ 5,I-E "ou.er reem/olso em *EEMB$-'$' com ID?de?clienta ID?de?cliente no registro cliente atual e data?da?reem/olso !osterior a data?do? saldo?atual *EAD !rYWimo registro reem/olso ADD .alor?do?reem/olso a no.o?saldo E8D D$ D$ 5,I-E "ou.er cr2dito em C*^DIT$' com ID?de?cliente s ID?de??cliente no registro cliente atual e data?do? cr2dito !osterior a data?do?saldo?atual *EAD !rYWimo registro cr2dito '7BT*ACT .alor?do?cr2dito de no.o?saldo APPE8D cr2dito Z !rYWima lin"a de declarao ?E8D D$ $ 5,I-E "ou.er de.oluo em DEQ$-7 com ID?da?cliente s ID?da?cliente no registro cliente atual e data?de?de.oluo !osterior a data?do? saldo?atual *EAlO !rYWimo registro de.oluo '7BT*ACT .alor?da?de.oluo de no.o?saldo E8D D$ KK@ E8D BEPEAT APPE8D ID?da?clienteE no.o?saldo P !rYWima linfla de relatYrio?da?contas?a?rece/er DI 'P-A6 relatYrio?da?contas?a??rece/er E8D P*$ J19> *E CCK9 DE c *EGI 8 ACCEPT Fda grficaO ID?de?grficaE cotao?de?grfica DI'P-A6 FZ direoO ID?da?grficaE cotao?de?grfica E8D P*$ J1:> E'E8TA* PEDID$ DE I BEGI 8 FI8D li.ro em -IQ com cYdigo?de?li.ro igual a cYdigc da?li.ro em instruNes?de? !edido?da?im!ras so IF registro no encontrado res!osta?a?!edido?da?im!resso ? _-i.ro no eWiste] DI 'P-A6 res!osta?a?!edido?de?im!resso E-'E IF Muantidada?a?iit!rimir h $ res!osta?a?!edido?de?iit ? _Tuantidade de im!resIo in.lida] DI 'P-A6 res!osta?a?!edido?de?im!resso E-'E res!osta?a?!edido?da?im!resso ? _Pedido de irn!ress aceito] DI 'P-A6 res!osta?a?!edido?da?im!resso 'ET Muantidade?!edida de li.ro em Muantidade?a? im!rimir 'ET data?da?dis!oni/ilidade de li.ro em data?de? dis!oni/ilidade em instru0es?da?!edido?de im!res so 5*ITE registro li.ro !edido?da?im!resso s cYdigo?da?li.ro t Muantidade?a im!rimir DI 'P-A6 !edido?da?im!ressoE ID?de?grfica E8DIF E8D 9 F E8D P*$F J1@> *EQI'A* PEDID$ DE -IQ*$' BEGI 8 FI8D li.ro em -IQI com c go?da?li.ro igual a cYdigc da?li.ro em !edido?de?im!resso? re.isto KKJ IF registro no encontrado ros!osta?a?!edido?do?in _-i.ro no eWiste] DI'P-A6 res!osta?a?!edido?da?im!ressko?re.isto E-'E *ead registro li.ro 'et Muantidad1 ?!odida n Muant idada?re.i ata 'et data?da?dis!oni/ilidade em data?re.i sta 5rite registro li.ro em -IQ res!osta ?a?!edido?iWrres so?re.isto ? _Pedido de im!resso re.isto $K] DI'P-A6 res!osta?a?!odido?da?im!resso?re.isto E8DIF E8D P*$ J1J> P FAT7*A DE 1FICA BEGI8 FI8D li.ro em -IQ*$' com cYdigo?de?li.ro coincidindo com cYdigo?de?li.ro em fatura?de?grfica IF registro no encontrado res!osta?a?fatura?de?grfica s _8o " !edidos !endentes desse li.ro] DI'P-A6 res!osta?a?fatura?de?grfica E-'E DI'P-A6 fatura?de??grfica FZ direo !ara a!ro.aoO ACCEPT autori&ao?da?fatura?do?grfica IF autori&ao?da?fatura?da?grfica _'IM] res!osta?a?fatura?de?grfica ? _Fatura reLeitadaV fa.or consultar a direo] DI'P-A6 res!osta?a?fatura?da?grfica E-'E res!osta?a?fatura?da?grfica _Fatura aceita] DI'P-A6 res!osta?a?fatura?do?grfica fatura?do?grfica?a!ro.ada s fatura?de?grfica DI'P-A6 fatura?da?grfica?a!ro.ada E8DIF E8DIF E8D PP$F J1I> '$-ICITP1* C$TA(o$ DE 7*+FICA BEGI 8 D$ 5,IIE "ou.er grfica em Fi *EAD !rYWimo registro grfica IF grfica igual a MualMuer ID?de?grfica na entrada desse !rocesso solicitao?da?cotao s cYdigo?da?li.ro t KKI FMuantidadeO DI 'P-A6 solicitao?da?cotao E8DIF E8DD$ E8D P*$ I> C*IA* 8$Q$ *EGI'T*$ DE -IQ*$ BEGI8 DI'P-A6 FZ direoO titulo?de?li.ro t solicitao?da? cYdigo?de?li.ro ACCEPT Fda direoO cYdigo?da?li.ro DI'P-A6 F!ara aMuisi0esO titulo?da?li.ro t solicitac da?taWa?da?direitos ACCEPT Fde aMuisi0esO taWa?da?direitos DI'P-A6 FZ comerciali&aoO titulo?da?li.ro t solicitao?da?!reo?unitrio ACCEPT Fda comerciali&aoO !reo?unitrio li.ro s cYdigo?de?li.ro t titulo?da?li.ro t ID?da?autor taWa?da?direitos 'ET total?em?estoMue em &ero 'ET data?de?dis!oni/ilidadE em data?em?estoMue APPE8D li.ro em -IQ*$' E8D P*$ <19> P*$D7gI* ETIT7ETA' P$'TAI' BEGI8 '$*T C-IE8TE' !or cYdigo?!ostal em etiMuetas?!ostais DI'P-A6 etiMuetas?!ostais E8D P*$ <1:> P*$D7gI* E'TATt'TICA' DE QE8DA' BEGI 8 *EPEAT 78TI- no "aLa li.ro em -IQ*$' receita?da?.endas s $ de.olu0es?da ?.endas $ cr2ditos?da?.endas s $ D$ 5,I-E "ou.er !edido em P com data?do?!edido !osterior a data?da?.endas *EAD !rYWimo registro !edido D$ 5,I-E "ou.er item?d1?!edido no registro !edido atual com cYdigo?de?li.ro cYdigo? da?li.ro no registro li.ro atual *EAD !rYWimo item?da?!edido ADD FMuantidade?!edida } !reo?unitrio } dasconto a receita?da?.endas KK< E8D D$ E8D D$ D$ 5,I-E "ou.er de.oluo em DEQ$-7F com data?da? de.oluo !osterior a data? de?.endas e cYdigo?de? li.ro ? oYdigo?d1?li.ro no registro li.ro atual ADD .alor?da?de.oluo a de.olu0es?de?.endas E8D D$ D$ 5,I-E "ou.er cr2dito em C*^DIT$ com data?do?cr2dito !osterior a data?de? .endas e cYdigo?de?li.ro s cYdigo?de?li.ro no registro li.ro atual ADD .alor?do?cr2dito a cr2ditos?de?.endas E8D D$ APPE8D cYdigo?de?li.roE receita?da?.endasE de.olu0es? de?.endasE cr2ditos?de?.endas !rYWima lin"a de estatisticas?de?.endas E8D *EPEAT DI'P-A6 estatisticas?da?.endas P*C <1@> P*C$7gI* DATA EM E'T$T7E BEGI8 FI8D -IQ*$ em -IQ*$' com cYdigo?de?li.ro coincidente IF registro n encontrado res!osta?de?em?estoMue s _-i.ro no eWiste] DI 'P-A6 res!osta?de?em?estoMue E-'E *EAD registro li.ro IF data?em?estoMue s _nulo] res!osta?de?em?estoMue s _8o " remessas es!eradas] E-'E res!osta?da?em?estoMue s data?da?dis!oni/ilidade DI'P-A6 res!osta?da?em?estoMue E8DIF E8DIF E8D P*$F:''$ <1J> *EM$QE* -IQ*$ *EGI 8 FI8D li.ro em -IQ*$' com cYdigo?de?li.ro co IF registro no encontrado res!osta?a?ren s _-i.ro no eWiste] DI'P-A6 res!osta?a?remoo?da?li.ro E-'E *EAD registro li.ro 'ET indicador?de?fora?da?im!resso em 'IM 5*ITE registro li.ro KKK res!osta?a?re _-i.ro marcado como for de im!resso] DI 'P-A6 res!osta?a?remooo?da?li.ro E8D 9 F E8D P*$ K19> P* D$C7/ DE * BEGI8 *EPEAT 78TI- no "aLa de!Ysito em D PE$ !rYWimo registro de!Ysito }o/s1> esta !arte !rodu& a lista de se!arao !ara o de!Ysito} PEPEAT 78TI- no "aLa li.ro em -IQ li.ros?a?se!arar s $ D$ 5,I-E "ou.er !edido em PEDID$' com data?clo?!edid s data?atual e ID?de?de!Ysito coincidindo com ID?de?de!Ysito no registro de!Ysito atual *EAD !rYWimo registro !edido D$ 5,I-E "ou.er ita&n?de?!adido com rum s n3mero?da?fatura no registro !edido *EAD !rYWimo regi stro item?de?!edido ADD Muantidade?!edida a li.ros?a?se!arar E8D D$ E8D D$ APPE8D titulo?de?li.roE li.ros?a?se!arar Z !rYWima lin"a de documentos?da?remessa E8D *EPEAT }o/s1> esta !arte !rodu& as etiMuetasSdeSremessa} D$ 5,I-E "ou.er !edido em PEDID$' com data?do?!edido data?atual e ID?de?de!Yeito s ID?de?de!Ysito no registro de!Ysito atual *EAD !rYWimo registro !edido APPE8D nome?da?clienteE endereo?da?clienteE n3mero? da?fatura Z !rYWima lin"a de documentos?de?remess E8D D$ }o/s1> esta !arte !rodu& uma cY!ia do !edido origina1 !ara o de!Ysito} D$ 5,I-E "ou.er !edido em PEDID$' com data?do?!edido data?atual e ID?de? da!Ysito s ID?de?de!Ysito no registro de!Ysito atual *EAD !rYWimo registro !edido APPE8D ID?da?clianteE data?do?!edidoE des!esas?da? remessaE im!osto?so/re?.endas Z !rYWima lin"a de documentos?de?remessa PEPEAT 78TI- no "aLa itein?de?!edido em IT PEDID$ com numero?da?fatura igual a n3mero?da? fatura no registro !edido atual KKD APPE8D item?da?!odido !rYWima lin"a de documentos ?da?rTmassa E8D *EPEAT E8D D$ E8D *EPEAT E8D P*$ K1:> *EGI'TEK *EME''A DE +FICA BEGI8 FI8D li.ro em -IQ9 com titulo?da?li.ro coincidente IF registro nPo encontrado notificao?da?remessa s _-i.ro no eWiste] DI'P-A6 notificao?de?remessa E-'E notificao?da?remessa _*ece/ido da grfica] t cYdigo?da?li.ro t Muantidade?rece/ida DI'P-A6 notificao?da?remessa *EAD registro li.ro ADD Muantidade?rece/ida a total?em??estoMue 'ET M#antidada?!adida em &ero 5*ITE registro li.ro em -IQ *EAD item?da?in.entrio em ITE8'?DE?I8QE8T+*I$ com ID?da?da!Ysito s _6$8KE*'] e cYdigo?da??li.ro coincidente ADD Muantidade?rece/ida a Muantidada?de?in.entrio 5*ITE registro item?da?in.entrio E8DIF E8D P*C K1@> *EGI 'T*R DEQ$-7(rE' DE -IQ*$' DE C-IE8TE' BEGI8 FI8D cliente em C-IE8TE' com ID?da?clionta coincidindo com ID?de?cliente em informa0es?de?de.olu0es?de? li.ros ou com nu?da?cliente coincidindo com r client1 em informa0es?de?de.olu0es?da?li.ros IF registro no encontrado instru0es?de?de.oluo _Cliente no identificadoV j aceitar li.rosE mesmo assim] j DI'P-A6 instru0es?da?de.oluo E-'E FI8D da.oluo?autori&ada em DEQ$-7(rE'?A7T$*IgADA' com aut?da?da.oluo? igual a aut?de?de.oluo? em informa0es?da?de.olu0es?de?li.ros IF registro no encontrado instru0es?da?de.oluo s _De.oluo no autori&adaV fa.or remeter de .olta] KKC DI 'P- instrures?da?da.olu autori&aao?da?da.olu}o?da?li.ro _Esta de.oluo no est autori&ada] DI'P-A6 F!ara o clienteO autori&aZo?da?da.oluZo?de li.ro EXI T E-'E instru0es?da?de.oluo _De.oluo autori&ada] DI 'P-A6 instru0es?da?de.oluo autori&ao?da?de.oluo?da??li.ro s _Esta de.oluo est autori&ada] E8DIF E8DIF *EPEAT 78TI- no "aLa cYdigo?da?li.ro em irifonsa0es?da de.olu0es?da?li.ros FI8D itam?da?in.entrio em ITE8'?DE?I8QE8T+*IH com ID?da?da!Ysito coincidente e com cYdigo?da?li.ro igual a cYdigo?da?li.ro em informa0es?da?de.olu0es? da?li.ros IF registro no encontrado instru0es?da?de.oluo s _-i.ro no eWiste] DI 'P-A6 instru0es?de?de.oluo E-'E *EAD registro item?da?in.entrio ADD Muantidade?de.ol.ida a Muantidade?da?in.entrio 5*ITE registro item?da?in.entrio FI8D li.ro em -IQ com ID?da?li.ro coincidente *EAD registro li.ro ADD Muantidade ?de.ol.ida a total?em?estoMue 5*ITE registro li.ro E8D 9 F E8D *EPEAT APPE8D informaNas?da?de.olu0es ?da?li.ros em DEQ$-7(rE' E8D P*$CE''$ K1J> *EGI'T*A* I8QE8T+*I$ Ff'IC$ BEGI8 FI8D de!Ysito em D com ID?de?de!Ysito coincidente IF registro no encontrado rea!osta?a?in.?fisico _De!Ysito no eWiste] DI'P-A6 rea!osta?a?in.?fisico E-'E PEPF1AT tR8TI- no "aLa detal"e?da?in.entrio em contagem?de?in.entrio FI8D item?de?in.antrio em ITE8'?DE?I8QE8T+*I$ com ID?da?da!Ysito e cYdigo?da?li.ro coincidentes IF registro no encontrado KDH res!osta?a?in.?fisico s _CYdigo de li.ro in.lido] t DI'P-A6 res!osta?a?in.?fisico E-'E dif Muantidade?de?in.entrio ? contagem?fisica 'ET Muantidade?da?in.entrio em contagem?fisica FI8D li.ro em -IQ*$' com cYdigo?de??li.ro coincidente *EAD registro li.ro '7BT*ACT dif de total?em?estoMue D$ 5,I-E "ou.er !edido em PEDID$' com data?do? !edido !osterior a na?data e com ID?de?da!Ysito coincidente *ER registro !edido D$ 5,I-E "ou.er itam?de?!edido em ITE8'?DE PEDID$ com cYdigo?de?li.ro s cYdigo?de?li.ro em detal"e?da?in.entrio e n3mero?da?fatura s n3mero?da?fatura em !edido *EAD item?da?!edido '7BT*ACT Muantidade?!edida da Muantidade?de? in.entrio '7BT*ACT Muantidade?!edida de total?em? estoMue E8D D$ E8D D$ 5*ITE registro item?de?in.entrio 5*ITE registro li.ro E8DIF E8D *EPEAT E8DIF E8D P*$F K1I> *EGI'T*A* * *EA- BEGI8 FI8D !edido em PEDID$' com numero?da?fatura coincidente IF registro no encontrado res!osta?de?remessa s _Pedido no encontrado] DI'P-A6 res!osta?da?remessa E-'E PEAD registro !edido 'ET data?da?remessa em data?atual 5*ITE registro !edido E8DIF E8D KD9 P*$ K1<> *E'P$8DE* A FPI-TA DE E'T$T7E BEGI 8 FI8D li.ro em -IQ*$' com titulo?da?li.ro coincidente IF registro no encontrado res!osta?a?fora?da?estoMue s _-i.ro no eWiste] DI'P-A6 res!osta?a?fora?de?estoMue E-'E *EAD registro li.ro !ara o/ter cYdigo?da??li.ro FI8D itein?de?in.entrio em ITE8'?DE?I8QE8T9 com ID?de?da!Ysito coincidente e cYdigo?da?li.ro coincidente IF registro no encontrado res!osta?a?fora?de?estoMue s _Erro> item de in.entrio no encontrado] E-'E *EAD item?da?in.ontrio 'ET Muantidade?de?in.entrio em &ero 5*ITE item?de?in.antrio res!osta?a?fora?de?estoMue _Mensagem de falta de estoMue rece/ida] E8DIF E8D 9 F E8D P*$CE''$ D19> P*$D7gI* *E-A DE DI*EIT$' A7T$*AI' BEGI8 D$ 5,I-E "ou.er li.ro em -IQ*$' total?de?li.ros $ receita?total s $ total?de?direitos s $ PEAD !rYWimo registro li.ro D$ 5,I-E "ou.er !odido em P com data?do?!edido deste trimestre *EAD !rYWimo registro !odido D$ 5,I-E "ou.er ite&u?de?!odido em ITE8'?DE?PEDID$ con numero?da?fatura igual a n3mero?da ?fatura no registro !odido atual e cYdigo?de?li.ro igual a cYdigo?de?li.ro no registro li.ro atual PEAD !rYWimo itom?de?!odido ADD Muantidade?!edida a total?de?li.ros esta?receita s Muantidade?!edida } !reo?unitrio } desconto ADD esta?receita a receita?total ADD Festa?receita } taWa?de?direitosO a total?de? direitos E8D D$ E8D D$ KD: D$ 5,I-E "ou.er cr2dito em ^DIT$' com cYdigo?da?li.ro igual a cYdigo?da?li.ro no registro li.ro atual e data?do?cr2dito deste trimestre *EAD !rYWimo cr2dito '7BT*ACT Muantidade?da?li.ros?do?cr2dito de total?de? li.ros '7BT*ACT .al1or?do?cr2dito de receita?total '7BT*ACT F.alor?do?cr2dito } taWa?da?direitosO de total?de?direitos E8D D$ D$ 5,I-E "ou.er de.oluo em DEQ$-7(rE' com cYdigo?da? li.ro igual a cYdigo? da?li.ro no registro li.ro atual e data?da?de.oluo deste trimestre *FR=1D !rYWimo registro de.oluo '7BT*ACT Muantidade?de.ol.ida de total?de??li.ros '7BT*ACT .alor?da?de.oluo de receita?total '7BTPACT F.alor?da?de.oluo } taWa?da?direitosO de total?de?direitos E8D D$ APPE8D total?de?li.rosE receita?totalE total?de? direitos Z !rYWima lin"a de relatnrio?da? direitos autorais E8D D$ DI'P-A6 relatYrio?da?direitos?autorais E8D P*$ D1:> I8F$*MA* C$8TABI-IDADE DE AD-AR DE DI*EIT$' BEGI8 FI8$ autor em A7T$*E' com ID?da?autor igual a 9H?da?autor em solicitao?da?adiantamento?da?direitos IF registro no encontrado res!osta?de?adiantamento s _Autor no eWiste] DI'P-A6 res!osta?da?adiantamento E-'E FI8$ li.ro em -IQ9 com cYdigo?da?li.ro igual a cYdigo?da?li.ro em solicitao?da?adiantamento?de? direitos j IF registro no encontrado j res!osta?da?adiantamento _-i.ro no eWiste] DI'P-A6 res!osta?da?adiantamento E-'E sYli &ao?da?adiantamento s solicitao?da?adiantamento?de?direitos DI'PIA6 F!ara a direoO solicitao?de?autori&ao? da?adiantamento ACCEPT Fda direoO res!osta?da?autori&ao?de? KD@ adiantamento IF res!osta?deSautori&ao ?de s _'im] ras!osta?de?adLan s _Adiantamento a!ro.ado DI 'P-A6 res!osta?d1?adLant ? DI'P-A6 F!ara a Conta/ilidadeO solicitao?de C"eMue?da?adiantamento PEAD registro autor ADD .alor?do?adLant a saldo?da?direitos 5*ITE registro autor E-'E rea!osta?da?adLa _Adiantamento negado] DI'P-A6 rea!osta?da?adiant E8D 9 F E8DIF E8DIF E8D P*$ D1@> A-T DETM DE A7T$* BEGI 8 FI8D autor em A7T$*E' com ID?de?autor coincidente IF registro no encontrado 5*ITE detal"es?de?autor em autor E8D 9 E= E8D KDJ 8$TA' EntrementesE as ati.idades de !rocessamento de informa0es da Prentice?,all esto su/ordinadas Z sua no.a em!resa !ro!rietriaE 'imon k 'c"uster MueE !or sua .e&E fa& !arte de uma em!resa ainda maiorE a Gulf t 5esternE o Mue ser.e !ara demonstrar Mue os sistemas so Muase sem!re !arte de sistemas maiores1 : Tuando in.estigamosE desco/rimos Mue a 'u!ermar%et Products esta.a locali&ada na !eriferia da cidade de 8o.a lorMue e ocu!a.a? se !rinci!almente da im!ortao de /ananas da Guatemala1 8o entendemos o Mue isso tin"a a .er com com!utadores nem !or Mue o estado decidiu Mue nosso nome !oderia !reLudicar a !o/re 'u!ermar%et ProductsE mas resol.emos no enfrentar a /urocracia1 @ $ 78IXE naturalmenteE L no 2 mais to misterioso agoraE masE em meados dos anos KHE dificilmente algu2m estran"o aos -a/oratYrios Beli e a algumas uni.ersidades L teriam ou.ido falar nele1 8em euE nem a maior !arte de meus colegas da 6$7*D$8 est.amos to !rescientes> nYs de.emos essa decisoE Mue mais tarde .iemos a muito a!reciarE Z insistAncia do Dr1 P1 R1 PlaugerE Mue .eio !ara a em!resaE !ro.eniente da Bell -a/s em 9CKI1 Plauger 2 am!lamente con"ecido !or seus li.ros cm co?autoria com Brian Kernig"anE como T"e Elements of Programmin 't#le F*eadingE Mass1> Addison?5esle#E 9CK@O e 'oft4are Tools F8o.a lorMue> McGra4? ,illE 9CK<O1 J A Muesto dos in.entrios se!aradosE e .endas de escritYrios se!a radosE comea.a a assomar no "ori&onte como um !ro/lema cada .e& maior1 Cada um dos di.ersos escritYrios da 6$7*D$8 insistia na necessidade de ter um !eMueno estoMue local !ara atender os clientes e.entuais Mue deseLassem !oder adMuirir um li.ro imedia tamenteE em .e& de terem de aguardar .rios dias Fou semanasO !or uma remessa do Tuartel General da GalWiaE $ escritYrio cana dense reclama.a a necessidade de sua !rY!ria estrutura de !reos Fisto 2E !reos esta/elecidos em dYlares canadensesE em .e& de dYlares americanosO e sua !rY!ria cam!an"a !u/licitria !ara Muistar o mercado canadense de forma diferente em relao ao mercado americano1 Em alguns casosE os escritYrios remotos sim !lesmente entrega.am o li.ro ao cliente e solicita.am ao escritYrio j central cm 8o.a lorMue Mue gerasse a fatura1 Em outros casosE o cliente !aga.a o li.ro Z .istaE e solicita.a reci/o1 As .endas do escritYrio londrino re!resenta.am cerca de 9Hf da receita total da 6$7*D$8 PressE enMuanto as dos demais escritYrios res!ondiam !or menos de 9f da receita total da em!resa1 KDI - G E'T7D$ DE CA'$> $ P*$B-EMA D$ E-EQA9 G1 9 I8T*$D7()$ Este a!Andice mostra o modelo essencial !ara um escalonador e controlador de ele.adores1 'eu !rinci!al o/Leti.o 2 ilustrar o uso dos modelos da anlise estruturada !ara sistemas de tem!o realV .ocA .er eWem!los de fluWos de controleE de !rocessos de controle e de diagra mas de transi0es de estado Mue normalmente no seriam utili&ados em uni sistema comercial1 8a !rYWima seo 2 a!resentada uma descrio narrati.a do !ro /lema1 Em seguida .Am os .rios diagramas Mue com!0em o modelo essencialE o dicionrio de dados e as es!ecifica0es de !rocessos1 $/ser .e Mue a maioria das es!ecifica0es de !rocessos utili&a a a/ordagem !r2?condioG!Ys?condio discutida no ca!Xtu-@ 991 $ !ro/lema dos ele.adores foi usado em um !rograma educacio nal !atrocinado !ela di.iso da ACM em 5as"ingtonE D1 C1 em 9CD<1 $s modelos aMui a!resentados foram desen.ol.idos originalmente !or Dennis 'ti!eE na 2!oca na 6$7*D$8 Inc1 $s diagramas de fluWo de dados e o dicionrio de dados foram !rodu&idos em um com!utador Macintos" II com o MacBu//les da 'tar'#sE Inc1> os diagramas de transi 0es de estado foram !rodu&idos com o MacDra41 ^ im!ortante notar como os diagramas deste ca!Xtulo so diferentes dos diagramas do a!Andice EE Mue foram !rodu&idos !elo Design da Meta 'oft4are1 MacBu//les 2 um !roduto CA'E es!ecificamente !re!a rado !ara desen"ar diagramas de fluWo de dados Fcom eMuilX/rio entre diagramas !ais e fil"os etc1O1 IOesign 2 um !rograma de desen"o de em!rego geral orientado !ara o o/LetoE Mue !ode ser utili&ado !ara desen"ar fluWogramasE diagramas de fluWo de dados e .irtualmente MualMuer outro diagrama de soft4are1 'o/ o !onto de .ista da est2ticaE os diagramas !rodu&idos !elos dois !rogramas so muito diferentesV Penso Mue os editores Mue !rodu&iram este li.ro !refeririam um KDK confi.el artista "umano a am/os os !acotes1 Como foi dito no ca!Xtu lo CE o estilo e formato de diagramas dc fluWo dc dados !ode ser uma Muesto sensX.el !ara muitos usuriosV Muando .ocA com!arar os a!Andices F e G .ocA .er !orMuA1 G1: 7MA DE'C*I()$ 8A**ATIQA $ reMuisito geral 2 !roLetar e im!lementar um !rograma !ara esca lonar e controlar Muatro ele.adores dc um edificio de JH andares1 $s ele.adores sero usados !ara trans!ortar !essoas entre os andares na forma con.encional1 EficiAncia1 $ !rograma de.e escalonar os ele.adores de maneira eficiente e racional1 Por eWem!loE se algu2m c"amar um ele.ador a!er tando o /oto de descida no Muarto andarE o !rimeiro ele.ador Mue !assar descendo !elo Muarto andar de.e !arar !ara em/arcar oFsO !assageiroFsO1 Por outro ladoE se um ele.ador esti.er sem !assageiros Fsem c"amadas !endentesO de.e !ermanecer !arado no 3ltimo andar !or onde !assou at2 Mue seLa no.amente solicitado1 7m ele.ador no de.e in.erter o sentido de seu mo.imento at2 Mue os !assageiros Mue Muiserem transitar no sentido atual ten"am atingido seus res!ecti.os destinos Fcomo .eremos adianteE o !rograma no tem como sa/er Muan tos !as1sageXros realmente esto no ele.adorV ele sY tem informa0es so/re os /ot0es de destino Mue foram a!ertados !ara um determinado ele.ador1 Por eWem!loE se algum !assageiro noci.o e anti?social tomar o ele.ador no !rimeiro andar e a!ertar os /ot0es do MuartoE Muinto e .ig2simo andaresE o !rograma far com Mue o ele.ador ande e !are no MuartoE no Muinto e no .ig2simo andar1 $ com!utador e o !rograma no tAm informa0es so/re os em/arMues e desem/arMues reais de !assagei rosO1 7m ele.ador Mue esteLa com a lotao esgotada no de.e atender a MualMuer no.o c"amado FeWiste um sensor de eWcesso dc !eso !ara cada ele.ador1 $ com!utador e o !rograma !odem interrogar esses sensoresO1 Boto de destino> Cada ele.ador !ossui em seu interior um !ainel contendo JH /ot0esE um /oto !ara cada andarE marcados com os n3me ros dos andares F9 a JHO1 Esses /oties de destino !odem ser iluminados !or sinais en.iados do com!utador !ara o !ainel1 Tuando um !assagei ro !ressiona um /oto de destino ainda no iluminadoE o circuito !or trs do !ainel en.ia uma interru!o ao com!utador F" uma interru!o se!arada !ara cada ele.adorO1 Tuando o com!utador rece /e um desses sinais de interru!o F.etori&adosOE o !rograma lA os adeMuados registradores de entradas dc oito "its ma!eados na memYria KDD Fum !ara cada interru!oE !ortanto um !ara cada ele.adorO Mue contAm o n3mero do andar corres!ondente ao /oto dc destino Mue causou a interru!o1 8aturalmenteE o circuito !or trs do !ainel escre.e o n3mero do andar no a!ro!riado registrador de entrada ma!eado na memYria Muando ele !ro.oca a interru!o .etori&ada Fcomo eWistem JH andares nesta a!licaoE somente os seis !rimeiros /its de cada re gistrador de entrada sero utili&ados !ela im!lementaoV !or2m o "ard4are su!ortaria um edifXcio com at2 :I< andaresO1 -u&es dos /ot0es de destino> Como L foi ditoE os /ot0es de destino !odem ser iluminados F!or lPm!adas atrs dos !ain2isO1 Tuando a rotina de ser.io de interru!0es do !rograma rece/e uma interru!o de /o to de destinoE ela de.e remeter um sinal !ara Mue o !ainel adeMuado ilumine aMuele /oto1 Esse sinal 2 en.iado !elo carregamentoE feito !elo !rogramaE do n3mero do /oto no adeMuado registrador de saXda ma !eado na memYria FeWiste um registrador desse ti!o !ara cada ele.adorO1 A iluminao de um /oto informa aoFsO !assageiroFsO Mue o sistema L anotou o !edido e im!ede tam/2m outras interru!0es causadas !or no.os Fim!acientes[O acionamentos do /oto1 Tuando o controlador !ra um ele.ador em um andarE ele de.e en.iar um sinal !ara o !ainel do seu /oto de destino !ara desligar o /oto de destino relati.o ZMuele andar1 'ensores de andar> EWiste uma c"a.e sensora de andar !ara cada andar de cada !oo de ele.ador1 Tuando um ele.ador est a oito !ole gadas de um andarE uma roda do ele.ador atinge a c"a.e daMuele andar e en.ia uma interru!o ao com!utador FeWiste uma interru!o se!ara da !ara o conLunto de c"a.es em cada !oo de ele.ador1 Tuando o ele.ador rece/e uma dessas interru!0es F.etori&adasOE o !rograma lA o adeMuado registrador de entrada de oito /its ma!eado na memYria FeWis te um !ara cada interru!oE !ortanto um !ara cada ele.adorO Mue cont2m o n3mero do andar corres!ondente Z c"a.e sensora de andar Mue !ro.ocou a interru!o1 -u&es de c"egada1 $ interior de cada ele.ador cont2m um !ainel com um indicador luminoso !ara cada n3mero de andar1 Esse !ainel locali&a?se logo acima das !ortas1 'eu o/Leti.o 2 informar aos !assagei ros do ele.ador o n3mero do andar ao Mual o ele.ador est c"egando Fe no Mual ele !oder !ararO1 $ !rograma de.e iluminar o indicador de um andar Muando c"egar a esse andar e a!ag?lo Muando sair desse andar ou c"egar a outro andarE $ sinal 2 remetido !elo carregamentoE !elo !rogramaE do n3mero do indicador do andar no adeMuado registrador de saXda ma!eado na memYria F" um registrador !ara cada ele.adorO1 KDC Bot0es de c"amada> Cada andar du edifido !ossui um !ainel M cont2m /ot0es de c"amada1 Cada andarE eWcetuando o t2rreo FP andar e o 3ltimo FJ andarO a!resenta um !ainel contendo dois /ot0es dc c"amadaE um com a indicao '$BE e o outro com a indicao 9OE'CE1 $ !ainel de c"amada do andar t2rreo tem a!enas o /oto '$BE e c 3ltimo andar tem a!enas o /oto DE'CE1 AssimE eWistem KD /ot0es dc c"amada no totalE @C /ot0es '$BE e @C /ot0es IOE'CE1 As !essoas a!er tam esses /ot0es !ara c"amar um ele.ador F2 claro Mue uma !essoa no !ode c"amar um determinado ele.ador1 $ escalonador decide Mual ele .ador de.er atender a um c"amadoO1 $s /oi0es dc c"amada !odem ser iluminados !or sinais en.iados do com!utador !ara o !ainel1 Tuando um !assageiro !ressiona um /oto de c"amada ainda no iluminadoE o circuito !or trs do !ainel remete uma interru!o .etori&ada !ara o com!utador F" uma interru!o !ara os /ot0es '$BE e outra !ara os /ot0es DE'CEO1 Tuando o com!utador rece/e uma dessas duas inter ru!(re' F.etori&adasOE o !rograma lA o adeMuado registrador de entrada de oito /its ma!eado na memYria Mue cont2m o n3mero do andar cor res!ondente ao /oto de c"amada Mue !ro.ocou a interru!o1 8atural menteE o circuito !or trs do !ainel escre.e o n3mero do andar no adeMuado registrador de entrada ma!eado na memYria Muando ele causa a interru!o .etori&ada1 -u&es dos /ot0es de c"amada> $s /ot0es de c"amada !odem ser iluminados F!or lPm!adas atrs do !ainelO1 Tuando a rotina de ser.io de interru!0es do /oto de c"amada rece/e uma interru!o .etori&a da de um /oto '$BE ou DE'CEE ela de.e en.iar um sinal ao !ainel a!ro!riado !ara iluminar o /oio adeMuado1 Esse sinal 2 remetido !elo carregamentoE !elo !rogramaE do n3mero do /oto no adeMuado regis trador de saXda ma!eado na memYriaE um !ara os /ot0es '$BE e outro !ara os /ot0es DE'CE1 A iluminao de um /oto informa aoFsO !assageiroFsO Mue o sistema L anotou o !edido e im!ede tam/2m outras interru!0es causadas !or no.os acionamentos do /oto1 Tuando o controlador !ra um ele.ador em um andarE ele de.e en.iar um sinal !ara o !ainel do /oto de c"amada do andar !ara desligar o /oto F'$BE ou DE'CEO adeMuado !ara aMuele andar1 Controles de motor de ele.ador F'o/eE DesceE PraO> EWiste uma !ala.ra de controle ma!eada na memYria !ara cada motor de ele.ador1 $ /it $ dessa !ala.ra comanda a su/ida do ele.adorE o /it 9 comanda a descida e o /it : comanda a !arada do ele.ador no andar cuLa c"a.e sensora esteLa fec"ada1 $ mecanismo do ele.ador no o/edece a Mual Muer comando inadeMuado ou !erigoso1 'e no "ou.er uma c"a.e sen sora de andar fec"ada Muando o com!ulador emitir um sinal de !aradaE o mecanismo do ele.ador .ai ignorarE esse sinal at2 Mue uma c"a.e KCH sensora de andar seLa fec"ada1 $ !rograma no tem de se !reocu!ar com o controle das !ortas de um ele.ador ou !arar o ele.ador eWata mente no nX.el F/aseO de um andarE $ fa/ricante do ele.ador utili&a c"a.esE rel2sE circuitos e engrenagens de segurana con.encionais !ara aMuelas finalida=des de forma Mue ele !ode garantir a segurana dos ele.adores inde!endentemente do controlador do com!utador1 Por eWem!loE se o com!utador emitir um comando de !arada !ara um ele.a dor Muando este est a oito !olegadas de um !iso Fde modo Mue a c"a.e sensora de andar esteLa fec"adaOE o mecanismo con.encionalE a!ro.adoE !ra e ni.ela o ele.ador naMuele andarE a/re as !ortas e as segura ade MuadamenteE e em seguida as fec"a1 'e o com!utador emitir um coman do de su/ida ou descida durante esse !erXodo FenMuanto a !orta est a/ertaE !or eWem!loOE o mecanismo do fa/ricante ignora esse comando at2 Mue as condi0es !ara a mo.imentao seLam satisfeitas Fdessa for maE 2 seguro Mue o com!utador emita um comando dc su/ida ou desci da enMuanto a !orta do ele.ador esteLa a/ertaO1 7ma condio !ara o mo.imento de um ele.ador 2 Mue o /oio de!arada no seLa a!ertado1 $ !ainel de /oi0es de destino de cada ele.ador cont2m um /oto de !arada1 Esse /oto no le.a ao com!utador1 'ua 3nica finalidade 2 segu rar um ele.ador em um andar com as !ortas a/ertas enMuanto esse ele.ador esti.er !arado no andar1 7ma c"a.e de!arada de emergAnciaE .ermel"aE !a e !rende o ele.ador no andar seguinte a Mue ele atin gir inde!endentemente da escala do com!utador1 A c"a.e .ermel"a tam/2m aciona um alarme audX.el1 Essa c"a.e no est interligada ao com!utador1 MMuina al.o $ escalonador e o controlador do ele.ador !odem ser im!lementados !ara MualMuer microcom!utador contem!orPneo Mue seLa ca!a& de mani!ular esta a!licao1 KC9 Diagrama de ConteWto Modelo Essencial do Ele.ador KC: G1@ $ M$DE-$ E''E8CIA- SSSSSS 'ensor de Andar ? SRSSSSSSSS KC@ Diagrama de ConteWto EW!andido -ista de E.entos 91 Passageiro emite c"amada de su/ida1 :1 Passageiro emite c"amada de descida1 @1 Ele.ador atinge andar da c"amada1 J1 Ele.ador no dis!onX.el !ara c"amadas1 I1 Ele.ador torna?se dis!onX.el !ara c"amadas1 <1 Passageiro emite solicitao dc destino1 K1 Ele.ador atinge destino solicitado1 D1 Ele.ador c"ega a um andar1 C1 Ele.ador a/andona um andar1 9H1 Ele.ador no se mo.imenta Fsai do ser.ioO1 991 Ele.ador retorna ao ser.io normal1 9:1 Ele.ador so/recarregado1 9@1 Carga do ele.ador torna?se normal1 KCJ ' escalonamentos?de1dest gil : ti.arGdesatL.ar?s i Controlar ; A andar 1R Ele.ador ? ; Gj c ;HH ? Hl G Figura $> Escalonar e controlar ele.ador modelo essencial do ele.ador solicita0es ? 9f lo1 E KCI 'itua0es ?de?e le.ador f ;e $rdens?de?mo.imento 'olicita0es Figura 9> Arma&enar e eWi/ir soliciiao KC< ' G Controlar atiQaId 9 ordemde r ? eU ? ? lato ;o 9h ;@ g ; ? o o1 ordem?de?mo.imento Figura 919> Gerenciar ordem de mo.i rnento KCK Ati.ar Arma&enar $rdem de Mo.imento Ati.ar EWigir $rdem de Mo.imento C"amada Inati.a $rdem de Mo.imento Introdu&ida Andar Atingic 'inali&ar Entrada de Mo.imento *ece/ida Dis!arar -im C"amada Coi Figura 91919V Controlar ordem de mo.imento KCD Ati.ar Arma&enar 'olicitao de Destino Ati.ar EWi/ir 'olicitao de Destino Destino Inati.o 'olicitao de Destino Introdu&ida Andar Atingido 'inali&ar 'olicitao de Dis!arar -im!ar Destino *ece/ida Destinos Com!letados Figura 91:19> Controlar solicitao de destino KCC o 9S 91:19 j Controlar ati.ar` ; 'olicitaPo ? de Destino ? G r ? IoS s iCT1 9h Ic j 9 ?E o E 9 e 'olicita0es?de?destino Figura 91:> Gerenciar solicita o de destino DHH ? ; ti ? ? ? ? ' ? so/r ? ? ? dest ? ? ? Figura :> CoV9 rolar ele.ador DH9 11 1;XS ? Figura :19> Gerenciar destino de ele.ador DH: Destino Inati.o Destinos Pendentes *ece/idos Destino Final Atingido Ati.ar Determinar Direo Desati.ar Determinar Direo 'olicitada 'olicitada Ati.ar *eferenciar C"egada 'inali&ar Escalonamento a Andar de Destino Com!letado Ati.ar Determinar Destino Desati.as Gerenciar C"egada Final a Andar Desati.ar Determinar Destino Final Destinos Pendentes Figura :1919> Controlar destino DH@ 'ituaYes1de?ele.acLor Figura :1:> Gerenciar c"egada a andar DHJ escaLonamentosdedestLno I- -im!ar controle de su/ida do ele.ador -im!ar controle de descida do ele.ador ALustar controle de !arada do ele.ador Ati.ar monitorar c"egada a andar ALustar estacionar Ati.ar arma&enar situao do ele.ador E'TACI$8AD$ DE'TI8$ '$BE controle de !arada do ele.ador -im!ar estacionar?ele.ador controle de su/ida do ele.ador ir monitorar e.ento do ele.ador E'CA-$8AME8T$ DE DE'TI8$ C$MP-ETAD$ ALustar estacionar?ele.ador DE'TI8$ DE'CE '7BI8D$ A8DA* 8)$ 8$ A8DA* DE'ERAD$ 'inali&ar andar atingido Dis!arar determinar andar deseLadC SS 9 DE'TI8$ '$BE Dis!ara determinar andar deseLado DE'T1 ATI8GID$ n!ar controle de /ida do ele.ador ustar controle de rada do ele.ador sati.ar monitorar coto do ele.adorE -im!ar controle de !arada do ele.ador -im!ar estacionar ele.ador ALustar controle de descida do ele.ador Ati.ar monitorar mo.imento do ele.ador d DE'CE8D$ A8DA* 8)$ 8$ A8DA* DE'ERAD$ 'inali&ar andar deseLado SS 9 DE'TI8$ DE'CE I8TE*QA-$ DE M$QIME8T$ -im!ar controle de !arada do ele.ador ALuslar controle de su/ida do ele.ador Ati.ar monitorar mo.imento do ele.ador A8D1 DE'T1 ATI8GID$ -im!ar controle de descida do ele.ador ALustar controle de !arada do ele.ador Desati.ar monitorar mo.imento do ele.ador ITE*QA-$ DE M$QIME8T$ nali&ar fora de ser.io nali&ar reescalonar ele.ador -im!ar controle de !arada do ele.ador ALustar controle de descida do ele.ador Ati.ar monitorar mo.imento do ele.ador PA*AD$ ? 9 8$ A8DA* 'inali&ar do .olta ao ser.io 8$ A8DA* 'inali&ar de .olta ao ser.io F$*A?DE?'E*QI($?'$BE 'inali&ar fora de ser.io 'inali&ar escalonar ele.ador Figura :1:19> Mo.er ele.ador !ara andar F$*A DE 'E*QI($?DE'CE DHI $rdens?de?mo.imento 'olicita0es?de11$estino Figura @> Escalonar ele.ador DH< 'itua0es?de?ele.ador o I Is Ic G Figura @19> Gerenciar escalonamento de c"amadas DHK $rdens?de?Mo.imento f H f 0es?de?Ele.ador *EE'CA-$8A* E-EQAD$* Dis!arar lim!ar c"amados Dis!arar escalonar c"amadas Escalonamento Inati.o M$QIME8T$ *ECEBIDA ? E-EQAD$* 8)$ DI'P$8cQE- Dis!arar escalonar c"amadas Escalonamento de C"amadas Pendentes ? `scalonamento de C"amadas A8DA* ATI8GID$ Dis!arar escalonar c"a E-EQAD$* 'E-ECI$8AD$ 'inali&ar escalonamento de c"amadas !endentes Figura @191:> Controlar escalonamento de c"amadas DHD @1:19 f g Controlar _ ? 9 Escalonamento ? ? 1 O de Destino g 9 SSSSSSSSSSSSSSSSSS ? ? 9 ;o t ;@ 9 G 'olicita0es?de?Destino Escalonamentos?de?Destino 'itua0es?de?E le.ador Figura @1:> Gerenciar escalonamento de destinos DHC Inati.o '$-ICITA()$ DE DE'TI8$ *ECEBIDA A8DA* ATI8GID$ Dis!arar escalonar Dis!arar atuali&ar escaIoname solicitao de destino de destinos 'inali&ar escalonamento de destinos !endentes Figura @1:19> Controlar escalonamento de destinos D9H DICI$8+*I$ DE DAD$' D$ 'I'TEMA DE C$8T*$-E DE E-EQAD$*E' andar?atual s .alores> 9?JH $B'1 > n3mero do andar onde um ele.ador est andar?da?destino s .alores> 9?JH $B'1 > n3meros doI andares onde um ele.ador de.e !arar andar?deseLado?alcanado $B'1> sinal andar?do?ele.ador s .alores> 9?JH c"amadas $B'1 > }}}Entrada Gerada}}} c"amadas?!endantes .alores> d 9 offe controle?de?descida?da?ele.ador $B'1> sinal !ara o "ard4are controle?da?!arada?da ?ele.ador $B'1 > sinal !ara o "ard4are controle?da?su/ida?da?ele.ador $B'1> sinal !ara o "ard4are descendo $B'1> }}}Entrada Gerada}}} destino?desce $B'1> sinal de Mue a direo solicitada e descer destino?direo s d destino?descee destino?!endente s .alores> d $B'1> indicao de Mue o ele.ador tem mais destinos al2m do andar atual destino ? so/e $B'1 > }}}Entrada Gerada}}} D99 destinos?!endantes s Fc"amadas?!endentes 9 destino? !endente 9 c"amadas?!endentes t destino?!endentee $B'1 > sinal de Mue eWiste um escalonamento de destinos di rao?da sce $B'1 > }}}Entrada Gerada}}} direo?so/e $B'1> }}}Entrada Gerada}}} ele.ador?no?dis!oni.el $B'1 > sinal de Mue um ele.ador no est dis!onX.el !ara atender a uma c"amada a.ador? selecionado $B'1> sinal de Mue um ele.ador foi escalado !ara uma c"amada escalonamento?da?destino s |n3mero?do?ele.adcrt { andar?de? destino utorigem?da? solicitao tdest inao?!endente escalonam ntoa?de?d1stino s {escalonamento?de?destinou estacionado $B'1> sinal estado?da?ele.ador s Festacionado su/indo 9 descendo 9 !arado 9 fora?de?ser.ioe fora?de?ser.io $B'1> sinal de Mue o ele.ador fal"ou em reagir ao comando de mo.imento indicao?da?c"amada s .alores> 9?JH $B'1 > indicao de n3meros dos andares em Mue um ele.ador est escalado !ara !arar indicao?da?c"egada.alores> 9?JH $B'1 > indicao do andar ao Mual o ele.ador c"egou dicao?da?destino s .alores> 9?JH $B'1 > indicao dos n3meros dos andares onde o ele.ador de.e !arar D9: no?andar $B'1 > sinal de Mue o ele.ador atingiu um andar n3i s .alores> 9?JH $B'1> }}}Entrada Gerada}}} n3mTro?da?191.ador s .alores> 9?J $B'1 > }}}Entrada Gerada}}} $B'1 > }}}Entrada Gerada}}} ord s |andar?do?ele.ador t d direo?desce 9 direo?so/e t direo ?descee t n3mero?de?ele.ador ordem?de?mo.i& $B'1> sinal ord1m?d1 ?mo.imento ?rece/ida $B'1> sinal ordens?d s {ordem?de?mo.imentou !arado $B'1 > }}}Entrada Gerada}}} reescalonar?ele.ador $B'1 > sinal !ara iniciar o reescalonarnento de c"amadas !ara um ele.ador com defeito sLnalSdeScontroleSdeSele.adorcontroledes7/idade? ele.adortcontro ele.adortcontrole? de!aradade ele.ador situa0es?de?ele.ador s {situao?de?ele.adoru so/recarga $B'1> sinal do "ard4are solicitao?de?destino s |n3rnero?do?ele.adort d andar D9@ $B'1> sinal de Mue um !assageiro introdu&i solicitao aolicitako?d?d $B'1> sinal de Mue a solicitao est !ron ta !ara escalonamento solicitaio?origem s d 9 andar?de?destino c"amada t andar?de?destinoe solicitaao?r sordem?de?mo.imento?rece/ida t solicitao?de?destino?rece/L soe1icitaND ordens?de?mo.imento t solicita0es?de destino soliCita0es?de?destino { solicitaZo?de?destinou situao?de?ele.ador s |n3mero?de?ele.adortestado?de ele.adortandar?atual su/indo $B'1> }}}Entrada Gerada}}} .alores $B'1 > }}}Entrada Gerada}}} D9J - Es!eMfica0es de Processos 9191: A*8AgE8K $*DEM DE M$QIME8T$ Pr2?condio entrada?da?ordem?da?mo.imento ocorra PYs?condio entrada?de?ordem?de?mo.imento seLa arma&enada ordem?da?mo.imento?introdu&ida seLa !rodu&ida 9191@ -IMPA* C,AMADA C$MP-ETADA Pr2?condio EWiste um n em situa0es?da? ele.ador Mue coincide com n3mero?da?ele.ador? designado em ordem?da??mo.imento e EWiste um corres!ondente andar?atual em situa0es?de?ele.ador Mue coincide com n3mero? de?andar em ordens?da?mo.imento PYs?condio A entrada corres!ondente em ordem?de?mo.imento 2 nula 9191J EXIBI* $*DEM DE M$QIME8T$ Pr2?condio 8en"uma PYs?condio Tue as ordens?de?mo.imento esteLam eWi/idas 91:1@ -IMPA* DE'TI8$' ATI8GID$' Pr2?condio EWiste um numero?de?ele.ador em situa0es?de? ele.ador Mue coincide com numero?de? ele.ador em solicita0es?de?destino e EWiste um corres!ondente andar?atual em situa0es?de?ele.ador Mue coincide com numero? da?andar em solicita0es?de?destino PYs?condio A entrada corres!ondente em solicita0es?de? destino 2 nula 91:1J EXIBI* '$-ICITA()$ DE DE'TI8$ Pr2?condio 8en"uma PYs?condio Tue as solicita0es?da?destino esteLam eWi/idas D9I :191: DETE*MI8A* DE'TI8$ FI8A- Pr2?condio EWiste um numero?de?ele.ador em situa0es?de? ele.ador Mue coincide com numero?de?ele.ador em escalonamentos?de?destino e EWiste um corres!ondente andar?atual em situa0es?da?ele.ador Mue coincide com andar?de? destino em escalonamantos?de?deatino e destino?!endente corres!ondente s Hff em escalonamentos ?da?destino PYs?condio destino?final?atingido seLa !rodu&ido :191@ DETE*MI8A* DI*E()$ '$-ICITADA $ termo local igual 2 um numero?de?ele.ador coincidente em escalonamantos ?de?destino e numero?de?ele.ador em situao?da?ele.ador Pr2?condio 9 igual eWiste e EWiste em escalonamentos?de?destino um andar?de? destino i andar?corrente em situao? de?ele.ador PYs?condio 9 destino?so/e seLa !rodu&ido Pr2?condio : igual eWiste e EWiste em escalonamentos ?de?destino um andar?de? destino h andar?corrente em situao?de?ele.ador PYs?condio : destino?desce seLa !rodu&ido :1:1: M$8IT$*A* C,EGADA A A8DA* Pr2?condio 9 andar ocorra PYs?condico 9 indicao?de?c"egada esteLa lim!a em relao a andar anterior e indicao?de?c"egada seLa !rodu&ida !ara andar corre s!ondente e no?andar seLa !rodu&ido e andar?atual seLa atuali&ado em situa0es?de? ele.ador D9< :1:1@ M$8IT$*A* M$QIME8T$ DE E-EQAD$* andar?atual 2 lido de situa0es?de?ele.ador Pr2?condio !assam?se 9H segundos sem Mue andar?atual se modifiMue PYs?condio inter.alo?da?mo.imento ocorre :1:1J A*MAgE8A* 'IT7A()$ DE E-EQAD$* Pr2?condio Mue seLa rece/ido um sinal de entrada PYs?condio estado?de?ele.ador seLa atuali&ado em situao? da?ele.ador :1:1I DETE*MI8A* A8DA* DE'ERAD$ Pr2?condio EWiste um numero?de?ele.ador em situa0es?da? ele.ador Mue coincide com n3mero?da? ele.ador em situa0es ?da?da stino e EWiste um corres!ondente andar?atual em situa0es?da?ele.ador Mue coincide com andar? da? destino em escalonamentos?de?dastino PYs?condio andar?deseLado?atingido seLa !rodu&ido @1919 E'CA-$8A* C,AMADA' BEGI8 com ordem?de?mo.imentoE situao?da?ele.ador e so/recarga D$ 5,I-E ele.ador?selecionado no ten"a sido sinali&ado Encontrar ele.ador mais !rYWimo IF ele.ador est se mo.endo na direo correta ou ele.ador est estacionado IF ele.ador no est so/recarregado introdu&a ordem?da?mo.imento !or n3mero ?de?ele.ador em escalonamento?de?destino aLuste solicitao?origem em c"amada ou em c"amada t destino E8DIF IF destinao?!endente s off faa destinao?!endente s on E8D 9 F sinali&e ele.ador?selecionado E-'E Encontre ele.ador mais !rYWimo D9K E8D D$ IF nen"um ele.ador encontrado 'inali&e ele.ador no dis!oni.el E8DIF E8D @191@ -IMPA* DE'TI8$' C,AMAD$' Pr2?condio EWiste um n3mero?de?ele.ador em situa0es?da? ele.ador Mue coincide com n3mero?da? ele.ador em escalonamento1 ?de?destino e o corres!ondente estado?da?ele.ador s fora?de? ser.io em situa0es?da?ele.ador e a corres!ondente solicitao?origem s c"amada em escalonamentos?cie?dastino PYs?condio As entradas corres!ondentes de andar?da?destino so nulas @1:1: E'CA-$8A* '$-ICITA()$ DE DE'TI8$ Pr2?condio 8en"uma PYs?condio escalonamentos?de?dastino seLa atuali&ado !or solicita0es?de?destino coincidindo com n3mero? da?ele.ador Faa solicitao?origem s destino ou c"anada t destino IF destino?!endente so7 Faa destino?!endente s off E8DIF @1:1@ AT7A-IgA* E'CA-$8AME8T$ DE DE'TI8$ Pr2?condio 9 EWiste um numero?da?ele.ador em situa0es?da? ele.ador Mue coincide com n3mero?de? ele.ador em escalonamento1 ?de?destino e EWiste um corres!ondente andar?atual em situa0es?de?ele.ador Mue coincide com andar? de? destino em escalonamento?de?destino PYs?condio 9 a entrada corres!ondente de andar?de?destino 2 nula Pr2?condio : mesma condio da !r2?condio 9 D9D e nen"un outra corres!ondente entrada de andar? da?daatino esteLa !resente PYs?condiPo : a entrada corres!ondente de andar?da?destino 2 nula e o corres!ondente daatino?!ondonta seLa aLustada em off D9C c8DICE A A/ordagem de modelagem clssicaE @C:? CK fracasso daE @C:?CK modelo fXsico atualE @C: modelo fXsico no.oE @C:?C@ modelo lYgico atualE @C: modelo lYgico no.oE @C: !ressu!osi0esE @CI A/ordagem to!?do4n no modelo com!ortamentalE JJH?J: fenNmeno dos seis analistasE JJH? J9 !aralisao da anliseE JJH su/di.iso fXsica ar/itrriaE JJ9 A0esE estadosE @:< ADABA' sistema de gerenciamento de /ancos de dadosE :JKE :CH Am/ienteE sistemas de tem!o realE @9 Anlise de /enefXciosE <@@?@< /enefXcios estrat2gicos do no.o sis temaE <@<?@K /enefXcios tticosE <@J?@< Anlise de riscosE <J9?J@ Anlise estruturadaE 9I9?<JE ID9 ad.ento das ferramentas automati &adas de anliseE 9IK?IC /ac%log FdemandaO de a!lica0esE 9@:?@C clculos de custoG/enefXcioE <:@?JJ camin"amentosE IJ@E <JI?I@ camin"amentos de anliseE <J<?I@ ciclo de.ida da !rototi!aoE CDE9:H? :J ciclo de .ida do !roLetoE CK?9:C ciclo de .ida do !roLeto estruturadoE 9HC? 9< demanda F/ac%logO de a!lica0esE 9@:?@C desen"o de formulriosE JD<?DD desen.ol.imento de sistemasE JC?KCE 9@ 9?IH diagramas de conteWtoE J 9<?9KE J:9? :D diagramas de entidades?relaciona mentosFE?*OEDD?DCE 9I<E:J<E:DC? @9DE JHH diagramas de fluWo de dados FDFDOE DJ?DKE 9KK?:@@E :J<E JHH diagramas de transi0es de estado FDTEOE :DE CHE C9E 9I<E :9IE :JKE @ 9C?@<E JHH dicionrio de dados FDDOE D<E :@I? IJE JHH diretri&es !ara estimati.asE <HI?:: entre.istasE <II?<D es!ecifica0es de !rocessosE D<?DKE :J<E :I@?DKE JHH estudo de caso> a 6ourdon PressE <K 9?KDI ferramentas automati&adasE 9IK?ICE IKC?<H@ ferramentas de modelagemE D:?D@E 9<K?KJ fluWosE 9D9?DK futuro daE I<@?K< casamento da IA e da anlise es truturadaE IK9?K: con"ecimento am!liado da an lise de sistemasE I<<?<D "ard4are de com!utadoresE IK:? KJ im!acto dos desastres de manu tenoE I<C?KH D:9 !roliferao das ferramentas au tomati&adasE I<D?<C im!acto na estrutura organi&aciona`E I@H?@9 interface "umanaE JK@?C9 lista de e.entosE J 9K?:HE J:D?@:E <KC? D9E KCJ manuteno das es!ecifica0esE II@? K< modelagemE :DE D:?CIE 9I< modelo am/ientalE @CCE JHHE J 9J?@: modelo com!ortamentalE @CCE JHHE 9@C?<J modelo de im!lementao do usurioE :CE K@E @<9E@CIE J<I?IH@ modelo essencialE @C9E@CK?JHKEJ<I? << modifica0es antigas naE I<@?<< modifica0es na anlise estruturada clssicaE 9II?I< mo.imento em direo aE 9I@?II !roLeto de sistemasE IHK?:I !rogramaoE I :K?@C !rototi!aoE uso daE 9IC?<H sistemas automati&adosE :H?JH testesE 9H9?9HJE I@H?@9E I@C?J@ usuriosE IH?<H QeLa tam/2m tY!icos es!ecXficos Analistas de sistemas fornecedores de esta0es de tra/al"oE IDJ?DI !a!2is dosE <D?<C !rogramaoGtestes eE I:D?@9 A!resentadorE como !ersonagem nos camin"amentosE <IH Arma&enamento de dados a longo !ra&oE JC@ AuditoresE <K o/Leti.o dosE <K !ro/lemas do tra/al"o comE <K Automati&ao como !ro/lema da gerAncia do !ro LetoE @DJ?D< de sistemas de !rocessamento de informa0esE :H B Bac%logE QeLa Bac%log de a!lica0es Bac%log de a!lica0esE 9@:?@C /ac%log descon"ecidoE 9@@ /ac%log in.isX.elE 9@: /ac%log .isX.elE 9@: reduo doE 9@@?@D Bac%log descon"ecidoE 9@@ Bac%log in.isX.elE 9@: Bac%log .isX.elE 9@: BancadasE !roLetoE ID9 Bol"as de gerao es!ontPneaE :HJ Buracos negrosE diagramas de fluWos de dados FDFDOE :HJ c ClculosE JC@ Clculos de custoG/enefXcioE <:@?JJ anlise de /enefXciosE <@@?@K /enefXcios estrat2gicos do no.o sistemaE <@<?@K /enefXcios tticosE <@J?@< anlise de custosE <:I?@@ custo das fal"asE <@:?@@ custo do din"eiroE<:C custos de construo de sistemasE <:I?:K custos de instalao de sistemasE <:K?:C custos o!eracionaisE <:C?@ 9 distino entre custo de ca!ital e custo de des!esasE <@@ anlise dos riscosE <J9?J@ como eW!ressar custosG/enefXciosE <@K?J 9 fluWo de caiWaE <@D?@C retorno do in.estimentoE <@C taWa interna de retornoE <J9 .alor atual lXMaidoE <@C?JH Clculos de custosE sistemasE <:I?:K Camin"amentos F5al%t"roug"sOE <J@E <JI?I@ definioE <JI?J< moti.os !ara a reali&aoE <J<?JD !ersonagens dosE <JC?I 9 !rocedimentosE <I9?I: Muando fa&erE <JD?JC ti!os deE <J< Camin"amentos da anliseE <J<?I@ D:: moti.os de utili&aoE <J<?JD !ersonagens dosE <JC?I 9 !rocedimentosE <I9?I: Muando utili&arE <JD?JC Camin"o da auditoriaE JCK Cart0es !erfuradosE JKJE JK<?KK CA'E FCom!uter?Aided 'oft4are Engi neeringOE 9ID Ciclo de .ida da !rototi!aoE CDE 9:H?:J candidatos !araE 9: 9?:J definioE 9:H soft4are usadoE 9:9 Ciclo de .ida do !roLetoE CK?9:C ciclo de .ida da !rototi!aoE CDE 9:H?:J ciclo de .ida do !roLeto clssicoE 9HH? 9H9 im!lementao /ottom?u!E 9H9? 9HJ !rogresso seMaencialE 9HJ?9HI ciclo de .ida do !roLeto estruturadoE 9HC?99< ciclo de .ida do !roLeto semi?estrutu radoE CDE 9HJ?9HD conceito deE CD?9HH im!lementao to!?do4nE CDE 99<? :H o/Leti.os doE CC?9HH Ciclo de .ida do !roLeto clssicoE 9HH? 9H9 im!lementao /ottom?u!E 9H9?9HJ ciclo de .ida em cascataE 9H9?9HJ eliminao de errosE 9H9 testesE 9H9?9HJ !rogresso seMaencialE 9HJ Ciclo de .ida do !roLeto estruturadoE 9HC? 99< anlise de sistemasE 99: controle de MualidadeE 99J con.erso de /ancos de dadosE 99I gerao de testes de aceitaoE 99@ im!lementaoE 99@ instalaoE 99I le.antamentoE 9HC?999 !roLetoE 99: resumoE 99I?99< Ciclo de .ida do !roLeto semi?estrutu radoE CDE 9HI?9HD com!arado ao ciclo de .ida do !ro Leto clssicoE 9HI Ciclo de .ida em casacataE 9H9?9HJ CYdigo reutili&.elE su!orte de IAE ICD? CC CYdigos cYdigo reutili&.elE su!orte da IAE ICD?CC cYdigos alfa/2ticosE JCH cYdigos eWternosE JDC CYdigos alfa/2ticosE JCH CYdigos de classificaoE JCH CYdigos eWternosE JDC Coleta de dadosE <<D Coleta de dados formas deE <<D entre.istasE <I<?<D Com!leWidade eWcessi.aE .erificao anteci!adaE ICK Com!ortamento tem!o?de!endenteE @ 9C?:H sistemas de tem!o?realE @9 Com!utador A!oiloE ID@ Com!utador 'unE ID@ Com!utadores !essoais FPCOE IDHE D9 Com!utadores QAXE ID@?CJ Com!utadores 5angE IC@ Com!uter?Aided 'oft4are Engineering FCA'EOE 9ID Com!uter $ut!utMicroform FC$MOE JKD Condi0esE estadosE @:< Confia/ilidade como !ro/lema de alocaoE I 9@?9J no desen.ol.imento de !roLetos de sistemasE 9@C?J: erros de soft4areE 9@C?J: restri0esE JC<?CK Controles /atc"E JCI Controle de documentosE ICI Controle de MualidadeE ciclo de .ida de !roLeto estruturado eE 99J Con.ersoE IJI?J< con.erso de /ancos de dadosE 99I custos deE <:K Con.erso de /ancos de dados ciclo de .ida do !roLeto estruturadoE 99I custos daE <:K D:@ CorreoE como !ro/lema da !ro gramaoE I@K CronogramasE estimati.as deE <HI CustoE um !ro/lema de alocaoE I9: Custos com !essoalE <@H Custos das fal"asE <@:?@@ Custos das instala0es fXsicasE <@9 Custos de ca!italE com!arados com custos de des!esasE <@@ Custos de des!esasE com!arados com custos de ca!italE <@@ Custos o!eracionaisE sistemasE <@:?@@ D Deciso de im!lementaoE :C Defini0esE dicionrio de dadosE :@C Declarao de o/Leti.os modelo am/ientalE J9J?9< 6ourdon PressE <KD Demanda descon"ecidaE 9@@ De!artamento 'IGE <@ De!Ysito de im!lementaoE 9DD?CH De!Ysitos alocao deE I99 atri/uio de nomes aosE 9C<?CC definio deE 9DD?9DC de!Ysito de im!lementaoE 9DC?C9 de!Ysitos de escrita?a!enasE :HJ de!Ysitos de leitura?a!enasE :HJ de!Ysitos essenciaisE JJK fluWo !araE 9C@?CJ inter!retao de fluWo !ro.eniente deE 9C: !Xo!Ysito dosE 9DC De!Ysitos de controleE D<E :9J De!Ysitos de dados alocao deE I99 QeLa tam/2m De!Ysitos De!Ysitos de escrita?a!enasE :HJ De!Ysitos de leitura?a!enasE :HJ De!Ysitos essenciaisE JJK De!Ysitos eWternos comunicao atra.2s deE J:@ modelo de entidades?relacionamen tosE J9C DE*E QeLa Diagramas de entidades?rela cionamentos FE?*O Desen.ol.imentoE QeLa Desen.ol.i mento de sistemas Desen.ol.imento de sistemas !artici!antesE JC?KC analista de sistemasE <D?<C auditoresE <K gerAnciaE <H?<K gru!o de controle de MualidadeE <K !essoal de o!era0esE K:?K@ !rogramadoresE <C?K: !roLetistas de sistemasE <C setor de !adr0esE <K usuriosE IH?<H !rinci!ais !ro/lemasE 9@9?IH confia/ilidadeE 9@C?J: eficiAnciaE 9JJ manuteni/ilidadeE 9J:?JJ !orta/ilidadeE 9JJ !roduti.idadeE 9@:?@C seguranaE 9JJ relacionamento entre a gerAncia eE <:?<@ DFDE QeLa Diagramas de fluWo de dados Diagrama de /ol"asE QeLa Diagramas de fluWo de dados Diagrama de fluWo de dados de alto nX.elE JJH Diagrama de fluWo de dados inicialE desen.ol.imento doE JJK?JD Diagrama 'ADTE @<< Diagramas de anlise de !ro/lemas FDAPOE @IKE @ICE @<H com!onentes dosE @IC Diagramas de Bac"manE @<<E @<K Diagramas de conteWto modelo am/ientalE J9< construo doE J:9?:D nome de !rocesso tX!ico !araEJ:9 terminadores du!licados emE J:J Diagramas de entidades?relacionamen tos FE?*OE DD?DCE 9IKE :J<E :DC?@9DE JHH com!onentes doE DDE :C:?@HH indicadores de ti!os de o/Letos associati.osE :CD?@HH relacionamentosE :CJ?CK ti!os de o/LetosE :C:?C@ D:J definio deE DD dicionrio de dadosE notao !araE @9H?99 diretri&es de construoE @HH?@H9 acr2scimode ti!os de o/LetosE @HH? 9H su!resso de ti!os de o/LetosE @H<? 9H eMuilX/rio em relao ao DFD e Zs es!ecifica0es de !rocessosE @JJ? JI .aria0esE @<I ?<D 6ourdon PressE KIK Diagramas de estrutura de dados de DeMarcoE @<<?<K Diagramas de FerstlE @IK?ID Diagramas defluWo de dados FDFDOE DJ? DKE 9KK?:@@E :JKE JHH como e.itar DFD eWcessi.amente com!leWosE :HH como refa&erE :H9?:H@ com!arados com os diagramas de entidades?relacionamentos FE?*OE :DC com!onentes dosE DJ?D<E 9KC?C< de!YsitosE DIE 9DD?CJ fluWosE DIE 9D9?DD !rocessosE DIE 9DH?D9 terminadoresE DIE 9CJ?C< diagramas de fluWo de dados su/di .ididos em nX.eisE :HI?: 9J dicionrio de dados FDDOE D< diretri&es de consistAnciaE :HJ?:HI es!ecificao de !rocessosE D<E DK eWem!lo deE DI eWtens0esE !ara sistemas de tem!o realE :9J?9I modelo com!ortamental finalE 6our don PressE <KI?K@: modelo com!ortamental !reliminarE 6ourdon PressE <KC?K: 9 !ro/lema dos ele.adoresE KCI?D9H relacionamentos entre diagramas de transi0es de estado FDTEO eE @@H? @@9 su/di.iso em nX.eisE JIJ?IC su/di.isZo ascendenteE JIJ?IIE J<9 su/di.iso descendenteE JII?IK utili&ao em lugar dos diagramas PE*TE @D 9?D@ .aria0esE @<I Diagramas de fluWo de tra/al"oE QeLa Diagramas de fluWo de dados Diagramas de Gane?'arsonE @<I Diagramas de ,amilton?geldinE @IKE@IC Diagramas de transi0es de estado FDTEOE :DE DC?CHE C9E 9I<E :9J?9IE :J<E @9C? @<E JHH como com!let?losE J<9 com!arados aos diagramas de enti dades?relacionamentos FE?*OE :DC construo dosE @ :C?@H diagramas su/di.ididosE @:<?:D notaoE @:H?:< condi0es e a0esE @:< estados do sistemaE @:H?:: mudanas de estadoE @::?:J relacionamento com outros com!o nentes do modeloE @@H?@9 relacionamento entre diagramas de fluWo de dados eE @@9 Diagramas estruturaisE CH?C9E@<@?<IEI9< mYdulosE K: Diagramas ,IP$E @<:?<@ Diagramas IP$ Fentrada?!rocessamento saXdaOE @<@ Diagramas PE*TE @KD?DH lista de ati.idadesE @D@ ati.idades de alto nX.elE @D@ Dicionrio de dados FDDOE D<E :@I?I:E JHH aceitao do usurioE :JI?JK como com!letar oE J<H definio doE :@< entradas FitensOE 9<J eMuilX/rio doE @JH?J:E @J<?JK em relao Zs es!ecifica0es de !rocessosE @JH?J: em relao ao DDE @JH?J 9 em relao ao DTEE @J<?JK im!lementao doE :JK?JD im!ortPncia doE :@I?@< notaoE :@D?JI defini0esE :@C?JH elementos de dados elementaresE D:I :JH?J9 elementos de dados o!cionaisE :J:?J@ esMuemas de notaoE :@C iteraoE :J@?JJ necessidade daE :@<?@D seleoE :JJ sinNnimosE :JJ?J< notao do diagrama E?*E @ 9H?99 !ro/lema do ele.adorE D9 9?9@ 6ourdon PressE K@:?IK Diagramas de estrutura de dadosRac%sonE @<<E @<C Diagramas de fluWo de dados su/di.idi dos em nX.eisE :HI?: 9J consistAnciaE :9H eWi/io de de!Ysitos em .rios nX.eisE :9H eWi/io dos nX.eis aos usuriosE :9H n3mero de nX.eisE :HC su/di.isoE :HC uso deE :9@?:9J Diagramas de 8assi?'"neidermanE :KK? KDE @I<E @ID t !seudocYdigoE :KD Diagramas su/di.ididosE @:<?:D DilogoGinterface "omemGmMuinaE QeLa Interface "umana Diretri&es de consistAnciaE diagramas de fluWo de dados FDFDOE :HJ?:HI Diretri&es de estimati.asE <HI?:: fator de comunicaoE <9I?9< fYrmulasE <9<?9D !ara estimar o tem!oE <9K?9D !ara estimar o tem!o de tra/al"oE <9K itens a serem estimadosE <HI?H< modelos de estimati.as com!utado ri&adasE <9C !erigosE <H<?9@ de estimar seu !rY!rio tra/al"oE <HC? 9H diferena entre estimar e negociarE <HK?<HD dificuldade em medir a unidade de tra/al"oE <9:?9@ estimati.as com /ase em !ressu !osi0es de "oras eWtras no !agasE <9@ estimati.as detal"adas !rematu rasE <99?9: falta de um /anco de dados de estimati.asE <9H?99 grande .ariao nas "a/ilidades t2cnicasE <HD?<HC tra/al"o no.o .ersus tra/al"o a!ro.eitadoE <9< unidades de estimati.asE taman"o dasE <9J?9I unidades de tra/al"oE inde!endAncia dasE <9I Discos fleWX.eisE JKJ?KI E EficiAncia como !ro/lema da alocaaoE i `?i& como!ro/lemada !rogramaoE I@<? @K no desen.ol.imento de !roLetos de sistemasE 9JJ EGA?PaintE ID@E IDD Elementos de dados elementaresE di cionrio de dados FDDOE :JH?J9 Elementos de dados o!cionaisE di cionrio de dados FDDOE :J:?J@ Eliminao de errosE IKC ciclo de .ida do !roLeto clssicoE 9H9 Entrada dis!ositi.os de entradaE JKJ?KI cart0es !erfuradosE JKJ discos fleWX.eisE JKJ?KI entrada de .o&E JK< fita magn2ticaE JKJ leitoras YticasGleitoras de cYdigo de /arrasE JKI telefoneE JKI?K< terminais e com!utadores !es soais FPCOE JKI entradas redundantesE JCJ insero dc entradas no sistemaE JC:? C@ tem!o de res!osta ZE JC< Entrada de .o&E JK< Entradas FitensOE dicionrio de dados FDDOE 9<J D:< Entre.istasE <II?<<J diretri&es !ara a conduoE <ID?<<J autori&ao !ara falar com os usu riosE <IC?<<H estilos de entre.istasE <<@?<J informa0es de interesse !ara o usurioE <<:?<@ !laneLamento geralE <ID?IC !ro/lemas a dar atenoE <<<?<K resistAnciaE <<J?<< uso de ferramentas automati&a dasE <<: uso eficiente do tem!oE <<H?<: formas alternati.as de coleta de dadosE <<D moti.o !ara reali&arE <II !ro/lemas comE <IK?ID ti!os deE <I< EMuilX/rio das es!ecifica0es de !rocessos em relao ao DFD e ao DDE @J:?J@ de modelosE @@K?I 9 do DD em relao ao DFD e Zs es!eci fica0es de !rocessosE @JJ do DE* em relao ao DFD e Zs es!ecifica0es de !rocessosE @JJ? JI do DFD em relao ao DDE @JH?J 9 do DFD em relao ao DTEE @J<?JK do DFD em relao Zs es!ecifica0es de !rocessosE @J 9?J: EMui!e de desen.ol.imentoE o custo durante a instalaoE <:D?:C ErrosE soft4areE 9@C?J: Escalonamento de !essoalE estimati.as deE <HI Escri.oE como !ersonagem de cami n"amentosE <IH Es!ecifica0es de !rocessosE D<?DKE:J<E :I@?DKE JHH como com!letarE J<H?<9 condi0es !r2G!YsE :<<?K9 diagramas de 8assi?'"neidermanE :KK?KD eMuilX/rio em relao ao DFD e ao DDE @J:?J@ fluWogramasE :KI?KK grafosGdiagramas1 :KJ limitao da com!leWidade dasE :<J? <I linguagem estruturadaE :ID?<< linguagem narrati.aE :KJ?KI manuteno dasE IJJ !ro/lema dos ele.adoresE D9I?9D reMuisitos dasE : I@?IJ ta/elas de decisoE :JK?JC 6ourdon PressE KID?KDI Es!ecifica0es funcionais grficasE 9II Es!ecifica0es funcionais minirnamente redundantesE 9II Es!ecifica0es funcionais su/di.ididasE 9II Esta0es de tra/al"o Festa0es inteli gentesOE custo dasE ICC?<H9 Estado final de sistemaE @:@E :I Estado inicial de sistemaE @:@E :I Estados do sistemaE @:9?:: mudanas de estadoE @::?:< Estimati.a de oramentosE <HI Estimati.as detal"adas !rematurasE <99? 9: Estudo de casoE a 6ourdon PressE <K9? KDI antecedentesE <K:?KD diagrama de entidades?relacionamen tos FE?*OE KIK dicionrio de dados FDDOE K@:?IK escala de o!era0esE <KD es!ecifica0es de !rocessosE KID?DI estrutura organi&acional da 6ourdonE Inc1E <KI?K< gru!os !rinci!aisE <K<?KK modelo am/ientalE <KD?D 9 declarao de o/Leti.osE <KD diagrama de conteWtoE <KC lista de e.entosE <KC?D9 modelo com!ortamental finalE K::? @9 diagramas de fluWo de dados FDFDOE K:@?@ 9 modelo com!ortamental !reliminarE <D:?KDI diagrama de fluWo de dados FDFDOE <D@?K:9 EWecu0es !aralelasE custo dasE <:D?:C D:K F Ferramentas automati&adasE 9I<?ICEIKC? <H@E <<: caracterXsticas dasE IDI?C9 .erificao cru&ada dos mode losE ICH?C9 recursos de .erificao de errosE IDD?CH su!orte grficoE ID<?DD futuro dasE IC9?CC cYdigo reutili&.elE su!orte da IAE ICD?CC controle de documentosE ICI estatXstica da !roduti.idade e m2tricas de soft4areE IC< gerao de cYdigoE ICD gerenciamerito de !roLetosE ICI? C< !ro.a de correo assistida !or com!utadorE ICK Muadros da eMui!e de !roLetoE ICC redes !ara uso em !roLetosE IC@? CJ su!orte Z metodologia de enge n"aria de soft4are !ersonali&adoE ICJ?CI teste e simulao assistidos !or com!utadorE ICK .erificao anteci!ada de com !leWidade eWcessi.aE ICK ti!os deE IKC?D9 Ferramentas de modelagemE D:?D@E 9<<? KJ caracterXsticas dasE 9<<?KJ diagrama de fluWo de dados FDFDOE 9KK?:@@ diagramas de entidades?rela cionamentos FE?*OE :DC?@ 9D diagramas de transi0es de estado FDTEOE @9C?@< diagramas ,IP$E @<:?<I dicionrio de dados FDDOE :@I?I: eMuilX/rio dasE @@K?I : es!ecifica0es de !rocessosE :I@?DK fluWogramasE @IJ?<: modelos grficosE 9<C D:D modelos minimamente redundan tesE 9K9?K: modelos trans!arentesE 9K:?K@ !ara gerAncia de !roLetosE @KI?DK su/di.iso to!?do4n de modelosE 9KC?D9 Ferramentas de modelagem de tem!o? realE ICI Fita magn2ticaE JKJEJKK FluWo de caiWaE <@D?@C FluWogramas de sistemasE @IC?<9 FluWos atri/uio de nomesE 9D: definio deE 9D9 direo deE 9D@ escol"a de nomes !araE 9C<?CC fluWos con.ergentesE 9DJ?DI fluWos de dilogoE 9DJ fluWos di.ergentesE 9DI?D< FluWos de controleE D<E :9J?9I FluWos de dadosE diagramas de con teWtoE J:JE J:< FluWos de dilogoE J:K?:C FluWos di.ergentesE 9DI?D< FluWos sem rYtuloE 9C:E :HJ FluWogramasE :KI?KKE @IJ?IC crXticas aosE :KI fluWograma clssicoE @IJ?I< fluWograma no?estruturadoE @IK notaoE @IJ .aria0esE @I<?IC FormatoE de sistemaE J<<?<K Formulrios es!eciaisE JDK?DD custo dosE JDD formulrios multi!artesE JDD ti!os deE JDD Formulrios multi!artesE JDD Formulrios normaisE JDK FYrmulas estimati.asE <9<?9D !ara estimar o tem!oE <9K?9D !ara estimar o tem!o de tra/al"oE <9K Fornecedores custos de instalaoE <:K demonstra0es !elosE <<D - Fronteiras da automati&aoE @C: modelo de im!lementao do usurioE J<D?K@ o!0es eWtremasE J<D?<C seleo dasE J<C?K@ G?, Gerao de cYdigoE ICD Gerao do teste de aceitaoE ciclo de .ida do !roLeto estruturadoE 99@ GerAncia interao entre os analistas de sis temas eE FIH?<: nX.eis deE <H?<9 !ontos im!ortantes relati.os ZE <H?<: relacionamento entre !roLetos desen .ol.imento de sistemas eE <@?<J GerAncia de !roLetoE ICI?C< ferramentas de modelagemE @KI?DK com!aradas com outras ferramen tas de modelagem de sistemasE @D:?DJ diagramas de GA8TFE @DH?D9 diagramas PE*7E @KD?DH necessidade de modelos !ela gerAnciaE @K<?KK !ro/lema da automati&aoE @DJ?D< GrafosGdiagramasE :KJ Gru!o de administrao de /anco de dados FDBAOE :CH?C9 Gru!o de administrao de dados FDAOE :CH Guias de referAnciaE IJK ,ard4are custo doE <@H futuro doE IK:?KJ instalaoE IK< ,ierarMuia sincroni&ada de mYdulosE @<I Im!lementao /ottom?u! ciclo de .ida do !roLeto clssicoE 9H9? 9HJ ciclo de .ida em cascataE 9H9?9HJ eliminao de errosE 9H9 testesE 9H9?9HJ Im!lementaoE ciclo de .ida de !roLeto estruturadoE 99@ Im!lementao to!?do4n a/ordagem radical .ersus a/orda gem conser.adoraE 99<?9:H ciclo de .ida do !roLeto sem i?estrutu radoE 9HI?9H< Im!lementao to!?do4n conser.ado raE 99<?9:H Im!lementao to!?do4n radicalE 99<? 9:H Ins!e0esE IJ@ QeLa tam/2m Camin"amentos F5al %t"roug"sO Instalao ciclo de .ida do !roLeto estruturadoE 99I custos daE <:K?:C de sistemaE IJ<?JK soft4areE IJK InteligAncia artificial a!oio de cYdigo reutili&.elE ICD?CC casamento da anlise estruturada eE IK9?K: definio de E @I?@<E@D e o custo do sistemaE <@<?@K Interface amistosa ao usurio diretri&esE JDH?DI QeLa tam/2m Interface "umana Interface "umanaE :DE JK@?C9 cYdigos de entradaGsaXdaE JDC?C9 cYdigos alfa/2ticosE JCH?C9 cYdigos de classificaoE JDC cYdigos eWternosE JDC reMuisitos !araE JDC?CH diretri&es !ara interfaces amistosas !ara o usurioE JDH?DI dis!ositi.os de entradaE JKJ?KI cart0es !erfuradosE JKJ discos fleWX.eisE JKJ?KI entrada de .o&E JK< fita magn2ticaE JKJ leitoras YticasGleitoras de cYdigo de /arrasE JKI telefoneE JKI?K< terminais e com!utadores !es soais FPCOE JKI D:C dis!ositi.os de saXda 9@I?@<E I@I cart0es !erfuradosE JK<?KK -inguagem de !rogramao MA*K QE Com!uter $ut!ut Microform9@I?@<E I@I FC$MOE JKD -inguagem de !rogramao 8$MADE fitaGdisco magn2ticoE JKK J<K !lotterE JKK -inguagem de !rogramao PascalE 9@I? saida de .o&E JKK @<E 9ICE I@I saXda im!ressaE JK< -inguagem de !rogramao PC?F$C7'E terminaisE JKK 9@I?@< formatos de entradaGsaXdaE JKD?DI -inguagem de !rogramao P*$-$GE !ro/lemas relacionadosE JK@?KJ @C !roLeto de formulriosE JD<?DD -inguagem de !rogramao *AMI'E I@I conte3do de formulriosE JD<-inguagem estruturadaE :ID?<<E :K: formulrios comunsE JDK definioE :ID?IC formulrios es!eciaisE JDD o/LetosE :IC International Business Mac"ines FIBMOE sentenasE :<H ID@ sentenas com!ostasE :<: Inter.alo de tem!o entre fal"as FMTBFOE .er/osE :IC JCK -inguagem narrati.aE :KJ?KI IteraoE dicionrio de dadosE :J@ a/ordagem de anlise estruturada su/di.ididaE :KI -inguagens de !rogramao de alto ni - .elE IKC -eitoras de cYdigos de /arrasE JKI -inguagens de !rogramaode !rimeira -eitoras YticasE JKI geraoE I@J -e.antamentoE ciclo de .ida do !roLeto -inguagens de !rogramao de Muarta estruturadoE 9HC?99 geraoE I@I?@< -inguagem de !rogramao ADAE 9@I? -inguagensde !rogramaode segunda @<E I@I geraoE I@J -inguagem de !rogramao BA'ICE 9@I? -inguagens de !rogramao de terceira @<E I@JE I@I geraoE I@I -inguagem de !rogramao CE 9@I?@<E -ista de e.entos I@I modelo am/ientalE J9KEJ 9C -inguagem de !rogramao C$B$-E @KE construo doE J:D?@H 9@I?@<E 9ICE :K@E I@9E I@JE I@IE II9E !ro/lema dos ele.adoresE KCJ IKCE ICD 6ourdon PressE <D:?DJ -inguagem de !rc dBA'E IIIE -otus 9?:?@E @@ 9@I?@<E I@IE :9D E J<K -inguagem de !rogramao F$C7'E 9@I? @<E :JDEJ<KEI@I 8 -inguagem de !rogramao F$*T*A8E MacDra4E ID@?DK 9@I?@<E :K@E I@9E I@JE I@IE ICD MacPaintE ID@?DK -inguagem de !rogramao IDEA-E J<KE Mantenedor de !adr0esE como !ersona I@I gem de camin"amentosE <I9 -inguagem de !rogramao -I'PE @C Manuais do usurioE IJK?JD -inguagem de !rogramao MA8=IT'E Manuteno I@I custos daE <@H?@9 -inguagem de !rogramao MAPPE*E de es!ecifica0esE II@?<9 D@H im!ortPncia dasE I IJ?I< !r2?reMuisitos necessriosE II< regrasE II<?IC desastresE im!acto dosE I<C?KH !rogramador de manutenoE K9 re.isor de manutenoE como !a!el do camin"amentoE <IH Manuteni/ilidade como !ro/lemade !rogramaoE I@K? @D no desen.ol.imento de !roLetos de sistemasE 9J :?JJ Mesas de !roLetoE ID9 Microsoft FileE :JD Minicom!utadorde nX.el de !roLetoE IC@? CJ ModelagemE :CE D:?CIE 9I< com!ortamento tem!o?de!endenteE dados arma&enadosE DD?DC estrutura de !rogramaE CH?C9 ferramentasE uso deE D:?D@ fun0es do sistemaE DJ?DK relacionamento entre modelosE C: ti!os de modelosE D: Modelagem de dadosE integrao da modelagem de !rocessos eE I<I Modelagem de !rocessosE integrao da modelagem de dados eE I<I Modelo am/ientalE @CCE J 9J?@: as!ecto crXtico doE J9H com!onentes doE J 9J?9C declarao de o/Leti.osE J9J?9< diagrama de conteWtoE J9<?9K lista de e.entosE J 9K?9C construo doE J:H?@: diagrama de conteWtoE J: 9?:D lista de e.entosE J:D?@: definio doE JHC?9H dicionrio de dados inicialE J9C fatores do esco!o de !roLetoE J 9H?9J modelo de entidades?relacionamen tos de de!Ysitos eWternosE J9C Modelo com!ortamentalE @CCE J@C?IH construo do modelo !reliminarE J@C?JH a/ordagem clssicaE JJH?J: eta!as do desen.ol.imentoE JJK? identificao das res!ostas aos e.entosE JJ9?J< interligao das res!ostas aos e.entos JJ<?JK desen.ol.imento to!?do4n doE JJH? J: t2rmino deE JI@?<J diagramas de transi0es de esta doE J<9 dicionrio de dados FDDOE J<H es!ecifica0es de !rocessosE J<H? <9 modelo de dadosE J<9 su/di.iso do DFD em nX.eisE JIJ? IC Modelo de dadosE como com!letarE JIJ Modelo de im!lementao de !rogramaE I 9I?:H Modelo de im!lementao do usurioE :CE K@E @<9E @CIE J<I?IH@ es!ecificao de restri0es o!era cionaisE JCI?CK fronteiras da automati&aoE J<D?K@ escol"a dasE J<C?K9 o!0es eWtremasE J<C identificao de ati.idades adicio nais de su!orte manualE JC9?CI interface "umanaE JK@?C9 cYdigo de entradaGsaXdaE JDC?C9 desen"o de formulriosE JD<?DD dis!ositi.os de entradaGsaidaE JKJ? KD formatos de entradaGsaXdaE JKD? DI !ro/lemas relacionadosE JK@?KJ !ro/lemas de continuidadeE IHK?IK< futuro da anlise estruturadaE I<@? K< manuteno das es!ecifica0esE II@?<9 !rogramaoGtestesE I:K?I: !roLeto de sistemas FfaseOE IHK? <:I Modelo de im!lementaoE logicali&ao doE JHH?JH@ Modelo de !rocessadorE IHD?9J !ro/lemas de alocaoE I 99?9J JC DC D@9 Modelo de tarefaE I 9J?9I Modelo essencialE @C9E @CK?JHKE J<I?<< com!onentes doE JHH definio doE @CK detal"es de im!lementaoE @CK?CD dificuldades da construoE @CK?CD !ro/lema dos ele.adoresE KC:?C@ Modelo de fun0esE QeLa Diagramas de fluWo de dados Modelo de !rocessosE QeLa Diagramas de fluWo de dados Modelo fXsico atualE desenfati&ao doE I<J?<I Modelos de estimati.a com!utadori&a daE <9C ModelosE eMuilX/rio deE @@K?I 9 Modelos grficosE 9<C Modelos minimamente redundantesE 9K9?K: Modelos su/di.isi.eis !ela modalidade to!?do4nE 9KH?K9 Modelos trans!arentesE 9K:?K@ MYdulos funcionalmente coesosE I:H MYdulos !eMuenosE !rogramasE I@D Mudanas de estadoE :DE DC?CH 8 8egociaoE diferena entre estimati.as eE <HK?<HD 8omes de !rocessosE J :9?:: 8otao diagramas de transi0es de estado FDTEO condi0es e a0esE @:< estados do sistemaE @: 9?:: mudanas de estadoE @::?:J dicionrio de dados FDDO defini0esE :@C?JH elementos de dados elementaresE :JH?J 9 elementos de dados o!cionaisE :J :?J@ j esMuemas de notaoE :@D?@C iteraoE :J@?JJ necessidade deE :@<?@D seleoE :JJ sinNnimosE :JJ?J I fluWogramasE @IJ?I< o?P $/LetosE linguagem estruturadaE :IC?<H Pacote de soft4are de !roLeto FMeta '#stems Inc1OE <D: Pacotes de controle de cYdigo fonteE ID9 PC?Dra4E ID@E IDD PesMuisa eWternaE <<D Pessoal de o!era0esE !a!el doE K:?K@ PF'?FileE :JD PlotadoraE JKK Poos sem fundoE diagramas de fluWo de dados FDFDOE :HJ Porta/il idade como !ro/lema da !rogramaoE I@K no desen.ol.imento de !roLeto de sistemasE 9JJ Pra&osE estimati.as deE <HI Pr2G!Ys?condi0esE :<<?K9 definio deE :<<?<C Pre!arao da locali&ao do com!uta dorE IJ< Pr2?reMuisitosE manuteno das es!eci fica0esE II< PresidenteE como !a!el no cami n"amentoE <IH Primeira .erso do diagrama de fluWo de dadosE J@C Pro/lema dos ele.adoresE KDK?D 9D descrio narrati.aE KDD?C9 diagramas de fluWo de dados FDFDOE KCI?D9H dicionrio de dados FDDOE D99?9J es!ecificao de !rocessosE D9I?9D lista de e.entosE KCJ modelo essencialE KC:?C@ Processo de anlise modelo am/ientalE J HC?@K modelo com!ortamental construo doE J@C?IH t2rmino doE JI@?<J modelo de im!lementao do usu rioE J<I?IH@ modelo essencialE @C9?JHK Processos atri/uio de nomes a /ol"as de !rocessosE 9D9 definio deE 9DH D@: escol"a de nomesE 9C<?CC eWem!lo deE 9DH numerao deE 9CC?:HH Processos de controleE D<E :9J?9I Processos sem rYtuloE :HJ Produti.idade como !ro/lemade !rogramaoE IC< estatXsticasE IC< no desen.ol.imento de !roLetos de sistemasE 9@:?@C Produtos CA'EE ICJ?CI Programa de !lanil"a Frame4or%E @@ Programa de !lanil"a Multi!lanE @@ Programa -ig"t#earE @JE @I ProgramaoE I:K?@C fast?trac%ing e im!lementao to! do4nE I@9?@@ futuro daE I@D?@C im!acto na estrutura organi&acionalE I@H?@9 linguagens de !rogramaoE I@@?@C gera0es dasE I@J?@< !a!el doanalista de sistemas naE I:D? @H !ro/lemas im!ortantesE I@<?@D Programao estruturadaE I@D ProgramadoresE <C?K: contato com analistas de sistemasE KH?K 9 !rogramador de manutenoE K9 Progresso seMaencialE ciclo de .ida do !roLeto clssicoE 9HJ?9HI ProLetistas de sistemasE <C ProLeto de formulriosE JD<?DD conte3do de formulriosE JD<?DK formulrios comunsE JDK?DD formulrios es!eciaisE JDD custo dosE JDD formulrios multi!artesE JDD ti!os deE JDD ProLeto de sistemas FfaseOE IHK?:I diretri&es !araE I:H?:: aco!lamentoE I:H?:9 am!litude do controleE I:9 coesoE I:H esco!o de efeito` esco!o de con troleE I:9?:: taman"o dos mYdulosE I:9 estgios doE IHD?:H metasGo/Leti.osE I:H?:: modelo de im!lementao de !rogramasE I9I?:H modelo de !rocessadorE IHD?9J modelo de tarefaE I 9J?9I !rogramaoGtestesE I:K?I: ProLeto FfaseO ciclo de .ida do !roLeto estruturadoE 99:? 9@ QeLa tam/2m ProLeto de sistemas FfaseO Prototi!aoEIC uso na anlise estruturadaE 9IC?<H Pro.a de correoE IJ@ !ro.a de correo assistida !or com!utadorE ICK Pro.a de correo assistida !or com!u tadorE ICK T?* Tuadros negros !ara a eMui!e de !ro LetoE ICC TuestionriosE <<D */ase?IHHHE 9@I?@<E :JDE J<KE I@I *ecursos "umanosE estimati.as deE <HI *ecursos de .erificao de errosE ferra mentas automati&adasE IDD?CH *edundPnciaE JCJ redundPncia internaE JCJ *edundPncia internaE JCJ *eestruturao de !rogramasE 9@I?@< *elacionamentosE diagramas de enti dades?relacionamentos FE?*OE DD?DC *esistAnciaE a entre.istasE <<J?<< *eseostas aos e.entosE coneWo deE JJ<? JK *estri0es am/ientaisE JC<?CK *estri0es o!erati.asE como !ro/lema de alocaoE I 9@?9J *estri0es !olXticasE JC< como !ro/lema de alocaoE I9J *etorno de in.estimentosE <@C s 'aXda D@@ dis!ositi.os de saXda cart0es !erfuradosE JK<?KK Com!uter $ut!ut Microform FC$MOE JKD fita e disco magn2ticosE JKK !lotadoraE JKK saida de .o&E JKK saXda im!ressaE JK< terminaisE JKK emisso de saXdas do sistemaE JC@ saXdas redundantesE JCJ 'aida de .o&E JKK 'aXda im!ressaE JK< 'egurana como !ro/lema de alocaZoE I9: em !roLetos de desen.ol.imento de sistemasE 9JJ restri0esE JCK 'eleoE dicionrio de dados FDDOE :JJ 'entenas linguagem estruturadaE :<H?<9 sentenas com!ostasE :<:?<J 'entenas com!ostasE :<:E<J 'etor de controle de Mualidade o/Leti.o doE <K !ro/lemas de tra/al"o comE <K?<D 'etor de !adr0es o/Leti.o doE <K !ro/lemas de tra/al"o noE <K?<D 'etor de !rocessamento de dadosE <:?<@ 'im!licidade de estiloE !rogramasE I@D? @C 'imulao assistida !or com!utadorE ICK 'imuladoresE IKC?DH 'inNnimosE dicionrio de dadosE :JJ?JI 'istema de gerenciamento de /ancos de dados IDM'E :JKE :CH 'istema de gerenciamento de /ancos de dados IM'E :JKE :CH 'istema de gerenciamento de /ancos de dados T$TA-E :JKE :CH 'istemas custos de construcoE <:I?:K custos de instalaoE <:K?:C custos o!eracionaisE <:C?@ 9 definioE 99?9J introduo de entradas no sistemaE JC:?C@ o/teno de saXdas do sistemaE JC@ semel"anas entreE 9: sistemas automati&adosE :H?@C sistemas feitos !elo "omemE 9D?:H sistemas naturaisE 9J?9D ti!os deE 9J?9I 'istemas automati&adosE :H?@C a!lica0esE :9 com!onentes comuns dosE :H definio deE 9C?:H sistemas /aseados no con"ecimentoE @D?@C sistemas de a!oio Z decisoE @:?@K sistemas de tem!o realE :C?@: sistemas on?lineE :K?:C 'istemas /aseados no con"ecimentoE @D?@C definio deE @D 'istemas /atc" Fem lotesOE :K?:D 'istemas CADGCAME <HH 'istemas de a!oio Z decisoE @:?@K definioE @: eWem!los deE @:?@@ 'istemas de !laneLamento estrat2gicoE @I?@< modelos tX!icos dosE @<E @K 'istemas de !rocessamento de infor ma0esE automati&ao dosE :H 'istemas de tem!o?realE :C?@:E @ 9C?:H am/ienteE @9 anlise estruturada eE 9II?IK caracterXsticas dosE @ 9?@: com!ortamento tem!o?de!endenteE @9 definio deE :C?@H eWem!los deE @9C eWtens0es aos diagramas de fluWo de dados FDFDOE :9J?9I ti!os deE :C?@H 'istemas es!ecialistasE QeLa 'istemas /aseados no con"ecimento 'istemas feitos !elo "omemE 9D?:H com!utadori&ao dosE 9D?9C eWem!los deE 9D 'istemas naturaisE 9J?9D sistemas .i.osE 9J?9K interao dos sistemas feitos !elo "omem nosE 9<?9D D@J sistemas fXsicosE 9J 'istemas on?lineE :K?:C caracterXsticas dosE :K?:D com!arados a sistemas /atc"E :K?:D definio deE :K mudanas de estadoE :D uso deE :C 'istemas o!erati.osE relacionamento entreE @I?@< 'oft4are custo doE <@H erros de soft4areE 9@C?J: instalaoE IJ< manutenoE 9J: m2tricasE IC< 'u/di.iso de e.entosE 9IKE I<J a/ordagem do modelo com!or tamentalE JJ:?J< 'u/di.iso em nX.eis diagramas de fluWo de dados FDFDOE JIJ?IC su/di.iso ascendenteE JIJ?IC su/di.iso descendenteE JIJ?IC 'u/di.iso em nX.eis ascendentesE dia gramas de fluWo de dados FDFDOE JIJE J<H 'u/di.iso em nX.eis descendentesE diagramas de fluWo de dados FDFDOE JIJ?IC 'u!orte Z metodologia de engen"aria de soft4are !ersonali&adoE ICJ?CI 'u!orte de grficosE ferramentas auto mati&adasE ID<?DD Ta/elas de decisoE :K 9?K@ TaWa interna de retornoE <J9 TelefoneE JKI?K< Teoria geral dos sistemasE 9@E JH?J@ TetminadoresE 9CJ?C<E J::?:D atri/uio de nomes aE 9C<?CC comunicao entre o sistema eE J:: definio deE 9CJ fontesGmani!uladoresE J:I !rocesso de comunicaoE J:: re!resentao grfica deE 9CJ terminadores du!licados no diagra Terminais de tem!o com!artil"adoE IDH TestesE I@C?J@ ciclo de .ida do !roLeto clssicoE 9H9? conceitos relacionadosE IJ@?JJ ferramentas de testesE IKC?DH im!acto na estrutura organi&acionalE I@H?@9 !a!el do analista de sistemas nosE I:D?@H !lano de testesE IJH?J 9 descri0esE IJ@ locaoGcronogramaE IJ@ o/Leti.oE IJ@ !rocedimentosE IJ@ testes e simulao assistidos !or com!utadorE ICK ti!os deE IJH?J@ testes de desem!en"oE IJ9 testes de recu!eraoE IJH?J 9 testes funcionaisE IJH Testes de desem!en"oEIJ9 Testes de recu!eraoE IJH?J 9 Testes e simula0es assistidos !or com !utadorE ICK Testes funcionaisE IJH Ti!os de o/LetosE diagramas de enti dades?relacionamentos FE?*OE DD TreinamentoE IJK custo doE <:I 7?. 7suriosE IH?<H caracterXsticas dosE ID dassificados !or nX.el de eW!eriAnciaE IC?<H no.atosE <H usurios amadoresE IC ma de conteWtoE J:I Terminadores du!licadosE no diagrama de conteWtoE J:I TerminaisE JKI definioE :K e com!utadores !essoais FPCOE JKI terminais de tem!o com!artil"adoE IDH 9H: D@I usurios eW!erimentadosE <H classificados !or ti!o de tarefaE I:?IC usurios de nX.el eWecuti.oE I< usurios o!erati.osE I@ usurios su!er.isoresE IJ?I< "eterogeneidade dosE I: identificao dosE I9 !re!arao da locali&acoE IJ< 7surios de nX.el eWecuti.oE I< 7surios o!erati.osE I@ 7surios su!er.isoresE IJ?I< Qalor atual lXMuidoE <@C?JH Qer/osE linguagem estruturadaE :IC Qerifica0es de seMaAnciaE JCI Qisitas a outras instala0esE <<D Qolumes de dadosE es!ecificao deE JCI?C< D@< '2rie 6ourdon Press $s clssicos indis!ens.eis !ara analistas e !rogramadores G7IA DE IMP-EME8TA()$ PA*A P*$G*AMA()$ EM TEMP$ *EA- *i!!sE D-E Destinado a Muem L tem eW!eriAncia com !rogramao em geral e deseLa am!liar seus con"ecimentos so/re os 3ltimos i a.anos na !rogramao em tem!o real1 cYd1DHK? @9<!!1 P*$RET$ BA'EAD$ EM $BRET$' 6ourdonE E1 -i.ro .oltado !ara engen"eiros de soft 4areE es!ecialmente os res!ons.eis !elo desen.ol.imento da arMuitetura glo/al !ara um sistema1 ALuda na ela/orao de !roLetos de desen.ol.imento de sistemas reais1 cYd1K<H } P*$RET$ E'T*7T7*AD$ DE 'I'TEMA' 6ourdonE E1GConstan tineE -1 'inteti&a as /ases do m2todo 6ourdon de anlise e !roLeto de sistemas1 Fruto da eW!eriAncia de anosE este teWto famoso derru/a todos os !adr0es !reesta/eleci dos de identificaoE es!ecificaoE !roLe to e im!lementao de sistemas1 cYd1K9J I<D!!1 A8+-I'E BA'EADA EM $BRET$' CoadE P1G6ourdonE E1 $ li.ro aLuda o analista a mel"or se co P*$R 9 E'T*7T7 DE 'IET d ADMI8I'T*A8D$ $ CIC-$ DE QIDA D$ 'I'TEMA 6ourdon1 E1 ADMI8I'T*A8D$ T^C8ICA' E'T*7T7*ADA' Estrat2gias Para o Desen.ol.imento de 'oft4are nos Anos CH 6ourdonE E1 municar !ara eWtrair as informa0es ne cessrias do es!ecialista e ento retornar todos os dados analisados !ara o cliente1 A anlise /aseada em o/Letos mel"ora a interao entre analista e es!ecialista1 cYd1KHH :@< !!1 A8+-I'E E'T*7T7*ADA M$DE*8A Traduo da terceira edio americana 6ourdonE E1 6ourdon descre.e neste clssico esta no .a tecnologia Mue modificou a !ers!ec ti.a e o enfoMue da anlise de sistemas1 Atuali&a a a/ordagem !ara a modela gem de um sistema fXsico atual e a!re senta os diagramas de transio de esta dos1 Inclui cerca de 91HHH eWercXcios e estudo de casos1 cYd1<9I D:J !!1 A8+-I'E E'T*7T7*ADA E E'PECIFICA()$ DE 'I'TEMA' DeMarcoE T1 Este 2 um li.ro de ferramentas e m2todos !ara o analista1 'eu o/Leti.o 2 tra&er or dem e rigor ao !rocesso de es!ecificao !ara guiar o analista no desen.ol.imento de uma Es!ec Estruturada1 Possui mais de :HH eWem!los1 cYd1IJJ @JD!!1 D$ *EQI'rE' E'T*7T7*ADA' 6ourdonE E1 C*IA()$ DE '$FT5A*E T2cnicas Eficientes KingE D1 $utros tXtulos da '2rie> Editora Cam!us j A Tualidade da Informtica $utras maneiras fceis de rece/er informa0es so/re nossos ;anamentos e ficar atuali&ado1 j ligue grtis> HDHH?:<I@JH F: a < feiraE das D>HH " Zs 9C>HH "O j !reenc"a o cu!om e en.ie !elos correios Fo selo ser !ago !ela editoraO j ou mande um e?mail !ara> info|cam!us1com1"r CAMP7' ? 8ome> ?? ? SSSSSSSSSSSSSS Escolaridade> L Masc 9 Fem 8asc> SGSGS Endereo residencial> SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS BairroSSSSSSSSSSSSSSSSSS CidadeSSSSSSSSSSSSSSSSSSS Estado>SSSSSSSSSSSSSSSSS CEP>SSSSSSSSSSSSSSSS lei1>SSSSSSSSSSS FaW>SSSSSSSSSSSSSSSSSSSSSSS Em!resa> SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS CPFGCGC> Costuma com!rar li.ros atra.2s de> R -i.rarias ?SR Feiras e e.entos R Mala direta 1R Internet 'ua rea de interesse 2> 9 8EGnCI$'RI8TE*E''E 9RI8F$*M+TICA 9 -IQ*$'?TEXT$ ?? 7A-IDADE GE*A- 8X.el> Administrao DE QIDA IrLiciante Informtica 1R Intermedirio Economia 9 A.anado 9 Comunicao 9 ,istYria iL CiAncia PolXtica ;o FD si 'i= 1 c 'i cR ? icGE ? H9 o ?9 i $D G $= i oE - Cadastre?se e rece/a informa0es so/re nossos lanamentosE no.idades e !tomo0es Para o/ter informa0es so/re lanamentos e no.idades da Editora Cam!usE dentro dos assuntos do seu interesseE /asta cadastrar?se no nosso site1 I r!ido e fcil1 Al2m do catlogo com!leto on?lineE nosso sitc !ossui a.anado sistema de /uscas !ara consultasE !or autol tXtulo ou assunto1 QocA .ai ter acesso Zs mais im!ortantes !u/lica0es so/re AdministraoE 8egYciosE InformticaE EconomiaE Di.ulgao CientXficaE Tualidade de QidaE CiAncias ,umanas e Interesse Geral1 8osso site conta com mYdulo de segurana de 3ltima gerao !ara suas com!ras1 Tudo ao seu alcanceE :J "oras !or dia1 CliMue 4441cam!us1com1/r e fiMue sem!re /em informado1 4441cam!us1com1/r ^ r!ido e fcil1 Cadastre?se agora1 Este li.ro foi im!resso nas oficinas grficas da Editora Qo&es -tda1E *ua Frei -uXsE 9HH ? PetrY!olisE *RE com filmes e !a!el fornecidos !elo editor1