《Flex源碼到類圖轉(zhuǎn)換工具的設(shè)計(jì)與實(shí)現(xiàn)建筑類畢業(yè)論文》由會(huì)員分享,可在線閱讀,更多相關(guān)《Flex源碼到類圖轉(zhuǎn)換工具的設(shè)計(jì)與實(shí)現(xiàn)建筑類畢業(yè)論文(10頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、第 - 1 - 頁 共 10 頁Flex 源碼到類圖轉(zhuǎn)換工具的設(shè)計(jì)與實(shí)現(xiàn)摘要 本論文主要闡述了 flex 源碼轉(zhuǎn)換到類圖顯示工具的設(shè)計(jì)與開發(fā)。本系統(tǒng)是根據(jù)企業(yè)進(jìn)行模型驅(qū)動(dòng)開發(fā)提出的需求而開發(fā)的一款實(shí)用工具軟件。本文主要講述了 flex 語言的由來和特性;本轉(zhuǎn)換工具的框架設(shè)計(jì);四叉樹應(yīng)用在場景管理,包括處理圖形重疊問題,類圖信息提取等,以及論述了類圖信息挖掘,類圖布局等功能提取工程框架關(guān)鍵核心信息。本軟件能有效地幫助對(duì)現(xiàn)有框架陌生的程序員迅速掌握框架概念,提高工作效率。關(guān)鍵字 flex; 四叉樹; 類圖特征;同構(gòu);回環(huán)ABSTRACT This paper focuses on the conv
2、ersion of flex source code to Diagrams, the designing and development of the view tool. Based on the needs of Model-driven development in Enterprise.This paper totally on several content as follows. Such as, the characteristics of flex;the design about this system; Quardtree on scene manager,includi
3、ng deal about graphs overlap; imformation mining from diagrams. With providing mining the core information of whole project, this system will make programers quickly understand the frame of project,and increase developing productivity.KEY WORDS Flex Quardtree; Characteristics of diagrams; Isomorphic
4、; Circle第 - 2 - 頁 共 10 頁目錄1.前 言 .52.FLEX 技術(shù)分析 .72.1ECMASCRIPT.72.1.1ECMAScript 歷史 .72.2ACTION SCRIPT.72.2.1Action script 定義.72.2.2Action Script 語法.82.3對(duì)象模型與模型驅(qū)動(dòng)開發(fā) .82.3.1對(duì)象模型.92.3.2模型驅(qū)動(dòng)開發(fā)(MDD).93.系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) .93.1系統(tǒng)框架設(shè)計(jì) .93.1.1框架概念.93.1.2框架設(shè)計(jì).103.1.3View 模塊設(shè)計(jì) .104.系統(tǒng)詳細(xì)設(shè)計(jì) .154.1場景管理數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì) .154.1.1四叉樹設(shè)計(jì).
5、154.2關(guān)系圖的元素合并解決方案 .174.2.1圖的同構(gòu)處理.174.2.2圖的回環(huán)合并處理.204.3類圖中的特征挖掘 .244.3.1程序設(shè)計(jì)的思想-面向?qū)ο?244.3.2繼承與組合.254.3.3關(guān)系特征提取.255.系統(tǒng)測(cè)試 .305.1系統(tǒng)測(cè)試 .305.2存在問題 .316.軟件實(shí)現(xiàn) .326.1輸入 .326.1.1AS 工程代碼 .326.2輸出 .346.2.1功能控件選項(xiàng).346.2.2類和接口實(shí)現(xiàn)關(guān)系.346.2.3繼承關(guān)系.346.2.4組合關(guān)系.356.2.5類或接口的使用者.356.2.6整體.36結(jié)論 .37致謝 .39第 - 3 - 頁 共 10 頁Fle
6、x 源碼到類圖轉(zhuǎn)換工具設(shè)計(jì)1. 前 言隨著軟件工程不斷發(fā)展,軟件產(chǎn)品開發(fā)團(tuán)隊(duì)逐漸龐大,而又針對(duì)網(wǎng)絡(luò)軟件產(chǎn)品,其開發(fā)周期短,版本更換頻率高,在要求快速開發(fā)的環(huán)境下,對(duì)于正常開發(fā)工作中出現(xiàn)的人員流動(dòng),開發(fā)交流,框架變更,等情況導(dǎo)致的投入回報(bào)失衡,此時(shí),迫切需要一套調(diào)整提高開發(fā)速度的模型及工具。我們常接觸到的模型驅(qū)動(dòng)開發(fā),測(cè)試驅(qū)動(dòng)開發(fā),文檔驅(qū)動(dòng)開發(fā)等開發(fā)模式無不都旨在提高代碼質(zhì)量,提高開發(fā)速率,UML 類圖是其中的一種常用的軟件工程方法。一般的類圖和文檔在開發(fā)初期以穩(wěn)定狀態(tài)存在,但到開發(fā)中期,出現(xiàn)代碼框架變更而文檔類圖均無同步更新,這里則需要多一份維護(hù)文檔的工作代價(jià)付出。而在軟件開發(fā)過程中,對(duì)一個(gè)自
7、己不熟悉的模塊,通常采用斷點(diǎn)調(diào)試,而對(duì)一塊程序沒有概念的調(diào)試往往浪費(fèi)時(shí)間。能夠清楚地獲悉該模塊的主要類,類與類之間的管理關(guān)系,引用關(guān)系對(duì)于調(diào)試,理解程序起了很好的幫助作用。而實(shí)際中的人工畫出來的 UML 圖并不能細(xì)致地描述整個(gè)工程。一款好的源碼到類圖描述工具可以很好地提高開發(fā)人員理解代碼速度,降低維護(hù)文檔類圖成本。很好的支持了模型驅(qū)動(dòng)開發(fā)。本課題集中解決源碼到類圖工具的顯示操作上的問題,例如:場景區(qū)域管理。第 - 4 - 頁 共 10 頁2. Flex 技術(shù)分析2.1ECMAScript2.1.1ECMAScript 歷史ECMAScript 是一種由 Ecma 國際(前身為歐洲計(jì)算機(jī)制造商協(xié)
8、會(huì))通過 ECMA-262 標(biāo)準(zhǔn)化的腳本程序設(shè)計(jì)語言。這種語言在萬維網(wǎng)上應(yīng)用廣泛,它往往被稱為JavaScript 或 JScript,但實(shí)際上后兩者是 ECMA-262 標(biāo)準(zhǔn)的實(shí)現(xiàn)和擴(kuò)展。1995 年 12 月升陽公司與網(wǎng)景通訊公司一起引入了 JavaScript。1996 年 3 月,網(wǎng)景通訊公司發(fā)表了支持 JavaScript 的網(wǎng)景導(dǎo)航者 2.0。由于 JavaScript 作為網(wǎng)頁的客戶面腳本語言非常成功,微軟于 1996 年 8 月引入了 Internet Explorer3.0,這個(gè)軟件支持一個(gè)“約”與JavaScript 相容的 JScript。1996 年 11 月網(wǎng)景通訊公
9、司將 JavaScript 提交給歐洲計(jì)算機(jī)制造商協(xié)會(huì)進(jìn)行標(biāo)準(zhǔn)化。ECMA-262 的第一個(gè)版本于 1997 年 6 月被 Ecma 組織采納。ECMAScript 是由 ECMA-262 標(biāo)準(zhǔn)化的腳本語言的名稱。JavaScript 和 JScript 與ECMAScript 相容,但包含超出 ECMAScript 的功能。2.2Action script2.2.1Action script 定義ActionScript 是 Macromedia(現(xiàn)已被 Adobe 收購)為其 Flash 產(chǎn)品開發(fā)的 ,最初是一種簡單的腳本語言,現(xiàn)在最新版本 3.0,是一種完全的面向?qū)ο蟮木幊陶Z言,功能強(qiáng)大
10、,類庫豐富,語法類似 JavaScript,多用于 Flash 互動(dòng)性、娛樂性、實(shí)用性開發(fā),網(wǎng)頁制作和 RIA 應(yīng)用程序開發(fā)。ActionScript 是一種基于 ECMAScript 的腳本語言,可用于編寫 Adobe Flash 動(dòng)畫和應(yīng)用程序。 由于 ActionScript 和 JavaScript 都是基于 ECMAScript 語法的,理論上它們互相可以很流暢地從一種語言翻譯到另一種。不過 JavaScript 的文檔對(duì)象模型(DOM)是以瀏覽器窗口,文檔和表單為主的,ActionScript 的文檔對(duì)象模型(DOM)則以 SWF 格式動(dòng)畫為主,可包括動(dòng)畫,音頻,文字和事件處理。第
11、 - 5 - 頁 共 10 頁 2.2.2Action Script 語法具有面向?qū)ο笮再|(zhì)的 AS3,舉例其中的語法關(guān)鍵字:表 2-1 flex 關(guān)鍵字2.3對(duì)象模型與模型驅(qū)動(dòng)開發(fā)2.3.1對(duì)象模型UML 的類圖元素分為:類;接口;包;2.3.2模型驅(qū)動(dòng)開發(fā)(MDD)模型驅(qū)動(dòng)開發(fā)(Model-driven development,MDD)是軟件開發(fā)的一種樣式,其中主要的軟件工件是模型,根據(jù)最佳實(shí)踐,可以從這些模型生成代碼和其他工件。模型是從特定角度對(duì)系統(tǒng)進(jìn)行的描述,它省略了相關(guān)的細(xì)節(jié),因此可以更清楚地看到感興趣的特性。例如,結(jié)構(gòu)工程師會(huì)創(chuàng)建適合于確定建筑物承載特性的模型。第 - 6 - 頁 共
12、 10 頁3.系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)3.1 系統(tǒng)框架設(shè)計(jì)3.1.1框架概念系統(tǒng)分為兩個(gè)模塊,分別為:parser(解析 AS 文件),view(顯示元素)。 Parser 部分主要使用 Python 解析 AS 文件,取出其類,接口信息到 XML 文件中。而 View 提供顯示和操作功能。在 View 中所顯示的類和接口信息統(tǒng)一標(biāo)示為元素,下文將以元素稱之。3.1.2框架設(shè)計(jì) 圖 3-1 解析 AS 文件獲取類,接口數(shù)據(jù)3.1.3View 模塊設(shè)計(jì)邏輯模塊主要有三個(gè)部分,分別為總控 IUIControl1;單一操作 IselectionUil;復(fù)合操作 IlocalUil。圖 3-6 邏輯層繼承關(guān)系
13、IselectionUil 分別由CciViewSelectionUil,CBViewSelectionUil,CLocatePlacemarkSelectionUil2實(shí)現(xiàn)。圖 3-7 IselectionUil 實(shí)現(xiàn)關(guān)系1 IUIControl 邏輯模塊操作的總?cè)肟?,管理鼠?biāo)消息的流向。2 CI,Browser,locatePlacemarkSelection 三個(gè)模塊的鼠標(biāo) move,down,up 操作集合。第 - 7 - 頁 共 10 頁4. 系統(tǒng)詳細(xì)設(shè)計(jì)4.1 場景管理數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)第 - 8 - 頁 共 10 頁結(jié)論隨著軟件工程規(guī)模的發(fā)展以及軟件市場競爭日益激烈,開發(fā)商在投入生產(chǎn)時(shí)
14、越來越要求生產(chǎn)周期短,生產(chǎn)效率高。因此作為生產(chǎn)線中的一員,開發(fā)者需要較強(qiáng)的生產(chǎn)力,此外,更現(xiàn)實(shí)的是,開發(fā)者需要一款強(qiáng)有力的輔助理解框架,提高開發(fā)效率的工具。在理解和開發(fā)項(xiàng)目過程中,要求開發(fā)者能掌握住項(xiàng)目的核心模塊,深入了解自己負(fù)責(zé)模塊的同時(shí),也要對(duì)其他模塊有足夠的認(rèn)識(shí),這樣才能保證開發(fā)出有質(zhì)量的代碼。與以往不同的是,伴隨著工程進(jìn)度,文檔,類圖都要同步更新,在這過程中,會(huì)耗費(fèi)一定的人力以及資源,提高了生產(chǎn)成本。使生產(chǎn)商能集中精力于產(chǎn)品問題上,能把資金運(yùn)用到項(xiàng)目更關(guān)鍵的地方;使用開發(fā)人員提高生產(chǎn)效率。本系統(tǒng)提供的類圖搜索以及類圖特征提取能切實(shí)的解決用戶的需求。使用戶能更快地解決問題,提高生產(chǎn)力。第
15、 - 9 - 頁 共 10 頁參考文獻(xiàn)1 劉超,李健,沈海華. 面向?qū)ο蟪绦蚩梢暬悎D的逆向自動(dòng)生成2 不詳. Action Script 維基百科3 不詳. ECMAScript 維基百科4 歐洲計(jì)算機(jī)制造商協(xié)會(huì). ECMA-262 5th December 20095 Mark de Beng 等著. 計(jì)算幾何 算法與應(yīng)用第三版 清華大學(xué)出版社 20086 譚云杰 著. 大象:Thingking in UML第一版 中國水利水電出版社 20097 Erich Gamma 等著. 設(shè)計(jì)模式第一版 機(jī)械工業(yè)出版社 20078 Douglas B.West 著. 圖論導(dǎo)引第一版 機(jī)械工業(yè)出版社
16、20069 Joshua Noble 著.Flex3 Cookbook 中文版第一版 電子工業(yè)出版社 200910 嚴(yán)蔚敏 著. 數(shù)據(jù)結(jié)構(gòu)第一版 清華大學(xué)出版社 200911 Frederick P.Brooks 等著. 人月神話第一版 200712 Steve McConnell 著. 代碼大全第二版 200613 Angeline, P.J. The Effects of Noise on Self-Adaptive Evolutionary Optimization. In125,pp.433-439 199614Grefenstette,J.J. Incorporating Probl
17、em Specific Knowledge into Genetc Algorithm.In68, pp.42-60 198715Greene, F. A Method for Utilizing Diploid and Dominance in Genetic Search.In185,pp.439-444 1994第 - 10 - 頁 共 10 頁致謝在廣州大學(xué)四年的大學(xué)學(xué)習(xí)很快就要結(jié)束了,非常懷念和同學(xué)們共同學(xué)習(xí)的時(shí)光。此次畢業(yè)設(shè)計(jì)的順利完成,特別需要感謝老師提供了這么好的一次機(jī)會(huì),并且一直以來不辭辛勞的指導(dǎo)我們。在我們做設(shè)計(jì)過程中,給了我們很多建議和鼓勵(lì)。感謝大學(xué)里的各位老師,你們的辛勤教學(xué),再一次充實(shí)了我。感謝項(xiàng)目組,提供了這個(gè)機(jī)會(huì)讓我參與這個(gè)項(xiàng)目開發(fā)。在和前輩的交流中學(xué)習(xí)到有效地開發(fā)方法,同時(shí)也進(jìn)一步鍛煉了自己的算法設(shè)計(jì)能力。最后,感謝我的家人在我漫漫求學(xué)之路上對(duì)我的理解和支持。謝謝所有關(guān)心、支持我的師長、親友們。