Baixe o app para aproveitar ainda mais
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.
Compartilhar