第一篇:图书管理系统心得
为期两个星期的c#图书管理系统实习终于结束了,总算松了一口气,在这短短的两周时间内承受了很大的压力现在终于能够得到“释放”了,感觉到很轻松。回顾这两周所做过的工作和努力,感觉到收获不少,这里面除了实习本省的内容外,还包括许许多多超乎实习本身意义之外的东西。
说实话本来我多程序编写这相关的都不怎么感兴趣,甚至可以说是害怕,因为大一的时候曾经有过程序设计的实训,但是包括之前的一学期的学习我感觉到自己学的很差,就这样懵懵懂懂的学过来了,虽然最后实训的时候我对程序设计有了一知半解,也学到了一些知识,但是这也只是些皮毛。
但是这次的实习不一样,可以说我觉得实习给我带来的最大的帮助就是使我对这门课程有了兴趣,有时候我自己都会感到很奇怪为什么自己会突然迷上了编程,近乎痴迷的爱,以前下了课堂书本就扔的远远的,但是自从这学期开始学c#我就开始期盼着最后的实习,可以自己独立设计出一套系统之类的程序,所以我上课充满了激情,下了课有时我还喜欢自己在电脑上捣鼓捣鼓一些程序,去做一些小小的钻研。从以前的“惧怕”上课到现在的“期盼”上课,我自己都说不上来是什么原因,如果非要找出一点理由的话,我想应该是从这学期的程序设计的课程中我已经渐渐地开始有点“入门”,相对于以前我只是站在“程序设计”的大门外徘徊,可以说现在我们能够独立完成这次的实习,变化是巨大的,这种变化还主要原因还在于程序设计给我带来了一种信息,一种前所未有的成就感。
此次我们实习的内容是基于基于c和sql server的数据库应用系统开发一个图书管理系统,根据图书管理系统的需求设计出图书管理系统的具体功能然后再编写代码。但唯一不同的是,这次图书管理系统的开发是由我们每个人独立开发完成的,一开始我们有些不理解,不是说实际过程中真正开发一个软件不可能完全靠哪一个人自己的能力去完成,而是要靠一个团队的分工协作,最终才有可能设计出一个完美的程序吗?那现在靠我们一个人能做什么呢?最终会来得及吗?
后来两周的实习下来,我才发现这种怀疑和担忧是没有必要的。因为我们这次编写的图书管理系统虽然是一个系统,但其实图书管理系统所要实现的功能都是平常我们练习过的,所以我们独立完成起来并不是特别的困难,最主要的是我们现在必须先要把个人的能力提高起来才有能力将来和别人一起协作,我们这次的实习主要是锻炼个人的能力和让我们自己去发现问题和解决问题。
实习刚开始我先安排了一下自己的进度计划,因为“磨刀不误砍柴工”,虽然图书管理系统的开发不是很难,但是对于我们这些初级学者来说,还是有必要做好规划和时间进度的安排,只有这样最后才能够按时完成任务。但是由于实习中有一些小小的变化,所以我也及时调整了自己事先安排好的计划,虽然如此,但是最后还是能够完成了任务。当然不可避免的我们所开发设计的图书管理系统肯定还存在方方面面的缺陷和问题,可能并没有那么完美,但是最基本的功能都实现了,最起码能够给我一种莫大的鼓舞,剩下的系统功能的继续的完善就需要在今后的时间内我自己去不断的学习和总结经验,去钻研的更深、更透彻。
从一开始我对这次的实习就充满了信心和期望,所以我的积极性一直很高,当然其中也遇到过一些困难,但是最终在我不懈地努力下都将这些困难一一克服了。所以我一直很享受这个过程。当然对于我们来讲,独立完成一个图书管理系统虽然难度不是太大,最终我们也能够完成这个任务,但是对于我们还不是很熟练的情况下,编写出这一个系统还是有一定的压力的,需要我们不断努力和抓紧时间去赶进度的。当然虽然没有团队的协作,但是我们凭自己的能力肯定不可能那么顺利,所以还是需要我们去虚心请教,向基础较好的同学或者老师请教,或者上网搜集相关的资料。
就这样在实习的最后时间内,我终于完成了自己的图书管理系统,当看着自己设计的图书管理系统编译成功和运行时,心里的那种喜悦和无比的成就感简直就是“无与伦比”的。
有的时候我发现实习的作用真的是无可替代的,我一直在说学校里能够安排每学期的实习真的是很正确的一个决定,有的时候我们甚至会有一种感觉,就是感觉到最后几周的实习所学到的知识甚至比我们平常在课堂上学到的知识要多,因为平常我们所学的知识都仅仅是局限于书本或者老师的讲授,而实习的时候我们实际操作过程会遇到的种种问题可能都是课堂上所未涉及到的。还有一个比较明显的收获就是可能平常我们上课学习的时候都只是按照现成的代码直接去输入,所以并没有什么特别大的收获,当然这次我们实习的刚开始我们也是翻书,满世界的找笔记去找代码,但是不同的是,随着实习的深入我们渐渐地对于平常我们所不能理解的代码慢慢的有了认识,逐渐的我们开始不需要书本,不需要笔记了,我们可以自己敲出那一段段代码,再到后来我们可以对于一些平常我们所没有讲过的一些功能实现所需要的代码可以自己去钻研初来,可以说这真的有点“不可思议”。
如果没有这次的实习,我们可能都无法发现这些问题的所在,所以仅仅学习理论的东西只会将我们“束之高阁”,通过这次实习,最主要的是让我们学会去发现问题,在编译发现问题的过程中学会自己去解决问题,最后解决问题所得到的收获包括成功后的喜悦感都将是属于真正我们自己的东西,成为我们的一笔宝贵的财富和经验,是一笔潜在的能源,受益无穷。
第二篇:图书管理系统心得
实习报告
系统功能简介
图书管理系统,是一个由人、计算机等组成的能进行管理信息的手机、传递、加工、保存、维护和使用的系统。其功能包括:用户信息管理、图书信息管理、图书入库信息管理、图书借阅、图书归还和各种信息查询。
1.用户信息的管理:可是完成用户信息的添加、修改、删除和查询等操作。当然用户可
分为三种权限:分别为总管理员权限、管理员权限、读者权限。总管理员能使用本系统的所有功能,而读者权限只能使用系统管理,借阅管理和版本这三个操作。第三种权限只能使用系统管理,还书管理,信息和版本这四个操作。
2.图书信息的管理:可以实现图书信息的添加、修改、删除和查询等操作。
3.图书入库信息的管理:可以实现图书入库信息的添加、修改、删除,主要操作的对象
就是书籍的ISBN、条形码编号、入库时间、当前状态和操作人。
4.图书借阅信息的管理:记录借阅时间、借阅书籍、读者编号、条形码编号、归还时间
和操作人。
5.图书归还信息的管理:可以实现记录书籍归还日期和罚款金额、操作人等操作。
6.各种查询:分别为图书查询,用户查询,借阅查询和书目查询。主要是为了管理员能
更好更清楚的了解各种信息
7.版本:现实当前图书管理系统的版本。让用户知道自己在使用的是什么管理系统。
当然,我做的这个图书管理系统还是很简单,很原始的一个系统。只有一些基本的操作。在我这几个礼拜来的努力下,我已添加了一些功能,修改了一些不合理的语句,让整个功能更加完善。
系统开发环境及安装环境要求
系统开发环境(开发平台、语言、数据库):
开发平台:javascript
语言:java语言
数据库:Access数据库
需求分析说明:
系统功能的流程图:
功能的流程图主要是为了形象的描述整个图书管理系统的功能运作。让人更好的理解我开发这个系统是的思路。
数据库中各个表格的基本信息:
代码设计及应用程序界面展示
在图书管理系统开发的过程中,也让我学会了很多以前学java时不会的语句。在此,我就举一些这次使用的一些比较有代表性的代码来说明我的学习成果。
用java语句来实现数据库的链接。这里用与T_书目基本信息表的链接来说明。并实现了信息的删除功能。
用语句来实现数据的查询。并显示查询了多少次记录。
用语句实现数据的修改,这里举例了书目基本信息
用语句来实现窗体的打开与关闭。这里主要是用代码实现了用户登录,添加用户,修改用户,删除用户的窗体的开闭。
介绍完了一些代码,让我再来介绍一下这次图书管理系统的操作界面。系统管理主要包含以下:
用户登录的界面为:
用户管理里包含:
添加,修改以及删除用户的功能:
之后的书籍管理包含以下功能:
也同样是添加修改删除功能: 之后是 借书窗口还书窗口
根据实际归还日期和应该归还时间的差,乘以每天应该还的钱可以得到罚款金额。之后是信息列表查询:
书籍列表,借阅情况表,用户列表,读者列表是一个做法。
心得总结
这次实训,虽然看起来很简单,但是真的坐起来的时候就发现了困难重重,让我深刻的体会到了要做一个软件,里面需要的很多知识还是我们没有接触过的,所以我们需要不断的实践,不断的学习,不断的发现问题去思考问题。
实训是培养我们综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。本次实训虽然很辛苦,但也是让我受益匪浅。本来这门课程的知识我还学得不够扎实,但通过这次实训,在设计过程中碰到了很多问题,刚开始要设计的时候不知道从哪里下手,但通过不断摸索和老师的教导得以解决,让我学到了很多书本上没有的东西。通过这次实训,我也将课本上的知识融会贯通,起到了很好的辅助学习的效果,我也发现我学到的知识比上个学期学的还要多。理论和实践相结合是学习的最有效的方法,这次设计中我也发现了自己的很多不足之处,对以前所学的理解不够深刻,掌握不够牢固。通过这次实训过后,我也把所学过的知识重新温故了一边。开发一套系统,最重要的是自信,并不是一定要做到面面俱到,但也要充分考虑到用户的需求和现实意义,不管什么系统,只有运用到实际应用中,才具有现实意义。所以在准备工作中要正确的分析系统需求。画出流程图,把大体框架做好,然后再逐一细化。经过这一段时间的学习与时间,图书管理系统基本上完成了。该系统剧本了:添加、删除、修改、查询,实现了根据用户需求借还图书等功能。作为一个简单的图书管理系统,本系统所提供的功能有点少,仅仅实现了一些基本功能,有很多地方有待扩展和改良。
第三篇:个人心得-图书管理系统
图书管理系统个人心得
得知这个难以完成的艰深项目后,我从一开始的迷茫无助,不知如何下手到后来的驾轻就熟,中间经历了几个星期的努力。
不知道如何准备这个报告时,我先查阅了好几所大学制作的相关报告,得知了一些主要流程,再加上后来老师在课上的一些提点,我才真正知道了如何去完成一个管理信息系统,正如老师所说,这门课主要是教会我们如何去表述,所以课题中并未有太多信息技术的术语,多是我们对整个课题的自我反馈。
整个报告的完成过程中,最难的便是与组员沟通,难以调动他们的积极性,所以我也多次无助,好在最后还是顺利完成了。这次报告确实是一次对自我的磨砺,刚开始觉得很难,后来知难而上,途中多次想过放弃,但拿到成果的那一刻满满的成就感油然而生。
我虽然不是一个经常逛图书馆的人,但是在借书的过程中总是发现一些问题:很多应该出现在书架上的图书找不到、或者查询书籍的位置出现混乱,我想这是由于图书管理信息系统对于书籍归还,书籍信息登记和书籍信息变更的管理还不够到位,这种问题同样出现在公公大型图书馆,如:湖南省图书馆上。原本应该给予人们便利的图书馆管理系统却成为了广大读者阅读的阻碍,我经常一下午几个小时就消磨在找书上,原本这些时间都应该成为享受阅读快乐的时间。
所以我真心希望不管在哪的图书馆管理系统都能越做越好,虽然我们并非专业人员,做出来的报告也仍存在许多缺点,但是,这颗上进努力的心却不会改变。
第四篇:图书管理系统
图书管理系统源代码
#include
Length();//计算链表长度 DblNode
象,读入图书馆书籍数据 ofstream magFileOut;// 文件流对象,保存图书馆杂志数据 ifstream magFileIn;// 文件流对象,读入图书馆杂志数据 ofstream readerFileOut;// 文件流对象,保存图书馆读者数据 ifstream readerFileIn;// 文件流对象,读入图书馆读者数据 ofstream loanFileOut;// 文件流对象,保存图书馆借阅信息数据 ifstream loanFileIn;// 文件流对象,读入图书馆借阅信息 ofstream managerFileOut;// 文件流对象,保存图书馆管理员数据 ifstream managerFileIn;// 文件流对象,读入图书馆管理员数据 public: Library();// 构造函数 ~Library();//析构函数 void Run();// 图书馆类的运行函数 void CreateBibliotheca();// 创建书目 void CreateReader();// 创建读者库 void CreateManager();// 创建管理员信息 int ShowMainMenu();// 显示主菜单函数 void Borrow();// 借书操作 void Return();// 还书操作 void Require();// 查询操作 void SaveInfo();// 保存图书馆信息 void OpenInfo();// 读入图书馆信息 };
第五篇:图书管理系统
目录
第一章 绪论.....................................................................................................................................1 第二章 需求分析..............................................................................................................................2
2.1任务概述............................................................................................................................2
2.1.1 图书管理系统完成的主要目标...........................................................................2 2.1.2用户的特点............................................................................................................3 2.2需求规定............................................................................................................................3
2.2.1对功能的规定........................................................................................................3 2.2.2读者管理功能........................................................................................................4 2.2.3系统管理功能........................................................................................................4
第三章 概要设计.............................................................................................................................4
3.1总体设计............................................................................................................................4
3.1.1系统目标设计........................................................................................................4 3.1.2系统功能分析........................................................................................................5 3.2系统设计思想.....................................................................................................................5 3.3 系统模块功能解析............................................................................................................5 第四章 详细设计.............................................................................................................................6
4.1程序设计说明....................................................................................................................6
4.1.1用户登录模块........................................................................................................6 4.1.2用户添加模块........................................................................................................7 4.1.3书籍查询模块........................................................................................................8 4.1.4图书借阅模块........................................................................................................9 4.1.5图书归还模块......................................................................................................10 4.1.6新书入库模块......................................................................................................11 第五章 编码与测试.......................................................................................................................13 5.1各功能模块的实现...........................................................................................................13 5.2 测试.................................................................................................................................19 5.2.1借阅卡管理测试..................................................................................................19 5.2.2书籍管理测试......................................................................................................19 5.2.3系统管理测试......................................................................................................19 结束语.............................................................................................................................................20 致
谢...........................................................................................................................................21 参考文献.........................................................................................................................................21
图书管理系统
摘要:本文介绍了在VB6.0环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发一个管理信息系统的过程。通过分析传统的人工管理图书馆的不足,创建了一套行之有效的计算机管理图书馆的方案。文章详细介绍了图书管理信息系统的系统分析部分,包括可行性分析、组织机构分析、管理职能分析、业务流程分析、数据流程分析、数据字典、处理描述等等;系统设计部分主要介绍了系统功能设计和数据库设计;系统实现部分列出了几个主要的程序框图,并附带了一些主要的窗口和程序。关键字:图书管理系统,VB6.0,sqlserver2000,信息系统
Library Management System Abstract:This article introduces the detailed process of exploring a management information system under the environment of VB6.0, utilizing “Top-Bottom” overall plan and a strategy according to “Bottom-Top” application and exploitation.That is to establish a set of effective scheme for library management by computer, through analyzing disadvantages of traditional library management by human resources.This article emphasizes on three sections.The system analysis section of library management information includes feasible analysis, organizing organs analysis, management function analysis, technological process of business analysis, technological process of data analysis, data dictionary, disposal description and the like.The system design section mainly focuses on system function design and data base design.And the system realization section has provided several major program charts, together with the main windows and programs.Key words: library management system, VB6.0,information system
第一章 绪论
随着人类社会的发展,人类对知识的需求也不断地增长。在这种形势下,书籍就渐渐地成为人们获取并增长知识的主要途径,而图书馆就自然而然地在人们的生活中占据了一定的位置,如何科学地管理图书馆不但关系到读者求知的方便程度,也关系到图书馆的发展,因此,开发一套完善的图书馆管理系统就必不可
少了。
图书馆管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端的应用程序的开发两个方面。对于前者要求建立数据的一致性和完整性,对于后者则要求应用程序功能的完备,易用等的特点。基于上述考虑本系统主要利用VB6.0作前端的应用开发工具,利用sqlsever 作为后台的数据库,利用WINDOWS作为系统平台开发的图书管理系统。另外本图书馆管理系统利用软件工程化思想和方法,总体上是采用结构化生命法进行系统分析和设计的,而系统实现等步骤则采用了原型法和面对对象的方法
系统开发的总目标是实现内部图书借阅管理的系统化、规范化和自动化。能够对图书进行注册登记,也就是将图书的基本信息(如:书名、作者、价格等)预先存入数据库中,供以后检索。能够对借阅人进行注册登记,包括记录借阅人的姓名、地址、电话等信息。提供方便的查询方法。如:以书名、作者、出版社、出版时间(确切的时间、时间段、某一时间之前、某一时间之后)等信息进行图书检索,并能反映出图书的借阅情况;以借阅人编号对借阅人信息进行检索;以出版社名称查询出版社联系方式信息。提供统计分析功能。可以展现出图书类型比例、库存与借出比例。提供旧书销毁功能,对于淘汰、损坏、丢失的书目可及时对数据库进行修改。能够对使用该管理系统的用户进行管理,按照不同的工作职能提供不同的功能授权。提供较为完善的差错控制与友好的用户界面,尽量避免误操作。图书馆的基本功能就是为读者提供借阅服务,读者通过借阅这一过程,可以把图书带出图书馆,从而使读者能够更方便的浏览图书。借书过程中,图书管理员要对读者的借书资格进行审查,对符合借书条件的读者,允许其借书,对其借书记录进行登记;对没有借书资格的读者,禁止其借书。
在VB6.0环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发一个管理信息系统的过程。通过分析传统的人工管理图书馆的不足,创建了一套行之有效的计算机管理图书馆的方案。文章详细介绍了图书管理信息系统的系统分析部分,包括可行性分析、组织机构分析、管理职能分析、业务流程分析、数据流程分析、数据字典、处理描述等等;系统设计部分主要介绍了系统功能设计和数据库设计;系统实现部分列出了几个主要的程序框图,并附带了一些主要的窗口和程序。
第二章 需求分析
2.1任务概述
2.1.1 图书管理系统完成的主要目标
进入系统前需要身份认证、用户名、密码、输入正确方可进入。用户可以根据需要进行书库管理。用户可以进行借书证的办理、查询、挂失等操作。用户可
以添加账户和修改密码。2.1.2用户的特点
最终用户包括读者(具有借阅卡的人)、图书管理员,鉴于此软件应用于大学图书管理,读者基本都是在校大学生即校职工和领导,图书管理员都是接受过高等教育的职工,因此他们都懂得运用基本的计算机知识。大学图书管理系统的使用频度很高,假如一个一万人的大学来讲,每天图书馆的平均日流量为1.5万。因此,该软件的可靠性、可用性、可维护性显得尤为重要。
2.2需求规定
2.2.1对功能的规定
1、图书信息查询/借书信息查询:图书馆主要向读者提供图书借阅的服务。读者为了借阅图书,一般情况下,需要在借书之前查询所要借阅的图书情况,所以图书馆需要为读者提供图书查询功能。例如,读者可能想借阅某方面的书,但不知道图书馆在该方面有哪些图书可供借阅,所以需要对图书馆的图书进行查询;或者,读者知道想借阅的图书信息,但不知道该图书馆是否有该书或不知道图书在图书馆的位置、是否被借出、是否可以借阅等信息,这也需要使用图书查询功能。一般的图书查询中,读者是通过图书登记卡、浏览图书登记卡中的信息得到图书信息的。经过图书查询,读者获得图书馆是否有自己想要的图书,该图书的简单信息以及图书在图书馆的借阅位置等信息。
2、新书入库:为了能正常运行,图书馆要及时更新馆藏图书。对于新书,要购进,供读者借阅;所以要设计到图书的批量入库。对于批量入库,图书管理员要批量登记图书的信息,包括书名ID、ISBN、图书名称、作者、出版社、单价、入库时间、图书总量、现存总量等。
3、借阅图书/归还图书:图书馆的基本功能之一就是为读者提供借阅服务,读者通过借阅这一过程,可以把图书带出图书馆,从而使读者能够更方便的浏览图书。借书过程中,图书管理员要对读者的借书资格进行审查,对符合借书条件的读者,允许其借书,对其借书记录进行登记;对没有借书资格的读者,禁止其借书。具体的步骤如下:读者向图书管理员提交请求和图书借阅卡,图书管理员检查读者提供的借阅卡,如果该借阅证真实准确,读者已经借阅的图书并没有超过允许借书量,而且读者没有逾期未还的图书,则允许读者借书,否则,读者不能从图书馆借书。读者拿到要借阅的图书,同时拿到自己的借阅卡,借书过程完毕。当借阅图书的数量超过5本或者出现未按期归还图书的情况,则不好进行借阅处理。图书馆的另一基本功能就是为读者提供还书服务,读者在一本图书借阅期满之前把该图书还给图书馆,一般的还书步骤如下:读者把所借的图书和自己的借阅卡交给图书管理员。图书管理员对图书进行检查,看有无损坏,如果出现图书的损坏情况,读者应进行相应的赔偿。图书管理员查看是否超过规定借阅期限,如果已经过期,则读者要按规定交纳罚金。图书管理员进行登记,同时把还书信息记入借阅卡。读者拿回自己的借阅卡,还书过程借书。读者逾期未归还图书超过三天,将按照每本每天进行一定的罚款。
4、书籍挂失:对图书由于丢失而不能即时还书的情况,读者要即时到图书管理员进行登记,确保图书信息的更新。进行书籍挂失的步骤一般如下:读者将所丢图书信息告诉图书管理员并将借阅卡交给图书管理员。图书管理员对该图书信息进行登记,并按图书的价格,要求读者进行相应赔偿。图书管理员将信息记入借阅卡。读者拿回自己的借阅卡,挂失功能结束。
2.2.2读者管理功能
1、办理借阅卡:图书馆向读者提供借阅服务,读者必须具有有效凭证方可借阅。因此,读者必须办理借阅卡获取有效凭证。读者在办理借阅卡时,必须输入个人有关注册信息,包括读者姓名、性别、出生日期、家庭住址、身份证号码、电话号码等信息。系统根据读者提供的信息,办理借阅卡并生成个人帐号、读者可自行修改密码。
2、借阅卡信息查询;图书馆在正常运营中要面对大量的读者信息,需要掌握每个读者的信息,即时准确的掌握读者的基本情况,这些是图书馆运营的保证。读者要进行信息查询,可以通过系统将自己的借阅卡账户、密码输入系统,系统通过核对找到读者的信息。如果读者的信息正确,系统将读者的信息包括读者姓名、性别、出生日期、家庭住址、身份证号码、电话号码等信息。如果读者的信息不正确,系统将提示错误,并且系统设定,当错误次数超过5次时,系统将不予查询。
3、借阅卡挂失:对借阅卡的丢失要即时进行挂失处理,以防止其他人盗用自己的有效信息并出现私自借书等行为。借阅卡挂失的一般步骤可分为:读者将挂失情况即时到图书管理员处进行登记,并填写登记单。图书管理员将读者情况进行登记挂失,注销借阅卡的信息,并咨询读者是否重新办理。若读者需重新办理,则重新填写相关信息,系统自动生成心的借阅卡信息记录,读者重新设置帐号即密码,并交纳相应的费用。若读者不需办理,则系统将信息注销。读者获得新的图书借阅卡。
2.2.3系统管理功能
1、注册管理员:为了对图书馆管理系统进行管理,图书馆需要若干名图书管理员进行管理,在图书管理员对系统进行管理之前必须进行注册功能,以确定管理员身份。对管理员进行注册,系统生成相应信息。其中管理员的基本信息包括:成员ID、密码等。系统管理员每次登陆前输入自己的ID与密码,系统对其信息进行核实,如基本信息正确,则系统管理员可进行系统管理功能,若系统检查不正确,则系统管理员不可以进行相应的操作。
2、修改密码:服务图书馆管理员可能由于某些原因,如电脑中毒导致管理员密码的泄露,为避免图书管理信息遭到破坏,系统具有修改密码的功能,确保图书管理功能的安全性。
3、退出功能:系统管理员每次离开必须进行退出功能,确保管理功能不被他人所用,这样更方便图书管理系统出现问题时,找到责任人。
第三章 概要设计
3.1总体设计
3.1.1系统目标设计
系统开发的总目标是实现内部图书借阅管理的系统化、规范化和自动化。能够对图书进行注册登记,也就是将图书的基本信息(如:书名、作者、价格等)
预先存入数据库中,供以后检索。能够对借阅人进行注册登记,包括记录借阅人的姓名、地址、电话等信息。提供方便的查询方法。如:以书名、作者、出版社、出版时间(确切的时间、时间段、某一时间之前、某一时间之后)等信息进行图书检索,并能反映出图书的借阅情况;以借阅人编号对借阅人信息进行检索;以出版社名称查询出版社联系方式信息。提供统计分析功能。可以展现出图书类型比例、库存与借出比例。提供旧书销毁功能,对于淘汰、损坏、丢失的书目可及时对数据库进行修改。能够对使用该管理系统的用户进行管理,按照不同的工作职能提供不同的功能授权。提供较为完善的差错控制与友好的用户界面,尽量避免误操作。3.1.2系统功能分析
根据以上功能,将图书管理系统的数据分为:数据输入部分:主要包括图书基本信息的录入、借阅人基本信息的录入、用户基本信息的录入。数据输出部分:主要是各种统计查询,包括:根据图书信息(如书名、作者、出版社等)查阅图书及其借阅信息、统计输出图书类型比例等。数据处理部分:主要涉及借阅和归还的处理,如一本书借出后,必须在数据
库中将该书标记为已借出,以防出现数据库中有书但图书馆无书的情况;一本书归还后,同样必须在数据库中将其标记为已经归还,以便再次借出。
概念设计阶段主要任务和目标是根据需求分析的结果,包括一般联系实体,画出对应的ER图。对于复杂的系统,通常首先要对它的各功能模进行分析,然后再把它的功能结构图画出来,便是设计和优化。功能分析之后,再根据各个岗位、各个用户对数据和使用权限的不同要求作出局部ER图,然后再把各个局部ER图综合起来形成统一的整体ER图。
3.2系统设计思想
1、图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。图书管理系统使用的是SQL Server2000的数据管理系统和以Visual Basic6.0为开发工具。
2、首先进行系统设计分析,系统设计主要包括系统功能分析、系统模块设计以及运行环境的选择、系统实现过程。
3、然后根据系统功能分析设计出需要的数据库,绘制系统数据流图与总结数据字典、设计数据库结构。
4、最后在实现各个功能模块时,采用先模块后系统集成的方式,即各系统功能模块分别独立设计和调试,在创建系统主窗体时才将各个功能模块通过主窗体菜单系统集成到一起,最后进行系统整体的设计和调试。
3.3 系统模块功能解析
(1)系统设计分析
本图书管理系统主要有以下功能: 图书征订:包括图书征订数据的录入、修改、删除与审校等功能。图书编目:包括图书数目信息的录入、修改、删除功能。图书典藏:包括新书分配、库室调配等功能。
图书流通:包括图书借阅、续借、图书返还,图书书目的查询的功能。系统用户管理:包括系统用户数据的录入、修改与删除等功能。
读者数据管理:包括读者类别管理,读者个人数据的录入、修改和删除功能。(2)系统功能分析
权限功能:权限功能设置的对象为高级管理员、普通管理员、读者。高级管 删除所有信息;普通管理员只能对授权范围内进行相应修改及删除;读者 只能查询借阅记录和图书书目不能修改。
录入功能:为普通管理员提供相应的录入功能,为高级管理员提供对所有信息的录入功能。
查询功能:为所有用户提供查询的功能,可查询允许范围内的所有信息。维护功能:为普通管理员提供查询及相应的修改,删除功能,为高级管理提 供对所有信息的修改删除功能。
打印功能:可打印图书征订计划。
退出功能:各个功能模块和主窗体都设有关闭命令按钮,可方便地退出各模 块或系统。
第四章 详细设计
4.1程序设计说明
4.1.1用户登录模块
1.程序描述:此程序用于用户登陆的至用户界面,程序通过输入用户的ID,用户密码的正确性来实现对验证用户的真实性。2.功能:实现用户的登录功能
3.性能:用户通过输入用户ID,用户名和密码进行用户登陆,通过认证后,用户
即可进入用户界面。
4.输入项:输入用户ID,用户名,密码5.输出项:用户主页面。流程逻辑如图所示:
输入用户名和密码N数据库是否打开Y连接失败返回N用户名和密码是否正确Y输入次数是否超过5次YN重新输入密码关闭数据库返回登陆成功进入主界面
图4-1用户登录流程逻辑
4.1.2用户添加模块
1.程序描述:此程序用于添加新的用户,用户通过向数据库内输入必要的信息来注册成为新的用户,才通过一系列的验证之后,即注册成为真正的用户。
2.功能:实现对用户的添加功能。
3.性能:查询新用户的用户名是否存在,若存在则停止添加返还数据库;若用户不存在,则进行添加,并进行注册,注册成功后返回。
4.输入项:输入用户的详细信息,包括姓名,出生日期,性别,地址,身份证号码,电话号码等信息。
5.输出项:若添加成功,则输出提示用户注册成功界面;若未成功,则提示输出未成功原因界面。
6.流程逻辑如下图所示:
输入用户信息N判断数据库是否打开提示连接失败返回Y查询数据库中是否有该用户Y提示已经存在该用户关闭数据库并返回N向数据库中添加新用户提示注册成功返回
图4-2用户添加模块流程逻辑
4.1.3书籍查询模块
1.程序描述:此程序用于实现用户对想要借阅的查询功能。用户通过输入相应的图书信息来查询,数据库根据用户提供的信息来搜索,最后给出客户相应的图书信息。
2.功能:实现图书查询功能。
3.性能:对进行想要查询的书籍进行搜索,若存在此书则显示该书的详细信息;若不存在此书,则提示没有此书并返回。
4.输入项:输入图书的详细信息,包括图书名称,书籍ID,图书作者,出版社,单价等信息。
5.输出项:若输入的图书存在即输出图书详细信息界面;若输入的图书不存在则显示图书不存在界面。
6.流程逻辑如下图所示:
输入图书信息判断数据库是否打开Y查询是否有该书YN连接失败返回N关闭数据库返回显示该书的信息关闭数据库返回 图4-3图书查询模块流程
4.1.4图书借阅模块
1.程序描述:此程序用于图书的借阅,用户通过登录自己的借阅ID后,对需要借阅的图书进行借阅操作,如果符合借阅的要求,则可进行借阅。2.功能:实现对图书的书籍借阅功能。
3.性能:首先验证借阅者输入的借阅ID是否存在,若存在进行下一步;若不存在则返回。
4.若借阅ID存在,则检查此借阅ID是否借阅书籍超出4本,若超出则提示超出借阅数目,返回;若没有超出,则进行下一操作。
5.对想要借阅的图书ID进行搜索,若此书不存在,则提示此书不存在;若此书存在则进行下一步操作。
将借阅者借阅的数量増一,将数据库中此书数量减一,同时提醒借阅成功,然后返回。
6.输入项:输入借阅证的ID,图书ID 7.输出项:若借阅证ID正确且图书ID正确且符合借阅要求,则输出提示借阅成功界面;若存在借阅ID或图书ID或不符合借阅要求等问题,则输出提示没有借阅成功原因的界面。8.流程逻辑如下图
输入书籍ID和借阅IDN数据库是否打开YN借阅卡ID是否存在YY判断借阅ID是否借书超出4本提示超出最大借书数量关闭数据库返回提示不存在该借阅者关闭数据库返回数据库连接失败返回NN数据库中是否存在书籍IDY将借阅者的借书数量加1提示不存在该书籍关闭数据库返回将书籍的数量减1提示借书成功关闭数据库返回 图4-4图书借阅模块
4.1.5图书归还模块
1.程序描述:此程序用于图书的归还,用户在登录自己的ID之后,用户可以对需要归还的图书进行操作,如果符合归还要求,则可以将图书归还。2.功能:实现对图书的书籍归还功能。
3.性能:首先验证借阅者输入的借阅ID是否存在,若存在进行下一步;若不存在则返回。
对想要归还的图书ID进行搜索,若此书不存在,则提示此书不存在;若此书存在则进行下一步操作。将借阅者借阅的数量减一,将数据库中此书数量加一,同时提醒借阅归还,然后返回。
4.输入项:输入借阅证ID和图书ID 5.输出项:若借阅证ID和图书ID正确,则输出提示图书归还成功界面;若借阅证ID或图书ID不正确,则输出提示没有成功原因的界面。
6.流程逻辑如下图:
输入书籍ID和借阅IDN数据库是否打开YN借阅卡ID是否存在YN提示不存在该书籍关闭数据库返回提示不存在该借阅者关闭数据库返回数据库连接失败返回数据库中是否存在书籍IDY将借阅者的借书数量减1将书籍的数量加1提示还书成功关闭数据库返回 图4-5图书归还模块
4.1.6新书入库模块
1.程序描述:此程序用户对新进图书的入口登记处理。用户可以将新书的详细信息进行输入,保存在数据库中后,新书即登记成功。
2.功能;实现新进图书入库功能。
3.性能:对数据库查询是否已存在此书,若存在则将此书数量加一,提示添加成功;若没有此书,则将此书的基本信息存入数据库,并提示添加书籍成功。
4.输入项:输入新书的书籍ID,书名,作者,出版社,单价等信息。
5.输出项:若添加成功,则输出提示新书添加成功界面;若没有添加成功,输出提示未成功原因界面。
6.流程逻辑如下图
输入书籍信息N数据库是否打开关闭数据库返回Y是否已经存在Y该书将该书的数量加1提示添加书籍成功关闭数据库N将该书信息存入数据库是否是第一条N记录提示添加书籍成功关闭数据库返回Y提示添加第一本书籍关闭数据库返回图4-6新书入库模块
返回
第五章 编码与测试
5.1各功能模块的实现
(1)用户登录窗体
图5-1 用户登录窗体
用户登录代码:
Const MaxLogTimes As Integer = 3 Private Sub cmdcancel_Click()
If MsgBox(“是否真的退出系统登录?”, vbYesNo, “登录验证”)= vbYes Then
Unload Me
End If End Sub Private Sub cmdok_Click()
Static intLogTimes As Integer
intLogTimes = intLogTimes + 1
If intLogTimes > MaxLogTimes Then
MsgBox “超过登录次数!”, vbCritical, “登录验证”
Else
With Library_Manage.rsSysUsers
.Open
If.RecordCount > 0 Then
.MoveFirst
.Find “编号=” & Trim(txtLog(0))& “"
If.EOF Then
MsgBox Trim(txtLog(0))& ”不是系统用户,请检查输入!“, vbCritical, ”登录验证“
txtLog(0).SetFocus
txtLog(0).SelStart = 0
txtLog(0).SelLength = Len(txtLog(0))
ElseIf.Fields(”口令“)<> Trim(txtLog(1))Then
MsgBox ”口令错误,请检查输入口令!“, vbCritical, ”登录验证“
txtLog(1).SetFocus: txtLog(1)= ”“
Else
CurrentUserNum =.Fields(编号)
CurrentUserPassword =.Fields(”口令“)
CurrentUserStatus =.Fields(”权限“)
MsgBox ”欢迎使用常州信息学院管理系统!“, vbInformation, ”登陆成功!“
Unload Me
End If
End If
.Close
End With
End If End Sub Private Sub Form_Load()
SysLogon.BackColor = RGB(192, 210, 270)End Sub(2)用户管理窗体界面
图5-2 用户管理窗体
用户管理窗体代码 '保存
Private Sub cmdSave_Click()
Dim objcopy As New Recordset
If Trim(txtNum)= ”“ Then
MsgBox ”不能为空!“, vbCritical, ”系统用户管理“
txtNum.SetFocus
txtNum.SelStart = 0
txtNum.SelLength = Len(txtNum)
ElseIf Len(Trim(txtPwd))<> 6 Then
MsgBox ”用户口令须为6位字符串!“, vbCritical, ”系统用户管理“
txtPwd.SetFocus
txtPwd.SelStart = 0
txtPwd.SelLength = Len(txtPwd)ElseIf Not txtAuth Like ”[0,1]“ Then
MsgBox ”用户权限必须为0或1“, vbCritical, ”系统用户管理“
txtAuth = ”“
txtAuth.SetFocus Else
Set objcopy = Library_Manage.rsSysUsers.Clone '对错?
With objcopy
If.RecordCount > 0 Then
.MoveFirst
.Find ”编号“ & Trim(txtNum)& ”“
If Not.EOF And.AbsolutePosition <> Library_Manage.rsSysUsers.AbsolutePosition Then
MsgBox ”编号:“ & Trim(txtNum)& ”已被使用,请选择其他编号!“, vbCritical, ”系统用户管理“
txtNum.SetFocus
txtNum.SelStart = 0
txtNum.SelLength = Len(txtNum)
Exit Sub
Else
'保存记录
Library_Manage.rsSysUsers.Update
MsgBox ”数据保存成功!“, vbInformation, ”系统用户管理“
cmdAdd.Enabled = True
cmdDel.Enabled = True
isAdding = False: picNavigation.Enabled = True
End If
End With End If End Sub Private Sub Form_Load()
cmdMove(0).Value = True End Sub(3)读者数据管理窗体界面
图5-3 读者数据管理窗体
读者数据管理窗体代码
Library_Manage.Library_Manage_Con.Execute ”TRUNCATE TABLE 读者类别“
With Library_Manage.ReaderType
If.State = adStateClosed Then.Open
.AddNew
.Fields(”编号“)= ”0“
.Fields(”名称“)= ”特殊“
.Fields(”借书量“)= Val(txtSp(1))
.Fields(”借书期“)= Val(txtSp(2))
.Fields(”有效期“)= Val(txtSp(3))
.Update
.AddNew
.Fields(”编号“)= ”1“
.Fields(”名称“)= ”馆员“
.Fields(”借书量“)= Val(txtL(1))
.Fields(”借书期“)= Val(txtL(2))
.Fields(”有效期“)= Val(txtL(3))
.Update
.AddNew
.Update
.AddNew
.Fields(”编号“)= ”2“
.Fields(”名称“)= ”教师“
.Fields(”借书量“)= Val(txtT(1))
.Fields(”借书期“)= Val(txtT(2))
.Fields(”有效期“)= Val(txtT(3))
.Update
.AddNew
.Fields(”编号“)= ”3“
.Fields(”名称“)= ”学生“
.Fields(”借书量“)= Val(txtS(1))
.Fields(”借书期“)= Val(txtS(2))
.Fields(”有效期“)= Val(txtS(3))
.Update
End With End Sub Private Sub Form_Load()cmdMove(0).Value = True End Sub Private Sub SSTab1_DblClick()End Sub(4)图书征订管理窗体
图5-4 图书征订管理窗体
图书征订管理代码
txtPubDate.SelLength = Len(txtPubDate)
ElseIf Trim(txtAuthor)= ”“ Then
MsgBox ”作者不能为空!“, vbCritical, ”图书征订管理“
txtAuthor.SetFocus
txtAuthor.SelStart = 0
txtAuthor.SelLength = Len(txtAuthor)
ElseIf Val(txtNum)= ”“ Then
MsgBox ”正的数量无效!“, vbCritical, ”图书征订管理“
txtNum.SetFocus
txtNum.SelStart = 0
txtNum.SelLength = Len(txtNum)
ElseIf Not IsDate(txtDate)= ”“ Then
MsgBox ”作者不能为空!“, vbCritical, ”图书征订管理“
txtDate.SetFocus
txtDate.SelStart = 0
txtDate.SelLength = Len(txtDate)
Else
'保存记录
Library_Manage.rsBooksOrder.Update
MsgBox ”数据保存成功!“, vbInformation, ”图书征订管理“
cmdAdd.Enabled = True: cmdDel.Enabled = True
cmdExam.Enabled = True: cmdRefresh.Enabled = True
isAdding = False: picNavigation.Enabled = True
End If End Sub Dim objcopy As Recordset Private Sub cmbOut_Click()
AddListOut
End Sub Private Sub cmdAddAll_Click(Index As Integer)'选择全部条码
ListItem_Add lstPre(Index), LstIn(Index), Index, True End Sub Private Sub cmdAddOne_Click(Index As Integer)'选择当前条码
ListItem_Add lstPre(Index), LstIn(Index), Index, False End Sub Private Sub cmdExit_Click()
If LstIn(0).ListCount > 0 Then
If MsgBox(”你选定了部分新书准备入库,但没执行保存操作“ & vbCr & ”是否要执行保存操作?“, vbCritical + vbYesNo, ”图书典藏管理“)= vbYes Then
SSTab1.Tab = 0
cmdSave.Value = True
End If
ElseIf LstIn(1).ListCount > 0 Then
If MsgBox(”你选定了部分新书准备入库,但没执行保存操作“ & vbCr & ”是否要执行保存操作?“, vbCritical + vbYesNo, ”图书典藏管理“)= vbYes Then
SSTab1.Tab = 1
cmdSave.Value = True
End If
End If
Unload Me End Sub '刷新新书或调出库室条码列表
Private Sub cmdRefresh_Click(Index As Integer)
Select Case Index
Case 0 '刷新新书列表
With Library_Manage.rsBooksBibli
If.State = adStateClosed Then.Open
.Requery
End With
AddListNew
Case 1 '刷新库室条码列表
With Library_Manage.rsBooksStore
If.State = adStateClosed Then.Open
.Requery
End With
AddListOut
End Select End Sub Public Sub AddListNew()
lstPre(0).Clear
With Library_Manage.rsBooksBibli
If.State = adStateClosed Then.Open
If.RecordCount > 0 Then
.MoveFirst
While Not.EOF
lstPre(0).AddItem.Fields(”条码“)
.MoveNext
Wend
Else
lstPre(0).AddItem ”当前无待分配新书"
End If End With End Sub 5.2 测试
5.2.1 借阅卡管理测试
进度安排测试办理借阅证信息,检查个人账号、读者可自行修改密码。测试查询借阅卡信息的正确性,包括输入的读者信息等。测试借阅卡挂失功能,包括读者信息等。
5.2.2 书籍管理测试
进度安排:测试新书入库信息的正确性。测试借书、还书功能信息正确性。测试书籍挂失信息的正确性。测试图书信息查询的正确性。测试借书信息查询的正确性。
5.2.3 系统管理测试
进度安排测试注册管理员信息的正确性。测试修改密码信息的正确性。
结束语
对于这篇论文我有不少心得体会。这次是对我们掌握所学知识的一次考核。它可以让我们了解自己一学期里的学习情况,有助于在今后的学习中加以改进。通过这次上机实验,我发现了自己对数据库和vb语言掌握的并不牢,有的知识点根本就不懂。这都要怪自己在平时的学习过程中不够用心,不懂的地方也没有及时的去搞懂,课后也没怎么花时间去研究。这次实验我觉得自己不仅学到了很多软件设计方面的知识,也让我巩固了以前所学的知识以及看到了自己以前学习中的不足之处。
在今后的学习过程中,我一定会认真学习专业课程,再也不能像以前那样迷迷糊糊的,课后要多花时间去研究一些有关编程方面的题目,不懂的地方及时把它弄懂。以后自己还要多动手编写一些程序。在这里我要感谢学校能提供这么一个宝贵的机会,我们可以把课堂上所学的理论知识运用到实践中去,把书上的东西变成我们自己的。这个机会既让我们学习巩固了知识,也让我们发现了自己的不足之处。特别要感谢我们的指导老师,正因为有了您的帮助我们才可以完成实验。我也希望今后还会有更多的机会让我们去实践,去充实自己。
致 谢
在本次设计的过程中,老师们给了我们很大的帮助。不仅使我们在规定时间内完成了系统的设计,同时还使我们学到了很多有益的知识和宝贵的经验在此,我谨向他们表示最衷心的感谢。感谢老师的指导,使我们充分利用软件工程,VB,数据库原理开发出自己的项目.在开发的过程中使我体会到了工程化开发方法和瀑布模型利用的重要性,在此还要感谢所有合作参与项目开发的同学们这次毕业设计的成功离不开所有参与的同学们的帮助和支持,是他们让我知道了团队工作的重要.参考文献
1、陶宏才.数据库原理及设计[M].北京:清华大学出版社.2004.2、陆丽娜.软件工程 [M].北京:经济科学出版社.1999
3、郝志恒、刘舫.Visual Basic 6.0 编程篇[M] 北京:电子工业出版社 2004
4、刘世峰.数据库基础与应用[M] 北京: 中央电大出版社 2003
5、吴斌、鲁大林.Visual Basic+SQL Sever数据库应用系统开发[M] 北京:机械工程出版社 2008
6、邱李华.SQL Server 2000 数据库应用教程[M] 北京:人民邮电出版社 2007
7、钟军.Visual Basic数据库高级实例导航[M] 北京:清华大学出版社 2003
8、赵松涛.Visual Basic+SQL Server 2000 系统开发实录[M] 北京: 机械工业出版社 2007