图书借阅系统的设计与实现.docx
- 文档编号:11403343
- 上传时间:2023-05-31
- 格式:DOCX
- 页数:38
- 大小:383.15KB
图书借阅系统的设计与实现.docx
《图书借阅系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《图书借阅系统的设计与实现.docx(38页珍藏版)》请在冰点文库上搜索。
图书借阅系统的设计与实现
声明
本人郑重声明:
所呈交的毕业论文(设计)是本人在导师的指导下取得的成果。
因本毕业论文(设计)引起的法律后果完全由本人承担。
本毕业论文(设计)成果归兰州商学院陇桥学院所有。
特此声明
毕业论文(设计)作者签名:
年月日
图书借阅系统的设计与实现
摘要
随着社会的发展,人们对知识的需求也不断地增长。
尤其是科技的迅猛发展,使得我国各项事业得到了前所未有的突破,不仅提高了工作效率,而且也降低了劳动强度,美化了工作环境。
随着计算机广泛地应用在科学技术领域的各个方面,并逐渐进入家庭,成为人们生活中必不可少的一部分。
所以开发计算机图书借阅系统也是必须发展的,来满足人们的需求。
[关键词]计算机;图书借阅系统
ABSTRACT
Withthedevelopmentofsociety,thedemandsforknowledgecontinuetogrow.Inparticular,therapiddevelopmentofscienceandtechnology,makingourundertakingshaveadvancedbyanunprecedentedbreakthrough,notonlyimprovetheworkefficiency,butalsoreducedthelaborintensity,andbeautifytheworkingenvironment.Withthecomputerapplicationofallaspectsofthefieldofscienceandtechnology,andgraduallyintothehometobecomeanindispensablepartofpeople'slives.Therefore,thedevelopmentofcomputerbooklendingsystemmustbedevelopedtomeetpeople'sneeds.
[KeyWords]computer;booklendingsystem
前言
随着电子计算机和通信技术的发展,人类已经逐渐地进入信息化社会。
信息和材料、能源一样成为一种社会的基本生产资料,在人类的社会生产活动中发挥着重要的作用。
同时人们对信息和数据的利用与处理也已进入自动化、网络化和社会化的阶段,因此,开发相关的管理信息系统已经成为各行各业的必要和必需了,管理信息系统作为一门边缘学科,集管理科学、信息科学、系统科学、现代通信技术和电子计算机技术于一体,可以解决企业或组织所面临的问题,对内来看,可以提高工作效率;对外来看,获得竞争优势。
管理信息系统的开发方法有生命周期法、原型法和面向对象的开发方法等。
生命周期法(LifeCycleMethod)是20世纪60年代发展起来的一种应用广泛且比较成熟的管理系统开发方法,它的基本思想是将系统的开发工作从开始到结束划分为若干个阶段,每个阶段都有明确的任务,而系统开发出来后,并不意味着生命周期的结束,而意味着根据组织的需要对系统的修改和重建的开始;原型法(PrototypingMethod)是20世纪80年代发展起来的,旨在改变生命周期法的缺点的一种系统开发方法,该法的开发思路是首先根据用户的要求,由用户和开发者共同确定系统的基本要求和主要功能,利用系统快速生成工具,建立一个系统模型,再在此基础上与用户交流,将模型不断补充、修改、完善,如此反复,最终直至用户和开发者都比较满意为止,从而形成一个相对稳定、较为理想的管理信息系统;面向对象(ObjectOriented)的开发方法于20世纪80年代开始兴起的,是一种基于问题对象的自底向上的一种系统开发方法,这种方法的特点是以对象为基础,对象是分析问题和解决问题的核心。
基于以上三种方法的特点和各自的优缺点,本图书借阅系统利用软件工程化思想和方法,总体上是采用结构化生命法进行系统分析和设计的,而系统实现等步骤则采用了原型法和面对对象的方法。
管理信息系统的开发是一个开发周期长、技术要求高、影响因素多的复杂系统工程,因此制定一个完善、可行、合理的开发计划,不仅是系统开发成功的保证,而且可以提高效率、节省时间。
一、设计概述
1.1设计目标
《图书管理系统》针对的用户是单个中小型图书室(馆),藏书的种类和数量较少,读者的数量和来源受到一定的限制。
相应的需求有:
(1)能够存储一定数量的图书信息,并方便有效的进行相应的书籍数据操作和管理,这主要包括:
①图书信息的录入、删除及修改。
②图书信息的多关键字检索查询。
③图书的出借、返还和资料统计。
(2)能够对一定数量的读者进行相应的信息存储与管理,这其中包括:
①读者信息的登记、删除及修改。
②读者资料的统计与查询。
(3)能够提供一定的安全机制,提供数据信息授权访问,防止随意删改,同时提供信息备份的服务。
1.2选择工具
开发工具:
C#
数据库:
SQLServer2005数据库
1.3运行环境
Intel486以上系列、AMDK6以上系列等PC台式机和便携式电脑;
运行时占用内存:
≤32MB;
所需硬盘空间:
≤15MB;
软件平台:
中文Windows98/Me/2000或更高版本
1.4条件限制
一个更为完善的图书管理借阅系统,应提供更为便捷与强大的信息查询功能,如相应的网络操作及服务,由于开发时间和计算机数量有限,该系统并未提供这一功能。
对信息的保护手段仅限于设置用户级别,以及提供数据文件的备份,比较简单,不能防止恶意的破坏,安全性能有待进一步完善。
二、需求分析
2.1功能需求
2.1.1功能划分
该软件具有管理员如下主要功能:
(1)浏览功能;
(2)查询功能;
(3)插入功能;
(4)修改功能;
(5)删除功能;
2.1.2功能描述
(1)浏览功能
列出当前数据库文件中书籍和读者的所有记录;
可选定一项记录,显示所有域;
(2)查询功能
书目匹配查询;
读者匹配查询;
书目和读者相关匹配查询;
(3)插入功能
增加一个书目记录;
增加一个读者记录
(4)修改功能
修改某一已存在的记录内容,提供确认机制;
(5)删除功能
删除一个记录,提供确认机制;
2.2性能需求
2.2.1数据精确度
查询时应保证查全率,所有在相应域中包含查询关键字的记录都应能查到,同时保证查准率。
2.2.2适应性
满足运行环境在允许操作系统之间的安全转换和与其它应用软件的独立运行要求。
2.3运行需求
2.3.1用户界面
采用B/S方式。
2.3.2软件、硬件接口
支持各种x86系列PC机。
运行于Windows98/2000及更高版本。
三、开发环境简介
1、开发工具C#简介
C#(Csharp)是微软对这一问题的解决方案。
C#是一种最新的、面向对象的编程语言。
它使得程序员可以快速地编写各种基于Microsoft.NET平台的应用程序,Microsoft.NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。
正是由于C#面向对象的卓越设计,使它成为构建各类组件的理想之选——无论是高级的商业对象还是系统级的应用程序。
使用简单的C#语言结构,这些组件可以方便的转化为XML网络服务,从而使它们可以由任何语言在任何操作系统上通过Internet进行调用。
最重要的是,C#使得C++程序员可以高效的开发程序,而绝不损失C/C++原有的强大的功能。
因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。
1.1效率与安全性
新兴的网络经济迫使商务企业必须更加迅速的应对竞争的威胁。
开发者必须不断缩短开发周期,不断推出应用程序的新版本,而不仅仅是开发一个“标志性”的版本。
C#在设计时就考虑了这些问题。
它使开发者用更少的代码做更多的事,同时也不易出错。
1.2支持现有的网络编程新标准
新的应用程序开发模型意味着越来越多地解决方案依赖于新出现的网络标准,例如HTML,XML,SOAP等。
现存的开发工具往往都是早于Internet出现的,或者是在我们所熟知的网络还处于孕育期时出现的。
所以,它们一般无法很好地支持最新的网络技术。
C#程序员可以在Microsoft.NET平台上事半功倍的构建应用程序的扩展框架。
C#包含了内置的特性,使任何组件可以轻松转化为XML网络服务,通过Internet被任何操作系统上运行的任何程序调用。
更突出的是,XML网络服务框架可以使现有的XML网络服务对程序员来说就和C#对象一样。
这样,程序员就可以方便地使用他们已有的面向对象的编程技巧来开发利用现有的XML网络服务。
还有一些精细的特性,使得C#成为一流的网络编程工具。
例如,XML正逐渐成为在网络上传输结构化数据的标准。
这种数据集合往往非常小。
为提高性能,C#允许把XML数据直接映射到struct数据类型,而不是class。
这样对处理少量的数据非常有效。
1.3消除大量程序错误
即使是专家级的C++程序员也常会犯一些最简单的小错误——比如忘了初始化变量,但往往就是这些小错误带来了难以预料的问题,有些甚至需要很长时间来寻找和解决。
一旦一个程序作为产品来使用,就算最简单的错误纠正起来也可能要付出极其昂贵的代价。
C#的现代化设计能够消除很多常见的C++编程错误。
例如:
1.资源回收减轻了程序员内存管理的负担。
2.C#中变量由环境自动初始化。
3.变量是类型安全的。
这样,程序员编写与维护那些解决复杂商业问题的程序就更方便了。
1.4对版本的更新提供内在的支持降低了开发成本
更新软件组件是一项很容易出错的工作,因为代码的修改可能无意间改变原有程序的语义。
为协助开发者进行这项工作,C#为版本的更新提供内在的支持。
例如,方法重载必须显式声明。
这样可以防止编码错误,保证版本更新的灵活性。
还有一个相关的特性就是对接口和接口继承的内在支持。
这些特性使得C#可以开发复杂的框架并且随着时间不断发展更新它。
总体来说,这些特性使得开发程序项目的后续版本的过程更加健壮,从而减少后续版本的开发成本。
1.5商业过程和软件实现的更好对应
企业的商业计划要付诸现实,必须在抽象的商业过程和实际的软件实现之间建立紧密地对应。
不过大多数语言都很难做到这点。
例如,如今的程序员们一般使用代码注释来注明哪个类对应于某个抽象的商业对象。
C#语言允许类型定义的,扩展的元数据。
这些元数据可以应用于任何对象。
项目构建者可以定义领域特有的属性并把他们应用于任何语言元素-类,接口等等。
然后,开发人员可以编程检查每个元素的属性。
这样,很多工作都变得方便多了,比如编写一个小工具来自动检查每个类或接口是否被正确定义为某个抽象商业对象的一部分,或者只是创建一份基于对象的领域特有属性的报表。
定制的元数据和程序代码之间的紧密对应有助于加强程序的预期行为和实际实现的之间的对应关系。
1.6扩展交互性
作为一种自动管理的,类型安全的环境,C#适合于大多数企业应用程序。
但实际的经验表明有些应用程序仍然需要一些底层的代码,要么是因为基于性能的考虑,要么是因为要与现有的应用程序接口兼容。
这些情况可能会迫使开发者使用C++,即使他们本身宁愿使用更高效的开发环境。
C#采用以下对策来解决这一问题:
1.内置对组建对象模型(COM)和基于Windows?
的API的支持;
2.允许有限制地使用纯指针(NativePointer)。
在C#中,每个对象都自动生成为一个COM对象。
开发者不再需要显式的实现IUnknown和其他COM接口.这些功能都是内置的.类似的,C#可以调用现有的COM对象,无论它是由什么语言编写的。
C#包含了一个特殊的功能,使程序可以调用任何纯API。
在一段特别标记的代码中,开发者可以使用指针和传统C/C++特性,如手工的内存管理和指针运算。
这是其相对于其它环境的极大优势。
这意味着C#程序员可以在原有的C/C++代码的基础上编写程序,而不是彻底放弃那些代码。
无论是支持COM还是纯API的调用,都是为了使开发者在C#环境中直接拥有必要的强大功能。
2、数据库SQLServer2005简介
数据库设计主要是进行数据库的逻辑设计,即将数据按一定的分类、分组系统和逻辑层次组织起来,是面向用户的。
数据库设计时需要综合企业各个部门的存档数据和数据需求,分析各个数据之间的关系,按照DBMS提供的功能和描述工具,设计出规模适当、正确反映数据关系、数据冗余少、存取效率高、能满足多种查询要求的数据模型。
数据库设计的步骤是:
数据库结构定义:
目前的数据库管理系统(DBMS)有的是支持联机事务处理CLTP(负责对事务数据进行采集、处理、存储)的操作型DBMS,有的可支持数据仓库、有联机分析处理CLAP(指为支持决策的制定对数据的一种加工操作)功能的大型DBMS,有的数据库是关系型的、有的可支持面向对象数据库。
针对选择的DBMS,进行数据库结构定义。
数据表定义:
数据表定义指定义数据库中数据表的结构,数据表的逻辑结构包括:
属性名称、类型、表示形式、缺省值、校验规则、是否关键字、可否为空等。
关系型数据库要尽量按关系规范化要求进行数据库设计,但为使效率高,规范化程度应根据应用环境和条件来决定。
存储设备和存储空间组织:
确定数据的存放地点、存储路径、存储设备等,备份方案,对多版本如何保证一致性和数据的完整性。
数据使用权限设置:
针对用户的不同使用要求,确定数据的用户使用权限,确保数据安全。
联系QO9361235。
。
数据字典设计:
用数据字典描述数据库的设计,便于维护。
四、系统描述及界面设计
4.1数据描述:
4.1.1数据库设计
读者和超级管理员的表单:
图4-1读者和超级管理员表视图
图书的表单包括:
图4-2图书表视图
图书类别(booktype):
类别编号(BooktypeID);
图4-3图书类别表视图
(1)读者借书过程:
数据流图:
图4-4读者借书数据流图
图书信息;
读者信息;
日期;
数据词典:
数据源点及汇点描述:
名称:
读者
简要描述:
借书、还书、查询及注册
名称:
日历
简要描述:
当日日期
加工逻辑词条描述:
加工名:
借书检验
输出数据流:
借书错误信息,借书信息
(2)读者还书过程:
图4-5读者还书数据流图
加工逻辑词条描述:
1加工名:
还书检验
加工编号:
3
逻辑:
IF 书号与数据库数据不符 THEN
发出“检验错误”
ELSE 发出“还书信息”
ENDIF
2加工名:
还书登记
简要描述:
删除读者对该图书的借书信息,给出警告及天数
输入数据流:
还书信息,日期
输出数据流:
图书访问纪录,还书成功
逻辑:
IF 所还图书超期 THEN
统计超期天数
生成含警告的返回信息
ELSE 删除图书访问记录库中相应的借书记录
生成成功信息
ENDIF
给出还书返回信息
数据流名词条描述:
1数据流名:
还书信息
说明:
用于传递图书书号
2数据流名:
还书成功
说明:
用于通知还书成功
(3)读者查询浏览过程:
图4-6读者查询浏览过程
加工逻辑词条描述:
1加工名:
查询许可检验
简要描述:
检验读者身份是否有效
输入数据流:
借书证,查询信息,读者信息
输出数据流:
检验错误,查询信息
加工逻辑:
IF 借书证在读者库中不存在 THEN
发出“检验错误”
ELSE 发出“查询信息”
ENDIF
2加工名:
数据查询
简要描述:
根据所读入的查询信息,检索图书库和图书访问记录库得出相应结果
输入数据流:
查询信息,图书信息,图书访问记录,日期
输出数据流:
查询结果
加工逻辑:
根据查询信息,检索图书库和图书记录
(4)图书管理员查询浏览过程:
图4-7图书管理员浏览过程
加工逻辑词条描述;
1加工名:
数据查询
简要描述:
根据所读入的查询信息,检索读者库、图书库和图书访问记录库得出相应结果
加工逻辑:
根据所读入的查询信息,检索读者库、图书库和图书访问记录库得出相应结果
4.4数据采集
数据采集采用键盘输入。
4.5界面设计
4.5.1登录界面
按C#应用软件用户界面的规范来设计,使用以C#页面为主的用户登录界面,便于用户使用。
(1)登录界面
图4-9主页面
(2)借阅管理:
借书:
图4-10借阅管理页面
还书:
图4-11还书页面
续借:
借阅查询:
图4-12借阅查询页面
(3)读者管理:
读者修改密码:
图4-14读者修改密码
图书查询:
图4-14图书查询页面
(4)超级管理员:
添加新用户:
图4-16添加新用户页面
汇总:
图4-17汇总页面
图书管理:
图4-20图书管理页面
4.5.2软件接口
使用Access数据库的驱动程序,通过COM接口访问。
4.5.3硬件接口
键盘、鼠标。
五、系统功能模块的设计与实现
5.1软件结构设计
图5-1主模块结构图
图5-2借书模块图
图5-3还书模块图
图5-4图书库操作模块图
图5-5读者库操作模块图
5.2程序描述
5.2.1读者添加
图5-6读者添加功能模块图
功能
建立与数据库连接
查验输入的读者,性别
自动生成借书证号
保存并断开与数据库的连接
输入项目
用户键盘、鼠标点击输入
程序逻辑
验证
图5-7读者添加模块图
5.2.2读者查询修改
功能
查验输入的读者证号
运行查询
获取该读者的相关信息
修改、删除读者信息(姓名);
程序逻辑
修改
是否删除
有误
查验输入
查验借书
图5-8读者查询修改逻辑图
5.3借书模块
功能
借书
程序逻辑
出错
图5-9借书模块程序逻辑图
5.4还书模块
功能
显示查询借阅页面
查验输入的图书书号/图书证
对合法输入登录还书信息
显示相关信息(本次还书操作信息,尚未归还图书的相关信息,读者信息)
程序逻辑
出错
图5-10还书模块逻辑图
5.5续借模块
功能
显示查询借阅页面
查验输入的图书书号/图书证
核对合法输入续借信息
显示相关信息(本次续借操作信息,尚未归还图书的相关信息,读者信息)
程序逻辑
图5-11续借模块功能逻辑图
5.6图书查询模块
功能
根据给定查询条件,查询数据库,获取图书信息
输入项目
查询方式指定以及查询关键字
输出项目
查询结果列表显示
程序逻辑
图5-12图书查询逻辑图
六、总结
管理信息系统(MIS)的概念已经用许许多多的方式定义过,因为任何MIS的组织模型似乎都不同,所以各MIS的定义随应用范围的不同而变化就不奇怪了。
按照我们的思想,一个MIS可定义为这样一个基于计算机的数据处理过程的网络系统,它是一个机构为了支持决策及其它必需的管理功能提供及时有效的信息而开发的,并且可按需要把人工操作过程结合在一起。
三个多月的毕业设计即将结束,回首这段时光,我觉得自己过得十分充实,学到了许多新知识,极大地丰富了自己的知识面,终于做出了满足要求的毕业设计。
通过这次毕业设计的我完整的做了一个程序,从中学习到了很多软件开发的知识和细节。
由于时间的限制和自身水平的有限,我没有完全实现毕业设计说明书上要求的所有任务,还存在着一些不足的地方,但是我们对老师交给的任务进行了总结和规划,实现了大部分的任务。
对于毕业设计中的不足,请各位老师给予指正和提出宝贵的建议,我坚信在今后的工作中我会做的更好。
参考文献
[1]刘卫宏.SQLSERVER2005实用教程.科学出版社.2003.9
[2]张龙志.VisualC#.NET实用数据库编程.中国科学技术大学出版社.2003.5
[3]彭明明.C#.NET数据库实用编程100例.人民邮电出版社.2006.9
[4]邹建.中文版SQLServer2005开发管理实例.人民邮电出版社.2005.8
[5]沈洁,杨华译.C#2008数据库入门经典.清华大学出版社.2009.3
[6]冀振燕.UML系统分析与设计教程.人民邮电出版社.2009.5
[7]陈庆奎.数据库原理与应用.西安电子科技大学出版社.2009.9
[8]张海藩.软件工程导论.清华大学出版社.2003.12
系统代码附件
用户登录代码
stringstrConn="DataSource=.;InitialCatalog=图书馆管理系统;IntegratedSecurity=True";
SqlConnectionobjConn=newSqlConnection(strConn);
objConn.Open();
stringstrSql="Select*From登录表";
SqlDataAdapterobjAdap=newSqlDataAdapter(strSql,objConn);
objConn.Close();
DataSetobjDSet=newDataSet();
objAdap.Fill(objDSet,"123");
stringbh,mm,sf;
inti;
for(i=0;i {bh=objDSet.Tables[0].Rows[i]["用户名"].ToString(); mm=objDSet.Tables[0].Rows[i]["密码"].ToString(); sf=objDSet.Tables[0].Rows[i]["身份"].ToString(); if(bh==textBox1.Text.Trim()&&mm==textBox2.Text.Trim()&&sf==comboBox1.Text) {if(sf=="超级管理员") {this.Hide(); Form超级管理员a=newForm超级管理员(); a.Show();} elseif(sf=="管理员") {this.Hide(); Form借书a=newForm借书(); a.Show();} elseif(sf=="读者") {this.Hide(); Form查询图书a=newForm查询图书(textBox1.Text); a.Show();}}} if(r<=i+1) {label7.Text="你的输入有误,请重新输入! "; textBox2.Text="";}} privatevoidbutton2_Click(o
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 借阅 系统 设计 实现