DFD e DER


  • Sistema Exemplo: LibraryFree


Escopo

  • Desenvolver uma aplicação que permita a um usuário individual, escola ou empresa, montar sua biblioteca e controlar empréstimo e devolução de livros. O sistema gerencia o empréstimo via web integrando a entrega com sistemas de encomendas. Acompanha as devoluções do livro com avaliação de pontualidade, qualidade e condições na entrega.


Requisitos Funcionais

USUÁRIO

Conta

  • Cadastrar conta
  • Autenticar usuário
  • Recuperar senha
  • Alterar dados cadastrados
  • Desativar conta

Livros

  • Pesquisar livros
  • Reservar livros
  • Solicitar empréstimo

Empréstimo e devolução

  • Renovar empréstimo
  • Realizar devolução

Extras

  • Sugerir livros para aquisição
  • Visualizar perfis de outros usuários e bibliotecas
  • Visualizar informações do livro

BIBLIOTECA ou PROPRIETÁRIO

Conta

  • Cadastrar conta
  • Autenticar usuário
  • Recuperar senha
  • Alterar dados
  • Aprovar conta
  • Exclur conta

Livros

  • Cadastrar livros
  • Pesquisar livros (encontrar livro no estoque)
  • Alteara dados do livro
  • Aprovar empréstimo
  • Gerenciar devoluções (talvez cobrar multa)

Devolução

  • Confirmar devolução (verificar o prazo e aplicar a cobrança se necessário)
  • Avaliar devolução


Extras

  • Sugerir livros para aquisição
  • Visualizar perfis de outros usuários e bibliotecas
  • Visualizar informações do livro
  • Enviar ordem de compra para fornecedores
  • Gerar Relatórios:
    • Usuários em ordem alfabética
    • Usuários com pendências
    • Usuários por endereço
    • Usuários por faixa etária
    • Usuários por uso
    • Livros em ordem de ISBN
    • Livros em ordem alfabética
    • Livros por estante
    • Livros por autor
    • Livros por assunto
    • Livros por editora
    • Livros por data de aquisição
    • Livros por data de entrada
    • Empréstimos ativos
    • Empréstimos por data
    • Empréstimos por usuário
    • Empréstimos por livro
    • Devoluções por data
    • Devoluções por usuários
    • Devoluções por condição do livro


Pesquisa (Pedro)


  • Normalização: Normalização de dados é o processo formal passo a passo que examina os atributos de uma entidade, com o objetivo de evitar anomalias observadas na inclusão, exclusão e alteração de registros. Normalmente após a aplicação das regras de normalização de dados, algumas tabelas acabam sendo divididas em duas ou mais tabelas, o que no final gera um número maior de tabelas do que o originalmente existente. Este processo causa a simplificação dos atributos de uma tabela, colaborando significativamente para a estabilidade do modelo de dados, reduzindo-se consideravelmente as necessidades de manutenção.
    • Objetivos da normalização:
      • Minimização de redundâncias e inconsistências;
      • Facilidade de manipulações do banco de dados;
      • Facilidade de manutenção do sistema de Informação.
    • Para aplicar a normalização de dados é necessário considerar a sequência das formas normais, isto é, para aplicar a segunda forma normal por exemplo, é necessário que seja aplicado a primeira forma normal. Da mesma forma, para aplicar a terceira forma normal é necessário que já tenha sido feita a normalização na segunda forma normal.


  • 1FN: Uma relação estará na Primeira forma normal 1FN, se e somente se todos os domínios básicos contiverem somente valores atômicos (não contiver grupos repetitivos). Em outras palavras podemos definir que a primeira forma normal não admite repetições ou campos que tenha mais que um valor.
    • Procedimentos:
      • a) Identificar a chave primária da entidade;
      • b) Identificar o grupo repetitivo e removê-lo da entidade;
      • c) Criar uma nova entidade com a chave primária da entidade anterior e o grupo repetitivo.
    • A chave primária da nova entidade será obtida pela concatenação da chave primária da entidade inicial e a do grupo repetitivo.


  • 2FN: Uma tabela está na Segunda Forma Normal 2FN se ela estiver na 1FN e todos os atributos não chave forem totalmente dependentes da chave primária (dependente de toda a chave e não apenas de parte dela). Se o nome do produto já existe na tabela produtos, então não é necessário que ele exista na tabela de produtos. A segunda forma normal trata destas anomalias e evita que valores fiquem em redundância no banco de dados.
    • Procedimentos:
      • a) Identificar os atributos que não são funcionalmente dependentes de toda a chave primária;
      • b) Remover da entidade todos esses atributos identificados e criar uma nova entidade com eles.
    • A chave primária da nova entidade será o atributo do qual os atributos do qual os atributos removidos são funcionalmente dependentes.


  • 3FN: Uma tabela está na Terceira Forma Normal 3FN se ela estiver na 2FN e se nenhuma coluna não-chave depender de outra coluna não-chave.
    • Na terceira forma normal temos de eliminar aqueles campos que podem ser obtidos pela equação de outros campos da mesma tabela.
    • Procedimentos:
      • a) Identificar todos os atributos que são funcionalmente dependentes de outros atributos não chave;
      • b) Removê-los.
    • A chave primária da nova entidade será o atributo do qual os atributos removidos são funcionalmente dependentes.