Git Product home page Git Product logo

brmodelo's Introduction

brModelo

No site sis4.com: atualizado => brModelo 3.3.2 para contornar o problema do uso de temas escuros no Linux (em breve publicarei aqui).

Atualizado: brModelo 3.3 - correção de bugs e pequenas funcionalidades.

Atualizado: brModelo 3.2 - correção de bugs e pequenas funcionalidades.

brModelo 3.0

1. Introdução

Em 2005 foi desenvolvida uma ferramenta de código aberto e totalmente gratuita voltada para ensino de modelagem de banco de dados relacionais com base na metodologia defendida por Carlos A. Heuser no livro “Projeto de Banco de Dados”. Esta ferramenta foi concebida como trabalho de conclusão do curso de especialização em banco de dados pelas universidades UFSC (SC) e UNIVAG (MT), orientado pelo Professor Dr. Ronaldo dos Santos Mello, após se constatar a inexistência de uma ferramenta nacional que pudesse ser utilizada para essa finalidade. Em junho de 2006 foi realizado o lançamento da versão 2.0 da ferramenta. Naquela época, acreditava-se que a modelagem de bancos de dados relacionais poderia ser substituída nos próximos dez anos por ferramentas de desenvolvimento de software orientadas a objeto que propunham a persistência do modelo de classes diretamente em um sistema de gerência de banco de dados (SGBD), sem, portanto, a necessidade de uma análise do modelo voltada exclusivamente para os dados. Em 2015, passados dez anos de disponibilização da primeira versão da ferramenta, verifica-se ainda a existência de grande demanda por conhecimentos na área de modelagem de dados relacionais e, inclusive, a produção de novos artefatos para abstração dos diagramas de dados, em especial, os conceitos relacionados à modelagem conceitual e lógica. O mercado não substituiu os SGBDs relacionais e novas funcionalidades têm sido implementadas. Também por isso, a brModelo continua a ser utilizada em várias universidades e centros de ensinos técnicos no pais e até mesmo no exterior. Tudo isso motivou-nos a continuar os trabalhos de desenvolvimento e a publicar uma nova versão do brModelo, também baseada em código aberto, porém em linguagem de programação mais atual e com possibilidade de trabalhos colaborativos, cujo beta pretende ser lançada no site da ferramenta na data da próxima Escola Regional de Banco de Dados, oportunidade onde serão colhidas sugestões de melhoria pelo público para análise e possíveis aprimoramentos.

2. Melhorias Introduzidas na Nova Versão da brModelo

A nova versão está sendo desenvolvida em Java ™, mantém todas as funcionalidades da versão anterior e pretende implementar algumas modificações defendidas por alguns professores de modelagem de bancos de dados relacionais, publicadas em sites sobre o assunto na Internet. Assim sendo, ela oferecerá uma nova oportunidade para avanços no ensino de banco de dados. Além disso, esta nova versão da brModelo implementa outras notações diagramáticas que podem ser uteis no processo de modelagem conceitual. Desta forma, suas bases poderão ser utilizadas para o desenvolvimento de outras notações e será usada no projeto brUML (ferramenta para o ensino de UML, ainda em fase de levantamento de requisitos). No campo das novas funcionalidades, esta nova versão da brModelo apresenta uma nova interface com o usuário (incluindo recursos tradicionais, como copiar/colar, zoom, teclas de atalho e etc.), um novo padrão de codificação baseado no Code Conventions for the Java Programming Language, com ênfase nos padrões de projeto (principalmente Factory e Strategy), internacionalização, ajuda interativa e extensão do diagrama originalmente proposto pelo Dr. Heuser (2001), baseado no trabalho de Peter Chen (1990), com a inclusão de união de entidades.

3. Apresentação da Nova Versão da Ferramenta

Esta seção apresenta a nova versão da ferramenta brModelo (v3 – beta 1), que ainda em 2017 substituirá a ferramenta atualmente em uso (brModelo 2.0, disponível no site do autor: www.sis4.com). O grande diferencial da ferramenta, quando comparada às demais, é o fato dela ter sido criada com foco no ensino e na aprendizagem da modelagem de dados relacional em nível técnico e acadêmico, ao contrário daquelas voltadas exclusivamente para auxiliar no trabalho dos profissionais de desenvolvimento de aplicações de banco de dados. A nova versão mantém o mesmo foco e aperfeiçoa os novos conceitos na área afim. O assunto é relevante para a comunidade que atua na área de banco de dados relacionais, principalmente no tocante ao ensino e aprendizado das técnicas de modelagem. Prova disso é que foram realizados mais de 500.000 (quinhentos mil) downloads da ferramenta desde sua publicação.

Copie, altere, publique.

Fonte em JAVA 8.

brmodelo's People

Contributors

chcandido avatar royopa avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

brmodelo's Issues

Execução

Como eu executo? quais bibliotecas necessárias?

Suporte ao "COMMAND" no mac

Seria interessante que o brModelo, quando pressionado o botão command no mac executasse os mesmos comandos do linux/windows.

EX: Windows CONTROL+C => Mac Command+C

Atalhos do programa

Uma dúvida: onde estão catalogados os atalhos de teclado do programa? Mouse-hover mostra (às vezes) a função do botão, mas nunca o atalho.

Boa noite

Não estou conseguindo editar o nome das entidades! Altero mas não consigo salvar !

conflito no auto save

Olá, tem como desabilitar o auto save ou como posso resolver o problema de sync-conflict ?

image
Isso também esta ocorrendo no config.chc

image

Tema claro sem alterar o tema do sistema Ubuntu

Olá, Devs!

Recentemente, comecei a usar o brModelo para minhas aulas na faculdade. No entanto, como utilizo o Linux, o tema do aplicativo fica sempre fixo ao tema padrão do sistema. Gostaria de saber se existe alguma maneira de usar o brModelo com o tema claro sem precisar alterar o tema do meu sistema operacional.

Atributo Multivalorado

Opa tudo certo?

Eu estava dando uma brincada no modelo conceitual e me deparei com um comportamento estranho.
Ao colocar um atributo multivalorado (fotos por ex) e gerar o esquema lógico as CHAVES ficam invertidas.

Por ex.

TabelaProduto
id_prod
nome
foto (1,n)

No modelo lógico a chave da foto vem para tabela Produto ao invés da chave do Produto ir para a foto.

Na versão antiga ele faz certinho o relacionamento levando a chave da Tabela Produto para a nova tabela que foi criada (foto)

Parabéns pelo brModelo!

Bom dia a todos.
Desculpe postar por aqui... Mas é que quis deixar um elogio público sobre o projeto de vocês.

É sempre bom ver um projeto brasileiro se alavancando e ganhando público. Meus parabéns aos desenvolvedores; É um trabalho deveras árduo!

Me chamo Raphael e sou um entusiasta da modelagem de banco de dados. Coincidentemente, como vocês, criei uma ferramenta de modelagem de banco de dados lá pelos idos de 2006 com base nos conceitos do livro do Professor Carlos A. Heuser. Seu nome é pgModeler e é especializada em PostgreSQL.

É uma grande satisfação ver que existe uma ferramenta mais genérica e que ajuda aqueles com pouco conhecimento na área a se aventurar pelos conceitos da modelagem de dados, a exemplo de estudantes e profissionais de outras áreas. Mas tenho um questionamento: vocês pretendem adicionar a geração de código SQL para permitir que o usuário já gere o banco de dados a partir do modelo conceitual?

Parabéns mais uma vez e muito sucesso ao projeto de vocês!

Considerações legais, importantes

Olá Carlos Henrique Candido,
Como está?

Utilizo bastante o brModelo e estou com algumas ideias boas, futuristas. Como esse projeto é muito bom, não quero modificar nada do core oficial e por isso estou fazendo uma versão minha customizada para aquilo que preciso. Por enquanto estou compondo o layout(a parte frontend), e queria saber o que você acha.

ps1: Chamei essa versão de brasis e reúne algumas coisas que acho bem daora ;D
ps2: Programo em algumas linguagens de programação como java, c#, python, lua, go, php, js entre outras como haskell, ruby ...
eu programo a algum tempo e queria fazer algo bom para esse software que gosto muito chamado brmodelo, quero adicionar algumas novas funcionalidades.

fico a disposição para qualquer dúvida

link:
https://github.com/nkot56297/brasis

Att,
nkot56297

v3: bug: alguns atributos "quebram" quando algum Projeto Conceitual é exportado

Olá! Eu estou reportando um bug que acontece de vez em quando no Modo Conceitual.

  • brModelo: v3.31

O que acontece é o seguinte: alguns atributos "quebram" na hora em que são exportados para imagem.


Eu criei esse projeto de exemplo:

Projeto-Afetado.zip

image

E aqui está a imagem exportada (eu circulei em vermelho o comportamento indesejado):

Conceitual_1


Investigações preliminares

  • Solução Temporária

Uma solução temporária para esse problema é:

  1. Selecionar um atributo qualquer
  2. ( Pressionar CTRL+N) OU (botão direito -> Selecionar todos desse tipo)
  3. Ir à aba Inspetor e alterar o Tamanho Automárico para Não.

image

  • ??

Eu não sei mexer com Java, mas se nós fizermos esta alteração, a intensidade em que esse bug acontece diminui drásticamente:

image

Erro

Corrigir erro Out of system resources, que faz você perder TODO o trabalho.

Problemas de Exibição Linux Mint

Ao instalar o brModelo.jar da versão 3.31 e executá-lo num computador Linux Mint 21.1 Cinammon, todas os textos, imagens e componentes ficam extremamente minimizados.
Informações adicionais: openjdk version "11.0.20.1"

brmodelo_broken

new features / correções

Feature

  • Adicionar ferramentas de zoom in e zoom out
    -Manter a ferramenta para adicionar atributos selecionada. Se preciso adicionar mais de um atributo preciso clicar duas vezes para selecioná-la toda vez, o que deixa o trabalho nada produtivo, além de estressante.

Correção

  • Erro ao adicionar atributo a relação (Access violation address in module brModelo.exe)

Diferenças de versões

A versão de desenvolvimento tem numeração diferente da apresentada na aplicação.
Atualmente, pelo que percebi, a versão de desenvolvimento é a 3.20, enquanto a versão apresentada na aplicação é a 3.3.3. Na aplicação também tem a informação da versão do Diagrama, que aparentemente condiz com a versão de desenvolvimento. Isso causa uma certa confusão nos usuários, então seria interessante esclarecer isso.

screenshot 42

BTW: A aplicação está cada vez melhor. Parabéns!

Tipo UUID

Seria interessante ter disponível o tipo de campo UUID.

Releases

Acho que seria interessante que cada versão fosse lançada como uma release, dessa forma não precisaria anexar o binário (brmodelo.jar) junto com o código fonte, deixando o repositório ainda mais organizado e fácil para os usuários encontrarem todas as versões lançadas.

Segue os passos para adicionar releases: https://help.github.com/articles/creating-releases/

Também recomendo o uso do .gitignore para ignorar alguns arquivos que não são pertinentes ao projeto, enquanto código fonte, como: autosave.chc e config.chc.

Se você não se importar, eu vou fazer um instalador para aplicação.

PS: Se precisar de ajuda, posso contribuir com a organização do repositório e talvez com algum código.

Inicia, mas não abre

Estou usando no Windows 10, estou com o java (8) atualizado, estava usando a versão 3.2, parou de abrir e os arquivos da versão 3.2(.brM3) não aceitam na versão 2.0(.brM).

SOs suportados

Seria legal adicionar ao README os sistemas operacionais suportados, bem como versões major de cada um. Isso facilitaria o engajamento de novos usuários evitando uma necessidade de aprofundamento ou tentativa de instalação mal sucedida.

Versão Flatpak do app para distribuições linux.

Olá, o que vocês acham sobre distribuir o app em flatpaks? É um formato em container, então não precisa se preocupar com qual distribuição a pessoa está usando ou qual a versão do java que a pessoa tem instalada... apenas funciona...

Se você quiser, eu posso fazer isso.

Erro ao executar com Java 11 do OpenJDK

Estou tentando executar o brModelo no Ubuntu 20.04 com Java 11 do OpenJDK, e tenho um erro relacionado com cores. Segue a exception, alguém tem alguma dica de como resolver?

Gtk-Message: 22:17:52.730: Failed to load module "canberra-gtk-module"
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Color parameter outside of expected range: Blue
	at java.desktop/java.awt.Color.testColorValueRange(Color.java:310)
	at java.desktop/java.awt.Color.<init>(Color.java:395)
	at java.desktop/java.awt.Color.<init>(Color.java:369)
	at controlador.inspector.InspectorItemSeparador.<init>(InspectorItemSeparador.java:23)
	at controlador.inspector.InspectorItemBase.SuperFactory(InspectorItemBase.java:350)
	at controlador.inspector.Inspector.Add(Inspector.java:211)
	at controlador.inspector.Inspector.lambda$Carrege$0(Inspector.java:496)
	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655)
	at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:658)
	at controlador.inspector.Inspector.Carrege(Inspector.java:495)
	at controlador.Editor.PerformInspectorFor(Editor.java:1240)
	at controlador.Diagrama.PerformInspector(Diagrama.java:1574)
	at controlador.Editor.setInspectorEditor(Editor.java:1327)
	at principal.FramePrincipal.DoInit(FramePrincipal.java:116)
	at principal.FramePrincipal.<init>(FramePrincipal.java:75)
	at principal.Aplicacao$1.run(Aplicacao.java:62)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.