软件开发说明书图书馆管理系统…目录21.开发计划„„„„„„„„„„„„„„„„„„„„„„„„32.需求分析„„„„„„„„„„„„„„„„„„„„„„„„33.概要设计„„„„„„„„„„„„„„„„„„„„„„„„34.详细设计„„„„„„„„„„„„„„„„„„„„„„„„95.程序编码„„„„„„„„„„„„„„„„„„„„„„„„136.测试与调试„„„„„„„„„„„„„„„„„„„„„„„„137.体会与收获„„„„„„„„„„„„„„„„„„„„„„„„138.附录一程序代码„„„„„„„„„„„„„„„„„„„„„„„„3一.问题的提出随着计算机及网络技术的飞速发展,Internet/Intranet应用在全球范围内日益普及,当今社会正快速向信息化社会前进,信息自动化的作用也越来越大。从而使我们从繁杂的事务中解放出来,提高了我们的工作效率。目前学校图书馆的借阅工作部分还是手工管理,工作效率很低,并且不能及要求。手工管理还存在这许多弊端,由于不可避免的人为因素,造成数据的遗漏、误报。计算机信息化管理有着储存量大,速度快等许多优点,提供给我们的处理信息及时快捷,因此我们利用计算机提供给我们的信息对学生们的借阅过程形成一整套动态的管理二.可行性的分析文档图书借阅系统的建立,需要进行用户需求调查与分析,以确定系统目标,提出解决问题的详细方案,这是系统建设的重要环节。
要想使学生能够有效的借阅,功能上对系统的要求是全面的。因此对用户的需求可分为四个方面:一方面是图书管理人员对需要进行图书借阅的同学进行信息注册,获得借书证;二方面是学生通过计算机进行图书浏览;三方面是学生通过计算机进行图书借阅;四方面是打印输出学生信息。这四个方面形成了图书借阅的一个工作整体,利用计算机的自动化处理,可方便快捷地共享信息、交流信息,高效地协同工作。在软硬件方面对系统的需求,软件要求易学,界面友好,容易掌握,可以很简单方便的进行图书借阅信息管理。硬件的配置要求不能太高,这样可以很好的适应当前的学校图书馆的借阅。1.图书管理系统的需求分析图当决定要开发一个信息系统时,首先要对信息系统的需求进行分析。需求分析要做的工作是深入描述软件的功能和性能,确定软件设计的限制和软件同其他元素的接口细节,定义软件的其他需求。其实步骤包括四步。模型化抽象化导出具体化实例化1.1软件开发过程(1)获得当前系统的处理流程,在此首假设当前系统是手工处理系统。手工处理流程大致是这样的。读者将要借的书和人借阅证交给工作人员,工作人员将每当前系统物理模型逻辑模型当前系统物理模型逻辑模型4本书附带的描述信息的卡和读者借阅证一起放在一个小格栏,并在借阅证和每本书上贴的借阅条上填写借阅信息。
这样借书过程就完成了。还书时,读者将要还的图书交给工作人员,工作人员根据图书信息找到相应的书卡和借阅证,并填写还书信息。(2)抽象出当前系统的逻辑模型。在理解当前系统“怎么做”的基础上,抽取其“做什么”的本质,从而从当前系统的物理模型抽象出当前系统的逻辑模型。在物理模型中有许多物理因素,随着分析的深入,有些本质的因素就成为不必要的负担,因而需要对物理模型进行分析,区分出本质的和非本质的因素,去掉那些非本质的因素即可获得反映系统本质的逻辑模型。(3)建立目标系统的逻辑模型。分析目标系统与当前系统逻辑上的差别,明确目标系统到底要“做什么”,从而从当前的逻辑模型导出目标系统的逻辑模型。在对上述流程进行分析后,我们对新的图书处理流程进行整理,图书馆开架借还书过程如下:借书过程:读者从架上选到所需要图书后,将图书和借书卡交管理人员,管理人员用条码阅读器将图书和借书卡上的读者条码信息读入处理系统。系统根据读者条码从读者文件和借阅文件中找到相应记录;根据图书上条码从图书文件中找到相应记录,读者如果有下列情况之一将不矛办理借书手续。○1读者所借阅图书已超过该读者容许的*多借书数目。○2该读者记录中有止借标志。
○3该读者还有已超过归还日期而仍未还的图书。○4该图书暂停外借。若读者符合所有借书重要条件时,好予以借出。系统在借阅文件中增加一条记录,记入读者条码、图书条码、借阅日期等内容。还书过程:还书时读者只要将交给管理人员,管理人员将书上的图书条码读入系统,系统从借阅文件上找到相应记录,填上还书日期后写入借阅历史文件,并从借阅文件上删去相应记录.同时系统对借书日期进行计算并判断是否超期,若不超期则结束过程,若超期则计算超期天数、罚款数、并打印罚款通知书、级入罚款文件。同时在读者记录上作止借标记。当读者来交罚款收据后,系统根据读者条码查罚款文件,将相应记录写入罚款历史文件,并从罚款文件只删除该记录,同时去除掉读者文件中的止借标记。借书过程数据流图如图形1.2 所示.5.1.2 借书过程数据据流程图1.3 还书过程数据流图 (4)为了对图书管理系统做完整的描述,逮需要对上面得到的逻辑模型做一些补充。首先采用图形的方式描述图书管理系统的用户界面,这样做的目的是保证整个系统的用户界面的一致性,同时也有助于后续的开发人员更好地理解系统需要实现的功能。在这就不罗列用户界面,以免与后面内容重复。其次,说明图书管理系统的一些特殊性能要求,如借书、还 书服务花费的时间一次不得大于5 分钟等。
前面着重对借还书流程进行了详细的阐述,以说明如何利用数据流图这一工具进行软件的分析,下面介绍图书管理系统的总体功能要求。简单的图书管理系统主要包括下面的功能: 借书处理:完成读者借书这一业务流程。 还书处理:完成读者还书这一业务流程。 罚款处理:解决读者借书超期的罚款处理。新书上架:输入新书资料。 旧书淘汰:删除图书资料。 读者查询:根据读者号,查询读者借阅情况。读者 读者文件夹 借阅文件 检查读 者情况 记录借 阅文件 检查读 者情况 图书文件 读者 读者文件夹 核查 借阅文件 罚款文件 借阅历史 修改文件 判断超期 计算罚款 打印罚单6图书管理系统的数据分析 通过对图书系统的分析,可以得出系统涉及四个实体:读者、图书、工作人员。通过对各实体数据关系的整理,我们可以画出如下ER 图。 这些实体涉及的数据项有: 读者:读者条码,姓名,身份证号,*多借书数,止借标志 图书:图书条码,书名,作者,出版社,出版日期,数量,停借标志 工作人员:工作人员ID,姓名,身份证号,密码,职务 借阅文件:读者条码,图书条码,借出日期,归还日期,操作人员ID 罚款文件:读者条码,罚款天数,罚款数,罚款日期,解止日期,操作人员ID1 1n nn m1.4E-R 图 如果将上述实体分别对应一个表,可以完成要实现的功能。
但注意到在前面的分析中,强调要考虑处理借书、还书的效率。 在上面的表结构中,不难发现随着借阅记录的逐渐增多,借阅文件的查阅效率会降低,势必影响还书处理的效率,因而建议将表结构改为如下形式: 读者文件:读者条码,姓名,身份证号,*多借书数,止借标志 图书文件:图书条码,书名,作者,出版社,出版日期,停借标志 工作人员:工作人员ID,姓名,身份证号,密码,职务 借阅文件:读者条码,图书条码,借出日期,操作人员ID 借阅历史文件:读者条码,图书条码,借出日期,归还日期,借书操作人员 ID,还书操作人员ID 罚款历史文件:读者条码,罚款天数,罚款数,罚款日期,解止日期(解上日期指解除该读者标志的日期)图书管理系统的具体实现 1. 建立数据库 前面已经根据系统的需求信息拟订了表结构,从现在开始,将介绍系统的具借阅 管理 读者 图书 还书 工作人员7 体实现。使用的后台数据库服务器为Access. 该图书管理系统的库结构为: 读者文件(reader): 读者条码(reader_id),姓名(name),身份证号(IDCARD),*多借书数(maxnum_can_borrow),止借标志(flag_borrow) 图书文件:(book) 图书条码(book_id),书名(book_nam),作者(author),出版社(press),出版日期(press_date),停借标志(flag_borrow) 职工文件:(clerk) 职员 ID(Clerk_ID),姓名(name),身份证号(ID_CARD),密码(Passward),职务(Office) 借阅文件:(borrow) 读者条码(reader_ID),图书条码(book_id),借出日期(borrow_date),操作人员ID(B_Clerk_ID),ID 借阅历史文件:(history) 读者条码(reader_id),图书条码(book_id),借出日期(borrow_date),归还日期(return_date), 借书操作人员ID(B_Clerk_ID),还书操作人员ID(R_Clerk_ID),ID 罚款文件:(fine) 读者条码(reader_id),罚款天数(days),罚款数(amount),罚款日期(finedate),操作人员(Clerk_ID),ID 罚款历史文件:(fine_history) 读者条码(reader_id),罚款天数(days),罚款数(amount),罚款日期(fine_date),解止日期(ok_date),ID 一般在设计数据库结构时,我们常常在每个表上,尤其是一些存放业务流程数据的表上(如借阅文件,罚款文件等)增加一个对用户来说没有意义的字段,这个字段一般是长整型,并设其为自动加1 的identity 类型。这个字段主要是为了在业务流程数据表中惟一标识一条记录。 下面是数据库的结构图:81.5 数据库结构图History reader_idText book_idText