engenharia de software i - aula 12

39
Alessandro Almeida | www.alessandroalmeida.com

Upload: alessandro-almeida

Post on 19-Jul-2015

254 views

Category:

Business


2 download

TRANSCRIPT

Page 1: Engenharia de Software I - Aula 12

Alessandro Almeida | www.alessandroalmeida.com

Page 2: Engenharia de Software I - Aula 12

Prova 1: Dia 9 de outubro

Page 3: Engenharia de Software I - Aula 12

Reforçando o conteúdo das últimas aulas e exercitando mais!

Page 4: Engenharia de Software I - Aula 12

Ferramenta de modelagem gráfica da solução

Análise Estruturada

Permite imaginar um sistema como uma rede de processos funcionais, interligados por dutos e tanques de armazenamentos de dados

Pode ser apresentado para o cliente!

Se for construído da forma correta, é claro

Page 5: Engenharia de Software I - Aula 12
Page 6: Engenharia de Software I - Aula 12
Page 7: Engenharia de Software I - Aula 12

Analisando um pouco já é possível entender Representação simples Intuitivo

Importante...

Na construção, lembre-se que o cliente (usuário) é quem vai validar

Ou seja, o cara precisa entender seu desenho

Page 8: Engenharia de Software I - Aula 12

O DFD pode ser desenhado em uma página

Seu cliente vai conseguir examinar o diagrama sem se confundir!

Page 9: Engenharia de Software I - Aula 12

Entendendo a estrutura – Parte 1

Page 10: Engenharia de Software I - Aula 12

Primeiro componente de um DFD Mostra como uma ou mais entradas são

convertidas em saídas Normalmente, é representado por um círculo

Mas também pode ser uma elipse ou um retângulo

Exemplo:

Validar CPF

Page 11: Engenharia de Software I - Aula 12

Graficamente representado por uma seta que entra ou sai de um processo

Utilizado para mostrar o movimento de fragmentos ou de pacotes de informações de um ponto a outro do sistema

Ou seja, representa os dados em movimento

Exemplo: situação do

pedido

Page 12: Engenharia de Software I - Aula 12

Modela uma coleção de pacotes de dados em repouso

Ou seja, o banco de dados

Normalmente, o nome escolhido para identificar o depósito é o plural do nome dos pacotes transportados pelos fluxos para dentro e para fora dos depósitos

Exemplo:

Pedidos

Page 13: Engenharia de Software I - Aula 12

Representa as entidades externas com as quais o sistema se comunica

Tipicamente, é uma pessoa ou um grupo de pessoas

Mas também pode ser outro sistema com o qual o seu sistema vai se comunicar (por exemplo: B2B)

Exemplo:

Clientes

Page 14: Engenharia de Software I - Aula 12
Page 15: Engenharia de Software I - Aula 12
Page 16: Engenharia de Software I - Aula 12
Page 17: Engenharia de Software I - Aula 12
Page 18: Engenharia de Software I - Aula 12

Diagrama de Fluxo de Dados da preparação de um bolo...

Page 19: Engenharia de Software I - Aula 12

Diagrama de Fluxo de Dados de um processo de validação de número de telefone...

Page 20: Engenharia de Software I - Aula 12

Entendendo a estrutura – Parte 2

Page 21: Engenharia de Software I - Aula 12

1. Escolher nomes significativos para os processos, fluxos, depósitos e terminadores

2. Numerar os processos 3. Evitar DFDs complexos demais 4. Refazer o DFD tantas vezes forem

necessárias, até obter uma boa estética 5. Certificar-se de que o DFD seja

internamente consistente, além de manter a consistência com outros DFDs

Page 22: Engenharia de Software I - Aula 12

Rotular os processos de modo a identificar as funções que o sistema executa

Iniciando com um verbo no infinitivo...

Validar CPF

Page 23: Engenharia de Software I - Aula 12

Nomes não recomendados para processos: Fazer serviço

Funções diversas

Manipular entrada

Cuidar dos clientes

Processar dados

Edição geral Os nomes acima podem significar muita coisa...

Além disso, demonstram que o Analista de Sistemas não está certo de qual função está sendo executada

Page 24: Engenharia de Software I - Aula 12

Facilitam a referência ao processo

É mais fácil dizer bolha 1 em vez de Editar erros de transações e de relatórios

Facilitam a leitura no detalhamento dos DFDs

A bolha 2 será detalhada através das bolhas 2.1, 2.2 e 2.3

Page 25: Engenharia de Software I - Aula 12

Processo no primeiro nível...

Page 26: Engenharia de Software I - Aula 12

Processo no segundo nível...

Qual processo estamos detalhando?

Page 27: Engenharia de Software I - Aula 12

Um DFD deve ser prontamente compreendido, facilmente absorvido e agradável aos olhos Ou seja, não crie um DFD com diversos processos,

fluxos, depósitos e terminadores... O ideal é que o DFD se ajuste em uma folha

A4 Aprenderemos a “quebrar” o DFD em níveis (nível

0, 1 e 2)

Lembrem do exemplo anterior

Page 28: Engenharia de Software I - Aula 12

Refaça o DFD 5, 10 ou 15 vezes até que esteja...

Tecnicamente correto

Aceitável pelo seu cliente

Tão bem desenhado que você não fique constrangido em mostrá-lo aos diretores da sua empresa

Page 29: Engenharia de Software I - Aula 12

Tome cuidado com...

Poços sem fundo: Bolhas com fluxo de entrada, mas sem fluxo de saída

Page 30: Engenharia de Software I - Aula 12

Tome cuidado com...

Bolhas com geração espontânea: Bolhas com fluxo de saída, mas sem o fluxo de entrada

Page 31: Engenharia de Software I - Aula 12

Tome cuidado com...

Fluxos e processos sem rótulo: Se não conseguiu definir um nome satisfatório para o processo ou fluxo, pode ser que há algum item implícito no sistema que ainda não foi identificado

Page 32: Engenharia de Software I - Aula 12

Tome cuidado com...

Depósitos somente leitura ou somente escrita: Seu banco de dados somente recebe dados ou somente é consultado? Reveja se é assim mesmo que funciona...

Page 33: Engenharia de Software I - Aula 12

Revisando e detalhando o DFD...

Page 34: Engenharia de Software I - Aula 12

Baseados nas dicas da aula de hoje, revisem os DFDs iniciados na aula passada

Avaliar se as diretrizes estão sendo cumpridas!

Quem não iniciou o DFD na aula passada: Aproveite para começar!

Page 35: Engenharia de Software I - Aula 12

1. Comecem a pensar nos processos / módulos que irão compor o seu sistema

Cadastrar funcionários

Criar prontuário do paciente

Atualizar estoque

Gerar relatórios analíticos

Emitir fatura

Emitir pedido de fabricação

Etc...

Page 36: Engenharia de Software I - Aula 12

2. Quais depósitos de dados serão criados?

Funcionários

Mercadorias

Clientes

Alunos

Pacientes

Page 37: Engenharia de Software I - Aula 12

3. Como os dados irão “fluir” entre os processos / funções e depósitos de dados?

Page 38: Engenharia de Software I - Aula 12
Page 39: Engenharia de Software I - Aula 12

[email protected] www.slideshare.net/alessandroalmeida