Java.net开发训练课程设计-图书管理系统16.doc_第1页
Java.net开发训练课程设计-图书管理系统16.doc_第2页
Java.net开发训练课程设计-图书管理系统16.doc_第3页
Java.net开发训练课程设计-图书管理系统16.doc_第4页
Java.net开发训练课程设计-图书管理系统16.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录绪论1第一章. 需求分析1第二章. 设计任务2第三章. 系统分析设计33.1 总体设计3 3. 2 图书管理端具体功能:43.3数据库需求分析53.4数据库概念结构设计5第四章. 系统设计与实现3 4.1客户端界面设计16 4.2图书管理界面16 4.3读者界面设计16 4.4客户端资源结构16第五章. 总结17致谢18参考文献18全套设计加扣 3012250582 绪论传统WEB应用只能在PC机上使用,不能做到随时随地的使用,为了解决这样的不足,基于Android平台的图书馆管理系统客户端就应运而生。本设计阐述了在Android平台下图书馆管理系统的设计与实现过程,其目的是让人们能够在基于Google Android平台的移动设备上享用传统WEB上图书馆管理系统的基本功能。本系统采用C/S结构, MVC软件开发模式,使用android布局技术完成UI的设计,基于Java语言开发完成,在不同型号的设备模拟器上测试通过。系统实现了用户注册、登录、查询图书以及学生用户管理和图书管理等功能。“操作简单,功能实用”这是本软件设计的核心理念,本系统力求创造最好的用户体验。第一章.需求分析1.1 课题研究的目的及意义 移动互联网时代的来临,说明一个崭新的时代开始了。所谓移动互联网是将移动通信和互联网整合在一起,移动设备(包括手机和上网本)可以随时随地地访问互联网资源和应用。 智能手机是移动互联网时代一个标志性的客户端工具,它和传统的手机是有区别的,它就像一台“小电脑”,具有独立的操作系统,可以自由安装、卸载软件,具有强大的计算和存储能力,可以通过移动通信网络来实现无线网络接入。 对于移动终端设备飞速发展的今天,传统WEB上的应用出现在手机终端是一个大的趋势。而基于Android开发的图书馆管理系统手机客户端,正是对这一趋势的良好体现,Android平台下的图书馆管理系统的开发,能很好的为用户提供方便,用户能通过它能随时随地的了解系统的实时信息,做到信息的实时化。通过Android平台下的图书馆管理系统客户端的开发,与传统WEB应用进行良好的互补。 同时,对于校内的图书馆管理系统来说,手机对于学生是必不可少的一个物品,手机客户端这种形式的图书馆管理系统,能更加贴近学生的生活习惯,并且适合学生年龄段的习性,这对学生更多的接触到图书馆的信息有一定得促进作用。 1.2 课题的现状 目前国内的基于Android平台的图书馆管理系统客户端还不成熟,大多数的图书馆管理系统都出现在传统的WEB应用上,在这个环境下,基于Android平台的图书馆管理系统客户端属于一个崭新的应用。作为一个不太成熟的应用,大多数图书馆管理系统都是出现在学习android开发的一个项目中,作为学习中的一个练习项目。目前,绝大部分的网络应用都还是传统的WEB应用,但面对Android手机如此迅速发展的今天,传统WEB的应用不能满足人们随时随地体验网络应用的想法,所以,出现在手机终端的应用将会越来越多,同时其发展的速度也会越来越快。校内图书馆管理系统作为传统WEB应用,也必将在手机客户端上得到应用。 1.3 课题的内容 由此出现大量的应用出现在手机上,基于Android平台的图书馆管理系统手机客户端是依据现在的形式所开发的,它是一套基于开放性的图书馆管理系统,它有传统WEB上图书馆管理系统的大部分功能。整个系统分为前台界面管理和后台服务器管理两部分,划分为用户管理、图书管理、信息管理等三个部分。在前台管理中,用户进行注册、登录、查询特定图书等功能;后台管理模块,负责控制前台界面管理的所有功能;本系统设置了学生用户和管理员两类,两类用户都是使用同一个平台,只是权限不同。学生用户只能注册、查询图书等功能;管理员拥有最高权限,可以对已经毕业的学生用户账号进行删除,查询学生用户信息,实时更新图书馆的新书,发布图书馆最新信息等权限。 本图书馆管理系统,能够适用于各类图书馆,具有良好的可操作性,可以随时的查询你所需要的图书信息,只要你的智能手机安装了本系统客户端,系统大大的方便了学生的图书查询的。 本系统采用C/S结构,后台服务器使用Servlet编写服务器,同时用Tomcat发布服务,前台客户端环境使用的是ANDROID控件。通过JDBC来调用Oracle数据库,来实现手机客户端与服务器之间数据传输。第二章. 设计任务:我们学校图书馆需要管理图书及其借阅等各种信息,希望实现图书借阅的信息化,通过建立一个图书和学生的管理系统。其完成的功能如下:(1) 图书管理:可以删除,添加,修改图书信息!并记录每个图书的基本信息,包括书名、作者、购置日期、单价等;(2) 读者管理:读者添加、删除等更新,查询,记录读者的基本信息(3) 查询功能:查阅图书的信息 (4) 登陆与安全:只有管理员可以登录其他人不能登陆(5) 更多及更完善的需求(如预约等)可以参考学校图书馆借阅系统。第三章. 系统分析设计3.1 总体设计 基于ANDROID平台开发的图书馆管理系统客户端从设计者的角度来看,用户角色分为学生用户和管理员两类;功能包括注册、登录、密码找回、书籍查询、图书实时更新、普通用户管理共六大部分。其中系统管理中的学生用户权限包括注册、登录、密码找回、书籍查询等四个模块;管理员的权限则是除了学生用户具有的权限外还有实时更新图书信息、学生用户管理等模块。从使用者的角度来看分为前台和后台管理两大部分。后台管理模块是本系统的关键部分之一,它是系统维护和信息管理平台。根据现实需要,本系统后台管理用户有两类:管理员和学生用户。这两类用户使用的系统管理平台都是同一个平台上,只不过他们执行的权限不同3.2程序功能模块图:图书管理系统图书管理学生管理删除图书添加图书更新图书更新学生删除学生查询学生添加学生查询图书3. 2 图书管理端具体功能:A)图书管理:图书查询,通过图书编号查看图书信息;图书入库,添加图书信息,在数据库中添加一本新的图书,添加的数据有图书编号(ISBN)、书名、作者、出版社、简介B)学生管理:学生查询,通过学号查看学生信息;添加学生,在数据库中新添加一条学生信息,添加的数据有学号、姓名、性别、借书时间、年龄、电话、班级、院系、密码C)管理员管理:只有一个管理员可以操作D)查询:查询书籍,通过书的id查询图书3.2.1 学生客户端1、查询:查询图书馆内图书信息;查询个人信息2、删除:删除图书信息;删除个人信息。3、更新:更新图书信息;更新个人信息。4、新增:新增图书信息;新增个人信息。3.3数据库需求分析用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为以后的具体设计打下基础。针对一般图书管理信息系统的需求,通过对图书管理工作过程的内容和数据流程分析,设计如下所示的数据项和数据结构:1.图书表,包括的数据项有:书的id,书名,价钱 、出版社、类别、借阅状态2.学生表,包括的数据项有:学生编号、学生姓名、学生年龄、学生性别、班级、院系、联系方式、密码3.4数据库概念结构设计得到上面的哦数据项和数据结构以后,就可以设局出能够满足用户需求的各种实体,以及他们之间的关系,为后面的逻辑结构设计打下基础。本实例根据上面的设计规划出的实体有:总图书实体类、借书信息实体类、挂失书籍实体类、借书结束时间实体类、已借书籍实体类、管理员信息实体类、学生信息实体类、图书信息实体类。各个实体具体的描述图如下。图书信息实体E-R图如图3-1所示。类别出版社图书作者图书名称借阅信息图书信息实体图3-1 图书信息实体E-R图学生信息实体班级密码学生性别院系联系方式学生年龄学生姓名学生编号图3-2学生信息实体E-R图第四章.系统设计与实现4.1客户端界面设计:4.2图书管理系统界面实现主界面的代码package .hdu.android;import android.app.Activity;import android.app.AlertDialog;import android.content.Context;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.EditText;public class MainActivity extends Activity private EditText user;private EditText password;Overrideprotected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.main);user = (EditText) findViewById(R.id.ET1);password = (EditText) findViewById(R.id.ET2);/ 登录按钮监听public void load(View v) String name = user.getText().toString().trim();String pwd = password.getText().toString().trim();/ 判断用户名是否为空if (name.equals() errorMsg(this, 错误信息, 用户名不能为空!);/ 判断密码是否为空else if (pwd.equals() errorMsg(this, 错误信息, 密码不能为空!);/ 判断用户名和密码是否正确else if (!(pwd.equals(admin) & pwd.equals(admin) errorMsg(this, 错误信息, 用户名或密码错误,请重新输入);/ 全部正确跳转到主菜单页面else Intent intent = new Intent();Bundle bundle = new Bundle();bundle.putString(name, name);intent.putExtras(bundle);intent.setClass(MainActivity.this, Menu.class);startActivity(intent);/ 错误消息对话框public void errorMsg(Context context, String title, String message) AlertDialog.Builder builder = new AlertDialog.Builder(context);builder.setTitle(title);builder.setMessage(message);builder.setPositiveButton(确定, null);builder.create();builder.show();主界面的代码:package .hdu.android;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.TextView;/* * 主菜单页面 */public class Menu extends Activity /* * TextView */private TextView menuTV;protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.menu);/* * 获取登录的用户名 */Bundle bundle = getIntent().getExtras();String name = bundle.getString(name);/* * 初始化按钮 */menuTV = (TextView) findViewById(R.id.menuTV);/* * 显示用户名 */menuTV.setText(欢迎:+name);/* * 插入学生按钮监听 */public void menuload1(View v) Intent intent = new Intent();intent.setClass(Menu.this, InsertStu.class);startActivity(intent);/* * 删除学生按钮监听 */public void menuload2(View v) Intent intent = new Intent();intent.setClass(Menu.this, DeleteStu.class);startActivity(intent);/* * 修改学生按钮监听 */public void menuload3(View v) Intent intent = new Intent();intent.setClass(Menu.this, UpdateStu.class);startActivity(intent);/* * 查找学生按钮监听 */public void menuload4(View v) Intent intent = new Intent();intent.setClass(Menu.this, SelectStu.class);startActivity(intent);/* * 插入图书按钮监听 */public void menuload5(View v) Intent intent = new Intent();intent.setClass(Menu.this, InsertBook.class);startActivity(intent);/* * 删除图书按钮监听 */public void menuload6(View v) Intent intent = new Intent();intent.setClass(Menu.this, DeleteBook.class);startActivity(intent);/* * 修改图书按钮监听 */public void menuload7(View v) Intent intent = new Intent();intent.setClass(Menu.this, UpdateBook.class);startActivity(intent);/* * 查找图书按钮监听 */public void menuload8(View v) Intent intent = new Intent();intent.setClass(Menu.this, SelectBook.class);startActivity(intent);4.3读者界面设计 更新学生信息代码 4.4客户端资源结构客户端java类结构图主要java类,其中DBHelper.java文件为程序所涉及到的数据库代码,内涵所有调用数据库的代码。MainActivity.java文件为主要核心代码,程序主界面的操作代码。其余类为程序辅助类第五章.总结 经过2周的努力终于完成了基于Android平台的图书管理系统的设计以及论文,本图书管理系统实现一般传统WEB上的图书管理系统所必备的基本功能,并且提供了友好的用户交互界面,让用户操作起来极为方便和快捷,在这2周里,我收获了很多,也付出了很多,从一个系统设计者的角度来说,我体会到了一个系统的设计其实不是想象的那么简单,对于用户来讲,也许手机软件上的一个看似很小的功能,但在系统开发者看来有时却并不显得简单,有句俗话叫“牵一发而动全身”,在一个系统有时一个小小的改动往往会牵涉到一些复杂的业务逻辑和算法,因此作为一个开发者,必须要有十足的耐心,才能将系统尽可能设计的合理,这款系统,我从整体设计和用户交互的UI层,到完成具体功能的业务逻辑层,直至底层数据库的设计,都花了很多时间去思考,做了很多繁琐的工作,但我认为是值得的,因为我做的大量工作换来了用户操作的简便,也为用户提供了良好的体验。 在没有做设计之前,觉得以前学过的知识太零碎,只是单纯的概念和计算之类的,并且没有整体的联系和框架,并且也单纯的认为课程设计只是对以前的知识点的总结,但是通过这次设计发现自己的看法有点太片面。课程设计不仅是对前面所学知识的一种检验,也是对自己能力的一种提高。通过这次设计使自己明白了原来的知识是非常欠缺的,要以后的工作和生活中都应该不断地学习,努力提高自己的知识和综合素质。 在这次设计中,我遇到了很多问题。单从图书管理系统的服务器端来说用到的知识都有XML、Servlet、JDBC、数据库Oracle、等等当初学习时,只是听懂了一部分,没有完全理解,所以做整体框架花费了一部分时间,以至于时间比较紧张。至于开发客户端相对来说比较熟练一点。当然,图书管理系统是一个比较大的项目,光调试就要启动数据库、服务器端Tomcat、客户端,一旦中间有什么问题需要检查的地方很多,确实需要细心,耐心,更重要的是技术。因此这次设计让我看到了我们不能只满足于掌握一种计算机语言,其实多种计算机语言之间是相通的,我们要学会联系,只有技术过关了,才能做出好项目。 在这次设计中,同学之间互相帮助,有什么不懂得大家一起商量,发现我们所学的知识实在是有限,不过我们能够充分利用网络的优势去查阅资料。在整个设计过程中懂得了许多东西,也培养了独立思考和设计的能力,树立了对知识应用的信心,相信会对今后的学习工作和生活有非常大的帮助,并且提高了自己的动手实践操作能力,使自己充分体会到了设计过程中成功的喜悦。虽然这个设计做的不怎么好,但是在设计过程中所学到的东西是这次课程设计的最大收获和财富,使我终身受益。在这次课程设计的过程中,我得到了许多人的帮助。在课程设计完成之际,我想向曾经给我帮助和支持的人们表示衷心的感谢。 致谢经过一周的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论