1、图书管理系统详细设计方案目录图书管理系统详细设计方案1引言1。1系统开发背景31。2系统设计目标41。系统设计原则42。系统总体分析521功能说明5.2系统总体体结构62。3系统的流程图、PAD图及-S图7。3。管理员、读者登录账户7.4CM和PDM的生成13。物理设计3.1建立索引以及存储结构64.数据库设计74。数据库建立7。数据库用户权限管理224建立触发器,存储过程5.系统实现45。系统功能模块图:245。开发平台255.3图书管理模块的实现27.系统硬件需求34图书管理系统详细设计方案1. 引言本系统主要实现对图书馆信息的管理,主要功能为管理有关读者,书籍,借阅和管理者的信息等 。本
2、系统结构分为读者信息管理模块,书籍信息管理模块,借阅信息管理模块,管理者信息管理模块。读者信息管理部分有两方面的功能,可以浏览读者的信息,可以对读者信息进行维护。书籍信息管理可以浏览书籍的信息,可以对书籍信息进行维护.借阅信息管理可以显示当前数据库中书籍借阅情况,可以对借阅信息进行维护。管理者信息管理可以显示数据库中管理者的情况,可以对管理者信息进行维护。1.1系统开发背景近年来,随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整
3、个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理另一方面,IT产业和Inrne获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。图书管理工作面对大量的可模块化处理的信息,是当今信息革命的一个重要阵地本公司图书管理系统就是采用现代化的信息管理方式代替手工管理方式,提高图书管理工作效率,作到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。从以前的手工管理的记录中我们可以发现这样的问题:检索速度慢、效率低因为图书馆的藏书种类多、数量多,将藏书准确地分门
4、别类,快速检索,手工进行非常困难往往是终于查到了书的信息,馆中没有此书或已被别人借走。图书馆的规模越大,这个问题越突出借书、还书工作量大借书、还书频率越大,说明图书馆的作用越大,然而随之而来的大量的借书、 还书登记、实存图书的更新以及借出图书超期、遗失等的处理,其工作量之大,往 往是人工操作所难以胜任的。而且经常会出现这样那样的差错。图书统计工作难、藏书更新不能及时完成图书馆的图书应根据科学技术的发展和教学工作的需要及时添加和更新,然而由于藏书数量及图书种类越来越多,加上自然损耗,人为破坏,使图书的统计工作难以及时完成,藏书的更新也就很难有针对性地进行,藏书的知识结构得不到良好地控制。1。2系
5、统设计目标具体目标为:持有效卡人能很方便的借还图书。图书管理人员也能很方便的为借阅者办理手续。管理人员能随时查询和打印图书信息和借阅信息等。读者也能随时查询到自己的借阅情况及历史记录。经济合理的运营成本。3系统设计原则先进性:采用当前先进成熟的技术和设备;安全性:避免非法人员冒借图书,造成图书的丢失。实用性:合理配置和选取合适的产品型号,使整个系统稳定、可靠和成本最省.方便性:完善的管理系统,软件操作清晰,管理人员和持卡用户都能方便的使用系统。可扩展性及易维护性原则:系统在容量和功能上考虑了用户将来的需求增长,可以随意地增加新的设备或新的系统,并保证使用的一致性 开放性:为保证各供应商产品的协
6、同运行,同时考虑到投资者的长远利益,本系统必须是开放系统,并结合相关的国际标准或工业标准执行。2. 系统总体分析2。1功能说明图书馆管理信息系统需要完成功能主要有:1) 读者基本信息的输入,包括借书证编号、读者姓名、读者性别等。2) 读者基本信息的查询、修改,包括读者借书证编号、读者姓名、读者性别等。3) 书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称。4) 书籍类别信息的查询、修改,包括类别编号、类别名称。5) 书籍库存信息的输入,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、登记日期。6) 书籍库存信息的查询,修改,包括书籍编号、书籍名称、书籍类别、作者姓名
7、、出版社名称、出版日期登记日期等。7) 借书信息的输入,包括读者借书证编号、书籍编号、借书日期。8) 借书信息的查询、修改,包括借书证编号、借书证编号、读者姓名、书籍编号、书籍名称、借书日期等.9) 还书信息的输入,包括借书证编号、书籍编号、还书日期。 10) 还书信息的查询和修改,包括还书读者借书证编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期等。11) 超期还书罚款输入,还书超出期限包括超出期限还书的读者借书证号,书籍编号,罚款金额.12) 超期还书罚款查询,删除,包括读者借书证编号、读者姓名、书籍编号、书籍名称,罚款金额等13) 管理员管理:包括创建读者用户信息、删除读者用户信息
8、、添加图书信息、删除图书信息。14) 超级管理员管理:包括创建管理员用户信息、删除管理员用户信息、创建读者用户信息、删除读者用户信息、添加图书信息、删除图书信息。22系统总体体结构1总体体结构图2.系统的流程图、AD图及NS图2.3。管理员、读者登录账户1管理员、读者登录账户流程账号登陆界面验证账号是否存在判断是否管理员管理员界面读者界面退出是否注册否是否否是是用户注册图22流程图管理员、读者登录账户-PD图P1:输入账号C1:判断是账号是否C2: 判断是否是管理者还是读者P2:登陆管理员界面P3:登陆读者界面P4:使用者注册账号P1P2P3C1P4C2图2-PD图管理员、读者登录账户NS图P
9、1:输入账号C1:判断是账号是否C2: 判断是否是管理者还是读者P2:登陆管理员界面P3:登陆读者界面P4:使用者注册账号图管理员NS图查看用户资料修改书籍类型设定借书数量增加书籍类型删除会员账号收到会员借书申请同意会员借书成功注销退出增加书籍修改书籍报损书籍修改成功管理员登陆界面登陆成功是验证核对是否超期修改密码是否图25流程图X=P2defP5P6P7P8P9P10P11P12P13P14P15P16P17P18C3P19P20P2-登陆管理员界面P5-个人资料P6-书籍类型管理界面P7-书籍管理界面P8-读者管理界面P9-修改密码P10-查询类型P11-修改类型P12-设定图书数量P13
10、-增加书籍类型P14-报损图书P15-删除会员信息P16-修改图书P17-增加图书P18-删除图书P19-同意读者借书P20-返回借阅不合格C3-核对是否符合借书要求图6AD图P3-登陆读者界面 P21-搜索书籍信息 P22-申请借阅权利 P23-修改个人信息 P24-返回个人信息 P25-修改成功提示 P26-返回借阅界面 P27-管理员验证 P28-返回借阅界面P29-借阅成功提示 C4-验证信息符合要求 C5-系统验证C6-核对是否有借阅权利图2-7N-图会员登陆界面登陆成功查看书籍信息搜索书籍申请阅书籍借阅成功注销退出修改个人信息修改成功是是否否否是系统验证系统验证管理员验证图2流程图
11、X=P3defP22P21P23C4C5P24P25P26P27C6P28P29P3-登陆读者界面 P21-搜索书籍信息 P22-申请借阅权利 P23-修改个人信息 P24-返回个人信息 P25-修改成功提示 P26-返回借阅界面 P27-管理员验证 P28-返回借阅界面P29-借阅成功提示 C4-验证信息符合要求 C5-系统验证C6-核对是否有借阅权利图29PAD图P2-登陆管理员界面 P5-个人资料 P6-书籍类型管理界面 P7-书籍管理界面 P8-读者管理界面 P9-修改密码P10-查询类型 P11-修改类型 P12-设定图书数量P13-增加书籍类型 P14-报损图书 P15-删除会员信
12、息P16-修改图书 P17-增加图书 P18-删除图书P19-同意读者借书 P20-返回借阅不合格 C3-核对是否符合借书要求图12.4 DM和DM的生成.启动owersign,弹出主对话框,依次选择“l-neCneptual Daa odel”,单击“O”按钮,出现CDM工作区,如图1所示.图211M窗口.绘制实体打开M工作区,选中工具选项板上“实体图标.在工作区中单击任意处,产生实体图形。双击CD工作区中的实体图形,出现定义实体特征的窗口。输入ame、Code内容。这里ae表示实体的描述名称,一般最好用中文描述(如:部门), ode表示实体的代码名称,最好用简化的英文描述(如:dert).
13、需要的话,输入实体表中可能存放的记录数(Nmer),这个数字用于统计数据库的尺寸。需要的话,可以定义实体的规则(Rles)、描述(esction)、注释(Anttin)、属性(Attrbuts).单击“确定按钮,当前CM工作区就定义了一个实体。按要求建立完实体和实体间的联系后,生成CD实体模型,如图所示。图12 DM实体模型3. 物理设计数据库物理设计阶段的任务是根据具体计算机系统(BM和硬件等)的特点,为给定的数据库模型确定合理的存储结构和存取方法。所谓的“合理”主要有两个含义:一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度。主要体现在后者。3.建立索
14、引以及存储结构 ()建立索引:对book_tyl表在bkstyl属性列上建立聚集索引,在boosye属性列上建立非聚集索引。对System_book表在kid上建立聚集索引,在onam、okstylen、bookther、bopu上建立非聚集索引。对return_record表在booid上建立聚集索引,在reri上建立非聚集索引对raer_fee表在bokd上建立聚集索引,在rderid上建立非聚集索引。对sysemreader表在eaeid列上建立聚集索引对oorw_reo表在booki上建立聚集所以,在raderid上建立非聚集索引对sstemAdminiaor表在adnistrorid
15、列上建立聚集索引。对sstmSur_Admistato表在sueranistrator 上建立聚集索引。(2)存储结构确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置 将日志文件和数据库对象(表、索引等)分别放在不同的磁盘可以改进系统的性能。所以系统将日志文件和数据文件存放在不同磁盘上。4. 数据库设计4。1数据库建立1数据库及数据库表的建立(1)创建数据库UmarOCREATE ATSEirrsystem ( AM= ibrrysystm, FILA = :libryte.df, SZ =10, MAXI
16、ZE5, ILEGOWTH =5 )LOG ON(A= library, ILENAME :lrytem.l, IZE=MB, MAZE 5MB, FILGROWT= 5MB )GO(2)书本类别表建立use librysysemgocrae tab book_tyl( bootenovachar(0) priary ky, bokstlevarhar(30)go(3)创建书库表ceae ble sem_oks( bood varchr() primary ky, oknamearcr(30) Not ull, bookstylnacha(3) Nonul, boautor vaca(0),
17、boopubrchr(3) , booubdateetme, bookiate dattme, browed bit,freign ey (booksyo) reerecs book_syl(otlno),)g()借书证表建立ceat tabesystm_ade (rervarchr()primary ke, eaernme vcha()not ll , redsex vaa(2)not ull, readertype arh(1), regdate tti,bookotal int,brrowedmint,vuenetuum n )o()借书记录表建立ceetble borrwrcod(bo
18、kvrha(20) rimay ke, readerid varchar(), orrwdat aeme, foeignky (oid) reerencsyte_bok(ookid), freign ke (arid)rfeence syst_redes(radr),)go(6)还书记录表建立creae tabl return_reod(bookidvcha(20) rmaryky, rderd vrhar(9), reurnatedete, foreigky(boi) efeces sytem_bks(booki), orein ke (readei) efere sse_redrs(rea
19、erd)o()罚款单表建立cete ae read_ee(rearivachr(9)notnul,readenamvrchar(9)notnll , bokdarcr(20) imaryky, okname vahar(0)Ntnul, bofee mallmon, orrwate detime, foei (boid) referencesysembook(bki), foig ke(eaderid) rences ystem_reades(ea))go(8) 管理员表建立ceaableyem_Aminitatr(dnisratidch()rimary y, adnstrorna varcr
20、()notul , administrorassword varhar(2) nul, adminstatopermsin vrca(0) )go(9)超级管理员表建立crat al sysesuper_Administrr(ueraminitratrd varchar()praykey, supadministrnam vchar(9)nonl, supradistraorpssord vrhar()tnul, supradmnisratopermsovarcar(1) )go (10)索引的创建se ibraryystemorea indbookleex_yle n bok_tle(oky
21、l)reaeindex orrorcord_de_rader on borrow_record(readerid)ceatidxrader_feinde_reader oneaer_e (readeid)cratindexrun_recordindex_eed on etn_ecrd(rderd)create ndex ystem_boks_nde_bookae osyste_os(bname)creaeex yse_boks_ind_syleno onsystem_bo(okstno)teindx sstem_boksdx_ooahor n sstem_books(booauhor)2 数据
22、初始化()将书籍类别加入表bostyl中inser ito oksl(boosyeno,okstye)val(,人文艺术类) inst io book_yl(booktyleno,boktyle)value(2,自然科学类)set itookstyle(bostyleno,booktyle)ve(3,社会科学类)nse ito bok_st(booktylen,oyle)vlue(4,图片艺术类)nsetinto bok_sty(boostyno,bookstyle)vls(5,政治经济类)iet ino booye(okyen,bookse)aues(6,工程技术类)insert inobo
23、l(bookyeo,booksty)vles(,语言技能类)()将已有的图书加入stm_ook表中(定义相同的作者出版社的书本编号不一样)inseino systm_boo(bookid,bokam,boostno,booauth,okpub,bookubdate,oodate,isborroed )value(0124112,计算机组成原理,6,王爱英,清华大学出版社,20011-3,03111,1);insert ito system_oks(booi ,oknam,boostyen,booauor,bokp,okudae,ookindate, iborwed )als(01254553,
24、计算机组成原理,王爱英,清华大学出版社,2001-01-03,200311-5,1);ser tosystem_oks(okid,boae, bktyleno,bookauthor,bookpub, bokpubdate,ooinda,iorroed )values(046456,数据库原理,萨师煊,高等教育出版社,20700,20709,1);instntosem_os(bookd ,oknae, boktyleno,bokutho,bpub,oubt, onae,isbrroe )value(21121,C程序设计,6,谭浩强,清华大学出版社,00240,20404,1);ise into
25、 sstem_bos(booi,ooname, booktyl,bookautor,bo,bookpbdate,bookinae, isroe )valus(83082055,计算机体系结构,6,石教英,浙江大学出版社,20-100,06115,1);insernsytm_book(od,bokn, bookstleno,bokato,boou,bookpubat,oonte,brrwd )vales(14144,数据结构(C语言版),6,吴伟民,严蔚敏,清华大学出版社,0020628,00401,1);。2数据库用户权限管理该系统设置四种类型的用户超级管理员(supaminstatr) 即系
26、统管理员拥有所有的权限。管理员(adiaor)可以进行借还书处理;教师(teacher) :只能浏览图书信息,可借书数为本,借书时间长为2个月。学生(tudent):只能浏览图书信息,可借书5本,借书时间长为个月。4.3建立触发器,存储过程-建立借书记录存贮过程REATE ROCEDRE SP_ROOOK OI CH(20), READEID CHAR(9) AINSET INT BORROREORD (BOK,RERID,RODAE)VALS(BOOKID,RDED,GETAE()GO-建立还书记录存贮过程REATE ROCURESP_TURNBOK BOOKID CH(),REDERI C
27、HA()ASDELETE O RET_REORHERE BOK=BOOK AN EAERIDADEIDGO-建立罚款单存贮过程CATE PROCEDESP_ REARFEE REDEI, orroweASUA rerfeSE bookee。*(ay(gtdat()-ay(brrode))Whererader=radeidAnd brodat=borodate-建立借书记录表增加触发器CEAT TIGTRADDLEND OdORROWREODO ISRTASupdatesysosset isrowe 1WEBOOKID N (SELET BOOKD F nsted)UD RDR rdnum bo
28、rownum+1HE EDRID IN (SLC EADED ROMsrted)-建立还书记录删除触发器RAERGE RDLLEND O do. rern_rco FODETEASupdtesstem_boksset sbrrowedWHER BOOKID (SELCT BOKID M elete)PDATE syem_readesSET orrowenu borednum WEREEADERI IN (ELCT REAERDR etd)-建立删除图书触发器CRA TRIGGER T_DBN dbo。yte_boosORDLETSDelet readeeWEREOKIIN (LEC BOKID
29、 FR elte)elete return _rcordWHEREokID IN (SELET bookIDFRMdeted)5. 系统实现.系统功能模块图:图书管理系统登陆子系统查询子系统借还书子系统管理子系统帮助子系统直接查询多条件查询借书还书图书类管理逾期图书管理管理员管理读者管理图书管理图5-五个子系统的功能如下:登录子系统: 可以实现图书管理员和超级管理员登录管理查询子系统:主要用于读者查询图书,其中直接查询包括按图书编号直接查询,按书名查询,按作者查询,按出版社查询(可选模糊查询).多条件查询可以按读者的要求选取所需要的图书。借还子系统: 主要由图书管理员进行借书还书记录的登记和清
30、除管理子系统:由图书管理员和超级管理员管理系统,分别是由图书管理员管理图书(包括图书信息的修改,新图书的增加,旧图书的删除),超级管理员管理图书分类,管理读者信息,管理管理员登录帐户,管理逾期未还。帮助子系统:主要提供用户的使用本系统的操作手册。2开发平台前台开发平台的选择:VB.NEBNET与数据库的连接ANT是B。ET访问数据库的主要方式。AD。NET的数据访问方式D.N的数据存取AI提供3 种数据访问方式: a)通过ODBC 相连,访问支持早期OBC协议的数据库。) 通过OLEB 相连,访问SL Sevr6。5,MirosftAces, Orcle 或者其他有提供LE DB 连接能力的数
31、据库c) 使用lCnneti 直接与SQLerer7.0以及SQ Sever20 相连VB。NE访问数据库的具体过程a)创建数据库连接D。NE中使用sqlConctn 类对QLSrve7。0 以及更高版本进行连接,这个类的构造函数接受一个可选参数, 称为连接字符串,该字符串用于定义正在连接的数据库的类型、位置以及其他信息, 这些属性用分号分隔, 通常该字符串包含如下信息:Dt Sour 特性: 指定SL Server数据库所在计算机名称; niial Ctalog特性: 指定连接的SQL Serr 数据库的名称; er ID 和assWr特性:指定用SQLSVER登录方式的有效帐户名和密码或设
32、置为:Itegaed SecurTru设置为Wnds 登录方式。b ) 填充数据创建数据源连接以后, 接下来创建数据适配器,适配器在创建过程中需要向其传递两个要素:用于包含结构化查询语句的数据描述和用于指明数据库连接信息的连接描述, 创建后可利用Fl 方法,将所需的数据填充在一个数据集(DaSet)中。c )关闭数据库的连接由于taSe采用是断开连接的方式,所以当把数据填充到数据集后即可断开与数据库的连接. d) 为控件指定数据源数据填充到数据集后,要在窗体上显示出来,则必须把相应的数据表绑定到数据控件上。具体实现代码如下:ImortsSste。DataIpr ytem。ata。SqlClen
33、 ubli dtCnection As Slonecton PublidataAdptrs SqlaaAater PulicdbSet s DaStPubl connstr As Sting =Data Sourc=mysl;nitial Catlo= lbrarsyste;Itgrated ecrityTrue”Dm sqltr”Sele*fm syte_bo ”Try dtoecio= Ne SlConnecton 对象实例化 datCnnection.onntinSng =cnt 设置连接字符串 ataAdapter = N SqlDatdaper(sqlstr,ataCnnecon)
34、实例化数据适配器,并设置查询字符串dtaConetin.pe() dbSeNew atSt dSe。Cear() daAdaptr。Fll(dbSet, ”syt_book”) 填充数据集 dnncn。Cls() 关闭连接 CachexA xception gBox(exessge) daCnnetin.Cse() End y dset.Ts.Ite(0)。Rws。C0 thnMgbox(“没有任何记录”) lse tG1.DtaSorce=dbset。Tbles(0) 若找到相应的数据,则把数据表绑定到数据控件上ndif5。图书管理模块的实现图书管理系统登录界面如下图所示:图52图书管理系统
35、主界面如下图所示:图5-3查找界面如下图所示:图添加图书运行界面如下图所示:图5删除图书运行界面如下图所示:图-修改图书运行界面如下图所示:图5下面给出图书的查询、插入、删除、更新模块的代码:查找代码如下:Dim damnd s SqlCommandimMyeader A qlaRderrvae Sub BtnSeahClik(Baene AsystemOec, ByVal e ASystm.EvntArs) Hdles tnSarchic Ikookae.ChecedTr he finBame() Else If ChckAthr。Checed= TruThn finBybokauthor() Ese If ChkSDN。Cecd = rue The ndByID() lse EdIf E I nd I E Sbub nByName() dbet.Clea() dtaonnecio.Open() datacommn e SCommand(Selec fSstem_bok HEREBookNe LIKE ” & Ttondtio。Tex ”%”, ataConnection) daadater =NwSqlDaaAdae(acomma) aadapter。ill(