• <td id="ae6ms"><li id="ae6ms"></li></td>
  • <xmp id="ae6ms"><td id="ae6ms"></td><table id="ae6ms"></table>
  • <table id="ae6ms"></table>
  • <td id="ae6ms"></td>
    <td id="ae6ms"></td>
  • <table id="ae6ms"></table><table id="ae6ms"><td id="ae6ms"></td></table>
  • <td id="ae6ms"></td>
  • <table id="ae6ms"><li id="ae6ms"></li></table>
  • <table id="ae6ms"></table>
    西西軟件園多重安全檢測下載網站、值得信賴的軟件下載站!
    軟件
    軟件
    文章
    搜索

    首頁編程開發其它知識 → Architexa簡介:讓UML變得簡單、快速

    Architexa簡介:讓UML變得簡單、快速

    相關軟件相關文章發表評論 來源:本站整理時間:2010/6/20 16:47:20字體大?。?em class="fontsize">A-A+

    作者:佚名點擊:310次評論:1次標簽: UML

    BOUML(編程代碼工具)V4.22.1 官方免費版
    • 類型:編程工具大?。?i>7.0M語言:英文 評分:8.5
    • 標簽:
    立即下載

    Architexa是個全新的基于Eclipse的UML建模工具,開發人員可以憑借Architexa的UML圖快速洞悉代碼之間的關系并與他人共享這些內容。之所以能快速探測代碼基,關鍵在于Architexa為開發者提供了3種熟悉的圖表類型(層次圖、類圖與序列圖),隨著開發人員對代碼基理解的不斷深入,他們可以在Architexa的幫助下構建代碼之間關系和粒度。

    最近有幸采訪到了Architexa的創建者Vineet Sinha以深入了解該工具,同時明晰了它為何能幫助開發者處理日益膨脹的代碼基。

    Architexa是如何在其他UML工具欠缺的地方幫助開發者的?

    我們將精力放在了代碼需求而非設計需求上,希望能幫助開發者更快地理解代碼,理解好相關的任務、相關的文檔并能輕松地討論這些重要的代碼概念,然后與同伴分享這一切。
    在一開始探索代碼基時可以使用層次圖這一強大的工具。能否向讀者做個簡單的介紹?這個想法來自于現有的工作還是經過了不斷的演變才得出的?你是如何想到它的呢?

    Architexa中的層次圖會根據現有的代碼基作出最接近于層次架構圖的估算。我們注意到大多數層次架構圖都是團隊或項目所用的高層次圖表的主要形式,通常不太容易從眾多的代碼基中找出層次架構圖的蹤跡。如果這類圖可以幫助開發者找到他們最感興趣的部分代碼基,我們打算快速實現一個版本以滿足開發者所需。
    Architexa通過分析代碼并展示模塊來構建層次架構圖,如果某個模塊依賴于另一個模塊,那么就會將它放在圖表的上面。除此之外,我們還需要猜——默認情況下,模塊基本上是根據代碼基的目錄結構創建的。而且,大多數代碼基經常包含循環,我們使用了復雜的算法來處理這種循環,但依然能保證提供高效的層次圖。
    大多數工具套件都是我在MIT(CSAIL)讀博士時嘗試并開發的,我們想要的是一個卓越的工具。主要的想法來自于很多地方:我在下面這些地方花了大量的時間: (i)閱讀了多個項目的軟件文檔以了解共通的東西,(ii)分析了目前提供有效的代碼視圖的工具:雖然這些工具都非常復雜并且需要培訓,但他們各有千秋,我們可以從中了解到這些工具常見的使用模式,這樣就能通過幾次鼠標點擊來簡化工具的使用了,(iii)典型的樹形widget,通常他們都會收起并顯示大量信息,(iv)大量優秀的工具,以便從中找到適合我們的圖表的技術。
    在構建好了第一個原型后,我們發現了很多問題。雖說實現了大多數主要的想法,但我們意識到了真實世界中的問題(代碼經常有循環),我們開發這些技術不僅是為了解決這些問題(通過層次來忽略掉一些代碼循環),更是為了減輕用戶的負擔,這樣他們就能輕松處理問題了(用戶可以根據這種循環依賴進行擴展、使用彩色高亮顯示當前模塊之上、使用了當前模塊以及與當前模塊之間存在循環的模塊)。
    用戶可以借助于Architexa白手起家,無需對代碼基有任何了解就能起步并不斷探索。在探索代碼基時你發現了自己的使用模式了么?你是如何在每天的開發/設計工作中使用這個工具的?

    我們發現了大量的使用模式并積極地探求這些模式來不斷提升工具的品質。但大多數使用模式還是取決于用戶所要完成的任務:
    如果開始查看項目(或是項目的一部分),用戶通常都需要高層次視圖,在這種情況下,他們會使用層次架構視圖從上開始,然后雙擊視圖深入到代碼內部。
    如果想要查看項目(或是子項目)的核心,用戶通常都需要了解多個類之間的交互關系,因此想要看到多種關系圖(繼承、方法調用、屬性訪問等等),他們尤其喜歡使用類圖。
    如果想要了解一個重要的用例,用戶則需要看到控制流程,在這種情況下,序列圖是個不錯的選擇。
    有沒有什么辦法可以比較現有的圖表和改變后的代碼基呢?

    在代碼基發生變化時,圖表的使用有多種可能。我們支持兩種用例:
    在用戶創建好圖表后又修改了代碼基時:如果再一次打開圖表就會看到一個紅色的錯誤標識,標識類/關系缺失。
    在用戶修改完代碼基后又想創建圖表時:用戶可以右鍵單擊項目,轉到team菜單并讓Architexa根據變更構建一個新圖表而非檢入代碼。這么做的好處在于可以考慮到代碼評審問題,因為生成的圖表通常都是修改后功能的最好總結。
    我們還會在這個地方增加更多支持。
    手工生成圖表是探索代碼基的好辦法,但在構建過程中自動生成(類似于JavaDoc)則可以更好地描繪系統的演變過程。Architexa也能實現該功能么?

    重要的圖表通常會跨越多個類,每個重要的類也會跨越多個圖表,因此把他們放到JavaDoc中沒什么意義。我們允許用戶將圖表上傳到一臺簡單的類似于wiki的服務器上。這樣,用戶不僅可以與其他人共享這些圖片(只需使用瀏覽器即可),還使得我們可以增加額外的信息,這樣使用Architexa客戶端的其他用戶就可以繼續探索其他人寫的代碼了。這些圖表代表了代碼基中的重要概念,因此他們不僅支持用戶添加注釋,還可以在不同的地方嵌入這些圖表,還有版本的概念,這樣就能反映出主要概念的演變過程了。我們還會在這個地方增加更多支持。
    該工具目前支持哪些語言?

    此次發布只支持Java,但我們還有C++原型。
    該工具是否有助于說明組件以及核心類的交互呢(比如說MVC/Web框架交互)?

    當然了。該套件的目標就是展示代碼中顯露出來的關系(方法調用、繼承等等)和運行時出現的關系(對接口或基類的調用)。我們通過靜態關系實現這一點,但允許用戶以任何可行的方式修改圖表。
    能否說說第一版中尚未包含但即將發布的特性,讀者對此可能很有興趣?

    此次發布包含了大量的特性。雖然我們實現了很多特性,但目前主要的目標還是傾聽用戶的想法。

      相關評論

      閱讀本文后您有什么感想? 已有人給出評價!

      • 8 喜歡喜歡
      • 3 頂
      • 1 難過難過
      • 5 囧
      • 3 圍觀圍觀
      • 2 無聊無聊

      熱門評論

      最新評論

      發表評論 查看所有評論(1)

      昵稱:
      表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
      字數: 0/500 (您的評論需要經過審核才能顯示)
      女人让男人桶30分钟免费视频,女人张开腿让男人桶个爽,一进一出又大又粗爽视频
    • <td id="ae6ms"><li id="ae6ms"></li></td>
    • <xmp id="ae6ms"><td id="ae6ms"></td><table id="ae6ms"></table>
    • <table id="ae6ms"></table>
    • <td id="ae6ms"></td>
      <td id="ae6ms"></td>
    • <table id="ae6ms"></table><table id="ae6ms"><td id="ae6ms"></td></table>
    • <td id="ae6ms"></td>
    • <table id="ae6ms"><li id="ae6ms"></li></table>
    • <table id="ae6ms"></table>