图书管理系统设计方案毕业论文.docx
- 文档编号:28236441
- 上传时间:2023-07-09
- 格式:DOCX
- 页数:42
- 大小:805.02KB
图书管理系统设计方案毕业论文.docx
《图书管理系统设计方案毕业论文.docx》由会员分享,可在线阅读,更多相关《图书管理系统设计方案毕业论文.docx(42页珍藏版)》请在冰豆网上搜索。
图书管理系统设计方案毕业论文
图书管理系统设计方案毕业论文
1.绪论
1.1课题研究的背景和意义
随着社会的进步与发展,资源高效利用提高效率越来越受到人们的关注.图书管理也提出这样的要求,因此图书管理的数字化越来越受到大众的青睐.
传统图书管理方式存在一些弊端,比如需要人员较多,工作量很大,管理资料保存查询不方便等.图书管理系统是现代图书管理工具中的重要组成部分.现代化的图书管理需要有现代化的管理系统,采用计算机管理信息系统已成为图书管理科学化和现代化的一个重要特征,给图书管理带来极大的便利.近年来图书事业的发展,以及软件开发的逐步成熟,图书管理系统使得原来繁重而易出错的图书管理变得简单而有条理,我所开发这一图书管理系统的目的在于能够节省大量的人员成本,使得管理变得方便可靠。
它广泛应用于图书馆管理,力求开发出一套严谨、可靠、功能完整的管理系统。
使用图书管理系统能够很好的解决了传统图书管理的问题.人员需求能够减少,工作效率明显提高,管理更加便利.
1.2系统介绍
此图书管理系统主要采用的是VisualStudio2008做为前台开发工具以及SQLServer2005做为后台支持。
以操作便捷、界面友好、灵活、实用为出发点,设计采用了模块化设计方法。
系统实现了以下基本功能:
图书借阅:
此功能实现图书的借阅。
图书查询:
可以实现图书的查询。
归还图书:
实现图书的归还。
系统管理:
实现了对读者的管理。
管理:
完成对的管理。
图书管理系统具有如下一些特点:
方便性:
读者以及工作人员能够及时了解图书情况,以便完成需要的工作。
稳定性:
系统性能稳定。
操作性强:
由于系统及面简洁,使用容易很便于用户操作。
1.3开发工具及运行环境
所用到的开发工具有:
MicrosoftVisualStudio2008(C#)和SQLServer2005。
VisualC#是功能最为强大可视化开发工具,它不仅支持传统的软件开发方法,更重要的是它能支持面向对象、可视化的开发风格。
因此VisualC#又称作是一个集成开发工具,它提供了软件代码自动生成和可视化的资源编辑功能。
VisualC#具有的优点:
提供了面向对象的应用程序框架MFC(MicrosoftFoundationClass),简化了程序员的编程工作,提高了模块的可重用性;提供了基于CASE技术的可视化软件的自动生成和维护工具VisualStudio等,实现了直观、可视的程序设计风格,方便地编写和管理各种类,维护程序的源代码。
VisualC#中可用的数据访问对象接口有三种:
ODBC(OpenDatabaseConnectity,开发数据库连接)、DAO(DataAccessObjects,数据访问对象)及OLEDB(OLEdataBase,OLE数据库)。
1.ODBC(OpenDatabaseConnectivity,开放数据库连接)
ODBC提供了应用程序接口(API),使得任何一个数据库都可以通过ODBC驱动器与指定DBMC相联,用户的程序就可以通过调用ODBC驱动管理器中相应的驱动程序达到管理数据库的目的。
作为MicrosoftWindowsOpenStandardsArchitecture(WOSA,Windows开放式服务体系结构)的主要组成部分,ODBC一直沿用至今。
2.DAO(DataAccessObjects,数据访问对象)
DAO提供了一种通过程序代码创建和操纵数据库的机制。
多个DAO对象构成了一个体系结构,在这个结构里,各个DAO对象协同工作,通过MicrosoftJet数据库访问数据库中的数据和数据库的结构定义。
可以访问的数据库类型主要有:
MicrosoftJet数据库、ODBC数据源、可安装的ISAM数据库。
DAO是我们可以通过程序访问和操纵本地的或远程的数据和数据定义,管理数据库中的对象或结构。
DAO支持两种不同的数据库环境——称为工作区(Workspace).MicrosoftJetWorkspace——这是一种使用MicrosoftJet数据库引擎来访问数据源的工作区。
ODBCDirectWorkspace——这是一种使用ODBCDirect来直接访问一个ODBC数据源,并绕过MicrosoftJet数据库引擎的工作区。
可通过ODBC访问数据库服务器,而无须安装MicrosoftJet数据库引擎。
3.OLEDB(OLEdataBase,OLE数据库)。
OLEDB试图提高一种统一的数据访问接口,并能处理除了标准的关系型数据库中的数据之外,还能处理包括数据、Web上的文本或图形、目录服务(DirectoryServices),以及主机系统中的IMS和VSAM数据。
OLEDB提供一个数据库编程COM(组件对象模型)接口,使得数据的使用者(应用程序)可以使用同样的方法访问各种数据,而不用考虑数据的具体存储地点、格式或类型。
这个COM接口与ODBC相比,其健壮性和灵活性要高的多。
但是,由于OLEDB的程序比较复杂,因而对于一般用户来说使用ODBC和DAO方式已能满足一般数据库处理的需要。
开发及运行环境包括硬件与软件平台。
硬件平台:
CPU:
P41.8GHz。
存:
256MB以上。
软件平台:
操作系统:
WindowsXP/Windows2000。
数据库:
SQLServer2005。
分辨率:
最佳效果1024×768像素。
2.系统分析
2.1需求分析
通过调查,要求系统需要有以下功能:
系统登录
用户管理
图书管理
图书借阅
图书查询
管理
系统退出。
2.2可行性分析
图书管理系统使图书管理走上了科学化、系统化管理道路。
(1)经济可行性使用图书管理系统能够极大的节约图书管理工作的运行成本。
主要体现在:
使用图书管理系统能够减少工作人员数量,从而降低人力成本;实用图书管理系统可以减少对管理资料维护的成本
(2)技术可行性目前国外软硬件产品和技术发展迅速.服务器,操作系统等相关资源技术容易获得并有较大的选择余地,而且在本系统软硬件要求适中,因此现有条件在技术层面上完全可以满足要求。
3.系统设计
3.1设计目标
本系统是针对图书管理工作过程进行设计的,主要实现如下目标:
合法用户可以登录此系统;
读者可以查询、借阅、归还图书等;
工作人员可以对读者、图书进行管理。
3.2数据库设计
3.2.1概念结构设计
将从需求分析中得到的数据信息抽象为概念模型,经分析可得到数据库的E-R模型。
如图所示。
图1:
图书实体ER图
图2:
实体ER图
图3:
实体读者ER图
图4:
用户实体ER图
3.2.2逻辑结构设计
把上面的概念结构转化为关系模型,我们可以得到各实体的关系模式(关系的码用下划线标出):
图书(图书编号,图书名称,图书作者,,出版日期,图书价格,图书种类)
(编号,地址,,电子)
读者(读者编号,读者名称,密码,读者,电子,借书数量)
用户(用户编号,用户密码,用户类型)
以下关系模式为读者——图书的关系模式:
借阅图书(读者编号,图书编号,借阅日期,应还日期,归还日期,是否归还)
从以上的关系模式我们可以得到数据库的逻辑结构设计(二维表)。
每个表格表示数据库中的一个数据表。
为了优化数据表结构,部分字段采用代码形式,以便与数据库中的数据表对应起来。
根据以上分析,需要设计五个数据表来存放数据信息,这些表分别为图书表,表,读者表,用户表,借阅表。
以下五个表分别是这五个表的结构设计。
表1图书表
编号
字段名
数据类型
说明
备注
1
BookID
Char(10)
图书编号
主键
2
BookWriter
Varchar(30)
图书作者
3
BookName
Varchar(20)
图书名称
4
BookPublish
Varchar(50)
5
BookPublishDate
Datetime
出版日期
6
BookPrice
Float
图书价格
7
BookSort
Varchar(20)
图书类型
表2表
编号
字段名
数据类型
说明
备注
1
PublishName
Varchar(50)
名称
主键
2
PublishAddress
Varchar(50)
地址
3
PublishPhoneNO
Varchar(15)
4
PublishEmail
Varchar(30)
电子
表3读者表
编号
字段名
数据类型
说明
备注
1
ReaderID
Char(6)
读者编号
主键
2
ReaderName
Varchar(20)
读者名称
3
ReaderPassword
Varchar(10)
读者密码
4
ReaderSex
Varchar(15)
读者性别
5
ReaderAge
Varchar(50)
读者年龄
6
ReaderDept
Varchar(15)
读者系别
7
readerzhuanye
Varchar(15)
读者专业
8
maxnumber
int
借阅数量
9
islost
Vchar(15)
是否超期
表4用户表
编号
字段名
数据类型
说明
备注
1
UserID
Char(10)
用户编号
主键
2
UserPassword
Char(10)
用户密码
3
UserSort
Varchar(10)
用户类型
表5借阅表
编号
字段名
数据类型
说明
备注
1
ReaderID
Char(6)
读者编号
外键
2
BookID
Char(10)
图书编号
外键
3
BorrowDate
Datetime
借书日期
4
ReturnDate
Datetime
应还日期
5
outTime
Datetime
是否超期
3.3总体设计
3.3.1项目规划
图书管理系统是一个典型的数据库应用程序,由应用程序和后台数据库两部分构成。
应用程序
应用程序主要包括登录,用户信息,读者信息,图书信息管理,借阅图书,综合查询,信息,退出系统几个部分组成。
数据库数据库负责对图书信息,用户信息等数据的管理。
3.3.2系统功能结构图
系统功能结构如图所示。
图5系统功能结构图
4.系统主要功能模块实现
4.1登录界面
进入系统必须经过登录,用户输入用户名和密码后,系统会查询数据库中的用户表,如果用户存在且密码正确,则根据用户的类型决定用户可以进行的操作。
如果用户类行为”管理员”,此时用户类型为系统用户,那么用户可以使用系统所有的功能。
如果用户类型为“借阅者”,此时用户为普通用户,那么登录后用户不能进行用户信息管理等操作。
如果用户不存在或密码错误则提示用户名或密码错误,并要求用户重新输入。
下图为系统登录界面。
图六系统登录界面
4.2主控制界面
此界面是进入相应功能模块的入口。
相应功能是否可用取决于用户的类型。
单击用户信息按钮时会弹出用户信息管理对话框,再此对话框中可以完成用户信息的管理。
单击其他按钮时也会弹出相应的对话框,以完成相应的工作。
每个按钮单击事件下均创建相应窗体的实例,并调用方法ShowDialog()有模式显示相应界面。
下图为主控制界面。
图七主控制界面
4.3图书信息维护
在此界面用户可以对图书信息进行管理,具体包含图书信息的添加、修改、删除等。
具体实现代码见附录。
单击添加按钮时文本框将变为可用,编辑完以后单击确定按钮会将相应的信息写入到数据库的“book”数据表中。
如要要取消编辑的信息可以单击取消按钮。
单击修改按钮时,各文本框时可编辑的,编辑好信息后,单击确定按钮,可以将修改后的写入到“book”数据表中;单击取消事会取消当前的操作。
单击删除按钮会将当前图书信息从“book”数据表中删除。
下图为图书信息维护的界面。
图八图书信息维护界面——查询、删除
图九图书信息维护界面——添加
4.4信息管理
信息管理界面使用户可以完成信息的添加,修改,删除等操作。
单击添加按钮以后,文本框将可以编辑,编辑好信息后,单击确定按钮,如信息无误会将信息保存到PublishCompany数据表中。
注意信息不能为空,如为空会出现错误。
修改和删除信息与添加信息相似。
以下为信息管理界面:
图十信息管理界面
4.5图书借阅界面
图书借阅界面使用户完成图书借阅归还的操作。
用户输入读者编号后单击按钮借书记录即可查询读者的借书信息。
此时会查询BorrowBook表,将记录显示在数据窗口中。
输入图书编号(输入编号要正确)后单击借阅图书按钮即可完成借阅,如果借书成功,此时会在BorrowBook表中插入一条新记录;单击归还图书,如果归还成功,会将BorrowBook表中相应记录删除即可完成归还图书。
以下是读者借书界面。
图11读者借阅图书界面
图12读者借阅图书界面——查询、还书
4.6读者信息管理
在读者信息管理界面,可以对读者信息进行添加、修改、删除三种操作。
读者信息包含读者编号,读者,读者口令,电子,联系,已借书目。
单击添加按钮,文本框将可用,编辑完成以后,单击确定,会将在Reader数据表中添加相应的记录。
修改信息是针对现有读者信息进行修改,修改后会将修改后信息保存到读者数据表。
删除信息时会将相应记录从读者数据表中删除。
具体实现代码见附录。
读者信息管理界面见下图
图12读者信息管理——添加
图13读者信息管理——删除
5.设计总结
本文重点讨论了“图书管理系统”的设计方法和过程。
全文分八部分进行叙述:
第一部分为绪论,简单的介绍了课题研究的背景和意义、系统介绍、开发工具及用到的一些理论知识;第二部分为系统分析,通过调查得出需求分析,从经济性和技术性两方面对系统的可行性进行了分析;第三部分系统设计,首先提出系统的设计目标,再对系统的数据库进行了具体设计,包括概念结构设计和逻辑结构设计,最后得出项目规划和系统功能结构图即总体设计;第四部分系统主要功能模块实现,介绍了主要模块的操作及实现的功能,加以少量的代码和界面图形,给读者一个清晰的认识;第五部分为设计总结,简要说明了该系统的实现过程,及自己在这次锻炼过程中的感受;第六部分为参考文献,列出了在做该系统过程中所参阅的主要文献;第七部分为致谢;最后是附录,列出了系统实现过程中用到的一些主要代码。
在本次设计的全过程中,我对所学的知识有了一个比较系统的认识和理解。
在设计中我才知自己掌握的知识还远远不够,将理论知识应用到实践中去,总会出现各种问题,不是理论没掌握好,而是光知道书本上的知识是远远不够的,一定要把理论知识和实践结合起来。
把学到的知识应用到实践中去,多做多练,才可以把理论的精华发挥出来。
知识不是知道,了解就好,一定让它在现实生活中得到充分的应用,从而解决一些问题,这才是学习的根本目的。
而且计算机是一门非常复杂且庞大的学科,一项课题往往需要多项技术才可以完成的。
在设计阶段,通过对课题的深入分析与研究,迫使我对技术有一定的了解。
在遇到问题时,得到了指导老师与同学的悉心帮助,使我感受到集体的力量是无穷的。
我十分珍惜这次锻炼的机会,我按部就班的完成了自己的设计任务,但由于自己的知识水平有限,设计时间又较短,所以该系统还有许多不尽如人意的地方,比如用户界面不够美观等问题,都有待进一步改善。
对于这些不足之处,恳请老师多多指教!
当今的社会是竞争的社会,而人才的竞争则是竞争的焦点,课程设计对我们来说,是一次很好的锻炼,使我们各方面的能力都有了很大的提高,为我们将来踏出校门,走上社会增强了能力与自信!
6.参考文献
[1]SQLServer2005数据库管理与应用[M],清华大学,2005
[2]宋昆,严等.SQLServer数据库开发实例解析[M].机械工业.2006,1
[3]萨师煊,王珊.数据库系统概论(第三版)[M].高等教育.1999
[4]王辉,大治.C#程序设计实用教程[M],清华大学.2007.3
[5](美)James Huddleston等浩译.C#数据库入门经典[M].清华大学.2006.4
[6](美) Paulraj Ponniah著,译者:
韩宏志译,数据库设计与开发教程[M].清华大学.2005.1
[7][美]JamesFoxall,秋萍译.VisualC#2005入门经典[M].人民邮电社.2007.3
[8]维杰,乾君.SQLServer2005数据库原理与应用简明教程[M]. 清华大学.2007.5
[9](美)Gavin Powell著,洁,王洪波,恒译.数据库设计入门经典[M].清华大学.2007.3
[10]大玮,马传宝,颖洁.SQLServer数据库项目案例导航[M].清华大学.2005.7
[11](美)David M. Kroenke郭平译.数据库原理(第2版)[M].清华大学.2005.6
[12]律松,少刚,刚.VisualC#数据库高级教程[M].清华大学.2005.6
7.致谢
在本次课程设计中,首先要感谢王玉萍老师的悉心指导,给予我许多新的思想和宝贵的意见。
王老师严谨的治学态度、勤奋的工作作风和平易近人的处事风,给我留下了深刻的印象,时时教育着我并使我终身受益!
值此论文完稿之际,特此向王老师致以衷心的感谢!
同时,感谢我们计算机科学与技术系的领导和老师们给我提供的良好环境和学习机会,感谢老师和同学们对我的关心和帮助。
最后,感谢老师在百忙之中抽出宝贵时间来审阅我的论文,谢谢老师的指导。
8.附录
系统登录关键代码
publicpartialclasslogin:
Form
{
publicstringpassword;//用来存储密码
publiclogin()
{
InitializeComponent();
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
Application.Exit();
}
//验证用户是否合法
//传入用户名、密码、登录类型
//合法返回True,不合法返回False
//message参数用来记录验证失败的原因
privateboolyanzhengshuru()
{
password=textBox3.Text;
if(Typename.Text.Trim()=="")
{
MessageBox.Show("请选择登录类型","登录提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
Typename.Focus();
returnfalse;
}
elseif(loginid.Text.Trim()=="")
{
MessageBox.Show("请输入用户名","登录提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
loginid.Focus();
returnfalse;
}
elseif(password=="")
{
MessageBox.Show("请输入密码","登录提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
textBox3.Focus();
returnfalse;
}
else
{
returntrue;
}
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
//userhelper.type=Typename.Text;//读取用户类型
userhelper.adminid=loginid.Text;//用户账号
password=textBox3.Text;//用户密码
if(yanzhengshuru())
{
if(Typename.Text.Trim()=="管理员")
{
stringsql=string.Format("Selectcount(*)fromadminwhereadminId='{0}'andadminpass='{1}'",loginid.Text,password);try
{
//创建Command对象
SqlCommandcommand=newSqlCommand(sql,Dbhelper.connection);
//打开数据库连接
Dbhelper.connection.Open();
//验证是否为合法用户
intcount=(int)command.ExecuteScalar();
if(count<1)
{
MessageBox.Show("用户或密码不存在!
");
//result=false;
}
else
{
adminadmin=newadmin();
Admin.
}
}
catch(Exceptionex)
{
MessageBox.Show("操作数据库出错!
");
Console.WriteLine(ex.Message);
//result=false;
}
finally
{
//关闭数据库连接
Dbhelper.connection.Close();
}
}
if(Typename.Text.Trim()=="借阅者")
{
userhelper.readerid=Convert.ToString(loginid.Text);
stringsql=string.Format("Selectcount(*)fromreaderwherereaderId='{0}'andreaderpass='{1}'",userhelper.readerid,textBox3.Text);
try
{
//创建Command对象
SqlCommandcommand=newSqlCommand(sql,Dbhelper.connection);
//打开数据库连接
Dbhelper.connection.Open();
//验证是否为合法用户
intcount=(int)command.ExecuteScalar();
if(count<1)
{
MessageBox.Show("用户或密码不存在!
");
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 管理 系统 设计方案 毕业论文