基于安卓平台的学生在线点名系统的设计与实现Word格式文档下载.docx

上传人:聆听****声音 文档编号:3579188 上传时间:2023-05-02 格式:DOCX 页数:15 大小:47.07KB
下载 相关 举报
基于安卓平台的学生在线点名系统的设计与实现Word格式文档下载.docx_第1页
第1页 / 共15页
基于安卓平台的学生在线点名系统的设计与实现Word格式文档下载.docx_第2页
第2页 / 共15页
基于安卓平台的学生在线点名系统的设计与实现Word格式文档下载.docx_第3页
第3页 / 共15页
基于安卓平台的学生在线点名系统的设计与实现Word格式文档下载.docx_第4页
第4页 / 共15页
基于安卓平台的学生在线点名系统的设计与实现Word格式文档下载.docx_第5页
第5页 / 共15页
基于安卓平台的学生在线点名系统的设计与实现Word格式文档下载.docx_第6页
第6页 / 共15页
基于安卓平台的学生在线点名系统的设计与实现Word格式文档下载.docx_第7页
第7页 / 共15页
基于安卓平台的学生在线点名系统的设计与实现Word格式文档下载.docx_第8页
第8页 / 共15页
基于安卓平台的学生在线点名系统的设计与实现Word格式文档下载.docx_第9页
第9页 / 共15页
基于安卓平台的学生在线点名系统的设计与实现Word格式文档下载.docx_第10页
第10页 / 共15页
基于安卓平台的学生在线点名系统的设计与实现Word格式文档下载.docx_第11页
第11页 / 共15页
基于安卓平台的学生在线点名系统的设计与实现Word格式文档下载.docx_第12页
第12页 / 共15页
基于安卓平台的学生在线点名系统的设计与实现Word格式文档下载.docx_第13页
第13页 / 共15页
基于安卓平台的学生在线点名系统的设计与实现Word格式文档下载.docx_第14页
第14页 / 共15页
基于安卓平台的学生在线点名系统的设计与实现Word格式文档下载.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

基于安卓平台的学生在线点名系统的设计与实现Word格式文档下载.docx

《基于安卓平台的学生在线点名系统的设计与实现Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于安卓平台的学生在线点名系统的设计与实现Word格式文档下载.docx(15页珍藏版)》请在冰点文库上搜索。

基于安卓平台的学生在线点名系统的设计与实现Word格式文档下载.docx

在服务端,学生和教师的个人信息已经通过管理员导入,个人信息包括姓名、班级、学院、学号等等,学生与教师无需再进行注册,他们可以登录系统来修改自己的信息,然后将修改的信息提交到服务端进行保存即可。

系统在APP端开设了两个角色选择入口,用户可以选择教师登录或者学生登录.

学生登录进入主界面,在教师发起点名命令之后,学生可以进行实时签到。

如果学生有急事需要请假,还可以向教师提交请假申请.

教师成功登录系统后,进入主界面,在主界面可以查看学生名单,学生的信经导入了课程表和学生信息,所以到了课程开始的时间,签到功能就被激活了,学生可以在规定时间内进行请假和签到,如果超过了考勤时间,学生将无法进行请假和签到。

教师也可以在APP端或者是服务端进行手动签到。

服务端可以记录课堂签到信息,统计学生的出勤人数和缺勤人数.与此同时,如果有同学提交请假申请,教师还可以在第一时间做出反馈.

1.1课题研究背景

一般来说,传统的课堂点名方式会占用教师和学生的宝贵时间,致使教学效率低下,拖慢教学的节奏和进度,与此同时,这种点名方式也会发生同学帮忙签到、学生迟到早退等情况,而这些情况都会给老师或者是考勤人员带来很大的麻烦和困扰.根据实际情况,为了加快教学进度,提高课堂效率,教师根本无法做到每次上课都进行点名,那么这样就无法全面地跟踪学生上课的整个过程.加之这样的点名方式在记录、统计方面的效率也非常低,不易直观地查看出勤率、缺勤人数等统计信息.如今是科技飞速发展的时代,各种先进的系统平台已基本普及,特别是android系统几乎是达到家喻户晓的程度了,而以此平台为基础而开发的点名系统功能更加的强大。

1.2课题研究意义

Android点名系统集成了管理、服务等多种功能,使用智能化的系统进行人性化的管理,不仅提高了工作效率,而且大大提高了数据保存的安全性.尤其对于复杂的信息管理,智能系统能够充分发挥其优越性,它能方便地进行教学管理,具有传统方法无法匹敌的优存储量大、可靠性高、查找方便、检阅迅速、保密性好、成本低.

2学生在线点名系统需求分析

学生在线点名系统主要包括三个角色,分别是教师,学生和管理员。

教师可以上课点名,查看学生的考勤状况学生可以实现课程的签到,个人信息的修改;

管理员负责在数据库导入信息和维护服务端的运营.

教师系统用例图如图所示:

图2-1教师功能用例图

学生系统用例图如图所示:

图2-2学生功能用例图

管理员系统用例图如图所示:

图2-3管理员功能用例图

2. 1功能性需求

2. 1.1教师模块需求分析

教师模块的主要功能有查询学生的考勤信息,修改个人信息,上课期间发起课程点名。

教师使用账号,密码登录系统,进入系统后,有三个功能按钮:

上课点名、班级考勤和个人信息.

a) 教师查询功能:

教师进入系统后,点击班级考勤按钮,切换到查询页面,系统会显示所查询的课程信息,课程信息包括上课地点、上课时间、学生和指导老师.

时序图如图2-4所示

图2-4教师查询时序图

b) 教师点名功能教师登录进入系统后,点击上课点名按钮,切换到点名页面,系统会显示需要点名的课程信息,点击课程,系统显示学生名单,教师可以

时序图如图2-5

图2-5教师点名时序图

c)教师修改个人信息功能教师登录进入系统后,点去个人信息按钮,切换

到个人信息页面,系统会显示教师的个人信息,教师可以对信息进行修改。

时序图如图2-6

图2-6教师修改个人信息时序图

2.1.2学生模块需求分析

学生模块的主要功能有上课签到,查询和修改个人信息.首先,学生登录系统,进入系统后,主界面上方有两个功能按钮:

今日课程和个人信息.

a) 学生个人信息功能:

学生进入系统后,点击个人信息按钮,切换到个人信息页面,系统会显示个人信息,学生可以在此页面进行信息修改.

时序图如图2-7

图2-7学生个人信息时序图

b) 学生上课签到功能:

学生进入系统后,点击今日课程按钮,切换到今日课程页面,系统会显示当天上课的课程,学生点击课程,添加考勤状态.

时序图如图2-8

图2-8学生上课签到时序图

2.1.3管理员模块需求分析

管理员模块的主要功能是将学生信息、教师信息和课程相关信息添加到后台

数据库中,定期对系统做维护。

时序图如图2-9

2.2非功能性需求

a) 操作方便:

学生教师都有各自的登录入口,进入主界面,都有相关的功能按钮,操作都是一目了然,很方便,能够节省用户的时间.

b) 响应时间:

系统在数据传输和加载的时间不能过长,一般要控制在5秒钟左右.

c) 安全性:

用户登录需要权限,用户名和密码错误就会导致用户无法登录。

数据库的内容也需要定期维护和备份,保证系统数据的安全性.

d) 开放性:

开发设计出的系统要具有可扩展性,能够提供不同的接口支持,也能支持系统的二次开发.

e) 合理性:

系统的开发是否合理,要看是否满足用户的需求,而且系统能否顺利地运行,系统在开发过程中需要不断地完善。

2.3开发使用的技术

整个系统使用Java进行代码的编写,eclipse作为开发平台,以JDK、AndroidSDK和ADT作为开发工具,数据库采用MySQL,服务器使用PHP进行架构.这些都可以在电脑上安装相应的环境然后进行开发,而且开发平台的技术发展已经相对成熟,完全可以满足系统实现的要求.

开发过程中用到了json解析.json(JavascriptObjectNotation)是一种轻量级的数据交换格式,相比于xml这种数据交换格式来说,因为解析xml比较的复杂,而且需要编写大段的代码,所以客户端和服务器的数据交换格式往往通过json来进行交换。

尤其是对于web开发来说,json数据格式在客户端直接可以通过javascript来进行解析。

5

3. 1系统概要

3. 1.1系统开发目标

开发学生点名系统旨在改进学校的考勤管理,对于目前许多高校来说,系统化的考勤明显要比纸质化的点名方便的多。

通过操作android端和服务器端,根据导入数据库的资料,来进行学生的考勤.整个系统实现学生和教师的个人信息管理,通过数据库导入学生和教师的信息,导入学院和学校的课程安排,包括上课时间和上课地点.学生登录APP进行打卡签到,教师可以在android端登录查看学生的考勤状况,也可以登录服务器端查看在线考勤状况.

3.1.2系统流程图

图3-1系统流程图

3.2数据库设计

3.2.1数据库结构设计

根据学生点名的系统需求,通过对APP端和服务器端的分析,设计如下所示的数据项和数据结构:

a) 学生信息

包含的数据项有:

密码、姓名、班级、学号(用户名)、QQ、电话、课程等.

b) 教师信息

密码、姓名、联系方式、课程、职称、性别、所属学院等.

得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础,这些实体包括各种具体信息,通过相互之间的作用形成数据的流动.本系统根据上面的设计规划出的实体图有:

学生基本信息实体图、教师基本信息实体图、课程时间信息实体图、课程签到信息实体图.

学生学号所属班级电话性别所属学院密码姓名

图3-2学生基本信息实体图

学生信息包摇学号、所属班级、姓名、密码、电话、所属学院、,性别等等.

教师职称学院教师编号联系方式密码性别

图3-3教师基本信息实体图

教师信息包括:

联系方式、职称、密码、学院'

教师编号、性别等等。

课程课程开始课程结束上课地点学生教师

图3-4课程时间信息实体图

课程时间信息包括:

学生、教师、上课地点、课程开始、课程结束。

课程学生考勤状态打卡时间

图3-5课程签到信息实体图

课程签到信息包括:

课程、学生、打卡时间、考勤状态.

3.2.2数据库逻辑结构设计

数据库设计对于一个实用性的系统非常重要,如果数据之间的关系没有经过优化,数据库就无法很好地运行.

学生在线点名系统充分体现系统的需求,准确表达出数据间的关系,保证数据的准确性和一致性,通过外键、非空、限制、唯一索引等保证数据的安全和合理,数据库还需要良好的扩展性,在必要的时候能够根据要求进行扩展。

a) 班级表:

记录了班级的各种具体信息,其中包含的字段有id、班级名祢、所属班主任ID、所属学院ID。

b) 教师表:

记录了教师的各种具体信息,其中包含的字段有id、教师姓名、

7

c) 班级表:

记录了考勤的各种具体信息,其中包含的字段有id、学生ID、课程ID、打卡时间、考勤状态.

d) 课程表:

记录了课程的各种具体信息,其中包含的字段有id、课程名称.

e) 学生与课程对应表记录了学生与课程之间的关系信息,其中包含的字段

有id、课程ID、学生ID、教师ID,上课地址、上课时间、结束时间.

f) 学生表记录了学生的各种具体信息,其中包含的字段有学号、课程名称、

性别、联系方式、所属班级ID、所属学院ID、密码.

g) 学院表:

记录了学院的各种具体信息,其中包含的字段有id、学院名称。

4学生在线点名系统详细设计与功能解析

4.1数据交互的设计与实现

系统使用httppost方式与服务器端进行数据交互,由APP把数据post到服务器端,由服务器端操作mysql获取数据并返回相应的值。

本系统服务端采用PHP+mysq1技术,对于这个技术就不做介绍了。

a) 定义请求的链接;

b) 使用NameVa1uePair存储Post参数;

c) 设直最长响应时间并发起HTTPrequest请求;

d) 接收服务端返回的HTTP状态.(200为成功接收消息,404为旌接地址错误,5xx为服务端错误)

系统的数据传递还运用到了JS0N数据解析,JS0N的全称是JavaScriptObjectNotation,意思是JavaScript对象表示法,它是一种基于文本,独立于

语言的轻量级数据交换格式。

JSON有两种表示结构,对象和数组.对象结构以大括号开始,以大括号结束.中间部分由0或多个以”,"

分隔的"

key(关键字)/value(值)”对构成,关键字和值之间以'

'

”分隔•数组结构以”【”开始,”】”结束•中间由0或多个以”,"

分隔的值列表组成。

1, 从JSON中读数据,例如:

functionReadJSON()(

alert(obj.1);

〃会报语法错误,可以用alert(obj[“l"

]);

说明数字最好不要做关键字

alert(obj.2);

〃同上

alert(obj.person[0].name);

//alert(obj.person[0][“name”)

alert(obj.object,msg);

//alert(obj.object[“msg”])

}

2, 向JSON中写数据,例如:

functionAdd0{

〃往JSON对象中增加了一条记录

obj.sex="

男”〃或者obj[“sex"

]=“男"

4.2教师登录模块的设计与实现

4.2.1教师登录功能实现

在登录之前,需要选择相应的角色,如图所示:

图4-1角色选择信息图

选择角色登录之后,可以跳转到相应的界面,如点击教师登录,可跳转到如

下界面:

图4-2教师登录界面信息图

教师登录的具体步骤如下:

a) 教师在选择相应的角色入口之后进入教师登录界面;

b) 教师输入用户名和密码,然后点击登录;

C)服务器端会验证用户名是否正确,如果正确,就可以进入主界面;

d)如果用户名和密码不正确,则系统将给出错误提示.

图4-3错误提示信息图

4. 2.2登录功能中Intent的简介

Intent的中文意思是“意图,意向"

,在Android中提供TIntent机制来协助应用间的交互与通讯,Intent负责对应用中一次操作的动作.动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将Intent传递给调用的组件,并完成组件的调用.Intent不仅可用于应用程序之间,也可用于应用程序内部的Activity/Service之间的交互。

因此,可以将Intent理解为不同组件之间通信的“媒介”专门提供组件互相调用的相关信息.

Intent可以启动一个Activity,也可以启动一个Service,还可以发起一个广播Broadcasts^

在这个登录功能的实现中,intent主要起到界面转换的作用,从最初的角色入口选择界面,通过按钮的点击事件的触发,切换到教师登录的activity.

4. 2.3教师登录用户名密码保存的实现

为了方便用户登录,还添加了用户名、密码保存功能,这里使用preference

11

存储到本地,再次登录就无需输入,直接登录就可以了.

Android提供preference这个键值对的方式来处理这种情况,自动保存这些数据,并立时生效,同时Android提供一种类似的layout的方式来进行Prefernce的布局。

preference的数值会被保留,而且可以在其他的activity中读取•如果需要清除数据,可以通过remove0除某个名字的prefernece,clear0清除所有的preferences。

我们可以通过edit0获取preferences的editor,进而进行编辑,修改后,通过commit0将修改值保存•

Preference的XML可以通过PreferenceCategory来组织PreferenceCategory可以将几个组建组合在一起,并加上标题.•

4.3教师上课点名模块的设计与实现

登录进入主界面后,上方有三个按钮,分别是上课点名、班级考勤、个人信息.

点击上课点名按钮,触发onclick点击事件,切换点名界面,关键代码如下:

这里设置了点击事件的监听器,当我们点击此按钮的时候,将会获取班级信息.

如果当天教师没有课,界面提示没有课程安排,代码如下:

privatevoidaddCourse0(

//TODOAuto-generatedmethodstub

adapter.addBook(n您今天没有课程安排!

"

y);

图4-4无课程安排信息图

如果今天课表上有课,而且获取上课信息成功,listview中将会插入所要

点名的班级,

图4-5有课程安排信息图

选择课程名称,就可以显示需要上课的班级,在页面中可以看到学生名单,

以及学生的基本信息,如图所示:

图4-6学生名单信息图

然后选择学生进行签到,签到一共有5种状态:

正常、迟到、早退、旷课和请假,如图所示:

图4-7考勤状态信息图

当选择完学生的签到状态之后,可以提交点名,然后经由本系统把学生id、课程id以及当前签到的状态提交到服务端,由服务端进行保存和更新.

手动签到功能,对于以下情况:

(1)没有使用android手机的学生;

(2)忘记携带手机的学生。

遇到以上情况,教师可以手动进行签到,在系统中直接点击选择考勤状态即可.

教师登录本系统之后,点击班级考勤,可以查看当前课程学生的考勤汇总,以及学生的详尽信息.

4.4教师考勤模块的设计与实现

在主界面中,点击班级考勤按钮,触发菜单点击事件,可以查看相关班级的点名汇总,主界面如图所示:

图4-8班级考勤信息图

图中展示了课程的主要教师,学生点击该行可以显示出具体的签到考勤列表,

图4-9考勤汇总信息图

列表中罗列了考勤的所有情况,汇总中包含以下信息十果程信息、代课老师、学生信息,和正常签到、旷课、早退、请假、迟到的学生人数,以及这5种情况的学生列表.

统计功能签到结束后,进行学生的出勤情况统计,包括学生的出勤率、缺勤率、缺勤人数以及学生的出勤情况等等,这些信息都将显示在界面上,方便教师查看.

然后,返回上一页,教师可以查看个人的姓名和联系方式,并且可以对信息做一些修改.

图4-10个人修改信息图

点击保存,修改的信息将发送到服务端的数据库中保存和更新.

4.5学生登录模块的设计与实现

图4-11角色选择入口信息图

学生登录的具体步骤如下:

a) 学生在选择相应的角色入口之后进入学生登录界面;

b) 学生以自己的学号作为用户名,初始密码都为123456,方便学校进行统一分配和管理,从而不会出现用户名出现重复的现象:

c) 点击登录服务端会验证用户名是否正确,如果正确,就可以进入主界面;

d) 如果用户名和密码不正确,则系统将给出错误提示

图4-12学生登录信息图

接下来,就展示一下系统如何使用不同的参数区分教师和学生登录:

与服务

端通信时,多增加了type参数,使之从不同的表内获取数据,

Listparams=newArrayList0;

params,add(newBasicNameValuePair("

username"

userName));

params,add(newBasicNameValuePair("

p

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2