freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

軟件工程關(guān)于代碼自動生成技術(shù)的分析(doc畢業(yè)設(shè)計論文)-全文預(yù)覽

2025-07-16 02:32 上一頁面

下一頁面
  

【正文】 選擇一張表單擊右鍵選擇代碼生成器,系統(tǒng)右邊將顯示代碼生成器的設(shè)置窗口(圖44)。圖43 代碼導(dǎo)出界面 數(shù)據(jù)庫新連接(即導(dǎo)入數(shù)據(jù)庫信息)功能的實(shí)現(xiàn)數(shù)據(jù)庫新連接功能完成獲取數(shù)據(jù)庫信息。左邊樹形控件用戶顯示數(shù)據(jù)庫信息,右邊用于設(shè)置及顯示數(shù)據(jù)結(jié)果。toUI類封裝了數(shù)據(jù)顯示的細(xì)節(jié)。ProcedureCode類將數(shù)據(jù)庫指定表的信息生成存儲過程代碼。SimpleCode類將數(shù)據(jù)庫指定表的信息以及用戶要求生成單層結(jié)構(gòu)的代碼。DALFactoryCode類將數(shù)據(jù)庫指定表的信息以及用戶要求生成工廠模式的DALFactoryCode層代碼。DBToDBXml將不同版本的數(shù)據(jù)信息以統(tǒng)一的形式寫入xml中,它作為本系統(tǒng)的操作基礎(chǔ)。DBConfig類用于設(shè)置和讀取數(shù)據(jù)庫連接配置的信息。業(yè)務(wù)邏輯層實(shí)現(xiàn)該系統(tǒng)的業(yè)務(wù)邏輯的細(xì)節(jié)。 系統(tǒng)設(shè)計方案 設(shè)計原則本系統(tǒng)采用面向?qū)ο蠓椒ú⒏鶕?jù)分層設(shè)計原則設(shè)計。 用戶選擇要輸出代碼的數(shù)據(jù)庫名和表名。 系統(tǒng)生成該表的存儲過程。用戶點(diǎn)擊生成按鈕。系統(tǒng)生成Aspx代碼。錯誤情況1:代碼生成失敗如果用戶用戶沒有選擇指定的表,系統(tǒng)將不能正常生成代碼,并彈出消 息框予以提示。用例15:單層代碼用戶設(shè)選擇生成單層代碼的表。用戶設(shè)置代碼生成需要的參數(shù)(頂級命名空間、項(xiàng)目名、主鍵、MODEL 類名、代碼類型(選擇簡單模式下的BLL代碼)、方法選擇、數(shù)據(jù)層 類型)。用戶點(diǎn)擊生成按鈕。系統(tǒng)生成簡單模式MODEL代碼。錯誤情況1:代碼生成失敗如果用戶用戶沒有選擇指定的表,系統(tǒng)將不能正常生成代碼,并彈出消 息框予以提示。用例11:工廠模式BLL代碼用戶設(shè)選擇生成工廠模式BLL代碼的表。用戶設(shè)置代碼生成需要的參數(shù)(頂級命名空間、項(xiàng)目名、主鍵、MODEL 類名、代碼類型(選擇工廠模式下的IDALFactroy代碼)、方法選擇、數(shù) 據(jù)層類型)。用戶點(diǎn)擊生成按鈕。 系統(tǒng)生成工廠模式IDAL代碼。錯誤情況1:代碼生成失敗如果用戶用戶沒有選擇指定的表,系統(tǒng)將不能正常生成代碼,并彈出消 息框予以提示。用例7:工廠模式MODEL代碼 用戶設(shè)選擇生成工廠模式MODEL代碼的表。 系統(tǒng)根據(jù)表信息生成相應(yīng)的sql語句,并顯示。用例4:瀏覽表數(shù)據(jù) 用戶選擇數(shù)據(jù)庫的表,選擇瀏覽表數(shù)據(jù)的選項(xiàng)。 系統(tǒng)連接數(shù)據(jù)庫,并獲得該數(shù)據(jù)庫的數(shù)據(jù)信息。(3) 支持不同架構(gòu)代碼生成,用戶可以定義命名。用戶方便的進(jìn)行查詢分析,這樣省去了該系統(tǒng)與數(shù)據(jù)庫之間來回切換的不便。當(dāng)用戶需要連接一個新的數(shù)據(jù)庫時,調(diào)用此模塊。B 開發(fā)工具系統(tǒng)開發(fā)平臺:Microsoft Windows XP professional 開發(fā)工具與環(huán)境:Microsoft Visual Studio 2005 C本系統(tǒng)在Microsoft Windows XP professional下開發(fā),程序測試環(huán)境為Microsoft Windows XP professional,用戶在windows 2000和 windows XP下都可以使用。所謂的語法加亮編輯器就是能根據(jù)不同的文件類型,來顯示文本內(nèi)容。XmlDocument類代表了一個XML文檔,它提供了載入和保存XML文檔的方法和屬性。XmlNode類是一個非常重要的類,它代表了XML文檔中的某個節(jié)點(diǎn)。該類中的Read方法是一個基本的讀XML文檔的方法,它以流形式讀取XML文檔中的節(jié)點(diǎn)(Node)。HTML是被設(shè)計用來顯示數(shù)據(jù)的,重點(diǎn)是:顯示數(shù)據(jù)以及如何顯示數(shù)據(jù)更好上面。XML是用來描述數(shù)據(jù)的,它的標(biāo)記不是在XML中預(yù)定義的,你必須定義自己的標(biāo)記 。例如。該功能的核心是SqlCacheDependency類。使用應(yīng)用程序緩存與使用應(yīng)用程序狀態(tài)類似。如果向頁添加一個顯示用戶名的Label控件,則對于每次頁刷新和每個用戶而言,Label的內(nèi)容都將保持不變,始終顯示緩存該頁之前請求該頁的用戶的姓名。例如,如果要創(chuàng)建一個顯示大量動態(tài)內(nèi)容(如股票信息)的頁,其中有些部分為靜態(tài)內(nèi)容(如每周總結(jié)),這時可以將靜態(tài)部分放在用戶控件中,并允許緩存這些內(nèi)容。頁面部分緩存  顧名思義,頁面部分緩存是將頁面部分內(nèi)容保存在內(nèi)存中以便響應(yīng)用戶請求,而頁面其他部分內(nèi)容則為動態(tài)內(nèi)容。當(dāng)用戶請求該頁面時,系統(tǒng)從內(nèi)存中輸出相關(guān)數(shù)據(jù),直到緩存數(shù)據(jù)過期。尤其是在用戶比較多,檢索的數(shù)據(jù)量比較大的情況下,會給包括用戶在內(nèi)的各個方面造成不小的困難。3. 反射主要應(yīng)用與類庫,這些類庫需要知道一個類型的定義,以便提供更多的功能。 Type類可以獲得對象的類型信息,此信息包含對象的所有要素:方法、構(gòu)造器、屬性等等,通過Type類可以得到這些要素的信息,并且調(diào)用之。模型如下圖所示:邏輯模型(圖23):圖23 邏輯模型物理模型(圖24):圖24 物理模型 反射技術(shù)反射的定義:審查元數(shù)據(jù)并收集關(guān)于它的類型信息的能力。比如單例(Singleton)模式的實(shí)現(xiàn)常常涉及到雙檢鎖(DoubleCheck Locking)模式等。結(jié)構(gòu)型設(shè)計模式,如合成(Composite)模式、裝飾(Decorator)模式、代理(Proxy)模式、享元(Flyweight)模式、門面(Facade)模式、橋梁(Bridge)模式等 。盡管我們描述設(shè)計決策時,并不總提到模式效果,但它們對于評價設(shè)計選擇和理解使用模式的代價及好處具有重要意義。有時候,問題部分會包括使用模式必須滿足的一系列先決條件。將已證實(shí)的技術(shù)表述成設(shè)計模式也會使新系統(tǒng)開發(fā)者更加容易理解其設(shè)計思路。把技術(shù)邏輯和業(yè)務(wù)邏輯區(qū)分開來是極其重要的,這是為了當(dāng)修改程序的某一部分時不會對另一 部分產(chǎn)生影響,更加便于進(jìn)行“復(fù)用”,同時易于應(yīng)對來自業(yè)務(wù)邏輯的變更需求。 (4)文檔輸出入的處理, 由于程序產(chǎn)生牽涉到大量的文檔讀寫動作,需要定義合適的數(shù)據(jù)結(jié)構(gòu)及緩沖區(qū)機(jī)制來提升文檔存取的效率,另一方面來說,在編寫樣版文檔時也需考量到對于存取效率上的負(fù)擔(dān)。構(gòu)建出適合自己的代碼生成器;另一種方法是構(gòu)造出一個全新的代碼生成器。第二章 代碼自動生成技術(shù) 代碼生成的機(jī)理代碼生成器的作用是讀取工程的元數(shù)據(jù),按照指定的設(shè)計模式,混合產(chǎn)生出規(guī)范的源代碼。(2)自動生成數(shù)據(jù)庫的存儲過程。 (6)大幅度提高了工作效率,運(yùn)用代碼生成技術(shù)可以將更多的時間花費(fèi)在業(yè)務(wù)相關(guān)的設(shè)計和實(shí)現(xiàn)上,從而可以大大提高軟件的開發(fā)效率和軟件質(zhì)量。 (2)提高了代碼變更的能力,特別在需要大量更改代碼的情況下,只需要更改模板并重新運(yùn)行代碼生成器即可。盡管這些應(yīng)用沒有代碼生成工具也能開發(fā)完成,但利用代碼生成技術(shù)可以大大加速軟件的開發(fā)進(jìn)度,提高軟件的質(zhì)量。AutoJava 是一款免費(fèi)的,針對于Oracle和SQLserver數(shù)據(jù)庫的、以面向?qū)ο竽J降腏ava代碼生成工具。 目前常見的代碼生成器有:DbToCode 是一款為 C 數(shù)據(jù)庫程序員設(shè)計的自動代碼生器,DbToCode 生成的代碼基于面向?qū)ο蟮乃枷牒腿龑蛹軜?gòu)設(shè)計,結(jié)合了Petshop中經(jīng)典的思想和設(shè)計模式,融入了工廠模式,反射機(jī)制等等一些思想。(5) 層第生成器 層第生成器將生成一個多層應(yīng)用的所有代碼。這種方式的一個典型應(yīng)用就是在對話框控件和它們代表的變量之間建立映射關(guān)系??梢砸罁?jù)代碼生成技術(shù)的使用場合、復(fù)雜度等對這些生成技術(shù)進(jìn)行分類,這里我們采用依據(jù)生成技術(shù)的輸入、輸出對它們進(jìn)行分類。生成器只運(yùn)行一次,然后就不再承擔(dān)對代碼的維護(hù)工作。 我們可以將代碼生成技術(shù)分為兩大類:被動模式和主動模式。TianHao結(jié)合了Petshop的開發(fā)模式,尋求編碼規(guī)律,并融入了工廠模式,反射機(jī)制等一些思想。TianHao生成的代碼基于面向?qū)ο蟮乃枷牒腿龑蛹軜?gòu)設(shè)計。如果一個系統(tǒng)有上百個MODEL類,那么程序員可能要話很長的時間來編寫。在解決代碼規(guī)范以及工作效率上,代碼自動生成技術(shù)顯現(xiàn)出了其很大的優(yōu)越性。關(guān)于代碼自動生成技術(shù)的分析目 錄前 言 1第一章 概述 2 2 4 本課題的主要研究內(nèi)容 6第二章 代碼自動生成技術(shù) 7 代碼生成的機(jī)理 7 三層B/S架構(gòu) 8 設(shè)計模式 9 反射技術(shù) 12 緩存技術(shù) 13 XML技術(shù) 15 語法高亮顯示 17第三章 系統(tǒng)分析與設(shè)計 18 系統(tǒng)分析 18 系統(tǒng)開發(fā)環(huán)境 18 需求分析 18 系統(tǒng)用例圖及詳細(xì)說明 21 系統(tǒng)設(shè)計方案 28 設(shè)計原則 28 系統(tǒng)類 28第四章 系統(tǒng)實(shí)現(xiàn) 32 系統(tǒng)界面設(shè)計 32 34 數(shù)據(jù)庫新連接(即導(dǎo)入數(shù)據(jù)庫信息)功能的實(shí)現(xiàn) 34 代碼生成功能的實(shí)現(xiàn) 34 代碼導(dǎo)出功能的實(shí)現(xiàn) 36 數(shù)據(jù)庫查詢分析功能的實(shí)現(xiàn) 36第五章 難點(diǎn)與對策 38 數(shù)據(jù)庫表信息的讀取 38 將xml數(shù)據(jù)加載到樹形控件上 39 語法高亮顯示的實(shí)現(xiàn) 41第五章 總結(jié)及展望 43 總結(jié) 43 展望 44致謝 45參考文獻(xiàn) 46前 言計算機(jī)科學(xué)家一直致力于這方面的研究。比如我們平常一般用到的MODEL類就是一個很簡單的基類,它的模式基本上是固定的。TianHao正是在這樣的環(huán)境下計劃開發(fā)的。Petshop包含了很多經(jīng)典的思想和設(shè)計模式。Lex/Yacc是最早用于自動化編寫編譯程序的工具。被動模式的代碼生成技術(shù)有其應(yīng)用的范圍,但是被動模式的生成系統(tǒng)有天生的局限性。 下面我們介紹幾種常見的代碼生成技術(shù),這些技術(shù)對開發(fā)一個實(shí)用的代碼生成器非常重要。(3) 混合代碼生成器 混合代碼生成器與內(nèi)聯(lián)代碼擴(kuò)展器很像,它也是處理源代碼中的特殊注釋但是與內(nèi)聯(lián)代碼擴(kuò)展器不同,它的結(jié)果將直接輸出到輸入的源代碼中。Velocity是一個源代碼開放的Java模版引擎。(6) 完全領(lǐng)域語言 完全領(lǐng)域語言是一個圖靈完全的語言,可以直接使用來進(jìn)行領(lǐng)域相關(guān)的操作。Codematic 同時提供方便的多類型數(shù)據(jù)庫管理,查詢分析器,SQL腳本生成,存儲過程生成,數(shù)據(jù)庫文檔生成,Web項(xiàng)目發(fā)布,代碼批量自動輸出等多項(xiàng)開發(fā)工作中常用到的功能,您可以很方便輕松地進(jìn)行項(xiàng)目開發(fā)。由于時間上的壓力,一般人只注重程序的編寫速度,卻忽略其完成后的實(shí)用性與維護(hù)性,加上大型程序多人共同參與開發(fā),每個人都有各自的程序風(fēng)格,容易造成嚴(yán)重的差異性,隨著系統(tǒng)規(guī)模越來越大,這將造成系統(tǒng)完成后在測試及維護(hù)上沉重的負(fù)擔(dān),代碼自動生成技術(shù)更顯出了其顯著的優(yōu)越性。與此相比,手工經(jīng)常采用的拷貝粘貼的方法為前后代碼質(zhì)量的一致性帶來了隱患。 (5)靈活的同步機(jī)制,代碼生成技術(shù)自動維護(hù)代碼和數(shù)據(jù)模型的一致性,通過重新運(yùn)行生成器,對模型的修改可以自動反映到代碼中,這種同步機(jī)制對維護(hù)數(shù)據(jù)的一致性是非常必要的。本軟件主要包含功能如下:(1)實(shí)現(xiàn)在對應(yīng)數(shù)據(jù)庫中表的基類代碼的自動生成,包括生成屬性、添加、修改、刪除、查詢、存在性、Model 類構(gòu)造等基礎(chǔ)代碼片斷。(5)代碼批量生成自動導(dǎo)出功能。 圖21 典型代碼生成器的模型圖 構(gòu)建自己的代碼生成器有2種方法,一是綜合利用流行的代碼生成器。 (3)編譯器原理,在對于文本文件的處理上,先利用掃描器(Scanner)掃描出其中的字符,再實(shí)作解析器(Parser)解析出所對應(yīng)的語法,然后轉(zhuǎn)換成所要產(chǎn)生的程序語言。業(yè)務(wù)邏輯主要考慮的是對系統(tǒng)業(yè)務(wù)功能的實(shí)現(xiàn),而技術(shù) 邏輯則是進(jìn)一步考慮用戶界面、數(shù)據(jù)庫或通信機(jī)制等形成的技術(shù)方案。其結(jié)構(gòu)如下圖22所示:圖22 三層結(jié)構(gòu) 設(shè)計模式設(shè)計模式使人們可以更加簡單方便地復(fù)用成功的設(shè)計和體系結(jié)構(gòu)。也可能描述了導(dǎo)致不靈活設(shè)計的類或?qū)ο蠼Y(jié)構(gòu)。4. 效果(consequences) 描述了模式應(yīng)用的效果及使用模式應(yīng)權(quán)衡的問題。設(shè)計模式常常劃分成不同的種類,常見的種類有: 創(chuàng)建型設(shè)計模式,如工廠方法(Factory Method)模式、抽象工廠(Abstract Factory)模式、原型(Prototype)模式、單例(Singleton)模式,建造(Builder)模式等 。設(shè)計模式在特定的編程語言中實(shí)現(xiàn)的時候,常常會用到代碼模式。它的意圖是提供一個創(chuàng)建一系列相關(guān)或相互依賴對象的接口,而無需指定它們具體的類。例如: Assembly類可以獲得正在運(yùn)行的裝配件信息,也可以動態(tài)的加載裝配件,以及在裝配件中查找類型信息,并創(chuàng)建該類型的實(shí)例。2. 應(yīng)用程序需要在運(yùn)行時從某個特定的程序集中載入一個特定的類型,以便實(shí)現(xiàn)某個任務(wù)時可以用
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1