E-R modeler: a database modeling toolkit for Eclipse
design patterns : elements of reusable object - oriented software .