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

正文內(nèi)容

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

2025-07-04 02:19本頁面
  

【正文】 和開發(fā)效率包通常所需要處理的是要么是一個具體的功能區(qū)域(業(yè)務邏輯),要么是一個具體的技術(shù)區(qū)域(技術(shù)邏輯)。 (4)文檔輸出入的處理, 由于程序產(chǎn)生牽涉到大量的文檔讀寫動作,需要定義合適的數(shù)據(jù)結(jié)構(gòu)及緩沖區(qū)機制來提升文檔存取的效率,另一方面來說,在編寫樣版文檔時也需考量到對于存取效率上的負擔。 (2)編寫正規(guī)表達式(Regular Expression),正規(guī)表達式是一種字符串的表示方式,使用它不僅擴大了字符串的表達能力,讓使用者很容易進行字符串判斷,也可避免撰寫程序進行復雜字符串解析的麻煩,也自然使得數(shù)據(jù)處理的過程變得更為迅速便利。構(gòu)建出適合自己的代碼生成器;另一種方法是構(gòu)造出一個全新的代碼生成器。在圖中,為自動生成程序代碼,必需的三個關(guān)鍵要素是設(shè)計模式(所產(chǎn)生代碼的模板文件)、領(lǐng)域元數(shù)據(jù)(在代碼中需建模的拓撲結(jié)構(gòu),即定義文件,通常隨開發(fā)折提供的特定數(shù)據(jù)增長)。第二章 代碼自動生成技術(shù) 代碼生成的機理代碼生成器的作用是讀取工程的元數(shù)據(jù),按照指定的設(shè)計模式,混合產(chǎn)生出規(guī)范的源代碼。(4)自動生成實體Model,DAL(數(shù)據(jù)訪問層),IDAL(接口層),DALFactory(類工廠),BLL(業(yè)務邏輯層) 等多層的代碼。(2)自動生成數(shù)據(jù)庫的存儲過程。 本課題的主要研究內(nèi)容本課題的主要目標是在Windows XP 平臺下, C(C)代碼自動生成軟件(,該軟件屬于代碼自動生成的部分類生成器)。 (6)大幅度提高了工作效率,運用代碼生成技術(shù)可以將更多的時間花費在業(yè)務相關(guān)的設(shè)計和實現(xiàn)上,從而可以大大提高軟件的開發(fā)效率和軟件質(zhì)量。 (4)提高了在不同框架之間的遷移能力,一個典型的情形是我們需要生成不同框架(如J2EE/.Net)的應用代碼,代碼生成技術(shù)將業(yè)務邏輯以語言無關(guān)的形式單獨存放,通過為不同的框架提供代碼模板可以基于同一邏輯生成不同框架的應用代碼。 (2)提高了代碼變更的能力,特別在需要大量更改代碼的情況下,只需要更改模板并重新運行代碼生成器即可。與手工書寫代碼相比,代碼生成器提供了下面的一些好處: (1)所有軟件實體的一致的代碼質(zhì)量,代碼的質(zhì)量依賴且只依賴于代碼生成的模板、文件和模型。盡管這些應用沒有代碼生成工具也能開發(fā)完成,但利用代碼生成技術(shù)可以大大加速軟件的開發(fā)進度,提高軟件的質(zhì)量。 隨著現(xiàn)代化信息環(huán)境日趨復雜,各種應用軟件的開發(fā)難度隨之加大,這需要更有技巧,更有方法地從事軟件開發(fā),開發(fā)團隊之間也必須更無障礙地溝通,否則極可能無法在有限的開發(fā)時間中完成任務。AutoJava 是一款免費的,針對于Oracle和SQLserver數(shù)據(jù)庫的、以面向?qū)ο竽J降腏ava代碼生成工具。Codematic 生成的代碼基于面向?qū)ο蟮乃枷牒腿龑蛹軜?gòu)設(shè)計,結(jié)合了Petshop中經(jīng)典的思想和設(shè)計模式,融入了工廠模式,反射機制等等一些思想。 目前常見的代碼生成器有:DbToCode 是一款為 C 數(shù)據(jù)庫程序員設(shè)計的自動代碼生器,DbToCode 生成的代碼基于面向?qū)ο蟮乃枷牒腿龑蛹軜?gòu)設(shè)計,結(jié)合了Petshop中經(jīng)典的思想和設(shè)計模式,融入了工廠模式,反射機制等等一些思想。通過UML模型輸入和其余XML文件,生成器能夠生成一個包含多個系統(tǒng)的完整應用,并且模型和代碼之間可以單項乃至雙項同步。(5) 層第生成器 層第生成器將生成一個多層應用的所有代碼。通過繼承該基類可以完成剩余的工作。這種方式的一個典型應用就是在對話框控件和它們代表的變量之間建立映射關(guān)系。 (2) 內(nèi)聯(lián)代碼擴展器,內(nèi)聯(lián)代碼擴展器的輸入是帶有特殊標記的源代碼,這些特殊標記經(jīng)過擴展器的處理后將被替換為相關(guān)的代碼從而產(chǎn)生最終的生產(chǎn)源代碼,內(nèi)聯(lián)代碼擴展器的典型應用是將SQL語句嵌入到源代碼中,其主要特點是使得底層結(jié)構(gòu)和復雜的查詢分開??梢砸罁?jù)代碼生成技術(shù)的使用場合、復雜度等對這些生成技術(shù)進行分類,這里我們采用依據(jù)生成技術(shù)的輸入、輸出對它們進行分類。如編譯器生成器就是一種主動模式 的代碼生成器。生成器只運行一次,然后就不再承擔對代碼的維護工作。大多數(shù)軟件集成開發(fā)環(huán)境(IDE)中的應用“向?qū)А本褪沁@種類型的代碼生成器。 我們可以將代碼生成技術(shù)分為兩大類:被動模式和主動模式。第1章 概述在軟件工程發(fā)展過程中,計算機科學家為了降低軟件開發(fā)得強度,縮短開發(fā)周期,減少代碼的重復書寫,從而減輕程序員的編程負擔,一直以來都致力于代碼自動生成方面的研究。TianHao結(jié)合了Petshop的開發(fā)模式,尋求編碼規(guī)律,并融入了工廠模式,反射機制等一些思想。一個典型的例子就是微軟的示例代碼Petshop。TianHao生成的代碼基于面向?qū)ο蟮乃枷牒腿龑蛹軜?gòu)設(shè)計。我想這樣的工作是非常有意義的。如果一個系統(tǒng)有上百個MODEL類,那么程序員可能要話很長的時間來編寫。當然任何東西都不能取代人在當中的作用,代碼自動生成器主要來完成一些有規(guī)律可尋的代碼生成。在解決代碼規(guī)范以及工作效率上,代碼自動生成技術(shù)顯現(xiàn)出了其很大的優(yōu)越性。大型的程序需要多人共同參與和開發(fā),每個人的程序風格不同,再加上時間上的壓力,這使得系統(tǒng)完成以后在測試及維護上帶來了沉重的負擔。目錄前 言 1第一章 概述 2 2 4 本課題的主要研究內(nèi)容 6第二章 代碼自動生成技術(shù) 7 代碼生成的機理 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)用例圖及詳細說明 21 系統(tǒng)設(shè)計方案 28 設(shè)計原則 28 系統(tǒng)類 28第四章 系統(tǒng)實現(xiàn) 32 系統(tǒng)界面設(shè)計 32 34 數(shù)據(jù)庫新連接(即導入數(shù)據(jù)庫信息)功能的實現(xiàn) 34 代碼生成功能的實現(xiàn) 34 代碼導出功能的實現(xiàn) 36 數(shù)據(jù)庫查詢分析功能的實現(xiàn) 36第五章 難點與對策 38 數(shù)據(jù)庫表信息的讀取 38 將xml數(shù)據(jù)加載到樹形控件上 39 語法高亮顯示的實現(xiàn) 41第五章 總結(jié)及展望 43 總結(jié) 43 展望 44致謝 45參考文獻 46前 言現(xiàn)在軟件工程所涉及到的系統(tǒng)規(guī)模越來越大。計算機科學家一直致力于這方面的研究。代碼自動生成器一個最關(guān)鍵的功能就是讓程序員盡可能減輕負。比如我們平常一般用到的MODEL類就是一個很簡單的基類,它的模式基本上是固定的。而用了相應的自動生成器只需簡單幾步就很全部生成。TianHao正是在這樣的環(huán)境下計劃開發(fā)的?,F(xiàn)在的系統(tǒng)常用到的是三層架構(gòu)。Petshop包含了很多經(jīng)典的思想和設(shè)計模式。TianHao 同時提供支持多類型數(shù)據(jù)庫,并且能夠方便的對數(shù)據(jù)庫查詢分析,存儲過程生成,代碼批量自動輸出等多項開發(fā)工作中常用到的功能。Lex/Yacc是最早用于自動化編寫編譯程序的工具。在被動模式下,代碼生成器產(chǎn)生一系列的代碼,然后軟件開發(fā)者可以自由的修改、編輯這些代碼,但代碼生成器不再承擔對代碼的維護工作。被動模式的代碼生成技術(shù)有其應用的范圍,但是被動模式的生成系統(tǒng)有天生的局限性。 與此相反,主動模式下的代碼生成器則對生成的代碼“長期”負責,可以通過改變生成器的輸入?yún)?shù)并重新運行生成器來改變輸出的代碼。 下面我們介紹幾種常見的代碼生成技術(shù),這些技術(shù)對開發(fā)一個實用的代碼生成器非常重要。 (1) 代碼挑揀器,代碼挑揀器的輸入是源代碼,通過揀取需要的信息可以生成各種文件,代碼挑揀器的使用相當廣泛,可以使用它來生成代碼API文檔、獲取常量和函數(shù)原型等。(3) 混合代碼生成器 混合代碼生成器與內(nèi)聯(lián)代碼擴展器很像,它也是處理源代碼中的特殊注釋但是與內(nèi)聯(lián)代碼擴展器不同,它的結(jié)果將直接輸出到輸入的源代碼中。(4) 部分類生成器 部分類生成器的輸入是模板文件和包含特定類所需信息的定義文件,這些信息經(jīng)過生成器將產(chǎn)生應用的基類。Velocity是一個源代碼開放的Java模版引擎。模型驅(qū)動的開發(fā)是這種生成器的一個很好例子。(6) 完全領(lǐng)域語言 完全領(lǐng)域語言是一個圖靈完全的語言,可以直接使用來進行領(lǐng)域相關(guān)的操作。采用 Model + DAL + BLL + Web 的設(shè)計,主要實現(xiàn)在 C 中對應數(shù)據(jù)庫中表的基類代碼的自動生成,包括生成屬性、添加、修改、刪除、查詢、存在性、 Model 類構(gòu)造等基礎(chǔ)代碼片斷,使程序員可以節(jié)省大量機械錄入的時間和重復勞動,而將精力集中于核心業(yè)務邏輯的開發(fā)。Codematic 同時提供方便的多類型數(shù)據(jù)庫管理,查詢分析器,SQL腳本生成,存儲過程生成,數(shù)據(jù)庫文檔生成,Web項目發(fā)布,代碼批量自動輸出等多項開發(fā)工作中常用到的功能,您可以很方便輕松地進行項目開發(fā)。AutoJava根據(jù)O/R Mapping規(guī)則生成表對應的Java對象,并且生成了所有的添加、刪除、修改、查詢等底層數(shù)據(jù)庫操作代碼。由于時間上的壓力,一般人只注重程序的編寫速度,卻忽略其完成后的實用性與維護性,加上大型程序多人共同參與開發(fā),每個人都有各自的程序風格,容易造成嚴重的差異性,隨著系統(tǒng)規(guī)模越來越大,這將造成系統(tǒng)完成后在測試及維護上沉重的負擔,代碼自動生成技術(shù)更顯出了其顯著的優(yōu)越性。代碼生成技術(shù)是關(guān)于自動生成程序的程序的技術(shù)。與此相比,手工經(jīng)常采用的拷貝粘貼的方法為前后代碼質(zhì)量的一致性帶來了隱患。 (3)提高了修復軟件Bug的能力,只需要修復模板的Bug然后重新運行生成器就可以修復所有的生成文件的Bug。 (5)靈活的同步機制,代碼生成技術(shù)自動維護代碼和數(shù)據(jù)模型的一致性,通過重新運行生成器,對模型的修改可以自動反映到代碼中,這種同步機制對維護數(shù)據(jù)的一致性是非常必要的。 (7)是代碼學習的導師,由于生成的代碼具有良好的風格和100%的健壯性,程序開發(fā)者很容易模仿代碼風格,從中學習。本軟件主要包含功能如下:(1)實現(xiàn)在對應數(shù)據(jù)庫中表的基類代碼的自動生成,包括生成屬性、添加、修改、刪除、查詢、存在性、Model 類構(gòu)造等基礎(chǔ)代碼片斷。(3) 支持不同架構(gòu)代碼生成,用戶可以定義命名。(5)代碼批量生成自動導出功能。典型的代碼生成器模型如圖21所示。 圖21 典型代碼生成器的模型圖 構(gòu)建自己的代碼生成器有2種方法,一是綜合利用流行的代碼生成器。無論哪種方法,在構(gòu)建代碼生成器都應該注意下面幾個方面: (1)使用純文字樣版,使用純文字樣版的好處除了編輯方便外,也能將程序代碼定義邏輯和格式化邏輯分隔開來,使實作上更有彈性。 (3)編譯器原理,在對于文本文件的處理上,先利用掃描器(Scanner)掃描出其中的字符,再實作解析器(Parser)解析出所對應的語法,然后轉(zhuǎn)換成所要產(chǎn)生的程序語言。 三層B/S架構(gòu)架構(gòu)設(shè)計是非常高級的設(shè)計,也是系統(tǒng)設(shè)計的關(guān)鍵,主要是定義和說明包(子系統(tǒng)),以及包與包之間的相互依賴與通信機制。業(yè)務邏輯主要考慮的是對系統(tǒng)業(yè)務功能的實現(xiàn),而技術(shù) 邏輯則是進一步考慮用戶界面、數(shù)據(jù)庫或通信機制等形成的技術(shù)方案。三層結(jié)構(gòu)是一種成熟、簡單并得到普遍應用的應用程序架構(gòu), 它將應用程序結(jié)構(gòu)劃分三層獨立的包,包括用戶表示層、業(yè)務邏輯層、數(shù)據(jù)訪問層。其結(jié)構(gòu)如下圖22所示:圖22 三層結(jié)構(gòu) 設(shè)計模式設(shè)計模式使人們可以更加簡單方便地復用成功的設(shè)計和體系結(jié)構(gòu)。一般而言,一個模式有四個基本要素:1. 模式名稱(pattern name) 一個助記名2. 問題(problem) 描述了應該在何時使用模式。也可能描述了導致不靈活設(shè)計的類或?qū)ο蠼Y(jié)構(gòu)。3. 解決方案(solution) 描述了設(shè)計的組成成分,它們之間的相互關(guān)系及各自的職責和協(xié)作方式。4. 效果(consequences) 描述了模式應用的效果及使用模式應權(quán)衡的問題。軟件效果大多關(guān)注對時間和空間的衡量,它們也表述了語言和實現(xiàn)問題。設(shè)計模式常常劃分成不同的種類,常見的種類有: 創(chuàng)建型設(shè)計模式,如工廠方法(Factory Method)模式、抽象工廠(Abstract Factory)模式、原型(Prototype)模式、單例(Singleton)模式,建造(Builder)模式等 。行為型模式,如模版方法(Template Method)模式、觀察者(Observer)模式、迭代子(Iterator)模式、責任鏈(Chain of Responsibility)模式、備忘錄(Memento)模式、命令(Command)模式、狀態(tài)(State)模
點擊復制文檔內(nèi)容
外語相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1