林連南+葉麗清+張子偉+雷昶
摘 要:針對軟件工程專業(yè)中人機(jī)交互課程體系的設(shè)計問題, 基于軟件心理學(xué)的圖式理論,分析和研究斯坦福大學(xué)人機(jī)交互課程體系,總結(jié)筆者近 6 年的課程教學(xué)經(jīng)驗,提出新的課程體系, 并闡述建立與之配套的課程體系的改革實踐過程。
關(guān)鍵詞:軟件心理學(xué);圖式理論;人機(jī)交互;課程體系
1 背 景
人機(jī)交互(human-computer interaction, HCI)是有關(guān)交互式計算機(jī)系統(tǒng)設(shè)計、評估、實現(xiàn)以及與之相關(guān)現(xiàn)象的綜合學(xué)科[1]。隨著軟件系統(tǒng)的普及,系統(tǒng)向用戶展現(xiàn)出的“友好度”已成為衡量軟件水平的重要標(biāo)準(zhǔn),這就要求軟件工程師不僅有開發(fā)出高可用性系統(tǒng)的技能,還需具備足夠的關(guān)于人機(jī)交互學(xué)科的知識。實踐證明,軟件工程專業(yè)學(xué)生對人機(jī)交互課程的接受度一直不高,在原有軟件工程培訓(xùn)機(jī)制下,人機(jī)交互課程的增加無疑還加重學(xué)生的學(xué)習(xí)負(fù)擔(dān)。如何讓學(xué)生更高效地學(xué)習(xí)人機(jī)交互的知識,是眾多教學(xué)研究人員希望解決的問題。
圖式是主體內(nèi)部一種動態(tài)的、可變的認(rèn)知結(jié)構(gòu)單元,圖式理論的核心思想是將主體過去的經(jīng)歷形成模式,在解決問題的時候無意識地匹配和調(diào)用與目前情況相符合的模式[2]。軟件心理學(xué)則是指在20世紀(jì)70年代為解決軟件可靠性難題、提高軟件質(zhì)量而提出的綜合軟件工程與心理學(xué)理論的一門交叉學(xué)科,主張對人在建立或使用軟件系統(tǒng)時的行為進(jìn)行科學(xué)研究、建模和測量[3]。軟件心理學(xué)通過研究程序設(shè)計的認(rèn)知機(jī)制,將程序設(shè)計認(rèn)知活動圖式化,提高程序員的編程效率,減輕其負(fù)擔(dān)。
參照圖式理論在軟件心理學(xué)中成功融入的經(jīng)驗,在對軟件工程專業(yè)學(xué)生進(jìn)行人機(jī)交互體系教學(xué)時引入圖式理論具有可行性。
根據(jù)筆者6年的人機(jī)交互課程教學(xué)經(jīng)驗,國內(nèi)外人機(jī)交互課程主要有以下特點:國內(nèi)的人機(jī)交互課程教學(xué)局限于HCI涉及軟件工程及工業(yè)設(shè)計的領(lǐng)域,不能從宏觀的角度全面地展現(xiàn)HCI學(xué)科的風(fēng)采,且教學(xué)缺乏互動性,略顯單??;國外的人機(jī)交互課程體系,以斯坦福大學(xué)為例,采取跨學(xué)科的課程教學(xué),讓學(xué)生更全面、多元地理解HCI的內(nèi)容和技術(shù),同時采用項目型、研究型的方式,強(qiáng)調(diào)學(xué)習(xí)主動性,但具有學(xué)習(xí)體系龐雜的問題,難以被國內(nèi)教學(xué)體系直接借鑒[4]。
筆者將對原有的課程體系進(jìn)行精化,提出新的課程體系設(shè)計方案,并通過展示課程項目實踐成果來證明其有效性。采用如下方法進(jìn)行課程體系設(shè)計:①參考斯坦福大學(xué)和國內(nèi)軟件學(xué)院的HCI課程體系;②充分考慮現(xiàn)實情況下的教學(xué)資源局限,例如教學(xué)時間、學(xué)生實踐環(huán)境、教師資源等;③結(jié)合課程的教學(xué)實踐經(jīng)驗;④引入兒童人機(jī)交互的圖式理論。
2 人機(jī)交互圖式
人機(jī)交互圖式是圖式理論在人機(jī)交互上的應(yīng)用。經(jīng)典的人機(jī)交互圖式可分為認(rèn)知心理學(xué)圖式和社會心理學(xué)圖式,前者包括信息加工處理理論、GOMS認(rèn)知模型、KLM認(rèn)知模型,后者包括活動理論模型。
2.1 認(rèn)知心理學(xué)圖式
認(rèn)知心理學(xué)圖式關(guān)注用戶個人與系統(tǒng)界面的交互體驗,考慮用戶在完成任務(wù)的過程中所需做的行為序列,并以完成效率來評估交互方式的優(yōu)劣。認(rèn)知心理學(xué)圖式中,多利用心智處理(mental process)機(jī)制,以目標(biāo)為驅(qū)動,采用分而治之的策略解決子目標(biāo)來實現(xiàn)最終目的。例如,GOMS模型把用戶的求解過程分為目標(biāo)(goal)、操作符(operator)、方法(method)和選擇(selection)四個組成部分,而KLM模型則是作為低階已給出方法的GMOS模型,是將思考過程映射為一個操作符[5-10]。事實上,也有通過實驗研究總結(jié)出的認(rèn)知心理學(xué)圖式——信息加工理論,其最主要的結(jié)論,就是通過對短時記憶能力進(jìn)行定量研究,證明人類信息加工的限制:人類頭腦能記憶7±2個組塊[11]。
2.2 社會心理學(xué)圖式
相比認(rèn)知心理圖式,社會心理圖式更注重群體行為,如用戶與用戶的關(guān)系、用戶與他人(非用戶)的關(guān)系。軟件系統(tǒng)是協(xié)同的,在一定程度上和使用它們的群體以及社會環(huán)境相互影響。社會心理圖式對軟件設(shè)計的影響,不僅體現(xiàn)在產(chǎn)品能否達(dá)到其設(shè)計目的和理念,還關(guān)系到潛在用戶的發(fā)掘、軟件對用戶群體的影響或引起的社會效應(yīng),其深度比基于個人的認(rèn)知心理圖式更甚。軟件工程師在考慮軟件設(shè)計時,需要明確涉眾在該軟件中的角色定位,考量各方對軟件作用的影響,并將社會結(jié)構(gòu)和社會活動映射到軟件的邏輯設(shè)計和界面劃分上,而活動理論通過研究人類活動的過程,將人與自然環(huán)境和社會環(huán)境、社會群體與自然環(huán)境之間的交互進(jìn)行分割,分成三個核心成分(主體、客體和共同體)以及三個次要部分(工具、規(guī)則和勞動分工),幫助軟件工程師對涉眾和活動進(jìn)行精準(zhǔn)把控[12-13]。
2.3 小 結(jié)
人機(jī)交互圖式應(yīng)用的難點在于,考慮到用戶在教育背景、理解能力以及生活習(xí)慣上的千差萬別,幾乎沒有一條放之四海而皆準(zhǔn)的準(zhǔn)則可供軟件工程師遵守。在人機(jī)交互課程的教學(xué)上,也只能一概而論地闡述人機(jī)交互龐雜的理論體系,軟件工程師只有完全消化才能在軟件開發(fā)過程中對特定用戶群進(jìn)行圖式的分析構(gòu)建,這對軟件工程師造成的學(xué)習(xí)負(fù)擔(dān)是不合理的。因此,筆者提出以兒童用戶的圖式作教學(xué)示范,來幫助軟件工程專業(yè)學(xué)生理解人機(jī)交互相關(guān)體系,并通過案例研究和項目實踐梳理出兒童人機(jī)交互圖式(見表1)。
3 課程體系設(shè)計精練
3.1 理論體系設(shè)計
新的課程理論體系可分為初級主題、中級主題和高級3個層次,以便學(xué)生循序漸進(jìn)地理解人機(jī)交互學(xué)科(見表2),并為每層課程內(nèi)容指定 Bloom 認(rèn)知級別:理解(C: comprehension)、分析(AN: analysis)/ 綜合(S: synthesis)/ 評價(E: evaluation)、應(yīng)用(AP: application)和了解(K: knowledge)4 種類型[1]。
3.1.1 初級主題層次
初級主題層次將以課堂教學(xué)、案例教學(xué)和項目教學(xué)三位一體的方式進(jìn)行。教師首先向?qū)W生闡述人機(jī)交互的概念與發(fā)展歷史,使學(xué)生形成人機(jī)交互的認(rèn)知;其次,以兒童為用戶的人機(jī)交互作為案例,舉出現(xiàn)有的兒童智能終端交互設(shè)備以及國外優(yōu)秀兒童產(chǎn)品,如北歐著名兒童APP開發(fā)商Toca Boca的產(chǎn)品,讓學(xué)生體會兒童人機(jī)交互的風(fēng)格;再次,使用兒童人機(jī)交互圖式理論,來分析解釋其設(shè)計的合理性與不合理性;再次,介紹以用戶為驅(qū)動的開發(fā)方法,并提供關(guān)于原型制作的方法、工具以及技術(shù)的說明;最后,組織學(xué)生以小組為單位,用Agile + UCD的方式設(shè)計一個涉及兒童人機(jī)交互的界面原型,并以翻轉(zhuǎn)課堂的形式在課上展現(xiàn)成果和交流經(jīng)驗。
3.1.2 中級主題層次
中級主題層次則在初級主題層次的基礎(chǔ)上,通過項目實踐深化學(xué)生對兒童人機(jī)交互圖式的理解。從中級主題開始,教師將繼續(xù)深入介紹經(jīng)典的兒童人機(jī)交互模型;其后給學(xué)生分發(fā)任務(wù)書、介紹幾種典型的分層軟件架構(gòu)模式以供選擇,再以初級主題中的界面原型做輸入,學(xué)生需要運(yùn)用人機(jī)交互圖式對其進(jìn)行UML可視化建模,并進(jìn)行前端和服務(wù)器端開發(fā)以及用戶界面管理系統(tǒng)的實現(xiàn)。
3.1.3 高級主題層次
高級主題層次將采用研究型教學(xué)方式進(jìn)行,具體流程如圖1所示。由教師提供會議和刊物清單(見表3和表4)。學(xué)生在課前需要閱讀5篇人機(jī)交互與普適計算領(lǐng)域中A類或B類會議上發(fā)表的論文,論文研讀方向見表5,并做出一個思維導(dǎo)圖匯總;完成個人任務(wù)后,與小組成員相互交流,書寫閱讀報告;最后每組提交一個思維導(dǎo)圖整合,并參與論文研讀課堂交流會,匯報論文研讀情況。學(xué)生可以通過論文的研討交流,了解人機(jī)交互前沿知識,開闊視野,也能激勵其對人機(jī)交互領(lǐng)域作更深入的研究。
3.2 實踐體系設(shè)計
實踐體系需要由開發(fā)技術(shù)基礎(chǔ)做支撐(見表6),新的課程體系將向?qū)W生介紹Android/iOS應(yīng)用開發(fā)基礎(chǔ)和框架,J2EE、.NET以及PHP服務(wù)器端應(yīng)用開發(fā)基礎(chǔ)和框架,HTML5與Web APP開發(fā)技術(shù)。教師還需要為學(xué)生提供Demo級的代碼運(yùn)行展示,鼓勵多樣化的實現(xiàn)方案。學(xué)生可以選擇自己感興趣或擅長的技術(shù)方向進(jìn)行開發(fā),以便專注于人機(jī)交互學(xué)科本身。
實踐體系將配合項目型教學(xué),重點體現(xiàn)在實踐方法上(見表7)。教學(xué)以Agile + UCD方法為用戶界面原型開發(fā)過程指導(dǎo),歷經(jīng)用戶調(diào)研與信息架構(gòu)、交互設(shè)計與視覺設(shè)計、原型開發(fā)和系統(tǒng)開發(fā)四個過程,如圖2所示。學(xué)生需要通過用戶調(diào)研來定義場景以及構(gòu)建用例模型,再根據(jù)用例圖進(jìn)行表現(xiàn)信息架構(gòu)的線框圖設(shè)計;以線框圖作輸入,學(xué)生必須參考課上所學(xué)的兒童人機(jī)交互圖式,考量交互體驗和視覺體驗,做出交互設(shè)計元素及其規(guī)約說明、UI視覺元素及其規(guī)約說明,以便做出符合設(shè)想的UI原型設(shè)計;最后通過反復(fù)的可用性評估和原型優(yōu)化,提高學(xué)生的人機(jī)交互素養(yǎng),再進(jìn)行原型開發(fā)。
4 項目實踐
基于兒童人機(jī)交互的圖式理論,結(jié)合華南理工大學(xué)人機(jī)交互課程體系設(shè)計與教學(xué)實踐,筆者帶領(lǐng)學(xué)生項目團(tuán)隊完成了許多課程項目實踐。這些項目實踐的成果獲得了軟件著作權(quán)、發(fā)明專利,并且一些APP已經(jīng)在蘋果商店發(fā)布。能證實并展示兒童人機(jī)交互圖式理論在人機(jī)交互課程的教學(xué)與實踐中的重要意義,如智能牙刷系統(tǒng),包括智能牙刷和APP。系統(tǒng)設(shè)計的關(guān)鍵問題包括智能硬件外觀設(shè)計、結(jié)構(gòu)設(shè)計、線路板設(shè)計、固件設(shè)計、APP設(shè)計以及APP與智能硬件的藍(lán)牙連接接口設(shè)計。如何以兒童為中心,通過恰當(dāng)?shù)募罘绞?,將整個刷牙過程貫穿有趣的知識和益智游戲互動,幫助其養(yǎng)成科學(xué)刷牙習(xí)慣。這些人機(jī)交互學(xué)科相關(guān)的問題是產(chǎn)品設(shè)計取得成功的關(guān)鍵所在。
在兒童人機(jī)交互設(shè)計的信息架構(gòu)方面,包括刷牙的區(qū)域、清潔度、粒度、速度等,還包括刷牙的時間、次數(shù)、區(qū)域、獎勵情況等。
獎勵的設(shè)計既展示兒童視覺設(shè)計方面,也展示了斯金納行為強(qiáng)化理論的應(yīng)用,如圖3所示。根據(jù)斯金納行為強(qiáng)化理論,可以將獎勵定義為后援強(qiáng)化物,并分為活動類、擁有類和消費類。合理的獎勵分類與吸引兒童的視覺設(shè)計,都是為了增強(qiáng)獎勵的強(qiáng)化效果?;诙怕W卡理論,可以設(shè)計游戲來促進(jìn)兒童的認(rèn)知,達(dá)到益智的目的。
5 結(jié) 語
近6年來的教學(xué)與項目實踐表明, 在軟件工程專業(yè)中基于圖式理論探索 HCI 課程體系具有重要意義:能幫助軟件工程專業(yè)的學(xué)生更好地理解軟件產(chǎn)品的開發(fā)過程,有利于促進(jìn)用戶界面設(shè)計與實現(xiàn)過程中跨學(xué)科溝通和理解,有利于精煉人機(jī)交互課程的課程體系,提高人機(jī)交互課程的教學(xué)質(zhì)量和效率。筆者下一步將研究如何組織學(xué)生開展論文研讀,進(jìn)行翻轉(zhuǎn)式課堂教學(xué)。
參考文獻(xiàn):
[1] Liannan L, Jiawei L, Nanhong X. The research of human computer interaction course system design[J]. Computer Education, 2015(1): 78-82.
[2] Fuqun H, Bin L, Yichen W. Survey of software psychology[J]. Computer Science, 2013, 40(3): 1-7.
[3] Jinghua Z. A brief history of modern western philosophy [M]. 2nd ed. Beijing: Peking University Press, 2014: 130-131.
[4] Liannan L, Chuan L, Wenda Q. The analysis and practice of the human-computer interaction course system in Stanford University[J]. Computer Education, 2015(21): 101-106.
[5] Alan D, Janet E F, Gregory D. Human-computer interaction[M]. 3rd ed. New Jersey: Prentice Hall, 2003: 226-281.
[6] Ben S, Catherine P, Maxine C,et al. Designing the user interface: Strategies for effective human-computer interaction[M]. 5th ed. Cambridge: Pearson, 2009.
[7] Adelson B, Soloway E. The role of domain experience in software design[J]. IEEE Transactions on Software Engineering, 1985, SE-11(11): 1351-1360.
[8] Adelson B. Cognitive research: Uncovering how designers design; cognitive modeling: explaining and predicting how designers design[J]. Research in Engineering Design, 1989, 1(1):35-42.
[9] Adelson B, Soloway E. A model of software design[J]. International Journal of Intelligent Systems, 2010, 1(3):195-213.
[10] F Détienne . Expert programming knowledge: A schema-based approach[J]. Psychology of Programming,1990: 205-222.
[11] George A. Miller. The magical number seven, plus or minus two: Some limits on our capacity for processing information[J].Psychological Review, 1956, 63(2): 81–97.
[12] Robert S. Feldman. Development across the life span[M]. 4th ed. New Jersey: Prentice Hall, 2005: 183-185.
[13] David R. Shaffer,Katherine Kipp. Developmental psychology: Childhood and adolescenc[M]. 8th ed. Belmont: Wadsworth Publishing Company, 2009: 267-270.
(編輯:史志偉)