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