一个在线Java语言教学系统的设计与实现
2023-04-06刘敏
刘敏
关键词:ASP.NET;VB.NET;SQL Server2016;Java语言教学
0 引言
目前,信息化建设正如火如荼地在各大高校进行着,而计算机教学的核心——计算机语言教学更应该加快实现其信息化[1]。学生提交上来的程序作业老师需要一一编译查看,这样会大大增加教师工作量,占用大量时间,提高学生学习语言编程的效率,老师有针对性地讲解学生掌握的薄弱点,特研究开发了针对学生特色的在线计算机语言教学系统。该系统给学生提供了一个网上学习平台,实现网上查看例程、习题,查看提交作业。查看课件,管理例程库、习题库,发布作业和通知等功能。
这套教学软件的出现,可以说从根本上改变了教师批改Java程序化作业费时费力的状况,缩短了教师批改程序化作业的时间。使用了这套教学软件,老师不用再花大量时间和精力批改学生作业,学生学习也可及时了解自己学习知识的掌握程度,及时查漏补缺。
本系统采用的是ASP.NET,由于ASP.NET技术具有以下优势:
1) ASP.NET页面只需编译一遍即可[2],节约时间,简化流程。
2) ASP.NET可以直接通过ADO.NET提供的数据网格等数据库组件与数据库直接联系[3]。
3) ASP.NET支持实时更新应用程序[4]。管理员可以对应用文件进行更新,而不需要关闭网络服务器,甚至不需要停止应用程序的运行。应用程序的文件是绝对不会被锁的,所以即使是在程序里运行的时候也是可以覆盖文件的。更新文件的时候,系统会很顺利地换成新版本。
4) ASP.NET采用code-behind的方式编写代码[5],它一种结构清晰的语言,可以减少系统开发的复杂度和节约开发成本。
该系统采用VB.NET开发环境主要得益于VB. NET在几个方面的优势
1) VB.NET作为微软推出的全新一体化开发环境VS.NET的重要成员之一,VB.NET不仅继承了VB语言简单易学的优势的同时,许多新特性也在适应新一代软件开发的需求[3]。
2) VB.NET具有继承性、重载、封装等特征,可谓是免洗那个对象的全新语言。VB.NET适应了电子商务时代的发展需求,它必将更广泛地应用于B/S结构或多层结构的网络计算,目前已经有不少用户使用VB.NET和ASP.NET开发的MIS、ERP、MRP系统。
1 系统设计
Java语言是人机交互的工具之一,在市场上占有较多的使用率。然而从已毕业的往届毕业生看,不少学生到毕业时,对Java语言的应用仍较为生疏,严重影响学生择业,以及今后从事与Java语言开发有关的工作。为了让学生能快速高效地学习Java语言,老师能快速高效地批改和掌握学生的编程作业情况,特开发了此系统。
1.1 设计要求
学生能利用本系统方便快捷地注册信息,查看程序、例题和课件,及时完成作业并利用编译器编译。老师能利用本系统方便快捷地注册信息,修改添加例程库、习题库,发布作业和通知等。
1.2 系统设计理念
设计理念是根据模块化的设计理念,根据使用权限的不同而设计出来的。数据库部分是利用ADO. NET结合SQL来实现ASP.NET對SQLServer的数据访问,并由强大的服务器控制提供完善的资料发布支持,使提供资料库资讯的动态网页得以建立,使使用者可以方便地使用浏览器在服务器上存取资料库资源。ADO.NET访问数据库主要是由以下对象完成的:连接数据源的对象连接,负责传输能够被数据源执行命令的对象连接,负责存储被查询的记录集对象Da? tAadSaept,te以r。
1.3 功能模块
整个系统按照系统结构化的设计方法,可以分成若干个功能模块,每个模块又可以分为多个子模块,子模块又可以分成多个二级模块,经过层层分析,最小的子模块功能就非常清晰简单了,这样做,既显示了一个应用系统软件的整体形状,又显示了一个应用系统软件的层次,通过系统结构化的设计方法,用户可以十分方便进入系统各个层,在提示下进行操作。
系统设计时主要定义了如图1所示的功能模块。
2 系统功能实现
2.1 系统概述
本系统涉及学生和老师的一些信息,为了方便地管理系统和保证系统的安全性,只有信息表里的用户才能注册本系统和使用本系统,已注册的用户可登录本系统并使用其中功能。登录界面分两种:
1) 学生可查看例程库和习题库中的例题,浏览课件,查看通知,作业,并可将写好的程序作业代码提交给服务器运行,通过服务器对这些代码的编译学生可方便看到自己程序运行的结果。
2) 老师可添加、修改例程库和习题库,发布通知,布置作业。
以上内容却给出了一个大致的操作轮廓和工作思路。编程及应用程序的开发绝非一日半载所能解决的事,它需要长期艰苦地学习、工作和总结经验并结合自己的智慧方能形成一个比较完整的编程体系。
2.2 系统功能设计
2.2.1 逻辑设计
根据系统的需要分析来定义系统中的实体,并用E-R图表现实体之间的逻辑关系。主要实体有例题、作业、习题、通知等模块,用户有教师和学生两种用户,实体关系如图2、图3所示。
2.2.2 物理结构设计
在上一节的逻辑设计的基础上,为本系统设计了10个数据表,下面分别对它们进行说明。
1) 学生信息表:表里存放的是在校学生的简单信息,只有在此表中存有信息的学生才能注册本系统。此表包含学生学号,学生的姓名,表示学生是否注册本系统的字段。
2) 学生注册表:在此表中有学生用户注册的信息,其中有注册的名字、注册的学号、密码、日期、邮箱等。本系统是允许注册过的学生使用。
3) 作业提交表:学生提交的作业信息,有学生号、作业编号、作业内容和提交作业的日期时间等。
4) 作业结果表:本表存放学生作业编译之后的结果信息,包括学生号、作业号、作业结果和日期时间。
5) 教师信息表:表中存放老师的简单信息,只有在此表中存有信息的老师才能注册本系统。此表需要老师号、老师姓名和是否已经注册字段。
6) 教师注册表:存储教师的资料,包括教师工号、用户名、密码、日期、邮箱、电话及说明。本系统只允许已注册教师登录使用。
7) 通知信息表:在此表中包含要发布通知的信息,包括通知标题,通知内容和通知时间字段。
8) 习题库表:让学生练习的习题集,包括题号和题目等字段。
9) 例程库表:本表存放让学生学习和参考的程序代码,包括题号、题目和代码字段。
10) 作业库表:本表存放老師布置的作业,包括题号、题目、其他要求和日期时间字段。
部分标具体的字段设置如下表所示。
2.3 系统功能的实现
2.3.1 学生用户角色功能的设计
在这套系统中,学生可以完成的操作有注册、登录、查看例程库、查看习题库、查看课件、查看通知、查看作业、将编写的作业代码用Web提交到服务器端进行编译。具体功能如下:
注册:只有在信息表里存有信息的学生才可以在此注册。
登录:注册后,先登录才能进入系统。
查看例程库:可查看例程库表里所有的程序题目和代码。
查看习题库:可查看习题库表里所有的习题题目。
查看课件:学生可利用课件自学编程语言的知识点。
查看通知:查看通知内容和时间。
查看作业:查看老师布置作业的内容和要求,把作业代码提交给服务器端编译,然后服务器把编译的结果返回给用户界面。
功能流程图如图4所示。
2.3.2 教师用户角色功能的设计
本系统教师对应的功能有注册、登录、修改例程库、修改习题库、添加课件、发布通知、发布作业。各项功能具体操作和要求如下:
注册:只有在信息表里存有信息的老师才可以在此注册。
登录:注册后,先登录才能进入系统。
对例程库修改:用户可以对例程库的内容进行增加删除修改等操作。
修改习题库:用户可以增加删除修改习题库中的内容发布通知:从网上向学生发布通知。
发布作业:把作业的内容和要求都包括在内的作业题目分配给学生。
功能流程图如图5所示。
2.4 编码和实现
1) 登录界面。用户登录界面分为教师和学生两大类,其作用是对用户使用该系统的信息进行验证,并对系统安全进行保障。
登录功能主要代码如图6所示。
2) 注册功能是根据输入的注册号和姓名与信息表中信息进行匹配,匹配成功则将注册信息存入注册表中,否则显示错误提示信息。这个功能中输入两个密码具有自动校验的功能,这个功能是通过VB.NET 中的CompareValidator控制实现的,这个控件的控制和控制两个属性对两个密码的比较起到关键作用。密码的长度通过Len()函数和逻辑表达式限制在6至20位数之间。注册表更新信息后,信息表中对应的login值设置为1,证明此记录用户以注册,以防同一用户多次注册,起到了预防数据库的冗余作用。
3) 提交功能的实现关键是查询信息表中是注册文本框和姓名文本框中的内容是否符合要求,若符合要求就把信息注册到注册信息表中,否则就显示提示。
出错时显示提示信息的代码如图7所示。
该功能的实现主要使用HyperLinker控件,点击“课件”链接标签,会自动弹出保存/打开的面框,提示是否另存目标或打开课件,选择“另存为”课件下载后存入指定位置,选择“打开”后浏览WEB页面中的课件。选择保存会弹出另存为窗口保存至文件夹,选择打开会打开浏览页面中的课件。
3 结束语
该系统采用的ASP.NET语言开发,使应用程序的实时更新和被编译功能得以轻松实现,并使多次访问速度得到了提高。
学生使用本系统能直接编译提交的程序作业,老师也能及时掌握学生程序错误知识点范围,能及时高效地给予学生知识上的指导,所以本系统很大程度上提高了学生学习程序和老师教学Java语言的教学效率,是教师在教学中针对性讲解、复习、指导重难点知识和学生薄弱知识的有力工具。