Skip to content

Modelo entidade relacionamento

Filipe W. Lima edited this page Aug 21, 2015 · 3 revisions

Modelo entidade relacionamento

O objetivo desta página é dar uma visão geral, e também mais particular de alguns conceitos importantes, dos relacionamentos entre os modelos da aplicação.

Os diagramas apresentados nesta página foram gerados com a gem rails-erd. A notação de Charles Bachman (1992) foi usada para indicar se um relacionamento é opcional (ponto aberto) ou obrigatório (ponto fechado). Mais detalhes sobre o significado de cada tipo de relacionamento pode ser encontrado na documentação do projeto Rails ERD.

Os diagramas estão simplificados (sem atributos), mas é possível ter acesso a um PDF com a versão completa (com atributos) clicando na imagem. Nos conceitos mais específicos alguns relacionamentos também foram removidos para simplificar os pontos principais.

Além dos diagramas gerado pelo Rails ERD, outro diagrama geral (em SVG — podem ser abertos nos navegadores) foi gerado com a gem railroady: versão breve / completa.

Índice

Geral

Neste diagrama temos uma visão geral de todos os modelos encontrados no projeto do Openredu:

Geral

Hierarquia AVA

Um dos conceitos principais do projeto é a hierarquia do Ambiente Virtual de Aprendizagem (AVA). Ela pode ser resumida em:

Ambiente (Environment)
├── Curso (Course)
│   ├── Disciplina (Space)
│   │   ├── Módulo (Subject)
│   │   │   ├── Aula (Lecture)

AVA

Ambiente

Ambiente

Curso

Um curso (Course) pode possuir várias disciplinas.

Curso

Disciplina

Uma disciplina (Space) é um agrupamento de módulos. Toda disciplina possui um mural próprio e uma área para arquivos de apoio (Folder).

Disciplina

Módulo

Um módulo (Subject) é um agrupamento de aulas.

Módulo

Aula

Existem vários tipos de aulas (Lecture): em texto, documento, vídeo, exercício. Cada aula possui seu próprio mural onde os alunos podem fazer comentários ou pedir ajuda.

Aula

Exercício

O exercício (Exercise) é um dos tipos de aulas disponíveis. Ele é feito de questões (Question) com alternativas (Alternative), respostas (Choice) e resultados (Result).

Exercício

Usuário

O modelo de usuário (User) talvez seja o modelo com mais relacionamentos do projeto. Associado ao perfil do usuário você tem informações sobre escolaridade (Education), experiências profissionais (Experience), redes sociais que é membro (SocialNetwork), configurações de conta (UserSetting), entre outros.

Os usuários estão conectados entre uns aos outros através do relacionamento de amizade (Friendship). Além de poder postar mensagens nos murais dos seus contatos, eles também podem enviar mensagens privadas (Message).

Eles podem ter sido convidados a participar da aplicação (Invitation), bem como participar de cursos.

Eles estão associados por toda hierarquia da AVA, participando nos papéis de alunos, tutores, professores e/ou administradores.

Usuário

Chat

Chat

Plano

Plano

Mural

Os murais são formados por mensagens (comumente chamados de "status"/Status) deixados pelos usuários em seus murais, de outros usuários, de disciplinas e de aulas. Estes status podem ser comentados (Answer) e conter links embedáveis (StatusResource). Além disso eles também são compostos por várias ações do usuário como, confirmação de amizades e matrícula em cursos, atualizações de perfil, entre outros. Muitas vezes essas ações similares são agrupadas em "logs"(CompoundLog) a fim de evitar repetições.

O mural pode ser encontrado na:

  • Visão Geral: confirmação de pedidos de amizades, confirmação de matrícula em cursos, entre outros.
  • Meu Mural: status pessoais do usuário.
  • Mural da Disciplina
  • Mural da Aula

Mural