Análise de Sistemas e Projetos: uma abordagem

Propaganda
Análise de Sistemas e Projetos: uma abordagem aos
pontos chave.
AUTOR:
Resumo
Análise de sistemas e projetos consiste no estudo de processos, levantamento de
necessidades e informações para encontrar a melhor forma de resolução de
problemas. Designado a cumprir esta função o analista de sistemas a partir dos
conceitos adquiridos durante a análise efetuada, fornecera as melhores possibilidades
no desenvolvimento do sistema. De acordo com as competências necessárias a um
analista para que este desempenhe um bom trabalho, explanaremos um pouco os
pontos considerados mais importantes na analise de sistemas, passando pelas formas
de colher informações necessárias ao desenvolvimento do sistema, verificando o
porquê de muitos sistemas entregues não serem o que o cliente desejava, e chegando
a estruturação e documentação do sistema.
Como principais métodos abordados estão as três principais formas de normalização,
está também o diagrama de fluxo de dados onde será exibido os relacionamentos
funcionais de um sistema, incluindo valores de entrada e de saída e depósitos internos
de dados, ele nos mostrará o fluxo dos valores de dados desde suas origens, através
dos processos que os transformam até seus destinos, também será apresentado o
dicionário de dados onde será realizada a documentação de um sistema e permite
fazer a verificação de consistência do projeto.
Palavras-chave:
análise de sistemas, projetos de sistemas, metodologia de
desenvolvimento de sistemas, fluxo de dados.
Analise de sistemas e projetos consiste no estudo de processos, a fim de realizar o
levantamento das necessidades, de como funciona, e do ambiente organizacional,
para desta forma descrever os processos de resolução de problemas, a fim de
encontrar o melhor caminho para que a informação possa ser processada. Os
métodos e técnicas de investigação levarão a elaboração e desenvolvimento de um
conjunto de programas integrados (sistema), designado a suprir as necessidades da
organização. É função do analista de sistemas conduzirem o processo de obtenção de
informações, estudar os processos da organização e definir a partir dos conceitos
adquiridos as melhores possibilidades no desenvolvimento do Sistema.
Segundo Gane; Sarson (2009):
Análise de sistemas é, sob vários aspectos, a parte mais difícil do
desenvolvimento de um sistema de processamento de dados. Não é
simplesmente a dificuldade técnica do trabalho, embora muitos projetos
exijam que o analista seja um profundo conhecedor da tecnologia atual
de PD (processamento de dados). Nem são apenas as dificuldades
políticas que surgem, especialmente em projetos maiores em que o
nosso sistema atenderá a muitos grupos, cujos interesses são às vezes
conflitantes. Nem tampouco são os problemas de comunicação que
surgem em situações em que pessoas com experiências diferentes,
com diferentes pontos de vista e vocabulário diverso tenham de
trabalhar juntos. É a combinação dessas dificuldades que torna a
Análise de Sistemas tão difícil e exigente [...].
Ao elaborar a análise do sistema, uma lista de características é necessária ao analista
para que este obtenha sucesso em seu desenvolvimento: concentração, ação
conciliadora, saber trabalhar em grupo, persistência, determinação, flexibilidade a
adversidades, clareza de raciocínio, comunicar se bem, iniciativa e criatividade, são
algumas das características mais importantes e essenciais.
Tendo isto em mente e partindo para a análise, destaco que as técnicas de
levantamento de requisitos será fator fundamental para a elaboração de um projeto
consistente e com alto grau de qualidade.
De acordo com Kendall; Kendall (1992):
Perceber e capturar conhecimentos e requisitos dos usuários é uma das
tarefas mais importantes a serem efetuadas, diversas técnicas podem
ser utilizadas: Amostragem, investigação, entrevistas, questionários,
observação e prototipação, o que examinar, quem e de que maneira
questionar ou observar.
Não é fácil aprender o bastante sobre uma organização para conseguir determinar os
requisitos e funções do sistema, e é comum que na entrega de um sistema, (onde as
técnicas mencionadas não foram seguidas com disciplina e atenção), escutarmos
dizer que o sistema está perfeito no que se propõe a fazer, mas que não era
exatamente o que a organização desejava.
Conforme Gane; Sarson (2009):
[...] o analista não tem o direito de esperar dos usuários uma
explanação lúcida dos requisitos do sistema; ele precisa ajudá-los a
determinar suas necessidades. Por outro lado, os analistas não
possuem o dom da telepatia; eles não podem saber sobre aquilo que
não lhes foi dito. Este fato desagradável surge, particularmente, em
termos da importância relativa que os usuários dão aos vários aspectos
do sistema. Suponhamos que um determinado gerente deseja um
relatório do ativo disponível todas as manhãs. O que será mais
importante? Que ele o receba até as oito e meia, mesmo que alguns
itens não tenham sido resolvidos, ou que ele receba com uma precisão
de centavos, mesmo que, em alguns dias, ele o receba às onze da
manhã? O gerente sabe muito bem e poderia exclamar: “bolas,
qualquer idiota que conheça algo a respeito do negocio da empresa
saberia isto”. Mas adquirir tal nível de sentimento intuitivo sobre as
vantagens/desvantagens para os negócios da empresa é difícil.
O analista terá a capacidade de ajudar os usuários a determinar suas necessidades e
explanar suas visões do que espera ou necessita do sistema, apenas se ele houver
também se inteirado com o ambiente em que a organização se encontra, ou seja, que
ramo de atividade desenvolve, quais os objetivos a curto, médio e longo prazo, qual a
visão da organização e o que ela como um todo espera deste sistema.
Ward (1987) nos diz que:
Os grandes sistemas falham porque os padrões organizacionais não
são fielmente refletidos na implementação. As pessoas envolvidas em
desenvolvimento de sistemas, tanto os usuários quanto os projetistas,
não compreendem os padrões de forma suficientemente clara; de outro
modo, se a coordenação em grande escala não for cuidadosamente
refletida, o sistema implementado não funcionará bem. Na melhor das
hipóteses, ele estará propenso a erros e, na pior das hipóteses,
impraticável. Apesar da tecnologia ser poderosa, ela não pode atender
eficientemente as propostas das empresas, sob tais condições.
Para evitar que problemas como este não venham a ocorrer, ou pelo menos diminuir
as possibilidades de que ocorram, podemos utilizar uma técnica de analise
estruturada, o diagrama de fluxo de dados. O ponto positivo em utilizar está técnica
está em permitir a integração dos usuários na avaliação do modelo, de forma a
encontrar falhas no sistema. O diagrama de fluxo de dados (DFD) exibe os
relacionamentos funcionais de um sistema, incluindo valores de entrada e de saída e
depósitos internos de dados. É um gráfico que mostra o fluxo dos valores de dados
desde suas origens, através dos processos que os transformam até seus destinos. Um
DFD pode ter vários níveis de acordo com a necessidade de detalhamento do sistema.
A figura 1.0 a seguir é um exemplo de DFD, como nos mostra Gane; Sarson (2009).
LIVROS
EDITORAS
Detalhes de livros
CLIENTES
Pedidos
Verificar
validade
do
pedido
Situação de
crédito
Endereço
Pedidos
válidos
Pedidos
Agrupados
Preparar
requisição
para a
editora
Ordem de
compra
PEDIDOS PENDENTES
CLIENTES
Figura 1.0 Expansão do DFD. (GANE; SARSON – 2009)
EDITORAS
Segundo Gane; Sarson (1983 apud JOÃO, 1993, p. 30), “o propósito de um DFD é
mostrar para uma área de negócios ou um sistema ou parte dele, de onde os dados
surgem, para onde vão, quando são armazenados, que processos os transformam e
as iterações entre armazenamento de dados e processos”.
Os objetos do sistema em um DFD podem ser descritos da seguinte forma:
Entidades externas – pessoas, grupo de pessoas ou subsistema/sistema fora do
sistema em estudo que recebem dados do sistema e/ou enviam dados para o sistema.
As entidades externas funcionam sempre como origem/destino de dados;
Fluxo de dados – dados que fluem entre processos e arquivos de dados ou ainda
entre processos e entidades externas, sem nenhuma especificação temporal (por
exemplo, ocorrência de processos simultâneos, ou que ocorre semanalmente);
Arquivo de dados – meio de armazenamento de dados para posterior consulta e/ou
atualização por um processo;
Processo - recebe dados de entrada e transforma estes dados num fluxo de saída.
À medida que ampliamos os detalhes dos conteúdos de fluxos de
dados, de depósitos de dados, e de processos, torna-se necessário um
local estruturado para manter todos estes detalhes. O dicionário de
dados proporciona tal local. O nome dicionário de dados adquire um
significado mais amplo quando começamos a incluir detalhes sobre
processos que, estritamente falando-se referem a lógica e não a dados.
Talvez devesse ser realmente chamado diretório de projeto. Entretanto,
como dicionário de dados é um nome amplamente empregado, vamos
adotá-lo, e usá-lo, sem nenhum constrangimento, para qualquer coisa
que precisemos descrever (GANE; SEARSON, 2009).
O dicionário de dados é uma ferramenta muito importante na documentação de um
sistema, pois esta descreve todas as informações usadas na construção deste.
Permite fazer a verificação de consistência do sistema. Na figura a seguir 2.0 é
exposto um modelo com as descrições mais básicas que um dicionário de dados deve
conter.
Dicionário de Dados
Projeto
Tabela
Descrição da
Tabela
Nome do
Campo
Descrição
Tipo do Campo Tamanho
Figura 2.0 Dicionário de dados
Observação
Gane; Sarson (2009), acrescenta que:
Grande parte do valor de um dicionário de dados deve-se ao fato dele
ser um depósito central de dados para todos os analistas projetistas e
programadores que trabalham num dado projeto, ou numa dada área de
aplicação, ou ainda, para toda a organização (empresa). Como o
dicionário é um depósito central, deve ser controlado por uma pessoa
ou um grupo. Em nível de projeto, tal pessoa pode ser chamada de
administrador de dados ou administrador de elementos de dados. (No
nível organizacional o dicionário de dados é controlado pela
administração de banco de dados.) O administrador de dados é
responsável pelo controle das entradas e mudanças no dicionário,
tornando-o o mais fácil possível, para que todos no projeto tenham
acesso a versões atualizadas e, geralmente, ajudando a evitar “a
reinvenção da roda”, que ocorre quando um grupo de análise está
trabalhando sem coordenação nas definições de dados.
Um dicionário de dados pode ser manual seguindo a criação de formulários ou pode
ser um dicionário de dados automatizado, muitas vezes um software deste tipo tornase indispensável para dar suporte a análise e agilizar o processo de desenvolvimento.
De maneira a simplificar o conteúdo do depósito de dados tanto para sistemas
manuais como para os automatizados, quanto mais simples e mais geral for a
estrutura de um depósito de dados mais fácil será efetuar mudanças nos dados. Para
tal são consideradas três formas de normalização. Estas procuram identificar nos
arquivos, estruturas complexas a serem simplificadas e redundâncias que possam ser
eliminadas.
Os objetivos das normalizações são segundo Matin (1991): “Organizar os dados de
modo que eles possam ser representados em tabelas onde cada posição de linhacoluna tenha um único item de dado (sem grupos de repetições)”.
De acordo com João (1993), as três principais formas normais são:
Primeira forma normal (1FN): dizemos que uma relação está na primeira
forma normal quando não contém grupos repetitivos, ou quando a
relação não contém outras relações. Refere-se a qualquer tabela que
tenha apenas um valor por célula, ou intersecção linha/coluna. Uma
relação que não esteja na primeira forma normal pode ser subdividida,
sem perda de informação, em mais de uma relação na primeira forma
normal retirando-se as relações embutidas.
Segunda formal normal (2FN): uma relação está na segunda forma
normal, quando os valores de cada domínio dependem de cada chave
da relação e não da parte da chave. Uma tabela na primeira forma
normal está também na segunda forma normal se toda coluna não
chave depender da chave inteira.
Terceira forma normal (3FN): uma relação está na terceira forma normal
se todos os domínios não chave são dependentes exclusivamente da
chave. Uma tabela em segunda forma normal está também em terceira
forma normal se não há nenhuma coluna não chave, dependendo de
outra coluna não chave.
Muitas outras ferramentas e técnicas poderão e deverão ser consideradas durante a
análise de sistemas e projetos, aqui foram abordados os assuntos considerados
relativamente mais importantes ao desenvolvimento da analise.
Considerações finais
A conclusão deste artigo vem ao encontro da busca por novos conhecimentos,
agregados aos conhecimentos adquiridos nas cadeiras da universidade. Essa
experiência de pesquisa nos revela que a fonte de conhecimentos é inesgotável para
aquele que a buscam.
Durante o período de pesquisa foi averiguado a grande quantidade de informações
disponíveis a respeito do assunto relacionado a analise de sistemas e projetos, e quão
complexo ele é, foi constatado que a pericia nas etapas de desenvolvimento da
analise é essencial para um resultado satisfatório, e a interação do analista com a
organização (sistema) é parte fundamental no processo.
Este estudo deverá ser abrangido de forma mais eficiente, visando apresentar um
documento de referência para estudos posteriores. Este por sua vez deverá ser
entregue em forma de trabalho de conclusão de curso.
Referências Bibliográficas
GANE, Chris; SARSON, Trish. Análise estruturada de sitemas. 24. ed. Rio de
Janeiro: Livros Técnicos e Científicos, 2009.
JOÃO, Belmiro do Nascimento. Metodologias de desenvolvimento de sistemas.
São Paulo: Érica, 1993.
KENDALL, K. E.; KENDALL, J. E. Sistems analysis and design. 2. Ed. New Jersey:
Prentice-Hall, 1992.
WARD, Paul T. Desenvolvendo sistemas sem complicação: guia do usuário para a
modelagem de padrões organizacionais. Rio de Janeiro, 1987.
Download