数位典藏中文缺字显示系统分析与建议报告.docx
- 文档编号:9024594
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:7
- 大小:72.92KB
数位典藏中文缺字显示系统分析与建议报告.docx
《数位典藏中文缺字显示系统分析与建议报告.docx》由会员分享,可在线阅读,更多相关《数位典藏中文缺字显示系统分析与建议报告.docx(7页珍藏版)》请在冰点文库上搜索。
数位典藏中文缺字显示系统分析与建议报告
數位典藏中文缺字顯示系統分析與建議報告
摘要
前言
自執行『數位典藏國家型科技計畫』以來,已完成了許多典藏品數位化的工作。
而在漢字數位化的過程中,常會遇到系統字元編碼中沒有辦法表達中文的罕用字與古字,而造成這些字無法被著錄於典藏系統中,就形成了「缺字問題」。
缺字的問題由中央研究院資訊科學研究所文獻處理實驗室發展的漢字構形資料庫來解決;在資料庫中字形是利用部件及字根的組合方式來表達,透過有限的部件及構字符號可組出無限的字形,因此得以解決缺字的問題。
而由部件與構字符號所組成的字形在此稱為構字式。
數位典藏系統的操作流程是典藏單位將其相關的研究資料著錄到典藏系統中,之後使用者可經由瀏覽器閱覽這些資料。
在流程中輸入資料至系統及瀏覽器閱覽資料時都需要針對缺字進行處理,使缺字能被儲存至資料庫中,並且正確的顯示在使用者端。
而缺字如何可以存入資料庫中及如何顯示在使用者端即需透過本系統的協助才能完成。
本報告以中央研究院數位典藏技術發展組中文缺字顯示的元件說明與程式碼作為分析的依據,使用UML圖形表示法來表示本系統之功能、架構、與運作流程。
目的是提供系統分析人員、程式設計人員、後續研發與應用的人員瞭解此系統,並希望藉這份分析報告讓數位典藏系統的修改或新系統的建立更容易。
功能介紹
本系統的功能有漢字編碼解譯功能、取得構字式圖形功能、與網頁缺字顯示功能。
當使用者要輸入數位典藏系統使用的字是現行漢字交換碼所無法表示的缺字時,必須輸入對應此缺字的構字式。
如何輸入的部分不在本系統範圍內,在此不詳述。
輸入之後的構字式資料要儲存時,需要將構字式的資料進行編碼轉換;此時即呼叫本系統的漢字編碼解譯功能。
當要顯示構字式資料時有兩種方式可以使用,一種是將構字式資料傳入並呼叫本系統的取得構字圖形之功能進行轉換取得其缺字之字形來顯示;另一種方式是直接由網頁呼叫本系統的網頁缺字顯示功能,此功能會將網頁中的資料讀入,並將資料中判斷為構字式的字轉換成會連結到字形解譯引擎的HTML圖片標籤,如此使用者端的網頁會直接以圖片顯示出該缺字資料。
由於漢字編碼解譯功能與取得構字式圖形功能是典藏系統內部呼叫的功能,所以將此二者歸類為server端;而網頁缺字顯示功能是由使用者端的網頁直接呼叫,因此將其歸類為client端。
此三功能也可以UnifiedModelingLanguage的使用案例圖來說明。
為避免重複,我們將此部分留待分析過程與結果處再一併做說明,在此不詳述。
系統架構
我們依照使用的情況,將中文缺字系統的架構分為server端與client端。
Server端負責供數位典藏系統叫用,可分漢字編碼解譯與取得構字式圖形兩部分;Client端負責供一般使用者從網頁瀏覽資料時叫用,主要是網頁缺字顯示的部分。
分別說明如下:
(1)server端:
a.漢字編碼解譯:
當含有構字式的資料被著錄時,典藏系統中需要一個轉碼機制將構字式的資料進行轉碼轉換,才得以儲存在資料庫中;因為構字式中的構字符號無法對應至Big5,因此需要將構字式中的構字符號轉換為跳脫格式的表示法再存入資料庫中。
漢字編碼解譯即是此轉換機制;此功能會將輸入的資料逐一字元讀取,並將需要轉換的部分進行轉換,最後傳回轉換後的編碼結果。
b.取得構字式圖形:
當要顯示著錄的資料時,若資料中含有跳脫字元代表含有構字式資料,就需要對這些資料進行解讀,將其中的構字式轉成對應的構字圖形。
此功能即是解讀輸入的資料,並將其中的構字式資料轉換成構字式圖形,最後傳回可以顯示的文字及圖形結果。
(2)client端:
網頁缺字顯示:
顯示資料的另一種作法是讓使用者端的網頁包含一個元件(LiveConverter),此元件會對網頁資料內容進行判讀,將資料中的構字式轉換成會連結到字形解譯引擎的HTML圖片標籤,如此使用者端的網頁中的構字式資料會直接以圖片顯示。
此功能的作用與前述的server端之取得構字圖形功能是相同的。
不同的是本功能的作法是在使用者端的網頁自己啟動一個可以處理解讀的元件,而不是由數位典藏系統直接傳給使用者可顯示的網頁內容。
分析過程與結果
本報告依據中央研究院數位典藏技術發展組所提供的程式碼及「數位典藏系統元件及模組」說明網頁「」來進行分析,並以物件導向發展過程中所使用的分析工具UnifiedModelingLanguage(UML)來表現此系統的功能、架構、及運作流程。
所使用的UML表示圖包括案例圖、類別圖、與循序圖。
(1)使用案例圖(usecasediagram)
在本報告中透過使用案例圖描述本系統的功能和所參與的使用者,及使用的時機。
根據數位典藏系統中本系統被使用的方式,可分為三個使用案例:
漢字編碼解譯、取得構字式圖形、與網頁缺字顯示。
此三部分的功能各自為獨立功能。
會使用到這些功能的行為者可為數位典藏系統或一般網頁瀏覽者;數位典藏系統指數位典藏系統中此系統以外的其他系統,一般網頁瀏覽者指一般以網頁瀏覽或查閱數位典藏的使用者。
依上述的說明即完成圖一的中文缺字顯示系統使用案例圖。
圖一.中文缺字顯示系統使用案例
圖中的使用案例已於上文說明,在此不多贅述。
本報告中我們將使用時機也在使用案例圖中表現,如此可讓使用此圖的人可明確知道每一個功能被叫用的時機,能更容易瞭解此系統之作用。
(2)類別圖(classdiagram)
類別圖是描述本系統的靜態結構,以及類別之間的靜態關係,主要用來描述本系統結構如何建立「」。
本系統是以Java語言撰寫,而Java原本即為物件導向程式語言之一,因此類別圖中的類別也就是程式碼中的class,是可以直接對應的。
Class中的屬性(attribute)與操作方法(operation)也是可以直接對應的。
在此同樣以server端與client端的分別將此系統的靜態圖分為兩個類別圖,分別為server端類別圖與client端類別圖。
由於篇幅的關係,無法在此將類別圖完整表現。
因此在此僅作文字說明,請一併參照附圖一.與附圖二.的類別圖進行瞭解。
(a).Server端的類別圖(附圖一.):
圖中有六個類別,其中每個類別各自為一支獨立的Java程式,因此在每個類別的名稱中都寫上各自的Java程式名稱。
如此可方便讀者在閱讀此份報告時,從類別圖時就可輕鬆將每一類別與程式作直接的對應。
為避免混淆,以下的說明在提及類別時不特定加上.java,但在指出圖中的類別名稱時會將圖中的名稱完整寫出;就會得到類別加上.java。
當Java程式中有import到其他的package時,圖中是以虛線關係指出,並以stereotype標示其關係是import。
另外,本系統有兩個類別是原本的設計就是當作一interface的作用,可視應用的情況開發需要的類別來做implement。
例如:
InterpreterICSImpl即是實做Interpreter的一個類別,因此可以看到圖中的Interpreter.java名稱處有加上interface的標示,且兩者之間的關係是InterpreterICSImpl.java繼承自Interpreter.java且有implement的標示。
Decorator與DecoratorEscapeImpl的關係也同於Interpreter與InterpreterICSImpl,因此不再贅述。
InterpreterICSImpl在運作時會將構字符號交給Decorator類別處理,因此可看到圖中InterpreterICSImpl.java有一個指向Decorator.java的關係,且關係為構字符號處理。
Interpreter類別在處理時若發生例外狀況會產生一個InterpreterException物件並將此例外狀況發出去,因此可看到圖中Interpreter.java有一個指向InterpreterException.java的關係,且關係為newandthrowwhenexceptionoccurs來說明。
(b).Client端的類別圖(附圖二.):
圖中有兩個類別,此兩個類別在同一支程式中宣告與使用。
為了方便讀者,類別圖中在類別名稱後面仍有括弧說明其所在的程式名稱。
LiveConv類別import了許多Java的類別,因為不屬於本系統,圖中以類似import其他package的方式表示。
因此,圖中LiveConv有許多虛線指出並有import的stereotype標示。
且此類別是extends自Applete類別,因此圖中LiveConv有一個指向Applete的關係,並以extend標示。
IvjEventHandler負責監控Item與Action的變化,因此類別圖中IvjEventHandler繼承並實做了java.awt.event.ItemListener與java.awt.event.ActionListener兩個類別。
而LiveConv執行過程中有一些必須要隨時處理的事件交給IvjEventHandler隨時監控,因此LiveConv有一個指向IvjEventHandler的關係,且關係名稱為Setlisteningevents。
(3)循序圖(sequencediagram)
循序圖描述模組之間的連結與互動關係,表示一組物件在系統執行期間某一段時間的交互作用,重點在表達一連串事件發生的先後順序「」。
本系統的主要事件為數位典藏系統要求漢字編碼解譯、數位典藏系統要求取得構字式圖形、及一般網頁瀏覽者需要網頁缺字顯示這三個事件。
因此有圖二.、圖三.、圖四.三個循序圖,以此說明在發生這三個事件時物件間的互動關係。
圖二.數位典藏系統要求漢字編碼解譯
當數位典藏系統要求漢字編碼解譯時,會傳入需解譯的中文字串與可以對構字式符號編碼的物件decorator。
Interpreter物件會解讀輸入的中文字串,當讀到有構字符號的字元時即先找出一組完整的構字式,然後將其中的構字式符號交給decorator編碼,之後再將此構字式組合成已透過decorator編碼,可儲存的構字式資料,最後傳回結果。
圖三.數位典藏系統要求取得構字式圖形
當數位典藏系統要求取得構字式圖形時,會傳入之前經過解譯的構字式資料字串給物件DecoratorImageWord。
DecoratorImageWord會將構字式資料字串轉換成可顯示的構字式圖形,並傳回轉換的結果給數位典藏系統。
圖四.一般網頁瀏覽者需要網頁缺字顯示
若網頁中有包含LiveConverter元件,當執行網頁時就會自動執行LiveConv。
LivConv物件會讀入網頁的所有資料,並將網頁中存在的構字式轉換成相對應的構字式圖形呈現在使用者的網頁上。
另外,使用者若有任何按鈕、顏色、或字形大小設定的改變事件則會觸動IvjEventHandler物件,對這些事件做出正確的反應呈現於網頁上。
問題與建議
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数位 典藏 中文 显示 系统分析 建议 报告