Análise e Projetos de Sistemas Modelagem de Dados - I Prof. Jorge Manuel Lage Fernandes Análise Estruturada de Sistemas • Conjunto de técnicas e ferramentas cujo objetivo é auxiliar na análise e definição de sistemas • Conceito fundamental construção de um modelo do sistema utilizando técnicas gráficas • A metodologia envolve a construção “top-down” do sistema por refinamentos sucessivos • Não é um método único aplicado constantemente por todos que a usam • Foi e ainda é um método de modelagem de requisitos amplamente usado Análise Estruturada • Diferença entre Análise e Desenho • Ferramentas de Análise – Modelos • Diagramas, textos • Análise orientada a objetos – Centrada em casos de uso • Análise Estruturada Análise Estruturada • Modelos desempenham são fundamentais – Exemplos • Partituras musicais – Representação abstrata de uma música • Mapas – Representação abstrata de uma área geográfica • Fluxogramas – Representação abstrata de um conjunto de tarefas – Porque modelos são importantes? Análise Estruturada Análise Estruturada • Modelos para análise estruturada – Refletem diretamente linguagens estruturadas • Separação entre dados e funcionalidades – Registros (dados) – Funcionalidades (procedimentos e funções) – Modelos • Diagrama de fluxo de dados – DFD • Diagramas entidade relacionamento - DER • Dicionário de dados - DD Modelo Comportamental • Representa o comportamento do sistema. • O modelo comportamental é constituído basicamente de DFD e D.D.: Modelo Comportamental DFD DD Abstração da Realidade Níveis de Abstração Dimensões do Mundo Real Fases do Ciclo de Vida Função Dado Conceitual Diagrama de fluxo de dados(DFD) Tecnológico Interno Modelo de Entidade e Relacionamento (MER) Diagrama de Relacional,Rede, estrutura modular Hierárquico (DEM) Cobol,CSP, National,C, Pascal,Clipper, E.T.C ANÁLISE PROJETO Linguagem de IMPLEMENTAÇÃO descrição de dados SGBD (DDL) Dicionário de Dados • Descrevendo o significado dos fluxos e depósitos mostrados nos diagramas de fluxo de dados. • Descrevendo a composição de pacotes agregados de dados que se movimentam pelos fluxos. • Descrevendo a composição dos pacotes de dados nos depósitos. • Especificando os relevantes valores e unidades de partes elementares de informações dos fluxos de dados e depósitos de dados. • Descrevendo os detalhes dos relacionamentos entre os depósitos realçados em um diagrama de entidades-relacionamentos. Necessidade da notação de DD • Os elementos de dados complexos são definidos em termos de elementos de dados mais simples. • Elementos de dados simples são definidos em termos das unidades válidas e dos valores que eles podem assumir. • Necessidade de uma notação concisa e compacta. Notação do Dicionário de Dados = + () {} [] ** @ | é composto de e opcional (pode estar presente ou ausente) iteração escolha uma das opções alternativas comentário identificador (campo chaves) de um depósito separa opções alternativas na construção [ ] Exemplo nome = título-cortesia + primeiro-nome + (nome-intermediário) + último-nome Título-cortesia = [Sr.|Srta.|Sra.|Dr.|Prof.] Primeiro-nome = {caractere-válido} Nome-intermediário = {caractere-válido} Último-nome = {caractere-válido} Caracter-válido = [A-Z|a-z|0-9|’|-| |] Definições • Uma definição de elemento de dados é apresentada com o símbolo “=” (“definido como” ou “é composto de” ou “significa”) • Então, a notação A = B + C pode ser lida como: – Sempre que dissermos A, queremos dizer B e C. – A compõe-se de B e C. – A é definido como B e C. Diagramas de Fluxo de Dados (DFD) • Técnica gráfica que descreve o fluxo de informação e as transformações que são aplicadas à medida que os dados se movimentam da entrada para a saída • Um sistema baseado em computador é representado como uma transformação de informação • Um DFD pode ser entendido como uma rede que ilustra como circulam os dados no interior de um sistema. Análise Estruturada - DFD • DFD’s são compostos por... – Processos • Representado por um círculo, oval... – Possui um nome associado » Nome: verbo mais objeto associado • Representa uma tarefa a ser realizada • Exemplos de processos Receber Pedidos Atualizar Saldo Calcular Salário Análise Estruturada - DFD • Fluxo – Representado por uma seta que... • Entra ou sai de um determinado processo. – Representa como dados fluem entre processos – Rotulados com o tipo da informação que levam – Exemplos Ler Valor Saque Valor do Saque Atualizar Saldo Análise Estruturada - DFD • Fluxos – Tipos de fluxo • • • • Entrada Saída Diálogo Divergente – Exemplos • Entrada Valor do Saque Atualizar Saldo • Fluxos – Tipos de fluxos • Saída Ler Valor Saque Valor do Saque • Diálogo Verificar Pedido Consulta-Situação Resposta-sobre-situação Verificar Situação • Fluxos Verificar Rua – Tipos de fluxos • Divergentes Rua Verificar Cidade Cidade Endereço do cliente CEP Verificar CEP Análise Estruturada - DFD • Depósito – Representa um conjunto de dados armazenado – Nome: Plural do valor armazenado – Tipos • Necessário • Implementação – Exemplo Pedidos Clientes Análise Estruturada - DFD • Terminador – Representam entidades externas ao sistema – Exemplos • Usuários • Outros sistemas Sistema Contábil Balconista D.F.D. – Diagrama de Fluxo de dados Quadrado duplo = Entidade Externa/Origem ou destino de Dados. Retângulo com cantos arredondados = Processo que transforma o Fluxo dos Dados. Elipse = Processo que transforma o Fluxo dos Dados. Retângulo aberto = Depósito de Dados Seta ou vetor = Fluxo de Dados Análise Estruturada - DFD Diretrizes Básicas 1) O DFD de nível 0 deve descrever o software como uma única bolha 2) O input e o output iniciais devem ser cuidadosamente anotados 3) O refinamento deve iniciar-se isolando-se possíveis processos, itens de dados e depósitos de dados a serem representados no próximo nível 4) Todas as setas e bolhas devem ser rotuladas com nomes significativos 5) A continuidade do fluxo de informação deve ser mantida de nível em nível. 6) Deve ser refinada uma bolha de cada vez. ESTRUTURA HIERÁRQUICA DIAGRAMA DE CONTEXTO VISÃO GERAL DO PROJETO DIAGRAMA DETALHADO 1. 1 1. 2 1. 3 DESCR. PROCESSO 1. 1 DESCR. PROCESSO 1. 2 DESCR. PROCESSO 1. 3 2. 2 2. 1 DESCR. PROCESSO 2. 1 3. 2 3. 1 DESCR. PROCESSO 2. 2 DESCR. PROCESSO 3. 1 DESCR. PROCESSO 3. 2 9 Exemplo – Cadastro de Empresas DFD nível 0 – Diagrama de Contexto Pedido de Inscrição Empresa CNPJ (CGC) Sistema de Cadastramento de Empresas Relação de Empresas Restrições Ministério da Fazenda DFD Nível 1 Empresas Selecionadas Dados para CNPJ CNPJ (CGC) P4 Emitir CNPJ Dados da Nova Empresa Dados de Empresas Pedido de Inscrição Empresa P5 Atualizar Tabela de Restrições Cadastro de Empresas P1 Verificar pedido de inscrição Pedido Aceito Ministério da Fazenda Relação de Empresas Restrições em Vigor P3 Selecionar Empresas Novas Restrições Tabela de Restrições P2 Cadastrar Empresas Restrições DFD Nível 2 – Explosão do Processo P1 Cadastro de Empresas Dados de Empresa Pedido completo P1.2 Verificar Existência de Razão social Pedido Inválido Pedido de Inscrição Empresa P1.1 Verificar preenchimento Pedido Recusado P1.4 Gerar Ordem de Devolução Pedido Válido Pedido Aceito Pedido Indevido Pedido incompleto Pedidos Rejeitados P2 Cadastrar Empresas Pedidos Recusados P1.3 Verificar Restrições em vigor Restrições em vigor Tabela de Restrições Exemplo: Sistema para hotel • Exemplo: Software para um hotel – Requisitos • • • • • Clientes podem reservar e cancelar reservas Cancelar reserva caso cliente não venha Registrar um cliente que fez uma reserva Totalizar a conta de um cliente Liberar o quarto para novas reservas após a saída Exemplo – Sistema para hotel • Eventos – Cliente reserva/ou cancela um quarto – Cliente registra-se no hotel – Cliente dá saída no hotel – Cliente paga a conta – Sistema libera o quarto Exemplo – Diagrama de contexto Refinamento do Fluxo de Informação O DFD de nível 0 é dividido em partições para revelar mais detalhes. A continuidade do fluxo de informação deve ser mantida A A V f6 f2 X f1 W B F f3 X Y Z f4 Y f5 f41 X1 f42 Z1 Y1 f43 X2 Y2 f44 Z3 f45 Z Z2 f7 B DFD de Nível 0 Refinamento do processo P1 Refinamento do processo P1.1 Razões clássicas para usar DFD, cf. (Aktas, 1987): 1. Ajudam o analista a: • Resumir a informação acerca de como funciona o sistema; • Compreender os componentes principais do sistema e a definir funções reutilizáveis; • Compreender as interdependências entre subsistemas; • Desenvolver eficientemente uma aplicação 2. Um DFD é uma boa ferramenta de comunicação entre utilizadores e analistas. Esta comunicação é reconhecida como vital. 3. Permite obter uma melhor estimativa dos recursos envolvidos no projeto global, em função dos recursos envolvidos em cada um dos processos. Exercício • Modelar um sistema utilizando: – Diagrama de Contexto – DFD Nível 0 – DFD Nível 1 – Sugestões de ferramentas: • • • • Smartdraw EDraw MS Visio Flowchart.com (aps_ace / aps_ace)