1、 本科毕业论文(设计)题目:Android平台下学生日常考勤信息管理软件的设计与 实现XXII基于Android平台下学生日常考勤信息管理软件的设计与实现摘 要学生考勤管理是高校管理重要环节之一,而高校学生考勤管理存在着人工管理效率低、信息较分散、难于统计、利用率低的问题,对学生出勤信息的动态掌握造成了困难。并且考勤管理占用了较多的教学时间,往往会影响正常的教学计划,同样也会给学生的带来不必要的麻烦。简化教学工作,提高学生学习质量已经成为高校中要解决的问题。随着近些年移动互联网的不断壮大和移动平台的飞速发展,为学校管理的改善提供了新的渠道和手段。利用移动平台中应用很广泛的安卓系统,在手机和平板
2、电脑上搭建的便捷高效教学管理系统学生客户端,提出一种包含Android移动客户端(Android端)、PC Web客户端(PC端)和Web服务端(服务端)混合而成的学生考勤管理系统。使用基于Android平台的移动设备实现电子点名功能,通过网络将学生考勤数据实时上传至服务器,并用J2EE实现考勤数据的动态管理和查看。为学生提供查询各课程考勤情况的平台,优化了教学模式,也提高了学生的学习积极性,还提高了学校管理工作效率。关键字:安卓;教学管理系统;学生客户端IDesign and implementation of studentattendanceinformation management
3、softwarebased on Android platform AbstractKey Words: Graphical User Interface;Plane game;Java LanguageII目 录1 绪 论21.1 开发背景21.2 可行性分析32 开发环境和工具简介42.1 Android及SDK介绍42.2 Eclipse简介42.3 MyEclipse简介53 需求分析63.1 系统性能要求63.2 功能需求分析64 详细设计84.1手机客户端84.1.1 用户登陆模块84.1.2 学生信息管理模块104.1.3 课程管理模块114.1.4 签到模块124.2服务器端模
4、块134.2.1通讯数据格式定义134.2.2通讯数据格式定义144.2.3发送返回数据模块154.3网页客户顿164.3.1登录模块164.3.2学生信息管理模块174.3.3课程管理模块174.3.4签到模块175 结 论19致 谢20参考文献211 绪 论随着科技的发展,移动通讯平台在不断地发展中愈来愈加成熟,中国手机市场销量很庞大,其中,安卓系统在手机中的发展最为迅速。2012年1月20日,谷歌报告显示,通过谷歌服务器激活的Android设备用户总数已经超过2.5亿,而Android在中国大陆的智能手机操作系统市场占有率达到了68.4%。安卓系统以其开放的平台,众多、免费的应用,华丽、
5、新鲜的运行界面,简单、亲切的用户体验而备受消费者的喜爱。在高校中,学生管理对学校至关重要,学生考勤管理是学校校管理部分之一。但是传统教学中,学生的考勤信息仅作为教师课程总评结果中对学生日常表现的评价依据。而且还存在以下一些问题:考勤信息由教师人工操作、管理,效率低下;不同教师所掌握的考勤信息分散、缺乏联系;信息汇总往往发生在期末总评期间,实时性差;记录形式不规范统计困难;教师对教学期间的缺勤信息缺乏及时的处理,用率低下。笔纸记录,分析整理在学校的日常管理中发挥的作用微乎其微,从而导致考勤信息在高校考勤管理中无法发挥重要作用。为了充分利用教师的考勤信息,提出首先以Android平台为出发点建立学
6、生考勤管理系统辅助高校管理。基于Android系统的考勤管理系统分为两个部分,一部分为教师客户端,为教师对学生的考勤,另一部分为网页客户端,管理员通过此客户端可以对学生老师和班级等信息进行管理。1.1 开发背景考勤管理系统客户端已经基本实现了预期的功能,实现了在安卓手机客户端的基本功能。教师用户可以通过客户端实现了登录功能、查看相应课程签到情况功能,并能添加学生签到记录,查询学生信息,添加学生信息的功能,并在网页端实现了包括学生查询自己的考勤情况和个人信息,帮助同学解决了不能应用考勤管理系统的问题,管理员可以后台登陆对学生和教师信息等进行管理。手机客户端和网页客户端共同实现了C/S和B/S两种
7、模式,让考勤管理系统更加完整和丰满。不过由于技术水平有限,可能系统仍然存在着不完善的地方,如安全性考虑不足等等。仍然需要进一步的完善和改进。1.2 可行性分析近些年,移动设备的高速发展,使得手机等移动设备高速智能化,移动网络通信正在以前所未有的惊人速度走入人们的生活、工作和学习中,提高了工作学习的效率,增加了获取信息的渠道,突破了相互交流的时空界限。考勤管理系统可以基于移动平台安卓系统进行开发,帮助师生轻松解决教学中工作学习等问题。可行性分析既不能以偏盖全,也不能过于追求细节,必须为决策提供有价值的证据。软件领域的可行性分析主要考虑四个因素:技术可行性分析,经济、社会效益分析,法律可行性分析,
8、开发人员与进程可行性分析。技术可行性分析:安卓系统是基于Java编写的,因此手机客户端采用Eclipse配上AndroidSDK,完全可以实现系统功能,开发人员都具有一定Java功底,加之安卓平台开放性,网上很轻松的可以查看到各种实现代码,手机客户端在技术上是可行的。网页客户端用javaweb (java)编写,在Myeclipse环境下实现,运用面向对象的编程思想进行Web开发,并且是以编译方式执行,具有较高的开发效率和运行性能。后台数据库软件选用微软公司的大型数据库服务器MySQL。因此在技术上是可行的。经济、社会效益分析:主要进行成本-效益分析。从成本方面看,本系统的实现,计算机和网络硬
9、件已经拥有,由于安卓是个开放的平台,Eclipse与AndroidSDK都是免费提供的,网络客户端所用软件也都已经配备,因此成本很低;从效益方面看,本客户端主要是为广大师生提供便利,暂时还不会带来任何经济收益,不过经过完善后可以考虑作为产品在社会上推广,加上安卓系统的广泛应用,相信产品的盈利空间是很大的。法律可行性分析:从法律角度看,Android是个开放的平台,代码是开放的,加上基于Android的学生考勤管理系统主要为师生提供便利,作为毕业设计,并不以盈利为目的,且是自主开发设计,因此不会在社会上引起侵权或其它责任问题,在法律上是可行的。开发人员与进程可行性分析:开发人员都有一定的Java
10、开发功底,并且学习能力较强以及指导老师的悉心教导完全可以胜任此次开发。由于此系统开发并不是以盈利为目的,开发周期可以相对较长,因此开发进程方面是可行的。2 开发环境和工具简介2.1 Android及SDK介绍SDK指是软件开发包,被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。因此,Android SDk指的既是Android专属的软件开发工具包。Android是Google公司推出的手机开发平台,和iPhone相似,Android使用了WebKit浏览器引擎,具备触摸屏、高级图形显示和上网功能,在手机上可以实现查看电子邮件、搜索网址和观看视频节
11、目等功能,较iPhone等其他手机更强调搜索功能,界面更强大,可以说是一种融入全部Web应用的单一平台。Android手机系统最震撼人心之处在于其开放性和服务免费。Android是一个对第三方软件完全开放的平台,开发者在为其开发程序时 拥有更大的自由度,突破了iPhone等只能添加为数不多的固定软件的枷锁,使得应用的安装更加方便;同时与Windows Mobile、Symbian等厂商不同,Android操作系统免费向开发人员提供,这样可节省近三成成本。2.2 Eclipse简介Eclipse是一个著名的跨平台的自由集成开发环境软件。最初主要用来Java语言开发,现在人们可以通过安装插件使其作
12、为C+、Python、PHP等其他语言的开发工具。Eclipse的本身只是一个框架平台,但是随着众多插件的产生,使得Eclipse拥有很好的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。虽然大多数用户更加乐于将Eclipse当作Java集成开发环境来使用,但Eclipse的作用已经不仅限于此。Eclipse还是含有插件开发环境,这个组件主允许希望扩展Eclipse的软件开发人员构建与Eclipse环境无缝集成的工具。由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一
13、致性并不仅限于Java开发工具。尽管Eclipse是使用 Java 语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如 C/C+ 和 COBOL 等编程语言的插件已经可用,或预计将会推出。Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。本系统即通过Eclipse,添加Android做插件,匹配上AndroidSDK进行软件的开发。2.3 MyEclipse简介MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和Jav
14、aEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML、Struts、JSP、CSS、Javascript、Spring、SQL,Hibernate。MyEclipse 是一个十分优秀的用于开发Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse目前支持Java Servlet,AJAX, JSP, JSF, Struts,Spring, Hibernate,EJB3,JDBC数据库链接
15、工具等多项功能。在结构上,MyEclipse的特征可以被分为7类:JavaEE模型、WEB开发工具、EJB开发工具、应用程序服务器的连接器、JavaEE项目部署服务、数据库服务、MyEclipse整合帮助。对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。3 需求分析3.1 系统性能要求一个好的教学管理系统应该具有一下特性:(1)易操作和功能简单明确不令人误解。一个良好的考勤管理系统应该功能明确,没有二义性,用户可以很明了的通过界面明白各项功能
16、的实现方法,而不是看到界面不知道各按钮的具体用途,即操作简单,界面友好。老师可以根据网页界面很快明白签到的记录。(2)软件功能流畅,不拖沓。软件登陆,连接网络不能让用户等待时间过长,引起用户的烦躁。软件在运行不能发生崩溃,卡顿等问题,整个界面操作起来很流畅。(3)系统应该容易维护以及更新。系统各个模块设计应该很明确,核心代码处应有必要的注释,使得今后的软件维护,软件更新等操作应该能够顺利的进行。3.2 功能需求分析你后面写到你的系统分为手机客户端、服务器端、网页客户端,怎么思考的?这里要有素体现。手机客户端考勤管理系统能完成主要四种功能包括登录功能,课程信息管理功能,签到管理功能,学生信息管理
17、功能,并且能手机客户端形式与网页客户端两种形式实现上述功能,保证系统的正常运行。系统用例图如图3-1。图3.1学生考勤系统用例图(1) 登录功能进行教师身份的验证。手机客户端把老师用户名和密码通过网路传递给服务器,有服务器进行数据库查询,如若用户名和密码匹配,则将教师信息和数据库内容传递到手机端,不匹配则返回错误信息提示错误。(2)学生信息管理功能是老师可以选择查询的学生,查看学生相关信息。老师也可以添加学生信息。(3) 课程管理模块功能是老师可以查看课程情况,也可以添加课程,增强课程的实时性。(4)签到功能是老师可以查询自己所教的课程的学生到课情况和课程时间,也可以根据学生到课情况进行到课情
18、况记录。4 详细设计功能结构设计数据存储设计4.1手机客户端4.1.1 用户登陆模块手机客户端首先下载或更新“mydata.db”更新本地数据库。然后客户端通过查询本地数据库检验用户输入的登录信息是否正确,如若信息不正确则传递提示错误信息,由客户端Toast出错误提示(如图4-2),若信息正确,提示登陆成功(如图4-3),并进入下一功能界面。网络功能使用Socket来传递客户端和服务器端的信息。客户端需要Socket这个类的对象,而服务器端同样需要一个叫ServerSocket的类对象,由客户端发送一个Socket请求,服务器端的ServerSocket监听计算机的某一个端口号(4567),监
19、听到客户端发送的请求之后,那么服务器端和客户端通讯通道就建立起来了,此时客户端和服务器端可同时向对方发送数据及相应信息。客户端发送数据需要用到IO流里面的OutputStream,通过OutputStream将数据发送给服务器端,服务器端用InputStream来读取客户端当中用OutputStream所写入的数据,同样,服务器端想将数据库文件发送给客户端时,那么就使用OutputStream写出数据,在客户端通过InputStream把服务器端当中通过OutputStream所写入的数据给它读取出来。图4.1 登陆界面图4.2 登陆成功提示图4.3 登陆失败提示 查询登录信息的SQL语句为:
20、(例如:服务器端接收的用户为a,密码为a)Select uername,passwordFrom student Where studentid = a若数据库中无a对应信息,则返回错误信息,若有, 服 务器端验证password=a,匹配则返回成功信息,传递“mydata.db”,不匹配则返回错误信息 若登陆成功,则进入下一个功能界面,即手机端主界面,如图4.4所示。图4.4 手机客户端主界面 4.1.2 学生信息管理模块学生信息管理模块功能是授课老师可以选择查询的学生,查看学生相关信息。使老师更方便看到学生信息。通过学生学号查询该学生相关信息,查询学生信息SQL语句为(例如学号为01)Se
21、lect student.*From student where studentnumber=02查询到学号为02的学生信息。查找到的学生信息通过listview显示在界面中。如图4.5所示4.1.3 课程管理模块课程管理模块功能就是是老师可以查询课程信息。如通过课程号查询该课程相应信息,此时查询课程信息的SQL语句为(例如课程号为KC001)Select course.*From course where coursenumber=KC001查询到课程号为KC001的课程相应信息。如图4.6所示。图4.6 课程查询4.1.4 签到模块签到功能是老师可以查询自己所教的课程的学生到课情况,也可以
22、根据学生到课情况添加到课信息记录。如查询某课程的签到情况,查询某课程的到课信息的SQL语句如下:(例如:课程名为java)Select *From course,studentWhere student.studentNo=course.student.No and couse.coursename=java 查询到java课程的到课信息,查找到的课程名通过listview显示在界面中,如图4.7所示。图4.7 课程签到信息如添加学生签到记录,即学生到课信息:已到,迟到,缺席,添加某学生的到课信息的SQL语句为(例如姓名为141,时间为第一课时,也可为日期)添加学生到课信息的SQL语句如下:I
23、nsert into attendance(studentname,coursename,timeInfo,attendancestate)Values (141,java,第一课时,已到) 添加了某学生的java到课记录。如图4.8所示图4.8 添加签到信息4.2服务器端模块4.2.1通讯数据格式定义服务器端主要用来接收客户端发来的信息,进行相应的操作,并将数据返回给客户端,同时对服务器端数据库进行管理。本系统利用Socket机制实现服务器端与客户端之间数据的传送,并且要对数据格式进行规范。服务器端向客户端发送数据的格式定义为表4-1的形式。表4-1客户端向服务器端发送数据的格式头信息客户端
24、IP地址信息内容0202.124.252.2XXXX头信息定义为:0该信息为请求下载数据库文件和传递用户参数,1该信息为请求添加数据,2该信息为请求删除数据,3该信息为请求删除数据。服务器端向客户端发送数据的格式定义为表4-2的形式。表4-2服务器端向客户端发送数据的格式头信息服务器端IP地址信息内容0193.154.2.3XXXXX头信息定义为:1该信息为数据库文件,2该信息为操作返回信息。4.2.2通讯数据格式定义服务器端接收客户端的请求信息,通过建立一个一直运行的线程保持监听客户端发来的请求信息。部分代码如下:n private class ServerThread extends Th
25、read /接收信息线程public void run()/声明一个ServerSocket对象ServerSocket server= null;while(true)/无线循环tryserver = new ServerSocket(4567);/定义接受端口client = server.accept();/in = new BufferedReader(new InputStreamReader( client.getInputStream();/定义输入流this.request = in.readLine();/获取信息this.head = this.request.substr
26、ing(0,1);/剥离头信息if(this.head.equals(“0”)/判断头信息数据库参数请求格式如下:(以添加为例)Insert into table1,table2,table3(context1,context2,context3,context4,context5,context6,context7,context8,context9,context10)Values (?,?,?,?,?)在本系统所用添加删除修改最多不超过三个表,添加内容不会超过10个内容,传递数据时参数形式为:data=new byte1024,data=“table1”, “table2” , “tab
27、le3”,“context1” ,“context2” ,“context3” ,“context4” ,“context5” ,“context6” ,“context7” ,“context8” ,“context9” ,“context10”其中若table或context为空,我们统一设定其为-1。同样,修改,删除形式如上。4.2.3发送返回数据模块在服务器端接收到客户端发来的请求时,服务器端将从数据库中查询相关内容返回给客户端。将模拟器的4567端口绑定到4568端口,代码如下:Runtime.getRun().exec(this.ADB_PATH+”forward tcp:4568
28、 tcp:4567”);Qizhong ADB_PATH为adb即为Android Debug Bridge所在路径。绑定端口后,想模拟器4567端口发送的信息其实是通过4568端口发送的。服务器端发送返回数据的代码如下:Socket client=new Socket(“localhost”,4567);ObjectOutputStream out=new ObjectOutputStream(client.getOutputSrtream();Out.writeObject(data);/data为数据内容4.3网页客户顿 为了更好的对学生考勤信息进行管理,设计了一个网页客户顿,管理员通过
29、此客户端可以对学生、老师和学生考勤信息等信息进行管理。网页客户端主要分为这些模块:登录功能模块,课程信息管理功能模块,签到管理功能模块,学生信息管理功能模块等。4.3.1登录模块 (1)登录模块同样用于用户身份的验证,在服务器端验证用户名与密码正确与否,如图4.9所示。图4.9网页端登录界面 (2)若登录用户名或密码错误则提示错误,如图4.10所示。图4.10登录信息提示4.3.2学生信息管理模块学生信息管理模块功能是管理员可以选择查询的学生,查看某学生相关信息。也可修改学生的信息和添加学生信息,还可以删除某学生信息。如图4.11所示。图4.11学生信息管理4.3.3课程管理模块课程管理模块是
30、管理员可以查询莫课程信息,即查看有哪有些课程,课程的教师信息,也可以对课程编辑、添加和删除,如图4.12所示。图4.12课程管理4.3.4签到模块 签到模块功能是管理员可以查询某学生的到课情况,也可添加学生考勤记录,也可对学生考勤信息进行修改和删除,如图4.13所示。图4.13签到管理 5 结 论在此次的毕业设计中,我也遇到了一些问题,如:刚开始不知道怎么实现程序的功能,对面向对象概念的理解不够,在运用到实际的软件来进行开发的时候存在着困难;至于对Java的了解不是很多,以前学习到的只是一些最基本的知识,要在短时间内用Java语言来开发游戏对于我是一个很大的挑战;另外对于开发游戏的流程不太熟悉
31、,刚开始着手起来比较慢,编写需求说明书和设计规格说明书时,自己无从下手,这些都表明自己所学的知识是远远不够来进行游戏设计与开发的。因为我对于以上的问题,自己心中有清楚的认识,所以我知道该怎么去解决,我努力阅读大量的书籍,并且仔细研究别人项目的源代码,推敲其中道理。我也经常去网上下载一些开发实例来作为参考,自己尝试着动手去敲代码。另外一旦碰到自己不能解决的问题,我会立刻询问指导老师或者和同学探讨,听取他们的意见与建议。这个过程我大概花了一个多月,虽然很艰苦,很困难,但还好我没有放弃,最终我终于把自己的项目完成。不过由于技术水平有限,可能系统仍然存在着不完善的地方,如安全性考虑不足等等。仍然需要进
32、一步的完善和改进。致 谢首先,我非常的感谢丁春玲老师,她在我做毕业设计的过程中提出了很多建设性的意见,使我的设计更加的全面与完善。另外她还对我的论文提出了很多详细的需求与指导,使我的论文更加清晰明朗。我真心的感谢老师为我做出的这一切。我时常在她休息的时间去打扰她,这令我感到羞愧。但老师从来没有责怪我,反而是细心地为我解答难题,老师这种无私的敬业精神深深的印刻在我的心里,令我敬佩。在此,我衷心的对老师说一句,辛苦您了,您是我永远尊重的老师。在本次任务中,同学对我的帮助也是不可小觑的,在我不懂,不会的时候,他们尽心的帮助我,最终完成了一个这么考勤系统,虽然这个系统不是十分的善完善,但是,它是我们一
33、起努力的成果,再此,再次的对他们说一声谢谢。最后,非常感谢答辩小组几位老师对学生本次毕业设计的考核,我希望自己能顺利的通过此次考核,在今后的道路上,我会一直不断的努力学习,完善自身。参考文献1 萨师煊 ,王珊.数据库系统概论.北京:高等教育出版社,2005年:11212 林锐.软件工程思想.2000年:29423 张海藩. 软件工程导论.北京:清华出版社,2003年。1-2584 墨菲 ,李雪飞, 吴明晖译.Android开发入门教程.北京:人民邮电出版社,2010年.5 李宁.Android开发权威指南.北京:机械工业出版社.2011年.6 丁光惠 唐正连 杨伟等.基于B/S的毕业设计管理系
34、统开发.7 涂继亮 陶秋香.基于B/S的毕业设计双向选题系统设计.8 Michael Otey,Paul Conte,陈恩义 吴强译.SQL Server开发指南.清华大学出版社.11549 Ed Burnette . Hello,Android. Pragmatic Bookshelf出版社.2009年.119610 Reto Meier.professional Android 2 Application Development. Wrox出版社.2010年.122711 余志龙 ,郑名杰.Google.Android.SDK开发范例大全.北京:人民邮电出版社,2009年:1238 212
35、3目 录第一章总 论3第一节 项目背景3第二节 项目编写依据4第二章 项目建设的必要性和可行性5第一节 项目建设的可行性5第二节 项目建设的必要性6第三节 项目建设规模6第三章 场址选择7第一节 场址现状7第二节 场址条件8第四章 建筑方案选择10第一节 建筑设计指导思想与原则10第二节 项目总体规划方案12第三节 建筑方案14第五章 节能节水措施20第一节 节能措施20第二节 节水措施21第六章 环境影响评价22第一节 项目建设对环境的影响22第二节 环境保护措施22第七章 劳动安全卫生消防23第一节 安全设施23第二节 消防设施23第八章 组织机构与人力资源配置24第一节 组织机构24第二节 人力资源配置25第九章 项目实施进度25第一节 建设工期25第二节 项目实施进度安排25第三节 项目实施进度表26第十章 投资估算与资金筹措26第一节 投资估算26第二节 资金筹措与投资计划28第十一章 财务评价28第十二章 社会评价28第十三章 招标内容、方式和组织形式29第十四章 结论30
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100