Buscar

aula6-estruturada

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

Engenharia de Software
© Pablo Dall'Oglio
Análise Estruturada
Pablo Dall'Oglio
Engenharia de Software
© Pablo Dall'Oglio
Roteiro
� Sistemas de bancos de dados;
� Modelagem de bancos de dados;
� Conceitos sobre Análise Estruturada;
� Diagrama de contexto;
� DFD (Dicionário de Fluxo de Dados);
� Especificação de processos;
� DER (Diagrama Entidade-Relacionamento).
Engenharia de Software
© Pablo Dall'Oglio
Banco de dados
Engenharia de Software
© Pablo Dall'Oglio
Sistemas baseados em arquivos - primóridios
� Programas/arquivos orientados a um departamento;
� Rotinas específicas para tarefas específicas.
Redundância
Engenharia de Software
© Pablo Dall'Oglio
Sistemas baseados em arquivos - primóridios
� Inconsistência de valores devido à redundância;
� Problemas de falta de integridade e desempenho (escrita).
Inconsistência
Engenharia de Software
© Pablo Dall'Oglio
Bancos de dados modernos
� Existem pela necessidade de:
� Armazenar GRANDES quantidades de dados;
� Acessar informações de maneira centralizada e SEGURA.
� O que é um Banco de Dados (BD) ?
� Um BD é uma coleção de dados relacionados (Navathe);
� Dados são fatos que possuem um significado implícito:
� Nomes, telefones e endereços de clientes;
� Dados sobre as vendas realizadas na empresa;
� Dados sobre as matrículas dos alunos em uma universidade;
� Dados sobre as postagens em um sistema de correios.
 
 
Engenharia de Software
© Pablo Dall'Oglio
Sistema Gerenciador de Banco de Dados (SGBD)
� Conjunto de softwares responsáveis pelo gerenciamento de 
uma ou mais bases de dados;
Engenharia de Software
© Pablo Dall'Oglio
Sistema Gerenciador de Banco de Dados (SGBD)
� O SGBD converte o formato em que os dados estão gravados 
para o formato específico que cada programa precisa.
S
G
B
D
Engenharia de Software
© Pablo Dall'Oglio
Modelagem
Engenharia de Software
© Pablo Dall'Oglio
O que é um modelo ?
Engenharia de Software
© Pablo Dall'Oglio
Modelo
� Representação da informação do mundo real;
� Esconde detalhes, simplificação da realidade.
 
 
Engenharia de Software
© Pablo Dall'Oglio
O que é um modelo ?
� O modelo é uma simplificação da realidade;
� Modelos existem por que não é possível compreender os 
sistemas em sua totalidade;
� Para que modelar ?
� Endender melhor o sistema que estamos desenvolvendo;
� Documentar as decisões tomadas pela equipe;
� Especificar a estrutura e comportamento do sistema;
� Visualizar o sistema como desejamos;
� Guiar o desenvolvimento;
Engenharia de Software
© Pablo Dall'Oglio
Análise estruturada
� É um conjunto de métodos que surgiu nos anos 1960;
� Consiste em interpretar o sistema e criar uma série de 
diagramas que definem:
� A estrutura dos dados;
� O fluxo de dados;
� Na época, a programação era feita em:
� Cobol;
� Fortran;
� C;
� Basic.
Engenharia de Software
© Pablo Dall'Oglio
Diagrama de contexto
� É um tipo de diagrama de fluxo com uma única bolha que 
representa o sistema;
� O diagrama realça pessoas, organizações e sistemas com os 
quais o sistema comunica-se (terminadores);
� Apresenta possíveis dados que o sistema recebe do mundo 
exterior e que são processados (input);
� Também apresenta dados produzidos pelo sistema (output);
� A comunicação entre os terminadores é irrelevante pois são 
externos ao sistema.
Engenharia de Software
© Pablo Dall'Oglio
Diagrama de contexto
Engenharia de Software
© Pablo Dall'Oglio
DFD (Diagrama de fluxo de dados)
� O DFD é uma das ferramentas mais utilizadas para modelagem 
de sistemas;
� O DFD foi utilizado pela primeira vez na engenharia de 
software em 1974;
� A sua representação foi trazida dos antigos trabalhos sobre a 
teoria dos grafos e continua a ser utilizada até hoje;
� O termo se popularizou na área de administração e é utilizado 
para modelar o fluxo de tarefas de organizações inteiras.
� Permite imaginar o sistema como uma rede de processos 
funcionais interligados por "dutos" e "tanques de 
armazenamento" de dados.
Engenharia de Software
© Pablo Dall'Oglio
DFD
 
 
Engenharia de Software
© Pablo Dall'Oglio
Processo
� O processo mostra uma parte do sistema que transforma 
entradas em saídas;
� O nome de um processo deve representar o que ele faz;
� Recomenda-se empregar um verbo transitivo que exige um 
objeto como: calcular trajetória do míssil, produzir relatório 
de inventário, validar número de telefone;
� Evitar usar verbos elásticos (fazer, manipular, processar).
Engenharia de Software
© Pablo Dall'Oglio
Fluxo
� É representado por uma seta que entra ou sai de um processo;
� Mostra o movimento de pacotes de dados de um ponto a outro 
do sistema;
� Representa dados em movimento;
� O nome de um fluxo representa o significado do pacote de 
informação;
� Os dados de um fluxo irão transitar para outro fluxo ou para 
um depósito.
Engenharia de Software
© Pablo Dall'Oglio
Depósito
� Um conjunto dados em repouso: para depósitos:
� Um fluxo em direção à um depósito pode significar a inclusão, 
alteração ou exclusão de um pacote;
� O depósito pode ser uma área necessária de armazenamento 
de espera entre dois processos assíncronos;
� Nem todo evento é síncrono, ou seja, acontece na sequência;
� Muitas vezes os eventos são separados por intervalos de 
tempo ou ocorrem somente devido à influências externas.
Engenharia de Software
© Pablo Dall'Oglio
Depósito
Engenharia de Software
© Pablo Dall'Oglio
Terminador
� É representado por um retângulo e representa uma entidade 
externa com a qual o sistema se comunica;
� Normalmente o terminador é uma pessoa ou uma organização 
externa ou mesmo um outro departamento da mesma empresa 
que esteja fora do controle do sistema modelado;
� Em alguns casos o terminador pode ser um outro sistema com 
o qual o sistema modelado se comunicará.
Engenharia de Software
© Pablo Dall'Oglio
Construindo um DFD
� Cada processo em um DFD deve ser numerado a fim de 
permitir a identificação única dos processos;
� A numeração não representa a ordem de execução, uma vez 
que o DFD é uma rede de processos assíncronos.
� Dicas:
� Evite bolhas que tem entradas mas não tem saídas;
� Evite bolhas que tem saídas, mas não entradas;
� Evite fluxos sem rótulo.
� Evite depósitos de apenas-leitura ou apenas-escrita. Um 
depósito deve ter entradas e saídas, com exceção de um 
depósito externo.
 
 
Engenharia de Software
© Pablo Dall'Oglio
Projeto de Banco de dados
� Modelo Conceitual
� Modelo Entidade-Relacionamento;
� É um modelo abstrato, de fácil entendimento pelo leito;
� Representa entidades e relacionamentos;
� Modelo Lógico
� Modelo Relacional;
� Descreve as estruturas;
� As entidades e relacionamentos são representados por 
tabelas;
� Modelo Físico
� Construído a partir do modelo lógico;
� Utiliza um SGBD específico.
Engenharia de Software
© Pablo Dall'Oglio
Diagrama de Entidade-Relacionamento
� É um modelo conceitual criado por Peter Chen - 1976;
� É um modelo que descreve a estrutura dos dados de um 
sistema em alto nível de abstração;
� Realça os relacionamentos entre os DEPÓSITOS de dados de 
um DFD e de outro;
� A figura a seguir mostra um DER típico onde cada um dos 
retângulos corresponde a um depósito de dados de um DFD;
� Podem existir mais relacionamentos que os vistos em um DFD, 
uma vez que o foco do DFD são as funções que o sistema 
executa e não os dados que ela necessita.
Engenharia de Software
© Pablo Dall'Oglio
Diagrama de Entidade-Relacionamento
Engenharia de Software
© Pablo Dall'Oglio
Modelo Entidade-Relacionamento : Atributos
Engenharia de Software
© Pablo Dall'Oglio
Entidades
� É representada por um retângulo em um DER;
� Representa um conceito para o sistema;
� Representa grupo de elementos (objetos) daquele tipo;
� Pode ser obtida a partir de análise dos requisitos, observando 
os substantivos;
� Uma entidade deve ser identificada de maneira única.
 
 
Engenharia de Software
© Pablo Dall'Oglio
Cardinalidade
� Relacionamento 1:N ou N:1 - O Pedrotrabalha no 
Departamento Pessoal;
� Relacionamento N:N - O Antônio está matriculado na disciplina 
Banco de Dados. A ligação existente entre um aluno e uma 
disciplina, onde um aluno pode estar matriculado em várias 
disciplinas e cada disciplina pode ter vários alunos matriculados.
Engenharia de Software
© Pablo Dall'Oglio
Software brModelo
Engenharia de Software
© Pablo Dall'Oglio
Bibliografia
� DEMARCO, Tom. Análise Estruturada e Especificação de Sistema;
� YOURDON, Edward. Análise Estruturada Moderna.
Próxima atividade
� Trabalho sobre análise estruturada.

Outros materiais