Hi, Please share to me or us some of your ideas and work flow in creating a web applications, do you create diagram first? or you go straight in coding the web application. thanks!
Well if u know the concept than drawing a flow chat kind of thing isnt needed..But when i read a tutorial they said its a good practise
Ideally, software design and then implementation. However, it is my experience that this is not the case. Most projects throw software design out and start coding. Interesting note, the applications usually have major bugs and maintenance issues. Proper software design can mitigate the prior mentioned issues.
If I have a system in my mind I usually in write it down in papers and creating a system flow chart so when its time to build or code, I won't get lost. @Social.Network yeah good point.
I have a fairly specific track that I develop on. First, I map out exactly what the app is going to do. I make/get a list of all of the functions/features the app needs to have. What sort of administration, integrations with other services, etc. This needs to be detailed to prevent major feature creep while you're developing. It's bad to find out you're missing some key functionality when a project is 99% complete. I also want to know what the intended usage is, intranet or internet, and the anticipated traffic amount. At this stage, you can do any wire-framing, and what the design should look like. Next, I would plan on how best to organize the application. Plan on what platform to use, whether to use a framework, the different functions, and then a rough code organization plan. Now, I would plan and create the database. Create the tables, foreign keys, pre-populate any reference tables, like states, countries, any sort of static referencing. Also, assuming that I have some idea of what the potential traffic will be, I can decide on whether I need to provide any further custom configuring to the DB and web server parameters. Next I start the coding. Generally I start out with basic global functions, the DB connector, then I would go to the authorization system, and then build the framework for the app itself. Once you get the authorization system going, the other features usually show some logical order in which to start coding. Some feature will be reliant on others, so it's best to start at the bottom and build up. After the authorization system is complete, you can also add the design. It's a matter of preference when to actually start using it, but normally the UI is important to the overall functionality, so I generally add it around the time I get the authorization system complete. After the app is done coded, and basic testing for errors, I would start benchmarking and make changes to improve performance and stability. Sometimes, you would need to get some actually load on the system to find the bottlenecks.
I usually have this workflow: Idea > Drawing > Database Organization > Coding > Re-Organize Files/Dirs while Coding > Re-Organize Database while Coding > Design while Coding > Finish.
@jestep Wow great steps very organize! i was inspired. @JREAM also nice! @jestep Example a Simple Hotel Booking system, How long would it take you to build this system using your workflow? language to use for example is PHP or your prefered langue for building web apps. thanks!
It makes it SO much easier if you plan it out first, even just on a scrap of paper. Jumping straight into coding is best left in the past with procedural programming languages. In the OOP world, we need this stuff mapped out.