版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、UML建模工具開發(fā)實踐Trufun software議題v你準備好了嗎?vUML建模工具開發(fā)三步曲vUML建模工具開發(fā)高階探討v我們的實踐:Trufun Platov提問你準備好了嗎?必備條件v個人v你真的了解UML嗎?v從OMG下載所有相關的UML白皮書和參考手冊,能讀多少遍,就讀多少遍.v將相關UML & MDA普及網(wǎng)站的所有UML技術文章通讀一遍,如UMLChina.MDAChina,trufun。v你知道你未來的產(chǎn)品是什么樣子嗎?v熟練操作IBM Rational Rose、Borland Together,或Trufun Plato。知己知彼。你準備好了嗎?必備條件v個人v你
2、有足夠的軟件開發(fā)經(jīng)驗嗎?v精通架構(gòu)設計、對常用設計模式爛熟于心。v最起碼精通一門語言。具體什么語言都無所謂。推薦Java,C#.v你有足夠的時間嗎?v如果是全職開發(fā),有一個成型的DEMO要12年。v如果是兼職,要35年。每天要堅持2個小時。v你有足夠的資金養(yǎng)家糊了口嗎?v因為你的這項投入5年之內(nèi)賺錢的可能幾乎為零,甚至永遠為零。你準備好了嗎?必備條件v公司v你有足夠的資金嗎?v想一想IBM收購Rational的出價, Borland收購Together的價碼,掂量一下你的錢袋!v你有膽量和軟件巨人直面較量嗎?v如果你的對手是Microsoft, IBM, Borland,你還能睡著覺嗎?v你有
3、頂尖的人才嗎?v精通UML的人才:類似Rational的三劍客。v頂尖的系統(tǒng)架構(gòu)師:沒有的話,還是不要做了。v豐富經(jīng)驗的高級軟件工程師。建模工具開發(fā)三步曲v構(gòu)建完備的圖形系統(tǒng)v構(gòu)建UML對象類庫v基于二者,構(gòu)建UML IDE第一步:構(gòu)建圖形系統(tǒng)v什么是圖形系統(tǒng)?即矢量繪圖系統(tǒng)。這是UML建模的基礎的基礎。v成功范例:Visio.這是目前公認做的最好的圖形系統(tǒng)。v參考開源代碼:JGraph(Java)。JGraph是一個強力的,輕量級的,具有豐富特色的,而且徹底開放源碼的圖形構(gòu)件。 v建議:如果要使用開源代碼,建議使用BSD協(xié)議、LGPL協(xié)議或Apache相關協(xié)議代碼。第一步:構(gòu)建圖形系統(tǒng)v要實
4、現(xiàn)的功能:v圖形繪制:v基本圖形: Text, Rect, Circle, Linev可連接的圖形:Node, Edge.v外部圖像:如bmp,wmf, emf.v圖形交互vUndo/RedovCut,Copy,PastevMove,Resize, RotatevText, Font, BgColor,ForeColorvFormat: Nudge, Ordering, Align, DistributevGroup, UnGroup第一步:構(gòu)建圖形系統(tǒng)v要實現(xiàn)的功能:v視圖:vZoom out, Zoom In.vOverView.v圖形輸入輸出v復制圖像到Clipboardv保存到文件:最
5、好是XML文件,或SVG。v讀取文件v打印v其他UI支持:vToolBoxvProperty Editor第二步:構(gòu)建UML對象類庫v如果使用面向?qū)ο笳Z言就要采用OOA和OOD。vUML對象很多,關系也很復雜。v建議使用JMI接口。并使用已經(jīng)有的JMI實現(xiàn)(如NetBeans的實現(xiàn))。例如poseidon就將原來ArgoUML采用的nsuml類庫改為NetBeans的實現(xiàn)。第二步:構(gòu)建UML對象類庫v特別提出的功能v要具備高度的擴展性:因為UML從1.3,1.4一直到2.0,對象及對象關系變化非常大。v要充分支持UML Profile :Tag, Stereotype。v和其他建模工具的模型共
6、享:要支持XMI的導入導出。v支持UML對象操作的還原:undo/redo第三步:構(gòu)建UML IDEv將圖形系統(tǒng)和UML對象類庫完美的融合,構(gòu)建一個完整的UML應用環(huán)境。v二者的結(jié)合架構(gòu):MVCv將圖形看作是UML對象的視圖(View)。v將UML對象看作是圖形的Model(模型)。v一個UML對象可以有多個視圖表示。第三步:構(gòu)建UML IDEv針對UML定制圖形環(huán)境v實現(xiàn)所有框圖類型:Class Diagram, UseCase Diagram, StateChart Diagramv實現(xiàn)所有可見的UML對象視圖:類、接口、依賴、關聯(lián)、用例、角色、形狀、對象v定制工具箱和工具生成規(guī)則:如類和
7、類之間不可以用實現(xiàn)關系連接、狀態(tài)圖不可以繪制類第三步:構(gòu)建UML IDEv創(chuàng)建UIv作個漂亮的Splashv創(chuàng)建主菜單:最好是可以merge的菜單。v創(chuàng)建快捷菜單(Context Menu):不同的元素顯示不同的快捷菜單。v創(chuàng)建工具欄v創(chuàng)建工具箱v創(chuàng)建屬性編輯器v創(chuàng)建其他窗口:如Output Window, Model Browser建模工具開發(fā)三步曲v好了,現(xiàn)在已經(jīng)有了功能基本完備的UML建模工具了。v下面要做的是:v進行嚴格的單元測試和系統(tǒng)測試。v制作安裝程序v如果是個人,可以提交到各下載網(wǎng)站。同時也可以創(chuàng)建自己的網(wǎng)站,來宣傳。v如果是公司,可以做測試版,進行公測。之后,就可以進行媒體宣傳
8、了。UML建模工具開發(fā)高階探討v如果只是開發(fā)一個UML工具來玩一玩的話,前面做的已經(jīng)足夠!v假設,你要做的是一個商業(yè)的,可以拿來和Rose、together相提并論,最重要的是,可以讓用戶心甘情愿的購買的話,那么,你要做的還有很多!UML建模工具開發(fā)高階探討v高階話題1:開放性。v必須有高度的開放性的原因:為什么現(xiàn)在eclipse現(xiàn)在成為最有人氣,最有前景的IDE工具?就是因為它的開放性,全世界有那么多人來為它寫插件,來豐富它的應用!更有Mozilla的firefox,更是眼前的成功范例!UML建模工具開發(fā)高階探討v高階話題1:開放性。v開放什么?v你的UI是否可以由用戶隨心所欲定制?UI包括
9、主菜單、工具欄、工具箱、窗口、快捷菜單.v是否支持腳本:如果對你的應用進行擴展,都要進行編譯,會嚇退很多人。為什么BASIC語言那么受初學者歡迎,就是因為它不用編譯。v是否公開API:是否你系統(tǒng)的所有必須公開的對象都已經(jīng)公開?如用戶通過腳本來修改一個類的名字,或者用戶可以通過腳本來打開一個外部文件。UML建模工具開發(fā)高階探討v高階話題1:開放性。v如何開放?v將所有UI的定義都放在外部文件中,文件最好是易讀的XML格式。v整理你的系統(tǒng)類庫,公開所有必須公開的類、類的屬性、方法以及詳細的說明。v支持適合的腳本:如JavaScript,VBScript等。v定義插件結(jié)構(gòu)。UML建模工具開發(fā)高階探討
10、v高階話題2:強大的插件v現(xiàn)在或者將來必須具備的插件vWeb Publish:并非所有的相關人員都安裝建模工具,當你向其他人來介紹你的設計時,最好的辦法將模型轉(zhuǎn)換為網(wǎng)頁。這樣,每個人都可以看到你的成果。vDocument Builder:如果在建模的同時,就能同時構(gòu)造好相關文檔如需求分析、系統(tǒng)設計該多好!v其他建模工具模型文件導入導出:如可以導入Rose的MDL文件格式。UML建模工具開發(fā)高階探討v高階話題2:強大的插件v現(xiàn)在或者將來必須具備的插件v編程語言插件:現(xiàn)在的編程語言很多,但是起碼可以支持常用的如Java、C#等。v反向工程v模型驗證v正向工程v其他:如J2EE的單元測試、部署等。v
11、內(nèi)嵌IDE:如Together(TCC,可以直接編輯、編譯、調(diào)試)。v和其他IDE的集成:如和JBuilder的代碼同步。UML建模工具開發(fā)高階探討v高階話題2:強大的插件v現(xiàn)在或者將來必須具備的插件v數(shù)據(jù)庫插件:如Rose的DataModeler。當然,還是PowerDesigner的數(shù)據(jù)建模功能最強。vXML插件:如DTD和Schema的建模支持。vCVSvUML建模工具開發(fā)高階探討v高階話題3:未來的UML工具v支持UML 2.0vMDAv可執(zhí)行的模型vMDA距離我們還有多遠?v是期盼?還是恐懼?我們的實踐:Trufun PlatovTrufun Plato就是我們實踐的產(chǎn)物。v歷時3年
12、,才有了初步為大家認可的Trufun Plato 2019.vTrufun Plato的路還很長。Trufun 的歷史v04/1/30:注冊國際域名trufun。v04/2/2: 開通網(wǎng)站trufun。v04/3/15:在網(wǎng)站發(fā)布Trufun Plato 1.0試用版。v04/4/17:開通網(wǎng)站論壇。v04/6/14:發(fā)布Trufun Plato 2.0。v04/7/14:開始建構(gòu)MDA軟件Trufun Kant。v04/11/7:發(fā)布Trufun Plato 2.8.5v05/2/27:發(fā)布基于全開放式架構(gòu)的Trufun Plato 2019(V3.0)及Trufun Kant 2019V0
13、.0.1, MDA for Java)。網(wǎng)站全新改版。v05/3/24:發(fā)布升級版Trufun Plato 2019(V3.1)及Trufun Kant 2019V0.1)。Trufun的產(chǎn)品楚凡科技目前擁有兩大品牌CASE產(chǎn)品: UML建模產(chǎn)品:Trufun Plato。Trufun Plato 是專業(yè)的UML建模工具,全面支持OMG標準UML V1.4,是全球第一款中文UML建模工具,是微軟推出.Net Framework以來全球第一款基于.Net的大型桌面應用程序,是為中國UML用戶量身定做的全中文用戶界面的優(yōu)秀產(chǎn)品。MDA產(chǎn)品:Trufun Kant。Trufun Kant 是基于Tr
14、ufun Plato的MDA工具,即中國第一個基于UML的模型驅(qū)動架構(gòu)開發(fā)工具,也是是全球第一款中文MDA開發(fā)工具。Trufun Kant覆蓋了軟件開發(fā)的各個環(huán)節(jié),使用Trufun Kant,不僅可以通過UML進行需求捕獲、系統(tǒng)分析、系統(tǒng)設計,同時可以進行代碼生成、編譯、調(diào)試、運轉(zhuǎn)、打包、部署, 以模型驅(qū)動整個軟件開發(fā),真正實現(xiàn)了以模型為中心的軟件開發(fā)新模式,從軟件工具層面支持開發(fā)者創(chuàng)建“可執(zhí)行的模型”。Trufun Plato 功能介紹v優(yōu)秀的UML建模支持v方便高效的集成環(huán)境和易用使用的用戶界面v功能強大的插件v設計模式支持v基于OpenIDE和OpenAPI的全開放式環(huán)境v其他:主題、隨
15、機附帶的大量建模例程、全中文聯(lián)機幫助和建模指南UML建模支持框圖vPlato支持UML1.4所有框圖類型:vClass DiagramvUseCase DiagramvStateChart DiagramvActivity DiagramvSequence DiagramvCollaboration DiagramvComponent DiagramvDeployment DiagramUML建模支持:類圖UML建模支持:用例圖UML建模支持:狀態(tài)圖UML建模支持:活動圖UML建模支持:協(xié)作圖UML建模支持:部署圖強大的元素規(guī)格定義對話框UML建模支持UML Profile支持vTag擴展:用
16、戶可針對每個模型元素定義自己的Tag及Tag值v構(gòu)造型(Stereotype)擴展:v可針對元素類型定制元素構(gòu)造型v可以指定構(gòu)造型的顯示圖標v可以指定構(gòu)造型在框圖上的顯示樣式,可以是外部的wmf或emf文件UML建模支持構(gòu)造型擴展UML建模支持XMI支持v支持XMI格式的模型文件交互vTrufun模型可以導出為XMIvTrufun可以導入XMI格式的模型文件優(yōu)秀的建模環(huán)境和用戶界面v全中文的使用界面 v美觀的用戶界面,類Visual Studio 的Dockable界面組件,強大的屬性編輯器,靈活的工具箱. v支持Cut, Copy, Paste; v模型元素查找、定位功能。 v視圖的縮放、鳥
17、瞰。 v腳本和代碼區(qū)支持語法高亮顯示。 優(yōu)秀的建模環(huán)境和用戶界面v高效的拖放支持:可以通過拖放改變命名空間,也可以將模型從模型導航器拖放到框圖上。v靈活全面的圖形編輯功能:各種對齊方式、各種自動圖形分布、圖形疊放次序、圖形微移。另外也包括深受用戶歡迎的類圖自動布局功能。v支持打印,圖像復制及圖像文件導出功能; v支持用戶工作空間(Workspace)的保存和打開。 v支持模型文件的自動備份。使得Trufun Plato更加健壯、更加安全v支持主題,預定義眾多配色方案的主題,建模更加色彩繽紛!優(yōu)秀的建模環(huán)境和用戶界面啟動頁功能強大的插件Rose模型導入v可以將Rose模型轉(zhuǎn)換為XMI格式v可以讀
18、入XMI格式的模型功能強大的插件數(shù)據(jù)庫反向工程v通過ODBC支持所有數(shù)據(jù)庫類型v可以選擇要進行反向工程的表和視圖。功能強大的插件文檔構(gòu)造v經(jīng)過“文檔構(gòu)造功能生成各種文檔如需求分析、系統(tǒng)分析或設計等。v可以直接生成rtf格式。v提供各種文檔模板和報表模板。功能強大的插件文檔構(gòu)造功能強大的插件Web Publishv將模型發(fā)布為網(wǎng)頁。功能強大的插件實時代碼生成v在修改模型的同時,生成選中的編程語言代碼。v支持14種常用的編程語言。C#, VB.Net, J#, JScript.Net,C+.Net,C, Ansi C+, Delphi, Perl, Php, Python, Eiffel, Jav
19、a, Caml等14種語言 。v可以直觀的幫助初學者理解模型和語言的映射關系。功能強大的插件實時代碼生成設計模式支持v支持24種設計模式。包括所有GoF的設計模式。v每個模式作為工具箱的一個工具,選中工具,在框圖選擇插入位置,會彈出對話框,此時可對模式進行參數(shù)設置,“確定后即可在類圖上生成該模式。v模式支持全部采用腳本生成,用戶可方便根據(jù)自己需求進行定制或添加自己的設計模式。設計模式支持全開放式的建模和二次開發(fā)環(huán)境vTrufun核心由OpenIDE和OpenAPI組成。vOpenIDE構(gòu)成界面和用戶環(huán)境的基礎。所有用戶界面和用戶環(huán)境都通過OpenIDE來配置完成。比如主菜單、快捷菜單、窗口、工
20、具箱、工具欄、屬性編輯器、資源、程序集。vOpenAPI構(gòu)成建模的核心組件。用戶可以通過OpenAPI來操作系統(tǒng)對象、模型元素對象、并可以對系統(tǒng)行為進行擴展。vOpenIDE和OpenAPI由插件統(tǒng)一起來。在Trufun看來,一切皆是插件。全開放式的系統(tǒng)OpenIDEv插件定義:v插件的常規(guī)信息:包括插件的顯示名,開發(fā)者,版本等信息,顯示在插件管理器列表中。v是否是語言插件:語言插件如Java,非語言插件如Rose模型導入。v插件的接口類:Trufun定義了許多系統(tǒng)事件,如果插件希望可以偵聽這些事件,則必須實現(xiàn)插件接口。如果不需要理會這些事件,則無需實現(xiàn)插件接口。v主菜單:插件可以自行定義要顯
21、示在主菜單的菜單項。菜單項可以顯示在已有的菜單下,也可以自行創(chuàng)建新菜單。v快捷菜單:菜單可以自行定義自己的快捷菜單。快捷菜單是按照當前選中元素類型區(qū)分的,用戶可以針對不同的元素類型來定義自己的快捷菜單。比如,在Java插件中,針對類元素可以添加“新建入口操作的快捷菜單。v工具欄:插件可以定義的工具欄,也可以在已有工具欄上添加自己的工具。v工具箱:在Trufun中,工具箱是根據(jù)框圖類型劃分的,當前框圖類型不同,則工具箱也不同。工具箱也可以根據(jù)用途的不同,區(qū)分為不同的工具類型,比如類圖工具箱,就有常規(guī)類畫一些簡單圖形和類圖繪制類、接口等類圖元素)。而插件可以選擇在需要的框圖工具箱添加自己的工具甚至
22、自己的工具類型。全開放式的系統(tǒng)OpenIDEv插件定義:v屬性編輯器擴展:插件可以自定義在屬性編輯器上顯示的屬性和屬性的編輯。v資源:每個插件都可以定義自己的文本資源和圖形資源,而且也可以進行國際化。在Trufun中,所有資源都是.resource格式,可以方便的使用一些工具編輯、修正。v程序集:如果你實現(xiàn)了插件接口,則需要將實現(xiàn)程序集(即dll)在此指定,以便系統(tǒng)引入此動態(tài)庫。vUML屬性定義:所謂UML屬性,實際上就是Tag標志。你可以在這里定義各種各樣的Tag。如果你的插件是語言插件,則模型語言設置為此語言時,所有Tag都會讀進來。其實,可以認為是插件自己的某些特定配置。v構(gòu)造型定義:如
23、果是語言插件,你可以定義自己的構(gòu)造型。比如Java插件,你可以定義一個 Servlet的構(gòu)造型,以及該構(gòu)造型在模型導航器中顯示的圖標,也可以指定在視圖中顯示的元圖像文件(*.wmf或*.emf)。v數(shù)據(jù)類型定義:語言插件在這里定義自己的數(shù)據(jù)類型。除了數(shù)據(jù)類型之外,還可以定義自己的類庫。 全開放式的系統(tǒng)OpenAPIv用戶可以直接在腳本窗口通過OpenAPI來操作系統(tǒng)對象和系統(tǒng)行為。比如:在腳本窗口輸入” Application.About();”,然后運行腳本,即可看到打開了“關于對話框。v最典型的使用OpenAPI開發(fā)的例子就是設計模式。所有設計模式都是通過腳本來調(diào)用OpenAPI實現(xiàn)。腳本
24、在optiondefaultscripts目錄下。vOpenAPI參考包含在Trufun Plato聯(lián)機幫助中。v另外,OpenIDE的開發(fā)指南也已經(jīng)發(fā)布,可以在網(wǎng)站下載。Trufun Kant 功能介紹v需求分析:用例圖。繼承自需求分析:用例圖。繼承自Trufun Plato。 v系統(tǒng)分析:業(yè)務流程圖、類圖、協(xié)作圖、序列圖等。系統(tǒng)分析:業(yè)務流程圖、類圖、協(xié)作圖、序列圖等。繼承自繼承自Trufun Plato。 v系統(tǒng)設計:類圖、對象圖、組件圖、部署圖。繼承系統(tǒng)設計:類圖、對象圖、組件圖、部署圖。繼承自自Trufun Plato。 v生成源碼和用戶自定義源碼生成源碼和用戶自定義源碼v編譯編譯
25、v單元測試單元測試v運轉(zhuǎn)運轉(zhuǎn) 用Kant進行MDA(for Java)設計v用戶可以通過反向工程將已有項目和源碼導入到模型中。vKant支持如下類型的Java反向工程:vJava源文件vJava字節(jié)碼文件vJar(Zip)v反向工程可保留方法體用Kant進行MDA(for Java)設計vKant &Plato針對Java實現(xiàn)了Java專用的規(guī)格定義對話框。下面是Java類的規(guī)格對話框:用Kant進行MDA(for Java)設計v下面是Java類屬性的規(guī)格對話框用Kant進行MDA(for Java)設計v下面是Java類方法的規(guī)格對話框用Kant進行MDA(for Java)設計v
26、下面是Java接口的規(guī)格對話框用Kant進行MDA(for Java)生成源碼v使用MDA生成源碼和用實時代碼插件生成源碼有太多的不同:v前者完全針對語言定制,考慮到語言的所有特性。而后者只是簡單的映射。v前者生成的源碼包括“用戶代碼保護區(qū)”,在此區(qū)域內(nèi)的代碼受到保護,但模型改變時再次生成代碼時,保護區(qū)內(nèi)代碼不變。而后者不支持。v前者生成的源碼可以在Kant內(nèi)直接進行編譯、測試和運行。后者不可以。v前者可以生成項目文件,如JBuilder項目文件,用JBuilder可以直接打開。從而和JBuilder緊密集成。用Kant進行MDA(for Java)生成源碼v在Kant中提供語法高亮顯示的編輯器來打開和編輯源碼,并提供資源管理器來管理源碼文件。用Kant進行MDA(for Java)生成源碼v在Trufun Kant中,是以構(gòu)造
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 制作莫扎特課件
- 2024-2025學年初中同步測控優(yōu)化設計物理八年級下冊配人教版第8章 第3節(jié) 摩擦力含答案
- 咕咚 生字課件
- 第五講 巧用關聯(lián)詞寫一寫(看圖寫話教學)-一年級語文上冊(統(tǒng)編版·2024秋)
- 地高辛藥品課件
- 2024年黑龍江省齊齊哈爾中考語文真題卷及答案解析
- 幼兒園小班音樂《開汽車》課件
- 西京學院《云計算》2022-2023學年期末試卷
- 2024版教材七年級上冊道德與法治期末訓練
- 《煤油燈》少兒美術教育繪畫課件創(chuàng)意教程教案
- YMO青少年數(shù)學思維26屆1-6年級全國總決賽試卷
- 20道中國銀行審計師崗位常見面試問題含HR常問問題考察點及參考回答
- 簡筆畫(高職學前教育專業(yè))全套教學課件
- 4.2.1電解池高二化學課件(人教版2019選擇性必修1)
- (完整)大體積混凝土測溫記錄表
- 單人徒手心肺復蘇操作評分表(醫(yī)院考核標準版)
- 教育數(shù)字化背景下的創(chuàng)新教學方法及效果評估研究
- 第五章班級活動的設計-與實施
- 小學語文-示兒教學設計學情分析教材分析課后反思
- 《初二班會課件:班級管理與自我管理》
- 食材配送服務方案(技術方案)
評論
0/150
提交評論