《人机交互技术(Human-Computer Interaction Techniques)》教学大纲
制定时间:2025年04月
一、课程基本信息
(一)适用专业:软件工程
(二)课程代码:3ZN1056A
(三)学分/课内学时:3学分/48学时
(四)课程类别:专业教育
(五)课程性质:必修/理论课
(六)先修课程:C语言程序设计、软件需求分析、面向对象的程序设计方法、软件质量保证与测试等
(七)后续课程:工业软件应用开发技术、虚拟现实、毕业设计
二、课程教学目标
人机交互技术是计算机科学与美学设计深度融合的综合性学科,聚焦用户认知规律与界面设计原则,旨在培养学生在人机界面设计领域的专业能力。课程以Qt 6框架为核心,重点研究人的认知过程对界面设计的影响,以及人机界面设计的基本原则和方法。通过教学,学生将掌握界面设计的基本规律和实现手段,提升设计符合用户需求的友好界面的能力,同时注重易用性设计与审美表现能力的培养。
课程任务包括理解人机交互的基本概念,学习界面设计的实例,掌握界面设计的基本原则和方法,并通过实践项目将理论知识应用到软件开发中,实现用户与计算机之间的高效交互。课程注重培养学生的创造性思维和主动学习能力,通过团队协作和项目实践,帮助学生树立精益求精的职业态度和开放共享的价值观。
通过本课程的学习,学生不仅能够掌握界面设计的技术能力,还能在实践中培养团队协作精神、创新意识和社会责任感,为未来在汽车等行业的 GUI 设计领域中脱颖而出奠定坚实基础。课程目标及能力要求具体如下:
(一)具体目标
目标1:掌握Qt 6 C++开发的理论知识和实践技能,理解Qt 6 和 C++ 的核心概念,能够设计和实现符合汽车等行业需求的图形用户界面(GUI)。课程将重点培养学生的界面设计能力,包括界面可视化设计和布局管理方法、元对象系统的功能及其应用等基本内容,数据库、多线程、网络、多媒体、图表、数据可视化、串口通信等功能模块的使用,使学生能够独立开发复杂的GUI程序。
目标2:了解界面设计的特点与流程,掌握人机交互设计中色彩的应用规律、界面风格的表现方法,合理选择色彩和表现风格,为特定系统提供一个协调统一的用户界面。旨在培养学生的团队协作能力、创新精神和社会责任感。通过实际项目和团队合作,学生将学习如何在设计过程中注重用户体验和伦理问题,树立精益求精的职业态度和开放共享的价值观,为未来的职业发展奠定坚实基础。
(二)课程目标与毕业要求的对应关系
毕业要求 |
毕业要求指标点 |
课程目标 |
教学单元 |
评价方式 |
1.研究:能够基于科学原理并采用科学方法对人机界面和交互进行研究,包括建立软件模型、设计实验、分析与解释数据、并通过信息综合得到合理有效的结论。 |
能够融合专业知识结构,具备对人机界面和交互问题进行深入研究的能力,能够从软件模型或实验结论中分析总结一般性规律,可以对复杂交互问题进行深入研究。 |
目标1 |
绪论、认知心理学、交互设备、交互技术 |
期末大作业 平时作业 |
2.使用现代工具:能够针对复杂人机界面和交互问题,开发、选择与使用恰当的技术、资源、现代工程工具和信息技术工具,利用形式化方法完成复杂界面与交互系统的模拟、设计、验证、确认、实现、应用和维护,并能够理解其局限性。 |
2.1:能够开发、选择与使用恰当的技术、资源、现代工程工具和信息技术工具完成复杂人机界面和交互需求分析、预测、模拟,能够自行开发或选择恰当的开发工具和技术,利用适当的资源,对复杂人机界面和交互问题进行需求分析、前景预测、功能或界面模拟。 |
目标1, 2 |
交互技术、GUI程序设计基础、Qt框架功能概述、数据库、自定义插件和库、实验1: Qt Creator、实验2:基于OMediaPlayer设计的音乐播放器、实验3:与ESP8266 模块通信的 上位机程序运行时界面、实验4:Qt 的智能车载系统嵌入式系统 |
期末大作业 平时作业、实验 |
2.2 能够采用恰当的方法和工具对软件进行测试和验证,并能够给出应用和维护方案了解主要的界面和交互设计方法和主流的设计与编写工具, |
目标2 |
GUI程序设计基础、常用界面组件的使用、模型/视图结构、事件件处处理理、对话框和多窗口程序设计 |
实验、 期末大作业 平时作业 |
三、教学内容与方法
(一)教学内容及要求
序 号 |
教学单元 |
教学内容 (知识点) |
学习产出要求 |
推荐学时 |
推荐教学方式 |
支撑 教学目标 |
备注 |
1 |
绪论 |
1.人机交互的概念 2.人机交互与其他相关学科的关系 3.人机交互研究的内容 4.人机交互发展的历史及趋势 |
1.了解本课程的研究内容和重要性; 2.理解人机交互技术与用户界面设计的基本概念,能够正确阐述本学科与其他学科的关系; 3.了解人机交互的历史背景和未来发展趋势。 |
2 |
讲授法+课堂案例讨论 |
目标1 |
|
2 |
认知心理学 |
1.人的感知 2.知觉的特性 3.认知过程与交互设计原则 4.概念设计模型 |
1.了解人的感知能力和知觉特性,能够说明认知过程对交互设计的影响; 2.理解关注在人机交互中起的重要性,能够依据应用场景,合理分析出关注点; 3.交互设计中能够合理使用思维模型、信息处理模型、外部认知模型,减轻用户的负担。 |
4 |
讲授法+课堂案例讨论 |
目标1 |
|
3 |
交互技术 |
1.人机交互输入模式 2.基本交互技术 3.图形交互 4.自然交互 |
1.了解人机交互的基本技术和方法; 2.能够对交互方法进行评估、在项目中选择交互方法。 |
2 |
讲授+案例讨论 |
目标1 目标2 |
|
4 |
GUI程序设计基础 |
1.GUI程序结构与运行机制 2.可视化UI设计 3.代码化UI设计 4. 使用CMake构建系统 |
1.理解Qt Creator 设计 GUI 程序的基本方法和原理; 2.能够理解GUI 项目中各文件的作用和程序运行原理; 3. 了解代码化 UI 设计的方法。 |
4 |
讲授+ |
目标2 |
|
5 |
Qt框架功能概述 |
1.Qt 6框架中的模块 2.Qt全局定义 3.Qt的元对象系统 4.容器类 |
1.能运用元对象系统; 2.了解Qt 编程中常用的一些全局定义; 3.掌握Qt 编程中常用的一些类的使用方法。 |
2 |
讲授 |
目标2 |
|
6 |
常用界面组件的使用 |
1. 界面组件概述 2. 布局管理 3. QString字符串操作 4. QChar的功能 5. QSlider和QProgressBar 6. QTimer和QElapsedTimer 7. QComboBox类 8. 窗口界面可视化设计 |
1.了解窗口界面; 2.了解界面上有各种组件可实现交互操作; 3. QString 的功能和常用接口函数; 4. 常用的 4 种按钮组件的使用。 |
4 |
讲授+案例 |
目标2 |
|
7 |
模型/视图结构 |
1.模型/视图结构概述 2.QStringListModel和QListView 3. 自定义代理 4. QFileSystemModel和QTreeView |
1.理解模型/视图结构将数据存储和界面展示分离; 2. 模型/视图结构的原理以及常用的模型类和视图组件类的使用方法。 |
2 |
讲授+案例讨论 |
目标2 |
|
8 |
事件件处处理理 |
1. Qt 的事件系统 2. 事件与信号 3. 事件过滤器 |
1. Qt 事件系统的基本原理; 2. Qt 事件系统的处理流程; 3. 拖放操作相关事件的处理。 |
2 |
讲授+案例 |
目标2 |
|
9 |
对话框和多窗口程序设计 |
1.标准对话框 2.图形化人机交互技术 3.自然人机交互技术 |
1.理解多窗口应用程序的设计方法; 2 掌握多窗口的设计和调用; 3 掌握设计和调用自定义对话框。 |
4 |
讲授+案例 |
目标2 |
|
10 |
数据库 |
1. Qt 数据库编程概述 2. QSqlTableModel 的使用 1. QSqlRelationalTableModel 的使用 |
1. Qt SQL 模块中一些主要类的使用方法; 2. SQLite 数据库; 3. 数据查询、显示、编辑修改等常见编程功能的实现。 |
2 |
讲授+案例 |
目标1、目标2 |
|
11 |
自定定义义插插件件和和库库 |
1. 自定义界面组件提升法 2. Qt Designer 设计自定义Widget 插件 |
1. 自定义界面组件的设计和使用方法; 2. 创建和使用静态链接库和共享库的方法 |
4 |
讲授+案例 |
目标1、目标2 |
|
12 |
实验1: Qt Creator |
1. Qt Creator界面 2. 代码化 UI 设计 |
1. 掌握Qt Creator开发环境配置与核心功能操作; 2. 理解代码驱动型UI开发范式。 |
4 |
讲授+实操 |
目标1、目标2 |
|
13 |
实验2:基于OMediaPlayer设计的音乐播放器 |
1. OMediaPlayer类的使用 2. 多媒体事件处理 |
1. 独立开发功能完整的音乐播放器; 2. 掌握界面设计与交互优化能力。 |
4 |
讲授+实操 |
目标1、目标2 |
实验报告 |
14 |
实验3:与ESP8266 模块通信的 上位机程序运行时界面 |
1. ESP8266的串口通信配置 2. AT指令集的使用 3. 信号与槽机制在通信中的应用 |
1. 独立开发上位机程序; 2. 优化用户界面与交互。 |
4 |
讲授+实操 |
目标1、目标2 |
实验报告 |
15 |
实验4:Qt 的智能车载系统嵌入式系统 |
1. Qt设计车载系统的用户界面 2. Qt样式表(QSS)的使用 |
1. 独立开发车载系统界面; 2. 通过Qt样式表和多线程编程优化界面的美观性和响应速度。 |
4 |
讲授+实操 |
目标1、目标2 |
实验报告 |
(二)教学方法
1.课堂讲授
(1)采用启发式教学,激发学生主动学习的兴趣,培养学生独立思考、分析问题和解决问题的能力,引导学生主动通过实践和自学获得自己想学到的知识。
(2)在教学内容上,系统讲授Qt C++开发应用程序所涉及的技术原理和主要功能模块的使用方法有关本课程的基本理论。
2.实验教学
实验教学是人机交互课程中重要的实践环节,目的是培养学生熟悉利用软件实现人机界面设计与交互的方法、流程和工具,能够具有良好的写作能力,能对软件的需求分析、界面设计和交互设计等阶段撰写报告、设计文稿。课程必做实验3个,各实验按照实验指导书的要求学生独立完成,并提交实验报告。
四、考核及成绩评定
(一)考核内容及成绩构成
课程考核以考核学生能力培养目标的达成为主要目的,以检查学生对各知识点的掌握程度和应用能力为重要内容,包括实验作业、期末大作业两个部分,考核方式:大作业。各课程目标的考核内容、成绩评定方式、目标分值建议如下:
课程目标 |
考核内容 |
成绩评定方式 |
成绩占总评分比例 |
目标成绩占当次考核比例 |
学生当次考核平均得分 |
目标达成情况计算公式 |
目标1:掌握Qt 6 C++开发的理论知识和实践技能,理解Qt 6 和 C++ 的核心概念,能够设计和实现符合汽车等行业需求的图形用户界面(GUI)。课程将重点培养学生的界面设计能力,包括界面可视化设计和布局管理方法、元对象系统的功能及其应用等基本内容,数据库、多线程、网络、多媒体、图表、数据可视化、串口通信等功能模块的使用,使学生能够独立开发复杂的GUI程序。 |
平时作业 |
平时作业 |
5% |
50% |
C1 |
|
实验报告 |
实验 |
14% |
40% |
A1 |
期末大作业 |
期末大作业 |
22% |
40% |
B1 |
目标2:了解界面设计的特点与流程,掌握人机交互设计中色彩的应用规律、界面风格的表现方法,合理选择色彩和表现风格,为特定系统提供一个协调统一的用户界面。旨在培养学生的团队协作能力、创新精神和社会责任感。通过实际项目和团队合作,学生将学习如何在设计过程中注重用户体验和伦理问题,树立精益求精的职业态度和开放共享的价值观,为未来的职业发展奠定坚实基础。 |
平时作业 |
平时作业 |
5% |
50% |
C2 |
|
实验报告 |
实验 |
21% |
60% |
A2 |
期末大作业 |
期末大作业 |
33% |
60% |
B2 |
总评成绩(100%)=平时作业(10%)+实验(35%)+期末大作业(55%) |
100% |
—— |
—— |
|
(二)平时考核成绩评定
1.课程实验:支撑目标1、目标2,共占总评分35%,目标1占14%、目标2占21%。对应目标的评分标准如下:
对应目标 |
目标1:掌握Qt 6 C++开发的理论知识和实践技能,理解Qt 6 和 C++ 的核心概念,能够设计和实现符合汽车等行业需求的图形用户界面(GUI)。课程将重点培养学生的界面设计能力,包括界面可视化设计和布局管理方法、元对象系统的功能及其应用等基本内容,数据库、多线程、网络、多媒体、图表、数据可视化、串口通信等功能模块的使用,使学生能够独立开发复杂的GUI程序。 |
目标2:了解界面设计的特点与流程,掌握人机交互设计中色彩的应用规律、界面风格的表现方法,合理选择色彩和表现风格,为特定系统提供一个协调统一的用户界面。旨在培养学生的团队协作能力、创新精神和社会责任感。通过实际项目和团队合作,学生将学习如何在设计过程中注重用户体验和伦理问题,树立精益求精的职业态度和开放共享的价值观,为未来的职业发展奠定坚实基础。 |
考查点 |
Qt 6 和 C++ 的核心概念、界面设计能力 |
实验中分析、解决问题的能力 |
成绩比例 |
14% |
21% |
评分标准 |
100% 至 90% |
对于人机交互设计在Qt 6代码化的理解清晰,代码高度模块化,能够设计和实现符合汽车等行业需求的图形用户界面(GUI),视觉设计融入行业审美(如高对比度、动态自适应主题)。 |
深入理解界面设计流程,能结合用户认知模型制定交互方案,提出创新性配色方案与主题风格,且与系统功能高度契合。在团队中担任核心角色,在具体的实例实验中分析、解决问题的能力强。 |
89.9% 至 80% |
熟练使用Qt Widgets/QML开发,代码逻辑清晰,但部分模块复用性不足,偶有冗余代码。界面视觉统一,但动态效果较少;交互流程合理,但部分操作步骤可进一步简化。 |
掌握设计流程与色彩规律,能完成协调的界面风格设计,但创新性不足(如采用常见配色方案),部分细节需优化,积极参与团队分工,按时完成任务,在具体的实例实验中能够进行分析,完成实验要求。 |
79.9 至 70% |
掌握Qt基础开发能力,代码能运行但结构松散,界面布局基本合理,但色彩搭配或字体可读性不足;交互流程存在卡顿,需多次点击完成核心任务。 |
基本遵循设计流程,但色彩搭配与风格选择缺乏理论支撑,界面存在局部视觉冲突。完成分配任务,但沟通主动性不足,能够按照实验要求完成。 |
69.9% 至 60% |
仅能使用Qt拖拽控件完成简单界面,代码依赖自动生成部分,手动编码能力薄弱,界面元素堆砌,布局混乱。 |
计流程执行不完整,色彩应用违背基础规律,风格与系统定位脱节。被动执行简单任务,团队贡献度低,不能很好的完成实验要求。 |
59.9%至 0 |
无法独立完成Qt工程搭建,代码存在严重语法错误或无法编译,界面设计粗糙,存在明显视觉冲突。 |
未掌握设计流程,色彩搭配混乱,界面风格与功能严重冲突。离团队协作,拒绝参与项目讨论,在实验要求中不能够进行分析。 |
2.平时作业:支撑目标1、目标2,共占总评分10%,目标1占5%、目标2占5%。对应目标的评分标准如下:
对应目标 |
目标1:掌握Qt 6 C++开发的理论知识和实践技能,理解Qt 6 和 C++ 的核心概念,能够设计和实现符合汽车等行业需求的图形用户界面(GUI)。课程将重点培养学生的界面设计能力,包括界面可视化设计和布局管理方法、元对象系统的功能及其应用等基本内容,数据库、多线程、网络、多媒体、图表、数据可视化、串口通信等功能模块的使用,使学生能够独立开发复杂的GUI程序。 |
目标2:了解界面设计的特点与流程,掌握人机交互设计中色彩的应用规律、界面风格的表现方法,合理选择色彩和表现风格,为特定系统提供一个协调统一的用户界面。旨在培养学生的团队协作能力、创新精神和社会责任感。通过实际项目和团队合作,学生将学习如何在设计过程中注重用户体验和伦理问题,树立精益求精的职业态度和开放共享的价值观,为未来的职业发展奠定坚实基础。 |
考查点 |
人机交互概念与方法的理解 |
分析、解决问题的能力 |
成绩比例 |
5% |
5% |
评分标准 |
100% 至 90% |
对于人机交互理解清晰,对于概念与方法的学习可以灵活应用,界面可视化设计和布局管理方法熟练掌握,深入理解Qt 6元对象系统,能灵活应用QML与C++混合编程实现复杂交互逻辑。 |
能将复杂汽车行业需求拆解为可落地的技术模块,并提出创新性优化方案,提交完整设计文档。 |
89.9% 至 80% |
对于人机交互理解清晰,对于概念与方法的学习可以灵活应用,掌握Qt 6核心机制,交互流程符合常规逻辑,设计界面功能满足基础车载需求。 |
准确识别核心需求,但解决方案偏向常规,优化点有限,文档包含需求分析与功能清单。 |
79.9 至 70% |
基本使用Qt Widgets完成界面开发,但对QML声明式编程理解模糊,文档仅描述基础功能,未涉及交互逻辑设计依据。 |
需求理解片面,解决方案仅实现基础功能,文档描述功能实现步骤,但未分析设计取舍。 |
69.9% 至 60% |
对于人机交互理解一般,汽车系统界面设计存在明显交互缺陷,深入理解Qt 6元对象系统,手动编写C++逻辑混乱。 |
对实验中对人机界面和交互知识理解不清晰,在实验中混淆相关概念,需求分析模糊,解决方案存在明显漏洞。 |
59.9%至 0 |
未掌握Qt 6基础语法,界面设计与行业需求严重脱节, QML与C++混合编程混乱,只实现了简单的交互逻辑。 |
无法理解行业需求,解决方案严重偏离目标,文档抄袭或内容空洞,未提供任何有效设计依据或测试记录。。。 |
五、参考学习资料
(一)推荐教材:《Qt 6 C++开发指南》,王维波,人民邮电出版社,2023,第1版,ISBN:9787115602404.
(二)推荐教材:《人机交互设计》,熊美姝等著,电子工业出版社,2023,第1版,ISBN:9787121354441.