面向对象图书管理系统
更新时间:2024-05-09 19:45:01 阅读量: 综合文库 文档下载
面向对象课程设计报告
——图书馆管理系统
班级: 学号:、 姓名:、
一、课程设计题目
图书馆管理系统
二、需求分析
数据库应用系统简介
SQL Server 2005数据库是微软公司精心打造的企业级数据库平台产品,该产品不仅包含了丰富的企业及数据管理功能,还集成了商业智能等特性。数据库由DBMS(数据库管理系统)处理,DBMS则由开发人员和用户通过应用程序直接或间接地使用。它主要包括四个要素:用户数据、元数据、索引和应用元数据。
图书管理系统
图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。
在图书管理系统中,要为每位读者建立一个帐户,帐户中存储着读者的个人信息和借阅信息。读者借阅图书要通过管理员来实现,即读者并不直接与系统进行交互,而是管理员充当读者的代理与系统进行交互。在借阅图书时,第一步需要输入图书ID与读者ID,输入完成后系统提交所填表格信息;第二步系统将验证读者是否有效,并查询数据库以确认借阅图书是否存在。只有这两个条件都被满足时,借阅请求才被接受,读者才可以借出图书。同时,系统还要保存读者的借阅记录,以便读者归还图书后,系统可以删除被借阅图书的借阅记录。
三、概要设计
图书馆管理信息系统需要完成功能主要有:
1. 读者基本信息的输入,包括借书证编号、读者姓名、读者性别。
2.读者基本信息的查询、修改,包括读者借书证编号、读者姓名、读者性别等。
3.书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称。 4.书籍类别信息的查询、修改,包括类别编号、类别名称。
5.书籍库存信息的输入,包括书籍编号、书籍名称、书籍类别、作者姓名、
出版社名称、出版日期、登记日期。
6.书籍库存信息的查询,修改,包括书籍编号、书籍名称、书籍类别、作
者姓名、出版社名称、出版日期登记日期等。
7.借书信息的输入,包括读者借书证编号、书籍编号、借书日期。
8.借书信息的查询、修改,包括借书证编号、读者编号、读者姓名、书籍
编号、书籍名称、借书日期等。
9.还书信息的输入,包括借书证编号、书籍编号、还书日期。
10.还书信息的查询和修改,包括还书读者借书证编号、读者姓名、书籍
编号、书籍名称、借书日期、还书日期等。
11.超期还书罚款输入,还书超出期限包括超出期限还书的读者借书证号,
书籍编号,罚款金额。
12.超期还书罚款查询,删除,包括读者借书证编号、读者姓名、书籍编号、书籍名称,罚款金额等 关系模式
(一) 书籍类别(种类编号,种类名称)
(二) 读者(借书证编号,读者姓名,读者性别,读者种类,登记时期)
(三) 书籍(书籍编号,书籍名称,书籍类别,书记作者,出版社名称,出版日期,登记日期) (四) 借阅(借书证编号,书籍编号,读者借书时间) (五) 还书(借书证编号,书籍编号,读者还书时间)
(六) 罚款(借书证编号,读者姓名,借书证编号,书籍编号,读者借书时间)
全组成员 成员分工
四、详细设计
1、图书管理信息系统可以划分的实体有:书籍类别信息实体、读者信息实体、书籍信息实体、借阅记录信息实体,归还记录信息实体。
书籍类别实体 读者姓名 类别名称
2、读者信息
读者借书证编号 登记时间 读者信息实体 读者姓名 读者性别 读者种类
3、信息实体
是否被借 收录时间 出版社 书籍编号 出版时间 书籍信息实体 书籍作者 书籍名称 书籍类别编号
2.2数据流程图
源代码
查询并读入读者信息以及读者已经借书的信息 private void txt1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e) {
if(e.KeyChar==13&&txt1.Text.Trim()!=\ {
txt2.Clear(); txt3.Clear(); txt4.Clear();
this.showInfo();//显示读者信息 }
显示读者信息和所借图书信息
private void showInfo() {
string strConn = \Source=.;Initial Catalog=libbook;Integrated Security=True\ SqlConnection cn=new SqlConnection(strConn); cn.Open(); SqlCommand cmd=cn.CreateCommand(); if(rbt1.Checked)//判断根据编号查询读者信息还是根据条形码 { cmd.CommandText=\a.姓名,a.类型,b.图书册书,a.编号 from 读者信息 a,读者类型 b\ +\类型=b.类型)and(a.编号='\ } else { cmd.CommandText=\a.姓名,a.类型,b.图书册书,a.编号 from 读者信息 a,读者类型 b\ +\类型=b.类型)and(a.条形码='\ } SqlDataReader dr=cmd.ExecuteReader();//执行查询,并读入读者数据 dr.Read(); if(dr.HasRows==false)//如未能查询到读者信息,则提示重新输入 { MessageBox.Show(\无此读者,请检查后重新输入\错误\ return; }
社,b.价格\ 未还')\ }
else
{ txt2.Text=dr.GetValue(0).ToString().Trim();//显示读者信息 txt3.Text=dr.GetValue(1).ToString().Trim(); txt4.Text=dr.GetValue(2).ToString().Trim(); readerID=dr.GetValue(3).ToString().Trim(); }
dr.Close();
string strCmd=\a.状态,a.图书编号,b.书名,a.借阅时间,a.应还时间,b.出版
+\from 图书借阅 a,图书信息 b where (a.图书编号=b.编号)and(a.状态='
+\读者编号='\查询读者所借书籍信息 SqlDataAdapter da=new SqlDataAdapter(strCmd,cn); tblBooks.Clear();//清空借书记录
da.Fill(tblBooks);//读入读者借阅图书信息
totalCount=tblBooks.Rows.Count;//显示已借书数量和本次借书数量 thisCount=0;
label1.Text=\已借书\本\label2.Text=\本次借书0本\
groupBox2.Enabled=true;//允许借书
txt5.Focus();//光标移动到输入图书编号文本框处,开始借书
读者借书
private void borrowBook() if(this.totalCount>=Convert.ToInt32(txt4.Text.Trim()))//如果借书达到上限,则不允许再借 { MessageBox.Show(\已经达到最大借书数量,请先归还书籍后再借书\借书数量达到上限\ groupBox2.Enabled=false; return; } string strConn = \id=localhost;Integrated Security=SSPI;database=libbook\ SqlConnection cn=new SqlConnection(strConn); cn.Open(); SqlCommand cmd=cn.CreateCommand(); DataRow aRow=tblBooks.NewRow(); string bookType;//保存新借图书的类型 if(rbt3.Checked) { cmd.CommandText=\编号,书名,出版社,价格,类型 from 图书信息 where 编号='\ } else { cmd.CommandText=\编号,书名,出版社,价格,类型 from 图书信息 where 条形码='\ } SqlDataReader dr=cmd.ExecuteReader();//执行查询,并读入图书数据 dr.Read(); if(dr.HasRows==false)//如未能查询到图书信息,则提示重新输入 { MessageBox.Show(\无此图书,请检查后重新输入\错误\ return; } else { string newbookID=dr.GetValue(0).ToString(); foreach(DataRow newRow in tblBooks.Rows)//不允许重复借书 { if(newRow[\图书编号\ { MessageBox.Show(\该读者已经借有此书,不能再借\信息\ return;
} } aRow[\图书编号\alue(0).ToString(); aRow[\书名\ aRow[\出版社\alue(2).ToString(); aRow[\价格\ aRow[\状态\新借\ aRow[\借阅时间\ bookType=dr.GetValue(4).ToString(); } dr.Close(); cmd.CommandText=\可借天数 from 图书类型 where 类型名称='\计算归还时间 int days=Convert.ToInt32(cmd.ExecuteScalar()); DateTime returnTime=System.DateTime.Now.AddDays(days); aRow[\应还时间\ tblBooks.Rows.Add(aRow);//增加新借书记录 totalCount++; thisCount++; label1.Text=\已借书\本\ label2.Text=\本次借书\本\ }
五、程序使用说明、测试分析及结果
进入Visual Studio 2010,创建一个新的“Windows应用程序”类型的项目,名为“图书馆管理”。将默认创建的窗体命名为“图书馆管理系统”,把“图书馆管理系统”作为本系统中的主界面。
在窗体中添加一个菜单(MenuStrip)控件,一个工具栏(ToolStrip)控件。 本系统的用户非为普通用户和管理用户,管理用户具有系统提供的所有权限,普通用户可以查询图书、借阅图书。
管理员有权限将图书添加到数据库中,图书入库界面的设计. 在窗体的左边的分组框中添加标签和文本框,用来接收管理员输入的图书信息,以便保存到数据库中。在右边的分组框中添加DataGridView控件,可以显示数据库中的图书信息,新添加的图书信息也可以显示出来。
根据图书馆中已有的图书信息,用户可以通过图书证号实现借阅。
六、课程设计总结
在这次项目工作中,虽然很辛苦,但收获也不少。我们懂得众人拾柴火焰高,团队的合作不但节省时间,而且提高效率,从合作过程中,我们互相请教,也学了不少的东西,团队的成员在这过程中编写代码的能力也提高了不少;我们懂得严谨的精神,编写代码过程中都要很细心,有时小小的错误,就会是给后期的改正增加难度;我们也懂得做软件要有专注的精神,想做好软件,就要全心全意地投入进去。
回想这个过程,我们一步步克服苦难,也一步步积累我们的成就感,到做完软件那一刻,我们感到无比地兴奋。我们也懂得了,做软件也是一件很幸福的事情。
? 参考文献
1.王汝涌, 管理信息系统,中国财政经济,2001.7 2.张海藩,软件工程,清华大学出版社,2001.6 3.萨师煊、王珊《数据库系统概论(第二版)》高等教育出版社,2001.4 4.李红等编著,管理信息系统开发与应用,电子工业出版社,2003
正在阅读:
面向对象图书管理系统05-09
人民币国际化路径06-25
“一法三卡”基本知识12-17
特种经济动物疾病防治(自考)06-04
山东省商品房销售条例(2005年3月31日山东省第十届人民代表大会常04-10
县供销合作社联合社“十三五”工作总结和“十四五”工作谋划08-05
关于基层医疗机构执行《政府会计制度—行政事业单位会计科目和报表》的衔接规定08-31
双重预防体系试题(一般行业)含答案07-08
值得阅读的经典美文11-21
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 管理系统
- 面向
- 对象
- 图书
- 农村小学体育课如何开展素质教育
- 75t循环流化床锅炉详细参数说明书
- 军导题库
- 安全文明施工标准化实施方案策划
- 基于JSP的人力资源管理系统设计与实现论文
- 某县土地整治项目
- 化工单元操作吸收与解析
- 2016同等学力申硕英语真题及答案解析(卷一卷二)
- 华科 材料成型原理 第一部分 液态金属凝固学答案
- 益清律师事务所情况介绍
- office2007考试题及答案(A试题)
- 食品溯源系统编码的自动生成
- 广州市轨道交通三号线盾构工程项目部 QC小组活动成果--控制广深
- 2011年上海市公务员考试行测真题及解析详解
- 牛津高中m5u1测试题
- 大连市三道沟净水厂供水系统改扩建工程—净水厂工程(厂
- 非金融机构支付业务设施技术要求V3.0
- 我国水污染的现状及治理
- 高中政治必修一全套教案表格版 - 图文
- 队伍分析报告1