图书管理系统详细设计方案.doc

上传人:小飞机 文档编号:4945707 上传时间:2023-05-25 格式:DOC 页数:33 大小:749KB
返回 下载 相关 举报
图书管理系统详细设计方案.doc_第1页
第1页 / 共33页
图书管理系统详细设计方案.doc_第2页
第2页 / 共33页
图书管理系统详细设计方案.doc_第3页
第3页 / 共33页
图书管理系统详细设计方案.doc_第4页
第4页 / 共33页
图书管理系统详细设计方案.doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《图书管理系统详细设计方案.doc》由会员分享,可在线阅读,更多相关《图书管理系统详细设计方案.doc(33页珍藏版)》请在三一办公上搜索。

1、图书管理系统详细设计方案目录图书管理系统详细设计方案31。引言31。1系统开发背景31。2系统设计目标41。3系统设计原则42。系统总体分析52。1功能说明52。2系统总体体结构62.3系统的流程图、PAD图及N-S图72。3.1管理员、读者登录账户72。4 CDM和PDM的生成143。物理设计163。1建立索引以及存储结构164。数据库设计174.1数据库建立174。2数据库用户权限管理224。3建立触发器,存储过程225。系统实现245。1系统功能模块图:245.2开发平台255。3图书管理模块的实现275.4系统硬件需求34图书管理系统详细设计方案1. 引言本系统主要实现对图书馆信息的管

2、理,主要功能为管理有关读者,书籍,借阅和管理者的信息等 .本系统结构分为读者信息管理模块,书籍信息管理模块,借阅信息管理模块,管理者信息管理模块.读者信息管理部分有两方面的功能,可以浏览读者的信息,可以对读者信息进行维护.书籍信息管理可以浏览书籍的信息,可以对书籍信息进行维护。借阅信息管理可以显示当前数据库中书籍借阅情况,可以对借阅信息进行维护.管理者信息管理可以显示数据库中管理者的情况,可以对管理者信息进行维护。1.1系统开发背景近年来,随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过

3、多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。另一方面,IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。图书管理工作面对大量的可模块化处理的信息,是当今信息革命的一个重要阵地.本公司图书管理系统就是采用现代化的信息管理方式代替手工管理方式,提高图书管理工作效率,作到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。从以前的手工管理的记录中我们可以发现这样的问

4、题:检索速度慢、效率低因为图书馆的藏书种类多、数量多,将藏书准确地分门别类,快速检索,手工进行非常困难往往是终于查到了书的信息,馆中没有此书或已被别人借走。图书馆的规模越大,这个问题越突出.借书、还书工作量大借书、还书频率越大,说明图书馆的作用越大,然而随之而来的大量的借书、 还书登记、实存图书的更新以及借出图书超期、遗失等的处理,其工作量之大,往 往是人工操作所难以胜任的。而且经常会出现这样那样的差错。图书统计工作难、藏书更新不能及时完成图书馆的图书应根据科学技术的发展和教学工作的需要及时添加和更新,然而由于藏书数量及图书种类越来越多,加上自然损耗,人为破坏,使图书的统计工作难以及时完成,藏

5、书的更新也就很难有针对性地进行,藏书的知识结构得不到良好地控制。1.2系统设计目标具体目标为:持有效卡人能很方便的借还图书。图书管理人员也能很方便的为借阅者办理手续.管理人员能随时查询和打印图书信息和借阅信息等.读者也能随时查询到自己的借阅情况及历史记录。经济合理的运营成本。1。3系统设计原则先进性:采用当前先进成熟的技术和设备;安全性:避免非法人员冒借图书,造成图书的丢失。实用性:合理配置和选取合适的产品型号,使整个系统稳定、可靠和成本最省.方便性:完善的管理系统,软件操作清晰,管理人员和持卡用户都能方便的使用系统。可扩展性及易维护性原则:系统在容量和功能上考虑了用户将来的需求增长,可以随意

6、地增加新的设备或新的系统,并保证使用的一致性。 开放性:为保证各供应商产品的协同运行,同时考虑到投资者的长远利益,本系统必须是开放系统,并结合相关的国际标准或工业标准执行。2. 系统总体分析2。1功能说明图书馆管理信息系统需要完成功能主要有:1) 读者基本信息的输入,包括借书证编号、读者姓名、读者性别等。2) 读者基本信息的查询、修改,包括读者借书证编号、读者姓名、读者性别等。3) 书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称.4) 书籍类别信息的查询、修改,包括类别编号、类别名称.5) 书籍库存信息的输入,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、登记日

7、期.6) 书籍库存信息的查询,修改,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期登记日期等.7) 借书信息的输入,包括读者借书证编号、书籍编号、借书日期。8) 借书信息的查询、修改,包括借书证编号、借书证编号、读者姓名、书籍编号、书籍名称、借书日期等。9) 还书信息的输入,包括借书证编号、书籍编号、还书日期。 10) 还书信息的查询和修改,包括还书读者借书证编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期等。11) 超期还书罚款输入,还书超出期限包括超出期限还书的读者借书证号,书籍编号,罚款金额.12) 超期还书罚款查询,删除,包括读者借书证编号、读者姓名、书籍编号、

8、书籍名称,罚款金额等13) 管理员管理:包括创建读者用户信息、删除读者用户信息、添加图书信息、删除图书信息.14) 超级管理员管理:包括创建管理员用户信息、删除管理员用户信息、创建读者用户信息、删除读者用户信息、添加图书信息、删除图书信息.2.2系统总体体结构21总体体结构图2。3系统的流程图、PAD图及NS图2。3.1管理员、读者登录账户1管理员、读者登录账户-流程账号登陆界面验证账号是否存在判断是否管理员管理员界面读者界面退出是否注册否是否否是是用户注册图22流程图2管理员、读者登录账户-PAD图P1:输入账号C1:判断是账号是否C2: 判断是否是管理者还是读者P2:登陆管理员界面P3:登

9、陆读者界面P4:使用者注册账号P1P2P3C1P4C2图2-3 PAD图3管理员、读者登录账户NS图P1:输入账号C1:判断是账号是否C2: 判断是否是管理者还是读者P2:登陆管理员界面P3:登陆读者界面P4:使用者注册账号图24管理员NS图查看用户资料修改书籍类型设定借书数量增加书籍类型删除会员账号收到会员借书申请同意会员借书成功注销退出增加书籍修改书籍报损书籍修改成功管理员登陆界面登陆成功是验证核对是否超期修改密码是否图25流程图X=P2defP5P6P7P8P9P10P11P12P13P14P15P16P17P18C3P19P20P2-登陆管理员界面P5-个人资料P6-书籍类型管理界面P

10、7-书籍管理界面P8-读者管理界面P9-修改密码P10-查询类型P11-修改类型P12-设定图书数量P13-增加书籍类型P14-报损图书P15-删除会员信息P16-修改图书P17-增加图书P18-删除图书P19-同意读者借书P20-返回借阅不合格C3-核对是否符合借书要求图2-6 PAD图P3-登陆读者界面 P21-搜索书籍信息 P22-申请借阅权利 P23-修改个人信息 P24-返回个人信息 P25-修改成功提示 P26-返回借阅界面 P27-管理员验证 P28-返回借阅界面P29-借阅成功提示 C4-验证信息符合要求 C5-系统验证C6-核对是否有借阅权利图2-7NS图会员登陆界面登陆成功

11、查看书籍信息搜索书籍申请阅书籍借阅成功注销退出修改个人信息修改成功是是否否否是系统验证系统验证管理员验证图28流程图X=P3defP22P21P23C4C5P24P25P26P27C6P28P29P3-登陆读者界面 P21-搜索书籍信息 P22-申请借阅权利 P23-修改个人信息 P24-返回个人信息 P25-修改成功提示 P26-返回借阅界面 P27-管理员验证 P28-返回借阅界面P29-借阅成功提示 C4-验证信息符合要求 C5-系统验证C6-核对是否有借阅权利图2-9 PAD图P2-登陆管理员界面 P5-个人资料 P6-书籍类型管理界面 P7-书籍管理界面 P8-读者管理界面 P9-修

12、改密码P10-查询类型 P11-修改类型 P12-设定图书数量P13-增加书籍类型 P14-报损图书 P15-删除会员信息P16-修改图书 P17-增加图书 P18-删除图书P19-同意读者借书 P20-返回借阅不合格 C3-核对是否符合借书要求图2-102。4 CDM和PDM的生成1启动PowerDesign,弹出主对话框,依次选择“file-newConceptual Data Model”,单击“OK”按钮,出现CDM工作区,如图21所示.图2-11 CDM窗口2绘制实体打开CDM工作区,选中工具选项板上“实体图标”.在CDM工作区中单击任意处,产生实体图形。双击CDM工作区中的实体图形

13、,出现定义实体特征的窗口。输入Name、Code内容。这里Name表示实体的描述名称,一般最好用中文描述(如:部门), Code表示实体的代码名称,最好用简化的英文描述(如:depart).需要的话,输入实体表中可能存放的记录数(Number),这个数字用于统计数据库的尺寸。需要的话,可以定义实体的规则(Rules)、描述(Description)、注释(Annotation)、属性(Attributes).单击“确定”按钮,当前CDM工作区就定义了一个实体.按要求建立完实体和实体间的联系后,生成CDM实体模型,如图2-12所示。图212 CDM实体模型3. 物理设计数据库物理设计阶段的任务是

14、根据具体计算机系统(DBMS和硬件等)的特点,为给定的数据库模型确定合理的存储结构和存取方法。所谓的“合理主要有两个含义:一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度。主要体现在后者.3。1建立索引以及存储结构 (1)建立索引:对book_style表在bookstyleno属性列上建立聚集索引,在bookstyle属性列上建立非聚集索引。对System_book表在bookid上建立聚集索引,在bookname、bookstyleno、boookauther、bookpub上建立非聚集索引。对return_record表在bookid上建立聚集索引,

15、在readerid上建立非聚集索引对reader_fee表在bookid上建立聚集索引,在readerid上建立非聚集索引。对system_reader表在readerid列上建立聚集索引对boorow_record表在bookid上建立聚集所以,在readerid上建立非聚集索引对system_Administrator表在administratorid列上建立聚集索引。对system_Super_Administrator表在superadministratorid 上建立聚集索引.(2)存储结构确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储

16、安排及存储结构,以及确定系统存储参数的配置. 将日志文件和数据库对象(表、索引等)分别放在不同的磁盘可以改进系统的性能。所以系统将日志文件和数据文件存放在不同磁盘上。4. 数据库设计4。1数据库建立1数据库及数据库表的建立(1)创建数据库USE masterGOCREATE DATABASE librarysystemON ( NAME = librarysystem, FILENAME = d:librarysystem.mdf, SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 )LOG ON( NAME = library, FILENAME = e:lib

17、rarysystem。ldf, SIZE = 5MB, MAXSIZE = 25MB, FILEGROWTH = 5MB )GO(2)书本类别表建立use librarysystemgocreate table book_style( bookstyleno varchar(30) primary key, bookstyle varchar(30))go(3)创建书库表create table system_books( bookid varchar(20) primary key, bookname varchar(30) Not null, bookstyleno varchar(30)

18、 Not null, bookauthor varchar(30), bookpub varchar(30) , bookpubdate datetime, bookindate datetime , isborrowed bit,foreign key (bookstyleno) references book_style (bookstyleno),)go(4)借书证表建立create table system_readers ( readerid varchar(9)primary key, readername varchar(9)not null , readersex varcha

19、r(2) not null, readertype varchar(10), regdate datetime,booktotal int,borrowednum int,overduenoreturnnum int )go(5)借书记录表建立create table borrow_record(bookid varchar(20) primary key, readerid varchar(9), borrowdate datetime, foreign key (bookid) references system_books(bookid), foreign key (readerid)

20、references system_readers(readerid),)go(6)还书记录表建立create table return_record( bookid varchar(20) primary key, readerid varchar(9), returndate datetime, foreign key (bookid) references system_books(bookid), foreign key (readerid) references system_readers(readerid)) go(7)罚款单表建立create table reader_fee(

21、 readerid varchar(9)not null, readername varchar(9)not null , bookid varchar(20) primary key, bookname varchar(30) Not null, bookfee smallmoney, borrowdate datetime, foreign key (bookid) references system_books(bookid), foreign key (readerid) references system_readers(readerid)go(8) 管理员表建立create tab

22、le system_Administrator (administratorid varchar(9)primary key, administratorname varchar(9)not null , administratorpassword varchar(2) not null, administratorpermission varchar(10) )go(9)超级管理员表建立create table system_super_Administrator (superadministratorid varchar(9) primary key, superadministrator

23、name varchar(9) not null , superadministratorpassword varchar(2) not null, superadministratorpermission varchar(10) )go (10)索引的创建use librarysystemgocreate index bookstyle_index_style on book_style(bookstyle)create index borrow_record_index_readerid on borrow_record(readerid)create index reader_fee_i

24、ndex_readerid on reader_fee (readerid)create index return_record_index_readerid on return_record(readerid)create index system_books_index_bookname on system_books(bookname)create index system_books_index_styleno on system_books(bookstyleno)create index system_books_index_bookauthor on system_books(b

25、ookauthor)2 数据初始化(1)将书籍类别加入表book_style中insert into book_style(bookstyleno,bookstyle)values(1,人文艺术类) insert into book_style(bookstyleno,bookstyle)values(2,自然科学类)insert into book_style(bookstyleno,bookstyle)values(3,社会科学类)insert into book_style(bookstyleno,bookstyle)values(4,图片艺术类)insert into book_sty

26、le(bookstyleno,bookstyle)values(5,政治经济类)insert into book_style(bookstyleno,bookstyle)values(6,工程技术类)insert into book_style(bookstyleno,bookstyle)values(7,语言技能类)(2)将已有的图书加入system_books表中(定义相同的作者出版社的书本编号不一样)insert into system_books(bookid,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate,

27、isborrowed )values(00125415152,计算机组成原理,6,王爱英,清华大学出版社,20010103,200311-15,1);insert into system_books(bookid ,bookname,bookstyleno,bookauthor,bookpub,bookpubdate,bookindate, isborrowed )values(00125415153,计算机组成原理,6,王爱英,清华大学出版社,20010103,20031115,1);insert into system_books(bookid ,bookname, bookstyleno

28、,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )values(00456456,数据库原理,6,萨师煊,高等教育出版社,2007-0702,200709-15,1);insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub,bookpubdate, bookindate, isborrowed )values(12215121,C程序设计,6,谭浩强,清华大学出版社,200204-02,2004-0314,1);insert into sy

29、stem_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )values(9787308020558,计算机体系结构,6,石教英,浙江大学出版社,20041003,20061115,1);insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )values(45456141414,数据结构(C语言版

30、),6,吴伟民,严蔚敏,清华大学出版社,2002-0628,2004-01-21,1);4.2数据库用户权限管理该系统设置四种类型的用户超级管理员(superadministrator) 即系统管理员拥有所有的权限.管理员(administrator) 可以进行借还书处理;教师(teacher) :只能浏览图书信息,可借书数为10本,借书时间长为2个月。学生(student):只能浏览图书信息,可借书5本,借书时间长为1个月.4.3建立触发器,存储过程-建立借书记录存贮过程CREATE PROCEDURE SP_BORROWBOOK BOOKID CHAR(20), READERID CHAR

31、(9) ASINSERT INTO BORROW_RECORD (BOOKID,READERID,BORROWDATE)VALUES(BOOKID,READERID,GETDATE())GO-建立还书记录存贮过程CREATE PROCEDURE SP_RETURNBOOK BOOKID CHAR(20),READERID CHAR(9)ASDELETE FROM RETUN_RECORDWHERE BOOKID=BOOKID AND READERID=READERIDGO-建立罚款单存贮过程CREATE PROCEDURE SP_ READERFEE READERID, borrowdate

32、ASUPDATE reader_feeSET bookfee=0。1(day(getdate()-day(borrowdate)Where reader=readeridAnd borrowdate=borrowdate-建立借书记录表增加触发器CREATE TRIGGER TR_ADDLEND ON dbo. BORROW_RECORD FOR INSERTASupdate system_booksset isborrowed =1WHERE BOOKID IN (SELECT BOOKID FROM inserted)UPDATE READERSET borrowednum = borro

33、wednum +1WHERE READERID IN (SELECT READERID FROM inserted)-建立还书记录删除触发器CREATE TRIGGER TR_DELLEND ON dbo。 return_record FOR DELETEASupdate system_booksset isborrowed =0WHERE BOOKID IN (SELECT BOOKID FROM deleted)UPDATE system_readersSET borrowednum = borrowednum 1WHERE READERID IN (SELECT READERID FRO

34、M deleted)-建立删除图书触发器CREATE TRIGGER TR_DELLENDBOOK ON dbo。system_books FOR DELETEASDelete reader_feeWHERE BOOKID IN (SELECT BOOKID FROM deleted)Delete return _recordWHERE bookID IN (SELECT bookID FROM deleted)5. 系统实现5.1系统功能模块图:图书管理系统登陆子系统查询子系统借还书子系统管理子系统帮助子系统直接查询多条件查询借书还书图书类管理逾期图书管理管理员管理读者管理图书管理图51五个

35、子系统的功能如下:登录子系统: 可以实现图书管理员和超级管理员登录管理查询子系统:主要用于读者查询图书,其中直接查询包括按图书编号直接查询,按书名查询,按作者查询,按出版社查询(可选模糊查询)。多条件查询可以按读者的要求选取所需要的图书。借还子系统: 主要由图书管理员进行借书还书记录的登记和清除。管理子系统:由图书管理员和超级管理员管理系统,分别是由图书管理员管理图书(包括图书信息的修改,新图书的增加,旧图书的删除),超级管理员管理图书分类,管理读者信息,管理管理员登录帐户,管理逾期未还。帮助子系统:主要提供用户的使用本系统的操作手册.5.2开发平台前台开发平台的选择:VB。NETVB.NET

36、与数据库的连接ADO。NET是VB.NET访问数据库的主要方式。ADO.NET的数据访问方式ADO。NET 的数据存取API 提供3 种数据访问方式: a) 通过ODBC 相连,访问支持早期ODBC 协议的数据库。b) 通过OLEDB 相连,访问SQL Server6。5, MicrosoftAccess, Oracle 或者其他有提供OLE DB 连接能力的数据库c) 使用SqlConnection 直接与SQL Server7。0以及SQL Server2000 相连VB.NET访问数据库的具体过程a) 创建数据库连接ADO.NET 中使用sqlConnection 类对SQL Serve

37、r7.0 以及更高版本进行连接, 这个类的构造函数接受一个可选参数, 称为连接字符串, 该字符串用于定义正在连接的数据库的类型、位置以及其他信息, 这些属性用分号分隔, 通常该字符串包含如下信息:Data Source 特性: 指定SQL Server 数据库所在计算机名称; Initial Catalog 特性: 指定连接的SQL Server 数据库的名称; User ID 和Pass-Word 特性: 指定用SQL SERVER登录方式的有效帐户名和密码或设置为:Integrated Security=True设置为Windows 登录方式。b ) 填充数据创建数据源连接以后, 接下来创

38、建数据适配器,适配器在创建过程中需要向其传递两个要素: 用于包含结构化查询语句的数据描述和用于指明数据库连接信息的连接描述, 创建后可利用Fill 方法, 将所需的数据填充在一个数据集(DataSet)中。c ) 关闭数据库的连接由于DataSet采用是断开连接的方式,所以当把数据填充到数据集后即可断开与数据库的连接。 d) 为控件指定数据源数据填充到数据集后,要在窗体上显示出来,则必须把相应的数据表绑定到数据控件上.具体实现代码如下:Imports System.DataImports System。Data.SqlClient Public dataConnection As SqlCon

39、nection Public dataAdapter As SqlDataAdapter Public dbSet As DataSetPublic connstr As String =”Data Source=mysql;Initial Catalog= librarysystem;Integrated Security=TrueDim sqlstr=”Select from system_books ”Try dataConnection = New SqlConnection 对象实例化 dataConnection。ConnectionString = connstr 设置连接字符串

40、 dataAdapter = New SqlDataAdapter(sqlstr, dataConnection) 实例化数据适配器,并设置查询字符串dataConnection.Open() dbSet = New dataSet dbSet。Clear() dataAdapter.Fill(dbSet, system_books) 填充数据集 dataConnection。Close() 关闭连接 Catch ex As Exception MsgBox(ex.Message) dataConnection.Close() End Try if dbset.Tables。Item(0)。R

41、ows。Count=0 thenMsgbox(“没有任何记录”) Else DAtaGrid1.DataSource=dbset。Tables(0) 若找到相应的数据,则把数据表绑定到数据控件上End if5.3图书管理模块的实现图书管理系统登录界面如下图所示:图5-2图书管理系统主界面如下图所示:图53查找界面如下图所示:图54添加图书运行界面如下图所示:图5-5删除图书运行界面如下图所示:图56修改图书运行界面如下图所示:图57下面给出图书的查询、插入、删除、更新模块的代码:查找代码如下:Dim dataCommand As SqlCommandDim MyReader As SqlDat

42、aReaderPrivate Sub BtnSearch_Click(ByVal sender As System。Object, ByVal e As System.EventArgs) Handles BtnSearch.Click If ChkBookName.Checked = True Then findByName() Else If ChckAuthor。Checked = True Then findBybookauthor () Else If ChkISDN。Checked = True Then findByISDN() Else End If End If End If End SubSub findByName() dbset。Clear() dataConnection。Open() datacommand = New SqlCommand(Select from System_books WHERE BookName LIKE ” TxtCondition。Text & ”%”, dataConnection

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号