經過之前的在校學習,對程序設計有了一定的認識與理解。在校期間,一直都是學習理論知識,沒有機會去參與項目的開發。在真正做項目之前,軟件項目開發對我來說是比較抽象的,一個完整的項目要怎么分工以及完成該項目所要的步驟也不是很明確。而經過這次實訓,讓我明白了一個完整項目的開發,必須由團隊來分工合作,並在每個階段中進行必要的總結與論證。
一個完整項目的開發它所要經歷的階段包括:遠景范圍規划和用例說明、項目結構和風險評估、業務功能說明書、詳細設計說明書、代碼實現、測試和安裝包等等。一個項目的開發所需要的財力、人力都是很多的,如果沒有一個好的遠景規划,對以后的開發進度會有很大的影響,甚至會出現在預定時間內不能完成項目或者完成的項目跟原來預想的不一樣。一份好的項目結構、業務功能和詳細設計說明書對一個項目的開發有明確的指引作用,它可以使開發人員對這個項目所要實現的功能在總體上有比較明確的認識,還能減少在開發過程中出現不必要的麻煩。代碼的實現是一個項目開發成功與否的關鍵,也就是 說,前期作業都是為代碼的實現所做的准備。
往事開頭難,就像第一個項目我想了一天都沒有寫出一個代碼一樣,心亂如麻,不知道從哪里開始下手。現在項目完成了,當時各種復雜心情已經消失。其實大多數的時候我們都是給自己不停的設置障礙,認為自己不行,只要克服這一點踏實地去做就一定可以的。
現在看看當初的項目計划書,內心五味雜全,各種不完善,這也給之后敲代碼帶來了不少的麻煩,自己的數據庫有哪些字段都記不清楚,總是不停的去查看數據庫,這給開發效率帶來了很大的障礙。還好項目寫完了,網站的基本功能都實現了,現在想想各種功能也不過如此,只不過是所學知識的綜合利用罷了。就像是搭積木,什么三角,方塊,什么的,單一的拿出來並沒有什么利用價值,但是如果配合起來使用,就能搭建出各種想要的東西。
現在把自己開發過程中遇到的各種失誤總結一下:
首先是用戶密碼,varchar類型,設置了20位,因為當時考慮到用戶的密碼最長是20位,結果寫完登錄頁面后發現無論怎么登錄都登錄不進去,反復檢查流程發現沒有什么邏輯上的錯誤,錯誤出在了哪里呢?后來才想到密碼是經過MD5加密的,加密后的密碼是32位的,可是字段的長度只有20位,肯定不會驗證成功的。
還有把用戶資料的修改和修改密碼寫在了同一個頁面,這樣修改用戶資料的同時發現密碼全都被重置了,原理很簡單就是提交表單的同時,如果密碼框中是空就把值為空的密碼傳遞到了數據庫,密碼當然被修改了。犯的最低等的錯誤就是把’= =’寫成了賦值的=,並且還不止一次,這個真是害死人啊,檢查了一遍又一遍還找不錯誤的所在,等發現的時候自己都樂了,這么低級的錯誤真是太可怕了。
下面總結一下我對Web開發知識的理解,有些知識還沒有理解很深刻,請見諒!
Web程序的開發我認為大約分4個層次:
1.表現層 (represent layer)
2.控制層 (logic control layer)
3.業務邏輯層 (service layer)
4.數據存儲層 (persistent layer)
一個標准的系統大致就是做3件事,I(Input)P(Process)O(Output),也就是輸入,處理,輸出.
由於開發,部署,移植,性能和代碼可重用性的考慮,Web開發將IPO分為了若干層次.:
1.表現層:
此層的主要作用是:向用戶展示信息,並且得到用戶輸入數據和向用戶展示處理后的反饋.
2.控制層:
此層的主要作用是:為了讓開發人員和維護人員方便控制Web頁面的流向,一目了然的對其走向進行控制.同時此層也可以進行一些簡單的預處理,使業務邏輯避開本不該它們觸碰的外部檢測.此層的大部分任務是程序走向的控制,小部分任務是一般預處理和檢測功能.
3.業務邏輯層:
此層的主要作用是:進行用戶所要關心的業務邏輯,進行整個程序的核心業務處理,此層一般會使用從表現層傳入的數據並調用數據存儲層的接口來進行相應的查詢和更新刪除保存功能.並將最終處理結果反饋給控制層,由控制層根據處理結果去尋找表現給用戶的路徑.
4.數據存儲層:
此層的主要作用是:進行數據的查詢和持久化過程.
短短的項目結束了,為我將來的就業打下了良好的基礎,也提高了我的軟件開發的水平,今后我將會更加努力的學習,不斷提高自身素質,開拓創新,與時俱進,做一個優秀的軟件開發工程師。