张长春,张琳琳,史艳语,罗坤,古丽尼格尔(新疆大学信息科学与工程学院,乌鲁木齐 830046)
基于Android的学生成绩管理系统的设计与实现
张长春,张琳琳,史艳语,罗坤,古丽尼格尔
(新疆大学信息科学与工程学院,乌鲁木齐830046)
摘要:
关键词:
成绩管理;Android平台;C/S架构
成绩管理系统是借助计算机技术完成成绩的录入、查询和修改等功能的计算机软件系统。信息化手段的成功应用,提高了成绩录入的效率,降低了手工填写的出错机率,避免了纸版成绩档案丢失、损坏等问题。目前,成绩管理系统在PC应用方面已经十分成熟。国家大型考试,如全国大学英语四六级考试、计算机技术与软件专业技术资格(水平)考试等,都不同程度地实现了在线报名、成绩查询等功能。借助在线成绩管理系统,广大考生可方便快捷地查询考试成绩。然而,在祖国偏远地区,特别是山区,互联网基础设施尚不完善,成绩查询就只能等单位通知、委托他人查询或乘车前往城镇网吧来实现。在这种情况下,基于移动智能终端的成绩管理系统就会表现出较为明显的优势。
近年来,随着移动互联网技术的日益发展,移动智能终端以其小巧、便携的特点迅速普及,倍受广大用户青睐。偏远地区用户同样能享受到互联网提供的各种服务。通过移动智能终端,出差在外的工作人员可随时浏览单位公告,及时处理相应事务;教师可以批改学生的作业,实时解决学生学习中的问题;考务人员可以登录成绩系统录入学生的成绩,广大考生则可及时查看考试成绩。考虑到移动平台的优越性,将传统PC平台中的成绩管理系统移植到移动智能终端是十分必要的。本文基于市场占有率一直领先的Android平台,综合运用多种技术,设计并开发一款学生成绩管理平台,为广大师生提供方便。
学生成绩是学生学籍管理中的重要组成部分,反映学业完成情况。学生成绩管理系统主要包括三个角色:学生、教师和管理员。学生可通过智能手机查看自己的各科成绩,下载所需的学习资料,上传自己手中的资源;教师可通过电脑或智能手机录入、修改和查询学生的成绩。管理员负责维护学生的基本信息、教师信息和课程信息,并对学生成绩进行审核。学生成绩管理系统如图1所示。
1.1学生用例分析
学生登录系统后可对自己的成绩进行查看,还可以上传作业、代码等文件,下载课程资源以便平时学习。学生可查看自己所有考核的课程成绩和取得的学分情况,也可以对某一门课程的情况进行查看。管理员和教师上传的资料,学生可在移动端直接下载查阅;学生还可以向服务器上传自己的文件等资料。学生用例图如图2所示。
图1 学生成绩管理系统用例图
图2 学生用例图
1.2教师用例分析
教师在学生成绩考核结果出来后,将学生的成绩录入系统以便学生查看;当录入发生错误时,可以修改相应的成绩。教师还可以浏览选修自己所授课程全部学生的成绩情况。此外,教师还可以下载学生作业,上传教学课件、作业要求等资源以备学生学习。教师用例如图3所示。
图3 教师用例图
1.3管理员用例分析
管理员主要有三大功能:学生信息管理、教师信息管理和系统日志管理。学生信息管理则实现学生信息的录入、删除、修改和查询。学生信息包括学号、姓名、所在班级、课程及成绩等。教师信息管理是对教师基本信息的增加、删除、修改和查询。后台维护主要包括数据的备份与恢复、用户权限设置、审核上传文件和成绩变更情况,以及生成系统日志等功能。信息发布负责发布诸如考试信息之类的消息,提醒广大师生及时备考或录入成绩。管理员用例如图4所示。
图4 管理员用例图
2.1总体设计
基于Android平台的学生成绩管理系统采用C/S架构,Android Studio和MyEclipse为Android客户端和服务端的开发环境,使用MySQL数据库存储数据,后台页面采用JSP技术。
学生成绩管理系统主要包括学生信息管理、教师信息管理、学生成绩管理、课程信息管理和系统维护五大部分。系统的功能结构如图5所示。
图5 系统功能结构
2.2数据库设计
学生成绩管理系统包含八张表,分别为:①学生信息表(Student):存储学生基本信息,包括学号、班级等信息;②班级信息表(class_info):存储开设班级的信息;③教师信息表(Teacher):存储放教师基本信息,包括职工号、院系、职称等;④课程信息表(course_info):存储开设课程信息;⑤学生选课成绩信息表(course_stu):存储学生所选课程的成绩信息;⑥管理员信息表(admin_table):存储管理员账户信息;⑦原始日志信息表(log_info):存储系统获取的日志信息;⑧日志分析结果表(andriod_log)存储对原始日志信息分析处理过后的结果。各表之间的关系如图6所示。
图6 数据库各表之间的关系
2.3界面设计与实现
本系统的客户端界面通过XML布局文件设置控件属性进行控制,灵活应用LinearLayout、TableLayout 和RelativeLayout布局模式[1]。此外,为了使界面布局更加灵活,还加入了样式和主题的功能。样式用以改变指定控件和布局模式,主题则用以改变窗体背景,如图7所示的登录界面。
图7 登录界面
2.4Android客户端功能实现
Android客户端包括教师和学生两个角色,分别完成不同的功能。学生成功登录成绩管理系统后,点击“成绩查询”按钮,将向服务器提交查询请求,服务器返回该学生的所有选课成绩信息,如图8所示。若学生只是想单独查看某一门课程的成绩,只需要在搜索框中输入该课程名,点击“查询”即可。为了便于输入,这里采用模糊查询方式,学生只需输入待查条件的一部分,提高了输入效率。查询结果通过ListView控件[2]进行显示。ListView控件在XML文件里定义。教师查询成绩功能与学生查询类似,此处不再赘述。
图8 学生成绩查询结果界面
2.5服务器端实现
管理员是整个系统的后台管理和维护者。系统服务器端采用典型的MVC(Model View Controller)模式JavaBean+JSP+Servlet,开发了一个学生成绩管理系统后台。服务器端主要包括学生信息管理、教师信息管理、系统维护及“其它”四大功能。界面分为上、左、右三部分。上部为系统Logo展示区,左侧为管理员功能导航栏,右边是工作区。导航栏采用CSS+DIV的布局方法,结合JavaScript脚本实现导航按钮的动态效果,给用户一种友好的体验。图9展示了添加新同学的界面。
图9 服务器端界面
成绩管理系统包含着大量敏感信息,如学号、成绩,与学生学业质量息息相关。不仅如此,成绩管理还是教育管理的手段和教育理念落实的载体[3]。为了确保系统的安全性,更好地落实教育管理和教育理念,本系统在访问控制、数据存储以及日志生成等方面做了相应的限制和要求。
(1)访问控制
依照信息安全的“最小权限原则”,即只为用户提供完成某个任务的最小权限,将数据库中表的访问权限分配给不同的用户,如教师仅能访问教师信息表和成绩表,学生只能访问学生基本信息表。Android客户端用户在登录时首先要选择自己的身份——学生或教师,登录后所能操作的界面和功能将各不相同。
此外,在登录过程中还做了一系列安全检查,如输入信息不能为空,密码长度不少于8位,对输入的特殊字符做过滤操作等,进一步提高系统的安全性。
(2)敏感数据存储
教师和学生登录系统时的密码采用SHA-1处理后在网络上传输,服务器接收之后与数据库中存储的密码的SHA-1值进行比对,若二者吻合,则通过验证。这样保证了用户登录密码在数据库存储和网络上传输两方面的安全性。具体实现代码如下:
public static String getSHA(String val)throws NoSuchAlgorithmException
{
MessageDigest sha1 = MessageDigest.getInstance("SHA-1");//使用SHA-1算法
sha1.update(val.getBytes();//计算SHA-1值
byte[]m = sha1.digest();
return getString(m);//返回16进制哈希字符串
}
(3)日志审计
学生成绩事关学生学业中的推优评奖活动,事关学生前程。为了避免学生成绩被误删或恶意更改,系统设计了日志审计功能。当学生成绩变化时,将记录登录的用户名、时间戳、IP地址等内容,以便成绩异常变更时管理员能及时发现。
移动智能终端的日益普及,为人们提供便利的同时,也改变了人们的工作和生活方式。基于Android平台的学生成绩管理系统的设计与实现,克服了传统PC桌面系统应用程序受硬件条件限制的不足,利用移动智能平台的优势,进一步提高学生成绩管理的效率,方便了广大师生的日常学习生活。今后将探索利用面向切面编程技术(Aspect-Oriented Programming)实现日志审计功能,结合数据可视化技术,为管理员提供直观的日志展示方式,进一步提高移动平台下包含大量敏感数据应用程序的安全性。
参考文献:
[1]徐浙君.基于Android的教务信息查询系统设计与实现[J].信息技术,2013(7):72-74.
[2]李刚.疯狂Android讲义[M]:第二版.北京:电子工业出版社,2013.91-111.
[3]宣华,付小龙,刘玉玲等.学生成绩管理系统的研究与创新[J].实验技术与管理,2011,28(2):101-104.
张长春(1993-),男,陕西安康人,本科,研究方向为移动平台开发
张琳琳(1974-),女,副教授,研究方向为软件安全、可信软件等
史艳语(1994-),女,新疆乌鲁木齐人,研究方向为Java Web开发、信息安全管理体系建设
罗坤(1993-),男,湖北襄阳人,研究方向为云计算与信息安全
古丽尼格尔·阿不都外力(1993-),女,新疆乌鲁木齐人,研究方向为数据分析
The popularity of mobile terminals has brought great convenience to people's life and work.The achievement management system based on the mobile terminal not only can provide convenience for the candidates in remote areas,but also provides an alternative way for teachers to input grade.Designs a student achievement management system on the basis of Android Studio and MyEclipse,Java language,uses MySQL technology,C/S architecture and MVC pattern in the system.
Keywords:
Achievement Management;Android Platform;C/S Architecture
Design and Implementation of Student Achievement Management System Based on Android
ZHANG Chang-chun,ZHANG Lin-lin,SHI Yan-yu,LUO Kun,Abuduwaili Gulinigeer
(College of Information Science and Engineering,Xinjiang University,Urumqi 830046)
Abstract:
移动终端的普及为人们的生活和工作带来了极大的便利。基于移动终端的成绩管理系统可为偏远地区考生查询成绩提供方便,也为教师录入成绩提供了另一种途径。在Android Studio基础上,综合运用Java语言、MyEclipse和MySQL技术,采用C/S架构和MVC模式,设计并实现学生成绩管理系统。
基金项目:
新疆维吾尔自治区重点产业紧缺人才信息安全专业建设项目(新教高[2011]43号)、新疆大学博士启动基金(BS120126)、国家大学生创新训练计划项目(No.201410755029)
文章编号:1007-1423(2016)15-0069-05
DOI:10.3969/j.issn.1007-1423.2016.15.017
作者简介:
收稿日期:2016-04-06修稿日期:2016-05-16