análise estruturada moderna - edward yourdon

Download Análise Estruturada Moderna - EDWARD YOURDON

If you can't read please download the document

Upload: henrique-freitas-pereira

Post on 28-Dec-2015

363 views

Category:

Documents


105 download

TRANSCRIPT

Consultor EditorialFernando Barceilos XimenesKPMG ConsultingTraduoDalton Conde de AlencarMestre em Informticapelo Instituto Militar de EngenhariayrOkIzESSOOAO D DE O CEPCOCRHCOSooierrroEDITORA AFIL lADAP Preencha a ficha de cadastro no final deste livroe receba gratuitamente informaessobre os lanamentos e promoesda Editora Campus.Consulte tambm nosso catlogocompleto e ltimos lanamentos emwww.campus.com.brEDWARD YOURDONANLISEESTRUTURADAMODERNATRADUO DA TERCEIRA EDIO AMERICANA12 Tiragemmm.CAMPUSSERIE YOURDON PRESS6s 1Do original:Modem Structured Analysis - 3 rd Ed.Traduo autorizada do idioma ingls da edio publicada por i- Inc.Copyright 1989 by Prentice-Hall, Inc. ci (./ . 2-1 1990, Editora Campus Ltda.CLTodos os direitos reservados e protegidos pela Lei 5988 de 14/12/73.Nenhuma parte deste livro, sem autorizao prvia por escrito da editora, poder ser reproduzida ou transmitida sejam quais forem os meios empregados:eletrnicos, mecnicos, fotogrficos, gravao ou quaisquer outros.Todo o esforo foi feito para fornecer a mais completa e adequada informao. ) Contudo a editora e o(s) autor(es) no assumem responsabilidadepelos resultados e uso da informao fornecida. Recomendamos aos leitores testar a informao antes de sua efetiva utilizao.CapaOtvio StudartCopidesque- -Maria Cludia Ajz GoulartEditorao EletrnicaUNIVERSt DADE ESTCIO DE SGraphbosJReviso Gr ltca_______NProjeto Grfico-AQuaIidade Informtica.O(D \ O O\Rua Sete de Setembro, 111 - l6 andar20050-002 Rio de Janeiro RJ BrasilTelefone: (021)509-5340 FAX (021)507-1991E-Mail: info campus.com.brISBN 85-7001-615-8(Edio Original: ISBN 0-13-598624-9, Prentice-Hall, Inc., Inc., New Jersey, USA).Ficha CatalogrficaCIP-Brasil. Catalogao-na-fonte.Sindicato Nacional dos Editores de Livros, RJYourdon, Edward, 1944-Y74aAnlise estruturada moderna / Eward Vourdon; traduoDalton Conde de Alencar. - Rio de Janeiro: Campus, 1990.Traduo de: Modem structured analysisApndiceIndiceISBN 85-7001-615-81. Anlise de sistemas. 2. Processamento de dados - Tcnicas estruturadas. 1. Titulo90.0087CDD -001 64404CDU -681.3.02010203041615141312Todos os esforos foram feitos para assegurar a preciso absoluta das informaes apresentada publicao. A editora responsvel pela publicao original, a Editora Campus e o(s) autor(es) det se isentam de qualquer tipo de garantia (explcita ou no), incluindo, sem limitao, garantias im de comercializao e de adequao a determinadas finalidades, com relao ao cdigo-fonte elc tcnicas descritos neste livro. A Editora CampuS e o(s) autor(es) no se responsabilizam por prol relacionados funcionalidade do cdigo-fonte para datas a partir de 01/01/2000.PREFCIOO que valioso no notoe o que nova no valioso.Henry Peter, Lord BroughamTbe Edinburgh Review, 1802Permitam-me fazer uma pergunta bastante bvia: o mundo realmente precisa de outro livro sobre anlise de sistemas? Esta pergunta pode parecer retrica mas houve muitas ocasies - habitualmente tarde da noite , quando trabalhando neste livro, em que eu me perguntei, Por que devo me preocupar com isso? Que h de errado com todos os livros que tm sido usados nos ltimos dez anos? Como posso esperar acrescentar alguma coisa literatura existente? claro que o julgamento do resultado ser feito por outras pessoas, no por mim. No entanto, creio realmente que existe a necessidade de um livro que atualize parte do material clssico sobre anlise de sistemas publicada no final dos anos 70. Quando Tom DeMarco escreveu Structured Analysis and S Spec e Chris Gane e Trish Sarson escreveram Structured Systems Analysis: Tools and Techncs, no haviam linguagens de quarta gerao, nem ferramentas de prototipao disponveis para os desenvolvedores de sistemas. Os computadores pessoais ainda no tinham sido lanados, embora j existissem algumas das primitivas mquinas da Apple e da Radio-Shack. No havia produtos de software baseados em estaes inteligentes que auxiliassem o analista de sistemas na elaborao dos diagramas de fluxo de dados.Os progressos nessas reas tiveram um grande impacto na aceitao geral da anlise estruturada: muitos questionam se a anlise estruturada relevante em ambientes onde os usurios podem criar suas prprias aplicaes em questo de horas ou dias, S isso j motivo para um novo livro sobre o tema da anlise de sistemas: a bem mais poderosa tecnologia disponvel para os analistas de sistemas e usurios alterou nosso enfoque e perspectivas.Alm disso, os desenvolvedores de sistemas tiveram de enfrentar problemas de sistemas de bancos de dados e de tempo real, em acrscimo aos sistemas orientados por funo originalmente visados pela anlise estruturada no final dos anos 70. Este livro discute os diagramas de entidades e de transies de estado, os clssicos diagramas de fluxo de dados e mostra como esses trs modelos podem ser integrados; essa integrao de modelos se tornar mais e mais importante no decorrer dos prximos anos. Alguns outros recentes desenvolvimentos na anlise estruturada - incluindo o particionamentode eventos e a desenfatizao da modelagem do sistema fsico atual - esto includos neste livro.Existe ainda outra razo para se escrever mais um livro sobre an lise estruturada: a maioria dos livros clssicos sobre anlise estruturada foi escrita para analistas de sistemas veteranos - sem preocupao com os mais novatos, que ainda esto se iniciando na rea. Ademais, a maioria dos livros didticos sobre anlise de sistemas escritos, durante os ltimos dez anos, deu pouca ateno s novas tcnicas de anlise estruturada e continuou a dedicar muitas pginas s discusses sobre cartes perfurados e sobre o cdigo Hollerith; afora o fato de que muitos desses aspectos estejam obsoletos, o conhecimento superficial do hardware, do software e da programao de computadores , geralmente, ministrado por um curso de Introduo aos Computadores, que habitualmente precede o aprofundamento no estudo da anlise de sistemas. Este livro tenta obter o equilbrio, reconhecendo a necessidade de algum material introdutrio para os estudantes que tiveram um curso inicial sobre computadores mas nunca fizeram anlise de sistemas, embora reconhecendo que os conceitos de anlise de sistemas sejam simples o bastante para que possam ser ensinados detalhadamente nos nveis de segundo grau e universitrio. Em face disso, a maior parte do material introdutrio est reunido nos apndices de modo que possam ser dispensados pelos que j tm prtica do assunto.Este livro adequado para cursos universitrios de um semestre sobre anlise de sistemas; ele satisfaz os requisitos do curso CIS-86/5 do CIS 86 DPMA Model Curriculum for Undergraduate Computer Informa tion Systems. Entretanto ele no abrange ambos os tpicos de anlise e projeto de sistemas, apesar de muitos estabelecimentos de ensino tentarem cobrir os dois assuntos em um nico semestre. Penso que existe material suficiente para discusso nas duas reas; para um curso de um semestre sobre projeto estruturado, sugiro que o leitor procure ou o livro Practical Guide to Structured Systems Design, 2 edio, de Meilir Page Jones (YOURDON Press, Englewood Cliffs, N.J., 1988), ou o livro Struc tured Design, 2 edio, de Ed Yourdon e Larry Constantine (YOURDON Press, Eng!ewood Cliffs, N.J., 1989).Os analistas de sistemas veteranos podem ler o primeiro captulo como orientao, e depois saltar o restante da parte 1; os primeiros sete captulos so bsicos para os novos estudantes. Os veteranos consideraro familiar boa parte da discusso sobre diagrama de fluxo de dados, dicionrio de dados e coisas desse tipo; entretanto, o captulo 9 apresenta extenses de DFD para sistemas de tempo-real que talvez sejam novos para aqueles que tm trabalhado exclusivamente em sistemas orientados para o comrcio. O estudo sobre diagramas de entidades- relacionamentos pode ser novo, tambm, para os mais familiarizados com os diagramas de estruturas de dados, e a discusso sobre osdiagramas de transies de estado no captulo 13 apresenta uma nova ferramenta importante de modelagem. de grande interesse para os veteranos, os captulos 19 e 20 apresentam uma abordagem para a elaborao do modelo bsico (tambm conhecido como modelo lgico), que contrasta totalmente com a rgida abordagem top-down seguida pelos analistas de sistemas durante tantos anos; a abordagem conhecida como particionamento de eventos, baseada na obra de McMenamin e Palmer. O captulo 17 recomenda que seja eliminada a clssica abor dagem de se modelar o sistema fsico atual do usurio esse aspecto deve ser estudado atentamente pelos analistas de sistemas cujas tcnicas estejam baseadas em livros dos anos 70.Entre os apndices h dois estudos de casos que mostram as diversas ferramentas e tcnicas discutidas neste livro. O primeiro estudo de caso uma tpica aplicao orientada para o comrcio baseada nas operaes editoriais da YOURDON Press; o segundo um exemplo tpico de sistema de tempo-real baseado em um sistema de controle de elevadores. Ambos so apresentados detalhadamente, embora isso aumente o tamanho do livro: importante que os estudantes vejam um exemplo completo de uma especificao. Esses modelos podem ser usados para discusses e exerccios em salas de aula.Anlise Estruturada Moderna resultado de muitos anos de experincia com centenas de clientes de consultoria, milhares de estudantes em seminrios e dezenas de colegas na YOURDON Inc. e outras organizaes de consultoria; devo muito a essas pessoas, demasiadamente numerosas para que eu as possa citar pelos nomes. Contudo, h algumas pessoas que merecem especial ateno, por terem auxiliado a tornar este livro bem melhor do que poderia ter sido. No se pode escrever um livro hoje em dia sobre anlise de sistemas sem reconhecer os livros pioneiros de Tom DeMarco, Chris Gane e Trish Sarson. Sinto-me igualmente agradecido a Steve McMenamin e John Palmer, cuja obra Essential Systems Analysis representou um impor tante passo frente da primeira exposio da anlise estruturada; de modo semelhante, Paul Ward e Steve Mellor apresentaram vrios conceitos e ferramentas de modelagem importantes para sistemas de tempo-real no conjunto de trs volumes Structured Development for Real-Time Systems. Fui grandemente beneficiado no ano passado em debates com colegas com os quais ministrei seminrios sobre anlise estruturada nos Estados Unidos e na Inglaterra: John Bowen, Julian Morgan, Bob Spurgeon, Nick Mandato e Alex Gersznowicz merecem agradecimentos especiais por me mostrarem formas eloqentes de explicar os conceitos de anlise estruturada que eu, certamente, no teria encontrado por mim mesmo. Paralelamente, o professor Peter Brown e um grupo de seus alunos na Universidade l)uquesne depuraram o livro utilizando-o como livro texto em um curso sobre anlise de sistemas;Captulo 11Especificaes de Processos . 253Captulo 12Diagramas de Entidades-Relacionamentos 289Captulo 13Diagramas de Transies de Estado 319Captulo 14O Equilbrio dos Modelos 337Captulo 15Ferramentas Adicionais de Modelagem 353Captulo 16Ferramentas de Modelagem para Gerenciamento de Projetos 375PARTE ifiO PROCESSO DE ANLISECaptulo 17O Modelo Bsico 391Captulo 18O Modelo Ambiental 409Captulo 19A Construo do Modelo Comportamental Preliminar 439Captulo 20Como Completa: o Modelo Comportamental 453Captulo 21O Modelo de Implementao do Usurio .. 465PARTE IVPROBLEMAS DE CONTINUIDADECaptulo 22A Fase de Projeto 507Captulo 23Programao e Testes 527Captulo 24A Manuteno das Especificaes 553Captulo 25O Futuro da Anlise de Sistemas 563APNDICESApndice AFerramentas Automatizadas 579Apndice BDiretrizes da Avaliao 605Apndice CO Clculo de Custo/Beneficio 623Apndice DCaminhamentos (Walkthroughs) e Inspees 645Apndice ETcnicas de Entrevistas e de Coleta de Dados 655Apndice FEstudo de Caso: A Yourdon Press .... 671Apndice GEstudo de Caso: O Sistema de Elevadores 787NDI 8211INTRODUOOprincipio e a finalizao de todos os empreendimentos humanos so desorganizados, a construo de uma casa, a escrita de uma novela, a demolio de uma ponte e principalmente, ofim de uma viagem.John GalsworthyOver the River, 1933Neste captulo, aprenderemos:1. Porque a anlise de sistemas interessante.2. Porque a anlise de sistemas mais difcil do que a programao.3. Porque importante estar familiarizado com a anlise de sistemas.Muito bem, aqui estamos no incio de um longo livro. A perspectiva de ler um livro tcnico assim to extenso provavelmente o assusta, mas pode servir de consolo o fato de ser ainda mais aterrorizante quando se comea a escrever um livro assim. Felizmente, assim como as longas caminhadas ocorrem um dia por vez, e, afinal de contas, a um passo por vez, os livros extensos so feitos um captulo de cada vez, e, em ltima anlise, uma sentena de cada vez.1.1 POR QUE A ANLISE DE SISTEMAS INTERESSANTE?Os livros longos geralmente so enfadonhos, este no o ser. Ator tunadamente, o assunto deste livro - anlise de sistemas - interessante. Na realidade, a anlise de sistemas mais interessante que tudo que conheo, excetuando, talvez, sexo e certos tipos de vinhos da Austrlia. Ela , sem dvida, mais interessante que a programao de computadores (no que a programao seja enfadonha) por envolver o estudo das interaes entre pessoas, entre gn diferentes de pessoas e entre computadores e organizaes.Como disse Tom DeMarco em seu ltimo livro, StructuredAnaland Systems Speqflcation [ 1978],a anlise [ sistemas] frustrante, repleta de relacionamentos entre pessoas, indefinida e difcil. Resumindo, fascinante. Depois que voc fisgado, os velhos e fceis prazeres da construo de sistemas nunca mais sero suficientes para satisfaz-lo.Isto pode surpreend-lo, no caso de voc ter alguma experincia em escrever programas de computadores Programar divertido, sendo ainda um desafio intelectual; difcil imaginar algo mais recompensador e agradvel do que ver um programa ser processado com sucesso, prin cipalmente depois de despender vrias horas (ou dias!) expurgando-lhe os erros. difcil imaginar que pode ser ainda mais recompensador e excitante quando nos afastamos do computador e da programao para estudarmos o sistema completo, do qual os programas participam. Po rm, no final deste livro, espero t-lo convencido de que o verdadeiro desafio e a alegria real em trabalhar com sistemas de computadores consistem em executar a anlise de sistemas.No importa a profisso que voc decida seguir, ser sempre im portante que voc compreenda o que a anlise de sistemas. Se voc trabalha na indstria de computadores em algo diferente da engenharia eltrica ou projeto de hardware, h uma grande possibilidade de que sua carreira progrida de programador para projetista de sistemas e da para analista .de sistemas, at que voc finalmente alcance o nvel de gerncia1.2 A QUEM ESTE LWRO DIRIGIDOEste livro est sendo escrito para dois tipos de pessoas: uma a novata na rea da anlise de sistemas, e a outra o analista de sistemas experiente que precisa conhecer as ferramentas e tcnicas de modela gem de sistemas que evoluiram nos ltimos cinco a dez anos. Muitos leitores sero estudantes universitrios da cincia dos computadores que completaram os cursos iniciais de programao e alguns podem ser estu dantes de um programa de treinamento comercial.Entretanto, o livro deve ser capaz de ser lido tanto por pessoas queterminaram seu treinamento universitrio como pelas que j estejam2trabalhando na indstria. Muitas pessoas na indstria computacional passam seus primeiros anos trabalhando como programadores e, depois, so subitamente promovidas (ou redesignadas) posio de analistas de sistemas, sem serem instrudas sobre o que seja a anlise de sistemas ou sobre o que faz um analista de sistemas. Se voc estiver numa situao dessas, este livro para voc. Ele tambm ser-lhe- til no caso de voc ter comeado a trabalhar como analista de sistemas nos anos 60 ou 70 e nunca teve a oportunidade de aprender a respeito das tcnicas da anlise estruturada, como diagramas de fluxo de dados, diagramas de entidades- relacionamentos e dicionrios de dados.Com mais e mais freqncia hoje em dia, as pessoas estranhas ao computador esto descobrindo ser necessrio se familiarizar com a rea de anlise de sistemas. Se voc um homem de negcios ou um gerente (ou um dos profissionais descritos pelo pessoal da computao como usurios), existe uma boa possibilidade de que voc se envolva em alguma atividade de anlise de sistemas. Haver analistas de sistemas trabalhando para voc, despendendo tempo tentando compreender que tipo de sistema automatizado voc deseja que eles desenvolvam. De forma semelhante, se voc for um administrador, funcionrio, cientista, poltico ou um contador - ou exerce virtualmente qualquer outra profis so da sociedade moderna - h grandes possibilidades de que voc venha a gastar um tempo significativo de sua carreira interagindo com pessoas (analistas de sistemas) que projetaro e especificaro sofistica dos sistemas aplicativos para voc. Quanto mais voc souber sobre o que essas pessoas fazem e o que elas esperam de voc, melhor ser.Mesmo que voc no pretenda trabalhar com um colarinho branco- isto , mesmo que voc aspire ser um artista, um escritor, um msico ou um atleta - voc deve saber o que significa a anlise de sistemas. As pessoas em todos os setores da vida so afetadas pelos sistemas de informaes de todos os tipos. Ainda que voc no pretenda construir um sistema nem mandar construir um, inevitvel que voc os utilize em suas contas bancrias, na sua educao, em suas relaes com a Pre vidncia Social e em praticamente todos os aspectos de suas relaes com a sociedade moderna. Como John Gall diz em Systemant [ 1977],Ningum, atualmente, pode evitar o contato com os sistemas. Os sistemas esto em toda parte: sistemas grandes, sistemas pequenos, sistemas mecnicos e eletrnicos, e os sistemas especiais compostos por associaes organizadas de pessoas. Como auto-defesa, pre cisamos aprender a conviver com os sistemas, a control-los para que no nos controlem. Como disse Humpty Dumpty a Alice (em bora em outro contexto): A questo : quem dominar - isso tudo.3Para enfatizar ainda mais este ponto, lembre-se de que a indstria da computao representou cerca de 8% do PNB dos Estados Unidos em 1985; por volta de 1990, espera-se que represente em torno de 15% do PNB Quase tudo o que produzido hoje pelas empresas americanas tm um ou mais computadores envolvidos em sua produo, e quase todos os servios oferecidos pelo mercado de negcios americano esto baseados ou controlados por um sistema de computao.1.3 OQUE ESTE LWRO FAR POR vocComo voc j deve ter percebido, um dos maiores objetivos deste livro ensinar-lhe anlise de sistemas: o que ela e como se lida com ela. Mas no s isso, O meu verdadeiro propsito entusiasm-lo, torn-lo to interessado em comear a praticar anlise de sistemas que voc vai querer disparar pelas ltimas pginas do livro e comear a trabalhar em seu primeiro projeto. Seymour Papert comenta em Mmd storms [ 1980],Agradam-me especialmente sistemas, como um mecanismo diferen cial, que no obedecem a uma seqncia linear de causalidades, uma vez que o movimento do eixo de transmisso pode ser dis tribudo de vrias maneiras diferentes para as duas rodas, depen dendo da resistncia encontrada. Lembro, de forma vivida, minha excitao em descobrir que um sistema pode estar sujeito a leis e ser inteiramente compreensvel sem ser rigidamente determinstico.E como Sir Arthur Stanley Eddington disse em [ 1987],Descobrimos que onde a cincia progrediu mais, a mente recuperouda natureza o que j lhe havia dedicado.Encontramos uma estranha pegada nas praias do desconhecido. Desenvolvemos profundas teorias, uma aps a outra, para explicar sua origem. Por fim, obtivemos sucesso na reconstruo da criatura autora da pegada. E, surpresa! Ela era nossa.Outro propsito deste livro faz-lo compreender e considerar que vivemos em um mundo de sistemas - e de sistemas dentro de outros sistemas, que so componentes de sistemas ainda maiores. Assim, tudo que fazemos em nossa vida pessoal e profissional tem impacto (muitas vezes imprevisto ou inesperado) nos diversos sistemas de que somos parte. Esta abordagem de pensar em sistemas no vital apenas para analistas profissionais de sistemas, mas para todos os membros da sociedade moderna.4Infelizmente, este livro no pode transform-lo em um experiente analista de sistemas, do mesmo modo que um livro sobre teoria musical no pode torn-lo um pianista experiente. No final do livro, voc dispor de bons conhecimentos tcnicos que o auxiliaro a desenvolver modelos corretos de sistemas complexos, e voc se tornar conhecedor das tcni cas passo a passo para executar o esforo da anlise de sistemas. Mas ainda ser necessrio um grande volume de trabalho no mundo real para conhecer as aptides das pessoas: como entrevistar usurios de diversos tipos para compreender a verdadeira essncia de um sistema; como apresentar os resultados do seu trabalho de anlise de sistemas de forma que todos possam ver os custos e beneficios reais do desenvolvimento de um novo sistema; como distinguir os problemas dos sintomas. Como disse Barry Bochm em sua clssica obra, Software Engineering Econo mics [ 1981]:Cada um de ns, como engenheiros individuais de software, tem uma oportunidade de fazer um significante impacto positivo na so ciedade, simplesmente por nos tornarmos mais sensveis s impli caes das relaes humanas de longo alcance de nosso trabalho, e por incorporarmos essa sensibilidade em nossos projetos e produtos de software. necessria uma certa prtica para fazer bem isso, e para aprendera equilibrar os aspectos das relaes humanas com os da pro gramao e com os aspectos econmicos. O ponto principal a serlembrado conservar nossas prioridades firmes entre as conside raes da programao, oramentrias e humanas.1.4 A ORGANIZAO DESTE LIVROEste livro est organizado em quatro partes principais, seguidas por uma srie de apndices. A parte 1 serve como apresentao para todo o livro; ela comea, no captulo 2, com uma introduo sobre o conceito de sistemas e sobre a natureza da anlise de sistemas; nesse captulo, veremos que os sistemas de informao so normalmente compostos por pessoas, hardware, software (programas de computador), procedimen tos, dados e informaes. O captulo 3 descreve as pessoas que costu mam estar envolvidas no desenvolvimento de um moderno sistema de informaes - usurios, gerentes, pessoal das operaes, membros do grupo de controle da qualidade, entre Outros - bem como o papel es pecial e as responsabilidades do analista de sistemas. O captulo 4 apre senta as ferramentas de modelagem usadas pelo analista de sistemas, como os diagramas de fluxo de dados, de entidades-relacionamentos e os de transies de estado. O captulo 5 apresenta os procediMentos (ou5metodologia) seguidos pelo analista de sistemas no desenvolvimento de um sistema.Mesmo que voc ache que j conhece muitos desses assuntos, alguns captulos da parte 1 devem ser udos, porque do o tom para o restante do livro. O captulo 2, por exemplo, apresenta e analisa os axio mas e princpios bsicos que podemos encontrar em todo o trabalho da anlise de sistemas: o desenvolvimento de modelos de sistemas, a noo de iterao, e a noo da subdiviso top-down. O captulo 6 delineia os principais problemas que se apresentam aos analistas de sistemas atualmente: produtividade, qualidade dos sistemas, manutenibilidade e o uso estratgico das informaes. Por fim, o captulo 7 resume as prin cipais modificaes ocorridas na rea da anlise dc sistemas nos ltimos dez anos.A parte II discute detalhadamente as ferramentas de modelagem de sistemas. H captulos sobre diagramas de fluxo de dados (captulo 9), dicionrios de dados (captulo 10), especificaes de processos (captulo 11), diagramas de entidades-relacionamentos (captulo 12) e diagramas de transies de estado (captulo 13). Os captulos 15 e 16 abordam diversas outras ferramentas de modelagem usadas pe los analistas no estudo de um sistema: diagramas PERT, diagramas de Gantt, fluxogramas, diagramas HIPO, diagramas estruturais etc. Como veremos, essas ferramentas permitem a focalizao scletiva em aspec tos isolados de um sistema cujas caractersticas sejam importantes. para serem compreendidas: as funes que o sistema deve desem penhar, os dados que ele deve controlar e seu comportamento tempo- dependente.Mesmo que voc nunca veja um computador depois de ler este livro, as ferramentas de modelagem da parte II ser-lhe-o teis no que quer que voc faa. Voc descobrir que essas ferramentas podem ser teis para modelar (ou descrever) virtualmente qualquer tipo de sistema:sistemas biolgicos comerciais, ecossistemas, industriais, polticos, de fluxo de materiais etc. Vivemos em um mundo de sistemas, e boa parte de nossa vida passada tentando entender e lidar com os inmeros sistemas diferentes; as ferramentas de modelagem so extremamente teis nesse aspecto.A parte III refere-se ao processo da anlise de sistemas - isto , as etapas seguidas pelo analista de sistemas na construo de um modelo de sistema. Ali, tambm, as informaes que voc receber sero teis, independentemente da sua profisso; mas o contedo definitivamente dirigido para a constm de sistemas automatizados de informaes. Veremos que o processo ou metodologia da construo de um sistema envolve o desenvolvimento de vrios tipos diferentes de modelos, dos quais o ltimo o produto ou a sac da anlise de sistemas. Em muitas organizaes comerciais, esse produto conhecido por nomes como6especificao funcional, ou definio de requisitos do sistema ou projeto do sistema. Qualquer que seja o nome adotado, ele se torna a entrada para o responsvel pela construo real do sistema - isto , pelo projeto da arquitetura geral do hardware e software e, em ltima anlise, pela escrita e pelos testes dos programas do sistema.Isso conduz parte IV: o que ocorre depois da anlise de sistemas. Examinaremos a transio da anlise de sistemas para o projeto de siste mas e discutiremos resumidamente os detalhes finais da programao e dos testes. Como a maioria dos sistemas automatizados de informaes tem um tempo de vida de alguns anos (e muitas vezes de algumas dcadas), estudaremos tambm a manuteno no captulo 24; porm nosso interesse no ser a programao de manuteno, e, sim, a manu teno do produto da anlise de sistemas. O captulo final trata do futu ro: as alteraes evolutivas na rea da anlise de sistemas que esperamos presenciar nos anos 90 e no prximo sculo.Os apndices no final do livro abordam problemas que podem ou no afetar seu trabalho como analista de sistemas. O apndice A, por exemplo, trata do problema de estaes automatizadas de trabalho baseadas em PC para a anlise de sistemas - ao qual poucos analistas de sistemas tm acesso no final dos anos 80, mas que se tornar progres sivamente comum nos anos 90. O apndice B discute frmulas de avalia o e mtricas utilizadas para calcular o tamanho, a durao e o custo de um projeto. O apndice C mostra os aspectos econmicos dos clculos de custo-beneficio. O apndice D abrange o assunto dos caminhamentos (walkthroughs) e inspees, que so utilizadas freqentemente na revi so dos produtos tcnicos da anlise de sistemas. O apndice E discute as tcnicas de entrevistas e de coleta de dados, principalmente as entre vistas do usurio com o analista de sistemas. Todos esses assuntos foram organizados em apndices de modo a que os analistas experientes pos sam salt-los com facilidade e os principiantes possam recorrer a eles sempre que for necessrio consultar tpicos que, com certeza, emergiro durante os projetos do mundo real.Os apndices F e G apresentam dois estudos de caso: um deles um sistema orientado para a rea comercial, e o outro um sistema de tempo-real. Se voc um estudante novato, deve, ao final de cada cap tulo, examinar esses estudos de caso para ver como esses recm-apren didos princpios podem ser aplicados a situaes do mundo real. Na realidade, voc deve ler a introduo e o histrico de cada estudo de caso para se familiarizar com a natureza de cada aplicao. Cada captulo tem algumas perguntas e exerccios para ajud-lo a rever o que foi estu dado. Alguns exerccios so rotulados como Projeto de Pesquisa, o que significa que apresentam problemas no mencionados diretamente no captulo mas que so relevantes no mundo real da anlise de sistemas. Certas perguntas so dirigidas para discusso em sala de aula; no h7respostas certas ou erradas, embora haja respostas mais defensveis que outras!Chega de introdues. Vamos dar a partida! Comearemos falandoa respeito da natureza dos sistemas.REFERNCIAS1. Tom DeMarco, Structured Analysis and Systems Speqfzcation. Englewood Cliffs, N.J.: Prentice-Hall, 1979, pgina 6.2. John Gal!, Systemantcs. Nova lorque: Quadrangle/The New York Times Book Company, 1977, pgina xiii.3. Barry Boehm, Software Engineering Economics. Englewood Cliffs, N.J.: Prentice-Hall, 1981.4. Seymour Papert, Mindstorms. Nova lorque: Basic Books, 1980.5. Edward Yourdon, Nations at Risk. Englewood Cliffs, N.J.:YOURDON Press, 19866. Sir Arthur Stanley Eddington, Space, Time and Gravitation: An Outline of tbe General Theo?y. Londres: Cambridge UniversityPress, 1987.PERGUNTAS E EXERCCIOS1. Explique como a anlise de sistemas pode ser til em seu trabalho ou profisso mesmo que voc no pretenda se tornar um pro gramador ou analista de sistemas.2. Projeto de Pesquisa: quantas pessoas, atualmente, esto emprega das como analistas de sistemas no Brasil? Qual .0 salrio mdiodessas pessoas? Qual o nvel mdio de educao delas?3. Projeto de Pesquisa: existe uma carncia de programadores e analistas de sistemas no Brasil? Tente encontrar pesquisas que indiquem as necessidades desses profissionais para o pas para os prximos dez anos.4. D dez exemplos de sistemas com que voc lida ou interage em seu dia a dia.5. Voc estudaria anlise de sistemas no caso de ainda no o ter feito? Se a sua resposta for no, explique porque o assunto no ser til ou relevante. Encontre algum que esteja estudando esse mesmo assunto e inicie um debate construtivo a respeito da utilidade geral da anlise de sistemas.6. Voc considera ser importante para as pessoas fora da rea da computao (pessoas que no trabalham na rea da computa o como profisso) estudarem anlise de sistemas? Quo8respostas certas ou erradas, embora haja respostas mais defensveis que outras!Chega de introdues. Vamos dar a partida! Comearemos falandoa respeito da natureza dos sistemas.REFERNCIAS1. Tom DeMarco, Structured Analysis and Systems Spe Englewood Cliffs, N.J.: Prentice-Hall, 1979, pgina 6.2. John GalI, Systemantics. Nova lorque: Quadrangle/The New York Times Book Company, 1977, pgina xiii.3. Barry Boehm, Software Engineerng Economics. Englewood Cliffs, N.J.: Prentice-Hall, 1981.4. Seymour Papert, Mindstornjs. Nova Jorque: Basic Books, 1980.5. Edward Yourdon, Nations at Risk. Englewood Cliffs, N.J.:YOURDON Press, 19866. Sir Arthur Stanley Eddington, Space, Time and Gravitation An Outline of the General Theoty. Londres: Cambridge UniversityPress, 1987.PERGUNTAS E EXERCCIOS1. Explique como a anlise de sistemas pode ser til em seu trabalho ou profisso mesmo que voc no pretenda se tornar um pro gramador ou analista de sistemas.2. Projeto de Pesquisa: quantas pessoas, atualmente, esto emprega das como analistas de sistemas no Brasil? Qual ,o salrio mdiodessas pessoas? Qual o nvel mdio de educao delas?3. Projeto de Pesquisa: existe uma carncia de programadores e analistas de sistemas no Brasil? Tente encontrar pesquisas que indiquem as necessidades desses profissionais para o pas para os prximos dez anos.4. D dez exemplos de sistemas com que voc lida ou interage em seu dia a dia.5. Voc estudaria anlise de sistemas no caso de ainda no o ter feito? Se a sua resposta for no, explique porque o assunto no ser til ou relevante. Encontre algum que esteja estudando esse mesmo assunto e inicie um debate construtivo a respeito da utilidade geral da anlise de sistemas.6. Voc considera ser importante para as pessoas fora da rea da computao (pessoas que no trabalham na rea da computa o como profisso) estudarem anlise de sistemas? Quo81conhecedoras do assunto voc acha que elas seriam?7.Por que a anlise de sistemas parece ser mais interessante que aprogramao? Voc concorda com este ponto de vista?8.O que um analista de sistemas deve aprender alm do conhecimento tcnico de construir modelos de sistemas?9.Por que as ferramentas de modelagem do tipo apresentado nestelivro podem ser teis no estudo de sistemas no-computacionais?NOTASSe voc tem menos de 30 anos de iiade, e difcil imaginar que nunca escreveu um programa de computador, pois quase todas as escolas e colgios agora ensinam alguma coisa a respeito de programao de computadores. Porm, possvel que voc no tenha escrito um programa realmente complicado. Se voc no levou pelo menos um ms trabalhando no mesmo programa - 16 horas por dia, sonhando com ele nas 8 horas restantes de sono intranqilo, passando vrias noites em claro, tentando eliminar aquele ltimo erro do programa - ento voc ainda no escreveu realmente um programa complicado. E pode no ter a sensao de que existe algo divertido em programar (a propsito, todos na indstria lhe diro que no se deve construir programas grandes e complexos - e que o objetivo do jogo construirprogramas simples e compreensveis. Isto verdade: mas imaginea energia mental e as noites insones gastas na criao e no desenvolvimento de algo como o programa MacPaint da Macintosh, ou aprimeira verso do Lotus 1-2-3).2Existem diversas outras carreiras que podem ser seguidas. Vocpode se especializar na rea de telecomunicaes e projeto deredes; ou pode concentrar-se no projeto de bancos de dados ouadministrao de dados. Embora a maior parte deste livropresuma que voc se ocupe com sistemas aplicativos (folhas depagamento, inventrios, contabilidade ou aplicaes de tempo-real, como orientao de msseis, comutao telefnica e controlede processos), voc pode ocupar-se tambm, com projetos deprogramao de sistemas - compiladores ou sistemas operacionais, por exemplo. Tudo isso possivelmente representa seusegundo ou terceiro emprego na indstria da computao: vocdeve, provavelmente, comear como programador jnior (quandose espera que voc saiba escrever programas relativamentesimples, ou fazer modifIcaes em programas j existentes), depoispassar a programador snior, antes dc, finalmente, ascender posio de analista de sistemas. Nessa posio, voc dever ter9maiores habilitaes que um programador: alm do conhecimcnido hardware e do software do computador, voc deve ser capaz dese comunicar com pessoas leigas em computao e estar familiarizado com as aplicaes comerciais dessas pessoas.3Para maiores detalhes sobre esse assunto e para mais explicaessobre o impacto dos computadores na sociedade, veja Nations atRisk EYourdon, 19861.102A NATUREZADOS SISTEMASFinalmente colocaremos o prprio Sol no centro do Universo. Tudo isso sugerido pela sequncia sistemtica de eventos e pela harmonia de todo o Universo, se encararmos os fatos, como se costuma dizer, com os olhos abertosNicolau CoprnicoDe Revolutionibus Orbium Coelestium, 1543Neste captulo, aprenderemos:1. O que definio de um sistema.2. A diferena entre sistemas naturais e sistemas feitos pelo homem.3. Os 19 principais subsistemas encontrados em todos os sistemas vivos.4. As cinco principais razes por que alguns sistemas no devem ser automatizados.5. Os cinco principais componentes de um sistema au tomatizado de informaes tpico.6. A definio e as caractersticas de diversos tipos es pecficos de sistemas.7. A definio e trs exemplos de princpios gerais de sistemas.No podemos falar muito sobre anlise de sistemas enquanto notivermos uma clara idia do que seja um sistema; este o propsito des te captulo. Como veremos, existe uma definio oficial do termo no11dicionrio, que parecer bastante abstrata. Existem, porm, muitos usos comuns do termo que lhe parecero perfeitamente familiares, e existem muitos tipos comuns de sistemas com que temos contato todos os dias.E da?, voc pode estar perguntando a si mesmo. importante estar familiarizado com diferentes espcies dc sistemas por pelo menos dois motivos. Primeiro, mesmo que seu trabalho como analista se con centre em um tipo de sistema - um sistema automatizado de informa es, computadorizado - ele normalmente far parte de um sistema maior. Desse modo, voc pode estar trabalhando em um sistema de pagamentos, que parte de um sistema maior de recursos humanos, que, por sua vez, parte da organizao comercial geral (que constitui um sistema), que , por sua vez, componente de um sistema econmico geral, e assim por diante. Ou voc pode estar trabalhando cm um siste ma de controle de processos que parte de uma refinaria qumica, ou em um sistema operacional que seja parte de um pacote de software de sistemas distribudo por vendedores. Assim, para que o seu sistema tenha sucesso, preciso conhecer os outros sistemas com os quais ele vai interagir.Muitos dos sistemas de computadores que elaboramos so substi tuies ou novas implementaes de sistemas no-computadorizados que j existem; alm disso, a maioria dos sistemas computadorizados interage ou tem uma interface com vrios sistemas existentes (alguns podem ser computadorizados e outros no). Para que nosso sistema computadorizado seja bem-sucedido, precisamos conhecer, detalhada- mente, como o sistema atual se comporta.Em segundo lugar, embora muitos tipos de sistemas paream ser totalmente diferentes, eles tm muitas semelhanas; existem princpios comuns, filosofias e teorias que se aplicam notavelmente bem a virtual mente todos os tipos de sistemas. Assim, podemos muitas vezes aplicar o que aprendemos sobre outros sistemas - com base em nossa experin cia diria, bem como na experincia de cientistas e engenheiros em diversas reas - aos sistemas que elaboramos na rea da computao. Por exemplo, um dos importantes princpios de sistemas que primeiro foi obser vado no campo da biologia conhecido como a lei da especia lizao; quanto mais adaptado for um organismo a um determinado ambiente, mais dificil ser para esse organismo a adaptao a outro. Isso ajuda a explicar o desaparecimento dos dinossauros quando o clima da Terra modificou-se radicalmente ajuda, tambm, aos analistas de siste mas a compreenderem que se otimizarem um sistema computadori zado de forma a tirar a mxima vantagem dc uma determinada UCP, de uma linguagem de programao e de um sistema de gerenciamento de banco de dados, podero vir a ter srios problemas em adaptar o sistema para ser processado em outra UCP ou com um diferente sistema de gerenciamento de banco de dados 212Dessa maneira, se conhecermos alguma coisa da teoria geral dos sistemas, ela pode nos ajudar a compreender melhor os sistemas compu tadorizados (automatizados) de informaes. Isso cada dia mais impor tante, pois queremos construir sistemas estveis e confiveis, que funcionaro bem em nossa complexa sociedade - e h, naturalmente, muitos sistemas no-computadorizados que vm sobrevivendo por mi lhes de anos: a humilde barata provavelmente sobreviver a iodos os sistemas computadorizados j construdos ou a construir, e a toda a humanidade, tambm.Assim, vamos comear com uma definio do termo bsico siste ma. Todos os livros sobre algum aspecto de sistemas contm essa defi nio; eu escolhi o Websters New Coilegiate Dictionary . Ele a vrias definies:1. um grupo de itens que interagem entre si ou que sejam inter dependentes, formando um todo unificado < - numrico>comoa. (1) um grupo de corpos que interagem entre si sob a in fluncia de foras relacionadas < - gravitacional >(2) uma mistura de substncias em equilbrio ou que tende para o equilbrio < - termodinmico >b. (1) um grupo de rgos do corpo que desempenham, em conjunto, uma ou mais funes vitais < o - digestivo>(2) o corpo, considerado como uma unidade funcional.c. um grupo de objetos ou foras naturais relacionados entre si d. um grupo de dispositivos ou uma organizao em rede, principalmente para a distribuio de algum produto ou servindo a um propsito comum < um - rodovirio > < um - de processamento de dados>2. um conjunto organizado dc doutrinas, idias ou princpios, habitualmente previsto para explicar a organizao ou o fun cionamento de um conjunto sistemtico < o - da mecnica newtoniana >3. a. um procedimento organizado ou estabelecido < o - de toques da digitao>13b. uma maneira de classificar, simbolizar ou esquematizar < um - taxonmico > < o - decimal>4. organizao harmoniosa ou modelo: ORDEM5. sociedade organizada ou situao social vista como inde sejvel: ESTABLISHMENT2.1 TIPOS COMUNS DE SISTEMASComo se pode depreender da definio acima, existem muitos ti- pos diferentes de sistemas; na verdade, quase tudo aquilo com que te mos contato em nossa vida ou um sistema ou um componente de um sistema (ou ambas as coisas).Significa que devemos estudar todos os tipos de sistemas, ou pre tender nos tornarmos peritos em sistemas sociais, sistemas biolgicos e sistemas de computao? Claro que no! Entretanto, conveniente organizar os diferentes tipos de sistemas cm categorias. Muitos agru pamentos diferentes so possveis; na realidade, a definio do dicio nrio no incio deste captulo apresenta uma classificao em categorias. Como nosso interesse principal so os sistemas de processamento, vamos comear por dividir todos os sistemas em duas categorias: siste mas naturais e sistemas feitos pelo homen2.2 SISTEMAS NATURAISA maioria dos sistemas no feita por pessoas. Eles so encontra dos na natureza e, de modo geral, servem a seus prprios propsitos. conveniente dividir esses sistemas em duas suhcatcgorias bsicas: siste mas fisicos e sistemas vivos. Os sistemas fsicos incluem exemplos to diferentes como: Sistemas estelares: galxias, sistemas solares etc. Sistemas geolgicos: rios, cadeias de montanhas etc. Sistemas moleculares: organizaes complexas de tomos.Os sistemas fsicos so interessantes de serem estudados porque, como humanos intrometidos que somos, por vezes tentamos modific los. Desenvolvemos, tambm, diversos sistemas, incluindo-se a os siste mas em computadores, que devem interagir harmoniosamente com os14sistemas fsicos; dessa forma importante estarmos capacitados a mode lar esses sistemas para nos assegurarmos que os entendemos to bem quanto possvel.Os sistemas vivos, naturalmente, abrangem as mirades de animais e plantas em volta de ns e tambm a espcie humana. E, como afirma James Miller em sua monumental obra, Living Systems [ 1978], essa categoria tambm inclui hierarquias de organismos vivos individuais, como ervas, rebanhos, tribos, grupos sociais, empresas e naes.O estudo dos sistemas vivos j uma carreira por si prprio; uma rpida leitura da obra de Miller permite que se perceba a extenso desse tema. O propsito deste livro no o estudo dos sistemas vivos per se; no obstante, algumas das propriedades e caractersticas dos sistemas vivos conhecidos podem ser utilizadas para auxiliar a ilustrar e melhor compreender os sistemas feitos pelo homem. Muitas vezes usamos uma analogia para entendermos melhor algo pouco familiar; entre os mais eloqentes exemplos de sistemas vivos empregados como analogias para sistemas comerciais e organizacionais esto Brain of the Firm de Stafford Beer [ 19721 e Tbe Heart ofEntetprise [ 19781.Pode-se encontrar uma analogia mais elaborada no agrupamento em categorias dos 19 principais subsistemas vivos feitos por Miller. Ele argumenta que os sistemas viventes, em nvel de clula, de rgo, de organismo, de grupo, de organizao, de sociedade ou de sistemas inter nacionais, contm, todos, os seguintes subsistemas: O reprodutor, que capaz de dar origem a outros sistemas se melhantes ao que ele pertence. Em uma organizao comercial, pode ser a diviso de planejamento, que faz novas plantas e constri novos escritrios regionais. O delmitador que mantm coesos os componentes do sistema, que os protege dos problemas ambientais e que impede ou permite a entrada de vrios tipos de matria-energia e infor maes. Em uma organizao comercial, poderia consistir nas instalaes fsicas (prdio do escritrio, fbrica etc.) e dos guar das e outros elementos da segurana que impedem intruses no desejadas. O ingestor, que introduz matria-energia atravs dos limites do sistema a partir do seu ambiente. Em uma organizao comer cial, pode ser representado pelo departamento de recebimentos ou de compras, que traz produtos in natura, material de escritrio e coisas afins. Pode ser constitudo tambm pelo de partamento de entrada de pedidos, que recebe pedidos verbais e escritos para os produtos e servios da empresa.15 O distribuidor, que transporta entradas de fora do sistema ou sadas dos subsistemas em torno do sistema para cada compo nente. Em uma organizao comercial, podem ser as linhas telefnicas, o correio eletrnico, os mensageiros, correias trans- portadoras e vrios outros mecanismos. O conversor, que modifica certas entradas do sistema em formas mais adequadas para os processos desse sistema em particular. Pode-se imaginar muitos exemplos disso em uma organi7ao comercial tpica. O produtor, que forma associaes estveis que garantem, du rante significativos perodos entre entradas de matria-energia no sistema ou entre as sadas do conversor, o material sinteti zado para crescimento, reparo dos danos ou substituio dos componentes do sistema, ou destinado ao fornecimento de energia para movimentar ou compor as sadas de produtos ou informaes de mercado para seu sistema de nvel superior. O subsistema de ar de matria-enei que con serva no sistema, por diferentes perodos de tempo, depsitosde vrios tipos de matria-energia. O extravasor, que envia matria-energia para fora do sistema sob a forma de produtos ou resduos. O moaor, que move o sistema ou setores dele em relao a uma parte do ambiente ou todo ele ou move componentes relativa mente um ao outro. O suportador, que mantm o correto relacionamento espacial entre os componentes do sistema, de modo a que eles possam interagir sem vantagens uns sobre os outros ou sem inter ferncias fsicas. O tran.sdutor de entrada, que traz marcadores com informaes para o sistema, modificando-os para outras formas de matria-energia adequadas para transmisso em seu interior. O transdutor Interno, que recebe, de outros subsistemas ou componentes do sistema, marcadores com informaes sobre al teraes importantes nesses subsistemas ou componentes, modificando-os para outras formas de matria-energia que pos sam ser transmitidas em seu interior.16 O canal e a rede, que se compem de uma nica via no espao fsico, ou de mltiplas vias interligadas, pelas quais os marca dores com informaes so transmitidos para todas as partes do sistema. O decod que modifica o cdigo da entrada de informa es para ele, por intermdio do transdutor de entrada ou do transdutor interno, em um cdigo privativo que pode ser utili zado internamente pelo sistema. O associador, que executa o primeiro estgio do processo de aprendizado, formando associaes durveis entre os itens deinformao do sistema. A memria, que executa o segundo estgio do processo de aprendizado, armazenando diversos tipos de informaes nosistema por diferentes perodos de tempo. O decididor, que recebe entradas de informaes de todos os outros subsistemas e lhes transmite sadas de informaes quecontrolam todo o sistema. O cod que modifica o cdigo das entradas de informa es para ele a partir de outros subsistemas de processamento de informaes, de um cdigo privativo de utilizao interna do sistema para um cdigo que possa ser interpretado por outros sistemas do ambiente. O transdutor de sada, que extrai do sistema marcadores com informaes, modificando esses marcadores dentro do sistema em outras formas de matria-energia que podem ser transmiti das pelos canais no ambiente do sistema.As figuras 2.1 (a) e 2.1 (b) mostram um exemplo dos 19 principais subsistemas da equipe de comunicaes de um moderno vapor; as figu ras 2.2 (a) e 2.2 (b) apresentam os principais subsistemas do prprio navio e as figuras 2.3 (a) e 2.3 (b) mostram os principais subsistemas de toda a Holanda. Esses modelos so vlidos por demonstrarem que, ao examinarmos um sistema com componentes vivos, podemos encontrar os principais subsistemas.Lembre-se que muitos sistemas feitos pelo homem (e os automati zados) interagem com os sistemas vivos - por exemplo, os marca-pas sos computadorizados interagem com o corao humano. Em alguns casos, os sistemas automatizados estio sendo projetados para substituir17sistemas vivOs; e em outros casos, os pesquisadores consideram os sistemas viventes (conhecidos como computadores orgnicos) como componentes de sistemas automatizados. Estudos sobre esse ponto de vista podem ser encontrados em [ 19831, [ Young, 1983], [ 19851 e [ 1984]. Os sistemas vivos e os feitos pelo homem so, muitas vezes, parte de um metassistema maior e quanto mais soubermos acerca deles melhores analistas de sistemas seremos.2.3 SISTEMAS FEITOS PELO HOMEMComo vimos pela definio no incio deste captulo, alguns siste mas so construdos, organizados e mantidos por seres humanos. Entreeles podemos considerar: Sistemas sociais: organizaes de leis, doutrinas, costumes etc. Uma coleo organizada e disciplinada de idias: o sistema deci mal Dewey para a organizao de livros em bibliotecas, o sis tema Weight-Watcher para perda dc peso etc. Os sistemas de transporte: redes rodovirias, canais, linhas areas, petroleiros, e semelhantes. Sistemas de comunicaes: telefone, telex, sinais de fumaa, si nais manuais utilizados pelos comerciantes atacadistas etc. Sistemas de manufatura: fbricas, linhas de montagem etc. Sistemas financeiros: contabilidade, inventrios, livros-razo, controle de estoques, entre outros.Hoje, a maioria desses sistemas usa computadores; na verdade, muitos deles no poderiam sobreviver sem os computadores. Contudo, tambm importante ressaltar que esses sistemas j existiam antes que surgissem os computadores; alguns deles, na realidade, no esto ainda totalmente computadorizados e podem permanecer assim por muitas dcadas mais. Outros contm um computador como componente, mas contm tambm um ou mais componentes no-computadorizados (ou manuais).Considere, por exemplo, a frase Joo possui um sistema que faz esse servio ou Maria certamente tem um modo sistemtico de fa zer seu trabalho. Tais frases no implicam necessariamente em que Maria tenha computadorizado seu trabalho ou que Joo tenha utilizado18algumas das ferramentas formais de modelagem discutidas nos captulos 9 e 10 para documentar (ou modelar) a maneira como ele pretende executar sua tarefa. Essas frases, no entanto, certamente implicam em que Joo e Maria dividiram o servio em uma srie de etapas separadas, cuja combinao cumpre algum propsito geral.A questo de se um sistema feito pelo homem deve ou no ser computadorizado ser discutida atravs de todo este livro; l no algo que deva ser tomado por certo. Como analista de sistemas, voc naturalmente pressupe que todo sistema com que voc tiver contato dever ser computadorizado; e o cliente ou usurio (o dono do sistema em questo) com quem voc interagir imaginar geralmente que voc tenha tal inteno. Como veremos nos prximos captulos, sua principal tarefa como analista de sistemas ser analisar ou estudar o sistema para determinar-lhe a essncia: seu comportamento exigido independente mente da tecnologia utilizada em sua implementao . Na maioria dos casos, s estaremos em situao de decidir se faz sentido usar um com putador para executar as funes do sistema depois de modelarmos seu comportamento bsico.Por que alguns sistemas de informao no devem ser automati zados? Pode haver muitas razes, mas aqui esto algumas das maiscomuns: Custo pode ser mais barato continuar executando as funes do sistema e armazenando as informaes manualmente. Nem sempre verdade que os computadores sejam mais rpidos e mais baratos do que o modo antigo. Conforto - um sistema automatizado pode ocupar espao em demasia, fazer excessivo rudo, gerar muito calor ou consumir eletricidade demais ou, em termos gerais, a presena de um deles pode ser uma dor de cabea. Isso est se tornando menos verdadeiro com a penetrante influncia dos microprocessadores mas ainda um fator a considerar. Segurana - se o sistema de informaes mantm dados im portantes e confidenciais, o usurio pode achar que um sistema automatizado no seja suficientemente seguro, podendo preferir manter a capacidade de conservar as informaes fisicamente protegidas debaixo de chave. Manutenibilidade - o usurio pode argumentar que um sis tema computadorizado de informaes poderia ser econmi co, s que no h ningum na organizao que possa manter o hardware e/ou o software do computador, de forma que19ningum estaria capacitado a reparar o sistema no caso de um defeito e no haveria quem pudesse efetuar modificaes e melhoramentos. PolUica - a comunidade de usurios pode achar que os com putadores so uma ameaa a seus empregos ou que tornam seu trabalho tedioso e mecnico, ou podem ter uma dzia de outras razes que o analista de sistemas pode considerar como irracionais. Mas como o sistema pertence aos usurios, a opinio deles est acima de tudo. Se eles no desejarem um sistema automatizado, faro o que for possvel para que o sistema fra casse caso ele lhes seja imposto.2.4 SISTEMAS AUTOMATIZADOSA maior parte deste livro dedicada aos sistemas automatizados, isto , sistemas feitos pelo homem, que interagem com ou so controla dos por um ou mais computadores. Voc certamente j deve ter visto muitos exemplos diferentes de sistemas automatizados em sua vida:parece mesmo que quase todos os aspectos de nossa sociedade moder na esto computadorizados. Como resultado, podemos distinguir muitos tipos diferentes de sistemas automatizados.Embora haja muitos tipos diferentes de sistemas automatizados,todos tm componentes comuns: Hardware de computadores - UCP, terminais, impressoras, uni dades de fitas magnticas etc. Software de computadores - programas de sistemas, como sis temas operacionais, sistemas de bancos de dados e programas de controle de telecomunicaces, alm dos programas aplicati vos que executam as funes desejadas pelo usurio. Pessoas - aquelas que operam o sistema, que fornecem as en tradas e utilizam as sadas, e as que desempenham atividades deprocessamento manual em um sistema. Dados - as informaes que o sistema conserva por um perodo de tempo. Procedimentos - determinaes e instrues formais para a operao do sistema.20Subsistemas que processam matria-energia e informaes: Delimitador (Dl), parede da estao-rdio (objeto).Subsistemas que processam matria-energia: Ingestor (IN), garonete que leva alimentos da cozinha para a estao-rdio; Distribuidor (DI), garom que entrega alimentos aos membros da equipe de comunicaes; Conversor (CO), garom que corta po, carne e queijo para sanduches; Produtor (PIO, garom que prepara sanduches e caf; Armazenamento de Matria-Energia (AM), garom que armazena diversos tipos de material, inclusive comida no refrigerador, casacos e chapus dos membros da equipe no armrio, cobertores e travesseiros tambm no armrio e ferramentas e equipamentos na cmoda; Extravasor (EX), garom que retira pratos sujos, papis usados e outros materiais inteis da estao-rdio; Suportador (SU), cho, paredes, teto e moblia da estao-rdio (objetos).Subsistemas que processam informaes: Transdutor de Entrada (te), rdio- operador que recebe mensagens pelo rdio; Transdutor Interno (ti), tripulante de servio no dia, que apresenta relatrios ao encarregado das comunicaes a respeito da eficincia e do moral dos membros da equipe durante seu servio; Canal e Rede (cr), todos os membros do grupo que se intercomunicam ver balmente atravs do ar da estao-rdio; Decodificador (dc), rdio-operador que transcreve em linguagem legvel as mensagens recebidas em cdigo morse; Memria (me), secretrio que conserva o registro de todas as mensagens re cebidas e transmitidas; Decididor (de), oficial encarregado das comunicaes, que chefia a equipe de comunicaes; Codificador (cO, rdio-operador que codifica mensagens claras em cdigo morse; Transdutor Externo (tx), rdio- operador que transmite mensagens pelo rdio.Figura 2.1(a): Subsistemas da equipe de comunicaes de um namo.Uma maneira de classificar os sistemas automatizados feita pela aplicao: sistemas industriais, sistemas de contabilidade, sistemas de defesa militar etc. Entretanto, isso no ser muito til j que as tcnicas que discutiremos neste livro para analisar, modelar, projetar e implemen tar sistemas automatizados so geralmente as mesmas, qualquer que seja a aplicao .217iF1gu 2.1 (b): Subsig deuma equijie de comunicaj de um natio400f0to1022Subsistemas que processam matria-energia e informaes: Reprodutor (Re), que representa a organizao proprietria; Delimitador (Di), o casco do navio e o pessoal que o guarda e trata de sua manuteno.Subsistemas que processam matria-energia: Ingestor (IN), escotilhas para o interior do navio e o pessoal que embarca passageiros, bagagens, e cargas; Distribuidor (DI), passagens,conveses, escadas e camareiros, garons e carrega dores que por eles transportam alimentos, bebidas, bagagens e vrios outros tipos de matria-energia, bem como os passageiros que se movimentam por eles pelo navio; Conversor (CO), pessoal da cozinha, que prepara vegetais e outros ai imentos para cozimento; Produtor (PR), cozinheiros que preparam as refeies e padeiros que fazem po na cozinha do navio; Armazenamento de Matria- Energia (AM), pores e tanques de combustvel do navio e o pessoal responsvel por eles; Extravasor (EX), chamin para eliminao de resduos gasosos, disposi tivos de descarga de lixo e esgoto para resduos lquidos e slidos e o pessoal en carregado de verificar se esses resduos esto sendo adequadamente eliminados; Motor (MO), mquinas, eixo propulsor, hlices e todo o casco do navio, que transportam passageiros, tripulao e carga pelo mar, bem como os maquinistas responsveis pela movimentao do navio; Suportador (SU), casco, bordos, anteparas (paredes) e conveses do navio e o pessoal encarregado da manuteno desses elementos.Subsistemas que processam informaes: Transdutor de Entrada (te), rdio- operador e outros membros da equipe de comunicaes que recebem men sagens para o navio; Transdutor Interno (ti), oficial que informa ao oficial mais graduado do servio sobre o estado de diversos componentes do navio; Canal e Rede (cr), o ar entre os oficiais de servio no passadio do navio, pelo qual eles transmitem e recebem mensagens; Decodificador (dc), rdio-operador, da equipe de comunicaes, que decodifica mensagens em cdigo Morse para linguagem clara, depois de serem recebidas; Memria (me), livros de registro de viagens anteriores, cartas nuticas e o pessoal que as consulta no compartimento de cartas; Decididor (de), o Comandante e outros oficiais do navio; Codificador (cO, rdio-operador, da equipe de comunicaes, que codifica mensagens em lin guagem clara para o cdigo morse para poder transmiti-las; Transdutor de Sada (is), rdio-operador e outros membros da equipe de comunicaes que trans mitem as mensagens do navio.Figura 2.2 (a): Princ subsistemas de um namo23oiFigura 2.2 (b): Principa&s subszstemas de um namo24Figura 2.3 (a): Principais .suhsi te mas da holanda254..Subsistemas que processam tanto matria-energia como informaes: Delimita dor , organizaes de defesa, guarda ou policiamento das fronteizas nacionais. Subsistemas que processam matria-energia: Ingestor organizaes, como empresas de transportes areos, ferrovirios ou rodovirios ou empresas de transpor tes martimos, que importam diversas formas de matria-energia para o pais; Distribuidororganizaes nacionais que transportam formas diversas de matria-energia por gua, estradas, ferrovias ou pelo ar; Conversor r ii organizaes que con vertem formas brutas de matria-energia em outras formas utiizveis pela sociedade;Produtor, organizaes industriais que fabricam produtos para a sociedadeou para exportao; Armazenamento de Matria-Energia organizaes como depsitos, reservatrios e instalaes de energia eltrica que armazenam diferentes formasde matria-energia; Extravasororganizaes que exportam produtos da Holanda para outros pases, ou despejam resduos no mar, e setores que deportam pessoas in desejveis; Motor , unidades do ramo de transportes ou construes, foras armadas ou agncias espaciais; Suportador , edifcios pblicos e a terra.Subsistemas que processam informaes: Transdutor de Entrada ( organiza es que recebem sinais telegrficos, por cabos, telefnicos ou de radar, ou notcias pro venientes do exterior da Holanda; Transdutor Interno (4) , legislatura representa tiva, membros de partidos ou organizaes de consulta da opinio pblica que recebem comunicaes e relatrios de todos os pontos da Holanda; Canal e rede recur sos nacionais de comunicaes; Decodificador , setor de assuntos estrangei ros que decodifica mensagens secretas recebidas das embaixadas da Holanda em todo o(Continua)26mundo; Associadorinstituies de ensino da lngua holandesa; Memria ( , biblioteca; Decididor, Rainha e o governo em Haia;Codificador, secretrio de imprensa do governo ou redatores de discursos;Transdutor de Saidapessoa que fala oficialmente pela Holanda.Figura 2.3 (b): Principais subsistemas da HolandaVemos abaixo, uma diviso mais prtica dos sistemas automati zados: Sistemas on-line Sistemas de tempo-real Sistemas de apoio deciso Sistemas baseados no conhecimentoA seguir, vamos examinar cada um desses tipos de sistemas.2.4.1 Sistemas On-LineEm um livro anterior (EYourdon, 19721), define sistemas on-line doseguinte modo:Sistemas on-line so os que recebem entradas diretamente do local onde ele foi criado. So tambm os sistemas em que as sadas, ou os resultados do processamento, so dirigidas diretamente para onde sejam necessrias.Isso habitualmente signifIca que a arquitetura de hardware de umsistema de processamento semelhante da figura 2.4.Uma caracterstica tpica de um sistema on-line o fato de que os dados so introduzidos no sistema de processamento e dele recebi dos remotamente. Isto , os usurios do sistema de processamento inte-ragem com o computador atravs de terminais 6 que podem estar27localizados a centenas de milhas de distncia de outros terminais e do prprio computador.Outra caracterstica de um sistema on-line que os dados armaze nados, isto , os arquivos ou bancos de dados, so habitualmente organi zados de forma tal que os dados individuais (como um registro de reser va de passagem area ou um. registro individual sobre uma pessoa) podem ser recuperados e/ou modificados (1) rapidamente e (2) sem necessariamente precisar ter acesso a outros dados do sistema. Isso est em flagrante contraste com os sistemas baich (em lotes), que eram mais comuns nas dcadas de 60 e 70. Nos sistemas de processamento em lotes, as informaes so normalmente recuperadas na modalidade se qencial, o que significa que o sistema de processamento l todos os registros do banco de dados, processando e atualizando os registros para os quais haja alguma atividade. A diferena entre um Sistema on-line e um sistema batch anloga diferena entre a procura de uma msica em um gravador de fita e em um toca-disco; o primeiro envolve o acesso seqencial por todas as trilhas, enquanto o outro permite o acesso alea trio a qualquer das trilhas sem que seja necessrio ouvir as demais.Como um sistema on-line interage diretamente com pessoas (isto , usurios humanos em terminais), importante que o analista de sistemas planeje cuidadosamente a interface homem-mquina . Isso quer dizer que o analista deve ter um meio de modelar todas as mensagens poss veis que o usurio poder digitar no terminal e todas as respostas que o sistema pode dar - e todas as respostas que o usurio pode dar s consultas do computador, e assim por diante. Isso geralmente feito mediante a identificao de todos os estados em que o computador e o usurio podem se encontrar e pela identificao de todas as modifica es de estado. Um exemplo de um estado em que poderia se encontrar o computador de um sistema de caixa automtico de um b poderia ser: O usurio introduziu o carto de crdito e se identificou, mas ainda no me informou sua senha confidencial. Um exemplo de uma mudan a de estado seria: Ele me disse sua senha e agora posso procurar saber se ele deseja retirar dinheiro ou ver seu saldo. Outra mudana de estado poderia ser: Ele tentou introduzir a senha trs vezes sem sucesso e agora vou soar o alarme. Esses estados e modificaes de estado so normalmente modelados nos diagramas de transies de estado, que discutiremos detalhadamente no captulo 13.Como os sistemas on-line geralmente precisam recuperar dados rapidamente (para responder a consultas e comandos provenientes de terminais on-line), normalmente muito importante projetar os arquivos e bancos de dados to eficientes quanto possvel. Na realidade, muitas vezes verdade que os clculos executados por um sistema on-line sejam relativamente triviais, enquanto que os dados (principalmente a estrutura e a organizao dos dados manudos pelo sistema on-line) so bastante28As informaes so comutadas a partir do ponto de origemFigura 2.4: Um sistema on-linecomplexos. Por causa disso, as ferramentas de modelagem de dados discutidas no captulo 12 so de grande importncia para o analista e para o projetista de sistemas.A deciso de se construir um sistema on-line ou no , no contexto deste livro, uma deciso de implementao e no algo que deva ser de terminado pelo analista de sistemas mas sim pelos implementadores do sistema. Contudo, como essa deciso tem evidente impacto sobre o usurio (a presena ou ausncia de terminais de vdeo etc.), trata-se de uma deciso de implementao da qual os usurios geralmente querem participar. Na verdade ela faz parte do modelo de implementao do usurio, que veremos no captulo 21.2.4.2 Sistemas de Tempo-RealOs sistemas de tempo-real so por muitos considerados como va riaes dos sistemas on-line; na realidade, muitas pessoas usam esses termos indiferentemente. Entretanto, importante fazer distino entre eles. Usaremos a definio encontrada em IMartin, 19671:Os dados so organizados de modo a que possam ser recuperados rapidamenteA sada transmitida para onde for necessrio29Um sistema de processamento em tempo-real pode ser definido como aquele que controla um ambiente pelo recebimento de dados, seu processamento e apresentao dos resultados com rapidez sufi ciente para afetar o ambiente naquele momento.A expresso, rapidez suficiente est, naturalmente, sujeita a muitas interpretaes. Evidentemente existem muitos sistemas on-line:sistemas bancrios, sistemas de reserva de passagens areas, sistemas de controle de estoques - que se espera que reajam em um ou dois segun dos s mensagens digitadas no terminal. Entretanto, na maioria dos siste mas de tempo-real, o computador deve reagir em milissegundos e s vezes em microssegundos s entradas recebidas. Isso caracterstico dos seguintes tipos de sistemas: Sistemas de controle de processos - sistemas de processamento usados para monitorar e controlar refinarias de pcirleo, proces sos da indstria qumica, operaes de moagem e operaes mecnicas servem como exemplos. Sistemas de caixa automtico - os caixas eletrnicos que muitos de ns usamos para pequenos depsitos e retiradas emum banco so exemplos. Sistemas de obteno de dados de alia velocidade - so exem plos os sistemas de processamento que recebem dados de te lemetria de alta velocidade de satlites em rbita, ou computa dores que recebem macias quantidades de dados de ex perincias laboratoriais. Sistemas de orientao de msseis - sistemas de processamento que acompanham a trajetria de um mssil e fazem contnuosajustamentos na orientao e ativao dos propulsores do mssil. Sistemas de comutao telefnica - sistemas de processamento que monitoram voz e transmisso de dados entre milhares de chamadas telefnicas, detectando os nmeros discados, con dies de no-gancho e fora-do-gancho e todas as outras inmeras condies de uma rede telefnica tpica. Sistemas de monitora o de pacientes - sistemas de processa mento que monitoram diversos sinais vitais de pacientes (ex., temperatura e pulso) e administram a medicao ou soam o alarme se esses sinais vitais se alteram alm de certas condies predeterminadas.30Alm da velocidade existe uma outra caracterstica que distingue sistemas de tempo-real de sistemas on-line: esses ltimos geralmente interagem com pessoas, enquanto os sistemas de tempo-real interagem tanto com pessoas quanto com o ambiente, que normalmente autno mo e muitas vezes hostil. Na verdade, a preocupao principal do analis ta de sistemas de tempo-real que, se o computador no responder com suficiente rapidez, o ambiente ficar fora de controle - os dados que chegarem podero se perder irremediavelmente, ou um mssil poder se desviar tanto de sua trajetria que no se conseguir recuper-lo, ou um processo industrial poder ir pelos ares Em contraste com isso, um sistema on-line que no reaja com suficiente rapidez nada mais far do que tornar seus usurios impacientes e irritados. As pessoas podem explodir ou ir pelos ares em sentido figurado se tiverem que esperar mais de trs segundos por uma resposta de um sistema on-line, mas no em sentido literal. Isso mostrado na figura 2.5.Em virtude de sua preocupao com resposta instantnea s entradas, um analista trabalhando com sistemas de tempo-real est geralmente interessado com o comportamento tempo-dependente do sistema. As ferramentas para modelagem do comportamento tempo- dependente de sistemas sero examinadas no captulo 13.Do ponto de vista da implementao, os sistemas de tempo-real(bem como alguns sistemas on-line) se caracterizam pelos seguintesaspectos: Muitas atividades de processamento ocorrem simultaneamente.Passagem do tempoFigura 2.5: Um sistema de tempo-real31 Estabelecimento de diferentes prioridades para diferentes tarefas de processamento: algumas precisam ser executadas imedia tamente, enquanto outras podem ser postergadas por perodos razoveis de tempo. Interrupo de uma tarefa de processamento antes de haver ter minado de modo a que outra, de alta prioridade, possa ser aten dida. Comunicaes extensivas entre tarefas, principalmente quando muitas das tarefas funcionam em diferentes aspectos de umprocesso geral como um processo de controle industrial. Acesso simultneo a dados de uso comum, tanto na memria principal como na secundria, exigindo portanto elaborados procedimentos de hand-shaking e sinais de trnsito para as segurar que esses dados comuns no se corrompam. Uso dinmico e alocao da memria RAM no sistema de pro cessamento, visto no ser econmico (mesmo nos dias atuais de memrias de baixo preo) ocupar muita memria fixa para manipular situaes de pico de quantidade de dados.2.4.3 Sistemas de Apoio Deciso e Sistemas de Planejamento EstratgicoA maioria dos sistemas automatizados de informaes construdos nos Estados Unidos nos ltimos 30 anos era de sistemas operativos que auxiliam na execuo do trabalho dirio de uma empresa. Esses siste mas, tambm conhecidos como de pmcessamento de aes, incluem os conhecidos sistemas de pagamento, de entrada de pedidos, de contabili dade e industriais. Nas empresas americanas, esses sistemas opera tivos foram desenvolvidos lenta e dolorosamente, a um alto custo, e como muitos deles foram desenvolvidos h mais de 20 anos j esto beira do desmoronamento. Em face disso, novos sistemas operativos so conti nuamente construdos nas maiores empresas por todo o mundo.Na medida em que os sistemas operativos atuais prosseguem em seu rumo cambaleante, muitas empresas esto concentrando a atuao em um novo tipo de sistema: o de apoio deciso.Como o termo sugere, esses sistemas de processamento no tomam decises por eles mesmos, mas auxiliam gerentes e outros profissionais funcionrios do conheci mento de uma organizao a tomarem decises inteligentes e bem in formadas sobre vrios aspectos da operao. Os sistemas de apoio 32deciso so tipicamente passivos no sentido de que no funcionam de uma forma regular: em vez disso, so utilizados de forma ad hoc quando isso se faz necessrio.Existem vrios exemplos simples de sistemas de apoio deciso:programas de planilhas eletrnicas (p.ex., o Lotus 1,2,3, o Multiplan da Microsoft e o Framework da Ashton-Tate), sistemas de anlise estatstica, programas de previses mercadolgicas e outros. Em realidade, uma caracterstica comum dos sistemas de apoio deciso a de que eles no s recuperam e apresentam dados, mas tambm executam diversas anlises matemticas e estatsticas sobre os dados; tm tambm a apti do, na maioria dos casos, de apresentar as informaes sob vrias for mas grficas (tabelas, diagramas etc.) bem como relatrios convencio nais. A figura 2.6 mostra uma tpica planilha financeira que poderia ser utilizada por um gerente para avaliar a rentabilidade de uma diviso da empresa; a figura 2.7 mostra um grfico tpico, que apresenta as receitas da diviso comparadas mdia da indstria. Observe que, em ambos os casos, a sada produzida pelo sistema no toma a deciso e, sim, fornece informaes relevantes em formato adequado para que o gerente possa tomar a deciso.Alguns sistemas de apoio deciso so teis para organizar emecanizar as normas utilizadas para se chegar a uma deciso comercial.Projees de Lucros/Perdas10TRIM.TRIM.30TRIM.TRIM.TOTALVendas domsticasVendas internacionaisTaxa de licenaReceitas diversasRECEITA TOTAL40010025105354251506010645250200501551537512525105351450575160452230CustodasvendasSalriosOutros custosAluguisTelefoneDespesas postaisViagensDespesas legaisDepreciaesDespesas diversasDESPESA TOTAL1231001515205101012531514812018152061010135365118120181520510151353391231251918207101014535151346570638023404552201371LUCRO/PERDA220280176184859Figura 2.6: Uma planilha tpica33Receitas da Widget12108Receita em 6 Receitas da WidgetmilhesMdia da indstria81 8284 85AnoFigura 2.7: Um tpico grfico prod uzido por um sistema de apoio decisoUm sistema desse tipo o programa chamado Lightyear (da Lightyear, Inc.), que funciona nos computadores pessoais compatveis com o IBM. Ele permite que o usurio (ou mltiplos usurios) descreva os detalhes de um problema orientado para deciso; um exemplo poderia ser o problema de decidir onde instalar um novo escritrio. Em primeiro lugar, o usurio identifica os critrios que sero utilizados na tomada de deci so. Para o problema da instalao do escritrio, isso poderia incluir critrios como: deve ser acessvel por transporte pblico e no deve ser instalado em locais sujeitos a terremotos. Alguns dos critrios so binrios no sentido de que uma falha em satisfaz-los elimina um candi dato ou causa a automtica seleo de um candidato. Alguns dos crit rios podem ser escalonados numericamente; por exemplo, um dos crit rios poderia ser a taxa de imposto de renda, que toma diferentes valores numricos dependendo da cidade e do estado onde se localiza o novo escritrio. Os prprios critrios podem ser escalonados relativamente uns aos outros: um imposto talvez tenha um valor igual a 5 em uma escala de 10 pontos, enquanto as instalaes comerciais convenientes prximas tm um valor de 3. Tendo sido definidos os critrios para a tomada de deciso, vrios candidatos podem ser avaliados e analisados; o melhor candidato ser escolhido automaticamente pelo programa Ligh tyear. A figura 2.8 demonstra esse processo.Nada existe de mgico nisso. O programa est simplesmente apli cando, de forma mecnica, as normas de avaliao introduzidas pelousurio. Entretanto, a capacidade do sistema mais do que apenas o34Identificar opes alternativasIrEstabelecer critrios de avaliaoEscalonar as opes alternativasconforme critrios4Selecionar melhor opoFigura 2.8: O sistema Lightyear de apoio decisoclculo mecnico: ele obriga a usurio a emitir seu critrio, o que muitas vezes no feito. Ele tambm oferece um recurso neutro para reunir as opinies de muitos usurios em situaes onde importante a obteno de um consenso. Em um problema emocionalmente sensvel como o da escolha da localizao do novo escritrio (p.ex.: a instalao das famlias dos que tomaro a deciso), pode ser muito benfico no apenas deter minar os critrios de deciso mas tambm determinar o escalonamento dos critrios de cada tomador de decises. Se dois membros da comisso de instalao do escritrio divergirem, deve ficar claro para eles qual a base da divergncia.Os sistemas de planejamento estratgico so usados pelos diretores para avaliar e analisar a misso da empresa. Em vez de oferecer conse lhos sobre uma deciso comercial isolada, esses sistemas fornecem infor maes mais amplas e mais gerais sobre a situao do mercado, as pre ferncias dos clientes, o comportamento dos competidores etc. Isso habitualmente pertence rea do Departamento de Planejamento Estra tgico ou do Departamento de Planejamento a Longo Prazo, embora essa possa ser uma atividade informal desempenhada por um ou dois diretores de alto nvel.Planejamento estratgico um conceito que se tornou popular du rante a Segunda Guerra Mundial (embora obviamente algumas empresas j fizessem isso h muito tempo) e o tema de muitos livros; veja ESteiner, 1979], EDrucker, 1974] e EAckoff, 19701. Os sistemas de pla nejamento estratgico no so intrinsecamente programas de com putador, mas uma complexa combinao de atividades e procedimentos, muitos deles executados por pessoas utilizando informaes respigadas351de fontes externas (pesquisas de mercado e outras) e de dados internos dos sistemas operativos da empresa e de sistemas de apoio deciso. Steiner afirma que podem existir muitos tipos de sistemas de planejamento estratgico, dependendo do tamanho e da natureza da organizao.Dois modelos tpicos so retratados nas figuras 2.9 e 2.10. O siste ma de planejamento estratgico fundamentado na anlise de intervalos tenta identificar a discrepncia entre a posio atual da empresa (em termos de receita, lucros etc.) e a posio desejada pela direo, acionis tas e outros.Os sistemas de planejamento estratgico constituem outro tema eno trataremos deles detalhadamente neste livro. Nossa nfase ser prin cipalmente sobre os sistemas operativos e de apoio deciso.Observe o relacionamento entre os trs diferentes tipos de sistemas examinados nesta seo. Como mostra a figura 2.11, os sistemas operau vos representam a base sobre a qual se fundamentam os sistemas de apoio deciso e os de planejamento estratgico. Os sistemas operativos criam os dados exigidos pelos sistemas de nvel mais elevado, e atua lizam continuamente esses dados.A forma piramidal da figura 2.11 representa outra caracterstica dossistemas de informaes encontrados na maioria das organizaes atuais:o tamanho dos sistemas operativos (medido em pessoas-ano, ou milhesFigura 2.9: Um modelo de planeja rnento esiral4gico centralizado na anlise de intervalos36Figura 2.10: Um modelo de planejamento estratgico baseado na fora do mercado.de comandos COBOL etc.) excede ao dos sistemas de apoio deciso e ao dos sistemas de planejamento estratgico. Mas podemos esperar uma mudana nesse aspecto na prxima dcada. Como j foi mencionado, muitas empresas despenderam os ltimos 30 anos construindo seus siste mas operativos. Para a maioria dessas empresas, o trabalho est feito . Grande parte do trabalho agora em andamento em algumas dessas gran des empresas o desenvolvimento de sistemas de apoio deciso e de planejamento estratgico.37Figura 2.11: A hierarquia dos sistemas de processa mento de informao2.4.4 Sistemas Baseados no ConhecimentoUma expresso relativamente nova na indstria do processamento sistemas especialistas ou sistemas baseados no conhecimento. Es ses sistemas esto associadQs ao campo da inteligncia artificial, assim definida por Elaine Rich [ 19841:A meta dos cientistas da computao que trabalham no campo da inteligncia artificial a produo de programas que imitem o de sempenho humano em uma ampla variedade de tarefas inteligen tes. No caso de alguns sistemas especialistas essa meta est prxima de ser atingida. Nos demais casos, apesar de ainda no sabermos como construir programas que funcionem bem por eles mesmos, emos comear a elaborar programas que auxiliem as pessoas de forma significativa, na execuo de suas tarefas.Os sistemas baseados no conhecimento e os sistemas especialistas foram descritos por dois eminentes escritores do campo da inteligncia artificial, Feigenbaum e McCorduck em [ e McCorduck, 19831 da seguinte maneira:Os sistemas baseados no conhecimento, como bvio, contm grande quantidade de conhecimentos variados que eles trazem para utilizao em determinada tarefa. Os sistemas especialistas so uma espcie de sistemas baseados no conhecimento, embora os dois nomes sejam muitas vezes empregados indistintamente.38Sistemas operativosO que exatamente um sistema especialista? um programa que tem embutido o conhecimento e a capacidade que o permitiro fun cionar como especialista. Desempenho especialista significa, por exemplo, o nvel de desempenho de um mdico em diagnose e teraputica, ou de doutores ou pessoas de grande experincia em exercer tarefas de engenharia, cientficas ou administrativas. O sis tema especialista um auxilio intelectual de alto nvel para o espe cialista humano, o que explica seu outro nome, o de assistente inteligente.Os sistemas especialistas so construdos habitualmente para terem a capacidade de explicar as linhas de raciocnio que conduzem a suas decises. Alguns podem at mesmo explicar porque rejeitaram cer tas linhas de raciocnio e escolheram outras. Essa transparncia uma das principais caractersticas dos sistemas especialistas. Os pro jetistas fazem todo o esforo para conseguir isso porque sabem que a utilizao de um sistema especialista depende de sua credibilidade junto aos usurios, e a credibilidade surge pelo fato de seu compor tamento ser transparente, explicativo.Os sistemas especialistas ainda so imaginados como sistemas es pecializados, usando hardware especial .e linguagens de programao tambm especiais, como LISP e PROLOG. Entretanto, alguns sistemas especialistas simples comeam a surgir em computadores pessoais de porte padro, e as cpsulas (shelis) de sistemas especialistas - estrutu ras de software para o desenvolvimento de aplicaes especficas de sis temas especialistas - j aparecem em ambientes de grande porte basea dos em COBOL.Embora os sistemas especialistas estejam fora do escopo deste li vro, eles tornar-se-o gradualmente um componente cada vez mais im portante do sistema tpico em que voc trabalha como analista de sistemas. Desde o final dos anos 80 os pesquisadores vm estudando o relacionamento entre as tcnicas clssicas de desenvolvimento de soft ware e a inteligncia artificial; um estudo tpico desses Uacob e Fros cher, 1986]. KelIer (IKeller, 1987]) prev um tempo no futuro prximo em que os sistemas de IA e especialistas faro parte da atividade normal de anlise de sistemas; outros, como lBarstow, 1987] e (Lubars e Harandi, 19871 presumem que a inteligncia artificial ser til no auxlio aos ana listas de sistemas na documentao dos requisiI do usurio em meados dos anos 90. Mais adiante, voltaremos a este assunto.39112.5 PRINCPIOS GERAIS DE SISTEMASTodos os exemplos vistos acima tm uma coisa em comum: todos eles so sistemas. Embora possam ser diferentes de vrias maneiras eles compartilham muitas caractersticas comuns. O estudo dessas caracters ticas comuns conhecido como teona geral dos sistema?, um fasci nante tema a explorar. Para uma vista inicial do assunto, leia EWeinberg, 19761; para um exame mais formal, consulte EBertalanffy, 19691; uma viso mais humorstica da freqentemente perversa natureza dos siste mas pode ser encontrada no delicioso Systemantics [ 19771.Apesar do assunto da teoria geral dos sistemas estar alm do pro psito deste livro, existem alguns princpios gerais de particular inte resse para os que constrem sistemas automatizados de informaes. So os seguintes:1. Quanto mais especializado um sistema, menos capaz ele de se adaptar a circunstncias diferentes. Isso muitas vezes usa do para descrever sistemas biolgicos (p.ex., animais que tm dificuldade de se adaptar a novos ambientes), mas tambm se aplica a sistemas de computador. Quanto mais um sistema for de emprego geral, menos otimizado ele ser para uma situao especfica; porm, quanto mais um sistema for otimi zado para uma situao especfica, menos adaptvel ele ser a novas circunstncias. Isso um problema verdadeiro para muitos sistemas de tempo-real que precisam ser otimizados para proporcionarem respostas suicientemente rpidas aos estmu los externos. Mas o processo de otimizao geralmente se beneficia das idiossincrasias do hardware de computador e do software de sistemas especiais no projeto, o que significa que pode ser muito dificil transferir o sistema para um diferente hardware. Esse princpio tambm importante para muitos sistemas comerciais que refletem a poltica do usurio, que tambm pode ser extremamente especializada. Quanto mais espe cializados forem os requisitos do usurio para um sistema de pagamento de pessoal, por exemplo, menos provvel ser que possa ser utilizado um pacote comercial disponvel.2. Quanto maior for um sistema, maior o nmero de seus recursos que sero destinados manuteno diria. Novamente a Biologia o exemplo mais conhecido deste princpio: os dinos sauros gastavam a maior parte de suas vidas diurnas enchendo se de comida para manter suas imensas carcaas. Isso tambm se aplica a exrcitos, empresas e a muitos outros sistemas, inclusive os sistemas automatizados que estamos estudando40neste livro. Um pequeno sistema de brinquedo, do tipo que pode ser desenvolvido em uma tarde, exigir habitualmente muito pouca burocracia, enquanto um sistema grande exigir enormes esforos nas improdutivas reas da verificao de erros, edio, cpias, manuteno, segurana e documentao.3. Os sistemas sempre fazem parte de sistemas maiores e sempre podem ser divididos em sistemas menores. Esse ponto im portante por dois motivos: primeiro, ele sugere uma bvia maneira de organizar um sistema que queremos desenvolver- pela sua diviso em sistemas menores (veremos mais detalhes sobre isso nos ltimos captulos do livro). Mais importante, en tretanto, que ele sugere que a definio do sistema que queremos desenvolver arbitrria - poderamos ter escolhido um sistema ligeiramente menor ou ligeiramente maior. A escolha do escopo de um sistema e a sua cuidadosa definio de uma forma em que todos possam saber o que h dentro do sistema e o que h fora dele uma atividade importante que ser discutida detalhadamente no captulo 18. Isto mais difcil do que pode parecer: tanto os usurios como os analistas pensam muitas vezes que os limites de um sistema so fixos e imutveis e que tudo que estiver fora desses limites no merece ser estudado. Estou em dvida cm Lavctte Teague e Christopher Pidgeon ( e Pidgeon, 19851) pela localizao do seguinte exemplo de sistemas dentro dc sistemas, tirado de EEberhard, 1970]:Uma preocupao inerente aos mtodos de projeto a natureza hierrquica da complexidade. Essa preocupao movimenta-se em duas direes, escalada e regresso infinita. Usarei umahistria, O Aviso da Maaneta, para ilustrar o princpio da es calada.Tive esta experincia em Washington, quando eu tinha dinheiro para gastar. Se eu celebrasse um contrato com um projetista e dissesse: A maaneta da porta do meu escritrio foi feita com pouca imaginao e com desenho muito pobre. Voc me projetaria outra maaneta? Ele responde sim, e aps estabelecermos um preo, ele vai embora. Uma semana mais tarde ele volta e diz: Sr. Eberhard, estive pensando sobre a maaneta. Em primeiro lugar, precisamos decidir se uma maaneta a melhor opo para abrir e fechar uma porta. Eu digo, timo, eu gosto de imaginao, prossiga. Ele volta outra vez e diz, Sabe, estive pensando sobre seu problema e a nica razo para o senhor querer uma maaneta que o senhor41presume que deseje uma porta para o seu escritrio. O Sr. tem certeza de que uma porta a melhor maneira para controlar a sakla e a privacidade - No! no tenho certeza Bem, vou pensar sobre este problema. Ele volta uma semana mais tarde e diz: O nico motivo que temos para nos preocuparmos com o problema da passagem a sua insistncia em ter quatro paredes em volta de seu escritrio. Tem certeza de ser essa a melhor maneira de organizar o espao para o tipo de servio que o Sr. faz como burocrata?. Eu digo: No! no tenho certeza. Bom, a escalada prossegue at (e isso aconteceu literalmente com dois contratos, embora no exatamente conforme este processo) que nosso projetista fsico regresse com a fisionomia muito sria. Sr. Eberhard, precisamos decidir se a democracia capitalista a melhor maneira de organizar nosso pas antes que eu possa atacar o seu problema.No outro extremo est o problema da regresso infinita. Se aquele homem se deparasse com o projeto da maaneta diria:Espere. Antes de me preocupar com a maaneta, quero estudar o formato da mo humana e o que o homem capaz de fazer com ela. Eu diria: Muito bem. Ele retornaria e diria: Quanto mais eu penso sobre isso, surge um problema de adaptao. O que quero estudar em primeiro lugar como o metal formado, quais so as tecnologias para fabicar coisas metlicas de modo que eu possa conhecer os verdadeiros parmetros para o ajuste mo. timo. Mas a ele diz: Estive estudando a constituio do metal e tudo depende das propriedades metalrgicas. Preciso estudar metalurgia por trs ou quatro meses para compreender melhor o problema. - timo!. Aps trs meses, ele volta e diz: Sr. Eberhard, quanto mais estudo metalurgia mais percebo que a estrutura atmica que est de fato no centro do problema. E, assim, nosso projetista fsico est estudando fsica atmica a partir da maaneta. Esta uma das quatro preocupaes - a natureza da complexidade.4. Os sistemas crescem. Naturalmente, isso no pode ser verda deiro para todos os sistemas ou isso violaria um princpio geral de sistemas muito conhecido: a lei da conservao da energia. Mas, muitos dos sistemas com os quais estamos familiarizados realmente crescem, e importante reconhecermos isso, porque muitas vezes deixamos de considerar esse aspecto (como analistas e projetistas de sistemas) ao iniciarmos o desen volvimento de um sistema. Um tpico sistema de informaes, por exemplo, cresce para incluir mais software do que estava previsto originalmente, mais dados, mais funes e mais usurios. Por exemplo, Lientz e Swanson encontraram em uma clssica avaliao de aproximadamente 500 empresas de42processamento de dados em todo o pas (lLientz e Swanson, 19801), que o volume de cdigo de um sistema automatizado cresce aproximadamente 10% ao ano, e qu