Posted on 2007-02-27 17:43
冰浪 閱讀(2041)
評論(5) 編輯 收藏 所屬分類:
WEB開發
???????? 本無意要寫這個日記,但隨著設計的深入,收獲越多,感想越多,于是想把這一整個過程簡要地記錄下來,也是作為自己這個時期的一個總結吧。這個日記并不是嚴格意義上的日記,只是記錄下主要的該記錄的東西,所以也就沒有按日期進行,而按階段分點敘述的形式進行。
開發日記連載1:“系統架構”
????????? 我的畢業設計的課題為:高校學生會自動化辦公系統(CSUOA:College Student Union Office Automatism)。這是我的自擬課題,這個想法是由于自己在學院學生會兩年的工作經歷所得,學生會的事務比較繁雜,很是需要OA一類的辦公系統來裝備;再者,在院學生會的兩年,我收獲不少,很是希望能在離開生活了四年的大學校園之前,給培育自己的母校獻上一份薄禮,以至于自己不會愧對“網絡技術部部長”一職。值得一提的是,我們班的畢業設計課題100%是我們學生自擬的,而其它五個班自擬畢業設計課題的很少,先不管自擬課題的質量如何,至少我們有了自己的想法,這點就是一種成功,而且都已通過指導老師的審核。這點也深得系里領導老師的認可。作為班級成員之一的我,深感自豪!
CSUOA課題的設計組有三人,澤遠,松金也是其中之一。由于是我提出的來,所以需求分析之類的前期工作基本上就是由我來負責了。在學校時要實習,所以那里就沒有去想,既然決定提前回家了,我就計劃在家里著手準備一下畢業設計的事了。
按我一開始的設想,CSUOA用JSF+Spring+Hibernate三個框架組合來完成。其實最常見的組合是Struts+Spring+Hibernate,為什么我不選擇Struts而選擇JSF?當時在決定學習Struts還是JSF時我看了很多兩者相關的文章,Struts流行了幾年了,似乎成了主流,但隨著發展,JSF也是因為Sun的推動,有意讓其成為JavaEE的標準,而使JSF慢慢抬頭。JSF加入了事件驅動等等更為便捷的技術,可以說是很大的一種進步,但至今仍不甚完善。我覺得要學就學習更新更有前途的技術(我認為JSF是有前途的),所以選擇了JSF。JSF作為客戶層,Spring完成業務層,Hibernate作為持久層。其實最為人所推崇的組合應該是JSF+EJB3。但由于EJB3也是一個不太完善的技術,最重要的是它需要JBoss等應用服務器的支持,我所能用的服務器并不能做出支持,在畢業答辯時,我無法完成程序的演示,所以我并沒有采用這種方案。
在畢業實習時,公司采用struts來開發,分配下來的開發任務也是基于struts的,所以為了工作需要,我又投入到了struts的學習中,struts沒有什么很難理解地方,所以看了下基本知識,結合公司的實際項目源代碼學習,很快就上手了。分下來的任務也很順利地完成了。在這個過程中我認識到了struts在處理web表單數據的方便以及它清晰的MVC層次,因此自己喜歡上了struts!值得一提的是,在閱讀公司實際項目源代碼時,我體會到了用DAO模式作為數據持久層進行數據庫操作帶來的便捷,這也被我后來設計CSUOA所采用。
?????????? 隨著對項目思考的推進,我最終確定了CSUOA的系統架構為:JSP+Struts+Hibernate。對于這個決定,我在此也簡單說明一下。
1、Struts替代JSF。在中國,Struts還是主流,我應該更多地為自己將來的工作著想,讓自己更快地融入公司的開發團隊;JSF對于web表單元素的完全封裝,已經讓我們看不到了html表單本來的面目,換句話說,已經完全舍棄了JSP,JSF與JSP沒有交互。我還是比較喜歡struts的“純”,自己所寫的每一行代碼做了什么事自己都清楚地知道,而JSF卻把很多東西藏了起來,這讓我感到不安。
2、舍棄Spring。在這里,我不是覺得Spring不是主流或者不喜歡什么的,而是,這SSH三個框架對于自己還是不那么熟練,spring可以說完全沒用過,之前只用過struts和hibernate。對于這個畢業設計,我并不想把大部分的時間花在對這幾個框架的學習上,雖說上手不難,但要熟練掌握卻并非朝夕之事,所以我想把注意力縮小在struts和hibernate上。在后來的進行設計的情況,也進一步證明了這個決定的正確。
???????? 到此,CSUOA的大體架構已基本確定。有些Java高手或許認為:畢業設計做OA是不是太沒意思了,又沒什么技術含量。對此,我的想法是:一個小型的OA確實在功能上不具備什么創新或擴展;OA其程序可大可小,你完全可以只用JSP來實現(當然這里我不是說用純JSP沒有技術含量),主要是要看設計者的設計思想及其具體實現。我不會去做什么如人工智能可行性研究或者其它更為高深的技術研究或實現,這并不現實,而且在現階段自己也不具備這種能力。我還記得,在候捷的《深入淺出MFC》中讓我深深牢記的一句話:“勿在浮沙筑高臺”。我想做的,應該做的就是把自己大學四年所學的知識濃縮在這個畢業設計上,對自己的知識做一些思考和總結。這就夠了。