JAVAEE课程设计图书馆里系统Word文档格式.docx
《JAVAEE课程设计图书馆里系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《JAVAEE课程设计图书馆里系统Word文档格式.docx(20页珍藏版)》请在冰豆网上搜索。
计算机的最大好处在于利用它能够进行信息管理。
使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。
尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。
计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。
本系统就是为了管理好图书馆信息而设计的。
图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。
根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。
数据信息处理工作量大,容易出错;
由于数据繁多,容易丢失,且不易查找。
总的来说,缺乏系统,规范的信息管理手段。
尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。
数据处理手工操作,工作量大,出错率高,出错后不易更改。
图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;
一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。
如要对很长时间以前的图书进行更改就更加困难了。
基于这些问题,我认为有必要建立一个图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。
二、需求分析:
一直以来人们使用传统的人工方式管理图书管的日常工作,对于图书管的借书和还书过程,想必大家都很熟悉。
在计算机尚未在图书管广泛使用之前,借书和还书过程主要依靠手工。
一个最典型的手工处理还书过程就是:
读者将要借的书和借阅证交给工作人员,工作人员将每本书上附带的描述书的信息的卡片和读者的借阅证放在一个小格栏里,并在借阅证和每本书贴的借阅条上填写借阅信息。
这样借书过程就完成了。
还书时,读者将要还的书交给工作人员,工作人员根据图书信息找到相应的书卡和借阅证,并填好相应的还书信息,这样还书过程就完成了。
以上所描述的手工过程的不足之处显而易见。
首先,处理借书还书的业务流程的效率很低;
其次,处理能力比较低,一段时间内,所能服务的读者人数是有限的。
利用计算机来处理这些流程无疑会极大程度地提高效率和处理能力。
我们将会看到排队等候借书、还书的队伍不再那么长,工作人员出错的概率也小了,读者可以花更多的时间在选书和看书上。
为方便对图书管书籍、读者资料、借还书等进行高效的管理,特编写该程序以提高图书管的管理效率。
使用该程序之后,管理人员可以查询某位读者图书的借阅情况。
本次毕业设计“图书借管理系统”主要是利用.NET技术编制的一个管理软件,用以实现图书、借阅者以及日常工作等多项管理。
同时对整个系统的分析、设计过程给出一个完整论证。
图书借阅管理系统是一种基于集中统一规划的数据管理新模式。
在对图书、读者的管理,其实是对图书、读者数据的管理。
本系统的建成无疑会为管理者对图书管理系统提供极大的帮助。
目前,在大多数图书管理中,查找图书都是采用传统的查询方法,让读者在图书分类架上一本一本地去查找,这样不仅很难找到自己所需要的图书,且费时费力。
而图书管理员在办理借书登记、查询读者借书记录时,管理人员必须在借书记录上一个一个去查找,而要找到借书记录并删除该记录是件很麻烦的事情。
每当新书入库时,图书管理员既要填写新书入库卡片,又要填写新书入库帐目,不仅工作量大,而且,在新书入库后要经历较长的时间方能借出。
为提高图书查询效率,减少图书管理员的工作负担,有必要开发一个小型图书管理软件来对图书实施有效管理。
该系统必须具备以下功能:
1.能对各类图书实行分类管理;
2.提供必要的读者信息;
3.能进行各种高级查询(如图书分类,图书编号的查询等);
这样不仅能较好地帮助读者在最短的时间内找到自己所需要的图书书目、编号,而且能让图书管理员以最高的效率办理借阅手续。
设计目标:
针对以上情况,决定构建一个图书借阅管理系统,要求该系统登录后实行图书管理。
包括可以对图书的查询、图书的借阅或还书手续,另外,图书管理员能根据需要通过该系统修改图书信息,增加或删除图书书目等。
该系统设有超级用户,当管理员以超级用户登录时,图书管理员有着最大的权限,能通过管理界面设置图书借阅期限和读者信息,并能有效地管理图书分类、读者信息及图书管理员的登录帐目等。
系统设计原则:
实用性原则适合于中小型图书管图书管理,用户界面友好,操作方便,具有高效的数据处理能力。
三、总体设计:
图书管理者的需求是查询图书馆所存的图书、借阅者的借阅情况及个人信息的修改;
图书馆工作人员对图书借阅者的借阅及还书要求进行操作,同时形成借书或还书查询给借阅者查看确认,可直接查看图书馆图书情况。
图书借阅者、图书进行管理和维护,及系统状态的查看、维护。
图书馆工作人员有修改图书借阅者借书和还书记录的权限,在此模块中,图书馆工作人员可以为图书借阅者加入借书记录或是还书记录。
系统功能详细模块设计图
四、详细设计
packageclassBookActionextendsActionSupport{
etBookTypeId());
(bookType);
(book);
("
message"
"
图书添加成功!
"
));
return"
add_success"
;
}catch(Exceptione){
();
error"
图书添加失败!
}
}
/*查询图书信息*/
publicStringQueryBook(){
if(barcode==null)barcode="
if(null==bookName)bookName="
if(currentPage==0)currentPage=1;
List<
Book>
bookList=(barcode,bookName,bookType,currentPage);
(barcode,bookName,bookType);
图书更新成功!
modify_success"
图书更新失败!
/*删除图书*/
publicStringDeleteBook(){
ActionContextctx=();
try{
(barcode);
图书删除成功!
delete_success"
图书删除失败!
}
packageclassBookTypeActionextendsActionSupport{
/*业务层对象*/
BookTypeDAObookTypeDAO=newBookTypeDAO();
privateBookTypebookType;
publicBookTypegetBookType(){
returnbookType;
publicvoidsetBookType(BookTypebookType){
=bookType;
publicStringAddView(){
return"
add_view"
@SuppressWarnings("
deprecation"
)
publicStringAddBookType(){
/*验证图书类别名称是否已经存在*/
StringbookTypeName=();
if(bookTypeName)==1){
该类别名称已经存在!
}
图书类别信息添加成功!
图书类别信息添加失败!
/*查询图书类别信息*/
publicStringQueryBookType(){
BookType>
bookTypeList=();
("
bookTypeList"
bookTypeList);
query_view"
/*查询要修改的读者类别信息*/
publicStringModifyBookTypeQuery(){
BookTypedb_bookType=());
db_bookType"
db_bookType);
modify_view"
/*更新图书类别信息*/
publicStringModifyBookType(){
try{
图书类别信息更新成功!
图书类别信息更新失败!
/*删除图书类别*/
publicStringDeleteBookType(){
et("
username"
);
Adminadmin=(username);
if(!
().equals(oldPassword)){
旧密码不正确!
(username,newPassword);
密码修改成功!
change_success"
密码更新失败!
packageclassChangePasswordAction{
privateStringoldPassword;
privateStringnewPassword;
privateStringnewPassword2;
publicStringgetOldPassword(){
returnoldPassword;
publicvoidsetOldPassword(StringoldPassword){
=oldPassword;
publicStringgetNewPassword(){
returnnewPassword;
publicvoidsetNewPassword(StringnewPassword){
=newPassword;
publicStringgetNewPassword2(){
returnnewPassword2;
publicvoidsetNewPassword2(StringnewPassword2){
=newPassword2;
/*修改密码*/
publicStringexecute(){
if("
)){
旧密码必须输入!
新密码必须输入!
(newPassword)){
两次密码输入不一致!
Stringusername=(String)().get("
packageclassUserAction{
publicStringUserQuery(){
user_query_view"
packageclassAdminDAO{
/*保存业务逻辑错误信息字段*/
privateStringerrMessage;
publicStringgetErrMessage(){return;
/*验证用户登录*/
publicbooleanCheckLogin(Adminadmin){
Sessions=null;
s=();
Admindb_admin=(Admin),());
if(db_admin==null){
="
账号不存在"
returnfalse;
}elseif(!
().equals())){
密码不正确!
"
}
}finally{
returntrue;
/*修改用户登录密码*/
publicstaticvoidChangePassword(Stringusername,StringnewPassword){
Transactiontx=null;
tx=();
Admindb_admin=(Admin),username);
(newPassword);
(db_admin);
}catch(HibernateExceptione){
if(tx!
=null)
();
throwe;
/*根据用户名获取管理员对象*/
publicstaticAdminGetAdmin(Stringusername){
Admindb_admin=null;
db_admin=(Admin),username);
returndb_admin;
package图书信息类*/
publicclassBook{
/*条形码*/
privateStringbarcode;
/*图书名称*/
privateStringbookName;
/*图书类型*/
/*作者*/
privateStringauthor;
/*出版社*/
privateStringpublishAddress;
/*价格*/
privatefloatprice;
/*库存*/
privateintstockCount;
publicintgetStockCount(){
returnstockCount;
publicvoidsetStockCount(intstockCount){
=stockCount;
publicStringgetBarcode(){
returnbarcode;
publicvoidsetBarcode(Stringbarcode){
=barcode;
publicStringgetBookName(){
returnbookName;
publicvoidsetBookName(StringbookName){
=bookName;
publicStringgetAuthor(){
returnauthor;
publicvoidsetAuthor(Stringauthor){
=author;
publicStringgetPublishAddress(){
returnpublishAddress;
publicvoidsetPublishAddress(StringpublishAddress){
=publishAddress;
publicfloatgetPrice(){
returnprice;
publicvoidsetPrice(floatprice){
=price;
}
package图书类别*/
publicclassBookType{
/*类别编号*/
privateintbookTypeId;
/*类别名称*/
privateStringbookTypeName;
/*可借天数*/
privateintdays;
publicintgetBookTypeId(){
returnbookTypeId;
publicvoidsetBookTypeId(intbookTypeId){
=bookTypeId;
publicStringgetBookTypeName(){
returnbookTypeName;
publicvoidsetBookTypeName(StringbookTypeName){
=bookTypeName;
publicintgetDays(){
returndays;
publicvoidsetDays(intdays){
=days;
package
import
/**
*ConfiguresandprovidesaccesstoHibernatesessions,tiedtothe
*currentthreadofexecution.FollowstheThreadLocalSession
*patte