图书管理系统设计与实现 毕业论文.doc

上传人:仙人指路1688 文档编号:3937527 上传时间:2023-03-28 格式:DOC 页数:31 大小:1.72MB
返回 下载 相关 举报
图书管理系统设计与实现 毕业论文.doc_第1页
第1页 / 共31页
图书管理系统设计与实现 毕业论文.doc_第2页
第2页 / 共31页
图书管理系统设计与实现 毕业论文.doc_第3页
第3页 / 共31页
图书管理系统设计与实现 毕业论文.doc_第4页
第4页 / 共31页
图书管理系统设计与实现 毕业论文.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《图书管理系统设计与实现 毕业论文.doc》由会员分享,可在线阅读,更多相关《图书管理系统设计与实现 毕业论文.doc(31页珍藏版)》请在三一办公上搜索。

1、毕业论文(设计) 题 目 图书管理系统设计与实现 学生姓名 学 号 系 别 计算机科学系 年 级 级 专 业 计算机科学与技术 指导教师 职 称 完成日期 毕业论文(设计)诚信声明书本人郑重声明:兹提交的毕业论文(设计)图书管理系统设计与实现 ,是本人在指导老师 的指导下独立研究、撰写的成果;论文(设计)未剽窃、抄袭他人的学术观点、思想和成果,未篡改研究数据,论文(设计)中所引用的文字、研究成果均已在论文(设计)中以明确的方式标明;在毕业论文(设计)工作过程中,本人恪守学术规范,遵守学校有关规定,依法享有和承担由此论文(设计)产生的权利和责任。声明人(签名):年 月 日摘 要 本设计是一个图书

2、信息管理系统的后台数据库的设计。由于时间和精力的限制本设计仅实现了图书管理系统基本功能的设计与实现。通过本次设计,达到了了解数据库应用系统的开发过程,熟悉了系统分析和设计的过程和方法的目的。在实践中掌握了知识,达到了学以致用的目标。本次设计首先通过查阅资料对图书领域的基本知识有一定的认识,了解用户各个方面的需求,包括现有的以及将来的可能增加的需求。然后按照数据库设计的六个阶段进行了设计与实现:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库的运行和维护。数据库在各种信息的提供、保存、更新和查询方面都要求满足各种信息的输出和输入,符合用户的基本需求。应用SQL SERVER

3、建立数据库,选用C#作为开发工具,完成了对图书管理系统的实现。本文从图书管理系统的意义和发展入手,随后进行了系统需求分析,接着进行了系统总体结构设计和数据库设计,最后给出系统的详细设计和实现。索引关键词:数据库设计 SQL SERVER C#设计目 录摘 要I1 绪论11.1 课题的提出、现状及研究意义11.2 课题的目的和意义21.3 论文的章节安排32 相关技术介绍42.1 C# .NET简介42.3 SQL SERVER 数据库简介63 系统需求分析93.1 系统需求分析93.2 系统类图93.3 系统用例图104 系统设计114.1 系统总体结构114.2 系统详细设计114.2.1图

4、书管理模块详细设计114.2.2 读者信息维护模块详细设计124.2.3 系统管理模块详细设计134.3 数据库设计144.3.1 概念设计144.3.2 逻辑设计155 系统实现165.1 系统数据库连接实现165.2 数据库辅助类的设计实现185.3 数据库类使用示例(登录模块实现)205.5 前台客户端的实现235.5.4 功能实现的补充说明266 结束语286.1 主要工作296.2 进一步改进的方向29参考文献31致 谢321 绪论1.1 课题的提出、现状及研究意义图书馆是文献情报中心,是为教学和科研服务的学术性机构。它履行搜集、加工、存贮和传播知识信息的职能,与各系资料室互为补充,

5、共同承担为教学和科研提供文献情报资料保障的任务。图书馆的自动化经历了三个时期:发展初期、发展时期和网络化时期。19世纪末到20世纪40年代是图书馆自动化发展的早期阶段,这一时期的主要特点是利用部分机械装置替代人力从事部分图书馆工作,减轻人员的劳动强度。自1946年首台电子计算机问世后,就有人开始研究计算机应用于图书馆管理的可能性。1954年,美国海军兵器中心图书馆使用IBM701型计算机实现了单元词组配检索,成为最早使用计算机的图书馆。但随着各大管理系统的相继应用,单独一台计算机处理复杂图书馆业务的弊病日渐明显,于是出现了图书馆的网络化。美国俄亥俄州立大学图书馆在1967年建成了第一个书目联机

6、检索系统,成为图书馆管理进入网络化时期的标志。网络化使各协作网的成员降低了文献情报数据处理的费用,同时网络内的情报资源也得到了平衡。我国图书馆自动化的发展起步较晚,从70年代中期开始,经历了如下几个阶段: 发展初期、单向业务系统阶段和集成系统阶段。自70年代,我国开始研究图书馆的自动化。到1980年,我国陆续引进了多种国外文献磁带数据库,利用这些磁带开展联机检索服务,是我国图书馆自动化的发展初期。从80年代中期开始进入单项业务系统阶段。由于经费充足和技术力量雄厚,高校图书馆的自动化工作进展最为迅速,但开发的系统多为单业务系统,并且有一大部分只能处理西文图书与期刊。随着微机价格的下降和中文系统平

7、台开发成功,图书馆管理也进入了集成系统的开发阶段。进入90年代以来,计算机网络迅速发展,几乎所有的国家都建成了国家级的教育科研计算机网络,并互相连接成国际性网络。而我国计算机网络也日渐成熟,数字数据网可满足多媒体通讯和组建高速计算机通信网的需要,各类专业广域网纷纷建成并投入使用,如教育科研网CERNET主干网已经连通并投入使用。计算机网络全球性互连,对图书馆系统自动化的影响远远超出人们的始料,它决定了图书馆自动化发展的方向。目前许多图书馆根据联网技术要求都对自己的自动化系统进行改造。计算机网络给图书馆自动化发展带来了更好的前景。1.2 课题的目的和意义目前,我国有不少的大型图书馆实现了图书管理

8、的计算机化,与此同时,在计算机软件市场上不断涌现出一批功能优异的应用于图书馆的自动化集成软件。另一方面,现在学校正在应用的系统,界面单调、操作乏味、效率低。基于这种局面,开发一个应用于Windows平台上的、具有先进的图形界面的中小型图书信息管理系统是我们面临的一项重要课题。图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查

9、进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。数据处理手工操作,工作量大,出错率高,出错后不易更改。图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查

10、找了,造成查询费时、费力。如要对很长时间以前的图书进行更改就更加困难了。基于这个问题,我认为有必要建立一个图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。1.3 论文的章节安排整篇论文是基于图书管理为背景,从图书管理的知识、体系结构等方面,介绍图书管理的图书管理系统设计与开发实现。具体章节安排如下:第一章绪论阐明了论文课题的提出及其意义,以及本课题研究内容。第二章介绍系统的需求分析,并重点分析了系统功能需求分析以及系统的UML图等。第三章介绍系统设计,并对系统的数据库设计进行的重点分析。第四章进行系

11、统实现设计的分析,包括界面分析和代码说明。第五章是结束语。总结论文所做的主要工作及取得的研究成果;并对系统下一步要做的工作进行了分析。 2 相关技术介绍2.1 C# .NET简介C# (C sharp) 是微软对这一问题的解决方案。C#是一种最新的、面向对象的编程语言。它使得程序员可以快速地编写各种基于Microsoft .NET平台的应用程序,Microsoft .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。正是由于C#面向对象的卓越设计,使它成为构建各类组件的理想之选无论是高级的商业对象还是系统级的应用程序。使用简单的C#语言结构,这些组件可以方便的转化为XML 网络

12、服务,从而使它们可以由任何语言在任何操作系统上通过Internet进行调用。.NET是 Microsoft XML 图书管理 平台。XML 图书管理 允许应用程序通过 Internet 进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。Microsoft .NET 平台提供创建 XML 图书管理 并将这些服务集成在一起之所需。而.NET Framework是一个新的开发平台,它为局域网 (LAN) 和 Internet 上的分布式图书信息管理应用提供了一致和有效的支持。.NET Framework由两个主要部分组成:CLR(通用语言运行时, Common Language Ru

13、ntime)和一组统一的类库,包括ASP.NET、ADO.NET、Windows Forms和其他能力。C#是一个语言,.net是一个平台,上面支持用C#或者VBdotNet写代码。 另外,C#不但可以开发基于.net的应用程序,也可以开发基于WinForm的程序,这就是区别。 若是单纯以概念来说,你可以把.net当做一个工作平台一般,它是一个开发环境的基底,提供你开发Windows、Web、Mobile、XML.等应用程式一个共通的平台,若是要了解深一点,则再去了解其运作的相关机制那是有助于你利用它来开发.C#和.NET主要是应用在网际网路. C#(读做C-sharp)编程语言是由微软公司的

14、Anders Hejlsberg和 Scott Willamette领导的开发小组专门为.NET平台设计的语言,它可以使程序员移植到.NET上。这种移植对于广大的程序员来说是比较容易的,因为C#从C,C+和Java发展而来,它采用了这三种语言最优秀的特点,并加入了它自己的特性。C#是事件的驱动的,完全面向对象的可视化编程语言,我们可以使用集成开发环境来编写C#程序。使用IDE,程序员可以方便的建立,运行,测试和调试C#程序,这就将开发一个可用程序的时间减少到不用IDE开发时所用时间的一小部分。使用IDE迅速建立一个应用程序的过程称为快速反映开发。 . NET 是 Microsoft 的 XML

15、 Web 服务平台。不论操作系统或编程语言有何差别,XML Web 服务能使应用程序在 Internet 上传输和共享数据。 Microsoft .NET 平台包含广泛的产品系列,它们都是基于 XML 和 Internet 行业标准构建,提供从开发、管理、使用到体验 XML Web 服务的每一方面。XML Web 服务将成为您今天正在使用的 Microsoft 的应用程序、工具和服务器的一部分 并且将要打造出全新的产品以满足您所有业务需求。 更具体地说,Microsoft 正在五个方面创建 .NET 平台,即工具、服务器、XML Web 服务、客户端和 .NET 体验。1、 泛型:在我看来,泛

16、型就是通过将数据类型参数化从而实现了代码的更为灵活的复用,泛型的出现使得C#能够使用同一段代码来操作多种数据类型。泛型无疑是C#2.0最重大的改进,它的出现赋予了C#代码更强的类型安全,更好的复用,更高的效率和更清晰的约束。 2、 匿名方法:匿名方法允许我们将代码直接与委托实例相关联,使委托实例化工作更加直观和方便。在我看来,这只是C#又多了一种语法格式而已,不再像以前必须将方法名传给委托实例,而是又多了一种选择。 3、 迭代器:迭代器允许我们更加方便的编写用于foreach语句的类型。在我看来,迭代器的出现只不过是改进了1.0中不便的可用foreach语句类型的编写限制,简化了一些接口。 4

17、、 局部类型:局部类型允许我们将一个类的代码分别写在不同的cs文件中。最典型的应用就是使用VS2005创建Form文件时,VS会自动将系统生成的代码与用户代码分开。局部类型通过partial关键字来声明。 5、 空属类型:空属类型是一种像int,一样可以为空的变量类型。本质上是一种泛型的应用,是System .Nullable的一种类型实例化。 6、 静态类:静态类是只用于包含静态成员的类型,它既不能实例化,亦不能被继承。2.3 SQL SERVER 数据库简介数据库技术的应用,也叫数据库应用技术,是应用数据库开发工具进行数据管理(包括采集、处理、存储、查询、统计、传输、报表)的技术。在任何应

18、用领域,任何数据管理需求层次,任何档次的机型,都可以采用数据库技术。实际上,各行各业的信息系统,甚至是国际互联网的信息系统都是基于数据库技术的。可以说,数据库已成为信息社会的重要基础设施,在计算机应用领域堪称最有应用价值和市场前景的技术。数据库技术的具体应用过程,是一个典型的把数据转换成信息的过程。具体来说,就是围绕各用户单位日常手工操作的业务数据、管理数据,在数据库管理系统环境下,运用数据处理技术,开发出相应的业务处理及管理决策系统,并利用系统派生出的高附加值信息,达到提高业务或管理效率、避免浪费或失误、并辅助领导决策的目的。数据库技术的应用,由于其派生信息的巨大价值,一般都具有很高的投入产

19、出比,并产生可观的经济效益和社会效益。数据库技术可以开发面向业务处理和综合决策的管理信息系统,比如财务、人事、库存、资料、资产设备、销售、日程、以及会议活动等任何涉及大量规则数据管理方面的程序。图书资料管理是其中最典型的应用之一。数据库应用的解决方案包括软件工程的基本思想、数据库理论、用户前端访问界面等三方面的重要内容。本方案以数据库理论为指导,贯穿软件工程思想,注重用户界面的设计。方案中的数据流分析对应到软件工程中的需求分析,实体关系图及相应的用户前端访问界面划分对应到软件工程中的概要设计。在数据库应用系统开发之前,对开发数据库的基本概念应当了解,对数据库的结构、开发数据库应用程序的步骤、开

20、发体系及方法都应当有相当清晰的了解和认识。数据库应用系统开发的目标是建立一个满足用户长期需求的产品。开发的主要过程为:理解用户的需求,然后,把它们转变为有效的数据库设计。把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用。SQL(Structured Query Language),结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。绝大多数流行的关系型数据库管理系统都采用了SQL语言标准。虽

21、然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select, Insert, Update, Delete, Create,以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能 (BI) 工具提供了企业级的数据管理。SQL Server 2005 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序 SQL Server 2005 特性概况。 SQL Server 2005 数据引擎是本企业数据管理解决方案的核心。此外 SQL

22、 Server 2005 结合了分析、报表、集成和通知功能。这使您的企业可以构建和部署经济有效的 BI 解决方案,帮助您的团队通过记分卡、Dashboard、Web services 和移动设备将数据应用推向业务的各个领域。 与 Microsoft Visual Studio、Microsoft Office System 以及新的开发工具包(包括 Business Intelligence Development Studio)的紧密集成使 SQL Server 2005 与众不同。无论您是开发人员、数据库管理员、信息工作者还是决策者,SQL Server 2005 都可以为您提供创新的解决

23、方案,帮助您从数据中更多地获益。 4.3 数据库设计4.3.1 概念设计实体联系方法(EntityRelationship Approach)是最常用的表示概念性数据模型的方法。这种方法使用E-R图来描述现实世界中的实体,而不涉及这些实体在系统中的实现方法,即使不熟悉计算机技术的用户也能理解它。根据该系统涉及的实体有:4.3.2 逻辑设计逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图,转换为逻辑结构。本系统的数据库通过physical design的数据库建模生成sql语句文件,在通过SQL server 的查询分析器运行该文件生成数据库,主要包含了几个数据库表,详细内容请参看系

24、统实现。5 系统实现5.1 系统数据库连接实现在系统开发过程中,采用三层架构模式开发,因为要多处涉及到对数据库的连接,如果这些连接都在各个ASP.NET程序中去实现,那样将会非常繁琐,代码重复量比较大,因此,为了简化这些连接操作,在开发时设计了一个可重用的类DbHelperSQL.cs,把对数据库的操作都封装在在这个类中,需要用到时生成对象调用便可,其工作流程图如图5-1所示。其中DbHelperSQL.cs文件和App.config文件的主要代码由如下所示:DbHelperSQL.cs文件中的主要代码:using System;using System.Collections.Generic

25、;using System.Text;using System.Data.SqlClient;using System.Configuration;using System.Data;using System.Collections;namespace DBUtility public class DbHelperSQL private static string str = ConfigurationManager.ConnectionStringsCONN.ConnectionString; public static DataSet GetAll(string comtex) DataS

26、et ds = new DataSet(); using (SqlConnection con = new SqlConnection(str) con.Open(); SqlDataAdapter dapt = new SqlDataAdapter(comtex, con); dapt.Fill(ds); return ds; / / 执行SQL语句,返回影响的记录数 / / SQL语句 / 影响的记录数 public static int ExecuteSql(string comtex) using (SqlConnection con = new SqlConnection(str)

27、using (SqlCommand cmd = new SqlCommand(comtex, con) try con.Open(); int rows = cmd.ExecuteNonQuery(); return rows; catch (System.Data.SqlClient.SqlException E) con.Close(); throw new Exception(E.Message); public static DataSet SelectAll(string comtex) DataSet ds = new DataSet(); using (SqlConnection

28、 con = new SqlConnection(str) con.Open(); SqlDataAdapter dapt = new SqlDataAdapter(comtex,con); dapt.Fill(ds); return ds; public static void ExecuteSqlTran(ArrayList SQLStringList) using (SqlConnection conn = new SqlConnection(str) conn.Open(); SqlCommand cmd = new SqlCommand(); cmd.Connection = con

29、n; SqlTransaction tx = conn.BeginTransaction(); cmd.Transaction = tx; try for (int n = 0; n 1) cmd.CommandText = strsql; cmd.ExecuteNonQuery(); tx.Commit(); catch (System.Data.SqlClient.SqlException E) tx.Rollback(); throw new Exception(E.Message); 5.2 数据库辅助类的设计实现using System;using System.Collection

30、s.Generic;using System.Text;using System.Data;using System.Data.SqlClient;using System.Configuration;namespace DBUtility public class SqlDBHelper private static string str = ConfigurationManager.ConnectionStringsCONN.ConnectionString; #region 查询语句 public static DataSet SelectAll(string sql) DataSet

31、ds = new DataSet(); using (SqlConnection con = new SqlConnection(str) con.Open(); SqlDataAdapter dapt = new SqlDataAdapter(sql, con); dapt.Fill(ds); return ds; #endregion #region 增删改 public static int ExecuteSql(string sqlInsert) using (SqlConnection con = new SqlConnection(str) using (SqlCommand cm

32、d = new SqlCommand(sqlInsert, con) try con.Open(); int rows = cmd.ExecuteNonQuery(); return rows; catch (System.Data.SqlClient.SqlException E) con.Close(); throw new Exception(E.Message); #endregion #region 数据备份 public static void Save(string sql) using (SqlConnection con = new SqlConnection(str) Sq

33、lCommand cmd = null; try con.Open(); cmd = new SqlCommand(sql, con); cmd.ExecuteNonQuery(); catch cmd.Dispose(); con.Close(); #endregion #region 数据还原 public static void Open(string sql) using (SqlConnection con = new SqlConnection(server=.;uid=sa;pwd=lanhai;database=master) SqlCommand cmd = null; tr

34、y con.Open(); cmd = new SqlCommand(sql, con); cmd.ExecuteNonQuery(); catch cmd.Dispose(); con.Close(); #endregion 5.3 数据库类使用示例(登录模块实现)using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using Sy

35、stem.Data.SqlClient;using BLL;using Model;namespace BookManagerexe public partial class FrmDL : Form int i = 0; public TextBox uid; public FrmDL(TextBox uid) this.uid = uid; InitializeComponent(); private void FrmDL_Load(object sender, EventArgs e) purview.Text = 系统管理员; this.skinEngine1.SkinFile = A

36、pplication.StartupPath + SteelBlue.ssk; this.skinEngine1.Active = true; private void btnOK_Click(object sender, EventArgs e) Model.LoginUser m = new Model.LoginUser(); m.Book_Id = this.txtUID.Text.Trim(); m.Book_password = this.txtpasword.Text.Trim(); m.Book_Name = purview.Text.Trim(); DataSet ds= BLL.LoginUser.GetAll(m); if (ValidateIput() if (ds.Tables0.Rows.Count = 1) this.uid.Text= this.txtUID.Text; this.Close(); else MessageBox.Show(用户名或密码错误,请重新输入,

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号