I am using Rational Rose Enterprise Edition 7.0. It does not give options for importing C# code for reverse engineering the design. Any add ins can be downloaded?
Or I am using Visual Studio 2010 Professional (not Ultimate edition). Is there an easier way to generate the sequence / collaboration diagrams from the code?
Doxygen will help to generate the class diagrams and API documentation. It also has options to generate Collaboration and other UML diagrams using Graphviz dot.
Related
For the user of professional edition in VS2012, is there a method to generate the UML (CLASS, SEQUENCE) Diagrams from VS2012?
I have already done implenting my solution project in VS2012. Now i want to generate the class diagram for it.Therefore, if anyone knows about it?
If please help me.
Thank you.
As has already been noted, the Professional edition of Visual Studio doesn't allow you to generate sequence diagrams.
An alternative would be to use a proper UML tool, such as Enterprise Architect from Sparx Systems. This offers far more modelling capabilities than Visual Studio, and has support for C++, C#, Java and a host of other languages. And yes, it can generate class and sequence diagrams from source and binary code (binary requires the second-cheapest license).
Generating a Sequence Diagram is an Ultimate Feature.
In Visual Studio Ultimate, generate a sequence diagram to help you
visualize and understand how the code implements a particular method.
A sequence diagram describes an interaction between objects as a
series of lifelines and messages. Lifelines represent instances of
objects, and messages represent method calls between those objects.
You can generate sequence diagrams from Visual C# .NET or Visual Basic
.NET code.
Class diagrams are a standard feature of Visual Studio Professional.
Not 100% about professional, but in Ultimate it is under Architecture -> New Diagram
Right click on your function and choose option "Generate Sequence Diagram" VS 2012
I am trying to find a way to generate UML diagrams (sequence diagrams, class diagram, etc) from my C# code written in Visual Studio 2012.
I saw a link on http://office.microsoft.com/en-us/visio-help/about-reverse-engineering-code-to-the-uml-HP001208803.aspx that I could bring my Visual Studio project into Visio.
But its first part where it says "In the Visual Studio environment, reverse engineering is activated from a command on the Project menu." doesn't work for me because I cannot find a reverse engineering option under the Project menu.
How can I generate UML diagrams from C# code written in Visual Studio 2012 into Visio 2010?
Microsoft no longer considers Visio to be a software engineering tool. There was a version known as "Visio for Enterprise Architects", which had this integration with Visual Studio. It was available with the highest-end edition of Visual Studio.
I believe it was last supported with Visual Studio 2005, though that might have been 2003.
Visual Studio Ultimate now has its own built-in UML features which do not rely on Visio.
Blast from the past. It's been a while since I've reverse engineered anything into UML so my knowledge may be outdated.
In any case, as far as I remember, code reverse engineering using Visio is a Visio feature not a Visual Studio feature, thought some versions of Visual Studio have their own modelling features.
In order to use Visio reverse engineering you need make sure the Visio UML addin is installed (it should be available in Professional and above versions of Visio, but may not be installed by default.)
Here's a rather old step by step of the process for an old version of Visio and Visual Studio. I don't think the process has changed that much (though obviously the languages supported have changed.)
In any case I never liked Visio for UML (truth be told I never liked Visio.) I rather liked Sparx System's Enterprise Architect for modelling, and their reverse engineering was quite good when I used it on .Net 2.0. I don't know how their current version copes with the newer features. I also like their "from scratch" modelling environment better.
Finally keep in mind UML is supposed to be a modelling not a programming language. I.e. it is meant to convey the high level design so the overall architecture of a solution can be more easily understood; or to model key dynamic interactions, again, so the implemented or proposed solutions to the modeled problem can be more easily understood.
Reverse engineered UML diagrams often have too much information for them to be useful, and it is difficult in any case to translate the precise semantics of a specific language into UML. You may be better off creating diagrams from scratch. Other than deployment and package diagrams, it should be understood that UML diagrams represent a high level overview or specific high level dynamic interaction representation, not an as-developed representation.
This depends on which version of the product you are using. I have Visual Studio Professional 2012 and I don't see this option. This makes sense if you look at the product features. If, however, you look at the product features of Visual Studio 2012 Ultimate, you will see UML modelling, and various other visualisation tools.
Visual Studio 2010 non-Ultimate version allowed for this UML generation by using Feature Pack, which hasn't been developed for Visual Studio 2012 yet. As Dominic mentioned (he beat me to it), Visual Studio 2012 Ultimate should allow for this though.
Visual Studio Ultimate 2012 can generate very nice sequence diagrams for C# code when you just select a member (method name); and it fails constantly at my place if I do the same for in VB code.
This in contrast to Enterprise Architect from Sparx, the most advanced CASE tool for UML and other modelings AFAIK.
In many place on internet or book I read about these two words interchangeably. Both are same or different?
Visual C# is a development tool published by Microsoft, to develop applications based around the C# language.
C# is a programming language that can be implemented in various ways. Visual C# is Microsoft's implementation of C# through their .NET frameworks. Anyway, if you're like 99% of the people using C#, then you are using Microsoft's implementation.
They are the same. There isn't really any product named "Visual C#"
It may be a mixup, either with Visual Studio that is the IDE for Microsoft's implementation of C#, with Visual C# Express which is a free limited version of the IDE only supporting development in C#, or with Visual Basic which is another language used in the same IDE.
Has anyone found a Metric Shader type plugin for VS 2010? I was using a really good one in VS 2008 that is a plugin for Dev Express DXCore:
Metric Shader
But it doesn't work in VS 2010. I found this to be a tremendously handy tool while refactoring and would really like it 2010.
Thanks!
I will certainly be upgrading the plugin to work with VS2010. The graphical subsystems of both VS2010 and CodeRush have been largely rewritten and this means that some of the older GDI based dxcore APIs are no longer supported. I am currently looking at how best to reimplement this functionality. Watch this space ;)
I have a C# class library that I need to document. Is there a way I can convert the project or class to a Visio Uml.
I am using Visual Studios 2008 Professional.
I think this thread answers your question:
http://social.msdn.microsoft.com/forums/en-US/vstsarch/thread/07b39757-eac4-49fa-81d5-8d167c9b9d21/
As mentioned by "Program.X" the above link no longer works.
Short answer: Reverse engineering of code in to Visio UML models works with the combination of Visio Pro 2007 and Visual Studio Team System for Software Architects 2005. It does not work with Visio Pro 2007 and Visual Studio Team System Architecture Edition 2008. However, Visio Pro 2007 does allow you to do reverse engineering of databases.
Why?: The ability to reverse engineer code is now provided by all versions of Visual Studio in the form of the class designer where the code is continuously synchronized with model. Additional modeling functionality will be provided within Visual Studio Team System in the future.
Apparently someone found a workaround for VS2008 but use it at your own risk.
http://www.nullify.net/Article/298.aspx
There is also an MSDN article on the subject:
http://msdn.microsoft.com/en-us/library/cc947873.aspx