Enterprise Architect12中文版是一款計算機輔助軟件工程,這款軟件用于設(shè)計和構(gòu)建軟件系統(tǒng)、業(yè)務(wù)流程建模及更多通用的建模。EA不同于普通的UML畫圖工具(如VISIO),它將支撐系統(tǒng)開發(fā)的全過程。在需求分析階段,系統(tǒng)分析與設(shè)計階段,系統(tǒng)開發(fā)及部署等方面有著強大的支持,同時加上對10種編程語言的正反向工程,項目管理,文檔生成,數(shù)據(jù)建模等方面?梢宰屜到y(tǒng)開發(fā)中各個角色都獲得最好的開發(fā)效率。
軟件特色:
1.UML建模--支持UML2.1
2.代碼工程--按圖生成代碼,導(dǎo)入原有的代碼成為UML圖
3.項目管理程序--包括項目計劃,任務(wù)進度,問題集等
4.文檔生成和模板--可使用文字翻譯替換和自定義的模板為不同的項目打造最適合的文檔類型
5.數(shù)據(jù)庫建模--可從ODBC導(dǎo)入數(shù)據(jù)源結(jié)構(gòu),并進行ER圖的編輯,還可生成建表的SQL語句
6.代碼編輯、調(diào)試和運行--加入編譯腳本,就可以把EA當作IDE來使用版本控制,聯(lián)機討論,局域網(wǎng)協(xié)同開發(fā)等功能。
使用教程:
安裝好了EA漢化版后,啟動軟件。點擊“創(chuàng)建新的項目”,打開創(chuàng)建新項目對話框。
【圖1】
這里可以選擇各種的初始的模板包。
【圖2】
我們選擇了其中幾個,然后確定打開了項目瀏覽器。我們的項目將從這里開始了。
【圖3】
EA軟件配置
在使用軟件之前,我們先來對它進行配置。打開“工具”–>“選項”。
【圖4】
常規(guī)配置中,比較重要的是作者這項。因為在EA項目的團隊協(xié)作中,作者是每個人的身份標識。
在代碼工程中,最好把文件編碼設(shè)置成UTF8或者是GB中文。
其他方面的配置,因為都是中文的,也比較容易理解。有些不明的地方,可以多琢磨。
另外對于最下面的十種編程語言,可以根據(jù)自己的需要,進行一些配置。比如PHP,可以配置PHP4或者是PHP5,那么生成的代碼也是有些不同的。還可以隱藏其他沒有用到的語言。
用例圖,類圖的使用
用例圖(use case)
用例圖是我們做系統(tǒng)分析的通常第一步,是非常重要的。畢竟大部分的開發(fā)流程,都將需求分析作為首要步驟,也是必要步驟。將系統(tǒng)需求化作圖型表達出來。首先是在項目瀏覽器中,右鍵“添加”–>“新建圖表”。
【圖5】
然后可以加入一些角色和用例,在每次在工具箱里面拉出一個元件,都將打開這個元件的設(shè)置對話框,在對話框內(nèi)填入元件的名稱等信息,F(xiàn)在我們是表達一個用戶注冊和登錄的場景:
【圖6】
加入關(guān)聯(lián),用例圖中最常用的關(guān)聯(lián)是“使用use”,當然也經(jīng)常會用到“包含include”“擴展extend”。這兩者的區(qū)別是“包含”是主用例沒有包含其他的輔助用例就不能獨立執(zhí)行,但是主用例可以在沒有“擴展”其他輔助用例的情況也可以執(zhí)行。比如說,注冊是“包含”了檢查驗證碼,但是不一定會“擴展”發(fā)送通知郵件這個用例。
角色是用例圖的行為基礎(chǔ)。雖然角色可以是某種職位的人,或是數(shù)據(jù)庫,或是外部系統(tǒng)交互接口,但是每個用例圖,都是以角色為開始的。角色可以有類屬關(guān)系。比如說注冊用戶同時也是網(wǎng)站訪問者,注冊用戶可以做一切訪問者可以做的事情,但是注冊用戶還擁有一些網(wǎng)站訪問者沒有涉及的功能,比如登錄發(fā)文章之類。
【圖7】
類圖(Class)
類圖是代碼工程的基礎(chǔ),同時也是系統(tǒng)設(shè)計部分的主體工作。類圖主要體現(xiàn)了系統(tǒng)詳細的實現(xiàn)架構(gòu)。首先我們來制作一個實現(xiàn)用戶注冊功能的注冊業(yè)務(wù)類。
【圖7】
在生成類后,我們可以加入一些變量(在類元件上右鍵“變量”),變量主要將保存類本身的一些數(shù)據(jù),如同人的性別,年齡等數(shù)據(jù)特征一樣。比如我們注冊類,也有數(shù)據(jù)鏈接的變量(它需要知道自己是和哪個數(shù)據(jù)庫打交道的),還可能有著每IP單日注冊數(shù)量限制的數(shù)據(jù)變量等等。
【圖8】
類還需要加入方法(在類元件上右鍵“方法”),比如說注冊類中,需要檢查輸入的驗證碼,需要進行數(shù)據(jù)操作,需要檢查單日注冊數(shù)量等等。在類的方法里面,我們還可以設(shè)置每個方法的參數(shù),參數(shù)類型,還有參數(shù)的備注,這將在代碼工程內(nèi),直接作為參數(shù)和方法的注釋生成到代碼文件內(nèi)。
【圖9】
各個類之間,可能存在著一些關(guān)系,那么我們使用關(guān)聯(lián)來表達這些關(guān)系。常用的有繼承關(guān)系(Generalize,或者叫派生類)。例如注冊的時候,我們可能有些特殊的注冊方式,比如接收了VIP卡號的人員注冊。VIP注冊比普通注冊多了一些步驟,比如驗證VIP卡號有效性等。這個VIP注冊類,就繼承于注冊類,擁有了全部普通注冊的功能,但是又有一些自己特有的功能,這樣就能體現(xiàn)了代碼的可重用性。同時在代碼生成的時候,會加上“extends”這個關(guān)鍵字來標識他們的關(guān)系。
【圖10】
其他圖形的使用
【圖11】
對象圖(Object),這是類圖的一種補充,主要是演示了系統(tǒng)中各個類,在不同的場景中,實例化之后所做的不同事情。
交互圖(interaction),協(xié)作圖(communication)和時序圖(Timing),他們都是體現(xiàn)了系統(tǒng)中一些實體之間的互相交互的行為。協(xié)作圖是側(cè)重與表達實體之間的協(xié)作交互,在新版的UML中,協(xié)作圖也叫通訊圖,更能體現(xiàn)了實體之間是以通訊的方式來進行協(xié)作的原理。而時序圖是強調(diào)了各個實體件進行交互的前后順序。例如發(fā)送注冊成功的提示郵件,那么是發(fā)生在注冊類檢驗輸入數(shù)據(jù)之后,而不能是之前。
另外,還有一些其他的圖形,比如狀態(tài)圖(State),部署圖(Deployment),組件圖(component),活動圖(Activity),這些請參考相關(guān)文檔。同時EA支持的圖形有非常的多,其中思維圖(表達和輔助了思維的思考過程),WEB模型圖(表現(xiàn)了網(wǎng)站上部署的模型結(jié)構(gòu))是最近幾個版本中才出現(xiàn)的。
數(shù)據(jù)建模
在數(shù)據(jù)模型圖(Data Modeling)中,EA支持13種不同型號的數(shù)據(jù)庫建模,可直接生成建表SQL語句,同時也可以通過ODBC,導(dǎo)入已存在的數(shù)據(jù)表結(jié)構(gòu)。
【圖12】
下例我們建立一個學生宿舍人員組成的數(shù)據(jù)表,表類型使用的是MySQL。首先是建立了一個數(shù)據(jù)表元件,然后設(shè)置它的屬性。
【圖13】
加入字段(表元件上右鍵“變量”),設(shè)置字段的數(shù)據(jù)類型,長度,設(shè)成主鍵等。這里可以使用中文作為字段名,在“別名”處才寫上英文字段名,在生成SQL的時候,選擇“使用可用的別名”就可以生成英文名稱的字段名。
【圖14】
生成建表SQL,點擊數(shù)據(jù)模型的上級包,然后選擇“項目”–》“數(shù)據(jù)建!报C》“生成SQL代碼”,打開生成SQL的對話框。
【圖15】
設(shè)置好了后,點擊生成,就可以生成了一個完整的SQL建表語句了。
【圖16】
代碼工程
代碼工程就是將已經(jīng)畫好的類圖,使用EA來生成相應(yīng)的代碼結(jié)構(gòu),之所以說是代碼結(jié)構(gòu),是因為生成的代碼中,僅有初始的類結(jié)構(gòu)和一些預(yù)設(shè)的值,類方法內(nèi)部的代碼還是需要手動去寫的。另外,如果你在類的設(shè)置里,或者是變量,方法還有方法的參數(shù)里,加上了備注,那么,代碼工具將會幫助你把這些備注全部生成工整的代碼注釋。
使用之前的一個PHP類,選中右鍵“生成代碼”。然后彈出生成代碼的對話框。
【圖17】
設(shè)置后,點擊生成就可以生成了代碼結(jié)構(gòu)了。
【圖18】
其他語言的代碼生成過程,也是大同小異的。代碼工程(正向工程)產(chǎn)生的代碼格式,可以在“設(shè)置”–>“代碼工程模板”里面進行自定義的模板修改。
反向工程
反向工程是將原有的類庫代碼,使用EA進入導(dǎo)入類結(jié)構(gòu),直接生成類圖。這在系統(tǒng)重構(gòu),或者是基于舊項目類庫制作新項目的時候,比較有用。
在項目瀏覽器,你要導(dǎo)入反向工程類圖的位置,右鍵“代碼工程”–> “導(dǎo)入源文件目錄”,打開反向工程對話框:
【圖19】
設(shè)置好后,點擊導(dǎo)入。一小段時間,就能將一個類庫導(dǎo)入了。以下演示的是導(dǎo)入SpeedPHP框架1.5版本的類圖。
【圖20】
項目管理
在EA中,不僅能對整個軟件開發(fā)生命周期的支持,還提供了項目管理,例如人員的管理,進度管理,風險管理等。
菜單“查看”–>“項目管理”
【圖21】
這里你可以分別管理“(人力)資源”,“工作”,“風險”,“度量”等幾個方面。
文檔生成
EA可以生成非常多種類型的文檔,以方便針對不同情況和不同閱讀對象,生成不同側(cè)重的文檔。還可以有RTF格式和HTML格式的選擇。
在項目瀏覽器中,選擇一個模型節(jié)點。然后右鍵“文檔”–>“RTF文檔”,打開生成文檔對話框。
【圖22】
這里可以生成多種類型的文檔。點擊“生成”。然后就會生成了一個RTF文件。
【圖23】
默認生成的文檔,里面有大部分的英文。當然,你可以將他們在RTF文件中改寫成中文。另外還可以使用生成文檔對話框中的“詞語翻譯”,來進行對應(yīng)的翻譯,再生成新的翻譯后的文檔。同時你也可以直接修改EA中的文檔模板,這樣也可以產(chǎn)生自定義的文檔。