(2) 識別詞(identifier)的命名方式不佳:第一種情形是識別詞的名稱不一 致。在不一樣的程式檔案或程式片斷中,雖然是表示相同意義的識別 詞 , 但 其 名 稱 卻 不 同 , 容 易 造 成 不 易 閱 讀 或 混 淆 。 例 如 在 Group_ModifyForm.jsp 中 , 以 JSP 程 式 識 別 詞 group_create 、 group_modify、group_delete、group_insert、admin 存放從資料庫所 得到的資料,但是負責顯示這些資料的 HTML 表單欄位,卻命名為 C1、
C2、C3、C4、C5。
第二種情形是命名方式無法清楚表示該識別詞在程式中所扮演的 角色。例如:User_ModifyForm.jsp 中 grp_in_size 識別詞代表使用者 所屬的使用者群組個數,但是識別詞的名稱無法使人了解其義。所以應 檢查程式中是否還有這二種問題並修改之,以提昇程式的可讀性,並將 識別詞命名規則作成一份文件,以供程式設計者參考。
(3) 宣告了沒有作用的物件:在權限管理模組中經常可以發現沒有作用的物 件。例如:user_listform.jsp 中,以類別 Statement 宣告物件 st,st2、
以類別 ResultSet 宣告物件 rs,rs2,但是 st2 與 rs2 並沒有使用到。
因此應刪除未使用的物件,以增加程式的可讀性。
(4) 使用了功能相同的舊版函式:在 Group_User_DB.jsp 中,使用 StrUtil 這類別中的 getUniToBig5 函式將 unicode 字碼轉換成 Big-5 字碼。這 個函式可以被同一個類別中的 getStringEnc 函式所取代。其它 JSP 程 式已使用 getStringEnc 函式來做字碼的轉換。所以應檢查程式碼,找 出是否還有這類情形並加以修改,以簡化程式碼與提高模組化之程度。
一起成為獨立的 JSP 程式,使得各子模組的 JSP 程式能 include 此 JSP 程式,省去宣告變數及函式的步驟。這種處理方式可以加強 JSP 程式模 組化的程度、降低程式的複雜度。
8.結論
本報告剖析權限管理模組的程式邏輯,將權限管理模組的功能、架構與運作 流程以 UML 及 MVC 表示法呈現,讓讀者能迅速了解這些內容。本報告可以提供系 統設計者在修改原有模組或開發新模組時的參考,以大幅提高效率。
參考資料
[1] F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, and M. Stal,
Pattern-Oriented Software Architecture - A System of Patterns, Volume 1. Wiley, West Sussex, England, 1996.
[2] J. Conallen, Building Web Applications with UML, 2nd ed., Addison-Wesley, Boston, MA, 2002.
[3] J. Rumbaugh, I. Jacobson, and G. Booch, The Unified Modeling Language
Reference Manual, Addison-Wesley, Boston, MA, 1998.
[4] 中 央 研 究 院 數 位 典 藏 技 術 發 展 組 , 數 位 典 藏 系 統 核 心 元 件 及 模 組 , http://ndweb.iis.sinica.edu.tw/api/index.html.
[5] 中央研究院數位典藏技術發展組, 傅斯年圖書館藏善本古籍數位典藏系統, http://140.109.18.243/rarebook/.
[6] 張益嘉, 林金龍, 何建明, 數位典藏系統之權限控管, 第二屆數位典藏技 術研討會, 台北市, 台灣, 2003.
五、數位典藏中文缺字顯示模組剖析與建議報告
摘要
本報告以中央研究院數位典藏技術發展組中文缺字顯示的元件說明與程式 作為剖析依據,主旨在說明中文缺字顯示模組的剖析過程與結果。我們以 Unified Modeling Language 與 Model-View-Controller 表示法為描述工具,讓讀者快速瞭 解該模組的功能與運作流程,並提供給系統分析人員、程式設計人員及研發與應 用人員參考,幫助瞭解該模組,以期讓數位典藏系統的修改或新系統的建立更容 易。報告中最後也針對程式的缺失指出錯誤或提出建議。
1. 簡介
自執行『數位典藏國家型科技計畫』以來,在漢字數位化的過程中,常會遇 到系統字元編碼中沒有辦法表達的罕用字與古字,使這些字無法被著錄於典藏系 統中,形成了「缺字問題」。缺字的問題由中央研究院資訊科學研究所文獻處理 實驗室發展的漢字構形資料庫來解決;在資料庫中字形是利用部件及字根的組合 方式來表達,透過有限的部件及構字符號可組出無限的字形,因此得以解決缺字 的問題。由部件與構字符號所組成的字形稱為構字式[1]。
通常典藏單位先將其相關的研究資料著錄到典藏系統中,之後使用者可經由 瀏覽器閱覽這些資料。在此過程中,需要針對缺字進行處理,使缺字能被儲存至 資料庫中,並且正確的顯示在使用者端。要完成以上的處理即需透過中文缺字顯 示模組(以下簡稱本模組)的協助才能完成。
本報告以中央研究院數位典藏技術發展組中文缺字顯示的元件說明[2]與程 式作為剖析的依據,使用 Unified Modeling Language (UML)圖形描述模組的功 能、架構、元件與運作流程,並用 Model-View-Controller (MVC)架構將目前模組 的外部顯示和內部實作分開以提高模組化。本報告協助系統分析人員、程式設計 人員、後續研發與應用的人員瞭解此系統,希望讓數位典藏系統的修改或新系統 的建立更容易。
本報告的組織如下:第二節簡介 UML 與 MVC。第三節概略介紹本模組的 功能與架構。第四節詳細說明我們的剖析結果。第五節提出閱讀程式時發現的問 題與建議。