Pablo is right. Too many variables and unknowns. Try for example:
Eclipse: An Integrated Project Support Environment , if you want spend money of course. If you dont, just read a lot of content for free - serach by google or bing.
From my side of view is like this for software that going to be sell to user.
1. Information gathering , what kind of input,output, process/procedure that run on the project.
2. Create requirement elicitation, type of information from step 1 that will be agreeable between user and yourself as the developer, functional or non-functional requirement, and make sure it supposed to have both sign in a form of paper(this to avoid major customization/change/further development need extra time or money).
3. Create architectural( one,second or third tier),logical(relationship) and physical(database,table,Store procedure or trigger) design of database
4. Create design layout for the program.
5. Create the program
6. Testing, internal test - user acceptance test/beta test-minor revision
7. Program Documentation
8. Go.Live (user can use the program).
For Prototyping/trial
1. Requirement gathering big picture of the application.