基于ChatGPT开发课程演示系统的研究与实践

2024-06-03 18:35:58韦昌法赵涛
现代信息科技 2024年6期
关键词:生成式人工智能

韦昌法 赵涛

收稿日期:2023-09-07

基金项目:湖南省普通高等学校教学改革研究项目(2019-396)

DOI:10.19850/j.cnki.2096-4706.2024.06.039

摘  要:阐述了基于ChatGPT开发数据库应用基础课程演示系统的意义,论述了系统的设计方案,提出了基于ChatGPT的软件系统开发模式,利用自然语言编写指令指挥ChatGPT开发了基于Access数据库的学生信息管理系统,实现了学生信息的查看、修改、添加和删除等功能。上述工作有助于学生直观地体验Access数据库在实际业务中的使用方式,并深刻地认识ChatGPT的自然语言理解能力和编程能力,激发学生学习和使用人工智能技术的意愿,并为广大教师将ChatGPT应用于教学工作提供一种可借鉴的模式。

关键词:ChatGPT;生成式人工智能;数据库应用基础;课程演示系统

中图分类号:TP18    文献标识码:A  文章编号:2096-4706(2024)06-0185-05

Research and Practice of Developing a Course Demonstration System Based on ChatGPT

—Taking the Course of“Fundamentals of Database Application”as an Example

WEI Changfa, ZHAO Tao

(School of Informatics, Hunan University of Chinese Medicine, Changsha  410208, China)

Abstract: This paper elaborates the significance of developing a course demonstration system for Fundamentals of Database Application based on ChatGPT, and discusses the design scheme of the system, proposes the software system development mode based on ChatGPT. It uses natural language instructions to command ChatGPT to develop the Student Information Management System based on Access database, and implements the functions of viewing, modifying, adding, and deleting student information. The above work helps students to intuitively experience the usage of Access databases in practical business, and deeply understand the natural language understanding and programming abilities of ChatGPT, stimulate students' willingness to learn and use Artificial Intelligence technology, and provide a reference model for teachers to apply ChatGPT to teaching work.

Keywords: ChatGPT; generative Artificial Intelligence; Fundamentals of Database Application; course demonstration system

0  引  言

2022年11月,OpenAI公司发布了对话式通用人工智能工具ChatGPT,在全球范围内迅速引发了广泛的关注,成为有史以来增长最快的消费者应用程序[1,2]。ChatGPT拥有强大的自然语言理解、文本生成、情感识别能力,可以帮助用户完成文案撰写、语言翻译、编写程序等工作[3,4],让全球用户直观体验了生成式人工智能的风采。在ChatGPT引发的生成式人工智能研发和应用浪潮中,广大教师正在积极研究将ChatGPT类工具应用于教学工作[5,6]。在此背景下,我们开展了基于ChatGPT开发数据库应用基础课程演示系统的研究与实践工作。

1  系统开发的意义

数据库应用基础课程是大学计算机基础教学的重要课程之一,旨在培养学生的数据思维,提升学生利用数据库技术对信息进行管理、加工和数据表达的能力,以及使用数据库管理系统产品和数据库应用开发工具的能力[7]。

因为该课程是面向非计算机专业的学生开设的,所以许多高校在教学过程中通常选用Microsoft Access来开展教学,它是一种简便易用的关系型数据库管理系统,能够快速地創建并管理数据库[8]。在教学过程中,教师通常通过实例引导学生创建数据库以及表、查询、窗体、报表和宏等数据库对象,完成数据管理工作[9]。但是,在整个教学过程中学生都只能在Access中进行数据管理操作。然而,在实际业务中,用户通常是直接在软件系统中进行数据管理操作、而不会直接在Access等数据库管理系统中进行操作。这就意味着,学生在数据库应用基础课程中无法体验到Access数据库在实际业务中是如何具体地被使用的,这不利于激发学生学习Access数据库的兴趣。因此,我们认为有必要以学生熟悉的业务系统为例,设计一个简单的数据库应用基础课程演示系统,基于Access数据库和简单易学的编程语言Python来进行开发,使学生可以直观地体验Access数据库在实际业务场景中是如何被使用的,从而激发他们的学习兴趣。

因为非计算机专业的学生的编程基础相对薄弱,即使是用简单易学的编程语言Python来开发数据库应用基础课程演示系统,学生也很可能无法理解系统的代码,更无法自行对系统功能就行修改和完善。因此,我们认为可以利用ChatGPT来开发数据库应用基础课程演示系统,教师利用自然语言编写指令即可指挥ChatGPT完成开发工作,学生可以深刻地体验ChatGPT的自然语言理解能力和编程能力,也可以编写合适的指令来指挥ChatGPT进一步修改和完善该系统,还可以自主指挥ChatGPT开发新的软件系统。上述实践将大大激发学生的学习兴趣,激发他们学习和使用人工智能技术的意愿,使他们能够在实践中增长见识、提升能力、获得学习成就感、提高自信心。

2  系统设计

本文设计的数据库应用基础课程演示系统是一个基于Flask开发的Web系统,Flask是一种用Python编写的轻量级Web应用框架,可用于快速开发Web系统[10]。该课程演示系统只有一个页面(即系统主页),通过访问Access数据库进行基本的学生信息管理操作,实现学生信息的查看、修改、添加和删除等功能,该系统的功能模块如图1所示。

图1  系统功能模块图

在学生信息查看模块中,用户可以通过主页上的“学生信息”列表框查看所有学生的信息,当用户选中列表框中的某一条学生记录后,主页上半部分的“学生信息”区域将展示该学生的详细信息。在学生信息修改模块中,用户可以对“学生信息”区域中展示的信息进行修改,点击“保存”按钮后,相应的信息将更新到Access数据库和“学生信息”列表框中;在学生信息添加模块中,用户可以新增学生信息,点击“保存”按钮后,相应的信息将保存到Access数据库并新增到“学生信息”列表框中;在学生信息删除模块中,用户可以删除“学生信息”区域中展示的学生信息,点击“删除”按钮后,相应的信息将从Access数据库和“学生信息”列表框中删除。

3  系统开发

根据上述系统设计方案、基于ChatGPT来开发数据库应用基础课程演示系统,具体开发模式如图2所示。在该模式下,用户根据系统设计需求编写与ChatGPT进行对话的指令,将系统需要实现的功能以及系统页面布局特点等信息告知ChatGPT,逐步指导它生成程序。需要注意的是,有时候ChatGPT所生成的代码并不完全符合用户的需求,需要进一步修改完善;此时可以告知ChatGPT更多的需求细节,或者将代码运行后编辑器输出的错误信息反馈给ChatGPT,以便ChatGPT对先前生成的代码进行修改、直到完全满足用户的需求。

图2  基于ChatGPT的软件系统开发模式

接下来,笔者将介绍给ChatGPT发送指令、指挥它开发数据库应用基础课程演示系统的具体过程。

3.1  指挥ChatGPT开发系统主界面

首先,指挥ChatGPT开发系统主界面,在ChatGPT对话框中输入如下的指令1。

指令1:请帮我用Flask框架开发一个学生信息管理系统,该系统只有一个Web页面(即主页),页面上首先显示一个“学生信息”标签;下一行显示“学号”标签和“学号”文本框,下一行显示“姓名”标签和“姓名”文本框,下一行显示“性别”标签和“性别”文本框,下一行显示“出生日期”标签和“出生日期”文本框,下一行显示“生源地”标签和“生源地”文本框,下一行显示“入学年份”标签和“入学年份”文本框,下一行显示“班级”标签和“班级”文本框;上述标签的长度都为50 px,上述文本框的长度都为300 px;下一行为空行;下一行显示“添加”“保存”和“删除”三个按钮,每个按钮的长度都是50 px,各个按钮之间间隔20 px;下一行居中显示“学生信息列表”标签;下一行显示“学生信息”列表框,该列表框中的字段依次为“学号”“姓名”“性别”“出生日期”“生源地”“入学年份”和“班级”,列表框右侧带滚动条;请给出可以直接运行的代码。

在指令1中,要求ChatGPT利用Flask框架开发学生信息管理系统的主页。笔者提出了明确的要求和设计要点,详细描述了主頁所需的标签、文本框、按钮和列表框等页面元素及其布局,还指定了标签、文本框和按钮的长度,并要求列表框右侧带滚动条。

如图3所示,ChatGPT回复了笔者的指令,提供了相应的Python代码,用于创建Flask应用。代码中包含Web页面的布局,这些布局程序由HTML模板和Flask路由组成。ChatGPT的回复中还包含运行该应用的简要说明,以便用户可以轻松地在本地环境中运行学生信息管理系统。

图3  指挥ChatGPT开发系统主界面

3.2  指挥ChatGPT读取数据库中的学生信息并展示

其次,笔者指挥ChatGPT读取Access数据库中的学生信息并展示给用户,在ChatGPT对话框中输入如下的指令2。

指令2:上述学生信息管理系统所管理的学生信息存储在Access数据库中,文件路径为“D:\project\student.accdb”,该数据库中有一张“学生信息表”,该数据库表的字段依次为“学号”“姓名”“性别”“出生日期”“生源地”“入学年份”和“班级”。系统从数据库中读取出学生信息后,将它们展示在“学生信息”列表框中,当用户点击列表框中的某一条学生记录时,系统将该学生的“学号”“姓名”“性别”“出生日期”“生源地”“入学年份”和“班级”等信息展示在主页上相应的文本框中;请在上一次问答给出的程序代码的基础上进行扩充和完善,实现上述功能。

在指令2中,笔者要求ChatGPT对之前实现的学生信息管理系统进行扩展,实现与Access数据库的连接,读取并显示数据。笔者提供了数据库文件的路径和表格结构,明确指出了需要在列表框中展示所有学生信息记录,并在文本框中展示选中的学生信息记录。

如图4所示,ChatGPT在收到指令后修改完善了之前的Flask应用代码,新增的代码包含了连接Access数据库的配置。ChatGPT还提供了修改后的HTML模板,其中包含JavaScript函数,用于在用户单击“学生信息”列表框中的某一行后展示对应的学生信息。总之,ChatGPT回复的代码充分满足了笔者的需求,实现了与Access数据库的连接,实时读取并展示学生信息。

图4  指挥ChatGPT读取数据库中的学生信息并展示

3.3  指挥ChatGPT实现修改学生信息的功能

再次,笔者指挥ChatGPT实现修改学生信息的功能,在ChatGPT对话框中输入如下的指令3。

指令3:请完善上述学生信息管理系统,当用户对“学号”“姓名”“性别”“出生日期”“生源地”“入学年份”和“班级”文本框中的信息进行修改后,点击“保存”按钮,系统将相应的信息更新到Access数据库和“学生信息”列表框中;请在上一次问答给出的程序代码的基础上进行扩充和完善,实现上述功能。

在指令3中笔者要求ChatGPT完善先前提供的Flask应用程序,以实现对学生信息进行修改和保存的功能。ChatGPT回应了笔者的请求,提供了修改后的程序代码,该代码包含了Flask应用程序的逻辑,能够处理学生信息修改和保存操作,将修改后的信息更新到Access数据库和“学生信息”列表框中。此外,ChatGPT的回应中还包含对HTML模板的修改,以便在用户点击“保存”按钮时触发表单提交,从而触发后端代码处理数据更新操作。

3.4  指挥ChatGPT实现添加学生信息的功能

然后,笔者指挥ChatGPT实现添加学生信息的功能,在ChatGPT对话框中输入如下的指令4。

指令4:请完善上述学生信息管理系统,当用户在“学号”“姓名”“性别”“出生日期”“生源地”“入学年份”和“班级”文本框中填入新的学生信息后,点击“添加”按钮,相应的信息将保存到Access数据库并新增到“学生信息”列表框中;请在上一次问答给出的程序代码的基础上进行扩充和完善,实现上述功能。

在指令4中笔者要求ChatGPT进一步完善先前提供的Flask应用程序,以实现学生信息添加功能。ChatGPT回应了笔者的请求,提供了修改后的程序代码,该代码包含Flask应用程序的逻辑,能够处理学生信息的添加操作,将新增的信息保存到Access数据库并展示到“学生信息”列表框中。此外,ChatGPT的回应中还包含对HTML模板的修改,以支持用户在系统主页上进行学生信息添加操作。

3.5  指挥ChatGPT实现删除学生信息的功能

最后,笔者指挥ChatGPT实现删除学生信息的功能,在ChatGPT对话框中输入如下的指令5。

指令5:请完善上述学生信息管理系统,当用户选中“学生信息”列表框中的某一条学生记录后,点击“删除”按钮,相应的信息将从Access数据库和“学生信息”列表框中删除;请在上一次问答给出的程序代码的基础上进行扩充和完善,实现上述功能。

在指令5中笔者要求ChatGPT进一步完善先前提供的Flask应用程序,以实现学生信息删除功能。ChatGPT回应了笔者的请求,提供了修改后的最终版Python程序代码以及HTML模板。

在ChatGPT的提示下,笔者将程序代码复制到“D:\project\app.py”文件中,将HTML模板代码复制到“D:\project\templates\index.html”文件中,安装运行该程序所需的Python库pyodbc,在Windows系统的命令行窗口中执行Python app.py命令以启动程序,最后在网页浏览器中输入“http://localhost:5000/”以访问学生信息管理系统,进入系统后即可在主页上对学生信息进行查看、修改、添加和删除操作,系统运行效果图如图5所示。

4  结  论

笔者分析了基于ChatGPT开发数据库应用基础课程演示系统的意义,开展了系统的设计工作,提出了基于ChatGPT的软件系统开发模式,进而基于ChatGPT开发了数据库应用基础课程演示系统——学生信息管理系统,实现了学生信息的查看、修改、添加和删除等功能。通过使用该学生信息管理系统,学生可以直观地体验Access数据库在实际业务中是如何被使用的;通过查看该系统的开发过程,学生可以深刻地认识ChatGPT的自然语言理解能力和编程能力;上述课程演示系统还有不少可以完善的地方,学生可以参考系统的开发过程,编写合适的指令来指挥ChatGPT进一步修改和完善该系统,也可以自主指挥ChatGPT开发新的软件系统,在实践中增长见识、提升能力。本文所论述的研究与實践工作,为广大教师将ChatGPT应用于教学工作提供了一个可借鉴的模式,具有一定的参考价值。

参考文献:

[1] 陆伟,刘家伟,马永强,等.ChatGPT为代表的大模型对信息资源管理的影响 [J].图书情报知识,2023,40(2):6-9+70.

[2] 刘禹良,李鸿亮,白翔,等.浅析ChatGPT:历史沿革、应用现状及前景展望 [J].中国图象图形学报,2023,28(4):893-902.

[3] 王树义,张庆薇.ChatGPT给科研工作者带来的机遇与挑战 [J].图书馆论坛,2023,43(3):109-118.

[4] 孙柏林.ChatGPT:人工智能大模型应用的千姿百态 [J].计算机仿真,2023,40(7):1-7.

[5] 吴军其,吴飞燕,文思娇,等.ChatGPT赋能教师专业发展:机遇、挑战和路径 [J].中国电化教育,2023(5):15-23+33.

[6] 肖君,白庆春,陈沫,等.生成式人工智能赋能在线学习场景与实施路径 [J].电化教育研究,2023,44(9):57-63+99.

[7] 韦昌法,罗铁清,徐宏宁.中医药院校“数据库应用基础”线上线下混合式“金课”建设初探 [J].教师,2023(16):99-101.

[8] 韦昌法.Access数据库应用基础 [M].北京:人民邮电出版社,2020:16.

[9] 马星光.医药数据管理与可视化分析 [M].北京:中国中医药出版社,2023:22.

[10] 许磊,林加论,张锦.基于微信小程序和Flask的教学评价系统 [J].软件导刊,2022,21(4):156-161.

作者简介:韦昌法(1982—),男,壮族,广西巴马人,教授,硕士研究生导师,博士,研究方向:教育信息化、中医智能辅助诊疗;赵涛(1997—),男,汉族,山东菏泽人,硕士在读,研究方向:中医药信息学。

猜你喜欢
生成式人工智能
生成式人工智能的教育启示:让每个人成为他自己
挑战·融合·变革:“ChatGPT与未来教育”会议综述
生成式人工智能时代的政治传播走向
党政研究(2023年3期)2023-05-29 01:10:39
生成式人工智能重塑教育及教师应对之道
人机共生时代国际传播的理念升维与自主叙事体系构建
对外传播(2023年4期)2023-05-21 20:52:16
生成式人工智能的教育应用与展望