You are on page 1of 22

Processo de anlise estruturada - Abordagem clssica

Desenvolver
modelo fsico
actual
Modelo fsico actual

Modelos a desenvolver
tendo em conta a
abordagem clssica

Desenvolver
modelo lgico
actual
Modelo lgico actual
Desenvolver
modelo lgico
novo
Modelo lgico novo
Desenvolver
modelo fsico
novo
Modelo fsico novo

Modelo fsico (Actualmente) Modelo de implementao


Modelo do sistema que o utilizador usa no momento. Pode ser um sistema
manual, automatizado ou uma mistura de ambos.

Aspectos mais comuns de detalhes de implementao:


Sequenciao de actividades:
Dados temporrios, redundantes ou derivveis;
Validaes de dados e processos
Modelo lgico (Actualmente) Modelo essencial
Modelo dos requisitos puros ou essenciais do sistema, ou seja, sem detalhes
de implementao.
Anlise Estruturada 21

A abordagem clssica baseia-se nos seguintes pressupostos:


O analista de sistemas pode no conhecer aspectos da rea da aplicao,
sendo a elaborao dos modelos, fsico e lgico, do sistema actual um meio
de aprendizagem;
O utilizador tem dificuldade em analisar o modelo abstracto do sistema,
servindo a modelao do sistema fsico actual, simultaneamente, como um
mecanismo de introduo do processo de anlise estruturada e como uma
garantia, para o utilizador, de que analista est a modelar o sistema
correctamente;
A transformao do modelo lgico actual no novo modelo lgico, no requer
grande esforo, nem trabalho desperdiado, quando o utilizador s quer
acrescentar novas funes ou dados, a um sistema que j existe,
permanecendo a maior parte do sistema intacto.

Motivos de insucesso da abordagem clssica


Os pressupostos da abordagem clssica podem ser correctos em alguns casos,
mas, na maior parte dos casos representam:
grande dispndio de tempo e esforo quando analista especifica todos os
aspectos;
desperdcio de tempo e esforo pois grande percentagem do modelo fsico
ser deixado de lado na sua transio para modelo lgico actual, devido a
redundncia, e aspectos relacionados com validaes que no fazem parte do
modelo lgico;
uma influncia negativa quando diminui a tendncia de colocar em causa
determinados

procedimentos,

possivelmente,

menos

adequados

ou

desactualizados.

Anlise Estruturada 22

Processo de anlise estruturada - Modelo essencial


O modelo essencial o modelo do que o sistema tem de fazer, de forma a
satisfazer os requisitos do utilizador, com o mnimo possvel de informao
sobre como o sistema deve ser implementado.

O modelo essencial descreve:


Poltica essencial ou lgica das actividades que tm de ser executadas;
Contedo essencial dos dados armazenados e que circulam pelo sistema;
Comportamento dependente do tempo essencial que o sistema possui para
tratar sinais e interrupes do ambiente.

O modelo essencial constitudo por:


Modelo ambiental
Modelo comportamental

Modelos

Ferramentas utilizadas

Ambiental

Declarao de propsito
Diagrama de Contexto (DC)
Lista de Eventos

Comportamental

Diagrama Entidade Relacionamento (DER)


Diagrama de Fluxo de Dados (DFD)
Diagrama de transio de estados (DTE)
Dicionrio de dados (DD)
Especificao de Processos

Anlise Estruturada 23

Modelo ambiental
O modelo ambiental define:
Limites essenciais do sistema
Determinao do que faz parte do sistema, definindo fronteiras entre o
sistema e o ambiente.
Interfaces entre o sistema e o ambiente
Determinao da informao proveniente do exterior e da informao que
o sistema tem de produzir e enviar para exterior.
Eventos externos
Identificao dos eventos, ou estmulos, que ocorrem no ambiente, aos
quais, o sistema tem de responder.

Exemplo considerado
Pretende-se uma aplicao para automatizar os servios prestados por uma
biblioteca, tendo em conta os seguintes aspectos:
Um utente, no acto de inscrio, preenche uma ficha de leitor, que
obrigatoriamente contm o nome, morada, BI, telefone e profisso.
O leitor escolhe os livros que pretende consultar, podendo lev-los por um prazo
a definir pela administrao da biblioteca, mediante o registo do respectivo
emprstimo. Caso o livro no seja entregue no prazo devido, o utente ser
sancionado com uma multa. Um emprstimo no concedido se o leitor possui
multas por pagar ou livros que excederam o prazo de entrega.
Devem ser implementadas pesquisas de ttulos, autores e de disponibilidade de
um livro.
A deciso de aquisio de livros baseia-se num relatrio, produzido
mensalmente, dos emprstimos concedidos aos utentes. Os livros adquiridos so
registados depois de catalogados.
Anlise Estruturada 24

Declarao de propsito do sistema


Consiste numa descrio textual breve da razo de ser do sistema. uma
primeira tentativa de diferenciao entre o que est dentro e o que est fora do
sistema.

Caractersticas de uma declarao de propsito:


deve ser curta, de preferncia uma nica frase longa;
deve fornecer uma viso muito geral do sistema, permanecendo ao
mesmo tempo to especfica quanto possvel (no deve incluir
generalizaes verdadeiras para todos os sistemas);
deve ser completa;
alguns analistas consideram que deve apresentar o resumo dos benefcios
quantificveis visados com o novo sistema. Em projectos de elevada
dimenso ser prefervel apresentar uma anlise de custos benefcios
separadamente.

Exemplos de declarao de propsito:


O propsito do sistema GB manter e disponibilizar informao sobre
livros e leitores, controlar emprstimos e produzir relatrios de
emprstimos.
O propsito da GSP manter a informao necessria para a gesto de um
stock de produtos, o que inclu controlo de stocks, processamento de
encomendas e registo de movimentos.

Anlise Estruturada 25

Diagrama de contexto
Os principais aspectos que este diagrama especifica so:
As pessoas, organizaes, ou sistemas com os quais o sistema comunica
(terminadores);
Os dados que o sistema recebe do ambiente e que tm de ser processados
(fluxos de dados de entrada)
Os dados produzidos pelo sistema e enviados para o ambiente (fluxos de
dados de sada);
As fronteiras entre o sistema e o resto do universo.

Um diagrama de contexto constitudo por terminadores, fluxos de dados, um


s processo que representa todo o sistema, podendo ainda conter, fluxos de
controlo e depsitos de dados externos.

Exemplo: Gesto de bibliotecas (simplificado)


Dilogo_emprstimo

Dilogo_pesquisa_autor

UTENTE

Pagamento_multa
Multa

Dilogo_pesquisa_ttulo

Ficha_leitor

Livros_a_entregar

Dilogo_pesquisa_disp

Gesto de Bibliotecas
Relatrio
ADMINISTRAO

Lista_livros_adquiridos
EDITORA

Anlise Estruturada 26

Lista de eventos
Consiste na lista narrativa dos estmulos que ocorrem no exterior, aos quais o
sistema tem de responder. Esta lista determina o propsito para o
comportamento do sistema e d uma perspectiva do sistema diferente da do
diagrama de contexto. Os eventos devem ser descritos sob o ponto de vista do
ambiente, ou seja, por exemplo, prefervel usar Cliente envia pedido em vez
de Chegada de pedido do cliente.

Os eventos podem ser classificados da seguinte forma:


Evento orientado por fluxo (F);
Evento temporal (T);
Evento de controlo (C).

Evento orientado por fluxo (F)


um evento associado a um fluxo de dados. O sistema notificado da
ocorrncia do evento pela chegada de um conjunto de dados. Um evento
orientado por fluxo corresponde a uma das entradas do diagrama de contexto.
Contudo, nem todos os fluxos de dados de um diagrama de contexto
correspondem a eventos, pois existem fluxos que so requeridos pelo sistema
para que este possa processar um evento.

Exemplos:
Cliente efectua encomenda (F)
Cliente cancela encomenda (F)

Anlise Estruturada 27

Eventos temporais(T)
Os eventos temporais so desencadeados pela passagem do tempo por um dado
instante. No existem fluxos associados a este tipo de evento. Supe-se que o
sistema possui um relgio interno que determina passagem do tempo. Apesar
destes eventos no terem fluxos associados, podem desencadear um pedido de
informao a terminadores, pedidos estes que no representam eventos.

Exemplos:
Administrao requer relatrio de vendas(T)
Clientes recebem facturas (T)

Eventos de Controlo(C)
Podem ser considerados como casos especiais de eventos temporais que
ocorrem num ponto do tempo imprevisvel. Um evento deste tipo no pode ser
antecipado pela passagem do tempo, nem detectado pela chegada de
informao. Este tipo de evento pode ser considerado como um fluxo de dados
binrio e est associado a um fluxo de controlo. Conforme j foi referido, os
fluxos de controlo so uma extenso utilizada na modelao de sistemas em
tempo real.

Exemplo:
Temperatura de frigorifico sobe para X (C)

Componentes adicionais de um modelo ambiental


A natureza e complexidade de um sistema pode ditar a utilizao adicional de:
Dicionrio de dados inicial que descreve fluxos e depsitos externos;
Diagrama de entidade relacionamento dos depsitos de dados externos.

Anlise Estruturada 28

Elaborar diagrama de contexto antes ou depois da lista de


eventos?
A primeira verso do diagrama de contexto no pr-requisito para construir a
lista de eventos e pode ser desenhada numa etapa separada ou medida que se
identificam os eventos.
Na maior parte dos casos, mais fcil elaborar primeiro o diagrama de contexto,
tendo em conta a descrio do utilizador das respostas que espera do sistema e
das entradas que tm de ser fornecidas para produzir as respostas.
Contudo, pode no ser fcil identificar terminadores e fluxos de entrada e sada
do sistema. Neste caso, o ponto de partida poder consistir na elaborao do
DER, que mostra objectos e seus relacionamentos. A partir da observao das
actividades ou operaes que causam criao ou remoo de instncias ento
possvel identificar eventos candidatos. A criao da lista de eventos permite
assim levar ao desenvolvimento do diagrama de contexto.

Aspectos a ter em conta na elaborao da lista de eventos:


Cada fluxo do diagrama de contexto necessrio para que sistema detecte a
ocorrncia do evento, ou, corresponde a uma necessidade de informao do
sistema;
Cada fluxo de sada deve ser uma resposta a um evento;
Cada evento no temporal deve corresponder a uma entrada, a partir da qual o
sistema detecta a sua ocorrncia;
Cada evento deve produzir uma actividade imediata de resposta, ou deve
gerar armazenamento de informao a utilizar posteriormente, ou deve causar
uma alterao de estado do sistema;

Anlise Estruturada 29

Quando se identifica uma resposta em vez de um evento, necessrio


retroceder para determinar qual o evento que causa a resposta. Um candidato
a evento detectado pelo facto de o sistema no ter de responder.
Exemplo:
Candidato a evento = Calcular valor da aco
Evento real = Accionista requer uma posio de conta
A lista de eventos, que causam a reaco do sistema, mais fcil de obter se
tambm se consideram as respectivas respostas.

Exemplo lista de eventos para exemplo de gesto de stocks:


Produo envia requisio de produtos (F)
Fornecedor envia guia de remessa de produtos (F)
Produo envia dados de novos produtos (F)
Fornecedores recebem (mensalmente) encomendas (T)

Exemplo de lista de eventos para exemplo de gesto de bibliotecas:


Utente inscreve-se como leitor (F)
Utente solicita emprstimo de livros (F)
Utente entrega livros (F)
Utente paga multas (F)
Utente pede informao por autor de livros (F)
Utente pede informao por ttulo de livros (F)
Utente pede informao de disponibilidade de livro (F)
Administrao requer relatrio (mensal) de emprstimos (T)
Editora envia livros novos (F)

Anlise Estruturada 30

Modelo comportamental
Consiste na modelao do comportamento interno do sistema, de forma a que
este responda com sucesso ao ambiente. O desenvolvimento deste modelo
contempla a elaborao do DFD, DER, DTE, DD, e especificao de processos.

Abordagem clssica
Consiste numa abordagem top-down, sendo constituda pelas seguintes etapas:
1. Construo do diagrama de contexto;
2. Construo de um DFD de nvel elevado, denominado por Diagrama 0,
que envolve:
identificao das principais componentes do sistema;
elaborao do diagrama 0 onde os processos representam os principais
subsistemas;
3. Elaborao de DFDs de nvel inferior, que contempla:
decomposio sucessiva de cada processo num diagrama de nvel
inferior, at se obter processos atmicos que no requerem mais
divises;
4. Elaborao do DD e especificao de processos.

Dificuldades encontradas na utilizao desta abordagem:


Paralisia na anlise
Na maior parte dos sistemas complexos, no existe nenhuma indicao que
guie o analista no desenho de um diagrama 0 apropriado, a partir do
diagrama de contexto. Assim sendo, a construo do diagrama 0 tem um
arranque demorado e este diagrama alterado, vrias vezes, ao longo do
processo.
Anlise Estruturada 31

Dificuldade na diviso de trabalho


O desenvolvimento de sistemas complexos , normalmente, elaborado por
equipas com vrios analistas. A necessidade de diviso do trabalho pelos
vrios analistas pode gerar parties foradas do sistema.
Partio fsica arbitrria
Em muitos casos um sistema baseia-se noutro sistema j existente, ou na
informatizao de partes de uma organizao. A estrutura do sistema
existente, ou da organizao, usada frequentemente como um critrio de
determinao dos subsistemas do novo sistema. Contudo, essa partio
pode no ser a melhor partio do ponto de vista funcional.

Abordagem Middle-Out
A abordagem proposta no uma abordagem top-down pura, nem uma
abordagem bottom-up pura. Esta abordagem parte de um DFD inicial
intermdio e estabelece que necessrio agrupar processos num nvel superior e
decompor processos em nveis de detalhe inferiores. Na abordagem middle-out
o desenvolvimento do modelo comportamental efectua-se em duas etapas:
Desenvolvimento de modelo comportamental preliminar
Envolve o desenvolvimento do DFD e do DER preliminares e a elaborao
inicial das entradas no DD.
Finalizao do modelo comportamental
Organizao e refinamento do modelo comportamental preliminar com
vista obteno do modelo comportamental final.
Envolve a criao de DFD com vrios nveis de detalhe, finalizao do
DER, finalizao do DD, finalizao do DTE e especificao de processos.

Anlise Estruturada 32

Construo de modelo comportamental preliminar


Estratgia para desenvolver a verso inicial de modelo comportamental, com
o objectivo de criar uma verso inicial que sirva como base na construo da
verso final do modelo comportamental.

Identificar respostas do sistema a eventos:


criar um processo para cada evento da lista;
numerar os processos utilizando a numerao da lista de eventos;
dar um nome ao processo que descreva a resposta que o sistema deve
produzir na reaco ao evento;
ligar fluxos de entrada, necessrios para que sistema possa produzir a
resposta, e fluxos de sada que o sistema gera; As sadas e entradas podem
consistir em fluxos para terminadores, ou em fluxos para depsitos de
dados;
desenhar depsitos a que o sistema tem de aceder e que permitem a
comunicao entre processos;
verificar se o DFD preliminar est completo e consistente, em relao ao
diagrama de contexto e lista de eventos. Verificar, ainda, se cada entrada
do DC est associada a uma entrada de um processo no DFD e verificar se
cada sada produzida por um processo enviada para depsitos de dados
ou uma das sadas existentes no DC.

Anlise Estruturada 33

Casos especiais:
um evento que causa mltiplas respostas
Cada resposta modelada por um processo e o fluxo, que representa o
evento, diverge para cada um dos processos. Isto apropriado se todas as
respostas usam o mesmo fluxo de entrada e somente se todas as respostas
forem independentes, ou seja, nenhuma parte de uma das respostas
necessria como entrada para produzir outra resposta.
mltiplos eventos que causam a mesma resposta
criar um s processo se a resposta idntica para os vrios eventos e se os
dados de entrada e de sada forem idnticos para as vrios respostas aos
eventos.

Ligao entre respostas de eventos


Os processos comunicam atravs de depsitos, pois os processos criados so
respostas a eventos e os eventos so assncronos.

Desenvolvimento do modelo de dados inicial


Criar a verso inicial de DER, a partir dos depsitos definidos no DFD
preliminar. Actualizar DFD preliminar em funo de DER.
Alternativamente, esta etapa pode decorrer antes ou mesmo em paralelo com
o desenvolvimento do DFD.

Anlise Estruturada 34

DFD preliminar do exemplo de gesto de bibliotecas


Evento 1 - Utente inscreve-se como leitor (F)
Utente

Ficha_leitor

1
Registar
dados de
leitor

Leitor

Evento 2 - Utente solicita emprstimo de livros (F)


Utente

Dilogo_emprstimo

Leitor

2
Verificar
e registar
emprstimo
Emprstimo

Multa
Livro

Evento 3 - Utente entrega livros (F)


Livros_a_entregar

Utente
Multa

Livro
3
Registar
entrega de
emprstimo

Emprstimo

Multa

Anlise Estruturada 35

Evento 4 - Utente paga multas (F)

Utente

Pagamento_multa

4
Registar
pagamento
de multas

Multa

Evento 5 - Utente pede informao por autor de livros (F)


Utente

Dilogo_pesquisa_autor

5
Pesquisar
Livros por
autor
Autor_livro

Autor
Livro

Evento 6 - Utente pede informao por ttulo de livros (F)


Utente

Dilogo_pesquisa_ttulo

6
Pesquisar
Livros por
ttulo
Autor_livro

Autor
Livro

Anlise Estruturada 36

Evento 7 - Utente pede informao de disponibilidade de livro (F)


Utente

Dilogo_pesquisa_disp

7
Pesquisar
disponibilidade
de livro
Emprstimo

Livro

Evento 8 - Administrao requer relatrio (mensal) de emprstimos (T)


Administrao

Relatrio_emprstimos

8
Emitir
relatrio de
emprstimos
Emprstimo

Livro

Evento 9 - Editora envia livros (F)


Editora

Lista_livros_adquiridos

9
Registar
livros
adquiridos
Autor_livro

Autor
Livro

Anlise Estruturada 37

Finalizar modelo comportamental


A finalizao do modelo comportamental engloba:
Estruturao do DFD em vrios nveis de detalhe (superiores e inferiores);
Finalizao do DER;
Finalizao do DD;
Finalizao do DTE;
Especificao de processos.

Estruturar DFD em vrios nveis


O DFD construdo possui um s nvel e muitos processos. Para organizar o
DFD, necessrio agrupar processos relacionados num processo de um
diagrama de nvel superior.

2
1|3
4

4
3
5

2|5

Os processos 1 e 3 foram agrupados no processo 1|3, e os processos


2 e 5 foram agrupados no processos 2|5
Anlise Estruturada 38

Critrios de agrupamento de processos


Os critrios a ter em conta no processo de agrupamento de processos so os
seguintes:
Cada agrupamento de processos deve envolver respostas relacionadas.
Isto normalmente significa que os processos manipulam dados
relacionados.
Procurar oportunidades de esconder depsitos de dados que aparecem
em nveis inferiores. Se existe um grupo de processos que acedem um
depsito comum, e mais nenhum processo acede esse depsito, ento
deve criar-se um processo de nvel superior que esconda o depsito de
dados.
Criar agrupamentos que possuam 7 +/- objectos.

O processo de estruturao de um DFD, em vrios de DFDs, decorre


sucessivamente at se obter um DFD de nvel superior com +/- 7 objectos.
Contudo, a restrio de no ter um DFD com +/- 7 objectos no deve ser o nico
aspecto a ter em conta. Se existem oportunidades de agrupar processos devido a
partilha de dados relacionados, ou devido existncia de depsitos locais, o
processo de agrupamento deve prosseguir.

Exemplo: Agrupamento de processos do sistema de gesto de bibliotecas


Processos agrupados

Depsitos escondidos

Detalhe

1, 2, 3 e 4

multa e leitor

Diagrama 1

5, 6, 7 e 9

Autor e Autor_livro

Diagrama 2

Anlise Estruturada 39

Diagrama 1 - Gerir emprstimos


Ficha_leitor

Multa

Utente

Pagamento_multa
Dilogo_emprstimo

1.3
Registar
pagamento
de multas

1.1
Registar
dados de
leitor

Multa

1.2
Verificar
e registar
emprstimo

Leitor

Livros_a_entregar

1.4
Registar
entrega de
emprstimo

Livro

Emprstimo

Diagrama 2 - Gerir livros


Dilogo_pesquisa_autor

Utente

Dilogo_pesquisa_disp

Dilogo_pesquisa_ttulo

Autor_livro

2.2
Pesquisar
Livros por
autor

Autor
Livro

Autor_livro

2.1
Pesquisar
Livros por
ttulo

2.3
Registar
livros
adquiridos

Livro
2.4
Pesquisar
disponibilidade
de livro

Emprstimo
Lista_livros_adquiridos Editora

Anlise Estruturada 40

Diagrama 0

Dilogo_emprstimo

Dilogo_pesquisa_autor

UTENTE

Pagamento_multa

Dilogo_pesquisa_ttulo

Multa
Dilogo_pesquisa_disp

Livros_a_entregar
Ficha_leitor

1
Gerir
emprstimos

Emprstimo

2
Gerir
livros

Livro
3
Emitir
relatrio de
emprstimos

Relatrio_emprstimos
ADMINISTRAO

Emprstimo

Lista_livros_adquiridos
EDITORA

Anlise Estruturada 41

Decomposio de processos no primitivos


Normalmente, tambm necessrio criar nveis inferiores de detalhe se os
processos existentes no DFD preliminar no forem primitivos. Esta necessidade
surge quando os processos responsveis pela produo de respostas a eventos
so demasiadamente complexos para descrever numa pgina.
A deteco desta necessidade de decomposio por vezes evidente. Nos
restantes casos a necessidade de decomposio s detectada quando se inicia a
especificao de processos.

1.

2.

3.

3.1.

3.2.

3.3.

Critrios de decomposio de processos


Os critrios a ter em conta na decomposio de processos so os seguintes:
Na maior parte dos casos a abordagem de decomposio funcional
apropriada. Se existe um processo funcionalmente complexo, identificam-se
subfunes e para cada cria-se um processo de nvel inferior;
Nos restantes casos os fluxos de entrada e de sada proporcionam o melhor
mecanismo para determinar a melhor diviso do processo em processos do
nvel inferior.

Anlise Estruturada 42