考勤系统的设计与实现.docx
《考勤系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《考勤系统的设计与实现.docx(27页珍藏版)》请在冰豆网上搜索。
考勤系统的设计与实现
考勤系统的设计与实现
本科毕业设计
摘要
随着智能手机的快速普及,智能手机操作系统市场风生水起。
为了让智能手机用户能够随时随地查询互联网所提供的服务,一种高效的办法就是将应用系统的功能拓展到手机终端上,让手机能够通过移动网以及互联网访问Web网站并处理各种各样的业务。
因此,智能手机的应用软件及其需要的服务将有广阔的发展前景。
在如今这个智能手机系统群雄纷争的时候,2008年Google推出了一款名为Android的开源智能手机操作系统,它采用Linux内核,开放手机联盟(OHA)成员可以任意使用和修改SDK包,系统的开源性使其具有良好的拓展性。
这款软件包括了操作系统、用户界面和应用程序,即智能手机工作所需要的全部软件。
Android的最大特点是其开放性体系架构,不仅具有非常好的开发、调试环境,而且还支持各种可扩展的用户体验,包括丰富的图形组件、多媒体支持功能以及强大的浏览器。
因此,对于软件从业人员来说,Android平台具有无限的吸引力。
本文就在分析讨论Android手机软件开发技术原理的基础上,开发出能为用户提供更好的基于Android平台的考勤系统软件。
关键词:
android;考勤系统;智能手机平台
Abstract
Withtherapidproliferationofsmartphones,smartphoneoperatingsystemmarket,windandwater.InorderforsmartphoneuserstochecktheInternetanytime,anywhereservicesprovidedanefficientwaytoexpandthefunctionofthesystemwillbeappliedtothemobilephoneterminal,themobilephonetoInternetaccessviamobilenetworks,andvarietyofWebsitesandprocessbusiness.Therefore,thesmartphoneapplicationsandtheneedfortheservicewillhavebroadprospectsfordevelopment.
Intoday'ssmartphonesystemwhendisputeswarlords,2008,GoogleintroducedasmartphonecalledtheAndroidopensourceoperatingsystem,whichusesLinuxkernel,OpenHandsetAlliance(OHA)memberscanbefreetouseandmodifytheSDKpackage,thesystemIthasagoodopen-sourcenatureoftheexpansionof.Thesoftwareincludestheoperatingsystem,userinterfaceandapplicationsthatneedtoworksmartphonesallthesoftware.Android'sbiggestfeatureisitsopenarchitecture,notonlyhasaverygooddevelopmentanddebuggingenvironment,butalsosupportsavarietyofscalableuserexperience,includingrichgraphicalcomponents,multimediasupport,andpowerfulbrowser.Therefore,forsoftwareprofessionalsis,Androidplatformhasunlimitedappeal.
OnthebasisofanalysisanddiscussionoftheAndroidmobilephonesoftwaredevelopmenttechnicalprinciples,developedtoprovideuserswithbettercateringsystemsoftwarebasedontheAndroidplatform.
Keywords:
android;onlinemusicsystems;smartphoneplatform
第一章绪论
1.1研究内容
随着手机的普及以及手机应用的深入人心,近几年“智能手机”成为了人们关注的话题,智能手机将成为人们获取信息的主要设备。
在当今这个只能手机群雄争锋的时代,2008年Google推出了一款名为Android的开源智能手机操作系统。
Android凭借其开放性和良好的人际界面,受到广大手机生产商的重视。
当今社会的生活节奏越来越快,随着硬件移动设备的越来越先进,人们对移动设备的要求也越来越高,从以前的追求技术到现在的追求视觉,因此,也逐步的提高了对系统的要求,本课题是基于Android系统的“考勤系统”软件的设计与实现。
1.2研究意义
当今社会是一个信息技术迅速发展的社会,人们的生活越来越离不开计算机和手机。
作为一个计算机专业的学生,希望通过自己四年所学的知识编制一款基于Android平台的考勤系统软件,方便你我方便他人。
现代社会的迅速发展使得人们的生活更加方便,人们也越来越会享受生活,催生了各种应用,好友之间通过拼车、拼房、拼游、拼购可以增进彼此的感情。
同时,因为人们可以足不出户便可进行购物,娱乐,游戏等各种活动,通过这款基于Android系统的考勤系统完善公共服务体系、改善公共服务手段、增加公共服务产品、提高公共服务质量,更好地发挥对经济社会发展的现实性作用。
1.3研究现状和发展趋势
据Gartner最新数据显示,2016年第一季度全球智能手机销售继续大幅增长,Android和iOS瓜分智能手机操作系统份额的98.9%,其中Android以84.1%的比重牢牢占据头把交椅。
Windowsphone虽然排名第三,但份额从去年同期的2.5%萎缩至0.7%,俨然日渐式微;黑莓和其他小众OS同样面临腰斩的局面。
毫无疑问,智能手机即将变成整个社会的趋势了。
而Android平台的智能机在手机市场中已明显的占有越来越多的比重。
很多人都会选择Android手机。
第二章系统分析
2.1研究目标
(1)了解Android应用程序的设计和开发过程;
(2)使用多种组件进行基于Android平台的考勤系统的软件开发。
本软件是基于Eclipse的开发环境,依托Tomcat服务器上的后台数据,开发出了针对Android平台的考勤系统。
2.2需求分析
经过对考勤系统的了解、以及体验了在线考勤的流程,总结出本系统需要的功能如下:
考勤系统的前台页面与考勤数据库部署在同一服务器上,
1)注册与登陆功能模块
注册:
注册时该账户要完善个人资料,包括姓名、电话、院校系等。
登陆:
输入用户名,密码,登陆。
2)学生登陆功能模块
考勤:
选择考勤的课程,点击考勤,系统自动发送考勤信息给服务器端。
查询课表:
查询个人课表,点击某门课,能查看对应的课程作业
查询考勤:
进行个人考勤查询,可以查询自己的考勤情况
请假:
提交请假申请,包括请假时间、课程、原因等
3)老师登陆功能模块
查询考勤:
查询某门课的考勤情况
考勤处理:
对已考勤信息进行添加、修改和删除等
布置作业:
发布作业,然后学生能在课表那里查询
请假信息处理:
对学生的请假信息进行管理。
4)管理员登陆功能模块
账号管理:
添加、删除、查询、修改学生账号
查询考勤:
查询某门课的考勤情况。
作业管理
请假信息管理
其中老师、管理员在web端管理,学生使用手机android端
从上面的描述中可以基本了解软件的功能需求:
本软件是一个Android客户端+JSPServlet服务端应用程序,启动Android上的应用程序后可以登录、查看信息等。
Android客户端上的信息数据是通过后台JSPServlet服务端应用程序获取的,这个后台服务可以根据客户端发出的请求,返回信息。
文字这些信息都保存在数据库中。
2.3业务流程分析
在进行业务流程分析时,需要按照原有信息流动过程,逐个地调查分析所有环节的处理业务、处理内容、处理顺序和对处理时间的要求,弄清各个环节需要的信息、信息来源、流经去向、处理方法、计算方法、提供信息的时间和信息形态(报告、报单、屏幕显示)等。
业务流程分析可以帮助开发者了解该业务处理过程,发现和处理系统调查工作中的错误和疏漏。
业务流程分析是通过业务流程图来进行,即用一些规定的符号及连线来表示某个具体业务处理过程。
具体业务流程如图2.1所示。
图2.1业务流程图
2.4数据流图
数据流程是指数据在系统中产生、传输、加工处理、使用、存储的过程。
数据流程分析是把数据在现行系统内部的流动抽象的独立起来,舍去了具体组织机构、信息载体、处理工具、物质、材料等,单从数据流动过程来考查实际业务的数据处理模式。
数据流程与数据流程分析是今后建立数据库系统和设计功能模块处理过程的基础。
描述数据流程的工具是数据流程图以及其附带的数据字典、处理逻辑等图表。
其中数据流程图是描述系统逻辑模型的主要工具,它以少数几种符号综合地反映出信息在系统中的流动、存储和传递。
在业务流程分析的基础上,对数据流进行了分析,从数据流动过程考察了实际业务的数据处理模式。
该系统的数据流图分为顶层、一层、二层。
现行的顶层数据流图如图2.2所示。
图2.2顶层数据流图
由于论文的篇幅限制不能一一列举数据流图,只给出了部分数据流图,其他的数据流图基本一致。
2.5数据字典
通过对系统数据流的分析,接下来用数据字典描述数据流图中一些主要的数据元素条目、数据流、处理过程、数据存储和外部实体。
数据元素条目如表2.3所示。
表2.3数据元素
数据元素条目如表2.4所示。
表2.4数据元素
数据元素条目如表2.5所示。
表2.5数据元素
数据元素条目如表2.6所示。
表2.6数据元素
数据元素条目如表2.7所示。
表2.7数据元素
2.6性能分析
程序响应速度快、安全性高、信息处理速度快。
第三章系统开发环境及相关技术
3.1开发环境
Android的上层应用程序是用Java语言开发,同时还需要基于Dalvik虚拟机,所以,Google公司推荐使用主流的Java继承开发环境Eclipse。
只有Eclipse还不够,因为是使用Java语言进行开发,还应该有由SUN公司提供的JavaSDK(其中包括JRE:
JavaRuntimeEnvironment)。
此外,Android的应用程序开发和Java开发有较大区别的,所以还需要有Google提供的AndroidSDK。
同时,还需要在Eclipse安装ADT,为Android开发提供开发工具的升级或者变更,是Eclipse下开发工具的升级下载的工具。
简言之,需要以下软件,才能搭建Android开发环境,从而进行Android应用程序的开发。
(1)JavaSDK
(2)Eclipse
(3)ADT
(4)AndroidSDK
3.2JavaSDK
JDK是sun公司java应用程序和组件的开发环境,是编译和测试工具,也是提供java程序的java虚拟机平台,是调试和运行所不可缺少的工具。
首先在安装前先要下载JDK,这可以从SUN公司的网站上下载,到Platform(JDK)8u131,下载后,双击就可以开始安装了,在安装过程中有很多选项,按个人需求正确选择,这里我们以第一次安装为例,全部选择默认配制即可,安装完毕后就可以重新启动了。
启动时要更新环境变量,在开机时要自动调用JDK系统,因此要设置一些环境变量,我们以win10版系统为例进行系统环境变量设置。
设置方法如下:
在桌面上,用鼠标右键单击[我的电脑]图标,选择[属性]按钮,选择[高级系统设置],选择[高级]选项卡,单击[环境变量]按钮,单击[环境变量]对话匡,该对话匡有两个选项组,分别为[Administrator的用户变量]和[系统变量]两个选项组。
在[系统变量]选项组中找path变量,找到后单击[编辑],弹出[编辑系统变量]对话匡,在其中[变量值]文本匡中输入“(jdk安装时所在的目录)C:
\ProgramFiles\Java\jdk1.8.0_91",然后按“确定”就ok了,这样在运行jsp时系统就可以自动找到JDK路径进行编译了。
由于使用是1.8版本的JDK,不用设置CLASSPATH环境变量,也可以正常编译和运行Java程序。
由此JDK就安装配制好了。
3.3Eclipse
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentTools,JDT)。
虽然大多数用户很乐于将Eclipse当作JavaIDE来使用,但Eclipse的目标不仅限于此。
Eclipse还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。
由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。
这种平等和一致性并不仅限于Java开发工具。
尽管Eclipse是使用Java语言开发的,但它的用途并不限于Java语言;例如,支持诸如C/C++、COBOL和Eiffel等编程语言的插件已经可用,或预计会推出。
Eclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
3.4ADT
EclipseADT是Eclipse平台下用来开发Android应用程序的插件。
在企业开发中,很多程序员使用EclipseIDE作为应用的开发环境。
为了使得Android应用的创建,运行和调试更加方便快捷。
Android的开发团队专门针对EclipseIDE定制了一个插件:
AndroidDevelopmentTools(ADT)
下载地址:
https:
//dl-
然后安装Eclipse插件ADT
启动Eclipse,选择Help>InstallNewSoftware,在出现的对话框里,点击Add按钮,在对话框的name一栏输入“ADT”,然后点击Archive...,浏览和选择已经下载的ADT插件压缩文件。
点击OK.。
返回可用软件的视图,你会看到这个插件,然后选择DeveloperTools(会选中下面的“AndroidDeveloperTools”和“AndroidEditors“),点击Next,最后重启Eclipse。
3.5AndroidSDK
SDK:
(softwaredevelopmentkit)软件开发工具包。
被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。
因此,AndroidSDK指的既是Android专属的软件开发工具包。
Android是谷歌(Google)公司推出的手机开发平台。
与iPhone相似,Android采用WebKit浏览器引擎,具备触摸屏、高级图形显示和上网功能,用户能够在手机上查看电子邮件、搜索网址和观看视频节目等,比iPhone等其他手机更强调搜索功能,界面更强大,可以说是一种融入全部Web应用的单一平台。
AndroidSDK包含了开发Android应用所依赖的jar文件、运行环境及相关工具。
下载地址:
下载完SDK后,把.zip文件解压到你电脑上合适位置。
启动Eclipse,选择window->preferences,在打开的视图左边点击android,在右边的SDKLocation中选择AndroidSDK所在位置。
刚下载下来的SDK的platforms文件夹是空的,可以通过双击SDKSetup.exe来获取具体Android版本,如果连接不上,可以勾选settings下面的forcehttps:
//....sourcetobefetchedusinghttp:
//...选项,使用http方式连接
安装完成后,可以点击AvailablePackages查看已安装的Android版本
点击图3.1所示的工具栏按钮,打开虚拟设备管理器
图3.1
点击New新建一台设备,然后设置好相应的值
Skin下Build-in的各个选项如图3.2所示:
图3.2
点击CreateAVD完成创建
然后在设备管理器界面选择一个设备,点击Start...启动设备,启动完成后,界面如图3.3所示:
图3.3
3.6Tomcat服务器
Tomcat是一个免费的开源的Servlet容器。
与传统的桌面应用程序不同,Tomcat中的应用程序是一个WAR(WebArchive)文件。
WAR是Sun提出的一种Web应用程序格式,与JAR类似,也是许多文件的一个压缩包。
这个包中的文件按一定目录结构来组织:
通常其根目录下包含有Html和Jsp文件或者包含这两种文件的目录,另外还会有一个WEB-INF目录,这个目录很重要。
通常在WEB-INF目录下有一个web.xml文件和一个classes目录,web.xml是这个应用的配置文件,而classes目录下则包含编译好的Servlet类和Jsp或Servlet所依赖的其它类(如JavaBean)。
通常这些所依赖的类也可以打包成JAR放到WEB-INF下的lib目录下,当然也可以放到系统的CLASSPATH中,但那样移植和管理起来不方便。
Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:
处理Html页面。
但是与Apache相比,它的处理静态Html的能力就不如Apache。
我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理Jsp和Servlet。
这种集成只需要修改一下Apache和Tomcat的配置文件即可。
基于Tomcat的开发其实主要是Jsp和Servlet的开发,开发Jsp和Servlet非常简单,可以用普通的文本编辑器或者IDE,然后将其打包成WAR即可。
3.7JSP技术
JSP是JavaServerPages的简称,它是由SunMicrosystem公司于1999年6月推出,是基于JavaServlet以及整个Java体系的Web开发技术。
作为J2EE体系中的重要一环,JSP为创建高度动态的Web应用提供了一个独特的开发环境。
JSP能够适应市场上包括ApacheWebServer、IIS4.0在内的85%的服务器产品,这足以胜任绝大多数的商业事务处理。
同时JSP代码经过服务器的解释执行后会直接嵌入到HTML语言中,这样就简化了页面的输出,也保留了脚本语言易于使用的优点。
SUN公司开发出这个规范来整合和平衡已经存在的规范,对JAVA编程环境进行支持的技术和工具。
其结果是产生了一种新的,开发基于WEB应用程序的方法,给予使用基于组件应用逻辑的页面设计者以强大的功能支持。
JSP设计目标是为了使动态页面编写更容易,更简单。
JSP特点主要有以下几点:
到处可执行,JSP技术完全与平台无关的设计,包含它的动态网页和底层Server元件设计,加强元件功能,更容易建立动态网页。
JDBC是JavaDataBaseConnectivity的简称,也就是java数据库连接。
它是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。
将Java语言和JDBC结合起来使程序员只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,各处运行“的特点。
同时JDBC扩展了Java的功能。
例如,用Java和JDBCAPI可以发布含有applet的网页,而该applet使用的信息可能来自远程数据库企业也可以用JDBC通过Intranet将所有职员连到一个或多个内部数据库中。
3.8Struts2框架
Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。
Struts2是Struts的下一代产品,是在struts1和WebWork的技术基础上进行了合并的全新的Struts2框架。
其全新的Struts2的体系结构与Struts1的体系结构差别巨大。
Struts2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts2可以理解为WebWork的更新产品。
虽然从Struts1到Struts2有着太大的变化,但是相对于WebWork,Struts2的变化很小。
请求在Struts2框架中的处理大概分为以下几个步骤:
1客户端初始化一个指向Servlet容器的请求;
2这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:
SiteMeshPlugin)
3接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请是否需要调用某个Action
4如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy
5ActionProxy通过ConfigurationManager询问框架的配置文件,找到需要调用的Action类
6ActionProxy创建一个ActionInvocation的实例。
7ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关