Modelagem de Dados

qual modelagem é “correta” na hora de arquitetar um sistema: UML ou Diagrama de Entidade?

Não existe modelagem “correta”…

São casos de uso específicos, cada tipo de modelagem atende um propósito distinto!

Se você pretende modelar uma estrutura de armazenamento de dados, o MER ou DER são duas abordagens que podem ser utilizadas.

Agora se o que você pretende é modelar a forma como seria a estrutura e funcionamento de uma aplicação, os diagramas UML podem te auxiliar, existem diversos modelos para diversas abordagens.

Basta entender a necessidade e utilizar o que melhor atender!

1 curtida

MER é Modelo Entidade Relacionamento, é a ideia geral, é um modelo de dados.
DER é o Diagrama Entidade Relacionamento, usado para definir, na forma de um diagrama, a modelagem conceitual do MER. O DER faz parte do MER, não são coisas disjuntas.

Infelizmente há uma baita de uma confusão conceitual em relação à essa nomenclatura. Algumas pessoas (e professores) chamam o DER de MER e chamam o modelo lógico do MER de DER, o que é errado.

Em relação à arquitetura, normalmente se usa os dois se seu banco de dados for relacional e se seu sistema for ser desenvolvido em uma linguagem orientada a objetos. Se a linguagem é OO e o banco não é relacional, usa-se somente UML. Se o banco é relacional e a linguagem não é OO, usa-se somente o MER.

Hoje em dia você consegue derivar o modelo físico do banco de dados relacional a partir da implementação orientada a objetos usando frameworks ORM também. Os mais puristas vão dizer que você precisa dos dois, mas se estiver bem modelado do lado OO, o lado relacional sai de graça usando os ORMs da vida.

2 curtidas

Estive pesquisando a fundo sobre arquitetura de software e modelagem. Ao ler tantos artigos, entendi que a modelagem de dados, tanto UML ou diagrama de entidades dever ser disponível apenas quem deverá desenvolver o sistema e não ficar exposto, pois demonstra toda arquitetura interna do projeto.

Por exemplo: Desenvolvi projeto back end, vou publicar em meu github e demonstrar a modelagem de dados no README, e explicando como o sistema foi feito.

Posso estar errado sobre o que entendi, mas estou começando agora entender os conceitos de diagrama e estou muito confuso um pouco. Nunca trabalhei na área, mas como funciona no mercado de trabalho, como o sistema é desenvolvido? UML ou diagrama de entidades?

Então ao desenvolver sistema back end, é realizado UML ou diagrama de entidades?

Depende, pode ser um ou outro, até mesmo ambos!

Grosseiramente falando a relação é a seguinte:

  • Banco de Dados Relacional: Entidade Relacionamento
  • Aplicação: UML

Não se prenda em “receitas prontas”, entenda o conceito, aprenda qual é o propósito de cada um, assim quando surgir a necessidade você vai saber onde e quando aplicar cada coisa.

3 curtidas