Peter Morris
Peter Morris

Reputation: 23234

UML tool required for C#

I need some help - here are my requirements.

1: I should be able to modify the UML model without affecting the code, and then later apply the changes. This is because I need to print the changes, get them confirmed, and then develop them.

2: I should be able to reuse parts of the model. For example I would create one project which outputs A.dll assembly, and then another UML project would use the classes in the first to crate B.dll

3: Project stored as text so I can see changes in version control history.

4: Together is too expensive :-)

Upvotes: 3

Views: 3120

Answers (10)

Shan
Shan

Reputation: 5242

What you are looking for is round-trip engineering ( reverse as well as forward software engineering) . I have used several UML tools and according to me Rational Rhapsody is the best roundtrip UML tool that supports several languages(C, C++, C#, Java™, or Ada) and all the features you are looking for.

Upvotes: 0

That Guy
That Guy

Reputation: 16

3 is possible and supported by Visual Studio 2010 Ultimate, which stores all project and model information using XML files.

Upvotes: 0

tranmq
tranmq

Reputation: 15658

I like Enterprise Architect better than Visio. To me, EA has better UML support and is closer to UML standards.

Upvotes: 1

Esther Fan - MSFT
Esther Fan - MSFT

Reputation: 8516

Visual Studio 2010 Ultimate supports UML class, sequence, component, use case, and activity diagrams, which do not affect your code. It also supports creating sequence and layer diagrams from code. You can then edit these diagrams without affecting the code. Other tools include dependency graphs that you can generate from code as well as Architecture Explorer, which lets you browse and explore your solution. You can create multiple modeling projects in a solution, and you can check these diagrams into Team Foundation version control.

I've posted more links on my profile for more info.

Upvotes: 3

AK
AK

Reputation:

EA is what I'm using. It's a powerful app.

Upvotes: 1

Sam
Sam

Reputation: 694

I agree with mqbt and ZokiManas. Sparx Enterprise Architect fulfils requirements 1,2, and 4. I am not sure that 3 is possible.

Main webpage: Enterprise Architect

For version control facilities look at: EA version control

Upvotes: 2

CD..
CD..

Reputation: 74106

VS2010 has UML support.

Upvotes: 1

ZokiManas
ZokiManas

Reputation: 722

Sparx Enterprise Architect - best option.

Upvotes: 1

Steve Guidi
Steve Guidi

Reputation: 20200

Microsoft's Visio performs this task too. You can infer a UML model from existing C# code, or generate C# code from an existing model.

Upvotes: 0

Weegee
Weegee

Reputation: 2273

You might try Acceleo. I've used it with PHP before, but it supposedly can output C# code as well.

Upvotes: 0

Related Questions