views:

384

answers:

5

I want to know if there exist different tools to develop software architecture and software design.. If so how do they differ and can you please mention few tools for software design and software architecture?

+4  A: 

The best tool for developing a software architecture I've ever used has been a meeting room with a whiteboard.

JeffreyABecker
+1 for the whiteboard
balalakshmi
A: 

Doxygen is good for showing you how an existing project hangs together at the code level. It works on C++, C, Java, Objective-C, Python, IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP, C#, and to some extent D

Doxygen

thanks, Martin.

martsbradley
+1  A: 

If you are going to use UML to develop/design your architecture you can think
of using "Enterprise Architect" from Sparx Systems.

Also check this:
related SO discussion

sateesh
+1  A: 

There are lots of commercial and open source tools that will "help" you to do software architecture and design, although they tend to approach the problem from different perspectives:

  • Simple: UML (Unified Modelling Language) tools and plug-ins for major IDEs that let you sketch simple UML diagrams of your designs. Visio 2007 with the UML templates is a good starting point if you have it.
  • More involved: As above, but some of the tools/plug-ins allow you to create UML diagrams from code, keeping code and diagrams in sync. Some tools allow you to "round-trip" too (i.e. changes made to the code are reflected in the model, and vice versa).
  • Even more involved: Full model-driven tools that will start to dictate the process that you use to design and develop applications. Tools from IBM/Rational, etc fill this space.

My advice would be to understand the architecture and design process without the tools (e.g. start with a whiteboard and the big picture, working down to lower levels of detail as necessary http://www.codingthearchitecture.com/pages/book/start-with-the-big-picture.html) and then look at tools that fit into your way of working. Once you're confident with that, then start to look at the more complicated tools.

Hope that helps.

Simon Brown