【PHP开源代码栏目提醒】:网学会员--在 PHP开源代码编辑为广大网友搜集整理了:毕业设计(论文)-基于Android的课堂作业管理系统客户端的设计 - 毕业设计绩等信息,祝愿广大网友取得需要的信息,参考学习。
1 需求分析1.1 问题提出 上世纪 90 年代末, 计算机普及和 Internet 迅速发展,从根本 上改变了人们日常生活、工作和娱乐方式,同时也在改变着教育,很多国内外的大学和其它社会机构都进行了远程教育,实现了异地教育和培训。
二十一世纪是信息时代,信息技术发展更加迅速,全面性、可靠性和速度等会有质的飞跃,远程教育将具有更强的生命力,优质的教育资源共享就能更好地实现,终身教育真正成为可能,传统的课堂教学方式势必会受到严峻的挑战。
传统的课堂测试方式在现今来看存在很多弊端。
由于传统考试涉及到命题、纸质答题、阅卷等诸多环节,课堂测验时间长、效率下降;同时人工批卷等主观因素也影响到测验的公正性。
随着网络技术在教育领域应用的普及,应用现代信息技术构架的无线课堂作业系统展现出了越来越多的优越性。
无线课堂作业系统正是迎合这一时代需求而开发的,它旨在探索一种以手机为基础的考试模式。
通过这种新的模式,为学校创造一种新的课堂教学环境,提高课堂效率和标准化水平,使学校管理者、教师和学生可以随时随地通过网络进行交流学习。
当今学校的生活节奏越来越快,学生们对手机的要求也越来越高,由于手机市场发展迅速,是的手机操作系统也出现了不同各类,现在的市场主要有三个手机操作系统,Windows mobile IOS 以及谷歌的 Android 操作系统,其中占有开发源
代码优势的 Android系统有最大的发展前景。
那么能否将 Android 手机与课堂作业结合起来呢,能的,本文的课堂作业管理系统就是基于谷歌 Android 手机平台的课堂作业客户端。
Android 是谷歌于 2007 年公布的开放式源
代码手机系统,一直受到人们的热捧。
Android 是基于 Linux 内核的软件平台和操作系统,它开放性就优于其他封闭式的手机系统,因此,任何人都可能根据自己的喜好将手机系统中的所有功能重新编写。
这使得越来越多的人关注这个操作系统,本次作品就是基于 Android 平台的。
随着
计算机的广泛运用,手机市场的迅速发展,各种应用也在网上广为流传,这些资源很少涉及到学校的学习生活,但已经渐渐成为人们生活中必不可少的一部分了。
于是我想能否开发一款与我们学生密切相关的软件,并且将课堂快要结束的几分钟利用起来,这款软件便进入了设计议程。
1.2 需要完成的功能 无线课堂作业系统实现了无纸化测验,从而使测验这项常规而繁琐的任务变得更加方便,避免了以往课堂中物质方面的浪费。
后台管理方面由专业管理人员进行管理,确保了程序的稳定性、安全性。
登陆在线考试系统后台管理,可以对考试内容、专业、科目和题目等都作了详细的分类,这样学生通过自己的学生编号和密码进入前台,按步骤依次进行 基于 Android 的课堂作业管理系统客户端的设计选题和答题,答题完毕后系统会自动判断考卷,并核对出最后考卷的分数,解决了在学校考试后等待考卷分数通知的
问题。
本项目是一款基于 Android 手机 平台的课堂作业系统,使 Android 手机拥有在线答题的功能,便于老师及时了解学生对本堂课的理解情况,降低了检测成本,节省了时间与纸质答题的繁琐。
使老师学生的课堂生活更加多样化,也使设计者更加熟练 Android 的技术和其它在市场上的特点。
2 2 系统设计及主要技术介绍2.1 系统框架设计2.1.1 组织结构 根据要求首先设计出系统组织结构图,如图 2-1 所示: 图 2-1 系统结构图 Figure.2-1 System Structure 图中服务器上建有数据库,存储学生信息(学号,姓名,性别,班级,登录时间,作 ,试题信息(题号,题目类型,题干,选项或答案,成绩)业成绩) ,意见栏。
对于客观题目直接判断,统计学生个人的做题统计(答题数目,正确数目,答题时间 ,以及每道题目的数据统计(答题人数,正确人数)等) ,随机分发组合题目。
老师可通过登录服务器编辑题库,课上当堂布置作业,课后可批改学生上交的
作业。
学生用学号姓名登陆,提交作业并给老师留言,查阅以前的作业成绩及老师批语。
2.1.2 系统运行流程图 根据分析,首先设计出系统运行的流程,如图 2-2 所示是学生的操作流程图: 学生首先在手机上运行程序,然后使用用户名密码
登陆,密码正确则进入下一功能选择,这一模块可进行答题、成绩
查询、留言等功能,最后提交试题,退出程序。
根据规划再设计出老师的操作流程图,将老师所要实现的全部功能流程化、具体化,如图 2-3 所示: 老师登陆服务器对学生以及试题库进行编辑,还可以查看学生的答题情况以及学生的留言,完成后可保存退出。
基于 Android 的课堂作业管理系统客户端的设计 图 2-2 学生系统流程图 Figure.2-2 Flow Chart Of Student System 图 2-3 老师系统流程图 Figure.2-2 Flow Chart Of Teacher System2.2 数据库主要技术及选择2.2.1 常用的数据库及介绍 目前
常用的数据库有 大型数据库:Oracle、Sybase、DB2、SQL Server 小型数据库:Access、MySQL 4 Oracle 是一种关系型数据库管理系统,是一个协调服务器和用于支持任务决定型应用程序的开放型 RDBMS。
Orcale 属于大型数据库系统,主要适用于大、中小型应用系统,或作为客户机/服务器系统中服务器端的数据库系统。
Sybase 通常与 Sybase SQL Anywhere 用于客户机/服务器环境,前者作为服务器数据库,后者为客户机数据库,采用该公司研制的 Power Builder 为开发工具,在大中型系统中具有广泛的应用,。
DB2 是 IBM 公司研制的一种关系型数据库管理系统,主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于 OS/2、Windows 等平台下。
Access 是美国 Microsoft 公司于 1994 年推出的微机数据库管理系统。
它具有界面友好、易学易用、开发简单、接口灵活等特点,是典型的新一代桌面数据库管理系统。
主要适用于中小型应用系统,或作为客户机/服务器系统中的客户端数据库。
MySQL 是一个由瑞典 MySQL AB 公司开发的关系型数据库
管理系统。
MySQL 是一种关联数据库管理系统,MySQL 软件采用了双授权政策,其体积小、速度快、总体拥有成本低,一般搭配
PHP 和 Apache 可组成良好的开发环境。
SQL Server 是美国 Microsoft 公司推出的一种关系型数据库系统。
SQL Server 是一个可扩展的、高性能的、为分布式客户机/服务器计算所设计的数据库管理系统,实现了与Windows NT 的有机结合,提供了基于事务的企业级信息管理系统
方案。
2.2.2 数据库的选择 Oracle、Sybase、DB2 三种数据库均适用于大中型
系统,应用在本次系统上完全没必要,并且我的笔记本电脑也很难完美运行,所以不适用本系统。
Access 与 Android 的兼容性很低,很难互联,所以不再选择之列,MySQL 功能太少且经常出错不适合本系统,经过考虑,决定使用 SQL Server 2008。
Microsoft
SQL Server 2008 是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的 Microsoft SQL Server 版本。
基于他的新特性、优点和功能,本系统选择 SQL Server 2008 作为数据库的开发工具。
其主要特点如下: 1高性能设计,可充分利用 Windows NT 的优势。
2系统管理先进,支持 Windows 图形化管理工具,支持本地和远程的系统管理和配置。
3强壮的事务处理功能,采用各种方法保证数据的完整性。
4支持对称多处理器结构、存储过程、ODBC,并具有自主的 SQL 语言。
SQL Server以其内置的数据复制功能、强大的管理工具、与 Internet 的紧密集成和开放的系统结构为广大的用户、开发人员和系统集成商提供了一个出众的数据库平台。
SQL server 本身提供了一些存储过程,用于管理 SQL server 和现实有关数据库和用户的信息,称之为系统存储过程。
系统存储过程放在 master 数据库中,归系统管理员所有,但其中很多过程都可以运行在数据库中。
用户也可以编写自己的存储过程,并把它存放在数据库中。
这样就可以做到充分发挥数据库服务器的功能,尽量减少网络上的阻塞。
使用存储过程时,数据可以在数据库服务器上完成。
把完成某一数据库处理的功能涉 基于 Android 的课堂作业管理系统客户端的
设计及为存储过程,就可以在各个程序中反复调用,从而减轻了程序编写的
工作量。
此外,存储过程还可以间接实现一些安全控制功能。
微软的这个数据平台满足数据爆炸和下一代数据驱动应用程序的需求,支持数据平台愿景:关键任务企业数据平台、动态开发、关系数据和商业智能。
2.3 连接方式介绍及选择 Web Service 是一项新技术,能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件,就可相互交换数据或集成。
依据 Web Service 规范实施的应用之间, 无论它们所使用的语言、平台或内部协议是什么,都可以相互交换数据。
Web Service是自描述、自包含的可用
网络模块,可以执行具体的业务功能。
Web Service 也很容易部署,因为它们基于一些常规的产业标准以及已有的一些技术,诸如 XML 和 HTTP。
Web Service减少了应用接口的花费。
服务端可以写成 Webservice 也可以写成 Website,前者只是提供一种服务,而后者是可以提供用户界面等具体的页面,后者也就是平时所说的 。
“网站” 两者的区别:Web Service只提供程序和接口,不提供用户界面,Web Site 提供程序和接口,也提供用户界面(网页)由于本系统只是需要一个中介来访问 SQL Server,所以写成 Web
service 足够了。
2.4 Android 平台相关技术2.4.1 开发工具 Eclipse Eclipse 是一个开放源
代码的、基于 Java 的可扩展开发平台,目前最好的 Android 开发工具。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
幸运的是,Eclipse 附带了一个标准的插件集, 包括 Android 开发工具(Android DevelopmentTools,ADT) 。
Eclipse 的插件机制是轻型软件组件化架构在客户机平台上, Eclipse 使用插件来提供所有的附加功能,例如支持 Java 以外的其他语言。
已有的分离的插件已经能够支持 C/C(CDT) 、Perl、Ruby,Python、telnet 和数据库开发。
插件架构能够支持将任意的扩展加入到 现有环境中,例如配置管理,而决不仅仅限于支持各种编程语言。
在 目前 Android 开发所用的开发工具是 Eclipse, Eclipse 编译 IDE 环境中, 安装 ADT,为 Android 开发提供开发工具的升级或者变更, 简单理解为在 Eclipse 下开发工具的升级下载工具。
SDKSoftware Development Kit一般是一些被软件工程师用于为特定的软件包、 软件框架、硬件平台、操作系统等建立应用
软件的开发工具的集合。
在 Android 中,它为开发者提供了库文件以及其它开发所用到的工具。
简单理解为开发工具包集合,是整体开发中所用到的工具包,所以用 Eclipse 作为开发工具,不需要下载 ADT,只下载 SDK 即可开发。
2.4.2 Android 平台系统架构 基于 Android 平台的应用软件开发,需要了解 Android 平台的相关技术和设计理念,尤其是 Android 系统架构的应用框架层。
Android 应用开发需要继承、实现应用框架层的有 6关类和接口,或者直接调用系统类库中的方法,以实现具体的功能,在这种情况下,就必须要查看 Android SDK 帮助
文档,了解相关类和接口的功能及其使用方法。
Android 是基于 Linux 内核的软件平台和操作系统,它采用了软件层(software stack,又名软件叠层)的架构,主要分为三层。
底层以 Linux 内核作为基础,以 C 语言编写,只提供基础功能。
中间层包括函数库 Library 和虚拟机 Virtual Machine,以 C编写。
最上层是各种应用软件以及应用框架,包括通话程序,短信程序等,应用软件由不同的开发者独立完成,以 Java 语言编写。
Android 不只是一个操作系统,它包括了: 1.经过 Google 剪裁和调优的 Linux Kernel,支持大多数手持设备的硬件体系。
2.经过 Google 修改的 Java 虚拟机 Dalvik,基于 Apache Harmony 虚拟机版本进行改良,具有极高的执行性能,大部分
Java 核心类库都可以直接在 Java 虚拟机上运行。
3.大量可用的类库和应用软件,例如浏览器 Webkit,数据库 SQLite 等,对于下游开发者而言,能极大地缩短开发时间,降低开发成本。
4.Android 提供了一整套基于 Eclipse 的完整开发环境、模拟器、帮助
文档、示例,对 Android 的快速推广和发展有极大推动作用。
Android 平台的系统架构如图 2-3 所示: 图 2-3 Android 系统架构 Figure.2-3 Android Framework Android 系统架构分为四层,从上层到底层分别是应用层、应用框架层、系统运行库层和 Linux 内核层。
。
应用层由运行在 Android 设备上的所有应用构成,它不仅 1. 应用层(Applications)包括通话、短信、联系人等系统应用,还包括其他后续安装到设备中的第三方应用,是普通用户唯一可见的一层。
。
2. 应用框架层(Application Framework)这 是 Android 系统中最核心的部分,它集中体现了 Android 系统设计思想。
框架层由多个系统服务组成,所有服务都寄宿在系统核 基于 Android 的课堂作业管理系统客户端的设计心进程(System Core Process)中。
框架层最直观的的体现就是 SDK,它通过一系列的 Java功能模块来实现应用所需的功能。
主要包括: 丰富而又可扩展的视图组建:用来构建应用程序,它包括
列表List、网络Grid、文本框TextBox、按钮Button,以及可嵌入的 Web 游览器。
内容提供器 Content Provider:它可以让一个应用访问另一个应用的数据。
资源管理器Resoure Manager:提供非
代码资源的访问,如本地字符串、
图形和布局文件等。
通知管理器Notification Manager:应用可以在状态栏中显示自定义的提示信息。
活动管理器Activity Manager:管理应用程序生命周期并提供常用的
导航回退功能。
窗口管理器Window Manager:管理所有的窗口程序。
包管理器Package Manager:Android 系统内的
程序管理。
。
核心类库的来源主要 3. 系统运行核心类库及运行时(Libraries amp Android Runtime)有两种,一种是系统原生类库,如基础算法,另一种是第三方类库,大部分都是对优秀
开源项目的移植,如多媒体库、Webkit、SQLite 等。
运行时(Android Runtime)提供 了 Dalvik虚拟机,为 Android 应用提供动力,决定其执行效率。
每个 Java 程序都运行在 Dalvik 虚拟 与机上。
PC 一样,每个 Android 应用程序都有自己的进程,Dalvik 虚拟机执行.dex 文件。
当 Java 程序通过编译生成.dx 文件,通过 SDK 中的 .dx 工具转化成.dex 格式。
4.Linux 内核层(Linux Kernel)。
Android 的核心系统服务基于 Linux 2.6 内核,如安全性、内存管理、进程管理、网络协议和驱动模型等都依赖于该内核。
Linux 内核同时也作为硬件和软件栈之间的抽象层。
Android 更多的是需要一些与移动设备相关的驱动程 、键盘 驱动(KeyBoard Driver)序,包括显示驱动(Display Driver) 、Flash 内存驱动(FlashMemory Driver)、照相机驱动(Camera Driver)、音频驱动(Audio Driver)、蓝牙驱动 、WiFi、电源管理(Power Management)等。
(Bluetooth Driver) 正是由于 Android 自身的众多优点,Android 系统自推出以来就得到众多手机开发厂商和
通讯业务提供商的青睐,其在智能手机领域的市场份额更是节节攀升,同时也催生了更多的移动互联网业务,促进了移动应用产业链的扩大和发展。
2.4.3 Android 平台的主要特点 Android 是基于 Linux 的
开源平台,这一来源决定了它具有诸多优点: 1.开放性。
除了一些核心
代码外,平台的绝大部分源
代码可以
免费获得。
2.跨应用程序。
Android 基于组件的设计思想使得应用之间界限变得模糊,用户的直接感知是不同界面之间的跳转,而不是应用程序之间的切换。
3.应用程序是在平等的条件下创建的。
移动设备上的应用程序可以被替换或扩展,即使是拨号程序或主屏幕这样的核心组件。
4.应用程序无界限。
Android 应用可以通过 API 访问核心移动设备功能。
应用程序可以通过互联网声明它们的功能并供其他应用程序使用。
8 5.多任务并行运行。
Android 在这一点上直接继承了 Linux 的多任务特点,多个进程或线程可以并行运行。
2.4.4 Android 平台主要类库介绍 Android 平台为开发者提供了一系列可用且高效的类库,所有的第三方应用都是基于这些类库来实现的。
主要包括: android.app:提供高层的程序模型和基本的运行环境。
android.content:包含对各种设备上的数据进行访问和发布。
android.database:通过内容提供者浏览和操作数据库。
android.media:提供一些类管理多种音频、视频的媒体接口。
android.net:提供帮助网络访问的类,超过通常的 java.net.接口。
android.provider:提供访问 Android 内容提供者的类。
android.telephony:提供与拨打电话相关的 API 交互。
android.view:提供基础的用户界面接口框架。
android.util :涉及工具性的方法,例如时间日期的操作。
android.
webkit :默认浏览器操作接口。
android.widget:包含各种 UI 元素在应用程序的布局中使用。
基于 Android 的课堂作业管理系统客户端的设计 3 系统的实现3.1 数据库设计3.1.1 数据库的需求分析 课堂作业系统以作业检测为主体,因此在这个系统中必须要有一个表保存试题信息(题号、题干、选项、答案、空字段供学生答题,并且以题号为主键)。
负责登录终端系统的学生应该有保存学生信息的表,这个表中也是包括一些基本信息(学号、姓名、性别、班级、专业、成绩,并且以学号作为主键)。
学生可以自己选择在题目的编号中选择自己要答的题。
另外系统中必须要有一个统计表,该表中包括答题总人数,答题正确人数,答题时间等基本信息。
3.1.2 数据库的概念设计 根据无线作业系统的需求,设计出以下的实体-关系模型(E-R)图如图 3-1 所示: 图 3-1 实体联系图 Figure.3-1 Entity Chart3.1.3 数据库的逻辑设计 数据库的逻辑设计,即把概念设计得到的概念数据库模式变为逻辑数据模式,它依赖于 DBMSdatabase management system,数据库管理系统。
根据无线课堂作业系统的需求分析及数据库的概念设计,得到以下的数据库表和表的相关说明如下:首先创建数据库 test,根据设计要求,为了存储学生信息在数据库中创建学生表(studata),如表 3-2 所示: 表 3-2 数据库学生表 Table 3-2 Database Student 序号 字段名称 字段含义 类型 宽度 备注 1 stunumber 学号 char 8 Primary key 2 stuname 姓名 varchar 8 3 stusex 性别 char 4 4 stuid 身份证后八位 char 8 5 stuclass 班级 char 8 6 stutime 答题时间 int 8 Foreign key 7 stuscore 成绩 int 8 Foreign key 10 在数据库中创.