林連南 劉嘉偉 許南鴻



摘要:針對軟件工程專業(yè)中的人機(jī)交互課程體系設(shè)計(jì)問題,總結(jié)近4年的課程教學(xué)經(jīng)驗(yàn),調(diào)研和分析人機(jī)交互教育的國內(nèi)外經(jīng)驗(yàn),分析課程教學(xué)目標(biāo)體系,研究課程體系設(shè)計(jì)方案,包括課程理論知識體系和實(shí)踐教學(xué)體系,以期此研究工作有助于教師在軟件工程專業(yè)中開設(shè)該課程。
關(guān)鍵詞:軟件工程;人機(jī)交互;課程體系;理論知識體系;實(shí)踐教學(xué)體系
0.引言
人機(jī)交互(human-computer interaction,HCI)是有關(guān)交互式計(jì)算機(jī)系統(tǒng)的設(shè)計(jì)、評估、實(shí)現(xiàn)以及與之相關(guān)現(xiàn)象的學(xué)科。它是一門交叉學(xué)科,涉及人體工程學(xué)、認(rèn)知心理學(xué)、社會學(xué)、人種學(xué)、計(jì)算機(jī)科學(xué)、軟件工程和工業(yè)設(shè)計(jì)等多門學(xué)科領(lǐng)域。雖然HCI在計(jì)算機(jī)科學(xué)技術(shù)中具有重要地位,但是權(quán)威的調(diào)研數(shù)據(jù)表明:計(jì)算科學(xué)從業(yè)者所接受到的HCI知識教育與其實(shí)際工作需要差距很大,從業(yè)者需要在工作中通過自我教育來提升,但仍然離實(shí)際工作要求有不小的差距。在技術(shù)發(fā)展和社會需求的驅(qū)動下,從20世紀(jì)90年代開始,全球越來越多的著名高校在計(jì)算科學(xué)相關(guān)的本科或碩士研究生課程中開設(shè)了HCI相關(guān)課程。最新的軟件工程知識體系和計(jì)算機(jī)科學(xué)知識體系都將HCI列為一個獨(dú)立的知識域。對國家示范性軟件學(xué)院及全美排名前10的計(jì)算機(jī)專業(yè)的調(diào)研也表明:大部分學(xué)院和計(jì)算機(jī)專業(yè)都開設(shè)了HCI課程。這些工作為HCI課程設(shè)計(jì)提供了重要參考,但是沒有一勞永逸、普遍適用或可照搬照抄的HCI課程設(shè)計(jì)。因此,進(jìn)行HCI課程體系設(shè)計(jì)的研究與實(shí)踐具有重要意義。
另外,HCI課程的新教師至少面臨以下5個挑戰(zhàn):①跟蹤和過濾最新的HCI知識和技術(shù)發(fā)展;②將最新的HCI知識和技術(shù)以有效的教育方式進(jìn)行擴(kuò)展和應(yīng)用;③將已有的知識集成到已經(jīng)設(shè)計(jì)好的課程教學(xué)大綱中;④如何在HCI教育過程中培養(yǎng)學(xué)生的創(chuàng)新能力;⑤如何收集課程資源和積累相關(guān)的項(xiàng)目實(shí)戰(zhàn)經(jīng)驗(yàn)。因此,在軟件工程專業(yè)中開設(shè)人機(jī)交互課程,探索出具有良好定義和結(jié)構(gòu)的理論知識體系以及具有具體可行教學(xué)過程的實(shí)踐教學(xué)體系課程設(shè)計(jì)方案,是一個富有挑戰(zhàn)性的工作。我們必須系統(tǒng)地研究國內(nèi)外HCI教育同行的最佳實(shí)踐經(jīng)驗(yàn),開展HCI課程的項(xiàng)目型和研究型教學(xué)實(shí)踐,跟進(jìn)最新的HCI發(fā)展成果,研究課程設(shè)計(jì)和教學(xué)的基本理論,將HCI與軟件工程有機(jī)結(jié)合。
1.人機(jī)交互課程體系設(shè)計(jì)
1.1總體設(shè)計(jì)
通過總結(jié)近4年的HCI課程教學(xué)和實(shí)踐經(jīng)驗(yàn),調(diào)研和分析HCI教育的國內(nèi)外經(jīng)驗(yàn),基于Tyler課程與教學(xué)原理,我們提出HCI課程體系的總體設(shè)計(jì)方案,如圖1所示。該方案的具體內(nèi)容包括課程的教學(xué)目標(biāo)體系,如通用目標(biāo)和具體目標(biāo);課程理論知識體系,如定義清晰和結(jié)構(gòu)良好的理論知識體系;具體可行的實(shí)踐教學(xué)過程,如基于活動理論組織的教學(xué)活動;結(jié)合敏捷開發(fā)過程(Agile)和以用戶為中心的設(shè)計(jì)過程(user centered design,UCD)建立的實(shí)踐教學(xué)體系;課程教學(xué)成果和考核與評價體系等。
1.2課程教學(xué)目標(biāo)體系設(shè)計(jì)
參照HCI教育組織的最新建議,我們提出HCI課程設(shè)計(jì)的通用目標(biāo),培養(yǎng)學(xué)生以下幾方面的核心能力:①對于HCI新技術(shù)的評判;②管理與利益攸關(guān)方和用戶的對話、協(xié)作和參與;③數(shù)據(jù)收集和分析;④問題解決;⑤評價或評估,執(zhí)行和管理。另外也可參考CDIO大綱,在課程設(shè)計(jì)中引入更通用的工程人才培養(yǎng)目標(biāo)。
根據(jù)HCI國際教育組織的課程設(shè)計(jì)經(jīng)驗(yàn)、我們4年來的HCI課程實(shí)際教學(xué)和項(xiàng)目實(shí)踐經(jīng)驗(yàn)以及學(xué)生的課程教學(xué)反饋,我們制定具體課程目標(biāo):①理解HCI基礎(chǔ)知識,了解HCI的簡要?dú)v史和特點(diǎn);②掌握HCI啟發(fā)式規(guī)則,如HCI設(shè)計(jì)原則、方法、標(biāo)準(zhǔn)和指南等,增強(qiáng)對交互式系統(tǒng)可用性設(shè)計(jì)的評價能力;③理解認(rèn)知心理學(xué),尤其是信息處理理論和活動理論,增進(jìn)對身邊產(chǎn)品HCI設(shè)計(jì)的審美能力和對軟件設(shè)計(jì)決策可用性效果的敏感度;④提高分析、綜合、評價或應(yīng)用HCI知識與技術(shù)的能力以及解決當(dāng)前HCI常見問題的能力;⑤研究并掌握最新的HCI技術(shù)方案,掌握更加通用而嚴(yán)格的HCI方法、技術(shù)和工具,以改善軟件產(chǎn)品的可用性或創(chuàng)造新的軟件產(chǎn)品;⑥深刻理解可用性、可用性場景、用戶角色和HCI任務(wù)等基本概念,掌握實(shí)現(xiàn)可用性的相關(guān)戰(zhàn)術(shù)以及基于可用性場景的用戶界面和軟件架構(gòu)原型的設(shè)計(jì)和規(guī)約方法;⑦掌握UCD設(shè)計(jì)過程以及UCD和Agile相互結(jié)合的方法,清晰理解HCI對于增強(qiáng)軟件工程實(shí)踐的具體作用;⑧掌握用戶模型、任務(wù)模型和系統(tǒng)模型等形式化建模方法,有效管理交互式系統(tǒng)規(guī)約、設(shè)計(jì)和實(shí)現(xiàn)過程中的溝通問題,減少模棱兩可和不必要的反復(fù)溝通;⑨對于在HCI學(xué)科上具有強(qiáng)烈學(xué)習(xí)動機(jī)的學(xué)生,基于上述基礎(chǔ)主題提供研討高級主題的機(jī)會,以應(yīng)對未來交互式系統(tǒng)復(fù)雜應(yīng)用環(huán)境和開發(fā)環(huán)境的挑戰(zhàn)等。
1.3課程理論知識體系設(shè)計(jì)
課程理論知識體系的內(nèi)容包含基礎(chǔ)主題和高級主題。HCI教育界專家的調(diào)研結(jié)果表明:基礎(chǔ)主題主要包括認(rèn)知心理學(xué)、設(shè)計(jì)原則和過程、交互技術(shù)、可用性、任務(wù)分析、評價方法和系統(tǒng)開發(fā)方法與原型化等內(nèi)容。此外,對HCI從業(yè)人員的調(diào)研可以根據(jù)使用的頻率和重要性兩個參量進(jìn)行統(tǒng)計(jì)分析,最常用的HCI技術(shù)包括低保真原型技術(shù)、概念設(shè)計(jì)、用戶的觀察性研究、可用性專家評估、現(xiàn)場研究、角色扮演、快速迭代測試、實(shí)驗(yàn)室可用性測試、任務(wù)分析、基于GOMS的設(shè)計(jì)和人種學(xué)。我們通過網(wǎng)上公布的教學(xué)大綱,對HCI課程的基礎(chǔ)主題進(jìn)行統(tǒng)計(jì)分析并根據(jù)統(tǒng)計(jì)分析結(jié)果確定課程基礎(chǔ)主題,支持課程設(shè)計(jì),制訂教學(xué)計(jì)劃,防止教學(xué)內(nèi)容選擇的隨意性和盲目性。HCI教育界專家一致認(rèn)為對于這些基礎(chǔ)主題的教學(xué),HCI教育者應(yīng)該處理好HCI知識深度和廣度之間的關(guān)系。
對HCI課程具有強(qiáng)烈動機(jī)的學(xué)生或教師而言,除基礎(chǔ)主題外,HCI具有范圍廣泛的高級主題。我們綜合考慮學(xué)生的軟件工程專業(yè)背景、企業(yè)需求以及教師的科研背景和項(xiàng)目實(shí)踐經(jīng)驗(yàn)等因素設(shè)定高級主題。對于高級主題,更多采用共同研讀、小組實(shí)驗(yàn)和項(xiàng)目實(shí)踐的方法,而不是課堂教學(xué)的方法組織教學(xué)。我們將在開學(xué)初期對學(xué)生分組,每組3~5人,然后為每個小組提供一些小型實(shí)驗(yàn)以及一個跨度為整個學(xué)期的課程大作業(yè),并提供必要的參考文獻(xiàn)。
我們借鑒軟件工程課程內(nèi)容的層級結(jié)構(gòu),如圖2(a)所示,提出HCI課程理論知識體系的分層結(jié)構(gòu),并為每層課程內(nèi)容指定Bloom認(rèn)知級別,包括理解(C:comprehension)、分析(AN:analysis)/綜合(s:synthesis)/評價(E:evaluation)、應(yīng)用(AP:application)和了解(K:knowledge)4種類型,在此基礎(chǔ)上,跟蹤最新的HCI發(fā)展成果,擴(kuò)展和應(yīng)用最新的HCI發(fā)展成果,將HCI課程與軟件工程課程有效集成,使課程內(nèi)容組織具有良好的結(jié)構(gòu),如圖2(b)所示。最后,我們提出教學(xué)計(jì)劃并給定每個教學(xué)主題的Bloom認(rèn)知級別,見表1。
1.4課程實(shí)踐體系設(shè)計(jì)
在課程實(shí)踐教學(xué)體系的設(shè)計(jì)上,我們更多地采用項(xiàng)目型教學(xué)。在項(xiàng)目執(zhí)行過程中,教師更重要的是指導(dǎo)并監(jiān)督學(xué)生對項(xiàng)目任務(wù)的完成情況,而不是采用傳統(tǒng)的課堂型教學(xué)方法。我們讓多組學(xué)生同時完成一個項(xiàng)目,這樣可以讓學(xué)生能夠?qū)ν粋€問題的不同解決方案進(jìn)行比較。在項(xiàng)目執(zhí)行過程中,讓學(xué)生主動上網(wǎng)查閱、分析和使用各種資料以解決問題,而這些資料反映出來的觀點(diǎn)常常是相互矛盾的,從而讓學(xué)生理解HCI課程中的問題不存在簡單的解決方案。在HCI的教學(xué)過程中,尤其要防止學(xué)生簡單地認(rèn)為教材提供了HCI所有問題的解決方案。這樣,讓學(xué)生在實(shí)踐中感受到重要的是理解和應(yīng)用課程的理論知識體系,而不是死記硬背或生搬硬套課程的理論知識。
我們使用基于Agile和UCD相結(jié)合的方法組織課程的實(shí)踐教學(xué),開展項(xiàng)目型教學(xué);基于人機(jī)交互場景分析并結(jié)合用戶界面和軟件體系結(jié)構(gòu)原型與人機(jī)交互模型,進(jìn)行教學(xué)開發(fā)過程的管理。實(shí)踐表明,采用這樣的過程和方式將HCI與軟件工程有機(jī)結(jié)合,能有效改進(jìn)軟件開發(fā)的效率、效果和用戶滿意度,是理想的組織HCI課程理論知識和實(shí)踐教學(xué)的方法。此外,教師還可與企業(yè)合作,收集企業(yè)的信息化需求,提出目標(biāo)產(chǎn)品的調(diào)研和設(shè)計(jì)任務(wù),讓學(xué)生以團(tuán)隊(duì)的形式進(jìn)行頭腦風(fēng)暴,進(jìn)行產(chǎn)品分析,理解項(xiàng)目目標(biāo)產(chǎn)品的差異性,并在大量分析和調(diào)研的基礎(chǔ)上提出概念性設(shè)計(jì)或用戶界面設(shè)計(jì)原型,這有助于提升學(xué)生對產(chǎn)品HCI設(shè)計(jì)優(yōu)劣的敏感度和判斷能力,也有助于提升學(xué)生的創(chuàng)新能力。學(xué)生團(tuán)隊(duì)還應(yīng)該嚴(yán)格基于Agile和UCD的敏捷用戶界面原型開發(fā)過程組織開發(fā)活動,如信息架構(gòu)、交互設(shè)計(jì)、視覺設(shè)計(jì)和UI原型設(shè)計(jì)與開發(fā)等,從而有效地進(jìn)行分工合作,協(xié)調(diào)不同活動之間的時序關(guān)系。UCD用戶界面原型開發(fā)過程如圖3所示。
1.5情感領(lǐng)域教學(xué)設(shè)計(jì)
根據(jù)Tyler課程與教學(xué)原理,教師可進(jìn)行具有針對性的情感領(lǐng)域教學(xué)設(shè)計(jì),包括:①通過HCI的簡史和學(xué)科特點(diǎn)提高學(xué)生對HCI的興趣,激發(fā)學(xué)生在HCI學(xué)科方向進(jìn)修的意愿;②通過HCI啟發(fā)式的規(guī)則如HCI設(shè)計(jì)原則、方法、標(biāo)準(zhǔn)、指南和最佳實(shí)踐等,培養(yǎng)學(xué)生對用戶界面設(shè)計(jì)的審美能力,增強(qiáng)對可用性設(shè)計(jì)的評估能力;③通過認(rèn)知心理學(xué)尤其是信息處理理論和活動理論,增進(jìn)學(xué)生對身邊產(chǎn)品尤其是軟件產(chǎn)品可用性設(shè)計(jì)的評估能力,增強(qiáng)其對軟件設(shè)計(jì)決策可用性效果的敏感度;④通過可用性設(shè)計(jì)、評估和實(shí)現(xiàn)的項(xiàng)目實(shí)踐,增進(jìn)學(xué)生未來從事HCI相關(guān)職業(yè)的自信,進(jìn)行HCI相關(guān)職業(yè)規(guī)劃。
2.教學(xué)實(shí)施與考核評價
根據(jù)活動理論,基于社會活動的基本結(jié)構(gòu),我們設(shè)計(jì)出課程活動的結(jié)構(gòu),如圖4所示。該設(shè)計(jì)將教學(xué)過程的活動分為理論知識學(xué)習(xí)和實(shí)踐學(xué)習(xí)兩類,前者包括上課、考試和研讀論文等,后者包括參與實(shí)驗(yàn)和團(tuán)隊(duì)項(xiàng)目等。
根據(jù)課程活動的結(jié)構(gòu)設(shè)計(jì),學(xué)生可在教師的教學(xué)、指導(dǎo)和監(jiān)督下完成理論知識學(xué)習(xí)和課程實(shí)踐學(xué)習(xí)活動?;顒拥木唧w成果包括實(shí)驗(yàn)報告、論文研讀報告、項(xiàng)目成果報告和考試成績等。與純粹的筆試考核方式相比,該考核方式能更全方位地評價學(xué)生在這門課程上的學(xué)習(xí)成果。課程考核分類、課程活動、課程活動的形式及其在教學(xué)評價中所占的比例見表2。
課程結(jié)束時,學(xué)生要書寫參加課程的個人心得體會,教師要對此進(jìn)行調(diào)研分析,與部分學(xué)生進(jìn)行面對面的溝通,獲得完善課程設(shè)計(jì)的重要主觀評價依據(jù)。
3.結(jié)語
近4年的實(shí)踐證明,采用上述HCI課程體系設(shè)計(jì)方案能制定出具有良好定義和結(jié)構(gòu)的理論知識體系以及在教學(xué)過程上具體可行的實(shí)踐教學(xué)體系,能較好地滿足軟件工程專業(yè)學(xué)生在實(shí)際工作中對HCI知識與能力的需求。我們希望研究工作能為教師在軟件工程專業(yè)中開設(shè)HCI課程提供有益參考。
(編輯:宋文婷)