基于安卓系统的教师个人事务助手软件
2019-01-30许新征强鹏远
许新征, 强鹏远
(中国矿业大学 计算机科学与技术学院, 江苏 徐州 221116)
1 教师个人事务助手的必要性及其主要功能
伴随科技和高等教育的飞速发展,大多数高校都拥有自己的官方网站和教务管理系统[1-3]。在高校中,教学管理的许多方面都实现了无纸化,而传统的纸质课表、成绩单等则逐步消失。目前计算机软硬件技术都已经达到了相当高的水平,智能手机也紧随其后迅猛发展,可以说是人手一部智能手机,学生教师当然也不例外。虽然硬件资源已经达到了高水平,但是配备的软件资源,特别是面向教师的教学相关软件还处于起步阶段[4],需求量大,功能更完善、质量更高的教学辅助软件应用潜力大[5-6]。
教师事务助手是一款面向高校教师的教学类辅助软件。学校校园网站为教师提供课程表、监考信息、成绩录入等信息管理功能,对教师的工作提供了诸多方便。但随着移动互联网的发展,教师大都采用手机随时随地登录校园网了解教学信息[7-8]。但智能手机无论从执行效率、内存大小、屏幕大小及操作方式上都与计算机有很大差别,有些网站不能完美适配手机屏幕。如果单纯用智能手机里的浏览器,通过网址连接校园网站获取信息,总体来说会有很多不便。此外,校园网上的信息如上课、监考和开会等方面的提醒,不能及时通知教师本人。当前市场上面向学生的课表软件比较多[9-10],但是面向教师的教学服务软件却很少。因此,本文拟对教师个人事务助手进行设计和开发,希望其可在教师群体中发挥高效、便捷作用,为教师的教学工作提供尽可能多的便利。
本文依据软件开发流程,详细分析和实现教师事务助手的具体功能。通过对教师群体的需求分析,进行应用数据库设计、各功能模块总体设计和详细设计。然后,对系统功能进行代码实现和测试,对所要求系统的功能正确实现。该系统分为用户管理模块、课程管理模块、课程表管理模块、课时量计算模块及记事本模块。最后,对各个功能模块进行测试。
2 开发环境和技术
本系统在Window10操作系统下,选择在由开发工具Eclipse和模拟器Genymotion搭建的开发环境下进行开发。
Eclipse是一个功能完善,界面友好的免费跨平台Java语言开发工具。随着需求的增加和技术的发展,通过安装不同插件可支持其他高级程序语言,如C++和Python等。虽然Eclipse本身是一款框架软件,不过多样的插件支撑让其具有了其他功能相对不变的开发工具所没有的多样性。ADT(android developer tools)就是Google开发的Eclipse的Android开发插件,因此选择在Eclipse中添加此Android开发插件,用来完成此软件开发。
Genymotion是一款Android模拟器,虽然Android的SDK拥有自己的模拟器,但速度非常慢,因此本文选择性能更优的Genymotion模拟器。
数据库方面,选择轻量级嵌入式数据库SQLite[11-12]。该数据库可直接在应用程序进程中运行,系统资源消耗很小。SQLite 没有服务器进程,依赖文件系统通过文件保存数据。该文件是跨平台的,可在其他平台使用,不存在兼容问题,也不需要用户帐户设定。所需内存少,系统资源开销小,适合用于移动设备。
3 系统功能模块
根据系统所要实现的目标,将教师个人事务分为以下功能模块:用户管理、课程管理、课程表管理、课时量管理和记事本管理等,如图1所示。
图1 系统功能模块图
具体功能模块如下:
(1) 用户管理。该功能提供用户登录和注册。未注册用户可在线注册个人账户,注册用户则根据用户名和密码登录系统。系统还提供记住密码勾选框,以及自动登录勾选框。
(2) 课程管理。系统能够对课程信息进行查询,具体包括课程浏览、课程添加和课程删除等功能。课程浏览显示出数据库中的所有课程,课程添加要求用户输入课程的所有信息,课程删除可以删除某个课程。
(3) 课程表管理。课程表管理可让用户自己选择所承担的课程。系统列出本专业的所有课程提供给用户选择,用户通过输入页面输入所选课程信息,并存入相应的数据库。在每节课上课之前,系统可以对用户进行提醒。
(4) 课时量管理。通过课时量管理模块,用户能直观查询本学年所选择的每门课程的课时量。系统根据不同的课程种类,通过相应的工作量计算系统,计算每门课程的工作当量,以及教师的学年或学期总工作量。
(5) 记事本管理。教师除了上课之外可能还有一些其他的事务,因此系统还可提供监考信息、会议时间等记录功能,并提供必要的提醒。用户可在记事本中添加监考和会议等信息。
4 系统设计
4.1 数据库设计
本系统采用Android内置的SQLite数据库,名称为Course.db。其中包含3张表:CourseInfo表、User表和CourseTable表。
(1) CourseInfo表记录本专业所有的课程信息。从教师所在院系教学大纲中获取所有的课程信息,包括课程名、课程讲授课时、课程实践课时、课程类型等。其中课程类型用于计算课时量。
(2) User表记录教师的登录名和密码,在注册界面得到教师新的登录名和密码存入User表中。
(3) CourseTable表记录用户所选择课程的信息,并将用户输入的课程信息存入表中,为课表显示界面做好数据存储。
本系统的E-R图如图2所示。
4.2 数据库逻辑结构设计
对数据库的逻辑设计主要是完成对表的结构设计和对各个表关系的设计。一个好的结构设计,对系统的开发很重要。表中字段类型和长度的设计,应根据实际情况确定,尽量做到类型准确、长度适中。
课程信息表、用户信息表、课程表信息表和记事本信息表的结构分别如表1—表4所示。
表1 课程信息表
表2 用户信息表结构
表3 课程表信息表
表4 记事本信息表
4.3 各模块功能详细设计
本系统五个模块的功能:用户模块包括验证式登录和用户注册;课程管理模块包括课程列表和课程添加;课程表模块包括课程选择和课程表显示;课时量模块包括课时量计算和课时量显示;记事本模块包括事件显示和事件添加。
4.3.1 用户模块设计
用户功能模块包括用户登录和用户注册两个子模块。
登录模块。在输入正确的情况下,根据输入的用户名和密码,查询数据库中用户信息表,检验用户名是否存在,若存在,判断密码是否正确。若用户名不正确,则提醒用户先行注册。若密码正确则允许登录,进入用户界面。若密码不正确,则提示重新输入密码。此外,登录还提供了记住密码和自动登录两个按钮,用户可选择是否记住密码和自动登录。自动登录则是在用户点击进入应用后,不出现密码输入界面,直接进入功能界面。
注册模块。没有账户的用户初次进入应用时,需要进行注册。注册页面提供了用户名设置、密码设置和密码确认三个输入框,若用户输入的用户名已经存在,则提示用户重新设置用户名,密码和密码确认是保证用户两次输入的密码一致,以防输入错误而导致密码不正确。
用户功能模块的流程图如图3所示。
图3 用户模块流程图
4.3.2 课程模块设计
此模块是课程的管理模块,所有教师用户所在专业的所有可能任教的课程信息全部写入数据库中。课程模块包括课程展示和课程添加两个子模块。
课程展示模块:在用户密码验证正确进入功能页面后,从数据库中获取所有的课程,展示为课程列表。在这里,用数据适配器将从数据库中得到的数据适配到展示界面上,教师可浏览数据库中所有的课程信息,当一个屏幕大小的列表不能完全展示所有课程时,可通过监听用户的点击事件,下拉加载未显示的记录,将最上面的课程信息进行隐藏,展示未显示的课程。
课程添加模块。在课程列表界面设置一个“添加”按钮,当用户点击添加时,由用户输入要添加的课程信息,包括课程名、课程总课时、教师讲授课时和实践课时及课程类型。
4.3.3 课程表模块设计
课程表模块包括课程表展示和课程选择两个子模块。
课程表展示模块。登录成功后,用户点击课程表按钮,进入课程表展示界面,默认进入第一周,从数据库中获取第一周的课程信息,用适配器展示到界面里,界面最上端设置周数选择下拉框,可以选择查看不同时段的课表信息。
课程选择模块。在课程列表界面设置一个“添加”按钮,当用户点击添加时,首先以列表形式显示数据库中所有的课程记录,当一个屏幕大小的列表不能完全展示所有课程时,可通过监听用户的点击事件,下拉加载出未显示的记录,将最上面的课程信息进行隐藏,展示未显示的课程。当用户点击到列表控件上的任意一列时,进入课程信息输入界面,在此界面由用户输入课程的上课信息,包括上课时间、上课地点、上课人数等,信息输入完成并点击确认提交后,将所填写信息写入数据库。课程表模块的流程图如图4所示。
图4 课程表模块流程图
4.3.4 课时量模块设计
课时量模块包括课时量计算和课时量展示两个子模块。
课时量计算模块。从用户输入的信息中提取出上课人数,从课程信息表中获取课程的类型,用特定的课时量计算函数计算课时量,并存入数据库中。
课时量展示模块。当用户点击课时量按钮时,从数据库中获得用户当前课表中的课程的课时量并适配到UI控件上,再计算出所有课程的课时量总和。
4.3.5 记事本模块设计
记事本模块包括事件展示和添加两个子模块。
事件展示模块。从数据库中的事件表中得到现存的事件信息,加载到数据适配器上,显示在展示界面,并且显示出事件添加的时间。在展示界面点击记录进入信息修改界面,可编辑事件信息,将新的信息写入表中,再次适配。当用户长按时,弹出确认删除对话框,取消则不删除记录,确定则删除记录。
事件添加模块。点击新建按钮,弹出新事件添加界面,在文本输入框中输入事件信息,点击保存,将数据写入数据库。
5 系统实现
在系统设计的基础上,通过Windows10平台搭建以Eclipse为开发工具和Genymotion为模拟器的开发环境,使用Java语言和Google提供的Android SDK开源代码实现系统各功能模块。部分模块界面如图5和图6。
图5 用户登录界面
图6 课程展示列表界面
6 结语
本文结合高校教师工作的需要,在Android平台设计开发了面向高校教师的教师个人事务助手。该系统的功能包含了教师个人事务的方方面面,主要功能包括用户管理、课程管理、课程表管理、课时量计算和记事本管理五大模块。教师个人事务助手的设计与实现,顺应了移动智能设备发展的潮流,以Android为载体,为记录、管理教师个人事务提供了高效、方便的辅助工具。本系统可协助教师合理安排工作计划,使科研和教学工作冲突降到最小,相对于不便携带、不易更新的纸质文档来说,优势尽显。