Análise Estruturada deSistemas
Por que construir modelos ?
“.. podemos construir modelos de maneira a realçar
ou enfatizar certos recursos decisivos do sistema,
enquanto, simultaneamente, podemos ignorar outros
aspectos do sistema. Isto permite que nos
comuniquemos com o usuário de uma maneira
clara...”
3.
Análise Estruturada deSistemas
Objetivos do uso de modelos:
Descrever o que o cliente deseja
Estabelecer uma base para a criação de um projeto
de software
Definir um conjunto de requisitos que possa ser
validado quando o software for construído
4.
Análise Estruturada deSistemas
Vantagens do uso de modelos:
Possibilidade de focalizar a atenção nas características importantes do sistema,
deixando um pouco de lado as menos importantes
Discutir modificações e correções nos requisitos do usuário com baixo custo e
mínimo risco
Mostrar ao usuário o sistema que será implementado de forma mais clara e
objetiva
5.
Análise Estruturada deSistemas
Modelos da Análise Estruturada
Descrever os
relacionamentos
entre os objetos
de dados
Repositório que contém
descrições de todos os
objetos de dados
consumidos ou produzidos
pelo software
Fornecem uma indicação de como os
dados são transformados;
Mostram as funções e subfunções
que transformam o fluxo de dados
6.
Diagrama de Fluxode Dados DFD
Modelagem das funções do sistema
Modela o sistema como uma rede de
processos funcionais, interligados por
“dutos” e “tanques” de armazenamento
de dados
7.
Diagrama de Fluxode Dados DFD
Técnica gráfica que descreve o fluxo de
informação e as transformações que são
aplicadas à medida que os dados se
movimentam da entrada para a saída
Representação lógica de processos.
Preocupa-se com o que acontece, e não
como e quando acontece
Às vezes chamado de Diagrama de Bolhas,
Modelo de Processo, Diagrama de Fluxo
de Trabalho e Modelo Funcional
8.
Diagrama de Fluxode Dados DFD
processo
Entidade
externa
Um produtor ou consumidor de informações que
reside fora dos limites do sistema a ser modelado
Representam as diversas funções individuais que o
sistema executa. Funções transformam entradas em
saídas
Representam a informação que os processos exigem
como entrada e/ou as informações que eles geram
como saída
Mostram coleções de dados que o sistema deve
manter na memória por um período
Depósito de
dados
9.
Diagrama de Fluxode Dados DFD
O cliente envia um fluxo de dados, acionando o
processo Cadastrar Pedidos
dados cliente
10.
Diagrama de Entidades-Relacionamentos- DER
Modelagem de dados armazenados
Sua função é enfatizar os principais
objetos ou entidades de dados
armazenados nas bases de dados, com os
quais o sistema deve trabalhar, bem como
as relações entre estes objetos
Diagrama de Transiçõesde Estado - DTE
Modelagem do comportamento tempo-
dependente
Descreve como um sistema ou objeto muda de
estado em função de eventos que ocorrem no
ambiente, e que respostas estão associadas a
cada mudança de estado
Dicionário de Dados
Especificaçãode Processos
Dicionário de Dados
repositório que contém descrições de todos os objetos de
dados consumidos ou produzidos pelo software
Especificação de Processos
utilizada para descrever todos os processos do DFD que
aparecem no nível de refinamento final
Problemas anteriores àAnálise Estruturada
Até o final da década de 70, os requisitos dos
usuários eram documentados através de uma
narrativa no idioma adequado.
Monolíticos: Era necessário ler todo o documento
para entender. Isso dificultava a compreensão se
fosse necessário estudar apenas uma parte.
Redundantes: A dificuldade de atualizar e revisar
o documento conduz à inconsistência.
Ambíguos: usuários, analistas, projetistas e
programadores têm interpretações diferentes do
documento.
Manutenção impossível: A especificação estava
obsoleta antes mesmo do final do projeto.
17.
Análise Estruturada
Enfatizaa perspectiva das funções, com ênfase nos
processos
Utiliza as seguintes ferramentas:
Diagrama de Fluxo de Dados
Dicionário de Dados
Especificação da Lógica de Processos
A análise estruturada clássica não modela o
comportamento temporal, nem complexos
relacionamentos de dados
18.
Vantagens da AnáliseEstruturada
Fazer uso de ferramentas, facilitando a
comunicação com o usuário e a organização
das informações
Retirar redundância do documento gerado
(especificação funcional dos requisitos)
Substituir o excesso de texto do documento
gerado por gráficos
Tornar mais fácil o processo de manutenção,
após a codificação
Particionar o problema
19.
Análise Essencial
Éuma evolução da Análise Estruturada por
adicionar a preocupação com o controle
Usa uma lista de eventos externos como base para
o particionamento do sistema
O modelo essencial é construído sem considerar
restrições de implementação (assume uma
tecnologia perfeita) – essência do sistema
Análise Essencial
ModeloEssencial: modelagem global do
sistema para atender as suas funções
independentemente da tecnologia
Modelo Implementação: modelagem do
sistema que tem como objetivo definir em que
ambiente e como o sistema será desenvolvido.
É derivado do modelo essencial. Diz respeito a
implementação do sistema.
22.
Modelo Essencial
ModeloAmbiental: representa quais informações o
sistema recebe do meio externo e envia para o mesmo ou
simplesmente as registra. Nesta modelagem é obtido “o
que o sistema faz”.
Modelo Comportamental: define quais informações o
sistema deve conter nos seus depósitos de dados e quais
processos devem manipular estes dados para atender as
perguntas e respostas identificadas através do modelo
ambiental. Nesta modelagem é obtido “como o sistema
faz”.
Métodos Envolvidos: Modelagem de Dados e Modelagem
Funcional
23.
Vantagens da AnáliseEssencial
A Análise Estruturada aborda duas perspectivas do sistema
- função e dados - ao passo que a Análise Essencial aborda
três perspectivas - função, dados e controle.
Na Análise Estruturada o particionamento é feito através
da abordagem top-down, enquanto na Análise Essencial, o
particionamento é por eventos.
24.
Componentes do ModeloEssencial
Modelo
Essencial
Modelo
Ambiental
Modelo
Comporta-
mental
Declaração de
Objetivos
Diagrama de
Contexto
Lista de Eventos
DFD Particionado
Diagrama ER
Diagrama Transição
de Estado
Especificação de
Processos
Dicionário
de
Dados
25.
Modelo Ambiental
O ModeloAmbiental é o modelo que define:
A fronteira do sistema com o ambiente onde ele se situa,
determinando o que é interno e o que é externo a ele.
As interfaces entre o sistema e o ambiente externo,
determinando que informações chegam ao sistema vindas
do mundo exterior e vice-versa.
Os eventos do ambiente externo ao sistema aos quais este
deve responder.
26.
Ferramentas para aDefinição do Ambiente
O Modelo Ambiental consiste de quatro
componentes:
1. Declaração de Objetivos
2. Diagrama de Contexto
3. Lista de Eventos
4. Dicionário de Dados Preliminar (opcional)
27.
Declaração de Objetivos
Trata-seda especificação daquilo que o sistema
deverá fazer, frente aos problemas existentes na
organização para o qual ele será feito.
Deve refletir os desejos do usuário no que diz
respeito às solicitações que ele tenha apresentado
como alternativas de solução dos problemas.
28.
Declaração de Objetivos
Exemplos
“O Objetivo do Sistema de Processamento de Livros ABC é manusear
todos os detalhes de pedidos de compra de livros dos clientes, bem
como a remessa, faturamento e cobrança de clientes em atraso.
Informações sobre pedidos de livros devem ficar disponíveis para
outros sistemas tais como: Marketing, Vendas e Contabilidade.”
“O sistema AKD-MICO se propõe a manipular as informações sobre
alunos matriculados, cursos oferecidos e períodos letivos, de modo
a permitir a avaliação de cada aluno matriculado”
29.
Diagrama de Contexto
Após a especificação formal dos objetivos do sistema, o
Analista já estará em condições mais apropriadas para
elaborar o diagrama de contexto.
Ele reflete graficamente a relação do sistema com o meio
ambiente onde está inserido.
Esta relação dá-se através do recebimento de estímulos
do meio ambiente, os quais ativam processos, e estes, por
sua vez geram respostas.
30.
Diagrama de Contexto
Apresentauma visão geral das características importantes do sistema:
As pessoas, organizações ou sistemas com os quais o sistema se
comunica (Entidades Externas).
Os dados que o sistema recebe do mundo exterior e que de alguma
forma devem ser processados.
Os dados produzidos pelo sistema e enviados ao mundo exterior.
A fronteira entre o sistema e o resto do mundo.
31.
Diagrama de Contexto
Exemplo
Situaçãodo Crédito
Contabilidade
Gráficas
Clientes
Direção
Sistema de
Pedidos de
Livros AJAX
Pedidos,
Pedidos cancelados
Pedidos de
reimpressão
Livros que
chegam ao depósito
Fatura
Relatório
de vendas
Fatura
32.
Lista de Eventos
Conceitos
É uma relação dos estímulos que ocorrendo no
mundo exterior implicam que o sistema dê algum
tipo de resposta.
EVENTO: Um evento pode ser definido
informalmente como um acontecimento do mundo
exterior que requer do sistema uma resposta.
ESTÍMULO: É um ativador de uma função. É a forma
como o evento age sobre o sistema. A chegada de
um estímulo indica que o evento ocorreu e isto faz
com que o sistema então ative uma função pré-
determinada para produzir a resposta esperada.
33.
Lista de Eventos
Conceitos
RESPOSTA: É o resultado gerado pelo sistema
devido à ocorrência de um evento. Uma
resposta é sempre o resultado da execução de
alguma função interna no sistema. Pode ser:
Um fluxo de dados saindo do sistema p/ uma entidade
externa.
Uma mudança de estado em algum depósito de dados (o que
equivale a inclusão, exclusão ou modificação de algum
registro de um arquivo).
Um fluxo de controle saindo de uma função para ativar
outra função.
34.
Lista de Eventos
Classificaçãodos Eventos
Os fluxos são classificados como:
Orientado à Fluxo (F)
Temporal (T)
Temporal Relativo (TR)
35.
EVENTO ORIENTADO AFLUXO
É aquele associado a um fluxo de dados
O sistema toma conhecimento da sua ocorrência
quando um ou vários dados chegam a ele.
Corresponde aos fluxos de dados de entrada do
Diagrama de Contexto.
Nem sempre um fluxo de dados é
necessariamente um evento orientado a fluxo.
Isso ocorre quando o sistema solicita de uma
entidade externa um dado.
Identificando Eventos
36.
sujeito +verbo transitivo na voz ativa +
complemento verbal
EXEMPLO:
CLIENTE EMITE COMPROVANTE
Identificando Eventos
37.
EVENTO TEMPORAL
Éaquele gatilhado pela chegada a algum ponto no
tempo.
Não é disparado por nenhum fluxo de dados. É como se
o sistema dispusesse de um relógio interno que
determinasse a passagem do tempo.
Pode ocorrer que um evento temporal peça ao sistema que solicite dados
de uma ou mais entidades externas. Nesse caso um ou mais fluxos de
dados podem estar associados com um evento temporal.
Identificando Eventos
38.
EXEMPLO:
1. Um relatóriodiário de todos os pedidos de livro é solicitado
às 09:00 hs.
2. Fatura deve ser gerada às 15:00 hs.
3. Relatório gerencial deve ser gerado a cada hora.
“É hora de” + verbo no infinitivo + complementos
verbais
EXEMPLO: É hora de emitir nota-fiscal
Identificando Eventos
39.
EVENTO TEMPORAL RELATIVOou de CONTROLE
É iniciado pelo passar do tempo, mas dependendo do valor de um dado
da memória.
É um caso especial de evento temporal no qual o estímulo externo
ocorre em um ponto imprevisível no tempo.
Diferentemente do evento temporal, não está associado com a
passagem regular do tempo de forma que o sistema o antecipe usando
seu relógio interno.
Diferentemente também do evento orientado a fluxo, não mostra sua
presença através de um dado que chega.
Identificando Eventos
40.
(1) sujeito+ verbo transitivo na voz ativa +
complemento verbais
(2) sujeito + verbo na voz passiva + complemento
verbais
EXEMPLOS:
(1) A Diretoria autoriza o pagamento de uma
fatura
(2) O nível de ressuprimento do estoque é
atingido
Identificando Eventos
41.
Nº do
Evento Descriçãodo
Evento
Tipo de
Evento Estímulo Ação Resposta(s)
1 Cliente
entrega
pedido
F Pedido Registrar
Pedido
Pedido
Registrado
2 É hora de
emitir relatório
de vendas
T (a hora de emitir
relatório de
vendas)
Emitir o
relatório de
vendas
Relatório de
Vendas
3 Diretoria
autoriza
pagamento de
fornecedor
C Autorização de
pagamento
Gerar
pagamento
Pagamento
do fornecedor
Fatura paga
Lista de Eventos
sob a forma de tabela
42.
Conclusão
Modelo Ambiental
Ao terminaro modelo confirmar que:
Cada fluxo do diagrama de contexto deve ser requerido pelo sistema
para reconhecer
a ocorrência de um evento, ou
a necessidade de resposta a um evento, ou
ambos os casos.
Cada fluxo de saída deve ser uma resposta a um evento
Cada evento não temporal deve ter uma entrada para o sistema que
permita que este detecte que o evento ocorreu.
43.
Conclusão
Modelo Ambiental
Cada eventodeve:
Produzir uma saída imediata como resposta, ou
Armazenar dados para saída posterior (como resposta ou
parte de uma resposta de algum outro evento), ou
Causar uma mudança de estado no sistema (como indicado
no diagrama de transição de estado).
44.
Modelo descritivode uma locadora de fitas de vídeo, que não possui computador.
O cliente solicita empréstimo de fita informando o seu nome e o do filme que ele deseja retirar. O funcionário consulta inicialmente o fichário
de clientes e rejeita o empréstimo se o cliente estiver em situação de impedimento (porque está com algum empréstimo anterior em atraso) ou
simplesmente é um cliente inexistente, não cadastrado. Neste último caso, o funcionário pode cadastrá-lo solicitando alguns dados (nome,
endereço, telefone, e-mail). Um código de cliente é criado e informado ao novo cliente.
O empréstimo pode, ainda, ser rejeitado porque o filme não existe ou porque todas as suas fitas estão emprestadas. Se a fita está disponível, é
feita uma nota de empréstimo em duas vias: o cliente assina a segunda via que vai para o arquivo de notas de empréstimos; a primeira via vai
com o cliente, acompanhando a fita. Uma nota de empréstimo pode conter mais de uma fita, se são todas retiradas no mesmo momento.
Diariamente, um funcionário repassa todas as notas desse arquivo para verificar se existe algum empréstimo em atraso há mais de 5 dias (isso
é feito comparando a data do dia com a data prevista para devolução de cada uma das fitas constantes daquela nota de empréstimo). Para
esses, é feito um aviso de atraso (via telefone) e o cliente é colocado na situação de impedimento. Quando a fita for devolvida, o cliente será
reposto na situação "regular".
Quando um empréstimo é devolvido, o funcionário busca a cópia da nota de empréstimo (com base no número da nota que é informada pelo
cliente), calcula o valor a pagar (incluindo multa para cada fita da nota que passou do prazo de devolução) e informa ao cliente; este paga,
devolve as fitas e o funcionário lança, na nota de empréstimo, a data da devolução de cada uma das fitas. A nota retorna ao arquivo de notas
de empréstimos.
Novos lançamentos chegam, eventualmente, das empresas distribuidoras para a locadora: vêm fitas acompanhadas de nota fiscal. Após uma
conferência, o funcionário cadastra as novas fitas e a nota fiscal é guardada num arquivo até o fim do mês, quando são classificadas por
distribuidora, somadas e elaborado um cheque para cada fornecedor, que é levado por um funcionário.
A locadora não vende fitas, apenas empresta.
Apresentar uma proposta do Modelo Ambiental, tendo como referência as características descritas acima.