Click here to Skip to main content
15,567,482 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
hi all,

Please provide me some tips to draw architecture diagram for a software project.

Thanks in advance.
Posted
Comments
Sergey Alexandrovich Kryukov 23-Jan-12 1:53am    
Not clear. What do you want to achieve.
--SA
psgviscom 23-Jan-12 2:02am    
I want to represent the functionality of my project through a diagram. I want to show my project components in a flow.
Sergey Alexandrovich Kryukov 23-Jan-12 2:07am    
I gave you one idea on drawing. Do I understand you right that you are looking for the technical ideas: how to develop the system, code drawing, etc?
--SA

There are softwares which will aid us to do these kind of stuff. I am providing few, which are either free or have 30 day trial....Just work around them (I assume you know basics of UML)

1. http://www.visual-paradigm.com/product/vpuml/editions/community.jsp[^]

2. http://www.smartdraw.com/specials/umldesign.asp[^]

3. http://jude.change-vision.com/jude-web/product/community.html[^]
 
Share this answer
 
Comments
Lakamraju Raghuram 23-Jan-12 3:01am    
If you got what you want "accept the solution" and like --SA mentioned be more clear.
Sergey Alexandrovich Kryukov 23-Jan-12 3:09am    
Well, again I'm not sure if OP needs any software at all, or just to learn about methods of developing architectures. Even now we don't know it for sure. Anyway, these references should be useful for people doing architecture. My 5.
--SA
Here is one of the books you need:

Ivar Jacobson, Grady Booch, James Rumbaugh, The Unified Software Development Process.

Here: http://www.amazon.com/Unified-Software-Development-Process/dp/0201571692/ref=sr_1_1?ie=UTF8&qid=1327305060&sr=8-1[^].

See also:
http://en.wikipedia.org/wiki/Unified_Modeling_Language[^],
http://en.wikipedia.org/wiki/Unified_Software_Development_Process[^].

For future, please pay close attention on how you ask your question. You should be way more accurate and descriptive. Look at our argument in the comment to my other answer. I really sorry about waste of my time.

Good luck,
—SA
 
Share this answer
 
Comments
Lakamraju Raghuram 23-Jan-12 3:00am    
me too ... what a waste.
A 5 for every thing - patience, accepting, providing alternative.
That is why you are "--SA the gr8"
Sergey Alexandrovich Kryukov 23-Jan-12 3:02am    
You are a shameless flatterer, but thank you. :-)
As to the first answer, I'll put it in my archive, will reference in reply to some other question...
--SA
Lakamraju Raghuram 23-Jan-12 3:10am    
Note how good you feel after you have encouraged someone else. No other argument is necessary to suggest that never miss the opportunity to give encouragement.
--George Adams

Flatter me, and I may not believe you. Criticize me, and I may not like you. Ignore me, and I may not forgive you. Encourage me, and I will not forget you.
--William Arthur Ward
Sergey Alexandrovich Kryukov 11-Jun-12 17:14pm    
Criticize me, and I will appreciate it and try to improve myself. If your criticism is based on some valid arguments, of course. It may or may not be constructive; it does not matter much; if the criticism is correctly argumented, it's always very precious.
--Sergey A Kryukov, 2012
The topic is too broad. There can be a lot of design ideas involved; and we don't know your requirements.

So, I can give your only one but big advice: Use WPF, place all your diagram elements on Canvas, see http://msdn.microsoft.com/en-us/library/system.windows.controls.canvas.aspx[^].

WPF is designed as if diagramming was one of its primary goal. A lot of functionality which would take major part of design and development time with other libraries is already very well implemented in WPF. In the field of diagramming, even it you used only System.Windows.Forms before and have no idea of WPF, the benefits of this foundation will outweigh the time you may need to learn new library very soon, maybe you will even observe it during first 10% of your time spent on the project.

[EDIT]

Another idea is this: create a separate data model for you diagrams. It should be a set of pure-data classes. Of course some classes should describe geometrical and presentation properties of diagram elements: size, color, etc. Try to isolate two parts of the model: logical and geometrical.

Develop separate methods for rendering diagram based on the model and update of the model based on the edit events on the diagram.

I think, the most adequate design pattern for the application is MVC or MVVM (which is designed with WPF as one of its targets in mind). Please see:
http://en.wikipedia.org/wiki/Model-view-controller[^],
http://en.wikipedia.org/wiki/MVVM[^].

For persistence of the data model, use Data Contract. Please see http://msdn.microsoft.com/en-us/library/ms733127.aspx[^].

Please also see my past solution where I advocate this approach:
How can I utilize XML File streamwriter and reader in my form application?[^],
Creating property files...[^],
deseralize a json string array[^].

—SA
 
Share this answer
 
v4
Comments
Lakamraju Raghuram 23-Jan-12 2:02am    
The seeker is asking about architecture diagrams (something related to UML) and I think it is no way connected to 2d/3d of WPF/canvas !!!!
Sergey Alexandrovich Kryukov 23-Jan-12 2:05am    
I disagree. UML is UML, this is a part of the target application field which OP should know as a mere part of requirements. And there is nothing specific to UML in design. By the way, in architecture, some graphical artifacts beyond UML are often used. OP did not ask specifically about UML.

So sorry, I don't see any rational arguments in your criticism which I would otherwise readily take in consideration. Anyway, let's better see what OP says.

Thank you,
--SA
Lakamraju Raghuram 23-Jan-12 2:11am    
"I want to represent the functionality of my project through a diagram...."
Definitely not Canvas !! WPF !!!

But I like your attitude and a big fan of the great '--SA"
Sergey Alexandrovich Kryukov 23-Jan-12 2:18am    
I did not get it. What do you mean? I meant Canvas as a part of WPF.
Do you mean "Not Canvas and not WPF"? What then?
--SA
Sergey Alexandrovich Kryukov 23-Jan-12 2:22am    
I must admit I don't understand OP. Perhaps you too.
The second phrase contradicts the idea that OP needs diagramming just as a user, using diagramming for development of architecture of the system, not for development of diagramming application itself: "I want to show my project components in a flow."

(Now I won't be greatly surprised if OP does not understand it too; maybe this is just some vague idea. Anyway, OP certainly needs to be more descriptive.)

--SA

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900