I would personally use arcpy.MakeQueryTable_management and then use that table to create a new featureclass with that as its template.
Please note, that the layer that is created by the tool is temporary and will not persist; you have to use the item created by this, in creating a permanent table
Alternatively, you could just code the creation of the table using arcpy.CreateTable_management, with something like this:
arcpy.CreateTable_management(InputWorkspace,TabName,"",VectorConfigKeyword)
# Process: Add Field
for field in [TabField1,TabField2,TabField3,TabField4,TabField5]:
arcpy.AddField_management(InputWorkspace + "\\" + TabName, field[0], field[1], field[2],field[3], field[4], field[5], field[6], field[7], field[8])
arcpy.AddIndex_management(InputWorkspace + "\\" + TabName,IndexParams[0],IndexParams[1],IndexParams[2],IndexParams[3])
TabField1 = ["ID","LONG","","","","","NON_NULLABLE","REQUIRED",""]
TabField2 = ["Name","TEXT","","","255","","NON_NULLABLE","REQUIRED",""]
etc
IndexParams = ["ID",TabName + "_RID_IDX","UNIQUE","ASCENDING"]
That way you can design and build your FC anytime you like.
Building Geodatabases with CASE Tools
For UML/XMI compatibility, Microsoft Visio 2007 Professional can be used as a CASE tool for geodatabase schema design. Microsoft Visio 2007 Service Pack 2 is required to complete the process. For further information, see the article on Can Microsoft Visio 2007 be used as a CASE tool for geodatabase schema design?
When you're finished creating a geodatabase, you'll have generated feature datasets, feature classes, tables, and other items from the design with ArcCatalog.
http://support.esri.com/en/knowledgebase/product-documentation/view/productid/43/metaid/658
Best Answer
The Sparx Systems Enterprise Architect website has a posting on UML support for ArcGIS Geodatabase Design.
There is a tutorial and a video demonstration explaining how it all works.