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