Escolar Documentos
Profissional Documentos
Cultura Documentos
ANALISE DE PROJETOS
EM
SISTEMAS DE INFORMAÇÃO
1
Para a disciplina: Analise de Projeto em Sistemas
Ano: 2°Modulo
Curso: Técnico em Informática
2
INDICE
SISTEMAS ......................................................................................................... 4
6 ESPECIFICAÇÃO DE PROCESSO........................................................... 41
3
SISTEMAS
DEFINIÇÃO:
Conjunto uniforme de grupos de itens independentes em interação
regulamentada, tendo em vista a concretização de objetivo definidos.
Ou
Conjunto organizado de doutrinas, idéias ou princípios, normalmente com a
intenção de explicar a disposição ou um todo sistemático.
4
1.2 Princípios Gerais Dos Sistemas
5
1.2.1 Sistemas Automatizados (Sa’s)
6
1.2.2 O Sistema Empresa
A empresa constitui um sistema. Um sistema que, por sua vez pode ser visto
como um conjunto de três subconjuntos (subsistemas) inter-relacionados entre si.
1. SISTEMAS DE DECISÃO:
Sistemas com características homeostáticas atuando por medição das
variáveis de controlo do sistema; no qual decorre a definição das políticas, as
regras de gestão e as tomadas de decisão.
Ou seja é o sistema que determina os objetivo da empresa, descrevendo as
suas necessidades e formando todas as medidas (políticas e ações a seguir)
necessárias para que tais objetivo sejam alcançados.
2 SISTEMA DE EXECUÇÃO:
Sistemas onde se desenvolvem as atividades vocacionadas ao tratamento dos
acontecimentos elementares do sistema, e por onde fluem as informações de
entrada e saída deles decorrentes ou a eles associadas.
Ou seja. Sistema que formula e executa os caminhos a seguir e as ações a
tomar de acordo com as políticas definidas para que os objetivos previstos sejam
atingidos.
7
1.2.3 SISTEMAS DE INFORMAÇÃO (S.I.)
SISTEMA DE INFORMAÇÃO
Sistema Sistema
Sistema
de De de
Decisão Comunicação Execução
Sistemas
Exteriores
8
Para representar as diferentes situações da organização, é necessário descrever:
1 SISTEMAS ON-LINE:
São sistemas que recebem entradas de informação diretamente do local onde
foi criada. São também os sistemas em que as saídas ou resultados do
processamento, são dirigidas diretamente para onde sejam necessárias.
PROCESSADOR
Os dados são
organizados de modo a
que possam ser
A saída é transmitida recuperados
para onde for necessário rapidamente
CARATERISTICAS:
a) Uma característica típica de um sistema On-Line é o fato de que os dados
são introduzidos no sistema de processamento e dele recebido
remotamente. Isto quer dizer que, os utilizadores do sistema de
processamento interagem com o computador através de terminais que
podem estar localizados a longas distâncias de outros terminais e do próprio
computador.
b) Os dados são armazenados e podem ser recuperados (consultados) e/ou
modificados rapidamente sem necessidade de aceder a outros dados do
sistema.
Ex.:
Registro de reserva de uma passagem aérea.
Registro individual sobre uma pessoa.
9
Sistema On-Line, interage diretamente com as pessoas por isso é necessário
que o analista planeje cuidadosamente o interface Homem - Maquina.
Ex.:
Cartão de Crédito (Planear todas as operações perguntas e respostas e outras
possiveis situações).
Estimulo
Sistema
O
em AMBIENTE
Tempo Real
Resposta
Passagem
do Tempo
Ex.:
10
CARACTERISTICAS:
a) Muitas actividades de processamento ocorrem em simultaneo;
b) Estabelecimento de diferentes prioridades para diferentes tarefas de
processamento;
c) Interrupção de uma tarefa de processamento antes de terminada, para que
outra tarefa com alta prioridade possa ser atendida.
d) Acesso simultaneo a dados de uso comum, tanto na memória principal
como na secundaria.
e) Uso dinâmico e alocação da memoria RAM no sistema de processamento,
visto não ser económico ocupar memória fixa para manipular situações de
pico de quantidade de dados.
IDENTIFICAR
OPÇÕES ALTERNATIVAS
ESTABELECER
CRITÉRIOS DE AVALIAÇÃO
SELECCIONAR
A MELHOR OPÇÃO
11
4. SISTEMAS BASEADOS NO CONHECIMENTO (KNOWLEDGE-BASED
SYSTEMS)
São constituídos habitualmente para terem a capacidade de explicar as linhas
de raciocínio que conduzem às suas decisões. E alguns até explicam porque
rejeitaram certas sugestões e escolheram outras. Desta transparência surge a
credibilidade perante utilizador.
Ex.: Linhas de montagem automatizadas.
1ª GERAÇÃO:
Identificação dos Sistemas de Informação com as aplicações, implicando a
redundância dos dados; X
X X
SI1 SIn
PROGRAMAS PROGRAMAS
Mensagens Mensagens
R
E
... R
E
G G
I I
S S
T T
O O
S S
X X X
2ª GERAÇÃO:
Existência de ficheiros específicos para cada Sistema de Informação em
conjunção com as bases de dados partilhados por vários Sistemas de Informação;
BASE DE DADOS
X X
SI1 SIn
PROGRAMAS X PROGRAMAS
Mensagens Mensagens
R
E
... R
E
G G
I I
S S
T T
O O
S S
X X X 12
3ª GERAÇÃO:
Comunicação entre sistemas distintos através de mensagens.
BASE DE DADOS
X X
SI1 SIn
PROGRAMAS X PROGRAMAS
Mensagens Mensagens
R
E
... R
E
G G
I I
S S
T T
O O
S S
Mensagens Mensagens
X X X
BASE DE DADOS
X X
SIk1 SIkn
PROGRAMAS X PROGRAMAS
Mensagens Mensagens
R
E
... R
E
G G
I I
S S
T T
O O
S S
X X X
13
1.2.4 Dificuldades Na Automatização Dos Sistemas De Informação
14
2 Desenvolvimento De Sistemas De Informação
• CICLO DE DESENVOLVIMENTO
A análise, o projeto e a implementação de novos sistemas consiste em tomar
uma série de medidas e atitudes que em conjunto se dá o nome de ciclo de
desenvolvimento.
Existe normalmente uma equipa especial para realizar o ciclo de
desenvolvimento. Essa equipa, tem objetivo e organização próprios e é formada por
membros de cada uma das partes da organização que vão ser atingidas ou servidas
pelo sistema. Nela fazem partes especialistas em análise de sistemas, projectistas e
programadores vindos do departamento de processamento de dados.
Esta equipa está sujeita a uma observação periódica através de um grupo de
executivos, que determinam a continuidade do trabalho a desenvolver, a sua
interrupção, ou mesmo uma mudança nos seus objetivos.
O período de desenvolvimento está dividido em varias etapas:
A) Analise
1. Estudo do sistema;
2. Proposta de soluções;
3. Estudo de viabilidade;
B) Projeto
4. Definição das necessidades funcionais;
5. Preparação das especificações para a implementação;
C) Implementação
6. Programação;
7. Instalação;
8. Conversão.
15
ANALISE
1. Estudo do sistema
Concentra-se na revisão e análise das necessidades que foram previamente
identificados como problemas organizacionais e que foram ainda resolvidas pelos
sistemas existentes. São levantadas informações detalhadas sobre o fluxo das
informações e sobre decisões tácticas tomadas pelos sectores organizacionais
causadores dos problemas identificados ou que por eles foram afetados.
O objetivo é isolar e entender as causas dos problemas, e como eles levam a
ineficiência das operações, á perda de informação por decisões tácticas tomadas
pelos sectores da organização causadores de problemas.
O resultado é um Relatório de Estudo do sistema que documenta a analise
executada e recomendada ou a não continuação do ciclo de desenvolvimento.
Os estudos devem levar em conta os objetivo da organização, a sua estrutura
administrativa, os grupos de trabalho e os procedimentos formais e informais.
1º Passo
Determinar o que deve ser feito por uma determinada área para que possa
colaborar adequadamente com a organização para que assim como um todo, sejam
atingidos os seus objetivo.
2º Passo
Determinar Como é feito. Deve identificar as alternativas pelas quais as
mesmas coisas poderiam ser feitas e compará-las com o existente de forma a
esclarecer as ineficiências e identificar as melhorias que possam ser introduzidas.
2. Proposta de Soluções
Estabelecer as intenções, raio de ação e custos do novo sistema a ser
desenvolvido. O resultado final desta fase é o documento formal chamado Proposta.
• Descrição
Descreve os procedimentos operacionais propostos, tanto manuais como
automáticos; estabelece os objetivos a serem alcançados pelo novo sistema.
• Considerações econômicas
Identifica os custos de desenvolvimento e instalação do novo sistema, os
custos estimados da operação após a instalação e as eventuais economias
conseguidas com o novo sistema
• Plano de desenvolvimento
Estabelece um plano para os estágios subseqüentes do ciclo de
desenvolvimento.
Especifica as necessidades de pessoas, de programação e de
gerenciamento do desenvolvimento.
16
Nota: Através da avaliação da proposta é determinado se o sistema é conveniente
ou não.
3. Estudo de Viabilidade
A parte das “considerações econômicas” da proposta é alargada até aos mais
pequenos detalhes.
São feitas projeções do movimento de caixas de retorno do investimento e
outras considerações econômicas.
Os dados financeiros relevantes são analisados por especialistas de
administração para determinar o custo da implantação da proposta prevista para a
organização.
E verificar também através de especialistas financeiros os benefícios que
poderá trazer o novo sistema.
PROJETO:
4. Definição das necessidades funcionais
Produz um documento formal que contenha uma descrição mais detalhada da
proposta, com os seguintes pontos:
1. Descrição detalhada das funções:
Descrição de todas as principais funções a serem realizadas pelo sistema,
bem como o modo pelo qual elas se relacionam entre si e com os restantes
componentes da organização.
2. Performance desejada
Níveis esperados de precisão, tempos de respostas dos terminais de
computadores e limites para o tempo de processamento.
3. Entradas e Saídas desejadas
Documentos, formulários e transições executados pelos utilizadores e as
saídas a serem produzidas, incluindo detalhes dos itens de dados.
4. Ligações com outros sistemas de processamento de dados
Interdependências entre os diversos sistemas.
5. Disponibilidades de dados
Recurso necessário de avaliação e retenção dos registros e dos itens de
dados.
6. Volume de transações
Estimativa do volume de transações a serem executadas.
17
5. Preparação das Especificações para a Implementação
Aqui se produz um projeto detalhado do Sistema, especificando-se toda a
informação envolvida. Os registros e os dados são descritos, incluindo-se o
tamanho, tipo e valor que podem assumir individualmente, regras de validação e
para as relações com outros registros ou dados. As entradas e as saídas têm que
ser especificadas de forma a determinar a disposição de cada dado em formulários
ou em listagens.
Todos estes valores (validos de entrada e de saída), bem como as respostas
do sistema a cada entrada possível, são fornecidos ao utilizador.
Todos os procedimentos são escritos o mais claramente possível, com um
considerado nível de detalhe (Analise descendente TOP-DOWN), de modo a que
possam ser escritos os manuais e os programas de computadores.
Evitar as ambigüidades e a não especificação de detalhes.
IMPLEMENTAÇÃO
6. Programação
18
7. Instalação
Instalação dos equipamentos, do Software e testes exaustivos de
funcionamento.
Nesta fase ambos os sistema ( novo e velho ) estão implantados sendo
testados paralelamente, podendo-se assim verificar a eficiência do novo sistema.
Se houver mal funcionamento do novo sistema revelado nos testes, há
necessidade de trabalho suplementar no projeto e na correção dos programas.
8. Conversão / Manutenção
19
3 ANALISE DE SISTEMAS
20
1. Entrevistas: Esta é a técnica mais utilizada para a obtenção de informação
sobre um sistema existente, através de entrevistas com os utilizadores do
sistema. Deve-se tentar extrair opiniões sobre as tarefas que desempenham, ou
que acham que deviam desempenhar e como a desempenham.
2. Questionário: Uma ferramenta bastante eficaz, pois pode obter informações
sobre os detalhes da organização, visto que os consultados permanecem
anônimos, o que possibilita respostas mais honestas e mais tempo para pensar
nas respostas.
3. Diagramas Funcionais: Técnica usada para identificar cada uma das partes de
um sistema. Apresenta um sistema decomposto nos seus componentes,
começando por uma descrição geral passando e por um detalhe contínuo de
cada um dos subsistemas, através da técnica (Top-Down).
O diagrama começa por um único bloco que identifica a função geral do sistema.
O nível inferior seguinte subdivide a função geral em outras menores, mas ainda
não detalhadas. Apartir dai, cada nível sucessivo subdivide cada vez mais a
função a que está ligado e o processo continua até que não haja necessidade
para mais detalhe. Quando o nível mais baixo estiver atingido, cada bloco
documenta uma função em entradas, saídas e etapas de processamento.
4. Diagramas de Fluxo de Dados: Determina o modo pelo qual a informação é
manipulada, bem como as transformações que sofre, e a documentação do fluxo
de dados entre os centros de processamento e os centros de tomada de
decisões.
Quando uma informação é alterada como resultado de um processamento ou de
uma decisão, diz-se que houve uma transformação.
Um conjunto completo de diagramas, mostra toda a rede de informações que é
toda a organização.
5. Mapas Estruturais: Estes mostram a movimentação dos dados e o controle
adequado das funções através das setas. As setas ligam um bloco superior aos
blocos subordinados indicam o controle das funções. A seta mais longa indica um
ciclo repetitivo e as setas menores mostram o fluxo dos dados de um módulo
para outro. Os círculos pequenos, em branco, indicam os dados, como o nome,
endereço, número de pedido e data. Os círculos cheios indicam que os dados
passam para o controle da informação (ex. o numero de vezes que uma
operação deve ser repetida).
6. Diagramas CPM e PERT: Definem a organização temporal das tarefas e as suas
inter-relações. Ex. para jantar, é necessário que antes este tenha sido
preparado. Por outro lado após ter jantado é necessário que sejam lavados os
pratos, talheres, etc. Existem dependências entre preparar o jantar, come-lo e
limpar a louça. Podemos escrever esta dependência pelo diagrama: Incluindo o
tempo necessário para a execução de cada um dos passos. Os círculos (nós)
Representam pontos onde as tarefas anteriores estão terminadas.
PERT- é um método para o controle regular de todas as partes responsáveis pelo
término das tarefas, para definir ou redefinir o caminho critico necessário.
21
7. Diagrama Entidade-Relação: Descreve em detalhes a informação que está
contida nos arquivos de dados e também as relações que existem entre eles.
Importantes componentes:
Tipos de objetos, representados por um retângulo. Uns objetos representam uma
coleção, um conjunto ou coisas do mundo real que desempenham um papel no
sistema.
Relações, são representados por losangos. Uma relação representa um conjunto
de conexões ou associações, entre os tipos de objetos interligados por setas às
relações. É necessário se proceder a um detalhe do DER com informações
textuais.
22
4 DIAGRAMA DE FLUXO DE DADOS
COMPONENTES DE UM DFD:
• Não necessita de explicações; basta olharmos para ele para compreendê-lo. A
representação é simples e sem intrusões e, de certa forma, bastante intuitivo.
• O diagrama acomoda-se facilmente numa página. Isso tem dois significados. 1º:
Uma pessoa pode examinar o diagrama sem se confundir e, 2º: o sistema que
está a ser moldado não é muito complexo. Que fazer se o sistema for tão
complexo que haverá centenas de círculos e linhas no diagrama?
• Um diagrama desenhado por computador é mais exato e mais padronizado do
que se fosse desenhado á mão e as alterações podem ser feitas e novas versões
podem ser produzidas em questão de minutos.
1. O Processo,
O primeiro componente de um DFD é conhecido como processo. O processo
mostra uma parte do sistema, que transforma entradas em saídas - ou seja,
mostra uma ou mais entradas que são convertidas em saídas. O Processo é
representado por:
Calcular
Imposto
sobre
Renda
1. Processo
O processo é denominado ou descrito com uma única palavra ou sentença simples.
A designação do processo descreve o que o processo faz. Um bom nome é
geralmente composto por uma frase constituída de um verbo e de um objeto, tal
como VALIDAR ENTRADA ou CALCULAR VALOR IMPOSTO.
O processo contém o nome de uma pessoa ou de um grupo de pessoas (um
departamento ou divisão de uma empresa), ou de um computador ou de um
dispositivo mecânico. Ou seja, o processo às vezes descreve quem ou o que o
executa o processo, em vez de descrever o que o processo é.
23
2. O Fluxo,
O fluxo é graficamente representado por uma seta que entra ou sai de um
processo. O fluxo é utilizado para mostrar o movimento de fragmentos ou pacotes
de informações de um ponto a outro do sistema, Deste modo, o fluxo representa
dados em movimento, enquanto os arquivos representam dados em repouso.
2. Fluxo de dados
Na maioria dos sistemas os Fluxos, representam dados, isto é, bits, caracteres,
mensagens, números de ponto flutuante e os diversos tipos de informação com que
lida o computador. Os DFD’s podem também ser utilizados para moldar uma linha
de montagem onde não haja componentes computadorizados.
Nas figuras abaixo estão representados os fluxos que têm nomes. O nome
representa o significado do pacote que se move no fluxo. O fluxo transporta apenas
um tipo de pacote, o que é indicado pelo nome do fluxo. Não se deve atribuir a um
fluxo de dados um nome como MAÇÃS E LARANJAS E VARIAS OUTRAS
COISAS. Podemos ter no entanto um fluxo de dados denominado VEGETAIS, em
vez de vários fluxos diferentes rotulados como BATATAS, CEBOLAS e ERVILHAS.
Ovos
Leite Preparar Bolo
Bolo
Açúcar
3. Fluxos de materiais
Não será demais dizer que o mesmo conteúdo pode ter significados diferentes em
pontos diferentes do sistema.
O fragmento de dados (ex. 212 4456), tem um significado quando passa pelo fluxo
com o nome de NUMERO-DE-TELEFONE e outro quando passa pelo fluxo
denominado por NUMERO-DE-TELEFONE-VALIDO. No primeiro caso indica que o
número de telefono pode ser valido ou não, enquanto que o segundo indica que o
número de telefone é valido dentro do contexto.
NUMERO-DE-TELFONE-VALIDO
VALIDAR
NUMERO-DE-TELFONE NUMERO
DE
TELEFONE
NUMERO-DE-TELFONE-INVALIDO
4. Um DFD típico
24
Podemos dizer que o fluxo denominado “numero de telefone” é capaz de permitir a
passagem indiscriminada de números de telefone validos ou inválidos, através dele,
enquanto que o fluxo “NUMERO-DE-TELEFONE-VALIDO” é mais discriminativo,
permitindo que passe por ele apenas um conjunto definido de dados.
3. Arquivo,
O arquivo é utilizado para moldar uma colecção de pacotes de dados em repouso. A
representação gráfica de um arquivo é um rectângulo como mostra na figura 5. O
nome escolhido para o arquivo é geralmente o plural dos nomes dos pacotes
transportados pelos fluxos de dados para dentro e para fora do arquivo.
D1 PEDIDOS
5. Representação de Arquivo
Os arquivos são muitas vezes implementados em sistemas computadorizados; mas
um arquivo pode também conter dados armazenados em cartões perfurados,
microfilmes, microfichas, discos ópticos, etc.
DETALHE DE PEDIDOS
CONSULTA
PEDIDO PEDIDO
INTRODUZIR
PEDIDOS RESPONDER
PEDIDO PEDIDO
RESPOSTA
6. Um arquivo necessário.
Um arquivo apresenta-se num DFD como:
• Um fluxo de um arquivo;
• Um fluxo para um arquivo.
Um fluxo é normalmente interpretado como uma leitura ou acesso feito às
informações desse arquivo, Isto pode significar que:
Fluxo de um arquivo:
• São recuperadas mais que uma parte de vários registros. Clientes com o
código postal x.
Fluxo para um arquivo:
25
• Um ou mais registros podem ser introduzidos no mesmo arquivo;
• Um ou mais registros podem ser eliminados ou removidos no mesmo arquivo;
• Um ou mais registros podem ser alterados ou modificados no mesmo arquivo,
pode ser alterado parte ou a totalidade do registro;
26
DIRETRIZES PARA ELABORAÇÃO DE DFD´s
Um processo representa uma função que está a ser executada ou pode indicar
como a função vai ser executada. É necessário que se rotule (dar nome) o
processo para que os utilizadores sejam capazes de identificar os mesmos e que
estes aprovem o modelo escolhido.
É de evitar nomes de pessoas de grupos ou funções políticas.
Devem-se rotular os processos com as funções que o sistema executa.
O melhor método para o nome do processo é utilizar o verbo e um objetos.
Encontrar um verbo que represente a ação e uns objetos adequados de modo a
formar uma frase descritiva do processo.
Ex.:
27
Os processos são numerados, para que seja mais fácil a sua identificação. Ainda
mais importante, os números são a base para o esquema de numeração hierárquica
quando representamos diagramas de fluxo de dados nivelados.
28
5. Certificar-se de que o DFD seja logicamente consistente:
Algumas diretrizes para um DFD consistente:
a) Evitar os poços sem fundo – círculos que têm entradas mas não têm saídas.
a x
PROCESSAR
CONTEÚDO
b y
c) Evitar círculos com geração espontânea – círculos que não têm entradas e
só têm saídas, são geralmente incorretas. Um exemplo aceitável seria um
gerador aleatório de números.
a PROCESSAR x
CONTEÚDO
29
DFD COM NIVEIS
O
SISTEMA
1 2
DIAGRAMA DE CONTEXTO 3 4
FIGURA 0
3. 3.
1 2
3. 3.
3 4
FIGURA 3
31
4. Como se mostram esses níveis para o utilizador?
Muitos utilizadores só querem ver um diagrama. Um utilizador executivo
de alto nível pode querer ver apenas o diagrama de contexto ou talvez
a figura 0, enquanto que um utilizador de nível operativo pode querer
ver apenas a figura que descreve a área do sistema em que esteja
interessado. Se alguém estiver interessado em ver grande parte do
sistema ou o sistema inteiro, são lhe apresentados os diagramas na
metodologia Top-Down: começando pelo diagrama de contexto,
descendo aos níveis de mais detalhe.
É prático ter os dois diagramas lado a lado para se poder mostrar.
5. Como garantir que os níveis dos DFD’s são consistentes entre si?
O aspecto de consistência é muito importante porque os diversos níveis
dos DFD’s são normalmente desenvolvidos por pessoas diferentes nos
projetos do mundo real.
Para garantir a consistência com a figura do nível superior, existe uma
regra simples: os fluxos de dados que entram e saem de uma figura
inteira do nível imediatamente superior devem corresponder aos fluxos
que entram e saem de uma figura imediatamente inferior que descreve
aquele processo.
Exemplo explicativo na Fig. 2.
6. Como mostrar os arquivos nos diversos níveis?
Existe a seguinte diretriz: mostrar um arquivo no nível mais alto onde
serve como interface entre dois ou mais processos; em seguida mostrá-
lo em cada diagrama de nível inferior que descreva (ou subdivida) os
processos em interface. Fig. 3.
Um corolário: os arquivos locais, utilizados apenas pelos processos de
uma figura de nível inferior, não serão mostrados nos níveis superiores,
porque estarão incluídos num processo de nível imediatamente superior.
7. Como realmente se faz a subdivisão dos DFD’s em níveis?
É típico que os DFD’s sejam apresentados segundo a metodologia Top-
Down, esta é intuitiva e atraente. Mas neste caso podem existir
problemas na abordagem desta metodologia, por isso é melhor que se
identifique primeiro os eventos externos aos quais o sistema deve reagir
e usar estes eventos para criar em esboço do DFD. Podendo a
subdivisão ser feita Down-Top (para os níveis mais altos) e Top-Down
(para os níveis mais baixos).
32
A
B
A B
O 1 2
SISTEMA
C
x
y
DIAGRAMA DE CONTEXTO 3 4
z
C
x FIGURA 0
3. 3.
1 2
3. 3.
3 4
y
z
FIGURA 3
4.1.1.1.1.1.1.1
4.1.1.1.1.1.1.2 Fig. 2: Fragmento de um DFD equilibrado
A.1 A B.1
X X X
A.2 B B.2
33
5 DICIONÁRIO DE DADOS
Dicionário de dados:
É uma listagem organizada de todos os elementos dos dados que fazem parte do
sistema, com definições precisas e rigorosas para que o utilizador e o analista de
sistemas possam conhecer todas as entradas, saídas, componentes do arquivo e
cálculos intermédios.
Os elementos dos dados são definidos da seguinte forma:
34
2. CONOTAÇÃO DO DICIONÁRIO DE DADOS
Símbolos d conotação para o dicionário de dados:
SIMBOLOS DESCRIÇÃO
= é composto de
+ e
{} Iteração
** Comentário
35
2.1. Definições
Uma definição de um elemento de dados é apresentada com o símbolo “=”; neste
contexto, o ”=” é lido como “é definido como”, ou “é composto de”, ou
simplesmente 2significa”. Então a conotação
A=B+C
poderíamos lê-la das seguintes maneiras:
36
Quando os itens dos dados elementares estiverem a ser identificados, devem ser
introduzidos no dicionário de dados e neste deve aparecer um pequeno comentário
narrativo, entre os caracteres “*”, descrevendo o significado do termo no contexto
do utilizador. Podem no entanto surgir termos que sejam auto-explicativos.
Os seguintes termos podem ser considerados como auto-explicativos:
altura - atual
peso - atual
data - de - nascimento
sexo
telefone - residência
Nenhum destes termos necessita de comentário narrativo. Podemos utilizar a
conotação “**” para indicar um comentário nulo, quando o é elemento auto-
explicativo
altura - atual = * *
*unidades: centímetros; intervalo: 1 - 220*
peso - atual =* *
*unidades: kilos; intervalo:1-96*
data - de - nascimento =**
*unidades: dias desde 1, jan, 1900; intervalo: 0-36500*
sexo = **
*valores: [M|F]*
37
2.3. Elementos de dados opcionais
Este pode estar ou não presente como um componente de um elemento de dados
composto.
38
forma podemos lidar com um cliente que apresente um pedido que envolva apenas
um ou mais produtos.
Na realidade o utilizador pode querer especificar o limite inferior e superior da
iteração. Pois não faz sentido que um cliente faça um pedido de zero produtos,
devendo então haver pelo menos um produto no pedido. O utilizador pode também
querer especificar um limite superior de produtos num pedido; talvez 10 produtos
sejam o máximo permitido.
Podemos indicar o limite inferior e superior da seguinte forma:
{item}
pedido = nome_de_cliente + endereço_de_remessa + 1{ }10
39
2.5. Seleção
2.6. Sinônimos
É um nome alternativo para um elemento de dados. É uma situação comum quando
se lida com um grupo diversificado de utilizadores, muitas vezes de departamentos
diferentes que insistem em dar nomes diferentes para indicar a mesma coisa. O
sinônimo é incluído no dicionário de dados só por uma questão de completar a
informação, e deve ter uma referência com o nome principal ou oficial do dado.
Exemplo:
cliente = *sinônimo de cliente*
Nesta não existe definição do cliente e não mostra a sua composição. Todos os
detalhes devem ser fornecidos somente no nome principal.
No entanto deve-se evitar o uso de sinônimos sempre que possível.
40
6 ESPECIFICAÇÃO DE PROCESSO
A especificação de processos define o que deve ser feito para transformar entradas
em saídas. É uma descrição detalhada da orientação empresarial executada pelos
processos.
Existem diversas ferramentas que podemos utilizar para produzir uma especificação
de processos: Tabelas de decisão, Linguagem estruturada, condições pré/pós,
Fluxogramas e outras.
A especificação de processos deve satisfazer dois requisitos essenciais:
1. A especificação de processos deve ser expressa de uma forma que possa ser
verificada pelo utilizador e pelo analista de sistemas. É por essa razão que se
evita a linguagem comum como ferramenta de especificação, ela é ambígua,
principalmente quando se descreve as acções (decisões) alternativas e
repetitivas (laços/ciclos). Tende a causar grande confusão ao expressar
condições booleanas compostas (condições dos operadores booleanos AND, OR
e NOT).
2. A especificação de processos deve ser expressa de uma forma que possa ser
efetivamente comunicada às diversas audiências pretendidas (Utilizadores,
gerentes, auditores, controladores de qualidade, etc.).
Para elaboração das especificações devem ser usadas uma combinação de
ferramentas de especificação, dependendo:
a) da preferência do utilizador;
b) das suas próprias preferências;
c) da natureza dos diversos projetos.
Deve no entanto possuir uma terceira característica:
Não deve impor (ou implicar) decisões arbitrárias de projetos e de implementação.
Isto no entanto é bastante difícil, porque o utilizador, de quem se depende para
estabelecer a “política” seguida em cada processo no DFD, está disposto a
descrever a orientação como ela é executada.
O analista deve escolher a melhor apresentação da essência do que seja a
orientação e não como ela é executada.
Segundo o exemplo:
Desenvolver uma especificação para o processo com o nome
CALCULAR FACTOR HIPOTÉTICO.
Depois de entrevistado o utilizador, descobre-se que o cálculo de fatores hipotéticos
para qualquer entrada de X é:
1. O fator não é calculado de uma forma simples. Temos que começar por uma
suposição. O utilizador disse que gosta muito dos 14 como suposições inicial.
2. Em seguida, faz-se outra suposição. Divide-se o número X com que
começamos, pela suposição corrente.
3. Toma-se o resultado desse cálculo e subtrairmos a suposições correntes.
4. Toma-se o resultado da alínea 3 e dividimo-lo por 2. Essa é uma nova
suposição.
41
5. Se a nova suposição e a suposição corrente estão muito próximas uma da
outra, dentro de o intervalo 0,0001, pode parar, a nova suposição é o fator
hipotético. Caso contrário volta á alínea 2 e começa tudo novamente.
Desta forma pode-se argumentar que esta especificação de processo é bastante
difícil de ser lida e compreendida, porque está escrita em linguagem narrativa. A
definição seguinte é muito mais esclarecedora (pois são usadas as barras verticais
“|” na clausula UNTIL (ENQUANTO) que significam o “valor absoluto” da
expressão entre elas.
Factor_hipo0 = 14
REPITA para N = 0 em saltos de 1
Fator-hipoN+1 = (Fator_hipoN - (X/Fator_hipoN))/2
ATÉ | Fator-hipoN+1 – Fator_hipoN | < 0,0001
Ou
N=0
Factor_hipo0 = 14
ENQUANTO |Fator_hipoN+1 – Fator_hipoN| < 0,0001 FAZER
Fator_hipoN+1 = (Fator_hipoN - (X/Fator_hipoN))/2
N incrementa 1
FIM FAZER
X CALCULAR
FATOR Factor_hipo(X)
HIPOTETICO
Calcular Fator_Hipotético
42
Existem três principais ferramentas de especificação de processo:
Definição:
É uma linguagem de especificação, que usa um vocabulário limitado e uma sintaxe
limitada.
O vocabulário consiste em:
43
Os objetos devem ser compostos apenas por elementos de dados que tenham sido
definidos no Dicionário de Dados ou em termos locais. Termos locais são palavras
explicitamente definidas na especificação de um processo individual. Elas só são
conhecidas, relevantes e significativas nessa especificação de processo.
Ex.:
Calculo intermédio de uma operação. Examina uma série de registros no arquivo
Pedidos para calcular um total diário.
Total_Diário = 0
ENQUANTO existirem mais pedidos em Pedidos como data_fatura = Data_hoje
FAZER
ESCREVER em Contab. Numero_fatura, nome cliente, total_geral
Total_diário = total_diário + total_geral
FIMFAZER
ESCERVER em Contab. Total_diário
1. SE - ENTÃO - SENÃO(IF-THEN-ELSE)
A estrutura SE - ENTÃO - SENÃO (IF-THEN-ELSE), é utilizada para descrever
ações alternativas que devem ser executadas de acordo com o resultado de uma
condição (verdadeira - Falsa )
ou
Ex.:
44
2. CASO (CASE)
A estrutura CASO (CASE) é utilizada para descrever ações alternativas a serem
executadas com base no resultado de uma condição com vários valores (diferente
da condição binária que ocorre na estrutura SE-ENTÃO). A estrutura CASO
assume a forma geral:
FAZER CASO
CASO < condição 1 = valor 1>
< ação 1 >
CASO < condição n = valor n>
< ação n >
CASOCONTRARIO
< ação n+1>
FIMCASO
Ex.:
1º
FAZER CASO
CASO idade_cliente < 13
COLOCAR categoria_cobrança em categoria_infantil
CASO idade_cliente > 12 e idade_cliente < 20
COLOCAR categoria_cobrança em categoria_adulto
CASO idade_cliente >19 e idade_cliente <65
COLOCAR categoria_cobrança em categoria_adulto
CASOCONTRARIO
COLOCAR categoria_cobrança em categoria_sénior
FIMCASO
2º
FAZER CASO
CASO Pais = “GB”
COLOCAR Taxa_Vendas em 0.0825
CASO Pais = “FRN”
COLOCAR Taxa_Vendas em 0.07
CASO pais = “ESP”
COLOCAR Taxa_Vendas em 0.05
CASOCONTRARIO
COLOCAR Taxa_Vendas em 0
FIMCASO
45
3. ENQUANTO - FAZER ( DO - WHILE ou WHILE - DO )
A estrutura ENQUANTO - FAZER ( DO - WHILE ou WHILE - DO ) é usada para
descrever uma ação que deve ser executada repetidamente até que uma
determinada condição booleana seja Falsa. O teste á condição é feito antes da
execução da 1ª ação; assim sendo, se a condição não for satisfeita a condição não
é executada. Procedendo-se ao termino da condição.
Ex.:
46
< ação m>
SENÃO
< ação a>
< ação b>
< ação n>
FIMSE
(2)
ENQUANTO < condição >
FAZER
< ação 1 >
< ação 2 >
< ação n >
FIM FAZER
RESUMO:
Como se viu, é possível se construir estruturas de controlo bastante complexam. No
entanto há que ter muita atenção com essa complexidade, pois pode servir como
desvantagem caso o utilizador não a conseguir compreender nem mesmo fazer a
sua verificação e correção. Nesse caso tudo o projeto será um fracasso, deste modo
devem ser evitadas as seguintes três diretrizes:
1. Restringir a linguagem de estrutura a uma só página de texto. Se for necessário
utilizar mais que uma página, deve-se então tentar alterar para algoritmos mais
simples. Senão quer dizer que o DFD correspondente é muito complexo, dever-
se-á subdividi-lo em processos mais simples de nível mais baixo.
2. Não usar mais de três níveis de encadeamento das estruturas de controlo (SE -
ENTÃO - SENÃO ou CASO). Principalmente se for a estrutura SE - SENÃO -
SENÃO, mais que dois níveis de encadeamento representa a necessidade da
especificação de uma tabela de decisões.
3. Evitar confusões relativamente aos encadeamentos recorrendo-se à
identificação, como foi visto nos exemplos anteriores. Desta forma torna-se
mais fácil a sua visualização e a sua correção.
48
7 TABELAS DE DECISÃO
Definição:
É uma ferramenta que distingue e especifica um conjunto de n ações, em que
apenas uma delas é aplicada a cada uma das condições dadas.
Esta ferramenta é usada em situações em que deve produzir alguma saída ou
executar acções com base em condições (decisões) complexas. Se as acções forem
baseadas em diversas variáveis (por Ex.: elemento de dados de entrada), e se
essas variáveis poderem assumir muitos valores diferentes, então a lógica expressa
pela linguagem estruturada poderá ser provavelmente tão complexa que o
utilizador não a compreenderá.
Numa TABELA DE DECISÃO estão relacionadas todas as variáveis relevantes ou
condições e todas as ações relevantes, estas encontram-se posicionadas no lado
esquerdo da Tabela de Decisão. Nas colunas do lado direito estão descritas as
normas (regras).
Uma norma descreve a ação ou ações que devem ser tomadas para uma específica
combinação de valores de variáveis. Deve pelo menos ser especificada uma acção
para cada norma, isto é, para cada coluna vertical na Tabela de Decisão, ou o
comportamento do sistema para aquela situação não será especificada.
O número de normas existente na Tabela de Decisão depende das condições
existentes na mesma.
• Como escolher o número de normas existentes na Tabela de Decisão:
1. Se as variáveis dependentes, tiverem n valores binários (Falso/Verdadeiro),
então teremos 2n normas distintas.
Ex.:
Se tivermos 3 condições então teremos 23 normas que equivale a 8 normas.
Regra:
“O número de normas necessárias para completar uma Tabela de Decisão é igual
ao produto entre os números de valores para todas as variáveis de condição.”
49
Etapas para a criação de uma Tabela de Decisão para uma especificação de
processos:
Sim – S
Idade > 21
Não – N
Masculino – M
Sexo
Feminino – F
Sim – S
Peso > 150
Não - N
Nota:
Todas as Variáveis de Condição são binárias, pois admitem como valores
associados apenas dois.
Pode-se verificar que na seguinte Tabela de Decisão teremos três condições cujas
variáveis são de tipo binário (Sim/Não), neste caso n é igual a 3.
50
1 2 3 4 5 6 7 8
Idade > 21 S S S S N N N N
Sexo M M F F M M F F
Peso S N S N S N S N
Medicação 1 X X X
Medicação 2 X X
Medicação 3 X X X
Nenhuma
X X
Medicação
51
7.1 ÁRVORE DE DECISÃO
Definição:
É a representação gráfica de uma Tabela de Decisão.
N 2
S
S 3
F
PROGRAMA
DE N N
MEDICAÇÃO 1,2
S
M
N N 3
S N
F
N 1,3
52