Enterprise Architect is a modeling, visualization, and design platform. It can be used in software design, data modeling, and database design and is useful for creating and analyzing UML diagrams. It has a built-in data modeling profile that extends UML to provide a mapping from the database concepts of tables and relationships onto the UML concepts of classes and associations. Enterprise Architect supports modeling of database schema for many popular relational database management systems (RDBMS). It can be used to capture and trace formal requirements for designing, building, and deploying software and databases. Enterprise Architect also supports generation and reverse engineering of source code for a variety of programming languages. It has a built-in source code editor that lets you navigate from a visual model to source code in the same interface.