Você está na página 1de 63

Análise Essencial

de Sistemas

1
Métodos
Organizam o pensamento e o processo de pensamento.
Modelo
Abstração da Realidade

Níveis de Dimensões do Mundo Real Fases do Ciclo


Abstração de Vida
Função Dado
Conceitual Diagrama de Modelo de ANÁLISE
fluxo de Entidade e
dados(DFD) Relacionamento
(MER)
Tecnológico Diagrama de Relacional,Rede, PROJETO
estrutura modular Hierárquico
(DEM)

Interno Cobol,CSP, Linguagem de IMPLEMENTAÇÃO


National,C, descrição de dados
Pascal,Clipper, SGBD (DDL)
2
E.T.C
HISTÓRICO
Análise Estruturada
1976 - ROOS - “SADT - STRUCTURED ANALYSIS
AND DESIGN TECHNIQUE”
1977 - GANE / SARSON - “STRUTUCTURED ANALYSIS
TOOL AND TECHNIQUES “
1978 - DEMARCO - “STRUCTURED ANALYSIS AND
SYSTEM SPECIFICACIONS”
Análise Estruturada Moderna
1984- McMENAMIM / PALMER - “ESSENTIAL SYSTEM
ANALYSIS” 3
ANÁLISE ESTRUTURADA
SSA (“STRUCTURED SYSTEMS
ANALYSIS”)

Instrumentos :
- linguagem para diagramas de fluxos de dados
- dicionário de dados
- linguagem para especificação da lógica dos processos

4
DIAGRAMA DE FLUXOS DE DADOS (DFD)

ENTIDADE EXTERNA DEPÓSITO DE DADOS

CLIENTE CLIENTES

PROCESSO FLUXO DE DADOS

PEDIDO
1
VERIFICAR
PEDIDO NOTA- FISCAL
DO CLIENTE
CHEQUE

5
EXERCÍCIO DE DIAGRAMA DE FLUXO DE DADOS

X’s chegam da fonte S e são transformados em Y’s pelo


processo P1 (que requer acesso de leitura ao arquivo A para
fazer seu trabalho ). Y’s são transformados subseqüentemente
em Z’s pelo processo P2 .

7
DFD

X Y Z
S P1 P2

8
EXEMPLO DE DIAGRAMA DE FLUXO DE DADOS
Fileira de carrinhos
Guardar
Carrinho Automóvel
Escolher
Bebida Carrinho -Cheio

Compras Carteira
Prateleiras

Arquivo - Inventário Dinheiro


Reorganizar
prateleiras
Guardar Troco
estoque Mudar Estoque- Operar
novo localização Mínimo Caixa
na prateleira
Arquivo - Inventário
Caixa

Pedido-de-Compra Comprar
estoque Pedido-de
novo -Compra
Conferir
Carregamento
Fatura Pagar Novo Fornecedor
Estoque- Carregamento
Novo
Autorização- Dinheiro 6
de-Pagamento
ESTRUTURA HIERÁRQUICA DO DFD

DIAGRAMA DE CONTEXTO

VISÃO GERAL DO PROJETO

DIAGRAMA 1. 1 1. 2 2. 2 3. 2
DETALHADO
1. 3 2. 1 3. 1

DESCR. DESCR. DESCR. DESCR. DESCR. DESCR. DESCR.


PROCESSO PROCESSO PROCESSO PROCESSO PROCESSO PROCESSO PROCESSO
1. 1 1. 2 1. 3 2. 1 2. 2 3. 1 3. 2
9
Dicionário de Dados

- Lista organizada alfabeticamente das definições


de dados, ou seja, fluxo de dados, depósito de dados,
estruturas de dados elementos de dados.

11
Notação do Dicionário de Dados
= é equivalente a ou é composto de
+ e
() opcional
n{ }m repetição (n=número mínimo de ocorrências
m=número máximo de ocorrências)
[] seleção
| separador de alternativas na estrutura [ ]
@ ou _ chave ou identificador
** comentário
Exemplos
CLIENTES= *cadastro de clientes da loja*{cliente}
clientes = *pessoa física que compra ,mercadoria*
@cod -cliente+nome-cliente+
endereço -cliente+sexo+(telefone)
endereço-cliente=rua+complemento+bairro+cidade+uf+cep
rua= * *
*tamanho:40posições *
*tipo:alfanumérico
sexo= * * 12
*domínio de valores :[masculino/feminino]
Instrumentos para Especificação da Lógica
dos Processos

-árvore de decisão
-tabelas de decisão
-português compacto
-português estruturado

13
Exemplo de Português Estruturado

Programa(política )de Ação para Processamento de Fatura

SE o valor da fatura excede $500,


SE a conta em qualquer fatura com mais de 60 dias vencidos
retenha a confirmação, aguardando solução de débito.
SENÃO(conta está em dia), emita confirmação e fatura.
SENÃO(fatura de $500 ou menos),
SE a conta tem qualquer fatura com mais de 60 dias vencidos,
emita confirmação, fatura e escreva a mensagem no relatório
do acionamento de crédito
SENÃO(conta está em dia), emita confirmação e fatura.

14
Exemplo de Tabelas de Dados

Condições Regras

1.Fatura>$500 1234
2.Conta Vencida SNSN
por 60 + dias SSNN

Ações Regras

1234
1.Emita Confirmação NSSS
2.Emita Fatura NSSS
3.Mensagem para R.A.C. NSNN
15
Exemplo de Árvore de Decisão
AÇÃO
Conta 1.Retenha
Fatura Vencida confirmação
$500 > 60 dias aguardando solução
Programa débito
Conta
(política) em dia 2.Emita Confirmação e
de ação Fatura
conta
Conta
vencida 3. Emita Confirmação Fatura
Fatura > 60 dias e escreva mensagem no R.A.C.
<=$500
Conta 4. Emita confirmação e fatura
em dia 16
Atribuindo Nomes no DFD
Entidade Externa

Cliente Nome da Entidade Externa:=Substantivo no singular

Processo
1 Número do processo, consistente o diagrama ao qual pertence
verificar Nome do Processo := Verbo no infinitivo+subestantivo+
pedido (qualificador)
cliente

Depósito de Dados
Clientes Nome do depósito de Dados:= Substantivo no plural

Fluxo de Dados
Pedido
Nota-Fiscal Nome do Fluxo de Dados:= substantivo simples ou composto
Cheque
10
Regras do DFD
Fluxo de
Entidade Externa Processo
Dados

Fluxo de
Processo Dados Entidade Externa
Fluxo de
Dados Depósito de Dados

Fluxo de Dados
Processo

Depósito de Dados Fluxo de Dados Processo

10
NÍVEIS DO DFD

DIAGRAMA DE CONTEXTO -1

DIAGRAMA ZERO 0

DIAGRAMA 2 DIAGRAMA 3
DIAGRAMA 1 1. 1 1. 2

1. 3 2. 1
2. 2
3. 1
3. 2
1

DIAGRAMA 1.1 n
DESCR. DESCR.
1. 1.1 1.1. 2 PROCESSO PROCESSO
DESCR. DESCR. DESCR. DESCR.
PROCESSO PROCESSO PROCESSO PROCESSO
1. 2 1. 3 2. 2 3. 1 3. 2
1.1.3 2. 1
9
Recomendações para Construção do DFD
Escolha nomes significativos do próprio ambiente do Usuário
Processos são numerados de acordo com diagrama que fazem
parte
Fluxos que entram e saem num nível devem entrar e sair num
nível inferior
Mostre um depósito de dados no nível mais alto em que ele faz
interface entre 2 ou mais processos. Represente-o em todos os
níveis inferiores que detalham os processos de interface.
Evite desenhar DFDs complexos (5+- 2 processos)
Cuidado com processos sem entrada ou sem saída
Cuidado com processos e fluxos não nomeados
Cuidado com depósito de dados que só possuem fluxos de
entrada ou de saída
Aplique a conservação dos dados
Só represente fluxos de rejeição em diagramas de mais baixo
nível
Não represente no DFD fluxos de controle e de material
Só especifique a lógica dos processos primitivos, ou seja, os não
17
detalhados nos diagramas
Abordagem Proposta Pela Análise Estruturada

Problemas:
• Falta de Orientação Conceitual que auxiliasse o
processo de raciocínio do analista, na construção do
modelo dos requisitos do sistema.

•Distinção entre requisitos lógicos e aspectos físicos do


sistema

•Características dos Sistema que os analistas constroem

17
ANÁLISE ESSENCIAL
ESA (“ESSENTIAL SYSTEMS ANALYSIS”)
Instrumentos :
- linguagem para diagramas de fluxos de dados
- dicionário de dados
- linguagem para especificação da lógica dos processos
- linguagem de diagrama de entidade e relacionamentos
- lista de eventos

4
Diagrama de Entidade e Relacionamentos

-Entidades
-Relacionamentos
-Atributos

11
Vantagens da Análise Esssencial

• Orientação Conceitual auxiliando no processo de


raciocínio do analista, na construção do modelo dos
requisitos do sistema.

• Distinção entre requisitos lógicos e aspectos físicos do


sistema

• Características dos Sistema que os analistas


constroem

17
TECNOLOGIA
DE
IMPLEMENTAÇÃO

COMPONENTES:

-Processadores
-Containers

19
TECNOLOGIA PERFEITA

TECNOLOGIA QUE NÃO POSSUI LIMITAÇÕES

COMPONENTES:

-Processador Perfeito

-Container Perfeito

20
DISTINÇÃO ENTRE FÍSICO E LÓGICO

REQUISITO VERDADEIRO:

É uma característica ou capacidade que um sistema


deve ter para atender ao seu propósito.
Independentemente da tecnologia
que venha a ser utilizada na sua implementação.

21
REQUISITO FALSO

O requisito é falso se o sistema atinge


seu propósito sem implementá-lo

Tipos de Requisitos Falsos:

. Arbitrário

.Tecnológico

22
Exemplo de Requisito Falso

1.1 fgts -calculado


calcular
fgts

1.2 conferir
cálculo
fgts
memória

Fgts conferido
23
EXEMPLO DE REQUISITO FALSO

Inscrição
1.1 cadastrar
clientes

1.2
clientes gerar back-up
clientes

Back-up
24
clientes
ESSÊNCIA DO SISTEMA

CONJUNTO DOS REQUISITOS VERDADEIROS

25
CARACTERÍSTICAS DOS SISTEMAS
QUE OS ANALISTAS CONSTROEM

Evento

Sistema Ambiente
Interativo

Resposta
Os analistas constroem sistemas interativos . Esses sistemas
agem sobre entidades fora de seu controle e essas entidades
externas agem sobre o sistema.
26
SISTEMA INTERATIVO
Evento

Resposta
do Resposta Evento
Hdc Desejada
Ambiente
Resposta

Resposta

27
EXEMPLO
SISTEMA INTERATIVO
Pedido -Crédito

Cliente Conceder
Crédito
Valor

Sistema Resposta Planejada


Pedido
Cliente Crédito Cadastro

Conceder
Crédito
Gerente
valor
Valor autorizado
28
SISTEMA DE RESPOSTAS PLANEJADAS
Evento Evento
Sistema de
Entidades Respostas Ambiente
de Planejadas Externo
Relacionamento
Resposta Resposta

É uma entidade (ou coleção de entidades) que excuta ações


predeterminadas, sempre que ocorre um deteminado evento
que está fora do seu controle e cujas respostas planejadas
podem ser representadas em uma linguagem simbólica, de
modo que outras entidades ativas possam adotá-las.

29
EVENTO
Uma mudança no ambiente do sistema ao qual ele reage

Tipos: Estimulo

Entidade Atividade
Evento Externa
Externo Resposta
Memória
Resposta
Evento
Temporal Atividade
Ambiente

Memória 30
Resposta
Conjunto de ações executadas pelos sistema , sempre
que um determinado evento ocorre.

Estímulo

Atividade
Ambiente

Respota Externa Resposta


Interna

Memória
31
ATIVIDADES ESSENCIAIS

- ATIVIDADES FUNDAMENTAIS

- ATIVIDADES DE CUSTODIA

-ATIVIDADES COMPOSTAS

32
ATIVIDADES ESSENCIAIS
Atividades fundamentais
Executa uma tarefa que é parte do proposto do sistema

Estímulo

Atividade
Resposta

Memória
33
ATIVIDADES ESSENCIAIS
Atividades de Custódia
Estabelece e mantém a memória essencial do sistema

Estímulo

Atividade

Memória
34
ATIVIDADES ESSENCIAIS
Atividade Composta
Executa uma tarefa que é parte do propósito do sistema

Estímulo

Atividade
Resposta

Memória
35
Essência do Sistema
Componentes
Atividades Essenciais

São todas as tarefas que o sistema tem que executar para atingir
seu propósito, mesmo que na sua implementação fosse utilizada
uma tecnologia perfeita.

Memória Essencial
São todos os elementos de dados que o sistema precisa
conhecer e que são requeridos pelas atividades fundamentais

36
PROCESSO DE DESENVOLVIMENTO
DE SISTEMAS

ATIVIDADES

 DEFINIR A ESSÊNCIA DO SISTEMA


 SELECIONAR UMA ENCARNAÇÃO DA
ESSÊNCIA

 PROJETAR A IMPLENTAÇÃO

37
ANÁLISE ESTRUTURADA MODERNA
MODELO AMBIENTAL
 PROPÓSITO DO SISTEMA
 LISTA DE EVENTOS
 DIAGRAMA DE CONTEXTO

MODELO COMPORTAMENTAL
 DFD PARTICIONADO POR EVENTOS
 DFD ORGANIZADO EM NÍVEIS
 MER
 DICIONÁRIOS DE DADOS
 ESPECIFICAÇÃO DA LÓGICA DOS PROCESSOS

MODELO DE IMPLEMENTAÇÃO
 MODELO DO SISTEMA ENCARNADO

38
NOMEANDO EVENTO
UMA MUDANÇA NO AMBIENTE DO SISTEMA AO QUAL ELE REAGE

ESTIMULO
TIPOS:

EVENTO EXTERNO ENTIDADE ATIVIDADE


EXTERNA

RESPOSTA
ENTIDADE EXTERNA + AÇÃO + ESTÍMULO MEMÓRIA
RESPOSTA

EVENTO TEMPORAL
AMBIENTE ATIVIDADE

FIXO: É HORA DE + AÇÃO + RESPOSTA


VARIÁVEL: CONDIÇÃO QUE O SISTEMA VERIFICA NA
MEMÓRIA PARA “SABER” SE O EVENTO OCORREU OU MEMÓRIA
39
É HORA DE + AÇÃO + CONDIÇÃO
ESTRATÉGIA PARA IDENTIFICAÇÃO DE
EVENTOS

 Existem variações significativas neste evento ?

 O “oposto”, ou “negativo”, deste evento é importante para o sistema?

 Há eventos que devam preceder a este evento ?

 Há eventos que devam se seguir a este evento ?

40
DFD PARTICIONADO POR
EVENTOS
 DFD EM QUE CADA PROCESSO
REPRESENTA UMA ATIVIDADE
ESSENCIAL.

41
ESTRATÉGIAS PARA AGREGAR ATIVIDADES ESSENCIAIS
 Agregar , em um único processo , todas as atividades essenciais que
acessam um determinado depósito de dados . Se você conseguir
atribuir um “bom nome” para o processo , esta é uma boa agregação .
 Agregar as atividades de custódia que estabelecem ou mantém um
depósito de dados.
 Agregar as atividades essenciais que interagem com uma mesma
entidade externa . Se você encontrar um “ bom nome “ para este
processo , você conseguiu uma boa agregação .
 Considerando que você conseguiu dominar a complexidade do sistema ,
identifique suas principais funções . Crie um processo para cada função
e agregue as atividades essenciais a estes processos . As funções
devem estar relacionadas com o ambiente e não com sistema em si.

Ex.: ATENDER CLIENTES


FUNÇÕES RELACIONADAS
ADQUIRIR LIVROS
COM O NEGÓCIO
EFTUAR OPERAÇÃO DE CÂMBIO
EMITIR RELATÓRIOS
FUNÇÕES RELACIONADAS COM
RECEBER ENTRADAS
O SISTEMA EM SI
ATUALIZAR ARQUIVOS 42
REGRA DE DERIVAÇÃO DOS
DEPÓSITOS DE DADOS A PARTIR DO
MER

 CADA TIPO DE ENTIDADE E

 RELACIONAMENTO (com atributo)

DEPÓSITO DE DADOS
(sem chaves estrangeiras)

43
REPRESENTAÇÃO GRÁFICA DOS ACESSOS

E1 R1 E2

R2

Criar, modificar ou excluir ocorrência de E1

ATIVIDADE
ESSENCIAL E1

44
REPRESENTAÇÃO GRÁFICA DOS ACESSOS

E1 R1 E2

R2
Leitura de E1

ATIVIDADE
ESSENCIAL E1

45
REPRESENTAÇÃO GRÁFICA DOS ACESSOS
A

E1 R1 E2

R2

Criar ocorrência de R1
@e1i+ @e2i + r1i
ATIVIDADE
ESSENCIAL E2

E1 R1 46
REPRESENTAÇÃO GRÁFICA DOS ACESSOS
A

E1 R1 E2

R2
Excluir uma ocorrência de R1

@e1i+ @e2i
ATIVIDADE E2
ESSENCIAL

E1 R1
47
REPRESENTAÇÃO GRÁFICA DOS ACESSOS

E1 R1 E2

R2
Modificar atributo ai de uma ocorrência de R1

@e1i+ @e2i + ai
ATIVIDADE
ESSENCIAL

R1
48
REPRESENTAÇÃO GRÁFICA DOS ACESSOS
(Cont.)

oA

E1 R1 E2

R2
Criar ocorrência de R2

@e1i+ @e2i
ATIVIDADE
ESSENCIAL E2

E1 50
Especificação de Processos
Estruturas de Controle Usadas no Português Estruturado

Sequência Seleção
Secondição-1 FAÇA CASO
Sentença-1 sentença-1 CASO variável=valor-1
Sentença-2 FIM SE sentença -1
CASO variável=valor-2
. sentença-2
. SE condição-1
.
sentença-1
Sentença-n SENÃO
.
CASO variável=valor-n
sentença-2
sentença-n
FIM SE
SENÃO
sentença-n+1
FIM CASO

51
Repetição FAÇA ENQUANTO condição-1
sentença-1
FIM ENQUANTO

REPITA
sentença-1
ATÉ condição-1

PARA CADA objeto-1 FAÇA


sentença-1
FIM PARA CADA
Exemplos de Especificação de Português Estruturado

Quantidade

Cliente Faz Pedido Item Pedido

Endereço Cliente Data-pedido


Nome-cliente
Livro
Num-pedido
Cod-cli Nome do livro

52
Pedido-livro Pedido-livro = num-pedido + data-
1.1 pedido+cod-cliente + {nome-livro +
CADASTRAR quantidade }
PEDIDO
LIVRO
ITENS-PEDIDOS

CLIENTES LIVROS PEDIDOS

PROCESSO 1.1 : CADASTRAR PEDIDO-LIVRO


INÍCIO
ARMAZENE num -pedido e data-pedido de pedido-livro em PEDIDOS
ASSOCIE num -pedido de PEDIDOS com cod-cliente de pedido-livro em
CLIENTES
PARA CADA nome-livro e quantidade em pedido-livro FAÇA
ARMAZENE quantidade em ITENS-PEDIDOS
ASSOCIE quantidade de ITENS-PEDIDOS com num-pedido de
pedido-livro em PEDIDOS e com nome-livro de
pedido-livro em LIVROS
FIM PARA CADA 53
Relação -pedidos=(num pedidos+cod-
cliente+(nome livro+quantidade))
1.2
Clientes gerar Relação de Pedidos
relação
pedidos

Itens
Pedidos
Livros Pedidos

Processo 1.2:Gerar Relação Pedidos


INÍCIO
FAÇA ENQUANTO existir pedido em PEDIDOS ordenados por data-pedido
LER próximo pedido
LER cod-clientes em CLIENTES associado a num-pedido
ACRESCENTE uma linha em relação-pedidos com num-pedido, data-pedidoe cod-c
LER próxima quantidade
LER nome-livro em LIVROS associada a quantidade
ACRESCENTE uma linha em relação-pedidos com nome-livros e quantidade
FIM-ENQUANTO
FIM-ENQUANTO
FIM
Alteração-item = num-pedido +nome-livro + quantidade

Alteração-item
1.3
ALTERAR
QUANTIDADE
Alteração-inválida
ITEM-PEDIDO
ITENS-PEDIDOS

Processo 1.3 : Alterar quantidade item pedido


INÍCIO

LOCALIZE quantidade em ITENS PEDIDOS associada a num-pedido de


alteração-item em PEDIDOS e com nome-livro de
alteração-item em LIVROS
SE achou
SUBSTITUA quantidade de ITENS PEDIDOS por quantidade de alteração-
item
SENÃO

ACRESCENTE mensagem “alteração rejeitada” em alteração-inválida


FIM-SE
Pedido Cancelado
Pedido cancelado=num pedido
1.4
cancelar
pedido
livro

Clientes
Pedidos Itens
Livros Pedidos

Processo 1.4:Cancelar Pedido Livro


INÍCIO
LOCALIZE num pedido de pedido -cancelado em PEDIDOS
FAÇA ENQUANTO existir quantidade em ITENS PEDIDOS associa a num pedido
LER próxima quantidade
DESASSOCIAR quantidade de itens de ITENS PEDIDOS de nome-livro em
LIVROS e de num-pedido em PEDIDOS
EXCLUIR quantidade
FIM-ENQUANTO
DESASSOCIAR num -pedido de PEDIDOS de cod-clientes em CLIENTES
EXCLUIR num-pedido e data-pedido de PEDIDOS
FIM
Estratégias de Derivação de Requisitos

• Asking

• Derivar os requisitos a partir do sistema atual

• Síntese das Características do sistema utilizador

• Evolutivo

57
Características Dos Sistemas Encarnados, Determinados
Pela Tecnologia de Implementação
A) Fragmentação
Partes diferentes de uma atividade essencial são executadas por
processadores diferentes

B) Redundância
Dados redundantes armazenados na memória so sistema ou
uma
mesma
C) atividade sendo executada por mais de um processador
Extrinsecalidade
Atividades e dados cuja finalidade é tratar as limitações da
tecnologia
D) Conglomeração
Ocorre quando fragmentos se uma atividade essencial são
alocados a um mesmo processador ou elementos não
relacionados da memória essencial são alocados a um mesmo
container

Você também pode gostar