苏丹丹WinForm图书馆管理系统设计方案.docx
- 文档编号:10070408
- 上传时间:2023-05-23
- 格式:DOCX
- 页数:27
- 大小:704.57KB
苏丹丹WinForm图书馆管理系统设计方案.docx
《苏丹丹WinForm图书馆管理系统设计方案.docx》由会员分享,可在线阅读,更多相关《苏丹丹WinForm图书馆管理系统设计方案.docx(27页珍藏版)》请在冰点文库上搜索。
苏丹丹WinForm图书馆管理系统设计方案
一、引言1
二、系统分析2
<一)需求分析2
<二)系统功能分析2
<三)主要业务流程分析3
三、系统设计5
<一)系统总体结构设计5
<二)系统架构设计7
<三)数据库设计9
<四)开发及运行环境11
四、系统实现11
<一)图书管理模块设计11
<二)图书借还模块设计16
五、系统测试19
六、总结19
参考文献19
基于WinForm的图书馆管理系统设计
<电子信息工程系计算机应用技术092班苏丹丹)
摘要:
随着人类社会的发展,人们对知识的需求不断地增长。
在这种形势下,书籍渐渐地成为人们获得和增长知识的主要途径,而图书馆就自然而然地在人们的生活中占据了一定的位置,如何科学地管理图书不仅关系到读者求知的方便程度,也关系到图书馆的发展,因此,就需要对图书馆中的图书进行系统的管理。
图书馆管理系统可以有效的管理图书资源,控制图书的添加,删除,修改,借阅的流程同时还可以对读者进行有效的管理,这样不仅可以提高了图书的检索效率还能减少图书管理员的工作负担。
该图书管理系统是通过可行性分析、需求分析进行设计开发的,其具备方便、快捷的特点,为工作人员建立高效的工作质量、减小出错概率提供了技术保障。
关键字:
图书馆管理系统;检索;效率
一、引言
当今时代是飞速发展的信息时代。
在各行各业中离不开信息处理,计算机被广泛应用于信息管理系统的环境。
计算机的最大好处在于利用它能够进行信息管理,使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。
尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。
计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。
本系统就是为了管理好图书馆信息而设计的。
图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的中小型图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。
根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况<如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等都要求用人工计算、手抄进行。
数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。
总的来说,缺乏系统,规范的信息管理手段。
尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。
随着计算机技术的不断发展,计算机应用于各大领域,并给人们的生活带来了极大的便利,图书馆管理信息系统亦是如此。
以往图书馆管理系统由于缺乏适当的软件而给其工作带来了很多不便。
本论文所介绍的图书馆管理系统就是为了使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。
二、系统分析
<一)需求分析
1、需求分析
随着计算机应用技术的普及和国民经济信息化的发展,信息技术与应用环境分离已不再可能,利用计算机实现图书管理已经越来越广泛。
实现计算机处理图书信息,不仅可以使图书管理人员以最少的劳动和最短的时间取得足够的、可靠的、准确的信息,更重要的是可以从简单的数据统计、收集、汇总等重要繁琐的事务中解脱出来。
一个图书馆要生存要发展,必须具备一套与自身实际情况相适应的管理系统,本系统正是通过对某图书馆实际需求进行分析,采用.NET语言作为开发工具而开发出来的单机版图书管理系统。
根据市场的需求,要求系统具有以下功能:
<1)系统操作简单,界面友好。
<2)规范、完善的基础信息设置。
支持多人操作,要求有较好的权限分配功能。
<3)能够查看图书馆内所存图书信息并可添加、修改以及删除图书信息。
<4)能够实现对读者档案的查询和编辑管理。
<5)能够进行借阅历史的查询功能。
<6)具有数据备份及数据恢复功能,保证系统数据的安全。
2、可行性分析
技术可行性是从前台和后台的开发工具选择上进行分析的。
微软公司开发的.NET远远超越了ASP及其它开发软件,同时也给.Net开发人员提供了更好的灵活性,有效缩短了C#应用程序的开发周期。
而SQLServer是Microsoft公司开发的大型关系数据库管理系统,具有强大的关系数据库创建开发、设计和管理功能。
鉴于我们已经学过VisualStudio2008,熟悉其中的一些最基本的功能设计及编写C#代码的基本操作。
SQLServer2005数据库的基本运用我们也已经掌握。
<二)系统功能分析
1、系统功能分析
<1)基本功能需求
系统开发的总体任务是实现各种信息的系统化、规范化和自动化。
系统功能分析是在系统开发的总体任务的基础上完成。
图书馆管理系统需要完成的功能主要有:
1)有关读者类别标准的制定、类别信息的输入,包括类别编号、类别名称、借书数量等。
2)读者类别信息的修改、查询等。
3)读者基本信息的输入,包括读者编号、姓名、类别、性别、所属系部、电话号码等。
4)读者基本信息的查询、修改,包括读者编号、姓名、类别、性别等。
5)图书类别标准的制定、类别信息的输入,包括类别编号、类别名称、关键词等。
6)图书类别信息的查询、修改,包括图书编号、图书名称、关键词等。
7)图书信息的输入,包括图书编号、名称、类别、作者名称、出版社名称、出版日期、价格等。
8)借书和还书信息的输入、查询、修改。
9)读者对图书馆的留言、查看。
上述功能可以用UML用例图来描述,如图1所示:
图1系统用例图
<三)主要业务流程分析
1、业务流程分析
根据图书馆管理系统基本功能的分析,我们可以将系统分为:
系统管理模块、书籍信息管理模块、借阅信息管理模块、读者信息管理模块等等。
如此要将系统的管理权限分为:
管理员与用户。
作为管理员,他们对图书馆管理系统的要求有:
<1)能够管理用户信息、图书信息及借还信息,并对它们进行增、删、改、查等操作。
<2)能够对管理员、用户进行密码更改,权限设置。
<3)能够对图书进行高级搜索并查看详细信息。
作为用户,他们对图书馆管理系统的要求有:
<1)能够管理用户信息,对主要字段进行修改。
<2)能够对用户进行密码更改。
<3)能够查询图书的详细信息。
<4)可以查看图书的借阅情况。
2、主要业务流程活动图
下面是我们通过分析图书管理系统业务流程描绘部分的流程图,如图2、3所示:
图2管理员活动图
图3用户活动图
三、系统设计
<一)系统总体结构设计
1、工程规划
图书管理系统是一款将用户信息、图书信息进行一体化管理的系统。
上章我们对图书管理系统的系统分析,总结出系统功能包括系统设置模块、读者管理模块、图书信息管理模块、图书借还模块、系统查询模块、系统维护模块。
其规划功能模块如下:
<1)系统设置模块:
权限设置。
<2)读者管理模块:
添加、修改、删除读者。
<3)图书管理模块:
添加、修改、删除图书信息。
<4)图书借还模块:
查询借书人的借还书状态,添加借书信息,删除借书信息。
<5)系统查询模块:
可根据不同的条件<书名、类别、出版社、作者等)查询读者需要的图书、读者可根据不同的条件<作者、出版社、索取号、丛书名、类别)查询图书借阅信息。
<6)系统维护模块:
更改密码。
2、系统功能结构
本系统共分6大部分、11个完整的功能模块。
系统总结构图,如图4所示。
图4功能模块图
3、系统模块图
登录模块:
登录者的身份有管理员和用户,如图5所示:
图5登录模块图
系统管理模块:
分为管理员与用户;管理员拥有所有系统管理的权限,用户根据拥有其管理功能。
如图6、图7所示:
图6用户系统管理模块图
图7管理员系统管理模块图
<二)系统架构设计
1、系统登录的设计
<1)登录界面设计。
如图8所示:
图8登录界面
<2)登录情况介绍
1)从列表框里输入用户名,此列表框内的用户直接与数据库里用户表相关联。
2)输入密码。
判断该密码与工作人员表中定义的密码是否相符。
如果不正确,提示输入错误的信息。
如果正确,用户登录,进入可操作界面。
3)修改密码:
如果发现密码不安全,可以通过“修改密码”对密码进行修改,同时数据库的相应信息也会同时修改。
4)注册用户:
普通用户只有通过用户注册才可进入此系统,保证系统的安全性。
2、系统主界面设计
(1>管理员系统主界面设计,如图9所示:
图9管理员系统主界面
(2>系统主体功能简要介绍
1)用户管理模块:
添加用户、用户维护。
2)图书管理模块:
添加图书信息、图书维护、高级搜索。
3)个人信息管理模块:
修改密码。
4)返回主页面:
跳转到主页面。
<三)数据库设计
1、E-R图
概念结构设计E-R图,如图10所示:
图10程序总体E-R图
2、数据库模型
数据库模型图,如图11所示:
图11数据库模型图
3、数据字典
本系统采用的是SQLServer2005的数据库,系统数据库名为LibrarySystem。
<1)图书信息表,表名:
tb_BookInfo
序号
列名
数据类型
长度
小数位
标识
主键
允许空
1
BookNo
nvarchar
50
0
是
否
2
BookName
nvarchar
50
0
是
否
3
Author
nvarchar
50
0
否
4
Publishing
nvarchar
50
0
否
5
PubTime
nvarchar
50
0
否
6
Price
nvarchar
50
0
否
表1图书信息表
<2)借书信息表,表名:
tb_BorrowBook
序号
列名
数据类型
长度
小数位
标识
主键
允许空
1
ID
int
4
0
是
是
否
2
DZno
nvarchar
50
0
否
3
DZname
nvarchar
50
0
否
4
BookName
nvarchar
50
0
否
5
BorrowDate
nvarchar
50
0
否
6
WillReturnDate
nvarchar
50
0
否
表2借书信息表
<3)读者信息表,表名:
tb_DZInfo
序号
列名
数据类型
长度
小数位
标识
主键
允许空
1
DZno
nvarchar
50
0
是
否
2
DZname
nvarchar
50
0
是
否
3
DZsex
nchar
2
0
否
4
DZage
nvarchar
50
0
否
5
DZdepartment
nvarchar
50
0
否
6
DZmail
nvarchar
50
0
否
7
DZTel
nvarchar
50
0
否
8
BeiZhu
nvarchar
500
0
否
表3读者信息表
(4>登录信息表,表名:
tb_UserInfo
序号
列名
数据类型
长度
小数位
标识
主键
允许空
默认值
1
ID
int
4
0
是
否
2
UserName
nvarchar
50
0
否
3
UserPwd
nvarchar
50
0
否
4
UserRight
nvarchar
50
0
否
1
表4登录信息表
<四)开发及运行环境
系统开发平台:
MicrosoftVisualStudio2008。
运行平台:
WindowsXP/Windows2000/Windows2003。
分辨率:
最佳效果1024×768像素。
四、系统实现
本系统有如下主要功能模块设计:
<一)图书管理模块设计
图书管理模块主要用于进行图书信息的管理,通过此模块可以对书刊进行添加、修改、删除、保存等相关功能的操作。
书刊管理模块运行结果如图12所示
图12图书管理
1.界面设计
<1)创建一个界面,命名为MainForm.cs
<2)在该页面内添加GridView控件、Button控件、TextBox控件。
<3)重要控件的属性设置如表5所示。
重要控件及属性
对象
属性
值
GridView1
Align
center
表5控件属性
2.代码设计
在“添加”按钮的Click事件中添加如下代码:
DB.con.Close(>。
DB.con.Open(>。
stringselectstr="SELECT[BookNo],[BookName],[Author],[Publishing],[PubTime],[Price]FROM[LibrarySystem].[dbo].[tb_BookInfo]"。
SqlCommandmycom=newSqlCommand(selectstr,DB.con>。
SqlDataReadermydr=mycom.ExecuteReader(>。
lvwBook.Items.Clear(>。
if(!
mydr.HasRows>
{
MessageBox.Show("没有查询到数据">。
}
else
{
while(mydr.Read(>>
{
stringBookNo=(string>mydr["BookNo"]。
stringBookname=(string>mydr["Bookname"]。
stringAuthor=(string>mydr["Author"]。
stringPublishing=(string>mydr["Publishing"]。
stringPubtime=(string>mydr["Pubtime"].ToString(>。
stringPrice=(string>mydr["Price"].ToString(>。
ListViewItemlvwItem=newListViewItem(BookNo>。
lvwItem.Tag=BookNo。
lvwBook.Items.Add(lvwItem>。
lvwItem.SubItems.AddRange(newstring[]{Bookname,Author,Publishing,Pubtime,Price}>。
}
}
mydr.Close(>。
DB.con.Close(>。
在“修改图书信息”事件中添加如下代码:
privatevoidbtnUpBook_Click(objectsender,EventArgse>
{
if(lvwBook.SelectedItems.Count==0>
{
MessageBox.Show("您没有输入任何记录!
","操作提示",MessageBoxButtons.OK,MessageBoxIcon.Information>。
}
else
{
UpdateBookFormubf=newUpdateBookForm(>。
ubf.txtBookNo.Text=lvwBook.SelectedItems[0].SubItems[0].Text.Trim(>。
ubf.txtBookName.Text=lvwBook.SelectedItems[0].SubItems[1].Text.Trim(>。
ubf.txtAuthor.Text=lvwBook.SelectedItems[0].SubItems[2].Text.Trim(>。
ubf.txtPublishing.Text=lvwBook.SelectedItems[0].SubItems[3].Text.Trim(>。
ubf.txtPrice.Text=lvwBook.SelectedItems[0].SubItems[5].Text.Trim(>。
ubf.Show(>。
}
}
在“删除图书信息”事件中添加如下代码:
privatevoidbtnDelBook_Click(objectsender,EventArgse>
{
if(lvwBook.SelectedItems.Count==0>
{
MessageBox.Show("您没有选择任何记录","操作提示",MessageBoxButtons.OK,MessageBoxIcon.Information>。
}
else
{
DialogResultchoice=MessageBox.Show("确定要删除该用户吗?
","操作警告",MessageBoxButtons.YesNo,MessageBoxIcon.Warning>。
if(choice==DialogResult.Yes>
{
stringsql=string.Format("deletefromtb_BookInfowhereTSBH={0}",(string>lvwBook.SelectedItems[0].Tag>。
SqlCommandcommand=newSqlCommand(sql,DB.con>。
intresult=0。
try
{
DB.con.Open(>。
result=command.ExecuteNonQuery(>。
}
catch(Exceptionexp>
{
MessageBox.Show(exp.Message>。
}
finally
{
DB.con.Close(>。
}
if(result<1>
{
MessageBox.Show("删除失败!
","操作结果",MessageBoxButtons.OK,MessageBoxIcon.Exclamation>。
}
else
{
MessageBox.Show("删除成功!
","操作结果",MessageBoxButtons.OK,MessageBoxIcon.Information>。
DB.con.Open(>。
stringselectstr="select*fromtb_Book"。
SqlCommandmycom=newSqlCommand(selectstr,DB.con>。
SqlDataReadermydr=mycom.ExecuteReader(>。
lvwBook.Items.Clear(>。
if(!
mydr.HasRows>
{
MessageBox.Show("没有查询到数据">。
}
else
{
while(mydr.Read(>>
{
stringBookNo=(string>mydr["BookNo"]。
stringBookname=(string>mydr["Bookname"]。
stringAuthor=(string>mydr["Author"]。
stringPublishing=(string>mydr["Publishing"]。
stringPubtime=(string>mydr["Pubtime"].ToString(>。
stringPrice=(string>mydr["Price"].ToString(>。
ListViewItemlvwItem=newListViewItem(BookNo>。
lvwItem.Tag=BookNo。
lvwBook.Items.Add(lvwItem>。
lvwItem.SubItems.AddRange(newstring[]{Bookname,Author,Publishing,Pubtime,Price}>。
}
}
mydr.Close(>。
DB.con.Close(>。
}
}
}
}
添加图书信息
DB.con.Open(>。
stringinsertstr=@"INSERTINTO[LibrarySystem].[dbo].[tb_BookInfo]
([BookNo]
[BookName]
[Author]
[Publishing]
[PubTime]
[Price]>
VALUES('"+txtBookNo.Text+"','"+txtBookname.Text+"','"+txtAuthor.Text+"','"+txtPublishing.Text+"','"+dateTimePicker1.Value+"','"+txtPrice.Text+"'>"。
SqlCommandcom=newSqlCommand(insertstr,DB.con>。
inti=com.ExecuteNonQuery(>。
label7.Text="成功添加"+i.ToString(>+"本新书"。
DB.con.Close(>。
<二)图书借还模块设计
图书借还模块主要用于进行图书的借阅。
图书借还模块运行结果如图13,图14所示。
图13图书借阅管理
1.设面设计
<1)在创建的MainForm.cs中创建“借书管理”界面。
<2)在该页面内添加TextbBox控件、button控件、GridView1控件。
<3)重要控件的属性设置如表6所示。
重要控件及属性
对象
属性
值
GridView1
Text
借书登记
表6控件属性
2.代码设计
查询借书信息的Click事件添加如下代码:
DB.con.Open(>。
stringselectstr="SELECT*FROM[LibrarySystem].[dbo].[tb_BorrowBook]whereDZnolike'%"+textBox1.Text.Trim(>+"%'"。
SqlCommandmycom=newSqlCommand(selectstr,DB.con>。
DataSetds=newDataSet(>。
SqlDataAdapterda=newSqlDataAdapter(mycom>。
da.Fill(ds>。
dgvSearch.DataSource=ds.Tables[0]。
DB.con.Close(>。
<3)图书归还模块运行结果如图14
图14图书归还
1.设面设计
<1)在创建的MainForm.cs中创建“还书管理”界面。
<2)在该页面内添加TextbBox控件、B
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 苏丹 WinForm 图书馆 管理 系统 设计方案