基于Android的课堂辅助教学系统的设计与实现毕业论文
2020-02-17 22:31:41
摘 要
谷歌公司推出的Android平台是目前最流行的移动终端操作平台之一,Android移动设备早已融入了我们的学习、生活和工作。使用基于Android平台的课堂辅助教学系统可以将课堂教学信息以计算机数据的方式进行持久化存储,为广大学生、教师提供一个更为方便的信息存储、查询平台。
本文采用Java语言和SQLite数据库,借助Android平台完成了基于Android平台的课堂辅助教学系统设计与实现。系统包括7个功能模块:登录模块、密码修改模块、学生信息管理模块、考勤签到管理模块、作业管理模块、平时成绩管理模块和课程信息模块。登录模块实现了登录功能和记住密码功能;密码修改模块完成了用户修改密码功能;学生信息管理模块展示学生的各项信息;考勤签到管理模块可根据当前时间和学生所处位置签到;作业管理模块实现了教师添加、批改作业和学生上传作业、查看批改结果的功能;平时成绩管理模块完成了教师打分和学生查看分数的功能;课程信息模块以课程表形式展示课程信息。
通过编程实现,该课堂辅助教学系统能够完成设计部分阐述的各项内容,可以达到课堂辅助教学的设计要求。
关键词: Android;课堂管理;教学辅助;Java语言;SQLite
Abstract
Google's Android platform is one of the most popular mobile terminal operating platforms. Android devices have been integrated into our study, life and work. By using a class-teaching assistance system based on the Android platform, teaching information can be stored persistently in computers, which providing a more convenient storage and query platform for students and teachers.
This paper adopts Java language and SQLite database, and completes the design and implementation of class-teaching assistance system based on Android platform. The system includes seven functional modules: login module, password modification module, student information module, attendance management module, homework management module, usual score management module and course information module. Login module implements login and remember password function. Password modification module completes the user password modification function. Student information module can display student information. Attendance management module can check-in according to the current time and location of students. Homework management module implements the functions of adding, correcting homework for teachers and uploading homework, viewing results for students. Usual score management module completes the function of scoring and viewing scores. Course information module displays course information in the form of a curriculum.
Through programming, the class-teaching assistance system can complete the various contents elaborated in the design part and can meet the design requirements of class-teaching assistance.
Keywords: Android; Class management; Teaching assistance; Java language; SQLite
目 录
第1章 绪 论 1
1.1 课题研究的背景和意义 1
1.2 论文的主要内容 2
1.3 论文的章节安排 2
第2章 系统开发工具和技术 3
2.1 Android平台 3
2.2 Java语言 5
2.3 SQLite数据库 6
第3章 系统设计 8
3.1 概要设计与功能层次图 8
3.1.1 概要设计 8
3.1.2 功能层次图 8
3.2 详细设计与流程图 10
3.2.1 登录模块 10
3.2.2 学生信息管理模块 12
3.2.3 密码修改模块 12
3.2.4 考勤签到模块 14
3.2.5 课程信息模块 15
3.2.6 作业模块 15
3.2.7 平时成绩模块 18
3.3 数据库设计 18
3.3.1 实体-关系分析 18
3.3.2 E-R图 19
3.3.3 表结构设计 20
第4章 系统实现 23
4.1 登录模块 23
4.2 学生信息管理模块 25
4.2.1 学生信息查询 25
4.2.2 密码修改模块 26
4.3 课程信息模块 28
4.4 考勤签到模块 31
4.5 作业管理模块 33
4.5.1 总体设计 33
4.5.2 布置作业 36
4.5.3 提交作业 38
4.5.4 批改作业 43
4.5.5 查看批改结果 44
4.6 平时成绩模块 45
4.6.1 教师端 45
4.6.2 学生端 48
第5章 总结与展望 50
5.1 工作总结 50
5.2 工作展望 50
参考文献 52
附 录 53
致 谢 64
绪 论
课题研究的背景和意义
随着硬件性能的提高以及移动端应用软件市场的蓬勃发展,移动智能设备的普及率越来越高,相关产业也越来越完善。根据IDC的手机产量追踪报告显示,2017年全球智能手机出货数量会进一步上升,并达到15.2亿台[1]。有研究者在2017年对2018年至2022年的移动手机进行预测,认为在2022年全球手机出货量将达到19.13亿台,而且增长率相比此前将会进一步放缓[2]。这表明,随着近十几年来移动设备市场的高速发展,这个市场已经日渐稳定,而且部分地区的市场已经渐渐达到饱和。但是,随着移动设备更新换代我稳步进行,以及空白市场的不断发展,这个市场依然有一定的上升空间。硬件的发展提高了移动设备运算、处理的上限,使之能够完成越来越复杂的任务;而应用程序开发的繁荣则将这个上限转化为切实可用的软件,从而提高我们的效率,拉近彼此的距离,将此前的不可能转化为可能。移动设备早已融合我们的生活、学习、工作当中,并一步步地丰富我们的生活。
而在移动市场的内部,Android平台的开源环境和它不对应用程序市场中的程序进行限制的做法,使它成为第三方应用程序的流行平台。早在2011年,Android 应用市场包含的应用程序已经超过了苹果IOS系统下的 App Store[3]。最终,在2012年前后与iOS平台在移动市场上形成了“双雄称霸”的格局[4]。
在随后的近些年来,随着Android系列手机、平板在价格上的优势,Android成为越来越多用户的选择,并得到愈发广泛的使用。在2016年,甚至在2016年的第三季度,Android平台移动设备的全球市场总份额达到了创纪录的88%[5]。由此可见,Android平台已经愈发流行,成为主流的移动端应用程序设计、使用的平台。
另一方面,学生信息化管理也成为目前我国高校进行改革的一个新方向[6-8]。在这种趋势下,许多高校已经推出了各式各样基于Android 的校园课堂辅助系统,例如:掌上理工大、北大生活指南、i复旦等,他们在一定程度上取代了部分传统纸质管理所需要完成的工作,践行了高校信息化改革,给学生的学习带来了便利。
在课堂教学的过程中,往往使用纸质进行记录,而且不利于相关数据的存储和查询。例如。在考勤签到管理中,往往使用点名,并在学生名单中记录的方式。这种方式,一方面教师往往需要花费数分钟进行点名,效率低下;另一方面也不利于考勤信息、数据的保存和查询。学生难以查询自己的之前的考勤情况,而当考勤表作为平时成绩的依据时,需要妥善保存,如果遗失,将造成很多不必要的麻烦。上述情况正是当前课堂教学管理中普遍存在的问题的体现。
使用Android系统设计、实现校园课堂辅助功能,可以方便教学中学生信息、考勤签到、作业、平时成绩、课程信息等的管理。而且,将相关信息以计算机数据的方式进行存储,可以为广大大学生、教师提供一个更为方便的信息存储、上传与查询平台。在Android系统得到广泛使用的背景下,使用Android平台设计课堂辅助教学系统,具有很强的实用意义。
论文的主要内容
本文在明确课堂辅助教学系统意义的基础上,将整个系统分为了登录、修改密码、学生信息管理、考勤签到管理、作业管理、平时成绩管理、课程信息这7个模块,实现上述模块中的具体功能。并根据开题报告中明确的需求,对各个模块进行了设计和实现。
其中,学生信息管理模块要求能够实现学生学号、姓名、所在专业、年级等基本信息的查询。考勤签到管理模块要求能够实现学生的考勤签到,签到结果在平时成绩模块中显示,作为教师打平时分的依据。作业管理模块要求能够实现学生以图片的形式上传作业,教师能够在系统上给学生作业打分、写评语。最后,学生还能够在系统上查看教师作业批改的分数和评语。平时成绩管理模块要求教师能够根据课程安排,在规定时间内提交学生的平时成绩,学生能够在结课后查看自己的平时成绩。课程信息管理系统要求能让学生和教师查看存储在数据库中的课程信息数据。
论文的章节安排
本文各章节安排如下:
第一章绪论,首先介绍Android平台的发展,以及高校信息化改革,作为论文的研究背景,分析当前课堂辅助管理各个部分存在的问题,接着以此阐述论文的目的及意义,最后简述论文的主要内容和章节安排。
第二章系统开发技术和工具,介绍了系统开发所采用的Android平台,开发语言Java以及数据库SQLite。
第三章系统设计,首先明确系统设计的目标和原则,然后进行概要设计,将系统分割成一个个相对独立的功能模块。接着进行详细设计,通过流程图的方式设计如何实现系统的各个功能。最后,本章还通过E-R关系模型,给出系统数据库的设计。
第四章系统实现,根据上一章所阐述的系统设计,展示系统中每个模块的具体实现及其运行结果。
第五章总结与展望,总结了本次系统设计、实现中所做的工作,并对如何进一步完善系统进行了展望。
系统开发工具和技术
Android平台
谷歌公司于2008年的9月发布了Android1.0版本,标志着Android系统正式问世。十多年来,谷歌陆续发布了二十几个版本,不断对Android平台进行完善。例如,在6.0版本之前,Android系统的权限问题存在许多的争议和不足。应用程序需要在安装时一次性授权所有权限的使用[9]。2011年,有研究检查了大量在Android2.2系统上运行的软件,并发现大约三分之一的应用程序或多或少地存在权限过度使用的情况[10]。而另一方面,大部分用户在安装时往往对各个权限请求的理解,甚至并不注意权限问题[11]。由于上述原因,Android系统开发团队在6.0版本中引入了“运行时权限”这一功能,以此改善原来的安装时对应用程序权限进行许可的方式所引起的不足。又例如,在2017年的Google I/O大会中,Android官方正式宣布Kotlin成为除了Java之外,官方支持的第二款开发语言。它不仅与 Java 100% 互通,还具备诸多 Java 尚不支持的新特性。
可见,Android是一个不断更新、发展的平台,随着历次更新,都会有新的技术加入,使其跟上软件开发行业发展的步伐。而另一方面,Android系统的架构作为Android平台的核心,无论平台如何发展、变化,始终在如何理解并使用Android系统这个问题上占有着重要的地位。因此,本节将对Android系统架构进行介绍。
在2008年,谷歌公司于Google I/O演讲“Anatomy and Physiology of an Android”,中提出的Android 的系统架构图[12]。其系统构架如图2.1所示:
图2.1 Android系统架构图
如图2.1所示,Android系统的最底层是Linux内核层(Linux Kernel),它是Android操作系统的最底层,为上层提供了诸如相机、显示屏、电源等各个硬件的驱动,功能和作用与其他操作系统的系统驱动部分类似。
在Linux内核层之上的是C/C 库和Android运行时环境(Android Runtime)。其中,各种C/C 库为系统提供了大量支持。例如,WebKit库负责Android网页浏览器的运行,SQLite负责提供数据库的支持,OpenGL | ES库提供3D绘图的支持等。此外,由于Android程序由Java语言编写,需要Java虚拟机来运行。而虚拟机以及相应的核心库就包括在上面提到的Android运行时库中。其中,在5.0系统之前,使用的是Dalvik虚拟机,与图2.1中所示内容一致;而为了进一步提升运行速度,从5.0系统开始,由Dalvik虚拟机转用ART编译虚拟机。
系统框架层(Application Framework)主要为程序员提供各种开发应用软件时可能会用使用到的类和方法,开发者可以使用这些库里提供类和方法来开发自己的应用,这样便简化了程序开发的结构设计。
最上层是应用层,包括本次设计在内的各种Android端应用程序都属于这一层。在实际开发中,开发者将使用C/C 库和系统框架层所提供的API和系统功能,完成应用层中应用程序的实现。
Java语言
在Android问世之初,它仅支持使用Java语言开发。而在2017年Google I/O大会之后,Kotlin语言也正式成为了Android官方支持的开发语言。但即便如此,Java依然是Android开发的主流语言。本次毕业设计也将使用Java进行开发、实现。因此,本节将对Java语言进行简要介绍。
Java是由Sun公司开发,并在1996年正式发布的一款编程语言。它最初被设计为一款主要用于各种小型嵌入式设备(例如有线电视机顶盒等)的语言,由于设备处理能力和内存都十分有限,而且可能采用不同的CPU作为硬件。这些要求促使了整个开发团队设计一款可移植语言,这款语言的代码必须短小、紧凑而且保证与平台无关[13]。Sun公司(于2009年被Oracle公司收购,变为Oracle)不断对Java进行更新,使其在保留原有特点的情况下与时俱进。例如,在2014年更新的Java8版本就支持了函数式编程,这种方式可以很方便地表述并发执行的计算[14]。
经过二十多年的发展,Java已经形成了一个完成的平台,它不仅有着丰富的语法特性,还包含了一个庞大的类库,各式各样功能强大的IDE和一个能够提供诸如跨平台的可移植性、分布式和自动垃圾回收机制等服务的执行环境。下面将选择部分Java的重要特点进行介绍:
1. 简单性。Java的语法是典型的“C like”语法,语言的组织方式和结构与诸如C语言、C 等市面上其他主流的相似。因此,拥有其他“C like”语言编写经验的程序员都较为轻松地掌握java。另外,Java在C 基础上,保留了许多实用的特性,并且剔除了很多晦涩难懂的或是很不常用的特性,例如指针、多继承、运算符重载等。因此,熟悉C、C 的程序员可以很轻松地转换到Java语法,同时Java的实际使用也相比C 更为简单。
2. 体系结构中立和可移植性。Java的体系结构中立特性是指,对同一份Java代码无需进行修改就可以在各种实现了Java虚拟机的不同平台上运行。这种特性主要是通过Java虚拟机实现的。大部分编译型语言在运行前需要编译、链接,将高级语言变为机器可以直接执行的机器语言。这种方式往往存在各种“依赖具体实现”的语言特性(例如操作系统的位数决定了基本类型占用的字节、程序中使用系统功能调用等),无法直接移植到不同平台。而Java语言在执行前首先被编译为Java字节码,并交给虚拟机。在实际执行时,虚拟机再把字节码解释为机器语言进行运行。由于上述原因,虚拟机提供了统一的API和接口,Java语言只需要使用虚拟机提供的API,生成统一的Java字节码,而不需要跟实际操作系统的功能调用打交道,保证了语言的体系结构中立。
由于上述体系结构中立的特点,Java具有良好的可移植性。只要一个平台拥有对应的Java虚拟机,并且虚拟机完成了各个接口、API与相应平台的系统功能调用的对接,就可以保证Java能将在其他平台顺利运行的Java代码移植到新的平台上。
3. 面向对象编程。它的核心之一就是,开发者在设计软件时能使用自定义的数据类型和对应的操作方式。代码和数据的实际集合体叫做“对象”。数据结构的改变需要和代码进行通信然后操作,反之亦然。面向对象设计让大型软件工程的计划和设计变得更容易管理,能增强工程的健康度,减少失败工程的数量。
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: