图书管理系统的设计_第1页
图书管理系统的设计_第2页
图书管理系统的设计_第3页
图书管理系统的设计_第4页
图书管理系统的设计_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

1、莱 芜 职 业 技 术 学 院毕业设计(论文)论文题目:图书管理系统的设计所 在 系 信 息 工 程 系 姓 名 郭仁堂 专 业 计 算 机 应 用 技 术班 级 13 计算机应用 指导老师 王颖 2016 年 5月 6日 评审表学号201323040118姓名郭仁堂学制3年专业计算机应用技术班级13计算机应用技术论文题目图书管理系统的设计指导教师王颖职称或职务指导教师评语:成绩: 指导教师签名: 年 月 日系审查意见:成绩: 审查人签名: 年 月 日学校终审意见:成绩: 签名: 职称: 年 月 日 答 辩 情 况 记 录答辩题目答 辩 情 况正 确基本正确经提示回答不 正 确未 回 答此表格

2、由主持答辩的同志填写;正确为优秀;基本正确为良好;经提示回答为及格;不正确,不回答为不及格。答辩委员会(或小组)评语:成绩: 答辩主持人签名: 职称: 年 月 日毕业论文审查不及格补审意见:成绩: 补审人签名: 职称: 年 月 日 图书管理系统的设计 摘要近年来,随着社会经济的发展,大家对图书知识的渴求也随之强烈,自然对图书馆系统性的要求也随之提高。图书数量的相应增加,有关图书的各种信息量也成倍增加,面对这庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范

3、和实用的图书管理系统,对图书资料进行集中统一的管理。 本系统图书管理系统,利用C# 作为前端的应用开发工具VISUAL STUDIO 2010,SQL SERVER2008作为后台的数据库,采用浏览器/服务器的模型构建,结构健壮灵活,在数据处理、人机界面、数据通信、系统维护管理等方面具有功能全面、实用;界面直观简洁,实用维护简单;权限管理完善,安全性高等特点。实现了管理员、图书、学生的信息维护,图书信息管理、借书、还书的管理,图书库存信息、学生信息的查询和各种书籍借阅浏览等功能。  关键字:图书管理;借书;还书;Asp.NET。  目

4、录第1章 概括71.1 背景背景及目的-71.2 系统功能模块设计简介-7第2章 图书管理系统需求分析-92.1 应用需求分析-92.2 功能需求分析-102.3数据需求分析-10第3章 数据库设计-113.1数据库设计平台-113.2 数据库er模型图-113.3 数据库的设计及内容简介-12第4章 功能模块概要设计-174.1 功能模块开发平台-174.2 功能模块设计及内容简介-174.3 功能模块设计图 -18第5章 功能模块详细设计-195.1 借阅图书模块设计-195.2 归还图书模块设计-28论文总结33致谢34     第1章 概括  1

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

6、繁琐,还耗费大量的人力和物力,旨在实现现代化的信息管理。1.2 系统功能模块设计简介本系统包含读者登记、添加新书、读者借书、读者还书、图书注销、查询读者、查询图书等等功能。 *读者登记时要为读者编制读者卡号,包括读者的具体信息(包括读者编号、姓名、 性别、类别、有效证件、联系电话、联系地址等),写入读者文件中。 *添加新书时要为该书编制图书卡片(包括分类图书编号、图书书名、作者、类别、 图书单价和入库日期等信息),写入图书文件中。 *读者借书时,先检查该读者是否为有效的读者,若无效则拒绝借书,然后检查该 读者所借图书是否超制数,若超过则拒绝借书,再检查有尚未归还的过期图书,若有则拒绝借书,最后

7、查找要借的图书是否还有,如果有则办理借出手续,登记图书分类号、读者号和借阅日期等。  *读者还书时,根据书号,从借书文件中读出有关记录,标明还书日期,如果图书 过期,则处以罚款。  *系统还应提供图书清理的功能,对无价值的和过时的图书可以进行注销。  *查询要求分为查询某位读者、某种图书和全局图书三种情况。           第2章 图书管理系统需求分析2.1 应用需求分析  图书管理系统开发的总的设计目标是实现图书管理的系统化、规范化和自动化

8、,实现对图书资料的集中统一的管理。本系统主要实现对图书馆信息的管理,主要功能为管理有关读者、图书、借阅、查询、删除和管理员的信息等。本系统结构分为读者类别管理、读者档案管理、图书类型管理、图书档案管理以及图书流程管理,读者管理可以浏览读者的信息,可以对读者信息进行维护。图书管理可以浏览图书的信息,可以对图书信息进行维护。借阅管理可以显示当前数据库中书籍借阅情况,可以对借阅信息进行维护。本系统主要解决的问题是利用关键字对数据库进行查询。  图书管理系统需要满足来自二方面的需求,这二个方面分别是图借阅者和图书管理系统管理人员。图书借阅者的需求是查询图书馆所存的图书、个人借阅情况及个人信息

9、的修改;图书管理系统管理人员对图书借阅者的借阅及还书要求进行操作,同时形成借书或还书情况给借阅者查看确认,对工作人员、图书借阅者、图书进行管理和维护,及系统状态的查看。图书管理系统管理人员有修改图书借阅者借书和还书记录的权限,所以需对工作人员登陆本模块进行更多的考虑。在此模块中,图书管理系统管理人员可以为图书借阅者加入借书记录或是还书记录,并给用户查看和确认。管理员可以对图书的基本信息进行浏览、查询、添加、删除、修改和统计。还可以对借阅者的基本信息进行浏览和查询以及对图书馆的借阅信息进行统计。  2.2 功能需求分析1.管理者登录2.系统设置:管理员设置、图书馆信息设置、罚

10、金设置3.图书管理:添加、浏览、修改、删除、借阅、归还、挂失、详细查看、检索4.读者管理:添加、浏览、删除、修改、详情查看、检索5.信息查询:查询 2.3 数据需求分析1.管理员信息:用户名、密码、权限、编号。2.图书信息:除读者需要的信息以外,还需要录入时间、产品的编号以及图书是否挂失的信息。3.读者信息:读者编码、姓名、性别、类别、联系电话、联系地址、注册时间、是否挂失。4.借还书信息:读者编码、图书编码、借书数量、借阅时间、还书时间第3章 数据库设计3.1数据库设计平台本数据库设计采用了Microsoft SQL Server 2000作为开发平台

11、。库存数量3.2 ER模型是否挂失 出版社存入位置入库时间 图 书作者图书书名图书单价  图书类别图书编码  查询/借阅 联系地址联系电话  读 者有效证件读者类别 证件号码 读者性别 读者姓名登记日期 是否挂失 读者编码  教师包括学生  3.3 数据库的设计及内容简介 打开Microsoft SQL Server 2000,因为我设计是图书管理系统,所以为了方便,命名数据库的名称为tsglxt。然后新建表,主要包括图书馆信

12、息表(tsgxx表)、管理员表(admin表)、图书表(book表)、借书表(Jhbook表)、借书人表(borrow_reader表)、图书挂失表(tsgs表)、图书注销表(tszx表)、出版社表(cbs表)、图书存放位置表(cfwz表)、读者类别表(dzlb表)、用户表(users表)、读者挂失表(dzgs表)、有效证件表(yxzj表)、图书类别表(booklb表)等(1) 名称:管理员表  表名称标识:admin表字段名 字段类型 主/外键admin_id char padmin_xm charadmin_name charadmin_password char(2)

13、 名称:图书表 表名称标识:book表字段名 字段类型 主/外键Book_id  Char(10)  p Book_name  Nvarchar(50) author  Char(10) publish  Nvarchar(50) class  Char(10) bookdj  Char(10) inputtime  Nvarchar(50) sjmc  Char(10) nrjj  Nvarch

14、ar(50) sfgs  Char(10) kcsl  Int(4) jcsl  Int(4)    (3) 名称:出版社表  表名称标识:cbs表字段名 字段类型 主/外键publish  Nvarchar(50)  (4) 名称:图书挂失表  表名称标识:tsgs表  字段名 字段类型 主/外键Book_id char(10) pSfgs char(10)Book_name nvarchar(50)(5) 名称:存放位置(书架名称)

15、表表名称标识:cfwz表字段名 字段类型 主/外键sjmc  Char(10)  (6) 名称:读者类别表 表名称标识:dzlb表字段名 字段类型 主/外键dzlb  Char(10) kjsl  Char(10) zcqx  Char(10)  (7)  名称:借还书表表名称标识:jhbook表字段名 字段类型 主/外键User_id char(10)Uesr_name char(20)Book_id char(10)Jstime datatimeHstime datatime(8) 

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

17、ts表字段名 字段类型 主/外键Book_id  Char(10)  p Book_name  Nvarchar(50) (10) 名称:读者挂失表表名称标识:dzgs表字段名 字段类型 主/外键User_id  Char(10)  P sfgs  Char(10) User_name  Char(10)  (11) 名称:读者表表名称标识:users表字段名 字段类型 主/外键User_id  Char(10)  P User_nam

18、e  Char(10) User_xb  Char(10) User_lb  Char(10) Photo  Nvarchar(50) Address  Nvarchar(50) Yxzj  Char(10) Zj_number  Nvarchar(50) Dj_time  Char(10) sfgs  Char(10)  (12) 名称:有效证件表表名称标识:yxzj表字段名 字段类型 主/外键yxzj&

19、#160; Char(10) (13) 名称:图书类别表表名称标识:booklb表字段名 字段类型 主/外键class  Char(10)(14) 名称:借书人表表名称标识:borrow_reader表字段名 字段类型 主/外键User_id  Char(10)  P Kjsl Int(4) Yjsl  Int(4)     第4章 功能模块概要设计4.1 功能模块平台 C#作为软件设计和开发平台。功能应用软件的界面采用菜单方式进行操作,具有操作方便、直观,功能明确

20、、统一,对各界面的调用均在程序的主窗口下进行操作。4.2 功能模块设计及内容简介 C#,新建项目并命名为图书管理系统。新建窗体,拖入空间设计窗体。本系统主要包括Welcome登录模块、系统设置模块、图书设置模块、读者管理模块、图书管理模块、系统查询模块、帮助模块等模块。4.3 功能模块设计图 Welcome 欢迎登陆界面 主 界 面  系统设置图书设置帮助信息读者设置图书管理信息查询  图书分类设置图书馆设置存放位置出版社退出系统 注销图书归还图书借阅图书 图书资料记事本   挂失图书 管理员设置

21、0; 读者有效证件读者类型设置读者挂失读者信息解除挂失  图书信息查询借阅图书查询归还图书查询挂失图书查询读者信息查询读者挂失查询 第5章 功能模块详细设计5.1 借阅图书模块设计5.1.1 界面设计5.1.2 算法设计 在“更新”按钮的Click事件代码中编写代码,采用ADO.Net技术实现数据库的访问,在数据库的book表中查询图书信息记录,用SqlDataReader对象读取,然后显示出所有的图书信息记录。 在“查询”按钮的Click事件代码中编写代码,采用ADO.Net技术实现数据库的访问,在数据库的book表中查询图书信息记录,用SqlDataReader对象读取

22、,然后显示出查询的图书信息记录。 在“借阅图书”按钮的Click事件代码中编写代码,将读者要借的图书信息与读者的信息绑定写入数据库借还书表(jhbook表)。5.1.3 代码实现usingSystem;Using System.Collections.Generic; Using System.ComponentModel; Using System.Data; Using System.Drawing; Using System.Text;  Using System.Windows.Forms; Using System.Data

23、.SqlClient;   Namespace WindowsApplication1       Public partial class 借阅图书: Form               Public 借阅图书()              &#

24、160;         InitializeComponent();            Private void 借阅图书 _Load( object sender, EventArgs e)                 

25、;      / TODO: 这行代码将数据加载到表“tsglxtDataSet.JHbook”中。您可以根据需要移动或移除它 this.jHbookTableAdapter.Fill(this .tsglxtDataSet.JHbook);              / TODO: 这行代码将数据加载到表“tsglxtDataSet.book”中。您可以根据需要移动

26、或移除它。this.bookTableAdapter.Fill(this.tsglxtDataSet.book);         / TODO:  这行代码将数据加载到表“tsglxtDataSet.users”中。您可以根据需要移动或移除它。 this.usersTableAdapter.Fill(this.tsglxtDataSet.users);           &

27、#160;              SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=tsglxt;Integrated Security=True");   DataSet ds = new DataSet();   SqlDataAdapter

28、ada = new SqlDataAdapter();  BindingSource bs = new BindingSource(); Private void button1_Click(object sender, EventArgs e)                 String sql = "select *

29、60;from users where user_id='"+ textBox2.Text.Trim() + "'" ada.SelectCommand = new SqlCommand (sql, con); dataGridView1.DataSource = null; ada.Fill(ds, "users");  bs.DataSource 

30、= ds;  bs.DataMember = "users"  if(bs.Count <= 0)   MessageBox .Show("表中无此读者"); else   dataGridView1.DataSource = bs;   Private void button2_Click(object sender, EventArgs

31、e)   String sql = "select * from users where user_name='"+ textBox1.Text Trim() + "'"  ada.SelectCommand = new SqlCommand (sql, con); dataGridView1.DataSource = null;&

32、#160; ada.Fill(ds, "users");  bs.DataSource = ds;  bs.DataMember = "users"  If (bs.Count <= 0)    MessageBox.Show("表中无此读者");  else   dataGridView1.DataSource 

33、;= bs;   Private void button3_Click(object sender, EventArgs e)     String sql = "select * from book where book_id='"+ textBox3.Text.Trm() + "'" ada.SelectCommand =

34、60;new SqlCommand(sql, con); dataGridView2.DataSource = null; ada.Fill(ds, "book"); bs.DataSource = ds; bs.DataMember = "book" if(bs.Count <= 0)  MessageBox.Show("表中无此图书"); else 

35、; dataGridView2.DataSource = bs;  Private void button4_Click(object sender, EventArgs e)    String sql = "select * from book where class='" + comboBox1.SelectedItem.ToString() + "'&q

36、uot; ada.SelectCommand = new SqlCommand(sql, con);  ada.SelectCommand.Parameters.AddWithValue("class", comboBox1.Text); dataGridView2.DataSource = null; ada.Fill(ds, "book"); bs.DataSource = ds; bs.DataMem

37、ber = "book" if(bs.Count <= 0)  MessageBox.Show("表中无类别"); ElsedataGridView2.DataSource = bs;   Private void button5_Click( object sender, EventArgs e)   String sql = "select * f

38、rom users"  ada.SelectCommand = new SqlCommand(sql, con);  ds.Clear();   ada.Fill(ds, "users");  bs.DataSource = ds;  bs.DataMember = "users" dataGridView1.DataSource = b

39、s;   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");&

40、#160; bs.DataSource = ds; bs.DataMember = "book" dataGridView1.DataSource = bs;   Private void button7_Click(object sender, EventArgs e)     String sql = "select kjsl-yjsl fro

41、m borrow_reader where user_id='" + textBox1.Text.Trim() + "'"  SqlCommand cmd = new SqlCommand (sql, con); Int a = cmd.ExecuteScalar(); If (a=0)   MessageBox .Show("借书数量已满,请还书后再借!");

42、                 return; string_sql = "select kcsl-jcsl from book where book_id='" + textBox3.Text.Trim() + "'"  

43、0;          SqlCommand cmd = new SqlCommand(_sql, con); Int b = cmd.ExecuteScalar(); if(b=0)      MessageBox.Show("此书已全部被借出,不能借阅");        &

44、#160;      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)

45、;  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", dateTi

46、mePicker1.Value);  string sqlstr="update  borrow_reader set Yjsl=Yjsl+1 where user_id= user_id "                 string_sql="update  book

47、60;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.A

48、ddWithValue("book_id", textBox3.Text);try      con.Open();   sqlcmd.ExecuteNonQuery();  cmd.ExecuteNonQuery();  ddd.ExecuteNonQuery();  con.Close();   MessageBox.Show("借阅成功");     

49、catch(DataException ex)   MessageBox .Show(ex.Message);  finally       dataGridView3.DataSource = bs;                       &

50、#160;                  Private void button8_Click(object sender, EventArgs e)     this.Close();    Private void button9_Click(object sender, EventArgs e)  

51、   String sql = "select * from book where book_name='"+ textBox4.Text.Trim() + "'" ada.SelectCommand = new SqlCommand (sql, con);  dataGridView2.DataSource = null; 

52、60;ada.Fill(ds, "book");  bs.DataSource = ds;  bs.DataMember = "book"             If (bs.Count <= 0)  MessageBox .Show("表中无此书籍");else  &#

53、160; dataGridView2.DataSource = bs;                 5.2 归还图书模块设计5.2.1 界面设计5.2.2 算法设计 在“更新”按钮的Click事件代码中编写代码,采用ADO.Net技术实现数据库的访问,在数据库的jhbook表中查询读者信息记录,用SqlDataReader对象读取,然后显示出所有的读者借阅图书信息记录。  在“查询”按钮的Cl

54、ick事件代码中编写代码,采用ADO.Net技术实现数据库的访问,在数据库的jhbook表中查询读者信息记录,用SqlDataReader对象读取,然后显示出查询的读者借阅图书信息记录。  在“归还图书”按钮的Click事件代码中编写代码,将读者要借的图书信息与读者的信息绑定写入数据库借阅图书表(jHbook表)中。5.2.3 代码实现Using System;  Using System.Collections.Generic; Using System.ComponentModel; Using System.Data; Using Sys

55、tem.Drawing; Using System.Text;  Using System.Windows.Forms; Using System.Data.SqlClient;Namespace WindowsApplication1    Public partial class 归还图书 : Form            Public 归还图书()     &

56、#160;                 InitializeComponent();           Private void 归还图书_Load(object sender, EventArgs e)        / TODO:

57、 这行代码将数据加载到表“tsglxtDataSet.borrower_reader”中。您可以根据需要移动或移除它。  this.borrower_readerTableAdapter.Fill(this.tsglxtDataSet.borrower_reader);              / TODO: 这行代码将数据加载到表“tsglxtDataSet.book”中。您可以根据需要移动或移除它。 this.

58、bookTableAdapter.Fill(this.tsglxtDataSet.book);  / TODO: 这行代码将数据加载到表“tsglxtDataSet.JHbook”中。您可以根据需要移动或移除它。 this.jHbookTableAdapter.Fill(this.tsglxtDataSet.JHbook);   SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=tsglx

59、t;Integrated Security=True");  DataSet ds = new DataSet();  SqlDataAdapter ada = new SqlDataAdapter(); BindingSource bs = new BindingSource();  Private void button1_Click(object sender, EventArgs e)      S

60、tring sql = "select * from jhbook where user_id='" + textBox2.Text.Trim() + "'"  ada.SelectCommand = new SqlCommand(sql, con);    dataGridView1.DataSource = null;

61、   ada.Fill(ds, "jhbook");    bs.DataSource = ds;    bs.DataMember = "jhbook"   if (bs.Count <= 0)    MessageBox.Show("表中无此读者");  &#

62、160;else     dataGridView1.DataSource = bs;   Private void button2_Click(object sender, EventArgs e)      string sql = "select * from jhbook where user_name='"&#

63、160;+ textBox1.Text.Trim() + "'"  ada.SelectCommand = new SqlCommand (sql, con);  dataGridView1.DataSource = null;  ada.Fill(ds, "jhbook");  bs.DataSource = ds;  bs.DataMember&

64、#160;= "jhbook" If (bs.Count <= 0)  MessageBox.Show("表中无此读者"); else    dataGridView1.DataSource = bs;   Private void button3_Click(object sender, EventArgs e)     

65、0;string sql = "select * from jhbook"  ada.SelectCommand = new SqlCommand(sql, con);   ds.Clear();    ada.Fill(ds, "jhbook");  bs.DataSource = ds;  bs.DataMembe

66、r = "jhbook"  dataGridView1.DataSource = bs;   Privat void button4_Click(object sender, EventArgs e)      this.Close();      Private void button5_Click(object sender

67、, EventArgs e)       String sql = "update jhbook  set  hstime=hstime where user_id='"+dataGridView2.CurrentRow.Cells0.Value.ToString()+"'and book_id='"+dataGridView2.CurrentRow.Cells2.Value.ToString()+"'"string sqlstr="update  borrow_reader set Yjsl=Yjsl-1 where book_id='

温馨提示

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

评论

0/150

提交评论