南京邮电大学本科生毕业设计顾峰论文.docx

上传人:b****5 文档编号:6513202 上传时间:2023-01-07 格式:DOCX 页数:67 大小:527.37KB
下载 相关 举报
南京邮电大学本科生毕业设计顾峰论文.docx_第1页
第1页 / 共67页
南京邮电大学本科生毕业设计顾峰论文.docx_第2页
第2页 / 共67页
南京邮电大学本科生毕业设计顾峰论文.docx_第3页
第3页 / 共67页
南京邮电大学本科生毕业设计顾峰论文.docx_第4页
第4页 / 共67页
南京邮电大学本科生毕业设计顾峰论文.docx_第5页
第5页 / 共67页
点击查看更多>>
下载资源
资源描述

南京邮电大学本科生毕业设计顾峰论文.docx

《南京邮电大学本科生毕业设计顾峰论文.docx》由会员分享,可在线阅读,更多相关《南京邮电大学本科生毕业设计顾峰论文.docx(67页珍藏版)》请在冰豆网上搜索。

南京邮电大学本科生毕业设计顾峰论文.docx

南京邮电大学本科生毕业设计顾峰论文

南京邮电大学

毕业论文

题目

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

专业

信息管理与信息系统

学生姓名

顾峰

班级学号

B10111729

指导教师

指导单位

日期:

年月日至年月日

毕业设计(论文)原创性声明

本人郑重声明:

所提交的毕业设计(论文),是本人在导师指导下,独立进行研究工作所取得的成果。

除文中已注明引用的内容外,本毕业设计(论文)不包含任何其他个人或集体已经发表或撰写过的作品成果。

对本研究做出过重要贡献的个人和集体,均已在文中以明确方式标明并表示了谢意。

论文作者签名:

顾峰

日期:

2014年5月1日

 

摘要

图书管理系统是一个不可缺少的部分,它的功能对于图书的管理者和读者来说都至关重要,直接关系到图书的借用率,开发图书管理系统能够为管理员和读者提供充足的信息和快捷的查询手段。

本文在详细调查了图书管理业务流程的基础上,对图书管理系统的功能结构和数据库进行了设计,并采用VisualBasic和C语言技术实现了系统主要功能。

关键词:

图书管理系统,VisualBasic,C

ABSTRACT

LibraryManagementSystemisanindispensablepartofitsfunctionalityformanagersandbookreadersarecriticaltoborrowbooksdirectlyrelatedtotherateofdevelopmentoflibrarymanagementsystemtoprovideadequateinformationforadministratorsandreadersandfastquerytool.Inthispaper,adetailedinvestigationofthebasicbooksonbusinessprocessmanagement,anddatabasestructuresforfunctionallibrarymanagementsystemwasdesignedusingVisualBasicandCtoachievethemainfunction.

Keywords:

LibraryManagementSystem,VisualBasic,AC

第一章系统分析………………………………………………………1

1.1开发背景…………………………………………………………………………1

1.2需求分析………………………………………………………………………1

第二章系统设计………………………………………………………2

2.1系统总体构……………………………………………………………………2

2.2数据库设计………………………………………………………………………2

2.3编码设计………………………………………………………………………4

第三章系统实施………………………………………………………5

3.1登录……………………………………………………………………………5

3.2系统主界面……………………………………………………………………7

3.3书库管理………………………………………………………………………7

1)新书登记……………………………………………………………………7

2)借书/还书…………………………………………………………………13

3)缴费…………………………………………………………………………21

4)书籍挂失……………………………………………………………………25

5)图书信息查询………………………………………………………………30

6)借书信息查询………………………………………………………………31

3.4借阅证管理……………………………………………………………………32

1)办理借阅证…………………………………………………………………32

2)借阅证信息查询……………………………………………………………35

3)借阅证挂失…………………………………………………………………35

3.5系统/其它……………………………………………………………………36

1)添加账号……………………………………………………………………38

2)修改密码……………………………………………………………………41

3)退出…………………………………………………………………………42

结束语(四号、宋体)………………………………………………×

致谢(四号、宋体)……………………………………………………×

参考文献(四号、宋体)………………………………………………×

附录(四号、宋体)…………………………………………………

第一章系统分析

1.1开发背景

随着信息技术的发展,在图书馆的管理中运用传统的手工操作方式在现在这个数字化的时代已显得极不适应,因此,工作人员和读者对于运用计算机来辅助协调和管理自身工作的需求正在逐步提高。

随着我国现代化技术的不断提高和普及,学校也在不断的提高它的各个部门的管理质量,而图书馆管理就是对图书的编目、查询及读者信息的管理,重要的是图书的信息管理,包括图书的采购、编目、下架、遗失等。

因此,图书的管理是一个工作量比较大而且较为繁杂的工作,至今还有很多学校仍然采用人工管理的方式,由两三个工作人员管理图书档案,对于借书还书都是用手工来进行操作,而一旦借阅者较多时就容易因忙碌导致错误的产生,这样的情况在今天这样一个科技高速发展、工作节奏加快的年代真是感觉太原始了。

自从管理信息系统这一新兴的管理方法引入我国,在我国企业管理中已有20多年的时间。

现在,管理信息系统已经广泛应用于各行各业。

因此在这样的前提下,我选择了“图书馆管理信息系统”这样一个较为普遍,同时又较为典型的课题。

在当今这样一个科技高速发展的社会里,仅有理论知识是显然不行的,所以,我希望通过开发这个系统,能更好地把理论与实际结合起来,充分将自己所学的专业知识应用于实践之中,并在实践中不断充实自己,提高自己的专业技能水平,以获取更多的教益

1.2需求分析(四号、黑体、顶格)

经过仔细分析系统需求之后,本图书管理系统主要完成的主要功能如下:

●进入系统前需要身份验证、用户名、密码,输入正确后方可进入。

●用户可以根据需要进行书库管理。

●用户可以进行借书证的办理、查询、挂失等操作。

●用户可以添加账户和修改密码。

图1.2需求分析

●身份验证:

提供系统的访问控制功能。

●书库管理:

包括新书登记、借书、还书、书籍挂失、图书信息查询、借书信息查询等功能。

●借阅证管理:

提供办理借阅证、借阅证信息查询、借阅证挂失功能。

●系统管理功能:

包括添加账号、修改密码和退出系统等功能。

 

第二章系统设计

2.1系统总体结构

通过对图书管理系统的功能分析,可以定义出系统的功能模块图如下:

图2.1系统总体结构

2.2数据库设计

●管理员基本信息表

字段名称

数据类型

可否为空

约束条件

说明

WorkID

int

NOTNULL

主键

成员ID

User_Name

VARCHAR(24)

NOTNULL

姓名

Password

VARCHAR(24)

NOTNULL

密码

表2.2.1管理员基本信息表

●图书信息表

字段名称

数据类型

可否为空

约束条件

说明

Book_ID

VARCHAR(50)

NOTNULL

主键

书籍ID

Book_Name

VARCHAR(50)

NOTNULL

书名

Writer

VARCHAR(50)

NOTNULL

作者

Press

VARCHAR(50)

NOTNULL

出版社

Price

float

NOTNULL

单价

InLibrary_Date

datetime

NOTNULL

入库时间

Total_Amount

int

NOTNULL

总量

Now_Amount

int

NOTNULL

现存量

表2.2.2图书信息表

●借阅卡信息表

字段名称

数据类型

可否为空

约束条件

说明

Proof_ID

VARCHAR(50)

NOTNULL

主键

借阅卡ID

Name

VARCHAR(50)

NOTNULL

姓名

Sex

VARCHAR(50)

NOTNULL

性别

Birth_Time

datetime

NOTNULL

出生日期

Address

VARCHAR(50)

NOTNULL

地址

ID_Number

VARCHAR(50)

NOTNULL

身份证号

Tel_Number

VARCHAR(50)

NOTNULL

电话号码

Now_Borrow_Amount

int

NOTNULL

现借书量

表2.2.3借阅卡信息表

●借书信息表

字段名称

数据类型

可否为空

约束条件

说明

BorrowID

int

NOTNULL

主键

借书ID

Proof_ID

VARCHAR(50)

NOTNULL

外键(Proof_Info)

借书卡ID

Book_ID

VARCHAR(50)

NOTNULL

外键(Book_Info)

书籍ID

Borrow_Date

datetime

NOTNULL

借出时间

表2.2.4借书信息表

●罚单信息表

字段名称

数据类型

可否为空

约束条件

说明

Puni_ID

int

NOTNULL

主键

罚单ID

Proof_ID

VARCHAR(50)

NOTNULL

借书卡ID

Book_ID

VARCHAR(50)

NOTNULL

书籍ID

Borrow_Date

datetime

NOTNULL

借出时间

Return_Date

datetime

NOTNULL

还书时间

Puni_Money

float

NOTNULL

罚金

表2.2.5罚单信息表

2.3编码设计

●WorkID,BorrowID,Puni_ID都设置了标识规范,增加记录时自动加1,保持其唯一性。

●Borrow_Date,Return_Date,InLibrary_Date都设置成datetime类型,插入记录时自动获取当前日期,不需要管理员输入日期。

●Proof_ID,Book_ID,ID_Number,Tel_Number,Proof_ID由于它们只是代表一个标识,不是一个表示大小的数字,所以用VARCHAR类型,用int或long可能会有溢出现象。

 

第三章系统实施

3.1登陆

●功能说明:

验证管理员的用户名和密码是否正确,正确则进入主界面。

●源代码:

头文件:

usingSystem.Data.SqlClient;

连接数据库:

SqlConnectioncon=newSqlConnection("server=20100310-1827\\SQLEXPRESS;database=Library;IntegratedSecurity=True");

程序主体:

privatevoidbutton_exit_Click(objectsender,EventArgse)//退出

{

Application.Exit();

}

privatevoidbutton_log_Click(objectsender,EventArgse)//登录

{

if(this.UserName.Text.Trim()==""||this.PassWord.Text.Trim()=="")

MessageBox.Show("用户名和密码都不能为空!

");

if(con.State==ConnectionState.Closed)

con.Open();

Stringstr="selectcount(*)fromAdmin_InfowhereUser_Name='"+this.UserName.Text.Trim()+

"'andPassword='"+this.PassWord.Text+"'";

SqlCommandcom=newSqlCommand(str,con);

inti=Convert.ToInt32(com.ExecuteScalar());

if(i>0)

{

Form2form2=newForm2();//系统主界面

form2.Show();

this.Visible=false;

}

else

{

MessageBox.Show("用户名或密码输入有误,请重新输入!

");

this.UserName.Text="";

this.PassWord.Text="";

}

}

●界面演示:

登录名和密码正确的话进入系统主界面(图3.1.1);登录名或者密码不正确的话会弹出提示对话框,并将用户名、密码栏置空(图3.1.2);如果用户名或者密码有空,弹出对话框并将用户名、密码栏置空(图3.1.3)。

 

图3.1.1

 

图3.1.2

 

图3.1.3

 

图3.1.4

3.2系统主界面

●功能说明:

选择各个功能模块

●源代码:

privatevoidForm2_FormClosing(objectsender,FormClosingEventArgse)

{

Application.Exit();

}

privatevoidbutton_exit_Click(objectsender,EventArgse)

{

Application.Exit();

}

privatevoidbutton_new_book_Click(objectsender,EventArgse)

{

Form3form3=newForm3();//新书登记

form3.Show();

}

//初始化对应界面,和上面类似,不再赘述

……

●界面演示:

如图3.1.4

3.3书库管理

1)新书登记:

●功能说明:

入库的实现过程是首先要输入书籍的各种信息,包括书的书号、书名、作者、出版社、价钱、总量、现存量等,这里书的数量由两个变量来记录,总量代表图书馆中这种这种书的总量,现存量是目前正在管中的量,两者之差就是被读者借出去的数量。

其中每个信息不能有遗漏或者格式不正确,因为这是每一本书的基本信息,在函数的实现过程中有检验的功能。

然后判断图书馆中是否存在这种图书,如果存在,那么时间简单的把库存的数量加上新加入的数量,如果不存在,那么就要新建记录。

●源代码:

连接数据库:

SqlDataAdapterda=newSqlDataAdapter();

DataSetds=newDataSet();

程序主体:

//主界面调用的每个模块的返回按钮都是隐藏本体,以后不再写出返回按钮的操作带代码

privatevoidbutton_back_Click(objectsender,EventArgse)//返回

{

this.Visible=false;

}

privatevoidbutton_in_Click(objectsender,EventArgse)//入库

{

intres;

//检验输入数据是否合法

if(this.textBox_book_no.Text.Trim()==""||this.textBox_name.Text.Trim()==""

||boBox_press.Text.Trim()==""||this.textBox_price.Text.Trim()==""

||this.textBox_total.Text.Trim()==""||this.textBox_writer.Text.Trim()=="")

{

MessageBox.Show("请正确填写要求的数据!

","新书入库登记");

this.textBox_book_no.Text="";

this.textBox_name.Text="";

boBox_press.Text="";

this.textBox_price.Text="";

this.textBox_total.Text="";

this.textBox_writer.Text="";

}

//判断书库中是否有该书,有,仅把数量加进去,没有,加进一条新的记录

else

{

if(con.State==ConnectionState.Closed)

con.Open();

Stringstr1="selectTotal_AmountfromBook_InfowhereBook_ID='"

+this.textBox_book_no.Text.Trim()+"'";

SqlCommandcom1=newSqlCommand(str1,con);

inttotal_num=Convert.ToInt32(com1.ExecuteScalar());

Stringstr2="selectNow_AmountfromBook_InfowhereBook_ID='"

+this.textBox_book_no.Text.Trim()+"'";

SqlCommandcom2=newSqlCommand(str2,con);

intnow_num=Convert.ToInt32(com2.ExecuteScalar());

intnum1=Convert.ToInt32(this.textBox_total.Text);

total_num+=num1;

now_num+=num1;

Stringstr="selectcount(*)fromBook_InfowhereBook_ID='"

+this.textBox_book_no.Text.Trim()+"'";

SqlCommandcom=newSqlCommand(str,con);

inti=Convert.ToInt32(com.ExecuteScalar());

if(i>0)

{

Stringstr3="updatedbo.Book_InfosetTotal_Amount='"+

total_num.ToString().Trim()+"',Now_Amount='"+now_num.ToString().Trim()

+"'whereBook_ID='"+this.textBox_book_no.Text.Trim()+"'";

da.UpdateCommand=newSqlCommand(str3,con);

res=da.UpdateCommand.ExecuteNonQuery();

if(res>0)

MessageBox.Show("新书入库成功!

","新书登记");

else

MessageBox.Show("新书入库失败!

","新书登记");

}

else

{

Stringbookid=this.textBox_book_no.Text.ToString().Trim();

Stringname=this.textBox_name.Text.ToString().Trim();

Stringwriter=this.textBox_writer.Text.ToString().Trim();

Stringpress=boBox_press.Text.ToString().Trim();

floatprice=(float)Convert.ToDouble(this.textBox_price.Text.ToString().Trim());

Stringdt=DateTime.Now.ToString();

inttotalaccount=Convert.ToInt32(total_num.ToString().Trim());

intnowacount=Convert.ToInt32(now_num.ToString().Trim());

Stringstr3="insertintodbo.Book_Info(Book_ID,Book_Name,Writer,Press,Price,"+

"InLibrary_Date,Total_Amount,Now_Amount)"+"values('"+bookid+"','"+name+"','"

+writer+"','"+press+"','"+price+"','"+dt+"','"+totalaccount+"','"+nowacount+"')";

da.InsertCommand=newSqlCommand(str3,con);

res=da.InsertCommand.ExecuteNonQuery();

if(res>0)

MessageBox.Show("新书入库成功!

","新书登记");

else

MessageBox.Show("新书入库失败!

","新书登记");

}

con.Close();

}

}

//主界面调用的每个模块的关闭按钮都是隐藏本体,以后不再写出关闭按钮的操作带代码

privatevoidForm3_FormClosing(objectsender,FormClosingEventArgse)

{

this.Visible=false;

}

privatevoidbutton_check_Click(objectsender,EventArgse)//查询

{

if(con.State==ConnectionState.Closed)

con.Open();

inti;

Stringstr1;

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

当前位置:首页 > 农林牧渔 > 水产渔业

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1