Help with choosing the program design of complex projects.

Good time of day all!
I need your help. I raise my own level of programming.
I recently switched from Windows to FreeBSD, and I more poorly oriented.
Now my tools are: devel/gcc compiler, devel/geany editor (very often editors/vim editor) and interesting tool, has name valgrind.

Experience shows that if you write a draft beforehand, the no attention to detail - it has to be rewritten again. Then again rewrite. And then again.

So sometimes I use graphics/dia. But the possibilities of this program as it is not enough or I plow.

What programs do you use for the design of large projects?
* program must be installed on FreeBSD.

Need a program in which we could explore the details of the program and then move on to implementation.

Added (after a few hours):
--------------------------
Like here, for example, the FreeBSD-developers are developing a project OS?
There's a lot of code, all this must be documented and as a visual display (in the form of block diagrams, UML diagrams, etc.).
* I wonder how often FreeBSD-developers use UML? The use of such programs as Rational Rose?

Added (after one night):
------------------------
By studying this question, found to be interesting program Umbrello and UML plugin for Eclipse.
[!] Have not tried it myself. As I understand it to install Umbrello need to install the whole package kdesdk4:
# pkg_add -r kdesdk4
# exit
# /usr/local/kde4/bin/umbrello

Though perhaps it is not necessary at all. So what programs you use?
 
doorways said:
Added (after one night):
------------------------
By studying this question, found to be interesting program Umbrello and UML plugin for Eclipse.
[!] Have not tried it myself. As I understand it to install Umbrello need to install the whole package kdesdk4:

Yes, umbrello is part of the kdesdk (you will need kdelibs and so on too).

I've used Umbrello for a small project (in Java). That's enough for high level design to get an idea about the architecture of the program. But imho that's all. Don't try to revert code to UML, Umbrello will destroy all your nice diagrams. That is very frustrating :(

For up-to-date documentation and diagram you may use dioxygen, I think it is able to produce UML diagrams from the code. For java, umlgraph is good for this ; it's not pure UML but it gives a good idea of the interaction between classes (ex: http://user.lamaiziere.net/patrick/...ri/jtacl/equipments/openbsd/PacketFilter.html).
 
Originally Posted by xibo.
A flipchart :)
It's funny. I sometimes use a windows in my room, and a black marker. :)
Originally Posted by xibo.
TeX, doxygen, subversion, clang ...
TeX it is good program, but as far as I know it is the environment layout (convenient application for mathematicians, physicists).

doxygen - excellent documentation generator on the code, I have long to look after him (* I think I'm not quite so wanted to say).

subversion and "clang" up to this point I was not familiar with.
The first program - a program version control, and a second program - I did not understand what it was about (the problem with translation).

** In these programs, there is something in common - they can be used only after the how project is planned and implemented using the programming language (C/C++, C#, Java, Ruby, Python .. . .. .).

And my question a little not about that! My question is how to formalize the idea then it can be implemented.

Ie, If we had the idea to write a search function of the greatest number of three numbers (in ideal conditions), we use a block diagram. Yes, yes, a block diagram drawing algorithm. Thus, we will design an idea to its realization.

And only after that we will use: TeX for writing documentation; doxygen - to generate developer documentation; subversion - Version control of write code.

But thanks! For that remember about these tools!
I thought about using doxygen and now think about subversion.! Thank you!

Originally Posted by plamaiziere.
Don't try to revert code to UML, Umbrello will destroy all your nice diagrams.
I do not plan to use the auto-generation code. I need a medium in which I can only visually design the project (A flipchart - good idea). The code I write separately - I do not like it when a program tries to myself to write something for me.

Originally Posted by plamaiziere.
... use dioxygen, I think it is able to produce UML diagrams from the code.
I did not even think that he is able.

But again the same: it is a bit wrong!
Imagine you decided to write a control program by air at the airport. (management of all: boarding passengers, baggage loading, aircraft dispatch, reception of other aircraft (helicopters/aircraft/UFO), etc.).

1. First you spend analysis!
2. Then you have to prepare a draft in the form of "rock art".
3. Now you should structure your images and convert them into a flow chart!
And then begin to write the program and documentation.

You do not want to write program code first, and then use (such) dioxygen look what we have planned?

Originally Posted by plamaiziere.
Yes, umbrello is part of the kdesdk (you will need kdelibs and so on too).
Thank you for clarify this point! And talked about her shortcomings.


**(Sorry if somewhere in the text seems to you that I scold or blame someone else - it is not! It's the fact that I do not know much English, and maybe it looks bad. Sorry me.)**
 
Usually Pen&Paper, which have the great additional benefit of being available also without electrical power, in a train, in bed, ...
As for TeX, never underestimate the power of the great old one. After looking at my screen with a TeX compile which produced "[1] [2] [3] [5] [7] [11] [13] ..." I was finally convinced that you could do almost anything with it. Still looking for the 'vmunix.dvi' file, tough...
 
Originally Posted by Maredelamer.
graphics/dia looks like it has some support for UML, ...
Oh, yes, I use this tool.
Originally Posted by doorways.
So sometimes I use graphics/dia. But the possibilities of this program as it is not enough or I plow.
This is a great tool! But to me (why I do not know) is not convenient to work in it.
But judging by the comments I will have to use it further.

I do not want use Umbrello - it's necessary to put the whole package kdesdk4. I do not like everything associated with KDE, particularly Qt (it really slow and large - or I just do not know how to configure it).

Originally Posted by Crivens.
As for TeX, never underestimate the power of the great old one.
I do not underestimate this package. This is a powerful tool! But this is not a bit what me need in the current situation.

I wonder how often the FreeBSD developers attend these posts? I would like to know how they adjust to work on ideas with each other?!
The FreeBSD project is huge - really they do not use UML?

Maybe I'm biased to the situation? Maybe not on the same UML has three elephants and keep this world? Maybe there's something better (similar).
 
doorways said:
I do not underestimate this package. This is a powerful tool! But this is not a bit what me need in the current situation.

Sorry, this was a mix of a StarWars- and H.P.Lovecraft reference. Maybe the translation broke it.
 
When possible I use some kind of IDE, eclipse if programming in Java, QtCreator when dealing with C++/Qt Code.
For other projects I use Emacs as my default editor, and I use etag to move within the code. I use Dia for almost every kind of diagram. And finally Doxygen for code documentation.
 
Trying to sort out this issue, I came to the conclusion that even so better to use a graphics/dia - diagram editor (including UML).
I see that this project develops - this is good. Also, I see that FreeBSD ports enabled these utilities:
devel/autodia - a program to convert Perl, Java, PHP and C++ code in the Dia-UML image.
devel/dia2code - is a small utility used to generate code from a Dia diagram.
Although for me it does not matter, because the code is always going to write by hand. But it shows the popularity of graphics/dia.
In addition, the use of java/eclipse or java/netbeans I do not want - too big programs.
 
fluca1978 said:
When possible I use some kind of IDE
When possible I avoid an IDE. The last IDE I found even remotely usable was Borland Pascal/C/C++ and that was a long time ago. As mentioned above: if one needs UML modelling or something, the best app is Pen-And-Paper - and it's free and open source to boot :-)

Fonz

P.S. Whatever you do, stay away from Borland Together. It's pure evil. Trust me, I know.
 
Originally Posted by fonz
P.S. Whatever you do, stay away from Borland Together. It's pure evil. Trust me, I know.

I understand your feelings. I grew up on the products Borland: Borland Turbo Pascal 7.0, Borland Delphi 6/7/2007, Borland Turbo C 3, Borland Builder 6, Borland Developer Studio 2006 (very bad), Borland CodeGear RAD Studio 2007/2009.
That is to say: "Child Borland"! :)
* Although Borland has both pluses. (Compared with Microsoft Visual Studio, he liked me more).
But the real ecstasy of editors/vim/devel/geany + devel/gcc. (I just recently switched from Windows to UNIX).
 
fonz said:
When possible I avoid an IDE.

The IDE vs plain-old-editor is a long-story battle....
I use an editor for almost every work, but having an IDE will save your time if you know the product you are using. This does not mean that the ide must do everything for you, you still have to be able to compile from the command line...
 
Back
Top