图书馆管理系统Web程序设计课程设计Word格式.docx
《图书馆管理系统Web程序设计课程设计Word格式.docx》由会员分享,可在线阅读,更多相关《图书馆管理系统Web程序设计课程设计Word格式.docx(23页珍藏版)》请在冰豆网上搜索。
![图书馆管理系统Web程序设计课程设计Word格式.docx](https://file1.bdocx.com/fileroot1/2023-1/28/b5590858-c5b9-47d2-91ec-c483695d7efd/b5590858-c5b9-47d2-91ec-c483695d7efd1.gif)
经济可行性
目标系统开发需求比较低,加上具有成熟的软硬件环境,所以在软硬件的支出上十分有限。
而且,目标系统并不是十分的复杂,开发的周期较短,人员经济支出有限。
当系统开发完实际运行后,将很大程度上提高计算机的功能,在为使用者带来便利的同时,也为系统的进一步推广创造了条件。
这带来的经济回报将远超过支出,并且最重要的一点是该软件的开发可以给我们对系统的开发有个全面的认识。
从经济角度考虑,此信息系统开发可行。
技术可行性
此次信息系统开发是大学专业知识的一次综合应用与提高,我以自己的电脑完成系统开发。
我的电脑能满足系统开发的要求。
硬件完全可以胜任、从技术角度考虑,我将参考与查阅相关信息来完成此系统、因此此信息系统开发可行。
功能需求分析
待开发系统概述
立足于校园实际,着眼于未来发展,建成符合标准化协议、通用性较强、实用的系统,以提高图书信息的现代化管理水平,实现信息资源的共享。
图书管理系统是一种基于集中统一规划的数据库数据管理新模式。
在对图书、读者的管理,其实是对图书、读者数据的管理。
本系统的建成无疑会为管理者对图书管理系统提供极大的帮助。
使用该系统之后,图书馆管理人员可以管理读者的登记、图书的购入、借出、归还以及注销等;
还可以查询某位读者、某本图书的借阅情况,对当前借阅情况给出一些统计,给出统计表格,以全面掌握图书的流通情况。
本系统的宗旨是提高图书管理工作的效率,减少相关人员的工作量,使学校的图书管理工作真正做到科学、合理的规划,系统、高效的实施。
产品功能
(1)登录系统:
注销用户、系统退出。
(2)管理:
用户管理、图书管理、读者管理、借阅管理。
(3)查询:
图书查询、读者查询、借阅查询。
(4)报表打印:
所有图书、借出图书、库存图书、所有读者。
(5)帮助:
使用说明、关于。
(6)图书管理员不定期地对图书信息进行添加、修改和删除等操作,在图书尚未归还的情况下不能对图书信息进行删除。
也可以对读者信息进行添加、修改、删除等操作,在读者还有未归还的图书的情况下不能进行删除读者信息。
系统管理员主要进行图书管理员权限的设置、读者类别信息的设置、图书类别的设置以及罚款和赔偿标准的设置、数据备份和数据恢复等处理。
系统性能分析
为了保证系统能够长期、安全、稳定、可靠、高效的运行,图书管理系统应该满足以下的性能需求:
1.系统处理的准确性和及时性
系统处理的准确性和及时性是系统的必要性能。
在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足学校对信息处理的需求。
2.系统的开放性和系统的可扩充性
图书管理系统在开发过程中,应该充分考虑以后的可扩充性。
例如用户查询的需求也会不断的更新和完善。
3.系统的易用性和易维护性
图书管理系统是直接面对使用人员的,而使用人员往往对计算机并不时非常熟悉。
这就要求系统能够提供良好的用户接口,易用的人机交互界面。
要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;
针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。
4.系统的标准性
系统在设计开发使用过程中都要涉及到很多计算机硬件、软件。
所有这些都要符合主流国际、国家和行业标准。
第2章数据库设计
数据库概念级设计(E-R图)
实体图
图2-1管理员实体图
管理员实体的属性有:
登陆ID、密码。
图2-2读者实体图
读者实体的属性有:
卡号、密码、姓名、班级、性别等。
图2-3图书实体图
图书实体的属性有:
书号、书架、书名、单价、出版社等。
系统E-R图
图2-4系统E-R图
数据库逻辑级设计
表2-1读者信息表
序号
字段名
类型(宽度、精度)
取值约束
空否
默认值
主键/外键
注释
1
ReaderNum
varchar
15
否
无
是
卡号
2
Psw
20
密码
3
readerName
姓名
4
Class
Varchar
50
班级
5
Xibie
系别
6
Sex
性别
7
Borrownum
Int
已借数量
8
Other
其它
表2-2图书信息表
bookid
条形码
publish
出版社
bookname
书名
bookwriter
作者
price
float
单价
bookclass
类型
Shujia
书架
Kucun
库存
表2-3管理员信息表
adminid
ID
adminpwd
表2-4借阅信息表
Borrowdate
借出日期
Senedate
应还日期
第3章概要设计
系统功能设计
图3-1系统功能图
系统功能描述
1.登录模块
输入用户名和密码,如果用户名和密码正确,进入主控制平台;
否则提示用户明确的错误信息。
2.系统管理模块
(1)用户管理子模块:
用于系统管理员进行用户权限设置和用户的浏览,包括用户密码的用户权限的更改,同时为保障系统安全需要进行输入检验,并进行必要的信息提示。
一般用户不能使用该项功能。
(2)重新登录子模块:
其作用是提供用户在不退出系统的情况下可以用另外的账户登录系统。
(3)退出系统子模块;
退出系统。
3.读者管理子模块
(1)查询读者子模块:
用于查询特定读者的账号及其他信息。
(2)管理读者子模块:
用于管理由于各种原因引起的读者加入与减少,提供读者的添加删除及浏览功能。
4.图书管理子模块
包括以下几个功能模块:
(1)查询图书子模块:
用于查询图书借阅情况,帮助读者了解是否剩余有自己需要的图书。
(2)图书管理子模块:
用于在新书上架及图书因为各种原因丢失情况下图书的添加删除,将图书信息录入数据库。
(3)图书档案管理子模块:
对图书进行添加,删除,修改
(4)图书类型管理:
添加,删除图书的种类。
以便读者更快的查询到所需的书籍。
5.借书还书模块:
(1)借书子模块:
用于显示并更新借书记录。
(2)还书子模块:
用于显示并更新还书记录。
(3)借书总表子模块:
用于显示图书借阅信息。
6.报表管理模块:
包括读者报表,图书报表和借书报表,管理员表。
第4章详细设计与实现
详细设计概述
依据软件工程的基本原理,详细设计阶段的根本任务是确定应该怎样具体实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在系统实现阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。
具体来说就是把经过总体设计得到的各个模块详细的加以描述。
AdminManage类:
包含添加、删除、修改管理员的方法。
BookcaseManage类:
书架信息的添加、删除、修改。
BookManage类:
图书信息的添加、删除、修改。
DataBase类:
数据库的创建链接。
BrrowandBackManage类:
图书的借还操作方法的类。
ReaderManage类:
主要包含读者的添加,删除,修改信息的操作的方法。
Images文件夹:
程序中用到的图片放在此文件夹中。
系统详细设计
登陆页面
登陆页面采用简单的DIV分层和CSS布局,以及表格table以及背景图的结合设计出一个简洁的登陆界面,其中验证码是包含一个随机数生成的Random类的方法生成的。
图4-1登陆页面设计
后台代码如下:
publicpartialclassLogin:
OperatorClassoperatorclass=newOperatorClass();
AdminManageadminmanage=newAdminManage();
ReaderManagereadermanage=newReaderManage();
protectedvoidPage_Load(objectsender,EventArgse)
{
}
protectedvoidbtnLogin_Click(objectsender,EventArgse)
if==
("
<
script>
alert('
管¨
¹
理¤
¨
ª
员¡
À
名称不能¨
为a空!
ê
'
)<
/script>
"
);
return;
else
DataSetadminds=null;
DataSetreaderds=null;
=;
adminds=(adminmanage);
=;
readerds=(readermanage);
if[0].>
0&
&
==["
CheckCode"
].Value)
Session["
Name"
]=;
elseif[0].>
readid"
role"
]="
Reader"
;
登录名或°
密码不正确'
protectedvoidbtnCancel_Click(objectsender,EventArgse)
===;
图书添加
图书添加页面有多个Label,TextBox控件,以及一定数量DropdownList控件调用BookManage类中的方法进行图书的添加。
图4-2添加图书页面
publicpartialclassBookManage_AddBook:
ValidateClassvalidate=newValidateClass();
BookcaseManagebookcasemanage=newBookcaseManage();
BTypeManagebtypemanage=newBTypeManage();
BookManagebookmanage=newBookManage();
="
添加修改图书¦
信息页面"
if(!
IsPostBack)
DataSetbcaseds=("
tb_bookcase"
=bcaseds;
name"
();
DataSetbtypeds=("
tb_booktype"
=btypeds;
typename"
if(Request["
bookcode"
]==null)
=true;
=}
==true;
=Request["
].ToString();
DataSetbookds=(bookmanage,"
tb_bookinfo"
=[0].Rows[0][1].ToString();
=[0].Rows[0][2].ToString();
=[0].Rows[0][3].ToString();
=[0].Rows[0][4].ToString();
=[0].Rows[0][5].ToString();
=[0].Rows[0][6].ToString();
=[0].Rows[0][7].ToString();
=[0].Rows[0][8].ToString();
=[0].Rows[0][9].ToString();
=[0].Rows[0][10].ToString();
=[0].Rows[0][11].ToString();
protectedvoidbtnAdd_Click(objectsender,EventArgse)
ValidateFun();
if(bookmanage,"
).Tables[0].>
0)
=+(bookmanage,"
).Tables[0].Rows[0][9].ToString());
(bookmanage);
protectedvoidbtnSave_Click(objectsender,EventArgse)
=========;
protectedvoidValidateFun()
if=="
)
图书条形码不能为空!
location='
javascript:
(-1)'
图书名称不能为空!
图书价格输入有误!
图书º
页码输入有误!
图书¦
库存量输入有误!
}
借阅图书
图4-3图书借阅页面
图书借阅代码如下:
publicpartialclassBookBRManage_BorrowBook:
RTypeManagertypemanage=newRTypeManage();
BorrowandBackManageborrowandbackmanage=newBorrowandBackManage();
图书借阅页面"
if(Session["
]=="
=Session["
gvBInfoBind();
protectedvoidbtnSure_Click(objectsender,EventArgse)
读者编号不能为空!
DataSetreaderds=(readermanage,"
tb_reader"
该读者不存在!
DataSetrtypeds=(rtypemanage,"
tb_readertype"
gvBRBookBind();
readerid"
protectedvoidgvBookInfo_PageIndexChanging(objectsender,GridViewPageEventArgse)
protectedvoidgvBorrowBook_PageIndexChanging(objectsender,GridViewPageEventArgse)
protectedvoidgvBookInfo_RowUpdating(objectsender,GridViewUpdateEventArgse)
请输入读者编号!
if[0].Rows[0][13].ToString())>
=)
您最多可以借"
++"
本书!
=();
=[].();
==[].Cells[2].Text;
intdays=(btypemanage,"
).Tables[0].Rows[0][2].ToString())