图书管理系统设计与实现.docx

上传人:b****4 文档编号:6205691 上传时间:2023-05-09 格式:DOCX 页数:25 大小:66.51KB
下载 相关 举报
图书管理系统设计与实现.docx_第1页
第1页 / 共25页
图书管理系统设计与实现.docx_第2页
第2页 / 共25页
图书管理系统设计与实现.docx_第3页
第3页 / 共25页
图书管理系统设计与实现.docx_第4页
第4页 / 共25页
图书管理系统设计与实现.docx_第5页
第5页 / 共25页
图书管理系统设计与实现.docx_第6页
第6页 / 共25页
图书管理系统设计与实现.docx_第7页
第7页 / 共25页
图书管理系统设计与实现.docx_第8页
第8页 / 共25页
图书管理系统设计与实现.docx_第9页
第9页 / 共25页
图书管理系统设计与实现.docx_第10页
第10页 / 共25页
图书管理系统设计与实现.docx_第11页
第11页 / 共25页
图书管理系统设计与实现.docx_第12页
第12页 / 共25页
图书管理系统设计与实现.docx_第13页
第13页 / 共25页
图书管理系统设计与实现.docx_第14页
第14页 / 共25页
图书管理系统设计与实现.docx_第15页
第15页 / 共25页
图书管理系统设计与实现.docx_第16页
第16页 / 共25页
图书管理系统设计与实现.docx_第17页
第17页 / 共25页
图书管理系统设计与实现.docx_第18页
第18页 / 共25页
图书管理系统设计与实现.docx_第19页
第19页 / 共25页
图书管理系统设计与实现.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

图书管理系统设计与实现.docx

《图书管理系统设计与实现.docx》由会员分享,可在线阅读,更多相关《图书管理系统设计与实现.docx(25页珍藏版)》请在冰点文库上搜索。

图书管理系统设计与实现.docx

图书管理系统设计与实现

图书管理系统的设计和开发

 

第1章概论

1.1背景及目的

当今时代是飞速发展的信息时代,各行各业都离不开信息处理,这正是计算机被广泛应用于社会各行各业的原因。

使用计算机进行信息管理是行业现代化的一个标志,此举不仅提高了工作效率,而且大大的提高了其安全性。

尤其对于复杂的信息管理,计算机能够充分发挥它的优越性:

快速操作、智能分析、海量存储和长期保存等等。

使用计算机进行信息管理与信息管理系统的开发密切相关,因为信息管理系统的开发是利用信息管理系统进行管理的前提。

本系统就是为了进行现代化图书馆信息管理而设计的。

本系统是一个针对大中专院校图书馆的图书信息管理系统,着力于解决原来手工管理出现的问题,如效率低、易出错、手续繁琐,还耗费大量的人力和物力,旨在实现现代化的信息管理。

1.2系统功能模块设计简介

本系统包含读者登记、添加新书、读者借书、读者还书、图书注销、查询读者、查询图书等等功能。

Ø读者登记时要为读者编制读者卡号,包括读者的具体信息(包括读者编号、姓名、性别、类别、有效证件、联系电话、联系地址等),写入读者文件中。

Ø添加新书时要为该书编制图书卡片(包括分类图书编号、图书书名、作者、类别、图书单价和入库日期等信息),写入图书文件中。

Ø读者借书时,先检查该读者是否为有效的读者,若无效则拒绝借书,然后检查该读者所借图书是否超过最大限制数,若超过则拒绝借书,再检查有尚未归还的过期图书,若有则拒绝借书,最后查找要借的图书是否还有,如果有则办理借出手续,登记图书分类号、读者号和借阅日期等。

Ø读者还书时,根据书号,从借书文件中读出有关记录,标明还书日期,如果图书过期,则处以罚款。

Ø系统还应提供图书清理的功能,对无价值的和过时的图书可以进行注销。

Ø查询要求分为查询某位读者、某种图书和全局图书三种情况。

第2章图书管理系统需求分析

2.1应用需求分析

图书馆管理系统开发的总的设计目标是实现图书管理的系统化、规范化和自动化,实现对图书资料的集中统一的管理。

本系统主要实现对图书馆信息的管理,主要功能为管理有关读者、图书、借阅、查询、删除和管理员的信息等。

本系统结构分为读者类别管理、读者档案管理、图书类型管理、图书档案管理以及图书流程管理,读者管理可以浏览读者的信息,可以对读者信息进行维护。

图书管理可以浏览图书的信息,可以对图书信息进行维护。

借阅管理可以显示当前数据库中书籍借阅情况,可以对借阅信息进行维护。

本系统主要解决的问题是利用关键字对数据库进行查询。

图书管理系统需要满足来自二方面的需求,这二个方面分别是图书借阅者和图书管理系统管理人员。

图书借阅者的需求是查询图书馆所存的图书、个人借阅情况及个人信息的修改;图书管理系统管理人员对图书借阅者的借阅及还书要求进行操作,同时形成借书或还书情况给借阅者查看确认,对工作人员、图书借阅者、图书进行管理和维护,及系统状态的查看。

图书管理系统管理人员有修改图书借阅者借书和还书记录的权限,所以需对工作人员登陆本模块进行更多的考虑。

在此模块中,图书管理系统管理人员可以为图书借阅者加入借书记录或是还书记录,并给用户查看和确认。

管理员可以对图书的基本信息进行浏览、查询、添加、删除、修改和统计。

还可以对借阅者的基本信息进行浏览和查询以及对图书馆的借阅信息进行统计。

2.2功能需求分析

1.管理者登录

2.系统设置:

管理员设置、图书馆信息设置、罚金设置

3.图书管理:

添加、浏览、修改、删除、借阅、归还、挂失、详细查看、检索

4.读者管理:

添加、浏览、删除、修改、详情查看、检索

5.信息查询:

查询

2.3数据需求分析

1.管理员信息:

用户名、密码、权限、编号。

2.图书信息:

除读者需要的信息以外,还需要录入时间、产品的编号以及图书是否挂失的信息。

3.读者信息:

读者编码、姓名、性别、类别、联系电话、联系地址、注册时间、是否挂失。

4.借还书信息:

读者编码、图书编码、借书数量、借阅时间、还书时间

 

第3章数据库设计

3.1数据库设计平台

有效证件

证件号码

登记日期

是否挂失

读者

学生

教师

读者编码

读者姓名

读者性别

读者类别

联系电话

联系地址

包括

查询/借阅

图书

图书编码

图书书名

作者

出版社

图书类别

图书单价

入库时间

存放位置

是否挂失

库存数量

借出数量

本数据库设计采用了MicrosoftSQLServer2000作为开发平台。

3.2数据库ER模型图

 

3.3数据库的设计及内容简介

打开MicrosoftSQLServer2000,因为我设计是图书管理系统,所以为了方便,命名数据库的名称为tsglxt。

然后新建表,主要包括图书馆信息表(tsgxx表)、管理员表(admin表)、图书表(book表)、借书表(Jhbook表)、借书人表(borrow_reader表)、图书挂失表(tsgs表)、图书注销表(tszx表)、出版社表(cbs表)、图书存放位置表(cfwz表)、读者类别表(dzlb表)、用户表(users表)、读者挂失表(dzgs表)、有效证件表(yxzj表)、图书类别表(booklb表)等。

(1)名称:

管理员表

表名称标识:

admin表

字段名

字段类型

主/外键

admin_id

char

p

admin_xm

char

admin_name

char

admin_password

char

(2)名称:

图书表

表名称标识:

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

Nvarchar(50)

sfgs

Char(10)

 kcsl

Int(4)

jcsl

Int(4)

(3)名称:

出版社表

表名称标识:

cbs表

字段名

字段类型

主/外键

publish

Nvarchar(50)

 

(4)名称:

图书挂失表

表名称标识:

tsgs表

字段名

字段类型

主/外键

Book_id

Char(10)

p

sfgs

Char(10)

Book_name

Nvarchar(50)

 

(5)名称:

存放位置(书架名称)表

表名称标识:

cfwz表

字段名

字段类型

主/外键

sjmc

Char(10)

(6)名称:

读者类别表

表名称标识:

dzlb表

字段名

字段类型

主/外键

dzlb

Char(10)

kjsl

Char(10)

zcqx

Char(10)

(7)名称:

借还书表

表名称标识:

jhbook表

字段名

字段类型

主/外键

User_id

Char(10)

User_name

Varchar(20)

Book_id

Char(10)

Jstime

Datatime

hstime

datatime

 

(8)名称:

图书馆信息表

表名称标识:

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)名称:

注销图书表

表名称标识:

zxts表

字段名

字段类型

主/外键

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_name

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

Char(10)

(13)名称:

图书类别表

表名称标识:

booklb表

字段名

字段类型

主/外键

class

Char(10)

(14)名称:

借书人表

表名称标识:

borrow_reader表

字段名

字段类型

主/外键

User_id

Char(10)

P

Kjsl

Int(4)

Yjsl

Int(4)

第4章功能模块概要设计

4.1功能模块开发平台

本功能模块应用软件的开发采用了Microsoft.Visual.Studio.2005C#作为软件设计和开发平台。

功能应用软件的界面采用菜单方式进行操作,具有操作方便、直观,功能明确、统一,对各界面的调用均在程序的主窗口下进行操作。

4.2功能模块设计及内容简介

打开Microsoft.Visual.Studio.2005C#,新建项目并命名为图书管理系统。

新建窗体,拖入空间设计窗体。

本系统主要包括Welcome登录模块、系统设置模块、图书设置模块、读者管理模块、图书管理模块、系统查询模块、帮助模块等模块。

读者挂失查询

主界面

帮助信息

管理员设置

Welcome欢迎登陆界面

系统设置

图书设置

读者管理

图书管理

信息查询

图书馆设置

退出系统

图书分类设置

出版社

存放位置

读者信息

读者有效证件

读者类型设置

读者挂失

解除挂失

图书资料

借阅图书

归还图书

挂失图书

注销图书

记事本

图书信息查询

归还图书查询

挂失图书查询

读者信息查询

借阅图书查询

4.3功能模块设计图

 

第5章功能模块详细设计

5.1借阅图书模块设计

5.1.1界面设计

5.1.2算法设计

在“更新”按钮的Click事件代码中编写代码,采用ADO.Net技术实现数据库的访问,在数据库的book表中查询图书信息记录,用SqlDataReader对象读取,然后显示出所有的图书信息记录。

在“查询”按钮的Click事件代码中编写代码,采用ADO.Net技术实现数据库的访问,在数据库的book表中查询图书信息记录,用SqlDataReader对象读取,然后显示出查询的图书信息记录。

在“借阅图书”按钮的Click事件代码中编写代码,将读者要借的图书信息与读者的信息绑定写入数据库借还书表(jhbook表)中。

5.1.3代码实现

usingSystem;

usingSystem.Collections.Generic;

usingSystem.ComponentModel;

usingSystem.Data;

usingSystem.Drawing;

usingSystem.Text;

usingSystem.Windows.Forms;

usingSystem.Data.SqlClient;

namespaceWindowsApplication1

{

publicpartialclass借阅图书:

Form

{

public借阅图书()

{

InitializeComponent();

}

privatevoid借阅图书_Load(objectsender,EventArgse)

{

//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);

}

SqlConnectioncon=newSqlConnection("DataSource=.;InitialCatalog=tsglxt;IntegratedSecurity=True");

DataSetds=newDataSet();

SqlDataAdapterada=newSqlDataAdapter();

BindingSourcebs=newBindingSource();

privatevoidbutton1_Click(objectsender,EventArgse)

{

stringsql="select*fromuserswhereuser_id='"+textBox2.Text.Trim()+"'";

ada.SelectCommand=newSqlCommand(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;

}

privatevoidbutton2_Click(objectsender,EventArgse)

{

stringsql="select*fromuserswhereuser_name='"+textBox1.Text.Trim()+"'";

ada.SelectCommand=newSqlCommand(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;

}

privatevoidbutton3_Click(objectsender,EventArgse)

{

stringsql="select*frombookwherebook_id='"+textBox3.Text.Trim()+"'";

ada.SelectCommand=newSqlCommand(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;

}

privatevoidbutton4_Click(objectsender,EventArgse)

{

stringsql="select*frombookwhereclass='"+comboBox1.SelectedItem.ToString()+"'";

ada.SelectCommand=newSqlCommand(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;

}

privatevoidbutton5_Click(objectsender,EventArgse)

{

stringsql="select*fromusers";

ada.SelectCommand=newSqlCommand(sql,con);

ds.Clear();

ada.Fill(ds,"users");

bs.DataSource=ds;

bs.DataMember="users";

dataGridView1.DataSource=bs;

}

privatevoidbutton6_Click(objectsender,EventArgse)

{

stringsql="select*frombook";

ada.SelectCommand=newSqlCommand(sql,con);

ds.Clear();

ada.Fill(ds,"book");

bs.DataSource=ds;

bs.DataMember="book";

dataGridView1.DataSource=bs;

}

privatevoidbutton7_Click(objectsender,EventArgse)

{

stringsql="selectkjsl-yjslfromborrow_readerwhereuser_id='"+textBox1.Text.Trim()+"'";

SqlCommandcmd=newSqlCommand(sql,con);

inta=cmd.ExecuteScalar();

if(a=0)

{

MessageBox.Show("借书数量已满,请还书后再借!

");

return;

}

string_sql="selectkcsl-jcslfrombookwherebook_id='"+textBox3.Text.Trim()+"'";

SqlCommandcmd=newSqlCommand(_sql,con);

intb=cmd.ExecuteScalar();

if(b=0)

{

MessageBox.Show("此书已全部被借出,不能借阅");

}

else

{

stringsql="insertintojhbook(user_id,user_name,book_id,jstime)Values(@user_id,@user_name,@book_id,@jstime)";

SqlCommandsqlcmd=newSqlCommand(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);

stringsqlstr="updateborrow_readersetYjsl=Yjsl+1whereuser_id=@user_id";

string_sql="updatebooksetjcsl=jcsl+1wherebook_id=@book_id";

SqlCommandcmd=newSqlCommand(sqlstr,con);

SqlCommandddd=newSqlCommand(_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(DataExceptionex)

{MessageBox.Show(ex.Message);}

finally

{

dataGridView3.DataSource=bs;

}

}

}

privatevoidbutton8_Click(objectsender,EventArgse)

{

this.Close();

}

privatevoidbutton9_Click(objectsender,EventArgse)

{

stringsql="select*frombookwherebook_name='"+textBox4.Text.Trim()+"'";

ada.SelectCommand=newSqlCommand(sql

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2