基于Android的图书管理系统设计.docx
《基于Android的图书管理系统设计.docx》由会员分享,可在线阅读,更多相关《基于Android的图书管理系统设计.docx(39页珍藏版)》请在冰豆网上搜索。
基于Android的图书管理系统设计
集团标准化办公室:
[VV986T-J682P28-JP266L8-68PNN]
基于Android的图书管理系统设计
2012届毕业设计
基于Android的图书管理系统设计
BOOKSMANAGEMENTSYSTEMFORANDROIDPLATFORM
学
院:
经济管理学院
专
业:
信息管理与信息系统
班
级:
2008级081班
学
号:
4
学生姓名:
杨海燕
指导教师:
荣珏
二○一二年五月四日
浙江科技学院毕业设计、学位论文
版权使用授权书
本人杨海燕学号4声明所呈交的毕业设计、学位论文《基于Android的图书管理系统设计》,是在导师指导下进行的研究工作及取得的研究成果。
除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,与我一同工作的人员对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。
本毕业设计、学位论文作者愿意遵守浙江科技学院关于保留、使用学位论文的管理办法及规定,允许毕业设计、学位论文被查阅。
本人授权浙江科技学院可以将毕业设计、学位论文的全部或部分内容编入有关数据库在校园网内传播,可以采用影印、缩印或扫描等复制手段保存、汇编毕业设计、学位论文。
(保密的学位论文在解密后适用本授权书)
论文作者签名:
导师签名:
签字日期:
年月日签字日期:
年月日
内容摘要
随着移动通信技术的发展,Android智能机的不断普及,为图书管理系统提供了良好的机遇。
结合数字图书馆与移动通信技术,用户可以随时随地访问图书馆的数字资源,进行信息查询和电子阅读,通过为用户提供实时性和个性化服务,提升用户满意度,提高图书馆的服务效率。
同时,也能促进传统图书馆的发展,提高其竞争优势。
本文就是为满足用户对图书馆服务实时性和便捷性的要求,研究基于android平台的图书管理系统客户端。
首先,简述了android版图书管理系统的必要性;其次,绍了实现本系统时所用到的相关技术;然后,研究android版图书管理系统的流程及各个功能模块的组成;最后指出系统的具体设计和实现过程。
关键词:
android、图书管理系统、客户端。
ABSTRACT
AlongwiththedevelopmentofmobilecommunicationtechnologyandtheincreasingpopularityofAndroidsmartphone,provideagoodopportunityforbooksmanagementsystem.digitallibraryandmobiletechnology,userscanaccessthelibrary'sdigitalresourcesatanytimeandplace,queringinformationandreadingelectronicbooks.Throughprovidinguserwithreal-timeandpersonalizedservices,itcanimprovescustomersatisfactionandlibrary'sserviceefficiency.Atthesametime,italsocanpromotethedevelopmentoftraditionallibrary,improveitscompetitiveadvantage.
Thispaperistomeettheuser'sthatprovidewithreal-timeandconvenienceservice,studingbooksmanagementsystemclientbasedonandroidplatform.Firstofall,thispaperdescribesthenecessityofbooksmanagementsystembasedonandroidplatform;Second,relevanttechnologyusedbythesystem;Then,discusstheprocessandthecompositionofeachfunctionmoduleofthissystem;Atlast,itpointsoutthatthesystem'sspecificdesignandimplementationprocess.
KEYWORDS:
android,booksmanagementsystem,client
正文目录
第一章引言
第一节选题背景
移动通信技术的不断发展,web应用技术的进一步创新,移动互联网将为互联网发展提供一个新的平台,为各种传统的互联网业务注入新的活力。
移动互联网可以让用户“随时、随地、随心”的享受便捷的服务,为用户提供更丰富的业务、更个性化的服务。
据国家互联网信息办公室副主任钱小芊指出,中国移动终端使用数量已经超过计算机数量,中国移动手机上网数量达到亿,这意味着移动互联网的发展具有广阔的前景。
而在移动互联网时代,最耀眼的明星莫过于智能机了。
2011年,全球智能手机的销量将达到4.5亿台,剧预计,在2014年智能机的数量将占手机市场的45%。
而iphone、android、symbian、windowsphone4款手机操作系统,是目前市场是最受欢迎、占据最大市场份额的手机平台。
移动互联网的发展将成为互联网发展新一代的动力,这也为传统的图书馆业务提供了新的发展空间。
随着智能机的普及,越来越多的企业把自己的业务推向移动互联网,开发出属于自己的客户端。
从众多数据分析报告中,企业的管理者逐渐意识到移动互联网的重要性,它将成为未来企业家的主要竞争领域。
因此,企业投入了大量的资源在手机客户端的开发上,纷纷推出自己的客户端。
其中,iphone和android应用程序数量增长迅速,涉及到了人们生活的各个方面,如娱乐、休闲、办公等,都可以在网上搜索到相关的应用程序。
淘宝有自己的淘宝客户端,买家无需打开浏览器即可逛遍淘宝;手机版阿里旺旺客户端为用户和卖家之间建立起有效的沟通途径;淘宝卖家版客户端转为卖家提供办公服务,在手机上就可查看、管理订单;手机支付解决了交易的一大障碍。
无疑,淘宝通过推出自己的客户端,将业务延伸到移动终端上,这种新的商业模式,将为淘宝带来无限商机与利润空间。
小到一家淘宝网店,也不忘推出自家店铺的手机客户端,希望通过这个手段来增加买家的再次访问和购买率。
可以说,手机客户端已经渗透到生活的每一个细节,它正在默默的改变着人类的生活方式。
传统的信息服务机构之一“图书馆”,拥有大量的注册用户量和访问需求量,它完全可以利用移动互联网这个平台来延伸自己的服务,为用户提供更具有实时性和个性化的便捷服务,提升图书馆的工作效率和服务水平。
国内外也有许多机构正在研究手机图书馆,试图推动图书馆向随时随地提供便捷服务的方向发展。
研制一款图书管理系统客户端,可以节约读者的时间和精力,无需专门跑到计算机前查询图书及馆藏地址;可以减少计算机的采购数量和维修成本,即节约图书馆的经营成本;克服地域限制,达到更大的资源共享;通过手机访问图书馆、阅读电子书,提高读者的积极性,扩大教育的意义;提升了图书馆的竞争优势。
围绕以上目标,本人设计了android版图书管理系统,方便读者查询书籍,供读者进行借阅信息浏览、续借;方便管理员查询、编辑信息。
争取提高图书馆的服务效率,为读者提供随时随地、更加便捷的服务,提升读者满意度,提高图书馆的竞争力。
第二节选题内容
本系统是针对高校图书管理系统的业务流程,主要包括图书查询(名称查询、分类查询、高级查询)、新书推荐、热门推荐、读者登录、读者借阅信息浏览、读者续借、管理员登录、图书借/还、新书入库、办理借书证、读者信息编辑、图书信息编辑、借阅信息查找、到期提醒(邮件和短信方式)等业务模块。
另外,为本系统设计了自动化测试方案,以上提到的功能几乎都有相应的自动化测试用例,为完成系统编码后的系统测试节约了时间。
本系统基于android平台,用java语言编写,eclipse作为开发工具,以SQLite作为后台数据库。
既可以运行在真实的手机设备上,又可以在计算机上,运行在模拟器中。
另外自动化测试工具使用Robotium,主要针对功能测试,通过获取界面上的控件并对控件的事件进行操作,模拟人机交互的过程。
第一章
技术解析
第一节Android介绍
一、概述
Android,是一款基于Linux内核的移动操作系统,它包含一个操作系统、中间件和关键应用,主要用于移动设备。
最初android系统是由开发,主要支持手机设备。
2005年被谷歌收购并注资,联合多家制造商组成手机联盟,共同开发改良,逐渐扩展到平板电脑等其他移动终端设备。
Android系统推出后,仅仅两年时间便超过了symbian系统,成为最受全球人们欢迎的手机平台。
Android最早的版本为android,现在已经发行到android版本,每个新版本的推出都伴随着新的功能,令android平台变得越来越强大。
Android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和linux核心层。
应用程序层包含email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等,会同android一起发布,主要用java语言写的。
应用程序框架,可以供开发人员访问。
该框架的设计简化了组件的重用性,任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块。
隐藏在每个应用后面的是一系列的服务和系统,其中包括视图、内容提供器、资源管理器、通知管理器、活动管理器。
系统运行库又可以分为程序库和Android运行库。
其中程序库包含一些以C/C++编写的库,通过Android应用程序框架为开发者提供服务,如一些核心库:
Bionic系统C库、媒体库、SurfaceManager、Webkit,LibWebCore、SGL、SQLite。
Android运行库,提供了JAVA语言核心库的大多数功能。
每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。
Dalvik虚拟机执行(.dex)的Dalvik可执行文件,该格式文件针对小内存使用做了优化。
最底层是Linux内核层,Android的核心系统服务依赖于Linux内核,如安全性,内存管理,进程管理,网络协议栈和驱动模型。
Linux内核也同时作为硬件和软件栈之间的抽象层。
二、Android特点
(一)开放性。
android平台是开源的,受到广大开发者和移动设备制造商推崇。
开源意味着开发人员可以深入了解代码,做二次开发,有了更大的选择余地与发展空间。
任何一个用户,如果自己懂一点开发知识,也可以写一些程序运行在手机上,非常方便。
(二)Dalvik虚拟机。
Dalvik虚拟机是android平台的重要部件之一,它对小内存使用做了优化,可以同时运行多个虚拟机的实例。
Dalvik虚拟机运行Java应用程序,但是,它与标准的Java虚拟机有些区别。
第一,JVM是基于栈结构的,但是Dalvik是基于寄存器,选择基于寄存器的方式是因为它对提前优化提供了更好的支持,在性能有很大的提升。
第二,Dalvik运行java应用程序,是执行(.dex)Dalvik可执行文件,.dex格式是一种压缩格式,专为Dalvik设计的。
它可以减少整体文件尺寸,而且还提高了I/O操作的类查找速度,因而更适合内存和处理器速度有限的系统。
(三)中间件。
Android中间件是操作系统和应用程序之间沟通的桥梁,android包含很多有特殊的中间件。
Android浏览器是基于webkit(一个开源的浏览器引擎),android采用OpenCORE作为基础多媒体框架,使用skia为核心图形引擎,搭配OpenGL/ES,Android的多媒体数据库采用数据库系统,用户可通过ContentResolver类访问共用数据库的数据。
(四)应用构成。
Android应用程序一般由以下四个部分构成:
Activity、IntentReceiver、Service、ContentProvider。
Activity类负责创建视图,一个活动中的Activity就是在屏幕上展示的界面,Service是运行在后台的服务。
当接收电话、短信等,是由IntentReceiver处理,即广播接收器。
ContentProvider是内容提供者,封装了很多上下文环境,用来访问各种资源。
(五)界面布局。
Android提供多种布局管理器,如FrameLayout(框架布局)、LinearLayout(线性布局)、TableLayout(表格布局)、AbsoluteLayout(绝对布局)、RelativeLayout(相对布局),从而使用各种尺寸的屏幕。
如果开发者不满足于系统提供的控件,还可以开发自定义控件。
第二节SQLite数据库系统介绍
一、概述
SQLite诞生于2000年5月,是一款轻便型数据库。
它的设计目标是嵌入式的,占用资源非常低,支持Windows/Linux/Unix等操作系统,只需要几百K的内存就足够了。
它能够结合Tcl、C#、PHP、Java等多种语言,拥有ODBC接口,但比起Mysql、PostgreSQL这两款开源的数据库系统来说,处理速度要更快。
SQLite虽然占用内存小,但是一样支持SQL语句,同时还支持事务处理等功能。
SQLite操作起来简单,又支持跨平台,能够使用很多语言直接创建数据库,如果你想开发一个小型应用,SQLite将是你最好的选择。
二、SQLite的特点
SQLite拥有很多特点,首先它是嵌入式的。
SQLite设计的目标就是嵌入式,它占用的资源非常少,在被嵌入到设备中时,只需要几百K的内存即可,而且处理速度也很快。
SQLite支持事务处理功能,使用前无需特殊配置,支持多种开发语言和操作系统。
SQLite允许忽略数据类型,这意味着你可以保存任何类型的数据到任何表的任何列中。
多个线程或进程可以访问同一个数据库,SQLite支持并行的多个读访问。
SQLite操作简单、独立,没有额外的依赖,资源开放,你可以用于任何用途。
第三节结构化系统分析与设计方法
一、基本思想
结构化分析方法的核心是一种自顶向下逐层分解、由粗到细、由复杂到简单的求解方法。
它包含两个基本的手段,即“分解”和“抽象”。
“分解”就是把大问题分解成多个小问题,然后逐一解决。
“抽象”就是抓住主要问题忽略次要问题,首先集中精力解决主要问题然后再想办法解决次要问题。
具体来说,就是将一个完整的系统开发过程进行分解,划分成若干个阶段,如系统规划、系统分析、系统设计、系统实施等。
在调查和整理系统业务的过程中,应该遵从至上而下的规则,首先从管理层业务入手,然后往下分解至最基层。
在系统分析时,先抓住主要问题,考虑整体的优化,然后再考虑局部问题,进行局部优化。
但是系统实施恰好相反,应该采用自底向上的逐步实施。
二、SSA&D的优缺点
(一)优点
1.结构化分析方法简单、清晰,易于学习掌握和使用。
在系统研制的每一阶段和骤都有详细的文字资料记载,资料由专人保管,便于管理和查询。
2.结构化分析的实施过程是结构化、模块化、自顶向下进行分析。
在分析问题时,应首先站在整体的角度,将各项具体的业务和组织放到整体中加以考察。
自顶向下分析设计:
首先确保全局的正确,再层层的深入考虑和处理局部的问题。
3.结构化分析采用了图形描述方式,用数据流图为即将开发的系统描述了一个可见的模型,也为相同的审查和评价提供了有利的条件。
(二)不足
长期使用的过程中,结构化分析方法也暴露出了一些薄弱环节甚至是缺陷,主要体现在以下几点:
1.所需文档资料数量大。
使用结构化方法人们必须编写数据流图、数据字典、加工说明等大量文档资料,而且随着对问题理解程度的不断加深或者用户环境的变化,这套文档也需不断修改,这样修改工作是不可避免的。
然而这样的工作需要占用大量的人力物力,同时文档经反复变动后,也难以保持其内容的一致性,虽然已有支持结构化分析的计算机辅助自动工具(如前面介绍过的PSL/PSA)出现,但要被广大开发人员掌握使用,还有一定困难。
2.不少软件系统,特别是管理信息系统,是人机交互式的系统。
对交互式系统来说,用户最为关心的问题之一是如何使用该系统,如输入命令、系统相应的输出格式等,所以在系统开发早期就应该特别重视人机交互式的用户需求。
但是,结构化分析方法在理解、表达人机界面方面是很薄弱的,数据流图描述和逐步分解技术在这里都发挥不了特长。
3.结构化分析方法为目标系统描述了一个模型,但这个模型仅仅是书面的,只能供人们阅读和讨论而不能运行和试用,因此在澄清和确定用户需求方面能起的作用毕竟是有限的。
从而导致用户信息反馈太迟,对目标系统的质量也有一定的影响。
综上所述,结构化分析方法是有效的,但结构化分析方法也不是完美无缺的,它同样有许多局限之处。
我们应该灵活掌握结构化分析方法的基本思想,在实际开发过程中,要结合项目的特点和差异,从而做到灵活运用,这样才能较好地完成系统分析任务。
三、SSA&D开发系统的一般过程
(一)系统请求
问题提出的过程。
(二)系统规划与初步调查
系统现行状态以及可用资源进行初步调查;明确问题,确定系统目标和总体结构,确定分阶段实施进度;进行可行性分析研究与书写可行性报告。
(三)系统分析
现行系统进行组织结构分析、业务功能分析、业务流程分析、数据以及数据流程分析、功能-数据分析,然后提出新系统的逻辑模型,并对旧有系统进行改进。
(四)系统设计
主要包括系统总体结构设计、代码设计、数据库/文件设计、I/O设计、模块功能设计和处理过程设计。
(五)系统实施
首先,由程序员进行程序设计。
其次,由系统分析设计人员培训业务人员和操作人员针对系统的使用人员进行培训。
然后,由业务人员进行数据库准备。
最后,对完成的系统进行调试与切换。
(六)系统运行
业务人员对系统的日常运行进行维护,系统操作人员对系统运行效果进行评价。
第三章系统分析
第一节需求分析
一个简单的图书管理系统,应该站在读者和管理员使用的角度来分析,包含公用的部分和各自特有的部分。
读者和管理员共享的功能主要图书查询功能,另外还有查看最新书籍和热门书籍。
读者特有的部分是历史借阅信息的浏览、办理续借功能等。
而管理员特有的应该包括办理借书证、新书入库、图书信息编辑、读者信息编辑、借阅记录查询、到期提醒等。
各模块的具体需求如下:
图书查找。
可以分为以下三种查找模式:
按书名查找、按分类查找、高级查找(书名、作者、出版社)。
查询的结果应包含书名、编号、类别、余量、作者、索书号、出版社等信息。
新书推荐。
该功能展示图书馆最新入库的前三名书籍,每条显示信息应包含书名、入库时间、可借数量、作者、出版社、索书号等信息。
热门推荐。
该功能展示累计出借次数最多的前三名书籍。
每条显示信息应包含书名、出借次数、可借数量、作者、出版社、索书号等信息。
读者借阅信息浏览。
读者登录后展示该读者未归还的借书信息,展示的信息应包含书名、借阅日期、剩余天数、是否续借。
读者续借。
对于未超期且未续借过的图书,读者可以进行续借。
图书借/还。
当以管理员的身份登录后,可以进行借书/还书操作;同一本书在归还之后方可再借。
新书入库。
由管理员负责录入图书的详细信息,包括图书编号、名称、类别、数量、作者、出版社、索书号。
办理借书证。
由管理员负责录入读者的编号、名称、密码、邮箱、日期。
读者信息编辑。
由管理员负责输入读者编号查询,可以对该读者信息进行修改、更新,删除。
图书信息编辑。
由管理员负责输入图书编号查询,可以对该图书信息进行修改、更新,删除。
借阅信息查找。
由管理员负责输入读者名称或图书名称进行查询,支持模糊查找。
到期提醒。
对所有7天以内到期或者已经超期的读者,管理员可以选择以短信或者邮件方式提醒。
登录功能。
分为管理员登录和读者登录,同时只能以一种方式登录。
第二节可行性分析
一、技术可行性
Android,是一款基于Linux内核的移动操作系统,安全性很高,而且它还是一款开源的软件,由google公司提供。
也正因为它的开源,使它聚集了超高的人气,拥有强大的软件开发工程师队伍进行开发和优化,从而发展的非常迅速,许多移动设备供应商也加到了该行列之中,参与到开发和完善android系统。
android有很多特点,但是最重要的一个是它的Dalvik虚拟机。
它对小内存使用做了优化,可以同时运行多个虚拟机实例,应用程序可以同时运行,也就是说用户可以一边听音乐,同时阅读邮件。
它的程序库包含一些以C/C++编写的库,通过Android应用程序框架为开发者提供服务,如一些核心库:
Bionic系统C库、媒体库、SurfaceManager、Webkit,LibWebCore、SGL、SQLite等。
Android已经建立在基于开源的WebKit引擎浏览器,强大的SQLine数据库上,用于数据存储。
Android支持常用的音频、视频、图片格式,如AAC,MPEG4,,MP3,AMR,它还支持多种的开发环境,包含一个模拟器(用于调试的工具),一个Eclipse插件。
二、经济可行性
由于android系统是开源的,所以不需要支付额外的软件费用。
图书管理系统业务相对稳定和简单,各模块功能的操作逻辑也相对简单,所以开发这个系统所消耗的人力资源也比较少。
加上需求调研相对容易和稳定,开发周期会相对较短。
数据库SQLite又是开源的软件,可以直接运行在android设备上。
提供了手机客户端之后,方便服务学生,减少图书馆的台式机数量和维护费用,能为图书馆间接节约经费。
三、运营可行性
系统开发出来之后,必须要有人使用才能发挥其价值,不然就是白白投资。
对于android版图书管理系统而言,依托的是当下智能机市场占有率最高的移动终端平台,因为其普及而带来该系统运营的可行性。
读者进入图书馆后,只要打开手机中的应用程序,就能得知需要的书籍对应的索书号,从而节约了去排队等候查询和抄写索书号的麻烦之举。
当借的书收到快到期的通知时,可以打开手机就完成续借免去遗忘而造成被扣费的风险。
当想得知想要的书图书馆里是否存在或可借时,也可以通过手机完成搜索而迅速得知,非常方便。
这些需求构成了android版图书管理系统能够成功运营的强大基础,读者方便了,满意度提高了,自然图书馆的发展也就更好了。
综上所述,android版图书管理系统的开发是完全可行的。
第三节系统的业务流程分析
业务流程指组织的业务活动过程,业务流程分析是对业务功能分析的进一步细化。
如图3-1的业务流程图,就是表明了本系统中主体之间的业务关系及作业顺序。
图3-1图书管理系统业务流程图
当收到新书采购人员采购回来的新书之后,进行新书入库,存到图书信息表中,然后管理员有权进行编辑。
管理员为读者办理借书证以后,记录