學習啦>論文大全>技術(shù)論文>

軟件開發(fā)技術(shù)論文(2)

時間: 家文952 分享

  軟件開發(fā)技術(shù)論文篇二

  淺議軟件開發(fā)框架技術(shù)

  摘要:框架技術(shù)對于軟件開發(fā)來說,意義重大,不僅可以簡化開發(fā)流程,更利于后期維護。本文就軟件開發(fā)中的框架技術(shù)進行分析,重點探討struts、hibernate、spring以及分層架構(gòu)內(nèi)容。

  關(guān)鍵詞:框架技術(shù) 分層架構(gòu) 軟件開發(fā)

  中圖分類號:TP311 文獻標識碼:A 文章編號:1007-9416(2012)05-0153-01

  1、SSH框架技術(shù)

  SSH技術(shù)即struts、hibernate、spring技術(shù)的縮寫,是當前比較流行的開源框架技術(shù)。

  1.1 struts技術(shù)

  Struts這個名字最初是金屬架的意思。開發(fā)者希望通過Struts這個框架技術(shù)支持JSP、Servlet、Java,然后在Web系統(tǒng)項目中的使用這門技術(shù)。

  2001年春天,在apache的網(wǎng)站上發(fā)布Struts的第一個版本的時候,Struts技術(shù)只提供了一種將視圖和業(yè)務邏輯分離的Web應用方案。當Struts這種Web應用技術(shù)出現(xiàn)的時候,每個開發(fā)人員都把它視為一種利器,把自己從繁忙的工作中解脫出來。所以在2001-2003這兩年的時間里,大量IT公司在系統(tǒng)開發(fā)的過程中Struts技術(shù)作為框架。

  Struts的一大優(yōu)點是它是開源軟件[6]。Struts 本質(zhì)是在Model2的基礎上實現(xiàn)的一個MVC架構(gòu),采用的主要技術(shù)是Servlet、JSP和custom tag library用戶自定義標記庫[7]。Struts是運用MVC的體系編寫的一個Web應用的一個框架, 可以說是一個傳統(tǒng)MVC設計模式的一種改進類型。

  1.2 hibernate技術(shù)

  在Java世界里,Hibernate一直是最引人關(guān)注的一個話題。從Gavin King加入EJB3.0 EG,負責制訂EJB3.0的持久層規(guī)范;到Gavin King非正式退出JDO EG,并且充滿個人情緒的對JDO2.0規(guī)范進行攻擊;到《Hibernate in Action》的發(fā)行;再后來到Hibernate3 Alpha的發(fā)布;最后再到JBoss 3.0 PR的發(fā)布。Hibernate在短短不到3年的時間內(nèi),從一個名不見經(jīng)傳的開源軟件發(fā)展成到今天令業(yè)界矚目的主流的O/R Mapping框架技術(shù),在當前的Java持久層框架中,最流行的O/R Mapping產(chǎn)品分別是Hibernate,JDO以及TopLink。而Hibernate往往就是項目開發(fā)的首選, Hibernate的輕量級ORM模型逐步確立了在Java對象關(guān)系映射架構(gòu)中的地位,而且它的許多設計還被Java EE標注組織吸納成為EJB3.0規(guī)范的標準。

  1.3 spring技術(shù)

  Spring技術(shù)起源于2000年,它是Rod Johnson通過一些成功的商業(yè)項目構(gòu)建起來的基礎框架技術(shù)。在2002,Rod Johnson發(fā)布了《Expert One-on-One J2EE Design and Development》一書,并伴隨著書的發(fā)布,同時提供了一個初步的開發(fā)框架技術(shù),interface21開發(fā)包,interface21也就是書中闡述的內(nèi)容的具體實現(xiàn)。后來,Rod Johnson 在interface21開發(fā)包的基礎之上,進行了進一步的改造和擴充,使其發(fā)展為一個更加開放、清晰、全面、高效的開發(fā)框架——Spring。2003年2月,Spring框架技術(shù)正式成為一個開源項目,開始發(fā)布。Spring是一個解決了許多在J2EE開發(fā)中常見問題的強大框架。

  2、分層架構(gòu)

  分層架構(gòu)具有顯著地特點,系統(tǒng)最高級別的目標功能位于最頂層,具體的涉及到跨領域的業(yè)務功能在中間層,系統(tǒng)配置以及系統(tǒng)環(huán)境位于底層。上一層調(diào)用下一層的數(shù)據(jù),下一層為上一層提供服務。分層架構(gòu)要遵循一定的原則:(1)可見度原則。每個系統(tǒng)的依賴關(guān)系只存在以同一級別的層次或者是下一個級別的子系統(tǒng)。(2)易變性原則。易變性原則也適合具體的層次相關(guān)聯(lián)的,越往上的層次越靠近用戶的需求,由于用戶的需求是異變的,因此這一層次的抽象也往往最容易發(fā)生變化,而底層的數(shù)據(jù)庫連接、環(huán)境配置、硬件驅(qū)動等等,這些相對來說不容易變化的,即使頂層的需求變化,這一部分是向上提供服務的,相對不易變化。(3)通用性原則。抽象模型元素一般放在放置在分層架構(gòu)的底層。如果這些不涉及或者是不專注于具體的實現(xiàn),則可以將這邪惡放在中間層次;(4)層數(shù)。對已通常的系統(tǒng)來說,三層是比較普遍的,對已特別復雜的系統(tǒng),要加入層次,隨著層數(shù)的增加,復雜性也會增加。

  使用分層架構(gòu),有如下幾方面的優(yōu)點:(1)每一層的設計只關(guān)注本層次。在進行系統(tǒng)開發(fā)的時候,業(yè)務功能的層次只需負責具體需求的實現(xiàn),數(shù)據(jù)庫持久的層次只關(guān)注與數(shù)據(jù)庫的連接與管理,不需要對其他層次進行考慮。(2)開發(fā)更加方便。在系統(tǒng)開發(fā)中,很可能會遇到功能類似的系統(tǒng),那么實現(xiàn)系統(tǒng)時這兩個功能的實現(xiàn)會很容易,只需將涉及到功能的名字和變量進行替換就可以完成系統(tǒng)功能。(3)降低耦合。分層可以降低系統(tǒng)之間的依賴。例如,web表示層只需要關(guān)注與怎么對外提供服務,至于中間的業(yè)務邏輯層是怎樣流轉(zhuǎn)的,數(shù)據(jù)庫持久層怎么進行數(shù)據(jù)提供,都不需要關(guān)心,這樣充分降低了系統(tǒng)之間的耦合。(4)代碼復用。某一層次的實現(xiàn),可以像其他很多層次提供服務。 (5)可以使代碼編寫更加整潔,利于標準化工作。

  分層架構(gòu)也存在有一些弊端和缺點:(1)數(shù)據(jù)級聯(lián)。封層架構(gòu)可能會導致修改代碼的時候,對某一個變量的修改,可能涉及到所有的關(guān)系到這個變量的層次都需要進行修改。(2)分層架構(gòu)的層次要適度。對于系統(tǒng)來說,并不是越多的層次對系統(tǒng)越好,系統(tǒng)越多,系統(tǒng)開銷越大,系統(tǒng)負擔也越大,系統(tǒng)開發(fā)難度也越大,對已普通的應用性系統(tǒng)來說,如果需求不是特別多,數(shù)據(jù)量非海量型的,那么三層架構(gòu)已經(jīng)可以實現(xiàn),對已數(shù)據(jù)量大,業(yè)務需求復雜的系統(tǒng),可以分為4-5個層次,對已5層以上的分層不提倡,這樣分層的話,會使本來先對比較簡單的工作變得復雜,反而會不利于系統(tǒng)的開發(fā)和后期的維護工作。

  通過以上幾點分析,分層對系統(tǒng)來說是有利有弊的,適當?shù)姆謱蛹軜?gòu)對系統(tǒng)很重要,要進行權(quán)衡利弊,并不是越多的層次越好,分層的具體要根據(jù)實際的需求進行聯(lián)系,進行細致的分析和考慮,這樣才能使開發(fā)更有效率,維護也更加方便。

  參考文獻

  [1]李海濤.MVC設計模式在JSP開發(fā)中的應用[J].電腦編程技巧與維護,2011,(10).

  
看了“軟件開發(fā)技術(shù)論文”的人還看:

1.軟件開發(fā)技術(shù)研究畢業(yè)論文范文

2.計算機軟件開發(fā)研究畢業(yè)論文

3.計算機軟件開發(fā)畢業(yè)論文

4.計算機軟件技術(shù)畢業(yè)論文范文

5.關(guān)于計算機軟件方面論文

2607520