云計算即應用通過互聯網作為服務傳遞給用戶,也指提供這些應用的數據中心的軟件和硬件。數據中心的軟硬件被稱為云,提供服務的方式被稱為軟件作為服務SaaS(software as a service)。當使用谷歌Docs服務創建一個文檔,軟件的主要部分不在個人電腦上,而在看不見的云上,文檔也存儲在云上,相似的辦公軟件還有許多,如微軟的Office Web apps和甲骨文的Cloud office等。用戶在享受SaaS帶來的一系列好處的同時,也面臨著交互方面的困難,如小學生使用谷歌Docs寫文檔時會感覺界面過于復雜,不夠有趣。這主要由于使用SaaS方式的軟件,用戶數量巨大,而且用戶之間千差萬別,使用統一的界面無法同時滿足所有用戶個性化的需求。用戶的差異性,要求針對不同類型的用戶有對應的用戶界面來滿足其個性化的需求,也就是說用戶界面應是客戶化的。對于SaaS,不只用戶具有多樣性,近年來隨著移動時代的來臨,各種新式云端設備如平板電腦、智能手機、PDA、MP4等不斷涌現,這又引發了大量新類型的交互通道,如筆交互、語音交互、手勢交互、虛擬現實、混合現實、三維交互等,如圖1所示。
圖1 SaaS用戶、終端、交互通道的多樣性
因此,在SaaS環境下解決用戶、云終端、交互通道的多樣性,生成適應個性化需求的客戶化用戶界面,成為一個亟需解決的問題。本文提出使用模型驅動的方法來解決此問題,但模型驅動只是一個指導性的方法,并未規定具體的任務模型,本文使用感知控制任務模型來適應生成令用戶滿意的客戶化用戶界面的需求。
1 使用模型驅動的方法開發客戶化
1.1 模型驅動的開發方法簡介
模型驅動架構的目的在于識別高層模型,使得設計者能夠從更加面向語義的角度而不是直接從具體的實現層次上去規約和分析SaaS用戶界面。這就允許他們集中精力于更重要的方面而不是立刻陷入具體的實現細節,之后再去使用工具完成與高層抽象一致的具體實現。因此,通過使用模型來獲取系統語義方面的信息,設計者更易于設計、開發和維護日益復雜的交互式應用。基于模型的方法在經歷了關注界面元素的抽象描述、關注于表達高層的交互語義兩個階段后,當前應同時關注其生成用戶界面客戶化問題。最終達到讓開發者定義應用的輸入輸出需求,硬件提供商描述設備的輸入輸出能力,用戶配置他們的個性參數,然后自動或者半自動生成最終用戶界面或運行時界面。
1.2 Cameleon參考框架
Cameleon參考框架是基于模型開發方法的典型代表,它將用戶界面開發生命周期從任務規約到運行時界面結構化為四個抽象層次:任務和概念層(CIM):a.為了達到用戶目標而執行的邏輯任務及任務之間的關系;b.這些任務相關的領域對象。它是計算無關的抽象模型;抽象用戶界面(AUI)使用界面空間或表示單元來刻畫,它既獨立于交互主體,也獨立于交互通道(如圖形,語音,觸摸等)。一個交互空間用來支持完成一系列由邏輯聯系在一起的任務,由一組表示單元組成,AUI是平臺無關的模型;具體用戶界面(CUI)依賴于平臺的種類和可獲得的交互介質,擁有一些定義如何被用戶感知的屬性,是實際的用戶界面組件包括工具箱的一個抽象,也稱平臺特定模型;最終用戶界面(FUI)分為兩個子層:源代碼層和運行時界面層。源代碼層是由編程語言或者標記語言組成,可以被解析或者編譯。根據軟件環境(虛擬機、瀏覽器等)的不同,一段代碼編譯后的運行時界面可能有所不同。
這些層次被進行了結構化組織,之間存在著從抽象到具體的轉化關系。同一抽象層次上不同模型之間也可以互相轉化,這樣就可以根據不同的使用上下文靈活使用。
圖2 Cameleon參考框架
1.3 基于PCT理論的任務模型
從上兩小節的討論可以發現,影響用戶滿意度的根本因素存在于用戶的認知和感知能力,比如用戶的長時及短時記憶能力、解決問題、作決定、搜索、瀏覽等。心理學家認為人是層級地組織起來的負反饋系統。其顯著特征是“所有的行為都是感知控制”,基準輸入是用戶的目標,系統處于環境之中,存在各種干擾因素,人對系統的控制總是向著抵消環境干擾的方向進行。
基于感知控制理論PCT(perceptual control theory)建模任務就是將用戶和云終端設備看作一個感知控制系統,任務建模的目標就是分析出用戶希望控制的變量,以及用戶控制這些變量的方法。首先要與領域專家深度訪談,以抽取執行任務的相關信息,而任何任務都包含控制,用戶希望控制的變量和信息應顯示在用戶界面上,用戶執行任務的目的即任務的目標,對應于感知控制基本模型的基準輸入,存在于用戶的心里。用戶通過執行控制行為來改變顯示變量的值以達到目標狀態。那些外界環境中的可以改變顯示變量的不可預測的因素稱為干擾。由于外界干擾的不可預測性,我們無法找到一個確切的指令序列來達到用戶目標,只能通過用戶的控制行為,而用戶面對顯示變量和任務目標之間差別的變化,采取的控制行為也會變化,即:達到一個相同的目標,可以有不同的控制行為。感知控制任務模型本身則屏蔽了達到目標的行為細節,實現一種說明式的任務模型,描述的不是完成目標的操作序列,而是可減小顯示變量和任務目標差值的可用操作集合。
1.4 模型轉換和客戶化UI生成
模型之間可以互相轉換,轉換的類型主要有層次間轉換和層次內轉換,層次間轉換包含具體化和一般化,層次內轉換包括翻譯和映射。具體化涵蓋了從高層次的抽象描述到運行時代碼的推理過程。如從任務模型到抽象用戶界面再到具體UI(user interrace),最后生成最終UI的過程。而一般化是從一個具體的用戶界面轉換為高層的抽象模型的過程。層次內轉換包括翻譯和映射,用來對為特定目標進行的描述轉換為同一抽象層次為另一目標進行的描述。映射是對相同的使用上下文,在同一抽象層次,將一個用戶界面表示轉換為另一用戶界面表示。具體開發時可以采用正向工程,即從高層抽象向低層抽象轉換以進行具體化,最終生成代碼;也可以使用逆向工程,從底層的已有代碼進行抽象化,最終得到高層的任務模型和領域模型;另一種轉換是同層之間不同模型的轉換,為的是能使最終用戶界面根據使用上下文變化而自動變化;如果一個開發是從中部開始,一邊向高層進行抽象,一邊進行具體化形成最終代碼,則稱之為中間出發的開發。
通過層次間的一般化轉換,從計算無關的任務和領域模型在一定計算相關的使用上下文的約束下轉化為平臺無關的抽象用戶界面,加入不同的使用上下文即可轉換為平臺無關的模型;同理,對某一抽象用戶界面加入不同的平臺相關的使用上下文,即可得到不同的特定平臺的模型;對某一具體用戶界面加入不同的用戶、設備使用上下文,即可得到不用的最終用戶界面,這里任務和領域模型與抽象用戶界面、抽象用戶界面和具體用戶界面、具體用戶界面與最終用戶界面之間的對應關系均是一對多。模型的轉換過程也就是將客戶的個性化使用上下文融入高層抽象模型,以形成客戶化的最終用戶界面的過程。
圖3 基于感知控制的任務模型
2 客戶化UI的用戶滿意度
2.1 客戶化UI的用戶滿意度問題
一方面我們要生產客戶化的用戶界面,另一方面,也要提高客戶化的用戶界面在特定使用背景下為特定用戶使用時的滿意度,使其在使用的過程中無不適感并對服務使用持肯定的態度。
通常,為使用戶滿意需要遵循的原則有:①保持一致性,有些文獻稱統一的觀與感,使界面一致的色彩和操作風格;②使用的便捷性,即讓用戶可以使用快捷方式來完成經常要做的任務;③提供信息反饋,讓用戶知道系統當前的狀態,如任務進行中或者任務完成;④有適當的容錯性,在設計之初就應考慮到避免使用者犯錯,一旦錯誤發生,系統可以及時發現并提供錯誤處理方法,例如允許用戶回退到錯誤發生前的狀態;⑤合理的人機任務分配,避免不必要的用戶交互,如冗長的資料輸入;⑥減少用戶的認知和短時記憶的負荷,使用直接操作及基于活動的設計方法來進行設計,以使操作符合用戶的認知心理特征,使設計者心中的設計模型和使用者心中的用戶模型相一致。
2.2 使用PCT任務模型提高用戶滿意度
根據2.1節SaaS用戶界面用戶滿意度問題的論述,我們使用基于感知控制的任務模型來提高用戶滿意度的主要方式有:①通過模型自動轉換來支持一致性,使整個系統擁有統一的觀與感;②感知控制任務模型與傳統任務模型的區別之一在于,它屏蔽了系統實現目標的操作序列和細節,指出了什么是關鍵任務,因而可以使用戶使用起來更加便捷有效;③通過感知控制任務分析,得到的控制變量可以為用戶提供說明式的信息反饋,有利于用戶了解系統當前的狀態,及與任務目標之間的差距;④中國有句古話叫“人非圣賢,孰能無過”,英國詩人Alexander Pope也有“To err is human”的詩句。我們無法避免用戶犯錯,但可以通過合理地設計用戶和云的交互界面,使用戶易于做正確的事,不易犯錯,感知控制任務模型自身已經考慮了外界干擾(例外),具有很好的容錯性;⑤它具有很好的人機任務分配,各種操作細節由計算機來處理,將用戶從具體操作解放出來以便更多地關注于任務目標這樣的高層次特征。
3 案例研究
本節通過實例對使用傳統任務模型的方法和使用感知控制任務模型進行用戶界面開發的過程給以介紹。重點介紹了一個任務如何被建模成AUI、CUI及FUI幾個不同抽象層次。
如圖4所示,用戶需要添加一個鬧鐘的簡單界面,使用傳統任務建模方法如圖左邊所示,在任務層,用戶為達到目的而采取的活動被建模,傳統的任務模型側重于任務的層次分解,可以分解為查看鬧鐘、添加鬧鐘和關閉3個子任務,而感知控制任務模型側重于說明式描述系統的目標。在AUI層對支持用戶任務的交互式對象,使用對應的交互組件和容器建模。通過觀察可以發現交互組件與平臺和交互方式是無關的。在CUI層,具體的圖形化交互組件和容器(窗口、文本輸入、按鈕)已經被引入。最終,CUI交互組件轉換為最終代碼和運行時界面,涉及到具體屬性的值,比如字體的類型和大小,顏色,在界面顯示的提示信息。每個交互平臺上,這四個層次之間可以轉換:從高層描述到具體的或者反之依然,同一抽象層次不同類型平臺之間或者甚至他們的任意的組合之間也可以互相轉換。所以,各種各樣的環境都可以被引入,更概括的說,UI元素和語義之間的關系可能會導致可能的智能工具來幫助設計、評估和運行時的執行。如此,最終生成適應不用使用上下文的客戶化用戶界面。
圖4 基于感知控制的任務建模實例
4 結語
SaaS正在對軟件產業產生巨大的影響,它有利于服務的提供者便捷地為更多的用戶部署服務,但要讓SaaS用戶更好地使用服務,就需要有適合的交互界面,即:使用戶滿意的客戶化用戶界面。本文提出模型驅動的生成客戶化用戶界面的方法,解決了用戶多樣性、云終端多樣性以及交互通道多樣性的問題,使用感知控制任務模型,使得最后得到的是用戶滿意的客戶化用戶界面。由于當前使用手工建模,效率較低,因此下一步的研究計劃是為本文提出的方法提供工具支持,以促進其實際應用。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:模型驅動的SaaS用戶界面客戶化方法
本文網址:http://www.guhuozai8.cn/html/consultation/10819411758.html