林連南+葉麗清+張子偉+雷昶



摘 要:針對(duì)軟件工程專業(yè)中人機(jī)交互課程體系的設(shè)計(jì)問題, 基于軟件心理學(xué)的圖式理論,分析和研究斯坦福大學(xué)人機(jī)交互課程體系,總結(jié)筆者近 6 年的課程教學(xué)經(jīng)驗(yàn),提出新的課程體系, 并闡述建立與之配套的課程體系的改革實(shí)踐過程。
關(guān)鍵詞:軟件心理學(xué);圖式理論;人機(jī)交互;課程體系
1 背 景
人機(jī)交互(human-computer interaction, HCI)是有關(guān)交互式計(jì)算機(jī)系統(tǒng)設(shè)計(jì)、評(pí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é)科的知識(shí)。實(shí)踐證明,軟件工程專業(yè)學(xué)生對(duì)人機(jī)交互課程的接受度一直不高,在原有軟件工程培訓(xùn)機(jī)制下,人機(jī)交互課程的增加無(wú)疑還加重學(xué)生的學(xué)習(xí)負(fù)擔(dān)。如何讓學(xué)生更高效地學(xué)習(xí)人機(jī)交互的知識(shí),是眾多教學(xué)研究人員希望解決的問題。
圖式是主體內(nèi)部一種動(dòng)態(tài)的、可變的認(rèn)知結(jié)構(gòu)單元,圖式理論的核心思想是將主體過去的經(jīng)歷形成模式,在解決問題的時(shí)候無(wú)意識(shí)地匹配和調(diào)用與目前情況相符合的模式[2]。軟件心理學(xué)則是指在20世紀(jì)70年代為解決軟件可靠性難題、提高軟件質(zhì)量而提出的綜合軟件工程與心理學(xué)理論的一門交叉學(xué)科,主張對(duì)人在建立或使用軟件系統(tǒng)時(shí)的行為進(jìn)行科學(xué)研究、建模和測(cè)量[3]。軟件心理學(xué)通過研究程序設(shè)計(jì)的認(rèn)知機(jī)制,將程序設(shè)計(jì)認(rèn)知活動(dòng)圖式化,提高程序員的編程效率,減輕其負(fù)擔(dān)。
參照?qǐng)D式理論在軟件心理學(xué)中成功融入的經(jīng)驗(yàn),在對(duì)軟件工程專業(yè)學(xué)生進(jìn)行人機(jī)交互體系教學(xué)時(shí)引入圖式理論具有可行性。
根據(jù)筆者6年的人機(jī)交互課程教學(xué)經(jīng)驗(yàn),國(guó)內(nèi)外人機(jī)交互課程主要有以下特點(diǎn):國(guó)內(nèi)的人機(jī)交互課程教學(xué)局限于HCI涉及軟件工程及工業(yè)設(shè)計(jì)的領(lǐng)域,不能從宏觀的角度全面地展現(xiàn)HCI學(xué)科的風(fēng)采,且教學(xué)缺乏互動(dòng)性,略顯單薄;國(guó)外的人機(jī)交互課程體系,以斯坦福大學(xué)為例,采取跨學(xué)科的課程教學(xué),讓學(xué)生更全面、多元地理解HCI的內(nèi)容和技術(shù),同時(shí)采用項(xiàng)目型、研究型的方式,強(qiáng)調(diào)學(xué)習(xí)主動(dòng)性,但具有學(xué)習(xí)體系龐雜的問題,難以被國(guó)內(nèi)教學(xué)體系直接借鑒[4]。
筆者將對(duì)原有的課程體系進(jìn)行精化,提出新的課程體系設(shè)計(jì)方案,并通過展示課程項(xiàng)目實(shí)踐成果來(lái)證明其有效性。采用如下方法進(jìn)行課程體系設(shè)計(jì):①參考斯坦福大學(xué)和國(guó)內(nèi)軟件學(xué)院的HCI課程體系;②充分考慮現(xiàn)實(shí)情況下的教學(xué)資源局限,例如教學(xué)時(shí)間、學(xué)生實(shí)踐環(huán)境、教師資源等;③結(jié)合課程的教學(xué)實(shí)踐經(jīng)驗(yàn);④引入兒童人機(jī)交互的圖式理論。
2 人機(jī)交互圖式
人機(jī)交互圖式是圖式理論在人機(jī)交互上的應(yīng)用。經(jīng)典的人機(jī)交互圖式可分為認(rèn)知心理學(xué)圖式和社會(huì)心理學(xué)圖式,前者包括信息加工處理理論、GOMS認(rèn)知模型、KLM認(rèn)知模型,后者包括活動(dòng)理論模型。
2.1 認(rèn)知心理學(xué)圖式
認(rèn)知心理學(xué)圖式關(guān)注用戶個(gè)人與系統(tǒng)界面的交互體驗(yàn),考慮用戶在完成任務(wù)的過程中所需做的行為序列,并以完成效率來(lái)評(píng)估交互方式的優(yōu)劣。認(rèn)知心理學(xué)圖式中,多利用心智處理(mental process)機(jī)制,以目標(biāo)為驅(qū)動(dòng),采用分而治之的策略解決子目標(biāo)來(lái)實(shí)現(xiàn)最終目的。例如,GOMS模型把用戶的求解過程分為目標(biāo)(goal)、操作符(operator)、方法(method)和選擇(selection)四個(gè)組成部分,而KLM模型則是作為低階已給出方法的GMOS模型,是將思考過程映射為一個(gè)操作符[5-10]。事實(shí)上,也有通過實(shí)驗(yàn)研究總結(jié)出的認(rèn)知心理學(xué)圖式——信息加工理論,其最主要的結(jié)論,就是通過對(duì)短時(shí)記憶能力進(jìn)行定量研究,證明人類信息加工的限制:人類頭腦能記憶7±2個(gè)組塊[11]。
2.2 社會(huì)心理學(xué)圖式
相比認(rèn)知心理圖式,社會(huì)心理圖式更注重群體行為,如用戶與用戶的關(guān)系、用戶與他人(非用戶)的關(guān)系。軟件系統(tǒng)是協(xié)同的,在一定程度上和使用它們的群體以及社會(huì)環(huán)境相互影響。社會(huì)心理圖式對(duì)軟件設(shè)計(jì)的影響,不僅體現(xiàn)在產(chǎn)品能否達(dá)到其設(shè)計(jì)目的和理念,還關(guān)系到潛在用戶的發(fā)掘、軟件對(duì)用戶群體的影響或引起的社會(huì)效應(yīng),其深度比基于個(gè)人的認(rèn)知心理圖式更甚。軟件工程師在考慮軟件設(shè)計(jì)時(shí),需要明確涉眾在該軟件中的角色定位,考量各方對(duì)軟件作用的影響,并將社會(huì)結(jié)構(gòu)和社會(huì)活動(dòng)映射到軟件的邏輯設(shè)計(jì)和界面劃分上,而活動(dòng)理論通過研究人類活動(dòng)的過程,將人與自然環(huán)境和社會(huì)環(huán)境、社會(huì)群體與自然環(huán)境之間的交互進(jìn)行分割,分成三個(gè)核心成分(主體、客體和共同體)以及三個(gè)次要部分(工具、規(guī)則和勞動(dòng)分工),幫助軟件工程師對(duì)涉眾和活動(dòng)進(jìn)行精準(zhǔn)把控[12-13]。
2.3 小 結(jié)
人機(jī)交互圖式應(yīng)用的難點(diǎn)在于,考慮到用戶在教育背景、理解能力以及生活習(xí)慣上的千差萬(wàn)別,幾乎沒有一條放之四海而皆準(zhǔn)的準(zhǔn)則可供軟件工程師遵守。在人機(jī)交互課程的教學(xué)上,也只能一概而論地闡述人機(jī)交互龐雜的理論體系,軟件工程師只有完全消化才能在軟件開發(fā)過程中對(duì)特定用戶群進(jìn)行圖式的分析構(gòu)建,這對(duì)軟件工程師造成的學(xué)習(xí)負(fù)擔(dān)是不合理的。因此,筆者提出以兒童用戶的圖式作教學(xué)示范,來(lái)幫助軟件工程專業(yè)學(xué)生理解人機(jī)交互相關(guān)體系,并通過案例研究和項(xiàng)目實(shí)踐梳理出兒童人機(jī)交互圖式(見表1)。
3 課程體系設(shè)計(jì)精練
3.1 理論體系設(shè)計(jì)
新的課程理論體系可分為初級(jí)主題、中級(jí)主題和高級(jí)3個(gè)層次,以便學(xué)生循序漸進(jìn)地理解人機(jī)交互學(xué)科(見表2),并為每層課程內(nèi)容指定 Bloom 認(rèn)知級(jí)別:理解(C: comprehension)、分析(AN: analysis)/ 綜合(S: synthesis)/ 評(píng)價(jià)(E: evaluation)、應(yīng)用(AP: application)和了解(K: knowledge)4 種類型[1]。
3.1.1 初級(jí)主題層次
初級(jí)主題層次將以課堂教學(xué)、案例教學(xué)和項(xiàng)目教學(xué)三位一體的方式進(jìn)行。教師首先向?qū)W生闡述人機(jī)交互的概念與發(fā)展歷史,使學(xué)生形成人機(jī)交互的認(rèn)知;其次,以兒童為用戶的人機(jī)交互作為案例,舉出現(xiàn)有的兒童智能終端交互設(shè)備以及國(guó)外優(yōu)秀兒童產(chǎn)品,如北歐著名兒童APP開發(fā)商Toca Boca的產(chǎn)品,讓學(xué)生體會(huì)兒童人機(jī)交互的風(fēng)格;再次,使用兒童人機(jī)交互圖式理論,來(lái)分析解釋其設(shè)計(jì)的合理性與不合理性;再次,介紹以用戶為驅(qū)動(dòng)的開發(fā)方法,并提供關(guān)于原型制作的方法、工具以及技術(shù)的說(shuō)明;最后,組織學(xué)生以小組為單位,用Agile + UCD的方式設(shè)計(jì)一個(gè)涉及兒童人機(jī)交互的界面原型,并以翻轉(zhuǎn)課堂的形式在課上展現(xiàn)成果和交流經(jīng)驗(yàn)。
3.1.2 中級(jí)主題層次
中級(jí)主題層次則在初級(jí)主題層次的基礎(chǔ)上,通過項(xiàng)目實(shí)踐深化學(xué)生對(duì)兒童人機(jī)交互圖式的理解。從中級(jí)主題開始,教師將繼續(xù)深入介紹經(jīng)典的兒童人機(jī)交互模型;其后給學(xué)生分發(fā)任務(wù)書、介紹幾種典型的分層軟件架構(gòu)模式以供選擇,再以初級(jí)主題中的界面原型做輸入,學(xué)生需要運(yùn)用人機(jī)交互圖式對(duì)其進(jìn)行UML可視化建模,并進(jìn)行前端和服務(wù)器端開發(fā)以及用戶界面管理系統(tǒng)的實(shí)現(xiàn)。
3.1.3 高級(jí)主題層次
高級(jí)主題層次將采用研究型教學(xué)方式進(jìn)行,具體流程如圖1所示。由教師提供會(huì)議和刊物清單(見表3和表4)。學(xué)生在課前需要閱讀5篇人機(jī)交互與普適計(jì)算領(lǐng)域中A類或B類會(huì)議上發(fā)表的論文,論文研讀方向見表5,并做出一個(gè)思維導(dǎo)圖匯總;完成個(gè)人任務(wù)后,與小組成員相互交流,書寫閱讀報(bào)告;最后每組提交一個(gè)思維導(dǎo)圖整合,并參與論文研讀課堂交流會(huì),匯報(bào)論文研讀情況。學(xué)生可以通過論文的研討交流,了解人機(jī)交互前沿知識(shí),開闊視野,也能激勵(lì)其對(duì)人機(jī)交互領(lǐng)域作更深入的研究。
3.2 實(shí)踐體系設(shè)計(jì)
實(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級(jí)的代碼運(yùn)行展示,鼓勵(lì)多樣化的實(shí)現(xiàn)方案。學(xué)生可以選擇自己感興趣或擅長(zhǎng)的技術(shù)方向進(jìn)行開發(fā),以便專注于人機(jī)交互學(xué)科本身。
實(shí)踐體系將配合項(xiàng)目型教學(xué),重點(diǎn)體現(xiàn)在實(shí)踐方法上(見表7)。教學(xué)以Agile + UCD方法為用戶界面原型開發(fā)過程指導(dǎo),歷經(jīng)用戶調(diào)研與信息架構(gòu)、交互設(shè)計(jì)與視覺設(shè)計(jì)、原型開發(fā)和系統(tǒng)開發(fā)四個(gè)過程,如圖2所示。學(xué)生需要通過用戶調(diào)研來(lái)定義場(chǎng)景以及構(gòu)建用例模型,再根據(jù)用例圖進(jìn)行表現(xiàn)信息架構(gòu)的線框圖設(shè)計(jì);以線框圖作輸入,學(xué)生必須參考課上所學(xué)的兒童人機(jī)交互圖式,考量交互體驗(yàn)和視覺體驗(yàn),做出交互設(shè)計(jì)元素及其規(guī)約說(shuō)明、UI視覺元素及其規(guī)約說(shuō)明,以便做出符合設(shè)想的UI原型設(shè)計(jì);最后通過反復(fù)的可用性評(píng)估和原型優(yōu)化,提高學(xué)生的人機(jī)交互素養(yǎng),再進(jìn)行原型開發(fā)。
4 項(xiàng)目實(shí)踐
基于兒童人機(jī)交互的圖式理論,結(jié)合華南理工大學(xué)人機(jī)交互課程體系設(shè)計(jì)與教學(xué)實(shí)踐,筆者帶領(lǐng)學(xué)生項(xiàng)目團(tuán)隊(duì)完成了許多課程項(xiàng)目實(shí)踐。這些項(xiàng)目實(shí)踐的成果獲得了軟件著作權(quán)、發(fā)明專利,并且一些APP已經(jīng)在蘋果商店發(fā)布。能證實(shí)并展示兒童人機(jī)交互圖式理論在人機(jī)交互課程的教學(xué)與實(shí)踐中的重要意義,如智能牙刷系統(tǒng),包括智能牙刷和APP。系統(tǒng)設(shè)計(jì)的關(guān)鍵問題包括智能硬件外觀設(shè)計(jì)、結(jié)構(gòu)設(shè)計(jì)、線路板設(shè)計(jì)、固件設(shè)計(jì)、APP設(shè)計(jì)以及APP與智能硬件的藍(lán)牙連接接口設(shè)計(jì)。如何以兒童為中心,通過恰當(dāng)?shù)募?lì)方式,將整個(gè)刷牙過程貫穿有趣的知識(shí)和益智游戲互動(dòng),幫助其養(yǎng)成科學(xué)刷牙習(xí)慣。這些人機(jī)交互學(xué)科相關(guān)的問題是產(chǎn)品設(shè)計(jì)取得成功的關(guān)鍵所在。
在兒童人機(jī)交互設(shè)計(jì)的信息架構(gòu)方面,包括刷牙的區(qū)域、清潔度、粒度、速度等,還包括刷牙的時(shí)間、次數(shù)、區(qū)域、獎(jiǎng)勵(lì)情況等。
獎(jiǎng)勵(lì)的設(shè)計(jì)既展示兒童視覺設(shè)計(jì)方面,也展示了斯金納行為強(qiáng)化理論的應(yīng)用,如圖3所示。根據(jù)斯金納行為強(qiáng)化理論,可以將獎(jiǎng)勵(lì)定義為后援強(qiáng)化物,并分為活動(dòng)類、擁有類和消費(fèi)類。合理的獎(jiǎng)勵(lì)分類與吸引兒童的視覺設(shè)計(jì),都是為了增強(qiáng)獎(jiǎng)勵(lì)的強(qiáng)化效果。基于杜曼閃卡理論,可以設(shè)計(jì)游戲來(lái)促進(jìn)兒童的認(rèn)知,達(dá)到益智的目的。
5 結(jié) 語(yǔ)
近6年來(lái)的教學(xué)與項(xiàng)目實(shí)踐表明, 在軟件工程專業(yè)中基于圖式理論探索 HCI 課程體系具有重要意義:能幫助軟件工程專業(yè)的學(xué)生更好地理解軟件產(chǎn)品的開發(fā)過程,有利于促進(jìn)用戶界面設(shè)計(jì)與實(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.
(編輯:史志偉)