6個專案帶給我的專案經驗

tad2021發表於2014-06-28

過去的大學時光我主導6個專案的設計和開發工作,因為每次遇到困難,我都會記下來,沒事的時候就會進行自我總結,所以獲得的專案經驗還是十分豐富,相信這些經驗會成為我未來職場路上寶貴財富。

以下分為3部分來說,前2部分以我認為大學給我最大啟發為基礎,第2部分把其他4專案整合起來。


1.山東農業大學畢業紀念林專題網站專案


第1專案是給山東農業大學校友會做的,是一個純靜態頁面組成的專案,主要是對校友捐樹情況的展示,這是我自學程式設計的開始,對於HTML、CSS、JS、jQuery的學習也是從此開始。這些頁面的設計和編碼花費了近兩個月的時間,完成後我前端水平有了質的飛躍。

個人總結如下:

1)學習能力尤其是自學能力太重要,學習能力直接決定未來的發展。

2)Web前端很容易學,但是真正想精通是非常困難,要求技術面還是非常廣的,這個專案還只是僅前端的東西,沒有涉及到後臺與資料庫以及前後臺之前配合工作,瀏覽器相容非常需要經驗。

3)學計算機的,一定要讓自己的知識面廣起來,管他什麼技術先學了再說,面廣了自然會找到自己的方向,之後我就自學了PHP,用的視訊還是韓順平老師的,不過現在差不多忘沒了。

專案圖如下:










2.山東農業大學新型評教系統專案


此專案是我導師一個研究課題,我有幸參與其中,並作為專案組長帶領專案團隊完成系統開發任務。整個團隊算上我一共四個人,我在整個團隊中主要是負責四件事,一是專案管理,根據老師要求制定專案週期並推動整個團隊按週期進行開發;二是完成整個專案架構及各個模組設計,包括前後臺配合;三是我要根據模組劃分分配任務並且協調隊員之前配合,其中3個完成後四個模組的,1個完成前臺開發;四是開發完成屬於我的模組,我主要是負責學院管理端與學校管理端以及資料庫訪問模組。因為這是我真正團隊合作的第一個專案,也是作為團隊Leader的第一個專案,感悟很多(PS:此專案正在申請軟體著作權)。

先上張圖,學生端的登入介面:


1)作為組長

(1)組長最重要的任務是清楚每個成員的優點和缺點,包括技術上的和性格上的,更好地調動所有成員的積極,使整個團隊可以非常好地前進並完成,切記是整個團隊一起,而不是憑一已之力。我剛開始就犯了這個錯誤,就是試圖想自己把所有工作都幹完,做了一點,發展任務大,一個人是不可能完成,必須要藉助團隊的力量。
(2)組長一定要會團結組員,使大學勁往一處使,自己不能與組員產生矛盾,也不能組號彼此產生矛盾,一定產生矛盾組長必須出面解決問題,使整個專案處於和諧友愛之中。
(3)相信自己的組員能做好。剛開始我感覺做學生端成員可能做不出我要的效果,最後發現她非常努力,效果達到,雖然有垃圾程式碼,但是遠遠超出了我的期望值。
(4)組長要負責對外如對自己的客戶或對部門經理進行工作彙報,包括已經做了什麼,現在正在做什麼,未來會做什麼,需要什麼資源支援,需要條理、清晰、簡潔地表達出來,整個專案每週我都會向我的導師專案進展情況,與他的交流過程我對溝通這方面有非常深的認識。
(5)一定要負責,真正去做事。
(6)組長工作的一條主線就是設定目標,做好計劃,分配任務,檢測完成,獎勵懲罰,

2)作為組員

(1)對於組長交給的任務,一定要保質保量完成,任何專案都是模組組裝在一起,如果自己完成的不好,勢必會對整個專案造成影響,對整體進度和質量造成影響。
(2)要使自己時時處於不斷學習之中,而不是得過且過,用更高階的技術完成任務。

3)技術

(1)一定要按完整的專案週期進行,也許看起來會多此一舉,認為一些東西是可以一起來的,可能就在做的過程中就會出現各種各樣的問題,尤其是涉及到多個模組以及多成員配合的專案。尤其是業務理解、系統分析、系統設計、詳細設計這四部分,前一步總是後一步的基礎。如做這個專案,一開始我並沒有對專案有整體的理解和把握,急於設計資料庫,之後寫程式碼時發現設計的資料庫出了非常大的問題,缺少很多東西,然後就又開始重新分析業務,重新設計資料庫,導致所有完成的程式碼必須重新寫,浪費了很多時間,三個人都受到影響,也導致做前臺的組號一直在空閒。
(2)對於企業級的專案而言通常都是由非常多的模組組成的,資料庫的設計更是重中之重,設計出符合規範的資料庫需要非常多經驗才行,不然前一發而動全身,因為所有業務邏輯的展開都是基於資料庫的,由於每個人都負責其中的一部分,會涉及很多人,成為一個高手需要對資料庫原理有非常深的理解。
(3)程式碼管理問題,之前做這個專案時,我還不會使用程式碼管理工具,程式碼整合分發採用純人工的方式,所有人的程式碼都向我這裡彙總,剛開始還好說,到後發現太浪費時間了,當每個人的程式碼發生更改時,尤其是在一個檔案裡發生更改時,就真難弄了,新的舊的都耦合在一起,不能直接覆蓋,只能另開闢新的檔案,只有真正經歷這一步才能真正理解GitHut、SVN的方便。
(4)註釋一定要寫,程式碼一定要規範。程式碼不僅要給現在的自己看,還要給未來的自己和別人看,凡是寫過點程式碼的人應該都深有體會。沒註釋的格式不規範、命名不規範的程式碼真的讓人抓狂,不多說了。
(5)對於所謂系統的理解的加深,系統就是不同型別客戶端(Web、PC client、Android、IOS、WP、ipad...)、不同業務端(如學生端、教師端)對相同資料庫或不同資料庫相同或不同的表的不同型別增刪查改。

4)具體技術

(1)資料表設計時,欄位寧多無少。
(2)能在前臺處理的任務一定不要轉移伺服器端進行處理。
(3)不頁面的CSS、JS不要摻和起來,除非它們一定不會變化。
(4)寫的SQL語句不但要效率高,還要讓他們能做很多事情,減少資料庫訪問次數,再上一層次就是一定要學會資料庫程式設計。
...

3.其它總結

(1)技術是用來解決問題,因為我是我們班的團支書,經常需要統計東西,我就是開發一個小系統,買了空間,和之前自己註冊的91zxdh.com域名聯絡起來,最後只需我的同學去網站填上資訊即可,省時省力,還高大上,不過前幾天空間已經到期了。
(2)有了技術才敢接專案,讓自己處於學習之中,我現在手頭上正做著一個會員管理系統,此係統特別在其提成機制上,實現需要二叉數,需要利用支付寶進行線上支付,因為是一個商業專案,需要保證效率和安全性,技術要求很高,已經給客戶演示了第一輪,很滿意哦,希望我經過在黑馬的學習之中能完美地完成此專案。、
(3)人一定要有想法,我與我的另一個同學還在學校審請了一筆專案基金(只有1000塊)用來完成一個IT垂直導航網站開發,涉及3個端和網路爬蟲,希望在完成黑馬的學習之後也能讓此專案上線。

相關文章