Before I express my wishes, let me explain how I currently use Viso 2003 EA. I am usually involved in projects in the design, mostly db design part. But many times, especially in BI projects, I do the functional specifications and app design as well. My tool of choice is Visio.

The process I use is:
— Starting
1. Create UML Use Case diagram (I do use much textual info as well, using Word).
— Db Part
2. Use ORM for general db model (entities and relationships only); this way I can express complex constraints on entities and roles they play in relationships, like subset or exclusive or constraints.
3. Build the ER model out of it; add detailed attribute info with attribute constraints, so I get ERA model; export everything back to the ORM model.
4. Generate reports for the physical model.
— App / func part
5. Create UML Class model with detailed info about attributes and relationships between classes (note: nearly combined info from ORM and ER) for app classes.
6. Create other UML diagrams, when needed.

As you can see, the only direct connection provided by the tool is between ORM and ERA models.

So here are my wishes:

  • I would like to see more connections between UML, ORM and ER models.
  • Connections could be made between UML USE Case and ORM models; maybe we could be able to extract entities from use cases?
  • Connections between UML Class and ORM and / or ERA db models; UML Class diagram is suitable for CLR UDDTs, for example.
  • I hear rumors that ORM is dead; I would like to see it developing, as I find it very useful.
  • Finally, I would appreciate a state of the art modeling tool from Microsoft.