A Teoria Geral dos Sistemas (TGS) foi concebida em 1937 por Ludwig von
Bertalanfy (2008). Ele era um biólogo que procurava entender o comportamento dos animais em suas sociedades e quais as regras os regiam para que
mantivessem suas características como grupo. Bertalanfy, considerado o fundador da TGS, após divulgar seus estudos ao longo dos anos de 1945 a 1956,
finalmente escreveu seu livro, intitulado: General System Theory, em 1968.
Martinelli e Ventura (2006) perceberam que a ciência moderna estava cada
vez mais fragmentada em múltiplos compartimentos e especializações oriundas do próprio desenvolvimento científico e de sua crescente complexidade.
Perceberam, também, por outro lado, que havia certa semelhança entre os
princípios de diversas ciências, sendo assim possível haver um elo entre esses
conhecimentos espalhados nas mais diversas áreas de conhecimento.
Outro autor importante nos estudos da TGS foi Kenneth Boulding. Economista e estudioso dos sistemas, Kenneth escreveu um artigo que descrevia
a natureza geral da teoria dos sistemas, seu objetivo e importância para o
estudo dos fenômenos (MARTINELLI; VENTURA, 2006, p. 9)
Até os dias atuais a TGS é estudada por diversos profissionais como administradores, economistas, biólogos, engenheiros e analistas de sistemas. Apesar dessa
teoria ter sido proposta, para alcançar todos os sistemas existentes (sistemas
humanos, físicos, cósmicos, computacionais, organizacionais, etc.), a área de
conhecimento que mais tem explorado os conceitos da TGS é a Computação.
Conceitos de sistema
O conceito de sistema evoluiu desde que foi proposto na TGS. Vários autores
contribuíram para que o entendimento do que é um sistema pudesse ficar claro para todos. Um dos conceitos que possui grande aceitação e aplicação para
a nossa área de Computação é definido por Peter Schoderbek (SCHODERBEK
et al., 1990 apud MARTINELLI; VENTURA, 2006, p. 6), segundo o qual:
a) os objetos são os elementos que compõem o sistema; os relacionamentos são as fronteiras que ligam os objetos;
b) os atributos são as características tanto dos objetos como dos relacionamentos; o ambiente é o que está fora do sistema, ou seja, não participa
do sistema, porém, ele está inserido nesse espaço delimitado ou não.
É o conjunto de objetos, com
relações entre os objetos e os
atributos relacionados com cada
um deles e com o ambiente, de
maneira a formar um todo”.
(MARTINELLI; VENTURA, 2006,
p. 6).
A Figura 1.1 mostra graficamente o conceito apresentado.
Abordagem sistêmica e abordagem analítica
Um sistema pode ser abordado de duas formas clássicas: analítica ou sistemicamente. Ambas as abordagens são muito usuais dependendo do que se
quer ao estudar um determinado sistema.
Antes de aprendermos o que são essas abordagens, é importante entendermos a definição da complexidade de um sistema.
Dessa forma, podemos entender que um sistema complexo é aquele que
possui vários elementos com vários atributos e interações entre eles. Podemos concluir ainda que quanto maior o número de elementos de um sistema, maior será sua complexidade.
Não podemos confundir “complexidade” de um sistema com “dificuldade”
de se entender ou de se explicar um sistema. A complexidade está associada
com a quantidade de partes e suas relações, e não com o desconhecimento
ou o não entendimento de como essas partes são compostas, ou como elas
interagem entre si.
Agora que já sabemos o que são sistemas complexos, podemos estudar o
que são as abordagens sistêmicas e analíticas.
A abordagem sistêmica é aquela na qual se “olha” para o sistema de uma
forma geral e abrangente. Nela não se observam partes ou as relações entre
algumas partes específicas. Tanto o “olhar” quanto a descrição de sistemas de
uma forma sistêmica se dão pela de visão de todo. Procura-se identificar as
bordas do sistema e o que está dentro e fora dessa borda (limite do sistema).
A abordagem analítica, por sua vez, preocupa-se com o detalhamento das
partes que compõem um sistema. Nessa abordagem o “olhar” se volta para
cada parte e cada relacionamento presentes no interior do sistema. As partes
e seus relacionamentos ficam expostos ao observador que consegue defini-los
e estudá-los durante o processo de análise do sistema.
Tanto a abordagem sistêmica quanto a analítica são importantes no processo
de estudo ou de análise de um sistema. Normalmente, num primeiro contato
com um sistema (fase de conhecimento), adota-se a abordagem sistêmica
para que se tenha um conhecimento claro do que é o sistema e quais suas
relações com o ambiente no qual ele está inserido. Nos contatos seguintes,
adota-se uma abordagem mais analítica para que se conheçam com facilidade todas as partes que tem o sistema e como essas partes interagem entre si.
O Quadro 1.1 apresenta uma comparação entre as duas formas de abordagens.
1.1.3 Considerações básicas sobre sistemas
A abordagem sistêmica, estudada na seção anterior, nos leva a considerar
que é importante conhecermos algumas características dos sistemas. Essas
características nos ajudam a compreender melhor o tipo de sistema que estamos estudando. No caso da Análise e Projeto de Sistemas, precisamos conhecer bem cada sistema no qual trabalhamos para que fique fácil criarmos
soluções computacionais para eles. Muitas vezes os problemas informados
por nossos usuários ficam mais bem entendidos pelos programadores quando conseguimos identificar essas características:
a) o objetivo central do sistema e as respectivas medidas de rendimento;
b) o ambiente do sistema;
c) os recursos do sistema;
d) a administração do sistema.
Os objetivos significam aquilo que deve ser alcançado pelo sistema, ou seja,
o motivo pelo qual um sistema existe e as medidas de rendimento indicam
o quanto ele está (ou não) alcançando seus objetivos. Esse rendimento pode
ser medido de várias maneiras, por exemplo, em um sistema de controle de
estoque que tenha como objetivo principal não deixar faltar produtos em um
almoxarifado, a quantidade de produtos que não ficaram faltando nas prateleiras pode ser considerada uma medida de rendimento. Em outras palavras,
se faltar produtos nas prateleiras por erro nos relatórios do sistema, pode-se
concluir que o programa não atendeu a seu objetivo, que era garantir sempre a disponibilidade de produtos.
O ambiente do sistema está associado com aquilo que está ao redor dele,
ou seja, com todos os outros sistemas ou “coisas” que se encontram externamente próximos dele.
Os objetivos precisam de recursos que sejam executados. No caso da Informática, os principais recursos que garantem o alcance dos objetivos são
aqueles associados com a Computação, por exemplo: recursos de hardware
(processador, memória, clock, etc.), recursos de software (sistema operacional, banco de dados, compiladores, etc.), recursos humanos (analistas,
programadores, técnicos, etc.), entre outros que podem ser associados aos
sistemas de informação.
A característica administração do sistema preocupa-se com as funções de
planejamento e de controle associadas ao sistema. Sem um correto planejamento que contemple todas as etapas de desenvolvimento de um sistema
não é possível um trabalho de programação de soluções que atendam os
nossos usuários. É importante, também, que os administradores acompanhem o trabalho com os sistemas dando retorno aos interessados sobre todos os passos executados e aqueles que ainda não foram completados para
a finalização do trabalho.
Resumo
Chegamos ao final de nossa primeira aula e vimos que quanto mais conhecemos as características dos sistemas, mais fácil será prepararmos uma solução
computacional que o crie ou o preserve. A TGS também é utilizada por outras
áreas de conhecimento, mas cada vez mais a área de Informática tem sido
beneficiada com os conceitos propostos por Ludwig Von Bertalanfy. Quando
conhecemos bem esses conceitos antes de começarmos a projetar nossos
sistemas e, consequentemente, aplicar esses conceitos, garantimos o sucesso
de nossos programas, pois eles serão regidos pelos mesmos conceitos. Além
das questões ligadas à Informática, a TGS também nos ajuda nas questões
sociais ligadas aos nossos sistemas, ou seja, podemos usar os mesmos conceitos para os grupos de usuários que trabalham ligados ao nosso software.