冰浪

          哥已不再年輕 - 堅定夢想,畢生追求!
          posts - 85, comments - 90, trackbacks - 0, articles - 3
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          ???????? 本無意要寫這個日記,但隨著設(shè)計的深入,收獲越多,感想越多,于是想把這一整個過程簡要地記錄下來,也是作為自己這個時期的一個總結(jié)吧。這個日記并不是嚴格意義上的日記,只是記錄下主要的該記錄的東西,所以也就沒有按日期進行,而按階段分點敘述的形式進行。

          開發(fā)日記連載1:“系統(tǒng)架構(gòu)”

          ????????? 我的畢業(yè)設(shè)計的課題為:高校學(xué)生會自動化辦公系統(tǒng)(CSUOA:College Student Union Office Automatism)。這是我的自擬課題,這個想法是由于自己在學(xué)院學(xué)生會兩年的工作經(jīng)歷所得,學(xué)生會的事務(wù)比較繁雜,很是需要OA一類的辦公系統(tǒng)來裝備;再者,在院學(xué)生會的兩年,我收獲不少,很是希望能在離開生活了四年的大學(xué)校園之前,給培育自己的母校獻上一份薄禮,以至于自己不會愧對“網(wǎng)絡(luò)技術(shù)部部長”一職。值得一提的是,我們班的畢業(yè)設(shè)計課題100%是我們學(xué)生自擬的,而其它五個班自擬畢業(yè)設(shè)計課題的很少,先不管自擬課題的質(zhì)量如何,至少我們有了自己的想法,這點就是一種成功,而且都已通過指導(dǎo)老師的審核。這點也深得系里領(lǐng)導(dǎo)老師的認可。作為班級成員之一的我,深感自豪!
          CSUOA課題的設(shè)計組有三人,澤遠,松金也是其中之一。由于是我提出的來,所以需求分析之類的前期工作基本上就是由我來負責(zé)了。在學(xué)校時要實習(xí),所以那里就沒有去想,既然決定提前回家了,我就計劃在家里著手準備一下畢業(yè)設(shè)計的事了。
          按我一開始的設(shè)想,CSUOA用JSF+Spring+Hibernate三個框架組合來完成。其實最常見的組合是Struts+Spring+Hibernate,為什么我不選擇Struts而選擇JSF?當時在決定學(xué)習(xí)Struts還是JSF時我看了很多兩者相關(guān)的文章,Struts流行了幾年了,似乎成了主流,但隨著發(fā)展,JSF也是因為Sun的推動,有意讓其成為JavaEE的標準,而使JSF慢慢抬頭。JSF加入了事件驅(qū)動等等更為便捷的技術(shù),可以說是很大的一種進步,但至今仍不甚完善。我覺得要學(xué)就學(xué)習(xí)更新更有前途的技術(shù)(我認為JSF是有前途的),所以選擇了JSF。JSF作為客戶層,Spring完成業(yè)務(wù)層,Hibernate作為持久層。其實最為人所推崇的組合應(yīng)該是JSF+EJB3。但由于EJB3也是一個不太完善的技術(shù),最重要的是它需要JBoss等應(yīng)用服務(wù)器的支持,我所能用的服務(wù)器并不能做出支持,在畢業(yè)答辯時,我無法完成程序的演示,所以我并沒有采用這種方案。
          在畢業(yè)實習(xí)時,公司采用struts來開發(fā),分配下來的開發(fā)任務(wù)也是基于struts的,所以為了工作需要,我又投入到了struts的學(xué)習(xí)中,struts沒有什么很難理解地方,所以看了下基本知識,結(jié)合公司的實際項目源代碼學(xué)習(xí),很快就上手了。分下來的任務(wù)也很順利地完成了。在這個過程中我認識到了struts在處理web表單數(shù)據(jù)的方便以及它清晰的MVC層次,因此自己喜歡上了struts!值得一提的是,在閱讀公司實際項目源代碼時,我體會到了用DAO模式作為數(shù)據(jù)持久層進行數(shù)據(jù)庫操作帶來的便捷,這也被我后來設(shè)計CSUOA所采用。

          ?????????? 隨著對項目思考的推進,我最終確定了CSUOA的系統(tǒng)架構(gòu)為:JSP+Struts+Hibernate。對于這個決定,我在此也簡單說明一下。
          1、Struts替代JSF。在中國,Struts還是主流,我應(yīng)該更多地為自己將來的工作著想,讓自己更快地融入公司的開發(fā)團隊;JSF對于web表單元素的完全封裝,已經(jīng)讓我們看不到了html表單本來的面目,換句話說,已經(jīng)完全舍棄了JSP,JSF與JSP沒有交互。我還是比較喜歡struts的“純”,自己所寫的每一行代碼做了什么事自己都清楚地知道,而JSF卻把很多東西藏了起來,這讓我感到不安。
          2、舍棄Spring。在這里,我不是覺得Spring不是主流或者不喜歡什么的,而是,這SSH三個框架對于自己還是不那么熟練,spring可以說完全沒用過,之前只用過struts和hibernate。對于這個畢業(yè)設(shè)計,我并不想把大部分的時間花在對這幾個框架的學(xué)習(xí)上,雖說上手不難,但要熟練掌握卻并非朝夕之事,所以我想把注意力縮小在struts和hibernate上。在后來的進行設(shè)計的情況,也進一步證明了這個決定的正確。

          ???????? 到此,CSUOA的大體架構(gòu)已基本確定。有些Java高手或許認為:畢業(yè)設(shè)計做OA是不是太沒意思了,又沒什么技術(shù)含量。對此,我的想法是:一個小型的OA確實在功能上不具備什么創(chuàng)新或擴展;OA其程序可大可小,你完全可以只用JSP來實現(xiàn)(當然這里我不是說用純JSP沒有技術(shù)含量),主要是要看設(shè)計者的設(shè)計思想及其具體實現(xiàn)。我不會去做什么如人工智能可行性研究或者其它更為高深的技術(shù)研究或?qū)崿F(xiàn),這并不現(xiàn)實,而且在現(xiàn)階段自己也不具備這種能力。我還記得,在候捷的《深入淺出MFC》中讓我深深牢記的一句話:“勿在浮沙筑高臺”。我想做的,應(yīng)該做的就是把自己大學(xué)四年所學(xué)的知識濃縮在這個畢業(yè)設(shè)計上,對自己的知識做一些思考和總結(jié)。這就夠了。


          評論

          # re: 畢業(yè)設(shè)計開發(fā)日記連載1:“系統(tǒng)架構(gòu)”  回復(fù)  更多評論   

          2007-02-27 19:17 by dennis
          OA系統(tǒng)怎么會沒技術(shù)含量?實現(xiàn)一個自己的工作流引擎就是一個很有技術(shù)含量的活。如果你的OA系統(tǒng)不支持自定義業(yè)務(wù)流程,這樣的OA系統(tǒng)當然沒意思。

          # re: 畢業(yè)設(shè)計開發(fā)日記連載1:“系統(tǒng)架構(gòu)”  回復(fù)  更多評論   

          2007-02-27 21:42 by 山風(fēng)小子
          "我覺得要學(xué)就學(xué)習(xí)更新更有前途的技術(shù)(我認為JSF是有前途的),所以選擇了JSF"
          至少在IT界,有前途的技術(shù)不一定有市場。

          # re: 畢業(yè)設(shè)計開發(fā)日記連載1:“系統(tǒng)架構(gòu)”  回復(fù)  更多評論   

          2007-02-28 09:38 by Robin's Java World
          真正的架構(gòu)不應(yīng)該只是談選struts還是JSF,或是其它。

          # re: 畢業(yè)設(shè)計開發(fā)日記連載1:“系統(tǒng)架構(gòu)”  回復(fù)  更多評論   

          2007-02-28 09:44 by 我為J狂
          同意樓上的觀點,如果有市場,只用JSP一樣可以賺大錢。

          # re: 畢業(yè)設(shè)計開發(fā)日記連載1:“系統(tǒng)架構(gòu)”  回復(fù)  更多評論   

          2007-02-28 14:27 by fyxruben
          如果你不斷給程序加入新功能,甚至是些別人想都沒想過的東西,你就會發(fā)現(xiàn)技術(shù)含量越來越高了!
          主站蜘蛛池模板: 忻州市| 泽库县| 马边| 舒兰市| 贞丰县| 黄梅县| 武义县| 赤水市| 岐山县| 尚义县| 原平市| 西城区| 建平县| 东港市| 商丘市| 贵溪市| 曲沃县| 娱乐| 洛川县| 思茅市| 庄浪县| 桂林市| 饶河县| 陇南市| 丹江口市| 永吉县| 长顺县| 和龙市| 皋兰县| 象山县| 江津市| 库车县| 五大连池市| 吉木乃县| 连平县| 资源县| 金塔县| 临泽县| 东乡族自治县| 洞头县| 哈尔滨市|