版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于ssh酒店管理系统(完整资料)(可以直接使用,可编辑优秀版资料,欢迎下载)
基于ssh酒店管理系统(完整资料)(可以直接使用,可编辑优秀版资料,欢迎下载)信息系统课程设计报告基于ssh酒店管理系统班级:学号:姓名:小组成员:二0一一年十二月对基于SSH的酒店管理系统摘要随着计算机的普及和计算机科学技术的飞速发展,人们开始越来越多地利用计算机解决实际问题。酒店面对大量的预定,入住以及人员管理和历史记录的查询等问题,采用原始方式处理既浪费时间、又浪费人力和物力,并且数据的准确性低,所以酒店管理系统的出现起到了很重要的作用。因此,总结前人的经验,开发交互性好,易于操作的酒店管理系统进行自动化处理变得十分重要,这正是本系统开发的目的和意义。本文介绍了酒店管理系统的开发过程。论文详细介绍了从系统的需求分析、可行性分析、概要设计、详细设计、系统实现的整个开发过程。此系统实现了用户对客房的预定、用户自身信息的查询、用户对系统的留言、管理员对预定的处理、管理员对入住的接收,管理员对信息的查询,管理员对历史记录的查询,管理员对人员的管理,以及员工的签到等功能,实现了易安装性、易维护性和易操作性,并且系统运行稳定、安全。酒店管理系统的应用对酒店起到了重要的作用。此系统是对酒店前台的业务进行管理,对某些环节进行了优化,提高了工作效率,使酒店管理者能够及时了解收费状况的许多必要的信息,提高酒店的工作效率和竞争力。本系统是以Java平台作为开发环境,后台采用Mysql数据库,全面系统的介绍了整个软件的开发全过程,介绍了如何进行数据库连接,以及如何构建成熟的系统。在酒店收费系统的设计过程中结合运用了SSH技术,实现一套适合中小型酒店的酒店管理系统。经历了一个比较完整的开发过程,并总结了开发过程中的实际经验和体会。关键词酒店管理;Java语言;Mysql数据库;SSH框架ThehotelmanagementsystembasedonSSHAbstractWiththepopularityofcomputerandrapiddevelopmentofcomputerscienceandtechnology,moreandmorepeopleareusingcomputerstosolvepracticalproblems。Theapplicationofhotelmanagementplaysaveryimportantrole。Inthefaceofalargenumberofreservationsandoccupancy,aswellaspersonnelmanagement,andhistoricalrecords
query,humanprocessingcanabsolutelywastetime,alongwithhumanandmaterialresources,wheretheaccuracyofthedata
islow.Therefore,developingafriendlyinterface,easyoperationofthehotelmanagementsystemforautomatedprocessingbecomesveryimportant,whichisthepurposeandsignificanceofthissystemdevelopment。Thispaperintroducestheprocessofhotelmanagementsystemdevelopment.
Thispaperintroducestheprocessrangingfromtherequirementsfromthesystemanalysis,feasibilityanalysis,outlinedesign,detaileddesigntosystemimplementation。itplaysanimportantrolesinthesystem.Thissystemenablescustomerstobookhotelrooms,askforinformation,leavemessageforsystem.Italsoenablestheadministratortotreatreservations,receivethecheck—in,lookforinformationandhistoricrecords,andmanagestaff,whichalsoincludesthefunctionslikestaffattendance。Itrealizesthegoalofeasyinstallation,easymaintenanceandeasytooperate,andthesystemisstableandsafe.Thissystemdealswiththebusinessofthehotel,optimizessomesegments,improvesefficiencywhichenableshotelmanagerstokeepabreastofchargestatusofmanyinformation.Itnotonlyimprovesefficiencybutalsoenhancesthecompetitiveness.ThesystemisbasedonJavaasthedevelopmentenvironment,withthebackgroundusingMysql.Itintroducesacomprehensivesystemofthewholcessoftheentiresoftwaredevelopment,describeshowtomanagethedatabaseconnection,andhowtobuildsophisticatedsystems.ChargingsysteminthehoteldesignprocessusingacombinationofSSHtechnology,makesahotelmanagementsystemforsmallandmediumhotels.
Afteramorecompletedevelopmentprocess,itsummarizesthepracticalexperienceofthedevelopmentprocess.Keywords:Hotelmanagement;Javalanguage;Mysqldatabase;SSHframe目录摘要IAbstract=2\*ROMANIITOC\o”1—4"\h\uHYPERLINK\h\z\uHYPERLINK\l"_Toc373142590"1.总体设计PAGEREF_Toc373142590\h3HYPERLINK;SqlCommanddbComm=newSqlCommand(strSQL,sqlConnection1);dbComm.Parameters.Add(”@SalaryID",SqlDbType.Int,4);dbComm.Parameters。Add(”@UserID”,SqlDbType.VarChar,50);dbComm。Parameters.Add(”@Dept",SqlDbType.VarChar,300);dbComm.Parameters.Add("@Year”,SqlDbType.Char,16);dbComm。Parameters.Add(”@Month",SqlDbType.Char,16);dbComm.Parameters.Add("@Bouns",SqlDbType.VarChar,50);dbComm.Parameters.Add("@BasicWage",SqlDbType.VarChar,50);dbComm.Parameters。Add("@AllWage”,SqlDbType.VarChar,50);dbComm.Parameters。Add("@Remark",SqlDbType。VarChar,300);dbComm.Parameters[”@SalaryID"]。Value=TextBox1.Text;dbComm.Parameters["@UserID"]。Value=TextBox2。Text;dbComm.Parameters["@Dept"].Value=TextBox3。Text;dbComm.Parameters["@Year"].Value=TextBox4.Text;dbComm.Parameters[”@Month"]。Value=TextBox5。Text;dbComm。Parameters[”@Bouns"].Value=TextBox6。Text;dbComm。Parameters[”@BasicWage"]。Value=TextBox7。Text;dbComm.Parameters[”@AllWage"]。Value=TextBox8。Text;dbComm.Parameters[”@Remark"].Value=TextBox9。Text;intiID=0;try{sqlConnection1.Open();iID=Convert。ToInt32(dbComm。ExecuteScalar());}catch(Exceptionex){Response.Write(”此工资编号已经存在,请<ahref='wageAdd.aspx'〉重新输入〈/a〉<br>或者等待3秒后自动返回添加员工信息页面〈metahttp-equiv='refresh'content='3;url=wageAdd.aspx’><br>”);Response.End();}finally{if(sqlConnection1.State==ConnectionState.Open)sqlConnection1.Close();}Response。Redirect(”Success。aspx");Response.End();}}权限代码如下:Privilege=dr["Privilege"]。ToString();i=Convert。ToInt32(Privilege);switch(i){case11:case13:break;default:this.Response.Write("〈script〉window。alert('你没有权限进入该页面!');window.location.href=’../in_index.aspx';</script〉”);break;}(2)工资查询界面:进入查询界面以后,分为普通员工进入和工资管理人员进入,程序会根据登录用户的权限来判断该用户可以进入的界面.所有人都可以进入员工界面来查询自己的工资信息,工资管理人员可以进入管理界面来查询所需要的信息.如图2.3。2图2.3。2员工查询界面如图2.3.2图2。3。2该界面实现代码:privatevoidButton1_Click(objectsender,System.EventArgse){Year=TextBox1.Text;sqlDataAdapter1.SelectCommand。CommandText="select*fromSalarywhere[Year]=”+Year+"and[UserID]="+i;try{sqlDataAdapter1。Fill(dataSet1);DataGrid1.DataBind();}catch{}finally{}}privatevoidButton2_Click(objectsender,System.EventArgse){Month=TextBox2。Text;sqlDataAdapter1。SelectCommand。CommandText="select*fromSalarywhere[Month]=”+Month+”and[UserID]="+i;try{sqlDataAdapter1.Fill(dataSet1);DataGrid1.DataBind();}catch{}finally{}}privatevoidButton3_Click(objectsender,System.EventArgse){Year=TextBox3.Text;Month=TextBox4.Text;sqlDataAdapter1。SelectCommand。CommandText="select*fromSalarywhere[Year]="+Year+"and[Month]="+Month+”and[UserID]="+i;try{sqlDataAdapter1.Fill(dataSet1);DataGrid1。DataBind();}catch{}finally{}}工资管理人员查询界面,如图2.3.2图2.3.2该界面实现代码如下:privatevoidButton1_Click(objectsender,System.EventArgse){Year=TextBox1.Text;sqlDataAdapter1。SelectCommand.CommandText="select*fromSalarywhere[Year]="+Year;try{sqlDataAdapter1。Fill(dsSalary1);DataGrid1。DataBind();}catch{}finally{}}privatevoidButton2_Click(objectsender,System。EventArgse){Month=TextBox2.Text;sqlDataAdapter1.SelectCommand。CommandText="select*fromSalarywhere[Month]="+Month;try{sqlDataAdapter1。Fill(dsSalary1);DataGrid1.DataBind();}catch{}finally{}}privatevoidButton3_Click(objectsender,System.EventArgse){Year=TextBox3.Text;Month=TextBox4.Text;sqlDataAdapter1。SelectCommand。CommandText=”select*fromSalarywhere[Year]="+Year+"and[Month]="+Month;try{sqlDataAdapter1。Fill(dsSalary1);DataGrid1。DataBind();}catch{}finally{}}privatevoidButton4_Click(objectsender,System.EventArgse){UserID=TextBox5.Text;sqlDataAdapter1.SelectCommand.CommandText=”select*fromSalarywhereUserID="+UserID;try{sqlDataAdapter1.Fill(dsSalary1);DataGrid1。DataBind();}catch{}finally{}}privatevoidButton5_Click(objectsender,System.EventArgse){Dept=TextBox6.Text;sqlDataAdapter1。SelectCommand.CommandText=”select*fromSalarywhereDept='”+Dept+”'”;sqlDataAdapter1。Fill(dsSalary1);DataGrid1。DataBind();}PrivatevoidDataGrid1_PageIndexChanged(objectsource,System。Web.UI.WebControls。DataGridPageChangedEventArgse){DataGrid1。CurrentPageIndex=e.NewPageIndex;DataGrid1。DataBind();}(3)工资修改界面:只有工资管理人员才能进入该界面,该界面如图2.3.3图2。3。3浏览该页面,找到需要修改的,点击修改,出现下面的界面,如图2。3。3(b),图2图2.3。3图2。3。3该界面实现代码如下:privatevoidDataGrid1_EditCommand(objectsource,System.Web.UI.WebControls。DataGridCommandEventArgse){DataGrid1.EditItemIndex=e.Item。ItemIndex;DataGrid1.DataBind();}privatevoidDataGrid1_PageIndexChanged(objectsource,System。Web.UI。WebControls.DataGridPageChangedEventArgse){DataGrid1.CurrentPageIndex=e.NewPageIndex;DataGrid1。DataBind();}privatevoidadd_button_Click(objectsender,System。EventArgse){stringk;k=Request.QueryString[”id”];SqlConnectionMyConn=newSqlConnection("Server=127.0.0。1;uid=sa;pwd=;database=whtzkj");stringstrupdate="update[Salary]setUserID=”+TextBox2。Text+”,Dept="+”’"+TextBox3.Text+"'”+",[Year]="+"'"+TextBox4.Text+”'"+”,[Month]=”+"'”+TextBox5。Text+"’"+",Bouns=”+"’”+TextBox6.Text+"’”+",BasicWage=”+"’”+TextBox7。Text+"’"+”,AllWage="+"’"+TextBox8.Text+"'”+",Remark="+"’”+TextBox9.Text+"’"+"whereSalaryID="+k;SqlCommandstrcmd=newSqlCommand(strupdate,MyConn);strcmd。Connection.Open();strcmd.ExecuteNonQuery();strcmd.Connection.Close();Response。Write("<script>alert('修改成功!');window.location。href=’wageModify.aspx';〈/script〉");}(4)工资浏览页面:非工资管理人员是不能进入工资浏览界面的,管理人员进去浏览界面后,会看到公司所有员工的工资信息。如图5。3.4(a)。图5。3。4(a)浏览界面的实现代码如下:privatevoidPage_Load(objectsender,System。EventArgse){//在此处放置用户代码以初始化页面inti;stringPrivilege="”;SqlConnectionobjConnection;StringstrConnection="Server=127.0.0.1;uid=sa;pwd=;database=whtzkj;"objConnection=newSqlConnection(strConnection);stringstrName=”select*from[Privilege]”;SqlCommandMyCmd=newSqlCommand(strName,objConnection);SqlDataReaderdr;objConnection。Open();dr=MyCmd。ExecuteReader();if(dr.Read())Privilege=dr["Privilege"].ToString();i=Convert.ToInt32(Privilege);switch(i){case11:case13:break;default:this.Response.Write(”〈script>window。alert('你没有权限进入该页面!’);window。location。href='.。/in_index.aspx';</script>”);break;}if(this。IsPostBack){dsSalary1=(dsSalary)Session["DsSalary"];}else{this。sqlDataAdapter1.Fill(this.dsSalary1);Session[”DsSalary”]=dsSalary1;this.DataGrid1.DataBind();}}privatevoidDataGrid1_PageIndexChanged(objectsource,System.Web.UI.WebControls.DataGridPageChangedEventArgse){DataGrid1.CurrentPageIndex=e.NewPageIndex;DataGrid1。DataBind();}(5)工资删除界面:当管理人员进入工资删除界面,找到需要删除的信息,点击删除,其界面如图2。3.5(a)、图2。3.5(b)图2.3.5图2.3。5该界面实现代码如下:privatevoidDataGrid1_PageIndexChanged(objectsource,System.Web.UI.WebControls.DataGridPageChangedEventArgse){DataGrid1。CurrentPageIndex=e.NewPageIndex;DataGrid1.DataBind();}privatevoidDataGrid1_DeleteCommand(objectsource,System。Web.UI。WebControls。DataGridCommandEventArgse){stringstrDel="deletefrom[Salary]whereSalaryID=@SalaryID";SqlConnectionMyConn=newSqlConnection(”server=127。0。0.1;uid=sa;pwd=;database=whtzkj”);SqlCommandMyCmd=newSqlCommand(strDel,MyConn);MyCmd。Parameters。Add(newSqlParameter("@SalaryID",SqlDbType。Int,4,"SalaryID"));MyCmd.Parameters["@SalaryID”]。Value=e.Item。Cells[0]。Text;MyConn.Open();MyCmd.ExecuteNonQuery();Response.Redirect(this.Page.Request。RawUrl);MyConn。Close();DataGrid1.DataBind();}3。软件的测试3。1测试原则(1)程序设计者不应测试自己设计的程序。(2)在设计测试用例时,不仅要有确定的输入数据,而且要有确定的预期输出结果。(3)测试用例不仅要有合理的输入数据,还要有不合理的输入数据.(4)除了检查程序是否做完了他应该做的事,还要检查它是否做了不应做的事.(5)程序中存在错误的概率与在该段程序中已发现的错误数成比例。3.2测试方法本系统采用黑盒测试方法,着眼于程序的外部特征,而不考虑程序的内部结构,主要看程序的功能是否完成.3。3测试环境局域网机器若干台(均配有InternetExplore5.0),服务器一台(配有IIS6.0,VS.Net2003,OfficeXP)。3.4测试内容以工资管理者身份进入,可以添加,删除,浏览,修改,查询。以普通员工身份进入,只能查询自己的工资信息,若不是工资管理者想进行添加,删除,浏览,修改和查询其他人的工资信息,会提示无权访问。如图6。4(a)。图6.4(a)在添加工资信息的时候,工资编号要唯一且不能为空。若为空则会提示必填.如图6。4(b)。图6.4(b)图6.4(c)当添加成功以后会提示添加信息成功.如图6。4(d)图6。4(d)在查询的时候,若查询的信息不存在,会出现一个异常处理,只出现标题不出现内容.如图6。4(e)。图6.4(e)在修改信息的时候,工资编号是不能够修改的,只能修改其他工资信息。如图6。4(f)。图6.4(f)修改完毕后点确定则会提示修改成功。如图6.4(g)。图6。4(g)测试结果显示程序能够完成所需要的基本功能,该系统能够满足一般需求.总结4.1系统可改进的地方虽然该工资系统已经完成了一些基本功能,但是还是有一些可以改进的地方.(1)在查询的时候可以限定用户查询条件.例如,不让用户输入年份和月,而是给出下拉表,让用户自由选择。(2)在查询页面可以提供打印功能。当用户查询完自己所需要的信息后可以将这些信息打印出来,对查询表格字体、排版等方面可以做规范化的调整,增加“起始时间”“终止时间"等格式,使打印出的格式清晰美观(3)增加统计功能。该功能可以统计部门平均收入,一段时间的收入,并将结果跟往年的比较,让员工对自己的工资信息更加清楚,让管理人员对每个员工的工作情况更加了解.(4)增加用户定制信息,将员工关心的资料定期发送至其邮箱或手机。4.2发展前景新的管理思想和新技术的发展,信息技术的不断革新,对管理软件的发展起到了决定性的促进作用。在网络高速发展的今天,越来越多的企业、个人认识到网络的便利,信息反馈的方便与快捷。电子商务的炒作热潮虽然已经褪去,但电子商务开始”着陆”了,会有越来越多的企业和个人投入到电子商务这一新的商务活动之中,对电子商务网站的需求肯定是有增无减,真正的电子商务应用时代到来了,无论是使用者,还是开发者都从电子商务热中得到了启迪:市场竞争的日益加剧,WTO的日渐临近,企业的生存和发展每天都在接受新的挑战,要想应付竞争,就要扩大规模,要扩大规模,就要提高管理。因此,作为电子商务发展基石的供应链管理已得到中大型企业的密切关注并被提到应用日程。由于现在企业的分支机构众多,而且很多分支机构的地域范围很广,传统的办公模式已经不能很好的适应市场发展的要求,同时人员的流动性也比较大,不能在传统的办公模式下对每一个员工都要求在传统的办公环境下进行办公,急需一种新型的办公模式的出现,以解决地域范围的限制,利用互联网技术,实现网上办公,就能很好解决企业分支机构之间的相互协作办公的要求,同时可以更好的实现信息共享。新一轮的MIS升级热就要来到,管理软件革新的年代就要来到。普及式、局域网式的软件即将成为历史,而真正管理型、互联网型的软件将成为应用软件的主流,即哪个开发商能诠释一种新概念下的管理软件,其产品才易于被客户所接受,才具有超强的生命力。课程设计成绩评定表评定项目内容满分评分总分学习态度学习认真,态度端正,遵守纪律。10设计情况认真查阅资料,勤学好问,提出的问题有一定的深度,分析解决问题的能力较强。40说明书质量设计方案正确、表达清楚;设计思路、实验(论证)方法科学合理;达到课程设计任务书规定的要求;图、表、文字表达准确规范,上交及时。40回答问题情况回答问题准确,基本概念清楚,有理有据,有一定深度.10总成绩采用五级分制:优、良、中、及格、不及格指导教师评语:签名:年月日摘要在科技日益发达的今天,社会竞争越来越强烈,这要求人们不断的获取信息来充实自己。这就要求人们能随时随地的了解并获取所需的信息。于此同时,手机的功能越来越强大,将脱离传统的打电话、发短信等基本的功能,在此情况下,图书管理系统也将进入手机,通过手机可对图书管理系统进行操作。本系统是在Android平台下设计的,在GoogleAndroid平台的SDK2。3环境下,运用Eclipse进行开发。论文概括的介绍了Android开发的流程,并重点介绍了基于Android平台的图书管理系统的开发过程。论文首先介绍了课题的研究背景、研究现状和主要研究内容;然后对系统中用到的理论知识和相关技术进行了详细的阐述,同时包括对Android平台的相关理论知识以及系统的详细实现过程。关键词Android,图书管理,智能手机平台AbstractNowadays,withscienceandtechnologydevelopingincreasingly,thesocialcompetitionhasbecomemoreandmoreintense。Itrequirespeopletolearnandobtainmoreandmoreinformationtheyneedtoenrichthemselveswheneverandwhereveritispossible.Atthesametime,mobilephoneisbecomingmoreandmorepowerfulthanthosetraditionalphoneswhichcanonlyprovidebasicfunctionssuchasSMS.Underthesecircumstances,BooksManagementSystemwillalsoutilizemobilephonesasatool,throughwhichBooksManagementSystemcanberandomlyoperated.ThissystemisdesignedundertheAndroidplatform,runundertheenvironmentofGoogleAndroidplatformSDK2。2,anddevelopedbyuseofEclipse.ThearticroducesandgenerallysummarizesthedevelopmentprocessofAndroid,andfocusesontheintroductiontothedevelopmentprocessofBooksManagementSystembasedontheplatformofAndroid.Thethesisfirstintroducesthebackground,thecurrentstatusandmaincontentsoftheresearch;andthenillustratestheoreticalknowledgeandtechniquesusedinthesystemindetailaswellastherelevanttheoreticalknowledgeanddetailedrealizationprocessoftheAndroidplatform.KeyWordsAndroid,LibraryManagement,Intelligentmobilephoneplatform目录TOC\o"1-3”\h\z\u摘要PAGEREF_Toc357607780\hIAbstractPAGEREF_Toc357607781\hIIHYPERLINK\l"_Toc357607783”第1章绪论PAGEREF_Toc357607783\h1HYPERLINK\l”_Toc357607784"1.1智能手机平台简介PAGEREF_Toc357607784\h1HYPERLINK\l"_Toc357607785”1.2Android简介PAGEREF_Toc357607785\h21。3图书管理系统简介PAGEREF_Toc357607786\h3第2章Android的架构分析PAGEREF_Toc357607787\h4HYPERLINK\l"_Toc357607788”2。1Android架构分析PAGEREF_Toc357607788\h4HYPERLINK\l"_Toc357607789"2.1。1应用程序框架PAGEREF_Toc357607789\h4HYPERLINK\l"_Toc357607790"2.1.2类库PAGEREF_Toc357607790\h42.1.3Android运行时组件PAGEREF_Toc357607791\h52.2Android应用的构成和工作机制PAGEREF_Toc357607792\h5第3章Android应用程序结构剖析PAGEREF_Toc357607793\h6HYPERLINK\l”_Toc357607794"3.1Android的APIPAGEREF_Toc357607794\h63。2Android应用程序结构解析PAGEREF_Toc357607795\h6HYPERLINK\l”_Toc357607796"3。2.1活动PAGEREF_Toc357607796\h73。2。2意图接收器PAGEREF_Toc357607797\h73.2.3服务PAGEREF_Toc357607798\h8HYPERLINK\l”_Toc357607799"3。2.4内容提供者PAGEREF_Toc357607799\h8HYPERLINK\l"_Toc357607800"3.3Android活动的生命周期PAGEREF_Toc357607800\h83。3.1活动的生命状态PAGEREF_Toc357607801\h93.3。2活动的运作流程PAGEREF_Toc357607802\h10第4章系统分析设计PAGEREF_Toc357607803\h12HYPERLINK\l"_Toc357607804”4.1系统分析PAGEREF_Toc357607804\h12HYPERLINK\l”_Toc357607805”4。2系统具体功能:PAGEREF_Toc357607805\h12HYPERLINK\l”_Toc357607806”4。2。1图书管理端具体功能:PAGEREF_Toc357607806\h124.2.2学生客户端PAGEREF_Toc357607807\h13HYPERLINK\l"_Toc357607808"4。3系统模块设计PAGEREF_Toc357607808\h13HYPERLINK\l"_Toc357607809"第5章数据库分析与设计PAGEREF_Toc357607809\h14HYPERLINK\l"_Toc357607810"5。1数据库需求分析PAGEREF_Toc357607810\h14HYPERLINK\l”_Toc357607811"5。2数据库概念结构设计PAGEREF_Toc357607811\h14HYPERLINK\l”_Toc357607812”5。3数据库表的设计PAGEREF_Toc357607812\h17HYPERLINK\l”_Toc357607813"第6章搭建开发环境PAGEREF_Toc357607813\h20HYPERLINK\l"_Toc357607814"6.1AndroidSDK的安装及环境变量的配置PAGEREF_Toc357607814\h20HYPERLINK\l”_Toc357607815"6.2Eclipse集成开发环境的搭建PAGEREF_Toc357607815\h21HYPERLINK\l"_Toc357607816"6.3模拟器的创建和运行PAGEREF_Toc357607816\h22HYPERLINK\l"_Toc357607817"第7章系统详细设计与实现PAGEREF_Toc357607817\h23HYPERLINK\l"_Toc357607818"7。1欢迎界面的设置7818\h23HYPERLINK\l”_Toc357607819"7。2学生端登录模块PAGEREF_Toc357607819\h25HYPERLINK\l”_Toc357607820”7.2.1登录界面的开发PAGEREF_Toc357607820\h26HYPERLINK\l"_Toc357607821"7.2.2登录界面功能是实现PAGEREF_Toc357607821\h27HYPERLINK\l"_Toc357607822”7。2。3数据库操纵方法的实现PAGEREF_Toc357607822\h277.3。1学生端主界面的开发PAGEREF_Toc357607824\h29HYPERLINK\l”_Toc357607825”7。3.2界面跳转控制功能PAGEREF_Toc357607825\h30HYPERLINK\l”_Toc357607826"7。4学生端查询模块PAGEREF_Toc357607826\h31HYPERLINK\l"_Toc357607827”7。4。1查询主界面及其功能开发PAGEREF_Toc357607827\h327.4。2个人已借图书查询界面及功能607828\h33HYPERLINK\l”_Toc357607829"7.4。3管内图书查询界面及其功能开发PAGEREF_Toc357607829\h347。4.4数据库操作方法的实现PAGEREF_Toc357607830\h35HYPERLINK\l"_Toc357607831"7.5学生端图书挂失功能PAGEREF_Toc357607831\h36HYPERLINK\l"_Toc357607832”7.5.1挂失界面及其功能的开发PAGEREF_Toc357607832\h37HYPERLINK\l"_Toc357607833"7.5.2数据库操作方法的实现PAGEREF_Toc357607833\h387。6学生端图书预约功能模块PAGEREF_Toc357607834\h397.6.1图书预约界面及其功能的开发PAGEREF_Toc357607835\h397。6。2数据库操作方法的实现PAGEREF_Toc357607836\h41HYPERLINK\l"_Toc357607837"7.7管理端开发PAGEREF_Toc357607837\h42HYPERLINK\l"_Toc357607838"7。7。1管理员登陆界面的开发PAGEREF_Toc357607838\h427.7.2管理员登陆验证模块PAGEREF_Toc357607839\h427。8管理端主界面的开发PAGEREF_Toc357607840\h43HYPERLINK\l"_Toc357607841”7.9图书管理模块PAGEREF_Toc357607841\h43HYPERLINK\l”_Toc357607842"7。9。1图书管理界面的开发PAGEREF_Toc357607842\h44HYPERLINK\l”_Toc357607843"7.9.2其他图书管理界面的开发PAGEREF_Toc357607843\h44HYPERLINK\l"_Toc357607844"7.9。3图书管理界面的监听方法PAGEREF_Toc357607844\h457。9。4图书入库和图书删除方法的实现PAGEREF_Toc357607845\h467.9。5图书查询和修改图书信息方法的实现PAGEREF_Toc357607846\h50HYPERLINK\l"_Toc357607847"7.10学生管理模块PAGEREF_Toc357607847\h517。10.1学生管理界面的简介607848\h517。10.2学生管理界面的发开PAGEREF_Toc357607849\h527。10.3数据库操作方法的实现PAGEREF_Toc357607850\h54HYPERLINK\l"_Toc357607851"7.11管理员管理模块PAGEREF_Toc357607851\h557.11.1管理员管理界面开发PAGEREF_Toc357607852\h567。11。2管理员管理界面监听方法PAGEREF_Toc357607853\h577.11。3数据库操作方法的实现PAGEREF_Toc357607854\h57HYPERLINK\l”_Toc357607855"7.12管理员图书查询模块PAGEREF_Toc357607855\h597.13管理端图书挂失模块PAGEREF_Toc357607856\h59HYPERLINK\l"_Toc357607857”7.14管理端图书借阅预约模块PAGEREF_Toc357607857\h60HYPERLINK\l"_Toc357607858”7.14.1图书借阅功能按钮监听PAGEREF_Toc357607858\h617。14.2数据库操作方法的实现PAGEREF_Toc357607859\h62HYPERLINK\l"_Toc357607860”7.15欠款缴纳模块PAGEREF_Toc357607860\h62HYPERLINK\l”_Toc357607861”7.15.1欠款缴纳界面的开发PAGEREF_Toc357607861\h637.15.2数据操作方法的实现PAGEREF_Toc357607862\h63结论PAGEREF_Toc357607863\h64致谢PAGEREF_Toc357607864\h65参考文献PAGEREF_Toc357607865\h66第1章绪论1.1智能手机平台简介智能手机(Smartphone),是指“像个人电脑一样,具有独立的操作系统,可以由用户自行安装软件、游戏等第三方服务商提供的程序,并可以通过移动通讯网络来实现无线网络接入的这样一类手机的总称”。在所有智能手机操作系统中,他们之间的应用软件互不兼容。因为可以安装第三方软件,所以智能手机有丰富的功能。智能手机的诞生,是掌上电脑(PocketPC)演变而来的。最早的掌上电脑是不具备手机的通话功能,但是随着用户对于掌上电脑的个人信息处理方面功能的依赖的提升,又不习惯于随时都携带手机和PPC两个设备,所以厂商将掌上电脑的系统移植到了手机中,于是才出现了智能手机这个概念。智能手机比传统的手机具有更多的综合性处理功能,比如Symbian操作系统的S60系列,以及一些MeeGo操作系统的智能手机。然而,就新近的发展来看,这些智能手机的类型有相融合的趋势.智能手机同传统手机外观和操作方式类似,不仅包含触摸屏也包含非触摸屏的数字键盘手机和全尺寸键盘操作的手机.但是传统手机都使用的是生产厂商自行开发的封闭式操作系统,所能实现的功能非常有限,不具备智能手机的扩展性.“智能手机(SmartPhone)"这个说法主要是针对“功能手机(Featurephone)”而定义的,本身并不意味着这个手机有多“智能(Smart)”;从另一个角度来讲,所谓的“智能手机(SmartPhone)”就是一台可以随意安装和卸载应用软件的手机(就像电脑那样)。“功能手机(Featurephone)”是不能随意安装卸载软件的,JAVA的出现使后来的“功能手机(Featurephone)”具备了安装JAVA应用程序的功能,但是JAVA程序的操作友好性,运行效率及对系统资源的操作都比“智能手机(SmartPhone)”差很多。智能手机具有五大特点:(1)具备无线接入互联网的能力,即需要支持GSM网络下的GPRS或者CDMA网络的CDMA1X或3G(WCDMA、CDMA-2000、TD-CDMA)网络,甚至4G(HSPA+、FDD-LTE、TDD-LTE).(2)具有PDA的功能,包括PIM(个人信息管理)、日程记事、任务安排、多媒体应用、浏览网页。(3)具有开放性的操作系统,拥有独立的核心处理器(CPU)和内存,可以安装更多的应用程序,使智能手机的功能可以得到无限扩展。(4)人性化,可以根据个人需要扩展机器功能。根据个人需要,实时扩展机器内置功能,以及软件升级,智能识别软件兼容性,实现了软件市场同步的人性化功能。(5)功能强大,扩展性能强,第三方软件支持多。1.2Android简介Android一词的本意是指“机器人",同时也是Google于2007年11月5日宣布的,基于Linux平台开源手机操作系统的名称,该平台有操作系统,中间件,用户界面和用用软件组成,号称是首个为移动终端打造的真正开放和完整的解决方案。从此,人们不在受PC束缚,无论走到哪里只要有一部Android手机,并且有移动信号,就可以随时随地的进行办公、浏览资讯、网上冲浪、极大地方便了人们的生活。正因如此,Android仅仅用了3年左右的时间,就迅速的成长为全球第一大的移动终端平台,不仅广泛应用到了智能手机领域,在平板电脑、智能导航仪、智能MP4领域也有很大的影响,深受移动终端生产厂商和广大用户的青睐.Android基于Linux技术开发,有操作系统、用户界面、应用程序组成,允许开发人员自由获取,修改源代码,也就是说这是一套具有开源性质的移动终端解决方案。具有以下特点:(1)开放性(2)所有的应用程序都是平等的;(3)应用程序间无界限;(4)快速方便的应用程序开发。Android平台采用的是一种被称为软件叠层(SoftwareStack)的方式进行构造.这种软件底层结构使得层与层之间相互分离,明确各层分工。这种分工保证了层与层之间的低耦合,当下层的层内或者层下发生改变时,上层应用程序无序任何改变Android是由5大部分组成,如图2.1所示:图2。1Android架构的五个部分(1)应用程序层:这层中包含了核心的应用程序这些程序都是用Java编写的。(2)应用程序框架:应用程序框架除了可以作为应用程序开发的基础之外,也是软件复用的重要手段,任何一个应用程序都可以发布它的功能模块,只要发布时遵守了框架的预订,那么其他应用也可以使用这个功能模块。(3)函数库:包含了一套被不同组件所使用的C/C++库集,Android应用开发者不能直接的调用这套库集,但是可以通过它上层的应用程序框架来调用这些库。(4)Android运行时:是由Android核心库集和Dalvik虚拟机组成的。(5)Linux内核:它提供了安全性、内存管理、进行管理、网路协议、和驱动模块等核心系统服务,除此之外它还是系统硬件和软件叠层之间的抽象层.1.3图书管理系统简介随着各图书馆的图书的数量不断增多和图书馆规模的不断扩大,管理这些庞大的体系是非常困难的,因为图书的情况是随时改变的,因此必须对图书进行动态的管理,而这对于一个管理人员来说是一件比较复杂的事情,存储、查询、借阅是必不可少的业务。基于Android移动设备渐渐的普遍起来,人们逐渐渴望移动办公的实现,即仅仅通过一部智能手机就可以完成大部分的工作量。为了能让管理员从繁重的工作中解脱出来,让管理员在使用这个软件以后能极其容易且方便的对所有图书进行管理,并且准确无误,轻松自如,因此开发一个图书管理系统软件是当务之急,也是本毕业设计选题的重要意义和研究宗旨。本软件为图书管理员与学生通过移动平台来查询图书的借阅、预约等情况,方便用户随时查看图书使用情况。第2章Android的架构分析Android是一个包含操作系统、中间架构层及应用程序所产生出来的软件堆栈架构.由下而上,其核心为嵌入式Linux2。6作业系统,向上搭配Google为Android开发的类库及Android运行时,再配合应用程序架构,来开发各种不同的应用程序。2。1Android架构分析2。1.1应用程序框架在AndroidSDK中,定义了可以让开发者使用的与核心程序相同的API,程序框架是为了要简化组件,重新利用而设计的新的框架,应用程序可以发布功能,为其它的程序所使用。但是,这要受限于程序架构的安全机制。使用者以同样的机制来进行新增,置换组件。目前所有的程序是由服务以及系统来组成。包括:(l)一套扩展的视图系统:用来创建一个应用程序的基本组件,包括在开发系统界面的时候,常常使用的列表、网格、文本框、按钮等控制项,甚至是内嵌的Web浏览器。(2)内容提供者:可以使应用程序访问到另外一个应用程序中的数据,或者共享自己的数据。(3)资源管理器:提供非程序代码资源,让应用程序去使用。如:本字符串、图形文件或者排版相关布局文件.(4)通知管理器:提供程序在状态栏上显示应用程序自定义提示信息。(5)活动管理器:管理所有应用程序的生命周期以及提供的常用的导航回退功能。如:启动应用程序就要使用资源准备以及关闭应用程序的时候释放掉的内存以及相关资源等工作。(6)视窗管理器:用来管理所有启动的应用程序的视窗。(7)位置管理器:用来管理与地图相关的服务和功能。(8)电话管理器:用来管理用户拨打或者接听电话的功能.(9)包管理器:管理所有安装在Android系统内的安装包.2。1。2类库Android包含了一组被Android系统各种组件使用的C/C++类库。这些类库通过Android应用框架暴露给开发者。下面列出一些核心类库:(1)系统C库:派生与BSD的标准C库(libc)的实现,并且基于嵌入式的Linux设备进行了调整;(2)多媒体库:基于PacketVideo公司OpenCORE的多媒体类库,这个类库支持许多流行的音/视格式的回放和录音,以及静态的图片文件,如:PPEG4、H。264、MP3、AAC、JPG、PNG。(3)界面管理器:管理对显示子系统的访问,并且把应用程序与2D和3D图形层无缝的融合到一起。(4)LibWebCore:一个现代的Web浏览器引擎,Android浏览器和可嵌入的WebView组件都基于这个引擎。(5)SGL:底层的2D图形引擎;(6)3D类库:基于OpenGLES1.0API的实现,这个类库既可以是硬件3D加速(如果硬件加速有效),也可以包含高度优化的3D软件光栅处理器(7)FreeType:位图和矢量字体渲染;(8)SQLite:一个强大的轻量级关系数据库引擎,对所有的应用程序有效。2。1.3Android运行时组件虽然Android是用Java语言来开发、撰写应用程序,但却不使用Java运行时组件来执行Java程序,而是使用了由Google自行研发的Android运行时组件来执行程序。Android运行时组件包含有两个重要的部分,核心类库和Dalvik虚拟机。2.2Android应用的构成和工作机制对于一个Android应用程序来说,是由Activity、IntentReceiver、Service、ContentProvider四部分组成,但并不是每一个Android应用程序都必须由这四部分组成。在应用程序中使用时,需要在配置文件AndroidManifest.xml中进行配置。这个配置文件是每个Android应用程序所必需的,用于定义应用程序的组件、组件的功能以及必要条件等。Android应用的构成和工作流程如图2.2所示:图2。2Android的构成和工作流程第3章Android应用程序结构剖析3。1Android的APIAndroidAPI主要包含以下几个部分:(1)AndroidManifest.xml(清单文件)AndroidManifest.xml(清单文件)是系统的控制文件,它将要告诉系统将要如何的处理所创建的所有的应用组件(尤其是Activity,Service,IntentReceiver)和内容提供者(ContentProvider))。举例来说:清单文件就是把活动和要接收的意图(Intent)连在一起的“胶水”。(2)活动活动就是一个具有生命周期的对象。一个活动就是要完成某些功能的代码块,这部分工作还可以包括对用户UI界面显示.不过这不是必须有的,有些活动从不显示UI布局.(3)视图视图可以将其自身绘制到显示屏上.Android的用户界面是由一系列的视图组成的。接口都是由一组视图组成的。开发者可以通过使用新创新的视图,来使用自定义的图形界面的处理技术。(4)意图意图是简单的消息对象,它表示的是程序想做某件事的意图.比如程序想要显示一个网页界面,那么,它可以通过创建一个意图实例,将值传递给系统来进行表示意图,浏览这个URI.系统将定位到能够处理这意图的代码,并运行.意图也用于广播系的有效事件的传递.(5)服务服务就是运行在后台的一段代码。它可以运行在它自己的进程中,也可以运行在其他程序的进程中,这取决于自身需要。其它组件可以绑定一个服务中取,通过远程AIDL调用这个方法。比如:媒体播放器服务,当用户退出媒体界面时,仍然希望音乐可以继续播放,这个时候就可以使用服务来确保当用户关闭界面的时候音乐还能继续播的播放.(6)通知通知将以小图标形式展现在状态栏中,用户通过与图标交互,来接收信息。最常见的通知包括:短信息,通话记录,语音邮件等,但是程序也可以创建自己的通知事件。(7)内容提供者内容提供者是用来提供设备上数据访问的.典型例子:使用内容提供者访问联系人。程序也可以用其它程序的内容提供者提供的数据,同时也可以自定义自己的内容提供者来向别的程序提供数据.3.2Android应用程序结构解析通常由四大组件构建一个完整的Android应用程序。(1)活动(2)意图接收器(3)服务(4)内容提供者然而,并不是所有的Android程序都必须具备上面的四大组件,可以由上面的一个或几个来进行组建.当决定使用哪些组件来构建Android程序的时候,需要将它们注册在AndroidManifest.xml(清单文件)中,这是一个XML文件,在文件中可以声明程序组件和它们的要求。这个配置文件是每个Android程序所必需具备的。3。2.1活动活动是以上四大组件中最常用的一个组件.每个活动都是继承于Activity的子类,并实现了一些各自的功能,如管理UI的显示和UI的事件。一个活动就相当于程序给用户的一个显示界面,由事件、响应视图等组成.大多数的程序通常要包括多个界面。如:聊天应用程序,应该包含一个联系人的界面、一个聊天的界面、一个设置的界面、一个聊天记录查询的界面等等.每个界面都可看作是一个活动。显示一个新的界面就相当于生成了一个对应的活动。在一些特殊的情况下,一个活动能够给它上级界面一个返回值,如:提供给用户选择照片的活动,可以返回给调用它的用户照片文件。当新的Activity(活动)出现时,前一个Activity(活动)被中断,并被放入到一个历史堆栈中。用户可以使用返回键调用前一个Activity(活动).当Activity(活动)不再需要的时候,可以将它们从历史的堆栈中移除。默认的情况下,Activity(活动)应用程序会把每个Activity(活动)到历史的堆栈中去。Android应用程序通过Intent(意图)类,来实现界面与界面之间的跳转.一个Intent(意图)描述了一个程序想要做的事情.在Intent(意图)的描述结构中,含有两个重要数据:动作与动作对应的数据。典型的动作类型有MAIN、VIEW等,而Activity(动作)对应的数据则要用URI的形式展现出来。除此之外,还有一个被称作意图过滤器的相关类。当发生一个有效目的请求的时候,意图过滤器就要用来描述这个能够处理什么样的意图。通常意图过滤器要被注册在AndroidManifest。xml(清单文件)中。从一个界面转到另外的一个界面是由各种意图来实现的.随后,这个活动接收到的意图(Intent)的通知并开始进行运行.当startActivity的方法被调用了,解析这个意图处理过的程也随之发生。3.2.2意图接收器开发者可以使用IntentReceiver让自己的应用对一个外部事件做出响应,比如当电话呼入时,或者当数据网络可用时,或者时间到晚上了。IntentReceiver不能显示用户界面,它只能通过NotificationManager通知用户这些有趣的事情发生了。IntentReceiver既可以在AndroidManifest.xml中注册,也可以在代码中使用Context.registerReceiver()进行注册.但是当这些有趣的事情发生时,应用不必对请求调用IntentReceiver,系统会在需要的时候启动应用,并在必要的情况下触发IntentReceiver。各种应用还可以通过使用Context。broadcastIntent()将它们自己的Intent广播给其他应用程序。3.2。3服务服务(Service)也是Android的四大组件之一,它和Activity最为相似,他们都代表可执行的程序,Service与Activity的区别在于:Service一直在后台进行运行,它没有用户的界面,所以绝不会到前台来,它和Activity一样具有自己的生命周期。内容提供者在Android中,每个应用程序都有它们自己的ID并且可以在自己的进程中进行执行.这样做的好处是:(1)可以保护系统和应用程序,避免被其他不正常的应用程序所影响。(2)可以把每个进程想像成是一个黑盒子,进程之间不会互相影响,连内存的资料都无法进行共享。如果应用程序之间要共享数据,就需要用到内容提供者。内容提供者就是一个类,它实现了一个方法集合,其他的应用程序可以去使用这些方法来保存和检索这个内容提供者处理过的数据.3。3Android活动的生命周期Android平台是个手机操作系统.先把其他功能撇掉不谈,根据手机的特性,就应该能够随时随地的在未完成目前动作时候,暂停正在使用功能,切换到接听电话、接收短信的模式,而且在接听完电话回到应用程序的时候,还希望能看到之前操作一样的内容.现在用户使用的智能手机大多已经习惯使用能够后台处理的作业系统(比如WindowsMobile),可以在使用手机听音乐的同时,执行其他多个应用程序。同时执行多个应用程序有它明显的好处,但也有它的缺点。每多开启一个应用程序,就会多耗费一些系统的内存,而手机里的内存是有限的。当同时开启的应用程序过多的时候,或者是关闭的程序没有释放掉内存,系统会越来越慢,甚至不稳定,最后到死机。为解决这个问题,Android引入了一个新的机制:“生命周期”。Android应用程序的生命周期是交给Android的框架进行管理的,而不是由应用程序直接进行控制的。通常,每个应用程序,都会占用一个进程。当系统内存不足的时候,会依照优先级来自动进行进程的自动回收.不管是使用者还是开发者,都无法确定应用程序什么时候会被回收。一个活动类,除了OnCreate(创建)方法之外,还定义了onPause(暂停)、OnResume(继续)等等的基本方法,当一个活动切换到另外一个活动的时候,原来的活动将会经过一连串的状态的改变。开发者可以在程序中添加一些状态相对应的流程,每次活动状态改变的时候,就会执行相对应的流程的操作。要让用户有更好的使用体验,活动需要在各个周期内负责保管状态,恢复状态,传送资料的工作。3。3。1活动的生命状态Android的虚拟机是使用堆栈来进行管理的。其主要有四种状态:(l)活动状态:活动状态是指用户启动了应用程序或活动结束后,活动运行时的状态.在Android平台上,同一个的时刻只能有一个活动处于活动或者运行的状态。其他的活动都会处于未启动,停止或是暂停状态.(2)暂停状态:暂停状态是指当活动暂时停止下来的时候,退到背景画面状态。当警告对话框或者电话到来的时候,都会让原来运行活动退到背景画面中。新出现的警告对话的框等界面元件盖住掉了原来的活动的画面.活动处在暂时停止的状态,用户无法与原来的活动互动.(3)停止状态:停止状态是指有了其他活动正在执行中,而这个活动己离开了
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年洛阳市西工区公务员人员招聘笔试参考题库及答案详解
- 2025-2026学年初中一元二次函数说课稿
- 2025-2026学年大卫科波菲尔说课稿及课件
- 2025-2026学年冬至节气特点说课稿
- 2026年广西壮族自治区崇左市公务员人员招聘笔试备考题库及答案详解
- 2026深圳市龙华区委统战部面向市内公开选调事业单位工作人员1人笔试备考试题及答案解析
- 2025年乌鲁木齐市新市区公务员人员招聘考试试题及答案详解
- 2026四川成都嘉祥外国语学校教师招聘笔试模拟试题及答案解析
- 2025年南宁市青秀区事业单位人员招聘笔试试题及答案详解
- 2025-2026学年儿歌导读说课稿
- GEELY汽车服务顾问课件
- 实验动物饲养培训课件
- (2025)十八项医疗核心制度考试试题库及参考答案
- 质量诚信培训资料
- 新一代数据中心建设投资协议
- 宁夏林利煤炭有限公司煤矿三号井“9·27”重大瓦斯爆炸事故调查报告
- HGT21581-2012 自控安装图册
- 临床用血质量控制指标(2019版)
- 初等数学研究程晓亮刘影课后习题答案
- AQ 1095-2014 煤矿建设项目安全预评价实施细则(正式版)
- 《水电站闸门和启闭机运行维护技术规程》
评论
0/150
提交评论