ANÁLISE ESSENCIAL

Download Report

Transcript ANÁLISE ESSENCIAL

Modelagem Funcional de
Sistemas de Informação
Análise Essencial
“Mais difícil do que definir algo,
é decidir o que deve ser definido.”
Fred Brooks, The Mythical Man-Month,
Addison Wesley
Bibliografia Indicada para o Curso
• Análise Essencial
S. Pompilho, Editora Ciência Moderna, RJ
• Análise Estruturada Moderna
Edward Yourdon, Editora Campus, RJ
ANÁLISE ESSENCIAL
Visão Tridimensional dos Sistemas de Informação
Dados
aplicações orientadas
a dados e funções
(exemplo: bancos)
sistemas de
arquivos
aplicações orientadas
a dados e eventos
(exemplo: monitoração de
pacientes em hospital)
?
Funções
aplicações
de processos
aplicações
de controle
Eventos
aplicações orientadas
a eventos e funções
(exemplo: piloto automático)
ANÁLISE ESSENCIAL
ANÁLISE ESSENCIAL
•Modelo Essencial
Apresenta o sistema em um grau de abstração
independente de restrições tecnológicas. Corresponde ao
modelo lógico proposto da análise estruturada.
•Modelo de Implementação
Apresenta o sistema em um grau de abstração
dependente de restrições tecnológicas, sendo derivado
do modelo essencial. Corresponde ao modelo físico
proposto da análise estruturada.
ANÁLISE ESSENCIAL
• Os eventos são a pedra fundamental dos
sistemas, e a especificação de um sistema
deve começar pela identificação dos eventos.
• Pontos de Vista:
– Abordagem =>funções
dados
controle
– Grau de Abstração => nível essencial
nível de implementação
VANTAGENS DA ANÁLISE ESSENCIAL
Começa pelo modelo essencial, o que corresponde
ao modelo lógico proposto da análise estruturada.
– Aborda as três perspectivas do problema (funções,
dados e controle).
– Particiona o sistema em eventos.
– Permite a construção dos modelos de dados e de
funções em paralelo.
ANÁLISE DE EVENTOS
Um sistema pode ser entendido como uma caixa
preta, que a partir de certos estímulos, produz as
respostas apropriadas.
Estímulos
Eventos
Respostas
Sistema
ANÁLISE DE EVENTOS
Evento é um acontecimento do mundo exterior, que
requer resposta do sistema.
– Estímulo é a conseqüência da ocorrência do evento. É
o que chega ao sistema e ativa a execução de uma
função.
– Resposta é o resultado gerado pelo sistema, em
resposta a um estímulo.Pode ser:
fluxo de dado para entidade externa
manutenção dos dados mantidos em dep. de dados
EXEMPLO DE EVENTOS
– Secretaria cadastra os cursos
– Cliente entrega pedido
– Vendedor efetua venda
– Relatório de vendas é emitido
– Gerência autoriza compra
TIPOS DE ESTÍMULOS
– Fluxo de dados
– Fluxo de controle
– Temporal
Os eventos serão classificados de acordo com o
tipo de estímulo que enviam ao sistema
ANÁLISE ESSENCIAL
Evento orientado por fluxo de dado
– O estímulo é a chegada ao sistema de um fluxo de
dado enviado por uma entidade externa.
–Obrigatoriamente deve ser gerada uma resposta, no
entanto ela pode não ser externa, ou seja, pode ser a
atualização de um depósito de dados.
–Sujeito + verbo transitivo (voz ativa) + complemento
verbal
–Exempos: Cliente paga prestação...Cliente cancela
pedido
ANÁLISE ESSENCIAL
Evento orientado por controle
– O estímulo é a chegada ao sistema de um fluxo de
controle, oriundo de uma entidade externa, ou de uma
função interna do sistema.
– Pode ou não ser gerada uma resposta externa.
–Sujeito + verbo transitivo (voz ativa) + complemento
verbal
–Sujeito + verbo (voz passiva)
–Exempos:
• Diretoria autoriza pagamento de fatura;
• 8º cheque é emitido;
EVENTO ORIENTADO POR TEMPO
(TEMPORAL)
O estímulo é a chegada ao sistema da informação
de ter decorrido um determinado intervalo de
tempo.
– Pode ou não ser gerada uma resposta externa.
–Exemplo:
• Relatório contábil é emitido
A LISTA DE EVENTOS
Lista de Eventos sob a forma de Tabela
– Uma forma bem elaborada de apresentar a lista de
eventos, é sob a forma de uma tabela.
– As colunas são as seguintes:
Nº do
evento
Nome do
Evento
Tipo Estímulo
Ação
Respostas
FLUXOS E PROCESSOS DE CONTROLE
Um fluxo de controle pode ser originado ou de uma
entidade externa ou de um processo interno ao
sistema.
– Um processo de controle não modifica dados. Suas
entradas e saídas são fluxo de controle.
–Os fluxos e processos de controle não são representados
no DFD tradicional.
– Para os casos em que o entendimento dos processos de
controle seja fundamental para o entendimento do sistema,
pode ser possível a utilização de DFD’s estendido.
FLUXOS E PROCESSOS DE CONTROLE
Nível de
ressuprimento
atingido
Controlar
Encomendas
Produtos
Emitir
Encomenda
Ativar
emissão de
Encomenda
s
Encomendas
Encomenda
Fornecedor
ANÁLISE ESSENCIAL
O MODELO ESSENCIAL
Descreve o Sistema de maneira independente de
restrições tecnológicas = > tecnologia perfeita.
– Elabora o modelo ideal, descrevendo quais os
requisitos que o sistema deve atender, sem se preocupar
em como o sistema vai atender.
– É composto de dois modelos:
• Modelo Ambiental
• Modelo Comportamental
COMPOSIÇÃO DO
MODELO ESSENCIAL
- Modelo Ambiental => Voltado para fora do sistema.
Mostra a interação do sistema com os elementos externos a
ele.
- Modelo Comportamental => Voltado para dentro do
sistema. Mostra como o sistema deve reagir aos estímulos
oriundos do ambiente externo.
O MODELO AMBIENTAL
Os componentes do Modelo Ambiental são:
Diagrama de Contexto do Sistema
Declaração dos Objetivos do Sistema
Lista de Eventos que afetam o Sistema
Normalmente, uma boa seqüência para se chegar a cada um dos
componentes do modelo ambiental seria: construir a lista de
eventos, desenhar o diagrama de contexto, e finalmente, elaborar a
Declaração de Objetivos do Sistema.
LISTA DE EVENTOS DO SISTEMA
•As finalidades de um sistema são atender a determinadas
necessidades, que são decorrentes de eventos que
ocorrem no mundo exterior ao sistema.
•A construção da Lista de Eventos está intrinsicamente
ligada às finalidades de um sistema.
DIAGRAMA DE
CONTEXTO DO SISTEMA
•O objetivo do Diagrama de Contexto é representar o
sistema por um único processo e suas interações com as
entidades externas.
•A construção da Diagrama de Contexto é feita a partir
dos DFD’s de resposta aos eventos.
DIAGRAMA DE CONTEXTO
Diagrama de Contexto do Sistema
A construção do Diagrama de Contexto deve seguir as
seguintes etapas:
* Desenhar a bolha que representa o sistema, com o nome
do sistema no interior.
* Para cada evento, representar as entidades externas
envolvidas, e os fluxos que entram e saem do sistema.
* As entidades externas repetidas devem representadas
apenas uma vez.
ANÁLISE ESSENCIAL
E1
F1
(R1)
P1
EVENTO 1
F2
E2
(R3)
P2
EVENTO 2
R2
E3
E3
E1
F3
(R4)
P3
R6
EVENTO 3
(R5)
Entidade
Fluxo
Processo
Resposta
ANÁLISE ESSENCIAL
F1
F3
E1
E3
R6
F2
E2
SISTEMA
R2
DECLARAÇÃO DOS OBJETIVOS
•A Declaração dos Objetivos do Sistema deve ser
elaborada em poucas frases, simples e precisas, em
linguagem destituída de jargão técnico.
•Deve concentrar-se em o que o sistema deve fazer, sem
se preocupar em como será deve ser feito.
•Sua construção é facilitada se forem considerados a Lista
de Eventos e o Diagrama de Contexto do Sistema.
MODELO COMPORTAMENTAL
Os componentes do Modelo Comportamental são:
DFD’s particionados por evento
DFD preliminar
DFD de nível zero
Devemos ter em mente que o objetivo do modelo
comportamental é entender o funcionamento interno do
sistema. Para isso,devemos
verificar quais são as bolhas primitivas, para que possamos
chegar às mini-especificações dos processos primitivos.
PARTICIONAMENTO POR EVENTOS
DFD’s particionados por Evento
• Também conhecido como DFD de resposta aos eventos.
Para cada evento, representar os processos, as entidades
externas, os depósitos de dados e os fluxos na forma de
um DFD.
• A inclusão dos depósitos de dados se faz necessária
porque os eventos podem ser assíncronos, ou seja, os
dados produzidos por um evento não são
necessariamente utilizados no mesmo instante por outro
evento.
Evento2
EVENTO - FLUXO
N°
2
Evento
Cliente
Cancela Pedido
Tipo Estímulo
Diretoria
F Cod-pedido
Ação
Respostas
Cancelar
Pedidos
I:G-pedidos-cp
E: Rel-Ped-Canc
Rel-Ped-Canc
Cod-pedido
Cliente
2
Cancelar
Pedidos
G-Pedidos-cp
R-Pedidos-cp
Gerente
Comercial
G-Pedidos-cp
Evento 3
EVENTO TEMPORAL
N°
3
Evento
Tipo
Matr são
canceladas
Matriculas
G-Matriculas-cm
R-matriculas-cm
T
Estímulo
-----------
3
Cancelar
Matriculas
Ação
Respostas
Cancelar
matriculas
I:G-matriculas-cm
E: Rel-Mat-Canc
Rel-Mat-Canc
Secretaria
ANÁLISE ESSENCIAL
E1
F1
(R1)
P1
(D1)
F2
E2
(R3)
P2
(D2)
F3
(R4)
P3
(D1)
E1
EVENTO 2
R2
E3
E3
EVENTO 1
R6
(R5)
(D3)
EVENTO 3
D.F.D. PRELIMINAR
•A Análise Estruturada preconiza uma abordagem de
projeto top-down, ou seja, partindo-se do Diagrama de
Contexto chega-se ao DFD de nível zero e aos DFD’s de
nível mais baixo,pela explosão dos processos.
•A Análise Essencial utiliza a abordagem midle-out. Parte
de uma situação intermediária (o DFD preliminar), para os
níveis mais baixos (abordagem top-down) e para o
Diagrama de Nível Zero (abordagem botton-up)
ANÁLISE ESSENCIAL
DFD Preliminar
•O DFD Preliminar é obtido integrando-se todos os DFD’s
dos eventos em um único DFD.
•Os elementos repetidos (entidades externas, depósito de
dados) devem ser representados apenas uma vez.
ANÁLISE ESSENCIAL
E1
F1
(R1)
P1
(D1)
F2
E2
(R3)
P2
(D2)
F3
(R4)
P3
(D1)
E1
EVENTO 2
R2
E3
E3
EVENTO 1
R6
(R5)
(D3)
EVENTO 3
ANÁLISE ESSENCIAL
DFD
Preliminar
E1
F1
P1
R6
F3
E3
E2
(R4)
P3
(R5)
R2
F2
(R1)
(D1)
(D3)
(D2)
P2
(R3)
DFD DE NÍVEL ZERO
•O DFD de nível zero representa o nível de DFD
imediatamente abaixo do nível do Diagrama de Contexto.
•Na abordagem Top-down, é o segundo DFD obtido, logo
após o Diagrama de Contexto.
•Na abordagem adotada pela AE (midle-out), como já foi
visto, primeiro é obtido o DFD preliminar. Como o DFD
preliminar é de um nível mais baixo, devemos grupar
funções para chegarmos ao DFD de Nível Zero.
D.F.D. DE NÍVEL ZERO
•Um critério de agrupamento bastante razoável considera o
grau de acoplamento e de coesão entre as funções.
•Quanto maior a coesão entre as funções agrupadas, menor
será o grau de acoplamento entre os processos obtidos.
•Na prática, como as funções verificadas pertencem a
eventos diferentes, uma maneira bem coerente de verificar
a ligação entre eles é através dos depósitos de dados que
são acessados.
Fim