• Nenhum resultado encontrado

Análise Estruturada Moderna - EDWARD YOURDON.rtf

N/A
N/A
Protected

Academic year: 2021

Share "Análise Estruturada Moderna - EDWARD YOURDON.rtf"

Copied!
613
0
0

Texto

(1)

Consultor Editorial

Fernando Barceilos Ximenes KPMG Consulting

Tradução

Dalton Conde de Alencar Mestre em Informática

pelo Instituto Militar de Engenharia yrOkIz

ESSOOAÇÃO D DE O CEPCOCRÁHCOS ooierrro

EDITORA AFIL lADA

P Preencha a ficha de cadastro no final deste livro e receba gratuitamente informações

sobre os lançamentos e promoções da Editora Campus.

Consulte também nosso catálogo completo e últimos lançamentos em www.campus.com.br

EDWARD YOURDON ANÁLISE

ESTRUTURADA MODERNA

TRADUÇÃO DA TERCEIRA EDIÇÃO AMERICANA 12 Tiragem

mm. CAMPUS

SERIE YOURDON PRESS ‘6s’’ 1

Do original:

Modem Structured Analysis - 3 rd Ed.

Tradução autorizada do idioma inglês da edição publicada por i- Inc. Copyright © 1989 by Prentice-Hall, Inc. ci (./ . 2-1

(2)

CL

Todos os direitos reservados e protegidos pela Lei 5988 de 14/12/73.

Nenhuma parte deste livro, sem autorização prévia por escrito da editora, poderá ser reproduzida ou transmitida sejam quais forem os meios empregados:

eletrônicos, mecãnicos, fotográficos, gravação ou quaisquer outros.

Todo o esforço foi feito para fornecer a mais completa e adequada informação. ) Contudo a editora e o(s) autor(es) não assumem responsabilidade

pelos resultados e uso da informação fornecida. Recomendamos aos leitores testar a informação antes de sua efetiva utilização.

Capa

Otávio Studart Copidesque

-Maria Cláudia Ajúz Goulart

Editoraçâo Eletrônica UNIVERSt DADE ESTÁCIO DE SÃ Graphbos J

Revisão Grã ltca _______ N

Projeto Gráfico

-AQuaIidade Informática. O(D \ O O’\ Rua Sete de Setembro, 111 - l6 andar 20050-002 Rio de Janeiro RJ Brasil

Telefone: (021)509-5340 FAX (021)507-1991 E-Mail: info ©campus.com.br

ISBN 85-7001-615-8

(Edição Original: ISBN 0-13-598624-9, Prentice-Hall, Inc., Inc., New Jersey, USA). Ficha Catalográfica

CIP-Brasil. Catalogação-na-fonte.

Sindicato Nacional dos Editores de Livros, RJ Yourdon, Edward,

1944-Y74a Análise estruturada moderna / Eward Vourdon; tradução Dalton Conde de Alencar. - Rio de Janeiro: Campus, 1990. Tradução de: Modem structured analysis

(3)

Indice

ISBN 85-7001-615-8

1. Análise de sistemas. 2. Processamento de dados - Técnicas estruturadas. 1. Titulo 90.0087 CDD -001 64404

CDU -681.3.02

01020304 1615141312

Todos os esforços foram feitos para assegurar a precisão absoluta das informações

apresentada publicação. A editora responsável pela publicação original, a Editora Campus e o(s) autor(es) det se isentam de qualquer tipo de garantia (explícita ou não), incluindo, sem limitação, garantias im de comercialização e de adequação a determinadas

finalidades, com relação ao código-fonte elc técnicas descritos neste livro. A Editora CampuS e o(s) autor(es) não se responsabilizam por prol relacionados à funcionalidade do código-fonte para datas a partir de 01/01/2000.

PREFÁCIO

O que é valioso não é noto e o que é nova não é valioso. Henry Peter, Lord Brougham Tbe Edinburgh Review, 1802

Permitam-me fazer uma pergunta bastante óbvia: o mundo realmente precisa de outro livro sobre análise de sistemas? Esta pergunta pode parecer retórica mas houve muitas ocasiões - 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 têm 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, não por mim. No entanto, creio realmente que existe a necessidade de um livro que atualize parte do material clássico sobre análise 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 Technícs, não haviam linguagens de quarta geração, nem ferramentas de prototipação disponíveis para os desenvolvedores de sistemas. Os computadores pessoais ainda não tinham sido lançados, embora já

existissem algumas das primitivas máquinas da Apple e da Radio-Shack. Não havia produtos de software baseados em estações inteligentes que auxiliassem o analista de sistemas na elaboração dos diagramas de fluxo de dados.

Os progressos nessas áreas tiveram um grande impacto na aceitação geral da análise estruturada: muitos questionam se a análise estruturada é relevante em ambientes onde os usuários podem criar suas próprias aplicações em questão de horas ou dias, Só isso já é motivo para um novo livro sobre o tema da análise de sistemas: a bem mais poderosa tecnologia disponível para os analistas de sistemas e usuários alterou nosso enfoque e perspectivas.

(4)

Além disso, os desenvolvedores de sistemas tiveram de enfrentar problemas de sistemas de bancos de dados e de tempo real, em acréscimo aos sistemas “orientados por função” originalmente visados pela análise estruturada no final dos anos 70. Este livro discute os diagramas de entidades e de transições de estado, os clássicos diagramas de fluxo de dados e mostra como esses três modelos podem ser integrados; essa integração de

modelos se tornará mais e mais importante no decorrer dos próximos anos. Alguns outros recentes desenvolvimentos na análise estruturada - incluindo o particionamento

de eventos e a desenfatização da modelagem do sistema físico atual - estão incluídos neste livro.

Existe ainda outra razão para se escrever mais um livro sobre aná lise estruturada: a maioria dos livros “clássicos” sobre análise estruturada foi escrita para analistas de sistemas veteranos - sem preocupação com os mais novatos, que ainda estão se iniciando na área. Ademais, a maioria dos livros didáticos sobre análise de sistemas escritos, durante os últimos dez anos, deu pouca atenção às novas técnicas de análise estruturada e continuou a dedicar muitas páginas às discussões sobre cartões perfurados e sobre o código Hollerith; afora o fato de que muitos desses aspectos estejam obsoletos, o

conhecimento superficial do hardware, do software e da programação de computadores é, geralmente, ministrado por um curso de “Introdução aos Computadores”, que

habitualmente precede o aprofundamento no estudo da análise de sistemas. Este livro tenta obter o equilíbrio, reconhecendo a necessidade de algum material introdutório para os estudantes que tiveram um curso inicial sobre computadores mas nunca fizeram análise de sistemas, embora reconhecendo que os conceitos de análise de sistemas sejam simples o bastante para que possam ser ensinados detalhadamente nos níveis de segundo grau e universitário. Em face disso, a maior parte do material introdutório está reunido nos apêndices de modo que possam ser dispensados pelos que já têm prática do assunto. Este livro é adequado para cursos universitários de um semestre sobre análise 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 não abrange ambos os tópicos de análise 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 discussão 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 edição, de Meilir Page Jones (YOURDON Press, Englewood Cliffs, N.J., 1988), ou o livro Struc tured Design, 2 edição, de Ed Yourdon e Larry Constantine (YOURDON Press, Eng!ewood Cliffs, N.J., 1989).

Os analistas de sistemas veteranos podem ler o primeiro capítulo como orientação, e depois saltar o restante da parte 1; os primeiros sete capítulos são básicos para os novos estudantes. Os veteranos considerarão familiar boa parte da discussão sobre diagrama de fluxo de dados, dicionário de dados e coisas desse tipo; entretanto, o capítulo 9 apresenta extensões de DFD para sistemas de tempo-real que talvez sejam novos para aqueles que têm trabalhado exclusivamente em sistemas orientados para o comércio. O estudo sobre diagramas de entidades- relacionamentos pode ser novo, também, para os mais

familiarizados com os “diagramas de estruturas de dados”, e a discussão sobre os diagramas de transições de estado no capítulo 13 apresenta uma nova ferramenta

(5)

importante de modelagem. É de grande interesse para os veteranos, os capítulos 19 e 20 apresentam uma abordagem para a elaboração do modelo básico (também conhecido como modelo lógico), que contrasta totalmente com a rígida 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 capítulo 17 recomenda que seja eliminada a clássica abor dagem de se modelar o sistema físico atual” do usuário esse aspecto deve ser estudado atentamente pelos analistas de sistemas cujas técnicas estejam baseadas em livros dos anos 70.

Entre os apêndices há dois estudos de casos que mostram as diversas ferramentas e técnicas discutidas neste livro. O primeiro estudo de caso é uma típica aplicação “orientada para o comércio” baseada nas operações editoriais da YOURDON Press; o segundo é um exemplo típico de «sistema de tempo-real” baseado em um sistema de controle de elevadores. Ambos são apresentados detalhadamente, embora isso aumente o tamanho do livro: é importante que os estudantes vejam um exemplo completo de uma especificação. Esses modelos podem ser usados para discussões e exercícios em salas de aula.

Análise Estruturada Moderna é resultado de muitos anos de experiência com centenas de clientes de consultoria, milhares de estudantes em seminários e dezenas de colegas na YOURDON Inc. e outras organizações de consultoria; devo muito a essas pessoas, demasiadamente numerosas para que eu as possa citar pelos nomes. Contudo, há algumas pessoas que merecem especial atenção, por terem auxiliado a tornar este livro bem melhor do que poderia ter sido. Não se pode escrever um livro hoje em dia sobre análise 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 exposição da análise estruturada; de modo semelhante, Paul Ward e Steve Mellor

apresentaram vários conceitos e ferramentas de modelagem importantes para sistemas de tempo-real no conjunto de três volumes Structured Development for Real-Time Systems. Fui grandemente beneficiado no ano passado em debates com colegas com os quais ministrei seminários sobre análise 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 eloqüentes de explicar os conceitos de análise estruturada que eu, certamente, não 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 análise de sistemas; Capítulo 11 Especificações de Processos . 253 Capítulo 12 Diagramas de Entidades-Relacionamentos 289 Capítulo 13

Diagramas de Transições de Estado 319 Capítulo 14

(6)

O Equilíbrio dos Modelos 337 Capítulo 15

Ferramentas Adicionais de Modelagem 353 Capítulo 16

Ferramentas de Modelagem para Gerenciamento de Projetos 375 PARTE ifi O PROCESSO DE ANÁLISE Capítulo 17 O Modelo Básico 391 Capítulo 18 O Modelo Ambiental 409 Capítulo 19

A Construção do Modelo Comportamental Preliminar 439 Capítulo 20

Como Completa: o Modelo Comportamental 453 Capítulo 21

O Modelo de Implementação do Usuário .. 465 PARTE IV PROBLEMAS DE CONTINUIDADE Capítulo 22 A Fase de Projeto 507 Capítulo 23 Programação e Testes 527 Capítulo 24

A Manutenção das Especificações 553 Capítulo 25

O Futuro da Análise de Sistemas 563 APÊNDICES Apêndice A Ferramentas Automatizadas 579 Apêndice B Diretrizes da Avaliação 605 Apêndice C

(7)

O Cálculo de Custo/Beneficio 623 Apêndice D

Caminhamentos (Walkthroughs) e Inspeções 645 Apêndice E

Técnicas de Entrevistas e de Coleta de Dados 655 Apêndice F

Estudo de Caso: A Yourdon Press .... 671 Apêndice G

Estudo de Caso: O Sistema de Elevadores 787 ÍNDI 821

1

INTRODUÇÃO

Oprincipio e a finalização de todos os empreendimentos humanos são desorganizados, a construção de uma casa, a escrita de uma novela, a demolição de uma ponte e

principalmente, ofim de uma viagem. John Galsworthy

Over the River, 1933

Neste capítulo, aprenderemos:

1. Porque a análise de sistemas é interessante.

2. Porque a análise de sistemas é mais difícil do que a programação. 3. Porque é importante estar familiarizado com a análise de sistemas.

Muito bem, aqui estamos no início de um longo livro. A perspectiva de ler um livro técnico assim tão extenso provavelmente o assusta, mas pode servir de consolo o fato de ser ainda mais aterrorizante quando se começa 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 são feitos um capítulo de cada vez, e, em última análise, uma sentença de cada vez.

1.1 POR QUE A ANÁLISE DE SISTEMAS É INTERESSANTE?

Os livros longos geralmente são enfadonhos, este não o será. Ator tunadamente, o assunto deste livro - análise de sistemas - é

(8)

interessante. Na realidade, a análise de sistemas é mais interessante que tudo que conheço, excetuando, talvez, sexo e certos tipos de vinhos da Austrália. Ela é, sem dúvida, mais interessante que a programação de computadores (não que a programação seja enfadonha) por envolver o estudo das interações entre pessoas, entre gn diferentes de pessoas e entre computadores e organizações.

Como disse Tom DeMarco em seu último livro, StructuredAnal and Systems Speqflcation [ 1978],

a análise [ sistemas] é frustrante, repleta de relacionamentos entre pessoas, indefinida e difícil. Resumindo, é fascinante. Depois que você é fisgado, os velhos e fáceis prazeres da construção de sistemas nunca mais serão suficientes para satisfazê-lo.

Isto pode surpreendê-lo, no caso de você ter alguma experiência em escrever programas de computadores Programar é divertido, sendo ainda um desafio intelectual; é difícil imaginar algo mais recompensador e agradável do que ver um programa ser processado com sucesso, prin cipalmente depois de despender várias horas (ou dias!) expurgando-lhe os erros. É difícil imaginar que pode ser ainda mais recompensador e excitante quando nos afastamos do computador e da programação para estudarmos o sistema completo, do qual os programas participam. Po rém, 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 análise de sistemas.

Não importa a profissão que você decida seguir, será sempre im portante que você

compreenda o que é a análise de sistemas. Se você trabalha na indústria de computadores em algo diferente da engenharia elétrica 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 nível de gerência 1.2 A QUEM ESTE LWRO É DIRIGIDO

Este livro está sendo escrito para dois tipos de pessoas: uma é a novata na área da análise de sistemas, e a outra é o analista de sistemas experiente que precisa conhecer as

ferramentas e técnicas de modela gem de sistemas que evoluiram nos últimos cinco a dez anos. Muitos leitores serão estudantes universitários da ciência dos computadores que completaram os cursos iniciais de programação e alguns podem ser estu dantes de um programa de treinamento comercial.

Entretanto, o livro deve ser capaz de ser lido tanto por pessoas que terminaram seu treinamento universitário como pelas que já estejam 2

trabalhando na indústria. Muitas pessoas na indústria computacional passam seus

primeiros anos trabalhando como programadores e, depois, são subitamente promovidas (ou redesignadas) à posição de analistas de sistemas, sem serem instruídas sobre o que seja a análise de sistemas ou sobre o que faz um analista de sistemas. Se você estiver numa situação dessas, este livro é para você. Ele também ser-lhe-á útil no caso de você ter começado a trabalhar como analista de sistemas nos anos 60 ou 70 e nunca teve a oportunidade de aprender a respeito das técnicas da análise estruturada, como diagramas de fluxo de dados, diagramas de entidades- relacionamentos e dicionários de dados.

(9)

Com mais e mais freqüência hoje em dia, as pessoas estranhas ao computador estão descobrindo ser necessário se familiarizar com a área de análise de sistemas. Se você é um homem de negócios ou um gerente (ou é um dos profissionais descritos pelo pessoal da computação como usuários), existe uma boa possibilidade de que você se envolva em alguma atividade de análise 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, funcionário, cientista, político ou um contador - ou exerce virtualmente qualquer outra profis são 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 projetarão e especificarão 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ê não pretenda trabalhar com um colarinho branco

- isto é, mesmo que você aspire ser um artista, um escritor, um músico ou um atleta - você deve saber o que significa a análise de sistemas. As pessoas em todos os setores da vida são afetadas pelos sistemas de informações de todos os tipos. Ainda que você não pretenda construir um sistema nem mandar construir um, é inevitável que você os utilize em suas contas bancárias, na sua educação, em suas relações com a Pre vidência Social e em praticamente todos os aspectos de suas relações com a sociedade moderna. Como John Gall diz em Systemant [ 1977],

Ninguém, atualmente, pode evitar o contato com os sistemas. Os sistemas estão em toda parte: sistemas grandes, sistemas pequenos, sistemas mecânicos e eletrônicos, e os sistemas especiais compostos por associações organizadas de pessoas. Como auto-defesa, pre cisamos aprender a conviver com os sistemas, a controlá-los para que não nos

controlem. Como disse Humpty Dumpty a Alice (em bora em outro contexto): “A questão é: quem dominará - isso é tudo”.

3

Para enfatizar ainda mais este ponto, lembre-se de que a indústria da computação 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 têm um ou mais computadores envolvidos em sua produção, e quase todos os serviços oferecidos pelo mercado de negócios americano estão baseados ou controlados por um sistema de computação.

1.3 OQUE ESTE LWRO FARÁ POR vocÊ

Como você já deve ter percebido, um dos maiores objetivos deste livro é ensinar-lhe análise de sistemas: o que ela é e como se lida com ela. Mas não é só isso, O meu verdadeiro propósito é entusiasmá-lo, torná-lo tão interessado em começar a praticar análise de sistemas que você vai querer disparar pelas últimas páginas do livro e começar a trabalhar em seu primeiro projeto. Seymour Papert comenta em Mmd storms [ 1980], Agradam-me especialmente sistemas, como um mecanismo diferen cial, que não

obedecem a uma seqüência linear de causalidades, uma vez que o movimento do eixo de transmissão pode ser dis tribuído de várias maneiras diferentes para as duas rodas, depen dendo da resistência encontrada. Lembro, de forma vivida, minha excitação em descobrir

(10)

que um sistema pode estar sujeito a leis e ser inteiramente compreensível sem ser rigidamente determinístico.

E como Sir Arthur Stanley Eddington disse em [ 1987],

Descobrimos que onde a ciência progrediu mais, a mente recuperou da natureza o que já lhe havia dedicado.

Encontramos uma estranha pegada nas praias do desconhecido. Desenvolvemos profundas teorias, uma após a outra, para explicar sua origem. Por fim, obtivemos sucesso na reconstrução da criatura autora da pegada. E, surpresa! Ela era nossa. Outro propósito deste livro é fazê-lo compreender e considerar que vivemos em um mundo de sistemas - e de sistemas dentro de outros sistemas, que são 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” não é vital apenas para analistas

profissionais de sistemas, mas para todos os membros da sociedade moderna. 4

Infelizmente, este livro não pode transformá-lo em um experiente analista de sistemas, do mesmo modo que um livro sobre teoria musical não pode torná-lo um pianista experiente. No final do livro, você disporá de bons conhecimentos técnicos que o auxiliarão a

desenvolver modelos corretos de sistemas complexos, e você se tornará conhecedor das técni cas passo a passo para executar o esforço da análise de sistemas. Mas ainda será necessário um grande volume de trabalho no mundo real para conhecer as aptidões das pessoas: como entrevistar usuários de diversos tipos para compreender a verdadeira essência de um sistema; como apresentar os resultados do seu trabalho de análise 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 clássica obra, Software Engineering Econo mics [ 1981]:

Cada um de nós, como engenheiros individuais de software, tem uma oportunidade de fazer um significante impacto positivo na so ciedade, simplesmente por nos tornarmos mais sensíveis às impli cações das relações humanas de longo alcance de nosso trabalho, e por incorporarmos essa sensibilidade em nossos projetos e produtos de software. É necessária uma certa prática para fazer bem isso, e para aprender

a equilibrar os aspectos das relações humanas com os da pro gramação e com os aspectos econômicos. O ponto principal a ser

lembrado é conservar nossas prioridades firmes entre as conside rações da programação, orçamentárias e humanas.

1.4 A ORGANIZAÇÃO DESTE LIVRO

Este livro está organizado em quatro partes principais, seguidas por uma série de

apêndices. A parte 1 serve como apresentação para todo o livro; ela começa, no capítulo 2, com uma introdução sobre o conceito de sistemas e sobre a natureza da análise de sistemas; nesse capítulo, veremos que os sistemas de informação são normalmente compostos por pessoas, hardware, software (programas de computador), procedimen tos,

(11)

dados e informações. O capítulo 3 descreve as pessoas que costu mam estar envolvidas no desenvolvimento de um moderno sistema de informações - usuários, gerentes, pessoal das operações, membros do grupo de controle da qualidade, entre Outros - bem como o papel es pecial e as responsabilidades do analista de sistemas. O capítulo 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 transições de estado. O capítulo 5

apresenta os procediMentos (ou 5

metodologia) seguidos pelo analista de sistemas no desenvolvimento de um sistema. Mesmo que você ache que já conhece muitos desses assuntos, alguns capítulos da parte 1 devem ser udos, porque dão o tom para o restante do livro. O capítulo 2, por exemplo, apresenta e analisa os axio mas e princípios básicos que podemos encontrar em todo o trabalho da análise de sistemas: o desenvolvimento de modelos de sistemas, a noção de iteração, e a noção da subdivisão top-down. O capítulo 6 delineia os principais problemas que se apresentam aos analistas de sistemas atualmente: produtividade, qualidade dos sistemas, manutenibilidade e o uso estratégico das informações. Por fim, o capítulo 7 resume as prin cipais modificações ocorridas na área da análise dc sistemas nos últimos dez anos.

A parte II discute detalhadamente as ferramentas de modelagem de sistemas. Há capítulos sobre diagramas de fluxo de dados (capítulo 9), dicionários de dados (capítulo 10), especificações de processos (capítulo 11), diagramas de entidades-relacionamentos (capítulo 12) e diagramas de transições de estado (capítulo 13). Os capítulos 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 focalização scletiva em aspec tos isolados de um sistema cujas características sejam importantes. para serem compreendidas: as funções 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ê faça. Você descobrirá que essas ferramentas podem ser úteis para modelar (ou descrever) virtualmente qualquer tipo de sistema:

sistemas biológicos comerciais, ecossistemas, industriais, políticos, de fluxo de materiais etc. Vivemos em um mundo de sistemas, e boa parte de nossa vida é passada tentando entender e lidar com os inúmeros sistemas diferentes; as ferramentas de modelagem são extremamente úteis nesse aspecto.

A parte III refere-se ao processo da análise de sistemas - isto é, as etapas seguidas pelo analista de sistemas na construção de um modelo de sistema. Ali, também, as

informações que você receber serão úteis, independentemente da sua profissão; mas o conteúdo é definitivamente dirigido para a constmç de sistemas automatizados de informações. Veremos que o processo ou metodologia da construção de um sistema envolve o desenvolvimento de vários tipos diferentes de modelos, dos quais o último é o produto ou a saíc da análise de sistemas. Em muitas organizações comerciais, esse

(12)

produto é conhecido por nomes como 6

“especificação funcional”, ou “definição de requisitos do sistema” ou “projeto do sistema”. Qualquer que seja o nome adotado, ele se torna a entrada para o responsável pela construção real do sistema - isto é, pelo projeto da arquitetura geral do hardware e software e, em última análise, pela escrita e pelos testes dos programas do sistema. Isso conduz à parte IV: o que ocorre depois da análise de sistemas. Examinaremos a transição da análise de sistemas para o projeto de siste mas e discutiremos resumidamente os detalhes finais da programação e dos testes. Como a maioria dos sistemas

automatizados de informações tem um tempo de vida de alguns anos (e muitas vezes de algumas décadas), estudaremos também a manutenção no capítulo 24; porém nosso interesse não será a programação de manutenção, e, sim, a manu tenção do produto da análise de sistemas. O capítulo final trata do futu ro: as alterações evolutivas na área da análise de sistemas que esperamos presenciar nos anos 90 e no próximo século.

Os apêndices no final do livro abordam problemas que podem ou não afetar seu trabalho como analista de sistemas. O apêndice A, por exemplo, trata do problema de estações automatizadas de trabalho baseadas em PC para a análise de sistemas - ao qual poucos analistas de sistemas têm acesso no final dos anos 80, mas que se tornará progres sivamente comum nos anos 90. O apêndice B discute fórmulas de avalia ção e métricas utilizadas para calcular o tamanho, a duração e o custo de um projeto. O apêndice C mostra os aspectos econômicos dos cálculos de custo-beneficio. O apêndice D abrange o assunto dos caminhamentos (walkthroughs) e inspeções, que são utilizadas

freqüentemente na revi são dos produtos técnicos da análise de sistemas. O apêndice E discute as técnicas de entrevistas e de coleta de dados, principalmente as entre vistas do usuário com o analista de sistemas. Todos esses assuntos foram organizados em

apêndices de modo a que os analistas experientes pos sam saltá-los com facilidade e os principiantes possam recorrer a eles sempre que for necessário consultar tópicos que, com certeza, emergirão durante os projetos do mundo real.

Os apêndices 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 recém-apren didos princípios podem ser aplicados a situações do mundo real. Na realidade, você deve ler a introdução e o histórico de cada estudo de caso para se familiarizar com a natureza de cada aplicação. Cada capítulo tem algumas perguntas e exercícios para ajudá-lo a rever o que foi estu dado. Alguns exercícios são rotulados como “Projeto de Pesquisa”, o que significa que apresentam problemas não mencionados diretamente no capítulo mas que são relevantes no mundo real da análise de sistemas. Certas perguntas são dirigidas para discussão em sala de aula; não há

7

respostas certas ou erradas, embora haja respostas mais defensáveis que outras! Chega de introduções. Vamos dar a partida! Começaremos falando

(13)

REFERÊNCIAS

1. Tom DeMarco, Structured Analysis and Systems Speqfzcation. Englewood Cliffs, N.J.: Prentice-Hall, 1979, página 6.

2. John Gal!, Systemantícs. Nova lorque: Quadrangle/The New York Times Book Company, 1977, página 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, 1986

6. Sir Arthur Stanley Eddington, Space, Time and Gravitation: An Outline of tbe General Theo?y. Londres: Cambridge University

Press, 1987.

PERGUNTAS E EXERCÍCIOS

1. Explique como a análise de sistemas pode ser útil em seu trabalho ou profissão mesmo que você não pretenda se tornar um pro gramador ou analista de sistemas.

2. Projeto de Pesquisa: quantas pessoas, atualmente, estão emprega das como analistas de sistemas no Brasil? Qual é .0 salário médio

dessas pessoas? Qual é o nível médio de educação delas?

3. Projeto de Pesquisa: existe uma carência de programadores e analistas de sistemas no Brasil? Tente encontrar pesquisas que indiquem as necessidades desses profissionais para o país para os próximos dez anos.

4. Dê dez exemplos de sistemas com que você lida ou interage em seu dia a dia.

5. Você estudaria análise de sistemas no caso de ainda não o ter feito? Se a sua resposta for “não”, explique porque o assunto não será útil ou relevante. Encontre alguém que esteja estudando esse mesmo assunto e inicie um debate construtivo a respeito da utilidade geral da análise de sistemas.

6. Você considera ser importante para as pessoas fora da área da computação (pessoas que não trabalham na área da computa ção como profissão) estudarem análise de sistemas? Quão

8

respostas certas ou erradas, embora haja respostas mais defensáveis que outras! Chega de introduções. Vamos dar a partida! Começaremos falando

a respeito da natureza dos sistemas. REFERÊNCIAS

1. Tom DeMarco, Structured Analysis and Systems Spe Englewood Cliffs, N.J.: Prentice-Hall, 1979, página 6.

(14)

2. John GalI, Systemantics. Nova lorque: Quadrangle/The New York Times Book Company, 1977, página xiii.

3. Barry Boehm, Software Engineeríng 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, 1986

6. Sir Arthur Stanley Eddington, Space, Time and Gravitation An Outline of the General Theoty. Londres: Cambridge University

Press, 1987.

PERGUNTAS E EXERCÍCIOS

1. Explique como a análise de sistemas pode ser útil em seu trabalho ou profissão mesmo que você não pretenda se tornar um pro gramador ou analista de sistemas.

2. Projeto de Pesquisa: quantas pessoas, atualmente, estão emprega das como analistas de sistemas no Brasil? Qual é ,o salário médio

dessas pessoas? Qual é o nível médio de educação delas?

3. Projeto de Pesquisa: existe uma carência de programadores e analistas de sistemas no Brasil? Tente encontrar pesquisas que indiquem as necessidades desses profissionais para o país para os próximos dez anos.

4. Dê dez exemplos de sistemas com que você lida ou interage em seu dia a dia.

5. Você estudaria análise de sistemas no caso de ainda não o ter feito? Se a sua resposta for «não”, explique porque o assunto não será útil ou relevante. Encontre alguém que esteja estudando esse mesmo assunto e inicie um debate construtivo a respeito da utilidade geral da análise de sistemas.

6. Você considera ser importante para as pessoas fora da área da computação (pessoas que não trabalham na área da computa ção como profissão) estudarem análise de sistemas? Quão

8 1

conhecedoras do assunto você acha que elas seriam?

7. Por que a análise de sistemas parece ser mais interessante que a programação? Você concorda com este ponto de vista?

8. O que um analista de sistemas deve aprender além do conheci mento técnico de construir modelos de sistemas?

9. Por que as ferramentas de modelagem do tipo apresentado neste livro podem ser úteis no estudo de sistemas não-computacionais?

(15)

NOTAS

Se você tem menos de 30 anos de iiade, e difícil imaginar que nunca escreveu um programa de computador, pois quase todas as escolas e colégios agora ensinam alguma coisa a respeito de programação de computadores. Porém, é possível que você não tenha escrito um programa realmente complicado. Se você não levou pelo menos um mês trabalhando no mesmo programa - 16 horas por dia, sonhando com ele nas 8 horas restantes de sono intranqüilo, passando várias noites em claro, tentando eliminar aquele ‘último erro” do programa - então você ainda não escreveu realmente um programa complicado. E pode não ter a sensação de que existe algo divertido em programar (a propósito, todos na indústria lhe dirão que não se deve construir programas grandes e complexos - e que o objetivo do jogo é construir

programas simples e compreensíveis. Isto é verdade: mas imagine a energia mental e as noites insones gastas na criação e no desen volvimento de algo como o programa MacPaint da Macintosh, ou a primeira versão do Lotus 1-2-3).

2 Existem diversas outras carreiras que podem ser seguidas. Você pode se especializar na área de telecomunicações e projeto de

redes; ou pode concentrar-se no projeto de bancos de dados ou “administração de dados”. Embora a maior parte deste livro presuma que você se ocupe com sistemas aplicativos (folhas de pagamento, inventários, contabilidade ou aplicações de tempo-real, como orientação de mísseis, comutação telefônica e controle de processos), você pode ocupar-se também, com projetos de programação de sistemas - compiladores ou sistemas opera cionais, por exemplo. Tudo isso possivelmente representa seu segundo ou terceiro emprego na indústria da computação: você deve, provavelmente, começar como programador júnior (quando se espera que você saiba escrever programas relativamente

simples, ou fazer modifIcações em programas já existentes), depois passar a programador sênior, antes dc, finalmente, ascender à posição de analista de sistemas. Nessa posição, você deverá ter 9

maiores habilitações que um programador: além do conhecimcni do hardware e do software do computador, você deve ser capaz de se comunicar com pessoas leigas em computação e estar familia

(16)

rizado com as aplicações comerciais dessas pessoas.

3 Para maiores detalhes sobre esse assunto e para mais explicações sobre o impacto dos computadores na sociedade, veja Nations at

Risk EYourdon, 19861. 10

2

A NATUREZA DOS SISTEMAS

Finalmente colocaremos o próprio Sol no centro do Universo. Tudo isso é sugerido pela sequáncia sistemática de eventos e pela harmonia de todo o Universo, se encararmos os fatos, como se costuma dizer, ‘com os olhos abertos

Nicolau Copérnico

De Revolutionibus Orbium Coelestium, 1543 Neste capítulo, aprenderemos:

1. O que é definição de um sistema.

2. A diferença entre sistemas naturais e sistemas feitos pelo homem. 3. Os 19 principais subsistemas encontrados em todos os sistemas vivos.

4. As cinco principais razões por que alguns sistemas não devem ser automatizados. 5. Os cinco principais componentes de um sistema au tomatizado de informações típico. 6. A definição e as características de diversos tipos es pecíficos de sistemas.

7. A definição e três exemplos de princípios gerais de sistemas. Não podemos falar muito sobre análise de sistemas enquanto não

tivermos uma clara idéia do que seja um sistema; este é o propósito des te capítulo. Como veremos, existe uma definição “oficial” do termo no

11

dicionário, que parecerá bastante abstrata. Existem, porém, muitos usos comuns do termo que lhe parecerão 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 espécies 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 organização comercial geral (que constitui um sistema), que é, por sua vez, componente de um sistema

(17)

controle de processos que é parte de uma refinaria química, ou em um sistema operacional que seja parte de um “pacote” de software de sistemas distribuído 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 são substi tuições ou novas

implementaçôes de sistemas não-computadorizados que já existem; além disso, a maioria dos sistemas computadorizados interage ou tem uma interface com vários sistemas existentes (alguns podem ser computadorizados e outros não). 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 pareçam ser totalmente diferentes, eles têm muitas semelhanças; existem princípios 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 experiên cia diária, bem como na experiência de cientistas e engenheiros em diversas áreas - aos sistemas que elaboramos na área da computação. Por exemplo, um dos importantes princípios de sistemas que primeiro foi obser vado no campo da biologia é conhecido como a lei da especia lização; quanto mais adaptado for um organismo a um determinado ambiente, mais dificil será para esse organismo a adaptação a outro. Isso ajuda a explicar o desaparecimento dos dinossauros quando o clima da Terra modificou-se radicalmente ajuda, também, aos analistas de siste mas a compreenderem que modificou-se otimizarem um sistema computadori zado de forma a tirar a máxima vantagem dc uma determinada UCP, de uma linguagem de programação e de um sistema de gerenciamento de banco de dados, poderão vir a ter sérios problemas em adaptar o sistema para ser processado em outra UCP ou com um diferente sistema de gerenciamento de banco de dados 2

12

Dessa maneira, se conhecermos alguma coisa da teoria geral dos sistemas, ela pode nos ajudar a compreender melhor os sistemas compu tadorizados (automatizados) de

informações. Isso é cada dia mais impor tante, pois queremos construir sistemas estáveis e confiáveis, que funcionarão bem em nossa complexa sociedade - e há, naturalmente, muitos sistemas não-computadorizados que vêm sobrevivendo por mi lhões de anos: a humilde barata provavelmente sobreviverá a iodos os sistemas computadorizados já construídos ou a construir, e a toda a humanidade, também.

Assim, vamos começar com uma definição do termo básico siste ma. Todos os livros sobre algum aspecto de sistemas contêm essa defi nição; eu escolhi o Webster’s New Coilegiate Dictionary . Ele a várias definições:

1. um grupo de itens que interagem entre si ou que sejam inter dependentes, formando um todo unificado < - numérico>

como

a. (1) um grupo de corpos que interagem entre si sob a in fluência de forças relacionadas < - gravitacional >

(18)

termodinâmico >

b. (1) um grupo de órgãos do corpo que desempenham, em conjunto, uma ou mais funções vitais < o - digestivo>

(2) o corpo, considerado como uma unidade funcional.

c. um grupo de objetos ou forças naturais relacionados entre si <um - fluvial> d. um grupo de dispositivos ou uma organização em rede, principalmente para a distribuição de algum produto ou servindo a um propósito comum <um - telefônico > <um

- de aquecimento > < um - rodoviário > < um - de processamento de dados>

2. um conjunto organizado dc doutrinas, idéias ou princípios, habitualmente previsto para explicar a organização ou o fun cionamento de um conjunto sistemático < o - da

mecânica newtoniana >

3. a. um procedimento organizado ou estabelecido < o - de toques da digitação> 13

b. uma maneira de classificar, simbolizar ou esquematizar < um - taxonômico > < o - decimal>

4. organização harmoniosa ou modelo: ORDEM

5. sociedade organizada ou situação social vista como inde sejável: “ESTABLISHMENT”

2.1 TIPOS COMUNS DE SISTEMAS

Como se pode depreender da definição 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 biológicos e sistemas de computação? Claro que não! Entretanto, é conveniente organizar os diferentes tipos de sistemas cm categorias. Muitos agru pamentos diferentes são possíveis; na realidade, a definição do dicio nário no início deste capítulo apresenta uma classificação em categorias. Como nosso interesse principal são os sistemas de processamento, vamos começar por dividir todos os sistemas em duas categorias: siste mas naturais e sistemas feitos pelo homen

2.2 SISTEMAS NATURAIS

A maioria dos sistemas não é feita por pessoas. Eles são encontra dos na natureza e, de modo geral, servem a seus próprios propósitos. É conveniente dividir esses sistemas em duas suhcatcgorias básicas: siste mas fisicos e sistemas vivos. Os sistemas físicos incluem exemplos tão diferentes como:

• Sistemas estelares: galáxias, sistemas solares etc. • Sistemas geológicos: rios, cadeias de montanhas etc. • Sistemas moleculares: organizações complexas de átomos.

(19)

Os sistemas físicos são interessantes de serem estudados porque, como humanos intrometidos que somos, por vezes tentamos modificá los. Desenvolvemos, também, diversos sistemas, incluindo-se aí os siste mas em computadores, que devem interagir harmoniosamente com os

14

sistemas físicos; dessa forma é importante estarmos capacitados a mode lar esses sistemas para nos assegurarmos que os entendemos tão bem quanto possível.

Os sistemas vivos, naturalmente, abrangem as miríades de animais e plantas em volta de nós e também a espécie humana. E, como afirma James Miller em sua monumental obra, Living Systems [ 1978], essa categoria também inclui hierarquias de organismos vivos individuais, como ervas, rebanhos, tribos, grupos sociais, empresas e nações.

O estudo dos sistemas vivos já é uma carreira por si próprio; uma rápida leitura da obra de Miller permite que se perceba a extensão desse tema. O propósito deste livro não é o estudo dos sistemas vivos per se; não obstante, algumas das propriedades e características 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 eloqüentes exemplos de sistemas vivos empregados como analogias para sistemas comerciais e organizacionais estão 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 nível de célula, de órgão, de organismo, de grupo, de organização, de sociedade ou de sistemas inter nacionais, contêm, todos, os seguintes subsistemas:

• O reprodutor, que é capaz de dar origem a outros sistemas se melhantes ao que ele pertence. Em uma organização comercial, pode ser a divisão de planejamento, que faz novas plantas e constrói novos escritórios regionais.

• O delímitador que mantém coesos os componentes do sistema, que os protege dos problemas ambientais e que impede ou permite a entrada de vários tipos de matéria-energia e infor mações. Em uma organização comercial, poderia consistir nas instalações físicas (prédio do escritório, fábrica etc.) e dos guar das e outros elementos da segurança que impedem intrusões não desejadas.

• O ingestor, que introduz matéria-energia através dos limites do sistema a partir do seu ambiente. Em uma organização comer cial, pode ser representado pelo departamento de recebimentos ou de compras, que traz produtos in natura, material de escritório e coisas afins. Pode ser constituído também pelo de partamento de entrada de pedidos, que recebe pedidos verbais e escritos para os produtos e serviços da empresa.

15

• O distribuidor, que transporta entradas de fora do sistema ou saídas dos subsistemas em torno do sistema para cada compo nente. Em uma organização comercial, podem ser as linhas telefônicas, o correio eletrônico, os mensageiros, correias trans- portadoras e vários outros mecanismos.

(20)

os processos desse sistema em particular. Pode-se imaginar muitos exemplos disso em uma organi7ação comercial típica.

• O produtor, que forma associações estáveis que garantem, du rante significativos períodos entre entradas de matéria-energia no sistema ou entre as saídas do conversor, o material sinteti zado para crescimento, reparo dos danos ou substituição dos componentes do sistema, ou destinado ao fornecimento de energia para movimentar ou compor as saídas de produtos ou informações de mercado para seu sistema de nível superior.

• O subsistema de ar de matéria-enei que con serva no sistema, por diferentes períodos de tempo, depósitos

de vários tipos de matéria-energia.

• O extravasor, que envia matéria-energia para fora do sistema sob a forma de produtos ou resíduos.

• O moaor, que move o sistema ou setores dele em relação a uma parte do ambiente ou todo ele ou move componentes relativa mente um ao outro.

• O suportador, que mantém 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 ferências físicas.

• O tran.sdutor de entrada, que traz marcadores com informações para o sistema, modificando-os para outras formas de

matéria-energia adequadas para transmissão em seu interior.

• O transdutor Interno, que recebe, de outros subsistemas ou componentes do sistema, marcadores com informações sobre al terações importantes nesses subsistemas ou componentes, modificando-os para outras formas de matéria-energia que pos sam ser transmitidas em seu interior.

16

• O canal e a rede, que se compõem de uma única via no espaço físico, ou de múltiplas vias interligadas, pelas quais os marca dores com informações são transmitidos para todas as partes do sistema.

• O decod que modifica o código da entrada de informa ções para ele, por intermédio do transdutor de entrada ou do transdutor interno, em um código privativo que pode ser utili zado internamente pelo sistema.

• O associador, que executa o primeiro estágio do processo de aprendizado, formando associações duráveis entre os itens de

informação do sistema.

• A memória, que executa o segundo estágio do processo de aprendizado, armazenando diversos tipos de informações no

sistema por diferentes períodos de tempo.

• O decididor, que recebe entradas de informações de todos os outros subsistemas e lhes transmite saídas de informações que

(21)

controlam todo o sistema.

• O cod que modifica o código das entradas de informa ções para ele a partir de outros subsistemas de processamento de informações, de um código privativo de utilização interna do sistema para um código que possa ser interpretado por outros sistemas do ambiente.

• O transdutor de saída, que extrai do sistema marcadores com informações, modificando esses marcadores dentro do sistema em outras formas de matéria-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 comunicações de um moderno vapor; as figu ras 2.2 (a) e 2.2 (b) apresentam os principais subsistemas do próprio navio e as figuras 2.3 (a) e 2.3 (b) mostram os

principais subsistemas de toda a Holanda. Esses modelos são válidos 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 coração humano. Em alguns casos, os sistemas automatizados estio sendo projetados para substituir

17

sistemas vivOs; e em outros casos, os pesquisadores consideram os sistemas viventes (conhecidos como computadores orgânicos) 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 são, muitas vezes, parte de um metassistema maior e quanto mais soubermos acerca deles melhores analistas de sistemas seremos.

2.3 SISTEMAS FEITOS PELO HOMEM

Como vimos pela definição no início deste capítulo, alguns siste mas são construídos, organizados e mantidos por seres humanos. Entre

eles podemos considerar:

• Sistemas sociais: organizações de leis, doutrinas, costumes etc.

• Uma coleção organizada e disciplinada de idéias: o sistema deci mal Dewey para a organização de livros em bibliotecas, o sis tema Weight-Watcher para perda dc peso etc. • Os sistemas de transporte: redes rodoviárias, canais, linhas aéreas, petroleiros, e semelhantes.

• Sistemas de comunicações: telefone, telex, sinais de fumaça, si nais manuais utilizados pelos comerciantes atacadistas etc.

• Sistemas de manufatura: fábricas, linhas de montagem etc.

• Sistemas financeiros: contabilidade, inventários, livros-razão, controle de estoques, entre outros.

(22)

poderiam sobreviver sem os computadores. Contudo, também é importante ressaltar que esses sistemas já existiam antes que surgissem os computadores; alguns deles, na

realidade, não estão ainda totalmente computadorizados e podem permanecer assim por muitas décadas mais. Outros contêm um computador como componente, mas contêm também um ou mais componentes não-computadorizados (ou manuais).

Considere, por exemplo, a frase “João possui um sistema que faz esse serviço” ou “Maria certamente tem um modo sistemático de fa zer seu trabalho”. Tais frases não implicam necessariamente em que Maria tenha computadorizado seu trabalho ou que João tenha utilizado

18

algumas das ferramentas formais de modelagem discutidas nos capítulos 9 e 10 para documentar (ou modelar) a maneira como ele pretende executar sua tarefa. Essas frases, no entanto, certamente implicam em que João e Maria dividiram o serviço em uma série de etapas separadas, cuja combinação cumpre algum propósito geral.

A questão de se um sistema feito pelo homem deve ou não ser computadorizado será discutida através de todo este livro; l não é algo que deva ser tomado por certo. Como analista de sistemas, você naturalmente pressupõe que todo sistema com que você tiver contato deverá ser computadorizado; e o cliente ou usuário (o dono do sistema em questão) com quem você interagir imaginará geralmente que você tenha tal intenção. Como veremos nos próximos capítulos, sua principal tarefa como analista de sistemas será analisar ou estudar o sistema para determinar-lhe a essência: seu comportamento exigido independente mente da tecnologia utilizada em sua implementação ‘. Na maioria dos casos, só estaremos em situação de decidir se faz sentido usar um com putador para executar as funções do sistema depois de modelarmos seu comportamento básico.

Por que alguns sistemas de informação não devem ser automati zados? Pode haver muitas razões, mas aqui estão algumas das mais

comuns:

• Custo pode ser mais barato continuar executando as funções do sistema e armazenando as informações manualmente. Nem sempre é verdade que os computadores sejam mais rápidos e mais baratos do que o modo “antigo”.

• Conforto - um sistema automatizado pode ocupar espaço em demasia, fazer excessivo ruído, gerar muito calor ou consumir eletricidade demais ou, em termos gerais, a presença de um deles pode ser uma dor de cabeça. Isso está se tornando menos verdadeiro com a penetrante influência dos microprocessadores mas ainda é um fator a considerar.

• Segurança - se o sistema de informações mantém dados im portantes e confidenciais, o usuário pode achar que um sistema automatizado não seja suficientemente seguro, podendo preferir manter a capacidade de conservar as informações fisicamente protegidas debaixo de chave.

• Manutenibilidade - o usuário pode argumentar que um sis tema computadorizado de informações poderia ser econômi co, só que não há ninguém na organização que possa manter o hardware e/ou o software do computador, de forma que

(23)

ninguém estaria capacitado a reparar o sistema no caso de um defeito e não haveria quem pudesse efetuar modificações e melhoramentos.

• PolUica - a comunidade de usuários pode achar que os com putadores são uma ameaça a seus empregos ou que tornam seu trabalho tedioso e «mecânico”, ou podem ter uma dúzia de outras razões que o analista de sistemas pode considerar como irracionais. Mas como o sistema pertence aos usuários, a opinião deles está acima de tudo. Se eles não desejarem um sistema automatizado, farão o que for possível para que o sistema fra casse caso ele lhes seja imposto.

2.4 SISTEMAS AUTOMATIZADOS

A maior parte deste livro é dedicada aos sistemas automatizados, isto é, sistemas feitos pelo homem, que interagem com ou são 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 estão computadorizados. Como resultado, podemos distinguir muitos tipos diferentes de sistemas automatizados.

Embora haja muitos tipos diferentes de sistemas automatizados, todos têm componentes comuns:

• Hardware de computadores - UCP, terminais, impressoras, uni dades de fitas magnéticas etc.

• Software de computadores - programas de sistemas, como sis temas operacionais, sistemas de bancos de dados e programas de controle de telecomunicacões, além dos programas aplicati vos que executam as funções desejadas pelo usuário.

• Pessoas - aquelas que operam o sistema, que fornecem as en tradas e utilizam as saídas, e as que desempenham atividades de

processamento manual em um sistema.

• Dados - as informações que o sistema conserva por um período de tempo. • Procedimentos - determinações e instruções formais para a operação do sistema. 20

Subsistemas que processam matéria-energia e informações: Delimitador (Dl), parede da estação-rádio (objeto).

Subsistemas que processam matéria-energia: Ingestor (IN), garçonete que leva alimentos da cozinha para a estação-rádio; Distribuidor (DI), garçom que entrega alimentos aos membros da equipe de comunicações; Conversor (CO), garçom que corta pão, carne e queijo para sanduíches; Produtor (PIO, garçom que prepara sanduíches e café;

Armazenamento de Matéria-Energia (AM), garçom que armazena diversos tipos de material, inclusive comida no refrigerador, casacos e chapéus dos membros da equipe no armário, cobertores e travesseiros também no armário e ferramentas e equipamentos na cômoda; Extravasor (EX), garçom que retira pratos sujos, papéis usados e outros materiais inúteis da estação-rádio; Suportador (SU), chão, paredes, teto e mobília da

(24)

estação-rádio (objetos).

Subsistemas que processam informações: Transdutor de Entrada (te), rádio- operador que recebe mensagens pelo rádio; Transdutor Interno (ti), tripulante de serviço no dia, que apresenta relatórios ao encarregado das comunicações a respeito da eficiência e do moral dos membros da equipe durante seu serviço; Canal e Rede (cr), todos os membros do grupo que se intercomunicam ver balmente através do ar da estação-rádio; Decodificador (dc), rádio-operador que transcreve em linguagem legível as mensagens recebidas em código morse; Memória (me), secretário que conserva o registro de todas as mensagens re cebidas e transmitidas; Decididor (de), oficial encarregado das comunicações, que chefia a equipe de comunicações; Codificador (cO, rádio-operador que codifica mensagens claras em código morse; Transdutor Externo (tx), rádio- operador que transmite mensagens pelo rádio.

Figura 2.1(a): Subsistemas da equipe de comunicações de um namo.

Uma maneira de classificar os sistemas automatizados é feita pela aplicação: sistemas industriais, sistemas de contabilidade, sistemas de defesa militar etc. Entretanto, isso não será muito útil já que as técnicas que discutiremos neste livro para analisar, modelar, projetar e implemen tar sistemas automatizados são geralmente as mesmas, qualquer que seja a aplicação .

21 7 i

F1gu 2.1 (b): Subsig de

uma equijie de comunicaçj de um natio 4 00 f 0 to 1 0 22

Subsistemas que processam matéria-energia e informações: Reprodutor (Re), que

representa a organização proprietária; Delimitador (Di), o casco do navio e o pessoal que o guarda e trata de sua manutenção.

Subsistemas que processam matéria-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, garçons e carrega dores que por eles

transportam alimentos, bebidas, bagagens e vários outros tipos de matéria-energia, bem como os passageiros que se movimentam por eles pelo navio; Conversor (CO), pessoal da

(25)

cozinha, que prepara vegetais e outros ai imentos para cozimento; Produtor (PR), cozinheiros que preparam as refeições e padeiros que fazem pão na cozinha do navio; Armazenamento de Matéria- Energia (AM), porões e tanques de combustível do navio e o pessoal responsável por eles; Extravasor (EX), chaminé para eliminação de resíduos gasosos, disposi tivos de descarga de lixo e esgoto para resíduos líquidos e sólidos e o pessoal en carregado de verificar se esses resíduos estão sendo adequadamente

eliminados; Motor (MO), máquinas, eixo propulsor, hélices e todo o casco do navio, que transportam passageiros, tripulação e carga pelo mar, bem como os maquinistas

responsáveis pela movimentação do navio; Suportador (SU), casco, bordos, anteparas (paredes) e conveses do navio e o pessoal encarregado da manutenção desses elementos. Subsistemas que processam informações: Transdutor de Entrada (te), rádio- operador e outros membros da equipe de comunicações que recebem men sagens para o navio; Transdutor Interno (ti), oficial que informa ao oficial mais graduado do serviço sobre o estado de diversos componentes do navio; Canal e Rede (cr), o ar entre os oficiais de serviço no passadiço do navio, pelo qual eles transmitem e recebem mensagens; Decodificador (dc), rádio-operador, da equipe de comunicações, que decodifica

mensagens em código Morse para linguagem clara, depois de serem recebidas; Memória (me), livros de registro de viagens anteriores, cartas náuticas e o pessoal que as consulta no compartimento de cartas; Decididor (de), o Comandante e outros oficiais do navio; Codificador (cO, rádio-operador, da equipe de comunicações, que codifica mensagens em lin guagem clara para o código morse para poder transmiti-las; Transdutor de Saída (is), rádio-operador e outros membros da equipe de comunicações que trans mitem as mensagens do navio.

Figura 2.2 (a): Princ subsistemas de um namo 23

o i

Figura 2.2 (b): Principa&s subszstemas de um namo 24

Figura 2.3 (a): Principais .suhsiç te mas da holanda 25

‘4 ..

Subsistemas que processam tanto matéria-energia como informações: Delimita dor , organizações de defesa, guarda ou policiamento das fronteizas nacionais. Subsistemas que processam matéria-energia: Ingestor organizações, como empresas de transportes aéreos, ferroviários ou rodoviários ou empresas de transpor tes marítimos, que importam diversas formas de matéria-energia para o pais; Distribuidor

organizações nacionais que transportam formas diversas de matéria-energia por água, estradas, ferrovias ou pelo ar; Conversor r ii organizações que con vertem formas brutas de matéria-energia em outras formas utiizáveis pela sociedade;

(26)

Produtor , organizações industriais que fabricam produtos para a sociedade

ou para exportação; Armazenamento de Matéria-Energia organizações como depósitos, reservatórios e instalações de energia elétrica que armazenam diferentes formas

de matéria-energia; Extravasor organizações que exportam produtos da Ho

landa para outros países, ou despejam resíduos no mar, e setores que deportam pessoas in desejáveis; Motor , unidades do ramo de transportes ou construções, forças armadas ou agências espaciais; Suportador , edifícios públicos e a terra.

Subsistemas que processam informações: Transdutor de Entrada ( organiza ções que recebem sinais telegráficos, por cabos, telefônicos ou de radar, ou notícias pro venientes do exterior da Holanda; Transdutor Interno (4) , legislatura representa tiva, membros de partidos ou organizações de consulta da opinião pública que recebem comunicaçôes e relatórios de todos os pontos da Holanda; Canal e rede recur sos nacionais de

comunicações; Decodificador , setor de assuntos estrangei ros que decodifica mensagens secretas recebidas das embaixadas da Holanda em todo o

(Continua) 26

mundo; Associador instituições de ensino da língua holandesa; Me mória ( , biblioteca; Decididor , Rainha e o governo em Haia;

Codificador , secretário de imprensa do governo ou redatores de discursos; Transdutor de Saida pessoa que fala oficialmente pela Holanda.

Figura 2.3 (b): Principais subsistemas da Holanda

Vemos abaixo, uma divisão mais prática dos sistemas automati zados: • Sistemas on-line

• Sistemas de tempo-real • Sistemas de apoio à decisão

• Sistemas baseados no conhecimento

A seguir, vamos examinar cada um desses tipos de sistemas. 2.4.1 Sistemas On-Line

Em um livro anterior (EYourdon, 19721), define sistemas on-line do seguinte modo:

Sistemas on-line são os que recebem entradas diretamente do local onde ele foi criado. São também os sistemas em que as saídas, ou os resultados do processamento, são dirigidas diretamente para onde sejam necessárias.

Isso habitualmente signifIca que a arquitetura de hardware de um sistema de processamento é semelhante à da figura 2.4.

(27)

no sistema de processamento e dele recebi dos remotamente. Isto é, os usuários do sistema de processamento inte

-ragem com o computador através de terminais 6 que podem estar 27

localizados a centenas de milhas de distância de outros terminais e do próprio computador.

Outra característica de um sistema on-line é que os dados armaze nados, isto é, os arquivos ou bancos de dados, são habitualmente organi zados de forma tal que os dados individuais (como um registro de reser va de passagem aérea 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 décadas de 60 e 70. Nos sistemas de processamento em lotes, as informações são normalmente

recuperadas na modalidade se qüencial, 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 diferença entre um Sistema on-line e um sistema batch é análoga à diferença entre a procura de uma música em um gravador de fita e em um toca-disco; o primeiro envolve o acesso seqüencial por todas as trilhas, enquanto o outro permite o acesso “alea tório” a qualquer das trilhas sem que seja necessário ouvir as demais.

Como um sistema on-line interage diretamente com pessoas (isto é, usuários humanos em terminais), é importante que o analista de sistemas planeje cuidadosamente a interface homem-máquina . Isso quer dizer que o analista deve ter um meio de modelar todas as mensagens possí veis que o usuário poderá digitar no terminal e todas as respostas que o sistema pode dar - e todas as respostas que o usuário pode dar às consultas do

computador, e assim por diante. Isso geralmente é feito mediante a identificação de todos os estados em que o computador e o usuário podem se encontrar e pela identificação de todas as modifica ções de estado. Um exemplo de um estado em que poderia se encontrar o computador de um sistema de caixa automático de um b poderia ser: «O usuário introduziu o cartão de crédito e se identificou, mas ainda não 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

mudança de estado poderia ser: «Ele tentou introduzir a senha três vezes sem sucesso e agora vou soar o alarme». Esses estados e modificações de estado são normalmente modelados nos diagramas de transições de estado, que discutiremos detalhadamente no capítulo 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 tão eficientes quanto possível. Na realidade, é muitas vezes verdade que os cálculos executados por um sistema on-line sejam relativamente triviais, enquanto que os dados (principalmente a estrutura e a organização dos dados manudos pelo sistema on-line) são bastante

(28)

As informações são comutadas a partir do ponto de origem Figura 2.4: Um sistema on-line

complexos. Por causa disso, as ferramentas de modelagem de dados discutidas no capítulo 12 são de grande importância para o analista e para o projetista de sistemas. A decisão de se construir um sistema on-line ou não é, no contexto deste livro, uma decisão de implementação e não algo que deva ser de terminado pelo analista de sistemas mas sim pelos implementadores do sistema. Contudo, como essa decisão tem evidente impacto sobre o usuário (a presença ou ausência de terminais de vídeo etc.), trata-se de uma decisão de implementação da qual os usuários geralmente querem participar. Na verdade ela faz parte do modelo de implementação do usuário, que veremos no capítulo 21.

2.4.2 Sistemas de Tempo-Real

Os sistemas de tempo-real são por muitos considerados como va riações dos sistemas on-line; na realidade, muitas pessoas usam esses termos indiferentemente. Entretanto, é importante fazer distinção entre eles. Usaremos a definição encontrada em IMartin, 19671:

Os dados são organizados de modo a que possam ser recuperados rapidamente A saída é transmitida para onde for necessário

29

Um sistema de processamento em tempo-real pode ser definido como aquele que controla um ambiente pelo recebimento de dados, seu processamento e apresentação dos

resultados com rapidez sufi ciente para afetar o ambiente naquele momento.

A expressão, “rapidez suficiente” está, naturalmente, sujeita a muitas interpretações. Evidentemente existem muitos sistemas on-line:

sistemas bancários, sistemas de reserva de passagens aéreas, 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 é

característico dos seguintes tipos de sistemas:

• Sistemas de controle de processos - sistemas de processamento usados para monitorar e controlar refinarias de pciróleo, proces sos da indústria química, operações de moagem e operações mecânicas servem como exemplos.

• Sistemas de caixa automático - os “caixas eletrônicos” que muitos de nós usamos para pequenos depósitos e retiradas em

um banco são exemplos.

• Sistemas de obtenção de dados de alia velocidade - são exem plos os sistemas de processamento que recebem dados de te lemetria de alta velocidade de satélites em órbita, ou computa dores que recebem maciças quantidades de dados de ex periências

laboratoriais.

Referências

Documentos relacionados