Borland併購TogetherSoft之後,推出的 Borland Together是UML塑模工具,共有四個版本,ControlCenter和Solo版都支援多種程式語言,不過ControlCenter更結合所有開發功能,包括開發程式的IDE介面、GUI設計介面、除錯、測試和程式碼的稽核與量化工具,是適合各種程式語言的單一開發與塑模工具。由於TogetherSoft被Borland併購之前已與IBM合作,所以最新6.5版是搭配WebSphere,Together Edition for JBuilder 6是在併購之後兩個月內推出的初步整合的產品。

Together完整支援UML 1.4的各種圖形,操作介面易學易用,功能已超越傳統塑模工具,除提供由圖形產生程式碼的正向工程(Forward Engineering),及由程式碼產生圖形的反向工程(Reverse Engineering)之外,還提供Audits及Metrics功能,可控管程式是否遵循編碼規範,並量化程式碼提供管理數據,確保專案的品質。
整合Together讓JBuilder的塑模功能更完整

安裝Together Edition for JBuilder之前,電腦必須已安裝JBuilder 7或8版,否則Together偵測不到JBuilder的目錄便無法安裝。安裝完成後複製Together Trail Key檔到Borland/ TogetherJBE/bin目錄下即可啟動。目前JBuilder與Together尚未完全整合,雖然操作介面各自獨立,但在JBuilder專案視窗中,點選專案名稱按滑鼠右鍵選擇「Open Project in Together」,Together立即依專案檔的JDK版本、文件、程式碼備分路徑、Library等產生Together的專案檔,建立Together專案的過程包含反向工程,自動依程式碼產生對應的UML圖形。

雖然JBuilder 8已提供UML、測試、除錯及重構(Refactoring)功能,適合以XP(Extreme Programming;極端軟體製程)等靈巧的方法論開發的專案,但僅提供單向由程式碼產生UML圖的反向工程,無法藉由修改UML圖正向產生程式碼。JBuilder與Together Edition for JBuilder整合之後,可即時由正向工程和反向工程同步產生對應的圖形或文字,彈性應用於各種開發流程方法論。
LiveSource技術確保模組與程式碼步調一致

開發人員最擔心的,就是專案的UML設計模組與程式碼是兩回事。雖然CASE Tool產品都可提供由模組正向產生程式框架,及反向由程式碼產生模組的功能,但是大多無法即時反應,必須透過轉換因而產生不一致的情況。

模組與程式碼的轉換愈平順,開發過程發生的問題就愈少,Together獨特的LiveSource技術,能確保程式碼與模組的變更立即同步,在程式碼中新增任何Class或Method,模組相對產生對應的Class Diagram或Properties;新增任何模組也會立即產生程式框架。如果擔心同步作業影響開發效能,可調整同步的頻率或改成手動同步。

許多CASE Tool產品將所有的UML圖儲存為單一的Binary檔,將檔案儲存在共用的Repostory中,雖能共享資源但必須搭配特定的版本管控系統,當有人需要修改模組時,必須把整個Binary檔登出(Check Out),其他人同時要存取檔案時便出現瓶頸。Together的作法是把程式碼對應的UML圖產生各別的TEXT檔案,Use Case等與程式碼無關的圖則產生各別TEXT檔案,可搭配各種版本管控系統,開發人員只要將指定檔案登出(Check Out),不會影響其他模組的存取。
超越塑模功能的CASE Tool

在塑模工具中,Together的Audits、Metrics功能是特有的功能,讓Together超越了塑模的角色,進一步控管專案的品質,撰寫程式若遵照一致性的規範,不但利於管理也有助於提升程式品質及系統可維護性。在軟體的生命周期中,據統計有80%的成本是花在維護工作上,由於開發人員離職頻繁,負責維護的人往往不是當初的設計開發者,藉由編碼規範(Coding Convention)可增加程式可讀性,對於專案開發相當重要。

Together針對Java和C++提供命名衝突、效能瓶頸等超過75種稽核項目,其中包含昇陽定義的25種稽核項目,開發人員只要在指定模組按滑鼠右鍵選「Quality Assurance」的「Audits」,即可勾選要稽核的項目,執行之後Together依嚴重程度顯示不符合編碼規範的部分,可查詢規範說明,也可直接切換到不符合規範的程式碼位置,若Audits表格中Fix欄位顯示F,表示可透過「Auto Correct」功能自動更正。

大型專案程式碼外包的情況顯而易見,企業內也難以控管開發人員的素質,同樣的執行結果,可能有多種程式寫法但效能不同,幾百行的程式有可能以人工檢視,數萬行的程式碼則一定要藉由工具的協助才能確保程式碼的品質。透過Audits功能可輕易找出不符合物件導向封裝原則、影響執行效能的程式碼。

以往非技術出身的主管很難衡量開發人員的工作量,只能放任開發人員自由心證,Metrics可協助量化專案內容,藉以分析開發績效,也許一個小功能只有30行程式碼,開發人員卻花了一個星期的工作天,主管便需深入了解原因。Metrics量化的功能除可協助管理之外,也是專案議價的依據,客戶才不會質疑資訊廠商獅子大開口漫天開價。

靈巧的XP開發方法論中,程式重構(Refactoring)是重要的步驟,在每一次開發循環中,不改變程式外在行為的前提下,修改程式內部結構以求完美。工具在程式重構工作中扮演很重要的角色,例如修改一個Class的名稱,所有呼叫或繼承這個Class的物件都要修改,以人工重構很容易產生問題。Together不但提供更名及移動Class、Interface、Attribute及Method等重構功能,還可粹取及封裝程式碼,讓程式碼更符合物件導向原理,也更具延展性。

對於軟體設計而言,Pattern是對於一再發生的問題,長期演進而成的解決方案。Pattern是公式化的設計樣式,可加速開發的時程,並增加模組之間的獨立性,降低維護成本。軟體設計以使用者需求為出發點,不過使用者需求是變動的,因此若僅符合使用者需求,未考慮模組之間的獨立性,當需求變動時,軟體修改的彈性有限就必須大幅改寫,開發人員常歸咎於使用者需求不夠明確,卻很少思考軟體設計是否提供足夠的彈性。Together內建多種知名Pattern供設計人員套用,也可客製化定義Pattern,讓模組更具獨立性,也可提升生產力。
UML應用於資料庫設計

雖然UML是物件導向程式設計的塑模標準,但UML中的Class Diagram及Object Diagram圖形涵蓋了資料庫設計的功能,透過Class Diagram、Attribute及Association,對應到E-R Model的Entity、Attribute與Relationship。

傳統的E-R Model工具相繼推出包含UML的版本,相對的,UML塑模工具的廠商也在UML工具中包含資料庫設計的功能。Together是專精於UML的CASE Tool產品,只要JDBC支援的資料庫,都可透過Class Diagram正向產生資料庫概要(Schema),也可反向由已建構好的資料庫產生Class Diagram。除了標準的資料庫與程式設計塑模功能,Together更提供多種應用伺服器的部署能力,可針對各應用伺服器的Deployment Descriptor,產生部署EJB所需要的資訊,對於BEA WebLogic Server更提供熱部署功能。

在目前CASE Tool產品中,Together是唯一擁有程式碼品質稽核與量化功能的產品,Borland未來會進一步整合Together與JBuilder成為單一的介面,預計在第二季末到第三季初會推出.NET的版本,.NET程式也可透過單一介面設計並開發專案。Borland在分析設計(Define)、架構設計(Design)、程式設計(Develop)、系統測試(Test)、分發部署(Deploy)及變更管理(Change)等軟體共通開發周期都有對應的產品之後,已由過去著重開發工具的廠商,改變為全方位ALM(Application Lifecycle Management;應用程式開發周期管理)的角色。文⊙李延華

熱門新聞

Advertisement