Link to home
Start Free TrialLog in
Avatar of hasozduru
hasozduru

asked on

Project management

Dear Experts

I would like to develop and design a web site project which uses PHP and MySQL. Which sites or books do you recommend for project management? By project management I mean planning everything, creating ER diagrams, normalize tables etc... I think they call it life cycle. Am I right?

If you could please recommend me, it will be great.

Thanks
ASKER CERTIFIED SOLUTION
Avatar of ellis-
ellis-

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of hasozduru
hasozduru

ASKER

By diagrams and tables, I meant designing and creating databases. Also www.dotproject.net is something that you control the projects. This can be useful for me but I didn't mean that. I meant before start to write PHP code, you need to analyze requirements and keep report of everything. I think it's software engineering, I am not sure.

Do you have any site or any book to recommend?

Thanks
For designing databases, some people would go for the pen and paper, but a more reliable and really good table designer/manager for MySQL is EMS MySQL Manager 3 (  http://www.sqlmanager.net/products/mysql/manager ). It's great for managing MySQL databases and it also got a visual table designer.

And for reports and analyzeation, i would go with a word processor and keeping documentation on dotProject
Is there any book or site that you recommend that I can follow. I need something that shows me everything from A to Z. Let say I have Apache, PHP, and MySQL ready on my system. And someone asked me to do a online shopping web site for them. I need something that guides me everything.

Thanks
Theres no real guide how to do that. Not what i know of anyways. You're best best is to get a book on project management or a get you're self into a course. Sorry if i could't help.
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
You should go and find out about 'unit testing' and 'regression testing'. Depending how complex your application is, this can be a very worthwhile system to apply to the lifecycle of your code. It helps increase reliability if used effectively. PHP SimpleTest is good.

As for the planning stage. I personally find phpMyAdmin adequate for mapping out a database. I usually sketch my database on paper, then break down my design into implementation stages then build it in small build-test-debug cycles. Working in a team it is more important to agree on your database structure ahead of time, so perhaps you need to use some more complex tools. It's worth pointing out that phpMyAdmin can make quite acceptable ERDs for your databases, and this same tool is invaluable with testing and backups etc down the track.

JP
Thanks for your comment guys

I'd like to ask my question again.

Let say I have Apache, PHP, and MySQL ready on my system. And someone asked me to do a online shopping web site for them. What steps do I need to follow? Shall I start from designing ER diagrams or shall I start writing code or start to have documentation? I need some source that guides whole project life cycle.

Thanks
I think a good first step is to sketch what the webpages will look like on paper. Perhaps also write a little document explaining the things that people should be able to do on the website. Keep it pretty brief and general, then gradually add details until you feel you have enough information that you can start making design decisions.

Next up I would hand-draw the database structure. What tables, what fields in those tables, what relationships between the tables. It would be an ERD on paper. This will be an iterative process. You will realise things and you will have to adjust your design.

At this point the direction you take depends on how big your project is. If it's a small project, I would say just jump in and start coding in PHP. Don't worry about the visual look until you have a working framework. You can add the graphics and CSS etc later.

On a larger project, it's important to think a bit more carefully about the architecture. There are things like data persistence layers, templating engines, caching engines, etc to think about. People aim for separation of style and content using 'model-view-controller' and other similar types of architecture. You shouldn't try to build Rome in a day though - start out with a simple approach, then increase the complexity of your code gradually.

Is that a help?
JP
Yes that's a help jdpipe but I need any web site or book name that guides me. Do you guys know any?

Thanks
I'm afraid an e-commerce application is fairly complex.  Even if you had a step-by-step guide, you'd still need to learn PHP and MySQL very thoroughly for that guide to be useful.

That being said, here's what I'd do:  Draw up an ER diagram for your database first.  Then determine what functions your web page will have.  Rough sketches of your web page will help.  Then, split your requirements into project Phases.  Determine what features will exist in Phase 1, and what will exist in Phase 2, etc.  If your ER diagram allows, split it into phases as well so you can concentrate on specific elements of your database during these phases.  Then, once you've got your phases of development established, you'll want to setup your backbone for development.  If you have more than one machine, two is always better.  Make one machine a development server, and the other your production server.  Only make changes to the code on your development server, and once the code is stable, export that code to your production server.

As far as the details of the PHP and MySQL code that happens during your development, that all depends on what you're doing.  In general, database normalization techniques are good, but can also hinder your development of your application.  You need to weigh the benefits of having a normalized database versus the simplicity and speed of non-normalized tables.  Most people find a balance somewhere inbetween.

But, the reason we're all dodging around the "give me a guide that tells me everything" request is that such a guide is either non-existent or will do little good if you don't already have a good working knowledge of PHP and MySQL together.

-Doug
Doug

I have 3 years PHP and MySQL experience. But what I don't want is, I don't want to just start and do a project without anything that won't be professional. I can create tables, write a PHP code but I need to learn creating it from the right way. If I do at that way, I know that the project gets bigger the problems will be more complex. I know I need to keep some documentation, I know I need to draw an ER diagram etc. That's why I am trying to find a source for that.

Thanks
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Wow --  JP's got his act together :)  Nice links
I personally use Smarty and would vouch for it 100%
-Doug
Hehe some of it is wishful thinking of course ;-)