Objetivo da aula
- Evoluir a modelagem baseadas em funções
- Iniciar o desenvolvimento de DFD - Diagrama de Fluxo de Dados
- Entender o que são processos
- Avaliar onde os sistemas podem ser disponibilizados para os usuários
- Processamento é a parte fundamental do sistema e é descrito:
- em Processos
- que chamamos de Funções
- que se transformam em Programas ou Aplicações. .
- e são representados pelos Requisitos Funcionais
- Mas onde ficam estas aplicações?
- Cliente-Servidor



DFD – Diagrama de Fluxo de Dados
Componentes:
- Software
- Hardware
- Pessoas
- Banco de Dados
- Documentação
- Procedimentos
Problemas:
- Sistemas grandes são projetados para resolver problemas difíceis
- Sistemas requerem abordagem de infinitas possibilidades
- Sistemas devem ser projetados para durar muitos anos em um ambiente dinâmico.

Convenção simbólica de um DFD
- 4 representações gráficas:

Processos
- Representam as transformações e manipulações feitas sobre os dados em um sistema e correspondem a procedimentos ou funções que um sistema tem de prover.
- A ocorrência de um evento de um dos seguintes tipos deve ser representada como um processo em um DFD - Diagrama de Fluxo de Dados
- 01. Transformações do conteúdo de um dado de entrada no conteúdo de um dado de saída, sem armazenamento interno no sistema
- 02. Inserções ou modificações do conteúdo de dados armazenados, a partir do conteúdo (possivelmente transformado) de dados de entrada
- 03. Transformações de dados previamente armazenados no conteúdo de um dado de saída,
- Um processo é representado por:
- A. um círculo (ou retângulo com vértices arredondados),
- B. com uma sentença simples (verbo + objeto) em seu interior e, opcionalmente,
- C. um identificador (número). ou o responsável (pessoa que executa a operação).
- A sentença deve tentar descrever o melhor possível a função a ser desempenhada, sem ambigüidades.
- Toda transformação de dados deve ser representada e, deste modo, não se admite ligação direta entre:
- I. entidades externas e depósitos de dados
- II. uma entidade externa e outra
- III. um depósitos de dados e outro.
- Para uma completa modelagem das funções, são necessários, além dos DFDs:
- um Dicionário de Dados com detalhamento das funçionalidades
- Especificações relatando os Requisitos Não-Funcionais
- um Dicionário de Dados com detalhamento das funçionalidades
- Todo processo tem um objeto claramente especificado. Alguns exemplos:
- Cadastrar
- cliente
- aluno
- professor
- conta
- Gerar
- diário de classe
- relatório de despesa
- Emitir
- nota fiscal
- duplicata
- atestado
- Baixar
- pagamentos
- débitos
- arquivos
- Excluir
- fatura
- nota
- pendência
- Calcular
- multa
- média
- fórmula
- Cadastrar
- O símbolo de processo representa uma atividade de transformação.
- Ele é alimentado
- com dados, provenientes de um meio externo (via entidade externa)
- pela leitura de dados armazenados em algum depósito de dados (tabelas/arquivos)

- Exemplo gráfico do processo Cadastrar Cliente
- Uma entidade externa (retângulo) com nome de CLIENTE envia dados do cliente ao processo
- O envio de dados está representado pelo fluxo de dados (seta) chamado de DadosCli que parte do cliente em direção ao processo => input de dados
- Existe um fluxo de dados (seta) bidirecional entre o processo e um depósito de dados (traços paralelos) chamado de CadCli onde haverá armazenamento de dados do cliente.
Processo Realizar Empréstimo

- Biblioteca: Interface responsável pelo atendimento do aluno
- CadEmp: Base de dados que mantém informações sobre os empréstimos
Exemplos
Processo Alugar Veículos
- Como ficam os fluxos de dados neste exemplo?
- Porque tantos depósitos de dados?
Processo Cadastrar Pedido

- Desenhar também os fluxos de dados.
- Embora seja interessante, um DFD nem sempre traduz as maneiras pelas quais, uma informação chega até o sistema
- No caso acima, para o Pedido, podemos ter várias situações possíveis de trâmite entre a origem até o armazenamento dos dados no sistema de informação.
Processo Cadastrar Pedido – Modos de entrada
- 1. Sistema de Televendas:
- Atendente recebe a solicitação do comprador e por meio de uma tela, insere os dados enviando a formalização do pedido por e-mail ou SMS para o cliente

- 2. Consultor de Vendas:
- Na frente do cliente, consultor utiliza seu dispositivo portátil para inserir os dados do pedido numa tela adequada ao seu aparelho; o pedido é impresso numa impressora portátil e o pedido é fechado.

- 3. Atendimento na Loja:
- Vendedor recebe o cliente no balcão, insere dados na tela do desktop e imprime o pedido numa impressora local e o entrega uma via nas mãos do cliente
- 4. Web:
- Cliente acessa endereço da loja, preenche dados do pedido e visualiza resultados por meio de uma opção na própria tela permitindo a impressão

- 5. Celular:
- Cliente acessa endereço da loja no aparelho celular ou tablet, preenche dados do pedido e visualiza resultados por meio de uma opção na própria tela e recebe mensagem de confirmação.

Questões
- 01. Dê exemplos de sistemas que possuem a mesma interface como entrada e como saída.
- 02. Dê exemplos de sistemas que processam sem intervenção humana.
- 03. Em uma estrutura cliente-servidor podemos ter vários servidores com funções diferentes. Cite algumas delas.
- 04. O que é uma VM? Como funciona?
- 05. O que é backend e frontend? Dê exemplos.
- 06. Desenhe um DFD básico (minimo de 8 funções) para o sistema de Empréstimo de Livros da biblioteca da UFU.