Well I was just wondering what should be the first step of making a project(school or professional). Ohkay we've conceived it all. But i just make a garbage of ideas. How to make them bit neat n clear. What shud be the steps, a developer should take before going for some project or assignment.

My second question(accept my apologies if a single thread with double questions isn't allowed :$) is that "Is it possible to click the save button once, and the file saves automatically on multiple areas of hard disk" ??

if making a bigger project i usually take the time to do UML schemes as they tend to show what is flawed and what can be improved. it saves time but i can understand people disliking the practise for it being too enterprise.

as for your second question, if the save button is custom made then of course

A lot of software is written along the lines of "You start coding, I'll go and find out what they want".

First you need a set of requirements ("What do you want?").
For non-programmers, these tend to be unfocussed and vague statements like "I want a word processor".

Your first task is to break these down into separate things you can test
- the program shall be able to load a file
- .... save a file
- the external data shall be represented as an XML document.

The next task is to produce a design ("How am I going to do it").
UML (as already mentioned) is one way of going about this.
- Think about objects (document, paragraph etc) and methods.
- Think about additional requirements such as "shall run on XP and Linux".

Imagine how say "save file" would traverse the functionality of your design. Does it actually work on paper? Keep refining it until everything does. It takes moments to fix a diagram, but it would take you weeks in the code much later on.

Next think about how you're going to implement it. What language(s) to use, what libraries to use.

commented: Nice breakdown. +21
commented: Excellent advice. +29

lists. i make lists of classes, then list methods in the classes along with what the method does (how it works, what it needs, ect). I also make lists of things I would like to implement (Save, load, copy, menus, and other random functions that need to be preformed that the user is in control of). Then go over it 3 or 4 times to see if there is anything that needs to be added/changed/removed.

Then, when you start coding, USE COMMENTS. They make it really easy to divide your classes into sections (methods, constructors, variables, constants, ect). Also make sure you describe what your methods do and how they work, ESPECIALLY if it is going to be open source. Doing that during the coding process will save TONS of time later... I know from experience >.<

As for your program. Very nice GUI, it all has a very nice feel to it. For the characters, I think that either you need more stats (hp, mp, ect), or a function that allows the user to define their own stats and what goes in the fields (numbers, words, symbols, ect). same goes for items. but very good otherwise. also, I think that the user should be able to manually enter stat values. pressing the +1 button more than 25 times would get really annoying and time consuming. but other than that, everything looks pretty good! =)

You can ignore that last part, it was meant to go on another thread, I was reading 2 at once, and got them confused! Sorry!!! >.<