APP下载

程序设计帮助查询系统的设计与实现

2022-11-11和添锦

无线互联科技 2022年16期
关键词:警告程序设计语句

王 晶,和添锦

(丽江文化旅游学院,云南 丽江 674100)

0 引言

随着人工智能、大数据等信息技术的发展,程序设计相关工作的从业人员逐渐增多,部分高校也开展了相关课程。与此同时,因经验不足而无法熟练进行程序调试,在入门阶段也逐渐显现。现阶段,大多数集成开发环境都是使用英文,对自主学习与分析报错能力还不足的新人而言,面对英文提示信息无法准确快速地定位信息中蕴含的重点,导致将大量时间用在了调试代码中[1]。因此,本文利用文献研究法和软件工程法设计了一个汇集程序设计中出现的错误与警告提示信息的系统,为用户实现关键词查询并返回经验化的解决方案,从而为初学者学习程序设计提供帮助。

1 学生计算机程序设计现状分析

目前,高校关于程序设计的课程有C语言,C++,Java,Python等编程语言,包括数据结构、数据库、网页设计等相关内容,在学习过程中会遇到各种困难。典型的有语句语法不会编写,这种情况可以继续深入学习解决。还有能够编写语句,但一直运行报错。一般对于明显的报错与警告提示,可以根据提示到相关位置插入输出语句、输出程序的运行状态以及程序中某些变量的信息,通过分析这些信息得到程序的错误所在,从而进行检查与更改[2-5],但此方法需要设计者对程序的思路以及内部结构十分熟悉才能顺利解决。因此,当初学者遇到无法辨别或者陌生的提示信息时,大多数会通过查询相关资料或者询问他人等方式解决,但解决过程较为波折,无法立即获得解决信息。遇到逻辑不对这种情况,则需要程序员自行检查或寻求其他专业人员帮助。以上这些困难,会使初学者在学习的过程中逐渐降低学习积极性。

2 程序设计帮助系统分析与设计

2.1 程序设计活动分析

2.1.1 程序设计警告问题及解决方案

通常遇到的警告有:关于被弃用的特征的警告(Deprecation Warning)、可疑的语法的警告(Syntax Warning )、关于构造将来语义会有改变的警告(Future Warning)等。出现这些警告信息的原因,一般有所使用的函数等已经过时、语法问题、引用的参数值即将改变等,可以采用忽略警告、禁止警告以及修改代码等方法解决。大部分警告消息不会影响程序运行,但是警告消息的出现都是有其原因的,要搞清楚问题,确认对程序运行没有影响时才可以忽略。

2.1.2 程序设计错误问题及解决方案

在程序设计的过程中,遇到的报错种类一般有:变量名错误(Name Error)、语法错误(Syntax Error)、类型错误(Type Error)、索引错误(Index Error)、值错误(Value Error)等。其中变量名、语法等错误,一般是因为粗心导致的,解决方法是查找变量名、冒号和空格是否打错或遗漏;类型、索引和值等错误,一般是因为格式错误,解决方法是检查传入的类型是否为期望的类型,索引是否存在,序列是否超出范围。

2.1.3 程序设计的其他问题

在程序设计过程中,除了遇到提示信息不理解的情况外,还会遇到其他问题,例如:所用语言的版本不一致造成不兼容的问题;陷入死循环、程序健壮性不够;在算法中使用了不符合算法的值,例如四则运算里输入了0等操作,都有可能导致程序崩溃。

2.1.4 程序设计问题解决

通过上述问题的分析,可以根据报错与警告中蕴含的通用性,将常见的报错与警告语句分类,与其经验化的解决方案整理成一个数据库。用户通过关键词搜索,查找与用户遇到的问题相符的错误与警告语句,并显示其解决方案。除此之外,用户还可以收藏搜索出来的、感兴趣的解决方案,添加数据库中没有出现的错误与警告语句,添加数据库中没有的其他解决方案。通过这样一个系统的实现,可以为学习程序设计的过程增加便利,提高学习效率。

2.2 程序设计帮助系统总体设计

2.2.1 界面设计

查询页面的布局如图1所示,此界面中,①板块为实现查询功能的搜索框部分,用户在这里可以通过关键词进行查询;②板块为实现管理员以及用户登录注册的导航部分,通过点击这里跳转到相应的登录或注册页面,用户登录后才可以实现收藏以及添加修改语句信息的功能。

图1 查询页面布局

查询结果显示页面如图2所示,此界面中,①版块是根据前面的关键词查询出来的相关语句,用户可点击这些相关语句进一步查看详细信息;②版块是返回上一界面与登录的导航部分;③板块为用户可添加未曾查询到或未出现的语句,待管理员审核通过后便可发布等待其他人解答。

图2 查询结果显示页面

查看详细信息页面如图3所示,此界面中,①版块为根据前面点击的相关语句进一步展开详细信息的部分;②版块为用户添加其他解决办法以及实现收藏功能的部分。

图3 查看详细信息页面

2.2.2 业务流程图

业务流程如图4所示,用户通过查询关键词或语句可以得到与其相符的查询结果,当用户选择对点开的语句详细信息不进行收藏,可返回查询结果的页面继续查看;如果进行收藏,就要考虑是否拥有账号,如果已有则登录后收藏,如果没有则先注册再登录收藏。

图4 业务流程

2.2.3 功能设计

本系统为程序设计帮助查询系统,功能结构如图5所示,分为4部分功能。(1)查询功能,利用关键词进行查询,把用户输入的关键词与数据库中的语句进行匹配,再把匹配到的语句详细信息展示出来。(2)用户部分功能。即用户注册、登录、查看、修改用户信息,以及管理员对用户的删除、修改、查看。(3)管理员对语句进行增加、删除、修改、查看以及用户可收藏语句。(4)用户可添加数据库中没有的解决方案或语句,以及对用户添加过的信息进行删除、修改、查看。

图5 功能结构

2.2.4 开发平台设计

此次设计与实现中用到的工具与平台是 Navicat Premium与PyCharm。其中,Navicat是可以对数据库以及多方面连接的资料库进行管理操作的工具,可以同时连线 MySQL,SQLite,MssQL 等资料库。程序员可以用Navicat存储、调取、使用数据,可以对不同的表进行类型设定,包括查看报错,使用较简单、易操作。PyCharm是Python 的一种集成开发环境,拥有一系列工具,比如调试、智能提示、自动完成等,可以高效率地帮助用户进行Python语言开发。此外,PyCharm还提供了一些高级功能用于支持Django框架下的专业Web开发,本系统将使用其自带的Html,Css 工具通过Django框架进行 Web 开发等操作。

2.3 数据库设计

2.3.1 数据流程

系统的总体运行如图6所示,用户输入关键词给系统,系统将关键词传递给数据库进行匹配,数据库把匹配到的详细信息通过系统再反馈给用户。

图6 顶层数据流程

总体来看,本系统是通过用户输入的关键词查询数据库,用户注册登录后可对信息进行补充和收藏等操作。按照流程来看,程序设计帮助查询系统可分为5个部分,分别是查询、收藏、注册、登录、补充;为了用户可以保存感兴趣的信息,又设计了相应的收藏功能,因此系统总共有6个部分。与系统相关的实体为用户和数据库,在数据库匹配后生成相关语句表和语句详细信息表,在用户注册后生成用户信息表。第一层数据流程如图7所示。

图7 第一层数据流程

2.3.2 数据字典

数据字典是对数据的数据项、数据结构、数据流、数据存储等进行的定义和描述,其目的是对数据流程图中的各元素做出详细的说明。如表1和表2所示,对数据库的每个表都进行了数据的来源去向设计,流入流出分析,进一步理清了数据关系。

表1 数据流字典

表2 数据存储字典

2.3.3 E-R图设计

数据库设计时,一般会根据E-R图进行设计,本研究所涉及的对象有用户和语句这两类。设计时,需先对每一类进行E-R图的绘制,再根据E-R图进行关系设置,最后进行数据库设计,这样在实现时可以快速理清数据关系。用户实体属性如图8所示,语句实体属性如图9所示,实体联系如图10所示,全局E-R如图11所示。

图8 用户实体属性

图9 语句实体属性

图10 实体联系

图11 全局E-R

为方便在设计数据库数据表时能独立设计每张表,并在建立后能快速理清数据关系,如上述E-R图中,需先对每个实体进行分析,再关联每个实体,这样在设计数据表时参考实体分析,关联数据表时参考关系图即可。本系统可以简单分成用户和语句两个实体,用户有姓名、性别、年龄、联系电话以及密码这几个属性,语句有编号、关键词、语句翻译以及解决办法这几个属性,实体间是多对多的关系,可以理解为用户可以搜索多条语句,语句也可以被多个用户查询。

2.3.4 数据表

数据库中的用户列表如表3所示,字段有姓名、性别、年龄、联系方式、密码,其中联系电话为主键,用户可以利用联系电话作为账号登录。

表3 用户

数据库中的错误语句列表如表4所示,字段有错误语句编号、错误语句、语句翻译、解决方案,其中错误语句编号为主键。

表4 错误语句

数据库中的警告语句列表如表5所示,字段有警告语句编号、警告语句、语句翻译、解决方案,其中警告语句编号为主键。

表5 警告语句

3 系统开发与测试

3.1 界面设计与开发

3.1.1 界面设计要求

系统根据编程世界的知识宛如宇宙的特点,以一个宇宙的图片为界面主背景,界面中的字体大多居中,右上角设有返回首页按钮。

3.1.2 界面开发

如图12—14所示为系统的主功能页面,用户通过输入关键词或语句点击搜索按钮便可进行查询,然后出现与关键词相关的语句列表,点击列表中任意语句后便可展示相关的详细信息,还可以对详细信息进行收藏。除主功能外,系统也实现了用户的注册登录与管理员登录以及登录后的增删改功能。

图12 查询页面

图13 查询结果列表页面

图14 详细结果页面

3.2 测试

3.2.1 测试说明

系统测试的目的是检验系统最终是否符合用户规定的需求,此外,也是希望能以最少的人力和时间,发现潜在的错误、缺陷以及系统不完善部分,验证系统功能的正确性和完整性。

3.2.2 测试用例

系统实现以后,需对系统进行功能测试,确保系统功能能够使用,并满足需求,测试用例如表6所示。

表6 测试用例

3.2.3 测试结果分析

测试结果分析如表7所示,系统能够实现各类已设计功能,并能对用户注册登录时的失误操作进行提示。

表7 测试结果分析

4 结语

针对初学者在调试代码上花费大量时间的现象,本研究设计了一个将程序设计中出现的提示信息进行整合,供用户查询的平台,为初学者进行程序设计时提供了便利。但由于时间及技术等方面问题,部分功能不够完善,后续将继续深入研究解决程序设计中的难题。

猜你喜欢

警告程序设计语句
实验室警告
重点:语句衔接
基于Visual Studio Code的C语言程序设计实践教学探索
从细节入手,谈PLC程序设计技巧
“毁容”警告:你的“牙龈线”正在后移
高职高专院校C语言程序设计教学改革探索
PLC梯形图程序设计技巧及应用
锐志车ABS、VSC、防滑警告灯点亮
如何搞定语句衔接题
作文语句实录