kl800.com省心范文网

图书管理系统的设计和开发 —王富岩


目录
1 概论....................................................3 1.1 背景及目的…………………………………………………………3 1.2 系统功能模块设计简介…………………………………………....3 2 图书管理需求系统分析........................................................................5 2.1 应用需求分析....................................................................................5 2.2 功能需求分析....................................................................................5 2.3 数据需求分析....................................................................................6 3 数据库设计……………………………………………………………7 3.1 数据库设计平台…………………………………………………....7 3.2 数据库 ER 模型图…………………………………………………..7 3.3 数据库的设计及内容简介………………………………………....8 4 功能模块概要设计……………………………………………………11 4.1 功能模块开发平台...........................................................................11 4.2 功能模块设计及内容简介...............................................................11 4.3 功能模块设计图……………………………………………………12 5 功能模块详细设计…………………………………………………...13 5.1 借阅与归还图书模块设计… ……………………………………..13 5.1.1 界面设计…………………………………………………………13 5.1.2 算法设计……………………………………………………...…13 5.1.3 代码实现………………………...………………………………14

6 论文总结…………………………………………………………….. 致谢…………………………………………………………………….. 参考文献…………………………………………………………………..

1 概论

1.1 背景及目的
当今时代是飞速发展的信息时代,各行各业都离不开信息处理,这正是计算机 被广泛应用于社会各行各业的原因。使用计算机进行信息管理是行业现代化的一 个标志,此举不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂 的信息管理,计算机能够充分发挥它的优越性:快速操作、智能分析、海量存储 和长期保存等等。使用计算机进行信息管理与信息管理系统的开发密切相关,因 为信息管理系统的开发是利用信息管理系统进行管理的前提。本系统就是为了进 行现代化图书馆信息管理而设计的。 本系统是一个针对大中专院校图书馆的图书信息管理系统,着力于解决原来手 工管理出现的问题,如效率低、易出错、手续繁琐,还耗费大量的人力和物力, 旨在实现现代化的信息管理。

1.2 系统功能模块设计简介
本系统包含读者登记、添加新书、读者借书、读者还书、图书注销、查询读者、 查询图书等等功能。 读者登记时要为读者编制读者卡号,包括读者的具体信息(包括读者编号、姓 名、性别、类别、有效证件、联系电话、联系地址等),写入读者文件中。 添加新书时要为该书编制图书卡片(包括分类图书编号、图书书名、作者、类 别、图书单价和入库日期等信息),写入图书文件中。 读者借书时,先检查该读者是否为有效的读者,若无效则拒绝借书,然后检查 该读者所借图书是否超过最大限制数,若超过则拒绝借书,再检查有尚未归还的 过期图书,若有则拒绝借书,最后查找要借的图书是否还有,如果有则办理借出 手续,登记图书分类号、读者号和借阅日期等。

读者还书时,根据书号,从借书文件中读出有关记录,标明还书日期,如果图 书过期,则处以罚款。 系统还应提供图书清理的功能,对无价值的和过时的图书可以进行注销。 查询要求分为查询某位读者、某种图书和全局图书三种情况。

2 图书管理系统需求分析 2.1 应用需求分析
图书馆管理系统开发的总的设计目标是实现图书管理的系统化、规范化和自动 化,实现对图书资料的集中统一的管理。本系统主要实现对图书馆信息的管理, 主要功能为管理有关读者、图书、借阅、查询、删除和管理员的信息等。本系统 结构分为读者类别管理、读者档案管理、图书类型管理、图书档案管理以及图书 流程管理,读者管理可以浏览读者的信息,可以对读者信息进行维护。图书管理 可以浏览图书的信息,可以对图书信息进行维护。借阅管理可以显示当前数据库 中书籍借阅情况,可以对借阅信息进行维护。本系统主要解决的问题是利用关键 字对数据库进行查询。 图书管理系统需要满足来自二方面的需求,这二个方面分别是图书借阅者和图 书管理系统管理人员。图书借阅者的需求是查询图书馆所存的图书、个人借阅情 况及个人信息的修改;图书管理系统管理人员对图书借阅者的借阅及还书要求进 行操作,同时形成借书或还书情况给借阅者查看确认,对工作人员、图书借阅者、 图书进行管理和维护,及系统状态的查看。 图书管理系统管理人员有修改图书借阅者借书和还书记录的权限,所以需对工 作人员登陆本模块进行更多的考虑。在此模块中,图书管理系统管理人员可以为 图书借阅者加入借书记录或是还书记录,并给用户查看和确认。管理员可以对图 书的基本信息进行浏览、查询、添加、删除、修改和统计。还可以对借阅者的基 本信息进行浏览和查询以及对图书馆的借阅信息进行统计。

2.2 功能需求分析
1.管理者登录 2.系统设置:管理员设置、图书馆信息设置、罚金设置 3.图书管理:添加、浏览、修改、删除、借阅、归还、挂失、详细查看、检索

4.读者管理:添加、浏览、删除、修改、详情查看、检索 5.信息查询:查询

2.3 数据需求分析
1.管理员信息:用户名、密码、权限、编号。 2.图书信息:除读者需要的信息以外,还需要录入时间、产品的编号以及图书是 否挂失的信息。 3.读者信息:读者编码、姓名、性别、类别、联系电话、联系地址、注册时间、 是否挂失。 4.借还书信息:读者编码、图书编码、借书数量、借阅时间、还书时间

3 数据库设计 3.1 数据库设计平台
本数据库设计采用了 Microsoft SQL Server 2000 作为开发平台

3.2 数据库 ER 模型图
借出数量

库存数量 是否挂失 出版社 作者 图书书名 图书编码 存放位置 入库时间

图书
图书单价 图书类别

查询/借阅 联系电话 读者类别 有效证件 联系地址


读者性别 读者姓名 证件号码 登记日期 是否挂失 读者编码



学生

包括

教师

3.3 数据库的设计及内容简介
打开 Microsoft SQL Server 2000,因为我设计是图书管理系统,所以为了方便, 命名数据库的名称为 tsglxt。然后新建表,主要包括图书馆信息表(tsgxx 表)、 管 理 员 表 (admin 表 ) 、 图 书 表 (book 表 ) 、 借 书 表 (Jhbook 表 ) 、 借 书 人 表 (borrow_reader 表)、 图书挂失表(tsgs 表)、 图书注销表(tszx 表)、 出版社表(cbs 表)、图书存放位置表(cfwz 表)、读者类别表(dzlb 表)、用户表(users 表)、读者 挂失表(dzgs 表)、有效证件表(yxzj 表)、图书类别表(booklb 表)等。 (1) 名称:管理员表 表名称标识:admin 表
字段名 admin_id admin_xm admin_name admin_password 字段类型 char char char char 主/外键 p

(2) 名称:图书表 表名称标识:book 表
字段名 Book_id Book_name author publish class bookdj inputtime sjmc nrjj sfgs kcsl jcsl 字段类型 Char(10) Nvarchar(50) Char(10) Nvarchar(50) Char(10) Char(10) Nvarchar(50) Char(10) Nvarchar(50) Char(10) Int(4) Int(4) 主/外键 p

(3) 名称:出版社表 表名称标识:cbs 表
字段名 字段类型 主/外键

publish

Nvarchar(50)

(4) 名称:图书挂失表 表名称标识:tsgs 表
字段名 Book_id sfgs Book_name 字段类型 Char(10) Char(10) Nvarchar(50) 主/外键 p

(5) 名称:存放位置(书架名称)表 表名称标识:cfwz 表
字段名 sjmc 字段类型 Char(10) 主/外键

(6) 名称:读者类别表 表名称标识:dzlb 表
字段名 dzlb kjsl zcqx 字段类型 Char(10) Char(10) Char(10) 主/外键

(7) 名称:借还书表 表名称标识:jhbook 表
字段名 User_id User_name Book_id Jstime hstime 字段类型 Char(10) Varchar(20) Char(10) Datatime datatime 主/外键

(8) 名称:图书馆信息表 表名称标识:tsgxx 表
字段名 Tsg_name Tsg_admin B_time Photo Emile Address Nrjj 字段类型 Nvarchar(50) Char(10) Char(10) Nvarchar(50) Nvarchar(50) Nvarchar(50) Char(10) 主/外键

(9) 名称:注销图书表 表名称标识:zxts 表
字段名 Book_id Book_name 字段类型 Char(10) Nvarchar(50) 主/外键 p

(10) 名称:读者挂失表 表名称标识:dzgs 表
字段名 User_id sfgs User_name 字段类型 Char(10) Char(10) Char(10) 主/外键 P

(11) 名称:读者表 表名称标识:users 表
字段名 User_id User_name User_xb User_lb Photo Address Yxzj Zj_number Dj_time sfgs 字段类型 Char(10) Char(10) Char(10) Char(10) Nvarchar(50) Nvarchar(50) Char(10) Nvarchar(50) Char(10) Char(10) 主/外键 P

(12) 名称:有效证件表 表名称标识:yxzj 表
字段名 yxzj 字段类型 Char(10) 主/外键

(13) 名称:图书类别表 表名称标识:booklb 表
字段名 class 字段类型 Char(10) 主/外键

(14) 名称:借书人表 表名称标识:borrow_reader 表

字段名 User_id Kjsl Yjsl

字段类型 Char(10) Int(4) Int(4)

主/外键 P

4 功能模块概要设计

4.1 功能模块开发平台
本功能模块应用软件的开发采用了 Microsoft.Visual.Studio.2005 C#作为软 件设计和开发平台。功能应用软件的界面采用菜单方式进行操作,具有操作方便、 直观,功能明确、统一,对各界面的调用均在程序的主窗口下进行操作

4.2 功能模块设计及内容简介
打开 Microsoft.Visual.Studio.2005 C#,新建项目并命名为图书管理系统。 新建窗体,拖入空间设计窗体。本系统主要包括 Welcome 登录模块、系统设置模 块、图书设置模块、读者管理模块、图书管理模块、系统查询模块、帮助模块等 模块。

4.3 功能模块设计图
Welcome 欢迎登陆界面







系统设置

图书设置

读者管理

图书管理

信息查询

图 书 馆 设 置
管 理 员 设 置

退 出 系 统

图 书 分 类 设 置 读 者 类 型 设 置

出 版 社

存 放 位 置

图 书 资 料

借 阅 图 书

归 还 图 书

注 销 图 书

帮 助 信 息

记 事 本

读 者 有 效 证 件

读 者 信 息

读 者 挂 失

解 除 挂 失 图 书 信 息 查 询 借 阅 图 书 查 询

挂 失 图 书

归 还 图 书 查 询

挂 失 图 书 查 询

读 者 信 息 查 询

读 者 挂 失 查 询

5 功能模块详细设计

5.1

借阅图书模块设计

5.1.1 界面设计

5.1.2 算法设计
在“更新”按钮的 Click 事件代码中编写代码,采用 ADO.Net 技术实现数据库

的访问,在数据库的 book 表中查询图书信息记录,用 SqlDataReader 对象读取, 然后显示出所有的图书信息记录。 在“查询”按钮的 Click 事件代码中编写代码,采用 ADO.Net 技术实现数据库 的访问,在数据库的 book 表中查询图书信息记录,用 SqlDataReader 对象读取, 然后显示出查询的图书信息记录。 在“借阅图书”按钮的 Click 事件代码中编写代码,将读者要借的图书信息与 读者的信息绑定写入数据库借还书表(jhbook 表)中 。

5.1.3 代码实现
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; namespace WindowsApplication1 public partial class 借阅图书 : Form public 借阅图书( InitializeComponent() private void 借阅图书_Load(object sender, EventArgs e) // TODO: 这行代码将数据加载到表“tsglxtDataSet.JHbook”中。您可以根据需要移动或移除它。 this.jHbookTableAdapter.Fill(this.tsglxtDataSet.JHbook); // TODO: 这行代码将数据加载到表“tsglxtDataSet.book”中。您可以根据需要移动或移除它。 this.bookTableAdapter.Fill(this.tsglxtDataSet.book); // TODO: 这行代码将数据加载到表“tsglxtDataSet.users”中。您可以根据需要移动或移除它。 this.usersTableAdapter.Fill(this.tsglxtDataSet.users); SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=tsglxt;Integrated Security=True"); DataSet ds = new DataSet(); SqlDataAdapter ada = new SqlDataAdapter(); BindingSource bs = new BindingSource(); private void button1_Click(object sender, EventArgs e) {string sql = "select * from users where user_id='" + textBox2.Text.Trim() + "'"; ada.SelectCommand = new SqlCommand(sql, con); dataGridView1.DataSource = null; ada.Fill(ds, "users"); bs.DataSource = ds; bs.DataMember = "users"; if (bs.Count <= 0)

MessageBox.Show("表中无此读者"); else dataGridView1.DataSource = bs; private void button2_Click(object sender, EventArgs e) string sql = "select * from users where user_name='" + textBox1.Text.Trim() + "'"; ada.SelectCommand = new SqlCommand(sql, con); ada.Fill(ds, "users"); bs.DataSource = ds; bs.DataMember = "users"; if (bs.Count <= 0) MessageBox.Show("表中无此读者"); dataGridView1.DataSource = bs; private void button3_Click(object sender, EventArgs e) string sql = "select * from book where book_id='" + textBox3.Text.Trim() + "'"; ada.SelectCommand = new SqlCommand(sql, con); dataGridView2.DataSource = null; bs.DataSource = ds; bs.DataMember = "book"; if (bs.Count <= 0) MessageBox.Show("表中无此图书"); else dataGridView2.DataSource = bs; private void button4_Click(object sender, EventArgs e) string sql = "select * from book where class='" + comboBox1.SelectedItem.ToString() + "'"; ada.SelectCommand = new SqlCommand(sql, con); ada.SelectCommand.Parameters.AddWithValue("class", comboBox1.Text); dataGridView2.DataSource = null; ada.Fill(ds, "book"); bs.DataSource = ds; bs.DataMember = "book"; MessageBox.Show("表中无类别"); else dataGridView2.DataSource = bs; private void button5_Click(object sender, EventArgs e) string sql = "select * from users"; ada.SelectCommand = new SqlCommand(sql, con); ds.Clear(); ada.Fill(ds, "users"); bs.DataSource = ds; bs.DataMember = "users"; dataGridView1.DataSource = bs; private void button6_Click(object sender, EventArgs e) string sql = "select * from book"; ada.SelectCommand = new SqlCommand(sql, con);

ds.Clear(); ada.Fill(ds, "book"); bs.DataSource = ds; bs.DataMember = "book"; dataGridView1.DataSource = bs; private void button7_Click(object sender, EventArgs e) string sql = "select kjsl-yjsl from borrow_reader where user_id='" + textBox1.Text.Trim() + "'"; SqlCommand cmd = new SqlCommand(sql, con); int a = cmd.ExecuteScalar(); if(a=0) MessageBox.Show("借书数量已满,请还书后再借!"); return; string _sql = "select kcsl-jcsl from book where book_id='" + textBox3.Text.Trim() + "'"; SqlCommand cmd = new SqlCommand(_sql, con); int b = cmd.ExecuteScalar(); MessageBox.Show("此书已全部被借出,不能借阅"); else string sql = "insert into jhbook(user_id, user_name, book_id, jstime) Values(@user_id, @user_name, @book_id, @jstime)"; SqlCommand sqlcmd = new SqlCommand(sql, con); sqlcmd.Parameters.AddWithValue("@user_name", textBox2.Text); sqlcmd.Parameters.AddWithValue("@book_id", textBox3.Text); sqlcmd.Parameters.AddWithValue("@jstime", dateTimePicker1.Value); string sqlstr="update borrow_reader set Yjsl=Yjsl+1 where user_id= @user_id "; string _sql="update book set jcsl=jcsl+1 where book_id= @book_id "; SqlCommand cmd = new SqlCommand(sqlstr, con); SqlCommand ddd = new SqlCommand(_sql,con); cmd.Parameters.AddWithValue("@user_id", textBox1.Text); ddd.Parameters.AddWithValue("@book_id", textBox3.Text); try con.Open(); sqlcmd.ExecuteNonQuery(); cmd.ExecuteNonQuery(); ddd.ExecuteNonQuery(); con.Close(); MessageBox.Show("借阅成功"); } catch (DataException ex) dataGridView3.DataSource = bs; private void button8_Click(object sender, EventArgs e) this.Close(); private void button9_Click(object sender, EventArgs e) string sql = "select * from book where book_name='" + textBox4.Text.Trim() + "'"; ada.SelectCommand = new SqlCommand(sql, con);

dataGridView2.DataSource = null; ada.Fill(ds, "book"); bs.DataSource = ds; if (bs.Count <= 0) MessageBox.Show("表中无此书籍"); else dataGridView2.DataSource = bs;

论文总结
本系统能帮助图书馆管理员实现对书籍的流通情况的全面了解。而且还能够 对读者信息进行添加、注销、查询和修改,对图书信息进行添加、查询、修改和 注销。在读者查询图书、借阅图书、归还图书以及挂失图书的过程中实现了简单、 方便、快捷的功能。 制作本系统,虽然遇到了很多的问题,但在指导老师和同学们的帮助之下都 得到了解决。而且也使我学到很多的知识。让我了解到了图书管理系统的操作过 程。明白了.net 与数据库的绑定过程以及代码的实现。古诗说的好“温故而知新” , 制作这个图书管理系统唤醒了以前模糊记忆的知识,而且让我对以前没有明白的 代码有了重新的认识和深刻的了解。我也发现我有很多的地方都不懂,要加强学 习和多阅读一些相关的书籍来丰富的我视野。使我在以后道路中如果遇到相同或 者相关问题的时候能够迎刃而解。 图书管理系统毕业论文设计,让我清楚的了解到我大学 3 年在信管系学到了 什么,还有什么不足。让我知道要往哪个方向去学习,要学些什么东西。在学习 的过程要有一种坚持不放弃的精神。

致谢
本设计在导师 XX 教授的悉心指导和严格要求下业已完成,从课题选择、方案论 证到具体设计和调试,无不凝聚着 XX 导师的心血和汗水,在四年的本科学习和生 活期间,也始终感受着导师的精心指导和无私的关怀,我受益匪浅。在此向导师 表示深深的感谢和崇高的敬意。 本设计的完成也凝聚了 XX 老师的辛勤汗水,是他无私的帮助和支持,才使我的 毕业论文工作顺利完成,在此向 X 老师表示由衷的谢意。

参考文献
[1] Graeme Malcolm.SQL Server 2000 with XML[M].清华大学出版社,2003 [2] 艾德才.计算机信息管理基础[M].中国水利水电出版社,2001 [3] Jeff Robin.Management of Information System[M].机械工业出版社, 2002 [4] Tim F Lee.Implement MIS[M].北京出版社,2001 [5] G. B. Davis, G. Everest. Introduction to Management Information Systems[M ]. McGraw - Hill. 1974


图书管理系统的设计和开发 王富岩.doc

图书管理系统的设计和开发 王富岩_电脑基础知识_IT/计算机_专业资料 暂无评价|0人阅读|0次下载|举报文档图书管理系统的设计和开发 王富岩_电脑基础知识_IT/...

图书管理系统.doc

图书管理系统 班级:11428012 学号:18,19,20 成员:王佳慧,王绍雷,夏志伟 指导...本文开端介绍了开发系统的意义, 接着阐述了系统的需求性分析与设计以及具 体...

文献检索综合实习报告_图文.doc

[2] 王玉华,王津涛,朱江. 基于 PB 的图书管理...尤富生,余浩,基于军卫一号工程的医院图书管理系 统...的图书管理系统的设计 与开发 关键词 PB AND 图书...

山东省大学生机电产品创新设计竞赛.doc

王冬雪 Ⅰ组王家富;Ⅱ组赵长亮、熊涛;Ⅲ组 董宁...锅炉制造虚拟现实软件的开发 张晓明、田鹏 二等 38...管理与检索 系统模型 《机械设计》 网络教学的设计...

宁波北仑邬隘片区BLZB13控制性详细规划.doc

规 17-78 设计人员:王 朕(用 地)(城市规划师)...各部门的需求和规划管理 的要求,特编制本控制性详细... 1 05 街道级 结合建设,设有图书阅览、科技活动...

2016届毕业设计题目 (2院汇总)_图文.xls

王波 通信工程 62 地空通信系统信道建模 王波 ...王国富 电子信息 180 基于单片机IC卡门禁系统设计 ...要求设计和开发系统能对螺纹夹片有无螺纹、夹片...

信息分析与设计试卷1.doc

仓储信息系统设计与开发试... 11页 免费 算法设计...王大夫在小镇上开了一家牙科诊所。他有一个牙科...问题(1):建立上述牙科诊所管理系统的数据流图。(10...

重庆长寿区海绵城专项规划_图文.pdf

《海绵城市建设技术指南一一低影响开发雨水系统构建》...与设计规范》 (CJJ75) (13) 《城市绿地设计规范...“水口水库片 区、王家洞水库片区、鹅子沟水库片区...

软件课程设计报告华电_图文.doc

设计 目: 系: 级: 号: 图书管理系统 学生姓名: 指导教师:宋雨,陈晴,王...书 通过该课程设计要使学生树立起强烈的工程化意识,用工程化思想和方法开发软件...

大学生就业信息检索系统设计与开发.doc

龙源期刊网 http://www.qikan.com.cn 大学生就业信息检索系统设计与开发 作者:王昌臻 来源:《现代经济信息》2016 年第 01 期 摘要:信息化的浪潮在全国席卷...

GIS支持下工程勘察信息管理系统设计与实现_图文.pdf

GIS 支持下工程勘察信息管理系统设计与实现王小明 ,...与钻孔资料相关 , 包括 岩层 、构造 、水文 、岩...2 基于 GIS 勘察信息管理系统设计与开发 211 系统...

房地产开发项目设计优化与工程管理的案例分_图文.pdf

房地产开发项目设计优化与工程管理的案例分 - 程项目管剖 朐ec¥lffana矿mtnt 【文章编号】1007.9467(2008)04.009106 房地产开发项目设计优化与工程 ...

基于BS架构的学校档案管理系统设计与实现开题.doc

基于BS架构的学校档案管理系统设计与实现开题_工学_...管理水平有限, 不能够很好的挖掘档案管理和开发...15 (3), 210-226 [32]贾爱琴,王银涛.浅谈如何...

2014年定水小学图书室读书活动计划.doc

2014年定水小学图书室读书活动计划_教学案例/设计_...王森林 张敏 何爱明 成员:各语文老师、图书管理员 ...“与学生同读一本书”活动,营造更加浓郁的校园读书...

旅游资源与开发.doc

旅游资源信息系统的应 用功能不包括 A.管理功能 B.分析评价功能 C.开发与决策...开发 导向模式定位策略的制定, 开发方案的设计, 方案的实施, 市场反馈及方案...

昆明信息产业基地控制性详细规划说明书_图文.pdf

第二章 现状概况 富水性较强,多年平均径流模量为 ...集科研开发的新型工业区,而王家营 物流中心规划定位...国家相关规范及昆明市政府和规划部门相关规定和设计...

现代设计学习感悟.doc

“现代设计”对产品开发的指导作用王通① [徐州] 中国矿业大学 摘要:现代设计是传统设计的深入、丰富和完善,而非独立于传 统设计的全新设计。虽然目前对现代设计...

“企业的经营”教学设计.pdf

下面是一些情景: 情景一 认识企业 双休日, 某校高一(1)班学生小 富随家长一...提高设计、 施工和管理水平,严把安全和质量关,以创新文化 和绿色科技引领现代...

中国艺术设计史复习资料.doc

1. 我国青铜器的设计和制造始于何时? 自(夏代)...莫非王臣”的社会政治体系管理系统,这同样 又展示了...金银器具的出现在贵族及富 裕人家,并形成豪华的风尚...

人人图书馆_基于Qt的船用导航雷达显控终端软件设计.pdf

人人图书馆_基于Qt的船用导航雷达显控终端软件设计_...终端软件设计王冰山 1, 郝延刚 2, 王远斌 1 (1...Qt 逐渐成为 Linux 操作系统下图形界面的主流开发工...