ANÁLISE E PROJETO DE SISTEMAS
Sumário
1.
A NATUREZA DOS SISTEMAS......................................................................................................................................................3
1.1. DEFINIÇÃO DE SISTEMAS ...............................................................................................................................................................3
1.2. SISTEMAS NATURAIS ......................................................................................................................................................................3
1.3. SISTEMAS FÍSICOS ..........................................................................................................................................................................3
1.4. SISTEMAS VIVOS ............................................................................................................................................................................3
1.5. SISTEMAS FEITOS PELO HOMEM .....................................................................................................................................................4
1.6. SISTEMAS AUTOMATIZADOS ..........................................................................................................................................................4
1.6.1.
COMPONENTES DE UM SISTEMA AUTOMATIZADO ......................................................................................................................4
1.6.2.
TIPOS DE SISTEMAS AUTOMATIZADOS........................................................................................................................................5
1.6.2.1.
SISTEMAS ON-LINE.................................................................................................................................................................5
1.6.2.2.
SISTEMAS DE TEMPO REAL .....................................................................................................................................................5
1.6.2.3.
SISTEMAS DE APOIO À DECISÃO .............................................................................................................................................6
1.6.2.4.
SISTEMAS DE PLANEJAMENTO ESTRATÉGICO .........................................................................................................................6
1.6.2.5.
SISTEMAS BASEADOS NO CONHECIMENTO .............................................................................................................................6
1.6.2.6.
DATA WAREHOUSE ................................................................................................................................................................6
2.
O ANALISTA DE SISTEMAS ..........................................................................................................................................................8
2.1.
3.
CARACTERÍSTICAS DO ANALISTA DE SISTEMAS..............................................................................................................................8
O QUE É ANÁLISE? .........................................................................................................................................................................9
3.1. A ANÁLISE DE SISTEMAS CLÁSSICA ................................................................................................................................................9
3.2. A PASSAGEM PARA ANÁLISE ESTRUTURADA ..................................................................................................................................9
3.3. A ANÁLISE ESTRUTURADA ...........................................................................................................................................................10
3.3.1.
OBJETIVOS DA ANÁLISE ESTRUTURADA ...................................................................................................................................10
3.3.2.
CARACTERÍSTICAS DA ANÁLISE ESTRUTURADA .......................................................................................................................10
4.
METODOLOGIA - VISÃO GERAL..............................................................................................................................................11
4.1. OBJETIVOS DA METODOLOGIA .....................................................................................................................................................11
4.2. PROPOSTAS DA METODOLOGIA ESTRUTURADA ............................................................................................................................11
4.2.1.
CARACTERÍSTICAS DA METODOLOGIA ESTRUTURADA .............................................................................................................12
5.
CICLO DE VIDA DO PROJETO ESTRUTURADO ...................................................................................................................13
5.1.
5.2.
5.3.
5.4.
5.5.
5.6.
5.7.
5.8.
5.9.
6.
O USUÁRIO......................................................................................................................................................................................18
6.1.
6.2.
6.3.
6.4.
6.5.
6.5.1.
6.5.2.
6.5.3.
7.
A CLASSIFICAÇÃO DOS USUÁRIOS POR TIPO DE FUNÇÃO ..............................................................................................................18
USUÁRIOS OPERATIVOS: ..............................................................................................................................................................18
USUÁRIOS SUPERVISORES: ...........................................................................................................................................................19
USUÁRIOS EXECUTIVOS: ..............................................................................................................................................................20
A CLASSIFICAÇÃO DOS USUÁRIOS POR NÍVEL DE EXPERIÊNCIA ..................................................................................................21
USUÁRIOS AMADORES:............................................................................................................................................................21
USUÁRIOS NOVATOS: ..............................................................................................................................................................21
USUÁRIOS PERITOS:.................................................................................................................................................................21
TÉCNICAS DE ENTREVISTAS E DE COLETADEDADOS.................................................................................................................22
7.1.
7.2.
7.3.
7.4.
8.
ATIVIDADE 1: LEVANTAMENTO ...................................................................................................................................................13
ATIVIDADE 2: ANÁLISE DE SISTEMAS ..........................................................................................................................................14
ATIVIDADE 3: PROJETO................................................................................................................................................................14
ATIVIDADE 4: IMPLEMENTAÇÃO ..................................................................................................................................................14
ATIVIDADE 5: GERAÇÃO DE TESTES.............................................................................................................................................14
ATIVIDADE 6: CONTROLE DE QUALIDADE....................................................................................................................................14
ATIVIDADE 7: DESCRIÇÃO DOS PROCEDIMENTOS ........................................................................................................................15
ATIVIDADE 8: PREPARAÇÃO DA BASE DE DADOS INICIAL ............................................................................................................15
ATIVIDADE 9: INSTALAÇÃO .........................................................................................................................................................15
TIPOS DE ENTREVISTAS ...............................................................................................................................................................22
PROBLEMAS OCORRIDOS NAS ENTREVISTAS ...............................................................................................................................22
DIRETRIZES PARA REALIZAÇÃO DE ENTREVISTAS .......................................................................................................................24
FORMAS ALTERNATIVAS DE COLETA DE DADOS .........................................................................................................................25
FERRAMENTAS DE MODELAGEM DA ANÁLISEESTRUTURADA.................................................................................................26
8.1.
CARACTERÍSTICAS DE UMA FERRAMENTA DE MODELAGEM ÚTIL AO ANALISTA ........................................................................26
1. A natureza dos sistemas
1.1.
Definição de sistemas
Não podemos falar de análise de sistemas, antes de ter uma clara ideia do que seja um sistema. O dicionário
Webster's apresenta várias definições:
1. um grupo de itens que interagem entre si ou que sejam interdependentes, formando um todo unificado como
(a) um grupo de corpos que interagem entre si sob influência de forças relacionadas Exemplo: sistema
gravitacional
(b) uma mistura de substâncias em equilíbrio ou que tende para o equilíbrio Exemplo: sistema termodinâmico
(c) um grupo de órgãos do corpo que desempenham, em conjunto, uma ou mais funções vitais Exemplo: sistema
digestivo
(d) o corpo, considerado como uma unidade funcional
(e) um grupo de objetos ou forças naturais relacionadas entre si Exemplo: sistema fluvial
(f) um grupo de dispositivos ou uma organização em rede, principalmente para distribuição de algum produto
ou servindo a um propósito comum
Exemplo: sistemas telefónico, de aquecimento, rodoviário, de processamento de dados
2. um conjunto organizado de doutrinas, ideias ou princípios, habitualmente previsto para explicar a
organização ou funcionamento de um conjunto sistemático
Exemplo: sistema mecânico de Newton
3. (a) um procedimento organizado ou estabelecido
Exemplo: toques de digitação
(b) uma maneira de classificar, simbolizar ou esquematizar Exemplo: sistema decimal
4. sociedade organizada ou situação social
Exemplos: Movimento dos Sem-Terra, Central Única dos Trabalhadores, Racismo A partir dessas definições,
nota-se que existem muitos tipos de sistemas.
Na realidade, o dicionário apresenta definições classificadas por categoria. Como nosso interesse são os sistemas de
processamento, isso significa que para facilitar, também devemos dividir todos os sistemas em duas categorias:
sistemas naturais e sistemas feitos pelo homem.
1.2.
Sistemas naturais
A maioria dos sistemas não é feita por pessoas. Eles são encontrados na natureza, e de modo geral, servem a seus
próprios propósitos. É conveniente dividi-los em dois subsistemas: sistemas físicos e sistemas vivos.
1.3.
Sistemas físicos
Existem muitos exemplos de sistemas físicos, tais como:
• Sistemas estelares: galáxias, sistemas solares, etc.
• Sistemas geológicos: rios, cadeias de montanhas, etc.
• Sistemas moleculares: DNA.
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 sistemas em computadores, que
devem interagir harmoniosamente com os sistemas físicos.
1.4.
Sistemas vivos
Os sistemas vivos, naturalmente, abrangem as indeterminadas espécies de animais e plantas em nossa volta e nós, a espécie
humana. Essa categoria também inclui hierarquias de organismos vivos individuais, como ervas, rebanhos, tribos, grupos
sociais, empresas e nações.
Muitos sistemas feitos pelo homem interagem com os sistemas vivos - por exemplo, os marca-passos
computadorizados interagem com o coração humano. Em alguns casos os sistemas automatizados estão sendo
projetados para substituir sistemas vivos. Em outros casos, os pesquisadores consideram os sistemas viventes
(conhecidos como computadores orgânicos) como componentes de sistemas automatizados.
Os sistemas vivos e os feitos pelo homem são, muitas vezes, parte de um conjunto de sistemas maiores, e quanto mais
soubermos acerca deles, melhores analistas de sistemas seremos.
1.5.
Sistemas feitos pelo homem
Alguns sistemas são construídos, organizados e mantidos por seres humanos.
• Sistemas sociais: organizações de leis, doutrinas, costumes, etc.
• Uma coleção organizada e disciplinada de ideias: o sistema decimal para organização de livros em
bibliotecas (Dewey), o sistema para perda de peso (Vigilantes do Peso), etc.
• Os sistemas de transporte: redes rodoviárias, canais, linhas aéreas e semelhantes.
• Sistemas de comunicações: telefones, telex, sinais de fumaça, etc.
• Sistemas de manufatura: fábricas, linhas de montagem, etc.
• Sistemas financeiros: contabilidade, inventários, livros razão, controle de estoque, entre outros.
Hoje, a maioria desses sistemas usa computadores; na verdade muitos deles não poderiam sobreviver sem os
computadores. É 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 ou mais componentes computadorizados.
A questão de, se um sistema feito pelo homem deve ou não ser computadorizado, tem que ser avaliada; isso não é algo
que deva ser tomado por certo.
Por que alguns sistemas de informação não devem ser automatizados? Existem muitas razões, mas aqui estão as mais
comuns:
Custo: 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 muita energia. Isso está se tornando menos verdadeiro com a penetrante influência dos
microprocessadores, mas é um fator a considerar.
Segurança: o usuário pode achar que o sistema automatizado não seja suficientemente seguro, podendo
preferir que suas importantes e sigilosas informações sejam fisicamente protegidas debaixo de chaves.
Manutenção: o usuário pode argumentar que não há ninguém na organização que possa manter o
hardware e/ou software do computador, de forma que ninguém estaria capacitado a efetuar modificações e
melhoramentos.
Política: a comunidade de usuários pode achar que os computadores são uma ameaça aos seus
empregos, ou que tornam seu trabalho tedioso e "mecânico", ou podem ter uma dúzia de outras razões
que o analista 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
fracasse caso ele lhes seja imposto.
Se a solução automatizada realmente for a melhor solução, deve ser feito um trabalho de conscientização, para que
os usuários vejam as vantagens da automação.
A principal tarefa do pessoal ligado a análise, desenvolvimento e processamento de sistemas é analisar ou estudar o
sistema para determinar-lhe a essência: o resultado exigido, independentemente da tecnologia utilizada em sua
implantação.
1.6.
Sistemas automatizados
Sistemas automatizados são sistemas feitos pelo homem, que interagem com, ou são controlados por um ou mais
computadores. A sociedade moderna apresenta muitos exemplos diferentes de sistemas automatizados, mas todos eles
possuem componentes comuns.
1.6.1. Componentes de um sistema automatizado
• Hardware: unidades físicas de um sistema (equipamento) - Terminal, impressora, vídeo, teclado, disco, etc.
• Software: programas, como sistemas operacionais (DOS, Unix, VMS), banco de dados (Xbase, Access, SyBase,
Oracle), programas aplicativos (Word, Excel, Lotus 1,2,3), etc.
• Pessoas (peopleware): aquelas que usam ou operam o sistema. Fornecem dados de entrada ou utilizam as
informações de saída, as que desempenham atividades de processamento manual em um sistema.
• Dados: 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.
As técnicas para analisar, modelar, projetar e implementar sistemas automatizados são geralmente as mesmas,
qualquer que seja a aplicação, ou seja, podem ser usadas em sistemas comerciais, militares, industriais, etc..
1.6.2. Tipos de sistemas automatizados
•
•
•
•
•
•
Sistemas On-Line
Sistemas de Tempo-Real
Sistemas de Apoio à Decisão
Sistemas de Planejamento Estratégico
Sistemas Baseados no Conhecimento
Data Warehouse
1.6.2.1. Sistemas on-line
São sistemas onde as informações disponíveis estão sempre atualizadas, ou seja, no momento que há uma alteração de
dados, elas ficam imediatamente disponíveis para serem utilizadas.
Normalmente os usuários se conectam ao sistema por meio de terminais que podem estar próximos ou a centenas ou
milhares de quilômetros de distância do computador que processa e armazena os dados.
Características de sistemas on-line:
Os dados são introduzidos no sistema de processamento e dele recebidos remotamente. Isto é, os usuários
interagem com o computador através de terminais que podem estar localizados a centenas de quilômetros de
outros terminais e do próprio computador;
O armazenamento dos dados (arquivos ou banco de dados) é organizado de tal forma que uma recuperação ou
modificação de uma informação ocorra rapidamente e sem necessidade de acessar outros dados do sistema. Isto está em
flagrante contraste com os sistemas batch (lotes), comuns nas décadas de 60 e 70, onde as informações eram
normalmente recuperadas na modalidade seqüencial. O sistema lia todos os registros do banco de dados, processando-os
e atualizando-os, conforme houvesse alguma atividade.
Num sistema on-line o usuário interage diretamente com o computador, portanto exige que o analista planeje
cuidadosamente a interface homem-máquina. A comunicação de um sistema on-line com as pessoas, ou seja, o modo de
conexão entre eles, pode ser feita através de linhas telefônicas, satélites, rádios (micro ondas), etc.
Exemplos de sistemas on-line:
• Caixa automática de um banco;
• Reserva de passagens aéreas;
• Home banks.
1.6.2.2. Sistemas de tempo real
São sistemas que têm como compromisso receber, processar ou enviar informações num limite de tempo pré
determinado.
Características de sistemas de tempo real:
Muitos consideram sistemas de tempo real uma variação de sistemas on-line, usando esses termos indiferentemente. Evidente
que, de alguns sistemas on-line (sistemas bancários, reserva de passagens, controle de estoque) se espere uma resposta às
mensagens digitadas no terminal em um ou dois segundos.
Porém, a expressão "tempo pré-determinado" na definição de sistema de tempo real, normalmente quer dizer em
milissegundos e às vezes em microssegundos.
Sistemas de tempo real podem interagir tanto com pessoas quanto com o ambiente.
A preocupação de um analista de sistema de tempo real é que, se o computador não responder com suficiente rapidez,
os dados que chegarem poderão se perder irremediavelmente, ou um míssil poderá se desviar tanto de sua trajetória, que não
se conseguirá recuperá-lo, ou um processo industrial irá pêlos ares.
Em contraste com isso, um sistema on-line que não reaja com suficiente rapidez nada mais fará do que tornar seus usuários
impacientes e irritados.
Exemplos de sistemas de tempo real:
• Orientação de mísseis
• Comutação telefônica
• Monitoração de pacientes em hospitais
• Controle de misturas, temperatura e pressão em indústrias químicas
• Controle de reação em usinas atômicas.
1.6.2.3. Sistemas de apoio à decisão
A maioria dos sistemas automatizados de informação construídos nos últimos 30 anos era de sistemas operativos,
conhecidos como de processamento de ações e que incluem os sistemas de pagamento, de entrada de pedidos, de
contabilidade e sistemas industriais. Como foram construídos há muito tempo, já estão desatualizados e por isso, novos
sistemas operativos têm sido desenvolvidos nas maiores empresas, por todo o mundo.
À medida que os atuais sistemas operativos prosseguem em seu rumo cambaleante, muitas empresas estão
concentrando a atuação em um novo tipo de sistema: o de apoio à decisão.
Características de sistemas de apoio à decisão:
Esses sistemas de processamento, como o próprio termo sugere, auxiliam gerentes e outros profissionais
("funcionários do conhecimento" de uma organização) a tomarem decisões inteligentes e bem informadas sobre vários
aspectos da operação;
Eles não só recuperam e apresentam dados, mas também executam diversas análises matemáticas e estatísticas sobre os
dados;
Têm também a aptidão de apresentar as informações sob várias formas gráficas (tabelas, diagramas, etc.) bem como
relatórios convencionais.
Exemplos de sistemas de apoio à decisão:
Programas de planilhas eletrônicas (ex.: Lotus 1,2,3, Excel);
Sistemas de análise estatística;
Programas de previsões mercadológicas e outros.
1.6.2.4. Sistemas de planejamento estratégico
Esses sistemas não são programas de computador, mas uma complexa combinação de atividades e procedimentos,
executados por pessoas utilizando informações de fontes externas (pesquisa de mercado e outras) e de dados internos
de sistemas operativos e de apoio de decisão de uma empresa.
Os sistemas de planejamento estratégico são usados pêlos diretores para avaliar e analisar a missão da empresa.
Planejamento estratégico é um conceito que se tornou popular durante a segunda guerra mundial, embora obviamente
muitas empresas já fizessem isso, há muito tempo.
1.6.2.5. Sistemas baseados no conhecimento
Uma expressão relativamente nova na indústria do processamento é "sistema especialista" ou "sistema baseado no
conhecimento". Esses sistemas utilizam técnicas desenvolvidas dentro do campo da inteligência artificial, e têm como
meta imitar o desempenho humano em uma ampla variedade de tarefas "inteligentes".
Os sistemas baseados no conhecimento, como é óbvio, contêm grande quantidade de conhecimentos variados para utilização
em determinada tarefa.
Os sistemas especialistas são sistemas baseados numa determinada área (medicina, engenharia, administração, etc.), num
determinado conhecimento, embora os dois nomes sejam muitas vezes empregados indistintamente.
O sistema especialista é um programa que utiliza uma base de dados de conhecimentos em áreas específicas e através
do relacionamento desses dados e outras técnicas, propõe soluções que possam auxiliar o profissional numa determinada área.
1.6.2.6. Data warehouse
O aprimoramento dos sistemas de apoio à decisão, de planejamento estratégico e baseados no conhecimento, deu origem ao
chamado DATA WAREHOUSE.
O velho banco de dados submeteu-se a uma plástica, vestiu roupa nova, ganhou as ruas e faz a cabeça dos
"funcionários do conhecimento" no mundo inteiro: é o data warehouse, a mais recente ferramenta de apoio à decisão,
que, integrada ao hardware e software específicos, permite armazenamento/tratamento de informações históricas, e tem
importância estratégica no apoio a decisões em ocasiões específicas.
Em se tratando de aplicações, a coleção de exemplos não tem fim:
•
Uma loja de departamentos, sabendo que boa parte das fraldas descartáveis é vendida a pais no caminho entre o
escritório e a casa, em especial às sextas-feiras, aproveitou essa informação para desembaraçar-se do estoque
remanescente de cervejas importadas, exibindo-as em gôndolas ao lado de artigos para bebés.
•
Uma indústria de móveis para crianças, a partir de informações recolhidas das notas fiscais emitidas pêlos
revendedores, mantém cadastrados no data warehouse todos os consumidores que compram berços e outras peças para
mobiliar quartos de bebés (nome, endereço, telefone, preferências de estilo, cores, etc.). Com isso, cinco anos
depois, dispara malas diretas, oferecendo à família, móveis desenhados para crianças maiores. As correspondências
impressas em rosa ou azul, de acordo com o sexo do bebé, cumprimentos pelo aniversário da criança (dados coletados
por vendedores treinados). Não pais, avós e padrinhos que resistam a esse apelo de marketing.
No Brasil os pioneiros do data warehouse são as instituições financeiras (Citibank e Tecban) visando melhorar o
desempenho das áreas de marketing, crédito, finanças em geral e treinamento de recursos humanos. Atrás dessas empresas, a
passos mais lentos e começando pela área de marketing, vem vindo indústrias como Ferrero Rocher, Gillete e Chapecó.
A falta de cultura, somada aos custos da implantação, desestimula maiores iniciativas no país. Mas as estatísticas indicam que
essa realidade tende a mudar rapidamente, à medida que aqui as empresas começam a descobrir essa tecnologia relacional
como ferramenta capaz de realizar o trinômio Competitividade/Produtividade/Lucratividade.
2. O analista de sistemas
É uma pessoa com amplos conhecimentos sobre aplicações de
computadores e racionalização de trabalho e que desenvolve
soluções para problemas de usuários, determina a
praticabilidade técnica e operacional dessas soluções e prevê os
custos do seu desenvolvimento e implementação.
Membro essencial de qualquer projeto de desenvolvimento de
sistemas, o analista executa um grande volume de trabalho por
ele mesmo, e dispende ainda mais esforço com os outros
participantes do projeto.
O analista de sistemas necessita de uma mistura equilibrada de
conhecimentos técnicos e de negócios, habilidades analítica e
para entrevistas e também uma boa compreensão do comportamento
humano.
2.1.
Características do analista de sistemas
Em geral, os analistas de sistemas, ao longo de seus estudos e da experiência adquirida na prática de suas atividades,
desenvolve e aprimora determinadas características:
• Habilidade com as pessoas para entrevistar usuários, mediar desentendimentos e sobreviver às inevitáveis
batalhas políticas que ocorrem em todos os projetos, mesmo nos mais triviais;
• Conhecimento de aplicações para compreender e apreciar as necessidades do usuário;
• Habilidade em processamento para compreender os potenciais usos do hardware e do software dos
computadores;
• Mente lógica e organizada',
• Capacidade de visualizar um sistema sob diferentes perspectivas e subdividi-lo em subsistemas de vários
níveis;
• Pensar em um sistema em termos abstratos e físicos.
3. O que é análise?
É o estudo de um problema, que antecede à tomada de uma ação.
No mundo dos sistemas computacionais, análise refere-se ao estudo de alguma área de trabalho ou de uma
aplicação, gerando, quase sempre, a especificação de um novo sistema.
A essência da análise consiste em identificar o problema certo e escolher uma alternativa de solução que seja viável. A
preocupação dominante da análise não é obter sucesso, mas evitar fracasso. Objetivos de uma boa análise:
• Solução certa para o problema certo
• Seleção de um objetivo ótimo
• Documentação do objetivo para posterior avaliação
• Previsão de custos e benefícios
• Obtenção de acordo entre as partes envolvidas
3.1.
A análise de sistemas clássica
Até o final dos anos 70, a maioria dos projetos de desenvolvimento de sistemas começava pela criação de um extenso
detalhamento sobre os requisitos do usuário. O analista documentava o que conhecia daqueles requisitos, em um maciço
conjunto de documentos, constituído principalmente de uma narrativa em linguagem inadequada. Essa especificação
funcional, padecia de alguns grandes problemas:
• Era monolítica: se não lêssemos até a última página, não entenderíamos o funcionamento de todo o sistema;
• Era redundante: a mesma informação era muitas vezes repetida em diversas partes diferentes do documento.
Assim, como uma pessoa com vários relógios dificilmente saberá que horas realmente são, uma
especificação funcional com a mesma informação repetida três ou quatro vezes gera dificuldades na atualização e
revisão dos requisitos, conduzindo a um grave problema: a inconsistência;
• Era ambígua: o detalhamento dos requisitos do usuário podia ser (e geralmente era) interpretado de modo diferente
por quem o lesse (usuários, analistas de sistemas, projetistas, programadores);
• De manutenção impossível: por todos os motivos descritos (e pelo longo período de "produção"), a
especificação funcional quase sempre estava obsoleta no final do processo de desenvolvimento do sistema (isto é,
quando o sistema entrava em operação);
• Excessivamente física e não lógica, isto é, voltada mais para a forma de funcionamento do sistema do que para a
função propriamente requerida;
• Tediosa de ler;
• Insuportável de escrever.
Isso significa que a maioria dos sistemas desenvolvidos durante os anos 60 e 70 não tem o registro atualizado de seus
objetivos, ou a que supostamente se propunham.
3.2.
A passagem para análise estruturada
Enquanto todos esses problemas estavam sendo debatidos, um conjunto de ideias já estava sendo adotado na área de
programação e projeto. Essas ideias, geralmente mencionadas como programação estruturada e projeto estruturado,
prometiam grandes melhorias na organização, codificação, testes e manutenção de programas e tinham se mostrado em geral,
um sucesso.
Porém, as empresas de processamento eletrônico de dados perceberam que não havia como escrever brilhantes programas e
nem como projetar sistemas altamente modulares se não soubessem realmente o que os sistemas deveriam fazer.
Na verdade, alguns analistas mais "difíceis" argumentavam que a programação e o projeto estruturados possibilitavam algumas
equipes de projeto chegar a um desastre com maior rapidez que nunca - construíam uma brilhante solução para o problema
errado!
Como resultado houve um movimento gradual - gradual porque os analistas e programadores levaram cerca de dez anos para a
aceitar estas novas técnicas, rumo as especificações funcionais que fossem:
• GRÁFICAS: compostas por vários diagramas, apoiados por material textual detalhado;
• MODULARIZADAS: ou seja, divididas de forma que as partes individuais da especificação possam ser lidas
independentemente de outras.
• DE REDUNDÂNCIA MÍNIMA: para que as alterações possam ser efetuadas em apenas uma parte da
especificação.
Essa abordagem deu origem a Análise Estruturada, utilizada atualmente na maioria das empresas de desenvolvimento de
sistemas. As que ainda preparam especificações do tipo "novela vitoriana", estão em minoria, e como os dinossauros, se
extinguirão em algum momento.
Como qualquer campo da ciência, a análise de sistemas passou por uma série de modificações evolutivas nos últimos
anos.
3.3.
A análise estruturada
Análise Estruturada é uma técnica para especificar o sistema. Essa técnica usa ferramentas gráficas de
documentação, para gerar um novo tipo de especificação - a Especificação Estruturada.
A Análise Estruturada define O QUE o sistema faz, facilitando o projeto (que define COMO o sistema funciona) e o teste
(que define SE o sistema funciona).
3.3.1. Objetivos da análise estruturada
»
•
•
•
Facilitar a comunicação e a interação entre usuários e analistas para especificar os sistemas.
Simplificar a apresentação, o entendimento e a resolução dos processos.
Tratar os problemas por ordem de importância.
Definir as entradas, saídas e principalmente, a função do sistema.
3.3.2. Características da análise estruturada
• Gráfica, utiliza símbolos, tornando o sistema de mais fácil compreensão
• Particionada (ou modular), permitindo uma visão geral, seguida de visões concentradas e detalhadas de uma
área determinada (especificação do geral para o particular - Top Down)
• Fácil manutenção, pois a redundância é mínima
• Interativa, comunicação clara e direta entre os participantes do projeto
• Lógica, e não física. A especificação estruturada concentra-se no que o sistema fará e não como será
implantado. É independente de linguagem ou sistema operacional.
• Precisa, porque identifica o problema
• Concisa, porque define um objetivo a ser atingido
4. Metodologia - Visão geral
Para sermos analistas eficientes, precisamos de algo além de ferramentas de modelagem; precisamos de
METODOLOGIA.
Os projetos de desenvolvimento de sistemas são iniciados como resultado de um entendimento verbal entre usuários e o
pessoal de projeto (que pode ser o analista de sistemas, programador, operador de computador) e o trabalho se estende
desde a análise de sistemas até o projeto e implementação, correndo através de diversas fases.
A Metodologia determina quando e de que maneira as coisas devem acontecer e quais as regras que serão seguidas.
Deve ser feita de um modo simples para qualquer pessoa entrosar-se com a atividade de desenvolvimento de um
sistema.
Metodologia é um conjunto organizado de técnicas que orienta uma
atividade.
Cada atividade exige técnicas apropriadas. Dependendo do
volume e complexidade das atividades, cada técnica necessita de
ferramentas específicas, em geral, software de apoio.
Algumas organizações adotam metodologias próprias, outras,
metodologias de "pacotes" desenvolvidas por firmas de
consultoria. Cada metodologia especifica a sequência das
atividades a serem seguidas no desenvolvimento do sistema, os
produtos a serem desenvolvidos em cada estágio, e os controles
administrativos a serem aplicados.
Os analistas devem contribuir para aprimorar a metodologia, mas não devem criar uma metodologia isolada dos
demais porque isto dificulta a comunicação.
4.1.
Objetivos da metodologia
Eficácia:
Desenvolver sistemas de acordo com as necessidades reais do usuário.
Eficiência:
Minimizar custos de desenvolvimento, implementação, documentação e de manutenção.
Ser eficaz c produzir um efeito, que de bom resultado. Eficiente é o agente efetivo da ação, a reação.
Metodologia de desenvolvimento de sistemas estruturados é um método geral que visa a construção de um sistema de
processamento de dados, baseado no projeto e na análise estruturada.
4.2.
Propostas da metodologia estruturada
Participação do Usuário:
Quem conhece o problema é o usuário. É muito importante que ele esteja envolvido em todas as atividades do
projeto, mesmo que seja só como ouvinte ou assistente.
Partir do problema geral para o particular:
Abordar o sistema de forma a não se perder em detalhes. Primeiro os aspectos essenciais, depois os particulares.
Essa maneira de enfocar um problema ou um sistema tem o nome de abordagem TOP-DOWN (de cima para
baixo).
Refinamentos sucessivos:
Um bom sistema é fruto de sucessivas correções e aprimoramentos de uma solução quase correta. E melhor estar
aproximadamente certo do que precisamente errado.
Flexibilidade:
Os projetos devem ser construídos de maneira a suportar mudanças que se fizerem necessárias. As situações mudam
e as estimativas também podem ser alteradas.
Ênfase nos dados:
Os dados são propriedade da empresa e não das aplicações. Os arquivos não devem ser exclusivos dos sistemas para
evitar redundâncias e inconsistências. É viável a utilização de arquivos e dados já definidos, para não tê-los duas vezes
em lugares diferentes.
Uso de ferramentas de alto nível:
A tendência é de disponibilidade de ferramentas cada vez mais potentes e mais baratas para aumentar a
produtividade de analistas e projetistas. Com isso os custos de hardware/software decrescem.
4.2.1. Características da metodologia estruturada
• Supõe que o problema esteja bem definido.
• Supõe que o problema possa ser descrito através de diagramas e estruturas bem definidas.
• Usa intensivamente as técnicas de: Análise Estruturada, Análise de Dados, Projeto Estruturado,
Programação Estruturada, Testes Estruturados.
A metodologia estruturada, então, cria uma sequência a ser seguida, que é tratada como Ciclo de Vida do Projeto.
5. Ciclo de vida do projeto estruturado
Cada vez mais as organizações estão adotando um único ciclo de vida de projeto uniforme - também conhecido
como plano de projeto ou metodologia de desenvolvimento de sistemas, que contém nove atividades: levantamento das
informações, análise de sistemas, projeto, implementação, geração de testes, controle de qualidade, descrição de
procedimentos, conversão de banco de dados e instalação.
Qual o propósito de ter-se um ciclo de vida de projeto?
1. Definir â$ atividades a serem executadas (descrição correta de todas as etapas);
2. Introduzir consistência entre muitos projetos de desenvolvimento de sistemas da mesma organização;
3. Introduzir pontos de verificação para o controle de decisões.
O ciclo de vida do projeto pode organizar as atividades do gerente (do projeto) tornando mais provável que os
problemas sejam atacados no momento apropriado.
5.1.
Atividade 1: Levantamento
É o estudo de viabilidade ou estudo inicial das atividades.
Tipicamente, começa quando um usuário solicita que uma ou mais partes de sua
atividade sejam automatizadas.
Principais Objetivos:
• Identificar usuários:
Identificar os usuários responsáveis pela requisição do novo sistema e
a
partir dessa relação desenvolver um "escopo" inicial do sistema. Escopo é a abrangência, intenção, propósito do
sistema.
• Identificar deficiências:
Identificar as atuais deficiências no ambiente do usuário.
Exemplos, no caso de existir algum software implantado:
O hardware do sistema atual é confiável?,
A manutenção do sistema atual é possível? Existe mão-de-obra disponível?,
Como é o tempo de resposta do sistema atual?,
Os relatórios satisfazem gerências e operacionais?
• Estabelecer metas e objetivos:
Definir datas limites, custos e o propósito do novo sistema.
• Determinar se é possível automatizar:
Determinar a viabilidade de automatização do sistema, sugerindo alguns esquemas, dentro do seu
orçamento e planos.
• Preparar uma previsão do projeto:
Estabelecer o tempo que será gasto na condução do restante das tarefas, estimando vantagens e
desvantagens para cada solução.
• Obter o parecer e o comprometimento do usuário e da administração:
Documentar os requisitos do usuário e as restrições dentro das quais o sistema deverá ser construído. Submeter
essa documentação ao conhecimento e aprovação do pessoal envolvido.
5.2.
Atividade 2: Análise de sistemas
O principal propósito da atividade de análise de sistemas é transformar a combinação entre as
informações obtidas do usuário e os objetivos do novo sistema em uma especificação
estruturada. O desenvolvimento da descrição formal do que o novo sistema deve fazer,
independe da natureza dos equipamentos, das linguagens ou softwares que serão usados para
satisfazer as necessidades.
Principais Objetivos:
• Buscar informações:
Agrupar de forma coerente as informações obtidas na atividade Levantamento (atividade 1).
• Entrevistar o usuário:
Tomar conhecimento das atividades atuais do usuário, o que ele deseja do novo sistema e que
restrições o sistema deve ter.
Resultados da Análise:
1. Relatório custo x benefício por atividade
2. Requisitos de base de dados (informações)
3. Necessidades físicas (hardware, software, peapleware)
4. Necessidades para conversão do sistema
5. Especificação funcional do sistema.
5.3.
Atividade 3: Projeto
Em cada tarefa especificada, a atividade Projeto ocupa-se com o desenvolvimento de uma seqüência apropriada de módulos
de programas (imaginando o sistema acontecendo e definindo por onde começar e o que deve ser feito depois, até a última
ação) e interfaces entre esses módulos, para implementar a especificação criada na atividade Análise (atividade 2).
Nesta atividade aparecem um dos principais problemas, pêlos quais ou usuário está interessado: a especificação das tarefas
manuais que terão que ser realizadas por ele (a chamada fronteira homem-máquina) e como será a comunicação entre ele e
a máquina, de que maneira e em que seqüência ele fornecerá os dados ao computador e como receberá os resultados do
processamento (a chamada interface homem-máquina).
A fronteira homem-máquina separa as partes do modelo que devem ser executadas por uma pessoa (como uma atividade
manual) das partes que devem ser implementadas em um ou mais computadores. Estabelece as tarefas do usuário que serão
necessárias para "alimentar" o sistema, os dados que ele deverá fornecer para que o sistema comece a funcionar (os
chamados dados de entrada ou simplesmente, entradas).
A interface homem-máquina é uma descrição de como e em que seqüência as entradas serão fornecidas pêlos usuários ao
computador (ex.: projetos de tela, diálogo on-line entre usuários e computador), bem como o formato e a seqüência das
saídas fornecidas pelo computador ao usuário.
E basicamente a definição da maneira que homem e máquina conversarão ou se relacionarão.
5.4.
Atividade 4: Implementação
O sistema, depois de visto como um todo, é modulado, ou seja, dividido em partes mais simples. A atividade de
implementação inclui a codificação (programação estruturada) e a integração das partes do sistema, gerando o
resumo completo do sistema final.
Nessa atividade o analista de sistemas não está envolvido, embora existam alguns projetos (e algumas organizações) onde a
análise de sistemas, o projeto e a implementação são feitos pela mesma pessoa.
5.5.
Atividade 5: Geração de testes
A especificação estruturada deve conter todas as informações necessárias para definir
um sistema aceitável do ponto de vista do usuário. Uma vez gerada a especificação, deve-se
gerar um grupo de testes de aceitação. A preparação dos testes pode ocorrer em paralelo com
as atividades de projeto (atividade 3) e implementação (atividade 4).
5.6.
Atividade 6: Controle de qualidade
Controle de Qualidade é conhecido também como teste final de aceitação, e exige como entrada, os dados do
teste de aceitação da atividade de geração de testes (atividade 5) e o sistema integrado produzido pela atividade
implementação (atividade 4).
Algumas pessoas se referem a essa atividade como controle de qualidade em vez de garantia de qualidade.
Independentemente da terminologia, é importante esta atividade para garantir que o sistema apresentará o nível
apropriado de qualidade. É importante fazer o controle de qualidade em todas as atividades do projeto para assegurar
que elas estão sendo realizadas dentro do padrão de qualidade da organização.
A atividade de controle é o teste final da qualidade do sistema.
5.7.
Atividade 7: Descrição dos procedimentos
Outra atividade importante a ser realizada é a geração da documentação do sistema que é
composta basicamente por: manual do usuário, manual técnico do sistema e manual
de operação.
O manual do usuário descreve como o usuário deve proceder para se relacionar
com o sistema. No manual do usuário estão definidos quais são os documentos de
entrada, como e em que prazo deverão ser preenchidos esses documentos.
O manual de operação contém instruções aos operadores de sistema sobre a
maneira de tratamento das informações: localização de arquivos, programas,
periodicidade de execução de determinadas rotinas,
distribuição de relatórios, etc.
O manual técnico, como o próprio nome diz, contém todas as informações técnicas do sistema: a descrição de todos os
programas (inclusive a listagem deles), de todos os arquivos e de todos os procedimentos relativos ao sistema. Ele é uma
referência para programadores e analistas tanto na elaboração de sistemas novos quanto na atualização dos que j á
existem.
É necessário conservar a documentação correia e atualizada por tanto tempo quanto o sistema durar. A correção da
documentação deve ser feita antes que o sistema seja posto em operação.
O analista deve certificar-se de que, quando um sistema entrar em operação, todos os documentos relativos a ele
estejam completos, consistentes, correios e atualizados. Além dessa certeza, precisa estar seguro de que existe
facilidade para executar modificações continuadas nesses documentos.
Não se pode conservar atualizado um sistema e a documentação a ele associada se essa documentação não estiver
correta.
"Não convém que a especificação estruturada tenha sido inscrita para sempre com uma pena de aço inoxidável em
placas de pedra como uma permanente recordação para futuras gerações."
5.8.
Atividade 8: Preparação da base de dados inicial
Essa atividade prepara os dados que iniciarão o sistema e exige como entrada, o banco de dados atual do usuário
bem como as definições produzidas pela atividade projeto (atividade 3).
Caso o sistema novo seja resultado de atualizações de um sistema automatizado já existente, a base de dados anterior
deve ser aproveitada para ser utilizada no novo sistema. Os dados existentes devem ser convertidos de acordo com as
especificações do novo sistema.
Não havendo base de dados automatizada, é necessário então,
para dar a carga inicial ao sistema, digitar as informações iniciais.
Conversão é a tarefa de passar os atuais arquivos, formulários e
dados do usuário para o formato requerido pelo novo sistema.
Um plano de conversão deve ser elaborado, de preferência, assim
que o modelo de implementação do usuário esteja pronto. Pode
haver a necessidade de além da conversão dos arquivos,
conversão de programas e procedimentos.
5.9.
Atividade 9: Instalação
Após os testes e a preparação dos dados é necessário o treinamento.
Treinamento é a tarefa final da equipe de desenvolvimento de sistemas. Um plano de treinamento deve ser
desenvolvido no início do projeto e precisa estar pronto ao mesmo tempo (ou antes) que o sistema esteja apto
para entrar em operação.
A atividade de treinamento tem como base as documentações produzidas pela
atividade Descrição dos Procedimentos (atividade 7), o banco de dados
convertido, produzido pela atividade Preparação da Base de Dados (atividade 8), e
a aprovação da qualidade do sistema, produzida pela atividade de Controle de
Qualidade (atividade 6)
Instalação do novo sistema pode ser uma atividade rápida, desde que a localização
dos equipamentos já esteja preparada e a localização do usuário, principalmente no
caso de sistemas on-line, esteja bem definida.
No caso de um sistema distribuído, de grande porte, pode haver uma única e
centralizada localização do computador e dezenas ou mesmo centenas de terminais
distribuídos. Desse modo, pode ser necessário instalar o sistema (e os dados) por
estágios, de acordo com uma escala previamente preparada.
Em alguns casos, a instalação poderá ser simplesmente uma "passagem" noturna para o novo sistema, sem
nenhuma comemoração ou fanfarra; em outros casos, a instalação poderá ser gradual, com grupos alternados
de usuários, recebendo manuais e simulando o uso do novo sistema até estarem seguros e começarem realmente a
utilizá-lo.
Não existe a obrigatoriedade de que toda a atividade deva terminar antes do início da atividade seguinte. Ao
contrário, algumas atividades podem ser interligadas c executadas ao mesmo tempo. É por esse aspecto não
seqüencial que usa-se a palavra atividade no ciclo de vida do projeto estruturado, em lugar da palavra mais
convencional fase. O termo fase refere-se tradicionalmente a um período de tempo de um projeto em que uma
e somente uma atividade é executada.
Para melhor entendimento da execução das atividades do ciclo de vida de um projeto, (e também para sua
familiarização com exemplos gráficos, embora esse assunto ainda não tenha sido abordado), é importante que
você veja a figura a seguir: ela é um fluxo de dados e não um fluxograma, pois não existe seqüência no
desenvolvimento das atividades.
A figura somente nos informa a(s) entrada(s) necessária(s) a cada atividade e a(s) saída(s) produzida(s). Como
agentes ou pessoas envolvidas tem-se: Usuários, Direção e Operadores.
O
ciclo
de
vida
do
projeto envolve, além das atividades, indivíduos que, embora exercendo funções diferentes, possuem características
comuns. São os usuários, diretores ou gerentes e o pessoal da operação. Todos fornecem entradas à equipe do projeto e são
os últimos receptores do sistema.
O primeiro e mais importante integrante do projeto de desenvolvimento de um sistema é o usuário, que deve ser tão bem
analisado c entendido, quanto as próprias requisições e objetivos a serem alcançados. À ele está reservado um tópico à parte.
Diretores ou gerentes (dirigentes) são os que definem os recursos que serão destinados ao projeto, algumas restrições dentro das
quais o sistema deverá ser construído, exigindo permanente garantia de que o projeto se manterá dentro dessas restrições.
Este conjunto de indivíduos engloba gerentes, diretores e supervisores.
Pessoal da operação é composto por programadores (que transformam as definições do analista ou projetista em um
conjunto de instruções executáveis) e operadores (responsáveis pelo centro de processamento, pela rede de
comunicações, pela segurança do hardware e dos dados do computador, bem como pela execução dos programas e
manipulação da saída das impressoras e monitores de vídeo).
6.
O usuário
É a pessoa ou grupo de pessoas para quem o sistema é construído, e que será
entrevistada muitas vezes pelo analista, para que sejam entendidas as
características que o novo sistema deverá ter.
A maioria dos usuários não se refere a eles mesmos como "usuários", pelo
fato da palavra ser freqüentemente utilizada em um diferente contexto,
para identificar os consumidores de drogas. Em algumas empresas o
problema foi evitado com a utilização dos termos "cliente" ou "proprietário"
para identificar o usuário. O usuário é o "proprietário" no sentido de que
recebe ou herda o sistema depois de pronto e é o "cliente" cm pelo menos
dois importantes aspectos: assim como em tantas outras atividades, "o
cliente sempre tem razão" não importando quão exigente ou desagradável
seja, e, o cliente, afinal de contas, é quem paga pelo sistema e tem o direito
ou a possibilidade de se recusar a pagar se não ficar satisfeito com o produto
recebido.
Na maioria dos casos» é muito fácil identificar o usuário, pois normalmente é a pessoa que emite uma solicitação formal
de um sistema. Mas existem situações em que a identidade do verdadeiro usuário é desconhecida ou em que o analista de
sistemas tem pouca ou nenhuma oportunidade de interagir diretamente com ele. É o caso de sistemas elaborados por
consultorias ou empresas de software, onde a interação entre as partes (empresa cliente e consultoria) é feita por agentes
contratantes ou setores administrativos. É evidente que situações assim provocam mal-entendidos.
Para que o usuário seja entendido e para que o analista possa transmitir suas idéias ao usuário é necessário
estabelecer o contato direto entre usuário e analista. Mesmo que outras pessoas estejam envolvidas como
intermediárias, é importante que haja reuniões regulares, frente a frente com a pessoa que irá receber o sistema. Se não for
possível a comunicação direta com o usuário, a documentação produzida pelo analista de sistemas torna-se ainda mais
importante e por isso deve ser objetiva e deve representar exatamente o comportamento do novo sistema.
Um dos equívocos freqüentemente cometidos por pessoas da área de processamento é imaginar que todos os usuários
são iguais. "Usuário" no singular implica na interação com apenas uma pessoa; mesmo quando é óbvio que mais de um
usuário está envolvido, existe a tendência de imaginá-los como um grupo humano indistinto e sem forma. Dizer que
um usuário é diferente do outro pelo aspecto da personalidade, do tipo físico, da experiência e dos interesses c uma
declaração simples. Mas existem diferenças importantes entre usuários, que um analista de sistemas deve ter em mente quanto
ao:
• tipo de função
• nível de experiência.
6.1.
A classificação dos usuários por tipo de função
Em um projeto se gasta tempo entrevistando usuários para estabelecer os requisitos do sistema. Mas, que usuários? De que
nível? Isso, naturalmente, depende do projeto e da doutrina da empresa, mas o analista interage com três tipos principais
de funções: usuários operativos, supervisores e executivos.
6.2.
Usuários operativos:
São os funcionários burocratas, operativos e administrativos que provavelmente terão contato diário com o novo
sistema (a menos que esteja sendo construído um sistema de apoio à decisão, caso em que o analista pode ter
pouco ou nenhum contato com esse grupo). Assim, em uma grande organização, o analista pode entrevistar
secretárias, agentes de seguros, despachantes de cargas, pessoal da entrada de pedidos e “assistentes” de todos os
tamanhos, e cores. No caso de um sistema de tempo real o analista falará com usuários operativos cujos títulos serão
engenheiros, físicos, operários de fábricas, pilotos, telefonistas, etc..
Características dos usuários operativos:
•
Interesse pelas funções que o sistema executará em relação ao seu
relacionamento com ele:
Os exemplos são:
• Que tipo de teclado terá que usar para se comunicar com o sistema?
• Que tipo de terminal será usado? Será ofuscante?
• Como o sistema avisará quando cometer um erro?
• Como serão distribuídas as informações nos relatórios?
E assim por diante.
Pode não parecer mas são problemas que devem ser levados em consideração. Os
usuários operativos talvez não tenham poder ou autoridade para aprovar o projeto de desenvolvimento de um sistema,
mas se eles o sabotarem ou simplesmente não o utilizarem, o novo sistema terá fracassado.
Isso quer dizer que o analista de sistemas deve ser autorizado a se comunicar diretamente com o usuário
operativo.
• Conhecimento apenas das tarefas que executam (visão "local" do sistema) e das pessoas com quem tem contato
direto:
Os usuários operativos podem não conhecer muito bem a estrutura da empresa e podem ter dificuldade em
descrever como suas atividades se encaixam na organização como um todo. Isso ocorre ou por falta de interesse deles
ou por falta de explicações do usuário supervisor. Uma consequência dessa situação é que o analista deve ser capaz de
desenvolver modelos do sistema que possibilitem tanto as visões locais (descrição de uma pequena parte do sistema,
independentemente das outras partes) como as visões globais (ideia geral de todo o sistema, evitando detalhes).
• Tendência em imaginar os sistemas em termos físicos, em termos de quais equipamentos serão usados para
implementar o sistema e como será implementado:
As discussões abstratas sobre funções e elementos de dados do sistema podem ser cansativas e difíceis para os usuários
operativos. É mais fácil ele imaginar que tipo de equipamento ou tecnologia deveria ser utilizada para o funcionamento
do sistema. Diante disso o analista pode achar necessário conversar com o usuário exclusivamente em termos que
lhe sejam familiares e a partir daí, fazer um modelo do que o sistema deve fazer, sem se importar com a tecnologia.
6.3.
Usuários supervisores:
São os funcionários em atividades de supervisão, que geralmente chefiam um
grupo de usuários operativos e são responsáveis por seus desempenhos. Eles
podem ter o título de supervisores mas também podem ter os de gerente, chefe de
grupo, chefe de seção, encarregado de setor, etc..
Características dos usuários supervisores:
• Conhecimento do serviço feito por seus subordinados operativos:
Muitos dos usuários supervisores eram originalmente usuários operativos que
foram promovidos à atual posição. Assim, eles geralmente conhecem o serviço
feito por seus subordinados e portanto, sabem suas necessidades, preocupações
e perspectivas.
• Orientado às condições orçamentarias:
O usuário supervisor é muitas vezes avaliado pelo desempenho de sua equipe em relação ao tempo gasto e ao
orçamento. Também pode ocorrer que um novo sistema possa auxiliá-lo controlar o desempenho de cada usuário
operativo. Por esse enfoque de eficiência operativa o usuário supervisor pode estar prevendo que o novo sistema
reduzirá o número de funcionários operativos ou evitará o aumento do pessoal quando o volume de trabalho crescer.
• Atitude de intermediário:
O usuário supervisor age muitas vezes como intermediário entre o analista de sistemas e o usuário operativo,
argumentando que os usuários operativos são muito ocupados para desperdiçarem o tempo conversando com
analista.
• Define requisitos e detalha orientações comerciais:
É com o usuário supervisor que o analista terá seu principal contato. Ele pode ser um membro passivo da equipe (no
sentido de só participar quando entrevistado), um componente de tempo integral ou até o gerente do projeto.
6.4.
Usuários executivos:
Normalmente não estão diretamente envolvidos nos projetos de desenvolvimento de
sistemas, a menos que o projeto seja muito grande ou muito importante que produza grande
impacto na organização. No caso de um projeto normal, o usuário executivo está dois ou
três níveis acima das atividades associadas ao projeto.
Características dos Usuários executivos:
• Autoridade financeira:
Os usuários executivos podem ter a iniciativa do projeto mas, provavelmente
servirão como autoridade financeira para as solicitações de projetos que se
originem nos níveis inferiores da organização.
• Não ajudam definir requisitos do sistema:
Usuários executivos normalmente não foram usuários operativos, ou, se o tiverem sido, foi há tanto tempo que
qualquer experiência que pudessem ter já está desatualizada. Dessa forma eles não estão em posição de ajudar definir
requisitos do sistema para os que realmente o utilizarão diariamente. A exceção é o sistema de apoio à decisão, que é
o mais utilizado pêlos usuários executivos e supervisores.
• Interesse nos aspectos estratégicos de lucros e perdas:
Normalmente, os usuários executivos não estão preocupados com problemas operativos (como custos de
transação, tipo de teclado, reflexos de tela, conservação de funcionários). O que eles esperam atingir são novos
mercados, novos produtos ou novas vantagens competitivas que obterão com o novo sistema.
• Têm visão global do sistema:
Os usuários do nível executivo estão mais interessados no resultado geral do sistema, não se interessando pêlos
detalhes. Por isso, é importante a utilização pêlos analistas, de ferramentas de modelagem de sistemas que
ofereçam uma visão geral do sistema para usuários executivos, e partes detalhadas para os usuários operativos.
• Capacidade de lidar com modelos abstratos:
Os usuários executivos interessam-se mais pêlos modelos abstratos por estarem habituados a lidar com modelos
financeiros, mercadológicos, organizacionais e de engenharia. Não estão interessados nos modelos "físicos" do novo
sistema, portanto, o analista não deve aborrecê-los com excesso de detalhes.
Usuários por tipo de função
Usuário Operativo
Usuário Supervisor
Usuário Executivo
Tem visão local
Pode ou não ter visão local
Tem visão global
Executa a função do sistema
Conhece a operação
Tem iniciativa sobre o projeto
Tem visão física do sistema
Orientado por considerações orçamentárias
Não tem experiência operativa
Muitas vezes age como intermediário
Tem preocupações estratégicas
6.5.
A Classificação dos Usuários por Nível de Experiência
Deveria ser óbvio que diferentes usuários tivessem níveis de experiência diferentes. É comum analistas de sistemas
imaginarem que todos os usuários desconheçam termos de processamento de dados. Isso talvez fosse válido há
muitos anos atrás, mas atualmente podemos distinguir usuários amadores, novatos e verdadeiros peritos em
processamento.
6.5.1. Usuários Amadores:
São os que nunca viram um computador e que exclamam que não entendem nada de
computadores. Eles podem sentir dificuldade em compreender a "linguagem" utilizada pelo
analista de sistemas para descrever os recursos, funções e características do sistema a ser
desenvolvido. O analista deve evitar o uso de termos técnicos e de representações abstratas do
sistema.
6.5.2. Usuários Novatos:
São pessoas que já participaram de um ou dois projetos de desenvolvimento de sistemas ou os que
tem computador em casa e já escreveram um ou dois programas em uma linguagem qualquer.
Esse usuário alardeia que sabe exatamente o que deseja que o sistema faça, que tipo de tecnologia
(equipamentos e linguagens) deverá ser utilizada e está disposto a apontar todos os erros
cometidos pelo analista no último projeto. As sugestões do usuário novato até podem ser corretas,
mas é prematuro decidir sobre hardware, software, linguagem de programação e banco de dados
antes que os verdadeiros requisitos do sistema tenham sido documentados.
6.5.3. Usuários Peritos:
Existem alguns usuários que realmente conhecem análise de sistemas, bem como a tecnologia dos
computadores. É muito bom para o analista trabalhar com esse tipo de usuário. O único problema
que pode haver é o usuário e o analista se empolgarem nas discussões sobre ferramentas e técnicas da
análise de sistemas e esquecerem que o objetivo real é a elaboração de um sistema que
funcione!
Usuários por nível de experiência
Usuário Novato
Usuário Amador
Nunca viu computador
Sente dificuldade para entender a
linguagem do analista
Diz que não entende nada de
computadores
Usuário Perito
Já participou de alguns projetos ou
tem computador em casa
Já escreveu um programa
Conhece realmente a tecnologia
dos computadores
Diz que sabe dizer exatamente o
que deseja do sistema
Pode dar sugestões corretas, mas
normalmente fora de hora.
Dá sugestões coerentes e oportunas
7. Técnicas de Entrevistas e de ColetadeDados
As entrevistas são feitas durante a atividade "análise de sistemas" do projeto de desenvolvimento de um sistema.
São entrevistados usuários, gerentes, auditores, programadores e várias outras pessoas que fazem parte do projeto
de desenvolvimento ou manutenção do sistema.
Por que as entrevistas são feitas durante a análise de sistemas?
• Para coletarmos informações:
O analista necessita de informações sobre o comportamento atual do sistema a ser
modificado ou sobre os requisitos do sistema a ser desenvolvido. Essas
informações estão "guardadas" na cabeça de alguma ou algumas pessoas.
• Para certificarmos nossa própria compreensão:
O analista precisa estar certo de que compreendeu o comportamento do sistema
atual ou os requisitos do novo sistema. Essa compreensão é adquirida através das
combinações da informações obtidas nas entrevistas efetuadas.
• Para executarmos o estudo custo x benefício:
O analista, através das combinações entre as informações colhidas, executa o
estudo da viabilidade do desenvolvimento do projeto levando-se em consideração
o custo (orçamento) e os benefícios proporcionados (resultados).
7.1.
Tipos de Entrevistas
A forma mais comum de entrevistas é a reunião pessoal e direta entre um analista de sistemas (acompanhado ou
não por mais um ou dois analistas do mesmo projeto) e o usuário final (ou mais interlocutores).
Durante a entrevista, as informações são anotadas por um dos entrevistadores, ou por um(a) secretário(a) ou
ainda, podem ser gravadas. As informações numa entrevista podem ser obtidas solicitando aos
entrevistados que respondam por escrito a um questionário, ou que descrevam por escrito os requisitos do
sistema. Um videocassete também pode ser usado para registrar uma entrevista.
Por solicitação do analista de sistemas, as entrevistas podem ser
conduzidas por especialistas, como peritos em industria, psicólogos
comportamentais e negociadores. Nesse caso o analista participa
como assistente.
Em 1977 a EBM apresentou o JAD ( Joint Application Development
-Desenvolvimento Conjunto de Aplicativos) uma forma especializada
de entrevistas que enfatiza e acelera o trabalho em equipe entre o usuário
e os técnicos. Os principais usuários e o pessoal da análise de
sistemas agrupam-se em uma intensiva reunião para determinar os objetivos do sistema e as transações
comerciais a serem suportadas. Eles são liderados ou supervisionados por um especialista treinado, que pode
conduzir o grupo para objetivos bem definidos. Os resultados incluem um protótipo do sistema proposto.
7.2.
Problemas Ocorridos nas Entrevistas
Falhas na atividade de levantamento das informações ou mal-entendidos entre usuário final e analista são
responsáveis por 50% dos erros de um projeto de desenvolvimento de sistemas.
Tem-se observado que a maioria dos problemas que ocorrem no desenvolvimento de um sistema não envolve
hardware ou software, mas sim o peopleware. Os maiores problemas são encontrados nas entrevistas e os mais
comuns são:
Entrevistar a pessoa errada:
Devido a problemas e interesses organizacionais, o analista corre o risco de ser levado a falar com o
perito oficial da função, que demonstra nada saber dos verdadeiros requisitos do sistema.
Entrevistar no momento errado:
Mesmo falando com o usuário certo, a entrevista pode ocorrer durante um período que o usuário
esteja muito ocupado ou envolvido com outros problemas emergenciais.
Fazer perguntas erradas: (e obter respostas erradas)
A diferença de vocabulário, experiências, percepções, valores, etc. existente entre analista
usuário facilita o erro na comunicação. É fácil o analista fazer uma pergunta racional sobre o
sistema e o usuário não entender absolutamente nada, sem os dois perceberem o fato. É fácil
também, o usuário dar algumas informações ao analista e este, por sua vez, nada entender. As
ferramentas de modelagem são uma tentativa de fornecer uma linguagem comum e sem
ambiguidades para diminuir esses mal-entendidos.
Criar ressentimentos:
Podem ser criados ressentimentos recíprocos onde: o usuário pode deduzir que o objetivo do novo
sistema é tomar-lhe o emprego e o analista pode ressentir-se do modo como o usuário responde às
suas perguntas. Podem existir várias razões para o usuário não sentir-se à vontade em relação ao analista
e vice-versa, o que torna a comunicação muito mais difícil.
Discutir problemas de implementação e não os requisitos:
Isso normalmente ocorre quando o usuário está direcionado para os termos de implementação do sistema
atual e conhece alguma coisa de tecnologia de computadores. O analista deve lembrar que não é sua
obrigação, em uma entrevista de análise, discutir sobre características de implementação do
sistema, a não ser que sejam muito importantes.
Confundir sintomas com problemas:
A queixa do usuário é um sintoma ou um problema, dependendo do relacionamento dela com os
parâmetros do sistema. O importante é descobrir o problema, e tratá-lo dentro dos limites do
sistema.
Dificuldade do usuário em explicar o que ele quer:
O usuário pode ser incapaz de explicar o que quer do sistema ou mudar de opinião sobre o que ele
mesmo já definiu. Quanto maior for esse problema, mais importante torna-se a prototipação ou
utilização de modelos gráficos.
Desentendimento entre usuários de mesmo nível, subordinados e chefes:
Essa situação coloca o analista no papel de mediador, negociador entre as partes em
desentendimento. O analista não pode abdicar desse papel; ele deve conduzir todos a uma sala, e
conversando, tentar chegar a um consenso.
7.3.
Diretrizes para Realização de Entrevistas
Desenvolver um plano geral de entrevistas:
É muito importante descobrir quem deve ser entrevistado. Para auxiliar o analista é interessante que se tenha
um organograma da empresa que mostre as pessoas da organização usuária, bem como a hierarquia
entre elas. No organograma pode não aparecer a pessoa que mais sabe a respeito de algum aspecto do
sistema por ser um funcionário operacional. Mas aparecem os superiores que indicam o caminho ao
analista. É necessário também, conversar com os usuários na sequência adequada e na ordem certa. É o caso
de funções desempenhadas simultaneamente por duas pessoas; é interessante que essas duas pessoas sejam
entrevistadas também simultaneamente.
Obter autorização para falar com os usuários:
Em organizações menores ou informais essa autorização não é necessária. Porém, em empresas
grandes, não é politicamente comum realizar entrevistas sem prévia autorização. A autorização virá
do encarregado de um setor usuário ou do representante nomeado pela equipe de
desenvolvimento que terá essa função.
Planejar a entrevista:
É necessário o planejamento da entrevista para que se faça um bom uso do tempo. O analista deve
compreender que está tomando tempo do usuário e que ele (ou o chefe dele) pode achar que está
desperdiçando tempo.
Colete, antes da entrevista, tantos dados relacionados ao assunto quanto for possível; prepare suas
perguntas antecipadamente e se possível, remeta-as ao usuário com um ou dois dias de antecedência; marque uma
reunião posterior para certificar-se de seu próprio entendimento e das reais necessidades do usuário.
Os dados colhidos serão manipulados, documentados, analisados, e passarão para uma notação que o usuário pode
nunca ter visto. Daí faz-se necessária a reunião posterior a entrevista, permitindo que você certifique-se que:
• não cometeu nenhum engano em seu entendimento;
• o usuário não mudou de opinião;
• o usuário entende a notação ou representação gráfica dessas informações.
Utilizar ferramentas adequadas:
Pode ser conveniente usar ferramentas de modelagem, mas sem abusos, pois o objetivo das
ferramentas é facilitar as discussões e não complicá-las.
Tentar enxergar em quais informações o usuário está mais interessado:
A ordem em que o analista obtém as informações costuma não ter muita importância, mas pode
significar muito para o usuário. Deixe o usuário começar a entrevista por onde ele preferir. Alguns
desejarão começar pêlos relatórios, outros poderão estar mais interessados nas informações de
entrada, e outros ainda preferirão falar sobre os detalhes dos dados de um depósito de dados. É
importante enxergar os requisitos do sistema da perspectiva desses usuários, e manter essa
perspectiva em mente durante a entrevista.
Usar um estilo adequado de entrevistar:
Fazer perguntas detalhadas não é fácil. É bom conhecer alguns estilos para extrair as informações
necessárias:
Relacionamentos: Peça ao usuário para explicar a relação entre o assunto que está em discussão e as
demais partes do sistema. Se ele estiver falando sobre uma função peca-lhe que explique seu
relacionamento com outras funções. Isso não só auxilia você a descobrir mais detalhes como o
ajudará a descobrir interfaces e relacionamentos entre os dados e processos.
Pontos de vista alternativos: Peça ao usuário que descreva o ponto de vista de outros usuários (seu chefe ou seu
subordinado) em relação ao que está sendo discutido.
Detalhamento: Solicite do usuário uma descrição informal sobre o que você estiver interessado. Dependências:
Pergunte ao usuário se a existência do item em discussão depende de alguma outra coisa.
Confirmação: Diga ao usuário o que você acha que ouviu ele dizer, usando suas próprias palavras e peça
confirmação.
Como disse William Davis (1983):
"Sua atitude em relação à entrevista é importante na determinação de seu sucesso ou fracasso. Uma entrevista não
é uma competição. Evite ataques; evite o uso excessivo do jargão técnico; conduza uma entrevista, não uma
tentativa de persuasão. Fale com as pessoas, não fale muito alto, nem muito baixo, nem indiretamente. Uma
entrevista não é um julgamento. Faça perguntas detalhadas, mas não faça perguntas para confirmar outras
respostas. Lembre-se que o entrevistado é o perito e que é você que precisa de respostas. Para concluir, de
modo algum critique a credibilidade de outras pessoas."
7.4.
Formas Alternativas de Coleta de Dados
As entrevistas não são o único meio de coletarmos informações sobre um sistema. Podemos citar ainda:
• Questionários: Podem ser remetidos questionários escritos para os usuários ou setores que interagem
com o sistema.
• Demonstrações feitas por fornecedores: Solicitar demonstrações de sistemas prontos, desenvolvidos
por fornecedores de hardware ou software pode auxiliar não só na decisão pelo produto, como
também revelar funções e dados que não haviam sido notados pelo analista.
• Visitas a outras instalações: É interessante visitar outras empresas do mesmo ramo que possuem
sistemas semelhantes ao que está em desenvolvimento. Combine a visita para obter informações
diretas sobre as características e aptidões do sistema.
• Pesquisa externa: Se você estiver desenvolvendo um sistema para uma nova aplicação e
trabalhando com usuários que não são experientes na descrição de requisitos, talvez seja
interessante tentar obter informações em sociedades profissionais ou em periódicos e livros
técnicos, e em relatórios de pesquisas.
8. Ferramentas de Modelagem da AnáliseEstruturada
Existem diferentes tipos de modelos que podemos desenvolver.
O termo modelo representa um conceito que você tem usado por toda sua vida. Veja!
Exemplos de Tipos de Modelos:
Mapas:
modelos bidimensionais do mundo em que vivemos
Globos:
modelos tridimensionais do mundo em que vivemos
Fluxogramas:
representações esquemáticas de decisões e sequência de atividades
Desenhos Arquitetônicos:
representações esquemáticas de edifícios ou pontes
Maquetes:
representações tridimensionais de edifícios ou pontes
Pautas Musicais:
representações gráficas/textuais das notas musicais e tempo de uma peça musical.
Por que devemos construir modelos do sistema que será desenvolvido?
Para realçar ou enfatizar as características mais importantes de um sistema, e poder comunicar-nos de
uma maneira clara com o usuário e com a equipe de desenvolvimento, impedindo distrações com
aspectos irrelevantes do sistema.
A maior parte do trabalho do analista de sistemas envolve a modelagem do sistema que o usuário deseja. Os
modelos de análise de sistemas são, na maior parte, representações abstratas daquilo que eventualmente se tornará
uma combinação de hardware e software de computadores.
Assim, o analista usa ferramentas de modelagem para focalizar a atenção nas características importantes do sistema,
discutir modificações e correções nos requisitos do usuário com baixo custo e mínimo risco e verificar se realmente
entendeu o ambiente e necessidades a serem supridas, de uma maneira que possa se fazer entender pêlos projetistas e
programadores que construirão o sistema.
Nem todas as ferramentas de modelagem cumprem essas finalidades. Uma descrição narrativa de 500 páginas dos
requisitos do usuário (que é, na realidade um modelo) torna:
• completamente obscuras todas as características do sistema;
• a construção do sistema mais cara do que o próprio modelo e
• difícil o entendimento pelo analista, sobre as reais necessidades do sistema.
8.1. Características de uma Ferramenta de Modelagem Útil ao Analista
• O analista pode utilizar qualquer modelo que lhe seja útil conforme a situação em que se encontrar.
• Diferentes usuários podem precisar de diferentes ferramentas de modelagem pela experiência anterior ou por
considerarem certos diagramas confusos e inibidores.
• Diferentes projetos podem exigir diferentes ferramentas face aos padrões de documentação impostos
por organizações externas.
• Diferentes tipos de sistemas podem exigir modelos diferentes para realçar adequadamente as
características importantes.
Qualquer ferramenta a ser utilizada deve ter as seguintes características:
• Ser gráfica;
• Permitir que o sistema possa ser visualizado de forma subdividida (modular), seguindo a abordagem Top
Down (da forma geral para o específico);
• Permitir desenvolver a modelagem do sistema com a mínima redundância;
• Ajudar o leitor a prognosticar o comportamento do sistema;
• Ser de fácil interpretação.
A maioria das técnicas e ferramentas de modelagem de sistemas mais conhecidas apoia-se em gráficos. O uso
de gráficos não é obrigatório em um modelo de sistema, porém, o velho ditado popular de que "uma figura vale por
mil palavras" é uma boa justificativa para se dar preferência aos gráficos em lugar de textos narrativos.
Isso não significa que uma figura possa descrever, necessariamente tudo sobre um sistema. Geralmente
usamos gráficos para identificar os componentes de um sistema e as interfaces entre eles.
Os outros detalhes (respostas para "Quantos?", "Em que seqüência?", etc.) são apresentados em documentos
textuais de apoio. Mais à frente veremos os seguintes documentos textuais: Dicionário de Dados e
Especificação do Processo.
Isso não significa que todos os analistas de sistemas devam usar o conjunto de ferramentas de modelagem
orientadas para gráficos e textos apresentados neste material.
Download

Texto 02 - Documentos para Aulas Práticas