图书管理系统毕业论文设计.doc_第1页
图书管理系统毕业论文设计.doc_第2页
图书管理系统毕业论文设计.doc_第3页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

图书管理系统的设计和开发 目 录 第第 1 1 章章 概论概论 1 1 1.1 背景及目的.1 1.2 系统功能模块设计简介 1 第第 2 2 章章 图书管理系统需求分析图书管理系统需求分析 2 2 2.1 应用需求分析 2 2.2 功能需求分析 2 2.3 数据需求分析 3 第第 3 3 章章 数据库设计数据库设计 4 4 3.1 数据库设计平台.4 3.2 数据库 ER 模型图4 3.3 数据库的设计及内容简介.5 第第 4 4 章章 功能模块概要设计功能模块概要设计 8 8 4.1 功能模块开发平台.8 4.2 功能模块设计及内容简介.8 4.3 功能模块设计图.8 第第 5 5 章章 功能模块详细设计功能模块详细设计 9 9 5.1 借阅图书模块设计.9 5.1 归还图书模块设计.14 论文总结论文总结 1818 致谢致谢 1919 参考文献.20 第 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 表 (2) 名称:图书表 表名称标识:book 表 字段名字段类型主/外键 Book_idChar(10)p Book_nameNvarchar(50) authorChar(10) publishNvarchar(50) classChar(10) bookdjChar(10) inputtimeNvarchar(50) sjmcChar(10) nrjjNvarchar(50) sfgsChar(10) kcslInt(4) jcslInt(4) (3) 名称:出版社表 表名称标识:cbs 表 字段名字段类型主/外键 publishNvarchar(50) 字段名字段类型主/外键 admin_idcharp admin_xmchar admin_namechar admin_passwordchar (4) 名称:图书挂失表 表名称标识:tsgs 表 (5) 名称:存放位置(书架名称)表 表名称标识:cfwz 表 字段名字段类型主/外键 sjmcChar(10) (6) 名称:读者类别表 表名称标识:dzlb 表 字段名字段类型主/外键 dzlbChar(10) kjslChar(10) zcqxChar(10) (7) 名称:借还书表 表名称标识:jhbook 表 (8) 名称:图书馆信息表 表名称标识:tsgxx 表 字段名字段类型主/外键 Tsg_nameNvarchar(50) Tsg_adminChar(10) B_timeChar(10) PhotoNvarchar(50) EmileNvarchar(50) AddressNvarchar(50) NrjjChar(10) 字段名字段类型主/外键 Book_idChar(10)p sfgsChar(10) Book_nameNvarchar(50) 字段名字段类型主/外键 User_idChar(10) User_nameVarchar(20) Book_idChar(10) JstimeDatatime hstimedatatime (9) 名称:注销图书表 表名称标识:zxts 表 (10) 名称:读者挂失表 表名称标识:dzgs 表 字段名字段类型主/外键 User_idChar(10)P sfgsChar(10) User_nameChar(10) (11) 名称:读者表 表名称标识:users 表 字段名字段类型主/外键 User_idChar(10)P User_nameChar(10) User_xbChar(10) User_lbChar(10) PhotoNvarchar(50) AddressNvarchar(50) YxzjChar(10) Zj_numberNvarchar(50) Dj_timeChar(10) sfgsChar(10) (12) 名称:有效证件表 表名称标识:yxzj 表 (13) 名称:图书类别表 表名称标识:booklb 表 (14) 名称:借书人表 表名称标识:borrow_reader 表 字段名字段类型主/外键 User_idChar(10)P KjslInt(4) YjslInt(4) 字段名字段类型主/外键 Book_idChar(10)p Book_nameNvarchar(50) 字段名字段类型主/外键 yxzjChar(10) 字段名字段类型主/外键 classChar(10) 第 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); 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 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; ada.Fill(ds, “book“); 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“; if (bs.Count = 0) 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(); if(b=0) 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_id“, textBox1.Text); 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) MessageBox.Show(ex.Message); finally 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; bs.DataMember = “book“; if (bs.Count = 0) MessageBox.Show(“表中无此书籍“); else dataGridView2.DataSource = bs; 5.1 归还图书模块设计 5.1.1 界面设计 5.1.2 算法设计 在“更新”按钮的 Click 事件代码中编写代码,采用 ADO.Net 技术实现数据库的 访问,在数据库的 jhbook 表中查询读者信息记录,用 SqlDataReader 对象读取,然后 显示出所有的读者借阅图书信息记录。 在“查询”按钮的 Click 事件代码中编写代码,采用 ADO.Net 技术实现数据库的 访问,在数据库的 jhbook 表中查询读者信息记录,用 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.borrower_reader”中。您可以根据需要移动或移除它。 this.borrower_readerTableAdapter.Fill(this.tsglxtDataSet.borrower_reader); / TODO: 这行代码将数据加载到表“tsglxtDataSet.book”中。您可以根据需要移动或移除它。 this.bookTableAdapter.Fill(this.tsglxtDataSet.book); / TODO: 这行代码将数据加载到表“tsglxtDataSet.JHbook”中。您可以根据需要移动或移除它。 this.jHbookTableAdapter.Fill(this.tsglxtDataSet.JHbook); 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 jhbook where user_id=“ + textBox2.Text.Trim() + “; ada.SelectCommand = new SqlCommand(sql, con); dataGridView1.DataSource = null; ada.Fill(ds, “jhbook“); bs.DataSource = ds; bs.DataMember = “jhbook“; if (bs.Count = 0) MessageBox.Show(“表中无此读者“); else dataGridView1.DataSource = bs; private void button2_Click(object sender, EventArgs e) string sql = “select * from jhbook where user_name=“ + textBox1.Text.Trim() + “; ada.SelectCommand = new SqlCommand(sql, con); dataGridView1.DataSource = null; ada.Fill(ds, “jhbook“); bs.DataSource = ds; bs.DataMember = “jhbook“; if (bs.Count = 0) MessageBox.Show(“表中无此读者“); else dataGridView1.DataSource = bs; private void button3_Click(object sender, EventArgs e) string sql = “select * from jhbook“; ada.SelectCommand = new SqlCommand(sql, con); ds.Clear(); ada.Fill(ds, “jhbook“); bs.DataSource = ds; bs.DataMember = “jhbook“; dataGridView1.DataSource = bs; private void button4_Click(object

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论