How to make the most logical/clear diagram layout on Visio? - diagram

I have a workflow diagram that I've been modifying a lot and as a result it's suffered in clarity. It's formed of several objects representing states joined by arrows and connectors.
I was wondering is there an automatic way to create a diagrams from a 'net list' of the connections that need to be made? Or is there a standard way to create a logical diagram like this without overlapping connectors/unnecessary complexity?

Creating a visual representation of a "net list" is often referred to as "graph layout". There are many tools which allow you to do this. Visio is a bit limited here (it supports basic automatic layout for "orgchart" diagrams out of the box though).
Note that Visio also provides re-layout options for the already-existing drawing (you can find them under "Design" tab, "Re-layout page"). These allow one to change the layout of the current diagram. Maybe that's what you are looking for.
Similar question about automatic layout here:
How to generate MS Visio diagram automatically?

Related

Are there any UML tools that allow hiding entities?

When browsing through a large UML class diagram (20+ classes), if I try to find the "path" from one entity to another or the connections of a certain entity, I get lost very easily. Are there any tools that allow hiding certain entities? Or that highlight paths or connections? So far I've tried ArgoUML and MagicDraw but they don't seem to have any of these.
Modelus Suite Model Designer has functionality that allows you to see references of selected element and connections as well. It is simple navigation, but usable for models of any complexity I would say. It does not highlight it, but it is possible to locate related elements in project tree or on diagrams.
You can find more info on the web side. Here is a link Modelus Suite
Hiding elements to split complex models into several diagrams is a basic (must have) feature for UML tools. GenMyModel is natively supporting such operation using "hide" from the popup menu.
(see: use model elements in multiple diagrams and demo video)
All UML tools should allow you to remove model elements from a diagram without deleting them from the model itself. The reason is that, in UML, a model is not the same thing as a diagram. A UML diagram is one of many possible views showing and hiding different parts of a UML model. A UML model instantiates elements of the UML meta-model, in memory and on disk.
There is a fundamental difference between a mere drawing program and a UML modeling tool. A drawing program (like MS Powerpoint or Visio) just draws pictures. A UML tool has an underlying meta-model that can render its instances on any number of diagrams. All true UML modeling tools will therefore allow you to remove model elements from a diagram.
Your claim that MagicDraw does not allow hiding elements on a diagram is untrue. Not only can MagicDraw hide model elements, it has a special "Relation Map" diagram that allows you to swim around in a model.

Organizing diagrams in Enterprise Architect

Is it possible to somehow organize my diagrams in Enterprise Architect? We're starting having too many of them, with each diagram containing many elements. Is creating a separate folder for each diagram the only solution to make the model easier to see through, or is there a more elegant layout for that?
In the first place, Model Views will help you to create distinct viewpoints representing your entities from different perspectives.
If you stick to the architecture principles of loose coupling and modularity, you should be able to split up very big diagrams into smaller ones. After all, their role is to give you an idea of how things are coupled and work together, but also to abstract from things that are not really relevant in the given context of the diagram. Diagrams are not meant to just visualize all elements in one big picture.
You can create package structures that are pretty complex and then use the model search. You can also put hyperlink elements for easier navigation between diagrams.
If you have to split up elements into different diagrams (which then go into different packages) EA will preserve their relationships and you can review them at any time using the traceability view.
I would also have a look at the EA options for composite diagrams. This should help you re-organise a Single System into a number of Composite Sub-Systems.
To start modeling an application architecture, you can use a perspective based approach or a view modeling perspectives approach to describe your system. For example use the 4+1 view based approach to collect your Logical, Development, NonFunctional and Requirements perspective. Organize it according the mentioned dimmensions or decompose each dimmension by the application modules and have a conceptual view to have a global view of your system.
To start with a model of an enteprise architecture use for example the togaf dimensions or zachman framework layers and dimmensions
You can use several packages to categorize your content.
I use to make a package diagram on top level which dynamically updates its contents depending on underlying packages (simply drag & drop the packages in the package diagram)
and the content (e.g. for activity diagrams) like entry or final can be saved in a common package.
Unfortunately there is no possibility yet (version 10 build 1004) to customize the packages e.g. with colors. So that a common packages could have a distinct color.
What I do to make Project Browser more organized is to create one package named "Diagram's elements" and drag all the diagram element there.
There's some good advice in this blog on the Sparx Systems (the EA publisher) website.

Activity Diagrams created in Visio 2013 (Preview)?

In the past I was using Rational Rose, and now I'm trying to switch to Visio. But many things that I could easily find in Rose, I can't or have hard time finding it in Visio (2013 Preview).
I have looked at the available diagram possibilities (when creating a new file) but I could not decide what to choose, what would be the best for making Activity Diagrams.
Please tell me.
What would be the best choice? How should I start?
For activity diagrams, Click on More Shapes, then on Software and Databases, in Softare category, choose UML Activity.

How to mark classes as Obsolete on UML

I have a few classes on my UML diagram which should not be used, but still available.
Is there any way to mark these classes as obsolete?
I've seen <> notation somewhere, but can not find how to use it in MS Visio 2003.
And another question. Should these classes be on UML diagram at all? I can imagine answer on this question would be on "per case" basis, but I'm interested in hearing general opinions. And if you put obsolete classes on your UML diagrams, why you did it? or why not?
Thanks!
It's not clear to me what you mean by " should not be used, but still available.". If they need to stay in the diagram but you want to visualize that they are now obsolete you can create a new stereotype <> and use it to annotate the obsolete classes.
If you don't really need them in the diagram then use a version control system for models as duffymo suggested. A list of version control tools for modeling elements can be founde here
I think if you're going to take the time to update the UML, the best idea is to remove it from the model. Leaving a bunch of "obsolete" diagram elements hanging around makes as much sense as keeping commented code in a version control system. Let the version control system manage the history.
I think that your model should include all your project and then you extract views from your model. If a class is not having any value in a specific view then this class should be removed from your class diagram view diagram but not from your model.
If you want to keep this class in your diagram then you can add a small comment (usually yellow square) or change the color of the class. I usually use green for class and then change the color to grey/green almost invisible but still visible color for non strategic classes.
Hope this help.

"Narrowed" structural diagram

I'm a total rookie in UML and modelling. I'm learning some framework, and I'm trying to grasp and outline its key aspects. I've decided to do it with UML. But the problem is, the whole structural diagram of the framework is of no use to me, because classes have a lot of properties and methods, and there's a lot of classes.
What I need is a series of structural diagrams, each of which shows some specific aspect of the framework. And the classes involved should display only those attributes/operations that are of certain value to this specific aspect.
Does UML (as a standard) supports this on some level, and is there some tool that allows to do just that? I've tried Visio 2007 and Enterprise Architect, but I didn't found out the way to do what I need.
Thanks in advance.
What your are looking for seems to be able to customize views of your model and not to visualize the full class diagram. This concept is developed by Omondo which provides customizable views of your model by drag and drop. You can create as many views as needed, each could be different from the others while just using the same model element. This also the metamodeling approach for me where the model is not the diagram but the metamodel on which your build your graphical model.
If you don't need attributes/methods then you can try to click directly on attributes and methods keeping the ctrl button pressed, then you should be able to find a menu in the class diagram to hide them. The traditional menu is Hide from diagram.
This is what I do and it works really well.
You can also just click directly on attributes and methods but I don't see any documentation on this subject. It seems that nobody knows except the developer and myself about this option but this is my favorite one :-)

Resources