qual modelagem é “correta” na hora de arquitetar um sistema: UML ou Diagrama de Entidade?
Modelagem de Dados
5 Respostas
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!
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.
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.