- 相關(guān)推薦
多層Web體系程序可重用的結(jié)構(gòu)設(shè)計模式
多層Web體系程序可重用的結(jié)構(gòu)設(shè)計模式
第1章 緒 論
1.1 選題目的與意義
1.1.1 選題的目的
基于B/S的多層Web體系結(jié)構(gòu)逐漸發(fā)展成熟起來,多層Web應(yīng)用的開發(fā)己成為主流。但是,在多層Web體系結(jié)構(gòu)的設(shè)計中,仍然存在程序可重用程度低、維護(hù)工作繁瑣、擴(kuò)展能力較差等不足。同時,多層Web應(yīng)用系統(tǒng)需要面對復(fù)雜的網(wǎng)絡(luò)環(huán)境、多樣化的用戶需求、靈活的業(yè)務(wù)模式、復(fù)雜的業(yè)務(wù)流程、眾多的組織機(jī)構(gòu)及層次和角色分工等問題,在業(yè)務(wù)和技術(shù)上也是復(fù)雜多變的。因此,如何組織應(yīng)用程序以實現(xiàn)簡單高效的程序編寫、升級、維護(hù)和擴(kuò)展,是當(dāng)前Internet技術(shù)發(fā)展的熱點之一,也是一個很值得探討的研究課題。本文通過使用設(shè)計模式來進(jìn)行系統(tǒng)架構(gòu)設(shè)計,在一定程度上可以解決這些問題。
1.1.2 選題的意義
優(yōu)秀的軟件設(shè)計師都非常清楚,不是所有的問題都需要從頭開始解決,他們更愿意復(fù)用以前自己或別人曾經(jīng)使用過的解決方案,每當(dāng)他們找到一個好的解決方案,會一遍又一遍地使用,這些經(jīng)驗是他們成為專家的部分原因。設(shè)計模式的最終目標(biāo)就是幫助人們利用熟練的軟件設(shè)計師的集體經(jīng)驗,設(shè)計出更加優(yōu)秀的軟件。
本文將就如何在.NET開發(fā)平臺下使用設(shè)計模式思想來開發(fā)Web系統(tǒng)做出嘗試,并用XX汽車有限公司辦公自動化系統(tǒng)的開發(fā)作為實例來說明設(shè)計模式是如何與.NET的特性相結(jié)合的。本文通過對一些重要的設(shè)計模式和在這個項目設(shè)計過程中遇到一些問題的描述,闡述如何使用設(shè)計模式來解決這些問題的,并且從中歸納出同類應(yīng)用可參考的框架和思路。從而研究國內(nèi)外設(shè)計模式的一些最新成果,探討設(shè)計模式層次上的軟件重用。
1.2 國內(nèi)外研究綜述
60年代的軟件危機(jī)導(dǎo)致了有關(guān)軟件復(fù)用的研究。在1968年NATO軟件工程會議上,會議的邀請論文“Mass Produced Software Components”首次提出可復(fù)用庫的思想,并希望通過代碼復(fù)用實現(xiàn)大規(guī)模軟件生產(chǎn)。近十幾年來,面向?qū)ο蠹夹g(shù)出現(xiàn)并逐步成為主流技術(shù),為軟件復(fù)用提供了基本的技術(shù)支持。軟件復(fù)用己經(jīng)成為現(xiàn)代軟件工程的一個主要研究重點[2],被視為解決軟件危機(jī),提高軟件生產(chǎn)效率和質(zhì)量的現(xiàn)實可行的途徑[3]。隨著軟件復(fù)用技術(shù)的發(fā)展,復(fù)用的對象已經(jīng)由最早的代碼、函數(shù)庫,發(fā)展到類庫、構(gòu)件庫,甚至于需求分析結(jié)果、體系結(jié)構(gòu)、設(shè)計方案、測試計劃等一切可復(fù)用的軟件資產(chǎn)。軟件復(fù)用技術(shù)有助于提高軟件開發(fā)的生產(chǎn)率,提高軟件系統(tǒng)的可靠性,減少軟件維護(hù)的負(fù)擔(dān)[4]。
在面向?qū)ο箢I(lǐng)域,類庫(class libraries)、組件(components)、模式(patterns)、框架(frameworks)等等都是一些比較常見的軟件復(fù)用技術(shù)。類庫是最為常用的一種復(fù)用技術(shù),與函數(shù)庫相比,類庫通常能更為有效地支持小規(guī)模的復(fù)用,因為類強調(diào)了“數(shù)據(jù)”和“在數(shù)據(jù)上進(jìn)行操作的方法”的內(nèi)聚。類庫常常獨立于特定領(lǐng)域,并可被廣泛地應(yīng)用,但其復(fù)用的有效范圍仍然是有限的,因為它不具有相關(guān)軟件制品族中典型的控制流、協(xié)作以及可變性。類庫中的類通常是被動的,開發(fā)者必須持續(xù)地重寫大量的控制邏輯,才能把各個可復(fù)用的類綁定在一起,從而形成完整的應(yīng)用。
組件是被用于多層企業(yè)應(yīng)用的一種復(fù)用技術(shù)。組件是實現(xiàn)特定的一個或一組服務(wù)的軟件系統(tǒng)中的一個被封裝的部分。組件具有一個或多個接口,提供對其服務(wù)的訪問。組件充當(dāng)了應(yīng)用結(jié)構(gòu)的“積木”,而且,只需了解其接口協(xié)議,就可對其進(jìn)行復(fù)用,F(xiàn)在有三種主流的組件模型:EJB(Enterprise JavaBeans)、COM(ComponentObject Model,組件對象模型)/DCOM(Distributed Component Object Model,分布式組件對象模型)和CORBA(Common Object Request BrokerArchitecture,公共對象請求代理體系結(jié)構(gòu))。
模式的概念最先由建筑師Christopher Alexander提出,他定義了一種模式語言,成功地描述了建筑物和城市中的建筑布局。他對模式的定義是:在某一背景下某個問題的一種解決方案。Alexander認(rèn)為,模式可以解決可能遇到的幾乎所有建筑問題。他還進(jìn)而認(rèn)為模式可以結(jié)合起來解決更復(fù)雜的建筑問題。
許多軟件界的人士發(fā)現(xiàn)Alexander的工作對軟件體系結(jié)構(gòu)具有重要的參考價值,這導(dǎo)致了九十年代初在軟件領(lǐng)域內(nèi)應(yīng)用模式的討論。在1995年初,一個被稱為“四人組”的小組(Gang of Four)出版了一本書《設(shè)計模式:可重用的面向?qū)ο筌浖脑亍,該書將設(shè)計模式的思想應(yīng)用于軟件設(shè)計并稱之為設(shè)計模式。書里包含了設(shè)計模式的一個基本目錄,編錄了23個設(shè)計模式,并且確定模式為軟件學(xué)科中的一個全新的領(lǐng)域。
目前對設(shè)計模式更多的描述則是:設(shè)計模式是一套被反復(fù)使用、多數(shù)人知曉的、經(jīng)過分類編目的、代碼設(shè)計經(jīng)驗的總結(jié)。毫無疑問,設(shè)計模式于己于他人于系統(tǒng)都是多贏的,設(shè)計模式使代碼編制真正工程化,設(shè)計模式是軟件工程的基石,如同大廈的一塊塊磚石一樣。
因此,采用設(shè)計模式開發(fā)可重用、易擴(kuò)展、實現(xiàn)簡單的Web應(yīng)用系統(tǒng)框架是當(dāng)前Web系統(tǒng)發(fā)展的一個趨勢。國外對模式的研究有許多方面,有的研究不同領(lǐng)域內(nèi)如CORAB和項目管理中的應(yīng)用模式;有的討論模式系統(tǒng),希望能夠識別不同級別的模式,最終形成一個完整的模式系統(tǒng)。還有的則研究組織系統(tǒng)的架構(gòu)、模式、子系統(tǒng)責(zé)任和規(guī)則分配,以及有關(guān)子系統(tǒng)如何通信和合作的準(zhǔn)則。有關(guān)設(shè)計模式及其應(yīng)用的研究目前在國內(nèi)尚處于初步階段,大多數(shù)研究組織對其研究僅停留在理論介紹、分類和構(gòu)建簡單應(yīng)用上,很少有將其大規(guī)模應(yīng)用于企業(yè)信息系統(tǒng)開發(fā)中。
通過直接使用被證明是正確的設(shè)計模式,可以降低軟件風(fēng)險,提高軟件生產(chǎn)效率。然而,模式不是孤立存在的,它們只有相互配合,才能發(fā)揮出更大的效益,因此,需要研究如何對這些模式進(jìn)行有效的組合,恰當(dāng)?shù)闹貥?gòu)代碼和應(yīng)用模式,盡可能地構(gòu)建完善的系統(tǒng)架構(gòu)。
1.3 研究內(nèi)容和研究方法
1.3.1 研究內(nèi)容
論文所闡述的設(shè)計模式來源于無數(shù)專家對軟件開發(fā)技術(shù)的親身實踐。引入設(shè)計模式以確保系統(tǒng)設(shè)計的高效性、可維護(hù)性和可擴(kuò)展性是非常必要的。在這個方向的探索過程中,論文完成了如下幾項工作:
(1)詳細(xì)研究并分析了當(dāng)前三種流行的軟件開發(fā)方法并總結(jié)了基于設(shè)計模式的軟件開發(fā)方法的優(yōu)點
(2)介紹了設(shè)計模式的相關(guān)知識,研究了使用設(shè)計模式時應(yīng)該注意的要點和遵循的原則。
(3)以一個辦公自動化系統(tǒng)的設(shè)計和實現(xiàn)過程為背景,嚴(yán)格按照軟件工程的流程進(jìn)行分析設(shè)計和實現(xiàn),詳細(xì)地闡述了如何將設(shè)計模式思想應(yīng)用于具體的系統(tǒng)設(shè)計。
1.3.2 研究方法
通過對設(shè)計模式理論的研究,分析設(shè)計模式對軟件開發(fā)的可復(fù)用性和可維護(hù)性的意義,并得出設(shè)計模式應(yīng)用到面向?qū)ο筌浖_發(fā)中的一般方法和一般過程。通過在具體應(yīng)用的開發(fā)過程,從細(xì)節(jié)上討論了設(shè)計模式如何與實際應(yīng)用相結(jié)合。
本文的安排如下:
第一章,緒論。簡介本論文的研究與應(yīng)用的背景和意義,說明論文組織結(jié)構(gòu)。
第二章,軟件復(fù)用技術(shù)及開發(fā)方法。主要介紹三種流行的軟件復(fù)用技術(shù)及開發(fā)方法的相關(guān)知識,分析基于設(shè)計模式的開發(fā)方法的優(yōu)點。
第三章,設(shè)計模式。詳細(xì)介紹了設(shè)計模式的概念、描述方法、分類及其適用情況。
第四章,設(shè)計模式在OA中的應(yīng)用。通過OA的應(yīng)用實例,說明如何進(jìn)行基于模式的軟件開發(fā)。
第五章,總結(jié)與展望。對本論文的工作進(jìn)行總結(jié),并提出了進(jìn)一步的研究工作。
【多層Web體系程序可重用的結(jié)構(gòu)設(shè)計模式】相關(guān)文章:
PKPM進(jìn)行多層框架結(jié)構(gòu)設(shè)計的主要步驟10-31
PDF網(wǎng)元防“濫用”功能的分析和同類網(wǎng)元可重用性的研究05-11
多層螺旋CT心功能評價研究概況06-14
web論文參考文獻(xiàn)參考04-25
飯店網(wǎng)Web網(wǎng)站推廣策劃方案05-12
從程序本位到程序自治06-04
土地可持續(xù)利用探析05-27
論審計方法體系05-17