课程设计图书管理系统

2024-08-10

课程设计图书管理系统(精选8篇)

1.课程设计图书管理系统 篇一

数据结构课程设计报告

课程名称:数据结构课程设计

课设题目: 西文图书管理系统 教师姓名:

本科生姓名:

王瑞林

本科生学号:

20121002932

号:

191124

期:2014年6月20日

题号:十

题目:西文图书管理

1.需求分析

图书管理系统对象有两个,包括读者和管理员。

读者的需求:借书,还书,续借,查询当前所借书籍还书截至日期,查询借阅历史,修改登陆密码。其中借书可以根据书号和书名两种方式查询借阅。

管理员的需求:采编入库,清除库存,注册读者,删除读者,根据书号查询书籍,修改管理员用户名和密码。

2.设计

2.1设计思想

(1)数据与操作特性:

有搜索,插入,删除操作。而数据有:读者信息,书籍信息,读者借阅书籍历史信息,书籍读者借阅历史信息,读者当前所借书籍信息。(2)数据结构设计:

数据的逻辑结构有线性结构和树形结构。

根据书号和书名建立两个B-树,便于读者查询借阅,其中关键字设置为书籍指针,便于找到书籍 后直接进行修改书籍信息。

读者和书籍的信息从文件中读取,由于会不断注册和删除读者以及新增删除书籍,因此书籍和读者的信息采用单链表存储。

读者的借阅历史和书籍的读者历史,都采用数组的形式存储,为了节省存储空间,每个借阅历史数组最大空间为15。超过15个借阅历史,则删除最早的借阅历史。2.2设计表示(1)数据类型定义

typedef struct //日期结构体类型 { int year;//记录年

int month;//记录月

int day;//记录日 }Date;//记录借阅者所借书籍的信息结构体 typedef struct {

char bookID[15];//书号 char name[15];//书名 char writer[15];//作者 Date bordate;//借阅时间 Date backdate;//还书时间

int flag;//是否续借,续借为1.否则为0

}BookHistory;//记录借阅者当前所借书籍的信息结构体 typedef struct {

char bookID[15];//书号 char name[15];//书名 char writer[15];//作者 Date bordate;//借阅时间 Date lastdate;//最后还书期限

int flag;//是否续借,续借为1.否则为0

}BookRec;//记录书籍被借阅的读者记录 typedef struct { char readerID[15];//记录读者的借阅证号 char readername[15];//读者的名字

Date bor;//记录读者的借书日期

Date back;//记录读者的还书日期 int flag;//借阅者是否有续借迹象(flag取值0或者1)}ReaderHistory;//记录读者信息的结构体类型(允许读者同时借阅五本书,每本书支持续借一次)typedef struct { char readerID[12];//记录读者的借书证号,一般是学号

//记录书的信息的结构体类型 typedef struct { char bookID[15];//书号 char title[15];//记录书名

char writer[15];//记录著者

int currentnum;//书现存量

int totalnum;//书总存量

int bortimes;//被借的历史总次数 //B_LQueue *B_LQH;

ReaderHistory RH[15];//借书者记录,规定链式队列的最大节点个数为15,来节省空间 char name[15];//读者的名字 char password[16];//读者登陆密码 BookRec rec[5];//读者现在所借书籍 int hn;//总借阅数量 //R_LQueue *R_LQH;

BookHistory bh[15];//记录读者的借阅记录,规定链式队列的最大节点个数为15,来节省空间 int bn;//读者现在所借书籍数量,最大数量为5本

}Reader;}Book;//根据 书名为关键字的B-树的结构体类型

typedef struct Namenode //根据书名为关键字建立的B树 {

typedef struct///根据书名建立的B树的搜索结果 {

//根据书号为关键字的B-树的结构体类型

typedef struct IDnode //根据书号为关键字建立的B树 {

typedef struct///根据书号建立的B树的搜索结果 {

//从文件中读取书籍数据后存储在单链表里 typedef struct BookNode {

//从文件中读取学生数据后存储在单链表里 typedef struct ReaderNode { Book SLbook;struct BookNode *next;BTIDnode *pt;////指向找到的节点指针 int i;//所找关键字在节点里的位置 int tag;//查找成功值为1,查找失败值为0 int n;//记录结点中的关键字(即书号)个数

Book *key[MAXM];//key[0...n-1],Maxsize个关键字(即书号)域 struct IDnode *chd[MAXM];//ptr[0...n],MAXM个指向子结点的指针域 BTNamenode *pt;////指向找到的节点指针 int i;//所找关键字在节点里的位置 int tag;//查找成功值为1,查找失败值为0 int n;//记录结点中的关键字(即书号)个数

Book *key[MAXM];//key[0...n-1],Maxsize个关键字(即书名)域

struct Namenode *chd[MAXM];//ptr[0...n],MAXM个指向子结点的指针域

struct Namenode *par;//指向父结点的指针域

}BTNamenode;}NameResult;struct IDnode *par;//指向父结点的指针域

}BTIDnode;}IDResult;}BookSLNode;Reader SLreader;struct ReaderNode *next;}ReaderSLNode;2.3详细设计

(1)登陆界面login():有管理员和读者登陆,都必须输入密码和用户名。

(2)管理员登陆adminer_login():管理员需输入登录名和密码,为了安全登录,将输入密码错误次数限制在5次。其中管理员密码和用户名以及初始用户名和密码从管理员文件里读出赋值给全局变量。当输入正确时,管理员功能界面函数admin_menu();当密码输入错误达6次以上,将调用锁定系统函数lock_admin_menu(),将系统锁定,下次进入系统时将不再显示登陆界面,而是初始管理员登陆。

(3)管理员采编入库insert_stock():输入新书的信息,调用SearchBTree_ID()按照书号在B-树搜索书籍,如果没有找到,返回书籍插入的位置,然后调用插入函数InsertBTree_Name(),InsertBTree_ID(),分别将书籍按书名和书号插入到相应的树中,同时将书籍信息插入到书籍链表里调用ListInsert_Book();同时将全局变量书籍总数booknum加1。

(4)管理员清除库存deletestock():根据书号书名搜索到书籍,在B-树中删除书籍,同时在书籍信息链表里删除。并将书籍总数booknum减1。

(5)管理员读者模块adminer_reader():有删除读者和注册读者两个功能,删除读者,按读者的ID查找到,在读者信息链表里删除读者,读者总数readernum减1;注册读者,初始密码为读者ID后6位,同时读者总数readernum加1。

(6)管理员修改用户名和密码adminer_change_password():连续两次输入新密码,两次结果一样,修改成功。

(7)学生登陆student_login():输入密码成功,调用 stu_menu()功能界面。(8)学生借书borrow():有两种搜索所借书籍的方式,按书名搜索,按书号搜索,使用相应的B-树搜索功能。借书成功后,将书籍信息写到读者当前所借书籍里面。并将书籍当前存量减1.(9)学生还书back():进入还书界面,将显示出读者当前所借书籍,让读者选择归还书籍。归还后将书籍从读者当前所借书籍里删除,此书当前存量加1,并将书籍信息写到读者借阅历史里面。

(10)学生续借renew():显示当前所借书籍信息,读者选择续借书目,当书籍信息的续借标志为0时可以续借,否则 不能续借,续借成功,将对应的读者当前所借书籍的续借标志置为1.(11)学生查询最后还书期限deadline():进入之后显示当前所借书籍信息,里面包含最后还书期限。

(12)学生查询借阅历史history():显示读者信息里面的借阅历史。

(13)学生修改密码change_reader_password():两次新密码输入一致,修改成功。(14)锁定系统admin_lock(),锁定系统后登陆lock_admin_menu():全局变量m_lock,当其值为1时解锁,值为0时锁定。

(15)建立读者书籍链表readreader(),readbook():首先从文件中读取读者总数,采用for循环,将每个读者信息写到链表里,在循环中,读取读者的ID、姓名、密码,然后读取读者当前所借书籍,采用for循环,将所借书籍信息写到数组里面,依次读取所借书籍信息。之后读取读者历史所借书籍数量,当数量大于15时,使用for循环,循环15次,依次读取书籍信息;如果 数量小于等于 15,采用for循环,循环当前借阅历史书籍数量次,将书籍信息写道数组中。然后将每个读者插入到链表里。书籍链表类似读者链表的建立。

(16)B-树的搜索插入删除功能(以按书名建立的B-树为例);搜索,SearchBTree_ID(),搜索成功返回搜索到的位置,搜索失败,返回插入的位置。Search_Name()函数将在当前节点搜索到关键字的位置。

插入,InsertBTree_Name(),如果为空,调用NewRoot_name()函数,建立根节点。如果不为空,将调用Insert_Name()将插入到节点里,判断是否大于最大关键字个数,如果大于,调用Split_Name()进行分裂。删除,并非自己完成,参考网上代码。

(16)建立B-树newBT():按书名建立,使用B树搜索功能,没有找到,将根据返回的位置进行插入。按书号的类似。

(17)打印文件printftxt():分别将书籍和读者 信息写到文件里,同时将管理员信息也写道文件中。在每个退出系统的接口中都进行调用此函数,保证文件不丢失,同时更新文件信息。

3.调试分析

在进行调试时,有很多内存读写错误,问题的根本原因是在进行结构体赋值前,没有将结构体里面包含的结构体或者数组链表进行初始化,导致问题十分严重普遍。

4.用户手册

首先登陆时有两种登陆:读者和管理员。然后管理员登陆功能有采编入库,清除库存,读者模块,书籍查询,修改密码和用户名。读者登陆有借书,还书,续借,修改密码,查询借阅历史,查询截至日期。

管理员登陆用户名:123456,密码:123456 管理员初始用户名:20121002932,初始密码:167350 读者的ID和密码请到reader.txt文件中查询,文件格式见下面说明。文件的格式: 1.reader.txt:

其中第一行的数字“4”为当前读者总数,第二行为: ID 名字 密码 第三行的数字”0“为当前所借书籍数量,之后为所借书籍信息: 书号 名称 作者 借阅时间年 月 日 最后还书日期年 月 日 是否续借 第三行数字 “0”为历史所借书籍数量,之后为所借书籍信息: 书号 名称 作者 借阅时间年 月 日 还书日期年 月 日 是否续借 2.book.txt:

第一行数字”4“为当前书籍总数 第二行为书籍信息:

书号 书名 作者 现存量 总存量

第三行数字”0“为读者借阅历史,以《飞鸟集》为例:

ID

姓名

借阅时间年 月 日

还书时间年 月 日 是否续借 20121002932 王瑞林

114

17

5 17 1 3.adminer.txt:

第一行:管理员名称;

第二行:管理员登陆密码; 第三行:管理员初始用户名; 第四行:管理员初始密码;

第五行:锁定系统标志,此时为未锁定状态。

5.测试数据及测试结果

初始登陆界面:

管理员登陆界面:

采编入库:

清除库存: 读者模块:

删除读者:

此时删除读者后,读者文件中应该不存在该读者。书籍查询:

修改用户名和密码:

修改用户名:

修改密码:

修改用户名和密码后,退出系统后,查看adminer.txt文件,第一行和第二行为用户名和密码,将改变为4567890。读者登陆:

读者借书:

当读者借书成功之后退出系统,在reader.txt文件中对应读者的ID信息的缩进的第二级为读者当前所借书籍数量和所借书籍信息,在此之后可以看到读者现在所借书籍信息 读者还书:

读者还书后,在reader.txt文件中,缩进的第三级为读者历史借阅书籍数量和书籍信息,此时应该看到刚才还书的信息。

读者续借:

当读者还书成功后,对应的当前所借书籍的flag值为1.查询借阅历史:

查询截至日期: 修改登录密码:

当修改成功之后,reader.txt文件中对应读者的信息密码修改为当前密码。

6.致谢

感谢郭老师的指导,让我们在实践中提高了合理设计数据结构的能力,巩固了课堂所学。同时感谢王鑫学姐,帮助我们调试程序,并传输经验。

7.参考文献

《数据结构—使用C语言》第四版 朱站立编著 《C程序设计》第四版 谭浩强编著

2.课程设计图书管理系统 篇二

关键词:新课改,高中学校,图书馆管理,创新策略

一、我国高中图书馆管理的现状

1、图书馆藏书较少,信息资源搭配不够合理

因为当前我国高中学校看图书馆的信息大部分都是以纸质为载体存在,这就在一定程度上使得高中学校图书馆的文献信息自身的专业性不够强,图书的内容相对简单,图书在更新的速度上也比较迟缓,同时因为高中学校数字图书馆的建设依旧不够完善,使得不同学校在图书馆信息的传播和共享上有所制约。

2、图书馆的管理工作者素质较低,配备不够合理

当前高中图书馆的管理工作量不是很大,相对比较悠闲,是很多人都想获得的岗位,这样就会使得很多人想法设法走后门,依靠自己的人脉以及关系进入高中图书馆,从而使得高中图书馆自身的工作者在素质上存在层次不齐的状况,当前我国很多高中图书馆管理员自身的专业素质较低,学历不够,同时业务素质也远远达不到图书馆岗位需求,另外在计算机、英语以及管理学等诸多方面依旧存在诸多不足,使得当前高中图书馆的管理工作很难真正做到位,也就无法真正满足高中学生以及教师的阅读需要。

3、高中图书馆的管理体制相对封闭,服务方式比较单一

当前我国很多高中学校的图书馆所采取的依旧是传统落后的管理和服务方式,主要是采用手工登记以及单一化借阅的方式,这样对高中学生以及教师掌握图书借阅状况是极为不利的。这样的一种管理上的封闭性还处于对内开放,对外封闭,同时,在图书借阅时间上也有诸多限制,这对于图书借阅者的知识资源掌握是很不利的,另外有的读者在借阅的时候往往在图书上乱画,使得图书寿命有所缩短,对于图书的保存极为不利。

二、新课改背景下高中图书馆服务方式以及管理机制的创新策略

高中图书馆是专业教育以及知识的海洋,专业的教育其基础就是专门化知识,这是随着学科的分化以及社会的而发展和知识的专门化出现的,对于高中图书馆的发展来说,专业型人才的培养是长久之策以及关键,所以高中学校应当进一步加强相关图书馆管理工作者的专业知识与技能的培养,使得其能够真正适应当前图书馆的管理办法和管理制度。另外图书馆在向读者提供文献资料的时候,还应当提升服务的人性化,这些都离不开图书馆管理机制与服务方式的创新。

1、进一步加强图书馆管理人才培养模式的创新

对于高中图书馆的管理与未来发展而言,专业型的管理人才是新课改背景下高中学校急需的,人才的缺少往往会对图书馆的发展与管理产生严重的制约。所以说,高中图书馆在未来的发展过程中要重视专业人才的培养,将专业型人才的培养当成是重要任务来对待,这就需要对人才培养的模式进行完善与创新,不然就很难使得图书馆的服务以及管理质量得到有效的提升。

高中图书馆管理要建立有效完善的激励机制和竞争机制,并在此基础上对图书馆管理工作者的在职教育以及终身教育做到进一步加强,积极制定具体以及全面的培养计划,使得图书馆管理工作者的服务技能以及业务素质得到不断地提升与完善。另外,还应当积极开展定期的实地考察以及岗位培训,使得图书馆管理工作者的知识能够有所更新和拓展,尤其是图书馆自动化、信息网络化有更好的适应能力,在进一步加强物力以及人力的投入之外,还应当积极引进高素质以及有管理技能的人才,只有这样才能够为高中图书馆的发展做好人才储备工作。

2、进一步加强文献信息资源的专业特色

高中图书馆在信息系统建设方面,应当依据学校发展的特色与实际进行,不能盲目照搬其他学校的模式,尤其是要严格参照高中学校的学科设置特色,在拓展学校图书馆藏书量的基础上,还应当进一步加强自身图书馆的特有数字资源建设。此外,需要注意的是不同的高中图书馆之间也应当加强交流与合作,使得高中图书馆之间的信息能够得到有效的流通,依据互利和互补的原则,建立起一个综合性的图书馆联盟,能够使得资源以及知识实现真正的共享。

3、积极探索开放式的服务以及管理机制

新世纪是一个信息技术快速发展的时代,图书馆的发展也应当和时代发展同步,应当劲一部改善传统的管理理念和形象,使其成为智能化、网络化以及现代化的传播机构和信息开发机构,尤其是在新课改的背景下,高中图书馆应当在自身的服务和管理工作上进行积极地创新,与时代同步,使得管理制度、管理方式以及管理思想能够获得整体性的创新。

一方面,要积极利用现代化的网络技术平台,进一步加强图书馆业务管理和服务的创新,以往那种传统的图书馆管理方式占用了太多的时间、人力以及物力等资源,对图书馆现代管理方式的应用产生了极大的阻碍,继而也就不利于创新性管理模式与服务方式的开展。所以说,高中图书馆在图书馆的采购方面要进入市场化的因素,加强图书馆的运作成效,要积极购买专业性比较强的图书管理的软件,真正使得图书馆实现资源的网络共享,使得高中学生以及教师在掌握资源的同时还够将图书馆的图书资源利用最大化。

另一方面,随着网络的不断普及,高中学校有义务和责任对学生以及教师进行引导,逐步引导这些读者进行有益身心健康的阅读,同时高中学校还应当针对教师以及学生的爱好与兴趣,对高中图书馆读者的网络阅读能力进行有针对性的培养。要积极向高中图书馆的读者推荐有益的以及热门的网站,使得读者能够在浏览的过程中获得提升与帮助。另外高中图书馆还应当积极开展好书推荐以及新书推荐等活动,通过这样的方式使得学生以及教师之间的交流能够更加便捷,能够更好的实现知识资源的共享,同时还能够为高中学生以及教师提供全方位的阅读服务。

4、进一步加强高中图书馆的人性化建设

高中图书馆要最大限度的为学生以及教师进行服务,为读者提供最好的知识资源,满足读者的信息需求。这样的一些服务都是将读者作为核心进行的,都是将读者的需求作为目的和目标。对于高中图书馆未来的发展与管理来说,积极推进人性化建设是一种趋势与发展方向,但是需要注意的是,推进高中图书馆管理与服务的人性化建设要依据当地学生与教师的实际需求进行,对学生与教师的需要能够及时了解,从图书借阅、图书管理工作者以及环境建设等方面积极推进高中图书馆管理与服务的人性化建设。只有这样才能够使得读者在图书馆能够获取更多的知识与资源,能够使得自身的心理需求得到满足,只有这样才能够使得图书馆未来的发展更为有序和健康,更好地为高中教育教学以及科学研究提供服务。

三、结束语

综上所述,随着信息技术的不断发展与普及,其对新课改背景下的高中图书馆管理带来了压力与挑战。为了更好地与时代发展同步,更好地为高中学校学生及老师提供优质的阅读体验与服务,高中图书馆需要抛弃以往那种落后的管理方式,对自身的管理以及服务进行不断的创新,不管是从自身的人才建设还是人性化服务方面都应当有所创新,依据高中学校自身的发展实际和发展特色,创新高中图书馆管理方法和服务机制,只有这样才能够更好的为高中师生服务,才能够更好地实现知识信息的共享,从而为高中学校提供坚实的知识储备。

参考文献

[1]郑俊民.高中图书馆管理与服务人性化建设的探讨[J].中国管理信息化.2014(18)

[2]李新霞.让学生自己择路上山——新课程下的语文自能阅读[J].湖南教育(语文教师).2007(08)

[3]许红玉.新课程改革下对高中图书馆管理的探讨[J].中国科教创新导刊.2012(24)

[4]王秀娟.高中图书馆的人性化管理策略研究[J].中华少年.2015(27)

[5]张快乐.新课改下高中语文阅读教学思路的转变[J].中学时代.2014(08)

[6]丁磊.浅谈高中图书馆管理方法创新[J].学周刊.2015(33)

[7]陈敏.简论在新课标指导下语文阅读教学课堂的变化[J].新课程(教育学术).2011(11)

3.浅析图书馆图书管理系统的设计 篇三

【关键词】图书馆;图书管理系统;设计

一、前言

图书馆在人们的生产生活中发挥了重要的作用,它可以很好的帮助人们去保存文献书籍等,同时也方便了每一个人去翻阅或借阅自己需要的书本知识,对于科研和学习等发挥了极大的作用。而图书馆管理也是一个大工程,为了能让读者更加方便快捷的查阅到自己想要的书本,同时也为了增强图书馆图书的流动性与稳定性,图书馆需要从现代需求和科技出发,去寻找一种更加完善的管理系统。

二、图书馆管理系统设计重点

(一)从人工化到自动化转变。以前的图书馆大都是靠工作人员亲自排序和归类,这是一个很大的工作量,因为现如今的书籍量很大,书籍分类也很丰富,要想通过人工将这些书籍归类是一件很繁琐的事情。同时,很大的读者在借阅书本时需要在庞大的书籍库中找到自己想要的书本,这也是一件很浪费时间和精力的事情。而现在计算机技术和智能化十分的发达,将计算机运用到图书馆图书管理系统中来是一个很好的创新。将每一本书的编号输入电脑,跟电脑中图书馆的具体构造和方位进行匹配,就能得出每本书具体所在的位置,这就大大节省了搜索图书的时间,同时也能更好的归类图书。对于借阅书籍的信息,也可以通过电脑记录,这样方便进行管理。而在这的基础上,图书馆的工作人员需要有一定的计算机知识,才能更好地运用这些程序。

(二)增强系统的灵活性。图书馆管理系统的最终目的是为了使用者能够更好的使用,所以在设计之前,需要了解使用者的大致习惯,使得系统的灵活性得到提高。而很多的使用者并不是专业的计算机者,因此对于图书馆系统需要通俗易懂,能让每一个读者都能使用。系统设计人员可以将复杂的东西简单化,加以一些图画和文字的引导,这样才能让读者尽快熟悉这一系统。

(三)增加系统的稳定性。有的時候计算机等的软件会出现错误,这样很可能导致系统无法正常运行,最严重的是还可能会丢失宝贵的数据,造成巨大的经济损失。所以系统在设计时一定要将注意力放在系统的稳定性上,时刻对系统的运行进行检测,及时发现问题解决问题,同时还要注意给数据定期留下备份,才能在将损失降到最小。对于一些计算机仪器,还要定期进行检修,准备备用仪器,以备不时之需。

(四)合理布局。图书馆在建造的时候,就要考虑到面积和大小。首先要对图书馆的最大容量进行估计,同时对于每一类书籍的存放地点都要进行实际的测量。在考虑书籍的同时,还要考虑到读者的情况,如最大的人流量等,好在图书馆内设计休息和以供读书的地方。为了给读者营造一个安静舒适的读书环境,还要考虑到绿化,桌椅以及周边环境等一系列问题。

三、图书管理系统基本模块

(一)记录模块。记录模块是整个图书馆系统的核心,它的主要功能就是对图书的名称,购买记录,借出记录等的一个大集合。记录模块将图书清晰的记录在案,以便人们可以随时随地查找到图书的具体信息。记录模块的工作流程和原理包括这几个方面,首先先将同类的数据输入计算机内,并将其归为一批,而此时的数据只能存储在临时的数据库内,等到技术人员将其进行处理与检查,在确认没有错误且可以进行输出后,再将数据存在整个的数据库中,在以后进行查阅或者打印时就可以通过特殊查询而将这些数据输出。而计算机又可为接下来一批数据进行存储。

(二)图书的编目。图书的种类是不一样的,为了使人们能够准确且方便在数量巨多的图书群中查询到图书,就需要对图书进行分类。而现在绝大多数图书馆对图书进行分类都是根据图书的所写内容的不同来分类。如先将图书分为几大类,再在这几大类里根据图书的用途等分类,就这样以此类推。而这些图书根据其相应的分类也有不同的编号,这就是图书的编目。在对图书的数据确认无误后,就要打印出每一本图书的编目卡片、书标及批统计报表。这些就相当于图书的身份证一样,可以辨别出每一本书。图书编目是一项复杂的工程,因为一个图书馆的书籍过于庞大,要想将每一本书都标记成功,必将耗费很大的人力与物力,还需要耐心的细心。

四、图书馆管理系统的详细设计

(一)用户登录系统。图书馆的两大人群一个是读者,一个是管理者。图书馆管理系统需要对不同的人群登录设计不同的路径,准确区分登录系统的用户是管理员还是读者。对于读者而言,系统要对读者的信息进行添加和删除,读者可以通过对个人信息的登录查询和借阅,同时系统对这些信息记录,反馈给工作人员。

(二)管理者模块和读者模块。图书馆的使用人群就包括管理者和读者,所以要将系统分为管理者模块和读者模块,以便系统能够顺畅高效的运行。管理者就是对图书馆进行管理的人群,他们享有图书馆的最大的权限,同时管理者也是分为几类的,每一类管理者管理不同的事物。

(三)借阅模式。图书馆最常出现的事情就是借书与还书,工作人员输入借阅者的借阅证号和所要借阅的图书的图书编号,然后点击借阅按钮就可进行图书借阅。借阅之后系统会对信息进行自动记录与分析,可以通过图书的编号就能知道借阅者的信息。

五、结语

随着科技的发展,知识成为了人们不可或缺的东西,知识为人们带来了经验,带来了灵感,同时也带来了创新。人们通过书本去认识世界,理解科学甚至是实现自我创作,这些对于人类世界的文明与发展起着至关重要的作用。而图书馆就是为存储知识和传递知识而建造的,图书馆的作用是每一个人都能意识到的,图书馆的高效快捷的管理让人民获益良多,也为图书馆作用的发挥起着巨大的作用。

参考文献

4.图书管理系统数据库设计 篇四

3.1 专门术语的定义

暂无

3.1.1 系统中常用的术语(或使用频率较高的术语)暂无

3.1.2 表格定义及规范 3.1.2.1数据约定

所有数据项都用英文、汉语拼音或缩写表示,数据库名称除外。

所有字段在设计时,除以下数据类型timestamp、image、datetime、smalldatetime、uniqueidentifier、binary、sql_variant、binary、varbinary外,必须有默认值。字符型的默认值为一个空字符值串;数值型的默认值为数值0;逻辑型的默认值为数值0;

其中:系统中所有逻辑型中数值0表示为“假”;数值1表示为“真”。datetime、smalldatetime类型的字段没有默认值,必须为NULL。当字段定义为字符串形时建议使用varchar而不用nvarchar。建议在大多数表中(如报销单,申请单),应都有以下字段: 字段名说明类型默认值 CreatorID创建者int CreatedTime创建时间DatetimeNULL 字符集采用 UTF-8,请注意字符的转换。

所有数据表第一个字段都是系统内部使用自动序列主键列,自增字段,不可空,名称为:id,确保不把此字段暴露给最终用户。

除特别说明外,所有字符串字段都采用varchar(50)类型,(无论汉字还是英文,都算一个字符)。

除特别说明外,所有小数的字段都采用 decimal(18,2)的形式表达。

除特别说明外,所有日期格式都采用 datetime 格式(根据需要提取时间格式); 除特别说明外,所有整形都采用 bigint 格式。除特别说明外,所有字段默认都设置为 null。3.1.2.2表和表字段命名规范:

命名规则约束的范围包括:数据库的命名、表的命名及字段的命名。数据库相关的命名规则采用与通常的编程的变量命名规则原则一致,具体要求如下: 1)字段名及表名为典型的名词结构; 2)中文名称要求语言精练、文法严谨;

3)望文知意、易懂易用,禁止采用如:A002这种命名;

4)主体采用拼音字母的首写字母拼写构成,基于惯常法可适度采用无词义歧义性的英文命名;

5)长度不少于3个字母,不大于12个字母;

6)在对于拼音首字母类似的字段和表,为区别,添加下划线和数字如男性人数:NXRS,女性人数:NXRS_2。

3.2 数据设计

绘制数据流程图的目的是为了方便开发人员与用户的交流,以及为系统的设计提供依据。数据流程图的绘制过程通常采用自顶向下,逐层分解,直到功能细化为止,形成若干层次的数据流程图。3.2.1 数据流程图设计

0层数据流图

1层数据流图

3.2.2实体关系结构设计

图书实体关系

读者实体关系

图书借阅关系实体

用户实体关系

图书类别实体关系

3.3安全保密设计

3.3.1 逻辑上的安全保密

1、系统对非法使用者的安全保密处理措施

2、系统对正常使用者的安全保密处理措施

3、系统对管理员的安全保密 3.3.2 物理上的安全保密

1、数据库系统异常时的还原处理措施

2、设备遭异常毁坏时的安全防护措施

3、数据参数做到及时更新,保证系统正常运行

3.4 表格与功能模块相关性分析

3.5 表格定义

a.图书信息表

b.读者信息表

c.借阅表

d.管理员_书籍

5.图书管理系统概要设计说明书 篇五

本阶段已在系统的需求分析的基础上,对图书借阅管理系统做概要设计。主要解决了实现该系统需求的程序模块设计问题。包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。在以下的概要设计报告中将对在本阶段中对系统所做的所有概要设计进行详细的说明。

在下一阶段的详细设计中,程序设计员可参考此概要设计报告,在概要设计对图书借阅管理系统所做的模块结构设计的基础上,对系统进行详细设计。在以后的软件测试以及软件维护阶段也可参考此说明书,以便于了解在概要设计过程中所完成的各模块设计结构,或在修改时找出在本阶段设计的不足或错误。

该文档预期读者为开发组设计人员。

1.2背景 本项目名称:图书借阅管理系统 项目开发人员:

续期读者:所有在校的学生(包括专科,本科,研究生),老师(包括在职老师和离退休老师),以及其他行政人员 1.3定义 1.3.1 专门术语 SQL SERVER: 系统服务器所使用的数据库管理系统(DBMS)。

SQL: 一种用于访问查询数据库的语言 事务流:数据进入模块后可能有多种路径进行处理。

主键:数据库表中的关键域。值互不相同。

外部主键:数据库表中与其他表主键关联的域。

ROLLBACK: 数据库的错误恢复机制。

1.3.2缩写 系统:若未特别指出,统指本图书借阅系统。

SQL: Structured Query Language(结构化查询语言)。

ATM: Asynchronous Transfer Mode(异步传输模式)。

1.4参考资料 图书借阅管理系统需求说明书 2总体设计 2.1需求规定 本项目是为了方便读者,图书管理员而设计的,读者可以直接输入相关书名、作者、出版社或者关键字到客户端系统,系统将在屏幕上显示所要查询图书信息(数量及所在位置),同时,读者输入图书证号和密码登录后,可查看自己的个人信息以及借阅图书情况(借阅图书信息,借阅日期等),读者可以在登录后输入自己想要借阅的图书信息来进行预定或解除预定;

图书管理员输入登录名和密码登录系统,当读者需要借书时,图书管理员输入读者图书证号查看读者是否可以借书,如果可以再输入图书ID,如果该图书没有被其他读者预定即可给予借阅,该读者借阅信息上将新增加一条借阅该书相关信息。如果读者要还书,图书管理员输入图书ID后系统自动检测该图书是否过期,如果过期则计算相应的罚款,否则读者可以续借,此时图书管理员只需修改借阅日期,否则更新读者借阅信息和图书库信息。

2.2运行环境 操作系统为windows系列 数据库:

软件开发平台:

2.3基本设计概念和处理流程 2.3.1体系结构设计 C/S体系结构的数据库应用,由两部分组成:客户应用程序和数据库服务器程序。二者可分别称为前台程序与后台程序。运行数据库服务器程序的机器,称为应用服务器,一旦服务器程序被启动,就随时等待响应客户程序发来的请求;

客户程序运行在用户自己的电脑上,对应于服务器电脑,可称为客户电脑。当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则做出应答,送回结果。从原理和经验上看,对本案例或类似的应用,C/S结构是目前技术条件下,能较好适应不确定和变化的需求环境的比较现实的方案。它可以以较低的投入,实现将易变与稳定的要素分离,快速地增添和替换“瘦小”而互相独立的前台应用,保持数据的连续性和继承性。

3.3 未来的需求     在这个案例中,用户确认了这样的应用发展策略:由点到面,由简到繁逐步引进电脑化作业方法,稳步改进日常的业务模式,并期望于时机成熟的时候开展基于信息技术的业务流程重规划。

具体应用的规划是:先建立简单有效的数据库应用,进一步开发更多的,更具专业性、更深入的应用项目,进而在更大的范围上应用,最终期望将客户也纳入到电脑系统的用户中来,实现客户与销售人员的远程在线查询、下单。在指导性的发展规划中,具体提出了企业内部的互连网(Intranet)和面向国际互连网(Internet)的应用远景。

在这样的应用策略下,对电脑应用的开发,将是一个逐步完善的过程,对这样的开发环境,上一节中已经做了分析。

以目前的技术看,先建立C/S结构的局域网络应用,再向Internet/Intranet模式下数据库应用过渡,是比较现实,相对易于把握、成本较低的。即使是一次到位的开发,对于类似的环境和小型的应用而言,要想实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库,并有效地保证和管理数据的安全性、访问权限、完整性,采用C/S架构和支持C/S架构的数据平台,是必然选择。

3.4 成本和资源的考虑     由于用户已经建立并运行着LAN、文件服务器,并运行着(并且以后也要继续运行)一些基于PC或PC LAN的应用,现行的硬件设备基本上不用大的扩充,就可以运行基于文件服务器的多用户数据库或基于应用服务器的C/S应用。

采用C/S体系结构,客户所支出的费用项目,将增加数据库平台和对其维护的成本,和可能需要增加适合数据库平台运行的应用服务器操作系统。

这样,从现有资源出发,不考虑开发的成本,最直接而经济的实现方案,是建立基于文件服务器的多用户系统,其次才是C/S体系结构。相比之下,主机模式无论从软硬件投资、开发成本上都是巨大的,没有什么理由替代前两种模式。

3.5 发布、运行与维护的考虑     由于数据库用户的地理位置和数量增加的可能,需要考虑安装上的因素。C/S结构的应用至少需要设置客户和服务器两个项目,而基于文件服务器的应用,通常只需要一次性的安装和设置。现在的客户服务器开发技术,可以将客户端作成简单复制一个瘦小的执行文件就可以运行,客户端通常没有维护的要求,对服务器的安装设置则是一次性的。

对于非C/S架构的数据库系统来说,维护方面的性能也是在应用程序的开发中决定的。这样的系统,通常都需要原设计开发者才能比较好地维护。

C/S架构的数据库系统,由于数据库是建立在通用的平台之上,并且支持SQL这样的通用技术,对数据库的维护工作更加专业,但更为开放,这意味着维护和进一步开发对原设计开发者的依赖性可以降低。用户可以更好地适应人员的流动或服务/供应商的变更。对体系规划的合理性,和一些特殊技术的采用,例如后台服务器上的存储过程、触发器等,会影响到这个特点。出于这个理由,在C/S应用设计时,应尽可能采用规范的模式,标准化的技术。同样的努力,在其他架构中就相对难以实现或较少实际意义。

3.6 性能、开发与品质保证的考虑     非C/S结构应用的性能,更大程度取决于应用程序的设计与实现。基于文件服务器运行的多用户系统,当数据量、用户数扩大时,性能就会严重下降,这包括巨大的网络传输量,以及难以有效地平衡工作站与服务器的负荷。因此,大的数据容量和多用户环境,通常是采纳C/S结构的一个重要理由。主机-终端模式虽然可能更具能量,但高成本和封闭性,限制了它的应用领域。

从运行上来看,同样设计良好的系统,C/S结构引入了更多的“衔接”环节,这意味着故障的机会和资源的耗费,然而,一旦系统处于开放的网络与应用环境中,这些开销就变成是必须的。

对于具备良好的规划能力的开发者而言,C/S结构给予规划者更大的空间和更强的支持,易于实现不同应用间的合理分离,分别调试和投入应用。前台应用和后台数据库的开发,被“强制”地分开;

数据库部分的逻辑与规则,一经调试完成,就可以在将来的应用中一直保证下去;

在一个动态改进或逐步扩充的开发环境,或复杂的应用环境中,这些都是提高系统可靠性有利因素。对基于文件服务器的系统而言,每次增加或修改功能,通常都意味着整个系统的升级,前后台的一体化,也就意味着每次变更都有更大的可能性造成对原有规则的破坏,并引起连锁效应。

以目前的技术环境而言,在C/S结构下,有更多成熟的,适合不同规模应用的开发平台与数据库平台可供选择,并普遍遵循或采用SQL等标准或技术,相对较具开放性,有更多的技术支持、开发与维护人员的来源,并且——基于技术与行业发展的趋势,将来也会有更多的发展和保障。小结     总结以上的种种分析,可以发现,对于这个特定的案例,仅就当前已确定的和希望马上实现的需求而言,可以用传统的,基于LAN的文件服务器的多用户系统实现,但考虑到用户真实需求的不确定性和不断扩充的可能等等因素,有更多的理由支持采用C/S体系结构。作为一种权宜的方案,也可以考虑先采用基于文件服务器的多用户系统,在规划和实现上,尽量为将适当时候来转换成为C/S结构打下基础。此外,如果采用C/S体系结构,还应当尽可能采用开放的,标准的技术。

在上面的分析中,支持采用C/S的理由主要有:

应用的不确定性,逐步开发和增加新应用的需要     适应将来开放的异种网络环境中应用的需要     用户数、数据量增长的可能性     适应电脑开发、维护、供应商与相关技术人员变更的需要     有利于动态规划与动态开发过程,对系统可靠性的保证     此外,从用户的现有资源的延续利用与新增投入,及开发的成本和难度看,采用C/S结构,也是比较适中、现实的选择。

读者应当留意,这里仅仅是针对一个特定环境下小型应用案例开发策略的分析,而不是对数据库体系结构的一个完整的分析比较,更不是对技术本身的评价。

图2.3.1C/S体系结构 2.3.2基本处理流程 2.3.2.1借书程序流程图(1)借书程序流程图:向系统输入借阅证,系统检查该借阅证是否可以借书,如果该借阅证达到最大借书书目,或者已经欠费,则系统不允许借书给出提示;

否则允许借书,继续输入要借阅的图书ID,系统检验该书是否被预定。被预定则给出不能借该书的提示,否则系统自动更新图书库、借阅记录,完成借书。

2.3.2.1还书续借程序流程图 (2)还书、续借程序流程图:首先向系统输入图书ID,系统查询出该图书的借阅信息判断该图书是否逾期,如果没有逾期,则可以选择是否要进行续借,如果在续借允许的时间内,则可以续借,否则提示不在续借时间内,不能续借;

如果已经逾期,则计算显示出罚款并执行还书操作。

图(1)借书程序流程图 图(2)还书、续借程序流程图 2.3.3整体结构 本系统共分为两大模块:系统登录模块和系统设置模块;

系统设置主要是系统对借阅信息时间的限定,读者可借阅的图书数,有效预定的时间限定;

登录共分为三个用户的登录:读者,图书管理员和系统管理员;

用户可以在不登录的情况下查询图书,登录成功后,读者可以完成预定、解除预定和查询;

图书管理员可以实现查询、借阅信息管理和图书管理;

系统管理员可以实现对系统维护和用户维护两大模块。

具体的,读者可以实现预定,解除预定,查看借阅信息、查看预订信息;

图书管理员可以查询图书,对图书进行添加、修该和删除,实现借书、还书、续借处理;

系统管理员可以对后台数据维护,日志维护,同时可以实现对用户信息的添加、修改和删除。

图2.3.3 整体模块 2.4功能需求与程序的关系 登录界面 图书管理 用户管理 查询 借阅管理 预定图书 √ √ 解除预定 √ √ 查看预定信息 √ √ 查找图书 √ 查看借阅信息 √ √ 借书管理 √ √ √ 还书管理 √ √ √ 增加图书 √ √ 删除图书 √ √ 修改图书信息 √ √ 日志维护 √ √ √ √ √ 数据维护 √ √ √ 添加用户 √ √ 删除用户 √ √ 用户信息修改 √ √ 2.5尚未问决的问题(1)只对系统的功能进行了描述,没有阐述各个模块之间是如何协调合作;

(2)没有描述模块的实现方法,以及在这个过程具体的流程。

3接口设计 3.1外部接口 3.1.1用户界面 在用户界面部分,根据需求分析的结果,用户需要一个用户友善界面。在界面设计上,应做到简单明了,易于操作,并且要注意到界面的布局,应突出的显示重要以及出错信息。外观上也要做到合理化,考虑到用户多对WINDOW 风格较熟悉,应尽量向这一方向靠拢。在设计语言上,已决定使用Visual Studio2008 进行编程,在界面上可使用Visual Studio2008所提供的可视化组件,向WINDOWS 风格靠近。

其中服务器程序界面要做到操作简单,易于管理。在设计上采用下拉式菜单方式,在出错显示上可调用Visual Studio2008库中的错误提示函数。总的来说,系统的用户界面应作到可靠性、简单性、易学习和实用 3.2 软件接口 服务器程序可使用Visual Studio2008提供的对 SQL SERVER 的接口,进行对数据库的所有访问。服务器程序上可使用SQL SERVER 的对数据库的备份命令,以做到对数据的保存。

在网络软件接口方面,使用一种无差错的传输协议,采用滑动窗口方式对数据进行网络传输及接收。

3.3 硬件接口 在输入方面,对于键盘、鼠标的输入,可用Visual Studio2008的标准输入/输出,对输入进行处理。

在输出方面,打印机的连接及使用,也可用Visual Studio2008的标准输入/输出对其进行处理。在网络传输部分,在网络硬件部分,为了实现高速传输,将使用高速ATM。

3.4内部接口 内部接口方面,各模块之间采用函数调用、参数传递、返回值的方式进行信息传递。具体参数的结构将在下面数据结构设计的内容中说明。接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形式在各模块间传输。

4运行设计 4.1运行模块组合 客户机程序在有输入时启动接收数据模块,通过各模块之间的调用,读入并对输入进行格式化。在接收数据模块得到充分的数据时,将调用网络传输模块,将数据通过网络送到服务器,并等待接收服务器返回的信息。接收到返回信息后随即调用数据输出模块,对信息进行处理,产生相应的输出。

服务器程序的接收网络数据模块必须始终处于活动状态。接收到数据后,调用数据处理/查询模块对数据库进行访问,完成后调用网络发送模块,将信息返回客户机。

4.2 运行控制 运行控制将严格按照各模块间函数调用关系来实现。在各事务中心模块中,需对运行控制进行正确的判断,选择正确的运行控制路径。

在网络传输方面,客户机在发送数据后,将等待服务器的确认收到信号,收到后,再次等待服务器发送回答数据,然后对数据进行确认。服务器在接到数据后发送确认信号,在对数据处理、访问数据库后,将返回信息送回客户机,并等待确认。

4.3运行时间 在软体的需求分析中,对运行时间的要求为必须对做出的操作有较快的反应。网络硬件对运行时间有最大的影响,当网络负载量大时,对操作反应将受到很大的影响。所以将采用高速ATM 网络,实现客户机与服务器之间的连接,以减少网络传输上的开销。其次是服务器的性能,这将影响对数据库访问时间即操作时间的长短,影响加大客户机操作的等待时间,所以必须使用高性能的服务器,建议使用 Pentium III 处理器。硬件对本系统的速度影响将会大于软件的影响。

5系统数据结构设计 5.1逻辑结构设计要点 图书类表(图书编号,图书名,图书作者,图书出版社,图书单价,图书摘要);

图书信息表(图书ID,图书编号,是否借出标记)借阅记录表(图书ID,图书名,借阅证号,借阅日期)预订图书记录表(图书ID,图书名,借阅证号,预定期限开始日期)管理员信息表(编号,姓名,联系电话,登录名,地址,密码,权限)读者信息表(借阅证号,读者姓名,学院,专业,联系电话,密码,读者类型)5.2物理结构设计要点 5.2.1图书类表 列名 数据类型 可否为空 说明 BookClassID Guid 否 图书编号 BookName Nchar(20)否 图书名 BookAuthor NChar(20)是 图书作者 BookPress NChar(50)是 图书出版者 BookPrice Double 是 图书单价 BookSummary text 是 图书摘要 5.2.2图书信息表 列名 数据类型 可否为空 说明 BookID Guid 否 图书ID BookClassID Guid 否 图书编号 SendFlag int 否 是否借出标记 5.2.3借阅记录表 列名 数据类型 可否为空 说明 BookID Guid 否 图书ID BookName NChar(20)否 图书名 CardNum Nchar(20)否 借阅证号 BorrowDate DateTime 否 借阅日期 5.2.4预订图书记录表 列名 数据类型 可否为空 说明 BookID Guid 否 图书ID BookName NChar(20)否 图书名 CardNum Nchar(20)否 借阅证号 BookDate DateTime 否 预定期限开始日期 5.2.5管理员信息表 列名 数据类型 可否为空 说明 AdministerID guid 否 管理员编号 AdmName Nchar(20)否 管理员姓名 TelNumber Nchar(11)是 联系电话 LoginName Nchar(20)否 登录名 Address Nchar(50)是 地址 LodinKey Nchar(6)否 密码 Power Nchar(10)否 权限 5.2.6读者信息表 列名 数据类型 可否为空 说明 CardNum Nchar(20)否 借阅证号 ReaderName Nchar(10)否 读者姓名 College Nchar(20)是 学院 Profession Nchar(20)是 专业 TelNumber Nchar(11)是 联系电话 LodinKey Nchar(6)否 登录密码 ReaderType Nchar(10)否 读者类型 5.3数据库概念结构设计 5.3.1部分E-R图 5.3.1.1图书 图书为实体,有8个属性,分别为图书ID(主键)、图书编号、图书作者、图书单价、图书出版社、图书名、是否借出标记 5.3.1.2管理员 管理员作为一个实体,有7个属性,分别为:编号(主键)、姓名、联系电话、登录名、权限、密码、地址等。

5.3.1.3读者 读者作为一个实体,有7个属性,分别为:借阅证号(主键)、读者姓名、学院、专业、联系电话、读者类型、密码等。

5.3.2整体E-R图 6系统出错处理设计 6.1出错信息(1)验证用户的身份若读者的密码、借阅证号有误则发出“验证错误”信息;

(2)如果借书证未登记入库,则发出“借书错误”;

如果图书未登记入库则发出“借书错误”;

如果读者借书已满限制数N,则发出“借书错误”;

如果读者所借书中有超期,则发出“借书错误”;

(3)如果所还图书超期则,统计超期天数,生成含警告的返回信息;

(4)输入预定图书信息,如果预定图书信息不存在,则提示不存在;

若用户取消了解除预定操作否则系统取消解除预定;

(5)如果不在有效续借的天数则返回不能续借提示信息;

(6)输入要录入的图书信息,若信息输入有误,则返回添加失败,若添加信息时系统发生异常,则返回添加失败;

(7)输入编号、要修改的图书信息,若信息输入有误,则返回修改失败,若修改信息时系统发生异常,则返回修改失败;

(8)输入要删除的图书信息,若删除时系统发生异常,则返回删除失败;

6.2补救措施 (1)后备技术说明准备采用的后备技术,当原始系统数据万一丢失时启用的副本的建立和启动的技术,例如周期性地把磁盘信息记录到磁带上去就是对于磁盘媒体的一种后备技术;

(2)降效技术说明准备采用的后备技术,使用另一个效率稍低的系统或方法来求得所需结果的某些部分,例如一个自动系统的降效技术可以是手工操作和数据的人工记录;

(3)恢复及再启动技术说明将使用的恢复再启动技术,使软件从故障点恢复执行或使软件从头开始重新运行的方法。

6.3系统维护设计 及时清理数据库,提高数据库运行能力;

同时对更新的数据及时保存,以防止数据丢失。

6.4 安全保密设计(1)对用户输入的所有内容都应进行安全性和合法性检查,避免恶意输入;

(2)为了确保数据库的安全,数据库采用冗余备份、定时备份和即时备份相结合,详细记录日志文件,以备灾难恢复。

(3)系统对用户注册密码要进行安全性提示,确保密码不易丢失或失窃,同时为用户提供密码找回功能,确保安全。

6.图书管理系统的设计说明书 篇六

1.1编写目的

本文档的编写是为了完善图书管理系统软件的开发途径和应用方法。以求在最短的时间高效的开发图书管理系统。

1.2背景

本项目的名称:图书管理系统开发软件。

本项目的任务提出者及开发者是图书管理系统软件开发小组,用户是高校图书馆借书。

本产品是针对电脑管理图书的需求设计的,可以完成读者登记、购入新书、读者借还书、等主要功能。

1.3定义

开发(develop):不是单纯指开发活动,还包括维护活动。 项目 (project):该词指的是向顾客或最终用户交付一个或多个产品的收管理的相关资源的集合。这个资源集合有着明确的始点和终点,并且一般是按照某项计划运行。这种计划通常会形成文件,并且说明要交付或实现的产品、所用的资源和经费、要做的工作和工作进度,一个项目可能有若干项目组成。 项目开发计划(project development plan):是一种把项目一定过程与项目如何推进连接起来的方案。

产品生命周期(product life cycle):是产品从构思到不可以再使用的持续时间。

1.4参考文献

《CMMI软件过程改进与评估》 罗运模、谢志敏等编著,电子工业出版社,6月版,北京 《软件工程导论》(第四版) 张海藩编著,清华大学出版社,10月版,北京

二、总体设计 2.1需求规定

主要输入输出项目: 图书信息:(书名,ISBN,定价,出版社,数量,是否可借) 用户信息:(ID,姓名,年龄,性别,开户时间,余额) 借阅信息:(ID,ISBN,数量,借出日期,押金)

2.2运行环境

硬件环境:

最低配置:CPU:Pentium3 800以上或其它兼容规格,内存:256M以上,硬盘:20GB以上空间

推荐配置:CPU:Pentium4 1.6G,内存:512M以上,硬盘:100GB以上空间。

软件环境:Windows server SQL Server 2005 .NET Framework 2.0

2.3基本设计概念和处理过程

读者借还图书处理流程

更新图书资料处理流程

2.4 SC结构

2.5图书管理系统总体设计示意图

2.6系统出错处理设计

2.6.1出错信息

输入用户名不存在:说明数据库没无此用户名,需开户。

密码错误:说明用户名和密码不匹配。弹出警告信息后需重新输入密码,一天内输入十次错误密码,将对此帐户进行冻结,需持身份证解冻。

由于管理员没有及时保存数据造成的数据丢失:可通过数据还原,还原成最近的数据备份。

2.6.2补救措施

故障出现后可能采取的变通措施,包括:

7.图书馆管理信息系统设计 篇七

课题背景

20世纪90年代以来, 由于网络信息技术的飞速发展, 因特网已经成为全世界学习交流的重要途径。图书馆由于书籍信息量庞大, 以往靠文字进行记载的模式已经无法满足当代大型图书馆的发展趋势, 因此, 数字图书馆由此产生, 图书馆正是进入了信息化时代。

在我国, 图书馆管理信息系统经历了三个阶段。

第一个阶段的图书馆管理信息系统是单纯的基于数字资源的信息系统。它主要的功能是将文献、书籍资源数字化, 建立数字资源数据库, 并将这些数字资源嵌入到图书馆管理信息系统。建立数字资源库是第一阶段图书馆管理信息系统的主要工作内容。

第二阶段是以集成服务为目的的图书馆管理信息系统。与第一阶段的信息系统不同的是, 此阶段的主要工作目的不再是以建设数字资源数据库为主要工作重心, 而是通过功能的集成构造统一的信息服务系统。该系统能有效促进资源服务的无缝交换和共享。

第三阶段是以用户体验为中心的图书馆管理信息系统。对于特定的用户, 该系统有着不同的功能, 根据用户定制资源搜索功能, 更为人性化。第三阶段的以用户体验为中心的图书馆管理信息系统是当代各图书馆个性化信息系统所追求的目标。

因此, 建立一个个性化的图书馆管理信息系统, 使读者可以在家中获得文学或书目信息, 同时也提高了图书馆的网站的读者吸引力, 并树立了良好的学习和研究氛围, 对大学图书馆的良性运作的发展方向具有重大的现实意义。

需求分析

功能性需求

本课题开发的图书馆计算机管理信息系统, 是为实现图书馆高级信息化、个性化服务而建立的。当终端用户登录到本系统后, 用户可以根据系统推荐的资源信息进行查看与浏览, 也可以根据自己的兴趣、爱好主动定制资源信息。每一个登录用户登录本系统后, 系统都会自动记录用户的书籍兴趣爱好, 并记录用户的爱好于数据库中, 当用户下次登录时, 系统就会根据用户的爱好主动推荐与用户爱好相关的资源信息。而且, 本系统也支持匿名访问, 但是匿名访问用户不能使用系统的定制资源信息的功能。当系统更新资源信息时, 系统会将更新的信息自动推送给用户, 无需用户刷新页面。本系统由7大功能组成, 包括读者借阅、浏览数据信息;个性化推荐分析模块;推送平台;数据库管理;资源定制;资源检索、浏览;用户登录。

本系统的功能描述如下:

(1) 用户登录模块用来实现用户登录信息的身份验证, 系统分为普通用户登录和管理员用户登录两种方式, 普通用户登录的权限要低于管理员用户登录的权限。系统还支持匿名用户, 不过匿名登录的用户无法享用本系统的所有功能, 只能使用其基本功能。本系统的注册用户只对学校内部的学生、教师进行注册, 实行实名制注册;

(2) 推荐分析模块是对用户的以往行为进行记录和分析, 该模块的主要作用是收集读者预订和书目信息, 形成一个评估的信息表, 为用户推荐资源信息做好基础;

(3) 资源定制是指用户对系统的各种资源可以进行自我定制, 例如用户喜欢科幻类书籍, 怎可以讲科幻类书籍定制为自己喜欢的资源分类, 当用户下次登录本系统时, 系统会主动将科幻类书籍作为首选资源推荐给用户;

(4) 资源检索模块是本系统的基础功能, 系统根据用户的搜索关键词对整个资源信息进行搜索, 将搜索结果反馈给用户;

(5) 数据库管理模块主要记录了本系统的各种数据, 包括图书信息、人员信息、推荐信息、定制信息、浏览信息、管理员信息等;

(6) 推送平台是本系统的亮点功能, 系统推送功能分为三类:新上架资源、热门资源、用户可能会喜欢的资源。本功能将有AJAX技术进行实现。

软件系统的性能决定着系统的工作效率, 对于控制系统来说, 性能要求高, 本应急救援系统的性能需求主要是数据真实性、易维护、安全性、易理解等。

非功能性需求

1.安全性

安全性是一个软件所必须具备的功能, 如若管理员账号丢失, 被非法用户删除数据库、肆意修改救援信息等造成一系列不可恢复的问题, 所产生的损失是非常严重的。因此在本系统中, 必须保证账户的安全性。

2.易维护

在软件开发生命周期中, 软件维护在生命周期最后一步, 不过软件维护在整个生命周期中占的比例是最大的, 由于在系统分析和系统设计中考虑不周, 或者需求的改变, 或者软件功能的扩充导致的一系列问题, 需要对软件进行维护。软件易维护, 即对软件易阅读, 易发现和纠正错误, 易修改和扩充等。软件的易维护性越好, 软件的维护工作就可以得到简化。使用结构化设计方法可以使得程序清晰, 易于修改。

3.易理解性

为了程序和文档能更好的被阅读人员所理解, 在程序设计时, 需要采用模块化, 结构化设计的方法, 对于难懂的程序语句或者文档需要加以注释。除此之外, 程序中变量、函数的命令需要有一定的含义, 使得阅读人员易懂。相关文档必须清晰准确。

4.易测试性

在程序编写结束后, 需要对程序进行测试, 测试程序是否通预期设计的结果相符。不仅如此, 如果程序存在错误, 设计的程序需要快速地、准确地发现软件中的错误, 因此在软件设计过程中, 需要书写详细正确的文档, 采用良好的程序结构, 使用测试工具和调试工具, 保存以前的测试过程和测试用例等等。

系统设计

关键技术

AJAX编程语言并不是新的, 而是一种创建Web应用程序的技术, 它能使该程序更快、更好、交互性更强。通过AJAX, Java Script可使用XML Http Request对象来跟服务器直接进行通信。运用该对象还能促使Java Script在页面不重载的情况下跟Web服务器实现数据交换的目的。AJAX在浏览器与Web服务器之间通常是使用异步数据传输 (HTTP请求) , 如此就能使网页不需在服务器上请求整个网页, 而是少量信息。AJAX可使因特网应用程序更小、更快、更友好。

MVC全名是Model View Controller, 是模型 (model) -视图 (view) -控制器 (controller) 的缩写, 是一种设计软件的典范, 适用于组织代码只用一种数据及业务逻辑显示分离的方法, 该方法拥有一个假设性的前提, 即如果在同一个部件里聚集了所有的业务逻辑, 且用户围绕界面和数据的交互可被个性化定制或改进, 而不需再一次编写业务逻辑。MVC得到独特的发展, 并被用于在一个逻辑图形化用户界面的结构中输入、处理及输出映射系统。

Mono Rail是一个.NET的MVC web开发框架, 原名Castle On Rails, 是Castle Project的一个子项目。Mono Rail实现的模板引擎有3个。

(1) Asp Net View Engine

用传统的.aspx文件做模板, aspx语法及相应的服务器控件就能被正常使用, 然而由于Web form跟Mono Rail的生命周期是完全不同的, 所以通常会使人感觉别扭, 限制了其部分特性的发挥。

(2) NVelocity View Engine

如果我们用NVelocity做模板引擎, 就需要学习好VTL语法。NVelocity的使用方法非常简单, 尤其是java程序员, 他们大多数都十分了解velocity。程序员在使用简单语法时不得不分离开界面和逻辑, 以便更好地跟美工协调配合。

(3) Brail View Engine

这是一种以Boo为基础的模板引擎。Boo是一种跟python的.NET语言类似的语法, 从Mono Rail的参考来看, Brail是性能最好、功能最强的引擎, 是人们的首选。然而Boo语言对人们来说是陌生的, 这是应用Brail引擎时面临的最大障碍。

设计原则

图书馆管理信息系统应当遵守以下设计原则:

1.系统性原则, 图书馆管理信息系统时一个整体系统, 在进行系统需求分析、模块设计时, 应当以整体的形式进行分析与设计, 并科学划定每一个子模块的界限, 确保任何缺陷都不会在系统集成时产生;

2.实用性原则:图书馆管理信息系统是一个以传播知识、高效管理图书馆的系统, 该系统的出发点应是其特定的功能, 并重视实现这些功能, 确保系统充分发挥出实用性;在分析设计及开发过程中要始终围绕管理这个主题, 并切实满足终端用户的需求——操作简单;

3.可扩展性原则:图书馆管理信息系统拥有较强的开放性特征。随着时间的推移, 人们对图书管理信息系统的性能、功能等要求变得越来越高。所以本系统需要为用户提供各种大量的、基础优良的应用程序接口, 为今后扩展系统功能时不影响本系统的使用提供保障。

拓扑结构

系统的网络拓扑结构含有三个数据库服务器:其中一个为图书馆主数据库服务器, 负责管理整个图书馆的所有资源数据;另两个是行为收集数据库和备份数据库。数据备份管理服务器的作用是:数据的备份管理、各资源信息的情况、行为收集结果数据、账号信息数据。该备份数据库服务器定时向总部主数据库服务器提交所发生的数据改变。

系统架构

本系统采用MVC三层开发架构。在开发途中, XML为扩展标志语言提供了一个直接出列Web数据的通用方法, XML着重描述的是Web页面的内容。

功能设计

本系统设计的主要功能如下:

普通登录和匿名登录本系统

用户可以检索系统资源

用户可以获取最新的、热门的、可能会喜欢的资源推荐

用户可以进行系统资源的定制

用户可以进行个人信息设置

管理员用户可以对资源信息进行添加、修改和删除

管理员用户可以对用户账号进行管理

管理员用户可以对数据库进行管理

管理员与普通用户登录需要进行身份验证, 并且两大用户的功能权限不同。

由于篇幅有限, 本文只对用户登录模块设计进行概述。

用户输入用户名和密码, 系统对用户数据进行处理:输入完整性检查, 用户名过滤, 数据库查询, 信息核对。

用户登录。接收用户输入, 为用户提供可视化登录界面;

密码修改。接收用户输入, 为用户提供可视化的密码修改界面;

导航单元。提供指向资源检索浏览导航, 为用户提供可视化界面;

输入信息过滤器。通用组件, 对用户输入的信息进行过滤;

用户信息对比验证。登录身份验证的核心, 通过与数据库全权限表进行数据对比, 根据不同的权限导航到不同的界面。

权限设置

本系统分为三大用户:普通用户、匿名用户、管理员用户。因此本系统权限划分为三种权限。数据库表中这三种权限依次用01, 10, 11表示。其中01表示普通用户权限, 10表示匿名用户权限, 11表示管理员权限。管理员拥有普通用户和匿名用户的所有权限。普通用户拥有用户登录、资源检索浏览、资源定制和资源推送功能权限, 匿名用户拥有用户登录、资源检索浏览功能权限, 管理员用户拥有全部功能, 还包括系统数据库管理和行为收集的功能权限。

因此在用户登录至系统内部时, 根据用户的权限生成不同的菜单即可。

数据库设计

建设数据库的总体目标是:把数据作为核心依据, 并以成熟的数据库管理、信息机网络交互技术为基础, 以遵循统一的标准为原则, 建立起一个集数据管理服务功能、数据组织服务功能等为一体的数据管理体系。本系统对数据的实时存储能力要求高, 而且数据量巨大, 因此本系统采用微软的SQL Server2008数据库作为数据库管理系统。SQL Server2008具有多种优势, 安全新高、存储效率高、运行速度高效, 在众多数据库管理系统中具有绝对优势, 而且SQL Server2008可以与低版本的SQL Server进行无缝连接。本数据库包含三类数据:基础信息数据、行为收集数据和备份数据。这三类数据共同构成了图书馆管理信息系统的数据库。

基础信息数据主要包含基本的与行为收集数据无关的各种数据, 例如账号信息、资源基础信息、推荐信息等。

行为收集数据主要包含与用户活动有关的各种数据, 例如用户喜欢的资源类别信息等, 该数据库在系统运行时需要做大量的收集工作, 将每个登录用户的喜好信息全部录入数据库中。

备份数据库信息是指将基础数据库和行为收集数据库信息全部备份, 保证系统数据的不丢失, 减少系统运营风险。

系统测试与评价

本课题的开发涉及方方面面的内容、环节, 且这些环节极易出现各种各样的问题, 如系统分析环节、系统开发环节等, 这一系列的问题并不容易被察觉, 于是造成系统存在各种各样的缺陷。然而图书馆管理信息系统是一个以传播知识文化为目的的系统, 务必确保其不存在功能缺陷, 具备一定程度的真实性、可靠性, 否则图书管理信息系统就丧失了存在的价值。所以, 在开发图书管理信息系统时, 系统测试是一个必不可少的步骤。系统测试的目的就是发现错误、纠正错误、确保系统的功能实现, 提高系统的可靠性与实用性。在软件工程内, 系统测试分为黑盒测试和白盒测试两种测试方法。所谓黑盒测试, 通俗的讲就是功能性测试, 具体方法是给系统一个输入, 测试其输出情况。比如在应急医疗救援系统中, 测试人员输入一个无效数据后, 系统需要给出一个提示“您输入的数据无效, 请重新输入”类似的结果。白盒测试应用于系统的内部测试, 具体方法是, 按照系统的业务工作流程和数据流程, 检验其工作的正确性与合理性。通过上述软件测试的方法, 本系统的四大功能模块基本能够满足系统需求和功能, 而且界面有好, 使用方便, 数据项显示正确输入到系统中图形模式的数据项能够正常工作。

总结

8.图书管理系统的设计与实现 篇八

关键词:图书管理;查询;设计;数据库

中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)15-30638-03

The Design and Implementation of Books Management System

ZHAO Wei-zhou, DONG Jiang-man

(Section of Math and Military Operational Research of the Second Artillery Engineering Institute, Xi'an, 710025, China)

Abstract:Books management is an important work in library or reading room. It is a vast and repetitive one. The work often includes much work such as writing information, managing readers, querying bibliography and lending books. In order to search and manage conveniently, by virtue of computers books management system can improve work effectively. Design and exploitation of books management system is given in this paper, including the design of database and function. The testing shows that this system can improve the effectivity of books management in the medium-small enterprise and administration.

Key words:books management; search; design; database

1 引言

图书是人类获取信息的重要途径,许多企事业单位都有图书馆或阅览室,以满足干部职工的阅读需要。图书管理的目的是适应读者需求;查询浏览的目的是为借阅作准备;借阅管理是图书管理的核心工作[1]。以往的手工管理费时费力,随着计算机的普及,图书管理系统逐渐信息化,大大提高了工作效率。而且不少单位都有自己的局域网,基于网络如何有效实现管理员操作和用户访问的图书管理系统,是应用程序开发的主要方面。本系统采用C#作为前端开发工具,Xml为后台数据库,利用Windows Xp作为平台进行了图书管理系统的设计和开发,通过程序调试并投入了单位使用。

2 系统分析

2.1 功能模块

图书管理系统采用模块管理。主要模块包括普通用户访问模块和高级用户访问模块。所谓普通用户是指在局域网上使用系统的注册用户和读者用户,这些用户只能进行系统的部分操作例如书籍查询和登录留言等,获取系统或服务器提供的部分信息,主要包括图书馆的公告例如近期购进的新书信息、图书馆某些活动信息等,而高级用户指系统管理员(或图书管理员),其访问区域较大,可获取信息较多。

图书管理主要包括人的管理和书的管理,人的管理主要包括用户管理和读者管理;书的管理主要涉及新书入档、书籍借阅、书籍查询、催还书籍等(图1)。

图1 系统功能模块示意图

系统管理的内容简要概括如下:

注册用户管理:主要包括注册用户的添加、删除以及留言处理等;

读者信息管理:主要包括读者信息的添加、删除、修改和查询等;

图书信息管理:主要包括添加、删除、修改、查询和催还等;

图书借阅管理:主要包括图书借阅规则的说明、读者借阅图书的信息维护等。

基于局域网进行图书管理系统的开发,同时还应实现某些远程操作的可行性。

2.2 数据表

数据库是信息系统的核心和基础。它把大量数据按照模型组织,提供存储、维护、和检索功能,可以方便、及时、准确地获取信息[3]。根据图书管理的常见操作,需要拟定的数据库表如下:

用户信息表:用户名(name) 、密码(password)、电子信箱(Email);

读者信息表:姓名(person name)、性别(sex)、身份证件(certification)、借阅证号(card number)、联系电话(telephone)、通讯地址(address);

图书信息表:书名(book name)、作者(author)、图书编号(book code)、出版社(publisher)、类别(期刊(Journal、书籍Book、杂志Magazine)、册数(book number)、内容简介(introduction);

催还信息表:借阅证号(card number)、姓名(person name)、书名(book name)、联系电话(telephone)、欠费(owing money);

管理员信息表:用户名(name)、密码(password)。

3 系统功能具体描述

3.1 用户注册

这里与常见的网络注册方式基本相同,考虑到基于局域网访问图书管理系统与访问网站有所区别,因此要求注册过程简单、方便、快捷,只需用户名、密码和电子信箱即可。对于申请的用户名,可以实现在线检测功能,以避免同名出现,这样以姓名作为关键字,便于查询、修改或删除注册用户。电子信箱主要是在不便公开某些信息的情况下,用户和管理员可以直接进行交流。另外,已经办理借阅证件的读者无需注册。

3.2 用户登录

不论是普通用户还是高级用户,登录界面完全相同,但正确登录后的可访问区域不同。为避免出现多次重复输入,连续错误输入三次后将自动退出登录窗口。正确登录后即可进行相关访问。对于已经办理借阅证件的读者,登录时直接以姓名作为用户名,以借阅证号作为密码即可。

3.3 书籍查询

这一功能对所有用户均开放。新书入档时,图书管理员需要判断该书是否已经入档,因此需要进行相关的查询操作;对于借阅者,同样需要查询以了解图书馆有无该书或其库存情况。查询时需要考虑两个方面,其一为查询关键字,例如书名、作者、图书编号等,其二是查询匹配方式,例如精确匹配、模糊匹配,或其它匹配方式如从左匹配、从右匹配等。

3.4 新书入档

购进新书后,若该书曾经入档,只需改变该书的库存数量即可,否则需要录入书目的详细信息,包括书名、作者、出版社、图书编号、分类、内容简介等信息。对于图书编号,为简化人工操作,可按照中图分类号随机进行[2]。内容简介的输入大大增加了工作量,可采用先扫描再转化为文本的方式进行。整个新书入档过程较为繁杂,且由于信息输入量较大,容易出现错误,直接影响后续管理。为避免输入错误,附加了确认功能和信息重置功能。

3.5 书籍借阅(或归还)

书籍借阅(或归还)是在读者和图书管理员之间进行的操作。

书籍借阅时,需要改变该书的库存量,记录借阅时间为当前时间;如果是续借,需要清空当前记录并重新借阅。另外需要管理员对该书情况(是否缺页或破损)进行备注,并由借阅者进行确认。借阅书籍时为方便他人借阅,可以限定借阅数量,如每次不得超过3本,累计不能超过5本等。

书籍归还时,也需要改变该书的库存量,并且删除读者对该书的借阅信息;同时需要了解该书的状态,是否超期以及超期的费用计算等。对于续借的情况无需过多考虑,可认为是还书后重新借书的操作。另外当书籍丢失时需要交纳一定的罚金。

3.6 读者管理

读者信息管理主要包括读者信息的查询、添加、删除和修改等。读者信息添加主要是读者办理借阅证时的信息录入操作,读者可能因调离单位需要退还借阅证就需要读者信息的删除操作。读者信息的查询方式可为姓名、证件号码、借阅证号的精确匹配,考虑到姓名查询时可能出现同名情况,此时可以逐条显示搜索结果。另外,读者办理借阅证件,还需要附加打印功能。

3.7 书籍催还

考虑到某些读者可能因故超期借阅同时为方便其他读者,可以设计定期催还功能。管理员可以定期获取图书馆的超期书目信息和借阅读者信息,主要包括证件号码、联系方式、欠费金额等,并以列表的形式给出。另外在计算欠费时,应考虑罚金,主要是对所借书籍的污损情况的量化并参与计算。

3.8 密码修改

为保证安全访问,普通用户和高级用户可自行修改密码。

3.9 辅助功能

图书管理的辅助功能,主要包括数据导入和备份、用户留言、系统公告和帮助信息等。

4 设计与实现

这里的图书管理系统是基于Brower/Server结构的,其中用户注册、书籍查询、修改密码可在客户端完成,其它操作需要图书管理员完成。系统设计主要从以下几方面进行考虑:

(1)硬件要求:将系统安装在服务器上,用户要进行图书查询,只需接入局域网远程操作即可实现注册、登录和访问,对用户硬件无需过高要求;系统维护和性能扩展,都在服务器上完成;

(2)应用要求:无论管理或访问,都应使用方便,达到提高效率的目的;

(3)界面要求:系统界面应当尽可能美观、简洁、易于操作同时知识性强,可以滚动显示新书信息、关于图书的名人名言或催还书目信息等;

(4)代码要求:要求代码简单、可读性好,便于维护和扩展。

经过系统分析和建模后,生成源代码、可执行程序及相关软件文档(例如图书馆关于借阅书籍的某些规定等),测试结果将确认是否实用。下面是程序调试后的部分结果(图2-图5):

图2 注册窗口

图3 图书管理主窗口

图4 借阅管理窗口

图5 催还清单窗口

5 结束语

图书管理系统的设计与开发,需要考虑的问题通常视企事业单位的具体情况而定,在细节上需要具体情况具体分析。但是可以看到,本文设计并开发的图书管理系统,便于用户在局域网上登录查阅书籍,便于工作人员在服务器上进行图书管理。无论信息录入还是远程查询,都不再单纯借助手工操作完成,大大提高了图书管理的工作效率。

参考文献:

[1]求是科技. 数据库开发技术与工程实践[M]. 北京:人民邮电出版社,2004.

[2]倪宝童. 图书管理系统中图书编号的自动生成[J]. 企业技术开发, 2006,(2):27-30.

[3]胡中栋, 夏冬梅, 胡春安. 图书管理系统软件设计[J]. 信息技术, 2005,(11):144-146.

上一篇:把信送给加西亚下一篇:婚纱销售个人简历