图书管理系统详细设计方案1.1系统开发背景近年来,随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规和实用的图书管理系统,对图书资料进行集中统一的管理。另一方面,IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。图书管理工作面对大量的可模块化处理的信息,是当今信息革命的一个重要阵地。本公司图书管理系统就是采用现代化的信息管理方式代替手工管理方式,提高图书管理工作效率,作到信息的规管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。从以前的手工管理的记录中我们可以发现这样的问题:检索速度慢、效率低因为图书馆的藏书种类多、数量多,将藏书准确地分门别类,快速检索,手工进行非常困难往往是终于查到了书的信息,馆中没有此书或已被别人借走。图书馆的规模越大,这个问题越突出。借书、还书工作量大借书、还书频率越大,说明图书馆的作用越大,然而随之而来的大量的借书、还书登记、实存图书的更新以及借出图书超期、遗失等的处理,其工作量之大,往往是人工操作所难以胜任的。而且经常会出现这样那样的差错。图书统计工作难、藏书更新不能及时完成图书馆的图书应根据科学技术的发展和教学工作的需要及时添加和更新,然而由于藏书数量及图书种类越来越多,加上自然损耗,人为破坏,使图书的统计工作难以及时完成,藏书的更新也就很难有针对性地进行,藏书的知识结构得不到良好地控制。1.2系统设计目标具体目标为:持有效卡人能很方便的借还图书。图书管理人员也能很方便的为借阅者办理手续。管理人员能随时查询和打印图书信息和借阅信息等。读者也能随时查询到自己的借阅情况及历史记录。经济合理的运营成本。1.3系统设计原则先进性:采用当前先进成熟的技术和设备;安全性:避免非法人员冒借图书,造成图书的丢失。实用性:合理配置和选取合适的产品型号,使整个系统稳定、可靠和成本最省。方便性:完善的管理系统,软件操作清晰,管理人员和持卡用户都能方便的使用系统。可扩展性及易维护性原则:系统在容量和功能上考虑了用户将来的需求增长,可以随意地增加新的设备或新的系统,并保证使用的一致性。开放性:为保证各供应商产品的协同运行,同时考虑到投资者的长远利益,本系统必须是开放系统,并结合相关的国际标准或工业标准执行。1.系统总体分析2.1功能说明图书馆管理信息系统需要完成功能主要有:1)读者基本信息的输入,包括借书证编号、读者、读者性别等。2)读者基本信息的查询、修改,包括读者借书证编号、读者、读者性别等。3)书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称。4)书籍类别信息的查询、修改,包括类别编号、类别名称。5)书籍库存信息的输入,包括书籍编号、书籍名称、书籍类别、作者、名称、出版日期、登记日期。6)书籍库存信息的查询,修改,包括书籍编号、书籍名称、书籍类别、作者、名称、出版日期登记日期等。7)借书信息的输入,包括读者借书证编号、书籍编号、借书日期。8)借书信息的查询、修改,包括借书证编号、借书证编号、读者、书籍编号、书籍名称、借书日期等。9)还书信息的输入,包括借书证编号、书籍编号、还书日期。10)还书信息的查询和修改,包括还书读者借书证编号、读者、书籍编号、书籍名称、借书日期、还书日期等。11)超期还书罚款输入,还书超出期限包括超出期限还书的读者借书证号,书籍编号,罚款金额。12)超期还书罚款查询,删除,包括读者借书证编号、读者、书籍编号、书籍名称,罚款金额等13)管理员管理:包括创建读者用户信息、删除读者用户信息、添加图书信息、删除图书信息。14)超级管理员管理:包括创建管理员用户信息、删除管理员用户信息、创建读者用户信息、删除读者用户信息、添加图书信息、删除图书信息。2.2系统总体体结构2-1总体体结构图2.3系统的流程图、PAD图及N-S图2.3.1管理员、读者登录账户1管理员、读者登录账户——流程图2-2流程图2管理员、读者登录账户——PAD图账号登陆界面验证账号是否存在判断是否管理员管理员界面读者界面退出是否注册否是否否是是用户注册图2-3PAD图3管理员、读者登录账户——N-S图P1:输入账号C1:判断是账号是否C2:判断是否是管理者还是读者P2:登陆管理员界面P3:登陆读者界面P4:使用者注册账号P1P2P3C1P4C2图2-4管理员N-S图P1:输入账号C1:判断是账号是否C2:判断是否是管理者还是读者P2:登陆管理员界面P3:登陆读者界面P4:使用者注册账号图2-5流程图查看用户资料修改书籍类型设定借书数量增加书籍类型删除会员账号收到会员借书申请同意会员借书成功注销退出增加书籍修改书籍报损书籍修改成功管理员登陆界面登陆成功是验证核对是否超期修改密码是否X=P2defP5P6P7P8P9P10P11P12P13P14P15P16P17P18C3P19P20P2-登陆管理员界面P5-个人资料P6-书籍类型管理界面P7-书籍管理界面P8-读者管理界面P9-修改密码P10-查询类型P11-修改类型P12-设定图书数量P13-增加书籍类型P14-报损图书P15-删除会员信息P16-修改图书P17-增加图书P18-删除图书P19-同意读者借书P20-返回借阅不合格C3-核对是否符合借书要求图2-6PAD图P3-登陆读者界面P21-搜索书籍信息P22-申请借阅权利P23-修改个人信息P24-返回个人信息P25-修改成功提示P26-返回借阅界面P27-管理员验证P28-返回借阅界面P29-借阅成功提示C4-验证信息符合要求C5-系统验证C6-核对是否有借阅权利图2-7N-S图图2-8流程图会员登陆界面登陆成功查看书籍信息搜索书籍申请阅书籍借阅成功注销退出修改个人信息修改成功是是否否否是系统验证系统验证管理员验证X=P3defP22P21P23C4C5P24P25P26P27C6P28P29P3-登陆读者界面P21-搜索书籍信息P22-申请借阅权利P23-修改个人信息P24-返回个人信息P25-修改成功提示P26-返回借阅界面P27-管理员验证P28-返回借阅界面P29-借阅成功提示C4-验证信息符合要求C5-系统验证C6-核对是否有借阅权利图2-9PAD图P2-登陆管理员界面P5-个人资料P6-书籍类型管理界面P7-书籍管理界面P8-读者管理界面P9-修改密码P10-查询类型P11-修改类型P12-设定图书数量P13-增加书籍类型P14-报损图书P15-删除会员信息P16-修改图书P17-增加图书P18-删除图书P19-同意读者借书P20-返回借阅不合格C3-核对是否符合借书要求图2-102.4CDM和PDM的生成1.启动PowerDesign,弹出主对话框,依次选择“file—new—ConceptualDataModel”,单击“OK”按钮,出现CDM工作区,如图2-1所示。图2-11CDM窗口2.绘制实体①打开CDM工作区,选中工具选项板上“实体图标”。②在CDM工作区中单击任意处,产生实体图形。③双击CDM工作区中的实体图形,出现定义实体特征的窗口。④输入Name、Code容。这里Name表示实体的描述名称,一般最好用中文描述(如:部门),Code表示实体的代码名称,最好用简化的英文描述(如:depart)。⑤需要的话,输入实体表中可能存放的记录数(Number),这个数字用于统计数据库的尺寸。⑥需要的话,可以定义实体的规则(Rules)、描述(Description)、注释(Annotation)、属性(Attributes)。⑦单击“确定”按钮,当前CDM工作区就定义了一个实体。按要求建立完实体和实体间的联系后,生成CDM实体模型,如图2-12所示。图2-12CDM实体模型2.物理设计数据库物理设计阶段的任务是根据具体计算机系统(DBMS和硬件等)的特点,为给定的数据库模型确定合理的存储结构和存取方法。所谓的“合理”主要有两个含义:一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度。主要体现在后者。3.1建立索引以及存储结构(1)建立索引:①对book_style表在bookstyleno属性列上建立聚集索引,在bookstyle属性列上建立非聚集索引。②对System_book表在bookid上建立聚集索引,在bookname、bookstyleno、boookauther、bookpub上建立非聚集索引。③对return_record表在bookid上建立聚集索引,在readerid上建立非聚集索引④对reader_fee表在bookid上建立聚集索引,在readerid上建立非聚集索引。⑤对system_reader表在readerid列上建立聚集索引⑥对boorow_record表在bookid上建立聚集所以,在readerid上建立非聚集索引⑦对system_Administrator表在administratorid列上建立聚集索引。⑧对system_Super_Administrator表在superadministratorid上建立聚集索引。(2)存储结构确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。将日志文件和数据库对象(表、索引等)分别放在不同的磁盘可以改进系统的性能。所以系统将日志文件和数据文件存放在不同磁盘上。3.数据库设计4.1数据库建立1数据库及数据库表的建立(1)创建数据库USEmasterGOCREATEDATABASElibrarysystemON(NAME=librarysystem,FILENAME='d:\librarysystem.mdf',SIZE=10,MAXSIZE=50,FILEGROWTH=5)LOGON(NAME='library',FILENAME='e:\librarysystem.ldf',SIZE=5MB,MAXSIZE=25MB,FILEGROWTH=5MB)GO(2)书本类别表建立uselibrarysystemgocreatetablebook_style(bookstylenovarchar(30)primarykey,bookstylevarchar(30))go(3)创建书库表createtablesystem_books(bookidvarchar(20)primarykey,booknamevarchar(30)Notnull,bookstylenovarchar(30)Notnull,bookauthorvarchar(30),bookpubvarchar(30),bookpubdatedatetime,bookindatedatetime,isborrowedbit,foreignkey(bookstyleno)referencesbook_style(bookstyleno),)go(4)借书证表建立createtablesystem_readers(readeridvarchar(9)primarykey,readernamevarchar(9)notnull,readersexvarchar(2)notnull,readertypevarchar(10),regdatedatetime,booktotalint,borrowednumint,overduenoreturnnumint)go(5)借书记录表建立createtableborrow_record(bookidvarchar(20)primarykey,readeridvarchar(9),borrowdatedatetime,foreignkey(bookid)referencessyst