图书租借管理系统.docx
- 文档编号:17855779
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:42
- 大小:540.59KB
图书租借管理系统.docx
《图书租借管理系统.docx》由会员分享,可在线阅读,更多相关《图书租借管理系统.docx(42页珍藏版)》请在冰点文库上搜索。
图书租借管理系统
数据库系统课程设计报告
题目:
书刊租借管理信息系统
课程代号:
06888116
课程名称:
数据库系统课程设计
学号:
姓名:
班级:
2010级计算机1班
******
完成日期:
2013年5月
第一章引言
1.1设计的目的
书店从事出租图书、需实现图书的输入、查询、显示,书(碟)借、还等管理,归还时计算租金,并支付租金,书店用户分为会员用户和会员用户和一般用户包含姓名、电话等信息,图书也包含许多的基本信息,对于每次的租赁都要记录租赁物的信息以及借书人等情况,非常麻烦,书店租赁管理系统就是为了解决这些问题而被开发出来的,书店租赁管理系统完全能够满足书店的功能需求,并能方便的管理好书店的信息。
1.2所设计应用系统的任务及目标
1.2.1所设计应用系统的任务
主要功能:
对图书信息的查询、增加图书信息、对信息的修改、进行图书借出和归还
功能需求:
面向会员:
对图书信息的查询、对个人信息的修改
面向操作员:
对会员信息的修改,对图书信息的修改、图书的借出和归还
性能要求:
会员能在操作员增加完图书信息后看见操作员增加的图书,对其进行查询,同时操作员可以进行图书的出租,和计算应付的金额。
1.2.2所设计应用系统的目标
提供一个可以管理会员信息,可查询书籍和对书籍的出租进行管理的小系统
1.3设计开发及运行的软硬件环境
1)C#语言
C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。
它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏和模版,不允许多重继承)。
C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。
2)SQLSever2005介绍
SQLSever2005是一个全面的、集成的、端到端的数据解决方案,他为企业中的用户提供了一个安全、可靠和高效的平台,用于企业数据管理和商业智能应用。
SQLSever2005为信息工作者带来了强大的、熟悉的工具,同时减少了再从移动设备到企业数据系统的多平台上创建、部署、管理及使用企业数据和分析应用程序的复杂度。
通过全面的功能集和现有系统的集成性,以及对日常任务的自动化管理能力,SQLSever2005为不同规模的企业提供了一个完整的数据解决方案。
3)MicrosoftVisualStudio2010介绍
VisualStudio是微软公司推出的开发环境,是目前最流行的Windows平台应用程序开发环境,VisualStudio可以用来创建Windows平台下的Windows应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和Office插件。
第二章系统分析与设计
2.1系统需求分析
2.1.1系统需求分析
图书租借业务流程:
(1)读者在目录厅查阅索引卡;
(2)读者写出图书租借的图书编号、图书书名交给图书租借管理员,并出示借书证;
(3)管理者输入读者借书证号。
系统首先检查借书证是否有效,若有效,对于第一次借书的读者,在借书证上建立档案。
否则,查阅借书文件,检查该读者所借图书是否超过会员权限,若已达权限,拒借,未达权限,办理借书(检查库存,修改库存目录并将读者借书情况录入借书文件。
)
(4)图书管理员根据图书租借的图书编号、图书书名到书库找书;
(5)图书管理者确认被租借图书及图书租借者的相关信息;
(6)确认无误后将图书交给读者。
(7)还书时,从借书文件中读出与读者有关的记录,查阅所借日期,如超期(根据读者会员权限的规定)作罚款处理。
否则,修改库存目录与借书文件。
对图书管理者可查看及更改图书馆图书租借情况和读者的相关信息,读者只能够凭借个人相关证件到图书馆经图书管理员同意方可查询和修改个人信息。
图书租借管理系统的信息量大,数据安全性和保密性要求高。
本功能实现图书租借信息、读者信息、总体借阅情况信息的管理。
图书管理员可以浏览、查询、添加、修改图书租借的基本信息;浏览、查询、添加、删除和修改图书租借读者的基本信息;浏览、查询图书租借的借阅信息;能添加、删除和修改借阅信息。
2.1.2功能需求分析
整个系统共分六个模块:
租赁物信息的输入、查询、显示所有租赁物的信息、借出、归还、租金。
租赁物信息的输入:
输入商店中所有图书和影碟的信息,并把租赁物的借出时间和归还时间都赋值为零,借出时间为零表示该租赁物还在店内。
查询:
查询该租赁物的状态,共有三种状态,即:
在店内,被借出,不存在。
显示所有租赁物的信息:
显示所有图书和影碟的信息。
借出:
输入借出信息,并进行相关的操作。
归还:
输入归还信息,并进行相关的操作。
租金:
计算租金。
2.1.3数据流图
图1系统图
图2.会员
图3操作员
2.1.3数据字典
1)用户表User
表1用户表
名称
字段名称
类别
主键
非空
用户名
Name
varchar
No
Yes
密码
Pwd
varchar
No
Yes
身份号
identity
varchar
Yes
Yes
余额
余额
Int
No
Yes
(2)操作员表
表2操作员表
名称
字段名称
类别
主键
非空
标识
Pid
Varchar
Yes
Yes
密码
Pwd
Varchar
No
Yes
用户名
User
Varchar
No
Yes
(3)图书表
表3图书表
名称
字段名称
类别
主键
非空
ISBN号
ISBN
Varchar
Yes
Yes
书名
Pwd
Varchar
No
No
类别
Class
Varchar
No
No
数量
Quantity
Varchar
No
Yes
作者
Author
Varchar
No
Yes
租金
租金
Int
No
Yes
已借出
已借出
Int
No
Yes
(2)租借记录表
表4租借记录
名称
字段名称
类别
主键
非空
身份证
[identity]
Varchar
Yes
Yes
ISBN
ISBN
Varchar
Yes
Yes
租借日期
Startday
datetime
No
Yes
操作员编号
Manergerid
Varchar
No
Yes
2.2数据库概念结构设计
操作员
图书信息
会员
出借记录
图4E-R图
2.3数据库创建
图5数据库关系
第三章系统开发及实现
3.1论述设计开发采用的技术及设计效果
3.1.1图书的租借
(1)功能:
查询想要借的租赁物的当前状态,当图书在店内是执行借书操
作并输入借出时间以及借书人的信息。
图6借出功能
3.1.2图书归还
(1)功能:
查询想要还的租赁物的当前状态,当租赁物被借出时执行还书操作,并输入归还时间。
3.1.3其他功能
学生:
已借书对已经借到的图书进行查询
信息修改对个人信息进行修改
搜索对图书进行条件搜索
操作员:
增加用户增加会员用户
删除用户删除会员用户
借书会员借书
还书会员进行还书
借书信息所有的出借记录
书本查看图书信息的查看
用户资料进行用户信息的修改
书本增加图书的录入
充费用户的充费
第四章总结
时间飞逝,一转眼数据库课程设计已接近尾声了。
面对着这一个个月来的实战演练,不仅给我们提供了一个绝好的锻炼机会,而且在面对困难的过程中还锻炼了我虚心学习、不畏艰难的奋斗精神。
通过这几个月的设计,使我学会了不少知识。
从最初的理论学习,到现在的自己动手实践,真可以说是先学后用。
通过这么一个学习的机会,使我熟悉了VisualStudio2008环境,学会了C#编程语言。
在编程设计的每一天中,通过自己一行行代码的编写和调试,慢慢去实现系统中的每一个模块的功能,可以说这个编码过程真是有喜有悲。
有时为了实现一个小小的功能,就需要不断的调试代码。
有时调试成功了,感觉很有成就感。
有时代码很多,调试也会出现错误,为了找到那么一个小小的错误也花费了不少时间,有时还找不到头绪。
所以也请教了不少老师和同学。
看到了一个个问题的解决,真的很开心。
真的很感谢他们!
学习是一个漫长的过程。
世界在发展,社会在进步,我们就必须要跟得上技术的潮流去发展。
因此这就需要我们自己不断的去学习和探索。
花了几个月的时间,系统功能也基本的完成了。
我觉得做毕业设计是一次很好的检验自己大学所学专业知识的机会,通过这次机会,我更加的认识到自己的专业水平达到了什么高度,自己的弱点在哪。
诸如此类的问题,毕业设计给了我更多的思考。
总之,在学习的道路上,只要我们树立了远大目标,下定决心,付出行动,锲而不舍,不管遇到什么困难,相信都会解决的。
信心也是至关重要的!
附录(附效果图及部分源代码)
一、效果图
1.登陆界面
2.根据不同选择进入不同的界面
3.学生可以进行对已经借阅的图书进行查询
4.学生可以对图书进行条件查询
5.学生对个人信息进行修改
6.操作员进行会员增加
提示操作成功
7.操作员进行会员删除
8.操作员进行图书的出借
9.操作员进行还书操作
提示应该付款38元
10.所有已经借出的图书查询
11.操作员对会员资料的查看和修改
12.图书的增加
二、部分实验代码
1、app.config
xmlversion="1.0"encoding="utf-8"?
>
connectionString="DataSource=ZWY-PC;InitialCatalog=Rentdatabase;IntegratedSecurity=True" providerName="System.Data.SqlClient"/> 2.Form1.cs usingSystem; usingSystem.Collections.Generic; usingSystem.ComponentModel; usingSystem.Data; usingSystem.Drawing; usingSystem.Linq; usingSystem.Text; usingSystem.Windows.Forms; usingSystem.IO; namespaceRENTApplication3 { publicpartialclassForm1: Form { RadioButtonmanagerbtn=null; Formwin=null; publicForm1() { InitializeComponent(); Init(); } privatevoidInit() { managerbtn=radioButton1; } privatevoidbutton1_Click(objectsender,EventArgse) { Stringname=textBox1.Text.Trim(); Stringpwd=textBox2.Text.Trim(); if(name.Trim().Equals("")||pwd.Trim().Equals("")) { MessageBox.Show("帐号密码不能为空? "); } else { DataClasses1DataContextdc=newDataClasses1DataContext(); if(managerbtn.Checked==true) { varquery=frompindc.Managerwherep.user.Trim().Equals(name)selectnew{p.user,p.pwd}; foreach(varainquery) { //MessageBox.Show(a.ToString()); if(a.pwd.Trim().Equals(pwd)) if(win==null) { varp=newwinManager(); p.NowManager=dc.Manager.First(c=>c.user.Trim().Equals(name)); win=p; break; } } } else { varquery=frompindc.Userwherep.name.Trim().Equals(name)selectnew{p.name,p.pwd}; foreach(varainquery) { if(a.pwd.Trim().Equals(pwd)) if(win==null) { varp=newWinuser(); p.NowUser=dc.User.First(c=>c.name.Trim().Equals(a.name)); win=p; break; } } } if(win! =null) { this.Hide(); win.ShowDialog(); this.Dispose(); } else { MessageBox.Show("帐号密码不正确! "); } } } privatevoidbutton2_Click(objectsender,EventArgse) { this.Dispose(); } } } 3.Form2.cs usingSystem; usingSystem.Collections.Generic; usingSystem.ComponentModel; usingSystem.Data; usingSystem.Drawing; usingSystem.Linq; usingSystem.Text; usingSystem.Windows.Forms; namespaceRENTApplication3 { publicpartialclassForm2: Form { publicTextBoxtxt1=null; publicTextBoxtxt2=null; publicForm2() { InitializeComponent(); txt1=textBox1; txt2=textBox2; } privatevoidbutton1_Click(objectsender,EventArgse) { if(txt1.Text.Trim().Equals("")) { MessageBox.Show(string.Format("{0}不? 能¨¹为a空? ",label1.Text)); } else if(txt2.Visible==true&&txt2.Text.Trim().Equals("")) { MessageBox.Show(string.Format("{0}不? 能¨¹为a空? ",label2.Text)); } else { this.Hide(); this.DialogResult=DialogResult.OK; } } publicvoidsetLabel(Stringtext1,Stringtext2) { label1.Text=text1; label2.Text=text2; } privatevoidbutton2_Click(objectsender,EventArgse) { this.Dispose(); } } } 4.winManager.cs usingSystem; usingSystem.Collections.Generic; usingSystem.ComponentModel; usingSystem.Data; usingSystem.Drawing; usingSystem.Linq; usingSystem.Text; usingSystem.Windows.Forms; usingSystem.Data.SqlClient; namespaceRENTApplication3 { publicpartialclasswinManager: Form { staticDataClasses1DataContextdc; ManagernowManager=null; staticstringconString="DataSource=ZWY-PC;InitialCatalog=Rentdatabase;IntegratedSecurity=True"; publicManagerNowManager { get{returnnowManager;} set{nowManager=value;} } publicwinManager() { InitializeComponent(); InitializeDataGridView(); dc=newDataClasses1DataContext(); } //充? 费¤? privatevoidbutton5_Click(objectsender,EventArgse) { Form2inWin=newForm2(); inWin.setLabel("用®? 户¡ì名? ","金e额? "); DialogResultresult=inWin.ShowDialog(); if(result==DialogResult.OK) { //MessageBox.Show(string.Format("{0}ok",result)); varquery=fromqindc.User whereq.name.Trim().Equals(inWin.txt1.Text.Trim()) selectq; if(query.Count()==0) { MessageBox.Show("用®? 户¡ì不? 存ä? 在¨²"); } else { try { Useruser=dc.User.First(c=>c.name.Trim().Equals(inWin.txt1.Text.Trim())); user.余®¨¤额? +=Convert.ToInt32(inWin.txt2.Text); dc.User.GetModifiedMembers(user); dc.SubmitChanges(); } catch(Exceptionexec) { MessageBox.Show("操¨´作Á¡Â失º¡ì败㨹"); } } } else { //MessageBox.Show(string.Format("{0}error",result)); } } //借¨¨书º¨¦ privatevoidbutton3_Click(objectsender,EventArgse) { Form2win=newForm2(); win.setLabel("用®? 户¡ì名? ","ISBN"); DialogResultresult=win.ShowDialog(); if(result==DialogResult.OK) { Stringuser=win.txt1.Text; Stringisbn=win.txt2.Text; Bookbook=dc.Book.First(c=>c.ISBN.ToString().Trim().Equals(isbn)); Rentrent=newRent(); rent.ISBN=isbn; rent.identity=user; rent.Manergerid=nowManager.user; rent.Startday=DateTime.Now; if(book.已°? 借¨¨出? { //借¨¨书º¨¦ try { book.已°? 借¨¨出? +=1; dc.Book.GetModifiedMembers(book); dc.Rent.InsertOnSubmit(rent); dc.SubmitChanges(); MessageBox.Show("借¨¨书º¨¦成¨¦功|"); } catch(Exceptionexcp) { } } else { //没? 有®D书º¨¦本À? 了¢? MessageBox.Show("书º¨¦本À? 已°? 经-没? 有®D库a存ä? 了¢? "); } } } //增? 加¨®用®? 户¡ì privatevoidbutton1_Click(objectsender,EventArgse) { Form2inWin=newForm2(); inWin.setLabel("用®? 户¡ì名? ","密¨¹码? "); DialogResultresult=inWin.ShowDialog(); if(result==DialogResult.OK) { //MessageBox.Show(string.Format("{0}ok",result)); varquery=fromqindc.Userwhereq.name.Trim().
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 租借 管理 系统