Escolar Documentos
Profissional Documentos
Cultura Documentos
INFORMAÇÃO
FEA/USP – EAD-0658
vidal@usp.br
2012
FEA/USP – EAD-0658 – Desenvolvimento de Sistemas de Informação II
SUMÁRIO
Introdução..................................................................................................................................... 43
Definição de Classes de Dados ...................................................................................................... 47
Definição dos Requisitos de um Sistema de Informação.................................................................. 49
BANCOS DE DADOS ............................................................................................................................. 51
Introdução..................................................................................................................................... 51
Estrutura de uma Base de Dados ................................................................................................... 53
Projeto de Bancos de Dados .......................................................................................................... 57
MODELAGEM DE DADOS ..................................................................................................................... 58
Introdução..................................................................................................................................... 58
Relacionamentos Um-para-Um ...................................................................................................... 61
Relacionamentos Um-para-Muitos ................................................................................................. 63
Relacionamentos Muitos-para-Muitos............................................................................................ 64
Conjuntos de Relacionamentos ...................................................................................................... 65
Variação no Tempo ....................................................................................................................... 68
O Modelo Relacional de Dados (RDM - Relational Data Model) .................................................... 69
DICIONÁRIO DE DADOS ....................................................................................................................... 69
Introdução..................................................................................................................................... 69
Nome dos Dados............................................................................................................................ 70
Sinônimos...................................................................................................................................... 71
Homônimos ................................................................................................................................... 71
Domínio ........................................................................................................................................ 71
Características dos Dados ............................................................................................................. 72
Dados-chave ................................................................................................................................. 74
NORMALIZAÇÃO DE T ABELAS DE DADOS ............................................................................................. 75
Introdução..................................................................................................................................... 75
Primeira Forma Normal (1FN) ...................................................................................................... 76
Segunda Forma Normal (2FN) ...................................................................................................... 77
Terceira Forma Normal (3FN) ...................................................................................................... 79
Resultado da Normalização de Tabelas.......................................................................................... 80
Utilização de Índices ..................................................................................................................... 82
Desempenho do Sistema ................................................................................................................ 83
ANÁLISE DAS REGRAS DO NEGÓCIO........................................................................................... 84
INTRODUÇÃO ...................................................................................................................................... 84
LÓGICA ESTRUTURADA ....................................................................................................................... 84
TABELAS DE DECISÃO ......................................................................................................................... 85
ÁRVORES DE DECISÃO ........................................................................................................................ 85
DIAGRAMAS DE TRANSIÇÃO DE ESTADOS ............................................................................................ 86
CONSTRUÇÃO DO MODELO DO SISTEMA .................................................................................. 87
MÓDULOS DO SISTEMA ....................................................................................................................... 87
DIAGRAMA HIERÁRQUICO DO SISTEMA ............................................................................................... 88
ESPECIFICAÇÃO DE MÓDULOS DO SISTEMA .......................................................................................... 89
Introdução..................................................................................................................................... 89
Implementação por Uma Pessoa .................................................................................................... 89
Implementação por Várias Pessoas ................................................................................................ 90
Diálogo Sistema x Usuário ............................................................................................................ 90
Exemplo de Especificação de Módulo ............................................................................................ 91
BIBLIOGRAFIA .................................................................................................................................. 94
Conceitos Básicos
A Necessidade de Informação
Ao procurar um número de telefone, conferir seu saldo bancário, escrever um relatório,
cuidar da velocidade do seu carro, escolher um filme para assistir no cinema, você está
processando dados.
O resultado de suas atividades de processamento de dados é a informação, que você usa
para conduzir suas atividades. Quanto melhor informado você estiver, mais facilmente
alcançará seus objetivos.
Ao menos três grandes motivos combinados tornam o processamento de dados e a
obtenção de informações tão importante nas organizações:
A competitividade crescente.
A administração científica.
A tecnologia da informação e comunicação (TIC).
A globalização da economia, a competitividade e o constante crescimento das
organizações, ao mesmo tempo e na mesma proporção em que afasta os administradores
de alto nível da supervisão mais direta das operações, tende a tornar cada vez mais crítico
o recurso informação e, conseqüentemente torna necessário o uso das tecnologias de
informação e comunicação (TIC) para auxiliá-los.
Imagine-se flutuando em um lugar completamente escuro e silencioso. Não há odores,
não existe a sensação de calor ou frio. O ar está parado, ou seja, você não sente sensação
alguma. Certamente você se sentiria mal e não saberia exatamente o que fazer. O que está
faltando? Informação! Você precisa ver ouvir e cheirar, enfim sentir o seu lugar.
Assim como para sobreviver o seu corpo depende de ar, água e alimentos, você depende
de informação. E não apenas para sobreviver, mas para alcançar seus objetivos: aprender,
divertir-se, relacionar-se com os outros, trabalhar, se afirmar na sociedade e, certamente,
administrar empresas.
A informação possui importância fundamental para todos nós, individual e coletivamente,
isto é, para as pessoas, famílias, associações, comércio, escolas, indústrias, governo,
enfim indivíduos e organizações de qualquer natureza.
A sobrevivência e o sucesso das organizações criadas pelo homem dependem
fundamentalmente da informação. Sem ela estarão a esmo no escuro e não poderão ser
administradas para alcançar seus objetivos.
O Conceito de Sistema
Um sistema pode ser definido como um conjunto de elementos ligados entre si por
cadeias de relações de modo a constituir um todo organizado que visa o alcance de
determinado objetivo. A idéia-chave é a ênfase na existência de um todo, ou seja, a idéia
de que tudo faz parte de um contexto maior. As relações e trocas entre as partes e o todo
caracterizam a dinâmica dos sistemas.
A palavra sistema envolve, de fato, amplo espectro de idéias. Pode-se pensar em sistema
solar, ou no corpo humano como um sistema. Diariamente deparamo-nos com sistemas
de transporte, sistemas de comunicação, sistemas biológicos, sistemas financeiros,
sistemas de informação etc.
Considera-se sistema um conjunto de elementos interdependentes, ou partes que
interagem formando um todo unitário e complexo que possui um objetivo. No entanto, é
preciso distinguir sistemas fechados, como as máquinas, um relógio etc., dos sistemas
abertos, como os sociais e biológicos: o homem, a sociedade, a empresa e a informação.
Os sistemas abertos envolvem a idéia de que determinadas entradas são introduzidas no
sistema e que, após processadas, geram certas saídas. Com efeito, a empresa vale-se de
recursos materiais, humanos, tecnológicos, financeiros e informações, de cujo
processamento resultam produtos e serviços a serem fornecidos ao mercado.
O comportamento das empresas é determinado por seus processos de negócio, que são
seqüências específicas de atividades a serem desenvolvidas em conseqüência da política
da empresa e da busca de seus objetivos. Os processos orientam os funcionários em como
efetuar as tarefas que cada componente da empresa requer para que seus objetivos sejam
alcançados.
Finalmente, o ciclo vital, que pode ser facilmente percebido através do surgimento de
novas empresas, sua evolução, crescimento e suas mudanças; e também através do
desaparecimento de empresas antigas, obsoletas ou mal administradas.
Sistemas de Informação
Informação Empresarial
Há muitas formas de se conceituar informação, dependendo do ângulo de observação e
do campo de conhecimento em estudo. Do ponto de vista mais específico de sistemas de
informação empresariais pode-se examiná-lo a partir do entendimento da informação
como o resultado do tratamento de dados. Entende-se neste caso um dado como um
item elementar de informação (um conjunto de idéias ou fatos expressos através de letras,
dígitos ou outros símbolos) que, tomado isoladamente, não transmite nenhum
conhecimento, ou seja, não possui significado intrínseco.
Partindo-se do conceito acima, pode-se definir informação como o resultado de fatos e
idéias relevantes, ou seja, dados, que foram transformados (processados) numa forma
inteligível para quem os recebe, e tem valor (utilidade) real ou aparente para a tomada de
decisões presentes e/ou futuras.
Dentro desse conceito de informação, um sistema de informação é um componente do
sistema organizacional, constituído por uma rede espalhada pela empresa inteira e
utilizada por todos os seus demais componentes. Seu propósito é obter informações
dentro e fora da empresa, torná-las disponíveis para os outros componentes, quando
necessitarem, e apresentar as informações exigidas pelos que estão fora (ambiente
externo).
Hoje, os sistemas de informação são essenciais para conduzir os negócios. A
sobrevivência e até mesmo a existência de organizações em muitos setores é difícil sem
largo uso da tecnologia da informação e comunicação. As empresas hoje utilizam os
sistemas de informação para atingir seis objetivos principais:
1. Conseguir excelência operacional;
2. Desenvolver novos produtos, serviços e modelos de negócios;
3. Obter relacionamento mais estreito com clientes e fornecedores;
4. Melhorar a tomada de decisão;
5. Obter vantagem competitiva;
Decisões Empresariais
Os sistemas de informação, em geral, são utilizados para orientar a tomada de decisão
dentro de processos de negócio, em três níveis diferentes na administração de uma
empresa: o operacional, o tático (ou gerencial) e o estratégico. O nível operacional
envolve decisões pelas quais o administrador consegue que atividades específicas sejam
executadas de modo eficaz e eficiente. Já o nível tático envolve decisões pelas quais o
administrador assegura que os recursos são obtidos e usados de modo eficaz e eficiente
para que os objetivos da empresa sejam atingidos. Finalmente, o nível estratégico envolve
as decisões ligadas à definição ou mudança dos objetivos da empresa, identificação dos
recursos que deverão ser usados para atingir estes objetivos e políticas para aquisição e
uso destes recursos.
As decisões envolvidas nestes três níveis também podem ser divididas em três tipos,
conforme a necessidade de uso de intuição e criatividade ou de raciocínio lógico:
decisões estruturadas, decisões semi-estruturadas e decisões não-estruturadas.
As decisões estruturadas são, em geral, repetitivas (rotineiras). O tomador de decisão tem,
neste caso, paradigmas bastante precisos que lhe prescrevem quais as informações
necessárias e como utilizá-las no processo de decisão. Existem critérios objetivos para
medir a qualidade da decisão tomada e os seus resultados.
Já as decisões não-estruturadas são, em geral, únicas. O tomador de decisão está diante de
um problema novo para o qual não há experiência anterior que indique quais são as
Introdução
Uma das abordagens para o desenvolvimento de sistemas de informação empresariais é a
“regra dos três passos” que começa com a análise dos processos de negócio da
organização, passa então para a análise das entidades e eventos que os processos
abrangem e sobre os quais precisam de informação e termina com a análise do
relacionamento entre os objetos de dados que compõem as informações necessárias aos
processos de negócio que o sistema deve apoiar.
Perguntas que devem ser feitas:
Quais informações são entrada para o processo?
Quais informações são modificadas ou geradas durante o processo?
O que acontece com as informações depois do processo ter sido concluído?
Com base na “regra dos três passos” e para responder a estas perguntas vamos
desenvolver um sistema de informação através das seguintes etapas:
Etapa 1 Análise dos Processos de Negócio
Definição e caracterização dos processos de negócio que serão beneficiados pelo sistema
de informação, isto é, cujas atividades serão executadas ou automatizadas com apoio das
informações fornecidas pelo sistema. Nesta etapa se define a abrangência do sistema de
informação, através da especificação dos processos de negócio que serão por ele
atendidos.
Uma vez que todos os processos de negócio de uma organização estão relacionados e
trocam informações uns com os outros, dentro do processo global que é a própria
organização, uma tendência natural nesta fase é aumentar demasiadamente a abrangência
do sistema a ser desenvolvido, na tentativa de fazê-lo suprir as necessidades de
informação de todos os processos.
Para não correr este risco considere que assim como existe um processo de negócio
global que corresponde à organização como um todo, existe um sistema de informação
global que atende à organização como um todo. Porém, desenvolver o processo global ou
o sistema de informação global é uma tarefa extremamente complexa, quase impossível.
Por esse motivo, dentro do conceito de sistemas, eles devem ser divididos em partes,
subprocessos ou subsistemas, de forma a tornar mais simples sua análise e
desenvolvimento, tomando-se obviamente o cuidado de não se perder a visão do todo.
Desta forma, assim como no caso dos processos, o sistema de informação de uma
empresa é composto por diversos subsistemas integrados entre si e que são analisados,
desenvolvidos e implantados separadamente, cada um ha seu tempo, conforme as
necessidades do negócio.
Nesta etapa, para os processos de negócio definidos como prioritários, é desenvolvido um
conjunto de diagramas denominado Modelo de Processos de Negócio ou BPM (Business
Process Model). O BPM abrange todos os processos que serão beneficiados pelo sistema
de informação a ser desenvolvido. Para representar o fluxo de atividades e as decisões
dos processos o BPM utiliza uma linguagem gráfica denominada BPMN (Business
Process Model Notation) que estudaremos e utilizaremos para modelar os processos.
Etapa 2 Análise de Informações
A partir do BPM, a segunda etapa consiste na elaboração de uma análise de entidades e
eventos cujas informações são necessárias para os negócios, ou seja, na definição dos
objetos de dados de interesse para a organização, que devem ser armazenados e
relacionados através das tabelas que formarão o banco de dados do sistema de informação
a ser desenvolvido.
Para modelar a estrutura dos dados do sistema, é construído um diagrama contendo cada
objeto de dado (entidade ou evento) identificado e linhas interligando-os, representando o
relacionamento entre eles. Uma das principais vantagens obtidas com a construção deste
diagrama, denominado Modelo Relacional de Dados ou RDM (Relational Data Model) é
o conhecimento do tipo de relacionamento existente entre as entidades ou tabelas que
comporão o banco de dados do sistema de informação que apoiará os processos de
negócio da empresa.
A construção do RDM, que será estudada mais adiante, fornece uma visão de alto nível
dos objetos de dados ou tabelas envolvidas no sistema de informação e ajuda a descobrir
os objetos de dados que não foram detectados pelo BPM. Além disso, através do RDM
são definidas as chaves identificadoras ou primárias (PK de primary-key) de cada tabela
de dados, bem como suas chaves estrangeiras (FK de foreign-key), necessárias para
estabelecer o relacionamento entre as tabelas de dados que representam os objetos de
dados de interesse do negócio.
Durante a construção do RDM também é elaborada uma lista detalhada com as
características de todos os dados que serão armazenados em cada tabela que formará o
banco de dados do sistema de informação. Os dados deverão ser descritos em termos de
seus nomes completos, nomes código, tipo, tamanho, precisão, domínio (valores válidos),
regras de validação, máscaras de formatação etc., de forma a permitir a construção da
base de dados através do software gerenciador de banco de dados (SGBD) escolhido.
Etapa 3 Definição da Interface com os Usuários
A partir a construção do modelo de dados do sistema de informação, nesta etapa são
construídos modelos de formulários para entrada e saída de dados, que correspondem à
interface do sistema com os usuários. Os formulários de entrada normalmente
correspondem a telas ou páginas eletrônicas, contendo títulos e campos de dados, através
das quais os usuários poderão alimentar o sistema de informação com os dados
necessários para a descrição de entidades e eventos de interesse do negócio. Os
formulários de saída correspondem a consultas a informações efetuadas pelos usuários.
As consultas normalmente apresentam seus dados aos usuários através de listas na tela ou
relatórios contendo relações de dados contextualizados que atendem suas necessidades de
informação.
As consultas e os modelos de formulários e relatórios são construídos através de
ferramentas automatizadas normalmente associadas ao banco de dados do sistema de
informação.
Etapa 4 Análise de Regras do Negócio
A partir da análise de processos e da análise das informações, a quarta etapa consiste na
análise das regras de negócio necessárias para a execução do processo, e que deverão ser
automatizadas pelo sistema de informação. Ou seja, na definição das permissões de
acesso, decisões, cálculos e outros processamentos que traduzam as políticas e as regras
que definem a forma como os processos de negócio devem ser conduzidos. Automatizar
Análise de Processos
Introdução
A dinâmica imposta por uma economia estável e globalizada coloca os sistemas de
informação como diferencial competitivo para a sobrevivência das empresas no mercado.
A compreensão das necessidades do negócio, transformando-os em requisitos sistêmicos
transformou-se no grande desafio para os administradores conseguirem manter o seu
negócio competitivo e permitir a exploração ou a descoberta de novas oportunidades.
As empresas têm sentido cada vez mais a necessidade de compreender os mecanismos
que conduzem a empresa, como meio de garantir que a tomada de decisões seja feita de
maneira ágil e com mínimo de risco. A habilidade de modelar os seus processos,
permitindo que a organização conheça detalhadamente suas áreas de negócio, facilita
quaisquer esforços visando melhoria de desempenho, seja do ponto de vista monetário,
produtos e serviços. O processo organização também pode ser visto como um conjunto de
processos menores, operacionais e gerenciais, que se desdobram em etapas, e que por sua
vez se subdividem em atividades e estas em tarefas que devem ser executadas pelas
pessoas para o alcance dos objetivos.
Conceito Definição
Atividade Termo genérico para o trabalho desempenhado pela organização.
Processos, subprocessos e tarefas são tipos de atividades.
Tarefa Tarefa é uma atividade atômica incluída num processo. Num modelo
de processos, a tarefa é o desdobramento mais detalhado do trabalho
executado no processo.
Processo Qualquer atividade desempenhada no interior da organização. No
modelo de processos, é retratada como uma rede constituída por
outras atividades em fluxo e por seus respectivos controles de
seqüenciamento (eventos e junções). Um processo de negócio contém
um ou mais subprocessos.
Evento Algo que “acontece” no curso do processo de negócio, influenciando
seu fluxo. Sempre há o evento inicial, o evento final e as muitas vezes
também há eventos intermediários.
As pessoas que atuam na organização podem ser fontes de processos e/ou participantes de
processos. Normalmente é mais conveniente avaliar processos do que avaliar pessoas,
pois a avaliação de processos reforça o caráter sistêmico e complementar do conjunto de
pessoas.
O desempenho dos processos de uma organização deve ser avaliado sistematicamente, de
forma a se poder avaliar adequadamente o desempenho da organização como um todo.
As melhorias de desempenho a serem alcançadas precisam ser quantificadas e para isso é
necessário comparar padrões desejados de desempenho e indicadores de desempenho
para cada processo da organização.
Em princípio sempre é possível melhorar processos, mas para isso é necessário:
Modelar os processos de modo a atender eficazmente os objetivos da organização;
Direcionar os processos da organização ao atendimento dos clientes – internos
e/ou externos;
Utilizar recursos, ferramentas e inovação para aumentar a eficiência de processos;
Capacitar as pessoas a fazerem certo desde a primeira vez;
Conhecer como cada tarefa, executada por cada pessoa, se insere no processo
global da organização.
Os benefícios que podem ser obtidos da modelagem de processos de negócio
compreendem, entre outros:
Melhoria da satisfação do cliente (interno e/ou externo);
Definição de Processo
Um processo de negócio pode ser definido como um conjunto de atividades e tarefas
estruturadas, seqüenciais e medidas que transforma um ou mais tipos de entrada e cria um
produto ou serviço que tem valor para determinados clientes ou mercados.
Processos eficientes e eficazes possuem as seguintes características:
Repetição: é repetido diversas vezes o longo do tempo;
Estabilidade: é executado sempre da mesma forma;
Previsibilidade: pode ser planejado e controlado;
Mensurabilidade: pode ser medido e ter seu desempenho avaliado com base em
critérios e parâmetros pré-definidos;
Documentação: tem todas as atividades e tarefas que o compõem descritas de
forma que diferentes pessoas possam executá-las da forma prevista.
Elementos de um processo:
1. Nome do Processo
2. Escopo e Limites
3. Participantes
a. Clientes (internos e/ou externos)
b. Fornecedores (internos e/ou externos)
4. Requisitos de Entrada e Saída
5. Atividades
a. Tarefas
b. Decisões
6. Indicadores
a. Critérios e parâmetros
b. Medidas
7. Documentação.
acordo com uma decisão tomada. Estes elementos se encontram conectados por linhas de
seqüência, que mostram como flui o processo.
Elemento de Início
No início do processo de solicitação de crédito está inserido o símbolo de “evento de
início” indicando o seu início. Os processos podem se iniciar de distintas formas, o
BPMN provê diferentes tipos de eventos de inicio (simples, mensagem, sinal, entre
outros).
Elemento de Fim
Ao final do processo encontra-se o símbolo de “evento de fim", indicando o término do
processo. Como podemos observar no exemplo, o processo termina quando o solicitante
foi recusado, a solicitação de crédito foi reprovada, ou se realizou o desembolso do
crédito para o cliente.
Elemento de Desvio
O desvio utilizado no exemplo anterior é um desvio exclusivo, isto é, das várias
alternativas apresentadas somente uma pode ser escolhida. Dentro do processo de
solicitação de crédito podemos observar dois exemplos do uso do desvio exclusivo, a
princípio, dependendo do resultado da verificação da informação do solicitante o fluxo
tomaria um caminho ou outro, se o resultado for “solicitante reprovado” o processo
terminaria, mas se solicitante for aceito o processo continua. No segundo desvio a decisão
se baseia no resultado da análise do crédito, já que se a solicitação foi recusada, se
informa ao cliente e se for aprovada se procede à realização da liberação.
Se analisarmos o processo de Solicitação de Crédito, podemos ver que existem atividades
que podem ser analisadas em mais detalhe, uma destas atividades é a verificação da
informação fornecida pelo solicitante, já que normalmente as instituições financeiras que
oferecem créditos realizam várias análises do solicitante, por exemplo, verificam se o
solicitante já é um cliente da instituição, se é um bom pagador ou pelo contrario, se se
encontra em alguma lista de clientes devedores. Finalmente consultam sua situação
financeira.
As atividades podem ser compostas ou simples. No BPMN as atividades compostas são
conhecidas como subprocessos, e as atividades simples (atômicas) como tarefas.
Tarefa
Utiliza-se uma tarefa quando o trabalho realizado no processo não pode ser decomposto
em mais detalhes. Uma tarefa normalmente é executada por uma pessoa e/ou um sistema
de informação.
SubProcesso
Um subprocesso é uma atividade composta que é incluída dentro de um processo. Uma
atividade composta é representada por uma figura que inclui um conjunto de atividades e
uma seqüência lógica (processo) que indica que esta atividade pode ser analisada em mais
detalhe. Visualmente pode ser apresentada fechada (colapsada) ou aberta (expandida).
O diagrama do fluxo do processo de Solicitação de Crédito ficaria da seguinte maneira ao
se incluir a atividade de verificação de informação como um subprocesso.
Outra das atividades do processo de Solicitação de Crédito que pode ser mais detalhada é
a Liberação do Crédito.
Se visualizamos o subprocesso de Liberação do Crédito no diagrama a seguir, podemos
observar que existem varias formas de liberar um crédito: depósito em conta,
refinanciamento de outro crédito ou carta de crédito. Estas formas não necessariamente
têm que ser excludentes, isto é, um crédito pode ser desembolsado usando somente uma
das formas disponíveis, ou usando diferentes combinações, por exemplo, uma parte com
depósito em uma conta e outra parte em carta de crédito. Para diagramar esta situação de
negócio utiliza-se o desvio inclusivo como elemento de decisão, esta decisão permitirá
ativar um ou vários caminhos dependendo dos dados do processo.
Uma vez liberado o crédito deve-se informar ao cliente o resultado, sem dúvida é
necessário que todas as formas de liberação que tenham sido utilizadas estejam
finalizadas para realizar a atividade de informar o resultado ao cliente, para isto se utiliza
o desvio inclusivo como elemento de convergência, (sincronizador) o que significa que
esperará a conclusão de todas as formas de liberação antes de continuar com o fluxo.
No exemplo anterior pode-se visualizar uma anotação dentro do diagrama de processo. O
BPMN prove diferentes símbolos que permitem incluir informação adicional sobre o
diagrama, e de esta forma fornece ao leitor maior detalhe sobre o processo.
Com o BPMN também é possível detalhar quais atividades são automáticas (tarefas
automáticas), quais atividades são realizadas com ajuda de um sistema (tarefas de
usuário) e quais atividades são realizadas manualmente (tarefas manuais), entre outras.
Dentro do subprocesso de Liberação de Crédito, as tarefas de Depósito em Conta, Carta
de Crédito e Refinanciamento de Outro Crédito são tarefas automáticas, isto é, são
realizadas por um sistema de informação sem intervenção humana. Além disso,
poderíamos especificar que a atividade de “Entregar Carta de Crédito” é uma tarefa
completamente manual e que a atividade “Completar Informação de Desembolso” é
realizada com ajuda de um sistema de informação, portanto é utilizada uma tarefa de
usuário.
Suponhamos que uma vez aprovado o crédito é necessário ser agendada uma data para a
liberação do crédito para o cliente. Portanto a liberação só pode ser efetivada no dia
acordado com o cliente, sendo necessário realizar uma espera antes de executar as tarefas
de desembolso. Para isso, o BPMN oferece o evento temporizador, que é um tipo de
evento intermediário que representa uma espera dentro do fluxo.
O evento intermediário Simples “Receber Documentos” representa algo que pode ocorrer
dentro do fluxo do processo e não depende do usuário, mas sim de uma atividade externa.
Sem dúvida, a entrega de documentos é algo que pode ou não ocorrer dentro do processo,
isto é, o cliente pode não apresentar os documentos ou demorar tempo demais. Portanto,
pode ser necessário controlar o prazo a ser dado ao cliente para entregar os documentos e
desta forma poder dar prosseguimento para as atividades pendentes.
Para isto torna-se necessário diagramar dentro da Solicitação de Crédito a seguinte
situação: o cliente tem um prazo para realizar a entrega dos documentos, se este não for
cumprido, se desabilita o evento intermediário simples “Receber Documentos” e se
procede a contatar o cliente para dar prosseguimento. Sem dúvida se os documentos são
entregues pelo cliente dentro do prazo, se revisam os documentos e o tempo que controla
a entrega de documentos deixa de ser contato, isto é, se desabilita o evento intermediário
temporizador. Para diagramar esta situação, vamos a utilizar o desvio exclusivo baseado
em eventos, este desvio permite habilitar vários caminhos alternativos e só um deles será
executado; o primeiro que ocorrer desabilita os outros caminhos.
O processo seria visualizado da seguinte forma.
Como vimos através dos exemplos anteriores temos utilizado alguns elementos gráficos
do BPMN. Estes elementos se encontram classificados dentro de quatro categorias:
Objetos de Fluxo
São os principais elementos gráficos que definem o comportamento dos processos.
Dentro dos objetos de Fluxo encontramos:
1. Evento: é algo que acontece durante o curso de um processo de negócio, afeta o fluxo
do processo e usualmente possui uma causa e um resultado. Nos exemplos anteriores
utilizamos os eventos de inicio, fim e intermediários (temporizadores). Dentro do
BPMN existem muitas formas de se iniciar ou finalizar um processo e igualmente
existem muitas coisas que podem ocorrer durante o transcurso do processo, portanto
existem diferentes tipos de eventos de inicio, eventos de fim e eventos intermediários
conforme apresentados adiante.
3. Desvio: são elementos do modelo que são utilizados para controlar a divergência e a
convergência do fluxo de atividades do processo. Existem cinco tipos de desvios
dentro do exemplo apresentado neste texto: desvio exclusivo, desvio inclusivo, desvio
baseado em eventos, desvio paralelo e desvio complexo, conforme detalhados a
seguir.
Objetos de Conexão
São os elementos usados para conectar os objetos do fluxo dentro de um processo. Dentro
de os exemplos utilizamos as linhas de seqüência, que conectam os objetos de fluxo, e as
associações, que são as linhas pontilhadas que nos permitem associar anotações dentro de
alguns fluxos. Existem três tipos de objetos de conexão: Linhas de Seqüência,
Associações e Linhas de Mensagem.
Canais
São elementos utilizados para organizar as atividades do fluxo em diferentes categorias
visuais que representam áreas funcionais, papéis ou responsabilidades: Raias e Faixas.
Artefatos
Os artefatos são usados para prover informação adicional sobre o processo. Dentro do
exemplo utilizamos algumas anotações. Existem quatro tipos: Objetos de Dados, Bancos
de Dados, Grupos e Anotações.
Símbolos do BPMN
Eventos
Os eventos representam algo que acontece ou que pode acontecer no decurso de um
processo. Eventos afetam o fluxo do processo e geralmente têm uma causa ou um
impacto. Há três categorias de eventos com base em como o fluxo do processo é afetado:
eventos de início, eventos intermediários e eventos de fim.
Evento Início
Indicam o início de um processo e não têm qualquer entrada de seqüência de
fluxo. Não especificam qualquer comportamento em particular. São também
usados para iniciar subprocessos.
Evento Sinal
Indicam que um processo é iniciado quando um sinal proveniente do outro
processo é capturado. Note que o sinal não é uma mensagem; mensagens têm
claramente definido quem enviou e quem recebeu.
Evento Condicional
Indica que um processo é iniciado quando uma condição de negócios torna-se
verdadeira.
Evento Mensagem
Indica que um processo é iniciado quando uma mensagem é recebida de outro
processo.
Evento Múltiplo
Indica que há muitas maneiras de se iniciar o processo. Apenas uma delas será
necessária.
Eventos Intermediários
Eventos intermédios indicam algo que ocorre ou pode ocorrer no decurso do processo,
entre seu início e fim. Podem ser usados dentro do fluxo de seqüência de atividades ou
anexados a uma atividade. Eventos intermediários podem ser usados para capturar ou
para lançar o disparador de eventos. Quando o evento é usado para capturar o marcador
do eventos não será preenchido, por outro lado, quando o evento intermediário é usado
para lançar o evento o marcador será preenchido.
Evento Vazio
Indica algo que ocorre ou pode ocorrer dentro do processo. Ele só pode ser
usado dentro do fluxo seqüencial do processo.
Evento Mensagem
Indica que uma mensagem pode ser enviada ou recebida. Se o evento for de
recepção, ele indica que o processo tem que esperar até que a mensagem seja
recebida. Esse tipo de evento pode ser usado dentro do fluxo seqüencial de
atividades ou anexado a uma atividade para indicar um fluxo de exceção.
Evento Temporizador
Indica um tempo de espera dentro do processo. Esse tipo de evento pode ser
usado dentro do fluxo seqüencial de atividades indicando uma espera de tempo
entre as atividades ou anexado a uma atividade para indicar um fluxo de
exceção quando um tempo limite ocorrer.
Evento Cancelamento
É usado somente em subprocessos de transações. Este evento é sempre
anexado ao subprocesso transacional e indica um fluxo alternativo que pode
ser executado quando o subprocesso de transação for cancelado.
Condicional
É usado quando o fluxo precisa esperar por uma condição de negócios a ser
efetivada. Ele pode ser usado dentro do fluxo seqüencial de atividades
indicando que se deve aguardar até que uma condição de negócios tenha sido
atendida.
Evento Sinal
É usado para enviar ou receber sinais. Se for um elemento dentro do fluxo
seqüencial de atividades de um processo pode enviar ou receber sinais. Se for
anexado a uma atividade, só pode receber sinais indicando uma exceção de
fluxo que é ativada quando o sinal é capturado.
Evento Link
Evento Múltiplo
Significa que existem vários gatilhos atribuídos para o evento. Se estiver
dentro do fluxo de seqüência de atividades pode ser uma "captura" do
disparador ou "recepção" de disparadores de eventos. Se for anexado a uma
atividade pode apenas "travar" o disparador. Quando usado para "receber" um
disparador, apenas um dos disparadores atribuídos será necessário. Quando
usado para "enviar" o disparador todos eles serão lançados.
Evento Erro
É usado para capturar erros e lidar com eles. Esse tipo de evento só
pode ser usado anexado a uma atividade. Ou seja, caso ocorra um erro
durante a execução da atividade, o fluxo é desviado para o tratamento
deste erro.
Evento Compensação
Um evento intermediário de compensação permite que você manipule
compensações. Quando usado dentro do fluxo seqüencial de atividades de um
processo indica que uma compensação (ou uma alternativa) é necessária.
Quando usado anexado a uma atividade indica que esta atividade será
compensada por outra quando o evento for acionado.
Eventos de Fim
Um evento final indica onde termina um processo. Um processo pode ter mais de um
evento final. Um evento final não tem saída fluxos de seqüência.
Evento Múltiplo
Indica que muitos resultados podem ser fornecidos com o final do processo.
Todos os resultados devem ocorrer.
Evento Vazio
Indica que um caminho do processo chegou ao fim. Um processo só pode
terminar quando todas as rotas de fluxo chegarem a um fim.
Evento Sinal
Evento Cancelamento
Só é usado em transações de subprocesso e indica que a transação deve ser
cancelada.
Evento Encerramento
Este evento termina o processo imediatamente. Quando uma das rotas do fluxo
chega ao seu final, indicando que o processo foi completamente concluído.
Evento Mensagem
Indica que uma mensagem é enviada para outro processo quando o processo
chega ao fim.
Evento Compensação
Evento Erro
Pool
Raias
Objetos de Conexão
Fluxo de seqüência
Fluxo de Mensagem
Um fluxo de mensagens é usado para mostrar o fluxo de mensagens entre
duas entidades ou processos. Fluxos de mensagens representam mensagens,
não fluxo de controle. Nem todos os fluxos de mensagens são preenchidos
para cada instância do processo, também não existe uma ordem específica
para mensagens.
Associação
Artefatos
Permitem fornecer informações adicionais sobre um processo.
Anotação
Fornece informações adicionais sobre o processo, necessárias para
esclarecimentos ao leitor. Deve ser utilizado sempre que forem
necessários esclarecimentos adicionais para melhor entendimento do
processo pelo leitor.
Grupo
É um mecanismo visual que permite o agrupamento de
atividades para fins de documentação ou análise. Deve ser
utilizado para agrupar conjuntos de atividades e eventos de um
processo que compartilham um mesmo contexto de negócio ou
responsabilidade.
Objeto de Dados
Descreve através de dados um recurso (entidade) ou operação (evento)
utilizado ou gerado por uma atividade. Ou seja, documentos, relatórios e
outros dados usados ou gerados durante a execução das atividades do
processo. Os objetos de dados descrevem entidades, recursos, operações ou
eventos utilizados ou gerados pelas atividades do processo. São
fundamentais para a integração do processo com sistemas de informação.
Banco de Dados
Atividades
Atividades representam o trabalho realizado por uma organização; é um passo dentro do
processo; pode ser atômica ou composta. Quando uma atividade é composta, seu
detalhamento é definido como um fluxo de outras atividades através de um subprocesso
incorporado ao processo principal.
Tarefa
Tarefa Usuário
Tarefa Manual
Tarefa Serviço
É uma atividade simples que representa o trabalho executado
automaticamente dentro do processo, normalmente por um sistema de
informação ou equipamento, não sendo definida em um nível mais
detalhado.
Tarefa Envio
Tarefa Recebimento
Tarefa de Script
Tarefa Referência
Subprocesso Incorporado
Subprocesso reutilizável
Desvio Paralelo
Divergente: é usado para criar fluxo paralelo.
Convergente: é usado para sincronizar vários caminhos paralelos em um
único caminho.
Desvio Inclusivo
Divergente: indica que um ou mais caminhos podem ser ativados de muitos
disponíveis, e a decisão se baseia em dados do processo.
Convergente: indica que muitos caminhos de saída são sincronizados em um
único.
Desvio Complexo
Divergente: é usado para controle de pontos de decisão complexa que não
são podem ser gerenciados com outros tipos de desvio.
Convergência: quando o desvio é usado como uma combinação de fluxos em
série. Haverá uma expressão que irá determinar quais fluxos de seqüência de
entrada serão necessários para o processo para continuar.
Análise de Informações
Introdução
As organizações de todos os portes e naturezas gastam seu tempo e recursos executando
processos de negócios complexos. Um processo de negócio consiste na execução de
muitas atividades e regras de negócio no decorrer do tempo. Quem atualmente mantém
esses processos funcionando nas organizações modernas são os sistemas de informação.
Um processo de negócio também pode ser visto como uma coleção de regras (milhares)
que definem como o negócio é conduzido ao longo do tempo. Pensar nos processos em
termos de regras permite automatizar as partes mecânicas e estruturadas do negócio.
Exemplo de regras de negócios:
Todas as regras para a compra/venda de um produto, especialmente as
relacionadas a cálculo de preços e impostos.
Todas as regras para a produção de um produto ou serviço, especialmente as
relacionadas às quantidades de insumos a serem utilizados e de resultados a serem
produzidos.
Todas as regras da contabilidade, especialmente as relacionadas à apuração de
saldos e resultados das contas.
Todas as regras para cálculo de salários dos funcionários, especialmente as
relacionadas aos rendimentos e descontos a serem efetuados e o valor líquido a ser
pago.
O papel central dos sistemas de informação empresariais é conduzir os processos de
negócios, para isso eles devem manter um banco de dados, fornecer informações para
toda a organização e coordenar com segurança o acesso a elas, ao longo da execução de
cada atividade dos processos de negócios.
Um dos princípios da modelagem de processos é a eliminação de esperas. Esperas custam
dinheiro e atrasam o andamento do negócio. Na modelagem de um processo cada
atividade, cada intervenção ou cada decisão deve ser analisada.
Que decisões, análises ou aprovações podem ser automatizadas?
Quais regras de negócio podem ser colocadas num programa de computador
para serem executadas automaticamente sem intervenção humana?
atividades dos processos, deixando para as pessoas as decisões e atividades que realmente
se beneficiam com as intervenções humanas. A obtenção desse ideal torna mais
importante a aplicação da tecnologia da informação como agente dos processos de
negócios.
Necessidades de Informação
Introdução
Para a concepção dos sistemas de informação que irão apoiar os processos de negócio de
uma organização, é interessante classificar-se as informações necessárias em externas e
internas. As informações externas são aquelas que a empresa troca com o seu meio
ambiente (outras empresas, clientes e governo) e as internas são aquelas trocadas entre
suas diversas áreas de negócio e níveis de decisão (contabilidade, pessoal, produção e
diretoria).
Informações Externas
Qualquer empresa está inserida num ambiente e, por isso, tem necessidade de se
comunicar com este ambiente. Tipicamente pode-se considerar que o ambiente de uma
empresa é formado por fornecedores, clientes, instituições financeiras, acionistas,
concorrentes, governo e o público em geral.
Fornecedores: todas as empresas se relacionam com fornecedores, com quem
negociam para a aquisição de produtos (matérias-primas) e serviços, ou seja, insumos
necessários ao desenvolvimento de seus negócios. Algumas informações básicas a
respeito dos fornecedores seriam: nome, endereço, telefones, produtos/serviços
ofertados, prazos de entrega, preços e condições de pagamento.
Clientes: são fundamentais a qualquer empresa. São os clientes que geram resultados
para a empresa, sem clientes não há empresa. Algumas informações básicas a respeito
dos clientes seriam: nome, endereço, telefones, produtos/serviços e respectivas
quantidades adquiridas, pagamentos efetuados/a efetuar, pagamentos em atraso,
pedidos efetuados/pendentes, nome do comprador e nome do vendedor.
Instituições Financeiras: para qualquer atividade empresarial são necessários
serviços bancários. Além do aspecto de prestação de serviços (conta corrente,
cobranças e recebimentos), as instituições financeiras têm o papel de financiar
negócios (descontos de duplicatas e empréstimos) e de realizar investimentos
(aplicações financeiras).
Concorrentes: são as empresas que atuam no mesmo ramo de atividade, disputando o
mesmo mercado. A empresa precisa obter informações sobre seus concorrentes, pois
somente assim poderá se situar no mercado (volume de vendas e tipos de produtos),
verificar os lançamentos de novos produtos ou serviços, os pontos de venda que estão
sendo atingidos, a política de preços que está sendo praticada e a tecnologia que está
sendo utilizada. Quanto aos concorrentes, é preciso ter informações como quem são,
onde estão localizados, quais os produtos que estão vendendo mais, quanto estão
faturando e que estratégias competitivas estão praticando.
Sócios/Acionistas: são as pessoas que investiram seu capital na empresa, e esperam
um retorno compensatório. Mesmo sendo de capital fechado, como é o caso da
maioria das pequenas e médias empresas, pode haver vários acionistas ou sócios que
deverão ser periodicamente informados sobre a situação da empresa e sobre a divisão
dos lucros.
Governo: o governo é um elemento muito importante, principalmente pelo controle
que exerce sobre a atividade das empresas. Assim, é necessário fornecer-lhe uma
série de informações fiscais e sociais que dependem do setor de atuação da empresa,
entre elas: Imposto de Renda (empresa e funcionários), Descontos para a Previdência
Social (empresa e funcionários), FGTS (empresa e funcionários), impostos (ICMS,
ISS, IPI, PIS e FINSOCIAL) e RAIS (informações sobre os trabalhadores).
Público em Geral: apesar de não ter um relacionamento direto com o público, cada
vez mais, devido a movimentos ecológicos, controle de poluição e urbanização e
código do consumidor e redes sociais, as empresas são solicitadas a fornecer
informações sobre suas atividades, produtos e serviços, principalmente aquelas que
atuam em setores sensíveis.
Informações Internas
Qualquer empresa, na medida em que se desenvolve, é dividida em áreas funcionais ou
departamentos, para que consiga executar suas atividades de forma mais eficiente. Além
disso, há uma hierarquia de decisões na empresa, que vai dos níveis operacionais
(inferiores) aos gerenciais e estratégicos (superiores). O conceito de níveis de hierarquias,
nos quais o superior determina as ações dos inferiores, não se limita à coordenação de
pessoas, mas estende-se para as demais funções da empresa, e até para outros tipos de
sistemas.
Para as decisões operacionais são necessárias informações sobre processos que se referem
à operação da empresa, como volumes de estoques, produção, vendas e pagamento de
funcionários. Para as decisões gerenciais são necessárias informações para os processos
de planejamento e o controle das operações da empresa, como estatísticas de vendas,
análise da rotatividade dos estoques e análises financeiras. Finalmente, para as decisões
estratégicas são necessárias informações relacionadas à alta direção da empresa, como
processos de avaliação de oportunidades de investimento e de aplicação de novas
tecnologias. O conceito de nível decisório é importante, pois os processos em cada nível,
operacional, gerencial e estratégico, são diferentes, e conseqüentemente as necessidades
de informação são diferentes. Contudo, estes níveis não são estanques. Ao contrário,
interagem entre si, gerando um fluxo de informações dos níveis inferiores para os
superiores e vice-versa.
As áreas funcionais desempenham papéis específicos ligados a cada um dos processos
necessários ao alcance dos objetivos da empresa. Para tanto, são necessárias informações
Dados Cadastrais
São dados referentes ao registro de entidades e recursos ligados à atividade da empresa.
Por exemplo, dados sobre: clientes, fornecedores, funcionários e produtos.
Dados Transacionais
São os dados referentes a todas as transações ou operações efetuadas pelos processos de
negócio da empresa. Por exemplo, dados sobre: compras, vendas, ordens de produção,
pagamento a funcionários, contas a pagar e contas a receber.
Dados de Controle
São extraídos dos dados cadastrais e transacionais para permitir análises sobre o
desempenho da empresa. Geram medidas para controle do desempenho dos processos de
negócio; por exemplo, volumes de vendas por produto, vendedor ou cliente, custo de
produção por produto etc.
Dados de Planejamento
Representam os objetivos ou níveis esperados dos dados cadastrais e do volume de
transações. São obtidos e estudados a partir dos três tipos anteriores; por exemplo,
previsão de vendas por produto, por vendedor ou por cliente.
As necessidades de informação, ou seja, dados a serem processados e informações a
serem geradas devem ser consolidadas e classificadas, de acordo com os processos de
negócio a que darão apoio e com a classe de dados de que fazem parte.
Dados Cadastrais e Transacionais em Processos de Negócio
de uma Empresa Industrial
DADOS CADASTRAIS DADOS TRANSACIONAIS
24. Concorrentes
Bancos de Dados
Introdução
Um banco de dados (ou base de dados) pode ser definido como um conjunto unificado de
informação que vai ser compartilhado pelas pessoas autorizadas de uma organização. A
função básica de um banco de dados é permitir o armazenamento e a recuperação da
informação necessária para que as pessoas da organização possam tomar decisões,
eliminando redundâncias. Quando coexistem várias cópias de uma mesma informação, é
comum ocorrer discrepâncias entre elas, podendo-se chegar ao extremo de se tornar
impossível determinar qual das diferentes versões é a correta. Em um banco de dados
corretamente projetado não deve existir informação redundante e, portanto, a
possibilidade de que se produzam inconsistências entre os dados é minimizada.
Em um banco de dados os objetos de dados que descrevem entidades (pessoas, produtos,
materiais, locais, etc.) e eventos (vendas, compras, pagamentos, recebimentos, etc.) são
armazenados em registros. Cada característica ou qualidade que descreve uma entidade
ou um evento em particular é denominada atributo, que é armazenado em um campo de
dados. Um objeto de dados ou registro é, portanto, formado por um conjunto de atributos
(campos de dados) que descrevem uma entidade ou evento.
Os registros, por sua vez são armazenados em arquivos de dados. Um arquivo de dados
é, portanto, formado por um conjunto de registros que descrevem as mesmas entidades ou
eventos. Cada registro em um arquivo deve conter pelo menos um dado que identifique
de forma única este registro para que ele possa ser recuperado (lido), atualizado e
classificado. Esse dado identificador único de cada registro é chamado de chave
primária. Chaves secundárias são outros dados do registro que contém alguma
característica identificadora da entidade ou evento, mas, em geral, não os identificam de
forma única. Chaves estrangeiras são dados que permitem o relacionamento entre
registros, normalmente contidos em arquivos diferentes.
Assim, portanto, um banco de dados é composto por um conjunto de arquivos, um
arquivo é composto por um conjunto de registros e um registro é composto por um
conjunto de atributos que descreve determinada entidade ou evento de interesse da
organização.
A figura apresentada a seguir ilustra estes conceitos e mostra que o armazenamento de
dados em um banco de dados é realizado através de uma estrutura de tabelas de dados.
BANCO DE
DADOS
Descentralização
Normalmente, nos microcomputadores, as informações necessárias a uma organização se
distribuem em um conjunto de bases de dados departamentais. Cada uma das bases de
dados contém informações sobre uma determinada área ou função da organização. Uma
delas pode ter sido desenvolvida para armazenar informações da área financeira, outra da
área de pessoal e uma terceira da área de vendas ou produção. O grande problema é que,
nesse caso, o processo de negócio como um todo, que invariavelmente envolve diversas
áreas, não é contemplado pelo sistema.
Centralização
Por outro lado, em computadores de maior porte (servidores), as informações necessárias
a uma organização são armazenadas numa única base de dados corporativa, que contém
informações sobre todas as áreas e funções da organização de forma integrada,
consistente e consolidada. Todos os sistemas de informação da organização compartilham
esta única base de dados. A grande vantagem é que, neste caso, todos os processos de
negócio da organização podem ser contemplados pelo sistema, independentemente da
área ou função que execute cada atividade.
SGBD
Independentemente da base de dados que será implantada, a função de um software de
Gerenciamento de Base de Dados (SGBD) é a mesma. O SGBD pode ser definido como
sendo o conjunto de recursos de software que possibilitará aos usuários o acesso e a
utilização eficiente da base de dados. O SGBD deve se encarregar da comunicação entre
o usuário e a base de dados, proporcionando a este os meios de pesquisar e obter
informações, introduzir novas informações e atualizar as existentes.
Estrutura de uma Base de Dados
Tabelas de Dados
Como já vimos, uma base de dados é formada por um conjunto de tabelas de dados que
contém a informação nela armazenada. O conjunto de tabelas ilustrado a seguir pode ser
considerado como pertencente a uma base de dados de compras.
Esta base de dados contém informações de três tipos, ou melhor, sobre três entidades:
Dados sobre produtos (entidade produto), armazenados na tabela de produtos;
Dados sobre fornecedores (entidade fornecedor), armazenados na tabela de
fornecedores e;
Dados sobre a origem dos produtos (entidade origem do produto), ou seja, os
produtos que são fornecidos por cada fornecedor e vice-versa, armazenados na
tabela de origem dos produtos.
TABELA DE PRODUTOS
Código Nome Unidade
4.02.003 . .
. .
. .
TABELA DE FORNECEDORES
Código Nome Endereço Telefone
. . . .
. . . .
. . .
. . .
. . .
. . .
(criação do arquivo de índice pelo SGBD) ordena os registros de uma tabela de dados de
acordo com os campos utilizados como chave e incrementa sensivelmente a velocidade
de execução de operações sobre a tabela de dados, principalmente as relacionadas com a
localização de dados em registros. Normalmente, para cada tabela de dados deve haver
um índice cuja chave de indexação seja idêntica à sua chave primária. Este índice é
chamado de índice primário.
Também é possível criar índices para uma tabela de dados utilizando atributos (ou
campos), ou conjuntos de atributos, diferentes dos da chave primária. Este tipo de índice,
chamado de índice secundário, é utilizado para reduzir o tempo necessário para localizar
determinada informação dentro de uma tabela ou para classificar os registros da tabela de
acordo com ordem necessária para a obtenção da informação desejada.
Na figura a seguir é ilustrado um exemplo didático simplificado do funcionamento de um
arquivo de índice associado a uma tabela de dados. Normalmente, os registros de uma
tabela de dados não estão ordenados, mas contém todos os dados que descrevem a
entidade nela armazenada. Para acessá-los de forma ordenada, é criado e mantido um
arquivo especial, denominado arquivo de índice, que contém apenas as chaves de
ordenação (ou acesso) e os números dos registros da tabela de dados que as possuem.
Assim, localizando-se uma determinada chave no arquivo de índice, torna-se possível o
acesso direto ao registro da tabela de dados por ela identificado.
Comparando uma tabela de dados a um livro, o processo seria equivalente a localizar o
número da página na qual se encontra um determinado assunto através do índice
remissivo do livro e, em seguida, abrir o livro na página determinada para ter acesso
direto ao assunto desejado, sem precisar folhear todo o livro até encontrá-lo.
A localização das chaves no arquivo de índice é extremamente rápida, pois normalmente
os SGBDs utilizam uma variação aperfeiçoada da técnica de pesquisa binária, conforme
esquematizado na figura a seguir. Através desta técnica o arquivo de índice é inicialmente
dividido em duas partes iguais, ou seja, em duas metades. A seguir, como o índice está
ordenado de acordo com a chave de pesquisa, verifica-se se a chave desejada está
localizada na metade superior ou na inferior, comparando-a com o valor da chave central.
Novamente a metade escolhida é dividida ao meio, daí o nome pesquisa binária, pois
sempre se divide o índice em duas partes, e o processo é repetido até que seja localizada a
chave desejada.
Uma vez localizada a chave no arquivo de índice, obtém-se o número do registro da
tabela de dados que a contém e é realizado o acesso direto às informações nele contidas.
Utilizando-se a técnica de acesso binário, o tempo necessário para ser localizada uma
determinada informação numa tabela de dados praticamente independe da quantidade de
registros ou linhas que a mesma possui, o que é essencial para sistemas de informação
empresariais onde normalmente as tabelas de dados armazenam milhares ou milhões de
registros.
estabelecidos e a informação completa obtida. Além disso, uma vez que é desnecessária,
a informação redundante ocupa espaço precioso no disco do computador e, muito pior do
que isso, poderão ser geradas versões diferentes da mesma informação sem que seja
possível saber qual é a versão correta. Nas seções seguintes serão examinadas técnicas
que nos ajudarão a definir o conjunto de dados que deverá estar contido em cada tabela
que formará a base de dados do sistema de informação.
Minimizar o Número de Tabelas
Este objetivo contempla o fato de que, se a divisão das tabelas de dados em outras tabelas
menores pode ser interessante para eliminar certos problemas de atualização e
armazenamento, a existência de um número muito elevado de tabelas na base de dados de
um mesmo sistema pode tornar incomoda e trabalhosa a manutenção de todos eles.
Poderíamos resumir dizendo que não é conveniente que o número de tabelas de uma base
de dados cresça incontrolavelmente.
Normalizar as Tabelas
Certos tipos de tabelas de dados são mais propensas do que outras a problemas de
atualização e manutenção. O desenvolvedor que está projetando uma base de dados deve
saber detectar as tabelas que são potencialmente problemáticas para poder normalizá-las.
A normalização de tabelas é basicamente uma técnica de decomposição ou subdivisão de
uma tabela de dados em duas ou mais tabelas menores, através de um procedimento
específico para determinar a melhor maneira de efetuar o armazenamento dos dados, de
forma a evitar problemas de atualização de dados nas tabelas.
Você provavelmente deve ter percebido que os dois últimos objetivos perseguem
propósitos opostos. Normalmente, o projeto da base de dados de um sistema de
informação é o resultado de um compromisso equilibrado entre ambos, de acordo com as
características do sistema que estiver sendo desenvolvido.
Modelagem de Dados
Introdução
Uma das definições mais importantes para o projeto de sistemas de informação é a
definição dos objetos de informação de interesse da empresa ou organização para a qual o
sistema será construído, pois para que seja possível gerar as informações necessárias para
os processos de negócio precisamos armazenar os dados que as compõem.
Os objetos de informação são geralmente entidades ou eventos de interesse dos
processos, por exemplo: clientes, fornecedores, produtos, vendas, compras e cobranças.
Entidades: são objetos de informação que existem durante um determinado tempo, como
produtos, clientes, fornecedores etc.
Eventos: são objetos de informação que ocorrem num determinado momento como
vendas, compras, cobranças, ordens de produção etc.
Neste caso, as entidades PRODUTO e ESTOQUE não são realmente distintas e, por esse
motivo, devemos armazená-las numa única tabela de dados, pois o saldo no estoque é
apenas um atributo de cada produto.
Se os dois objetos forem realmente distintos, cada um deverá ser identificado por um
dado chave que o distinga de forma inequívoca dos demais. Este dado chave é
fundamental para estabelecer relacionamentos entre entidades e recebe a denominação de
chave primária do objeto (primary key ou PK). É identificado no diagrama do RDM
pelo símbolo de uma chavinha, como ilustrado nas figuras.
O relacionamento entre dois objetos deverá ser realizado através de uma chave de
relacionamento, denominada chave estrangeira (foreign key ou FK). A chave estrangeira
é uma cópia da chave primária do objeto principal (pai) no objeto relacionado (filho). A
chave estrangeira recebe este nome porque, na verdade, ela não é um atributo do objeto
relacionado, mas sim é a chave primária do objeto ao qual este se relaciona.
Portanto, como uma dada disciplina poderá ser ministrada por diferentes professores em
diferentes salas de aula e em diferentes horários, podemos criar um objeto de interseção
denominado TURMA. Desta forma, um determinado professor poderá lecionar várias
disciplinas, cada uma em sua respectiva sala de aula e horário; assim como cada
disciplina poderá ser ministrada por vários professores, e para cada professor haverá uma
determinada sala de aula e horário.
A figura a seguir ilustra o relacionamento muitos-para-muitos (∞,∞) entre DISCIPLINA
e PROFESSOR resolvido por um relacionamento um-para-muitos (1, ∞) entre
DISCIPLINA e TURMA e um relacionamento um-para-muitos (1, ∞) entre
PROFESSOR e TURMA.
Consideremos agora o lado dos produtos. Deve haver um relacionamento entre ITEM
VENDIDO e PRODUTO. Como cada produto pode ser vendido várias vezes, o
relacionamento deve ser um-para-muitos (1, ∞), ou seja, um produto pode estar
relacionado a vários itens vendidos. Para estabelecer o relacionamento entre PRODUTO
e ITEM VENDIDO, a chave primária de PRODUTO, CodigoProduto, precisa aparecer
como chave estrangeira em ITEM VENDIDO, como ilustra a figura a seguir.
Não é necessário incluir o "código do cliente" também na tabela ITEM VENDIDO, pois
se desejarmos produzir um relatório que informe a quais clientes foram vendidos
produtos, é possível pesquisar todos os "números de notas fiscais" na tabela ITEM
VENDIDO à procura dos produtos da tabela PRODUTO e depois, usando estes números,
pesquisar todos os clientes nas tabelas VENDA e CLIENTE.
armazenamento permanente deste tipo de evento. A tabela original poderá ser, então,
totalmente limpa para iniciar um novo período. Posteriormente, os dados históricos
deverão poder ser recuperados dos arquivos históricos caso sejam necessários.
O Modelo Relacional de Dados (RDM - Relational Data Model)
O resultado final da análise de entidades e relacionamentos é um diagrama em que cada
retângulo representa uma tabela na base de dados do sistema. Todos os relacionamentos
um-para-um (1,1) devem ter sido examinados e determinados como não sendo
subdivisíveis. As chaves estrangeiras que estabelecerão cada relacionamento também já
deverão ter sido definidas.
Finalmente, nenhum relacionamento muitos-para-muitos (N,N) ou (∞,∞) deve aparecer
explicitamente, pois todos já deverão ter sido resolvidos em relacionamentos um-para-
muitos (1,N) ou (1, ∞) através da utilização de tabelas de interseção.
Dicionário de Dados
Introdução
Após a construção do RDM, deve ser definido o conteúdo exato de cada tabela de dados
que comporá a base de dados do sistema. Deverão ser detalhadas as características de
todos os dados que serão armazenados em cada tabela que descreve os atributos das
entidades e eventos definidos pelo modelo relacional de dados.
Para detalhar os dados que deverão estar contidos nas tabelas inicialmente devemos
considerar todas as entradas e saídas sobre as quais se tenha o máximo de informações.
Trabalhamos para frente a partir das entradas e para trás a partir das saídas, para definir
os dados de cada tabela. O objetivo é obter o menor número possível de dados em cada
tabela, suficiente para derivar as saídas (relatórios ou consultas na tela) e capturar a
essência das entradas. Entretanto, utilizando apenas esta técnica, estaremos correndo o
risco de não descobrir todos os dados necessários, principalmente por ser muito difícil
para os usuários de um sistema anteciparem toda a saída futura possível e toda a entrada
necessária.
Por esse motivo, após a definição inicial dos dados de cada tabela a partir das entradas e
saídas previstas devemos efetivamente visitar os locais nos quais os usuários efetuam
suas operações para observá-las e examinar todas as entidades (como produtos) e todos os
eventos (como vendas) a elas relacionados. Com esta visita poderemos verificar todos os
atributos que estas entidades e eventos possuem e que serão de interesse para o
fornecimento de informações; completando o que eventualmente tiver sido esquecido ou
não percebido pelos usuários na definição inicial.
Normalmente, toda entidade, como por exemplo, um produto, deve possuir um
identificador único e exclusivo, como um código; além disso, é preciso armazenar o seu
nome ou descrição, juntamente com a quantidade, o custo e o preço de venda. Produtos
grandes podem possuir também uma localização, um volume e um peso; enquanto que
produtos pequenos poderão estar acondicionados em embalagens com um determinado
número de unidades.
Por outro lado, todo evento também deverá receber um identificador exclusivo e único,
como um número de documento, quase sempre tem uma data de ocorrência, e muitas
vezes uma ou mais entidades relacionadas, como a venda de produtos a um cliente.
Finalmente, após a verificação dos dados que descrevem todas as entidades e eventos de
interesse do sistema in loco, você deve se perguntar:
"Se eu dirigisse este negócio, o que gostaria que fosse armazenado no sistema?"
Certamente, quanto mais você conhecer o negócio e compreender os objetivos dos
usuários em requisitar o sistema, tanto melhor poderá responder a esta pergunta. Contudo,
você não deverá tentar dizer a um empresário como a empresa dele deve ser
administrada, mas poderá certamente fazer sugestões. Em geral, é mais fácil oferecer uma
lista de sugestões de dados ao usuário e solicitar que ele elimine e/ou acrescente itens na
lista. Deste modo, você estará dizendo ao usuário: "Segundo meus limitados
conhecimentos do seu negócio, parece que seria útil ter essas informações armazenadas
no sistema. Há alguma coisa que eu esqueci? E, considerando o custo de coletar e
armazenar informações, há alguma coisa na lista que pode ser omitida sem lhe fazer
falta no futuro?" Ao formular estas perguntas, você estará efetivamente envolvendo o
usuário no projeto do sistema, fazendo com que ele se sinta comprometido com sua
definição e, portanto, sendo mais cuidadoso e responsável ao respondê-las.
A partir dos resultados obtidos você poderá produzir uma definição preliminar do
conteúdo de cada tabela de dados que descreve uma entidade ou um evento de interesse
para o sistema e, obviamente, para a organização.
Nome dos Dados
Cada dado deve possuir um nome exclusivo, e ser tão significativo quanto possível, sem a
inconveniência de ser longo. Há muitas formas e convenções que foram propostas para
dar nomes aos dados, você poderá utilizar uma delas ou criar a sua própria. Porém,
definindo-se por uma, procure mantê-la em todos os seus sistemas.
Recomendamos que cada dado possua uma descrição resumida, um nome completo e um
nome abreviado ou codificado. A descrição deverá explicar inteiramente a natureza do
dado e será utilizada para descrever o dado num dicionário de dados que fará parte da
documentação do sistema. O nome completo deverá ser o nome do dado que será
apresentado ao usuário na tela ou num relatório, identificando o dado. Finalmente, o
nome abreviado deverá ser o nome-código do dado dentro do sistema, ou seja, o nome do
dado dentro das tabelas de dados (nome do campo) e dentro dos programas que comporão
o sistema.
Por exemplo:
Nome Completo Nome Abreviado Descrição
Dados-chave
Tendo já definido os dados que constituirão os campos de uma tabela de dados, conforme
o RDM um ou mais dados deverão ser escolhidos para funcionar como chave primária ou
identificadora de registros, de modo que sabendo o valor da chave, você poderá acessar
um determinado registro da tabela, ou seja, a chave que identifica cada registro
armazenado numa tabela de dados. Toda tabela de dados deverá ter pelo menos um
campo definido como chave primária ou identificadora.
Assim, o valor contido numa chave primária deverá ser exclusivo, ou seja, único por
registro da tabela e, uma vez designado, nunca deverá ser alterado. Além disso, um dado
que faça parte de uma chave (primária ou estrangeira) nunca deverá possuir um valor
ausente ou nulo, pois perderá sua utilidade, tanto como identificador de registros como
apontador de relacionamentos entre tabelas de dados.
Se uma chave primária não existir naturalmente entre os dados que descrevem as
entidades e os eventos de interesse do sistema, uma chave identificadora exclusiva deverá
ser criada, como código do produto, número do funcionário, número do pedido etc. Esta
chave primária poderá ser arbitrária, designada possivelmente pelo próprio sistema,
incrementando um número para cada novo registro, com o único objetivo de poder
acessá-los inequivocamente. Em qualquer caso, a chave primária assim criada deverá ser
concisa para facilitar a digitação sem erros e o acesso inequívoco aos dados de cada
registro.
Normalmente, a chave primária determinará os campos que serão utilizados para a
criação do índice primário de acesso à tabela de dados, permitindo, desta forma, a
localização instantânea dos registros que as possuem.
Múltiplas Chaves
Em algumas situações, há mais de um campo ou conjunto de campos que serão utilizados
para identificar exclusivamente cada registro numa tabela de dados. Neste caso,
deveremos certificar-nos de que todos os campos que formarão a chave primária sejam
não nulos, não sejam alterados e que sua combinação seja exclusiva para identificar cada
registro inequivocamente.
Em outras situações, poderá existir mais de um campo que possa ser utilizado como
chave identificadora de registros. Por exemplo, o número do empregado, seu CIC e seu
RG poderão ser utilizados para identificá-lo. Neste caso, para decidir qual dos campos
será a chave primária deveremos verificar se há garantia de exclusividade, se os dados
não serão alterados e se não existirão dados nulos. O campo que melhor satisfizer estas
características deve ser escolhido como chave primária.
Como pode ser percebido, no campo loja, existem vários valores de dados (grupos
repetidos). Através desta tabela podemos obter a informação de que existe, por exemplo,
arroz nos supermercados Sé, Eldorado, Carrefour e Jumbo. Entretanto, como poderemos
saber a quantidade de arroz existente em cada um?
De acordo com a primeira forma normal esta tabela deve ser revisada para que sejam
eliminados os grupos repetidos, ou seja, no campo loja deve haver o nome de apenas um
supermercado. Isso implicará na criação de um número maior de linhas ou registros na
tabela, pois deverá haver uma linha para cada produto em cada loja. Contudo, a partir daí,
poderemos facilmente registrar a quantidade existente de cada produto em cada loja.
Após a aplicação da primeira regra de normalização, a tabela de dados dos produtos em
estoque assume a seguinte estrutura de dados:
Lojas
Loja Endereço Telefone
Agora as duas tabelas estão na segunda forma normal. A tabela de produtos em estoque
está na segunda forma normal porque os campos não-chave (quantidade, preço e valor
total) são dependentes de toda chave primária concatenada produto+loja e de nada mais.
A segunda tabela, lojas, também está na segunda forma normal porque ele não possui
uma chave concatenada e, portanto, uma coluna não-chave como endereço ou telefone
naturalmente será dependente da totalidade do único campo chave, que é a loja.
Analisando sob outro ângulo, é fácil perceber que a tabela, apesar de estar na primeira
forma normal, contém dados descrevendo duas coisas distintas: produtos e lojas. Como
regra geral e importante, uma tabela de dados numa base de dados deve armazenar dados
que descrevam apenas uma entidade ou evento. Portanto, uma tabela de dados, para estar
na segunda forma normal deve conter dados apenas sobre um único objeto de informação
ou uma única classe de objetos. Neste nosso exemplo, a primeira tabela agora contém
apenas dados sobre produtos em estoque e o segundo sobre lojas.
Terceira Forma Normal (3FN)
Uma tabela na segunda forma normal também estará na terceira forma normal se nenhum
campo não-chave depender de qualquer outro campo não-chave.
Para verificar se uma tabela na segunda forma normal também está na terceira forma
normal devemos perguntar: algum campo não-chave é dependente de qualquer outro
campo não-chave?
A tabela dos produtos em estoque possui três campos (ou colunas) não-chave:
quantidade, preço e valor total. Se soubermos a quantidade em estoque e o preço,
saberemos o valor total em estoque. Portanto, o campo "valor total" é dependente de dois
campos não-chave, pois pode ser obtido a partir da quantidade multiplicada pelo preço.
Concluímos que a tabela de produtos em estoque não está sob a terceira forma normal.
Se o campo "valor total" for eliminado, a tabela de produtos em estoque passa a estar na
terceira forma normal, ocupando menos espaço no disco, sem qualquer perda de
informação.
Tabelas com apenas dois campos, como professores e disciplinas, são tabelas de
interpretação ou tradução de códigos. Elas contem, em geral, dados relativamente
estáveis, isto é, que raramente são alterados.
Tabela de Turmas não Normalizada
Sem. Matéria Nome Sala Hora Dias Prof. Nome
Tabela de Disciplinas
Disciplina Nome
Tabela de Professores
Número Nome
Utilização de Índices
A criação de um arquivo de índice acelera a recuperação dos dados da tabela, pois este
especifica onde, no disco, os registros desejados devem ser encontrados. Assim, em
princípio, qualquer registro de uma tabela de dados indexado pode ser encontrado por
apenas dois movimentos da cabeça de leitura disco (um para o índice, e outro para o
localização do registro na tabela), em vez de uma quantidade enorme de movimentos para
pesquisar a tabela inteira, linha por linha ou registro por registro.
Entretanto, esta velocidade de recuperação de dados em tabelas indexadas possui dois
custos:
1. O espaço em disco ocupado pelo arquivo de índice;
2. O tempo adicional necessário para cada atualização de dados, pois o arquivo de índice
precisa ser atualizado em conjunto com a tabela de dados.
Se houver espaço disponível em disco, o espaço adicional ocupado pelos arquivos de
índice poderá não ser problema, e a melhoria de desempenho será compensadora. Da
mesma forma, gastar um pouquinho mais de tempo para atualizar uma tabela devido à
atualização simultânea dos arquivos de índice associados, em geral, não é um fator crítico
para a maioria das aplicações. Entretanto, quanto mais arquivos de índices forem criados,
mais lenta será a atualização dos dados e mais espaço em disco será consumido. Portanto,
como regra geral, você deve criar o mínimo de índices necessários para fornecer um
desempenho adequado:
1. Para a chave identificadora ou primária de cada tabela de dados deve ser criado um
arquivo de índice exclusivo. Isto deve ser feito de qualquer modo para garantir a
unicidade do valor da chave (registros não duplicados), mas também é importante para
o desempenho, pois a chave será o argumento de pesquisa mais freqüentemente
utilizado para a atualização e recuperação de registros e provavelmente a chave
também será o campo (ou conjunto de campos) utilizado para interligar uma tabela a
outras.
Introdução
Além de coletar, armazenar e fornecer informações, um sistema pode automatizar
determinadas regras que conduzem os negócios das organizações. Estas regras podem ser
traduzidas por parâmetros, decisões ou cálculos que são efetuados durante os processos
de negócio. Se estas regras forem repetitivas e puderem ser estruturadas e especificadas
de modo a poderem ser automatizadas, poderão ser embutidas nos programas de
computador que comporão o sistema de informação a ser desenvolvido.
Existem várias técnicas para modelar as regras de negócio que devem ser embutidas num
sistema de informação. Normalmente, na modelagem de regras de negócio de um sistema
são utilizadas várias delas, inclusive para modelar uma mesma regra ou conjunto de
regras. O objetivo é torná-las suficientemente claras, estruturadas e objetivas para
poderem ser implementadas através de uma linguagem de programação no sistema.
Lógica Estruturada
A técnica da Lógica Estruturada modela a lógica das regras de negócio utilizando
construtos da programação estruturada, são eles:
SE...ENTÃO
CASO1...CASO2...CASO3...OU ENTÃO
ENQUANTO...
ATÉ QUE...
DE 1 A N
Esta técnica é a que mais se aproxima de uma linguagem de programação de
computadores e por esse motivo, facilita o entendimento dos programadores. Ela modela
e descreve a execução de ações e define procedimentos de cálculo e de decisão através de
palavras-chave que equivalem aos comandos de uma linguagem de programação. Por
exemplo:
SE Tipo do Contribuinte = Fundação
ENTÃO Alíquota do ICMS = 0,00%
Tabelas de Decisão
A técnica das Tabelas de Decisão é particularmente útil quando o número de Condições
para aplicação de Regras, o número de Ações decorrentes da aplicação das Regras, e o
próprio número de Regras é muito grande.
As Tabelas de Decisão ajudam a estruturar todas as Condições, Regras e Ações
envolvidas no processo de negócio e, a partir daí, determinar em quais situações são
aplicáveis.
Exemplo de Tabela de Decisão
Condições / Ações Regra 1 Regra 2 Regra 3 Regra 4 Regra 5 Regra 6
Tipo de Funcionário
Horas Trabalhadas
Pague salário base
Pague horas extras
Para facilitar a construção de uma Tabela de Decisão pode ser seguidos os passos abaixo:
1. Identifique as condições e os valores que cada uma pode assumir;
2. Identifique todas as possíveis ações que podem ocorrer para cada condição;
3. Relacione todas as possíveis regras que podem ser aplicadas;
4. Defina as ações para cada regra;
5. Simplifique a tabela de decisão construída.
Árvores de Decisão
A técnica de Árvores de Decisão é muito utilizada para detalhar problemas de decisão,
ilustrando os diversos cursos de ação que podem ser seguidos, dependendo de decisões
tomadas a partir da verificação de determinados eventos.
Sua construção deve ser intuitiva, considerando que os eventos devem os nós da árvore,
as decisões ou cursos de ação os seus ramos e as ações as suas folhas, conforme ilustra a
figura a seguir.
Ação A
=
2
1 =
2 Ação B
=
Sim
3
1 Ação C
Não
Ação D
Ação
Ação Ação
Ação
Ação
Ação
Ação
Módulos do Sistema
Na grande maioria dos sistemas, o modelo de processos do negócio precisa ser
subdividido em partes contendo procedimentos automatizados e/ou manuais, para que o
sistema possa ser desenvolvido e executado em unidades menores, mais fáceis de serem
implementadas, testadas e operacionalizadas.
Estas partes do BPM, que denominaremos de módulos, poderão ser um programa, um
procedimento manual ou automatizado, uma relação de operações ou comandos, ou uma
combinação dos três. Um módulo sempre será invocado como uma unidade, normalmente
por uma opção de um menu, e constitui uma operação ou procedimento completo que o
sistema deve executar. Deve ser uma operação que possa ser vista pelos próprios usuários
do sistema como uma unidade.
Normalmente, os módulos estão relacionados com entradas e saídas de dados,
manutenção de tabelas, cálculos e outras operações especiais que o sistema deve efetuar.
As seguintes operações poderiam ser vistas como sendo módulos de um sistema:
Processamento de um pedido de compra;
Cálculo da folha de pagamento;
Emissão de relatórios;
Cadastro de novos produtos;
Alteração de dados de clientes;
Exclusão de um fornecedor;
Gravação do histórico de vendas;
Gravação de cópias de segurança das tabelas;
Etc.
A divisão de um sistema em módulos deve ser natural, ou seja, determinados
procedimentos ou operações, que guardem entre si uma mesma relação de contexto ou
função devem ser agrupados em um módulo. Os processos definidos pelo BPM e as
entidades e os eventos descritos no RDM podem ser agrupados ou categorizados para
definir os módulos do sistema.
Após este trabalho, uma relação de todos os módulos deve ser efetuada, e cada um deverá
receber números ou nomes que correspondam aos processos lógicos definidos no BPM,
que através deles serão implementados.
Ator Ação
Trecho do BPM
Trecho do RDM
Digita o número do pedido Verifica o pedido já está cadastrado. Se estiver, apresenta mensagem de erro e solicita
um novo número. Se não estiver, solicita a data do pedido.
Digita a data do pedido Não aceita enquanto a data não for válida.
Digita o código do cliente Verifica se o cliente existe. Se existir, apresenta o nome do cliente. Se não existir,
solicita novamente até que seja digitado um cliente válido, ou seja cancelado com
<Esc>.
Digita o código do vendedor Verifica se o vendedor existe. Se existir, apresenta o nome do vendedor. Se não existir,
solicita novamente até que seja digitado um vendedor válido, ou seja cancelado com
<Esc>.
Digita o código do produto Verifica se o produto existe. Se existir, apresenta o nome do produto e o preço de
venda. Se não existir, solicita novamente até que seja digitado um produto válido, ou
seja finalizado com <Esc>.
Digita a quantidade pedida Verifica se há saldo no estoque suficiente para atender o pedido. Se não houver,
apresentar mensagem recusando o produto e solicitar outro Se houver aceita o produto
e dá baixa no saldo do estoque.
Digita o código de outro Se o código do produto não for deixado em branco, solicita um novo produto e repete
produto as operações; em caso contrário, finaliza a entrada.
Bibliografia
O’BRIEN, JAMES A.
Sistemas de Informação e as Decisões Gerenciais na Era da Internet
2001, Editora Saraiva – São Paulo - SP
BARBARÁ, Saulo.
Gestão por processos. Qualitymark, 2006.
DAVENPORT, T. H.
Reengenharia de processos. Rio de Janeiro: Campus, 1994.
HAMMER, M.
Além da Reengenharia. Campus : Rio de Janeiro, 1997.
HOFFER, J. A.; VALACICH, J. S.; GEORGE, J.F.
Modern Systems analysis and design, 5th Ed. 2008, Prenctice Hall
LAURINDO, F. J. B. e ROTONDARO, R. G.;
Gestão Integrada de Processos e da Tecnologia da Informação. Atlas, 2006
LAUDON, K. e LAUDON, J.
Sistemas de Informações Gerenciais, 7ª. Edição. 2007, Editora Pearson
TURBAN, LEIDNER, MCLEAN & WETHERBE
Tecnologia da Informação para Gestão, 6ª. Edição. 2008, Editora Bookman
VALLE, R.; OLIVEIRA, S.B. (Org.)
Análise e Modelagem de Processos de Negócio: Foco na notação BPMN. Atlas, 2009