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