图书管理系统Word文件下载.docx
《图书管理系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《图书管理系统Word文件下载.docx(43页珍藏版)》请在冰点文库上搜索。
![图书管理系统Word文件下载.docx](https://file1.bingdoc.com/fileroot1/2023-5/4/3b22d3ef-63e2-43a7-8ea3-6e147ef127b6/3b22d3ef-63e2-43a7-8ea3-6e147ef127b61.gif)
可利用现有的服务器,装上IIS服务器软件,即可成为一台IIS服务器,客户只要连上INTERNET利用自己的机器即可使用系统,对企业不构成经济的负担,系统成本主要集中在系统软件的开发上,当系统投入运行后可以为企事业单位节约大量的人力,物力。
所带来的效益远远大于系统软件的开发成本。
在经济上完全可行。
本系统对系统开发者来说并不需要太高的成本支出,只是对系统的管理者付出管理报酬即可,而且开发周期不需要太长,节省了人力、物力、财力资源,所以本系统在经济上是可行的。
(2)技术上的可行性。
技术上的可行性分析主要是分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。
在软件方面,本系统采用的是ASP进行开发,前台网页设计使用的是MicrosoftVisualStudio2010,而数据库系统采用的是MicrosoftSQL2005。
通过分析,在软、硬件方面现有工具与环境完全可以实现系统的开发,因此具有技术上的可行性。
(3)时机可行性。
时机可行性是分析系统开发时机是否成熟。
目前越来越多的应用程序都已经是转向基于Web的开发,并且Internet已经广泛使用,因此系统的设计具有时机可行性。
(4)法律可行性。
本系统开发不会侵犯他人、集体或国家利益,不存在侵权等问题,不违反国家法律,因此具有法律可行性。
综上所述,本系统开发目标已明确,在技术和经济等方面具备可行性,并且投入少、见效快,因此系统的开发是完全可行的。
2.2.2需求分析
长期以来,人们使用传统的人工方式管理图书馆的日常业务,其操作流程比较繁琐。
在借书时,读者首先将要借的书和借阅证交给工作人员,工作人员然后将每本书的信息卡片和读者的借阅证放在一个小格栏里,最后在借阅证和每本书贴的借阅条上填写借阅信息。
在还书时,读者首先将要还的书交给工作人员,工作人员然后根据图书信息找到相应的书卡和借阅证,并填写相应的还书信息,了解用户的明确需求,WEB图书管理系统需要满足来自三方面的需求,这三个方面分别是图书借阅者、图书馆工作人员和图书馆管理人员。
图书借阅者的需求是查询图书馆所存的图书、个人借阅情况及个人信息的修改;
图书馆工作人员对图书借阅者的借阅及还书要求进行操作,同时形成借书或还书报表给借阅者查看确认;
图书馆管理人员的功能最为复杂,包括对工作人员、图书借阅者、图书进行管理和维护,及系统状态的查看、维护并生成催还图书报表。
图书借阅者可直接查看图书馆图书情况,如果图书借阅者根据本人借书证号和密码登录系统,还可以进行本人借书情况的查询和维护部分个人信息。
一般情况下,图书借阅者只应该查询和维护本人的借书情况和个人信息,若查询和维护其他借阅者的借书情况和个人信息,就要知道其他图书借阅者的借书证号和密码。
这些是很难得到的,特别是密码,所以不但满足了图书借阅者的要求,还保护了图书借阅者的个人隐私。
图书馆工作人员有修改图书借阅者借书和还书记录的权限,所以需对工作人员登陆本模块进行更多的考虑。
在此模块中,图书馆工作人员可以为图书借阅者加入借书记录或是还书记录,并打印生成相应的报表给用户查看和确认。
图书馆管理人员功能的信息量大,数据安全性和保密性要求最高。
本功能实现对图书信息、借阅者信息、总体借阅情况信息的管理和统计、工作人员和管理人员信息查看及维护。
图书馆管理员可以浏览、查询、添加、删除、修改、统计图书的基本信息;
浏览、查询、统计、添加、删除和修改图书借阅者的基本信息,浏览、查询、统计图书馆的借阅信息,但不能添加、删除和修改借阅信息,这部分功能应该由图书馆工作人员执行,但是,删除某条图书借阅者基本信息记录时,应实现对该图书借阅者借阅记录的级联删除。
并且还应具有生成催还图书报表,并打印输出的功能。
2.3数据库设计
(1)管理员权限设置表tb_admSet,如表1所示。
只有系统分配的用户才能操作图书馆管理系统,而用户的权限又各不相同。
表1管理员权限设置表
字段名
数据类型
长度
主键否
描述
userName
Varchar
80
否
管理员名称
systemSet
bit
1
系统设置
readerManage
读者管理
bookManage
图书管理
bookBorrow
图书借还
systemSearch
系统查询
(2)图书借阅表tb_bookBorrow,如表2所示。
图书借阅信息实体,用于存储所有图书借阅情况的信息,以准确地记录每本图书的借阅信息。
表2图书借阅表
bookBarcode
varchar
50
图书条形码
bookName
20
图书名称
borrowTime
datetime
8
借阅日期
returnTime
应还日期
readerBarCode
读者条形码
readerName
读者姓名
isReturn
是否归还
(3)书架信息表tb_bookcase,如表3所示。
图书馆对图书的分类,通常是将不同类型的图书分别放置在相应类型的书架上。
书架信息实体,用于存储图书馆中所有的书架信息。
表3书架信息表
bookcaseID
Int
4
是
书架编号
bookcaseName
书架名称
(4)图书信息表tb_bookInfo,如表4所示。
不同的图书,会有不同的图书信息。
对这些图书信息进行详细的记录,方便了图书的分类和查询。
图书信息实体,用于存储所有图书的相关信息。
表4图书信息表
bookBarCode
100
bookType
int
图书类型
bookcase
书架类别
bookConcern
出版社名称
author
作者名称
price
money
图书价格
borrowSum
借阅次数
(5)图书类型信息表tb_bookType如表5所示。
图书馆会有不同类型的图书,为了避免图书归类发生混乱,必须建立一个图书类型信息实体,用于存储图书的类型信息。
表5图书类型信息表
typeID
图书类型编号
typeName
类型名称
borrowDay
可借天数
(6)图书馆信息表tb_library,如表6所示。
每个事物都会有其自身的历史背景,图书馆也不例外。
为了记录图书馆的历史背景及其相关的信息,需要建立一个图书馆信息实体,用于存储图书馆的有关信息。
表6图书馆信息表
libraryName
图书馆名称
curator
馆长名称
tel
联系电话
address
200
联系地址
email
电子邮件
net
网址
upbuildTime
建馆时间
remark
500
备注
(7)读者类型信息表tb_readerType,如表7所示。
在读者群体中,会有不同的分类,例如借阅图书的读者可能是教师、学生和市民等,所以对读者人群进行有效的分类是至关重要的。
读者类型信息实体,用于存储读者的类型信息。
表7读者类型信息表
id
类型编号
type
num
可借数量
(8)读者信息表tb_readerInfo,如表8所示。
当有读者借阅图书时,要对读者的各项信息进行记录,以方便归还图书和已借阅图书的历史查询,读者信息实体,用于存储所有借阅图书的读者信息。
表8读者信息表
读者名称
sex
char
10
读者性别
readerType
读者类型
certificateType
证件类型
certificate
证件号码
(9)管理员信息表tb_user,如表9所示。
当管理员登录图书馆管理系统时,需要通过登录窗口验证成功后才能进入系统主页。
管理员信息实体,用于存储管理员的登录名称和登录密码。
表9管理员信息表
userId
管理员编号
userPwd
管理员密码
3.设计结果与分析
本网站共分系统设置、读者管理、图书管理、图书借还、系统查询以及更改口令等几大模块,其母版界面如图1所示。
图1母版页
3.1登录界面
登录界面,用户需要密码登录,进入系统,登录设计效果图如图2所示。
图2登录界面
其代码设计如下:
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Collections;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
publicpartialclassLogin:
System.Web.UI.Page
{
OperatorClassoperatorclass=newOperatorClass();
AdminManageadminmanage=newAdminManage();
ReaderManagereadermanage=newReaderManage();
protectedvoidPage_Load(objectsender,EventArgse)
{
}
protectedvoidbtnLogin_Click(objectsender,EventArgse)
if(txtAdmin.Text==string.Empty)
Response.Write("
<
script>
alert('
管理员名称不能为空!
'
)<
/script>
"
);
return;
else
DataSetadminds=null;
DataSetreaderds=null;
adminmanage.Name=txtAdmin.Text;
adminmanage.Pwd=txtPwd.Text;
adminds=adminmanage.Login(adminmanage);
readermanage.ID=txtPwd.Text;
readermanage.Name=txtAdmin.Text;
readerds=readermanage.ReaderLogin(readermanage);
if(adminds.Tables[0].Rows.Count>
0&
&
txtCode.Text==Request.Cookies["
CheckCode"
].Value)
Session["
Name"
]=txtAdmin.Text;
Response.Redirect("
Global/Default.aspx"
elseif(readerds.Tables[0].Rows.Count>
txtCode.Text==Request.Cookies["
readid"
]=txtPwd.Text;
role"
]="
Reader"
;
登录名或密码不正确!
protectedvoidbtnCancel_Click(objectsender,EventArgse)
txtAdmin.Text=txtPwd.Text=txtCode.Text=string.Empty;
}
3.2读者管理
3.2.1读者信息的添加与修改
输入读者的各项信息,即可添加或修改读者信息,如图3所示。
图3添加/修改读者信息页面
代码如下:
publicpartialclassReaderManage_AddReader:
ValidateClassvalidate=newValidateClass();
RTypeManagertypemanage=newRTypeManage();
this.Title="
添加/修改读者信息页面"
if(!
IsPostBack)
if(Request["
readerid"
]==null)
btnAdd.Enabled=true;
txtReaderID.Text=readermanage.GetReaderID();
txtBirthday.Text=txtDate.Text=DateTime.Now.ToShortDateString();
txtDate.Text=txtDate.Text=DateTime.Now.ToShortDateString();
btnSave.Enabled=true;
txtReaderID.Text=Request["
].ToString();
readermanage.ID=txtReaderID.Text;
DataSetreaderds=readermanage.FindReaderByCode(readermanage,"
tb_reader"
txtReader.Text=readerds.Tables[0].Rows[0][1].ToString();
ddlSex.SelectedValue=readerds.Tables[0].Rows[0][2].ToString();
ddlRType.SelectedValue=readerds.Tables[0].Rows[0][3].ToString();
txtBirthday.Text=readerds.Tables[0].Rows[0][4].ToString();
ddlPaperType.SelectedValue=readerds.Tables[0].Rows[0][5].ToString();
txtPaperNum.Text=readerds.Tables[0].Rows[0][6].ToString();
txtTel.Text=readerds.Tables[0].Rows[0][7].ToString();
txtEmail.Text=readerds.Tables[0].Rows[0][8].ToString();
txtDate.Text=readerds.Tables[0].Rows[0][9].ToString();
txtOper.Text=readerds.Tables[0].Rows[0][10].ToString();
txtRemark.Text=readerds.Tables[0].Rows[0][11].ToString();
DataSettypeds=rtypemanage.GetAllRType("
tb_readertype"
ddlRType.DataSource=typeds;
ddlRType.DataTextField="
name"
ddlRType.DataBind();
protectedvoidbtnAdd_Click(objectsender,EventArgse)
ValidateFun();
readermanage.Name=txtReader.Text;
if(readermanage.FindReaderByName(readermanage,"
).Tables[0].Rows.Count>
0)
该读者已经存在!
readermanage.Sex=ddlSex.Text;
readermanage.Type=ddlRType.Text;
readermanage.Birthday=Convert.ToDateTime(txtBirthday.Text);
readermanage.PaperType=ddlPaperType.Text;
readermanage.PaperNum=txtPaperNum.Text;
readermanage.Tel=txtTel.Text;
readermanage.Email=txtEmail.Text;
readermanage.CreateDate=Convert.ToDateTime(txtDate.Text);
readermanage.Oper=txtOper.Text;
readermanage.Remark=txtRemark.Text;
readermanage.AddReader(readermanage);
ReaderManage.aspx"
protectedvoidbtnSave_Click(objectsender,EventArgse)
readermanage.Sex=ddlSe