Tak linki są dobra, ale pod warunkiem że piszemy obiektowo
Ja tam póki jeszcze nie ma stabilnej 5, koduje strukturalnie i nie krzystam z UML'a.
A jeśli chodzi o sposoby projektowania: pirewsza rzecz, to gromadzenie informacji o wymaganiach jakie stawiamy przed danym systemem, dalej dobrze jest wypisać sobie wszystkie potrzebne nam informacje związane z poszczególnymi cześciami serwisu, czy nawet z poszczególnymi skryptami, modułami - można to sobie pogrupować w tabelach. Jak już wiemy, co mamy uzyskać i jakie dane będą nam potrzebne, możemy zacząć planować strukturkę bazy danych - tutaj dobrze jest poświęcić dużżo czasu, bo dobrze zaplanowana baza będzie miała spory wpływ na szybkość działania oprogramowania. Baze projektujemy w oparciu o informacje jakie sobie wypisalismy, a których system będzie wymagał, a projektujemy na początek może zgodnie z 3 pierwszymi formami normalnymi.
Jak już mamy gotową strukturę do bazy, można zacząć przygotowywać szablony do poszczególnych sekcji serwisu (na razie chodzi nam i strone wizualną serwisu, a konkretniej o informacje, które będą wyświetlane na poszczególnych podstronach etc.), w razie gdyby okazało się że zapomnieliśmy np. że chcemy wiedzieć o userach z jakiej miejscowości pochodzą - modyfikujemy strukturę bazy.
aaa... wracając do bazy - projektujemy na karkach papieru - można posłużyć się diagramami obiektowo-związkowymi. Projekty muszą być dla nas czytelne na tyle, że patrząc na szkic od razu wiemy jak ma wyglądać np. dana tabela, jakie zapytania po niej najczęściej będą szły itd.
Jak już mamy gotowe szablony (na razie w forumie HTML), możemy przystąpić do kodowania. A tutaj najprościej można po kolei: np. skrypt rejstrujący userów - stopdniowo uzupełniamy go o poszczególne moduły i testujemy czy działają poprawnie. Interesujące jest, że czasem dodanie kolejnego modułu wpływa na inny moduł - w trakcie kodowania dochodzi do "eureka" - tak TEN pomysł jest świetny i trzeba go zaimplementować.
Generalnie: to co i jak będziesz projektował a później implementował, zależy tylko i wyłącznie od Ciebie. Im więcej czasu poświecisz na dopracowywanie projektu tym mniej czasu później stracisz na implementacje. Patrząc na projekt powinnieneś widzieć jeśli nie cały już kod, to chociaż jego część - wystarczy że patrząc na projekt struktury bazy danych (który uległ modyfikacji podczas tworzenia szablonów) wiesz: "aha, będę potrzebował modułu do||od...".
Owszem, przy większych projektach nie ma mowy o takim rozgardniaszu jaki tutaj przedstawiłem (bardzo ogólnie zresztą), ale to głwównie dlatego że prawdopodobnie nie będziesz pracował sam. A co z tego wynika, ini członkowie zespołu mogą mieć problemy z rozszyforwaniem Twoich hieroglifów (projektu). I właśnie dlatego powstały takie standardy jak UML, czy diagramy Z-O dla baz danych etc.
Na koniec: jeżeli pracujesz sam, to ołowek w dłoń, duuży zeszyt na biurko i szkicuj - na tyle abyś później z takich szkiców był w stanie wyciągnąć jak najwięcej informacji potrzebnych do napisania oprogramowania etc. (generalnie to wpierw lepiej przygotować szablony i z nich "czytać" informacje, które będziemy przechowywać w bazie danych).
Projektowanie to proces ewolucyjny i nigdy nie zdaża się że projekt od razu jest idealny i nie trzeba go poprawiać