開發過程中,如果重構以前成型的系統,必然涉及到已有代碼到架構圖的轉換;如果是首次開發,必然涉及到架構圖到代碼的轉換,我們分别稱之為逆向工程和正向工程,不隻包括代碼,還包括到資料庫到架構圖的轉換,本文主要涉及到這三部分。
一、正向工程
架構圖→代碼
這是很常見的轉換,如果圖架構的好,建立完善的類和函數,再将系統各層之間的引用關系表明,可以生成整個系統的代碼架構。這對合作開發非常重要,有了這個架構每個組員即可各司其職動手寫代碼了。如下,将類圖生成代碼:
在此類圖所在包上,右鍵---代碼工程---生成源代碼:
進入代碼工程設定頁面,選擇需要導出的類和位置:
導出來的類圖如下:
如果架構圖中把類注釋,函數參數、傳回值、注釋寫完整(EA自動生成的代碼暫沒發現傳回值注釋),導出來的代碼如下:
架構圖→文檔
同樣,架構圖也也可生成文檔,可節省很可觀的文檔時間,與導出代碼的方法類似,同樣是将上述包生成類圖文檔,右鍵---文檔---RTF文檔:
進入生成文檔的設定界面,選擇合适的模闆和位置,生成文檔即可:
生成代碼文檔一覽:
二、逆向工程
逆向工程指的是針對已有的,推出其實作的設計和細節,本文要說的是針對已有的代碼和資料庫,生成其架構圖的過程。
EA中的逆向工程
代碼→架構圖
從代碼轉換到架構圖,主要是為了複用已經存在的架構,轉為類圖到EA中,在此基礎上拓展,進而複用這些類圖,将一下類轉換成類圖:
在EA中的操作如下:項目—代碼工程—選擇要導入的代碼檔案種類
導入完成:
效果圖:生成的類圖,不止包含方法屬性,也包含注釋的所有資訊,以及類之間的關系
當然EA還可以将資料庫表轉換成實體類,将資料庫轉換成資料模型圖,之前也有代碼已經完成需要補充各種圖的時候,很多時候就是自己手動完成,其實這樣會浪費很長的時間,其實這就是站在巨人的肩膀上,可以大大地提高我們學習工作的效率。