?
Solved

Project management

Posted on 2005-04-29
19
Medium Priority
?
1,378 Views
Last Modified: 2013-12-03
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
0
Comment
Question by:hasozduru
  • 5
  • 4
  • 3
  • +5
19 Comments
 
LVL 1

Accepted Solution

by:
ellis- earned 800 total points
ID: 13900534
If you are going to have a team of developers, i would recomend installing a project groupwise. eGroupWere is a popular one, but a hell to install. I use dotProject (no, its not made with .NET, its coded in php), www.dotproject.net .

For diagrams and things, i have no idea what you meen (When i develop somthing, i just write a consep and code around that.)
0
 

Author Comment

by:hasozduru
ID: 13900569
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
0
 
LVL 1

Expert Comment

by:ellis-
ID: 13900761
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
0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 

Author Comment

by:hasozduru
ID: 13901399
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
0
 
LVL 1

Expert Comment

by:ellis-
ID: 13901720
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.
0
 
LVL 3

Assisted Solution

by:designbai
designbai earned 200 total points
ID: 13903609
try this have collection of open source.

http://dmoz.org/Computers/Software/Project_Management/Open_Source/

http://proj.chbs.dk/

hope this helps.
0
 
LVL 27

Assisted Solution

by:Diablo84
Diablo84 earned 200 total points
ID: 13904510
hi hasozduru,

I am probably not the best person to advise you on this question as i have never used a book during my time with PHP. I will, however, try and give you some pointers where i can.

IMHO, books are not the best way to learn PHP from the long term perspective. The reason is simply that, while you can quickly gain knowledge from a book, you don't gain as much in the line of experience. Experience is something that is essential for all developers. Of course, things like normalization are less easy to pick up via the practical approach.

I would recommend having a browse through Amazon as they usually have a very good range of books covering things like this... some also have the look inside feature which will give you some idea of the books specific content. For example:

http://www.amazon.com/exec/obidos/ASIN/0596005431/102-3548844-6326568
http://www.amazon.com/exec/obidos/ASIN/067232525X/102-3548844-6326568

I will see if i can find you an Expert who has first hand experience with a good book which covers what you are looking for.

Diablo84


0
 
LVL 13

Assisted Solution

by:bochgoch
bochgoch earned 200 total points
ID: 13904886
For MYSQL database design use DBDesigner which is a very good, free tool and will allow you to develop EAR models and generate the database from there:
http://www.fabforce.net/

To learn PHP I'd in general follow the advice given here, start with a good book -- probably best to browse them in a local bookshop and buy the one that your find the easiest to read. A book will give you a grounding in the language and then use the web in general and EE for specifics to learn more.
See
http://uk.php.net/tut.php for the offical tutorial.
You'll also want to download the PHP manual:
http://www.php.net/docs.php

For project management, experience is essential. To get you off to a start, as suggested get a book -- the 'dummies guide' to project management is probably a good start. To start your thinking off, read up on Gantt charts ('a Gantt chart provides a graphical illustration of a schedule that helps to plan, coordinate, and track specific tasks in a project') and draw one up for your project. You'll need to break your project down logical tasks and milestones...
http://searchcio.techtarget.com/sDefinition/0,,sid19_gci331397,00.html

...I wouldn't bother with using any software other than Excel for drawing up your initial attempts, give it a go and see how you get on...bear in mind that web projects don't always lend themselves to strict project management, but project management always has a place...

bg
0
 
LVL 32

Assisted Solution

by:ldbkutty
ldbkutty earned 200 total points
ID: 13905219
Ditto of Fellow experts. Some additional issues:

Start learning normalization from manual doc. and database journal, they are easier to follow:

http://dev.mysql.com/tech-resources/articles/intro-to-normalization.html
http://www.databasejournal.com/sqletc/article.php/1428511

I've been started using casestudio for ER and dataflow diagrams: http://www.casestudio.com/enu/default.aspx Its pretty good upto now. fabforce is also a good option.

If you are looking for best practices of analysis, design, testing, maintanence of projects - Software Engineering is what you've to learn! I've plans of starting a company and so collecting the links for the CMMI (Capability Maturity Model Integration) documents. Its all about best practices of project management. One of the persons I know here does the job of attesting companies with CMM levels. He said he would provide me with the books and material to get started. I am not sure how complex will the CMM will be, but probably basic knowledge in Software Engineering is required. I can give you the links probably next week if you want.
0
 
LVL 7

Expert Comment

by:jdpipe
ID: 13908291
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
0
 

Author Comment

by:hasozduru
ID: 13909970
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
0
 
LVL 7

Expert Comment

by:jdpipe
ID: 13910230
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
0
 

Author Comment

by:hasozduru
ID: 13913877
Yes that's a help jdpipe but I need any web site or book name that guides me. Do you guys know any?

Thanks
0
 
LVL 5

Expert Comment

by:dougday
ID: 13913969
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
0
 

Author Comment

by:hasozduru
ID: 13913994
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
0
 
LVL 5

Assisted Solution

by:dougday
dougday earned 200 total points
ID: 13914037
Here's a pretty good guide on project lifecycles:  http://www.business-esolutions.com/islm.htm
Another article on project management: http://www.maxwideman.com/papers/plc-models/intro.htm
I've also heard that OSCommerce is a very good tool for ECommerce applications in PHP.  http://www.oscommerce.com/

Hope that gets closer.  Maybe we'll be surprised and someone will have a do-it-all guide somewhere we don't know about.

-Doug
0
 
LVL 7

Assisted Solution

by:jdpipe
jdpipe earned 200 total points
ID: 13914253
Personally I don't think your problems stop with the database design and an ERD. If you really are looking at a full-functioning e-commerce application then it's worth thinking about these things at the start:

* Database Normalisation
  http://www.learningmatters.co.uk/sampleChapters/pdfs/Chapter5.pdf
  http://www.keithjbrown.co.uk/vworks/mysql/mysql_p7.shtml

* Design Patterns
  http://www.amazon.com/exec/obidos/tg/detail/-/0201633612/104-8905110-4963903?v=glance
  http://phppatterns.com/

* model-view-controller
  http://wact.sourceforge.net/index.php/ModelViewController (and other sources too)

* Smarty template system (there are others but this is the best)
   http://smarty.php.net

* SimpleTest unit test framework (ditto, in my opinion)
   http://lastcraft.com

* Log rotation and backup (if you have a limited-space server)

* An object-oriented tool for sending emails
  http://phpmailer.sourceforge.net/

* Data Persistence layer (personally I am yet to jump into this but I believe it's definitely good practise)
  http://pear.php.net/manual/en/package.database.db-dataobject.php

* A build script, perhaps using GNU make or a shell script, so that you can safely install updates to your live server

But perhaps most of all, think about why you are writing another e-commerce suite. There are lots out though, both free and paid for, and you need to have a good reason for starting a new one. What does yours need to do differently? What prevents you from adapting someone else's work (perhaps simply licensing rules)? I noticed that many of the best programmers I know are the ones who are less afraid to get in and work with other people's code.

JP
0
 
LVL 5

Expert Comment

by:dougday
ID: 13914497
Wow --  JP's got his act together :)  Nice links
I personally use Smarty and would vouch for it 100%
-Doug
0
 
LVL 7

Expert Comment

by:jdpipe
ID: 13916172
Hehe some of it is wishful thinking of course ;-)
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Nothing in an HTTP request can be trusted, including HTTP headers and form data.  A form token is a tool that can be used to guard against request forgeries (CSRF).  This article shows an improved approach to form tokens, making it more difficult to…
This article discusses how to implement server side field validation and display customized error messages to the client.
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …
Suggested Courses
Course of the Month16 days, 20 hours left to enroll

862 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question