1、XXXX大学项目论文题 目: 图书管理系统 专业班级: 姓 名: 学 号: 指导教师: 成 绩: 目 录概 述I中文摘要II英文摘要III第一章 可行性分析11.1问题描述11.2可行性分析研究11.2.1技术可行性21.2.2经济可行性21.2.3操作可行性21.3结论意见3第二章 需求分析42.1需求分析42.2实体联系图8第三章 系统概要设计103.1总体设计103.2系统功能模块图103.3数据库概念设计103.4数据库逻辑结构设计113.5连接数据库的特点12第四章 详细设计144.1系统的主要功能144.2程序流程图144.3用户界面设计164.3.1一般交互设计164.3.2信息
2、显示设计174.3.3数据输入设计184.4系统设计过程194.4.1登录界面及密码修改194.4.2图书信息添加操作及修改204.4.3查询操作22第五章 编码设计及测试235.1代码设计235.1.1连接数据库代码设计235.1.2登录代码设计245.2软件测试245.2.1测试的方法和步骤255.2.2测试用例25第六章 用户手册276.1 操作管理276.2图书添加步骤286.3读者添加步骤296.4查询图书信息步骤29第七章 设计总结30第八章 文 献31第九章 致 谢32II概 述近年来,随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信
3、息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。 另一方面,随着科技和经济的发展,非接触式智能卡的广泛应用已渗透到各个领域,目前已经覆盖了身份识别、小区物业、智能大厦、出入口控制、车辆管理、消费餐饮、商业物流、办公考勤、人力资源管理、图书管理、医疗保健卡管理、电话收费管理、会议电子签到与表决和保安巡更管理等等,其中门禁、停车场管理、考勤、电梯控制、巡更、消费/POS、图书管理的应用是当前市场上最常见的。中文摘要
4、本系统功能是对图书馆信息的管理,主要功能为管理有关读者,书籍,借阅和管理者的信息等。本系统结构分为读者信息管理模块,书籍信息管理模块,借阅信息管理模块,管理者信息管理模块。读者信息管理部分有两方面的功能,可以浏览读者的信息,可以对读者信息进行维护。书籍信息管理可以浏览书籍的信息,可以对书籍信息进行维护。借阅信息管理可以显示当前数据库中书籍借阅情况,可以对借阅信息进行维护。管理者信息管理可以显示数据库中管理者的情况,可以对管理者信息进行维护。IIAbstractThe function of the system is for managing the information of librar
5、y, which include the management of information about the readers, books, borrowing and browsing, managers and so on. The four sections of system are the management of information about readers, books information management, loan information management, the management of information about manager. Th
6、ere are two functions of the reader information management module, it can give the information about the readers, and it can maintain their information too. Identically, the books information management module can browse and maintain the information of the books. The borrowing information management
7、 module can manifest the situation whether the books in database are borrowed,and maintain the information about the books. The manager information management module can manifest the managers condition and maintain the information.III第一章 可行性分析1.1问题描述图书管理工作面对大量的可模块化处理的信息,是当今信息革命的一个重要阵地。开发图书管理信息系统就是采用
8、现代化的信息管理方式代替手工管理方式,提高图书管理工作效率,作到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。 从以前的手工管理的记录中我们可以发现这样的问题: 1.检索速度慢、效率低:因为图书馆的藏书种类多、数量多,将藏书准确地分门别类,快速检索,手工进行非常困难往往是终于查到了书的信息,馆中没有此书或已被别人借走。图书馆的规模越大,这个问题越突出。 2.借书、还书工作量大:借书、还书频率越大,说明图书馆的作用越大,然而随之而来的大量的借书、 还书登记、实存图书的更新以及借出图书超期、遗失等的处理,其工作量之大,往 往是人工操作所难以胜任的。而且经常会出现这样那样的差错
9、。 3.图书统计工作难、藏书更新不能及时完成。:图书馆的图书应根据科学技术的发展和教学工作的需要及时添加和更新,然而由于藏书数量及图书种类越来越多,加上自然损耗,人为破坏,使图书的统计工作难以及时完成,藏书的更新也就很难有针对性地进行,藏书的知识结构得不到良好地控制。1.2可行性分析研究当接受一个软件开发任务,就进入软件生命的第一个阶段,即进行可行性的研究。并不是所有问题具有简单的解决办法,许多问题不能在预定的规模之内解决。因此通过可行性的研究分析可以知道问题。有无可行性的解决方法,进而避免人力、物力和才力的浪费。在现行系统初步调查的基础上就可以提出新系统目标,即新系统建立后所要求达到的运行指
10、标,这是系统开发和评价的依据。系统目标应充分体现,直接为图书管理系统服务,并且,程序可以分期分批实现。但是,需要指出的是,系统目标是不可能在总体规划阶段就提得非常具体,它还将在开发过程中逐步明确和定量化。以达到更加出色的程序系统。可是,目标的提法不尽相同,例如:提高图书管理效率,减轻劳动强度;提高信息处理速度和准确性;为管理者提供更方便、科学的服务项目。1.2.1技术可行性技术上的可行性分析主要分析现有技术条件能否顺利完成开发工作,硬、软件配置能否满足开发者需要等。目前图书馆各工作点均采用PC机作为工作台,其容量、速度能满足系统要求。根据客户提出的系统功能、性能及实现系统的各项约束条件,根据新
11、系统目标来衡量所需的技术是否具备,本系统是一个数据库管理和查询的系统,现有的技术以较为成熟,硬件、软件的性能要求、环境条件等各项条件良好,估计利用现有技术条件应完全可以达到该系统的功能目标。同时,考虑给予的开发期限也较为充裕,预计系统是可以在规定期限内完成开发。1.2.2经济可行性主要是对开发图书管理系统的经济效益进行评价,一方面是估算开发它的支出费用,其中包括设备购置费、软件开发费、管理和维护费、人员工资和培训费等。另一方面是估算图书管理这个软件可能取得的收益中可以用钱来衡量的那部分。并对目前的软件市场进行调查,所做软件是否有很大的销售市场和相当规模的用户群。所做软件的开发成本与客户提出的要
12、求是否可达到双方都满意。并且,分析系统开发是否会对其它产品或利润带来一定影响。经过对上述几个方面的调查研究和分析,我们得出图书管理这个软件的使用性非常强,减轻人力成本,在经济角度来说,开发图书管理是可行的。1.2.3操作可行性主要是了解图书管理的相关人员对开发信息系统是否支持,现有图书管理制度和方法是否科学,规章制度是否齐全,原始数据是否正确等。图书管理人员积极支持该系统开发,使新系统能够充分的发挥作用;系统操作简单,易于理解,操作者经过短时间的培训就可以使用图书管理系统。1.3结论意见 经过认真地可行性研究,系统基本上做到了在技术、经济、运行、法律上的可行。因此,相信在按照计划上实施的前提下
13、,全系统的设计将会按时、高质量完成。所以,系统研制和开发是可以马上进行的。第二章 需求分析2.1需求分析该系统主要包括系统设置模块、资料管理模块、借阅管理模块、打印中心模块等。详细功能描述如下:1、系统设置:1) 备份管理a) 系统备份主要完成对数据资料库的备份b) 恢复主要完成对数据资料库的备份恢复2) 导入数据a) 导入Excel(Excel先提供简单模板导入形式)b) MARC 标准编目数据的导入3) 系统参数a) 借书期限可以根据读者类别来设定读者借阅图书的时间4) 切换用户 完成不同权限用户之间的切换5) 修改密码 修改当前用户的登陆口令6) 用户管理a) 添加 完成对操作员的添加b
14、) 修改 完成对操作员的信息修改c) 删除 删除选定的操作员d) 权限设置(留有扩展,便于以后扩展) 为系统操作员设定不同的权限以便管理7) 系统初始化 主要完成系统数据的初始化8) 退出系统 操作员推出系统2、资料管理1) 类别管理a) 读者类别管理l 读者类别添加添加读者类别身份,如:老师、学生,在借阅时对身份的不同,所对应的借阅条件不同。l 读者类别修改维护读者类型,更新读者类别借阅条件。l 读者类别删除删除读者类型,删除读者类别前确保此类别无读者。b) 图书类别管理l 图书类别添加添加图书类型便于图书管理。l 图书类别修改维护图书类型信息。l 图书类别删除删除不需要的类别信息。c) 出
15、版社管理l 出版社资料添加出版社信息添加,便于图书录入选择。l 出版社资料修改维护出版社信息,更改出版社最新信息。l 出版社资料删除删除已过期出版社信息。2) 借阅资料管理a) 书籍管理l 书籍添加根据书籍类别不同,录入相应图书信息。l 书籍修改维护书籍数量、价格等信息。l 书籍删除删除已过期书籍信息。l 下架下架后书籍不会被查阅,但书籍信息不被删除l 筛选根据选择条件查询书籍信息。l 刷新根据当前查询条件刷新界面信息。l 预览可以预览当前查询出的结果,可进行预览查询。l 导出将数据导出到Excel中,数据文件另存保存。l 退出退出当前功能窗体。b) 期刊管理l 期刊添加根据期刊类别不同,录入
16、相应图书信息。l 期刊修改维护期刊数量、价格等信息。l 期刊删除删除已过期期刊信息。l 下架下架后期刊不会被查阅,但期刊信息不被删除l 筛选根据选择条件查询期刊信息。l 刷新根据当前查询条件刷新界面信息。l 预览可以预览当前查询出的结果,可进行预览查询。l 导出将数据导出到Excel中,数据文件另存保存。l 退出退出当前功能窗体。c) 其他物品管理l 其他物品添加根据物品类别不同,录入相应图书信息。l 其他物品修改维护物品数量、价格等信息。l 其他物品删除删除已过期物品信息。l 下架下架后物品不会被查阅,但书物品息不被删除l 筛选根据选择条件查询物品信息。l 刷新根据当前查询条件刷新界面信息。
17、l 预览可以预览当前查询出的结果,可进行预览查询。l 导出将数据导出到Excel中,数据文件另存保存。l 退出退出当前功能窗体。d) 筛选条件管理l 筛选条件添加对每个功能界面添加筛选条件查询,并保存查询条件l 筛选条件修改对保存的筛选条件进行修改。l 筛选条件删除删除不需要的查询条件。e) 读者管理l 读者添加添加读者信息,录入读者基本信息,包括读者联系方式、班级信息等,进行读者身份确认。l 读者修改维护读者信息,更新读者变更信息。l 读者删除删除读者信息,删除读者前确保此读者借阅已全部归还。l 挂失处理处理读者借阅证申报挂失的信息。l 筛选根据选择条件查询读者信息。l 刷新根据当前查询条件
18、刷新界面信息。l 预览可以预览当前查询出的结果,可进行预览查询。l 导出将数据导出到Excel中,数据文件另存保存。l 退出退出当前功能窗体。3、借阅管理a) 出借主要完成图书借出业务工作,其中包括读者历史借阅记录,图书归还记录,是否有未归还图书b) 归还 主要完成图书归还业务工作 c) 续借主要完成读者对对图书的续借4、打印中心催书信息打印 主要完成对于一段时间(操作员可设定)没有归还图书进行统计,列出读者信息,并打印通告、互联网开发l 用户登录用户可以通过互联网登陆图书管理系统,其中包括对资源的访问权限控制l 用户信息自管理读者可以修改自己联系方式等管理员授予权限的基本信息l 在线图书检索
19、主要完成对图书的检索(通过设定不同的检索条件)l 网上续订主要完成读者通过互联网来进行续订图书l 在线挂失读者通过网络来挂失自己的学生证来避免图书丢失2.2实体联系图根据对数据流图和数据字典的分析,我们可以确定该应用中的实体,属性和实体之间的关系,并画出如下所示的E-R图。图2.2 总功能用例E-R图书信息图书类别编号图书台帐工作记录管理单位出版社信息管理员借阅人员 图2.2 需求单位实体E-R单价ISBN类型名 称作者图书 出版社备注信息资产号页数版次图2.3管理实体E-R图用户修改时间拥护权限操作员所在单位密码名称图2.4 操作员的E-R图第三章 系统概要设计3.1总体设计通过这个阶段的工
20、作将划分出组成系统的物理元素。系统概要设计的基本目的是用比较抽象的概括方式确定系统如何完成预定的任务,也就是要确定系统的配置物理方案。软件结构设计时应该遵循的最主要的原理是模块独立,让模块彼此间的接口关系应该尽量简单。3.2系统功能模块图可以根据模块独立原理对软件结构进行精化。为了合理的分解,得到尽可能高的内聚、尽可能松散的耦合,最终要的是,为了得到一个易于实现、易于测试和易于维护的软件结构,应该对模块进行再分解或合并。系统功能模块图如图4.1所示:3.3数据库概念设计数据库一般分为三级模式:外模式、概念模式和内模式。外模式也就是不同用户所对的数据视图,它将数据库内部抽象的数据及其互相之间的关
21、系表示为简单、直观的应用界面。概念模式是数据库中全部数据的逻辑结构和特征描述,通常以某种数据模型为基础。内模式是对数据的物理结构和存储方式的描述。3.4数据库逻辑结构设计在数据库设计中相当重要的一步就是将概念模型转化为计算机上DBMS所支持的数据模型,例如,将E-R图模型转化为关系模型,道理很简单,我们设计概念模型基本上都是一些抽象的关系,在再数据库设计的实现过程中,在计算机上有效地表示出这些关系就成了数据库设计的关键。根据图书管理系统的功能要求,选取SQLServer 2000作为后台数据库。在上面的实体和实体之间的E-R图设计基础上,形成数据库中的表格及表格之间的关系。一、主表的结构设计1
22、.图书信息图书信息表是图书基本信息进行统计,包括书名、ISBN、图书类别、出版社、版本号、操作员等信息。图书信息表的结构表如表4-1所示列 名数据类型长 度是否允许为空说明编号int8否编号(主键)书名varchar8否书名ISBNint2否ISBN图书类别datatime 20否图书类别出版社varchar8否出版社版本号varchar20否版本号页数varchar20是页数操作员varchar8否操作员创建时间datatime8否创建时间2.读者信息 读者信息表是图书基本信息进行统计,包括姓名、性别、出生日期、出生地、联系电话、操作员等信息。图片信息表的结构如表4-2所示表4-1. 基础信
23、息表列 名数据类型长 度是否允许为空说明编号int8否编号(主键)姓名varchar8否姓名性别int2否单位名出生日期datatime 20否出生日期出生地varchar8否出生地所属班级varchar20否所属班级联系电话varchar20是联系电话操作员varchar8否操作员创建时间datatime8否创建时间4.操作用户信息操作用户表是对使用本系统的用户进行身份和权限验证用的,包括用户名称、密码、所在单位、用户权限信息、操作员、最后修改时间。操作用户表的结构如表4-5所示表4-5 操作用户结构表列名数据类型长度是否为空说明usernamevarchar8否用户名passwordvar
24、char20否密码szdwvarchar20是所在单位Qx1bit1是权限一Qx2bit1是权限二Qx3bit1是权限三operatorvarchar8是操作员3.5连接数据库的特点当开发环境通过连接到数据库上之后,在设计中使用数据库画笔可实现对该数据库中表格,视图等的操作,如创建表,修改表,删除表,增加/删除记录。设计中设计数据窗口的时候,通过对话框实现与数据的连接。在应用程序中则一般是在应用程序对象中书写连接数据库的程序代码,使得应用程序开始运行并实现与数据库的连接。第四章 详细设计详细设计阶段的根本目标是确定应该如何具体地实现所要求的系统,包括了用户界面设计、程序过程设计等步骤。4.1系
25、统的主要功能 1、图书信息的输入,相关信息的输入等 2、读者信息管理的各种信息查询,修改和维护 3、操作日志的管理 4、图书管理系统的使用帮助4.2程序流程图 程序流程图的优点是对控制流程的描绘很直观,易于掌握。1、录入信息系统其程序流程图如图5.1所示管理员输入查询条件查询相应图书信息 是是否存在继续录入 是 否 否导入信息 否 是录入结束 图5.1 系统程序流程图4.3用户界面设计4.3.1一般交互设计一般交互涉及信息显示、数据输入、和系统整体控制等方面。1、一致性为客户交互界面中的菜单选择、命令输入、数据显示以及众多的其他功能,使用一致的格式。在设计的过程中,基本上保持了系统的格式一致。
26、2、信息的反馈向用户及时提供视觉和听觉的信息反馈,以保证在用户和系统之间及时地建立双向通信。在本系统设计过程中,基本做到了信息的及时反馈,在信息显示的大部分窗体中包括了刷新按钮,会对数据库中的数据进行及时地显示。另外,在进行错误操作是,会弹出提示窗口并发出警告提示音。3、执行有较大影响的操作前提示用户确认在设计过程中,如果用户要执行删除操作,以及对数据库的读写操作时,都会有窗体弹出询问继续操作或者予以提示。4、减少两次操作间需要记忆的内容为了避免用户为下一步操作而记忆大量数据,所以在设计过程中在需要数据传递的窗体中设置全局变量,来传递数据。例如在入账和入库的模块的操作中都用到了这样的方法。5、
27、对话、移动和思考的效率尽量减少用户击键的次数,在设计时考虑到了用户屏幕的布局以减少用户鼠标移动的距离,尽量避免用户在操作中发生疑问的情况。6、允许错误允许用户的误操作尽量不对系统造成伤害。7、按功能对动作分类,并据此设计屏幕布局屏幕布局尽量将软件所具有的所有功能在主页面展示,界面一目了然。4.3.2信息显示设计 应当尽量为用户提供的界面显示时完整的、明确的和容易理解的。这样才能满足用户的需求。使用不同的方式显示信息:用文字、图形、声音,按位置、移动和大小,使用颜色和省略等方式传达信息。1、只显示与当前工作有关的信息在用户操作有关系统的特定功能的信息时,不必看到与之无关的数据、菜单和图形。2、使
28、用便于用户迅速吸收数据的方式来表示数据在系统设计的过程中,较多地使用了图表的形式表示数据,例如在分析中就使用了柱状图的形式表现了复杂的数据。这样,用户可以直观的体会到图表所表示的含义。3、使用一致的标记、标准的缩写和可预知的颜色为了使系统所表达的含义准确、无误,就必须适用一致的标记、标准的缩写和可以预知的缩写,这样用户就无需参照其他信息源就能理解,而正确地适用软件。4、产生有意义的错误信息对于系统在运行过程中产生的错误尽量给用户返回一个容易理解的错误信息,以使用户保持对系统的信任,和系统的可用性。5、使用窗口分隔不同类型的信息使用不同的窗口显示、保存不同类型的信息。6、高效率的使用显示屏当使用
29、多窗口时,应该有足够的空间使得每个窗口至少都能显示出一部分。此外,屏幕的大小应该选得和应用系统的类型相配套。在各个显示数据的窗口中,由于数据窗体项目较多,所以在数据窗体空间中较多的是用了垂直和水平滚动条,以保证信息的全面正确显示。4.3.3数据输入设计用户的大部分时间用在选择菜单命令、键入数据和向系统提供输入。在系统中,键盘是主要的输入介质,但是鼠标等设备的也是重要的输入手段,所以,对于他们的数据输入操作有如下约定:1、保持信息显示和数据输入间的一致性为了方便用户的使用,鼠标应当尽量减少操作的幅度。2、保持显示信息和输入信息之间的一致性对于用户来说,要保证其输入的数据在显示上与其他显示的视觉特
30、征(例如:文字大小、颜色、位置等)要一致。对于不同类型的用户在登录到系统后,由于有不同的权限,所以在主界面中会有一些项目受到限制而无法使用,所以要使这些项目不发生作用,以保证系统安全。4.4系统设计过程系统设计主要是在借助过程设计工具的情况下,对程序的具体实现过程进行设计。程序的主要部分设计在这个环节完成。其主要包括以下几个部分:4.4.1登录界面及密码修改1、登录界面如图5.3所示用户名是否输入否 是 密码是否输入否 是 查找管理员表中对应密码的用户 否 存在? 是 打开主窗体 检查输入次数3 关闭窗体 图5.3 登录界面图在用户登录时,在输入用户名和密码及用户类型的前提下将其与数据库中的数
31、据进行对比,若一致,则打开主窗体,若不一致提示错误,并要求再次输入,若输入次数超过三次,则关闭系统。在这个部分中,需要对用户的类型存入一个全局变量,予以判断其所具有的系统使用权限,例如,用户类型为DBA,则该用户拥有系统的一切权力,可以对每一部分进行添加、删除、查找、统计等操作;而其他用户类型都依据其类型的属性,可以使用的部分也会相应减少,而只能使用一部分与其类型相匹配的功能。2、密码修改如图5.4所示 两次输入的密码是否一致 否 是 原密码是否正确 否 是 对数据库中的相应字段进行更新 提示已更新并提交更新 关闭窗体 检查输入次数3 图5.4 密码修改图在用户更改密码时,系统首先判断输入的两
32、次旧密码是否一致,若一致,则判断原密码是否正确,如果原密码正确,则对数据库中的相应字段进行更新。4.4.2图书信息添加操作及修改1、图书信息添加如图5.5所示:是否为已存在图书 是 否 提示:需要在保存后退出 是否保存? 否 是 保存成功 否 是 Rollback Commit 关闭窗体 图5.5 图书信息添加如图管理员查询某图书,系统提示所查图书信息为空,然后管理员可根据需求是否添加该图书信息。2、图书修改此功能是对图书信息、编号修改。首先系统将从数据库中读取所有可用的图书信息,其中包括编号、名称、出生日期等信息,管理员可视情况分别修改。修改完毕并确认后,系统将所做修改保存,并将新的记录保存
33、于数据库中。在图书管理操作中,为了保护数据库以及考虑实际因素,对姓名、编号的修改时都不能留空,同时编号的修改也不能有重复,若出现此类情况则提示出错。实现该功能的程序流程图如5.6所示:开始界面 图书管理 否是否继续 是编号修改 名称修改 信息修改 否 是否符合要求 是 修改成功 图5.6 图书修改程序流程图4.4.3查询操作查询操作如图5.7所示 输入查询信息否 是 是否存在该信息数据 否 是 提示没有 输出该信息 所要查询 的信息 确认信息 关闭窗体 图5.7 查询操作图在执行查询操作之前通常要先在单行文本框中输入被查询的条件,在单行文本框失去聚焦时将查询条件传递给查询按钮的单击事件中,然后
34、过滤语句依据此过滤条件过滤得出相应的数据,并显示在其他数据窗体控件中。在通常情况下,用户可以在得到要查询的信息后,对它们的各个字段进行修改,经过修改后,在退出时系统会提示进行存储。在完成了用户界面设计和程序过程设计后,基本上完成了详细设计的内容。 第五章 编码设计及测试5.1代码设计5.1.1连接数据库代码设计 public static void Open () if (DataFactory.Instance.getConnection().State = ConnectionState.Closed) DataFactory.Instance.getConnection().Open()
35、; 解释:方法执行打开数据库连接操作。 public static void Close () if (DataFactory.Instance.getConnection().State = ConnectionState.Open) DataFactory.Instance.getConnection().Close(); 解释:方法执行关闭数据库连接操作。 public static bool ExecuteSQL (string sql) DbCommand cmd = DataFactory.Instance.getCommand(sql); try OpenConnection()
36、; cmd.ExecuteNonQuery(); return true; catch (Exception ex) throw ex; finally CloseConnection(); 解释:方法执行数据库操作语句。5.1.2登录代码设计 private void btnSave_Click(object sender, EventArgs e) Admin admin = new Admin(); admin.Userid = this.txtUser.Text; admin.Pass = txtPwd.Text; AdminDB admindb = new AdminDB(); admin = (Admin)admindb.selectGetSqlBaseObject(admin, admin.GetType(); if (admin = null) PublicMethod.shwoMessage(用户名或密码错误); else this.DialogResult = DialogResult.OK; new ParameterInfDB().update(this.skinFile); return; 解释:软件登录窗体登录按钮事件代码。5.2软件测试一个软件开发完成后,并不能投入使用,而需要有好长时