Engenharia de Software I - Aula 12
-
Upload
alessandro-almeida -
Category
Business
-
view
257 -
download
2
Transcript of Engenharia de Software I - Aula 12
![Page 1: Engenharia de Software I - Aula 12](https://reader033.fdocuments.net/reader033/viewer/2022042716/55ab70d61a28abd06c8b46fd/html5/thumbnails/1.jpg)
Alessandro Almeida | www.alessandroalmeida.com
![Page 2: Engenharia de Software I - Aula 12](https://reader033.fdocuments.net/reader033/viewer/2022042716/55ab70d61a28abd06c8b46fd/html5/thumbnails/2.jpg)
Prova 1: Dia 9 de outubro
![Page 3: Engenharia de Software I - Aula 12](https://reader033.fdocuments.net/reader033/viewer/2022042716/55ab70d61a28abd06c8b46fd/html5/thumbnails/3.jpg)
Reforçando o conteúdo das últimas aulas e exercitando mais!
![Page 4: Engenharia de Software I - Aula 12](https://reader033.fdocuments.net/reader033/viewer/2022042716/55ab70d61a28abd06c8b46fd/html5/thumbnails/4.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042716/55ab70d61a28abd06c8b46fd/html5/thumbnails/5.jpg)
![Page 6: Engenharia de Software I - Aula 12](https://reader033.fdocuments.net/reader033/viewer/2022042716/55ab70d61a28abd06c8b46fd/html5/thumbnails/6.jpg)
![Page 7: Engenharia de Software I - Aula 12](https://reader033.fdocuments.net/reader033/viewer/2022042716/55ab70d61a28abd06c8b46fd/html5/thumbnails/7.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042716/55ab70d61a28abd06c8b46fd/html5/thumbnails/8.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042716/55ab70d61a28abd06c8b46fd/html5/thumbnails/9.jpg)
Entendendo a estrutura – Parte 1
![Page 10: Engenharia de Software I - Aula 12](https://reader033.fdocuments.net/reader033/viewer/2022042716/55ab70d61a28abd06c8b46fd/html5/thumbnails/10.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042716/55ab70d61a28abd06c8b46fd/html5/thumbnails/11.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042716/55ab70d61a28abd06c8b46fd/html5/thumbnails/12.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042716/55ab70d61a28abd06c8b46fd/html5/thumbnails/13.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042716/55ab70d61a28abd06c8b46fd/html5/thumbnails/14.jpg)
![Page 15: Engenharia de Software I - Aula 12](https://reader033.fdocuments.net/reader033/viewer/2022042716/55ab70d61a28abd06c8b46fd/html5/thumbnails/15.jpg)
![Page 16: Engenharia de Software I - Aula 12](https://reader033.fdocuments.net/reader033/viewer/2022042716/55ab70d61a28abd06c8b46fd/html5/thumbnails/16.jpg)
![Page 17: Engenharia de Software I - Aula 12](https://reader033.fdocuments.net/reader033/viewer/2022042716/55ab70d61a28abd06c8b46fd/html5/thumbnails/17.jpg)
![Page 18: Engenharia de Software I - Aula 12](https://reader033.fdocuments.net/reader033/viewer/2022042716/55ab70d61a28abd06c8b46fd/html5/thumbnails/18.jpg)
Diagrama de Fluxo de Dados da preparação de um bolo...
![Page 19: Engenharia de Software I - Aula 12](https://reader033.fdocuments.net/reader033/viewer/2022042716/55ab70d61a28abd06c8b46fd/html5/thumbnails/19.jpg)
Diagrama de Fluxo de Dados de um processo de validação de número de telefone...
![Page 20: Engenharia de Software I - Aula 12](https://reader033.fdocuments.net/reader033/viewer/2022042716/55ab70d61a28abd06c8b46fd/html5/thumbnails/20.jpg)
Entendendo a estrutura – Parte 2
![Page 21: Engenharia de Software I - Aula 12](https://reader033.fdocuments.net/reader033/viewer/2022042716/55ab70d61a28abd06c8b46fd/html5/thumbnails/21.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042716/55ab70d61a28abd06c8b46fd/html5/thumbnails/22.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042716/55ab70d61a28abd06c8b46fd/html5/thumbnails/23.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042716/55ab70d61a28abd06c8b46fd/html5/thumbnails/24.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042716/55ab70d61a28abd06c8b46fd/html5/thumbnails/25.jpg)
Processo no primeiro nível...
![Page 26: Engenharia de Software I - Aula 12](https://reader033.fdocuments.net/reader033/viewer/2022042716/55ab70d61a28abd06c8b46fd/html5/thumbnails/26.jpg)
Processo no segundo nível...
Qual processo estamos detalhando?
![Page 27: Engenharia de Software I - Aula 12](https://reader033.fdocuments.net/reader033/viewer/2022042716/55ab70d61a28abd06c8b46fd/html5/thumbnails/27.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042716/55ab70d61a28abd06c8b46fd/html5/thumbnails/28.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042716/55ab70d61a28abd06c8b46fd/html5/thumbnails/29.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042716/55ab70d61a28abd06c8b46fd/html5/thumbnails/30.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042716/55ab70d61a28abd06c8b46fd/html5/thumbnails/31.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042716/55ab70d61a28abd06c8b46fd/html5/thumbnails/32.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042716/55ab70d61a28abd06c8b46fd/html5/thumbnails/33.jpg)
Revisando e detalhando o DFD...
![Page 34: Engenharia de Software I - Aula 12](https://reader033.fdocuments.net/reader033/viewer/2022042716/55ab70d61a28abd06c8b46fd/html5/thumbnails/34.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042716/55ab70d61a28abd06c8b46fd/html5/thumbnails/35.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042716/55ab70d61a28abd06c8b46fd/html5/thumbnails/36.jpg)
2. Quais depósitos de dados serão criados?
Funcionários
Mercadorias
Clientes
Alunos
Pacientes
![Page 37: Engenharia de Software I - Aula 12](https://reader033.fdocuments.net/reader033/viewer/2022042716/55ab70d61a28abd06c8b46fd/html5/thumbnails/37.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042716/55ab70d61a28abd06c8b46fd/html5/thumbnails/38.jpg)
![Page 39: Engenharia de Software I - Aula 12](https://reader033.fdocuments.net/reader033/viewer/2022042716/55ab70d61a28abd06c8b46fd/html5/thumbnails/39.jpg)
[email protected] www.slideshare.net/alessandroalmeida