基于C#图书管理系统的设计与实现
更新时间:2023-12-07 05:43:01 阅读量: 教育文库 文档下载
图书分类号: 密 级:
毕业论文(设计)
基于C#图书管理系统的设计与实现 C# for library management system design and
implementation
姓 名 学 号 专 业 指导教师
计算机科学与技术
2014年 3月 22日
9
摘要
随着科技的发展和社会的进步,计算机已成为人们生活和工作中的得力助手。设计一个现代的图书管理系统势在必得。
图书管理系统是常用的信息管理系统之一,它的实现主要由两部分组成:数据库建立与维护和前台应用程序的开发。数据库要求非常强的一致性与完整性以及安全性,而前台应用程序则要求功能完善,简单易用。SQL Server 2005具有比较完善的功能,而Visual C# .NET是专门针对Microsoft的.NET战略而推出的语言,它对.NET Framework有最为全面的支持。综合各个方面选择C#作为程序设计语言和SQL Server 2005数据库。通过对中小型图书馆的需求分析,实现了对图书馆管理系统的功能模块划分,数据库模式分析,并设计了数据库结构和应用程序。由此得到了一个基本满足读者、图书馆管理员和高级管理者需求的图书管理系统。
关键词 图书馆管理系统;C#;.NET;SQL Server 2005
I
Abstract
Along with the technical development and society's progress, the computer has become the people to live with the work in primary assistant. Designs for a modern age library management system imperative.
Library management system is one of the common information management system, The Library Management System of which development mainly contains two aspects that one is the establishment and maintenance of the backstage database and the other is the development of the foreground application procedures, is a typical Management Information System. The Database which must has data consistency, integrality, security as well. And the foreground application requires the function is perfect, easy to use. All above these, I chose the C# programming language and SQL Server 2005 database. The reason why I chose to use the MS SQL Server 2005 as a development tool is that it can handle strong data completely and exactly. And I chose Visual C# .NET among many would be languages, because it is the best language in developing the application procedure. According the analysis of requirement min or small library, carved up the module of function, analyzed the mode of database and designed its structure and application. By that the book management system can satisfy the basical need of the reader, the administrators of the library and the high-level administrators.
Keywords: Library management system C# .NET SQL Server 2005
II
目 录
1 绪论 ........................................................................................................................................ 1 1.1 课题研究的背景和意义 ................................................................................................. 1 1.2 系统介绍 ......................................................................................................................... 1 1.3 开发工具及运行环境 ..................................................................................................... 1 2 系统分析 ................................................................................................................................ 3 2.1 需求分析的目的 ............................................................................................................. 3 2.2 需求分析 ......................................................................................................................... 3 2.3 可行性分析 ..................................................................................................................... 3 3 系统设计 ................................................................................................................................ 4 3.1 设计目标 ......................................................................................................................... 4 3.2 数据库设计 ..................................................................................................................... 4 3.2.1 概念结构设计 .......................................................................................................... 4 3.2.2 逻辑结构设计 .......................................................................................................... 5 3.3 总体设计 ......................................................................................................................... 7 3.3.1 项目规划 .................................................................................................................. 7 3.3.2 系统功能结构图 ...................................................................................................... 7 4 系统主要功能模块实现 ........................................................................................................ 9 4.1 登录界面 ......................................................................................................................... 9 4.2 主控制界面 ..................................................................................................................... 9 4.3 用户信息维护 ............................................................................................................... 10 4.4 读者信息维护 ............................................................................................................... 11 4.5 图书信息维护 ............................................................................................................... 12 4.6 出版社信息维护 ........................................................................................................... 13 4.7 借阅图书 ....................................................................................................................... 14 4.8 归还图书 ....................................................................................................................... 14 4.9 在库图书查询 ............................................................................................................... 15 4.10 个人借还情况 ............................................................................................................. 15 5 系统测试 .............................................................................................................................. 16 结论 .......................................................................................................................................... 18 致谢 .......................................................................................................................................... 19 参考文献 .................................................................................................................................. 20 附录 .......................................................................................................................................... 21 附录1 .................................................................................................................................... 21 附录2 .................................................................................................................................... 33
I
1 绪论
1.1 课题研究的背景和意义
随着社会的进步与发展,资源高效利用提高效率越来越受到人们的关注.图书管理也提出这样的要求,因此图书管理的数字化越来越受到大众的青睐.
传统图书管理方式存在一些弊端,比如需要人员较多,工作量很大,管理资料保存查询不方便等.图书管理系统是现代图书管理工具中的重要组成部分.现代化的图书管理需要有现代化的管理系统,采用计算机管理信息系统已成为图书管理科学化和现代化的一个重要特征,给图书管理带来极大的便利.近年来图书事业的发展,以及软件开发的逐步成熟,图书管理系统使得原来繁重而易出错的图书管理变得简单而有条理,我所开发这一图书管理系统的目的在于能够节省大量的人员成本,使得管理变得方便可靠。它广泛应用于图书馆管理,力求开发出一套严谨、可靠、功能完整的管理系统。使用图书管理系统能够很好的解决了传统图书管理的问题.人员需求能够减少,工作效率明显提高,管理更加便利.
1.2 系统介绍
此图书管理系统主要采用的是VisualStudio2008做为前台开发工具以及SQL Server 2005做为后台支持。以操作便捷、界面友好、灵活、实用为出发点,设计采用了模块化设计方法。系统实现了以下基本功能:
图书借阅:此功能实现图书的借阅。 图书查询:可以实现图书的查询。 归还图书:实现图书的归还。 系统管理:实现了对读者的管理。 出版社管理:完成对出版社的管理。 图书管理系统具有如下一些特点:
方便性:读者以及工作人员能够及时了解图书情况,以便完成需要的工作。 稳定性:系统性能稳定。
操作性强:由于系统及面简洁,使用容易很便于用户操作。
1.3 开发工具及运行环境
所用到的开发工具有:Microsoft Visual Studio2008(C#) 和SQL Server 2005。 Visual C#是功能最为强大可视化开发工具,它不仅支持传统的软件开发方法,更重要的是它能支持面向对象、可视化的开发风格。因此Visual C#又称作是一个集成开发工具,它提供了软件代码自动生成和可视化的资源编辑功能。
Visual C#具有的优点:提供了面向对象的应用程序框架MFC(Microsoft Foundation
1
Class),简化了程序员的编程工作,提高了模块的可重用性;提供了基于CASE技术的可视化软件的自动生成和维护工具Visual Studio等,实现了直观、可视的程序设计风格,方便地编写和管理各种类,维护程序的源代码。
Visual C#中可用的数据访问对象接口有三种:ODBC(Open Database Connectity,开发数据库连接)、DAO(Data Access
Objects,数据访问对象)及OLE DB(OLE data Base,OLE数据库)。
1.ODBC(Open Database Connectivity,开放数据库连接)
ODBC提供了应用程序接口(API),使得任何一个数据库都可以通过ODBC驱动器与指定DBMC相联,用户的程序就可以通过调用ODBC驱动管理器中相应的驱动程序达到管理数据库的目的。作为今。
2.DAO(Data Access Objects,数据访问对象)
DAO 提供了一种通过程序代码创建和操纵数据库的机制。多个DAO 对象构成了一个体系结构,在这个结构里,各个DAO对象协同工作,通过 Microsoft Jet 数据库访问数据库中的数据和数据库的结构定义。可以访问的数据库类型主要有:Microsoft Jet 数据库、ODBC 数据源、可安装的ISAM数据库。
DAO 是我们可以通过程序访问和操纵本地的或远程的数据和数据定义,管理数据库中的对象或结构。DAO 支持两种不同的数据库环境——称为工作区(Workspace). Microsoft Jet Workspace ——这是一种使用Microsoft Jet 数据库引擎来访问数据源的工作区。
ODBC Direct Workspace ——这是一种使用 ODBC Direct 来直接访问一个ODBC 数据源,并绕过Microsoft Jet 数据库引擎的工作区。可通过ODBC访问数据库服务器,而无须安装Microsoft Jet 数据库引擎。
3.OLE DB(OLE data Base,OLE数据库)。
OLE DB试图提高一种统一的数据访问接口,并能处理除了标准的关系型数据库中的数据之外,还能处理包括邮件数据、Web上的文本或图形、目录服务(Directory Services),以及主机系统中的IMS和VSAM数据。OLE DB提供一个数据库编程COM(组件对象模型)接口,使得数据的使用者(应用程序)可以使用同样的方法访问各种数据,而不用考虑数据的具体存储地点、格式或类型。这个COM接口与ODBC相比,其健壮性和灵活性要高的多。但是,由于OLE DB的程序比较复杂,因而对于一般用户来说使用ODBC和DAO方式已能满足一般数据库处理的需要。
Microsoft Windows Open Standards
Architecture(WOSA,Windows开放式服务体系结构)的主要组成部分,ODBC一直沿用至
2
2 系统分析
2.1 需求分析的目的
软件的需求分析必须要有对原业务的一个深入了解、提取、抽象、升华的过程,管理软件需求分析尤其如此。
软件的需求分析是从用户的业务中提取出软件系统能够帮助用户解决的业务问题,通过对用户业务问题的分析,规划出我们的软件产品。这个步骤是对用户业务需求的一个升华,是一个把用户业务管理流程优化,转化为软件产品,从而提升管理而实现的质的飞跃,这一步是否成功,直接关系到开发出来的软件产品能否得到用户认可,顺利交付给客户,客户能否真正运用我们的产品帮助他解决业务或管理问题。
按照软件工程对软件开发过程的描述,需求阶段我们可以细分为需求调研和需求分析两个小阶段,需求调研需要充分细致的了解客户目标,用户业务内容、流程等,这是一个对需求的采集过程,是进行需求分析的基础准备。当我们已经了解、理解了用户的业务,于是可以开始分析需求了。
2.2 需求分析
通过调查,要求系统需要有以下功能: 系统登录 人员信息管理 图书信息管理 借阅管理 综合信息查询 帮助 系统退出。
2.3 可行性分析
图书管理系统使图书管理走上了科学化、系统化管理道路。
(1)经济可行性 使用图书管理系统能够极大的节约图书管理工作的运行成本。主要体现在:使用图书管理系统能够减少
工作人员数量,从而降低人力成本;实用图书管理系统可以减少对管理资料维护的成本
(2)技术可行性 目前国内外软硬件产品和技术发展迅速.服务器,操作系统等相关资源技术容易获得并有较大的选择余地,而且在本系统软硬件要求适中,因此现有条件在技术层面上完全可以满足要求。
3
3 系统设计
3.1 设计目标
本系统是针对图书管理工作过程进行设计的,主要实现如下目标: 合法用户可以登录此系统;
读者可以查询、借阅、归还图书等; 工作人员可以对读者、图书进行管理。
3.2 数据库设计
3.2.1 概念结构设计
将从需求分析中得到的数据信息抽象为概念模型,经分析可得到数据库的E-R模型。见图3-1、3-2、3-3、3-4。
名称
作者 编号
种类 出版社 图书 出版日期 价格 种类
图3-1 图书实体E-R图
电话 电子邮件 出版社
图3-2 出版社实体E-R图
4
地址 名称
密码 姓名 编号 院系 读者 专业
图3-3 实体读者E-R图
性别 年龄 借书量 状态
密码 用户
类型 编号 图3-4 用户实体E-R图
3.2.2 逻辑结构设计
把上面的概念结构转化为关系模型,我们可以得到各实体的关系模式(关系的码用下划线标出):
图书(图书编号,图书名称,图书作者,出版社,出版日期,图书价格,图书种类) 出版社(出版社编号,出版社地址,出版社电话,电子邮件) 读者(读者编号,读者名称,密码,读者电话,电子邮件,借书数量) 用户(用户编号,用户密码,用户类型) 以下关系模式为读者——图书的关系模式:
借阅图书(读者编号,图书编号,借阅日期,应还日期,归还日期,是否归还) 从以上的关系模式我们可以得到数据库的逻辑结构设计(二维表)。每个表格表示数据库中的一个数据表。为了优化数据表结构,部分字段采用代码形式,以便与数据库中的数据表对应起来。根据以上分析,需要设计五个数据表来存放数据信息,这些表分别为图书表,出版社表,读者表,用户表,借阅表。以下五个表分别是这五个表的结构设计。见表3-1、3-2、3-3、3-4、3-5。
5
表3-1 图书表 编号 1 2 3 4 5 6 7 字段名 BookID BookWriter BookName BookPublish BookPublishDate BookPrice BookSort 数据类型 Char(10) Varchar(30) Varchar(20) Varchar(50) Datetime Float Varchar(20) 表3-2 出版社表 编号 1 2 3 4 字段名 PublishName PublishAddress PublishPhoneNO PublishEmail 数据类型 Varchar(50) Varchar(50) Varchar(15) Varchar(30) 表3-3 读者表 编号 1 2 3 4 5 6 字段名 ReaderID ReaderName ReaderPassword ReaderSex ReaderAge ReaderDept 数据类型 Char(9) Varchar(20) Varchar(10) Varchar(2) Varchar(3) Varchar(30) 说 明 读者编号 读者名称 读者密码 读者性别 读者年龄 读者系别 备 注 主键 说 明 出版社名称 出版社地址 出版社电话 电子邮件 备 注 主键 说 明 图书编号 图书作者 图书名称 出版社 出版日期 图书价格 图书类型 备 注 主键 6
2.模块间的接口错误可以较早发现。
3.在测试时,如发现错误往往和最近加进来的那个模块有关。 4.已测试的模块可以在新的条件下再次检验,使测试更彻底。
17
结论
本文重点讨论了“图书管理系统”的设计方法和过程。全文共分以下几部分进行叙述:第一部分为绪论,简单的介绍了课题研究的背景和意义、系统介绍、开发工具及用到的一些理论知识;第二部分为系统分析,通过调查得出需求分析,从经济性和技术性两方面对系统的可行性进行了分析;第三部分系统设计,首先提出系统的设计目标,再对系统的数据库进行了具体设计,包括概念结构设计和逻辑结构设计,最后得出项目规划和系统功能结构图即总体设计;第四部分系统主要功能模块实现,介绍了主要模块的操作及实现的功能,加以少量的代码和界面图形,给读者一个清晰的认识;第五部分为系统测试;第六部分为设计总结,简要说明了该系统的实现过程,及自己在这次锻炼过程中的感受;第七部分为参考文献,列出了在做该系统过程中所参阅的主要文献;第八部分为致谢;最后是附录,列出了系统实现过程中用到的一些主要代码。
在本次设计的全过程中,我对所学的知识有了一个比较系统的认识和理解。在设计中我才知自己掌握的知识还远远不够,将理论知识应用到实践中去,总会出现各种问题,不是理论没掌握好,而是光知道书本上的知识是远远不够的,一定要把理论知识和实践结合起来。把学到的知识应用到实践中去,多做多练,才可以把理论的精华发挥出来。知识不是知道,了解就好,一定让它在现实生活中得到充分的应用,从而解决一些问题,这才是学习的根本目的。而且计算机是一门非常复杂且庞大的学科,一项课题往往需要多项技术才可以完成的。在设计阶段,通过对课题的深入分析与研究,迫使我对技术有一定的了解。在遇到问题时,得到了指导老师与同学的悉心帮助,使我感受到集体的力量是无穷的。
我十分珍惜这次锻炼的机会,我按部就班的完成了自己的设计任务,但由于自己的知识水平有限,设计时间又较短,所以该系统还有许多不尽如人意的地方,比如用户界面不够美观等问题,都有待进一步改善。对于这些不足之处,恳请老师多多指教!当今的社会是竞争的社会,而人才的竞争则是竞争的焦点,课程设计对我们来说,是一次很好的锻炼,使我们各方面的能力都有了很大的提高,为我们将来踏出校门,走上社会增强了能力与自信!
18
致谢
在本次课程设计中,首先要感谢XXX老师的悉心指导,给予我许多新的思想和宝贵的意见。XXX老师严谨的治学态度、勤奋的工作作风和平易近人的处事风范,给我留下了深刻的印象,时时教育着我并使我终身受益!值此论文完稿之际,特此向XXX老师致以衷心的感谢!
同时,感谢我们计算机科学与技术系的领导和老师们给我提供的良好环境和学习机会,感谢老师和同学们对我的关心和帮助。
最后,感谢老师在百忙之中抽出宝贵时间来审阅我的论文,谢谢老师的指导。
19
参考文献
[1] 九州书源.SQLServer2005数据库管理与应用[M] .北京:清华大学出版社,2005 [2]宋昆,李严等.SQL Server数据库开发实例解析[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][美]James Foxall,陈秋萍译.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]李律松,陈少刚,沈刚.Visual C#数据库高级教程[M].北京:清华大学出版社.2005.6
20
附录
附录1
公共类代码 SQLHelper类:
class SQLHelper {
private static string source = \security=SSPI;database=library;uid=sa;pwd=123\;
static SqlConnection conn = new SqlConnection(source);
#region 返回DateSet数据集 ///
/// 返回DateSet数据集 ///
///
///
public static DataSet GetDataSet(string sql, params SqlParameter[] parameters) {
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn); cmd.Parameters.Clear();
foreach (SqlParameter parameter in parameters) {
cmd.Parameters.Add(parameter); }
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(cmd); try {
da.Fill(ds); }
catch (Exception e) {
string msg = e.Message; }
finally {
conn.Close(); da.Dispose(); }
return ds; }
#endregion
#region 返回首行首列 ///
///
///
public string GetFirstRow(string sql, params SqlParameter[] parameters) {
string str = \;
21
正在阅读:
基于C#图书管理系统的设计与实现12-07
战术基础动作教案07-11
拌合站管理处罚办法08-28
马克思主义基本原理概论 试题解析及答案11-26
河南省偃师高级中学12-13学年高二下学期第二次月考物理试题05-13
浪潮ERP库存管理系统使用手册04-08
从非典疫情的防治谈手术室洁净空调系统的保障措施 11-08
堡垒机实施方案10-29
去露营作文600字06-20
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- C#
- 管理系统
- 基于
- 实现
- 图书
- 设计