Upload
igor-nogueira
View
231
Download
0
Embed Size (px)
Citation preview
8/3/2019 analise estrurada
1/22
Anlise Estruturada 21
Processo de anlise estruturada - Abordagem clssica
Desenvolvermodelo lgico
actual
Modelo fsico actual
Desenvolvermodelo fsico
actual
Desenvolvermodelo lgico
novo
Modelo lgico actual
Desenvolvermodelo fsico
novo
Modelo lgico novo
Modelo fsico novo
Modelos a desenvolvertendo em conta a
abordagem clssica
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.
8/3/2019 analise estrurada
2/22
Anlise Estruturada 22
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.
8/3/2019 analise estrurada
3/22
Anlise Estruturada 23
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
8/3/2019 analise estrurada
4/22
Anlise Estruturada 24
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.
8/3/2019 analise estrurada
5/22
Anlise Estruturada 25
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 aomesmo 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 benefciosseparadamente.
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.
8/3/2019 analise estrurada
6/22
Anlise Estruturada 26
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)
ADMINISTRAO
Ficha_leitor
Dilogo_pesquisa_autor
UTENTEPagamento_multa
Dilogo_pesquisa_disp
Dilogo_pesquisa_ttulo
Dilogo_emprstimo
Livros_a_entregar
EDITORA
Lista_livros_adquiridosRelatrio
Gesto de Bibliotecas
Multa
8/3/2019 analise estrurada
7/22
Anlise Estruturada 27
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)
8/3/2019 analise estrurada
8/22
Anlise Estruturada 28
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.
8/3/2019 analise estrurada
9/22
Anlise Estruturada 29
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;
8/3/2019 analise estrurada
10/22
Anlise Estruturada 30
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)
8/3/2019 analise estrurada
11/22
Anlise Estruturada 31
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.
8/3/2019 analise estrurada
12/22
Anlise Estruturada 32
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.
8/3/2019 analise estrurada
13/22
Anlise Estruturada 33
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.
8/3/2019 analise estrurada
14/22
Anlise Estruturada 34
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 como desenvolvimento do DFD.
8/3/2019 analise estrurada
15/22
Anlise Estruturada 35
DFD preliminar do exemplo de gesto de bibliotecas
Evento 1 - Utente inscreve-se como leitor (F)
1Registardados de
leitor
Utente
Leitor
Ficha_leitor
Evento 2 - Utente solicita emprstimo de livros (F)
Emprstimo
2Verificar
e registaremprstimo
LeitorDilogo_emprstimo
Multa
Utente
Livro
Evento 3 - Utente entrega livros (F)
3Registar
entrega deemprstimo
Emprstimo
Livro
Livros_a_entregar
Multa
UtenteMulta
8/3/2019 analise estrurada
16/22
Anlise Estruturada 36
Evento 4 - Utente paga multas (F)
4Registar
pagamentode multas
Utente MultaPagamento_multa
Evento 5 - Utente pede informao por autor de livros (F)
Autor_livro
5PesquisarLivros por
autor
Dilogo_pesquisa_autor
Autor
Utente
Livro
Evento 6 - Utente pede informao por ttulo de livros (F)
Autor_livro
6PesquisarLivros por
ttulo
Dilogo_pesquisa_ttulo
Autor
Utente
Livro
8/3/2019 analise estrurada
17/22
Anlise Estruturada 37
Evento 7 - Utente pede informao de disponibilidade de livro (F)
7Pesquisardisponibilidade
de livro
Dilogo_pesquisa_dispUtente
LivroEmprstimo
Evento 8 - Administrao requer relatrio (mensal) de emprstimos (T)
Emprstimo
8Emitir
relatrio deemprstimos
Relatrio_emprstimosAdministrao
Livro
Evento 9 - Editora envia livros (F)
Autor_livro
9
Registarlivros
adquiridos
Lista_livros_adquiridos
Autor
Editora
Livro
8/3/2019 analise estrurada
18/22
Anlise Estruturada 38
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.
1
3
2
4
1|3
5
4
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
8/3/2019 analise estrurada
19/22
Anlise Estruturada 39
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 aparecemem nveis inferiores. Se existe um grupo de processos que acedem umdepsito 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
8 - -
8/3/2019 analise estrurada
20/22
Anlise Estruturada 40
Diagrama 1 - Gerir emprstimos
1.1Registardados de
leitor
Leitor
Ficha_leitor
1.2
Verificare registaremprstimo
Dilogo_emprstimo
Utente
1.4
Registarentrega deemprstimo
Emprstimo
Livro
Livros_a_entregar
Multa
1.3Registar
pagamentode multas
Pagamento_multa
Multa
Diagrama 2 - Gerir livros
2.3Registarlivros
adquiridosLista_livros_adquiridos Editora
Emprstimo
2.2Pesquisar
Livros porautor
Dilogo_pesquisa_autor
Autor
Utente
2.1PesquisarLivros por
ttulo
Dilogo_pesquisa_ttulo
2.4Pesquisar
disponibilidadede livro
Dilogo_pesquisa_disp
Autor_livro
Autor_livro
Livro
Livro
8/3/2019 analise estrurada
21/22
Anlise Estruturada 41
Diagrama 0
ADMINISTRAO
Ficha_leitor
Dilogo_pesquisa_autor
UTENTEPagamento_multa
Dilogo_pesquisa_disp
Dilogo_pesquisa_ttulo
Dilogo_emprstimo
Livros_a_entregar
EDITORA
Lista_livros_adquiridosRelatrio_emprstimos
1Gerir
emprstimos
3Emitir
relatrio deemprstimos
2Gerirlivros
Livro
Emprstimo Emprstimo
Multa
8/3/2019 analise estrurada
22/22
Anlise Estruturada 42
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.3.
3.2.
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 melhormecanismo para determinar a melhor diviso do processo em processos do
nvel inferior.