1、Android 图书管理系统姓 名:刘江维学号:12106114指导教师:院 系:安徽商贸职业技术学院专 业:软件技术完成日期:2014。9。121. 设计任务:我们学校图书馆需要管理图书及其借阅等各种信息,希望实现图书借阅的信息化,通过建立一个图书借阅管理系统。其完成的功能如下:(1) 图书管理:记录每个图书的基本信息,包括书名、作者、购置日期、单价等;(2) 借阅管理:能完成图书的节约管理,以及图书状态的变更; (3) 读者管理:读者增减、查询,记录读者所在的部门等信息;实现管理员及其帐号分配等;(4) 查询功能:能在图书页查看该图书所有的被借阅历史;能在读者页查看该读者所有的借阅历史以及
2、当前需要所借书目信息;(5) 催还功能:能统计当前需要催还的图书书目;(6) 登陆与安全: 页面又不同的权限,一般页面所有人可以访问,管理员页面需要有管理员权限才能访问;(7) 更多及更完善的需求(如预约等)可以参考学校图书馆借阅系统。2. 系统分析设计程序功能模块图如下:删除管理员添加管理员添加学生查询学生学生管理图书管理添加图书查询图书管理员管理预约图书挂失图书查询图书学生客户端管理员客户端图书管理系统本2. 1 图书管理端具体功能:A)图书管理:图书查询,通过图书编号查看图书信息;图书入库,添加图书信息,在数据库中添加一本新的图书,添加的数据有图书编号(ISBN)、购买日期、书名、作者、
3、出版社、是否借阅、是否预约、简介B)学生管理:学生查询,通过学号查看学生信息;添加学生,在数据库中新添加一条学生信息,添加的数据有学号、姓名、性别、借书时间、年龄、电话、班级、院系、密码C)管理员管理:添加管理员,新添加以为管理员,数据有管理员用户名、密码、权限;删除管理员,如果当前管理员的权限为“高级”则此管理员具有新增管理员和删除管理员的功能;通过用户名查看管理员;修改密码D)查询:查询书籍,可以通过书名、出版商、作者查询图书信息E)挂失:图书丢失,管理员可查询出谁丢失了图书F)预约:管理员可查询出哪位学生预约借书2.2.2 学生客户端1、查询:查询图书馆内图书信息;查询个人借书信息2、挂
4、失:挂失丢失书籍。3、预约:预订图书。3.需求分析:3。1 数据库需求分析用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为以后的具体设计打下基础。针对一般图书管理信息系统的需求,通过对图书管理工作过程的内容和数据流程分析,设计如下所示的数据项和数据结构:1。图书表,包括的数据项有:国际标准书号、图书名称、作者、出版社、购买时间2。学生表,包括的数据项有:学生编号、学生姓名、学生年龄、学生性别、班级、院系、联系方式、密码3.管理员信息表,包括的数据项有:管理员账户、管理员权
5、限、管理员密码4。已借书籍表,包括的数据项:图书编号、学生姓名、学生班级、图书名称、学生编号、图书作者5.借书结束时间表,包括的数据项:学生编号、图书编号、图书名称、借书结束时间。6。挂失书籍表,包括的数据项:挂失编号、图书编号、图书名称、学生编号。7.借书信息表,包括的数据项:图书编号、学生编号、借书时间、还书时间、是否借书、是否预订8.总图书表,包括的数据项:图书编号、国际标准书号、是否借书、是否预约。3。2数据库概念结构设计得到上面的哦数据项和数据结构以后,就可以设局出能够满足用户需求的各种实体,以及他们之间的关系,为后面的逻辑结构设计打下基础.本实例根据上面的设计规划出的实体有:总图书
6、实体类、借书信息实体类、挂失书籍实体类、借书结束时间实体类、已借书籍实体类、管理员信息实体类、学生信息实体类、图书信息实体类。各个实体具体的描述图如下。图书信息实体ER图如图3-1所示.购买时间出版社图书作者图书名称国际标准书号图书信息实体图31 图书信息实体E-R图学生信息实体班级密码学生性别院系联系方式学生年龄学生姓名学生编号学生信息实体E-R图如图32所示。图32学生信息实体E-R图管理员信息实体ER图如图33所示。管理员权限管理员密码管理员账户管理员信息实体图33管理员信息实体E-R图已借书籍实体ER图:图书作者学生编号图书名称学生班级学生姓名图书编号已借书籍实体图3-4已借书籍实体E
7、-R图借书结束时间实体图书编号学生编号图书名称借书结束时间借书结束时间实体E-R图:。借书结束时间实体ER图挂失书籍实体E-R图:挂失书籍图书名称学生编号图书编号挂失编号挂失书籍实体ER图借书信息实体ER图是否借书是否预订借书时间还书时间学生编号图书编号:借书信息实体借书信息实体ER图总图书信息实体ER图:。图书简介是否预约是否借书图书编号国际标准书号总图书信息实体总图书信息实体E-R图4.系统设计:本系统功能实现分为三个模块:系统管理模块、图书管理模块、和用户查询模块.实现所有功能模块所涉及的公用类类包括:编号类名功能说明1DbCon封装数据库连接及操作类2ChineseFilter解决中文
8、乱码的过滤器3QueryDaoImpl封装所有数据的查询操作(1) DbCon类该类的功能:数据库连接及关闭.返回值方法名功能参数说明ConnectiongetConnection()连接数据源return connResultSetexecuteQuery(String sql) 执行数据库查询语句return resultResultSetexecuteUpdate(String sql)执行数据库插入、删除语句return resultvoidclose()关闭数据库(2)ChineseFilter类该类的功能:编码转换。返回值方法名功能参数说明voidinit(FilterConfig
9、 config)过滤器初始化voiddoFilter(ServletRequest request, ServletResponseresponse,FilterChainchain)编码转换voiddestroy()过滤器销毁(3) QueryDaoImpl类该类的功能:所有数据的查询操作.返回值方法名功能参数说明ArrayListlistAlluser()显示所有用户信息adduser adArrayListlistAlladmin()显示所有管理员信息 addadmin adArrayListlistAllbook()显示所有书籍信息addbook adArrayListlistcate
10、gory()显示所有类别信息category adArrayListlistbookaddr()显示所有馆藏地信息bookaddr adArrayListlistAlluserbook()显示所有用户借阅信息addbookdeal ArrayListlistAlluserorder()显示所有用户预约信息addbookdealArrayListlistAllbookdeal(String id)显示指定用户的在借书籍addbookdealArrayListlistAllhistory(String id)显示指定用户的历史借阅书籍信息addbookdealArrayListfindByAuth
11、or(Stringname,String key,Stringamount,Stringmodel,String result,String list)按条件查询并显示图书信息addbook adArrayListfindByNumber(String number)按借书卡号显示用户信息adduser adArrayListfindByadnumber(String number)按证件号显示管理员信息addadmin adArrayListfindByBookID(String id)按图书ID号显示书籍信息addbook adArrayListfindByBookname(String
12、name)按书目名称显示书籍信息addbook adArrayListfindBycategoryIDAll(String id)按类别ID信息类别信息category adArrayListfindByBookaddrID(String id)按馆藏地ID显示馆藏地bookaddr adStringfindByorder(String number,String bookid)显示指定用户、指定书目的预约状态无intinbookcheck(String checkid)按索书号显示可借书籍数目无inttotalbookcheck(String checkid)按索书号显示所有在馆书籍数目无4
13、。1xxx负责部分:用户登录模块用户登录分为普通读者、图书管理员和系统管理员登录.其中系统管理员本系统预设一位,通过Servlet实现其登录控制.普通读者和图书管理员登录通过读取数据库信息进行权限控制。文件结构图以普通读者为例如下所示:用户登录模块jsp页面列表如下表所示:jsp文件名功能login。jsp登陆界面check.jsp登录用户检测界面userinfo.jsp用户信息显示界面实现该功能模块所涉及的重要类包括:编号类名功能说明1adduser封装用户数据类2AccountDaoImpl普通用户和图书管理员登录验证(1) AccountDaoImpl类该类的功能:普通用户和图书管理员登
14、录验证。返回值方法名功能参数说明booleancheck(String name,String pw)普通读者登录验证无booleanadmincheck(Stringname,String pw)图书管理员登录验证无4。2书目借阅模块书目借阅模块jsp页面列表如下表所示:jsp文件名功能bookborrow。jsp录入借书卡号和图书ID号bookborrow1.jsp借阅处理及成功界面实现该功能模块所涉及的重要类包括:编号类名功能说明1addbookdeal封装用户借阅信息数据类2BookdealDaoImpl读者借书、还书等操作的处理类3QueryDaoImpl所有数据的查询操作(1) B
15、ookdealDaoImpl类该类的功能:读者借书、还书等操作的处理。返回值方法名功能参数说明intborrowbook()借书处理addbookdeal aminvoidbackbook()还书处理addbookdeal aminvoidbackbook1()更新归还的书籍和还书的用户的信息addbookdeal aminvoidorderbook(String id,String bookid)图书预约处理addbookdeal aminvoidpay(String error)用户违章罚款处理addbookdeal aminintcontinuebook(Stringid,Stringb
16、ookid)图书续借处理addbookdeal amin5。系统设计与实现学生客户端界面设计:学生客户端登录界面图书管理系统界面学生客户端资源结构学生客户端java类结构图主要java类,其中DBHelper。java文件为程序所涉及到的数据库代码,内涵所有调用数据库的代码。MainActivity。java文件为主要核心代码,程序主界面的操作代码。其余类为程序辅助类学生客户端页面布局文件6.实验总结在这次课程设计的过程中,我得到了许多人的帮助。在课程设计完成之际,我想向曾经给我帮助和支持的人们表示衷心的感谢。 回想整个设计过程,虽有不易,却让我除却浮躁,经历了思考和启示,不仅提高了我的动手能
17、力及自学能力,还知道了我的不足之处,还让我更加深切的体会了课程设计的精髓和意义,因此倍感珍惜。 我要感谢帮助我的同学,他们也为我解决了不少我不太明白的设计的难题,他们给了我无私的帮助和鼓励,给予的大量帮助和有益讨论让我从他们身上学到很多东西,他们是我学习、工作和生活上的伙伴,也是面对困难和挑战时的战友。同时也感谢学院为我提供良好的做设计的环境和实践机会,在大一到大四这段时间,我们已经经历了很多的实践设计,无一不是学校给我们的机会,让我们的的确确从看书的理论达到了实践的高度. 最后再一次感谢所有在设计中曾经帮助过我的良师益友和同学,本设计是在指导教师的悉心指导之下完成的.本毕业设计从选题到完成,几易其稿,每一步都是在指导老师的指导下完成的,倾注了指导老师大量的心血,再次我向我的指导老师表示深切的谢意与祝福!