Understand

使用 Understand Dashboard 對應 IBM i 應用程式物件和相依性,並使用 Bob 直接從掃描資料回答結構性問題。

Understand 是 IBM Bob Premium Package for i 隨附的程式碼智慧元件。它掃描你選擇的 IBM i 應用程式程式庫,並透過建立所有已發現物件的目錄(包括程式、服務程式、模組、檔案、命令、資料區域及資料佇列),建構應用程式的全面模型。Understand 也對應這些物件之間的關係,擷取相依性,例如程式呼叫、檔案存取模式、服務程式繫結、SQL 參考、觸發程序、外鍵關係、日誌設定及資料庫限制條件。

掃描完成後,Bob 可直接從掃描資料回答結構性問題,無需讀取每個原始成員,而 Understand Dashboard 提供視覺化介面以探索物件、相依性及洞察。

注意:

所有掃描資料均來自物件本身。Understand 不會讀取或解析原始碼。若原始成員與系統上已編譯的物件不同步,掃描結果反映的是物件狀態,而非原始碼。

必要條件

注意:

掃描的應用程式資料存放在私人程式庫中。若你授予其他使用者存取此程式庫的權限,他們可能能夠看到他們並無直接授權存取的物件資料。

快速入門逐步說明

內建的 Understand 逐步說明是最快速的入門方式。從命令面板執行 Get Started with Understand 命令以開啟,或開啟 VS Code 中的 Get Started 索引標籤,並選取 Understand your IBM i applications 導覽。

逐步說明會引導你完成以下步驟:

  1. 連線至 IBM i
  2. 安裝 Understand 元件
  3. 建立第一個應用程式
  4. 掃描應用程式
  5. 使用 Bob 探索結果

從 Get Started 索引標籤開啟 Understand 逐步說明

Understand Dashboard

Understand Dashboard 是管理應用程式和探索掃描結果的核心介面。從命令面板執行 Open Understand Dashboard 命令,或按一下 Bob 聊天檢視標題列中的 understand dashboard 圖示以開啟。

Opening the Understand Dashboard from the Bob chat view title bar

Dashboard 分為以下索引標籤:

索引標籤用途
Overview安裝、更新及監控 Understand 元件的狀態。
Applications建立、掃描及管理 IBM i 應用程式。
Libraries在選取的應用程式中新增或移除程式庫。
Objects搜尋並篩選每個已掃描的物件;選取一個物件以查看它使用哪些項目,以及哪些項目使用它。
Insights物件和相依性計數、最常被參照的物件、動態 SQL 風險、觸發程序、外鍵及已日誌記錄的物件。
Messages每個掃描步驟的診斷和狀態資訊。
Settings快速存取安裝程式庫設定。

安裝 Understand 元件

掃描任何應用程式前,必須先在 IBM i 上安裝 Understand 元件。

開啟 Understand Dashboard,並前往 Overview 索引標籤。

若未設定安裝程式庫,請在元件卡片上選取 Set install library,並在設定編輯器中輸入程式庫名稱。

返回 dashboard,然後選取 Install Understand。

當擴充功能更新隨附較新版本時,Overview 索引標籤上的同一張卡片會提供 Update Understand 動作。

Installing the Understand component from the Overview tab

建立應用程式

應用程式由一個有序的相關程式庫清單組成,代表單一 IBM i 應用程式,例如薪資系統的 PAYLIB 和 PAYDTA。

在 Applications 索引標籤中,選取 New application:

  1. 輸入顯示名稱和選填說明。
  2. 開始輸入程式庫名稱。清單會顯示已連線系統上可用的使用者程式庫,並排除系統程式庫(Q*、SYS* 及 #*)。
  3. 選取建議的程式庫,或按 Enter 新增程式庫名稱。程式庫會依新增順序進行掃描。

你可以隨時從 Libraries 索引標籤新增或移除程式庫。

在 Applications 索引標籤建立新應用程式

掃描應用程式

掃描會分析應用程式程式庫中的每個物件,並記錄它們之間的相依性。在 Applications 索引標籤中,選取應用程式旁的 Scan 以開始掃描。

  • 掃描進度顯示在 dashboard 的下方區段。掃描在專用 SQL 工作中執行,讓你在掃描進行時仍可繼續使用其他 dashboard 索引標籤。
  • 掃描完成後,可能會識別出應用程式物件參照的其他程式庫,但這些程式庫尚未包含在應用程式中。請在 Libraries 索引標籤中檢視這些建議。
  • 查看 Messages 索引標籤,了解掃描器無法解析的物件、相依性或參照。
僅限物件掃描:

Understand 讀取系統上已編譯的物件,而非原始成員。相依性關係(例如動態呼叫(程式名稱存儲在變數中)和動態 SQL 資料表參照)對物件掃描不可見,因此不會被擷取。標示有動態 SQL 的物件會在 dashboard 和 Bob 的回應中以醒目方式標記,作為需要手動審查的區域。

Scanning an application in progress

提示:遞增程式庫掃描

對特定程式庫進行變更時,不需要重新掃描整個應用程式。你可以從 Libraries 索引標籤掃描個別程式庫,以快速保持索引資料的即時性。

Scanning a library

探索物件和洞察

掃描完成後,你可以用兩種方式探索結果。

在 dashboard 中,使用 Objects 索引標籤搜尋並篩選每個已索引的物件。選取物件以查看它使用哪些項目(輸出相依性)以及哪些項目使用它(輸入相依性),以及檔案和已匯出符號的欄位。

Exploring objects in the Understand Dashboard

Insights 索引標籤提供彙整統計資料:物件和相依性計數、最常被參照的物件、動態 SQL 風險、觸發程序、外鍵及已日誌記錄的物件。

Exploring insights in the Understand Dashboard

透過 Bob,在 Insights 索引標籤中選取 Explore the Application with Bob 按鈕,以 IBM i Developer 模式開啟任務,並以已掃描應用程式的摘要作為起點。從那裡,你可以繼續以自然語言提問——程式使用哪些內容、變更檔案會造成什麼影響、動態 SQL 在哪裡使用、哪些程式是 OPM 等。詳情請參閱使用 Bob 與 Understand。

使用 Bob 與 Understand

Understand 安裝且應用程式已掃描後,Bob 在 IBM i Developer 和 IBM i Database 模式中均可自動存取六個 Understand 工具和三個 Understand 技能。

每當問題涉及應用程式結構、物件關係或相依性分析時,Bob 會自動將 Understand 工具作為第一個資訊來源。這包括以下類型的任務:

  • 哪些程式呼叫 ORDPROC?它依賴哪些項目?
  • 刪除檔案 CUSTMST 是否安全?哪些項目會受到影響?
  • 哪些程式是 OPM?哪些使用動態 SQL?
  • 給我 PAYLIB 應用程式的概觀及其現代化準備情況。
  • 服務程式 DBSRV 匯出哪些內容,哪些程式使用那些程序?

Bob 從物件掃描資料回答這些問題。除非你明確要求開啟特定原始碼檔案,否則它不會讀取原始成員進行結構分析。

若要控制 Bob 是否可以對特定任務使用 Understand 工具,請在開始或編輯任務時設定 Understand 權限群組。

注意:

只有在元件已安裝時,Understand 工具才會啟用。若這些工具不可見或無法使用,表示 Understand 尚未安裝。若要啟用它們,請完成安裝 Understand 元件中所述的安裝程序。

透過 Bob 探索

保持資料即時

Understand 資料代表最近一次掃描時應用程式的狀態。若掃描後新增、修改或移除了物件,請執行新的掃描以重新整理資料並保持其即時性。Bob 和 Understand Dashboard 會自動指出掃描結果可能已過時,協助你識別何時需要重新掃描。

這個主題如何?