您的位置:首頁 >聚焦 > 正文

環球速訊:系統設計 | 術語管理初探討

來源:個人圖書館-漢無為2023-06-23 15:06:08

同名知乎:少個分號


(資料圖)

在軟件工程中,術語管理是一個極其冷門但是卻非常重要的話題。

在很多項目上開發人員和業務人員之間的討論有很大一部分是詞匯的誤解造成的,即使在技術人員、業務人員內部討論也存在同樣的情況。例如,某電信運營商項目,話費套餐屬于商品還是產品這個問題經常被拿出來討論,直到找到了總部給出的規范性文件才定性下來。

越是專業的軟件系統對專業術語的定義需求越發迫切,這些定義往往需要極其精確,甚至一個字都不能錯。

在保險領域,“保單”和“投保單”雖然只差了一個字但是含義完全不一樣,投保單是一種申請,可以翻譯為 insurance application,而保單是正式生效的保險文件;在財會領域,經常會混用 “成本” 和 “費用”,這兩個詞有時候等同有時候又需要嚴格區分,否則會帶來二義性。

語言溝通的二義性是軟件工程的隱形殺手,往往會讓團隊付出額外的工作。在領域驅動設計中,實踐模型驅動開發的方法,非常重要的原則之一便是統一語言。

看起來統一語言是四個字,在實踐中我們發現,這幾乎伴隨需求分析工作的整個階段。極端一點來說,做到了語言統一,系統中每一個業務對象、字段實現了精確定義,需求分析工作也就差不多結束了。因為程序員的工作本來就是替業務分析師將他們的非結構化(形式化)語言翻譯成精確定義的計算機語言。

得到了精確、不會變化的形式語言,就可以通過代碼生成的方式完成軟件開發,遺憾的是前者不能實現。理想中的軟件開發,需求分析人員輸出了一套精確、邏輯自洽的設計說明書,實際項目中不同模塊、不同迭代之間的術語、字段和邏輯可能無法完全自洽。

從這個層面上來看,軟件工程更像是寫作或者翻譯工程,而非建筑工程,雖然后者的類比更加直觀。

這也就解釋了軟件團隊為什么如此難以管理,因為超過三個人以上合作寫作或者翻譯就變得非常困難。

既然軟件工程是寫作,那么術語管理就有了它的意義。

意義

一次和一個數據平臺項目的負責人交流過關于統一數據口徑的問題。

我們都有共同的困惑,對于一家 200 百人的 IT 公司,可能需要管理上百個應用系統,那么如何統一開發過程中的術語?

這幾乎不可能,原因是:

基于一直演進的業務,難以建立穩定的抽象和定義。例如,原本只做外賣訂單的公司開始搞打車,訂單的概念會隨著業務的演進變化。

規模問題。無法把幾十個應用所有的語料信息建立全局的術語,這樣會拖慢各個部分的開發進度,且無法真正理解每個地方的真實含義,難以做正確定義。

執行的難度。即使解決了上面兩個方面問題,團隊執行的又非常困難。

雖然理想中的完美統一不太現實,但是一定程度上實現統一并進行管理依然有其意義:

團隊之間的溝通將變得簡單,不會頻繁建立術語之間的信息映射,即使這種映射無法避免。

中心化的報表、數據平臺、業務中臺等的實施會變得容易。

開發效率會提升,對新加入到團隊的人員更加友好。

統一對外口徑,可以建立更專業的平臺形象,產品中的術語不一致會給客戶使用產品帶來更多的困難,比如軟件產品的用戶界面與幫助界面的術語不統一會讓用戶不知所措,用戶會對產品的質量產生質疑。

統一術語后,可以降低人員成本。

進一步來看也可以提高開發效率,以及充分爭取產品發布窗口時間。

在軟件工程中,如果能理解該業務領域的術語,也就意味著理解相關的業務。因此,一些公司會將術語庫當做信息資產并保護起來,甚至有自己的術語管理部門。

《現代術語學引論》作者馮志偉先生說“術語是人類科學知識在語言中的結晶”,在很多項目中體會后深以為然。

理論基礎

有一門專門的學科叫做術語管理,用于指導人們日常設計一些術語,達成共識后再推廣使用,這里簡單聊聊這些略顯“枯燥”的理論。

什么是術語管理?

簡單地說,術語是在某個專業領域中具有專門意義的詞,術語管理是系統化的收集、描述、處理、記錄、呈現及查詢特定專業領域中專業詞匯的活動。

對于企業來說,術語是全球化企業語言資產的重要組成部分,也是企業信息開發和技術寫作的基礎性工作,屬于企業語言戰略的重要組成部分。

有哪些現代化的術語管理技術?

根據個人級/小微團隊級和企業級不同的訴求,業界已經有一些解決方案。在 IOS 704:2022 標準中,將術語管理系統分為獨立式、集成式和整合式。

獨立式比較適合個人或者小微團隊級使用:例如 AnyLexic、Lingo,對于小范圍、小規模的場景使用辦公軟件(Excel、WPS 等)則完全夠用。

集成式和整合式比較適合企業級使用:往往包含術語提取、術語服務器、在線術語工具、翻譯工具和寫作助手等,例如 crossTerm、 MultiTrans TermBase、Transit TermStar,國內的東方雅信、傳神、朗瑞、語智云帆等語言服務或語言技術企業。

另外,還有一些在線的術語管理軟件:SDL Multiterm Online、crossTerm Web、MultiTrans Prism TermBase Web、Acrolinx IQ Terminology Manager、Termweb。

實踐中的問題

前面討論了這么多,實際在項目上做好術語管理非常困難。下面聊聊在實踐中有哪些問題。

在軟件項目中,可以從哪些材料中提取術語?

如果是瀑布的項目,在技術團隊參與前分析人員就已經整理好了完整的 PRD 文檔。可以通過一些分詞工具提取相關的詞匯,清洗后獲得統一的英文翻譯。由于這個階段往往是一個小團隊在一起開始整體完成,其統一性非常高。

如果在敏捷的項目中,可能是按照迭代、模塊分批進行的,需要分批提取術語,并維護相關的術語庫,難度比較大。

在國內項目中,幾乎沒有標準的英文語料來源,可以嘗試尋找相關英文網站、對外出口使用的英文說明書等材料。

在軟件項目中,需要提前敲定哪些東西?

在有條件的情況下,可以提前定義下列信息的雙語名稱,尤其是在被反復引用的情況下:

系統和項目的名稱和代碼

外部系統的名稱和代碼

業務對象名稱和屬性

數據庫表名和字段

枚舉和枚舉值

業務配置和配置項

中英對照翻譯有哪些經驗和坑?

中英對照翻譯上有一些語言學上的痛點,在《術語管理概論》一書中,介紹了一些關鍵的語言學問題。

詞條抽取的顆粒度:如果將所有詞匯都納入詞匯管理,如何將術語分級,將日常頻繁使用的基本詞匯不納入術語表,例如,“通用計算機” 中的 “通用” 可以不納入詞匯管理范疇。

多義性:一條中文術語對應英文會有多個,反之亦然,需要在根據場景翻譯。

時態和語法規則:英文術語存在時態和變形,例如協商作為名詞出現可以使用 negotiation,而出現在短語中往往是形容詞,可以使用 negotiable。

不可譯性:英語屬于印歐語系,而漢語屬于漢藏語系,文字結構和修辭手法不同,某些場景下無法找到對等術語。

在翻譯上可以參考下面的策略:

使用同一款翻譯軟件,避免前后翻譯差距較大

優先直譯,有專業翻譯的情況使用專業翻譯。例如定期存款 “fixed term deposit”,在金融中往往叫做 “time deposit”,在能確認的情況下優先使用后者,反之使用前者也不會造成歧義。

詞性不明時優先使用基本詞匯,例如創建時間可能有 “creation time”、“create time” 等譯法,不確定的情況下優先使用基本詞匯,容易保持命名風格統一。

參考資料

軟件開發是設計還是生產?https://mp.weixin.qq.com/s/BbGOuBJeromDfnoTZ_sASQ

梁愛林.術語管理的意義和作用——以微軟公司術語管理策略為例[J].中國科技術語, 2012, 14(5):5.

王華樹.科技翻譯項目中的術語管理[J].中國科技術語, 2015, 17(4):5.

關鍵詞:

最近更新